PageSourceSearch

https://chatminerva.org/_app/immutable/chunks/CCBafauW.js

js chatminerva.org collected 2026-10-06 13:13:18 UTC 2,133,183 bytes, 2,739 lines download raw bytes

1var zp=Object.defineProperty;var Fp=(x,C,d)=>C in x?zp(x,C,{enumerable:!0,configurable:!0,writable:!0,value:d}):x[C]=d;var Ve=(x,C,d)=>Fp(x,typeof C!="symbol"?C+"":C,d);var o0={},qc,f2,Zu={
vendor: 344 bytes, line 1
1"./node_modules/onnxruntime-web/dist/ort-wasm-simd-threaded.jsep.wasm":(x,C,d)=>{x.exports=d.p+"ort-wasm-simd-threaded.jsep.wasm"},"./node_modules/onnxruntime-web/dist/ort.bundle.min.mjs?46eb":(x,C,d)=>{x.exports=d.p+"ort.bundle.min.mjs"},"?2ce3":()=>{},"?7a2c":()=>{},"?a42a":()=>{},"?2b25":()=>{},"?569f":()=>{},"?3f59":()=>{},"?154a":()=>{},
vendor: 33,602 bytes, lines 1-8
1"./node_modules/@huggingface/jinja/dist/index.js":(x,C,d)=>{d.r(C),d.d(C,{Environment:()=>MA,Interpreter:()=>LA,Template:()=>HA,parse:()=>ke,tokenize:()=>S});var k=Object.freeze({Text:"Text",NumericLiteral:"NumericLiteral",BooleanLiteral:"BooleanLiteral",NullLiteral:"NullLiteral",StringLiteral:"StringLiteral",Identifier:"Identifier",Equals:"Equals",OpenParen:"OpenParen",CloseParen:"CloseParen",OpenStatement:"OpenStatement",CloseStatement:"CloseStatement",OpenExpression:"OpenExpression",CloseExpression:"CloseExpression",OpenSquareBracket:"OpenSquareBracket",CloseSquareBracket:"CloseSquareBracket",OpenCurlyBracket:"OpenCurlyBracket",CloseCurlyBracket:"CloseCurlyBracket",Comma:"Comma",Dot:"Dot",Colon:"Colon",Pipe:"Pipe",CallOperator:"CallOperator",AdditiveBinaryOperator:"AdditiveBinaryOperator",MultiplicativeBinaryOperator:"MultiplicativeBinaryOperator",ComparisonBinaryOperator:"ComparisonBinaryOperator",UnaryOperator:"UnaryOperator",Set:"Set",If:"If",For:"For",In:"In",Is:"Is",NotIn:"NotIn",Else:"Else",EndIf:"EndIf",ElseIf:"ElseIf",EndFor:"EndFor",And:"And",Or:"Or",Not:"UnaryOperator",Macro:"Macro",EndMacro:"EndMacro"}),F=Object.freeze({set:k.Set,for:k.For,in:k.In,is:k.Is,if:k.If,else:k.Else,endif:k.EndIf,elif:k.ElseIf,endfor:k.EndFor,and:k.And,or:k.Or,not:k.Not,"not in":k.NotIn,macro:k.Macro,endmacro:k.EndMacro,true:k.BooleanLiteral,false:k.BooleanLiteral,none:k.NullLiteral,True:k.BooleanLiteral,False:k.BooleanLiteral,None:k.NullLiteral}),j=class{constructor(ge,J){this.value=ge,this.type=J}};function O(ge){return/\w/.test(ge)}function V(ge){return/[0-9]/.test(ge)}var X=[["{%",k.OpenStatement],["%}",k.CloseStatement],["{{",k.OpenExpression],["}}",k.CloseExpression],["(",k.OpenParen],[")",k.CloseParen],["{",k.OpenCurlyBracket],["}",k.CloseCurlyBracket],["[",k.OpenSquareBracket],["]",k.CloseSquareBracket],[",",k.Comma],[".",k.Dot],[":",k.Colon],["|",k.Pipe],["<=",k.ComparisonBinaryOperator],[">=",k.ComparisonBinaryOperator],["==",k.ComparisonBinaryOperator],["!=",k.ComparisonBinaryOperator],["<",k.ComparisonBinaryOperator],[">",k.ComparisonBinaryOperator],["+",k.AdditiveBinaryOperator],["-",k.AdditiveBinaryOperator],["*",k.MultiplicativeBinaryOperator],["/",k.MultiplicativeBinaryOperator],["%",k.MultiplicativeBinaryOperator],["=",k.Equals]],R=new Map([["n",`
2`],["t","	"],["r","\r"],["b","\b"],["f","\f"],["v","\v"],["'","'"],['"','"'],["\\","\\"]]);function S(ge,J={}){var bA,NA,XA;const fe=[],Te=function(TA,it={}){return TA.endsWith(`
3`)&&(TA=TA.slice(0,-1)),TA=TA.replace(/{#.*?#}/gs,"{##}"),it.lstrip_blocks&&(TA=TA.replace(/^[ \t]*({[#%])/gm,"$1")),it.trim_blocks&&(TA=TA.replace(/([#%]})\n/g,"$1")),TA.replace(/{##}/g,"").replace(/-%}\s*/g,"%}").replace(/\s*{%-/g,"{%").replace(/-}}\s*/g,"}}").replace(/\s*{{-/g,"{{")}(ge,J);let _e=0;const dA=TA=>{let it="";for(;TA(Te[_e]);)if(Te[_e]!=="\\"){if(it+=Te[_e++],_e>=Te.length)throw new SyntaxError("Unexpected end of input")}else{if(++_e,_e>=Te.length)throw new SyntaxError("Unexpected end of input");const tt=Te[_e++],at=R.get(tt);if(at===void 0)throw new SyntaxError(`Unexpected escaped character: ${tt}`);it+=at}return it};e:for(;_e<Te.length;){const TA=(bA=fe.at(-1))==null?void 0:bA.type;if(TA===void 0||TA===k.CloseStatement||TA===k.CloseExpression){let tt="";for(;_e<Te.length&&(Te[_e]!=="{"||Te[_e+1]!=="%"&&Te[_e+1]!=="{");)tt+=Te[_e++];if(tt.length>0){fe.push(new j(tt,k.Text));continue}}dA(tt=>/\s/.test(tt));const it=Te[_e];if(it==="-"||it==="+"){const tt=(NA=fe.at(-1))==null?void 0:NA.type;if(tt===k.Text||tt===void 0)throw new SyntaxError(`Unexpected character: ${it}`);switch(tt){case k.Identifier:case k.NumericLiteral:case k.BooleanLiteral:case k.NullLiteral:case k.StringLiteral:case k.CloseParen:case k.CloseSquareBracket:break;default:{++_e;const at=dA(V);fe.push(new j(`${it}${at}`,at.length>0?k.NumericLiteral:k.UnaryOperator));continue}}}for(const[tt,at]of X)if(Te.slice(_e,_e+tt.length)===tt){fe.push(new j(tt,at)),_e+=tt.length;continue e}if(it!=="'"&&it!=='"')if(V(it)){const tt=dA(V);fe.push(new j(tt,k.NumericLiteral))}else{if(!O(it))throw new SyntaxError(`Unexpected character: ${it}`);{const tt=dA(O),at=Object.hasOwn(F,tt)?F[tt]:k.Identifier;at===k.In&&((XA=fe.at(-1))==null?void 0:XA.type)===k.Not?(fe.pop(),fe.push(new j("not in",k.NotIn))):fe.push(new j(tt,at))}}else{++_e;const tt=dA(at=>at!==it);fe.push(new j(tt,k.StringLiteral)),++_e}}return fe}var Z=class{constructor(){Ve(this,"type","Statement")}},W=class extends Z{constructor(J){super();Ve(this,"type","Program");this.body=J}},te=class extends Z{constructor(J,fe,Te){super();Ve(this,"type","If");this.test=J,this.body=fe,this.alternate=Te}},me=class extends Z{constructor(J,fe,Te,_e){super();Ve(this,"type","For");this.loopvar=J,this.iterable=fe,this.body=Te,this.defaultBlock=_e}},Be=class extends Z{constructor(J,fe){super();Ve(this,"type","Set");this.assignee=J,this.value=fe}},Ee=class extends Z{constructor(J,fe,Te){super();Ve(this,"type","Macro");this.name=J,this.args=fe,this.body=Te}},ie=class extends Z{constructor(){super(...arguments);Ve(this,"type","Expression")}},ne=class extends ie{constructor(J,fe,Te){super();Ve(this,"type","MemberExpression");this.object=J,this.property=fe,this.computed=Te}},ve=class extends ie{constructor(J,fe){super();Ve(this,"type","CallExpression");this.callee=J,this.args=fe}},g=class extends ie{constructor(J){super();Ve(this,"type","Identifier");this.value=J}},b=class extends ie{constructor(J){super();Ve(this,"type","Literal");this.value=J}},e=class extends b{constructor(){super(...arguments);Ve(this,"type","NumericLiteral")}},l=class extends b{constructor(){super(...arguments);Ve(this,"type","StringLiteral")}},M=class extends b{constructor(){super(...arguments);Ve(this,"type","BooleanLiteral")}},ue=class extends b{constructor(){super(...arguments);Ve(this,"type","NullLiteral")}},D=class extends b{constructor(){super(...arguments);Ve(this,"type","ArrayLiteral")}},z=class extends b{constructor(){super(...arguments);Ve(this,"type","TupleLiteral")}},Ye=class extends b{constructor(){super(...arguments);Ve(this,"type","ObjectLiteral")}},Ne=class extends ie{constructor(J,fe,Te){super();Ve(this,"type","BinaryExpression");this.operator=J,this.left=fe,this.right=Te}},Oe=class extends ie{constructor(J,fe){super();Ve(this,"type","FilterExpression");this.operand=J,this.filter=fe}},AA=class extends ie{constructor(J,fe){super();Ve(this,"type","SelectExpression");this.iterable=J,this.test=fe}},tA=class extends ie{constructor(J,fe,Te){super();Ve(this,"type","TestExpression");this.operand=J,this.negate=fe,this.test=Te}},BA=class extends ie{constructor(J,fe){super();Ve(this,"type","UnaryExpression");this.operator=J,this.argument=fe}},DA=class extends ie{constructor(J=void 0,fe=void 0,Te=void 0){super();Ve(this,"type","SliceExpression");this.start=J,this.stop=fe,this.step=Te}},Ge=class extends ie{constructor(J,fe){super();Ve(this,"type","KeywordArgumentExpression");this.key=J,this.value=fe}};function ke(ge){const J=new W([]);let fe=0;function Te(qA,et){const FA=ge[fe++];if(!FA||FA.type!==qA)throw new Error(`Parser Error: ${et}. ${FA.type} !== ${qA}.`);return FA}function _e(){switch(ge[fe].type){case k.Text:return new l(Te(k.Text,"Expected text token").value);case k.OpenStatement:return function(){let qA;switch(Te(k.OpenStatement,"Expected opening statement token"),ge[fe].type){case k.Set:++fe,qA=NA(),Te(k.CloseStatement,"Expected closing statement token");break;case k.If:++fe,qA=XA(),Te(k.OpenStatement,"Expected {% token"),Te(k.EndIf,"Expected endif token"),Te(k.CloseStatement,"Expected %} token");break;case k.Macro:++fe,qA=function(){const et=wa();if(et.type!=="Identifier")throw new SyntaxError("Expected identifier following macro statement");const FA=$t();Te(k.CloseStatement,"Expected closing statement token");const Kt=[];for(;dA(k.OpenStatement,k.EndMacro);)Kt.push(_e());return new Ee(et,FA,Kt)}(),Te(k.OpenStatement,"Expected {% token"),Te(k.EndMacro,"Expected endmacro token"),Te(k.CloseStatement,"Expected %} token");break;case k.For:++fe,qA=function(){const et=TA(!0);if(!(et instanceof g||et instanceof z))throw new SyntaxError(`Expected identifier/tuple for the loop variable, got ${et.type} instead`);Te(k.In,"Expected `in` keyword following loop variable");const FA=it();Te(k.CloseStatement,"Expected closing statement token");const Kt=[];for(;dA(k.OpenStatement,k.EndFor)&&dA(k.OpenStatement,k.Else);)Kt.push(_e());const Wa=[];if(bA(k.OpenStatement,k.Else))for(++fe,++fe,Te(k.CloseStatement,"Expected closing statement token");dA(k.OpenStatement,k.EndFor);)Wa.push(_e());return new me(et,FA,Kt,Wa)}(),Te(k.OpenStatement,"Expected {% token"),Te(k.EndFor,"Expected endfor token"),Te(k.CloseStatement,"Expected %} token");break;default:throw new SyntaxError(`Unknown statement type: ${ge[fe].type}`)}return qA}();case k.OpenExpression:return function(){Te(k.OpenExpression,"Expected opening expression token");const qA=it();return Te(k.CloseExpression,"Expected closing expression token"),qA}();default:throw new SyntaxError(`Unexpected token type: ${ge[fe].type}`)}}function dA(...qA){return fe+qA.length<=ge.length&&qA.some((et,FA)=>et!==ge[fe+FA].type)}function bA(...qA){return fe+qA.length<=ge.length&&qA.every((et,FA)=>et===ge[fe+FA].type)}function NA(){const qA=it();if(bA(k.Equals)){++fe;const et=NA();return new Be(qA,et)}return qA}function XA(){var Kt,Wa,Pa,ns,qa,Ja,os,Yr;const qA=it();Te(k.CloseStatement,"Expected closing statement token");const et=[],FA=[];for(;((Kt=ge[fe])==null?void 0:Kt.type)!==k.OpenStatement||((Wa=ge[fe+1])==null?void 0:Wa.type)!==k.ElseIf&&((Pa=ge[fe+1])==null?void 0:Pa.type)!==k.Else&&((ns=ge[fe+1])==null?void 0:ns.type)!==k.EndIf;)et.push(_e());if(((qa=ge[fe])==null?void 0:qa.type)===k.OpenStatement&&((Ja=ge[fe+1])==null?void 0:Ja.type)!==k.EndIf)if(++fe,bA(k.ElseIf))Te(k.ElseIf,"Expected elseif token"),FA.push(XA());else for(Te(k.Else,"Expected else token"),Te(k.CloseStatement,"Expected closing statement token");((os=ge[fe])==null?void 0:os.type)!==k.OpenStatement||((Yr=ge[fe+1])==null?void 0:Yr.type)!==k.EndIf;)FA.push(_e());return new te(qA,et,FA)}function TA(qA=!1){const et=qA?wa:it,FA=[et()],Kt=bA(k.Comma);for(;Kt&&(++fe,FA.push(et()),bA(k.Comma)););return Kt?new z(FA):FA[0]}function it(){return function(){const qA=tt();if(bA(k.If)){++fe;const et=tt();if(bA(k.Else)){++fe;const FA=tt();return new te(et,[qA],[FA])}return new AA(qA,et)}return qA}()}function tt(){let qA=at();for(;bA(k.Or);){const et=ge[fe];++fe;const FA=at();qA=new Ne(et,qA,FA)}return qA}function at(){let qA=It();for(;bA(k.And);){const et=ge[fe];++fe;const FA=It();qA=new Ne(et,qA,FA)}return qA}function It(){let qA;for(;bA(k.Not);){const et=ge[fe];++fe;const FA=It();qA=new BA(et,FA)}return qA??function(){let et=Ar();for(;bA(k.ComparisonBinaryOperator)||bA(k.In)||bA(k.NotIn);){const FA=ge[fe];++fe;const Kt=Ar();et=new Ne(FA,et,Kt)}return et}()}function Ar(){let qA=Xa();for(;bA(k.AdditiveBinaryOperator);){const et=ge[fe];++fe;const FA=Xa();qA=new Ne(et,qA,FA)}return qA}function Vr(qA){let et=new ve(qA,$t());return et=wt(et),bA(k.OpenParen)&&(et=Vr(et)),et}function $t(){Te(k.OpenParen,"Expected opening parenthesis for arguments list");const qA=function(){const et=[];for(;!bA(k.CloseParen);){let FA=it();if(bA(k.Equals)){if(++fe,!(FA instanceof g))throw new SyntaxError("Expected identifier for keyword argument");const Kt=it();FA=new Ge(FA,Kt)}et.push(FA),bA(k.Comma)&&++fe}return et}();return Te(k.CloseParen,"Expected closing parenthesis for arguments list"),qA}function Pr(){const qA=[];let et=!1;for(;!bA(k.CloseSquareBracket);)bA(k.Colon)?(qA.push(void 0),++fe,et=!0):(qA.push(it()),bA(k.Colon)&&(++fe,et=!0));if(qA.length===0)throw new SyntaxError("Expected at least one argument for member/slice expression");if(et){if(qA.length>3)throw new SyntaxError("Expected 0-3 arguments for slice expression");return new DA(...qA)}return qA[0]}function wt(qA){for(;bA(k.Dot)||bA(k.OpenSquareBracket);){const et=ge[fe];let FA;++fe;const Kt=et.type!==k.Dot;if(Kt)FA=Pr(),Te(k.CloseSquareBracket,"Expected closing square bracket");else if(FA=wa(),FA.type!=="Identifier")throw new SyntaxError("Expected identifier following dot operator");qA=new ne(qA,FA,Kt)}return qA}function Xa(){let qA=La();for(;bA(k.MultiplicativeBinaryOperator);){const et=ge[fe];++fe;const FA=La();qA=new Ne(et,qA,FA)}return qA}function La(){let qA=function(){let et=function(){const FA=wt(wa());return bA(k.OpenParen)?Vr(FA):FA}();for(;bA(k.Pipe);){++fe;let FA=wa();if(!(FA instanceof g))throw new SyntaxError("Expected identifier for the filter");bA(k.OpenParen)&&(FA=Vr(FA)),et=new Oe(et,FA)}return et}();for(;bA(k.Is);){++fe;const et=bA(k.Not);et&&++fe;let FA=wa();if(FA instanceof M?FA=new g(FA.value.toString()):FA instanceof ue&&(FA=new g("none")),!(FA instanceof g))throw new SyntaxError("Expected identifier for the test");qA=new tA(qA,et,FA)}return qA}function wa(){const qA=ge[fe];switch(qA.type){case k.NumericLiteral:return++fe,new e(Number(qA.value));case k.StringLiteral:return++fe,new l(qA.value);case k.BooleanLiteral:return++fe,new M(qA.value.toLowerCase()==="true");case k.NullLiteral:return++fe,new ue(null);case k.Identifier:return++fe,new g(qA.value);case k.OpenParen:{++fe;const et=TA();if(ge[fe].type!==k.CloseParen)throw new SyntaxError(`Expected closing parenthesis, got ${ge[fe].type} instead`);return++fe,et}case k.OpenSquareBracket:{++fe;const et=[];for(;!bA(k.CloseSquareBracket);)et.push(it()),bA(k.Comma)&&++fe;return++fe,new D(et)}case k.OpenCurlyBracket:{++fe;const et=new Map;for(;!bA(k.CloseCurlyBracket);){const FA=it();Te(k.Colon,"Expected colon between key and value in object literal");const Kt=it();et.set(FA,Kt),bA(k.Comma)&&++fe}return++fe,new Ye(et)}default:throw new SyntaxError(`Unexpected token: ${qA.type}`)}}for(;fe<ge.length;)J.body.push(_e());return J}function ze(ge,J,fe=1){J===void 0&&(J=ge,ge=0);const Te=[];for(let _e=ge;_e<J;_e+=fe)Te.push(_e);return Te}function Ke(ge,J,fe,Te=1){const _e=Math.sign(Te);_e>=0?(J=(J??(J=0))<0?Math.max(ge.length+J,0):Math.min(J,ge.length),fe=(fe??(fe=ge.length))<0?Math.max(ge.length+fe,0):Math.min(fe,ge.length)):(J=(J??(J=ge.length-1))<0?Math.max(ge.length+J,-1):Math.min(J,ge.length-1),fe=(fe??(fe=-1))<-1?Math.max(ge.length+fe,-1):Math.min(fe,ge.length-1));const dA=[];for(let bA=J;_e*bA<_e*fe;bA+=Te)dA.push(ge[bA]);return dA}function Pe(ge){return ge.replace(/\b\w/g,J=>J.toUpperCase())}var xA=class{constructor(ge=void 0){Ve(this,"type","RuntimeValue");Ve(this,"value");Ve(this,"builtins",new Map);this.value=ge}__bool__(){return new yA(!!this.value)}},iA=class extends xA{constructor(){super(...arguments);Ve(this,"type","NumericValue")}},cA=class extends xA{constructor(){super(...arguments);Ve(this,"type","StringValue");Ve(this,"builtins",new Map([["upper",new IA(()=>new cA(this.value.toUpperCase()))],["lower",new IA(()=>new cA(this.value.toLowerCase()))],["strip",new IA(()=>new cA(this.value.trim()))],["title",new IA(()=>new cA(Pe(this.value)))],["length",new iA(this.value.length)],["rstrip",new IA(()=>new cA(this.value.trimEnd()))],["lstrip",new IA(()=>new cA(this.value.trimStart()))],["split",new IA(J=>{const fe=J[0]??new Qe;if(!(fe instanceof cA||fe instanceof Qe))throw new Error("sep argument must be a string or null");const Te=J[1]??new iA(-1);if(!(Te instanceof iA))throw new Error("maxsplit argument must be a number");let _e=[];if(fe instanceof Qe){const dA=this.value.trimStart();for(const{0:bA,index:NA}of dA.matchAll(/\S+/g)){if(Te.value!==-1&&_e.length>=Te.value&&NA!==void 0){_e.push(bA+dA.slice(NA+bA.length));break}_e.push(bA)}}else{if(fe.value==="")throw new Error("empty separator");_e=this.value.split(fe.value),Te.value!==-1&&_e.length>Te.value&&_e.push(_e.splice(Te.value).join(fe.value))}return new Je(_e.map(dA=>new cA(dA)))})]]))}},yA=class extends xA{constructor(){super(...arguments);Ve(this,"type","BooleanValue")}},gA=class extends xA{constructor(){super(...arguments);Ve(this,"type","ObjectValue");Ve(this,"builtins",new Map([["get",new IA(([J,fe])=>{if(!(J instanceof cA))throw new Error(`Object key must be a string: got ${J.type}`);return this.value.get(J.value)??fe??new Qe})],["items",new IA(()=>new Je(Array.from(this.value.entries()).map(([J,fe])=>new Je([new cA(J),fe]))))]]))}__bool__(){return new yA(this.value.size>0)}},He=class extends gA{constructor(){super(...arguments);Ve(this,"type","KeywordArgumentsValue")}},Je=class extends xA{constructor(){super(...arguments);Ve(this,"type","ArrayValue");Ve(this,"builtins",new Map([["length",new iA(this.value.length)]]))}__bool__(){return new yA(this.value.length>0)}},hA=class extends Je{constructor(){super(...arguments);Ve(this,"type","TupleValue")}},IA=class extends xA{constructor(){super(...arguments);Ve(this,"type","FunctionValue")}},Qe=class extends xA{constructor(){super(...arguments);Ve(this,"type","NullValue")}},mA=class extends xA{constructor(){super(...arguments);Ve(this,"type","UndefinedValue")}},MA=class{constructor(ge){Ve(this,"variables",new Map([["namespace",new IA(ge=>{if(ge.length===0)return new gA(new Map);if(ge.length!==1||!(ge[0]instanceof gA))throw new Error("`namespace` expects either zero arguments or a single object argument");return ge[0]})]]));Ve(this,"tests",new Map([["boolean",ge=>ge.type==="BooleanValue"],["callable",ge=>ge instanceof IA],["odd",ge=>{if(ge.type!=="NumericValue")throw new Error(`Cannot apply test "odd" to type: ${ge.type}`);return ge.value%2!=0}],["even",ge=>{if(ge.type!=="NumericValue")throw new Error(`Cannot apply test "even" to type: ${ge.type}`);return ge.value%2==0}],["false",ge=>ge.type==="BooleanValue"&&!ge.value],["true",ge=>ge.type==="BooleanValue"&&ge.value],["none",ge=>ge.type==="NullValue"],["string",ge=>ge.type==="StringValue"],["number",ge=>ge.type==="NumericValue"],["integer",ge=>ge.type==="NumericValue"&&Number.isInteger(ge.value)],["iterable",ge=>ge.type==="ArrayValue"||ge.type==="StringValue"],["mapping",ge=>ge.type==="ObjectValue"],["lower",ge=>{const J=ge.value;return ge.type==="StringValue"&&J===J.toLowerCase()}],["upper",ge=>{const J=ge.value;return ge.type==="StringValue"&&J===J.toUpperCase()}],["none",ge=>ge.type==="NullValue"],["defined",ge=>ge.type!=="UndefinedValue"],["undefined",ge=>ge.type==="UndefinedValue"],["equalto",(ge,J)=>ge.value===J.value],["eq",(ge,J)=>ge.value===J.value]]));this.parent=ge}set(ge,J){return this.declareVariable(ge,OA(J))}declareVariable(ge,J){if(this.variables.has(ge))throw new SyntaxError(`Variable already declared: ${ge}`);return this.variables.set(ge,J),J}setVariable(ge,J){return this.variables.set(ge,J),J}resolve(ge){if(this.variables.has(ge))return this;if(this.parent)return this.parent.resolve(ge);throw new Error(`Unknown variable: ${ge}`)}lookupVariable(ge){try{return this.resolve(ge).variables.get(ge)??new mA}catch{return new mA}}},LA=class{constructor(ge){Ve(this,"global");this.global=ge??new MA}run(ge){return this.evaluate(ge,this.global)}evaluateBinaryExpression(ge,J){const fe=this.evaluate(ge.left,J);switch(ge.operator.value){case"and":return fe.__bool__().value?this.evaluate(ge.right,J):fe;case"or":return fe.__bool__().value?fe:this.evaluate(ge.right,J)}const Te=this.evaluate(ge.right,J);switch(ge.operator.value){case"==":return new yA(fe.value==Te.value);case"!=":return new yA(fe.value!=Te.value)}if(fe instanceof mA||Te instanceof mA)throw new Error("Cannot perform operation on undefined values");if(fe instanceof Qe||Te instanceof Qe)throw new Error("Cannot perform operation on null values");if(fe instanceof iA&&Te instanceof iA)switch(ge.operator.value){case"+":return new iA(fe.value+Te.value);case"-":return new iA(fe.value-Te.value);case"*":return new iA(fe.value*Te.value);case"/":return new iA(fe.value/Te.value);case"%":return new iA(fe.value%Te.value);case"<":return new yA(fe.value<Te.value);case">":return new yA(fe.value>Te.value);case">=":return new yA(fe.value>=Te.value);case"<=":return new yA(fe.value<=Te.value)}else if(fe instanceof Je&&Te instanceof Je){if(ge.operator.value==="+")return new Je(fe.value.concat(Te.value))}else if(Te instanceof Je){const _e=Te.value.find(dA=>dA.value===fe.value)!==void 0;switch(ge.operator.value){case"in":return new yA(_e);case"not in":return new yA(!_e)}}if((fe instanceof cA||Te instanceof cA)&&ge.operator.value==="+")return new cA(fe.value.toString()+Te.value.toString());if(fe instanceof cA&&Te instanceof cA)switch(ge.operator.value){case"in":return new yA(Te.value.includes(fe.value));case"not in":return new yA(!Te.value.includes(fe.value))}if(fe instanceof cA&&Te instanceof gA)switch(ge.operator.value){case"in":return new yA(Te.value.has(fe.value));case"not in":return new yA(!Te.value.has(fe.value))}throw new SyntaxError(`Unknown operator "${ge.operator.value}" between ${fe.type} and ${Te.type}`)}evaluateArguments(ge,J){const fe=[],Te=new Map;for(const _e of ge)if(_e.type==="KeywordArgumentExpression"){const dA=_e;Te.set(dA.key.value,this.evaluate(dA.value,J))}else{if(Te.size>0)throw new Error("Positional arguments must come before keyword arguments");fe.push(this.evaluate(_e,J))}return[fe,Te]}evaluateFilterExpression(ge,J){const fe=this.evaluate(ge.operand,J);if(ge.filter.type==="Identifier"){const Te=ge.filter;if(Te.value==="tojson")return new cA(q(fe));if(fe instanceof Je)switch(Te.value){case"list":return fe;case"first":return fe.value[0];case"last":return fe.value[fe.value.length-1];case"length":return new iA(fe.value.length);case"reverse":return new Je(fe.value.reverse());case"sort":return new Je(fe.value.sort((_e,dA)=>{if(_e.type!==dA.type)throw new Error(`Cannot compare different types: ${_e.type} and ${dA.type}`);switch(_e.type){case"NumericValue":return _e.value-dA.value;case"StringValue":return _e.value.localeCompare(dA.value);default:throw new Error(`Cannot compare type: ${_e.type}`)}}));case"join":return new cA(fe.value.map(_e=>_e.value).join(""));default:throw new Error(`Unknown ArrayValue filter: ${Te.value}`)}else if(fe instanceof cA)switch(Te.value){case"length":return new iA(fe.value.length);case"upper":return new cA(fe.value.toUpperCase());case"lower":return new cA(fe.value.toLowerCase());case"title":return new cA(Pe(fe.value));case"capitalize":return new cA(fe.value.charAt(0).toUpperCase()+fe.value.slice(1));case"trim":return new cA(fe.value.trim());case"indent":return new cA(fe.value.split(`
4`).map((_e,dA)=>dA===0||_e.length===0?_e:"    "+_e).join(`
5`));case"join":case"string":return fe;default:throw new Error(`Unknown StringValue filter: ${Te.value}`)}else{if(fe instanceof iA){if(Te.value==="abs")return new iA(Math.abs(fe.value));throw new Error(`Unknown NumericValue filter: ${Te.value}`)}if(fe instanceof gA)switch(Te.value){case"items":return new Je(Array.from(fe.value.entries()).map(([_e,dA])=>new Je([new cA(_e),dA])));case"length":return new iA(fe.value.size);default:throw new Error(`Unknown ObjectValue filter: ${Te.value}`)}}throw new Error(`Cannot apply filter "${Te.value}" to type: ${fe.type}`)}if(ge.filter.type==="CallExpression"){const Te=ge.filter;if(Te.callee.type!=="Identifier")throw new Error(`Unknown filter: ${Te.callee.type}`);const _e=Te.callee.value;if(_e==="tojson"){const[,dA]=this.evaluateArguments(Te.args,J),bA=dA.get("indent")??new Qe;if(!(bA instanceof iA||bA instanceof Qe))throw new Error("If set, indent must be a number");return new cA(q(fe,bA.value))}if(_e==="join"){let dA;if(fe instanceof cA)dA=Array.from(fe.value);else{if(!(fe instanceof Je))throw new Error(`Cannot apply filter "${_e}" to type: ${fe.type}`);dA=fe.value.map(TA=>TA.value)}const[bA,NA]=this.evaluateArguments(Te.args,J),XA=bA.at(0)??NA.get("separator")??new cA("");if(!(XA instanceof cA))throw new Error("separator must be a string");return new cA(dA.join(XA.value))}if(fe instanceof Je){switch(_e){case"selectattr":case"rejectattr":{const dA=_e==="selectattr";if(fe.value.some(tt=>!(tt instanceof gA)))throw new Error(`\`${_e}\` can only be applied to array of objects`);if(Te.args.some(tt=>tt.type!=="StringLiteral"))throw new Error(`arguments of \`${_e}\` must be strings`);const[bA,NA,XA]=Te.args.map(tt=>this.evaluate(tt,J));let TA;if(NA){const tt=J.tests.get(NA.value);if(!tt)throw new Error(`Unknown test: ${NA.value}`);TA=tt}else TA=(...tt)=>tt[0].__bool__().value;const it=fe.value.filter(tt=>{const at=tt.value.get(bA.value),It=!!at&&TA(at,XA);return dA?It:!It});return new Je(it)}case"map":{const[,dA]=this.evaluateArguments(Te.args,J);if(dA.has("attribute")){const bA=dA.get("attribute");if(!(bA instanceof cA))throw new Error("attribute must be a string");const NA=dA.get("default"),XA=fe.value.map(TA=>{if(!(TA instanceof gA))throw new Error("items in map must be an object");return TA.value.get(bA.value)??NA??new mA});return new Je(XA)}throw new Error("`map` expressions without `attribute` set are not currently supported.")}}throw new Error(`Unknown ArrayValue filter: ${_e}`)}if(fe instanceof cA){if(_e==="indent"){const[dA,bA]=this.evaluateArguments(Te.args,J),NA=dA.at(0)??bA.get("width")??new iA(4);if(!(NA instanceof iA))throw new Error("width must be a number");const XA=dA.at(1)??bA.get("first")??new yA(!1),TA=dA.at(2)??bA.get("blank")??new yA(!1),it=fe.value.split(`
6`),tt=" ".repeat(NA.value),at=it.map((It,Ar)=>!XA.value&&Ar===0||!TA.value&&It.length===0?It:tt+It);return new cA(at.join(`
7`))}throw new Error(`Unknown StringValue filter: ${_e}`)}throw new Error(`Cannot apply filter "${_e}" to type: ${fe.type}`)}throw new Error(`Unknown filter: ${ge.filter.type}`)}evaluateTestExpression(ge,J){const fe=this.evaluate(ge.operand,J),Te=J.tests.get(ge.test.value);if(!Te)throw new Error(`Unknown test: ${ge.test.value}`);const _e=Te(fe);return new yA(ge.negate?!_e:_e)}evaluateUnaryExpression(ge,J){const fe=this.evaluate(ge.argument,J);if(ge.operator.value==="not")return new yA(!fe.value);throw new SyntaxError(`Unknown operator: ${ge.operator.value}`)}evalProgram(ge,J){return this.evaluateBlock(ge.body,J)}evaluateBlock(ge,J){let fe="";for(const Te of ge){const _e=this.evaluate(Te,J);_e.type!=="NullValue"&&_e.type!=="UndefinedValue"&&(fe+=_e.value)}return new cA(fe)}evaluateIdentifier(ge,J){return J.lookupVariable(ge.value)}evaluateCallExpression(ge,J){const[fe,Te]=this.evaluateArguments(ge.args,J);Te.size>0&&fe.push(new He(Te));const _e=this.evaluate(ge.callee,J);if(_e.type!=="FunctionValue")throw new Error(`Cannot call something that is not a function: got ${_e.type}`);return _e.value(fe,J)}evaluateSliceExpression(ge,J,fe){if(!(ge instanceof Je||ge instanceof cA))throw new Error("Slice object must be an array or string");const Te=this.evaluate(J.start,fe),_e=this.evaluate(J.stop,fe),dA=this.evaluate(J.step,fe);if(!(Te instanceof iA||Te instanceof mA))throw new Error("Slice start must be numeric or undefined");if(!(_e instanceof iA||_e instanceof mA))throw new Error("Slice stop must be numeric or undefined");if(!(dA instanceof iA||dA instanceof mA))throw new Error("Slice step must be numeric or undefined");return ge instanceof Je?new Je(Ke(ge.value,Te.value,_e.value,dA.value)):new cA(Ke(Array.from(ge.value),Te.value,_e.value,dA.value).join(""))}evaluateMemberExpression(ge,J){const fe=this.evaluate(ge.object,J);let Te,_e;if(ge.computed){if(ge.property.type==="SliceExpression")return this.evaluateSliceExpression(fe,ge.property,J);Te=this.evaluate(ge.property,J)}else Te=new cA(ge.property.value);if(fe instanceof gA){if(!(Te instanceof cA))throw new Error(`Cannot access property with non-string: got ${Te.type}`);_e=fe.value.get(Te.value)??fe.builtins.get(Te.value)}else if(fe instanceof Je||fe instanceof cA)if(Te instanceof iA)_e=fe.value.at(Te.value),fe instanceof cA&&(_e=new cA(fe.value.at(Te.value)));else{if(!(Te instanceof cA))throw new Error(`Cannot access property with non-string/non-number: got ${Te.type}`);_e=fe.builtins.get(Te.value)}else{if(!(Te instanceof cA))throw new Error(`Cannot access property with non-string: got ${Te.type}`);_e=fe.builtins.get(Te.value)}return _e instanceof xA?_e:new mA}evaluateSet(ge,J){const fe=this.evaluate(ge.value,J);if(ge.assignee.type==="Identifier"){const Te=ge.assignee.value;J.setVariable(Te,fe)}else{if(ge.assignee.type!=="MemberExpression")throw new Error(`Invalid LHS inside assignment expression: ${JSON.stringify(ge.assignee)}`);{const Te=ge.assignee,_e=this.evaluate(Te.object,J);if(!(_e instanceof gA))throw new Error("Cannot assign to member of non-object");if(Te.property.type!=="Identifier")throw new Error("Cannot assign to member with non-identifier property");_e.value.set(Te.property.value,fe)}}return new Qe}evaluateIf(ge,J){const fe=this.evaluate(ge.test,J);return this.evaluateBlock(fe.__bool__().value?ge.body:ge.alternate,J)}evaluateFor(ge,J){const fe=new MA(J);let Te,_e;if(ge.iterable.type==="SelectExpression"){const TA=ge.iterable;_e=this.evaluate(TA.iterable,fe),Te=TA.test}else _e=this.evaluate(ge.iterable,fe);if(!(_e instanceof Je))throw new Error(`Expected iterable type in for loop: got ${_e.type}`);const dA=[],bA=[];for(let TA=0;TA<_e.value.length;++TA){const it=new MA(fe),tt=_e.value[TA];let at;if(ge.loopvar.type==="Identifier")at=It=>It.setVariable(ge.loopvar.value,tt);else{if(ge.loopvar.type!=="TupleLiteral")throw new Error(`Invalid loop variable(s): ${ge.loopvar.type}`);{const It=ge.loopvar;if(tt.type!=="ArrayValue")throw new Error(`Cannot unpack non-iterable type: ${tt.type}`);const Ar=tt;if(It.value.length!==Ar.value.length)throw new Error(`Too ${It.value.length>Ar.value.length?"few":"many"} items to unpack`);at=Vr=>{for(let $t=0;$t<It.value.length;++$t){if(It.value[$t].type!=="Identifier")throw new Error(`Cannot unpack non-identifier type: ${It.value[$t].type}`);Vr.setVariable(It.value[$t].value,Ar.value[$t])}}}}Te&&(at(it),!this.evaluate(Te,it).__bool__().value)||(dA.push(tt),bA.push(at))}let NA="",XA=!0;for(let TA=0;TA<dA.length;++TA){const it=new Map([["index",new iA(TA+1)],["index0",new iA(TA)],["revindex",new iA(dA.length-TA)],["revindex0",new iA(dA.length-TA-1)],["first",new yA(TA===0)],["last",new yA(TA===dA.length-1)],["length",new iA(dA.length)],["previtem",TA>0?dA[TA-1]:new mA],["nextitem",TA<dA.length-1?dA[TA+1]:new mA]]);fe.setVariable("loop",new gA(it)),bA[TA](fe),NA+=this.evaluateBlock(ge.body,fe).value,XA=!1}return XA&&(NA+=this.evaluateBlock(ge.defaultBlock,fe).value),new cA(NA)}evaluateMacro(ge,J){return J.setVariable(ge.name.value,new IA((fe,Te)=>{var bA;const _e=new MA(Te);let dA;fe=fe.slice(),((bA=fe.at(-1))==null?void 0:bA.type)==="KeywordArgumentsValue"&&(dA=fe.pop());for(let NA=0;NA<ge.args.length;++NA){const XA=ge.args[NA],TA=fe[NA];if(XA.type==="Identifier"){const it=XA;if(!TA)throw new Error(`Missing positional argument: ${it.value}`);_e.setVariable(it.value,TA)}else{if(XA.type!=="KeywordArgumentExpression")throw new Error(`Unknown argument type: ${XA.type}`);{const it=XA,tt=TA??(dA==null?void 0:dA.value.get(it.key.value))??this.evaluate(it.value,_e);_e.setVariable(it.key.value,tt)}}}return this.evaluateBlock(ge.body,_e)})),new Qe}evaluate(ge,J){if(ge===void 0)return new mA;switch(ge.type){case"Program":return this.evalProgram(ge,J);case"Set":return this.evaluateSet(ge,J);case"If":return this.evaluateIf(ge,J);case"For":return this.evaluateFor(ge,J);case"Macro":return this.evaluateMacro(ge,J);case"NumericLiteral":return new iA(Number(ge.value));case"StringLiteral":return new cA(ge.value);case"BooleanLiteral":return new yA(ge.value);case"NullLiteral":return new Qe(ge.value);case"ArrayLiteral":return new Je(ge.value.map(fe=>this.evaluate(fe,J)));case"TupleLiteral":return new hA(ge.value.map(fe=>this.evaluate(fe,J)));case"ObjectLiteral":{const fe=new Map;for(const[Te,_e]of ge.value){const dA=this.evaluate(Te,J);if(!(dA instanceof cA))throw new Error(`Object keys must be strings: got ${dA.type}`);fe.set(dA.value,this.evaluate(_e,J))}return new gA(fe)}case"Identifier":return this.evaluateIdentifier(ge,J);case"CallExpression":return this.evaluateCallExpression(ge,J);case"MemberExpression":return this.evaluateMemberExpression(ge,J);case"UnaryExpression":return this.evaluateUnaryExpression(ge,J);case"BinaryExpression":return this.evaluateBinaryExpression(ge,J);case"FilterExpression":return this.evaluateFilterExpression(ge,J);case"TestExpression":return this.evaluateTestExpression(ge,J);default:throw new SyntaxError(`Unknown node type: ${ge.type}`)}}};function OA(ge){switch(typeof ge){case"number":return new iA(ge);case"string":return new cA(ge);case"boolean":return new yA(ge);case"undefined":return new mA;case"object":return ge===null?new Qe:Array.isArray(ge)?new Je(ge.map(OA)):new gA(new Map(Object.entries(ge).map(([J,fe])=>[J,OA(fe)])));case"function":return new IA((J,fe)=>{const Te=ge(...J.map(_e=>_e.value))??null;return OA(Te)});default:throw new Error(`Cannot convert to runtime value: ${ge}`)}}function q(ge,J,fe){const Te=fe??0;switch(ge.type){case"NullValue":case"UndefinedValue":return"null";case"NumericValue":case"StringValue":case"BooleanValue":return JSON.stringify(ge.value);case"ArrayValue":case"ObjectValue":{const _e=J?" ".repeat(J):"",dA=`
8`+_e.repeat(Te),bA=dA+_e;if(ge.type==="ArrayValue"){const NA=ge.value.map(XA=>q(XA,J,Te+1));return J?`[${bA}${NA.join(`,${bA}`)}${dA}]`:`[${NA.join(", ")}]`}{const NA=Array.from(ge.value.entries()).map(([XA,TA])=>{const it=`"${XA}": ${q(TA,J,Te+1)}`;return J?`${bA}${it}`:it});return J?`{${NA.join(",")}${dA}}`:`{${NA.join(", ")}}`}}default:throw new Error(`Cannot convert to JSON: ${ge.type}`)}}var HA=class{constructor(ge){Ve(this,"parsed");const J=S(ge,{lstrip_blocks:!0,trim_blocks:!0});this.parsed=ke(J)}render(ge){const J=new MA;if(J.set("false",!1),J.set("true",!0),J.set("raise_exception",fe=>{throw new Error(fe)}),J.set("range",ze),ge)for(const[fe,Te]of Object.entries(ge))J.set(fe,Te);return new LA(J).run(this.parsed).value}}},
vendor: 1,670 bytes, line 8
8"./node_modules/onnxruntime-common/dist/esm/backend-impl.js":(x,C,d)=>{d.r(C),d.d(C,{registerBackend:()=>j,resolveBackendAndExecutionProviders:()=>V});const k=new Map,F=[],j=(X,R,S)=>{if(!R||typeof R.init!="function"||typeof R.createInferenceSessionHandler!="function")throw new TypeError("not a valid backend");{const Z=k.get(X);if(Z===void 0)k.set(X,{backend:R,priority:S});else{if(Z.priority>S)return;if(Z.priority===S&&Z.backend!==R)throw new Error(`cannot register backend "${X}" using priority ${S}`)}if(S>=0){const W=F.indexOf(X);W!==-1&&F.splice(W,1);for(let te=0;te<F.length;te++)if(k.get(F[te]).priority<=S)return void F.splice(te,0,X);F.push(X)}}},O=async X=>{const R=k.get(X);if(!R)return"backend not found.";if(R.initialized)return R.backend;if(R.aborted)return R.error;{const S=!!R.initPromise;try{return S||(R.initPromise=R.backend.init(X)),await R.initPromise,R.initialized=!0,R.backend}catch(Z){return S||(R.error=`${Z}`,R.aborted=!0),R.error}finally{delete R.initPromise}}},V=async X=>{const R=X.executionProviders||[],S=R.map(Ee=>typeof Ee=="string"?Ee:Ee.name),Z=S.length===0?F:S;let W;const te=[],me=new Set;for(const Ee of Z){const ie=await O(Ee);typeof ie=="string"?te.push({name:Ee,err:ie}):(W||(W=ie),W===ie&&me.add(Ee))}if(!W)throw new Error(`no available backend found. ERR: ${te.map(Ee=>`[${Ee.name}] ${Ee.err}`).join(", ")}`);for(const{name:Ee,err:ie}of te)S.includes(Ee)&&console.warn(`removing requested execution provider "${Ee}" from session options because it is not available: ${ie}`);const Be=R.filter(Ee=>me.has(typeof Ee=="string"?Ee:Ee.name));return[W,new Proxy(X,{get:(Ee,ie)=>ie==="executionProviders"?Be:Reflect.get(Ee,ie)})]}},
vendor: 191 bytes, line 8
8"./node_modules/onnxruntime-common/dist/esm/backend.js":(x,C,d)=>{d.r(C),d.d(C,{registerBackend:()=>k.registerBackend});var k=d("./node_modules/onnxruntime-common/dist/esm/backend-impl.js")},
vendor: 489 bytes, line 8
8"./node_modules/onnxruntime-common/dist/esm/env-impl.js":(x,C,d)=>{d.r(C),d.d(C,{env:()=>j});var k=d("./node_modules/onnxruntime-common/dist/esm/version.js");let F="warning";const j={wasm:{},webgl:{},webgpu:{},versions:{common:k.version},set logLevel(O){if(O!==void 0){if(typeof O!="string"||["verbose","info","warning","error","fatal"].indexOf(O)===-1)throw new Error(`Unsupported logging level: ${O}`);F=O}},get logLevel(){return F}};Object.defineProperty(j,"logLevel",{enumerable:!0})},
vendor: 161 bytes, line 8
8"./node_modules/onnxruntime-common/dist/esm/env.js":(x,C,d)=>{d.r(C),d.d(C,{env:()=>k});const k=d("./node_modules/onnxruntime-common/dist/esm/env-impl.js").env},
vendor: 974 bytes, line 8
8"./node_modules/onnxruntime-common/dist/esm/index.js":(x,C,d)=>{d.r(C),d.d(C,{InferenceSession:()=>j.InferenceSession,TRACE:()=>V.TRACE,TRACE_FUNC_BEGIN:()=>V.TRACE_FUNC_BEGIN,TRACE_FUNC_END:()=>V.TRACE_FUNC_END,Tensor:()=>O.Tensor,TrainingSession:()=>X.TrainingSession,env:()=>F.env,registerBackend:()=>k.registerBackend});var k=d("./node_modules/onnxruntime-common/dist/esm/backend.js"),F=d("./node_modules/onnxruntime-common/dist/esm/env.js"),j=d("./node_modules/onnxruntime-common/dist/esm/inference-session.js"),O=d("./node_modules/onnxruntime-common/dist/esm/tensor.js");d("./node_modules/onnxruntime-common/dist/esm/tensor-conversion.js"),d("./node_modules/onnxruntime-common/dist/esm/tensor-factory.js");var V=d("./node_modules/onnxruntime-common/dist/esm/trace.js");d("./node_modules/onnxruntime-common/dist/esm/onnx-model.js"),d("./node_modules/onnxruntime-common/dist/esm/onnx-value.js");var X=d("./node_modules/onnxruntime-common/dist/esm/training-session.js")},
vendor: 3,745 bytes, line 8
8"./node_modules/onnxruntime-common/dist/esm/inference-session-impl.js":(x,C,d)=>{d.r(C),d.d(C,{InferenceSession:()=>O});var k=d("./node_modules/onnxruntime-common/dist/esm/backend-impl.js"),F=d("./node_modules/onnxruntime-common/dist/esm/tensor.js"),j=d("./node_modules/onnxruntime-common/dist/esm/trace.js");class O{constructor(X){this.handler=X}async run(X,R,S){(0,j.TRACE_FUNC_BEGIN)();const Z={};let W={};if(typeof X!="object"||X===null||X instanceof F.Tensor||Array.isArray(X))throw new TypeError("'feeds' must be an object that use input names as keys and OnnxValue as corresponding values.");let te=!0;if(typeof R=="object"){if(R===null)throw new TypeError("Unexpected argument[1]: cannot be null.");if(R instanceof F.Tensor)throw new TypeError("'fetches' cannot be a Tensor");if(Array.isArray(R)){if(R.length===0)throw new TypeError("'fetches' cannot be an empty array.");te=!1;for(const Ee of R){if(typeof Ee!="string")throw new TypeError("'fetches' must be a string array or an object.");if(this.outputNames.indexOf(Ee)===-1)throw new RangeError(`'fetches' contains invalid output name: ${Ee}.`);Z[Ee]=null}if(typeof S=="object"&&S!==null)W=S;else if(S!==void 0)throw new TypeError("'options' must be an object.")}else{let Ee=!1;const ie=Object.getOwnPropertyNames(R);for(const ne of this.outputNames)if(ie.indexOf(ne)!==-1){const ve=R[ne];(ve===null||ve instanceof F.Tensor)&&(Ee=!0,te=!1,Z[ne]=ve)}if(Ee){if(typeof S=="object"&&S!==null)W=S;else if(S!==void 0)throw new TypeError("'options' must be an object.")}else W=R}}else if(R!==void 0)throw new TypeError("Unexpected argument[1]: must be 'fetches' or 'options'.");for(const Ee of this.inputNames)if(X[Ee]===void 0)throw new Error(`input '${Ee}' is missing in 'feeds'.`);if(te)for(const Ee of this.outputNames)Z[Ee]=null;const me=await this.handler.run(X,Z,W),Be={};for(const Ee in me)if(Object.hasOwnProperty.call(me,Ee)){const ie=me[Ee];ie instanceof F.Tensor?Be[Ee]=ie:Be[Ee]=new F.Tensor(ie.type,ie.data,ie.dims)}return(0,j.TRACE_FUNC_END)(),Be}async release(){return this.handler.dispose()}static async create(X,R,S,Z){let W;(0,j.TRACE_FUNC_BEGIN)();let te={};if(typeof X=="string"){if(W=X,typeof R=="object"&&R!==null)te=R;else if(R!==void 0)throw new TypeError("'options' must be an object.")}else if(X instanceof Uint8Array){if(W=X,typeof R=="object"&&R!==null)te=R;else if(R!==void 0)throw new TypeError("'options' must be an object.")}else{if(!(X instanceof ArrayBuffer||typeof SharedArrayBuffer<"u"&&X instanceof SharedArrayBuffer))throw new TypeError("Unexpected argument[0]: must be 'path' or 'buffer'.");{const ie=X;let ne=0,ve=X.byteLength;if(typeof R=="object"&&R!==null)te=R;else if(typeof R=="number"){if(ne=R,!Number.isSafeInteger(ne))throw new RangeError("'byteOffset' must be an integer.");if(ne<0||ne>=ie.byteLength)throw new RangeError(`'byteOffset' is out of range [0, ${ie.byteLength}).`);if(ve=X.byteLength-ne,typeof S=="number"){if(ve=S,!Number.isSafeInteger(ve))throw new RangeError("'byteLength' must be an integer.");if(ve<=0||ne+ve>ie.byteLength)throw new RangeError(`'byteLength' is out of range (0, ${ie.byteLength-ne}].`);if(typeof Z=="object"&&Z!==null)te=Z;else if(Z!==void 0)throw new TypeError("'options' must be an object.")}else if(S!==void 0)throw new TypeError("'byteLength' must be a number.")}else if(R!==void 0)throw new TypeError("'options' must be an object.");W=new Uint8Array(ie,ne,ve)}}const[me,Be]=await(0,k.resolveBackendAndExecutionProviders)(te),Ee=await me.createInferenceSessionHandler(W,Be);return(0,j.TRACE_FUNC_END)(),new O(Ee)}startProfiling(){this.handler.startProfiling()}endProfiling(){this.handler.endProfiling()}get inputNames(){return this.handler.inputNames}get outputNames(){return this.handler.outputNames}}},
vendor: 215 bytes, line 8
8"./node_modules/onnxruntime-common/dist/esm/inference-session.js":(x,C,d)=>{d.r(C),d.d(C,{InferenceSession:()=>k});const k=d("./node_modules/onnxruntime-common/dist/esm/inference-session-impl.js").InferenceSession},
vendor: 77 bytes, line 8
8"./node_modules/onnxruntime-common/dist/esm/onnx-model.js":(x,C,d)=>{d.r(C)},
vendor: 77 bytes, line 8
8"./node_modules/onnxruntime-common/dist/esm/onnx-value.js":(x,C,d)=>{d.r(C)},
vendor: 2,806 bytes, line 8
8"./node_modules/onnxruntime-common/dist/esm/tensor-conversion-impl.js":(x,C,d)=>{d.r(C),d.d(C,{tensorToDataURL:()=>k,tensorToImageData:()=>F});const k=(j,O)=>{const V=typeof document<"u"?document.createElement("canvas"):new OffscreenCanvas(1,1);V.width=j.dims[3],V.height=j.dims[2];const X=V.getContext("2d");if(X!=null){let R,S;(O==null?void 0:O.tensorLayout)!==void 0&&O.tensorLayout==="NHWC"?(R=j.dims[2],S=j.dims[3]):(R=j.dims[3],S=j.dims[2]);const Z=(O==null?void 0:O.format)!==void 0?O.format:"RGB",W=O==null?void 0:O.norm;let te,me;W===void 0||W.mean===void 0?te=[255,255,255,255]:typeof W.mean=="number"?te=[W.mean,W.mean,W.mean,W.mean]:(te=[W.mean[0],W.mean[1],W.mean[2],0],W.mean[3]!==void 0&&(te[3]=W.mean[3])),W===void 0||W.bias===void 0?me=[0,0,0,0]:typeof W.bias=="number"?me=[W.bias,W.bias,W.bias,W.bias]:(me=[W.bias[0],W.bias[1],W.bias[2],0],W.bias[3]!==void 0&&(me[3]=W.bias[3]));const Be=S*R;let Ee=0,ie=Be,ne=2*Be,ve=-1;Z==="RGBA"?(Ee=0,ie=Be,ne=2*Be,ve=3*Be):Z==="RGB"?(Ee=0,ie=Be,ne=2*Be):Z==="RBG"&&(Ee=0,ne=Be,ie=2*Be);for(let g=0;g<S;g++)for(let b=0;b<R;b++){const e=(j.data[Ee++]-me[0])*te[0],l=(j.data[ie++]-me[1])*te[1],M=(j.data[ne++]-me[2])*te[2],ue=ve===-1?255:(j.data[ve++]-me[3])*te[3];X.fillStyle="rgba("+e+","+l+","+M+","+ue+")",X.fillRect(b,g,1,1)}if("toDataURL"in V)return V.toDataURL();throw new Error("toDataURL is not supported")}throw new Error("Can not access image data")},F=(j,O)=>{const V=typeof document<"u"?document.createElement("canvas").getContext("2d"):new OffscreenCanvas(1,1).getContext("2d");let X;if(V==null)throw new Error("Can not access image data");{let R,S,Z;(O==null?void 0:O.tensorLayout)!==void 0&&O.tensorLayout==="NHWC"?(R=j.dims[2],S=j.dims[1],Z=j.dims[3]):(R=j.dims[3],S=j.dims[2],Z=j.dims[1]);const W=O!==void 0&&O.format!==void 0?O.format:"RGB",te=O==null?void 0:O.norm;let me,Be;te===void 0||te.mean===void 0?me=[255,255,255,255]:typeof te.mean=="number"?me=[te.mean,te.mean,te.mean,te.mean]:(me=[te.mean[0],te.mean[1],te.mean[2],255],te.mean[3]!==void 0&&(me[3]=te.mean[3])),te===void 0||te.bias===void 0?Be=[0,0,0,0]:typeof te.bias=="number"?Be=[te.bias,te.bias,te.bias,te.bias]:(Be=[te.bias[0],te.bias[1],te.bias[2],0],te.bias[3]!==void 0&&(Be[3]=te.bias[3]));const Ee=S*R;if(O!==void 0&&(O.format!==void 0&&Z===4&&O.format!=="RGBA"||Z===3&&O.format!=="RGB"&&O.format!=="BGR"))throw new Error("Tensor format doesn't match input tensor dims");const ie=4;let ne=0,ve=1,g=2,b=3,e=0,l=Ee,M=2*Ee,ue=-1;W==="RGBA"?(e=0,l=Ee,M=2*Ee,ue=3*Ee):W==="RGB"?(e=0,l=Ee,M=2*Ee):W==="RBG"&&(e=0,M=Ee,l=2*Ee),X=V.createImageData(R,S);for(let D=0;D<S*R;ne+=ie,ve+=ie,g+=ie,b+=ie,D++)X.data[ne]=(j.data[e++]-Be[0])*me[0],X.data[ve]=(j.data[l++]-Be[1])*me[1],X.data[g]=(j.data[M++]-Be[2])*me[2],X.data[b]=ue===-1?255:(j.data[ue++]-Be[3])*me[3]}return X}},
vendor: 84 bytes, line 8
8"./node_modules/onnxruntime-common/dist/esm/tensor-conversion.js":(x,C,d)=>{d.r(C)},
vendor: 4,350 bytes, line 8
8"./node_modules/onnxruntime-common/dist/esm/tensor-factory-impl.js":(x,C,d)=>{d.r(C),d.d(C,{bufferToTensor:()=>F,tensorFromGpuBuffer:()=>V,tensorFromImage:()=>j,tensorFromMLTensor:()=>X,tensorFromPinnedBuffer:()=>R,tensorFromTexture:()=>O});var k=d("./node_modules/onnxruntime-common/dist/esm/tensor-impl.js");const F=(S,Z)=>{if(S===void 0)throw new Error("Image buffer must be defined");if(Z.height===void 0||Z.width===void 0)throw new Error("Image height and width must be defined");if(Z.tensorLayout==="NHWC")throw new Error("NHWC Tensor layout is not supported yet");const{height:W,width:te}=Z,me=Z.norm??{mean:255,bias:0};let Be,Ee;Be=typeof me.mean=="number"?[me.mean,me.mean,me.mean,me.mean]:[me.mean[0],me.mean[1],me.mean[2],me.mean[3]??255],Ee=typeof me.bias=="number"?[me.bias,me.bias,me.bias,me.bias]:[me.bias[0],me.bias[1],me.bias[2],me.bias[3]??0];const ie=Z.format!==void 0?Z.format:"RGBA",ne=Z.tensorFormat!==void 0&&Z.tensorFormat!==void 0?Z.tensorFormat:"RGB",ve=W*te,g=ne==="RGBA"?new Float32Array(4*ve):new Float32Array(3*ve);let b=4,e=0,l=1,M=2,ue=3,D=0,z=ve,Ye=2*ve,Ne=-1;ie==="RGB"&&(b=3,e=0,l=1,M=2,ue=-1),ne==="RGBA"?Ne=3*ve:ne==="RBG"?(D=0,Ye=ve,z=2*ve):ne==="BGR"&&(Ye=0,z=ve,D=2*ve);for(let Oe=0;Oe<ve;Oe++,e+=b,M+=b,l+=b,ue+=b)g[D++]=(S[e]+Ee[0])/Be[0],g[z++]=(S[l]+Ee[1])/Be[1],g[Ye++]=(S[M]+Ee[2])/Be[2],Ne!==-1&&ue!==-1&&(g[Ne++]=(S[ue]+Ee[3])/Be[3]);return ne==="RGBA"?new k.Tensor("float32",g,[1,4,W,te]):new k.Tensor("float32",g,[1,3,W,te])},j=async(S,Z)=>{const W=typeof HTMLImageElement<"u"&&S instanceof HTMLImageElement,te=typeof ImageData<"u"&&S instanceof ImageData,me=typeof ImageBitmap<"u"&&S instanceof ImageBitmap,Be=typeof S=="string";let Ee,ie=Z??{};const ne=()=>{if(typeof document<"u")return document.createElement("canvas");if(typeof OffscreenCanvas<"u")return new OffscreenCanvas(1,1);throw new Error("Canvas is not supported")},ve=g=>typeof HTMLCanvasElement<"u"&&g instanceof HTMLCanvasElement||g instanceof OffscreenCanvas?g.getContext("2d"):null;if(W){const g=ne();g.width=S.width,g.height=S.height;const b=ve(g);if(b==null)throw new Error("Can not access image data");{let e=S.height,l=S.width;if(Z!==void 0&&Z.resizedHeight!==void 0&&Z.resizedWidth!==void 0&&(e=Z.resizedHeight,l=Z.resizedWidth),Z!==void 0){if(ie=Z,Z.tensorFormat!==void 0)throw new Error("Image input config format must be RGBA for HTMLImageElement");ie.tensorFormat="RGBA",ie.height=e,ie.width=l}else ie.tensorFormat="RGBA",ie.height=e,ie.width=l;b.drawImage(S,0,0),Ee=b.getImageData(0,0,l,e).data}}else{if(!te){if(me){if(Z===void 0)throw new Error("Please provide image config with format for Imagebitmap");const g=ne();g.width=S.width,g.height=S.height;const b=ve(g);if(b!=null){const e=S.height,l=S.width;return b.drawImage(S,0,0,l,e),Ee=b.getImageData(0,0,l,e).data,ie.height=e,ie.width=l,F(Ee,ie)}throw new Error("Can not access image data")}if(Be)return new Promise((g,b)=>{const e=ne(),l=ve(e);if(!S||!l)return b();const M=new Image;M.crossOrigin="Anonymous",M.src=S,M.onload=()=>{e.width=M.width,e.height=M.height,l.drawImage(M,0,0,e.width,e.height);const ue=l.getImageData(0,0,e.width,e.height);ie.height=e.height,ie.width=e.width,g(F(ue.data,ie))}});throw new Error("Input data provided is not supported - aborted tensor creation")}{let g,b;if(Z!==void 0&&Z.resizedWidth!==void 0&&Z.resizedHeight!==void 0?(g=Z.resizedHeight,b=Z.resizedWidth):(g=S.height,b=S.width),Z!==void 0&&(ie=Z),ie.format="RGBA",ie.height=g,ie.width=b,Z!==void 0){const e=ne();e.width=b,e.height=g;const l=ve(e);if(l==null)throw new Error("Can not access image data");l.putImageData(S,0,0),Ee=l.getImageData(0,0,b,g).data}else Ee=S.data}}if(Ee!==void 0)return F(Ee,ie);throw new Error("Input data provided is not supported - aborted tensor creation")},O=(S,Z)=>{const{width:W,height:te,download:me,dispose:Be}=Z,Ee=[1,te,W,4];return new k.Tensor({location:"texture",type:"float32",texture:S,dims:Ee,download:me,dispose:Be})},V=(S,Z)=>{const{dataType:W,dims:te,download:me,dispose:Be}=Z;return new k.Tensor({location:"gpu-buffer",type:W??"float32",gpuBuffer:S,dims:te,download:me,dispose:Be})},X=(S,Z)=>{const{dataType:W,dims:te,download:me,dispose:Be}=Z;return new k.Tensor({location:"ml-tensor",type:W??"float32",mlTensor:S,dims:te,download:me,dispose:Be})},R=(S,Z,W)=>new k.Tensor({location:"cpu-pinned",type:S,data:Z,dims:W??[Z.length]})},
vendor: 81 bytes, line 8
8"./node_modules/onnxruntime-common/dist/esm/tensor-factory.js":(x,C,d)=>{d.r(C)},
vendor: 1,065 bytes, line 8
8"./node_modules/onnxruntime-common/dist/esm/tensor-impl-type-mapping.js":(x,C,d)=>{d.r(C),d.d(C,{NUMERIC_TENSOR_TYPEDARRAY_TO_TYPE_MAP:()=>F,NUMERIC_TENSOR_TYPE_TO_TYPEDARRAY_MAP:()=>k,checkTypedArray:()=>O});const k=new Map([["float32",Float32Array],["uint8",Uint8Array],["int8",Int8Array],["uint16",Uint16Array],["int16",Int16Array],["int32",Int32Array],["bool",Uint8Array],["float64",Float64Array],["uint32",Uint32Array],["int4",Uint8Array],["uint4",Uint8Array]]),F=new Map([[Float32Array,"float32"],[Uint8Array,"uint8"],[Int8Array,"int8"],[Uint16Array,"uint16"],[Int16Array,"int16"],[Int32Array,"int32"],[Float64Array,"float64"],[Uint32Array,"uint32"]]);let j=!1;const O=()=>{if(!j){j=!0;const V=typeof BigInt64Array<"u"&&BigInt64Array.from,X=typeof BigUint64Array<"u"&&BigUint64Array.from,R=typeof Float16Array<"u"&&Float16Array.from;V&&(k.set("int64",BigInt64Array),F.set(BigInt64Array,"int64")),X&&(k.set("uint64",BigUint64Array),F.set(BigUint64Array,"uint64")),R?(k.set("float16",Float16Array),F.set(Float16Array,"float16")):k.set("float16",Uint16Array)}}},
vendor: 5,843 bytes, line 8
8"./node_modules/onnxruntime-common/dist/esm/tensor-impl.js":(x,C,d)=>{d.r(C),d.d(C,{Tensor:()=>V});var k=d("./node_modules/onnxruntime-common/dist/esm/tensor-conversion-impl.js"),F=d("./node_modules/onnxruntime-common/dist/esm/tensor-factory-impl.js"),j=d("./node_modules/onnxruntime-common/dist/esm/tensor-impl-type-mapping.js"),O=d("./node_modules/onnxruntime-common/dist/esm/tensor-utils-impl.js");class V{constructor(R,S,Z){let W,te;if((0,j.checkTypedArray)(),typeof R=="object"&&"location"in R)switch(this.dataLocation=R.location,W=R.type,te=R.dims,R.location){case"cpu-pinned":{const Be=j.NUMERIC_TENSOR_TYPE_TO_TYPEDARRAY_MAP.get(W);if(!Be)throw new TypeError(`unsupported type "${W}" to create tensor from pinned buffer`);if(!(R.data instanceof Be))throw new TypeError(`buffer should be of type ${Be.name}`);this.cpuData=R.data;break}case"texture":if(W!=="float32")throw new TypeError(`unsupported type "${W}" to create tensor from texture`);this.gpuTextureData=R.texture,this.downloader=R.download,this.disposer=R.dispose;break;case"gpu-buffer":if(W!=="float32"&&W!=="float16"&&W!=="int32"&&W!=="int64"&&W!=="uint32"&&W!=="uint8"&&W!=="bool"&&W!=="uint4"&&W!=="int4")throw new TypeError(`unsupported type "${W}" to create tensor from gpu buffer`);this.gpuBufferData=R.gpuBuffer,this.downloader=R.download,this.disposer=R.dispose;break;case"ml-tensor":if(W!=="float32"&&W!=="float16"&&W!=="int32"&&W!=="int64"&&W!=="uint32"&&W!=="uint64"&&W!=="int8"&&W!=="uint8"&&W!=="bool")throw new TypeError(`unsupported type "${W}" to create tensor from MLTensor`);this.mlTensorData=R.mlTensor,this.downloader=R.download,this.disposer=R.dispose;break;default:throw new Error(`Tensor constructor: unsupported location '${this.dataLocation}'`)}else{let Be,Ee;if(typeof R=="string")if(W=R,Ee=Z,R==="string"){if(!Array.isArray(S))throw new TypeError("A string tensor's data must be a string array.");Be=S}else{const ie=j.NUMERIC_TENSOR_TYPE_TO_TYPEDARRAY_MAP.get(R);if(ie===void 0)throw new TypeError(`Unsupported tensor type: ${R}.`);if(Array.isArray(S)){if(R==="float16"&&ie===Uint16Array||R==="uint4"||R==="int4")throw new TypeError(`Creating a ${R} tensor from number array is not supported. Please use ${ie.name} as data.`);Be=R==="uint64"||R==="int64"?ie.from(S,BigInt):ie.from(S)}else if(S instanceof ie)Be=S;else{if(!(S instanceof Uint8ClampedArray))throw new TypeError(`A ${W} tensor's data must be type of ${ie}`);if(R!=="uint8")throw new TypeError("A Uint8ClampedArray tensor's data must be type of uint8");Be=Uint8Array.from(S)}}else if(Ee=S,Array.isArray(R)){if(R.length===0)throw new TypeError("Tensor type cannot be inferred from an empty array.");const ie=typeof R[0];if(ie==="string")W="string",Be=R;else{if(ie!=="boolean")throw new TypeError(`Invalid element type of data array: ${ie}.`);W="bool",Be=Uint8Array.from(R)}}else if(R instanceof Uint8ClampedArray)W="uint8",Be=Uint8Array.from(R);else{const ie=j.NUMERIC_TENSOR_TYPEDARRAY_TO_TYPE_MAP.get(R.constructor);if(ie===void 0)throw new TypeError(`Unsupported type for tensor data: ${R.constructor}.`);W=ie,Be=R}if(Ee===void 0)Ee=[Be.length];else if(!Array.isArray(Ee))throw new TypeError("A tensor's dims must be a number array");te=Ee,this.cpuData=Be,this.dataLocation="cpu"}const me=(0,O.calculateSize)(te);if(this.cpuData&&me!==this.cpuData.length&&(W!=="uint4"&&W!=="int4"||Math.ceil(me/2)!==this.cpuData.length))throw new Error(`Tensor's size(${me}) does not match data length(${this.cpuData.length}).`);this.type=W,this.dims=te,this.size=me}static async fromImage(R,S){return(0,F.tensorFromImage)(R,S)}static fromTexture(R,S){return(0,F.tensorFromTexture)(R,S)}static fromGpuBuffer(R,S){return(0,F.tensorFromGpuBuffer)(R,S)}static fromMLTensor(R,S){return(0,F.tensorFromMLTensor)(R,S)}static fromPinnedBuffer(R,S,Z){return(0,F.tensorFromPinnedBuffer)(R,S,Z)}toDataURL(R){return(0,k.tensorToDataURL)(this,R)}toImageData(R){return(0,k.tensorToImageData)(this,R)}get data(){if(this.ensureValid(),!this.cpuData)throw new Error("The data is not on CPU. Use `getData()` to download GPU data to CPU, or use `texture` or `gpuBuffer` property to access the GPU data directly.");return this.cpuData}get location(){return this.dataLocation}get texture(){if(this.ensureValid(),!this.gpuTextureData)throw new Error("The data is not stored as a WebGL texture.");return this.gpuTextureData}get gpuBuffer(){if(this.ensureValid(),!this.gpuBufferData)throw new Error("The data is not stored as a WebGPU buffer.");return this.gpuBufferData}get mlTensor(){if(this.ensureValid(),!this.mlTensorData)throw new Error("The data is not stored as a WebNN MLTensor.");return this.mlTensorData}async getData(R){switch(this.ensureValid(),this.dataLocation){case"cpu":case"cpu-pinned":return this.data;case"texture":case"gpu-buffer":case"ml-tensor":if(!this.downloader)throw new Error("The current tensor is not created with a specified data downloader.");if(this.isDownloading)throw new Error("The current tensor is being downloaded.");try{this.isDownloading=!0;const S=await this.downloader();return this.downloader=void 0,this.dataLocation="cpu",this.cpuData=S,R&&this.disposer&&(this.disposer(),this.disposer=void 0),S}finally{this.isDownloading=!1}default:throw new Error(`cannot get data from location: ${this.dataLocation}`)}}dispose(){if(this.isDownloading)throw new Error("The current tensor is being downloaded.");this.disposer&&(this.disposer(),this.disposer=void 0),this.cpuData=void 0,this.gpuTextureData=void 0,this.gpuBufferData=void 0,this.mlTensorData=void 0,this.downloader=void 0,this.isDownloading=void 0,this.dataLocation="none"}ensureValid(){if(this.dataLocation==="none")throw new Error("The tensor is disposed.")}reshape(R){if(this.ensureValid(),this.downloader||this.disposer)throw new Error("Cannot reshape a tensor that owns GPU resource.");return(0,O.tensorReshape)(this,R)}}},
vendor: 1,029 bytes, line 8
8"./node_modules/onnxruntime-common/dist/esm/tensor-utils-impl.js":(x,C,d)=>{d.r(C),d.d(C,{calculateSize:()=>F,tensorReshape:()=>j});var k=d("./node_modules/onnxruntime-common/dist/esm/tensor-impl.js");const F=O=>{let V=1;for(let X=0;X<O.length;X++){const R=O[X];if(typeof R!="number"||!Number.isSafeInteger(R))throw new TypeError(`dims[${X}] must be an integer, got: ${R}`);if(R<0)throw new RangeError(`dims[${X}] must be a non-negative integer, got: ${R}`);V*=R}return V},j=(O,V)=>{switch(O.location){case"cpu":return new k.Tensor(O.type,O.data,V);case"cpu-pinned":return new k.Tensor({location:"cpu-pinned",data:O.data,type:O.type,dims:V});case"texture":return new k.Tensor({location:"texture",texture:O.texture,type:O.type,dims:V});case"gpu-buffer":return new k.Tensor({location:"gpu-buffer",gpuBuffer:O.gpuBuffer,type:O.type,dims:V});case"ml-tensor":return new k.Tensor({location:"ml-tensor",mlTensor:O.mlTensor,type:O.type,dims:V});default:throw new Error(`tensorReshape: tensor location ${O.location} is not supported`)}}},
vendor: 173 bytes, line 8
8"./node_modules/onnxruntime-common/dist/esm/tensor.js":(x,C,d)=>{d.r(C),d.d(C,{Tensor:()=>k});const k=d("./node_modules/onnxruntime-common/dist/esm/tensor-impl.js").Tensor},
vendor: 750 bytes, line 8
8"./node_modules/onnxruntime-common/dist/esm/trace.js":(x,C,d)=>{d.r(C),d.d(C,{TRACE:()=>F,TRACE_FUNC_BEGIN:()=>O,TRACE_FUNC_END:()=>V});var k=d("./node_modules/onnxruntime-common/dist/esm/env-impl.js");const F=(X,R)=>{(k.env.trace===void 0?k.env.wasm.trace:k.env.trace)&&console.timeStamp(`${X}::ORT::${R}`)},j=(X,R)=>{var W;const S=((W=new Error().stack)==null?void 0:W.split(/\r\n|\r|\n/g))||[];let Z=!1;for(let te=0;te<S.length;te++){if(Z&&!S[te].includes("TRACE_FUNC")){let me=`FUNC_${X}::${S[te].trim().split(" ")[1]}`;return R&&(me+=`::${R}`),void F("CPU",me)}S[te].includes("TRACE_FUNC")&&(Z=!0)}},O=X=>{(k.env.trace===void 0?k.env.wasm.trace:k.env.trace)&&j("BEGIN",X)},V=X=>{(k.env.trace===void 0?k.env.wasm.trace:k.env.trace)&&j("END",X)}},
vendor: 4,005 bytes, line 8
8"./node_modules/onnxruntime-common/dist/esm/training-session-impl.js":(x,C,d)=>{d.r(C),d.d(C,{TrainingSession:()=>j});var k=d("./node_modules/onnxruntime-common/dist/esm/backend-impl.js"),F=d("./node_modules/onnxruntime-common/dist/esm/tensor.js");class j{constructor(V,X,R){this.handler=V,this.hasOptimizerModel=X,this.hasEvalModel=R}get trainingInputNames(){return this.handler.inputNames}get trainingOutputNames(){return this.handler.outputNames}get evalInputNames(){if(this.hasEvalModel)return this.handler.evalInputNames;throw new Error("This training session has no evalModel loaded.")}get evalOutputNames(){if(this.hasEvalModel)return this.handler.evalOutputNames;throw new Error("This training session has no evalModel loaded.")}static async create(V,X){const R=V.evalModel||"",S=V.optimizerModel||"",Z=X||{},[W,te]=await(0,k.resolveBackendAndExecutionProviders)(Z);if(W.createTrainingSessionHandler){const me=await W.createTrainingSessionHandler(V.checkpointState,V.trainModel,R,S,te);return new j(me,!!V.optimizerModel,!!V.evalModel)}throw new Error("Training backend could not be resolved. Make sure you're using the correct configuration & WebAssembly files.")}typeNarrowingForRunStep(V,X,R,S,Z){const W={};let te={};if(typeof R!="object"||R===null||R instanceof F.Tensor||Array.isArray(R))throw new TypeError("'feeds' must be an object that use input names as keys and OnnxValue as corresponding values.");let me=!0;if(typeof S=="object"){if(S===null)throw new TypeError("Unexpected argument[1]: cannot be null.");if(S instanceof F.Tensor)throw new TypeError("'fetches' cannot be a Tensor");if(Array.isArray(S)){if(S.length===0)throw new TypeError("'fetches' cannot be an empty array.");me=!1;for(const Be of S){if(typeof Be!="string")throw new TypeError("'fetches' must be a string array or an object.");if(X.indexOf(Be)===-1)throw new RangeError(`'fetches' contains invalid output name: ${Be}.`);W[Be]=null}if(typeof Z=="object"&&Z!==null)te=Z;else if(Z!==void 0)throw new TypeError("'options' must be an object.")}else{let Be=!1;const Ee=Object.getOwnPropertyNames(S);for(const ie of X)if(Ee.indexOf(ie)!==-1){const ne=S[ie];(ne===null||ne instanceof F.Tensor)&&(Be=!0,me=!1,W[ie]=ne)}if(Be){if(typeof Z=="object"&&Z!==null)te=Z;else if(Z!==void 0)throw new TypeError("'options' must be an object.")}else te=S}}else if(S!==void 0)throw new TypeError("Unexpected argument[1]: must be 'fetches' or 'options'.");for(const Be of V)if(R[Be]===void 0)throw new Error(`input '${Be}' is missing in 'feeds'.`);if(me)for(const Be of X)W[Be]=null;return[W,te]}convertHandlerReturnTypeToMapOfTensors(V){const X={};for(const R in V)if(Object.hasOwnProperty.call(V,R)){const S=V[R];S instanceof F.Tensor?X[R]=S:X[R]=new F.Tensor(S.type,S.data,S.dims)}return X}async lazyResetGrad(){await this.handler.lazyResetGrad()}async runTrainStep(V,X,R){const[S,Z]=this.typeNarrowingForRunStep(this.trainingInputNames,this.trainingOutputNames,V,X,R),W=await this.handler.runTrainStep(V,S,Z);return this.convertHandlerReturnTypeToMapOfTensors(W)}async runOptimizerStep(V){if(!this.hasOptimizerModel)throw new Error("This TrainingSession has no OptimizerModel loaded.");await this.handler.runOptimizerStep(V||{})}async runEvalStep(V,X,R){if(this.hasEvalModel){const[S,Z]=this.typeNarrowingForRunStep(this.evalInputNames,this.evalOutputNames,V,X,R),W=await this.handler.runEvalStep(V,S,Z);return this.convertHandlerReturnTypeToMapOfTensors(W)}throw new Error("This TrainingSession has no EvalModel loaded.")}async getParametersSize(V=!0){return this.handler.getParametersSize(V)}async loadParametersBuffer(V,X=!0){const R=await this.getParametersSize(X);if(V.length!==4*R)throw new Error("Size of the buffer passed into loadParametersBuffer must match the number of parameters in the model. Please use getParametersSize method to check.");return this.handler.loadParametersBuffer(V,X)}async getContiguousParameters(V=!0){return this.handler.getContiguousParameters(V)}async release(){return this.handler.dispose()}}},
vendor: 211 bytes, line 8
8"./node_modules/onnxruntime-common/dist/esm/training-session.js":(x,C,d)=>{d.r(C),d.d(C,{TrainingSession:()=>k});const k=d("./node_modules/onnxruntime-common/dist/esm/training-session-impl.js").TrainingSession},
vendor: 393,101 bytes, lines 8-2730
8"./node_modules/onnxruntime-common/dist/esm/version.js":(x,C,d)=>{d.r(C),d.d(C,{version:()=>k});const k="1.20.1"},"./node_modules/onnxruntime-web/dist/ort.bundle.min.mjs?3a96":(x,C,d)=>{d.r(C),d.d(C,{InferenceSession:()=>BA,TRACE:()=>Ye,TRACE_FUNC_BEGIN:()=>Oe,TRACE_FUNC_END:()=>AA,Tensor:()=>z,default:()=>pf,env:()=>Z,registerBackend:()=>j});var k,F,j,O,V,X,R,S,Z,W,te,me,Be,Ee,ie,ne,ve,g,b,e,l,M,ue,D,z,Ye,Ne,Oe,AA,tA,BA,DA=Object.defineProperty,Ge=Object.getOwnPropertyDescriptor,ke=Object.getOwnPropertyNames,ze=Object.prototype.hasOwnProperty,Ke=(n=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(n,{get:(u,h)=>(typeof require<"u"?require:u)[h]}):n)(function(n){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+n+'" is not supported')}),Pe=(n,u)=>()=>(n&&(u=n(n=0)),u),xA=(n,u)=>{for(var h in u)DA(n,h,{get:u[h],enumerable:!0})},iA=n=>((u,h,w,B)=>{if(h&&typeof h=="object"||typeof h=="function")for(let E of ke(h))!ze.call(u,E)&&E!==w&&DA(u,E,{get:()=>h[E],enumerable:!(B=Ge(h,E))||B.enumerable});return u})(DA({},"__esModule",{value:!0}),n),cA=Pe(()=>{k=new Map,F=[],j=(n,u,h)=>{if(!u||typeof u.init!="function"||typeof u.createInferenceSessionHandler!="function")throw new TypeError("not a valid backend");{let w=k.get(n);if(w===void 0)k.set(n,{backend:u,priority:h});else{if(w.priority>h)return;if(w.priority===h&&w.backend!==u)throw new Error(`cannot register backend "${n}" using priority ${h}`)}if(h>=0){let B=F.indexOf(n);B!==-1&&F.splice(B,1);for(let E=0;E<F.length;E++)if(k.get(F[E]).priority<=h)return void F.splice(E,0,n);F.push(n)}}},O=async n=>{let u=k.get(n);if(!u)return"backend not found.";if(u.initialized)return u.backend;if(u.aborted)return u.error;{let h=!!u.initPromise;try{return h||(u.initPromise=u.backend.init(n)),await u.initPromise,u.initialized=!0,u.backend}catch(w){return h||(u.error=`${w}`,u.aborted=!0),u.error}finally{delete u.initPromise}}},V=async n=>{let u,h=n.executionProviders||[],w=h.map(N=>typeof N=="string"?N:N.name),B=w.length===0?F:w,E=[],v=new Set;for(let N of B){let L=await O(N);typeof L=="string"?E.push({name:N,err:L}):(u||(u=L),u===L&&v.add(N))}if(!u)throw new Error(`no available backend found. ERR: ${E.map(N=>`[${N.name}] ${N.err}`).join(", ")}`);for(let{name:N,err:L}of E)w.includes(N)&&console.warn(`removing requested execution provider "${N}" from session options because it is not available: ${L}`);let P=h.filter(N=>v.has(typeof N=="string"?N:N.name));return[u,new Proxy(n,{get:(N,L)=>L==="executionProviders"?P:Reflect.get(N,L)})]}}),yA=Pe(()=>{cA()}),gA=Pe(()=>{X="1.21.0-dev.20250206-d981b153d3"}),He=Pe(()=>{gA(),R="warning",S={wasm:{},webgl:{},webgpu:{},versions:{common:X},set logLevel(n){if(n!==void 0){if(typeof n!="string"||["verbose","info","warning","error","fatal"].indexOf(n)===-1)throw new Error(`Unsupported logging level: ${n}`);R=n}},get logLevel(){return R}},Object.defineProperty(S,"logLevel",{enumerable:!0})}),Je=Pe(()=>{He(),Z=S}),hA=Pe(()=>{W=(n,u)=>{let h=typeof document<"u"?document.createElement("canvas"):new OffscreenCanvas(1,1);h.width=n.dims[3],h.height=n.dims[2];let w=h.getContext("2d");if(w!=null){let B,E;(u==null?void 0:u.tensorLayout)!==void 0&&u.tensorLayout==="NHWC"?(B=n.dims[2],E=n.dims[3]):(B=n.dims[3],E=n.dims[2]);let v,P,N=(u==null?void 0:u.format)!==void 0?u.format:"RGB",L=u==null?void 0:u.norm;L===void 0||L.mean===void 0?v=[255,255,255,255]:typeof L.mean=="number"?v=[L.mean,L.mean,L.mean,L.mean]:(v=[L.mean[0],L.mean[1],L.mean[2],0],L.mean[3]!==void 0&&(v[3]=L.mean[3])),L===void 0||L.bias===void 0?P=[0,0,0,0]:typeof L.bias=="number"?P=[L.bias,L.bias,L.bias,L.bias]:(P=[L.bias[0],L.bias[1],L.bias[2],0],L.bias[3]!==void 0&&(P[3]=L.bias[3]));let ee=E*B,Ae=0,Q=ee,le=2*ee,de=-1;N==="RGBA"?(Ae=0,Q=ee,le=2*ee,de=3*ee):N==="RGB"?(Ae=0,Q=ee,le=2*ee):N==="RBG"&&(Ae=0,le=ee,Q=2*ee);for(let we=0;we<E;we++)for(let be=0;be<B;be++){let Me=(n.data[Ae++]-P[0])*v[0],Fe=(n.data[Q++]-P[1])*v[1],We=(n.data[le++]-P[2])*v[2],$e=de===-1?255:(n.data[de++]-P[3])*v[3];w.fillStyle="rgba("+Me+","+Fe+","+We+","+$e+")",w.fillRect(be,we,1,1)}if("toDataURL"in h)return h.toDataURL();throw new Error("toDataURL is not supported")}throw new Error("Can not access image data")},te=(n,u)=>{let h,w=typeof document<"u"?document.createElement("canvas").getContext("2d"):new OffscreenCanvas(1,1).getContext("2d");if(w==null)throw new Error("Can not access image data");{let B,E,v;(u==null?void 0:u.tensorLayout)!==void 0&&u.tensorLayout==="NHWC"?(B=n.dims[2],E=n.dims[1],v=n.dims[3]):(B=n.dims[3],E=n.dims[2],v=n.dims[1]);let P,N,L=u!==void 0&&u.format!==void 0?u.format:"RGB",ee=u==null?void 0:u.norm;ee===void 0||ee.mean===void 0?P=[255,255,255,255]:typeof ee.mean=="number"?P=[ee.mean,ee.mean,ee.mean,ee.mean]:(P=[ee.mean[0],ee.mean[1],ee.mean[2],255],ee.mean[3]!==void 0&&(P[3]=ee.mean[3])),ee===void 0||ee.bias===void 0?N=[0,0,0,0]:typeof ee.bias=="number"?N=[ee.bias,ee.bias,ee.bias,ee.bias]:(N=[ee.bias[0],ee.bias[1],ee.bias[2],0],ee.bias[3]!==void 0&&(N[3]=ee.bias[3]));let Ae=E*B;if(u!==void 0&&(u.format!==void 0&&v===4&&u.format!=="RGBA"||v===3&&u.format!=="RGB"&&u.format!=="BGR"))throw new Error("Tensor format doesn't match input tensor dims");let Q=4,le=0,de=1,we=2,be=3,Me=0,Fe=Ae,We=2*Ae,$e=-1;L==="RGBA"?(Me=0,Fe=Ae,We=2*Ae,$e=3*Ae):L==="RGB"?(Me=0,Fe=Ae,We=2*Ae):L==="RBG"&&(Me=0,We=Ae,Fe=2*Ae),h=w.createImageData(B,E);for(let eA=0;eA<E*B;le+=Q,de+=Q,we+=Q,be+=Q,eA++)h.data[le]=(n.data[Me++]-N[0])*P[0],h.data[de]=(n.data[Fe++]-N[1])*P[1],h.data[we]=(n.data[We++]-N[2])*P[2],h.data[be]=$e===-1?255:(n.data[$e++]-N[3])*P[3]}return h}}),IA=Pe(()=>{MA(),me=(n,u)=>{if(n===void 0)throw new Error("Image buffer must be defined");if(u.height===void 0||u.width===void 0)throw new Error("Image height and width must be defined");if(u.tensorLayout==="NHWC")throw new Error("NHWC Tensor layout is not supported yet");let h,w,{height:B,width:E}=u,v=u.norm??{mean:255,bias:0};h=typeof v.mean=="number"?[v.mean,v.mean,v.mean,v.mean]:[v.mean[0],v.mean[1],v.mean[2],v.mean[3]??255],w=typeof v.bias=="number"?[v.bias,v.bias,v.bias,v.bias]:[v.bias[0],v.bias[1],v.bias[2],v.bias[3]??0];let P=u.format!==void 0?u.format:"RGBA",N=u.tensorFormat!==void 0&&u.tensorFormat!==void 0?u.tensorFormat:"RGB",L=B*E,ee=N==="RGBA"?new Float32Array(4*L):new Float32Array(3*L),Ae=4,Q=0,le=1,de=2,we=3,be=0,Me=L,Fe=2*L,We=-1;P==="RGB"&&(Ae=3,Q=0,le=1,de=2,we=-1),N==="RGBA"?We=3*L:N==="RBG"?(be=0,Fe=L,Me=2*L):N==="BGR"&&(Fe=0,Me=L,be=2*L);for(let $e=0;$e<L;$e++,Q+=Ae,de+=Ae,le+=Ae,we+=Ae)ee[be++]=(n[Q]+w[0])/h[0],ee[Me++]=(n[le]+w[1])/h[1],ee[Fe++]=(n[de]+w[2])/h[2],We!==-1&&we!==-1&&(ee[We++]=(n[we]+w[3])/h[3]);return new D("float32",ee,N==="RGBA"?[1,4,B,E]:[1,3,B,E])},Be=async(n,u)=>{let h,w=typeof HTMLImageElement<"u"&&n instanceof HTMLImageElement,B=typeof ImageData<"u"&&n instanceof ImageData,E=typeof ImageBitmap<"u"&&n instanceof ImageBitmap,v=typeof n=="string",P=u??{},N=()=>{if(typeof document<"u")return document.createElement("canvas");if(typeof OffscreenCanvas<"u")return new OffscreenCanvas(1,1);throw new Error("Canvas is not supported")},L=ee=>typeof HTMLCanvasElement<"u"&&ee instanceof HTMLCanvasElement||ee instanceof OffscreenCanvas?ee.getContext("2d"):null;if(w){let ee=N();ee.width=n.width,ee.height=n.height;let Ae=L(ee);if(Ae==null)throw new Error("Can not access image data");{let Q=n.height,le=n.width;if(u!==void 0&&u.resizedHeight!==void 0&&u.resizedWidth!==void 0&&(Q=u.resizedHeight,le=u.resizedWidth),u!==void 0){if(P=u,u.tensorFormat!==void 0)throw new Error("Image input config format must be RGBA for HTMLImageElement");P.tensorFormat="RGBA",P.height=Q,P.width=le}else P.tensorFormat="RGBA",P.height=Q,P.width=le;Ae.drawImage(n,0,0),h=Ae.getImageData(0,0,le,Q).data}}else{if(!B){if(E){if(u===void 0)throw new Error("Please provide image config with format for Imagebitmap");let ee=N();ee.width=n.width,ee.height=n.height;let Ae=L(ee);if(Ae!=null){let Q=n.height,le=n.width;return Ae.drawImage(n,0,0,le,Q),h=Ae.getImageData(0,0,le,Q).data,P.height=Q,P.width=le,me(h,P)}throw new Error("Can not access image data")}if(v)return new Promise((ee,Ae)=>{let Q=N(),le=L(Q);if(!n||!le)return Ae();let de=new Image;de.crossOrigin="Anonymous",de.src=n,de.onload=()=>{Q.width=de.width,Q.height=de.height,le.drawImage(de,0,0,Q.width,Q.height);let we=le.getImageData(0,0,Q.width,Q.height);P.height=Q.height,P.width=Q.width,ee(me(we.data,P))}});throw new Error("Input data provided is not supported - aborted tensor creation")}{let ee,Ae;if(u!==void 0&&u.resizedWidth!==void 0&&u.resizedHeight!==void 0?(ee=u.resizedHeight,Ae=u.resizedWidth):(ee=n.height,Ae=n.width),u!==void 0&&(P=u),P.format="RGBA",P.height=ee,P.width=Ae,u!==void 0){let Q=N();Q.width=Ae,Q.height=ee;let le=L(Q);if(le==null)throw new Error("Can not access image data");le.putImageData(n,0,0),h=le.getImageData(0,0,Ae,ee).data}else h=n.data}}if(h!==void 0)return me(h,P);throw new Error("Input data provided is not supported - aborted tensor creation")},Ee=(n,u)=>{let{width:h,height:w,download:B,dispose:E}=u;return new D({location:"texture",type:"float32",texture:n,dims:[1,w,h,4],download:B,dispose:E})},ie=(n,u)=>{let{dataType:h,dims:w,download:B,dispose:E}=u;return new D({location:"gpu-buffer",type:h??"float32",gpuBuffer:n,dims:w,download:B,dispose:E})},ne=(n,u)=>{let{dataType:h,dims:w,download:B,dispose:E}=u;return new D({location:"ml-tensor",type:h??"float32",mlTensor:n,dims:w,download:B,dispose:E})},ve=(n,u,h)=>new D({location:"cpu-pinned",type:n,data:u,dims:h??[u.length]})}),Qe=Pe(()=>{g=new Map([["float32",Float32Array],["uint8",Uint8Array],["int8",Int8Array],["uint16",Uint16Array],["int16",Int16Array],["int32",Int32Array],["bool",Uint8Array],["float64",Float64Array],["uint32",Uint32Array],["int4",Uint8Array],["uint4",Uint8Array]]),b=new Map([[Float32Array,"float32"],[Uint8Array,"uint8"],[Int8Array,"int8"],[Uint16Array,"uint16"],[Int16Array,"int16"],[Int32Array,"int32"],[Float64Array,"float64"],[Uint32Array,"uint32"]]),e=!1,l=()=>{if(!e){e=!0;let n=typeof BigInt64Array<"u"&&BigInt64Array.from,u=typeof BigUint64Array<"u"&&BigUint64Array.from,h=typeof Float16Array<"u"&&Float16Array.from;n&&(g.set("int64",BigInt64Array),b.set(BigInt64Array,"int64")),u&&(g.set("uint64",BigUint64Array),b.set(BigUint64Array,"uint64")),h?(g.set("float16",Float16Array),b.set(Float16Array,"float16")):g.set("float16",Uint16Array)}}}),mA=Pe(()=>{MA(),M=n=>{let u=1;for(let h=0;h<n.length;h++){let w=n[h];if(typeof w!="number"||!Number.isSafeInteger(w))throw new TypeError(`dims[${h}] must be an integer, got: ${w}`);if(w<0)throw new RangeError(`dims[${h}] must be a non-negative integer, got: ${w}`);u*=w}return u},ue=(n,u)=>{switch(n.location){case"cpu":return new D(n.type,n.data,u);case"cpu-pinned":return new D({location:"cpu-pinned",data:n.data,type:n.type,dims:u});case"texture":return new D({location:"texture",texture:n.texture,type:n.type,dims:u});case"gpu-buffer":return new D({location:"gpu-buffer",gpuBuffer:n.gpuBuffer,type:n.type,dims:u});case"ml-tensor":return new D({location:"ml-tensor",mlTensor:n.mlTensor,type:n.type,dims:u});default:throw new Error(`tensorReshape: tensor location ${n.location} is not supported`)}}}),MA=Pe(()=>{hA(),IA(),Qe(),mA(),D=class{constructor(n,u,h){let w,B;if(l(),typeof n=="object"&&"location"in n)switch(this.dataLocation=n.location,w=n.type,B=n.dims,n.location){case"cpu-pinned":{let v=g.get(w);if(!v)throw new TypeError(`unsupported type "${w}" to create tensor from pinned buffer`);if(!(n.data instanceof v))throw new TypeError(`buffer should be of type ${v.name}`);this.cpuData=n.data;break}case"texture":if(w!=="float32")throw new TypeError(`unsupported type "${w}" to create tensor from texture`);this.gpuTextureData=n.texture,this.downloader=n.download,this.disposer=n.dispose;break;case"gpu-buffer":if(w!=="float32"&&w!=="float16"&&w!=="int32"&&w!=="int64"&&w!=="uint32"&&w!=="uint8"&&w!=="bool"&&w!=="uint4"&&w!=="int4")throw new TypeError(`unsupported type "${w}" to create tensor from gpu buffer`);this.gpuBufferData=n.gpuBuffer,this.downloader=n.download,this.disposer=n.dispose;break;case"ml-tensor":if(w!=="float32"&&w!=="float16"&&w!=="int32"&&w!=="int64"&&w!=="uint32"&&w!=="uint64"&&w!=="int8"&&w!=="uint8"&&w!=="bool"&&w!=="uint4"&&w!=="int4")throw new TypeError(`unsupported type "${w}" to create tensor from MLTensor`);this.mlTensorData=n.mlTensor,this.downloader=n.download,this.disposer=n.dispose;break;default:throw new Error(`Tensor constructor: unsupported location '${this.dataLocation}'`)}else{let v,P;if(typeof n=="string")if(w=n,P=h,n==="string"){if(!Array.isArray(u))throw new TypeError("A string tensor's data must be a string array.");v=u}else{let N=g.get(n);if(N===void 0)throw new TypeError(`Unsupported tensor type: ${n}.`);if(Array.isArray(u)){if(n==="float16"&&N===Uint16Array||n==="uint4"||n==="int4")throw new TypeError(`Creating a ${n} tensor from number array is not supported. Please use ${N.name} as data.`);v=n==="uint64"||n==="int64"?N.from(u,BigInt):N.from(u)}else if(u instanceof N)v=u;else{if(!(u instanceof Uint8ClampedArray))throw new TypeError(`A ${w} tensor's data must be type of ${N}`);if(n!=="uint8")throw new TypeError("A Uint8ClampedArray tensor's data must be type of uint8");v=Uint8Array.from(u)}}else if(P=u,Array.isArray(n)){if(n.length===0)throw new TypeError("Tensor type cannot be inferred from an empty array.");let N=typeof n[0];if(N==="string")w="string",v=n;else{if(N!=="boolean")throw new TypeError(`Invalid element type of data array: ${N}.`);w="bool",v=Uint8Array.from(n)}}else if(n instanceof Uint8ClampedArray)w="uint8",v=Uint8Array.from(n);else{let N=b.get(n.constructor);if(N===void 0)throw new TypeError(`Unsupported type for tensor data: ${n.constructor}.`);w=N,v=n}if(P===void 0)P=[v.length];else if(!Array.isArray(P))throw new TypeError("A tensor's dims must be a number array");B=P,this.cpuData=v,this.dataLocation="cpu"}let E=M(B);if(this.cpuData&&E!==this.cpuData.length&&(w!=="uint4"&&w!=="int4"||Math.ceil(E/2)!==this.cpuData.length))throw new Error(`Tensor's size(${E}) does not match data length(${this.cpuData.length}).`);this.type=w,this.dims=B,this.size=E}static async fromImage(n,u){return Be(n,u)}static fromTexture(n,u){return Ee(n,u)}static fromGpuBuffer(n,u){return ie(n,u)}static fromMLTensor(n,u){return ne(n,u)}static fromPinnedBuffer(n,u,h){return ve(n,u,h)}toDataURL(n){return W(this,n)}toImageData(n){return te(this,n)}get data(){if(this.ensureValid(),!this.cpuData)throw new Error("The data is not on CPU. Use `getData()` to download GPU data to CPU, or use `texture` or `gpuBuffer` property to access the GPU data directly.");return this.cpuData}get location(){return this.dataLocation}get texture(){if(this.ensureValid(),!this.gpuTextureData)throw new Error("The data is not stored as a WebGL texture.");return this.gpuTextureData}get gpuBuffer(){if(this.ensureValid(),!this.gpuBufferData)throw new Error("The data is not stored as a WebGPU buffer.");return this.gpuBufferData}get mlTensor(){if(this.ensureValid(),!this.mlTensorData)throw new Error("The data is not stored as a WebNN MLTensor.");return this.mlTensorData}async getData(n){switch(this.ensureValid(),this.dataLocation){case"cpu":case"cpu-pinned":return this.data;case"texture":case"gpu-buffer":case"ml-tensor":if(!this.downloader)throw new Error("The current tensor is not created with a specified data downloader.");if(this.isDownloading)throw new Error("The current tensor is being downloaded.");try{this.isDownloading=!0;let u=await this.downloader();return this.downloader=void 0,this.dataLocation="cpu",this.cpuData=u,n&&this.disposer&&(this.disposer(),this.disposer=void 0),u}finally{this.isDownloading=!1}default:throw new Error(`cannot get data from location: ${this.dataLocation}`)}}dispose(){if(this.isDownloading)throw new Error("The current tensor is being downloaded.");this.disposer&&(this.disposer(),this.disposer=void 0),this.cpuData=void 0,this.gpuTextureData=void 0,this.gpuBufferData=void 0,this.mlTensorData=void 0,this.downloader=void 0,this.isDownloading=void 0,this.dataLocation="none"}ensureValid(){if(this.dataLocation==="none")throw new Error("The tensor is disposed.")}reshape(n){if(this.ensureValid(),this.downloader||this.disposer)throw new Error("Cannot reshape a tensor that owns GPU resource.");return ue(this,n)}}}),LA=Pe(()=>{MA(),z=D}),OA=Pe(()=>{He(),Ye=(n,u)=>{(typeof S.trace>"u"?!S.wasm.trace:!S.trace)||console.timeStamp(`${n}::ORT::${u}`)},Ne=(n,u)=>{var B;let h=((B=new Error().stack)==null?void 0:B.split(/\r\n|\r|\n/g))||[],w=!1;for(let E=0;E<h.length;E++){if(w&&!h[E].includes("TRACE_FUNC")){let v=`FUNC_${n}::${h[E].trim().split(" ")[1]}`;return u&&(v+=`::${u}`),void Ye("CPU",v)}h[E].includes("TRACE_FUNC")&&(w=!0)}},Oe=n=>{(typeof S.trace>"u"?!S.wasm.trace:!S.trace)||Ne("BEGIN",n)},AA=n=>{(typeof S.trace>"u"?!S.wasm.trace:!S.trace)||Ne("END",n)}}),q=Pe(()=>{cA(),LA(),OA(),tA=class Xu{constructor(u){this.handler=u}async run(u,h,w){Oe();let B={},E={};if(typeof u!="object"||u===null||u instanceof z||Array.isArray(u))throw new TypeError("'feeds' must be an object that use input names as keys and OnnxValue as corresponding values.");let v=!0;if(typeof h=="object"){if(h===null)throw new TypeError("Unexpected argument[1]: cannot be null.");if(h instanceof z)throw new TypeError("'fetches' cannot be a Tensor");if(Array.isArray(h)){if(h.length===0)throw new TypeError("'fetches' cannot be an empty array.");v=!1;for(let L of h){if(typeof L!="string")throw new TypeError("'fetches' must be a string array or an object.");if(this.outputNames.indexOf(L)===-1)throw new RangeError(`'fetches' contains invalid output name: ${L}.`);B[L]=null}if(typeof w=="object"&&w!==null)E=w;else if(typeof w<"u")throw new TypeError("'options' must be an object.")}else{let L=!1,ee=Object.getOwnPropertyNames(h);for(let Ae of this.outputNames)if(ee.indexOf(Ae)!==-1){let Q=h[Ae];(Q===null||Q instanceof z)&&(L=!0,v=!1,B[Ae]=Q)}if(L){if(typeof w=="object"&&w!==null)E=w;else if(typeof w<"u")throw new TypeError("'options' must be an object.")}else E=h}}else if(typeof h<"u")throw new TypeError("Unexpected argument[1]: must be 'fetches' or 'options'.");for(let L of this.inputNames)if(typeof u[L]>"u")throw new Error(`input '${L}' is missing in 'feeds'.`);if(v)for(let L of this.outputNames)B[L]=null;let P=await this.handler.run(u,B,E),N={};for(let L in P)if(Object.hasOwnProperty.call(P,L)){let ee=P[L];N[L]=ee instanceof z?ee:new z(ee.type,ee.data,ee.dims)}return AA(),N}async release(){return this.handler.dispose()}static async create(u,h,w,B){Oe();let E,v={};if(typeof u=="string"){if(E=u,typeof h=="object"&&h!==null)v=h;else if(typeof h<"u")throw new TypeError("'options' must be an object.")}else if(u instanceof Uint8Array){if(E=u,typeof h=="object"&&h!==null)v=h;else if(typeof h<"u")throw new TypeError("'options' must be an object.")}else{if(!(u instanceof ArrayBuffer||typeof SharedArrayBuffer<"u"&&u instanceof SharedArrayBuffer))throw new TypeError("Unexpected argument[0]: must be 'path' or 'buffer'.");{let ee=u,Ae=0,Q=u.byteLength;if(typeof h=="object"&&h!==null)v=h;else if(typeof h=="number"){if(Ae=h,!Number.isSafeInteger(Ae))throw new RangeError("'byteOffset' must be an integer.");if(Ae<0||Ae>=ee.byteLength)throw new RangeError(`'byteOffset' is out of range [0, ${ee.byteLength}).`);if(Q=u.byteLength-Ae,typeof w=="number"){if(Q=w,!Number.isSafeInteger(Q))throw new RangeError("'byteLength' must be an integer.");if(Q<=0||Ae+Q>ee.byteLength)throw new RangeError(`'byteLength' is out of range (0, ${ee.byteLength-Ae}].`);if(typeof B=="object"&&B!==null)v=B;else if(typeof B<"u")throw new TypeError("'options' must be an object.")}else if(typeof w<"u")throw new TypeError("'byteLength' must be a number.")}else if(typeof h<"u")throw new TypeError("'options' must be an object.");E=new Uint8Array(ee,Ae,Q)}}let[P,N]=await V(v),L=await P.createInferenceSessionHandler(E,N);return AA(),new Xu(L)}startProfiling(){this.handler.startProfiling()}endProfiling(){this.handler.endProfiling()}get inputNames(){return this.handler.inputNames}get outputNames(){return this.handler.outputNames}}}),HA=Pe(()=>{q(),BA=tA}),ge=Pe(()=>{}),J=Pe(()=>{}),fe=Pe(()=>{}),Te=Pe(()=>{}),_e={};xA(_e,{InferenceSession:()=>BA,TRACE:()=>Ye,TRACE_FUNC_BEGIN:()=>Oe,TRACE_FUNC_END:()=>AA,Tensor:()=>z,env:()=>Z,registerBackend:()=>j});var dA=Pe(()=>{yA(),Je(),HA(),LA(),ge(),J(),OA(),fe(),Te()}),bA=Pe(()=>{}),NA={};xA(NA,{default:()=>it});var XA,TA,it,tt=Pe(()=>{var n;hg(),sn(),A2(),XA="ort-wasm-proxy-worker",(TA=((n=globalThis.self)==null?void 0:n.name)===XA)&&(self.onmessage=u=>{let{type:h,in:w}=u.data;try{switch(h){case"init-wasm":Ga(w.wasm).then(()=>{Qr(w).then(()=>{postMessage({type:h})},B=>{postMessage({type:h,err:B})})},B=>{postMessage({type:h,err:B})});break;case"init-ep":{let{epName:B,env:E}=w;ga(E,B).then(()=>{postMessage({type:h})},v=>{postMessage({type:h,err:v})});break}case"copy-from":{let{buffer:B}=w,E=Oi(B);postMessage({type:h,out:E});break}case"create":{let{model:B,options:E}=w;j0(B,E).then(v=>{postMessage({type:h,out:v})},v=>{postMessage({type:h,err:v})});break}case"release":io(w),postMessage({type:h});break;case"run":{let{sessionId:B,inputIndices:E,inputs:v,outputIndices:P,options:N}=w;oo(B,E,v,P,new Array(P.length).fill(null),N).then(L=>{L.some(ee=>ee[3]!=="cpu")?postMessage({type:h,err:"Proxy does not support non-cpu tensor location."}):postMessage({type:h,out:L},lo([...v,...L]))},L=>{postMessage({type:h,err:L})});break}case"end-profiling":k1(w),postMessage({type:h})}}catch(B){postMessage({type:h,err:B})}}),it=TA?null:u=>new Worker(u??Pr,{type:"module",name:XA})}),at={};xA(at,{default:()=>Vr});var It,Ar,Vr,$t,Pr,wt,Xa,La,wa,qA,et,FA,Kt,Wa,Pa,ns,qa,Ja,os,Yr,yt,Ga,zr,jr,ms,Xt,_a,Cs,wi,ei,Ai,ki,qr,ls,bs,ti,$a,Es,Br,Ls,Ys,xi,Hs,Ms,Rs,Gs,xt,Ft,ka,ri,Ds,Ws,cs,Qs,rA,re,xe,Se,je,Ze,uA,PA,Le,YA,vA,Bt,fr,jt,er,zt,VA,_A,Zt,xa,pa,nr,nt,pr,pA,$A,ha,Hr,Ur,Fr,wr,Ut,vr,ai,Ya,Li,Da,Yi,Dt,Aa,Va,u0,d0,f0,p0,si,Vs,h0,Hi,za,Jr,JA,Qa,bn,Ri,In,m0,C0,wn,_0,Fa,ar,Bi,vi,Ba,js,gs,kn,xn,Us,Bn,vn,yn,QA,Ks,UA,En,Wi,va,Sa,ii,yi,Mn,Nr,b0,I0,Ts,ni,w0,Vi,oi,RA,es,Gn,Ei,Is,Dn,k0,x0,ji,B0,v0,Rr,y0,E0,kt,Wt,Qn,us,M0,ta,ws,ra,ks,Ui,Tn,G0,Ki,Mr,Mi,Pn,aa,li,xs,zn,Fn,Sn,Zi,ds,Xi,D0,Nn,On,Bs,qi,Wr,Ln,Ji,Gi,Na,Di,Yn,As,Hn,_i,Rn,ci,Wn,Q0,T0,sa,Qi,ma,Vn,$i,ja,hr,jn,Ps,gi,P0,Un,Kn,z0,zs,ts,Zn,Ti,_r,sr,ui,F0,Fs,Ss,Zs,Xn,Ca,S0,qn,di,Pi,ia,Jn,en,Xs,N0,fi,pt,A,t,r,a,s,i,o,c,f,m,p,I,y,T,Y,K,_,ce,he,ye,De,Re,Xe,aA,fA,GA,SA,At,ct,bt,Nt,qt,tr,mr,Cr,Gr,Dr,Or,Kr,na,$r,oa,ya,rs,fs,ps,Ns,zi,pi,hi,Fi,_n,O0,L0,An,k2,x2,B2,v2,y2,bo,E2,M2,Io,G2,D2,Q2,T2,wo,P2,z2,ko,F2,S2,xo,N2,qs,Js,tn,rn,O2,L2,Bo,Y2,H2,R2,W2,V2,j2,Ha,U2,K2,$0,Z2,Y0,Si,X2,q2,J2,_2,eo,$2,el,Al,tl,H0,rl,vo,al,R0,sl,il,nl,ol,Ao,ll,cl,gl,Q1,ul,dl,fl,$n,pl,hl,ml,Cl,bl,Il,wl,an,kl,yo,Eo,Mo,xl,Bl,to,Go,vl,Do,Qo,yl,To,Po,El,ro,Ml,Gl,Dl,Ql,zo,ao,T1,Tl,Pl,Fo,zl,Fl,So,Sl,Nl,No,Ol,P1,Oo,Lo,Ll,Yl,Yo,Hl,Rl,so,Wl,Vl,Ho,jl,Ul,Kl,Zl,Xl,ql,Jl,_l,$l,Ro,e1,W0,Wo,Vo,A1,ur,z1,F1,S1,jo,t1,r1,Uo,a1,Ko,Zo,N1,s1,i1,Xo,O1,L1,n1,o1,l1,c1,g1,u1,qo,d1,Jo,_o,$o,f1,Y1,e2,p1,h1,H1=Pe(()=>{var n;It=import.meta.url,Ar=async function(u={}){function h(){return nA.buffer!=ot.buffer&&kr(),ot}function w(){return nA.buffer!=ot.buffer&&kr(),ir}function B(){return nA.buffer!=ot.buffer&&kr(),ua}function E(){return nA.buffer!=ot.buffer&&kr(),Za}function v(){return nA.buffer!=ot.buffer&&kr(),un}function P(){return nA.buffer!=ot.buffer&&kr(),a0}function N(){return nA.buffer!=ot.buffer&&kr(),co}function L(){return nA.buffer!=ot.buffer&&kr(),fn}var ee,Ae,Q=Object.assign({},u),le=new Promise((G,H)=>{ee=G,Ae=H}),de=typeof window=="object",we=typeof importScripts=="function",be=we&&self.name=="em-pthread";Q.mountExternalData=(G,H)=>{G.startsWith("./")&&(G=G.substring(2)),(Q.Fb||(Q.Fb=new Map)).set(G,H)},Q.unmountExternalData=()=>{delete Q.Fb};var Me=globalThis.SharedArrayBuffer??new WebAssembly.Memory({initial:0,maximum:0,shared:!0}).buffer.constructor;let Fe=()=>{let G=($,oe,Ie)=>(...Ue)=>{let kA=mn,EA=oe==null?void 0:oe();Ue=$(...Ue);let lt=oe==null?void 0:oe();return EA!==lt&&($=lt,Ie(EA),oe=Ie=null),mn!=kA?new Promise((ut,Et)=>{Rc={resolve:ut,reject:Et}}):Ue},H=$=>async(...oe)=>{var Ie;try{if(Q.Gb)throw Error("Session already started");let Ue=Q.Gb={hc:oe[0],errors:[]},kA=await $(...oe);if(Q.Gb!==Ue)throw Error("Session mismatch");(Ie=Q.Hb)==null||Ie.flush();let EA=Ue.errors;if(0<EA.length){let lt=await Promise.all(EA);if(lt=lt.filter(ut=>ut),0<lt.length)throw Error(lt.join(`
9`))}return kA}finally{Q.Gb=null}};Q._OrtCreateSession=G(Q._OrtCreateSession,()=>Q._OrtCreateSession,$=>Q._OrtCreateSession=$),Q._OrtRun=H(G(Q._OrtRun,()=>Q._OrtRun,$=>Q._OrtRun=$)),Q._OrtRunWithBinding=H(G(Q._OrtRunWithBinding,()=>Q._OrtRunWithBinding,$=>Q._OrtRunWithBinding=$)),Q._OrtBindInput=G(Q._OrtBindInput,()=>Q._OrtBindInput,$=>Q._OrtBindInput=$),Fe=void 0};Q.jsepInit=(G,H)=>{if(Fe==null||Fe(),G==="webgpu"){[Q.Hb,Q.Vb,Q.Zb,Q.Ob,Q.Yb,Q.kb,Q.$b,Q.cc,Q.Wb,Q.Xb,Q.ac]=H;let $=Q.Hb;Q.jsepRegisterBuffer=(oe,Ie,Ue,kA)=>$.registerBuffer(oe,Ie,Ue,kA),Q.jsepGetBuffer=oe=>$.getBuffer(oe),Q.jsepCreateDownloader=(oe,Ie,Ue)=>$.createDownloader(oe,Ie,Ue),Q.jsepOnCreateSession=oe=>{$.onCreateSession(oe)},Q.jsepOnReleaseSession=oe=>{$.onReleaseSession(oe)},Q.jsepOnRunStart=oe=>$.onRunStart(oe),Q.dc=(oe,Ie)=>{$.upload(oe,Ie)}}else if(G==="webnn"){[Q.Hb,Q.bc,Q.Pb,Q.jsepEnsureTensor,Q.ec,Q.jsepDownloadTensor]=H,Q.jsepReleaseTensorId=Q.Pb;let $=Q.Hb;Q.jsepOnRunStart=oe=>$.onRunStart(oe),Q.jsepRegisterMLContext=(oe,Ie)=>{$.registerMLContext(oe,Ie)},Q.jsepOnReleaseSession=oe=>{$.onReleaseSession(oe)},Q.jsepCreateMLTensorDownloader=(oe,Ie)=>$.createMLTensorDownloader(oe,Ie),Q.jsepRegisterMLTensor=(oe,Ie,Ue)=>$.registerMLTensor(oe,Ie,Ue),Q.jsepCreateMLContext=oe=>$.createMLContext(oe),Q.jsepRegisterMLConstant=(oe,Ie,Ue,kA,EA)=>$.registerMLConstant(oe,Ie,Ue,kA,EA,Q.Fb)}};var We,$e,eA=Object.assign({},Q),sA=(G,H)=>{throw H},zA="";(de||we)&&(we?zA=self.location.href:typeof document<"u"&&document.currentScript&&(zA=document.currentScript.src),It&&(zA=It),zA=zA.startsWith("blob:")?"":zA.substr(0,zA.replace(/[?#].*/,"").lastIndexOf("/")+1),we&&($e=G=>{var H=new XMLHttpRequest;return H.open("GET",G,!1),H.responseType="arraybuffer",H.send(null),new Uint8Array(H.response)}),We=(G,H,$)=>{var oe=new XMLHttpRequest;oe.open("GET",G,!0),oe.responseType="arraybuffer",oe.onload=()=>{oe.status==200||oe.status==0&&oe.response?H(oe.response):$()},oe.onerror=$,oe.send(null)});var jA,ht=console.log.bind(console),mt=console.error.bind(console),Jt=ht,Ct=mt;if(Object.assign(Q,eA),eA=null,be){let G=function(H){try{var $=H.data,oe=$.cmd;if(oe==="load"){let Ie=[];self.onmessage=Ue=>Ie.push(Ue),self.startWorker=()=>{postMessage({cmd:"loaded"});for(let Ue of Ie)G(Ue);self.onmessage=G};for(let Ue of $.handlers)Q[Ue]&&!Q[Ue].proxy||(Q[Ue]=(...kA)=>{postMessage({Nb:"callHandler",pc:Ue,args:kA})},Ue=="print"&&(Jt=Q[Ue]),Ue=="printErr"&&(Ct=Q[Ue]));nA=$.wasmMemory,kr(),Pt($.wasmModule)}else if(oe==="run"){Uc($.pthread_ptr,0,0,1,0,0),Yc($.pthread_ptr),Cf(),Dg(),Qt||(Eu(),Qt=!0);try{bf($.start_routine,$.arg)}catch(Ie){if(Ie!="unwind")throw Ie}}else oe==="cancel"?d2()&&pc(-1):$.target!=="setimmediate"&&(oe==="checkMailbox"?Qt&&sc():oe&&(Ct(`worker: received unknown command ${oe}`),Ct($)))}catch(Ie){throw Mu(),Ie}};var Pt,Qt=!1;Ct=function(...H){H=H.join(" ")},self.alert=function(...H){postMessage({Nb:"alert",text:H.join(" "),rc:d2()})},Q.instantiateWasm=(H,$)=>new Promise(oe=>{Pt=Ie=>{Ie=new WebAssembly.Instance(Ie,vg()),$(Ie),oe()}}),self.onunhandledrejection=H=>{throw H.reason||H},self.onmessage=G}Q.wasmBinary&&(jA=Q.wasmBinary);var nA,gt,st,ot,ir,ua,Za,un,a0,co,Ci,dn,fn,bi=!1;function kr(){var G=nA.buffer;Q.HEAP8=ot=new Int8Array(G),Q.HEAP16=ua=new Int16Array(G),Q.HEAPU8=ir=new Uint8Array(G),Q.HEAPU16=Za=new Uint16Array(G),Q.HEAP32=un=new Int32Array(G),Q.HEAPU32=a0=new Uint32Array(G),Q.HEAPF32=co=new Float32Array(G),Q.HEAPF64=fn=new Float64Array(G),Q.HEAP64=Ci=new BigInt64Array(G),Q.HEAPU64=dn=new BigUint64Array(G)}if(!be){if(!((nA=new WebAssembly.Memory({initial:256,maximum:65536,shared:!0})).buffer instanceof Me))throw Ct("requested a shared WebAssembly.Memory but the returned buffer is not a SharedArrayBuffer, indicating that while the browser has SharedArrayBuffer it does not have WebAssembly threads support - you may need to set a flag"),Error("bad memory");kr()}var ys=[],s0=[],Ec=[],go=0,B1=null;function Ig(){if(--go==0&&B1){var G=B1;B1=null,G()}}function U0(G){throw Ct(G="Aborted("+G+")"),bi=!0,st=1,G=new WebAssembly.RuntimeError(G+". Build with -sASSERTIONS for more info."),Ae(G),G}var Mc,wg=G=>G.startsWith("data:application/octet-stream;base64,"),kg=G=>G.startsWith("file://");function xg(G){if(G==Mc&&jA)return new Uint8Array(jA);if($e)return $e(G);throw"both async and sync fetching of the wasm failed"}function Bg(G,H,$){return function(oe){if(!jA&&(de||we)){if(typeof fetch=="function"&&!kg(oe))return fetch(oe,{credentials:"same-origin"}).then(Ie=>{if(!Ie.ok)throw`failed to load wasm binary file at '${oe}'`;return Ie.arrayBuffer()}).catch(()=>xg(oe));if(We)return new Promise((Ie,Ue)=>{We(oe,kA=>Ie(new Uint8Array(kA)),Ue)})}return Promise.resolve().then(()=>xg(oe))}(G).then(oe=>WebAssembly.instantiate(oe,H)).then($,oe=>{Ct(`failed to asynchronously prepare wasm: ${oe}`),U0(oe)})}function vg(){return{a:{O:mf,Aa:hf,b:wf,aa:zg,B:Ng,qa:Og,Y:Yg,_:Hg,ra:Rg,oa:Wg,ha:Vg,na:jg,L:Ug,Z:Kg,W:Zg,pa:Xg,X:qg,va:kf,F:xf,Q:Bf,P:yf,E:Mf,u:Gf,q:Df,G:Qf,A:Of,R:Lf,ua:Yf,ka:Hf,U:Rf,ba:Wf,H:Vf,ja:Yc,ta:jf,t:Uf,Ba:Kf,x:qf,o:Jf,m:$f,c:Oc,n:ep,k:rp,w:ap,p:sp,f:ip,s:np,l:op,e:lp,j:cp,i:gp,g:up,d:dp,ea:fp,fa:pp,ga:hp,ca:cu,da:gu,T:mp,h:Cp,D:bp,I:Ip,M:wp,y:kp,sa:xp,V:Bp,v:du,z:vp,N:yp,S:Ep,za:Mp,ya:Gp,la:hu,ma:mu,$:Pc,C:Cu,K:bu,ia:Iu,J:wu,a:nA,xa:Tc,wa:Bu,r:Tp}}}var Gc={916868:(G,H,$,oe,Ie)=>{if(Q===void 0||!Q.Fb)return 1;if((G=Ea(Number(G>>>0))).startsWith("./")&&(G=G.substring(2)),!(G=Q.Fb.get(G)))return 2;if(H=Number(H>>>0),$=Number($>>>0),oe=Number(oe>>>0),H+$>G.byteLength)return 3;try{let Ue=G.subarray(H,H+$);switch(Ie){case 0:w().set(Ue,oe>>>0);break;case 1:Q.dc(oe,Ue);break;default:return 4}return 0}catch{return 4}},917583:(G,H,$)=>{Q.ec(G,w().subarray(H>>>0,H+$>>>0))},917646:()=>Q.bc(),917687:G=>{Q.Pb(G)},917723:()=>{Q.Wb()},917754:()=>{Q.Xb()},917783:()=>{Q.ac()},917808:G=>Q.Vb(G),917841:G=>Q.Zb(G),917873:(G,H,$)=>{Q.Ob(Number(G),Number(H),Number($),!0)},917936:(G,H,$)=>{Q.Ob(Number(G),Number(H),Number($))},917993:()=>typeof wasmOffsetConverter<"u",918050:G=>{Q.kb("Abs",G,void 0)},918101:G=>{Q.kb("Neg",G,void 0)},918152:G=>{Q.kb("Floor",G,void 0)},918205:G=>{Q.kb("Ceil",G,void 0)},918257:G=>{Q.kb("Reciprocal",G,void 0)},918315:G=>{Q.kb("Sqrt",G,void 0)},918367:G=>{Q.kb("Exp",G,void 0)},918418:G=>{Q.kb("Erf",G,void 0)},918469:G=>{Q.kb("Sigmoid",G,void 0)},918524:(G,H,$)=>{Q.kb("HardSigmoid",G,{alpha:H,beta:$})},918603:G=>{Q.kb("Log",G,void 0)},918654:G=>{Q.kb("Sin",G,void 0)},918705:G=>{Q.kb("Cos",G,void 0)},918756:G=>{Q.kb("Tan",G,void 0)},918807:G=>{Q.kb("Asin",G,void 0)},918859:G=>{Q.kb("Acos",G,void 0)},918911:G=>{Q.kb("Atan",G,void 0)},918963:G=>{Q.kb("Sinh",G,void 0)},919015:G=>{Q.kb("Cosh",G,void 0)},919067:G=>{Q.kb("Asinh",G,void 0)},919120:G=>{Q.kb("Acosh",G,void 0)},919173:G=>{Q.kb("Atanh",G,void 0)},919226:G=>{Q.kb("Tanh",G,void 0)},919278:G=>{Q.kb("Not",G,void 0)},919329:(G,H,$)=>{Q.kb("Clip",G,{min:H,max:$})},919398:G=>{Q.kb("Clip",G,void 0)},919450:(G,H)=>{Q.kb("Elu",G,{alpha:H})},919508:G=>{Q.kb("Gelu",G,void 0)},919560:G=>{Q.kb("Relu",G,void 0)},919612:(G,H)=>{Q.kb("LeakyRelu",G,{alpha:H})},919676:(G,H)=>{Q.kb("ThresholdedRelu",G,{alpha:H})},919746:(G,H)=>{Q.kb("Cast",G,{to:H})},919804:G=>{Q.kb("Add",G,void 0)},919855:G=>{Q.kb("Sub",G,void 0)},919906:G=>{Q.kb("Mul",G,void 0)},919957:G=>{Q.kb("Div",G,void 0)},920008:G=>{Q.kb("Pow",G,void 0)},920059:G=>{Q.kb("Equal",G,void 0)},920112:G=>{Q.kb("Greater",G,void 0)},920167:G=>{Q.kb("GreaterOrEqual",G,void 0)},920229:G=>{Q.kb("Less",G,void 0)},920281:G=>{Q.kb("LessOrEqual",G,void 0)},920340:(G,H,$,oe,Ie)=>{Q.kb("ReduceMean",G,{keepDims:!!H,noopWithEmptyAxes:!!$,axes:oe?Array.from(v().subarray(Number(oe)>>>0,Number(Ie)>>>0)):[]})},920515:(G,H,$,oe,Ie)=>{Q.kb("ReduceMax",G,{keepDims:!!H,noopWithEmptyAxes:!!$,axes:oe?Array.from(v().subarray(Number(oe)>>>0,Number(Ie)>>>0)):[]})},920689:(G,H,$,oe,Ie)=>{Q.kb("ReduceMin",G,{keepDims:!!H,noopWithEmptyAxes:!!$,axes:oe?Array.from(v().subarray(Number(oe)>>>0,Number(Ie)>>>0)):[]})},920863:(G,H,$,oe,Ie)=>{Q.kb("ReduceProd",G,{keepDims:!!H,noopWithEmptyAxes:!!$,axes:oe?Array.from(v().subarray(Number(oe)>>>0,Number(Ie)>>>0)):[]})},921038:(G,H,$,oe,Ie)=>{Q.kb("ReduceSum",G,{keepDims:!!H,noopWithEmptyAxes:!!$,axes:oe?Array.from(v().subarray(Number(oe)>>>0,Number(Ie)>>>0)):[]})},921212:(G,H,$,oe,Ie)=>{Q.kb("ReduceL1",G,{keepDims:!!H,noopWithEmptyAxes:!!$,axes:oe?Array.from(v().subarray(Number(oe)>>>0,Number(Ie)>>>0)):[]})},921385:(G,H,$,oe,Ie)=>{Q.kb("ReduceL2",G,{keepDims:!!H,noopWithEmptyAxes:!!$,axes:oe?Array.from(v().subarray(Number(oe)>>>0,Number(Ie)>>>0)):[]})},921558:(G,H,$,oe,Ie)=>{Q.kb("ReduceLogSum",G,{keepDims:!!H,noopWithEmptyAxes:!!$,axes:oe?Array.from(v().subarray(Number(oe)>>>0,Number(Ie)>>>0)):[]})},921735:(G,H,$,oe,Ie)=>{Q.kb("ReduceSumSquare",G,{keepDims:!!H,noopWithEmptyAxes:!!$,axes:oe?Array.from(v().subarray(Number(oe)>>>0,Number(Ie)>>>0)):[]})},921915:(G,H,$,oe,Ie)=>{Q.kb("ReduceLogSumExp",G,{keepDims:!!H,noopWithEmptyAxes:!!$,axes:oe?Array.from(v().subarray(Number(oe)>>>0,Number(Ie)>>>0)):[]})},922095:G=>{Q.kb("Where",G,void 0)},922148:(G,H,$)=>{Q.kb("Transpose",G,{perm:H?Array.from(v().subarray(Number(H)>>>0,Number($)>>>0)):[]})},922272:(G,H,$,oe)=>{Q.kb("DepthToSpace",G,{blocksize:H,mode:Ea($),format:oe?"NHWC":"NCHW"})},922405:(G,H,$,oe)=>{Q.kb("DepthToSpace",G,{blocksize:H,mode:Ea($),format:oe?"NHWC":"NCHW"})},922538:(G,H,$,oe,Ie,Ue,kA,EA,lt,ut,Et,cr,xr,CA,gr)=>{Q.kb("ConvTranspose",G,{format:lt?"NHWC":"NCHW",autoPad:H,dilations:[$],group:oe,kernelShape:[Ie],pads:[Ue,kA],strides:[EA],wIsConst:()=>!!h()[ut>>>0],outputPadding:Et?Array.from(v().subarray(Number(Et)>>>0,Number(cr)>>>0)):[],outputShape:xr?Array.from(v().subarray(Number(xr)>>>0,Number(CA)>>>0)):[],activation:Ea(gr)})},922971:(G,H,$,oe,Ie,Ue,kA,EA,lt,ut,Et,cr,xr,CA)=>{Q.kb("ConvTranspose",G,{format:EA?"NHWC":"NCHW",autoPad:H,dilations:Array.from(v().subarray(Number($)>>>0,2+(Number($)>>>0)>>>0)),group:oe,kernelShape:Array.from(v().subarray(Number(Ie)>>>0,2+(Number(Ie)>>>0)>>>0)),pads:Array.from(v().subarray(Number(Ue)>>>0,4+(Number(Ue)>>>0)>>>0)),strides:Array.from(v().subarray(Number(kA)>>>0,2+(Number(kA)>>>0)>>>0)),wIsConst:()=>!!h()[lt>>>0],outputPadding:ut?Array.from(v().subarray(Number(ut)>>>0,Number(Et)>>>0)):[],outputShape:cr?Array.from(v().subarray(Number(cr)>>>0,Number(xr)>>>0)):[],activation:Ea(CA)})},923632:(G,H,$,oe,Ie,Ue,kA,EA,lt,ut,Et,cr,xr,CA,gr)=>{Q.kb("ConvTranspose",G,{format:lt?"NHWC":"NCHW",autoPad:H,dilations:[$],group:oe,kernelShape:[Ie],pads:[Ue,kA],strides:[EA],wIsConst:()=>!!h()[ut>>>0],outputPadding:Et?Array.from(v().subarray(Number(Et)>>>0,Number(cr)>>>0)):[],outputShape:xr?Array.from(v().subarray(Number(xr)>>>0,Number(CA)>>>0)):[],activation:Ea(gr)})},924065:(G,H,$,oe,Ie,Ue,kA,EA,lt,ut,Et,cr,xr,CA)=>{Q.kb("ConvTranspose",G,{format:EA?"NHWC":"NCHW",autoPad:H,dilations:Array.from(v().subarray(Number($)>>>0,2+(Number($)>>>0)>>>0)),group:oe,kernelShape:Array.from(v().subarray(Number(Ie)>>>0,2+(Number(Ie)>>>0)>>>0)),pads:Array.from(v().subarray(Number(Ue)>>>0,4+(Number(Ue)>>>0)>>>0)),strides:Array.from(v().subarray(Number(kA)>>>0,2+(Number(kA)>>>0)>>>0)),wIsConst:()=>!!h()[lt>>>0],outputPadding:ut?Array.from(v().subarray(Number(ut)>>>0,Number(Et)>>>0)):[],outputShape:cr?Array.from(v().subarray(Number(cr)>>>0,Number(xr)>>>0)):[],activation:Ea(CA)})},924726:(G,H)=>{Q.kb("GlobalAveragePool",G,{format:H?"NHWC":"NCHW"})},924817:(G,H,$,oe,Ie,Ue,kA,EA,lt,ut,Et,cr,xr,CA)=>{Q.kb("AveragePool",G,{format:CA?"NHWC":"NCHW",auto_pad:H,ceil_mode:$,count_include_pad:oe,storage_order:Ie,dilations:Ue?Array.from(v().subarray(Number(Ue)>>>0,Number(kA)>>>0)):[],kernel_shape:EA?Array.from(v().subarray(Number(EA)>>>0,Number(lt)>>>0)):[],pads:ut?Array.from(v().subarray(Number(ut)>>>0,Number(Et)>>>0)):[],strides:cr?Array.from(v().subarray(Number(cr)>>>0,Number(xr)>>>0)):[]})},925296:(G,H)=>{Q.kb("GlobalAveragePool",G,{format:H?"NHWC":"NCHW"})},925387:(G,H,$,oe,Ie,Ue,kA,EA,lt,ut,Et,cr,xr,CA)=>{Q.kb("AveragePool",G,{format:CA?"NHWC":"NCHW",auto_pad:H,ceil_mode:$,count_include_pad:oe,storage_order:Ie,dilations:Ue?Array.from(v().subarray(Number(Ue)>>>0,Number(kA)>>>0)):[],kernel_shape:EA?Array.from(v().subarray(Number(EA)>>>0,Number(lt)>>>0)):[],pads:ut?Array.from(v().subarray(Number(ut)>>>0,Number(Et)>>>0)):[],strides:cr?Array.from(v().subarray(Number(cr)>>>0,Number(xr)>>>0)):[]})},925866:(G,H)=>{Q.kb("GlobalMaxPool",G,{format:H?"NHWC":"NCHW"})},925953:(G,H,$,oe,Ie,Ue,kA,EA,lt,ut,Et,cr,xr,CA)=>{Q.kb("MaxPool",G,{format:CA?"NHWC":"NCHW",auto_pad:H,ceil_mode:$,count_include_pad:oe,storage_order:Ie,dilations:Ue?Array.from(v().subarray(Number(Ue)>>>0,Number(kA)>>>0)):[],kernel_shape:EA?Array.from(v().subarray(Number(EA)>>>0,Number(lt)>>>0)):[],pads:ut?Array.from(v().subarray(Number(ut)>>>0,Number(Et)>>>0)):[],strides:cr?Array.from(v().subarray(Number(cr)>>>0,Number(xr)>>>0)):[]})},926428:(G,H)=>{Q.kb("GlobalMaxPool",G,{format:H?"NHWC":"NCHW"})},926515:(G,H,$,oe,Ie,Ue,kA,EA,lt,ut,Et,cr,xr,CA)=>{Q.kb("MaxPool",G,{format:CA?"NHWC":"NCHW",auto_pad:H,ceil_mode:$,count_include_pad:oe,storage_order:Ie,dilations:Ue?Array.from(v().subarray(Number(Ue)>>>0,Number(kA)>>>0)):[],kernel_shape:EA?Array.from(v().subarray(Number(EA)>>>0,Number(lt)>>>0)):[],pads:ut?Array.from(v().subarray(Number(ut)>>>0,Number(Et)>>>0)):[],strides:cr?Array.from(v().subarray(Number(cr)>>>0,Number(xr)>>>0)):[]})},926990:(G,H,$,oe,Ie)=>{Q.kb("Gemm",G,{alpha:H,beta:$,transA:oe,transB:Ie})},927094:G=>{Q.kb("MatMul",G,void 0)},927148:(G,H,$,oe)=>{Q.kb("ArgMax",G,{keepDims:!!H,selectLastIndex:!!$,axis:oe})},927256:(G,H,$,oe)=>{Q.kb("ArgMin",G,{keepDims:!!H,selectLastIndex:!!$,axis:oe})},927364:(G,H)=>{Q.kb("Softmax",G,{axis:H})},927427:(G,H)=>{Q.kb("Concat",G,{axis:H})},927487:(G,H,$,oe,Ie)=>{Q.kb("Split",G,{axis:H,numOutputs:$,splitSizes:oe?Array.from(v().subarray(Number(oe)>>>0,Number(Ie)>>>0)):[]})},927643:G=>{Q.kb("Expand",G,void 0)},927697:(G,H)=>{Q.kb("Gather",G,{axis:Number(H)})},927768:(G,H)=>{Q.kb("GatherElements",G,{axis:Number(H)})},927847:(G,H)=>{Q.kb("GatherND",G,{batch_dims:Number(H)})},927926:(G,H,$,oe,Ie,Ue,kA,EA,lt,ut,Et)=>{Q.kb("Resize",G,{antialias:H,axes:$?Array.from(v().subarray(Number($)>>>0,Number(oe)>>>0)):[],coordinateTransformMode:Ea(Ie),cubicCoeffA:Ue,excludeOutside:kA,extrapolationValue:EA,keepAspectRatioPolicy:Ea(lt),mode:Ea(ut),nearestMode:Ea(Et)})},928288:(G,H,$,oe,Ie,Ue,kA)=>{Q.kb("Slice",G,{starts:H?Array.from(v().subarray(Number(H)>>>0,Number($)>>>0)):[],ends:oe?Array.from(v().subarray(Number(oe)>>>0,Number(Ie)>>>0)):[],axes:Ue?Array.from(v().subarray(Number(Ue)>>>0,Number(kA)>>>0)):[]})},928552:G=>{Q.kb("Tile",G,void 0)},928604:(G,H,$)=>{Q.kb("InstanceNormalization",G,{epsilon:H,format:$?"NHWC":"NCHW"})},928718:(G,H,$)=>{Q.kb("InstanceNormalization",G,{epsilon:H,format:$?"NHWC":"NCHW"})},928832:G=>{Q.kb("Range",G,void 0)},928885:(G,H)=>{Q.kb("Einsum",G,{equation:Ea(H)})},928966:(G,H,$,oe,Ie)=>{Q.kb("Pad",G,{mode:H,value:$,pads:oe?Array.from(v().subarray(Number(oe)>>>0,Number(Ie)>>>0)):[]})},929109:(G,H,$,oe,Ie,Ue)=>{Q.kb("BatchNormalization",G,{epsilon:H,momentum:$,spatial:!!Ie,trainingMode:!!oe,format:Ue?"NHWC":"NCHW"})},929278:(G,H,$,oe,Ie,Ue)=>{Q.kb("BatchNormalization",G,{epsilon:H,momentum:$,spatial:!!Ie,trainingMode:!!oe,format:Ue?"NHWC":"NCHW"})},929447:(G,H,$)=>{Q.kb("CumSum",G,{exclusive:Number(H),reverse:Number($)})},929544:(G,H,$)=>{Q.kb("DequantizeLinear",G,{axis:H,blockSize:$})},929634:(G,H,$,oe,Ie)=>{Q.kb("GridSample",G,{align_corners:H,mode:Ea($),padding_mode:Ea(oe),format:Ie?"NHWC":"NCHW"})},929804:(G,H,$,oe,Ie)=>{Q.kb("GridSample",G,{align_corners:H,mode:Ea($),padding_mode:Ea(oe),format:Ie?"NHWC":"NCHW"})},929974:(G,H,$,oe,Ie,Ue,kA,EA,lt)=>{Q.kb("Attention",G,{numHeads:H,isUnidirectional:$,maskFilterValue:oe,scale:Ie,doRotary:Ue,qkvHiddenSizes:kA?Array.from(v().subarray(Number(EA)>>>0,Number(EA)+kA>>>0)):[],pastPresentShareBuffer:!!lt})},930246:G=>{Q.kb("BiasAdd",G,void 0)},930301:G=>{Q.kb("BiasSplitGelu",G,void 0)},930362:G=>{Q.kb("FastGelu",G,void 0)},930418:(G,H,$,oe,Ie,Ue,kA,EA,lt,ut,Et,cr,xr,CA,gr,Ia)=>{Q.kb("Conv",G,{format:cr?"NHWC":"NCHW",auto_pad:H,dilations:$?Array.from(v().subarray(Number($)>>>0,Number(oe)>>>0)):[],group:Ie,kernel_shape:Ue?Array.from(v().subarray(Number(Ue)>>>0,Number(kA)>>>0)):[],pads:EA?Array.from(v().subarray(Number(EA)>>>0,Number(lt)>>>0)):[],strides:ut?Array.from(v().subarray(Number(ut)>>>0,Number(Et)>>>0)):[],w_is_const:()=>!!h()[Number(xr)>>>0],activation:Ea(CA),activation_params:gr?Array.from(N().subarray(Number(gr)>>>0,Number(Ia)>>>0)):[]})},931002:G=>{Q.kb("Gelu",G,void 0)},931054:(G,H,$,oe,Ie,Ue,kA,EA,lt)=>{Q.kb("GroupQueryAttention",G,{numHeads:H,kvNumHeads:$,scale:oe,softcap:Ie,doRotary:Ue,rotaryInterleaved:kA,smoothSoftmax:EA,localWindowSize:lt})},931271:(G,H,$,oe)=>{Q.kb("LayerNormalization",G,{axis:H,epsilon:$,simplified:!!oe})},931382:(G,H,$,oe)=>{Q.kb("LayerNormalization",G,{axis:H,epsilon:$,simplified:!!oe})},931493:(G,H,$,oe,Ie,Ue)=>{Q.kb("MatMulNBits",G,{k:H,n:$,accuracyLevel:oe,bits:Ie,blockSize:Ue})},931620:(G,H,$,oe,Ie,Ue)=>{Q.kb("MultiHeadAttention",G,{numHeads:H,isUnidirectional:$,maskFilterValue:oe,scale:Ie,doRotary:Ue})},931779:(G,H)=>{Q.kb("QuickGelu",G,{alpha:H})},931843:(G,H,$,oe,Ie)=>{Q.kb("RotaryEmbedding",G,{interleaved:!!H,numHeads:$,rotaryEmbeddingDim:oe,scale:Ie})},931982:(G,H,$)=>{Q.kb("SkipLayerNormalization",G,{epsilon:H,simplified:!!$})},932084:(G,H,$)=>{Q.kb("SkipLayerNormalization",G,{epsilon:H,simplified:!!$})},932186:(G,H,$,oe)=>{Q.kb("GatherBlockQuantized",G,{gatherAxis:H,quantizeAxis:$,blockSize:oe})},932307:G=>{Q.$b(G)},932341:(G,H)=>Q.cc(Number(G),Number(H),Q.Gb.hc,Q.Gb.errors)};function hf(G,H,$){return su(async()=>{await Q.Yb(Number(G),Number(H),Number($))})}function mf(){return typeof wasmOffsetConverter<"u"}function Dc(G){this.name="ExitStatus",this.message=`Program terminated with exit(${G})`,this.status=G}var Qc=G=>{G.terminate(),G.onmessage=()=>{}},yg=G=>{K0.length==0&&(Tg(),Qg(K0[0]));var H=K0.pop();if(!H)return 6;fo.push(H),pn[G.Bb]=H,H.Bb=G.Bb;var $={cmd:"run",start_routine:G.ic,arg:G.Rb,pthread_ptr:G.Bb};return H.postMessage($,G.nc),0},uo=0,da=(G,H,...$)=>{for(var oe=2*$.length,Ie=Xc(),Ue=Zc(8*oe),kA=Ue>>>3,EA=0;EA<$.length;EA++){var lt=$[EA];typeof lt=="bigint"?(Ci[kA+2*EA]=1n,Ci[kA+2*EA+1]=lt):(Ci[kA+2*EA]=0n,L()[kA+2*EA+1>>>0]=lt)}return G=Gu(G,0,oe,Ue,H),hc(Ie),G};function Tc(G){if(be)return da(0,1,G);if(st=G,!(0<uo)){for(var H of fo)Qc(H);for(H of K0)Qc(H);K0=[],fo=[],pn=[],bi=!0}sA(0,new Dc(G))}function Eg(G){if(be)return da(1,0,G);Pc(G)}var Pc=G=>{if(st=G,be)throw Eg(G),"unwind";Tc(G)},K0=[],fo=[],Mg=[],pn={},Gg=G=>{var H=G.Bb;delete pn[H],K0.push(G),fo.splice(fo.indexOf(G),1),G.Bb=0,Kc(H)};function Dg(){Mg.forEach(G=>G())}var Qg=G=>new Promise(H=>{G.onmessage=Ie=>{var Ue=(Ie=Ie.data).cmd;if(Ie.targetThread&&Ie.targetThread!=d2()){var kA=pn[Ie.targetThread];kA?kA.postMessage(Ie,Ie.transferList):Ct(`Internal error! Worker sent a message "${Ue}" to target pthread ${Ie.targetThread}, but that thread no longer exists!`)}else Ue==="checkMailbox"?sc():Ue==="spawnThread"?yg(Ie):Ue==="cleanupThread"?Gg(pn[Ie.thread]):Ue==="killThread"?(Ie=Ie.thread,Ue=pn[Ie],delete pn[Ie],Qc(Ue),Kc(Ie),fo.splice(fo.indexOf(Ue),1),Ue.Bb=0):Ue==="cancelThread"?pn[Ie.thread].postMessage({cmd:"cancel"}):Ue==="loaded"?(G.loaded=!0,H(G)):Ue==="alert"?alert(`Thread ${Ie.threadId}: ${Ie.text}`):Ie.target==="setimmediate"?G.postMessage(Ie):Ue==="callHandler"?Q[Ie.handler](...Ie.args):Ue&&Ct(`worker sent an unknown command ${Ue}`)},G.onerror=Ie=>{throw Ct(`worker sent an error! ${Ie.filename}:${Ie.lineno}: ${Ie.message}`),Ie};var $,oe=[];for($ of[])Q.hasOwnProperty($)&&oe.push($);G.postMessage({cmd:"load",handlers:oe,wasmMemory:nA,wasmModule:gt})});function Tg(){var G=new Worker(import.meta.url.startsWith("file:")?new URL(d("./node_modules/onnxruntime-web/dist/ort.bundle.min.mjs?46eb"),d.b):new URL(import.meta.url),{type:"module",workerData:"em-pthread",name:"em-pthread"});K0.push(G)}var ac=G=>{for(;0<G.length;)G.shift()(Q)},Cf=()=>{var G=d2(),H=P()[G+52>>>2>>>0];G=P()[G+56>>>2>>>0],Qu(H,H-G),hc(H)},bf=(G,H)=>{uo=0,G=Tu(G,H),0<uo?st=G:pc(G)};class If{constructor(H){this.Kb=H-24}}function wf(G,H,$){var oe=new If(G>>>=0);throw H>>>=0,$>>>=0,P()[oe.Kb+16>>>2>>>0]=0,P()[oe.Kb+4>>>2>>>0]=H,P()[oe.Kb+8>>>2>>>0]=$,G}function Pg(G,H,$,oe){return be?da(2,1,G,H,$,oe):zg(G,H,$,oe)}function zg(G,H,$,oe){if(G>>>=0,H>>>=0,$>>>=0,oe>>>=0,Me===void 0)return Ct("Current environment does not support SharedArrayBuffer, pthreads are not available!"),6;var Ie=[];return be&&Ie.length===0?Pg(G,H,$,oe):(G={ic:$,Bb:G,Rb:oe,nc:Ie},be?(G.Nb="spawnThread",postMessage(G,Ie),0):yg(G))}var Fg=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0,Sg=(G,H,$)=>{var oe=(H>>>=0)+$;for($=H;G[$]&&!($>=oe);)++$;if(16<$-H&&G.buffer&&Fg)return Fg.decode(G.buffer instanceof Me?G.slice(H,$):G.subarray(H,$));for(oe="";H<$;){var Ie=G[H++];if(128&Ie){var Ue=63&G[H++];if((224&Ie)==192)oe+=String.fromCharCode((31&Ie)<<6|Ue);else{var kA=63&G[H++];65536>(Ie=(240&Ie)==224?(15&Ie)<<12|Ue<<6|kA:(7&Ie)<<18|Ue<<12|kA<<6|63&G[H++])?oe+=String.fromCharCode(Ie):(Ie-=65536,oe+=String.fromCharCode(55296|Ie>>10,56320|1023&Ie))}}else oe+=String.fromCharCode(Ie)}return oe},Ea=(G,H)=>(G>>>=0)?Sg(w(),G,H):"";function Ng(G,H,$){return be?da(3,1,G,H,$):0}function Og(G,H){if(be)return da(4,1,G,H)}var zc=G=>{for(var H=0,$=0;$<G.length;++$){var oe=G.charCodeAt($);127>=oe?H++:2047>=oe?H+=2:55296<=oe&&57343>=oe?(H+=4,++$):H+=3}return H},Lg=(G,H,$,oe)=>{if(!(0<oe))return 0;var Ie=$>>>=0;oe=$+oe-1;for(var Ue=0;Ue<G.length;++Ue){var kA=G.charCodeAt(Ue);if(55296<=kA&&57343>=kA&&(kA=65536+((1023&kA)<<10)|1023&G.charCodeAt(++Ue)),127>=kA){if($>=oe)break;H[$++>>>0]=kA}else{if(2047>=kA){if($+1>=oe)break;H[$++>>>0]=192|kA>>6}else{if(65535>=kA){if($+2>=oe)break;H[$++>>>0]=224|kA>>12}else{if($+3>=oe)break;H[$++>>>0]=240|kA>>18,H[$++>>>0]=128|kA>>12&63}H[$++>>>0]=128|kA>>6&63}H[$++>>>0]=128|63&kA}}return H[$>>>0]=0,$-Ie},g2=(G,H,$)=>Lg(G,w(),H,$);function Yg(G,H){if(be)return da(5,1,G,H)}function Hg(G,H,$){if(be)return da(6,1,G,H,$)}function Rg(G,H,$){return be?da(7,1,G,H,$):0}function Wg(G,H){if(be)return da(8,1,G,H)}function Vg(G,H,$){if(be)return da(9,1,G,H,$)}function jg(G,H,$,oe){if(be)return da(10,1,G,H,$,oe)}function Ug(G,H,$,oe){if(be)return da(11,1,G,H,$,oe)}function Kg(G,H,$,oe){if(be)return da(12,1,G,H,$,oe)}function Zg(G){if(be)return da(13,1,G)}function Xg(G,H){if(be)return da(14,1,G,H)}function qg(G,H,$){if(be)return da(15,1,G,H,$)}var Jg,Z0,kf=()=>{U0("")},hn=G=>{for(var H="";w()[G>>>0];)H+=Jg[w()[G++>>>0]];return H},Fc={},Sc={};function i0(G,H,$={}){if(!("argPackAdvance"in H))throw new TypeError("registerType registeredInstance requires argPackAdvance");return function(oe,Ie,Ue={}){var kA=Ie.name;if(!oe)throw new Z0(`type "${kA}" must have a positive integer typeid pointer`);if(Sc.hasOwnProperty(oe)){if(Ue.Tb)return;throw new Z0(`Cannot register type '${kA}' twice`)}Sc[oe]=Ie,Fc.hasOwnProperty(oe)&&(Ie=Fc[oe],delete Fc[oe],Ie.forEach(EA=>EA()))}(G,H,$)}var _g=(G,H,$)=>{switch(H){case 1:return $?oe=>h()[oe>>>0]:oe=>w()[oe>>>0];case 2:return $?oe=>B()[oe>>>1>>>0]:oe=>E()[oe>>>1>>>0];case 4:return $?oe=>v()[oe>>>2>>>0]:oe=>P()[oe>>>2>>>0];case 8:return $?oe=>Ci[oe>>>3]:oe=>dn[oe>>>3];default:throw new TypeError(`invalid integer width (${H}): ${G}`)}};function xf(G,H,$){$>>>=0,i0(G>>>=0,{name:H=hn(H>>>0),fromWireType:oe=>oe,toWireType:function(oe,Ie){if(typeof Ie!="bigint"&&typeof Ie!="number")throw Ie=Ie===null?"null":(oe=typeof Ie)=="object"||oe==="array"||oe==="function"?Ie.toString():""+Ie,new TypeError(`Cannot convert "${Ie}" to ${this.name}`);return typeof Ie=="number"&&(Ie=BigInt(Ie)),Ie},argPackAdvance:X0,readValueFromPointer:_g(H,$,H.indexOf("u")==-1),Eb:null})}var X0=8;function Bf(G,H,$,oe){i0(G>>>=0,{name:H=hn(H>>>0),fromWireType:function(Ie){return!!Ie},toWireType:function(Ie,Ue){return Ue?$:oe},argPackAdvance:X0,readValueFromPointer:function(Ie){return this.fromWireType(w()[Ie>>>0])},Eb:null})}var Nc=[],n0=[];function Oc(G){9<(G>>>=0)&&--n0[G+1]==0&&(n0[G]=void 0,Nc.push(G))}var $s=G=>{if(!G)throw new Z0("Cannot use deleted val. handle = "+G);return n0[G]},Ii=G=>{switch(G){case void 0:return 2;case null:return 4;case!0:return 6;case!1:return 8;default:let H=Nc.pop()||n0.length;return n0[H]=G,n0[H+1]=1,H}};function Lc(G){return this.fromWireType(P()[G>>>2>>>0])}var vf={name:"emscripten::val",fromWireType:G=>{var H=$s(G);return Oc(G),H},toWireType:(G,H)=>Ii(H),argPackAdvance:X0,readValueFromPointer:Lc,Eb:null};function yf(G){return i0(G>>>0,vf)}var Ef=(G,H)=>{switch(H){case 4:return function($){return this.fromWireType(N()[$>>>2>>>0])};case 8:return function($){return this.fromWireType(L()[$>>>3>>>0])};default:throw new TypeError(`invalid float width (${H}): ${G}`)}};function Mf(G,H,$){$>>>=0,i0(G>>>=0,{name:H=hn(H>>>0),fromWireType:oe=>oe,toWireType:(oe,Ie)=>Ie,argPackAdvance:X0,readValueFromPointer:Ef(H,$),Eb:null})}function Gf(G,H,$,oe,Ie){if(G>>>=0,$>>>=0,H=hn(H>>>0),Ie===-1&&(Ie=4294967295),Ie=EA=>EA,oe===0){var Ue=32-8*$;Ie=EA=>EA<<Ue>>>Ue}var kA=H.includes("unsigned")?function(EA,lt){return lt>>>0}:function(EA,lt){return lt};i0(G,{name:H,fromWireType:Ie,toWireType:kA,argPackAdvance:X0,readValueFromPointer:_g(H,$,oe!==0),Eb:null})}function Df(G,H,$){function oe(Ue){var kA=P()[Ue>>>2>>>0];return Ue=P()[Ue+4>>>2>>>0],new Ie(h().buffer,Ue,kA)}var Ie=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array][H];i0(G>>>=0,{name:$=hn($>>>0),fromWireType:oe,argPackAdvance:X0,readValueFromPointer:oe},{Tb:!0})}function Qf(G,H){G>>>=0;var $=(H=hn(H>>>0))==="std::string";i0(G,{name:H,fromWireType:function(oe){var Ie=P()[oe>>>2>>>0],Ue=oe+4;if($)for(var kA=Ue,EA=0;EA<=Ie;++EA){var lt=Ue+EA;if(EA==Ie||w()[lt>>>0]==0){if(kA=Ea(kA,lt-kA),ut===void 0)var ut=kA;else ut+="\0",ut+=kA;kA=lt+1}}else{for(ut=Array(Ie),EA=0;EA<Ie;++EA)ut[EA]=String.fromCharCode(w()[Ue+EA>>>0]);ut=ut.join("")}return Cn(oe),ut},toWireType:function(oe,Ie){Ie instanceof ArrayBuffer&&(Ie=new Uint8Array(Ie));var Ue=typeof Ie=="string";if(!(Ue||Ie instanceof Uint8Array||Ie instanceof Uint8ClampedArray||Ie instanceof Int8Array))throw new Z0("Cannot pass non-string to std::string");var kA=$&&Ue?zc(Ie):Ie.length,EA=fc(4+kA+1),lt=EA+4;if(P()[EA>>>2>>>0]=kA,$&&Ue)g2(Ie,lt,kA+1);else if(Ue)for(Ue=0;Ue<kA;++Ue){var ut=Ie.charCodeAt(Ue);if(255<ut)throw Cn(lt),new Z0("String has UTF-16 code units that do not fit in 8 bits");w()[lt+Ue>>>0]=ut}else for(Ue=0;Ue<kA;++Ue)w()[lt+Ue>>>0]=Ie[Ue];return oe!==null&&oe.push(Cn,EA),EA},argPackAdvance:X0,readValueFromPointer:Lc,Eb(oe){Cn(oe)}})}var $g=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0,Tf=(G,H)=>{for(var $=G>>1,oe=$+H/2;!($>=oe)&&E()[$>>>0];)++$;if(32<($<<=1)-G&&$g)return $g.decode(w().slice(G,$));for($="",oe=0;!(oe>=H/2);++oe){var Ie=B()[G+2*oe>>>1>>>0];if(Ie==0)break;$+=String.fromCharCode(Ie)}return $},Pf=(G,H,$)=>{if($??($=2147483647),2>$)return 0;var oe=H;$=($-=2)<2*G.length?$/2:G.length;for(var Ie=0;Ie<$;++Ie){var Ue=G.charCodeAt(Ie);B()[H>>>1>>>0]=Ue,H+=2}return B()[H>>>1>>>0]=0,H-oe},zf=G=>2*G.length,Ff=(G,H)=>{for(var $=0,oe="";!($>=H/4);){var Ie=v()[G+4*$>>>2>>>0];if(Ie==0)break;++$,65536<=Ie?(Ie-=65536,oe+=String.fromCharCode(55296|Ie>>10,56320|1023&Ie)):oe+=String.fromCharCode(Ie)}return oe},Sf=(G,H,$)=>{if(H>>>=0,$??($=2147483647),4>$)return 0;var oe=H;$=oe+$-4;for(var Ie=0;Ie<G.length;++Ie){var Ue=G.charCodeAt(Ie);if(55296<=Ue&&57343>=Ue&&(Ue=65536+((1023&Ue)<<10)|1023&G.charCodeAt(++Ie)),v()[H>>>2>>>0]=Ue,(H+=4)+4>$)break}return v()[H>>>2>>>0]=0,H-oe},Nf=G=>{for(var H=0,$=0;$<G.length;++$){var oe=G.charCodeAt($);55296<=oe&&57343>=oe&&++$,H+=4}return H};function Of(G,H,$){if(G>>>=0,H>>>=0,$=hn($>>>=0),H===2)var oe=Tf,Ie=Pf,Ue=zf,kA=EA=>E()[EA>>>1>>>0];else H===4&&(oe=Ff,Ie=Sf,Ue=Nf,kA=EA=>P()[EA>>>2>>>0]);i0(G,{name:$,fromWireType:EA=>{for(var lt,ut=P()[EA>>>2>>>0],Et=EA+4,cr=0;cr<=ut;++cr){var xr=EA+4+cr*H;cr!=ut&&kA(xr)!=0||(Et=oe(Et,xr-Et),lt===void 0?lt=Et:(lt+="\0",lt+=Et),Et=xr+H)}return Cn(EA),lt},toWireType:(EA,lt)=>{if(typeof lt!="string")throw new Z0(`Cannot pass non-string to C++ string type ${$}`);var ut=Ue(lt),Et=fc(4+ut+H);return P()[Et>>>2>>>0]=ut/H,Ie(lt,Et+4,ut+H),EA!==null&&EA.push(Cn,Et),Et},argPackAdvance:X0,readValueFromPointer:Lc,Eb(EA){Cn(EA)}})}function Lf(G,H){i0(G>>>=0,{Ub:!0,name:H=hn(H>>>0),argPackAdvance:0,fromWireType:()=>{},toWireType:()=>{}})}var Yf=()=>1;function Hf(G){Uc(G>>>0,!we,1,!de,131072,!1),Dg()}var eu=G=>{if(!bi)try{if(G(),!(0<uo))try{be?pc(st):Pc(st)}catch(H){H instanceof Dc||H=="unwind"||sA(0,H)}}catch(H){H instanceof Dc||H=="unwind"||sA(0,H)}};function Yc(G){G>>>=0,typeof Atomics.oc=="function"&&(Atomics.oc(v(),G>>>2,G).value.then(sc),G+=128,Atomics.store(v(),G>>>2,1))}var sc=()=>{var G=d2();G&&(Yc(G),eu(Du))};function Rf(G,H){(G>>>=0)==H>>>0?setTimeout(sc):be?postMessage({targetThread:G,cmd:"checkMailbox"}):(G=pn[G])&&G.postMessage({cmd:"checkMailbox"})}var Hc=[];function Wf(G,H,$,oe,Ie){for(H>>>=0,oe/=2,Hc.length=oe,$=Ie>>>0>>>3,Ie=0;Ie<oe;Ie++)Hc[Ie]=Ci[$+2*Ie]?Ci[$+2*Ie+1]:L()[$+2*Ie+1>>>0];return(H?Gc[H]:Pp[G])(...Hc)}function Vf(G){G>>>=0,be?postMessage({cmd:"cleanupThread",thread:G}):Gg(pn[G])}function jf(G){}var ic=(G,H)=>{var $=Sc[G];if($===void 0)throw G=yu(G),$=hn(G),Cn(G),new Z0(`${H} has unknown type ${$}`);return $},Au=(G,H,$)=>{var oe=[];return G=G.toWireType(oe,$),oe.length&&(P()[H>>>2>>>0]=Ii(oe)),G};function Uf(G,H,$){return H>>>=0,$>>>=0,G=$s(G>>>0),H=ic(H,"emval::as"),Au(H,$,G)}function Kf(G,H){return H>>>=0,G=$s(G>>>0),(H=ic(H,"emval::as")).toWireType(null,G)}var nc=G=>{try{G()}catch(H){U0(H)}},q0=0,mn=null,tu=0,oc=[],ru={},au={},Zf=0,Rc=null,Xf=[];function su(G){return function(){if(!bi){if(q0===0){var H=!1,$=!1;(oe=>{G().then(oe)})((oe=0)=>{if(!bi&&(tu=oe,H=!0,$)){q0=2,nc(()=>Fu(mn)),typeof Browser<"u"&&Browser.Lb.Sb&&Browser.Lb.resume(),oe=!1;try{var Ie=function(){var EA=v()[mn+8>>>2>>>0];return EA=vt[au[EA]],--uo,EA()}()}catch(EA){Ie=EA,oe=!0}var Ue=!1;if(!mn){var kA=Rc;kA&&(Rc=null,(oe?kA.reject:kA.resolve)(Ie),Ue=!0)}if(oe&&!Ue)throw Ie}}),$=!0,H||(q0=1,mn=function(){var oe=fc(65548),Ie=oe+12;P()[oe>>>2>>>0]=Ie,P()[oe+4>>>2>>>0]=Ie+65536,Ie=oc[0];var Ue=ru[Ie];return Ue===void 0&&(Ue=Zf++,ru[Ie]=Ue,au[Ue]=Ie),Ie=Ue,v()[oe+8>>>2>>>0]=Ie,oe}(),typeof Browser<"u"&&Browser.Lb.Sb&&Browser.Lb.pause(),nc(()=>Pu(mn)))}else q0===2?(q0=0,nc(Su),Cn(mn),mn=null,Xf.forEach(eu)):U0(`invalid state: ${q0}`);return tu}}()}function qf(G){return G>>>=0,su(()=>(G=$s(G)).then(Ii))}var lc=[];function Jf(G,H,$,oe){return $>>>=0,oe>>>=0,(G=lc[G>>>0])(null,H=$s(H>>>0),$,oe)}var _f={},cc=G=>{var H=_f[G];return H===void 0?hn(G):H};function $f(G,H,$,oe,Ie){return $>>>=0,oe>>>=0,Ie>>>=0,(G=lc[G>>>0])(H=$s(H>>>0),H[$=cc($)],oe,Ie)}var iu=()=>typeof globalThis=="object"?globalThis:Function("return this")();function ep(G){return(G>>>=0)==0?Ii(iu()):(G=cc(G),Ii(iu()[G]))}var Ap=G=>{var H=lc.length;return lc.push(G),H},tp=(G,H)=>{for(var $=Array(G),oe=0;oe<G;++oe)$[oe]=ic(P()[H+4*oe>>>2>>>0],"parameter "+oe);return $},nu=(G,H)=>Object.defineProperty(H,"name",{value:G});function rp(G,H,$){var oe=(H=tp(G,H>>>0)).shift();G--;var Ie=`return function (obj, func, destructorsRef, args) {
10`,Ue=0,kA=[];$===0&&kA.push("obj");for(var EA=["retType"],lt=[oe],ut=0;ut<G;++ut)kA.push("arg"+ut),EA.push("argType"+ut),lt.push(H[ut]),Ie+=`  var arg${ut} = argType${ut}.readValueFromPointer(args${Ue?"+"+Ue:""});
11`,Ue+=H[ut].argPackAdvance;return Ie+=`  var rv = ${$===1?"new func":"func.call"}(${kA.join(", ")});
12`,oe.Ub||(EA.push("emval_returnValue"),lt.push(Au),Ie+=`  return emval_returnValue(retType, destructorsRef, rv);
13`),EA.push(Ie+`};
14`),G=function(Et){var cr=Function;if(!(cr instanceof Function))throw new TypeError(`new_ called with constructor type ${typeof cr} which is not a function`);var xr=nu(cr.name||"unknownFunctionName",function(){});return xr.prototype=cr.prototype,xr=new xr,(Et=cr.apply(xr,Et))instanceof Object?Et:xr}(EA)(...lt),$=`methodCaller<(${H.map(Et=>Et.name).join(", ")}) => ${oe.name}>`,Ap(nu($,G))}function ap(G){return G=cc(G>>>0),Ii(Q[G])}function sp(G,H){return H>>>=0,G=$s(G>>>0),H=$s(H),Ii(G[H])}function ip(G){9<(G>>>=0)&&(n0[G+1]+=1)}function np(){return Ii([])}function op(G){G=$s(G>>>0);for(var H=Array(G.length),$=0;$<G.length;$++)H[$]=G[$];return Ii(H)}function lp(G){return Ii(cc(G>>>0))}function cp(){return Ii({})}function gp(G){for(var H=$s(G>>>=0);H.length;){var $=H.pop();H.pop()($)}Oc(G)}function up(G,H,$){H>>>=0,$>>>=0,G=$s(G>>>0),H=$s(H),$=$s($),G[H]=$}function dp(G,H){return H>>>=0,G=(G=ic(G>>>0,"_emval_take_value")).readValueFromPointer(H),Ii(G)}function fp(G,H){G=-9007199254740992>G||9007199254740992<G?NaN:Number(G),H>>>=0,G=new Date(1e3*G),v()[H>>>2>>>0]=G.getUTCSeconds(),v()[H+4>>>2>>>0]=G.getUTCMinutes(),v()[H+8>>>2>>>0]=G.getUTCHours(),v()[H+12>>>2>>>0]=G.getUTCDate(),v()[H+16>>>2>>>0]=G.getUTCMonth(),v()[H+20>>>2>>>0]=G.getUTCFullYear()-1900,v()[H+24>>>2>>>0]=G.getUTCDay(),G=(G.getTime()-Date.UTC(G.getUTCFullYear(),0,1,0,0,0,0))/864e5|0,v()[H+28>>>2>>>0]=G}var u2=G=>G%4==0&&(G%100!=0||G%400==0),ou=[0,31,60,91,121,152,182,213,244,274,305,335],lu=[0,31,59,90,120,151,181,212,243,273,304,334];function pp(G,H){G=-9007199254740992>G||9007199254740992<G?NaN:Number(G),H>>>=0,G=new Date(1e3*G),v()[H>>>2>>>0]=G.getSeconds(),v()[H+4>>>2>>>0]=G.getMinutes(),v()[H+8>>>2>>>0]=G.getHours(),v()[H+12>>>2>>>0]=G.getDate(),v()[H+16>>>2>>>0]=G.getMonth(),v()[H+20>>>2>>>0]=G.getFullYear()-1900,v()[H+24>>>2>>>0]=G.getDay();var $=(u2(G.getFullYear())?ou:lu)[G.getMonth()]+G.getDate()-1|0;v()[H+28>>>2>>>0]=$,v()[H+36>>>2>>>0]=-60*G.getTimezoneOffset(),$=new Date(G.getFullYear(),6,1).getTimezoneOffset();var oe=new Date(G.getFullYear(),0,1).getTimezoneOffset();G=0|($!=oe&&G.getTimezoneOffset()==Math.min(oe,$)),v()[H+32>>>2>>>0]=G}function hp(G){G>>>=0;var H=new Date(v()[G+20>>>2>>>0]+1900,v()[G+16>>>2>>>0],v()[G+12>>>2>>>0],v()[G+8>>>2>>>0],v()[G+4>>>2>>>0],v()[G>>>2>>>0],0),$=v()[G+32>>>2>>>0],oe=H.getTimezoneOffset(),Ie=new Date(H.getFullYear(),6,1).getTimezoneOffset(),Ue=new Date(H.getFullYear(),0,1).getTimezoneOffset(),kA=Math.min(Ue,Ie);return 0>$?v()[G+32>>>2>>>0]=+(Ie!=Ue&&kA==oe):0<$!=(kA==oe)&&(Ie=Math.max(Ue,Ie),H.setTime(H.getTime()+6e4*((0<$?kA:Ie)-oe))),v()[G+24>>>2>>>0]=H.getDay(),$=(u2(H.getFullYear())?ou:lu)[H.getMonth()]+H.getDate()-1|0,v()[G+28>>>2>>>0]=$,v()[G>>>2>>>0]=H.getSeconds(),v()[G+4>>>2>>>0]=H.getMinutes(),v()[G+8>>>2>>>0]=H.getHours(),v()[G+12>>>2>>>0]=H.getDate(),v()[G+16>>>2>>>0]=H.getMonth(),v()[G+20>>>2>>>0]=H.getYear(),G=H.getTime(),BigInt(isNaN(G)?-1:G/1e3)}function cu(G,H,$,oe,Ie,Ue,kA){return be?da(16,1,G,H,$,oe,Ie,Ue,kA):-52}function gu(G,H,$,oe,Ie,Ue){if(be)return da(17,1,G,H,$,oe,Ie,Ue)}function mp(G,H,$,oe){G>>>=0,H>>>=0,$>>>=0,oe>>>=0;var Ie=new Date().getFullYear(),Ue=new Date(Ie,0,1),kA=new Date(Ie,6,1);Ie=Ue.getTimezoneOffset();var EA=kA.getTimezoneOffset(),lt=Math.max(Ie,EA);P()[G>>>2>>>0]=60*lt,v()[H>>>2>>>0]=+(Ie!=EA),Ue=(G=ut=>ut.toLocaleTimeString(void 0,{hour12:!1,timeZoneName:"short"}).split(" ")[1])(Ue),kA=G(kA),EA<Ie?(g2(Ue,$,17),g2(kA,oe,17)):(g2(Ue,oe,17),g2(kA,$,17))}var Wc=[],uu=(G,H)=>{Wc.length=0;for(var $;$=w()[G++>>>0];){var oe=$!=105;H+=(oe&=$!=112)&&H%8?4:0,Wc.push($==112?P()[H>>>2>>>0]:$==106?Ci[H>>>3]:$==105?v()[H>>>2>>>0]:L()[H>>>3>>>0]),H+=oe?8:4}return Wc};function Cp(G,H,$){return G>>>=0,H=uu(H>>>0,$>>>0),Gc[G](...H)}function bp(G,H,$){return G>>>=0,H=uu(H>>>0,$>>>0),Gc[G](...H)}var Ip=()=>{},wp=()=>Date.now();function kp(G,H){return Ct(Ea(G>>>0,H>>>0))}var du,xp=()=>{throw uo+=1,"unwind"};function Bp(){return 4294901760}du=()=>performance.timeOrigin+performance.now();var vp=()=>navigator.hardwareConcurrency;function yp(){return U0("Cannot use emscripten_pc_get_function without -sUSE_OFFSET_CONVERTER"),0}function Ep(G){G>>>=0;var H=w().length;if(G<=H||4294901760<G)return!1;for(var $=1;4>=$;$*=2){var oe=H*(1+.2/$);oe=Math.min(oe,G+100663296);var Ie=Math;oe=Math.max(G,oe);e:{Ie=(Ie.min.call(Ie,4294901760,oe+(65536-oe%65536)%65536)-nA.buffer.byteLength+65535)/65536;try{nA.grow(Ie),kr();var Ue=1;break e}catch{}Ue=void 0}if(Ue)return!0}return!1}var gc=()=>(U0("Cannot use convertFrameToPC (needed by __builtin_return_address) without -sUSE_OFFSET_CONVERTER"),0),v1={},fu=G=>{G.forEach(H=>{gc()})};function Mp(){var G=Error().stack.toString().split(`
15`);return G[0]=="Error"&&G.shift(),fu(G),v1.Qb=gc(),v1.fc=G,v1.Qb}function Gp(G,H,$){if(G>>>=0,H>>>=0,v1.Qb==G)var oe=v1.fc;else(oe=Error().stack.toString().split(`
16`))[0]=="Error"&&oe.shift(),fu(oe);for(var Ie=3;oe[Ie]&&gc()!=G;)++Ie;for(G=0;G<$&&oe[G+Ie];++G)v()[H+4*G>>>2>>>0]=gc();return G}var Vc,jc={},pu=()=>{if(!Vc){var G,H={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:"./this.program"};for(G in jc)jc[G]===void 0?delete H[G]:H[G]=jc[G];var $=[];for(G in H)$.push(`${G}=${H[G]}`);Vc=$}return Vc};function hu(G,H){if(be)return da(18,1,G,H);G>>>=0,H>>>=0;var $=0;return pu().forEach((oe,Ie)=>{var Ue=H+$;for(Ie=P()[G+4*Ie>>>2>>>0]=Ue,Ue=0;Ue<oe.length;++Ue)h()[Ie++>>>0]=oe.charCodeAt(Ue);h()[Ie>>>0]=0,$+=oe.length+1}),0}function mu(G,H){if(be)return da(19,1,G,H);G>>>=0,H>>>=0;var $=pu();P()[G>>>2>>>0]=$.length;var oe=0;return $.forEach(Ie=>oe+=Ie.length+1),P()[H>>>2>>>0]=oe,0}function Cu(G){return be?da(20,1,G):52}function bu(G,H,$,oe){return be?da(21,1,G,H,$,oe):52}function Iu(G,H,$,oe){return be?da(22,1,G,H,$,oe):70}var Dp=[null,[],[]];function wu(G,H,$,oe){if(be)return da(23,1,G,H,$,oe);H>>>=0,$>>>=0,oe>>>=0;for(var Ie=0,Ue=0;Ue<$;Ue++){var kA=P()[H>>>2>>>0],EA=P()[H+4>>>2>>>0];H+=8;for(var lt=0;lt<EA;lt++){var ut=w()[kA+lt>>>0],Et=Dp[G];ut===0||ut===10?((G===1?Jt:Ct)(Sg(Et,0)),Et.length=0):Et.push(ut)}Ie+=EA}return P()[oe>>>2>>>0]=Ie,0}var ku=[31,29,31,30,31,30,31,31,30,31,30,31],xu=[31,28,31,30,31,30,31,31,30,31,30,31],Qp=(G,H)=>{h().set(G,H>>>0)};function Bu(G,H,$,oe){function Ie(CA,gr,Ia){for(CA=typeof CA=="number"?CA.toString():CA||"";CA.length<gr;)CA=Ia[0]+CA;return CA}function Ue(CA,gr){return Ie(CA,gr,"0")}function kA(CA,gr){function Ia(Ou){return 0>Ou?-1:0<Ou?1:0}var po;return(po=Ia(CA.getFullYear()-gr.getFullYear()))===0&&(po=Ia(CA.getMonth()-gr.getMonth()))===0&&(po=Ia(CA.getDate()-gr.getDate())),po}function EA(CA){switch(CA.getDay()){case 0:return new Date(CA.getFullYear()-1,11,29);case 1:return CA;case 2:return new Date(CA.getFullYear(),0,3);case 3:return new Date(CA.getFullYear(),0,2);case 4:return new Date(CA.getFullYear(),0,1);case 5:return new Date(CA.getFullYear()-1,11,31);case 6:return new Date(CA.getFullYear()-1,11,30)}}function lt(CA){var gr=CA.Cb;for(CA=new Date(new Date(CA.Db+1900,0,1).getTime());0<gr;){var Ia=CA.getMonth(),po=(u2(CA.getFullYear())?ku:xu)[Ia];if(!(gr>po-CA.getDate())){CA.setDate(CA.getDate()+gr);break}gr-=po-CA.getDate()+1,CA.setDate(1),11>Ia?CA.setMonth(Ia+1):(CA.setMonth(0),CA.setFullYear(CA.getFullYear()+1))}return Ia=new Date(CA.getFullYear()+1,0,4),gr=EA(new Date(CA.getFullYear(),0,4)),Ia=EA(Ia),0>=kA(gr,CA)?0>=kA(Ia,CA)?CA.getFullYear()+1:CA.getFullYear():CA.getFullYear()-1}G>>>=0,H>>>=0,$>>>=0,oe>>>=0;var ut=P()[oe+40>>>2>>>0];for(var Et in oe={lc:v()[oe>>>2>>>0],kc:v()[oe+4>>>2>>>0],Ib:v()[oe+8>>>2>>>0],Mb:v()[oe+12>>>2>>>0],Jb:v()[oe+16>>>2>>>0],Db:v()[oe+20>>>2>>>0],vb:v()[oe+24>>>2>>>0],Cb:v()[oe+28>>>2>>>0],sc:v()[oe+32>>>2>>>0],jc:v()[oe+36>>>2>>>0],mc:ut?Ea(ut):""},$=Ea($),ut={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"})$=$.replace(new RegExp(Et,"g"),ut[Et]);var cr="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),xr="January February March April May June July August September October November December".split(" ");for(Et in ut={"%a":CA=>cr[CA.vb].substring(0,3),"%A":CA=>cr[CA.vb],"%b":CA=>xr[CA.Jb].substring(0,3),"%B":CA=>xr[CA.Jb],"%C":CA=>Ue((CA.Db+1900)/100|0,2),"%d":CA=>Ue(CA.Mb,2),"%e":CA=>Ie(CA.Mb,2," "),"%g":CA=>lt(CA).toString().substring(2),"%G":lt,"%H":CA=>Ue(CA.Ib,2),"%I":CA=>((CA=CA.Ib)==0?CA=12:12<CA&&(CA-=12),Ue(CA,2)),"%j":CA=>{for(var gr=0,Ia=0;Ia<=CA.Jb-1;gr+=(u2(CA.Db+1900)?ku:xu)[Ia++]);return Ue(CA.Mb+gr,3)},"%m":CA=>Ue(CA.Jb+1,2),"%M":CA=>Ue(CA.kc,2),"%n":()=>`
17`,"%p":CA=>0<=CA.Ib&&12>CA.Ib?"AM":"PM","%S":CA=>Ue(CA.lc,2),"%t":()=>"	","%u":CA=>CA.vb||7,"%U":CA=>Ue(Math.floor((CA.Cb+7-CA.vb)/7),2),"%V":CA=>{var gr=Math.floor((CA.Cb+7-(CA.vb+6)%7)/7);if(2>=(CA.vb+371-CA.Cb-2)%7&&gr++,gr)gr==53&&((Ia=(CA.vb+371-CA.Cb)%7)==4||Ia==3&&u2(CA.Db)||(gr=1));else{gr=52;var Ia=(CA.vb+7-CA.Cb-1)%7;(Ia==4||Ia==5&&u2(CA.Db%400-1))&&gr++}return Ue(gr,2)},"%w":CA=>CA.vb,"%W":CA=>Ue(Math.floor((CA.Cb+7-(CA.vb+6)%7)/7),2),"%y":CA=>(CA.Db+1900).toString().substring(2),"%Y":CA=>CA.Db+1900,"%z":CA=>(0<=(CA=CA.jc)?"+":"-")+("0000"+((CA=Math.abs(CA)/60)/60*100+CA%60)).slice(-4),"%Z":CA=>CA.mc,"%%":()=>"%"},$=$.replace(/%%/g,"\0\0"),ut)$.includes(Et)&&($=$.replace(new RegExp(Et,"g"),ut[Et](oe)));return Et=function(CA){var gr=Array(zc(CA)+1);return Lg(CA,gr,0,gr.length),gr}($=$.replace(/\0\0/g,"%")),Et.length>H?0:(Qp(Et,G),Et.length-1)}function Tp(G,H,$,oe){return Bu(G>>>0,H>>>0,$>>>0,oe>>>0)}be||function(){for(var G=Q.numThreads-1;G--;)Tg();ys.unshift(()=>{go++,function(H){be?H():Promise.all(K0.map(Qg)).then(H)}(()=>Ig())})}();for(var vu=Array(256),uc=0;256>uc;++uc)vu[uc]=String.fromCharCode(uc);Jg=vu,Z0=Q.BindingError=class extends Error{constructor(G){super(G),this.name="BindingError"}},Q.InternalError=class extends Error{constructor(G){super(G),this.name="InternalError"}},n0.push(0,1,void 0,1,null,1,!0,1,!1,1),Q.count_emval_handles=()=>n0.length/2-5-Nc.length;var Pp=[Tc,Eg,Pg,Ng,Og,Yg,Hg,Rg,Wg,Vg,jg,Ug,Kg,Zg,Xg,qg,cu,gu,hu,mu,Cu,bu,Iu,wu],vt=function(){function G($,oe){return vt=$.exports,vt=function(){var Ie=vt,Ue={};for(let[kA,EA]of Object.entries(Ie))Ue[kA]=typeof EA=="function"?(...lt)=>{oc.push(kA);try{return EA(...lt)}finally{bi||(oc.pop(),mn&&q0===1&&oc.length===0&&(q0=0,uo+=1,nc(zu),typeof Fibers<"u"&&Fibers.tc()))}}:EA;return Ue}(),vt=function(){var Ie=vt,Ue=EA=>lt=>EA(lt)>>>0,kA=EA=>()=>EA()>>>0;return(Ie=Object.assign({},Ie)).Da=Ue(Ie.Da),Ie.gb=kA(Ie.gb),Ie.ib=Ue(Ie.ib),Ie.emscripten_main_runtime_thread_id=kA(Ie.emscripten_main_runtime_thread_id),Ie.tb=Ue(Ie.tb),Ie.ub=kA(Ie.ub),Ie}(),Mg.push(vt.jb),s0.unshift(vt.Ca),gt=oe,Ig(),vt}var H=vg();if(go++,Q.instantiateWasm)try{return Q.instantiateWasm(H,G)}catch($){Ct(`Module.instantiateWasm callback failed with error: ${$}`),Ae($)}return Mc||(Mc=Q.locateFile?wg("ort-wasm-simd-threaded.jsep.wasm")?"ort-wasm-simd-threaded.jsep.wasm":Q.locateFile?Q.locateFile("ort-wasm-simd-threaded.jsep.wasm",zA):zA+"ort-wasm-simd-threaded.jsep.wasm":new URL(d("./node_modules/onnxruntime-web/dist/ort-wasm-simd-threaded.jsep.wasm"),d.b).href),function($,oe){var Ie=Mc;return jA||typeof WebAssembly.instantiateStreaming!="function"||wg(Ie)||kg(Ie)||typeof fetch!="function"?Bg(Ie,$,oe):fetch(Ie,{credentials:"same-origin"}).then(Ue=>WebAssembly.instantiateStreaming(Ue,$).then(oe,function(kA){return Ct(`wasm streaming compile failed: ${kA}`),Ct("falling back to ArrayBuffer instantiation"),Bg(Ie,$,oe)}))}(H,function($){G($.instance,$.module)}).catch(Ae),{}}(),yu=G=>(yu=vt.Da)(G),Eu=()=>(Eu=vt.Ea)();Q._OrtInit=(G,H)=>(Q._OrtInit=vt.Fa)(G,H),Q._OrtGetLastError=(G,H)=>(Q._OrtGetLastError=vt.Ga)(G,H),Q._OrtCreateSessionOptions=(G,H,$,oe,Ie,Ue,kA,EA,lt,ut)=>(Q._OrtCreateSessionOptions=vt.Ha)(G,H,$,oe,Ie,Ue,kA,EA,lt,ut),Q._OrtAppendExecutionProvider=(G,H)=>(Q._OrtAppendExecutionProvider=vt.Ia)(G,H),Q._OrtAddFreeDimensionOverride=(G,H,$)=>(Q._OrtAddFreeDimensionOverride=vt.Ja)(G,H,$),Q._OrtAddSessionConfigEntry=(G,H,$)=>(Q._OrtAddSessionConfigEntry=vt.Ka)(G,H,$),Q._OrtReleaseSessionOptions=G=>(Q._OrtReleaseSessionOptions=vt.La)(G),Q._OrtCreateSession=(G,H,$)=>(Q._OrtCreateSession=vt.Ma)(G,H,$),Q._OrtReleaseSession=G=>(Q._OrtReleaseSession=vt.Na)(G),Q._OrtGetInputOutputCount=(G,H,$)=>(Q._OrtGetInputOutputCount=vt.Oa)(G,H,$),Q._OrtGetInputName=(G,H)=>(Q._OrtGetInputName=vt.Pa)(G,H),Q._OrtGetOutputName=(G,H)=>(Q._OrtGetOutputName=vt.Qa)(G,H),Q._OrtFree=G=>(Q._OrtFree=vt.Ra)(G),Q._OrtCreateTensor=(G,H,$,oe,Ie,Ue)=>(Q._OrtCreateTensor=vt.Sa)(G,H,$,oe,Ie,Ue),Q._OrtGetTensorData=(G,H,$,oe,Ie)=>(Q._OrtGetTensorData=vt.Ta)(G,H,$,oe,Ie),Q._OrtReleaseTensor=G=>(Q._OrtReleaseTensor=vt.Ua)(G),Q._OrtCreateRunOptions=(G,H,$,oe)=>(Q._OrtCreateRunOptions=vt.Va)(G,H,$,oe),Q._OrtAddRunConfigEntry=(G,H,$)=>(Q._OrtAddRunConfigEntry=vt.Wa)(G,H,$),Q._OrtReleaseRunOptions=G=>(Q._OrtReleaseRunOptions=vt.Xa)(G),Q._OrtCreateBinding=G=>(Q._OrtCreateBinding=vt.Ya)(G),Q._OrtBindInput=(G,H,$)=>(Q._OrtBindInput=vt.Za)(G,H,$),Q._OrtBindOutput=(G,H,$,oe)=>(Q._OrtBindOutput=vt._a)(G,H,$,oe),Q._OrtClearBoundOutputs=G=>(Q._OrtClearBoundOutputs=vt.$a)(G),Q._OrtReleaseBinding=G=>(Q._OrtReleaseBinding=vt.ab)(G),Q._OrtRunWithBinding=(G,H,$,oe,Ie)=>(Q._OrtRunWithBinding=vt.bb)(G,H,$,oe,Ie),Q._OrtRun=(G,H,$,oe,Ie,Ue,kA,EA)=>(Q._OrtRun=vt.cb)(G,H,$,oe,Ie,Ue,kA,EA),Q._OrtEndProfiling=G=>(Q._OrtEndProfiling=vt.db)(G),Q._JsepOutput=(G,H,$)=>(Q._JsepOutput=vt.eb)(G,H,$),Q._JsepGetNodeName=G=>(Q._JsepGetNodeName=vt.fb)(G);var dc,d2=()=>(d2=vt.gb)(),Cn=Q._free=G=>(Cn=Q._free=vt.hb)(G),fc=Q._malloc=G=>(fc=Q._malloc=vt.ib)(G),Uc=(G,H,$,oe,Ie,Ue)=>(Uc=vt.lb)(G,H,$,oe,Ie,Ue),Mu=()=>(Mu=vt.mb)(),Gu=(G,H,$,oe,Ie)=>(Gu=vt.nb)(G,H,$,oe,Ie),Kc=G=>(Kc=vt.ob)(G),pc=G=>(pc=vt.pb)(G),Du=()=>(Du=vt.qb)(),Qu=(G,H)=>(Qu=vt.rb)(G,H),hc=G=>(hc=vt.sb)(G),Zc=G=>(Zc=vt.tb)(G),Xc=()=>(Xc=vt.ub)(),Tu=Q.dynCall_ii=(G,H)=>(Tu=Q.dynCall_ii=vt.wb)(G,H),Pu=G=>(Pu=vt.xb)(G),zu=()=>(zu=vt.yb)(),Fu=G=>(Fu=vt.zb)(G),Su=()=>(Su=vt.Ab)();function Nu(){0<go||(be?(ee(Q),be||ac(s0),startWorker(Q)):(ac(ys),0<go||dc||(dc=!0,Q.calledRun=!0,bi||(be||ac(s0),ee(Q),be||ac(Ec)))))}return Q.___start_em_js=932469,Q.___stop_em_js=932715,Q.stackSave=()=>Xc(),Q.stackRestore=G=>hc(G),Q.stackAlloc=G=>Zc(G),Q.setValue=function(G,H,$="i8"){switch($.endsWith("*")&&($="*"),$){case"i1":case"i8":h()[G>>>0]=H;break;case"i16":B()[G>>>1>>>0]=H;break;case"i32":v()[G>>>2>>>0]=H;break;case"i64":Ci[G>>>3]=BigInt(H);break;case"float":N()[G>>>2>>>0]=H;break;case"double":L()[G>>>3>>>0]=H;break;case"*":P()[G>>>2>>>0]=H;break;default:U0(`invalid type for setValue: ${$}`)}},Q.getValue=function(G,H="i8"){switch(H.endsWith("*")&&(H="*"),H){case"i1":case"i8":return h()[G>>>0];case"i16":return B()[G>>>1>>>0];case"i32":return v()[G>>>2>>>0];case"i64":return Ci[G>>>3];case"float":return N()[G>>>2>>>0];case"double":return L()[G>>>3>>>0];case"*":return P()[G>>>2>>>0];default:U0(`invalid type for getValue: ${H}`)}},Q.UTF8ToString=Ea,Q.stringToUTF8=g2,Q.lengthBytesUTF8=zc,B1=function G(){dc||Nu(),dc||(B1=G)},Nu(),Q.PTR_SIZE=4,le},Vr=Ar,((n=globalThis.self)==null?void 0:n.name)==="em-pthread"&&Ar()}),A2=Pe(()=>{bA(),$t=typeof location>"u"?void 0:location.origin,Pr=(()=>{var n;return(n=import.meta.url)!=null&&n.startsWith("file:")?new URL(new URL(d("./node_modules/onnxruntime-web/dist/ort.bundle.min.mjs?46eb"),d.b).href,$t).href:import.meta.url})(),wt=()=>{if(Pr&&!Pr.startsWith("blob:"))return Pr.substring(0,Pr.lastIndexOf("/")+1)},Xa=(n,u)=>{try{let h=u??Pr;return(h?new URL(n,h):new URL(n)).origin===$t}catch{return!1}},La=(n,u)=>{let h=u??Pr;try{return(h?new URL(n,h):new URL(n)).href}catch{return}},wa=(n,u)=>`${u??"./"}${n}`,qA=async n=>{let u=await(await fetch(n,{credentials:"same-origin"})).blob();return URL.createObjectURL(u)},et=async n=>(await import(n)).default,FA=(tt(),iA(NA)).default,Kt=async()=>{if(!Pr)throw new Error("Failed to load proxy worker: cannot determine the script source URL.");if(Xa(Pr))return[void 0,FA()];let n=await qA(Pr);return[n,FA(n)]},Wa=(H1(),iA(at)).default,Pa=async(n,u,h)=>{if(!n&&!u&&Wa&&Pr&&Xa(Pr))return[void 0,Wa];{let w="ort-wasm-simd-threaded.jsep.mjs",B=n??La(w,u),E=h&&B&&!Xa(B,u),v=E?await qA(B):B??wa(w,u);return[E?v:void 0,await et(v)]}}}),sn=Pe(()=>{A2(),qa=!1,Ja=!1,os=!1,Yr=()=>{if(typeof SharedArrayBuffer>"u")return!1;try{return typeof MessageChannel<"u"&&new MessageChannel().port1.postMessage(new SharedArrayBuffer(1)),WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,5,4,1,3,1,1,10,11,1,9,0,65,0,254,16,2,0,26,11]))}catch{return!1}},yt=()=>{try{return WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,30,1,28,0,65,0,253,15,253,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,253,186,1,26,11]))}catch{return!1}},Ga=async n=>{if(qa)return Promise.resolve();if(Ja)throw new Error("multiple calls to 'initializeWebAssembly()' detected.");if(os)throw new Error("previous call to 'initializeWebAssembly()' failed.");Ja=!0;let u=n.initTimeout,h=n.numThreads;if(!yt())throw new Error("WebAssembly SIMD is not supported in the current environment.");let w=Yr();h>1&&!w&&(typeof self<"u"&&!self.crossOriginIsolated&&console.warn("env.wasm.numThreads is set to "+h+", but this will not work unless you enable crossOriginIsolated mode. See https://web.dev/cross-origin-isolation-guide/ for more info."),console.warn("WebAssembly multi-threading is not supported in the current environment. Falling back to single-threading."),n.numThreads=h=1);let B=n.wasmPaths,E=typeof B=="string"?B:void 0,v=B==null?void 0:B.mjs,P=(v==null?void 0:v.href)??v,N=B==null?void 0:B.wasm,L=(N==null?void 0:N.href)??N,ee=n.wasmBinary,[Ae,Q]=await Pa(P,E,h>1),le=!1,de=[];if(u>0&&de.push(new Promise(we=>{setTimeout(()=>{le=!0,we()},u)})),de.push(new Promise((we,be)=>{let Me={numThreads:h};if(ee)Me.wasmBinary=ee;else if(L||E)Me.locateFile=Fe=>L??E+Fe;else if(P&&P.indexOf("blob:")!==0)Me.locateFile=Fe=>new URL(Fe,P).href;else if(Ae){let Fe=wt();Fe&&(Me.locateFile=We=>Fe+We)}Q(Me).then(Fe=>{Ja=!1,qa=!0,ns=Fe,we(),Ae&&URL.revokeObjectURL(Ae)},Fe=>{Ja=!1,os=!0,be(Fe)})})),await Promise.race(de),le)throw new Error(`WebAssembly backend initializing failed due to timeout: ${u}ms`)},zr=()=>{if(qa&&ns)return ns;throw new Error("WebAssembly is not initialized yet.")}}),m1=Pe(()=>{sn(),jr=(n,u)=>{let h=zr(),w=h.lengthBytesUTF8(n)+1,B=h._malloc(w);return h.stringToUTF8(n,B,w),u.push(B),B},ms=(n,u,h,w)=>{if(typeof n=="object"&&n!==null){if(h.has(n))throw new Error("Circular reference in options");h.add(n)}Object.entries(n).forEach(([B,E])=>{let v=u?u+B:B;if(typeof E=="object")ms(E,v+".",h,w);else if(typeof E=="string"||typeof E=="number")w(v,E.toString());else{if(typeof E!="boolean")throw new Error("Can't handle extra config type: "+typeof E);w(v,E?"1":"0")}})},Xt=n=>{let u=zr(),h=u.stackSave();try{let w=u.PTR_SIZE,B=u.stackAlloc(2*w);u._OrtGetLastError(B,B+w);let E=Number(u.getValue(B,w===4?"i32":"i64")),v=u.getValue(B+w,"*"),P=v?u.UTF8ToString(v):"";throw new Error(`${n} ERROR_CODE: ${E}, ERROR_MESSAGE: ${P}`)}finally{u.stackRestore(h)}}}),C1=Pe(()=>{sn(),m1(),_a=n=>{let u=zr(),h=0,w=[],B=n||{};try{if((n==null?void 0:n.logSeverityLevel)===void 0)B.logSeverityLevel=2;else if(typeof n.logSeverityLevel!="number"||!Number.isInteger(n.logSeverityLevel)||n.logSeverityLevel<0||n.logSeverityLevel>4)throw new Error(`log serverity level is not valid: ${n.logSeverityLevel}`);if((n==null?void 0:n.logVerbosityLevel)===void 0)B.logVerbosityLevel=0;else if(typeof n.logVerbosityLevel!="number"||!Number.isInteger(n.logVerbosityLevel))throw new Error(`log verbosity level is not valid: ${n.logVerbosityLevel}`);(n==null?void 0:n.terminate)===void 0&&(B.terminate=!1);let E=0;return(n==null?void 0:n.tag)!==void 0&&(E=jr(n.tag,w)),h=u._OrtCreateRunOptions(B.logSeverityLevel,B.logVerbosityLevel,!!B.terminate,E),h===0&&Xt("Can't create run options."),(n==null?void 0:n.extra)!==void 0&&ms(n.extra,"",new WeakSet,(v,P)=>{let N=jr(v,w),L=jr(P,w);u._OrtAddRunConfigEntry(h,N,L)!==0&&Xt(`Can't set a run config entry: ${v} - ${P}.`)}),[h,w]}catch(E){throw h!==0&&u._OrtReleaseRunOptions(h),w.forEach(v=>u._free(v)),E}}}),R1=Pe(()=>{sn(),m1(),Cs=n=>{switch(n){case"disabled":return 0;case"basic":return 1;case"extended":return 2;case"all":return 99;default:throw new Error(`unsupported graph optimization level: ${n}`)}},wi=n=>{switch(n){case"sequential":return 0;case"parallel":return 1;default:throw new Error(`unsupported execution mode: ${n}`)}},ei=n=>{n.extra||(n.extra={}),n.extra.session||(n.extra.session={});let u=n.extra.session;u.use_ort_model_bytes_directly||(u.use_ort_model_bytes_directly="1"),n.executionProviders&&n.executionProviders.some(h=>(typeof h=="string"?h:h.name)==="webgpu")&&(n.enableMemPattern=!1)},Ai=(n,u,h)=>{for(let w of u){let B=typeof w=="string"?w:w.name;switch(B){case"webnn":if(B="WEBNN",typeof w!="string"){let v=w==null?void 0:w.deviceType;if(v){let P=jr("deviceType",h),N=jr(v,h);zr()._OrtAddSessionConfigEntry(n,P,N)!==0&&Xt(`Can't set a session config entry: 'deviceType' - ${v}.`)}}break;case"webgpu":if(B="JS",typeof w!="string"){let v=w;if(v!=null&&v.preferredLayout){if(v.preferredLayout!=="NCHW"&&v.preferredLayout!=="NHWC")throw new Error(`preferredLayout must be either 'NCHW' or 'NHWC': ${v.preferredLayout}`);let P=jr("preferredLayout",h),N=jr(v.preferredLayout,h);zr()._OrtAddSessionConfigEntry(n,P,N)!==0&&Xt(`Can't set a session config entry: 'preferredLayout' - ${v.preferredLayout}.`)}}break;case"wasm":case"cpu":continue;default:throw new Error(`not supported execution provider: ${B}`)}let E=jr(B,h);zr()._OrtAppendExecutionProvider(n,E)!==0&&Xt(`Can't append execution provider: ${B}.`)}},ki=n=>{let u=zr(),h=0,w=[],B=n||{};ei(B);try{let E=Cs(B.graphOptimizationLevel??"all"),v=wi(B.executionMode??"sequential"),P=typeof B.logId=="string"?jr(B.logId,w):0,N=B.logSeverityLevel??2;if(!Number.isInteger(N)||N<0||N>4)throw new Error(`log serverity level is not valid: ${N}`);let L=B.logVerbosityLevel??0;if(!Number.isInteger(L)||L<0||L>4)throw new Error(`log verbosity level is not valid: ${L}`);let ee=typeof B.optimizedModelFilePath=="string"?jr(B.optimizedModelFilePath,w):0;if(h=u._OrtCreateSessionOptions(E,!!B.enableCpuMemArena,!!B.enableMemPattern,v,!!B.enableProfiling,0,P,N,L,ee),h===0&&Xt("Can't create session options."),B.executionProviders&&Ai(h,B.executionProviders,w),B.enableGraphCapture!==void 0){if(typeof B.enableGraphCapture!="boolean")throw new Error(`enableGraphCapture must be a boolean value: ${B.enableGraphCapture}`);let Ae=jr("enableGraphCapture",w),Q=jr(B.enableGraphCapture.toString(),w);u._OrtAddSessionConfigEntry(h,Ae,Q)!==0&&Xt(`Can't set a session config entry: 'enableGraphCapture' - ${B.enableGraphCapture}.`)}if(B.freeDimensionOverrides)for(let[Ae,Q]of Object.entries(B.freeDimensionOverrides)){if(typeof Ae!="string")throw new Error(`free dimension override name must be a string: ${Ae}`);if(typeof Q!="number"||!Number.isInteger(Q)||Q<0)throw new Error(`free dimension override value must be a non-negative integer: ${Q}`);let le=jr(Ae,w);u._OrtAddFreeDimensionOverride(h,le,Q)!==0&&Xt(`Can't set a free dimension override: ${Ae} - ${Q}.`)}return B.extra!==void 0&&ms(B.extra,"",new WeakSet,(Ae,Q)=>{let le=jr(Ae,w),de=jr(Q,w);u._OrtAddSessionConfigEntry(h,le,de)!==0&&Xt(`Can't set a session config entry: ${Ae} - ${Q}.`)}),[h,w]}catch(E){throw h!==0&&u._OrtReleaseSessionOptions(h)!==0&&Xt("Can't release session options."),w.forEach(v=>u._free(v)),E}}}),Mt=Pe(()=>{qr=n=>{switch(n){case"int8":return 3;case"uint8":return 2;case"bool":return 9;case"int16":return 5;case"uint16":return 4;case"int32":return 6;case"uint32":return 12;case"float16":return 10;case"float32":return 1;case"float64":return 11;case"string":return 8;case"int64":return 7;case"uint64":return 13;case"int4":return 22;case"uint4":return 21;default:throw new Error(`unsupported data type: ${n}`)}},ls=n=>{switch(n){case 3:return"int8";case 2:return"uint8";case 9:return"bool";case 5:return"int16";case 4:return"uint16";case 6:return"int32";case 12:return"uint32";case 10:return"float16";case 1:return"float32";case 11:return"float64";case 8:return"string";case 7:return"int64";case 13:return"uint64";case 22:return"int4";case 21:return"uint4";default:throw new Error(`unsupported data type: ${n}`)}},bs=(n,u)=>{let h=[-1,4,1,1,2,2,4,8,-1,1,2,8,4,8,-1,-1,-1,-1,-1,-1,-1,.5,.5][n],w=typeof u=="number"?u:u.reduce((B,E)=>B*E,1);return h>0?Math.ceil(w*h):void 0},ti=n=>{switch(n){case"float16":return typeof Float16Array<"u"&&Float16Array.from?Float16Array:Uint16Array;case"float32":return Float32Array;case"uint8":case"bool":return Uint8Array;case"int8":return Int8Array;case"uint16":return Uint16Array;case"int16":return Int16Array;case"int32":return Int32Array;case"float64":return Float64Array;case"uint32":return Uint32Array;case"int64":return BigInt64Array;case"uint64":return BigUint64Array;default:throw new Error(`unsupported type: ${n}`)}},$a=n=>{switch(n){case"verbose":return 0;case"info":return 1;case"warning":return 2;case"error":return 3;case"fatal":return 4;default:throw new Error(`unsupported logging level: ${n}`)}},Es=n=>n==="float32"||n==="float16"||n==="int32"||n==="int64"||n==="uint32"||n==="uint8"||n==="bool"||n==="uint4"||n==="int4",Br=n=>n==="float32"||n==="float16"||n==="int32"||n==="int64"||n==="uint32"||n==="uint64"||n==="int8"||n==="uint8"||n==="bool"||n==="uint4"||n==="int4",Ls=n=>{switch(n){case"none":return 0;case"cpu":return 1;case"cpu-pinned":return 2;case"texture":return 3;case"gpu-buffer":return 4;case"ml-tensor":return 5;default:throw new Error(`unsupported data location: ${n}`)}}}),b1=Pe(()=>{bA(),Ys=async n=>{if(typeof n=="string"){let u=await fetch(n);if(!u.ok)throw new Error(`failed to load external data file: ${n}`);let h=u.headers.get("Content-Length"),w=h?parseInt(h,10):0;if(w<1073741824)return new Uint8Array(await u.arrayBuffer());{if(!u.body)throw new Error(`failed to load external data file: ${n}, no response body.`);let B,E=u.body.getReader();try{B=new ArrayBuffer(w)}catch(P){if(!(P instanceof RangeError))throw P;{let N=Math.ceil(w/65536);B=new WebAssembly.Memory({initial:N,maximum:N}).buffer}}let v=0;for(;;){let{done:P,value:N}=await E.read();if(P)break;let L=N.byteLength;new Uint8Array(B,v,L).set(N),v+=L}return new Uint8Array(B,0,w)}}return n instanceof Blob?new Uint8Array(await n.arrayBuffer()):n instanceof Uint8Array?n:new Uint8Array(n)}}),mi=Pe(()=>{Mt(),xi=["V","I","W","E","F"],Hs=(n,u)=>{`${xi[n]}${new Date().toISOString()}${u}`},Gs=(n,u)=>{Ms=n,Rs=u},xt=(n,u)=>{let h=$a(n);h>=$a(Ms)&&Hs(h,typeof u=="function"?u():u)},Ft=(...n)=>{Rs&&xt(...n)}}),I1=Pe(()=>{Mt(),ka=(n,u)=>new(ti(u))(n)}),t2=Pe(()=>{}),W1=Pe(()=>{mi(),t2(),ri=new Map([[64,250],[128,200],[256,200],[512,200],[2048,230],[4096,200],[8192,50],[16384,50],[32768,50],[65536,50],[131072,50],[262144,50],[524288,50],[1048576,50],[2097152,30],[4194304,20],[8388608,10],[12582912,10],[16777216,10],[26214400,15],[33554432,22],[44236800,2],[58982400,6],[67108864,6],[134217728,6],[167772160,6]]),Ds=[],Ws=n=>16*Math.ceil(Number(n)/16),cs=n=>{for(let u=0;u<Ds.length;u++){let h=Ds[u];if(n<=h)return h}return 16*Math.ceil(n/16)},Qs=1,rA=()=>Qs++,re=async(n,u,h,w)=>{let B=Ws(h),E=n.device.createBuffer({size:B,usage:GPUBufferUsage.COPY_DST|GPUBufferUsage.MAP_READ});try{let v=n.getCommandEncoder();n.endComputePass(),v.copyBufferToBuffer(u,0,E,0,B),n.flush(),await E.mapAsync(GPUMapMode.READ);let P=E.getMappedRange();if(w){let N=w();return N.set(new Uint8Array(P,0,h)),N}return new Uint8Array(P.slice(0,h))}finally{E.destroy()}},xe=class{constructor(n){this.backend=n,this.storageCache=new Map,this.freeBuffers=new Map,this.freeUniformBuffers=new Map,this.buffersPending=[],this.capturedPendingBuffers=new Map;for(let[u]of ri)Ds.push(u),this.freeBuffers.set(u,[]),this.freeUniformBuffers.set(u,[]);this.sessionCount=0}upload(n,u){let h=u.buffer,w=u.byteOffset,B=u.byteLength,E=Ws(B),v=this.storageCache.get(n);if(!v)throw new Error("gpu data for uploading does not exist");if(Number(v.originalSize)!==B)throw new Error(`inconsistent data size. gpu data size=${v.originalSize}, data size=${B}`);let P=this.backend.device.createBuffer({mappedAtCreation:!0,size:E,usage:GPUBufferUsage.MAP_WRITE|GPUBufferUsage.COPY_SRC}),N=P.getMappedRange();new Uint8Array(N).set(new Uint8Array(h,w,B)),P.unmap();let L=this.backend.device.createCommandEncoder();L.copyBufferToBuffer(P,0,v.gpuData.buffer,0,E),this.backend.device.queue.submit([L.finish()]),P.destroy(),Ft("verbose",()=>`[WebGPU] GpuDataManager.upload(id=${n})`)}memcpy(n,u){let h=this.storageCache.get(n);if(!h)throw new Error("source gpu data for memcpy does not exist");let w=this.storageCache.get(u);if(!w)throw new Error("destination gpu data for memcpy does not exist");if(h.originalSize!==w.originalSize)throw new Error("inconsistent source and destination gpu data size");let B=Ws(h.originalSize),E=this.backend.getCommandEncoder();this.backend.endComputePass(),E.copyBufferToBuffer(h.gpuData.buffer,0,w.gpuData.buffer,0,B)}registerExternalBuffer(n,u,h){let w;if(h){if(w=h[0],n===h[1])return Ft("verbose",()=>`[WebGPU] GpuDataManager.registerExternalBuffer(size=${u}) => id=${w}, buffer is the same, skip.`),w;if(this.backend.capturedCommandList.has(this.backend.currentSessionId))throw new Error(`Registering a different external buffer under graph capture mode is not supported yet.
18             Please use the previous external buffer!`)}else w=rA();return this.storageCache.set(w,{gpuData:{id:w,type:0,buffer:n},originalSize:u}),Ft("verbose",()=>`[WebGPU] GpuDataManager.registerExternalBuffer(size=${u}) => id=${w}, registered.`),w}unregisterExternalBuffer(n){n!==void 0&&(this.storageCache.delete(n),Ft("verbose",()=>`[WebGPU] GpuDataManager.unregisterExternalBuffer() => id=${n}`))}create(n,u=GPUBufferUsage.STORAGE|GPUBufferUsage.COPY_SRC|GPUBufferUsage.COPY_DST){let h,w=cs(n),B=(u&GPUBufferUsage.STORAGE)===GPUBufferUsage.STORAGE,E=(u&GPUBufferUsage.UNIFORM)===GPUBufferUsage.UNIFORM;if(B||E){let P=(B?this.freeBuffers:this.freeUniformBuffers).get(w);h=P&&P.length>0?P.pop():this.backend.device.createBuffer({size:w,usage:u})}else h=this.backend.device.createBuffer({size:w,usage:u});let v={id:rA(),type:0,buffer:h};return this.storageCache.set(v.id,{gpuData:v,originalSize:Number(n)}),Ft("verbose",()=>`[WebGPU] GpuDataManager.create(size=${n}) => id=${v.id}`),v}get(n){var u;return(u=this.storageCache.get(n))==null?void 0:u.gpuData}release(n){let u=typeof n=="bigint"?Number(n):n,h=this.storageCache.get(u);if(!h){if(this.storageCache.size===0)return 0;throw new Error("releasing data does not exist")}return Ft("verbose",()=>`[WebGPU] GpuDataManager.release(id=${u}), gpuDataId=${h.gpuData.id}`),this.storageCache.delete(u),this.buffersPending.push(h.gpuData.buffer),h.originalSize}async download(n,u){let h=this.storageCache.get(Number(n));if(!h)throw new Error("data does not exist");await re(this.backend,h.gpuData.buffer,h.originalSize,u)}refreshPendingBuffers(){if(this.buffersPending.length!==0)if(this.backend.sessionStatus==="default"){for(let n of this.buffersPending){let u=ri.get(n.size);if((n.usage&GPUBufferUsage.STORAGE)===GPUBufferUsage.STORAGE){let h=this.freeBuffers.get(n.size)||[];u===void 0||h.length>=u?n.destroy():h.push(n)}else if((n.usage&GPUBufferUsage.UNIFORM)===GPUBufferUsage.UNIFORM){let h=this.freeUniformBuffers.get(n.size)||[];u===void 0||h.length>=u?n.destroy():h.push(n)}else n.destroy()}this.buffersPending=[]}else{let n=this.capturedPendingBuffers.get(this.backend.currentSessionId);n||(n=[],this.capturedPendingBuffers.set(this.backend.currentSessionId,n));for(let u of this.buffersPending)n.push(u);this.buffersPending=[]}}dispose(){this.freeBuffers.forEach(n=>{n.forEach(u=>{u.destroy()})}),this.freeUniformBuffers.forEach(n=>{n.forEach(u=>{u.destroy()})}),this.storageCache.forEach(n=>{n.gpuData.buffer.destroy()}),this.capturedPendingBuffers.forEach(n=>{n.forEach(u=>{u.destroy()})}),this.storageCache=new Map,this.freeBuffers=new Map,this.freeUniformBuffers=new Map,this.capturedPendingBuffers=new Map}onCreateSession(){this.sessionCount+=1}onReleaseSession(n){let u=this.capturedPendingBuffers.get(n);u&&(u.forEach(h=>{h.destroy()}),this.capturedPendingBuffers.delete(n)),this.sessionCount-=1,this.sessionCount===0&&(Ft("warning",()=>"[WebGPU] Clearing webgpu buffer cache"),this.storageCache.forEach(h=>{h.gpuData.buffer.destroy()}),this.storageCache=new Map)}},Se=(...n)=>new xe(...n)}),Zr=Pe(()=>{je=class{constructor(n){Object.assign(this,n)}get cacheKey(){return this.key||(this.key=Object.getOwnPropertyNames(this).sort().map(n=>`${this[n]}`).join(";")),this.key}},Ze=n=>new je(n)}),St=Pe(()=>{uA=class{static calcMatMulShape(n,u){return n[1]!==u[0]?void 0:[n[0],u[1]]}},PA=class{static calcShape(n,u,h=!1){let w=n.length,B=u.length;if(w===0)return u;if(B===0)return n;let E=Math.max(n.length,u.length),v=new Array(E);if(h){if(w<2||B<2)return;let P=uA.calcMatMulShape([n[w-2],n[w-1]],[u[B-2],u[B-1]]);if(P===void 0)return;[v[E-2],v[E-1]]=P}for(let P=h?3:1;P<=E;P++){let N=w-P<0?1:n[w-P],L=B-P<0?1:u[B-P];if(N!==L&&N>1&&L>1)return;let ee=Math.max(N,L);if(N&&L)v[E-P]=Math.max(N,L);else{if(ee>1)return;v[E-P]=0}}return v}static isValidBroadcast(n,u){let h=n.length,w=u.length;if(h>w)return!1;for(let B=1;B<=h;B++)if(n[h-B]!==1&&n[h-B]!==u[w-B])return!1;return!0}},Le=class mc{static size(u){return mc.getSizeFromDimensionRange(u,0,u.length)}static convertShape(u,h=4){let w=u.length;if(w===0)return[];let B=new Array(w),E=w-1;for(;E>=0;){if(u[E]%h==0){B[E]=u[E]/h;break}if(h%u[E]!=0)throw new Error("cannot convert shape");B[E]=1,h/=u[E],E--}for(E--;E>=0;E--)B[E]=u[E];return B}static sizeFromDimension(u,h){if(h<0||h>u.length)throw new Error(`invalid dimension of ${h} for sizeFromDimension as Tensor has ${u.length} dimensions.`);return mc.getSizeFromDimensionRange(u,h,u.length)}static sizeToDimension(u,h){if(h<0||h>u.length)throw new Error(`invalid dimension of ${h} for sizeToDimension as Tensor has ${u.length} dimensions.`);return mc.getSizeFromDimensionRange(u,0,h)}static getSizeFromDimensionRange(u,h,w){let B=1;for(let E=h;E<w;E++){if(u[E]<0)throw new Error("cannot get valid size from specified dimension range. Most likely the range contains negative values in them.");B*=Number(u[E])}return B}static computeStrides(u){let h=u.length;if(h===0)return[];if(h===1)return[1];let w=new Array(h);w[h-1]=1,w[h-2]=u[h-1];for(let B=h-3;B>=0;--B)w[B]=w[B+1]*u[B+1];return w}static normalizeAxis(u,h){if(u<-h&&u>=h)throw new Error("unsupported axis for this operation.");return u<0?u+h:u}static normalizeAxes(u,h){return u.map(w=>this.normalizeAxis(w,h??u.length))}static sortBasedOnPerm(u,h){return h?h.map(w=>u[w]):u.slice().reverse()}static padShape(u,h){let w=u.length;return u.map((B,E)=>B+h[E]+h[E+w])}static areEqual(u,h){return u.length===h.length&&u.every((w,B)=>w===h[B])}},YA=class M1{static adjustPoolAttributes(u,h,w,B,E,v){if(!u&&w.length!==h.length-2)throw new Error("length of specified kernel shapes should be 2 less than length of input dimensions");if(u)for(let P=0;P<h.length-2;P++)P>=w.length?w.push(h[P+2]):w[P]=h[P+2];for(let P=0;P<w.length;P++)if(P<B.length){if(B[P]<0)throw new Error("strides should be greater than or equal to 1")}else B.push(1);for(let P=0;P<w.length;P++)if(P<E.length){if(E[P]<0)throw new Error("dilations should be greater than or equal to 1")}else E.push(1);for(let P=0;P<2*w.length;P++)if(P<v.length){if(v[P]<0)throw new Error("pad should be greater than or equal to 1")}else v.push(0);for(let P=0;P<w.length;P++){if(w[P]<=0)throw new Error("kernel shapes need to be greater than 0");if(v[P]>=w[P]||v[P+w.length]>=w[P])throw new Error("pads should be smaller than kernel")}}static adjustPadsBasedOnAutoPad(u,h,w,B,E,v,P){if(P){if(E.length!==2*(u.length-2))throw new Error("length of pads should be twice the length of data dimensions");if(h.length!==u.length-2)throw new Error("length of strides should be the length of data dimensions");if(B.length!==u.length-2)throw new Error("length of kernel shapes should be the length of data dimensions");for(let N=0;N<u.length-2;N++)M1.adjustPadAndReturnShape(u[N+(v?1:2)],h[N],w[N],B[N],E,N,N+u.length-2,P)}}static computePoolOutputShape(u,h,w,B,E,v,P){if(h.length<=0)throw new Error("input shape must be of size greater than 0");let N=[h[0],h[1]];return M1.computeShapeHelper(u,h,N,w,B,E,v,P),N}static computeConvOutputShape(u,h,w,B,E,v,P){if(u.length<=0||h.length<=0)throw new Error("invalid input tensor dims or invalid filter tensor dims");let N=[u[0],h[0]];return M1.computeShapeHelper(!1,u,N,w,B,E,v,P),N}static computeShapeHelper(u,h,w,B,E,v,P,N){if(u)for(let L=0;L<h.length-2;L++)w.push(1);else for(let L=0;L<h.length-2;L++)w.push(M1.adjustPadAndReturnShape(h[L+2],B[L],E[L],v[L],P,L,L+h.length-2,N))}static adjustPadAndReturnShape(u,h,w,B,E,v,P,N){let L=w*(B-1)+1;if(!N||N==="NOTSET")return Math.floor((u+E[v]+E[P]-L)/h+1);switch(N){case"VALID":return E[v]=0,E[P]=0,Math.floor((u-L)/h+1);case"SAME_LOWER":case"SAME_UPPER":if(w!==1)throw new Error("Dilation not supported for SAME_UPPER or SAME_LOWER");{let ee=((u+h-1)/h-1)*h+B-u;return E[v]=Math.floor(N==="SAME_LOWER"?(ee+1)/2:ee/2),E[P]=ee-E[v],Math.floor((u+ee-B)/h+1)}default:throw new Error("Unsupported AutoPad type")}}},vA=class{static getShapeOfGemmResult(n,u,h,w,B){if(n.length!==2||h.length!==2)throw new Error("shape need to be of size 2");let E,v,P;u?(E=n[1],v=n[0]):(E=n[0],v=n[1]);let N=-1;if(w?(P=h[0],N=1):(P=h[1],N=0),h[N]!==v)throw new Error("dimension mismatch");if(E<=0||P<=0||v<=0)throw new Error("invalid shape specified");if(B&&!PA.isValidBroadcast(B,[E,P]))throw new Error("gemm: invalid bias shape for broadcast");return[E,P,v]}},Bt=-34028234663852886e22,fr=34028234663852886e22}),Yt=Pe(()=>{Mt(),St(),jt=64,er=(n,u)=>{if(u===3)throw new Error("vec3 has same alignment as vec4, use vec4 instead");switch(Number(n)){case 10:return u>1?`vec${u}<f16>`:"f16";case 1:return u>1?`vec${u}<f32>`:"f32";case 6:return u>1?`vec${u}<i32>`:"i32";case 12:return u>1?`vec${u}<u32>`:"u32";case 7:if(u>1)throw new Error("currently not supported vecX of uint64 yet");return["vec2<u32>","i32"];case 13:if(u>1)throw new Error("currently not supported vecX of uint64 yet");return["vec2<u32>","u32"];case 9:if(u!==4)throw new Error("bool must be vec4");return["u32","vec4<bool>"];case 22:return"i32";case 21:return"u32";default:throw new Error(`Unknown data type: ${n}`)}},zt=(n,u=1)=>{let h=er(n,u);return typeof h=="string"?h:h[0]},VA=(n,u=1)=>{let h=er(n,u);return typeof h=="string"?h:h[1]},_A=(...n)=>{let u=[];return n.forEach(h=>{h.length!==0&&u.push({type:12,data:h},{type:12,data:Le.computeStrides(h)})}),u},Zt=n=>n%4==0?4:n%2==0?2:1,xa=(n="f32",u,h="0")=>u&&u!==1?`vec${u}<${n}>(${h})`:`${n}(${h})`,pa=(n,u,h)=>n==="f32"?h:u===1?`f32(${h})`:`vec${u}<f32>(${h})`,nr=(n,u)=>u===4?`(${n}.x + ${n}.y + ${n}.z + ${n}.w)`:u===2?`(${n}.x + ${n}.y)`:u===3?`(${n}.x + ${n}.y + ${n}.z)`:n,nt=(n,u,h,w)=>n.startsWith("uniforms.")&&h>4?typeof u=="string"?w==="f16"?`${n}[(${u}) / 8][(${u}) % 8 / 4][(${u}) % 8 % 4]`:`${n}[(${u}) / 4][(${u}) % 4]`:w==="f16"?`${n}[${Math.floor(u/8)}][${Math.floor(u%8/4)}][${u%8%4}]`:`${n}[${Math.floor(u/4)}][${u%4}]`:h>1?`${n}[${u}]`:n,pr=(n,u,h,w,B)=>{let E=typeof h=="number",v=E?h:h.length,P=[...new Array(v).keys()],N=v<2?"u32":v<=4?`vec${v}<u32>`:`array<u32, ${v}>`,L=er(u,B),ee=typeof L=="string"?L:L[1],Ae=typeof L=="string"?L:L[0],Q={indices:N,value:ee,storage:Ae,tensor:u},le=nA=>typeof nA=="string"?nA:`${nA}u`,de={offsetToIndices:!1,indicesToOffset:!1,broadcastedIndicesToOffset:!1,set:!1,setByIndices:!1,get:!1,getByIndices:!1},we=E?"uniforms.":"",be=`${we}${n}_shape`,Me=`${we}${n}_strides`,Fe="";for(let nA=0;nA<v-1;nA++)Fe+=`
19    let dim${nA} = current / ${nt(Me,nA,v)};
20    let rest${nA} = current % ${nt(Me,nA,v)};
21    indices[${nA}] = dim${nA};
22    current = rest${nA};
23    `;Fe+=`indices[${v-1}] = current;`;let We=v<2?"":`
24  fn o2i_${n}(offset: u32) -> ${Q.indices} {
25    var indices: ${Q.indices};
26    var current = offset;
27    ${Fe}
28    return indices;
29  }`,$e=[];if(v>=2)for(let nA=v-1;nA>=0;nA--)$e.push(`${nt(Me,nA,v)} * (indices[${nA}])`);let eA=v<2?"":`
30  fn i2o_${n}(indices: ${Q.indices}) -> u32 {
31    return ${$e.join("+")};
32  }`,sA=(...nA)=>v===0?"0u":`${Q.indices}(${nA.map(le).join(",")})`,zA=(nA,gt)=>v<2?`${nA}`:`${nt(nA,gt,v)}`,jA={},ht=(nA,gt)=>(()=>{if(Q.storage===Q.value)return`${n}[${nA}]=${gt};`;if(Q.storage==="vec2<u32>"&&Q.value==="i32")return`${n}[${nA}]=vec2<u32>(u32(${gt}), select(0u, 0xFFFFFFFFu, ${gt} < 0));`;if(Q.storage==="vec2<u32>"&&Q.value==="u32")return`${n}[${nA}]=vec2<u32>(u32(${gt}), 0u);`;if(Q.storage==="u32"&&Q.value==="vec4<bool>")return`${n}[${nA}]=dot(vec4<u32>(0x1, 0x100, 0x10000, 0x1000000), vec4<u32>(${gt}));`;throw new Error(`not supported combination of storage type ${Q.storage} and value type ${Q.value} yet`)})(),mt=nA=>(()=>{if(Q.storage===Q.value)return`${n}[${nA}]`;if(Q.storage==="vec2<u32>"&&Q.value==="i32")return`i32(${n}[${nA}].x)`;if(Q.storage==="vec2<u32>"&&Q.value==="u32")return`u32(${n}[${nA}].x)`;if(Q.storage==="u32"&&Q.value==="vec4<bool>")return`vec4<bool>(bool(${n}[${nA}] & 0xFFu), bool(${n}[${nA}] & 0xFF00u), bool(${n}[${nA}] & 0xFF0000u), bool(${n}[${nA}] & 0xFF000000u))`;throw new Error(`not supported combination of storage type ${Q.storage} and value type ${Q.value} yet`)})(),Jt=v<2?"":`
33  fn get_${n}ByIndices(indices: ${Q.indices}) -> ${ee} {
34    return ${mt(`i2o_${n}(indices)`)};
35  }`,Ct=v<2?"":(()=>{let nA=P.map(st=>`d${st}: u32`).join(", "),gt=P.map(st=>`d${st}`).join(", ");return`
36  fn get_${n}(${nA}) -> ${ee} {
37    return get_${n}ByIndices(${sA(gt)});
38  }`})(),Pt=v<2?"":`
39  fn set_${n}ByIndices(indices: ${Q.indices}, value: ${ee}) {
40    ${ht(`i2o_${n}(indices)`,"value")}
41  }`,Qt=v<2?"":(()=>{let nA=P.map(st=>`d${st}: u32`).join(", "),gt=P.map(st=>`d${st}`).join(", ");return`
42  fn set_${n}(${nA}, value: ${ee}) {
43    set_${n}ByIndices(${sA(gt)}, value);
44  }`})();return{impl:()=>{let nA=[],gt=!1;return de.offsetToIndices&&(nA.push(We),gt=!0),de.indicesToOffset&&(nA.push(eA),gt=!0),de.broadcastedIndicesToOffset&&(Object.values(jA).forEach(st=>nA.push(st)),gt=!0),de.set&&(nA.push(Qt),gt=!0),de.setByIndices&&(nA.push(Pt),gt=!0),de.get&&(nA.push(Ct),gt=!0),de.getByIndices&&(nA.push(Jt),gt=!0),!E&&gt&&nA.unshift(`const ${be} = ${Q.indices}(${h.join(",")});`,`const ${Me} = ${Q.indices}(${Le.computeStrides(h).join(",")});`),nA.join(`
45`)},type:Q,offsetToIndices:nA=>(de.offsetToIndices=!0,v<2?nA:`o2i_${n}(${nA})`),indicesToOffset:nA=>(de.indicesToOffset=!0,v<2?nA:`i2o_${n}(${nA})`),broadcastedIndicesToOffset:(nA,gt)=>{de.broadcastedIndicesToOffset=!0;let st=`${gt.name}broadcastedIndicesTo${n}Offset`;if(st in jA)return`${st}(${nA})`;let ot=[];for(let ir=v-1;ir>=0;ir--){let ua=gt.indicesGet("outputIndices",ir+gt.rank-v);ot.push(`${zA(Me,ir)} * (${ua} % ${zA(be,ir)})`)}return jA[st]=`fn ${st}(outputIndices: ${gt.type.indices}) -> u32 {
46             return ${ot.length>0?ot.join("+"):"0u"};
47           }`,`${st}(${nA})`},indices:sA,indicesGet:zA,indicesSet:(nA,gt,st)=>v<2?`${nA}=${st};`:`${nt(nA,gt,v)}=${st};`,set:(...nA)=>{if(nA.length!==v+1)throw new Error(`indices length must be ${v}`);let gt=nA[v];if(typeof gt!="string")throw new Error("value must be string");let st=nA.slice(0,v).map(le).join(",");return v===0?ht("0u",gt):v===1?ht(st[0],gt):(de.set=!0,de.setByIndices=!0,de.indicesToOffset=!0,`set_${n}(${st}, ${gt})`)},setByOffset:ht,setByIndices:(nA,gt)=>v<2?ht(nA,gt):(de.setByIndices=!0,de.indicesToOffset=!0,`set_${n}ByIndices(${nA}, ${gt});`),get:(...nA)=>{if(nA.length!==v)throw new Error(`indices length must be ${v}`);let gt=nA.map(le).join(",");return v===0?mt("0u"):v===1?mt(gt[0]):(de.get=!0,de.getByIndices=!0,de.indicesToOffset=!0,`get_${n}(${gt})`)},getByOffset:mt,getByIndices:nA=>v<2?mt(nA):(de.getByIndices=!0,de.indicesToOffset=!0,`get_${n}ByIndices(${nA})`),usage:w,name:n,strides:Me,shape:be,rank:v}},pA=(n,u,h,w=1)=>pr(n,u,h,"input",w),$A=(n,u,h,w=1)=>pr(n,u,h,"output",w),ha=(n,u,h)=>pr(n,u,h,"atomicOutput",1),Hr=(n,u,h,w=1)=>pr(n,u,h,"internal",w),Ur=class{constructor(n,u){this.normalizedDispatchGroup=n,this.limits=u,this.internalVariables=[],this.variables=[],this.uniforms=[],this.variableIndex=0}guardAgainstOutOfBoundsWorkgroupSizes(n){return`if (global_idx >= ${typeof n=="number"?`${n}u`:n}) { return; }`}mainStart(n=jt){let u=typeof n=="number"?n:n[0],h=typeof n=="number"?1:n[1],w=typeof n=="number"?1:n[2];if(u>this.limits.maxComputeWorkgroupSizeX||h>this.limits.maxComputeWorkgroupSizeY||w>this.limits.maxComputeWorkgroupSizeZ)throw new Error(`workgroup size [${u}, ${h}, ${w}] exceeds the maximum workgroup size [${this.limits.maxComputeWorkgroupSizeX}, ${this.limits.maxComputeWorkgroupSizeY}, ${this.limits.maxComputeWorkgroupSizeZ}].`);if(u*h*w>this.limits.maxComputeInvocationsPerWorkgroup)throw new Error(`workgroup size [${u}, ${h}, ${w}] exceeds the maximum workgroup invocations ${this.limits.maxComputeInvocationsPerWorkgroup}.`);let B=this.normalizedDispatchGroup[1]===1&&this.normalizedDispatchGroup[2]===1;return`@compute @workgroup_size(${u}, ${h}, ${w})
48  fn main(${B?`@builtin(global_invocation_id) global_id : vec3<u32>,
49    @builtin(workgroup_id) workgroup_id : vec3<u32>,
50    @builtin(local_invocation_index) local_idx : u32,
51    @builtin(local_invocation_id) local_id : vec3<u32>`:`@builtin(global_invocation_id) global_id : vec3<u32>,
52                                             @builtin(local_invocation_id) local_id : vec3<u32>,
53    @builtin(local_invocation_index) local_idx : u32,
54    @builtin(workgroup_id) workgroup_id : vec3<u32>,
55    @builtin(num_workgroups) num_workgroups : vec3<u32>`}) {
56    ${B?`let global_idx = global_id.x;
57         let workgroup_index = workgroup_id.x;`:`let workgroup_index = workgroup_id.z * num_workgroups[0] * num_workgroups[1] +
58             workgroup_id.y * num_workgroups[0] + workgroup_id.x;
59         let global_idx = workgroup_index * ${u*h*w}u + local_idx;`}
60  `}appendVariableUniforms(n){n.rank!==0&&(n.shape.startsWith("uniforms.")&&this.uniforms.push({name:n.shape.replace("uniforms.",""),type:"u32",length:n.rank}),n.strides.startsWith("uniforms.")&&this.uniforms.push({name:n.strides.replace("uniforms.",""),type:"u32",length:n.rank}))}declareVariable(n,u){if(n.usage==="internal")throw new Error("cannot use internal variable with declareVariable(). use registerInternalVariables() instead.");this.variables.push(n),this.appendVariableUniforms(n);let h=n.usage==="input"?"read":"read_write",w=n.usage==="atomicOutput"?"atomic<i32>":n.type.storage;return`@group(0) @binding(${u}) var<storage, ${h}> ${n.name}: array<${w}>;`}declareVariables(...n){return n.map(u=>this.declareVariable(u,this.variableIndex++)).join(`
61`)}registerInternalVariable(n){if(n.usage!=="internal")throw new Error("cannot use input or output variable with registerInternalVariable(). use declareVariables() instead.");this.internalVariables.push(n),this.appendVariableUniforms(n)}registerInternalVariables(...n){return n.forEach(u=>this.registerInternalVariable(u)),this}registerUniform(n,u,h=1){return this.uniforms.push({name:n,type:u,length:h}),this}registerUniforms(n){return this.uniforms=this.uniforms.concat(n),this}uniformDeclaration(){if(this.uniforms.length===0)return"";let n=[];for(let{name:u,type:h,length:w}of this.uniforms)if(w&&w>4)h==="f16"?n.push(`@align(16) ${u}:array<mat2x4<${h}>, ${Math.ceil(w/8)}>`):n.push(`${u}:array<vec4<${h}>, ${Math.ceil(w/4)}>`);else{let B=w==null||w===1?h:`vec${w}<${h}>`;n.push(`${u}:${B}`)}return`
62      struct Uniforms { ${n.join(", ")} };
63      @group(0) @binding(${this.variableIndex}) var<uniform> uniforms: Uniforms;`}get additionalImplementations(){return this.uniformDeclaration()+this.variables.map(n=>n.impl()).join(`
64`)+this.internalVariables.map(n=>n.impl()).join(`
65`)}get variablesInfo(){if(this.uniforms.length===0)return;let n=u=>[12,10,1,6][["u32","f16","f32","i32"].indexOf(u)];return this.uniforms.map(u=>[n(u.type),u.length??1])}},Fr=(n,u)=>new Ur(n,u)}),Ni=Pe(()=>{Mt(),St(),Zr(),Yt(),wr=(n,u)=>{if(!n||n.length!==1)throw new Error("Transpose requires 1 input.");if(u.length!==0&&u.length!==n[0].dims.length)throw new Error(`perm size ${u.length} does not match input rank ${n[0].dims.length}`)},Ut=(n,u)=>u.length!==0?u:[...new Array(n).keys()].reverse(),vr=(n,u)=>Le.sortBasedOnPerm(n,Ut(n.length,u)),ai=(n,u,h,w)=>{let B=`fn perm(i: ${w.type.indices}) -> ${h.type.indices} {
66    var a: ${h.type.indices};`;for(let E=0;E<u;++E)B+=`a[${n[E]}]=i[${E}];`;return B+"return a;}"},Ya=(n,u)=>{let h=[],w=[];for(let B=0;B<n.length;++B)n[B]!==1&&h.push(n[B]),n[u[B]]!==1&&w.push(u[B]);return{newShape:h,newPerm:w}},Li=(n,u)=>{let h=0;for(let w=0;w<n.length;++w)if(u[n[w]]!==1){if(n[w]<h)return!1;h=n[w]}return!0},Da=(n,u)=>{let h,w=n.dataType,B=n.dims.length,E=Ut(B,u),v=vr(n.dims,E),P=n.dims,N=v;if(B<2||Li(E,n.dims))return h=le=>{let de=pA("input",w,P,4),we=$A("output",w,N,4);return`
67  ${le.registerUniform("output_size","u32").declareVariables(de,we)}
68  ${le.mainStart()}
69    ${le.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.output_size")}
70    output[global_idx] = input[global_idx];
71  }`},{name:"TransposeCopy",shaderCache:{inputDependencies:["type"]},getRunData:()=>{let le=Le.size(v);return{outputs:[{dims:v,dataType:n.dataType}],dispatchGroup:{x:Math.ceil(le/64/4)},programUniforms:[{type:12,data:Math.ceil(le/4)}]}},getShaderSource:h};let{newShape:L,newPerm:ee}=Ya(n.dims,E),Ae=Le.areEqual(ee,[2,3,1]),Q=Le.areEqual(ee,[3,1,2]);if(L.length===2||Ae||Q){P=Ae?[L[0],L[1]*L[2]]:Q?[L[0]*L[1],L[2]]:L,N=[P[1],P[0]];let le=16;return h=de=>{let we=pA("a",w,P.length),be=$A("output",w,N.length);return`
72  ${de.registerUniform("output_size","u32").declareVariables(we,be)}
73  var<workgroup> tile : array<array<${be.type.value}, ${le+1}>, ${le}>;
74  ${de.mainStart([le,le,1])}
75    let stride = (uniforms.output_shape[1] - 1) / ${le} + 1;
76    let workgroup_id_x = workgroup_index % stride;
77    let workgroup_id_y = workgroup_index / stride;
78    let input_col = workgroup_id_y * ${le}u + local_id.x;
79    let input_row = workgroup_id_x * ${le}u + local_id.y;
80    if (input_row < uniforms.a_shape[0] && input_col < uniforms.a_shape[1]) {
81      tile[local_id.y][local_id.x] = ${we.getByIndices(`${we.type.indices}(input_row, input_col)`)};
82    }
83    workgroupBarrier();
84
85    let output_col = workgroup_id_x * ${le}u + local_id.x;
86    let output_row = workgroup_id_y * ${le}u + local_id.y;
87    if (output_row < uniforms.output_shape[0] && output_col < uniforms.output_shape[1]) {
88      ${be.setByIndices(`${be.type.indices}(output_row, output_col)`,"tile[local_id.x][local_id.y]")}
89    }
90  }`},{name:"TransposeShared",shaderCache:{inputDependencies:["type"]},getRunData:()=>{let de=Le.size(v);return{outputs:[{dims:v,dataType:n.dataType}],dispatchGroup:{x:Math.ceil(N[1]/le),y:Math.ceil(N[0]/le)},programUniforms:[{type:12,data:de},..._A(P,N)]}},getShaderSource:h}}return h=le=>{let de=pA("a",w,P.length),we=$A("output",w,N.length);return`
91  ${le.registerUniform("output_size","u32").declareVariables(de,we)}
92
93  ${ai(E,B,de,we)}
94
95  ${le.mainStart()}
96    ${le.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.output_size")}
97
98    let indices = ${we.offsetToIndices("global_idx")};
99    let aIndices = perm(indices);
100
101    ${we.setByOffset("global_idx",de.getByIndices("aIndices"))}
102  }`},{name:"Transpose",shaderCache:{hint:`${u}`,inputDependencies:["rank"]},getRunData:()=>{let le=Le.size(v);return{outputs:[{dims:v,dataType:n.dataType}],dispatchGroup:{x:Math.ceil(le/64)},programUniforms:[{type:12,data:le},..._A(P,N)]}},getShaderSource:h}},Yi=(n,u)=>{wr(n.inputs,u.perm),n.compute(Da(n.inputs[0],u.perm))},Dt=n=>Ze({perm:n.perm})}),V1=Pe(()=>{Mt(),St(),Yt(),r2(),Ni(),Aa={max:"select(bestValue, candidate, candidate > bestValue)",min:"select(bestValue, candidate, candidate < bestValue)",mean:"bestValue + candidate",sum:"bestValue + candidate",prod:"bestValue * candidate",sumSquare:"bestValue + candidate * candidate",logSumExp:"bestValue + exp(candidate)",l1:"bestValue + abs(candidate)",l2:"bestValue + candidate * candidate",logSum:"bestValue + candidate"},Va={max:"select(bestValue, candidate, candidate > bestValue)",min:"select(bestValue, candidate, candidate < bestValue)",mean:"bestValue + candidate",sum:"bestValue + candidate",prod:"bestValue * candidate",sumSquare:"bestValue + candidate",logSumExp:"bestValue + candidate",l1:"bestValue + candidate",l2:"bestValue + candidate",logSum:"bestValue + candidate"},u0={max:"_A[offset]",min:"_A[offset]",mean:"0",sum:"0",prod:"1",sumSquare:"0",logSumExp:"0",l1:"0",l2:"0",logSum:"0"},d0={max:"bestValue",min:"bestValue",sum:"bestValue",prod:"bestValue",sumSquare:"bestValue",logSumExp:"log(bestValue)",l1:"bestValue",l2:"sqrt(bestValue)",logSum:"log(bestValue)"},f0=(n,u)=>{let h=[];for(let w=u-n;w<u;++w)h.push(w);return h},p0=(n,u)=>{let h=[],w=n.length;for(let E=0;E<w;E++)u.indexOf(E)===-1&&h.push(n[E]);let B=u.map(E=>n[E]);return[h,B]},si=(n,u)=>{let h=n.length+u.length,w=[],B=0;for(let E=0;E<h;E++)u.indexOf(E)===-1?w.push(n[B++]):w.push(1);return w},Vs=(n,u)=>{for(let h=0;h<n.length;++h)if(n[n.length-h-1]!==u-1-h)return!1;return!0},h0=(n,u)=>{let h=[];if(!Vs(n,u)){for(let w=0;w<u;++w)n.indexOf(w)===-1&&h.push(w);n.forEach(w=>h.push(w))}return h},Hi=(n,u,h,w,B,E,v)=>{let P=h[0].dims,N=Le.size(E),L=Le.size(v),ee=pA("_A",h[0].dataType,P),Ae=$A("output",B,E),Q=64;N===1&&(Q=256);let le=`
103          var<workgroup> aBestValues : array<f32, ${Q}>;
104       `;return{name:n,shaderCache:{hint:`${u};${Q}`,inputDependencies:["type"]},getShaderSource:de=>`
105        ${de.registerUniform("reduceSize","u32").declareVariables(ee,Ae)}
106        ${le}
107        fn DIV_CEIL(a : u32, b : u32) -> u32 {
108          return ((a - 1u) / b + 1u);
109         }
110         ${de.mainStart(Q)}
111
112          let outputIndex = global_idx / ${Q};
113          let offset = outputIndex * uniforms.reduceSize;
114
115          var bestValue = f32(${u0[w]});
116          let Length = uniforms.reduceSize;
117          for (var k = local_idx; k < Length; k = k + ${Q}) {
118           let candidate = f32(${ee.getByOffset("offset + k")});
119           bestValue = ${Aa[w]};
120          }
121          aBestValues[local_idx] = bestValue;
122          workgroupBarrier();
123
124         var reduceSize = min(Length, ${Q}u);
125         for (var currentSize = reduceSize / 2u; reduceSize > 1u;
126             currentSize = reduceSize / 2u) {
127           let interval = DIV_CEIL(reduceSize, 2u);
128           if (local_idx < currentSize) {
129            let candidate = aBestValues[local_idx + interval];
130            bestValue = ${Va[w]};
131            aBestValues[local_idx] = bestValue;
132           }
133           reduceSize = interval;
134           workgroupBarrier();
135         }
136
137         if (local_idx == 0u) {
138          ${Ae.setByOffset("outputIndex",w==="mean"?`${Ae.type.storage}(bestValue / f32(uniforms.reduceSize))`:`${Ae.type.storage}(${d0[w]})`)};
139         }
140        }`,getRunData:()=>({outputs:[{dims:E,dataType:B}],dispatchGroup:{x:N},programUniforms:[{type:12,data:L}]})}},za=(n,u,h,w)=>{let B=n.inputs.length===1?h:vi(n.inputs,h),E=B.axes;E.length===0&&!B.noopWithEmptyAxes&&(E=n.inputs[0].dims.map((le,de)=>de));let v=Le.normalizeAxes(E,n.inputs[0].dims.length),P=v,N=n.inputs[0],L=h0(P,n.inputs[0].dims.length);L.length>0&&(N=n.compute(Da(n.inputs[0],L),{inputs:[0],outputs:[-1]})[0],P=f0(P.length,N.dims.length));let[ee,Ae]=p0(N.dims,P),Q=ee;B.keepDims&&(Q=si(ee,v)),n.compute(Hi(u,B.cacheKey,[N],w,n.inputs[0].dataType,Q,Ae),{inputs:[N]})},Jr=(n,u)=>{za(n,"ReduceMeanShared",u,"mean")},JA=(n,u)=>{za(n,"ReduceL1Shared",u,"l1")},Qa=(n,u)=>{za(n,"ReduceL2Shared",u,"l2")},bn=(n,u)=>{za(n,"ReduceLogSumExpShared",u,"logSumExp")},Ri=(n,u)=>{za(n,"ReduceMaxShared",u,"max")},In=(n,u)=>{za(n,"ReduceMinShared",u,"min")},m0=(n,u)=>{za(n,"ReduceProdShared",u,"prod")},C0=(n,u)=>{za(n,"ReduceSumShared",u,"sum")},wn=(n,u)=>{za(n,"ReduceSumSquareShared",u,"sumSquare")},_0=(n,u)=>{za(n,"ReduceLogSumShared",u,"logSum")}}),r2=Pe(()=>{Mt(),St(),Zr(),Yt(),V1(),Fa=n=>{if(!n||n.length===0||n.length>2)throw new Error("Reduce op requires 1 or 2 inputs.");if(n.length===2&&n[1].dims.length!==1)throw new Error("Invalid axes input dims.")},ar=n=>["","",`var value = ${n.getByIndices("input_indices")};`,""],Bi=(n,u,h,w,B,E,v=!1,P=!1)=>{let N=[],L=h[0].dims,ee=L.length,Ae=Le.normalizeAxes(B,ee),Q=!P&&Ae.length===0;L.forEach((we,be)=>{Q||Ae.indexOf(be)>=0?v&&N.push(1):N.push(we)});let le=N.length,de=Le.size(N);return{name:n,shaderCache:u,getShaderSource:we=>{let be=[],Me=pA("_A",h[0].dataType,ee),Fe=$A("output",E,le),We=w(Me,Fe,Ae),$e=We[2];for(let eA=0,sA=0;eA<ee;eA++)Q||Ae.indexOf(eA)>=0?(v&&sA++,$e=`for(var j${eA}: u32 = 0; j${eA} < ${L[eA]}; j${eA}++) {
141                  ${We[2].includes("last_index")?`let last_index = j${eA};`:""}
142                  ${Me.indicesSet("input_indices",eA,`j${eA}`)}
143                  ${$e}
144                }`):(be.push(`${Me.indicesSet("input_indices",eA,Fe.indicesGet("output_indices",sA))};`),sA++);return`
145
146        ${we.registerUniform("output_size","u32").declareVariables(Me,Fe)}
147
148        ${we.mainStart()}
149          ${we.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.output_size")}
150          var input_indices: ${Me.type.indices};
151          let output_indices = ${Fe.offsetToIndices("global_idx")};
152
153          ${be.join(`
154`)}
155          ${We[0]}       // init ops for reduce max/min
156          ${We[1]}
157          ${$e}
158          ${We[3]}
159          ${We.length===4?Fe.setByOffset("global_idx","value"):We.slice(4).join(`
160`)}
161        }`},getRunData:()=>({outputs:[{dims:N,dataType:E}],dispatchGroup:{x:Math.ceil(de/64)},programUniforms:[{type:12,data:de},..._A(L,N)]})}},vi=(n,u)=>{let h=[];return n[1].dims[0]>0&&n[1].getBigInt64Array().forEach(w=>h.push(Number(w))),Ze({axes:h,keepDims:u.keepDims,noopWithEmptyAxes:u.noopWithEmptyAxes})},Ba=(n,u,h,w)=>{let B=n.inputs,E=B.length===1?h:vi(B,h);n.compute(Bi(u,{hint:E.cacheKey,inputDependencies:["rank"]},[B[0]],E.noopWithEmptyAxes&&E.axes.length===0?ar:w,E.axes,B[0].dataType,E.keepDims,E.noopWithEmptyAxes),{inputs:[0]})},js=(n,u)=>{Fa(n.inputs),Ba(n,"ReduceLogSum",u,(h,w)=>[`var value = ${w.type.storage}(0);`,"",`value += ${h.getByIndices("input_indices")};`,"value = log(value);"])},gs=(n,u)=>{Fa(n.inputs),Ba(n,"ReduceL1",u,(h,w)=>[`var value = ${w.type.storage}(0);`,"",`value += abs(${h.getByIndices("input_indices")});`,""])},kn=(n,u)=>{Fa(n.inputs),Ba(n,"ReduceL2",u,(h,w)=>[`var t = ${w.type.value}(0); var value = ${w.type.value}(0);`,"",`t = ${h.getByIndices("input_indices")}; value += (t * t);`,"value = sqrt(value);"])},xn=(n,u)=>{Fa(n.inputs),Ba(n,"ReduceLogSumExp",u,(h,w)=>[`var value = ${w.type.storage}(0);`,"",`value += exp(${h.getByIndices("input_indices")});`,"value = log(value);"])},Us=(n,u)=>{Fa(n.inputs),Ba(n,"ReduceMax",u,(h,w,B)=>{let E=[];for(let v=0;v<h.rank;v++)(B.indexOf(v)>=0||B.length===0)&&E.push(h.indicesSet("input_indices",v,0));return[`${E.join(`
162`)}`,`var value = ${h.getByIndices("input_indices")};`,`value = max(value, ${h.getByIndices("input_indices")});`,""]})},Bn=(n,u)=>{Fa(n.inputs),Ba(n,"ReduceMean",u,(h,w,B)=>{let E=1;for(let v=0;v<h.rank;v++)(B.indexOf(v)>=0||B.length===0)&&(E*=n.inputs[0].dims[v]);return["var sum = f32(0);","",`sum += f32(${h.getByIndices("input_indices")});`,`let value = ${w.type.value}(sum / ${E});`]})},vn=(n,u)=>{Fa(n.inputs),Ba(n,"ReduceMin",u,(h,w,B)=>{let E=[];for(let v=0;v<h.rank;v++)(B.indexOf(v)>=0||B.length===0)&&E.push(`input_indices[${v}] = 0;`);return[`${E.join(`
163`)}`,`var value = ${h.getByIndices("input_indices")};`,`value = min(value, ${h.getByIndices("input_indices")});`,""]})},yn=(n,u)=>{Fa(n.inputs),Ba(n,"ReduceProd",u,(h,w)=>[`var value = ${w.type.storage}(1);`,"",`value *= ${h.getByIndices("input_indices")};`,""])},QA=(n,u)=>{Fa(n.inputs),Ba(n,"ReduceSum",u,(h,w)=>[`var value = ${w.type.storage}(0);`,"",`value += ${h.getByIndices("input_indices")};`,""])},Ks=(n,u)=>{Fa(n.inputs),Ba(n,"ReduceSumSquare",u,(h,w)=>[`var t = ${w.type.value}(0); var value = ${w.type.value}(0);`,"",`t = ${h.getByIndices("input_indices")}; value += t * t;`,""])},UA=(n,u,h)=>{if(u.length===0)return h;let w=1,B=1;for(let E=0;E<u.length;E++)u.indexOf(E)===-1?w*=n[E]:B*=n[E];return B<32&&w>1024},En=(n,u)=>{UA(n.inputs[0].dims,u.axes,u.noopWithEmptyAxes)?Bn(n,u):Jr(n,u)},Wi=(n,u)=>{UA(n.inputs[0].dims,u.axes,u.noopWithEmptyAxes)?gs(n,u):JA(n,u)},va=(n,u)=>{UA(n.inputs[0].dims,u.axes,u.noopWithEmptyAxes)?kn(n,u):Qa(n,u)},Sa=(n,u)=>{UA(n.inputs[0].dims,u.axes,u.noopWithEmptyAxes)?xn(n,u):bn(n,u)},ii=(n,u)=>{UA(n.inputs[0].dims,u.axes,u.noopWithEmptyAxes)?Us(n,u):Ri(n,u)},yi=(n,u)=>{UA(n.inputs[0].dims,u.axes,u.noopWithEmptyAxes)?vn(n,u):In(n,u)},Mn=(n,u)=>{UA(n.inputs[0].dims,u.axes,u.noopWithEmptyAxes)?yn(n,u):m0(n,u)},Nr=(n,u)=>{UA(n.inputs[0].dims,u.axes,u.noopWithEmptyAxes)?QA(n,u):C0(n,u)},b0=(n,u)=>{UA(n.inputs[0].dims,u.axes,u.noopWithEmptyAxes)?Ks(n,u):wn(n,u)},I0=(n,u)=>{UA(n.inputs[0].dims,u.axes,u.noopWithEmptyAxes)?js(n,u):_0(n,u)}}),j1=Pe(()=>{Mt(),Zr(),r2(),Ts=n=>{if(!n||n.length===0||n.length>2)throw new Error("ArgMinMaxOp op requires 1 or 2 inputs.");if(n[0].dataType!==1)throw new Error("Invalid input type.")},ni=(n,u)=>{Ts(n.inputs),n.compute(Bi("ArgMin",{hint:u.cacheKey,inputDependencies:["rank"]},[n.inputs[0]],(h,w,B)=>{let E=[];for(let v=0;v<h.rank;v++)(B.indexOf(v)>=0||B.length===0)&&E.push(`input_indices[${v}] = 0;`);return[`${E.join(`
164`)}`,`var value = ${h.getByIndices("input_indices")};
165var best_index : i32 = 0;`,`if (${h.getByIndices("input_indices")} ${u.selectLastIndex>0?"<=":"<"} value) {
166         value = ${h.getByIndices("input_indices")};
167         best_index = i32(last_index);
168       }`,"",w.setByOffset("global_idx","best_index")]},[u.axis],7,u.keepDims),{inputs:[0]})},w0=(n,u)=>{Ts(n.inputs),n.compute(Bi("argMax",{hint:u.cacheKey,inputDependencies:["rank"]},[n.inputs[0]],(h,w,B)=>{let E=[];for(let v=0;v<h.rank;v++)(B.indexOf(v)>=0||B.length===0)&&E.push(`input_indices[${v}] = 0;`);return[`${E.join(`
169`)}`,`var value = ${h.getByIndices("input_indices")};
170var best_index : i32 = 0;`,`if (${h.getByIndices("input_indices")} ${u.selectLastIndex>0?">=":">"} value) {
171         value = ${h.getByIndices("input_indices")};
172         best_index = i32(last_index);
173       }`,"",w.setByOffset("global_idx","best_index")]},[u.axis],7,u.keepDims),{inputs:[0]})},Vi=n=>Ze(n)}),a2=Pe(()=>{Mt(),St(),t2(),Yt(),oi=(n,u)=>{let h=n[0],w=n[1],B=n[2],E=n[3],v=n[4],P=n[5];if(v&&P)throw new Error("Attention cannot have both past and attention_bias");if(h.dims.length!==3)throw new Error('Input "input" must have 3 dimensions');let N=h.dims[0],L=h.dims[1],ee=h.dims[2];if(B.dims.length!==1)throw new Error('Input "bias" is expected to have 1 dimensions');if(w.dims.length!==2)throw new Error('Input "weights" is expected to have 2 dimensions');if(w.dims[0]!==ee)throw new Error("Input 1 dimension 0 should have same length as dimension 2 of input 0");if(B.dims[0]!==w.dims[1])throw new Error('Input "bias" dimension 0 should have same length as dimension 1 of input "weights"');let Ae=B.dims[0]/3,Q=Ae,le=Q;if(u.qkvHiddenSizes.length>0){if(u.qkvHiddenSizes.length!==3)throw new Error("qkv_hidden_sizes attribute should have 3 elements");for(let Me of u.qkvHiddenSizes)if(Me%u.numHeads!=0)throw new Error("qkv_hidden_sizes should be divisible by num_heads");Ae=u.qkvHiddenSizes[0],Q=u.qkvHiddenSizes[1],le=u.qkvHiddenSizes[2]}let de=L;if(Ae!==Q)throw new Error("qkv_hidden_sizes first element should be same as the second");if(B.dims[0]!==Ae+Q+le)throw new Error('Input "bias" dimension 0 should have same length as sum of Q/K/V hidden sizes');let we=0;if(v){if(Q!==le)throw new Error('Input "past" expect k_hidden_size == v_hidden_size');if(v.dims.length!==5)throw new Error('Input "past" must have 5 dimensions');if(v.dims[0]!==2)throw new Error('Input "past" first dimension must be 2');if(v.dims[1]!==N)throw new Error('Input "past" second dimension must be batch_size');if(v.dims[2]!==u.numHeads)throw new Error('Input "past" third dimension must be num_heads');if(v.dims[4]!==Q/u.numHeads)throw new Error('Input "past" fifth dimension must be k_hidden_size / num_heads');u.pastPresentShareBuffer||(we=v.dims[3])}let be=de+we;if(E)throw new Error("Mask not supported");if(v)throw new Error("past is not supported");if(P){if(P.dims.length!==4)throw new Error('Input "attention_bias" must have 4 dimensions');if(P.dims[0]!==N||P.dims[1]!==u.numHeads||P.dims[2]!==L||P.dims[3]!==be)throw new Error('Expect "attention_bias" shape (batch_size, num_heads, sequence_length, total_sequence_length)')}return{batchSize:N,sequenceLength:L,pastSequenceLength:we,kvSequenceLength:de,totalSequenceLength:be,maxSequenceLength:-1,inputHiddenSize:ee,hiddenSize:Ae,vHiddenSize:le,headSize:Math.floor(Ae/u.numHeads),vHeadSize:Math.floor(le/u.numHeads),numHeads:u.numHeads,isUnidirectional:!1,pastPresentShareBuffer:!1,maskFilterValue:u.maskFilterValue,maskType:0,scale:u.scale,broadcastResPosBias:!1,passPastInKv:!1,qkvFormat:1}},RA=(n,u,h)=>u&&n?`
174      let total_sequence_length_input = u32(${u.getByOffset("0")});
175      let present_sequence_length = max(total_sequence_length_input, uniforms.past_sequence_length);
176      let is_subsequent_prompt: bool = sequence_length > 1 && sequence_length != total_sequence_length_input;
177      let is_first_prompt: bool = is_subsequent_prompt == false && sequence_length == total_sequence_length_input;
178      total_sequence_length = u32(${n==null?void 0:n.getByOffset("batchIdx")}) + 1;
179      var past_sequence_length: u32 = 0;
180      if (is_first_prompt == false) {
181        past_sequence_length = total_sequence_length - sequence_length;
182      }
183       `:`
184    ${h?"let past_sequence_length = uniforms.past_sequence_length":""};
185    let present_sequence_length = total_sequence_length;
186    `,es=(n,u,h,w,B,E,v,P)=>{let N=Zt(v?1:E),L=64,ee=E/N;ee<L&&(L=32);let Ae=Math.ceil(E/N/L),Q=[{type:12,data:u},{type:12,data:h},{type:12,data:w},{type:12,data:B},{type:12,data:ee},{type:12,data:Ae}],le=zt(n.dataType,N),de=VA(1,N),we=["type"];return v&&we.push("type"),P&&we.push("type"),{name:"AttentionProbsSoftmax",shaderCache:{hint:`${L};${le};${N}`,inputDependencies:we},getShaderSource:be=>{let Me=$A("x",n.dataType,n.dims,N),Fe=[Me],We=v?pA("seq_lens",v.dataType,v.dims):void 0;We&&Fe.push(We);let $e=P?pA("total_sequence_length_input",P.dataType,P.dims):void 0;$e&&Fe.push($e);let eA=VA(n.dataType);return`
187  var<workgroup> thread_max: array<f32, ${L}>;
188  var<workgroup> thread_sum: array<f32, ${L}>;
189  ${be.registerUniforms([{name:"batch_size",type:"u32"},{name:"num_heads",type:"u32"},{name:"past_sequence_length",type:"u32"},{name:"sequence_length",type:"u32"},{name:"total_sequence_length",type:"u32"},{name:"elements_per_thread",type:"u32"}]).declareVariables(...Fe)}
190  ${be.mainStart([L,1,1])}
191    let batchIdx = workgroup_id.z / uniforms.num_heads;
192    let headIdx = workgroup_id.z % uniforms.num_heads;
193    let sequence_length = uniforms.sequence_length;
194    var total_sequence_length = uniforms.total_sequence_length;
195    ${RA(We,$e,!1)}
196    let local_offset = local_idx * uniforms.elements_per_thread;
197    let offset = (global_idx / ${L}) * uniforms.total_sequence_length + local_offset;
198    let seq_causal_length = ${v?"u32(past_sequence_length + workgroup_id.y + 1)":"total_sequence_length"};
199    var thread_max_vector = ${de}(-3.402823e+38f);
200    for (var i: u32 = 0; i < uniforms.elements_per_thread && i + local_offset < seq_causal_length; i++) {
201      thread_max_vector = max(${de}(x[offset + i]), thread_max_vector);
202    }
203    thread_max[local_idx] = ${(()=>{switch(N){case 1:return"thread_max_vector";case 2:return"max(thread_max_vector.x, thread_max_vector.y)";case 4:return"max(max(thread_max_vector.x, thread_max_vector.y), max(thread_max_vector.z, thread_max_vector.w))";default:throw new Error(`Unsupported components: ${N}`)}})()};
204    workgroupBarrier();
205
206    var max_value =  f32(-3.402823e+38f);
207    for (var i = 0u; i < ${L}; i++) {
208      max_value = max(thread_max[i], max_value);
209    }
210
211    var sum_vector = ${de}(0);
212    for (var i: u32 = 0; i < uniforms.elements_per_thread && i + local_offset < seq_causal_length; i++) {
213      sum_vector += exp(${de}(x[offset + i]) - max_value);
214    }
215    thread_sum[local_idx] = ${(()=>{switch(N){case 1:return"sum_vector";case 2:return"sum_vector.x + sum_vector.y";case 4:return"sum_vector.x + sum_vector.y + sum_vector.z + sum_vector.w";default:throw new Error(`Unsupported components: ${N}`)}})()};
216    workgroupBarrier();
217
218    var sum: f32 = 0;
219    for (var i = 0u; i < ${L}; i++) {
220      sum += thread_sum[i];
221    }
222
223    if (sum == 0) {
224      for (var i: u32 = 0; i < uniforms.elements_per_thread && i + local_offset < seq_causal_length; i++) {
225        x[offset + i] = ${Me.type.value}(${eA}(1.0) / ${eA}(seq_causal_length));
226      }
227    } else {
228      for (var i: u32 = 0; i < uniforms.elements_per_thread && i + local_offset < seq_causal_length; i++) {
229        var f32input = ${de}(x[offset + i]);
230        x[offset + i] = ${Me.type.value}(exp(f32input - max_value) / sum);
231      }
232    }
233      ${v?`
234        for (var total_seq_id: u32 = seq_causal_length; total_seq_id + local_offset < uniforms.total_sequence_length; total_seq_id++) {
235          x[offset + total_seq_id] = ${Me.type.value}(${eA}(0));
236        }`:""};
237  }`},getRunData:()=>({outputs:[],dispatchGroup:{x:Math.ceil(E/L),y:B,z:u*h},programUniforms:Q})}},Gn=(n,u,h,w,B,E,v,P,N)=>{let L=v+E.kvSequenceLength,ee=[E.batchSize,E.numHeads,E.sequenceLength,L],Ae=n>1&&w,Q=E.kvNumHeads?E.kvNumHeads:E.numHeads,le=Ae?[E.batchSize,Q,L,E.headSize]:void 0,de=E.nReps?E.nReps:1,we=E.scale===0?1/Math.sqrt(E.headSize):E.scale,be=Zt(E.headSize),Me=E.headSize/be,Fe=12,We={x:Math.ceil(L/Fe),y:Math.ceil(E.sequenceLength/Fe),z:E.batchSize*E.numHeads},$e=[{type:12,data:E.sequenceLength},{type:12,data:Me},{type:12,data:L},{type:12,data:E.numHeads},{type:12,data:E.headSize},{type:1,data:we},{type:12,data:v},{type:12,data:E.kvSequenceLength},{type:12,data:de}],eA=Ae&&w&&Le.size(w.dims)>0,sA=["type","type"];eA&&sA.push("type"),B&&sA.push("type"),P&&sA.push("type"),N&&sA.push("type");let zA=[{dims:ee,dataType:u.dataType,gpuDataType:0}];return Ae&&zA.push({dims:le,dataType:u.dataType,gpuDataType:0}),{name:"AttentionProbs",shaderCache:{hint:`${be};${B!==void 0};${w!==void 0};${n}`,inputDependencies:sA},getRunData:()=>({outputs:zA,dispatchGroup:We,programUniforms:$e}),getShaderSource:jA=>{let ht=pA("q",u.dataType,u.dims,be),mt=[ht,pA("key",h.dataType,h.dims,be)];if(eA){let gt=pA("past_key",w.dataType,w.dims,be);mt.push(gt)}B&&mt.push(pA("attention_bias",B.dataType,B.dims));let Jt=P?pA("seq_lens",P.dataType,P.dims):void 0;Jt&&mt.push(Jt);let Ct=N?pA("total_sequence_length_input",N.dataType,N.dims):void 0;Ct&&mt.push(Ct);let Pt=$A("output",u.dataType,ee),Qt=[Pt];Ae&&Qt.push($A("present_key",u.dataType,le,be));let nA=VA(1,be);return`
238  const TILE_SIZE = 12u;
239
240  var<workgroup> tileQ: array<${ht.type.storage}, 144>;
241  var<workgroup> tileK: array<${ht.type.storage}, 144>;
242  ${jA.registerUniforms([{name:"M",type:"u32"},{name:"K",type:"u32"},{name:"N",type:"u32"},{name:"num_heads",type:"u32"},{name:"head_size",type:"u32"},{name:"alpha",type:"f32"},{name:"past_sequence_length",type:"u32"},{name:"kv_sequence_length",type:"u32"},{name:"n_reps",type:"u32"}]).declareVariables(...mt,...Qt)}
243  ${jA.mainStart([Fe,Fe,1])}
244    // x holds the N and y holds the M
245    let headIdx = workgroup_id.z % uniforms.num_heads;
246    let kvHeadIdx = ${de===1?"headIdx":"headIdx / uniforms.n_reps"};
247    let kv_num_heads = ${de===1?"uniforms.num_heads":"uniforms.num_heads / uniforms.n_reps"};
248    let batchIdx = workgroup_id.z / uniforms.num_heads;
249    let m = workgroup_id.y * TILE_SIZE;
250    let n = workgroup_id.x * TILE_SIZE;
251    let sequence_length = uniforms.M;
252    var total_sequence_length = uniforms.N;
253    ${RA(Jt,Ct,!0)}
254    let absKvHeadIdx = batchIdx * kv_num_heads + kvHeadIdx;
255    let qOffset = workgroup_id.z * uniforms.M * uniforms.K + m * uniforms.K;
256    ${eA&&Ae?"let pastKeyOffset = absKvHeadIdx * uniforms.past_sequence_length * uniforms.K;":""};
257    let kOffset = absKvHeadIdx * uniforms.kv_sequence_length * uniforms.K;
258    ${Ae?"let presentKeyOffset = absKvHeadIdx * uniforms.N * uniforms.K;":""}
259    var value = ${nA}(0);
260    for (var w: u32 = 0u; w < uniforms.K; w += TILE_SIZE) {
261      if (global_id.y < uniforms.M && w + local_id.x < uniforms.K) {
262        tileQ[TILE_SIZE * local_id.y + local_id.x] = q[qOffset + local_id.y * uniforms.K + w + local_id.x];
263      }
264      if (n + local_id.y < uniforms.N && w + local_id.x < uniforms.K) {
265        var idx = TILE_SIZE * local_id.y + local_id.x;
266      ${eA&&Ae?`
267              if (n + local_id.y < past_sequence_length) {
268                tileK[idx] = past_key[pastKeyOffset + (n + local_id.y) * uniforms.K + w + local_id.x];
269              } else if (n + local_id.y - past_sequence_length < uniforms.kv_sequence_length) {
270                tileK[idx] = key[kOffset + (n + local_id.y - past_sequence_length) * uniforms.K + w + local_id.x];
271              }`:`
272          if (n + local_id.y < uniforms.kv_sequence_length) {
273            tileK[idx] = key[kOffset + (n + local_id.y) * uniforms.K + w + local_id.x];
274          }`}
275      ${Ae?`if (n + local_id.y < present_sequence_length) {
276        present_key[presentKeyOffset + (n + local_id.y) * uniforms.K + w + local_id.x] = tileK[idx];
277      }`:""}
278      }
279      workgroupBarrier();
280
281      for (var k: u32 = 0u; k < TILE_SIZE && w+k < uniforms.K; k++) {
282          value += ${nA}(tileQ[TILE_SIZE * local_id.y + k] * tileK[TILE_SIZE * local_id.x + k]);
283      }
284
285      workgroupBarrier();
286    }
287
288    if (global_id.y < uniforms.M && global_id.x < total_sequence_length) {
289      let headOffset = workgroup_id.z * uniforms.M * uniforms.N;
290      let outputIdx = headOffset + global_id.y * uniforms.N + global_id.x;
291      var sum: f32 = ${(()=>{switch(be){case 1:return"value";case 2:return"value.x + value.y";case 4:return"value.x + value.y + value.z + value.w";default:throw new Error(`Unsupported components: ${be}`)}})()};
292        output[outputIdx] = ${Pt.type.value} (sum * uniforms.alpha) + ${B?"attention_bias[outputIdx]":"0.0"};
293    }
294  }`}}},Ei=(n,u,h,w,B,E,v=void 0,P=void 0)=>{let N=E+B.kvSequenceLength,L=B.nReps?B.nReps:1,ee=B.vHiddenSize*L,Ae=n>1&&w,Q=B.kvNumHeads?B.kvNumHeads:B.numHeads,le=Ae?[B.batchSize,Q,N,B.headSize]:void 0,de=[B.batchSize,B.sequenceLength,ee],we=12,be={x:Math.ceil(B.vHeadSize/we),y:Math.ceil(B.sequenceLength/we),z:B.batchSize*B.numHeads},Me=[{type:12,data:B.sequenceLength},{type:12,data:N},{type:12,data:B.vHeadSize},{type:12,data:B.numHeads},{type:12,data:B.headSize},{type:12,data:ee},{type:12,data:E},{type:12,data:B.kvSequenceLength},{type:12,data:L}],Fe=Ae&&w&&Le.size(w.dims)>0,We=["type","type"];Fe&&We.push("type"),v&&We.push("type"),P&&We.push("type");let $e=[{dims:de,dataType:u.dataType,gpuDataType:0}];return Ae&&$e.push({dims:le,dataType:u.dataType,gpuDataType:0}),{name:"AttentionScore",shaderCache:{hint:`${w!==void 0};${n}`,inputDependencies:We},getRunData:()=>({outputs:$e,dispatchGroup:be,programUniforms:Me}),getShaderSource:eA=>{let sA=pA("probs",u.dataType,u.dims),zA=[sA,pA("v",h.dataType,h.dims)];Fe&&zA.push(pA("past_value",w.dataType,w.dims));let jA=v?pA("seq_lens",v.dataType,v.dims):void 0;v&&zA.push(jA);let ht=P?pA("total_sequence_length_input",P.dataType,P.dims):void 0;P&&zA.push(ht);let mt=[$A("output",u.dataType,de)];return Ae&&mt.push($A("present_value",u.dataType,le)),`
295  const TILE_SIZE = 12u;
296  var<workgroup> tileQ: array<${sA.type.value}, 144>;
297  var<workgroup> tileV: array<${sA.type.value}, 144>;
298  ${eA.registerUniforms([{name:"M",type:"u32"},{name:"K",type:"u32"},{name:"N",type:"u32"},{name:"num_heads",type:"u32"},{name:"head_size",type:"u32"},{name:"v_hidden_size",type:"u32"},{name:"past_sequence_length",type:"u32"},{name:"kv_sequence_length",type:"u32"},{name:"n_reps",type:"u32"}]).declareVariables(...zA,...mt)}
299  ${eA.mainStart([we,we,1])}
300   let headIdx = workgroup_id.z % uniforms.num_heads;
301   let batchIdx = workgroup_id.z / uniforms.num_heads;
302   let kvHeadIdx = ${L===1?"headIdx":"headIdx / uniforms.n_reps"};
303   let kv_num_heads = ${L===1?"uniforms.num_heads":"uniforms.num_heads / uniforms.n_reps"};
304   let m = global_id.y;
305   let n = global_id.x;
306   let sequence_length = uniforms.M;
307   var total_sequence_length = uniforms.K;
308   ${RA(jA,ht,!0)}
309   let offsetA = workgroup_id.z * uniforms.M * uniforms.K + m * uniforms.K;
310   let absKvHeadIdx = batchIdx * kv_num_heads + kvHeadIdx; // kvHeadIdx is relative to the batch
311   ${Fe&&Ae?"let pastValueOffset = absKvHeadIdx * uniforms.N * uniforms.past_sequence_length + n;":""};
312   let vOffset = absKvHeadIdx * uniforms.N * uniforms.kv_sequence_length + n;
313   ${Ae?"let presentValueOffset = absKvHeadIdx * uniforms.N * uniforms.K + n;":""}
314   var value = ${sA.type.storage}(0);
315   for (var w: u32 = 0u; w < uniforms.K; w += TILE_SIZE) {
316      if (m < uniforms.M && w + local_id.x < uniforms.K) {
317        tileQ[TILE_SIZE * local_id.y + local_id.x] = probs[offsetA + w + local_id.x];
318      }
319      if (n < uniforms.N && w + local_id.y < uniforms.K) {
320        var idx = TILE_SIZE * local_id.y + local_id.x;
321        ${Fe&&Ae?`
322        if (w + local_id.y < past_sequence_length) {
323          tileV[idx] = past_value[pastValueOffset + (w + local_id.y) * uniforms.N];
324        } else if (w + local_id.y - past_sequence_length < uniforms.kv_sequence_length) {
325          tileV[idx] = v[vOffset + (w + local_id.y - past_sequence_length) * uniforms.N];
326        }
327      `:`
328            if (w + local_id.y < uniforms.kv_sequence_length) {
329              tileV[idx] = v[vOffset + (w + local_id.y) * uniforms.N];
330            }`}
331        ${Ae?`
332            if (w + local_id.y < present_sequence_length) {
333          present_value[presentValueOffset + (w + local_id.y) * uniforms.N] = tileV[idx];
334        }`:""}
335      }
336     workgroupBarrier();
337     for (var k: u32 = 0u; k < TILE_SIZE && w+k < total_sequence_length; k++) {
338       value += tileQ[TILE_SIZE * local_id.y + k] * tileV[TILE_SIZE * k + local_id.x];
339     }
340     workgroupBarrier();
341   }
342
343   // we need to transpose output from BNSH_v to BSND_v
344   if (m < uniforms.M && n < uniforms.N) {
345     let outputIdx = batchIdx * uniforms.M * uniforms.v_hidden_size + m * uniforms.v_hidden_size
346       + headIdx * uniforms.N + n;
347     output[outputIdx] = value;
348   }
349  }`}}},Is=(n,u,h,w,B,E,v,P,N,L,ee=void 0,Ae=void 0)=>{let Q=Math.min(n.outputCount,1+(v?1:0)+(P?1:0)),le=Q>1?L.pastSequenceLength:0,de=le+L.kvSequenceLength,we=N&&Le.size(N.dims)>0?N:void 0,be=[u,h];Q>1&&v&&Le.size(v.dims)>0&&be.push(v),we&&be.push(we),ee&&be.push(ee),Ae&&be.push(Ae);let Me=n.compute(Gn(Q,u,h,v,we,L,le,ee,Ae),{inputs:be,outputs:Q>1?[-1,1]:[-1]})[0];n.compute(es(Me,L.batchSize,L.numHeads,le,L.sequenceLength,de,ee,Ae),{inputs:ee&&Ae?[Me,ee,Ae]:[Me],outputs:[]});let Fe=[Me,w];Q>1&&P&&Le.size(P.dims)>0&&Fe.push(P),ee&&Fe.push(ee),Ae&&Fe.push(Ae),n.compute(Ei(Q,Me,w,P,L,le,ee,Ae),{inputs:Fe,outputs:Q>1?[0,2]:[0]})},Dn=(n,u)=>{let h=[u.batchSize,u.numHeads,u.sequenceLength,u.headSize],w=u.sequenceLength,B=u.inputHiddenSize,E=u.headSize,v=12,P={x:Math.ceil(u.headSize/v),y:Math.ceil(u.sequenceLength/v),z:u.batchSize*u.numHeads},N=[n.inputs[0],n.inputs[1],n.inputs[2]],L=[{type:12,data:w},{type:12,data:B},{type:12,data:E},{type:12,data:u.numHeads},{type:12,data:u.headSize},{type:12,data:u.hiddenSize},{type:12,data:u.hiddenSize+u.hiddenSize+u.vHiddenSize}];return n.compute({name:"AttentionPrepare",shaderCache:{inputDependencies:["type","type","type"]},getRunData:()=>({outputs:[{dims:h,dataType:n.inputs[0].dataType,gpuDataType:0},{dims:h,dataType:n.inputs[0].dataType,gpuDataType:0},{dims:h,dataType:n.inputs[0].dataType,gpuDataType:0}],dispatchGroup:P,programUniforms:L}),getShaderSource:ee=>{let Ae=$A("output_q",N[0].dataType,h),Q=$A("output_k",N[0].dataType,h),le=$A("output_v",N[0].dataType,h),de=pA("input",N[0].dataType,N[0].dims),we=pA("weight",N[1].dataType,N[1].dims),be=pA("bias",N[2].dataType,N[2].dims),Me=de.type.storage;return`
350  const TILE_SIZE = 12u;
351  var<workgroup> tileInput: array<${Me}, 144>;
352  var<workgroup> tileWeightQ: array<${Me}, 144>;
353  var<workgroup> tileWeightK: array<${Me}, 144>;
354  var<workgroup> tileWeightV: array<${Me}, 144>;
355  ${ee.registerUniforms([{name:"M",type:"u32"},{name:"K",type:"u32"},{name:"N",type:"u32"},{name:"num_heads",type:"u32"},{name:"head_size",type:"u32"},{name:"hidden_size",type:"u32"},{name:"ldb",type:"u32"}]).declareVariables(de,we,be,Ae,Q,le)}
356  ${ee.mainStart([v,v,1])}
357    let batchIndex = workgroup_id.z / uniforms.num_heads;
358    let headNumber = workgroup_id.z % uniforms.num_heads;
359    let m = global_id.y;
360    let n = global_id.x;
361
362    let inputOffset = batchIndex * (uniforms.M * uniforms.K) + m * uniforms.K;
363    let biasOffsetQ = headNumber * uniforms.head_size;
364    let biasOffsetK = uniforms.hidden_size + biasOffsetQ;
365    let biasOffsetV = uniforms.hidden_size + biasOffsetK;
366
367    var valueQ = ${Me}(0);
368    var valueK = ${Me}(0);
369    var valueV = ${Me}(0);
370    for (var w: u32 = 0u; w < uniforms.K; w += TILE_SIZE) {
371      if (m < uniforms.M && w + local_id.x < uniforms.K) {
372        tileInput[TILE_SIZE * local_id.y + local_id.x] = input[inputOffset + w + local_id.x];
373      }
374      if (n < uniforms.N && w + local_id.y < uniforms.K) {
375        let offset = n + (w + local_id.y) * uniforms.ldb;
376        tileWeightQ[TILE_SIZE * local_id.y + local_id.x] = weight[biasOffsetQ + offset];
377        tileWeightK[TILE_SIZE * local_id.y + local_id.x] = weight[biasOffsetK + offset];
378        tileWeightV[TILE_SIZE * local_id.y + local_id.x] = weight[biasOffsetV + offset];
379      }
380      workgroupBarrier();
381      for (var k: u32 = 0u; k<TILE_SIZE && w+k < uniforms.K; k++) {
382        let inputTileOffset = TILE_SIZE * local_id.y + k;
383        let weightTileOffset = TILE_SIZE * k + local_id.x;
384        valueQ += tileInput[inputTileOffset] * tileWeightQ[weightTileOffset];
385        valueK += tileInput[inputTileOffset] * tileWeightK[weightTileOffset];
386        valueV += tileInput[inputTileOffset] * tileWeightV[weightTileOffset];
387      }
388
389      workgroupBarrier();
390    }
391
392    let headOffset = (m * uniforms.N + n) % uniforms.head_size;
393    valueQ += bias[headOffset + biasOffsetQ];
394    valueK += bias[headOffset + biasOffsetK];
395    valueV += bias[headOffset + biasOffsetV];
396
397    let offset = workgroup_id.z * uniforms.M * uniforms.N;
398    if (m < uniforms.M && n < uniforms.N) {
399      let outputIdx = offset + m * uniforms.N + n;
400      output_q[outputIdx] = valueQ;
401      output_k[outputIdx] = valueK;
402      output_v[outputIdx] = valueV;
403    }
404  }`}},{inputs:N,outputs:[-1,-1,-1]})},k0=(n,u)=>{let h=oi(n.inputs,u),[w,B,E]=Dn(n,h);return Is(n,w,B,E,n.inputs[4],void 0,void 0,void 0,n.inputs[5],h)}}),U1=Pe(()=>{dA(),Mt(),St(),Zr(),Yt(),x0=(n,u)=>{if(!n||n.length!==5)throw new Error("BatchNormalization requires 5 inputs");let h=(w,B,E)=>{let v=B.length;if(v!==w.length)throw new Error(`${E}: num dimensions != ${v}`);B.forEach((P,N)=>{if(P!==w[N])throw new Error(`${E}: dim[${N}] do not match`)})};if(n[0].dims.length>1){let w=u.format==="NHWC"?u.spatial?n[0].dims.slice(-1):n[0].dims.slice(-1).concat(n[0].dims.slice(1,n[0].dims.length-1)):n[0].dims.slice(1,u.spatial?2:void 0);h(n[1].dims,w,"Invalid input scale"),h(n[2].dims,w,"Invalid input B"),h(n[3].dims,w,"Invalid input mean"),h(n[4].dims,w,"Invalid input var")}else h(n[1].dims,[1],"Invalid input scale"),h(n[2].dims,[1],"Invalid input B"),h(n[3].dims,[1],"Invalid input mean"),h(n[4].dims,[1],"Invalid input var")},ji=(n,u)=>{let{epsilon:h,spatial:w,format:B}=u,E=n[0].dims,v=w?Zt(E[E.length-1]):1,P=B==="NHWC"&&E.length>1?v:1,N=Le.size(E)/v,L=w,ee=L?E.length:E,Ae=pA("x",n[0].dataType,n[0].dims,v),Q=pA("scale",n[1].dataType,n[1].dims,P),le=pA("bias",n[2].dataType,n[2].dims,P),de=pA("inputMean",n[3].dataType,n[3].dims,P),we=pA("inputVar",n[4].dataType,n[4].dims,P),be=$A("y",n[0].dataType,ee,v);return{name:"BatchNormalization",shaderCache:{hint:`${u.epsilon}_${u.format}_${w}_${v}`,inputDependencies:L?["rank","type","type","type","type"]:void 0},getShaderSource:Me=>`
405  const epsilon = ${h};
406  ${Me.registerUniform("outputSize","u32").declareVariables(Ae,Q,le,de,we,be)}
407  ${Me.mainStart()}
408  ${Me.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.outputSize")}
409    var outputIndices = ${be.offsetToIndices(`global_idx * ${v}`)};
410    ${(()=>{let Fe="";if(w)Fe=`let cOffset = ${E.length===1?"0u":B==="NHWC"?`outputIndices[${E.length-1}] / ${v}`:"outputIndices[1]"};`;else if(B==="NCHW")Fe=`
411            ${be.indicesSet("outputIndices","0","0")}
412            let cOffset = ${be.indicesToOffset("outputIndices")};`;else{Fe=`var cIndices = ${Q.type.indices}(0);
413                       cIndices[0] = outputIndices[${E.length-1}];`;for(let We=1;We<Q.rank;We++)Fe+=`cIndices[${We}] = outputIndices[${We}];`;Fe+=`let cOffset = ${Q.indicesToOffset("cIndices")};`}return Fe})()}
414    let scale = ${Q.getByOffset("cOffset")};
415    let bias = ${le.getByOffset("cOffset")};
416    let inputMean = ${de.getByOffset("cOffset")};
417    let inputVar = ${we.getByOffset("cOffset")};
418    let x = ${Ae.getByOffset("global_idx")};
419    let value = (x - inputMean) * inverseSqrt(inputVar + epsilon) * scale + bias;
420    ${be.setByOffset("global_idx","value")}
421  }`,getRunData:()=>({outputs:[{dims:n[0].dims,dataType:n[0].dataType}],dispatchGroup:{x:Math.ceil(N/64)},programUniforms:L?[{type:12,data:N},..._A(E)]:[{type:12,data:N}]})}},B0=n=>Ze(n),v0=(n,u)=>{let{inputs:h,outputCount:w}=n,B=B0({...u,outputCount:w});if(Z.webgpu.validateInputContent&&x0(h,B),u.trainingMode)throw new Error("BatchNormalization trainingMode is not supported yet.");n.compute(ji(h,B))}}),K1=Pe(()=>{St(),Yt(),Rr=n=>{if(n[0].dims.length!==3)throw new Error("input should have 3 dimensions");if(![320,640,1280].includes(n[0].dims[2]))throw new Error("number of channels should be 320, 640 or 1280");if(n[1].dims.length!==1)throw new Error("bias is expected to have 1 dimensions");if(n[0].dims[2]!==n[1].dims[0])throw new Error("last dimension of input and bias are not the same")},y0=n=>{let u=n[0].dims,h=n[0].dims[2],w=Le.size(u)/4,B=n[0].dataType,E=pA("input",B,u,4),v=pA("bias",B,[h],4),P=pA("residual",B,u,4),N=$A("output",B,u,4);return{name:"BiasAdd",getRunData:()=>({outputs:[{dims:u,dataType:n[0].dataType}],dispatchGroup:{x:Math.ceil(w/64)}}),getShaderSource:L=>`
422  const channels = ${h}u / 4;
423  ${L.declareVariables(E,v,P,N)}
424
425  ${L.mainStart()}
426    ${L.guardAgainstOutOfBoundsWorkgroupSizes(w)}
427    let value = ${E.getByOffset("global_idx")}
428      + ${v.getByOffset("global_idx % channels")} + ${P.getByOffset("global_idx")};
429    ${N.setByOffset("global_idx","value")}
430  }`}},E0=n=>{Rr(n.inputs),n.compute(y0(n.inputs))}}),s2=Pe(()=>{Mt(),St(),Zr(),Yt(),kt=(n,u,h,w,B,E,v)=>{let P=Math.ceil(u/4),N="";N=typeof B=="string"?`${B}(a)`:B("a");let L=pA("inputData",h,[P],4),ee=$A("outputData",w,[P],4),Ae=[{name:"vec_size",type:"u32"}];return v&&Ae.push(...v),`
431      ${n.registerUniforms(Ae).declareVariables(L,ee)}
432
433  ${E??""}
434
435  ${n.mainStart()}
436    ${n.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.vec_size")}
437
438    let a = ${L.getByOffset("global_idx")};
439    ${ee.setByOffset("global_idx",N)}
440  }`},Wt=(n,u,h,w,B,E=n.dataType,v,P)=>{let N=[{type:12,data:Math.ceil(Le.size(n.dims)/4)}];return v&&N.push(...v),{name:u,shaderCache:{hint:B,inputDependencies:["type"]},getShaderSource:L=>kt(L,Le.size(n.dims),n.dataType,E,h,w,P),getRunData:L=>({outputs:[{dims:n.dims,dataType:E}],dispatchGroup:{x:Math.ceil(Le.size(L[0].dims)/64/4)},programUniforms:N})}},Qn=n=>{n.compute(Wt(n.inputs[0],"Abs","abs"))},us=n=>{n.compute(Wt(n.inputs[0],"Acos","acos"))},M0=n=>{n.compute(Wt(n.inputs[0],"Acosh","acosh"))},ta=n=>{n.compute(Wt(n.inputs[0],"Asin","asin"))},ws=n=>{n.compute(Wt(n.inputs[0],"Asinh","asinh"))},ra=n=>{n.compute(Wt(n.inputs[0],"Atan","atan"))},ks=n=>{n.compute(Wt(n.inputs[0],"Atanh","atanh"))},Ui=n=>Ze(n),Tn=(n,u)=>{let h;switch(u.to){case 10:h="vec4<f16>";break;case 1:h="vec4<f32>";break;case 12:h="vec4<u32>";break;case 6:h="vec4<i32>";break;case 9:h="vec4<bool>";break;default:throw new RangeError(`not supported type (specified in attribute 'to' from 'Cast' operator): ${u.to}`)}n.compute(Wt(n.inputs[0],"Cast",h,void 0,u.cacheKey,u.to))},G0=n=>{let u,h,w=n.length>=2&&n[1].data!==0,B=n.length>=3&&n[2].data!==0;switch(n[0].dataType){case 1:u=w?n[1].getFloat32Array()[0]:-34028234663852886e22,h=B?n[2].getFloat32Array()[0]:34028234663852886e22;break;case 10:u=w?n[1].getUint16Array()[0]:64511,h=B?n[2].getUint16Array()[0]:31743;break;default:throw new Error("Unsupport data type")}return Ze({min:u,max:h})},Ki=(n,u)=>{let h=u||G0(n.inputs),w=VA(n.inputs[0].dataType);n.compute(Wt(n.inputs[0],"Clip",B=>`clamp(${B}, vec4<${w}>(uniforms.min), vec4<${w}>(uniforms.max))`,void 0,h.cacheKey,void 0,[{type:n.inputs[0].dataType,data:h.min},{type:n.inputs[0].dataType,data:h.max}],[{name:"min",type:w},{name:"max",type:w}]),{inputs:[0]})},Mr=n=>{n.compute(Wt(n.inputs[0],"Ceil","ceil"))},Mi=n=>{n.compute(Wt(n.inputs[0],"Cos","cos"))},Pn=n=>{n.compute(Wt(n.inputs[0],"Cosh","cosh"))},aa=n=>Ze(n),li=(n,u)=>{let h=VA(n.inputs[0].dataType);n.compute(Wt(n.inputs[0],"Elu",w=>`elu_vf32(${w})`,`
441  const elu_alpha_ = ${h}(${u.alpha});
442
443  fn elu_f32(a: ${h}) -> ${h} {
444  return select((exp(a) - 1.0) * elu_alpha_, a, a >= 0.0);
445  }
446
447  fn elu_vf32(v: vec4<${h}>) -> vec4<${h}> {
448  return vec4(elu_f32(v.x), elu_f32(v.y), elu_f32(v.z), elu_f32(v.w));
449  }`,u.cacheKey))},xs=(n="f32")=>`
450const r0: ${n} = 0.3275911;
451const r1: ${n} = 0.254829592;
452const r2: ${n} = -0.284496736;
453const r3: ${n} = 1.421413741;
454const r4: ${n} = -1.453152027;
455const r5: ${n} = 1.061405429;
456
457fn erf_vf32(v: vec4<${n}>) -> vec4<${n}> {
458  let absv = abs(v);
459  let x = 1.0 / (1.0 + r0 * absv);
460  return sign(v) * (1.0 - ((((r5 * x + r4) * x + r3) * x + r2) * x + r1) * x * exp(-absv * absv));
461}`,zn=n=>{let u=VA(n.inputs[0].dataType);n.compute(Wt(n.inputs[0],"Erf",h=>`erf_vf32(${h})`,xs(u)))},Fn=n=>{n.compute(Wt(n.inputs[0],"Exp","exp"))},Sn=n=>{n.compute(Wt(n.inputs[0],"Floor","floor"))},Zi=n=>{let u=VA(n.inputs[0].dataType);n.compute(Wt(n.inputs[0],"Gelu",h=>`0.5 * ${h} * (1.0 + erf_vf32(${h} * 0.7071067811865475))`,xs(u)))},ds=(n,u)=>{let h=VA(n.inputs[0].dataType);n.compute(Wt(n.inputs[0],"LeakyRelu",w=>`select(leaky_relu_alpha_ * ${w}, ${w}, ${w} >= vec4<${h}>(0.0))`,`const leaky_relu_alpha_ = ${h}(${u.alpha});`,u.cacheKey))},Xi=n=>{n.compute(Wt(n.inputs[0],"Not",u=>`!${u}`))},D0=n=>{n.compute(Wt(n.inputs[0],"Neg",u=>`-${u}`))},Nn=n=>{n.compute(Wt(n.inputs[0],"Reciprocal",u=>`1.0/${u}`))},On=n=>{let u=VA(n.inputs[0].dataType);n.compute(Wt(n.inputs[0],"Relu",h=>`select(vec4<${u}>(0.0), ${h}, ${h} > vec4<${u}>(0.0))`))},Bs=n=>{n.compute(Wt(n.inputs[0],"Sigmoid",u=>`(1.0 / (1.0 + exp(-${u})))`))},qi=n=>Ze(n),Wr=(n,u)=>{let h=VA(n.inputs[0].dataType);n.compute(Wt(n.inputs[0],"HardSigmoid",w=>`max(vec4<${h}>(0.0), min(vec4<${h}>(1.0), ${u.alpha} * ${w} + vec4<${h}>(${u.beta})))`,void 0,u.cacheKey))},Ln=n=>{n.compute(Wt(n.inputs[0],"Sin","sin"))},Ji=n=>{n.compute(Wt(n.inputs[0],"Sinh","sinh"))},Gi=n=>{n.compute(Wt(n.inputs[0],"Sqrt","sqrt"))},Na=n=>{n.compute(Wt(n.inputs[0],"Tan","tan"))},Di=n=>`sign(${n}) * (1 - exp(-2 * abs(${n}))) / (1 + exp(-2 * abs(${n})))`,Yn=n=>{n.compute(Wt(n.inputs[0],"Tanh",Di))},As=(n="f32")=>`
462const fast_gelu_a: ${n} = 0.5;
463const fast_gelu_b: ${n} = 0.7978845608028654;
464const fast_gelu_c: ${n} = 0.035677408136300125;
465
466fn tanh_v(v: vec4<${n}>) -> vec4<${n}> {
467  return ${Di("v")};
468}
469`,Hn=n=>`(fast_gelu_a + fast_gelu_a * tanh_v(${n} * (fast_gelu_c * ${n} * ${n} + fast_gelu_b))) * ${n}`,_i=n=>{let u=VA(n.inputs[0].dataType);n.compute(Wt(n.inputs[0],"FastGelu",Hn,As(u),void 0,n.inputs[0].dataType))},Rn=(n,u)=>{let h=VA(n.inputs[0].dataType);return n.compute(Wt(n.inputs[0],"ThresholdedRelu",w=>`select(vec4<${h}>(0.0), ${w}, ${w} > thresholded_relu_alpha_)`,`const thresholded_relu_alpha_ = vec4<${h}>(${u.alpha});`,u.cacheKey)),0},ci=n=>{n.compute(Wt(n.inputs[0],"Log","log"))},Wn=(n,u)=>`
470const alpha = vec4<${n}>(${u});
471const one = ${n}(1.0);
472const zero = ${n}(0.0);
473
474fn quick_gelu_impl(x: vec4<${n}>) -> vec4<${n}> {
475  let v = x *alpha;
476  var x1 : vec4<${n}>;
477  for (var i = 0; i < 4; i = i + 1) {
478    if (v[i] >= zero) {
479      x1[i] = one / (one + exp(-v[i]));
480    } else {
481      x1[i] = one - one / (one + exp(v[i]));
482    }
483  }
484  return x * x1;
485}
486`,Q0=n=>`quick_gelu_impl(${n})`,T0=(n,u)=>{let h=VA(n.inputs[0].dataType);n.compute(Wt(n.inputs[0],"QuickGelu",Q0,Wn(h,u.alpha),u.cacheKey,n.inputs[0].dataType))}}),Z1=Pe(()=>{St(),Yt(),s2(),sa=n=>{if(n[0].dims.length!==3)throw new Error("input should have 3 dimensions");if(![2560,5120,10240].includes(n[0].dims[2]))throw new Error("hidden state should be 2560, 5120 or 10240");if(n[1].dims.length!==1)throw new Error("bias is expected to have 1 dimensions");if(n[0].dims[2]!==n[1].dims[0])throw new Error("last dimension of input and bias are not the same")},Qi=n=>{let u=n[0].dims.slice();u[2]=u[2]/2;let h=pA("input",n[0].dataType,n[0].dims,4),w=pA("bias",n[0].dataType,[n[0].dims[2]],4),B=$A("output",n[0].dataType,u,4),E=Le.size(u)/4,v=zt(n[0].dataType);return{name:"BiasSplitGelu",getRunData:()=>({outputs:[{dims:u,dataType:n[0].dataType}],dispatchGroup:{x:Math.ceil(E/64)}}),getShaderSource:P=>`
487  const M_SQRT2 = sqrt(2.0);
488  const halfChannels = ${n[0].dims[2]/4/2}u;
489
490  ${P.declareVariables(h,w,B)}
491
492  ${xs(v)}
493
494  ${P.mainStart()}
495    ${P.guardAgainstOutOfBoundsWorkgroupSizes(E)}
496    let biasIdx = global_idx % halfChannels;
497    let batchIndex = global_idx / halfChannels;
498    let inputOffset = biasIdx + batchIndex * halfChannels * 2;
499    let valueLeft = input[inputOffset] + bias[biasIdx];
500    let valueRight = input[inputOffset + halfChannels] + bias[biasIdx + halfChannels];
501    let geluRight = valueRight * 0.5 * (erf_vf32(valueRight / M_SQRT2) + 1);
502
503    ${B.setByOffset("global_idx","valueLeft * geluRight")}
504  }`}},ma=n=>{sa(n.inputs),n.compute(Qi(n.inputs))}}),X1=Pe(()=>{Mt(),St(),Yt(),Vn=(n,u,h,w,B,E,v,P,N,L,ee,Ae)=>{let Q,le;typeof P=="string"?Q=le=(Fe,We)=>`${P}((${Fe}),(${We}))`:typeof P=="function"?Q=le=P:(Q=P.scalar,le=P.vector);let de,we=$A("outputData",ee,w.length,4),be=pA("aData",N,u.length,4),Me=pA("bData",L,h.length,4);if(B)if(E){let Fe=Le.size(u)===1,We=Le.size(h)===1,$e=u.length>0&&u[u.length-1]%4==0,eA=h.length>0&&h[h.length-1]%4==0;de=Fe||We?we.setByOffset("global_idx",le(Fe?`${be.type.value}(${be.getByOffset("0")}.x)`:be.getByOffset("global_idx"),We?`${Me.type.value}(${Me.getByOffset("0")}.x)`:Me.getByOffset("global_idx"))):`
505            let outputIndices = ${we.offsetToIndices("global_idx * 4u")};
506            let offsetA = ${be.broadcastedIndicesToOffset("outputIndices",we)};
507            let offsetB = ${Me.broadcastedIndicesToOffset("outputIndices",we)};
508            ${we.setByOffset("global_idx",le(v||$e?be.getByOffset("offsetA / 4u"):`${be.type.value}(${be.getByOffset("offsetA / 4u")}[offsetA % 4u])`,v||eA?Me.getByOffset("offsetB / 4u"):`${Me.type.value}(${Me.getByOffset("offsetB / 4u")}[offsetB % 4u])`))}
509          `}else de=we.setByOffset("global_idx",le(be.getByOffset("global_idx"),Me.getByOffset("global_idx")));else{if(!E)throw new Error("no necessary to use scalar implementation for element-wise binary op implementation.");let Fe=(We,$e,eA="")=>{let sA=`aData[indexA${$e}][componentA${$e}]`,zA=`bData[indexB${$e}][componentB${$e}]`;return`
510            let outputIndices${$e} = ${we.offsetToIndices(`global_idx * 4u + ${$e}u`)};
511            let offsetA${$e} = ${be.broadcastedIndicesToOffset(`outputIndices${$e}`,we)};
512            let offsetB${$e} = ${Me.broadcastedIndicesToOffset(`outputIndices${$e}`,we)};
513            let indexA${$e} = offsetA${$e} / 4u;
514            let indexB${$e} = offsetB${$e} / 4u;
515            let componentA${$e} = offsetA${$e} % 4u;
516            let componentB${$e} = offsetB${$e} % 4u;
517            ${We}[${$e}] = ${eA}(${Q(sA,zA)});
518          `};de=ee===9?`
519            var data = vec4<u32>(0);
520            ${Fe("data",0,"u32")}
521            ${Fe("data",1,"u32")}
522            ${Fe("data",2,"u32")}
523            ${Fe("data",3,"u32")}
524            outputData[global_idx] = dot(vec4<u32>(0x1, 0x100, 0x10000, 0x1000000), vec4<u32>(data));`:`
525            ${Fe("outputData[global_idx]",0)}
526            ${Fe("outputData[global_idx]",1)}
527            ${Fe("outputData[global_idx]",2)}
528            ${Fe("outputData[global_idx]",3)}
529          `}return`
530        ${n.registerUniform("vec_size","u32").declareVariables(be,Me,we)}
531
532        ${Ae??""}
533
534        ${n.mainStart()}
535        ${n.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.vec_size")}
536        ${de}
537      }`},$i=(n,u,h,w,B,E,v=h.dataType)=>{let P=h.dims.map(we=>Number(we)??1),N=w.dims.map(we=>Number(we)??1),L=!Le.areEqual(P,N),ee=P,Ae=Le.size(P),Q=!1,le=!1,de=[L];if(L){let we=PA.calcShape(P,N,!1);if(!we)throw new Error("Can't perform binary op on the given tensors");ee=we.slice(),Ae=Le.size(ee);let be=Le.size(P)===1,Me=Le.size(N)===1,Fe=P.length>0&&P[P.length-1]%4==0,We=N.length>0&&N[N.length-1]%4==0;de.push(be),de.push(Me),de.push(Fe),de.push(We);let $e=1;for(let eA=1;eA<ee.length;eA++){let sA=P[P.length-eA];if(sA!==N[N.length-eA])break;$e*=sA}$e%4==0?(le=!0,Q=!0):(be||Me||Fe||We)&&(Q=!0)}else Q=!0;return de.push(Q),{name:n,shaderCache:{hint:u+de.map(we=>we.toString()).join("_"),inputDependencies:["rank","rank"]},getShaderSource:we=>Vn(we,P,N,ee,Q,L,le,B,h.dataType,w.dataType,v,E),getRunData:()=>({outputs:[{dims:ee,dataType:v}],dispatchGroup:{x:Math.ceil(Ae/64/4)},programUniforms:[{type:12,data:Math.ceil(Le.size(ee)/4)},..._A(P,N,ee)]})}},ja=(n,u,h,w,B,E)=>{n.compute($i(u,B??"",n.inputs[0],n.inputs[1],h,w,E))},hr=n=>{ja(n,"Add",(u,h)=>`${u}+${h}`)},jn=n=>{ja(n,"Div",(u,h)=>`${u}/${h}`)},Ps=n=>{ja(n,"Equal",{scalar:(u,h)=>`u32(${u}==${h})`,vector:(u,h)=>`vec4<u32>(${u}==${h})`},void 0,void 0,9)},gi=n=>{ja(n,"Mul",(u,h)=>`${u}*${h}`)},P0=n=>{let u=pA("input",n.inputs[0].dataType,n.inputs[0].dims).type.value;ja(n,"Pow",{scalar:(h,w)=>`pow_custom(${h},${w})`,vector:(h,w)=>`pow_vector_custom(${h},${w})`},`
538    fn pow_custom(a : ${u}, b : ${u}) -> ${u} {
539      if (b == ${u}(0.0)) {
540        return ${u}(1.0);
541      } else if (a < ${u}(0.0) && f32(b) != floor(f32(b))) {
542        return ${u}(pow(f32(a), f32(b))); // NaN
543      }
544      return select(sign(a), ${u}(1.0), round(f32(abs(b) % ${u}(2.0))) != 1.0) * ${u}(${u==="i32"?"round":""}(pow(f32(abs(a)), f32(b))));
545    }
546    fn pow_vector_custom(a : vec4<${u}>, b : vec4<${u}>) -> vec4<${u}> {
547      // TODO: implement vectorized pow
548      return vec4<${u}>(pow_custom(a.x, b.x), pow_custom(a.y, b.y), pow_custom(a.z, b.z), pow_custom(a.w, b.w));
549    }
550      `)},Un=n=>{ja(n,"Sub",(u,h)=>`${u}-${h}`)},Kn=n=>{ja(n,"Greater",{scalar:(u,h)=>`u32(${u}>${h})`,vector:(u,h)=>`vec4<u32>(${u}>${h})`},void 0,void 0,9)},z0=n=>{ja(n,"Less",{scalar:(u,h)=>`u32(${u}<${h})`,vector:(u,h)=>`vec4<u32>(${u}<${h})`},void 0,void 0,9)},zs=n=>{ja(n,"GreaterOrEqual",{scalar:(u,h)=>`u32(${u}>=${h})`,vector:(u,h)=>`vec4<u32>(${u}>=${h})`},void 0,void 0,9)},ts=n=>{ja(n,"LessOrEqual",{scalar:(u,h)=>`u32(${u}<=${h})`,vector:(u,h)=>`vec4<u32>(${u}<=${h})`},void 0,void 0,9)}}),q1=Pe(()=>{Mt(),St(),Zr(),Yt(),Zn=(n,u)=>{if(!n||n.length<1)throw new Error("too few inputs");let h=n[0],w=h.dataType,B=h.dims.length;n.forEach((E,v)=>{if(v!==0){if(E.dataType!==w)throw new Error("input tensors should be one type");if(E.dims.length!==B)throw new Error("input tensors should have the same shape");E.dims.forEach((P,N)=>{if(N!==u&&P!==h.dims[N])throw new Error("non concat dimensions must match")})}})},Ti=(n,u)=>`
551  fn calculateInputIndex(index: u32) -> u32 {
552    let sizeInConcatAxis = array<u32, ${n}u>(${u});
553    for (var i: u32 = 0u; i < ${n}; i += 1u ) {
554      if (index < sizeInConcatAxis[i]) {
555        return i;
556      }
557    }
558    return ${n}u;
559  }`,_r=(n,u)=>{let h=n.length,w=[];for(let B=0;B<h;++B){let E=u.setByOffset("global_idx",n[B].getByIndices("indices"));h===1?w.push(E):B===0?w.push(`if (inputIndex == ${B}u) { ${E} }`):B===h-1?w.push(`else { ${E} }`):w.push(`else if (inputIndex == ${B}) { ${E} }`)}return w.join(`
560`)},sr=(n,u,h,w)=>{let B=Le.size(h),E=new Array(n.length),v=new Array(n.length),P=0,N=[],L=[],ee=[{type:12,data:B}];for(let de=0;de<n.length;++de)P+=n[de].dims[u],E[de]=P,L.push(n[de].dims.length),v[de]=pA(`input${de}`,w,L[de]),N.push("rank"),ee.push({type:12,data:E[de]});for(let de=0;de<n.length;++de)ee.push(..._A(n[de].dims));ee.push(..._A(h));let Ae=$A("output",w,h.length),Q=Ae.indicesGet("indices",u),le=Array.from(Array(E.length).keys()).map(de=>`uniforms.sizeInConcatAxis${de}`).join(",");return{name:"Concat",shaderCache:{hint:`${u}`,inputDependencies:N},getRunData:()=>({outputs:[{dims:h,dataType:w}],dispatchGroup:{x:Math.ceil(B/64)},programUniforms:ee}),getShaderSource:de=>`
561
562  ${(()=>{de.registerUniform("outputSize","u32");for(let we=0;we<n.length;we++)de.registerUniform(`sizeInConcatAxis${we}`,"u32");return de.declareVariables(...v,Ae)})()}
563
564  ${Ti(E.length,le)}
565
566  ${de.mainStart()}
567    ${de.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.outputSize")}
568
569    var indices = ${Ae.offsetToIndices("global_idx")};
570
571    let inputIndex = calculateInputIndex(${Q});
572    if (inputIndex != 0u) {
573      let sizeInConcatAxis = array<u32, ${E.length}u>(${le});
574      ${Q} -= sizeInConcatAxis[inputIndex - 1u];
575    }
576
577    ${_r(v,Ae)}
578  }`}},ui=(n,u)=>{let h=n.inputs,w=h[0].dims,B=Le.normalizeAxis(u.axis,w.length);Zn(h,B);let E=w.slice();E[B]=h.reduce((P,N)=>P+(N.dims.length>B?N.dims[B]:0),0);let v=h.filter(P=>Le.size(P.dims)>0);n.compute(sr(v,B,E,h[0].dataType),{inputs:v})},F0=n=>Ze({axis:n.axis})}),nn=Pe(()=>{Mt(),St(),Fs=(n,u,h="f32")=>{switch(n.activation){case"Relu":return`value = max(value, ${u}(0.0));`;case"Sigmoid":return`value = (${u}(1.0) / (${u}(1.0) + exp(-value)));`;case"Clip":return`value = clamp(value, ${u}(${h}(uniforms.clip_min)), ${u}(${h}(uniforms.clip_max)));`;case"HardSigmoid":return`value = max(${u}(0.0), min(${u}(1.0), ${h}(uniforms.alpha) * value + ${h}(uniforms.beta)));`;case"LeakyRelu":return`value = select(${h}(uniforms.alpha) * value, value, value >= ${u}(0.0));`;case"Tanh":return`let e2x = exp(-2.0 * abs(value));
579              value = sign(value) * (1.0 - e2x) / (1.0 + e2x);
580        `;case"":return"";default:throw new Error(`Unsupported activation ${n.activation}`)}},Ss=(n,u)=>{n.activation==="Clip"?u.push({type:1,data:n.clipMax},{type:1,data:n.clipMin}):n.activation==="HardSigmoid"?u.push({type:1,data:n.alpha},{type:1,data:n.beta}):n.activation==="LeakyRelu"&&u.push({type:1,data:n.alpha})},Zs=(n,u)=>{n.activation==="Clip"?u.push({name:"clip_max",type:"f32"},{name:"clip_min",type:"f32"}):n.activation==="HardSigmoid"?u.push({name:"alpha",type:"f32"},{name:"beta",type:"f32"}):n.activation==="LeakyRelu"&&u.push({name:"alpha",type:"f32"})},Xn=n=>{let u=(n==null?void 0:n.activation)||"";if(u==="HardSigmoid"){let[h,w]=(n==null?void 0:n.activation_params)||[.2,.5];return{activation:u,alpha:h,beta:w}}if(u==="Clip"){let[h,w]=(n==null?void 0:n.activation_params)||[Bt,fr];return{activation:u,clipMax:w,clipMin:h}}if(u==="LeakyRelu"){let[h]=(n==null?void 0:n.activation_params)||[.01];return{activation:u,alpha:h}}return{activation:u}}}),i2=Pe(()=>{Ca=(n,u)=>{switch(n){case 1:return u;case 2:return`vec2<${u}>`;case 3:return`vec3<${u}>`;case 4:return`vec4<${u}>`;default:throw new Error(`${n}-component is not supported.`)}},S0=n=>`
581      ${n?"value = value + getBiasByOutputCoords(coords);":""}
582      `}),J1=Pe(()=>{qn=n=>`
583fn getIndexFromCoords4D(coords : vec4<i32>, shape : vec4<i32>) -> i32 {
584  return dot(coords, vec4<i32>(
585      shape.y * shape.z * shape.w, shape.z * shape.w, shape.w, 1));
586}
587fn getOutputIndexFromCoords(coords : vec4<i32>) -> i32 {
588  return dot(coords, vec4<i32>(
589    i32(${n}.x), i32(${n}.y), i32(${n}.z), 1));
590}
591`}),n2=Pe(()=>{Mt(),St(),Yt(),nn(),di=(n,u,h,w,B)=>{let E=w-h;return`
592      ${Array.from({length:h}).map((v,P)=>`
593      if (${nt(u.shape,P,u.rank)} != 1) {
594        ${u.indicesSet(n,P,nt(B,P+E,w))}
595      } else {
596        ${u.indicesSet(n,P,0)}
597      }`).join("")}
598`},Pi=(n,u,h,w,B=!1,E)=>{let v=n[0].dims,P=n[1].dims,N=v[v.length-2],L=P[P.length-1],ee=v[v.length-1],Ae=Zt(L),Q=Zt(ee),le=Zt(N),de=Le.size(h)/Ae/le,we=n.length>2,be=w?w.slice(0,-2):h.slice(0,-2),Me=[Le.size(be),N,L],Fe=[{type:12,data:de},{type:12,data:N},{type:12,data:L},{type:12,data:ee}];return Ss(u,Fe),Fe.push(..._A(be,v,P)),we&&Fe.push(..._A(n[2].dims)),Fe.push(..._A(Me)),{name:"MatMulNaive",shaderCache:{hint:`${u.activation};${Ae};${Q};${le};${B}`,inputDependencies:we?["rank","rank","rank"]:["rank","rank"]},getRunData:()=>({outputs:[{dims:E?E(h):h,dataType:n[0].dataType}],dispatchGroup:{x:Math.ceil(de/64)},programUniforms:Fe}),getShaderSource:We=>{let $e=Hr("batch_dims",n[0].dataType,be.length),eA=pA("a",n[0].dataType,v.length,Q),sA=pA("b",n[1].dataType,P.length,Ae),zA=$A("output",n[0].dataType,Me.length,Ae),jA=zt(zA.type.tensor),ht=Fs(u,zA.type.value,jA),mt=[eA,sA],Jt="";if(we){let Pt=B?Ae:1;mt.push(pA("bias",n[2].dataType,n[2].dims.length,Pt)),Jt=B?`value += bias[col / ${Pt}];`:`value += ${zA.type.value}(bias[row + i]);`}let Ct=[{name:"output_size",type:"u32"},{name:"M",type:"u32"},{name:"N",type:"u32"},{name:"K",type:"u32"}];return Zs(u,Ct),`
599  ${We.registerUniforms(Ct).registerInternalVariables($e).declareVariables(...mt,zA)}
600  ${We.mainStart()}
601    ${We.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.output_size")}
602    let col = (global_idx % (uniforms.N / ${Ae})) * ${Ae};
603    var index1 = global_idx / (uniforms.N / ${Ae});
604    let stride1 = uniforms.M / ${le};
605    let row = (index1 % stride1) * ${le};
606    let batch = index1 / stride1;
607
608    ${h.length===2?"":`let batch_indices = ${$e.offsetToIndices("batch")};`}
609
610    var a_indices: ${eA.type.indices};
611    ${di("a_indices",eA,eA.rank-2,$e.rank,"batch_indices")}
612    ${eA.indicesSet("a_indices",eA.rank-2,0)}
613    ${eA.indicesSet("a_indices",eA.rank-1,0)}
614    let a_offset = ${eA.indicesToOffset("a_indices")};
615
616    var b_indices: ${sA.type.indices};
617    ${di("b_indices",sA,sA.rank-2,$e.rank,"batch_indices")}
618    ${sA.indicesSet("b_indices",sA.rank-2,0)}
619    ${sA.indicesSet("b_indices",sA.rank-1,0)}
620    let b_offset = ${sA.indicesToOffset("b_indices")};
621    var values: array<${zA.type.value}, ${le}>;
622    for (var k: u32 = 0u; k < uniforms.K; k = k + ${Q}) {
623      ${(()=>{let Pt=`var a_data: ${eA.type.value};`;for(let Qt=0;Qt<Q;Qt++)Pt+=`
624              let b_data${Qt} = b[(b_offset + (k + ${Qt}) * uniforms.N + col) / ${Ae}];`;for(let Qt=0;Qt<le;Qt++){Pt+=`a_data = a[(a_offset + (row + ${Qt}) * uniforms.K + k) / ${Q}];`;for(let nA=0;nA<Q;nA++)Pt+=`
625            values[${Qt}] = fma(${sA.type.value}(a_data${Q===1?"":`[${nA}]`}), b_data${nA}, values[${Qt}]);
626`}return Pt})()}
627    }
628    for (var i = 0u; i < ${le}u; i++) {
629      var value = values[i];
630      ${Jt}
631      ${ht}
632      let cur_indices = ${zA.type.indices}(batch, row + i, col);
633      let offset = ${zA.indicesToOffset("cur_indices")};
634      ${zA.setByOffset(`offset / ${Ae}`,"value")};
635    }
636  }
637  `}}}}),o2=Pe(()=>{Mt(),St(),Yt(),nn(),n2(),i2(),ia=(n,u)=>n?`
638        mm_Asub[inputRow][inputCol] = mm_readA(batch,
639          kStart + inputRow,
640          globalRowStart / innerElementSize + inputCol${u?", batchIndices":""});
641        `:`
642        mm_Asub[inputRow][inputCol] = mm_readA(batch,
643          globalRow + innerRow,
644          kStart / innerElementSize + inputCol${u?", batchIndices":""});
645        `,Jn=(n,u)=>n?`
646        let ACached0 = mm_Asub[k * innerElementSize][localRow];
647        let ACached1 = mm_Asub[k * innerElementSize + 1][localRow];
648        let ACached2 = mm_Asub[k * innerElementSize + 2][localRow];
649        ${u===3?"":"let ACached3 = mm_Asub[k * innerElementSize + 3][localRow];"}
650        for (var i = 0; i < rowPerThread; i = i + 1) {
651          acc[i] = BCached0 * ACached0[i] + acc[i];
652          acc[i] = BCached1 * ACached1[i] + acc[i];
653          acc[i] = BCached2 * ACached2[i] + acc[i];
654          ${u===3?"":"acc[i] = BCached3 * ACached3[i] + acc[i];"}
655        }`:`
656        for (var i = 0; i < rowPerThread; i = i + 1) {
657          let ACached = mm_Asub[tileRow + i][k];
658          acc[i] = BCached0 * ACached.x + acc[i];
659          acc[i] = BCached1 * ACached.y + acc[i];
660          acc[i] = BCached2 * ACached.z + acc[i];
661          ${u===3?"":"acc[i] = BCached3 * ACached.w + acc[i];"}
662        }`,en=(n,u,h="f32",w,B=!1,E=32,v=!1,P=32)=>{let N=u[1]*n[1],L=u[0]*n[0],ee=B?N:E,Ae=B?E:N,Q=ee/u[0],le=E/u[1];if((!B||Q!==4||n[1]!==4)&&(B||Q!==3&&Q!==4)||ee%u[0]!=0||E%u[1]!=0||n[0]!==4)throw new Error(`If transposeA ${B} is true, innerElementSize ${Q} and workPerThread[1] ${n[1]} must be 4.
663      Otherwise, innerElementSize ${Q} must be 3 or 4.
664  tileAWidth ${ee} must be divisible by workgroupSize[0]${u[0]}. tileInner ${E} must be divisible by workgroupSize[1] ${u[1]}. colPerThread ${n[0]} must be 4.`);return`
665var<workgroup> mm_Asub: array<array<vec${Q}<${h}>, ${ee/Q}>, ${Ae}>;
666var<workgroup> mm_Bsub: array<array<vec4<${h}>, ${L/n[0]}>, ${E}>;
667
668const rowPerThread = ${n[1]};
669const colPerThread = ${n[0]};
670const innerElementSize = ${Q};
671const tileInner = ${E};
672
673@compute @workgroup_size(${u[0]}, ${u[1]}, ${u[2]})
674fn main(@builtin(local_invocation_id) localId : vec3<u32>,
675        @builtin(global_invocation_id) globalId : vec3<u32>,
676        @builtin(workgroup_id) workgroupId : vec3<u32>) {
677  let localRow = i32(localId.y);
678  let tileRow = localRow * rowPerThread;
679  let tileCol = i32(localId.x);
680
681  let globalRow =i32(globalId.y) * rowPerThread;
682  let globalCol = i32(globalId.x);
683  let batch = ${v?"0":"i32(globalId.z)"};
684  ${w?`let batchIndices = ${w.offsetToIndices("u32(batch)")};`:""}
685  let globalRowStart = i32(workgroupId.y) * ${N};
686
687  let num_tiles = ${v?`${Math.ceil(P/E)}`:"(uniforms.dim_inner - 1) / tileInner + 1"};
688  var kStart = ${v?`i32(globalId.z) * ${P}`:"0"};
689
690  var acc: array<vec4<${h}>, rowPerThread>;
691
692  // Loop over shared dimension.
693  let tileRowB = localRow * ${le};
694  for (var t = 0; t < num_tiles; t = t + 1) {
695      // Load one tile of A into local memory.
696      for (var innerRow = 0; innerRow < rowPerThread; innerRow = innerRow + 1) {
697          let inputRow = tileRow + innerRow;
698          let inputCol = tileCol;
699          ${ia(B,w)}
700      }
701
702      // Load one tile of B into local memory.
703      for (var innerRow = 0; innerRow < ${le}; innerRow = innerRow + 1) {
704          let inputRow = tileRowB + innerRow;
705          let inputCol = tileCol;
706          mm_Bsub[inputRow][inputCol] = mm_readB(batch, kStart + inputRow, globalCol${w?", batchIndices":""});
707      }
708      kStart = kStart + tileInner;
709      workgroupBarrier();
710
711      // Compute acc values for a single thread.
712      for (var k = 0; k < tileInner / innerElementSize; k = k + 1) {
713          let BCached0 = mm_Bsub[k * innerElementSize][tileCol];
714          let BCached1 = mm_Bsub[k * innerElementSize + 1][tileCol];
715          let BCached2 = mm_Bsub[k * innerElementSize + 2][tileCol];
716          ${Q===3?"":"let BCached3 = mm_Bsub[k * innerElementSize + 3][tileCol];"}
717
718          ${Jn(B,Q)}
719      }
720
721      workgroupBarrier();
722  }
723
724  for (var innerRow = 0; innerRow < rowPerThread; innerRow = innerRow + 1) {
725      mm_write(batch, globalRow + innerRow, globalCol, acc[innerRow]);
726  }
727}`},Xs=(n,u)=>n?`
728            mm_Asub[inputRow][inputCol] = mm_readA(batch,
729              kStart + inputRow,
730              globalRowStart + inputCol${u?", batchIndices":""});
731            `:`
732            mm_Asub[inputRow][inputCol] = mm_readA(batch,
733              globalRowStart + inputRow,
734              kStart + inputCol${u?", batchIndices":""});
735            `,N0=n=>n?"let ACached = mm_Asub[k][tileRow + innerRow];":"let ACached = mm_Asub[tileRow + innerRow][k];",fi=(n,u,h="f32",w,B=!1,E=32,v=!1,P=32,N=!1)=>{let L=n[1]*u[1],ee=n[0]*u[0],Ae=B?L:E,Q=B?E:L;if(Q%u[1]!=0||Ae%u[0]!=0||E%u[1]!=0)throw new Error(`tileAHight ${Q} must be divisible by workgroupSize[1]${u[1]}, tileAWidth ${Ae} must be divisible by workgroupSize[0]${u[0]}, tileInner ${E} must be divisible by workgroupSize[1]${u[1]}`);let le=Q/u[1],de=Ae/u[0],we=E/u[1],be=N?`
736    let localRow = i32(localId.y);
737    let localCol = i32(localId.x);
738    let globalRowStart = i32(workgroupId.y) * ${L};
739    let globalColStart = i32(workgroupId.x) * ${ee};
740
741    // Loop over shared dimension.
742    for (var t = 0; t < num_tiles; t = t + 1) {
743      // Load one tile of A into local memory.
744      for (var inputRow = localRow; inputRow < ${Q}; inputRow = inputRow + ${u[1]}) {
745        for (var inputCol = localCol; inputCol < ${Ae}; inputCol = inputCol + ${u[0]}) {
746          ${Xs(B,w)}
747        }
748      }
749      // Load one tile of B into local memory.
750      for (var inputRow = localRow; inputRow < ${E}; inputRow = inputRow + ${u[1]}) {
751            for (var inputCol = localCol; inputCol < ${ee}; inputCol = inputCol + ${u[0]}) {
752          mm_Bsub[inputRow][inputCol] = mm_readB(batch,
753            kStart + inputRow,
754            globalColStart + inputCol${w?", batchIndices":""});
755        }
756      }
757      kStart = kStart + tileInner;
758      workgroupBarrier();
759
760      // Compute acc values for a single thread.
761      var BCached : array<${h}, colPerThread>;
762      for (var k = 0; k < tileInner; k = k + 1) {
763        for (var inner = 0; inner < colPerThread; inner = inner + 1) {
764          BCached[inner] = mm_Bsub[k][localCol + inner * ${u[0]}];
765        }
766        for (var innerRow = 0; innerRow < rowPerThread; innerRow = innerRow + 1) {
767          let ACached = ${B?`mm_Asub[k][localRow + innerRow * ${u[1]}];`:`mm_Asub[localRow + innerRow * ${u[1]}][k];`}
768          for (var innerCol = 0; innerCol < colPerThread; innerCol = innerCol + 1) {
769            acc[innerRow][innerCol] = acc[innerRow][innerCol] +
770                ACached * BCached[innerCol];
771          }
772        }
773      }
774      workgroupBarrier();
775    }
776    for (var innerRow = 0; innerRow < rowPerThread; innerRow = innerRow + 1) {
777      let gRow = globalRowStart + localRow + innerRow * ${u[1]};
778      for (var innerCol = 0; innerCol < colPerThread; innerCol = innerCol + 1) {
779        let gCol = globalColStart + localCol + innerCol * ${u[0]};
780        mm_write(batch, gRow, gCol, acc[innerRow][innerCol]);
781      }
782    }
783    `:`
784let tileRow = i32(localId.y) * rowPerThread;
785let tileCol = i32(localId.x) * colPerThread;
786
787let globalRow = i32(globalId.y) * rowPerThread;
788let globalCol = i32(globalId.x) * colPerThread;
789let globalRowStart = i32(workgroupId.y) * ${L};
790
791let tileRowA = i32(localId.y) * ${le};
792let tileColA = i32(localId.x) * ${de};
793let tileRowB = i32(localId.y) * ${we};
794// Loop over shared dimension.
795for (var t = 0; t < num_tiles; t = t + 1) {
796  // Load one tile of A into local memory.
797  for (var innerRow = 0; innerRow < ${le}; innerRow = innerRow + 1) {
798    for (var innerCol = 0; innerCol < ${de}; innerCol = innerCol + 1) {
799      let inputRow = tileRowA + innerRow;
800      let inputCol = tileColA + innerCol;
801      ${Xs(B,w)}
802    }
803  }
804
805  // Load one tile of B into local memory.
806  for (var innerRow = 0; innerRow < ${we}; innerRow = innerRow + 1) {
807    for (var innerCol = 0; innerCol < colPerThread; innerCol = innerCol + 1) {
808      let inputRow = tileRowB + innerRow;
809      let inputCol = tileCol + innerCol;
810      mm_Bsub[inputRow][inputCol] = mm_readB(batch,
811        kStart + inputRow,
812        globalCol + innerCol${w?", batchIndices":""});
813    }
814  }
815  kStart = kStart + tileInner;
816  workgroupBarrier();
817
818  // Compute acc values for a single thread.
819  var BCached : array<${h}, colPerThread>;
820  for (var k = 0; k < tileInner; k = k + 1) {
821    for (var inner = 0; inner < colPerThread; inner = inner + 1) {
822      BCached[inner] = mm_Bsub[k][tileCol + inner];
823    }
824
825    for (var innerRow = 0; innerRow < rowPerThread; innerRow = innerRow + 1) {
826      ${N0(B)}
827      for (var innerCol = 0; innerCol < colPerThread; innerCol = innerCol + 1) {
828        acc[innerRow][innerCol] = acc[innerRow][innerCol] + ACached * BCached[innerCol];
829      }
830    }
831  }
832
833  workgroupBarrier();
834}
835
836for (var innerRow = 0; innerRow < rowPerThread; innerRow = innerRow + 1) {
837  for (var innerCol = 0; innerCol < colPerThread; innerCol = innerCol + 1) {
838    mm_write(batch, globalRow + innerRow, globalCol + innerCol,
839        acc[innerRow][innerCol]);
840  }
841}
842`;return`
843  var<workgroup> mm_Asub : array<array<${h}, ${Ae}>, ${Q}>;
844  var<workgroup> mm_Bsub : array<array<${h}, ${ee}>, ${E}>;
845  const rowPerThread = ${n[1]};
846  const colPerThread = ${n[0]};
847  const tileInner = ${E};
848
849@compute @workgroup_size(${u[0]}, ${u[1]}, ${u[2]})
850fn main(@builtin(local_invocation_id) localId : vec3<u32>,
851        @builtin(global_invocation_id) globalId : vec3<u32>,
852        @builtin(workgroup_id) workgroupId : vec3<u32>) {
853    let batch = ${v?"0":"i32(globalId.z)"};
854    ${w?`let batchIndices = ${w.offsetToIndices("u32(batch)")};`:""}
855    let num_tiles = ${v?`${Math.ceil(P/E)}`:"(uniforms.dim_inner - 1) / tileInner + 1"};
856    var kStart = ${v?`i32(globalId.z) * ${P}`:"0"};
857
858    var acc : array<array<${h}, colPerThread>, rowPerThread>;
859    ${be}
860  }
861`},pt=(n,u,h,w,B=!1)=>{let[E,v,P,N]=w,L=zt(w[0].type.tensor);return`
862    fn mm_readA(batch: i32, row: i32, colIn: i32, batchIndices: ${E.type.indices}) -> ${Ca(n,L)} {
863      var value = ${Ca(n,L)}(0.0);
864      let col = colIn * ${n};
865      if(row < uniforms.dim_a_outer && col < uniforms.dim_inner)
866      {
867        var aIndices: ${v.type.indices};
868        ${di("aIndices",v,v.rank-2,E.rank,"batchIndices")}
869        ${v.indicesSet("aIndices",v.rank-2,"u32(row)")}
870        ${v.indicesSet("aIndices",v.rank-1,"u32(colIn)")}
871        value = ${v.getByIndices("aIndices")};
872      }
873      return value;
874    }
875
876    fn mm_readB(batch: i32, row: i32, colIn: i32, batchIndices: ${E.type.indices}) -> ${Ca(n,L)} {
877      var value = ${Ca(n,L)}(0.0);
878      let col = colIn * ${n};
879      if(row < uniforms.dim_inner && col < uniforms.dim_b_outer)
880      {
881        var bIndices: ${P.type.indices};
882        ${di("bIndices",P,P.rank-2,E.rank,"batchIndices")}
883        ${P.indicesSet("bIndices",P.rank-2,"u32(row)")}
884        ${P.indicesSet("bIndices",P.rank-1,"u32(colIn)")}
885        value = ${P.getByIndices("bIndices")};
886      }
887      return value;
888    }
889
890    fn mm_write(batch: i32, row: i32, colIn: i32, valueIn: ${Ca(n,L)}) {
891      let col = colIn * ${n};
892      if (row < uniforms.dim_a_outer && col < uniforms.dim_b_outer) {
893        var value = valueIn;
894        let coords = vec3<i32>(batch, row, colIn);
895        ${u?`value = value + ${B?"bias[colIn]":`${Ca(n,L)}(bias[row])`};`:""}
896        ${h}
897        ${N.setByIndices("vec3<u32>(coords)","value")}
898      }
899    }
900    `},A=(n,u,h,w,B=!1,E)=>{let v=n[0].dims,P=n[1].dims,N=v.slice(0,-2),L=P.slice(0,-2),ee=w?w.slice(0,-2):h.slice(0,-2),Ae=Le.size(ee),Q=v[v.length-2],le=v[v.length-1],de=P[P.length-1],we=le%4==0&&de%4==0,be=Q<=8?[4,1,1]:[4,4,1],Me=[8,8,1],Fe=[Math.ceil(de/Me[0]/be[0]),Math.ceil(Q/Me[1]/be[1]),Math.ceil(Ae/Me[2]/be[2])],We=we?4:1,$e=[...N,Q,le/We],eA=$e.length,sA=[...L,le,de/We],zA=sA.length,jA=[Ae,Q,de/We],ht=[{type:6,data:Q},{type:6,data:de},{type:6,data:le}];Ss(u,ht),ht.push(..._A(ee,$e,sA));let mt=["rank","rank"],Jt=n.length>2;return Jt&&(ht.push(..._A(n[2].dims)),mt.push("rank")),ht.push(..._A(jA)),{name:"MatMul",shaderCache:{hint:`${be};${u.activation};${we};${B}`,inputDependencies:mt},getRunData:()=>({outputs:[{dims:E?E(h):h,dataType:n[0].dataType}],dispatchGroup:{x:Fe[0],y:Fe[1],z:Fe[2]},programUniforms:ht}),getShaderSource:Ct=>{let Pt=ee.length,Qt=Hr("batchDims",n[0].dataType,Pt,1),nA=zt(n[0].dataType),gt=pA("a",n[0].dataType,eA,We),st=pA("b",n[1].dataType,zA,We),ot=$A("result",n[0].dataType,jA.length,We),ir=[gt,st];if(Jt){let co=B?We:1;ir.push(pA("bias",n[2].dataType,n[2].dims.length,co))}let ua=[{name:"dim_a_outer",type:"i32"},{name:"dim_b_outer",type:"i32"},{name:"dim_inner",type:"i32"}];Zs(u,ua);let Za=zt(ot.type.tensor),un=Fs(u,ot.type.value,Za),a0=pt(We,Jt,un,[Qt,gt,st,ot],B);return`
901  ${Ct.registerUniforms(ua).registerInternalVariables(Qt).declareVariables(...ir,ot)}
902  ${a0}
903  ${we?en(be,Me,nA,Qt):fi(be,Me,nA,Qt)}
904                   `}}}}),_1=Pe(()=>{Mt(),mi(),Yt(),nn(),i2(),J1(),o2(),t=(n,u,h,w,B=!1,E,v=4,P=4,N=4,L="f32")=>{let ee=jA=>{switch(jA){case 1:return"return w[row * i32(uniforms.w_shape[3]) + colIn];";case 4:return"return w[row * i32(uniforms.w_shape[3]) / 4 + colIn];";default:throw new Error(`innerElementSize ${jA} is not supported.`)}},Ae=n?`
905    let coord = vec4<i32>(batch, xRow, xCol, xCh);
906    `:`
907    let coord = vec4<i32>(batch, xCh, xRow, xCol);
908    `,Q=n?`
909    let coords = vec4<i32>(
910      batch,
911      row / outWidth,
912      row % outWidth,
913      col);
914    `:`
915    let coords = vec4<i32>(
916      batch,
917      row,
918      col / outWidth,
919      col % outWidth);
920    `,le=n?"i32(uniforms.x_shape[1])":"i32(uniforms.x_shape[2])",de=n?"i32(uniforms.x_shape[2])":"i32(uniforms.x_shape[3])",we=n?"row":"col",be=n?"col":"row",Me=`
921    let inChannels = i32(uniforms.w_shape[2]);
922    let outWidth = ${n?"i32(uniforms.result_shape[2])":"i32(uniforms.result_shape[3])"};
923    let outRow = ${we} / outWidth;
924    let outCol = ${we} % outWidth;
925
926    let WRow = ${be} / (i32(uniforms.w_shape[1]) * inChannels);
927    let WCol = ${be} / inChannels % i32(uniforms.w_shape[1]);
928    let xRow = outRow * uniforms.stride[0] + uniforms.dilation[0] * WRow - uniforms.pad[0];
929    let xCol = outCol * uniforms.stride[1] + uniforms.dilation[1] * WCol - uniforms.pad[1];
930    let xCh = ${be} % inChannels;
931    var resData = ${Ca(v,L)}(0.0);
932    // The bounds checking is always needed since we use it to pad zero for
933    // the 'same' padding type.
934    if (xRow >= 0 && xRow < ${le} && xCol >= 0 && xCol < ${de}) {
935      ${Ae}
936      let xIndex = getIndexFromCoords4D(coord, vec4<i32>(uniforms.x_shape));
937      ${(jA=>{switch(jA){case 1:return"resData = x[xIndex];";case 3:return`resData = vec3<${L}>(x[xIndex], x[xIndex + 1], x[xIndex + 2]);`;case 4:return"resData = x[xIndex / 4];";default:throw new Error(`innerElementSize ${jA} is not supported.`)}})(v)}
938    }
939    return resData;`,Fe=n?u&&w?`
940    let col = colIn * ${v};
941    ${Me}`:`
942    let col = colIn * ${v};
943    if (row < uniforms.dim_a_outer && col < uniforms.dim_inner) {
944      ${Me}
945    }
946    return ${Ca(v,L)}(0.0);`:w&&h?`
947    let col = colIn * ${v};
948    ${Me}`:`
949    let col = colIn * ${v};
950    if (row < uniforms.dim_inner && col < uniforms.dim_b_outer) {
951      ${Me}
952    }
953    return ${Ca(v,L)}(0.0);`,We=n?w&&h?ee(P):`
954    let col = colIn * ${P};
955    if (row < uniforms.dim_inner && col < uniforms.dim_b_outer) {
956      ${ee(P)}
957    }
958    return ${Ca(P,L)}(0.0);`:`
959    let col = colIn * ${P};
960    if (row < uniforms.dim_inner && col < uniforms.dim_a_outer) {
961      ${ee(P)}
962    }
963    return ${Ca(P,L)}(0.0);`,$e=Ca(N,L),eA=Ca(n?v:P,L),sA=Ca(n?P:v,L),zA=Fs(E,$e,L);return`
964    fn mm_readA(batch: i32, row : i32, colIn : i32) -> ${eA} {
965      ${n?Fe:We}
966    }
967
968    fn mm_readB(batch: i32, row : i32, colIn : i32) -> ${sA} {
969      ${n?We:Fe}
970    }
971
972    fn mm_write(batch: i32, row : i32, colIn : i32, valueIn : ${$e}) {
973      let col = colIn * ${N};
974      if (row < uniforms.dim_a_outer && col < uniforms.dim_b_outer)
975      {
976      var value = valueIn;
977      let outWidth = ${n?"i32(uniforms.result_shape[2])":"i32(uniforms.result_shape[3])"};
978      ${Q}
979      ${S0(B)}
980      ${zA}
981      setOutputAtCoords(coords[0], coords[1], coords[2], coords[3], value);
982      }
983    }`},r=(n,u,h,w,B,E,v,P,N)=>{let L=u.format==="NHWC",ee=L?n[0].dims[3]:n[0].dims[1],Ae=h[0],Q=L?h[2]:h[3],le=L?h[1]:h[2],de=L?h[3]:h[1],we=L&&(ee%4==0||ee%3==0)&&de%4==0,be=L?de:Q*le,Me=L?Q*le:de,Fe=[8,8,1],We=w<=8?[4,1,1]:[4,4,1],$e=[Math.ceil(be/Fe[0]/We[0]),Math.ceil(Me/Fe[1]/We[1]),Math.ceil(Ae/Fe[2]/We[2])];Ft("verbose",()=>`[conv2d_mm_webgpu] dispatch = ${$e}`);let eA=we?L&&ee%4!=0?3:4:1,sA=Fe[1]*We[1],zA=Fe[0]*We[0],jA=Math.max(Fe[0]*eA,Fe[1]),ht=w%sA==0,mt=B%zA==0,Jt=E%jA==0,Ct=we?[eA,4,4]:[1,1,1],Pt=[{type:6,data:w},{type:6,data:B},{type:6,data:E},{type:6,data:[u.pads[0],u.pads[1]]},{type:6,data:u.strides},{type:6,data:u.dilations}];Ss(u,Pt),Pt.push(..._A(n[0].dims,n[1].dims));let Qt=["rank","rank"];return v&&(Pt.push(..._A(n[2].dims)),Qt.push("rank")),Pt.push(..._A(h)),{name:"Conv2DMatMul",shaderCache:{hint:`${u.cacheKey};${eA};${we};${ht};${mt};${Jt};${sA};${zA};${jA}`,inputDependencies:Qt},getRunData:()=>({outputs:[{dims:N?N(h):h,dataType:n[0].dataType}],dispatchGroup:{x:$e[0],y:$e[1],z:$e[2]},programUniforms:Pt}),getShaderSource:nA=>{let gt=[{name:"dim_a_outer",type:"i32"},{name:"dim_b_outer",type:"i32"},{name:"dim_inner",type:"i32"},{name:"pad",type:"i32",length:2},{name:"stride",type:"i32",length:2},{name:"dilation",type:"i32",length:2}];Zs(u,gt);let st=we?4:1,ot=zt(n[0].dataType),ir=`
984      fn setOutputAtIndex(flatIndex : i32, value : ${we?`vec4<${ot}>`:ot}) {
985        result[flatIndex] = ${we?`vec4<${ot}>`:ot}(value);
986      }
987      fn setOutputAtCoords(d0 : i32, d1 : i32, d2 : i32, d3 : i32, value : ${we?`vec4<${ot}>`:ot}) {
988        let flatIndex = getOutputIndexFromCoords(vec4<i32>(d0, d1, d2, d3));
989        setOutputAtIndex(flatIndex ${we?"/ 4":""}, value);
990      }`,ua=[pA("x",n[0].dataType,n[0].dims.length,eA===3?1:eA),pA("w",n[1].dataType,n[1].dims.length,st)],Za=$A("result",n[0].dataType,h.length,st);if(v){let un=pA("bias",n[2].dataType,n[2].dims.length,st);ua.push(un),ir+=`
991        fn getBiasByOutputCoords(coords : vec4<i32>) -> ${we?`vec4<${ot}>`:ot} {
992          return bias[coords.${L?"w":"y"}${we?"/ 4":""}];
993        }`}return`
994        ${qn("uniforms.result_strides")}
995        //struct Uniforms { xShape : vec4<i32>, wShape : vec4<i32>, outShape : vec4<i32>,
996        //  outShapeStrides: vec3<i32>, filterDims : vec2<i32>, pad : vec2<i32>, stride : vec2<i32>,
997        //  dilation : vec2<i32>, dimAOuter : i32, dimBOuter : i32, dimInner : i32 };
998        ${nA.registerUniforms(gt).declareVariables(...ua,Za)}
999        ${ir}
1000        ${t(L,ht,mt,Jt,v,u,Ct[0],Ct[1],Ct[2],ot)}
1001        ${we?en(We,Fe,ot,void 0,!L,jA):fi(We,Fe,ot,void 0,!L,jA,!1,void 0,P)}`}}}}),$1=Pe(()=>{Mt(),mi(),St(),Yt(),nn(),i2(),a=n=>{let u=1;for(let h=0;h<n.length;h++)u*=n[h];return u},s=n=>typeof n=="number"?[n,n,n]:n,i=(n,u)=>u<=1?n:n+(n-1)*(u-1),o=(n,u,h,w=1)=>{let B=i(u,w);return Math.floor((n[0]*(h-1)-h+B)/2)},c=(n,u,h,w,B)=>{B==null&&(B=o(n,u[0],w[0]));let E=[0,0,0,h];for(let v=0;v<3;v++)n[v]+2*B>=u[v]&&(E[v]=Math.trunc((n[v]-u[v]+2*B)/w[v]+1));return E},f=(n,u,h,w,B,E,v,P,N,L)=>{let ee,Ae,Q,le;if(n==="VALID"&&(n=0),typeof n=="number"){ee={top:n,bottom:n,left:n,right:n,front:n,back:n};let de=c([u,h,w,1],[P,N,L],1,[B,E,v],n);Ae=de[0],Q=de[1],le=de[2]}else if(Array.isArray(n)){if(!n.every((we,be,Me)=>we===Me[0]))throw Error(`Unsupported padding parameter: ${n}`);ee={top:n[0],bottom:n[1],left:n[2],right:n[3],front:n[4],back:n[5]};let de=c([u,h,w,1],[P,N,L],1,[B,E,v],n[0]);Ae=de[0],Q=de[1],le=de[2]}else{if(n!=="SAME_UPPER")throw Error(`Unknown padding parameter: ${n}`);{Ae=Math.ceil(u/B),Q=Math.ceil(h/E),le=Math.ceil(w/v);let de=(Ae-1)*B+P-u,we=(Q-1)*E+N-h,be=(le-1)*v+L-w,Me=Math.floor(de/2),Fe=de-Me,We=Math.floor(we/2),$e=we-We,eA=Math.floor(be/2);ee={top:We,bottom:$e,left:eA,right:be-eA,front:Me,back:Fe}}}return{padInfo:ee,outDepth:Ae,outHeight:Q,outWidth:le}},m=(n,u,h,w,B,E=!1,v="channelsLast")=>{let P,N,L,ee,Ae;if(v==="channelsLast")[P,N,L,ee,Ae]=n;else{if(v!=="channelsFirst")throw new Error(`Unknown dataFormat ${v}`);[P,Ae,N,L,ee]=n}let[Q,,le,de,we]=u,[be,Me,Fe]=s(h),[We,$e,eA]=s(w),sA=i(le,We),zA=i(de,$e),jA=i(we,eA),{padInfo:ht,outDepth:mt,outHeight:Jt,outWidth:Ct}=f(B,N,L,ee,be,Me,Fe,sA,zA,jA),Pt=E?Q*Ae:Q,Qt=[0,0,0,0,0];return v==="channelsFirst"?Qt=[P,Pt,mt,Jt,Ct]:v==="channelsLast"&&(Qt=[P,mt,Jt,Ct,Pt]),{batchSize:P,dataFormat:v,inDepth:N,inHeight:L,inWidth:ee,inChannels:Ae,outDepth:mt,outHeight:Jt,outWidth:Ct,outChannels:Pt,padInfo:ht,strideDepth:be,strideHeight:Me,strideWidth:Fe,filterDepth:le,filterHeight:de,filterWidth:we,effectiveFilterDepth:sA,effectiveFilterHeight:zA,effectiveFilterWidth:jA,dilationDepth:We,dilationHeight:$e,dilationWidth:eA,inShape:n,outShape:Qt,filterShape:u}},p=(n,u,h,w,B,E)=>{let v=E==="channelsLast";v?n[0].dims[3]:n[0].dims[1];let P={x:h.map((Q,le)=>le)},N=[Math.ceil(a(P.x.map(Q=>h[Q]))/64),1,1];Ft("verbose",()=>`[conv3d_naive_webgpu] dispatch = ${N}`);let L=[{type:12,data:Le.size(h)},{type:12,data:w},{type:12,data:B},{type:12,data:u.strides},{type:12,data:u.dilations}];Ss(u,L),L.push(..._A(n[0].dims,n[1].dims));let ee=["rank","rank"],Ae=n.length===3;return Ae&&(L.push(..._A(n[2].dims)),ee.push("rank")),L.push(..._A(h)),{name:"Conv3DNaive",shaderCache:{hint:`${u.cacheKey};${v};1;${Ae}`,inputDependencies:ee},getRunData:()=>({outputs:[{dims:h,dataType:n[0].dataType}],dispatchGroup:{x:N[0],y:N[1],z:N[2]},programUniforms:L}),getShaderSource:Q=>{let le=[{name:"output_size",type:"u32"},{name:"filter_dims",type:"u32",length:w.length},{name:"pads",type:"u32",length:B.length},{name:"strides",type:"u32",length:u.strides.length},{name:"dilations",type:"u32",length:u.dilations.length}];Zs(u,le);let de=zt(n[0].dataType),we=pA("x",n[0].dataType,n[0].dims.length,1),be=pA("W",n[1].dataType,n[1].dims.length,1),Me=[we,be],Fe=$A("result",n[0].dataType,h.length,1),We="";if(Ae){let sA=pA("bias",n[2].dataType,n[2].dims.length,1);Me.push(sA),We+=`
1002        fn getBiasByOutputCoords(coords : array<u32, 5>) -> ${de} {
1003          return bias[${nt("coords",v?4:1,5)}];
1004        }`}let $e=Ca(1,de),eA=Fs(u,$e,de);return`
1005            ${We}
1006            fn getX(d0 : u32, d1 : u32, d2 : u32, d3 : u32, d4 : u32) -> f32 {
1007              let aIndices = array<u32, 5>(d0, d1, d2, d3, d4);
1008              return ${we.getByIndices("aIndices")};
1009            }
1010            fn getW(d0 : u32, d1 : u32, d2 : u32, d3 : u32, d4 : u32) -> f32 {
1011              let aIndices = array<u32, 5>(d0, d1, d2, d3, d4);
1012              return ${be.getByIndices("aIndices")};
1013            }
1014          ${Q.registerUniforms(le).declareVariables(...Me,Fe)}
1015          ${Q.mainStart()}
1016          ${Q.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.output_size")}
1017              let coords = ${Fe.offsetToIndices("global_idx")};
1018              let batch = ${nt("coords",0,we.rank)};
1019              let d2 = ${nt("coords",v?we.rank-1:1,we.rank)};
1020              let xFRCCorner = vec3<u32>(${nt("coords",v?1:2,we.rank)},
1021              ${nt("coords",v?2:3,we.rank)},
1022              ${nt("coords",v?3:4,we.rank)}) * uniforms.strides - uniforms.pads;
1023              let xFCorner = xFRCCorner.x;
1024              let xRCorner = xFRCCorner.y;
1025              let xCCorner = xFRCCorner.z;
1026              let xShapeY = ${nt("uniforms.x_shape",v?1:2,we.rank)};
1027              let xShapeZ = ${nt("uniforms.x_shape",v?2:3,we.rank)};
1028              let xShapeW = ${nt("uniforms.x_shape",v?3:4,we.rank)};
1029              let xShapeU = ${nt("uniforms.x_shape",v?4:1,we.rank)};
1030              let inputDepthNearestVec4 = (xShapeU / 4) * 4;
1031              let inputDepthVec4Remainder = xShapeU % 4;
1032
1033              var value = 0.0;
1034              for (var wF = 0u; wF < uniforms.filter_dims[0]; wF++) {
1035                let xF = xFCorner + wF * uniforms.dilations[0];
1036                if (xF < 0 || xF >= xShapeY) {
1037                  continue;
1038                }
1039
1040                for (var wR = 0u; wR < uniforms.filter_dims[1]; wR++) {
1041                  let xR = xRCorner + wR * uniforms.dilations[1];
1042                  if (xR < 0 || xR >= xShapeZ) {
1043                    continue;
1044                  }
1045
1046                  for (var wC = 0u; wC < uniforms.filter_dims[2]; wC++) {
1047                    let xC = xCCorner + wC * uniforms.dilations[2];
1048                    if (xC < 0 || xC >= xShapeW) {
1049                      continue;
1050                    }
1051
1052                    for (var d1 = 0u; d1 < inputDepthNearestVec4; d1 += 4) {
1053                      ${v?`let xValues = vec4<f32>(
1054                               getX(batch, xF, xR, xC, d1),
1055                               getX(batch, xF, xR, xC, d1 + 1),
1056                               getX(batch, xF, xR, xC, d1 + 2),
1057                               getX(batch, xF, xR, xC, d1 + 3));
1058                            `:`let xValues = vec4<f32>(
1059                               getX(batch, d1, xF, xR, xC),
1060                               getX(batch, d1 + 1, xF, xR, xC),
1061                               getX(batch, d1 + 2, xF, xR, xC),
1062                               getX(batch, d1 + 3, xF, xR, xC));
1063                            `}
1064                            let wValues = vec4<f32>(
1065                              getW(d2, d1, wF, wR, wC),
1066                              getW(d2, d1 + 1, wF, wR, wC),
1067                              getW(d2, d1 + 2, wF, wR, wC),
1068                              getW(d2, d1 + 3, wF, wR, wC));
1069                      value += dot(xValues, wValues);
1070                    }
1071                    if (inputDepthVec4Remainder == 1) {
1072                        ${v?`value += getX(batch, xF, xR, xC, inputDepthNearestVec4)
1073                          * getW(d2, inputDepthNearestVec4, wF, wR, wC);`:`value += getX(batch, inputDepthNearestVec4, xF, xR, xC)
1074                          * getW(d2, inputDepthNearestVec4, wF, wR, wC);`}
1075                    } else if (inputDepthVec4Remainder == 2) {
1076                      ${v?`let xValues = vec2<f32>(
1077                        getX(batch, xF, xR, xC, inputDepthNearestVec4),
1078                        getX(batch, xF, xR, xC, inputDepthNearestVec4 + 1));
1079                      `:`let xValues = vec2<f32>(
1080                        getX(batch, inputDepthNearestVec4, xF, xR, xC),
1081                        getX(batch, inputDepthNearestVec4 + 1, xF, xR, xC));
1082                    `}
1083                    let wValues = vec2<f32>(
1084                      getW(d2, inputDepthNearestVec4, wF, wR, wC),
1085                      getW(d2, inputDepthNearestVec4 + 1, wF, wR, wC));
1086                      value += dot(xValues, wValues);
1087                    } else if (inputDepthVec4Remainder == 3) {
1088                      ${v?`let xValues = vec3<f32>(
1089                        getX(batch, xF, xR, xC, inputDepthNearestVec4),
1090                        getX(batch, xF, xR, xC, inputDepthNearestVec4 + 1),
1091                        getX(batch, xF, xR, xC, inputDepthNearestVec4 + 2));
1092                      `:`let xValues = vec3<f32>(
1093                        getX(batch, inputDepthNearestVec4, xF, xR, xC),
1094                        getX(batch, inputDepthNearestVec4 + 1, xF, xR, xC),
1095                        getX(batch, inputDepthNearestVec4 + 2, xF, xR, xC));
1096                    `}
1097                    let wValues = vec3<f32>(
1098                      getW(d2, inputDepthNearestVec4, wF, wR, wC),
1099                      getW(d2, inputDepthNearestVec4 + 1, wF, wR, wC),
1100                      getW(d2, inputDepthNearestVec4 + 2, wF, wR, wC));
1101                      value += dot(xValues, wValues);
1102                    }
1103                  }
1104                }
1105              }
1106              ${Ae?"value = value + getBiasByOutputCoords(coords)":""};
1107              ${eA}
1108              result[global_idx] = f32(value);
1109          }`}}}}),kc=Pe(()=>{Mt(),St(),Yt(),nn(),I=(n,u,h,w)=>{let B=n.length>2,E=B?"value += b[output_channel];":"",v=n[0].dims,P=n[1].dims,N=u.format==="NHWC",L=N?h[3]:h[1],ee=L/u.group,Ae=N&&ee>=4?Zt(L):1,Q=Le.size(h)/Ae,le=[{type:12,data:Q},{type:12,data:u.dilations},{type:12,data:[u.strides[0],u.strides[1]]},{type:12,data:[u.pads[0],u.pads[1]]},{type:12,data:ee}];Ss(u,le),le.push(..._A(v,[P[0],P[1],P[2],P[3]/Ae]));let de=B?["rank","rank","rank"]:["rank","rank"];return le.push(..._A([h[0],h[1],h[2],h[3]/Ae])),{name:"GroupedConv",shaderCache:{hint:`${u.cacheKey}_${Ae}`,inputDependencies:de},getRunData:()=>({outputs:[{dims:w?w(h):h,dataType:n[0].dataType}],dispatchGroup:{x:Math.ceil(Q/64)},programUniforms:le}),getShaderSource:we=>{let be=$A("output",n[0].dataType,h.length,Ae),Me=zt(be.type.tensor),Fe=Fs(u,be.type.value,Me),We=pA("x",n[0].dataType,v.length),$e=pA("w",n[1].dataType,P.length,Ae),eA=[We,$e];B&&eA.push(pA("b",n[2].dataType,n[2].dims,Ae));let sA=[{name:"output_size",type:"u32"},{name:"dilations",type:"u32",length:u.dilations.length},{name:"strides",type:"u32",length:2},{name:"pads",type:"u32",length:2},{name:"output_channels_per_group",type:"u32"}];Zs(u,sA);let zA=N?`
1110      for (var wHeight: u32 = 0u; wHeight < uniforms.w_shape[0]; wHeight++) {
1111        let xHeight = xRCCorner.x + wHeight * uniforms.dilations[0];
1112
1113        if (xHeight < 0u || xHeight >= uniforms.x_shape[1]) {
1114          continue;
1115        }
1116
1117        for (var wWidth: u32 = 0u; wWidth < uniforms.w_shape[1]; wWidth++) {
1118          let xWidth = xRCCorner.y + wWidth * uniforms.dilations[1];
1119          if (xWidth < 0u || xWidth >= uniforms.x_shape[2]) {
1120            continue;
1121          }
1122
1123          for (var wInChannel: u32 = 0u; wInChannel < uniforms.w_shape[2]; wInChannel++) {
1124            let input_channel = in_channel_offset + wInChannel;
1125            let xVal = ${We.get("batch","xHeight","xWidth","input_channel")};
1126            let wVal = ${$e.get("wHeight","wWidth","wInChannel","output_channel")};
1127            value += xVal * wVal;
1128          }
1129        }
1130      }
1131      `:`
1132      for (var wInChannel: u32 = 0u; wInChannel < uniforms.w_shape[1]; wInChannel++) {
1133        let input_channel = in_channel_offset + wInChannel;
1134        for (var wHeight: u32 = 0u; wHeight < uniforms.w_shape[2]; wHeight++) {
1135          let xHeight = xRCCorner.x + wHeight * uniforms.dilations[0];
1136
1137          if (xHeight < 0u || xHeight >= uniforms.x_shape[2]) {
1138            continue;
1139          }
1140
1141          for (var wWidth: u32 = 0u; wWidth < uniforms.w_shape[3]; wWidth++) {
1142            let xWidth = xRCCorner.y + wWidth * uniforms.dilations[1];
1143            if (xWidth < 0u || xWidth >= uniforms.x_shape[3]) {
1144              continue;
1145            }
1146
1147            let xVal = ${We.get("batch","input_channel","xHeight","xWidth")};
1148            let wVal = ${$e.get("output_channel","wInChannel","wHeight","wWidth")};
1149            value += xVal * wVal;
1150          }
1151        }
1152      }
1153      `;return`
1154  ${we.registerUniforms(sA).declareVariables(...eA,be)}
1155
1156  ${we.mainStart()}
1157    ${we.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.output_size")}
1158
1159    let outputIndices = ${be.offsetToIndices("global_idx")};
1160    let batch: u32 = outputIndices[0];
1161    let output_channel: u32 = outputIndices[${N?3:1}];
1162    let xRCCorner: vec2<u32> = vec2<u32>(outputIndices[${N?1:2}], outputIndices[${N?2:3}]) * uniforms.strides - uniforms.pads;
1163    let group_id: u32 = output_channel * ${Ae} / uniforms.output_channels_per_group;
1164    var in_channel_offset = group_id * uniforms.w_shape[${N?2:1}];
1165
1166    var value: ${be.type.value} = ${be.type.value}(0);
1167    ${zA}
1168    ${E}
1169    ${Fe}
1170    ${be.setByOffset("global_idx","value")}
1171  }`}}},y=(n,u,h,w)=>{let B=n.length>2,E=Zt(h[3]),v=Zt(h[2]),P=Le.size(h)/E/v,N=[n[0].dims[0],n[0].dims[1],n[0].dims[2],n[0].dims[3]/E],L=[n[1].dims[0],n[1].dims[1],n[1].dims[2],n[1].dims[3]/E],ee=[h[0],h[1],h[2],h[3]/E],Ae=[{type:12,data:P},{type:6,data:[u.strides[0],u.strides[1]]},{type:6,data:[u.pads[0],u.pads[1]]}];Ss(u,Ae),Ae.push(..._A(N,L,ee));let Q=(v-1)*u.strides[1]+L[1];return{name:"GroupedConv-Vectorize",shaderCache:{hint:`${u.cacheKey};${E};${v};${Q};${L[0]};${L[1]}`,inputDependencies:B?["rank","rank","type"]:["rank","rank"]},getRunData:()=>({outputs:[{dims:w?w(h):h,dataType:n[0].dataType}],dispatchGroup:{x:Math.ceil(P/64)},programUniforms:Ae}),getShaderSource:le=>{let de=$A("output",n[0].dataType,ee.length,E),we=zt(de.type.tensor),be=Fs(u,de.type.value,we),Me=pA("x",n[0].dataType,N.length,E),Fe=pA("w",n[1].dataType,L.length,E),We=[Me,Fe];B&&We.push(pA("b",n[2].dataType,n[2].dims,E));let $e=B?"value += b[output_channel];":"",eA=[{name:"output_size",type:"u32"},{name:"strides",type:"i32",length:2},{name:"pads",type:"i32",length:2}];return Zs(u,eA),`
1172  ${le.registerUniforms(eA).declareVariables(...We,de)}
1173  ${le.mainStart()}
1174    ${le.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.output_size")}
1175    let width0 = uniforms.output_shape[3];
1176    let output_channel = global_idx % width0;
1177    var index1 = global_idx / width0;
1178    let width1 = uniforms.output_shape[2] / ${v}u;
1179    let col = (index1 % width1) * ${v}u;
1180    index1 = index1 / width1;
1181    let row = index1 % uniforms.output_shape[1];
1182    let batch = index1 / uniforms.output_shape[1];
1183
1184    let x_corner = vec2<i32>(i32(row), i32(col)) * uniforms.strides - uniforms.pads;
1185
1186    var x_vals: array<${Me.type.value}, ${Q}>;
1187    var values: array<${de.type.value}, ${v}>;
1188    let input_channel = output_channel;
1189    // Use constant instead of uniform can give better performance for w's height/width.
1190    for (var w_height: u32 = 0u; w_height < ${L[0]}; w_height++) {
1191      let x_height = x_corner.x + i32(w_height);
1192      if (x_height >= 0 && u32(x_height) < uniforms.x_shape[1]) {
1193        for (var i = 0; i < ${Q}; i++) {
1194          let x_width = x_corner.y + i;
1195          if (x_width >= 0 && u32(x_width) < uniforms.x_shape[2]) {
1196            x_vals[i] = ${Me.get("batch","u32(x_height)","u32(x_width)","input_channel")};
1197          } else {
1198            x_vals[i] = ${Me.type.value}(0);
1199          }
1200        }
1201        for (var w_width: u32 = 0u; w_width < ${L[1]}; w_width++) {
1202          let w_val = ${Fe.get("w_height","w_width","0","output_channel")};
1203          for (var i = 0u; i < ${v}u; i++) {
1204            values[i] = fma(x_vals[i * u32(uniforms.strides[1]) + w_width], w_val, values[i]);
1205          }
1206        }
1207      }
1208    }
1209
1210    for (var i = 0u; i < ${v}u; i++) {
1211      var value = values[i];
1212      ${$e}
1213      ${be}
1214      ${de.set("batch","row","col + i","output_channel","value")};
1215    }
1216  }`}}}}),Ot=Pe(()=>{St(),_1(),$1(),o2(),kc(),nn(),n2(),Ni(),T=(n,u,h,w,B,E)=>{let v=n[0],P=n.slice(E?1:2,E?3:4),N=P.length,L=u[0],ee=u.slice(2).map((Q,le)=>Q+(Q-1)*(h[le]-1)),Ae=P.map((Q,le)=>Q+w[le]+w[le+N]).map((Q,le)=>Math.floor((Q-ee[le]+B[le])/B[le]));return Ae.splice(0,0,v),Ae.splice(E?3:1,0,L),Ae},Y=[2,3,1,0],K=(n,u)=>{if(!n||n.length!==2&&n.length!==3)throw new Error("Conv requires 2 or 3 inputs");if(n[0].dims.length>5)throw new Error("greater than 5D is not supported");if(n[0].dims.length!==n[1].dims.length)throw new Error("filter does not have same dimension as input");if(n[0].dims[u.format==="NHWC"?n[0].dims.length-1:1]!==n[1].dims[1]*u.group)throw new Error("FILTER_IN_CHANNEL should be equal to DATA_CHANNEL");if(n.length===3&&(n[2].dims.length!==1||n[1].dims[0]!==n[2].dims[0]))throw new Error("invalid bias");let h=n[0].dims.length-2;if(u.dilations.length!==h)throw new Error(`dilations should be ${h}D`);if(u.strides.length!==h)throw new Error(`strides should be ${h}D`);if(u.pads.length!==2*h)throw new Error(`pads should be ${2*h}D`);if(u.kernelShape.length!==0&&u.kernelShape.length!==n[1].dims.length-2)throw new Error("invalid kernel shape")},_=(n,u)=>{let h=n.kernelShape.slice();h.length<u[1].dims.length-2&&h.push(...Array(u[1].dims.length-2-h.length).fill(0));for(let E=2;E<u[1].dims.length;++E)h[E-2]===0&&(h[E-2]=u[1].dims[E]);let w=n.pads.slice();YA.adjustPadsBasedOnAutoPad(u[0].dims,n.strides,n.dilations,h,w,n.format==="NHWC",n.autoPad);let B=Object.assign({},n);return Object.assign(B,{kernelShape:h,pads:w}),B},ce=n=>{let u=Xn(n),h=n.format;return{autoPad:["NOTSET","VALID","SAME_UPPER","SAME_LOWER"][n.auto_pad],format:h,dilations:n.dilations,group:n.group,kernelShape:n.kernel_shape,pads:n.pads,strides:n.strides,wIsConst:n.w_is_const(),...u,cacheKey:`${n.format};${u.activation};`}},he=(n,u,h,w)=>{let B=h.format==="NHWC",E=T(u[0].dims,u[1].dims,h.dilations,h.pads,h.strides,B);if(h.group!==1){let eA=[u[0]];if(B){let sA=n.kernelCustomData.wT??n.compute(Da(u[1],Y),{inputs:[1],outputs:[h.wIsConst?-2:-1]})[0];h.wIsConst&&!n.kernelCustomData.wT&&(n.kernelCustomData.wT=sA),eA.push(sA)}else eA.push(u[1]);return u.length===3&&eA.push(u[2]),void(!n.adapterInfo.isArchitecture("ampere")&&B&&u[1].dims[0]===h.group&&u[1].dims[1]===1&&h.dilations[0]===1&&h.dilations[1]===1?n.compute(y(eA,h,E,w),{inputs:eA}):n.compute(I(eA,h,E,w),{inputs:eA}))}let v=u.length===3,P=u[0].dims[B?1:2],N=u[0].dims[B?2:3],L=u[0].dims[B?3:1],ee=u[1].dims[2],Ae=u[1].dims[3],Q=E[B?1:2],le=E[B?2:3],de=E[B?3:1],we=B&&ee===P&&Ae===N&&h.pads[0]===0&&h.pads[1]===0;if(we||ee===1&&Ae===1&&h.dilations[0]===1&&h.dilations[1]===1&&h.strides[0]===1&&h.strides[1]===1&&h.pads[0]===0&&h.pads[1]===0){let eA,sA,zA,jA=E[0],ht=[];if(B){let Ct=n.kernelCustomData.wT??n.compute(Da(u[1],Y),{inputs:[1],outputs:[h.wIsConst?-2:-1]})[0];if(h.wIsConst&&!n.kernelCustomData.wT&&(n.kernelCustomData.wT=Ct),we){let Pt=P*N*L;eA=u[0].reshape([1,jA,Pt]),sA=Ct.reshape([1,Pt,de]),zA=[1,jA,de]}else eA=u[0].reshape([jA,P*N,L]),sA=Ct.reshape([1,L,de]),zA=[jA,Q*le,de];ht.push(eA),ht.push(sA)}else eA=u[0].reshape([jA,L,P*N]),sA=u[1].reshape([1,de,L]),zA=[jA,de,Q*le],ht.push(sA),ht.push(eA);v&&ht.push(u[2]);let mt=zA[2],Jt=ht[0].dims[ht[0].dims.length-1];return void(mt<8&&Jt<8?n.compute(Pi(ht,h,E,zA,B,w),{inputs:ht}):n.compute(A(ht,h,E,zA,B,w),{inputs:ht}))}let be=n.kernelCustomData.wT??n.compute(Da(u[1],Y),{inputs:[1],outputs:[h.wIsConst?-2:-1]})[0];h.wIsConst&&!n.kernelCustomData.wT&&(n.kernelCustomData.wT=be);let Me=[u[0],be];v&&Me.push(u[2]);let Fe=B?Q*le:de,We=B?de:Q*le,$e=ee*Ae*L;n.compute(r(Me,h,E,Fe,We,$e,v,!0,w),{inputs:Me})},ye=(n,u)=>{let h=u.format==="NHWC",w=[n.inputs[0].reshape(h?[n.inputs[0].dims[0],1,n.inputs[0].dims[1],n.inputs[0].dims[2]]:[n.inputs[0].dims[0],n.inputs[0].dims[1],1,n.inputs[0].dims[2]]),n.inputs[1].reshape([n.inputs[1].dims[0],n.inputs[1].dims[1],1,n.inputs[1].dims[2]])];n.inputs.length===3&&w.push(n.inputs[2]);let B=[0,u.pads[0],0,u.pads[1]],E=[1].concat(u.strides),v=[1].concat(u.dilations),P=[1].concat(u.kernelShape),N=_({...u,pads:B,strides:E,dilations:v,kernelShape:P},w);he(n,w,N,L=>h?[L[0],L[2],L[3]]:[L[0],L[1],L[3]])},De=(n,u,h)=>{let w=h.format==="NHWC"?"channelsLast":"channelsFirst",B=_(h,u),E=h.autoPad==="NOTSET"?h.pads:h.autoPad,v=m(u[0].dims,u[1].dims,h.strides,h.dilations,E,!1,w);n.compute(p(u,B,v.outShape,[v.filterDepth,v.filterHeight,v.filterWidth],[v.padInfo.front,v.padInfo.top,v.padInfo.left],w))},Re=(n,u)=>{if(K(n.inputs,u),n.inputs[0].dims.length===3)ye(n,u);else if(n.inputs[0].dims.length===5)De(n,n.inputs,u);else{let h=_(u,n.inputs);he(n,n.inputs,h)}}}),ec=Pe(()=>{Mt(),mi(),St(),Yt(),Xe=(n,u,h)=>{let w=n.length>2,B=u.outputShape,E=u.format==="NHWC",v=u.group,P=n[1].dims,N=P[2]/v,L=P[3],ee=E?Zt(N):1,Ae=E?Zt(L):1,Q=E?L===1?ee:Ae:1,le=Le.size(B)/Ae,de=[Math.ceil(le/64),1,1];Ft("verbose",()=>`[conv2d_backprop_webgpu] dispatch = ${de}`);let we=["rank","rank"],be=[u.strides[0],u.strides[1]],Me=[u.kernelShape[E?1:2],u.kernelShape[E?2:3]],Fe=[u.dilations[0],u.dilations[1]],We=[Me[0]+(u.dilations[0]<=1?0:(u.kernelShape[E?1:2]-1)*(u.dilations[0]-1)),Me[1]+(u.dilations[1]<=1?0:(u.kernelShape[E?2:3]-1)*(u.dilations[1]-1))],$e=[We[0]-1-Math.floor((u.pads[0]+u.pads[2])/2),We[1]-1-Math.floor((u.pads[1]+u.pads[3])/2)],eA=[{type:12,data:le},{type:12,data:be},{type:12,data:Me},{type:12,data:Fe},{type:12,data:We},{type:6,data:$e},{type:12,data:N},{type:12,data:L},..._A(n[0].dims,n[1].dims)];return w&&(eA.push(..._A(n[2].dims)),we.push("rank")),eA.push(..._A(B)),{name:"ConvTranspose2D",shaderCache:{hint:`${u.cacheKey};${ee}${Q}${Ae}${L===1}`,inputDependencies:we},getRunData:()=>({dispatchGroup:{x:de[0],y:de[1],z:de[2]},outputs:[{dims:h?h(B):B,dataType:n[0].dataType}],programUniforms:eA}),getShaderSource:sA=>{let zA=[{name:"output_size",type:"u32"},{name:"strides",type:"u32",length:be.length},{name:"filter_dims",type:"u32",length:Me.length},{name:"dilations",type:"u32",length:Me.length},{name:"effective_filter_dims",type:"u32",length:We.length},{name:"pads",type:"i32",length:$e.length},{name:"input_channels_per_group",type:"u32"},{name:"output_channels_per_group",type:"u32"}],jA=zt(n[0].dataType),ht=E?1:2,mt=E?2:3,Jt=E?3:1,Ct=pA("W",n[1].dataType,n[1].dims.length,Q),Pt=pA("Dy",n[0].dataType,n[0].dims.length,ee),Qt=[Pt,Ct];w&&Qt.push(pA("bias",n[2].dataType,[B[Jt]].length,Ae));let nA=$A("result",n[0].dataType,B.length,Ae),gt=`
1217            let outputIndices = ${nA.offsetToIndices(`global_idx * ${Ae}`)};
1218            let batch = ${nA.indicesGet("outputIndices",0)};
1219            let d1 = ${nA.indicesGet("outputIndices",Jt)};
1220            let r = ${nA.indicesGet("outputIndices",ht)};
1221            let c = ${nA.indicesGet("outputIndices",mt)};
1222            let dyCorner = vec2<i32>(i32(r), i32(c)) - uniforms.pads;
1223            let dyRCorner = dyCorner.x;
1224            let dyCCorner = dyCorner.y;
1225            let groupId = d1 / uniforms.output_channels_per_group;
1226            let wOutChannel = d1 - groupId * uniforms.output_channels_per_group;
1227            // Convolve dy(?, ?, d2) with w(:, :, d1, d2) to compute dx(xR, xC, d1).
1228            // ? = to be determined. : = across all values in that axis.
1229            var dotProd = ${nA.type.value}(0.0);
1230            var wR: u32 = 0;
1231            if (uniforms.dilations.x == 1) {
1232              // Minimum wR >= 0 that satisfies (dyRCorner + wR) % (uniforms.strides.x) == 0
1233              wR = u32(((dyRCorner + i32(uniforms.strides.x) - 1) / i32(uniforms.strides.x)) * i32(uniforms.strides.x) - dyRCorner);
1234            }
1235            for (; wR < uniforms.effective_filter_dims.x; wR = wR + 1) {
1236              if (wR % uniforms.dilations.x != 0) {
1237                continue;
1238              }
1239              let dyR = (${jA}(dyRCorner) + ${jA}(wR)) / ${jA}(uniforms.strides[0]);
1240              let wRPerm = uniforms.filter_dims.x - 1 - wR / uniforms.dilations.x;
1241              if (dyR < 0.0 || dyR >= ${jA}(uniforms.Dy_shape[${ht}]) || fract(dyR) > 0.0 ||
1242                  wRPerm < 0) {
1243                continue;
1244              }
1245              let idyR: u32 = u32(dyR);
1246              var wC: u32 = 0;
1247              if (uniforms.dilations.y == 1) {
1248                // Minimum wC >= 0 that satisfies (dyCCorner + wC) % (uniforms.strides.y) == 0
1249                wC = u32(((dyCCorner + i32(uniforms.strides.y) - 1) / i32(uniforms.strides.y)) * i32(uniforms.strides.y) - dyCCorner);
1250              }
1251
1252              for (; wC < uniforms.effective_filter_dims.y; wC = wC + 1) {
1253                if (wC % uniforms.dilations.y != 0) {
1254                  continue;
1255                }
1256                let dyC = (${jA}(dyCCorner) + ${jA}(wC)) / ${jA}(uniforms.strides.y);
1257                let wCPerm = uniforms.filter_dims.y - 1 - wC / uniforms.dilations.y;
1258                if (dyC < 0.0 || dyC >= ${jA}(uniforms.Dy_shape[${mt}]) ||
1259                    fract(dyC) > 0.0 || wCPerm < 0) {
1260                  continue;
1261                }
1262                let idyC: u32 = u32(dyC);
1263                var inputChannel = groupId * uniforms.input_channels_per_group;
1264                for (var d2: u32 = 0; d2 < uniforms.input_channels_per_group; d2 = d2 + ${ee}) {
1265                  let xValue = ${E?Pt.getByOffset(`${Pt.indicesToOffset(`${Pt.type.indices}(batch, idyR, idyC, inputChannel)`)} / ${ee}`):Pt.get("batch","inputChannel","idyR","idyC")};
1266                  ${(()=>{let st="";if(ee===1)st+=`
1267        let w_offset = ${Ct.indicesToOffset(`${Ct.type.indices}(u32(wRPerm), u32(wCPerm), inputChannel, wOutChannel)`)};
1268        let wValue = ${Ct.getByOffset(`w_offset / ${Q}`)};
1269        dotProd = dotProd + xValue * wValue;`;else if(L===1)st+=`
1270          let wValue = ${Ct.getByOffset(`${Ct.indicesToOffset(`${Ct.type.indices}(u32(wRPerm), u32(wCPerm), inputChannel, wOutChannel)`)} / ${Q}`)};
1271          dotProd = dotProd + dot(xValue, wValue);`;else for(let ot=0;ot<ee;ot++)st+=`
1272            let wValue${ot} = ${Ct.getByOffset(`${Ct.indicesToOffset(`${Ct.type.indices}(u32(wRPerm), u32(wCPerm), inputChannel + ${ot}, wOutChannel)`)} / ${Q}`)};
1273            dotProd = dotProd + xValue[${ot}] * wValue${ot};`;return st})()}
1274                  inputChannel = inputChannel + ${ee};
1275                }
1276                wC = wC + uniforms.strides.y - 1;
1277              }
1278              wR = wR + uniforms.strides[0] - 1;
1279            }
1280            let value = dotProd${w?` + bias[d1 / ${Ae}]`:""};
1281            ${nA.setByOffset("global_idx","value")};
1282          `;return`
1283    ${sA.registerUniforms(zA).declareVariables(...Qt,nA)}
1284      ${sA.mainStart()}
1285      ${sA.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.output_size")};
1286    ${gt}}`}}}}),Ta=Pe(()=>{ec(),nn(),Ni(),aA=(n,u,h,w,B,E)=>(n-1)*u+h+(w-1)*B+1-E,fA=(n,u,h,w,B)=>{let E=Math.floor(n/2);u==="SAME_UPPER"?(h[w]=E,h[B]=n-E):u==="SAME_LOWER"&&(h[w]=n-E,h[B]=E)},GA=(n,u,h,w,B,E,v,P,N,L)=>{let ee=n.length-2,Ae=L.length===0;N.length<ee&&N.push(...Array(ee-N.length).fill(0));let Q=n[0],le=u[P?3:1]*B;for(let de=0,we=n.length-ee-(P?1:0);de<ee;++de,++we){let be=n[we],Me=Ae?be*v[de]:L[de],Fe=aA(be,v[de],E[de],u[we],h[de],Me);fA(Fe,w,E,de,de+ee),Ae&&L.push(v[de]*(be-1)+N[de]+(u[we]-1)*h[de]+1-E[de]-E[de+ee])}L.splice(0,0,Q),L.splice(P?3:1,0,le)},SA=(n,u)=>{let h=n.kernelShape.slice();if(n.kernelShape.length===0||n.kernelShape.reduce((Ae,Q)=>Ae*Q,1)===0){h.length=0;for(let Ae=2;Ae<u[1].dims.length;++Ae)h.push(u[1].dims[Ae])}let w=n.format==="NHWC";h.splice(0,0,u[1].dims[0]),h.splice(w?3:1,0,u[1].dims[1]);let B=n.pads.slice(),E=n.outputShape.slice(),v=n.outputPadding.slice(),P=u[0].dims,N=n.dilations.slice();if(N.reduce((Ae,Q)=>Ae+Q,0)===0){let Ae=u[0].dims.length-2;N=new Array(Ae).fill(1)}let L=n.strides.slice();if(L.reduce((Ae,Q)=>Ae+Q,0)===0){let Ae=u[0].dims.length-2;L=new Array(Ae).fill(1)}GA(P,h,N,n.autoPad,n.group,B,L,w,v,E);let ee=Object.assign({},n);return Object.assign(ee,{kernelShape:h,pads:B,outputPadding:v,outputShape:E,dilations:N,strides:L}),ee},At=n=>{let u=Xn(n),h=n.format,w=["NOTSET","VALID","SAME_UPPER","SAME_LOWER"][typeof n.autoPad>"u"?0:n.autoPad],B=n.dilations,E=n.group,v=n.kernelShape,P=n.pads,N=n.strides,L=n.wIsConst();return{autoPad:w,format:h,dilations:B,group:E,kernelShape:v,outputPadding:n.outputPadding,outputShape:n.outputShape,pads:P,strides:N,wIsConst:L,...u,cacheKey:`${n.format};${u.activation};`}},ct=(n,u)=>{if(!n||n.length!==2&&n.length!==3)throw new Error("Conv requires 2 or 3 inputs");if(n[0].dims.length!==4&&n[0].dims.length!==3)throw new Error("currently only support 2-dimensional conv");if(n[0].dims.length!==n[1].dims.length)throw new Error("filter does not have same dimension as input");if(n[0].dims[u.format==="NHWC"?n[0].dims.length-1:1]!==n[1].dims[0])throw new Error("FILTER_IN_CHANNEL should be equal to DATA_CHANNEL");let h=n[1].dims[1]*u.group;if(n.length===3&&(n[2].dims.length!==1||n[2].dims[0]!==h))throw new Error("invalid bias");let w=n[0].dims.length-2;if(u.dilations.reduce((B,E)=>B+E,0)>0&&u.dilations.length!==w)throw new Error(`dilations should be ${w}D`);if(u.strides.reduce((B,E)=>B+E,0)>0&&u.strides.length!==w)throw new Error(`strides should be ${w}D`);if(u.pads.reduce((B,E)=>B+E,0)>0&&u.pads.length!==2*w)throw new Error(`pads should be ${2*w}D`);if(u.outputPadding.length!==w&&u.outputPadding.length!==0)throw new Error(`output_padding should be ${w}D`);if(u.kernelShape.reduce((B,E)=>B+E,0)>0&&u.kernelShape.length!==0&&u.kernelShape.length!==n[1].dims.length-2)throw new Error("invalid kernel shape");if(u.outputShape.length!==0&&u.outputShape.length!==n[0].dims.length-2)throw new Error("invalid output shape")},bt=(n,u,h,w)=>{let B=n.kernelCustomData.wT??n.compute(Da(u[1],[2,3,0,1]),{inputs:[1],outputs:[h.wIsConst?-2:-1]})[0];h.wIsConst&&!n.kernelCustomData.wT&&(n.kernelCustomData.wT=B);let E=[u[0],B];u.length===3&&E.push(u[2]),n.compute(Xe(E,h,w),{inputs:E})},Nt=(n,u)=>{let h=u.format==="NHWC",w=[n.inputs[0].reshape(h?[n.inputs[0].dims[0],1,n.inputs[0].dims[1],n.inputs[0].dims[2]]:[n.inputs[0].dims[0],n.inputs[0].dims[1],1,n.inputs[0].dims[2]]),n.inputs[1].reshape([n.inputs[1].dims[0],n.inputs[1].dims[1],1,n.inputs[1].dims[2]])];n.inputs.length===3&&w.push(n.inputs[2]);let B=u.kernelShape;(B.length===0||B[0]===0)&&(B=[n.inputs[1].dims[2]]);let E=u.dilations;(E.length===0||E[0]===0)&&(E=[1]);let v=u.strides;(v.length===0||v[0]===0)&&(v=[1]);let P=u.pads;P.length===0&&(P=[0,0]),P=[0,P[0],0,P[1]],v=[1].concat(v),E=[1].concat(E),B=[1].concat(B);let N=u.outputPadding;N=[0].concat(N);let L=SA({...u,pads:P,strides:v,dilations:E,kernelShape:B,outputPadding:N},w);bt(n,w,L,ee=>h?[ee[0],ee[2],ee[3]]:[ee[0],ee[1],ee[3]])},qt=(n,u)=>{if(ct(n.inputs,u),n.inputs[0].dims.length===3)Nt(n,u);else{let h=SA(u,n.inputs);bt(n,n.inputs,h)}}}),Oa=Pe(()=>{Mt(),St(),Zr(),Yt(),tr=(n,u,h,w)=>{let B=Le.size(u),E=u.length,v=pA("input",n,E),P=$A("output",n,E),N=h.dataType===6?h.getInt32Array()[0]:Number(h.getBigInt64Array()[0]),L=Le.normalizeAxis(N,E);return{name:"CumSum",shaderCache:{hint:w.cacheKey,inputDependencies:["rank"]},getRunData:()=>({outputs:[{dims:u,dataType:n}],dispatchGroup:{x:Math.ceil(B/64)},programUniforms:[{type:12,data:B},{type:12,data:L},..._A(u,u)]}),getShaderSource:ee=>{let Ae=` i32(${v.indicesGet("inputIndices","uniforms.axis")}) `,Q=nt("uniforms.input_shape","uniforms.axis",E),le=w.reverse?Ae+(w.exclusive?" + 1":""):"0",de=w.reverse?Q:Ae+(w.exclusive?"":" + 1");return`
1287                ${ee.registerUniform("outputSize","u32").registerUniform("axis","u32").declareVariables(v,P)}
1288                ${ee.mainStart()}
1289                  ${ee.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.outputSize")}
1290                  var inputIndices = ${P.offsetToIndices("global_idx")};
1291                  var sum = ${P.type.value}(0);
1292                  let first : i32 = ${le};
1293                  let last : i32 = ${de};
1294                  for (var i : i32 = first; i < last; i++) {
1295                    ${v.indicesSet("inputIndices","uniforms.axis","u32(i)")};
1296                    sum = sum + ${v.getByIndices("inputIndices")};
1297                  }
1298                  ${P.setByOffset("global_idx","sum")};
1299                }`}}},mr=(n,u)=>{let h=n.inputs[0].dims,w=n.inputs[0].dataType,B=n.inputs[1];n.compute(tr(w,h,B,u),{inputs:[0]})},Cr=n=>{let u=n.exclusive===1,h=n.reverse===1;return Ze({exclusive:u,reverse:h})}}),Ua=Pe(()=>{Mt(),St(),Zr(),Yt(),Gr=n=>{if(!n||n.length!==1)throw new Error("DepthToSpace requires 1 input.");if(n[0].dims.length!==4)throw new Error("DepthToSpace requires 4D input.")},Dr=(n,u,h,w)=>{let B=[];B.push(`fn perm(i: ${w.type.indices}) -> ${h.type.indices} {
1300    var a: ${h.type.indices};`);for(let E=0;E<u;++E)B.push(h.indicesSet("a",n[E],`i[${E}]`));return B.push("return a;}"),B.join(`
1301`)},Or=(n,u)=>{let h,w,B,E,v,P,N=u.format==="NHWC",L=u.blocksize,ee=u.mode==="DCR";N?([h,w,B,E]=n.dims,v=ee?[h,w,B,L,L,E/L**2]:[h,w,B,E/L**2,L,L],P=ee?[0,1,3,2,4,5]:[0,1,4,2,5,3]):([h,w,B,E]=[n.dims[0],n.dims[2],n.dims[3],n.dims[1]],v=ee?[h,L,L,E/L**2,w,B]:[h,E/L**2,L,L,w,B],P=ee?[0,3,4,1,5,2]:[0,1,4,2,5,3]);let Ae=n.reshape(v),Q=Ae.dims.length,le=n.dataType,de=pA("a",le,Q),we=$A("output",le,Q);return{name:"DepthToSpace",shaderCache:{hint:`${n.dims};${u.blocksize};${u.mode}`,inputDependencies:["rank"]},getRunData:be=>{let Me=N?[h,w*L,B*L,E/L**2]:[h,E/L**2,w*L,B*L],Fe=Le.size(Me),We=Ae.dims,$e=Le.sortBasedOnPerm(We,P);return{outputs:[{dims:Me,dataType:be[0].dataType}],dispatchGroup:{x:Math.ceil(Fe/64)},programUniforms:[{type:12,data:Fe},..._A(We,$e)]}},getShaderSource:be=>`
1302  ${be.registerUniform("output_size","u32").declareVariables(de,we)}
1303
1304  ${Dr(P,Q,de,we)}
1305
1306  ${be.mainStart()}
1307    ${be.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.output_size")}
1308
1309    let indices = ${we.offsetToIndices("global_idx")};
1310    let aIndices = perm(indices);
1311
1312    ${we.setByOffset("global_idx",de.getByIndices("aIndices"))}
1313  }`}},Kr=(n,u)=>{Gr(n.inputs),n.compute(Or(n.inputs[0],u))},na=n=>Ze({blocksize:n.blocksize,mode:n.mode,format:n.format})}),e0=Pe(()=>{Mt(),St(),Zr(),Yt(),ya="^"+(oa="("+($r="[a-zA-Z]|\\.\\.\\.")+")+")+"$",rs="^"+("("+oa+",)*"+oa)+"$",fs=class{constructor(n=-1){this.symbolToIndices=new Map,this.inputIndex=n}addSymbol(n,u){let h=this.symbolToIndices.get(n);h===void 0?h=[u]:h.push(u),this.symbolToIndices.set(n,h)}},ps=class{constructor(n,u){var B;this.equation=u,this.hasEllipsis=!1,this.symbolToInfo=new Map,this.lhs=new Array,this.outputDims=[];let[h,w]=u.includes("->")?u.split("->",2):[u,""];if(!h.match(RegExp(rs)))throw new Error("Invalid LHS term");if(h.split(",").forEach((E,v)=>{let P=n[v].dims.slice();if(!E.match(RegExp(ya)))throw new Error("Invalid LHS term");let N=this.processTerm(E,!0,P,v);this.lhs.push(N)}),w==="")w+=[...this.symbolToInfo.entries()].filter(([E,v])=>v.count===1||E==="...").map(([E])=>E).join("");else if(!w.match(RegExp(oa)))throw new Error("Invalid RHS");(B=w.match(RegExp($r,"g")))==null||B.forEach(E=>{if(E==="...")this.outputDims=this.outputDims.concat(this.ellipsisDims);else{let v=this.symbolToInfo.get(E);if(v===void 0)throw new Error("Invalid RHS symbol");this.outputDims.push(v.dimValue)}}),this.rhs=this.processTerm(w,!1,this.outputDims)}addSymbol(n,u,h){let w=this.symbolToInfo.get(n);if(w!==void 0){if(w.dimValue!==u&&w.count!==1)throw new Error("Dimension mismatch");w.count++,w.inputIndices.push(h)}else w={count:1,dimValue:u,inputIndices:[h]};this.symbolToInfo.set(n,w)}processTerm(n,u,h,w=-1){let B=h.length,E=!1,v=[],P=0;if(!n.match(RegExp(ya))&&!u&&n!=="")throw new Error("Invalid LHS term");let N=n.match(RegExp($r,"g")),L=new fs(w);return N==null||N.forEach((ee,Ae)=>{if(ee==="..."){if(E)throw new Error("Only one ellipsis is allowed per input term");E=!0;let Q=B-N.length+1;if(Q<0)throw new Error("Ellipsis out of bounds");if(v=h.slice(P,P+Q),this.hasEllipsis){if(this.ellipsisDims.length!==v.length||this.ellipsisDims.toString()!==v.toString())throw new Error("Ellipsis dimensions mismatch")}else{if(!u)throw new Error("Ellipsis must be specified in the LHS");this.hasEllipsis=!0,this.ellipsisDims=v}for(let le=0;le<v.length;le++){let de=String.fromCharCode(48+le);L.addSymbol(de,Ae+le),this.addSymbol(de,h[P++],w)}}else L.addSymbol(ee,Ae+(this.hasEllipsis?this.ellipsisDims.length-1:0)),this.addSymbol(ee,h[P++],w)}),L}},Ns=n=>n+"_max",zi=(n,u,h,w)=>{let B=n.map(N=>N.length).map((N,L)=>pA(`input${L}`,u,N)),E=Le.size(w),v=$A("output",u,w.length),P=[...h.symbolToInfo.keys()].filter(N=>!h.rhs.symbolToIndices.has(N));return{name:"Einsum",shaderCache:{hint:h.equation,inputDependencies:n.map(()=>"rank")},getRunData:()=>{let N=P.filter(ee=>h.symbolToInfo.has(ee)).map(ee=>{var Ae;return{type:12,data:((Ae=h.symbolToInfo.get(ee))==null?void 0:Ae.dimValue)||0}});N.push({type:12,data:E});let L=n.map((ee,Ae)=>[..._A(ee)]).reduce((ee,Ae)=>ee.concat(Ae),N);return L.push(..._A(w)),{outputs:[{dims:w,dataType:u}],dispatchGroup:{x:Math.ceil(E/64)},programUniforms:L}},getShaderSource:N=>{let L=[],ee=[],Ae=[],Q=[],le=[],de=h.symbolToInfo.size===h.rhs.symbolToIndices.size;h.symbolToInfo.forEach((be,Me)=>{var Fe;if(h.rhs.symbolToIndices.has(Me)){let We=(Fe=h.rhs.symbolToIndices.get(Me))==null?void 0:Fe[0];We!==void 0&&h.lhs.forEach(($e,eA)=>{if(be.inputIndices.includes(eA)){let sA=$e.symbolToIndices.get(Me);if(sA===void 0)throw new Error("Invalid symbol error");sA.forEach(zA=>{L.push(`${B[eA].indicesSet(`input${eA}Indices`,zA,v.indicesGet("outputIndices",We))}`)})}})}else h.lhs.forEach((We,$e)=>{if(be.inputIndices.includes($e)){let eA=We.symbolToIndices.get(Me);if(eA===void 0)throw new Error("Invalid symbol error");eA.forEach(sA=>{ee.push(`${B[$e].indicesSet(`input${$e}Indices`,sA,`${Me}`)}`)}),le.push(`prod *= ${B[$e].getByIndices(`input${$e}Indices`)};`)}}),Ae.push(`for(var ${Me}: u32 = 0; ${Me} < uniforms.${Ns(Me)}; ${Me}++) {`),Q.push("}")});let we=de?[...L,`let sum = ${B.map((be,Me)=>be.getByIndices(`input${Me}Indices`)).join(" * ")};`]:[...L,"var sum = 0.0;",...Ae,...ee,"var prod = 1.0;",...le,"sum += prod;",...Q];return`
1314            ${N.registerUniforms(P.map(be=>({name:`${Ns(be)}`,type:"u32"}))).registerUniform("outputSize","u32").declareVariables(...B,v)}
1315
1316            ${N.mainStart()}
1317            ${N.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.outputSize")}
1318            var outputIndices = ${v.offsetToIndices("global_idx")};
1319            ${B.map((be,Me)=>`var input${Me}Indices: ${B[Me].type.indices};`).join(`
1320`)}
1321            ${we.join(`
1322`)};
1323            ${v.setByOffset("global_idx","sum")};
1324          }`}}},pi=(n,u)=>{let h=new ps(n.inputs,u.equation),w=h.outputDims,B=n.inputs.map((E,v)=>E.dims);n.compute(zi(B,n.inputs[0].dataType,h,w))},hi=n=>{let u=n.equation.replace(/\s+/g,"");return Ze({equation:u})}}),xc=Pe(()=>{Mt(),St(),Yt(),Fi=n=>{if(!n||n.length!==2)throw new Error("Expand requires 2 input.");let u=n[0].dims,h=Array.from(n[1].getBigInt64Array(),Number),w=h.length<u.length?0:h.length-u.length,B=u.length<h.length?0:u.length-h.length;for(;w<h.length&&B<u.length;++w,++B)if(h[w]!==u[B]&&h[w]!==1&&u[B]!==1)throw new Error("Expand requires shape to be broadcastable to input")},_n=(n,u)=>{let h=n.length-u.length,w=[];for(let B=0;B<h;++B)w.push(n[B]);for(let B=0;B<u.length;++B)w.push(u[B]===1?n[B+h]:u[B]);return w},O0=(n,u)=>n.length>u.length?_n(n,u):_n(u,n),L0=n=>{let u=n[0].dims,h=Array.from(n[1].getBigInt64Array(),Number),w=O0(u,h),B=n[0].dataType,E=B===9||Le.size(u)===1,v=B===9||u.length>0&&u[u.length-1]%4==0?4:1,P=E||w.length>0&&w[w.length-1]%4==0?4:1,N=Math.ceil(Le.size(w)/P),L=[{type:12,data:N},..._A(u,w)];return{name:"Expand",shaderCache:{hint:`${w.length};${v}${P}`,inputDependencies:["rank"]},getShaderSource:ee=>{let Ae,Q=pA("input",B,u.length,v),le=$A("output",B,w.length,P);if(B===9){let de=(we,be,Me="")=>`
1325          let outputIndices${be} = ${le.offsetToIndices(`outputOffset + ${be}u`)};
1326          let offset${be} = ${Q.broadcastedIndicesToOffset(`outputIndices${be}`,le)};
1327          let index${be} = offset${be} / 4u;
1328          let component${be} = offset${be} % 4u;
1329          ${we}[${be}] = ${Me}(${Q.getByOffset(`index${be}`)}[component${be}]);
1330        `;Ae=`
1331        let outputOffset = global_idx * ${P};
1332        var data = vec4<u32>(0);
1333        ${de("data",0,"u32")}
1334        ${de("data",1,"u32")}
1335        ${de("data",2,"u32")}
1336        ${de("data",3,"u32")}
1337        ${le.setByOffset("global_idx","data")}
1338      }`}else Ae=`
1339        let outputIndices = ${le.offsetToIndices(`global_idx * ${P}`)};
1340        let inputOffset = ${Q.broadcastedIndicesToOffset("outputIndices",le)};
1341        let data = ${le.type.value}(${Q.getByOffset(`inputOffset / ${v}`)});
1342        ${le.setByOffset("global_idx","data")}
1343      }`;return`
1344    ${ee.registerUniform("vec_size","u32").declareVariables(Q,le)}
1345    ${ee.mainStart()}
1346    ${ee.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.vec_size")}
1347    ${Ae}`},getRunData:()=>({outputs:[{dims:w,dataType:n[0].dataType}],dispatchGroup:{x:Math.ceil(N/64)},programUniforms:L})}},An=n=>{Fi(n.inputs),n.compute(L0(n.inputs),{inputs:[0]})}}),Ac=Pe(()=>{Mt(),St(),Yt(),s2(),k2=n=>{let u=n[0].dataType,h=Le.size(n[0].dims),w=Le.size(n[1].dims),B=w%4==0;return{name:"FastGeluWithBias",shaderCache:{hint:`${B}`,inputDependencies:["type","type"]},getShaderSource:E=>{let v=pA("x",u,[1],4),P=pA("bias",u,[1],4),N=$A("y",u,[1],4),L=Ae=>`
1348      let bias${Ae}_offset: u32 = (global_idx * 4 + ${Ae}) % uniforms.bias_size;
1349      let bias${Ae} = ${P.getByOffset(`bias${Ae}_offset / 4`)}[bias${Ae}_offset % 4];`,ee=B?`
1350      let bias = ${P.getByOffset("global_idx % (uniforms.bias_size / 4)")};`:`${L(0)}${L(1)}${L(2)}${L(3)}
1351      let bias = ${v.type.value}(bias0, bias1, bias2, bias3);`;return`${E.registerUniforms([{name:"output_vec_size",type:"u32"},{name:"bias_size",type:"u32"}]).declareVariables(v,P,N)}
1352
1353    ${As(VA(u))}
1354
1355    ${E.mainStart(jt)}
1356      ${E.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.output_vec_size")}
1357
1358      let x = ${v.getByOffset("global_idx")};
1359      ${ee}
1360      let x_in = x + bias;
1361      ${N.setByOffset("global_idx",Hn("x_in"))}
1362    }`},getRunData:E=>({outputs:[{dims:E[0].dims,dataType:E[0].dataType}],programUniforms:[{type:12,data:Math.ceil(h/4)},{type:12,data:w}],dispatchGroup:{x:Math.ceil(h/jt/4)}})}},x2=n=>{n.inputs.length<2||Le.size(n.inputs[1].dims)===0?_i(n):n.compute(k2(n.inputs))}}),tc=Pe(()=>{Mt(),St(),Zr(),Yt(),B2=n=>{if(!n||n.length!==2)throw new Error("Gather requires 2 inputs.")},v2=(n,u)=>{let h=n[0].dims,w=n[1].dims,B=h.length,E=Le.normalizeAxis(u.axis,B),v=h.slice(0);v.splice(E,1,...w);let P=h[E],N=n[0].dataType===9?4:1,L=Math.ceil(Le.size(v)/N),ee=[{type:12,data:L},{type:6,data:P},{type:12,data:E},..._A(n[0].dims,n[1].dims,v)];return{name:"Gather",shaderCache:{hint:u.cacheKey,inputDependencies:["rank","rank"]},getRunData:()=>({outputs:[{dims:v,dataType:n[0].dataType}],dispatchGroup:{x:Math.ceil(L/64)},programUniforms:ee}),getShaderSource:Ae=>{let Q,le=pA("data",n[0].dataType,n[0].dims.length,N),de=pA("inputIndices",n[1].dataType,n[1].dims.length),we=$A("output",n[0].dataType,v.length,N),be=Me=>{let Fe=w.length,We=`var indicesIndices${Me}  = ${de.type.indices}(0);`;for(let $e=0;$e<Fe;$e++)We+=`${Fe>1?`indicesIndices${Me}[${$e}]`:`indicesIndices${Me}`} = ${v.length>1?`outputIndices${Me}[uniforms.axis + ${$e}]`:`outputIndices${Me}`};`;We+=`
1363          var idx${Me} = ${de.getByIndices(`indicesIndices${Me}`)};
1364          if (idx${Me} < 0) {
1365            idx${Me} = idx${Me} + uniforms.axisDimLimit;
1366          }
1367          var dataIndices${Me} : ${le.type.indices};
1368        `;for(let $e=0,eA=0;$e<B;$e++)$e===E?(We+=`${B>1?`dataIndices${Me}[${$e}]`:`dataIndices${Me}`} = u32(idx${Me});`,eA+=Fe):(We+=`${B>1?`dataIndices${Me}[${$e}]`:`dataIndices${Me}`} = ${v.length>1?`outputIndices${Me}[${eA}]`:`outputIndices${Me}`};`,eA++);return We};if(n[0].dataType===9){let Me=(Fe,We,$e="")=>`
1369          let outputIndices${We} = ${we.offsetToIndices(`outputOffset + ${We}u`)};
1370          ${be(We)};
1371          let offset${We} = ${le.indicesToOffset(`dataIndices${We}`)};
1372          let index${We} = offset${We} / 4u;
1373          let component${We} = offset${We} % 4u;
1374          ${Fe}[${We}] = ${$e}(${le.getByOffset(`index${We}`)}[component${We}]);
1375        `;Q=`
1376        let outputOffset = global_idx * ${N};
1377        var value = vec4<u32>(0);
1378        ${Me("value",0,"u32")}
1379        ${Me("value",1,"u32")}
1380        ${Me("value",2,"u32")}
1381        ${Me("value",3,"u32")}
1382        ${we.setByOffset("global_idx","value")}
1383      `}else Q=`
1384      let outputIndices = ${we.offsetToIndices("global_idx")};
1385      ${be("")};
1386      let value = ${le.getByIndices("dataIndices")};
1387      ${we.setByOffset("global_idx","value")};
1388      `;return`
1389      ${Ae.registerUniform("outputSize","u32").registerUniform("axisDimLimit","i32").registerUniform("axis","u32").declareVariables(le,de,we)}
1390      ${Ae.mainStart()}
1391        ${Ae.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.outputSize")}
1392        ${Q}
1393      }`}}},y2=n=>Ze({axis:n.axis}),bo=(n,u)=>{let h=n.inputs;B2(h),n.compute(v2(n.inputs,u))}}),U=Pe(()=>{Mt(),St(),Yt(),E2=(n,u,h,w,B,E,v,P,N)=>{let L=[{type:12,data:E},{type:12,data:w},{type:12,data:B},{type:12,data:h},{type:12,data:v},{type:12,data:P},{type:12,data:N}],ee=[E];return L.push(..._A(u.dims,ee)),n.compute({name:"computeSliceOffsets",shaderCache:{hint:`${B.length}_${h.length}`,inputDependencies:["rank"]},getRunData:()=>({outputs:[{dims:ee,dataType:n.inputs[1].dataType}],dispatchGroup:{x:Math.ceil(E/64)},programUniforms:L}),getShaderSource:Ae=>{let Q=[pA("indices_data",u.dataType,u.dims.length),$A("input_slice_offsets_data",12,1,1)],le=[{name:"output_size",type:"u32"},{name:"batch_dims",type:"u32"},{name:"input_dims",type:"u32",length:B.length},{name:"sizes_from_slice_dims_data",type:"u32",length:h.length},{name:"num_slices_per_batch",type:"u32"},{name:"input_batch_stride",type:"u32"},{name:"num_slice_dims",type:"u32"}];return`
1394  ${Ae.registerUniforms(le).declareVariables(...Q)}
1395  ${Ae.mainStart()}
1396    ${Ae.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.output_size")}
1397    let batch_idx = global_idx / uniforms.num_slices_per_batch;
1398    let base_offset = batch_idx * uniforms.input_batch_stride;
1399
1400    let slice_indices_base_offset = global_idx * uniforms.num_slice_dims;
1401    var relative_slice_offset = 0;
1402    for (var dim_idx = 0u; dim_idx < uniforms.num_slice_dims; dim_idx ++) {
1403      var index = i32(indices_data[dim_idx + slice_indices_base_offset].x);
1404      let input_dim_idx = uniforms.batch_dims + dim_idx;
1405      if (index < 0) {
1406        ${B.length===1?"index += i32(uniforms.input_dims);":"index += i32(uniforms.input_dims[input_dim_idx]);"}
1407      }
1408      ${h.length===1?"relative_slice_offset += index * i32(uniforms.sizes_from_slice_dims_data);":"relative_slice_offset += index * i32(uniforms.sizes_from_slice_dims_data[dim_idx]);"}
1409    }
1410
1411    input_slice_offsets_data[global_idx] =  base_offset + u32(relative_slice_offset);
1412  }`}},{inputs:[u],outputs:[-1]})[0]},M2=(n,u)=>{let h=n.inputs,w=h[0].dims,B=h[0].dataType,E=h[1].dims,v=E[E.length-1],P=Le.sizeToDimension(E,E.length-1),N=Le.sizeFromDimension(w,u.batchDims+v),L=Le.sizeToDimension(w,u.batchDims),ee=Le.sizeFromDimension(w,u.batchDims),Ae=P/L,Q=new Array(v),le=N;for(let We=0;We<v;++We)Q[v-1-We]=le,le*=w[u.batchDims+v-1-We];let de=E2(n,h[1],Q,u.batchDims,w,P,Ae,ee,v),we=u.batchDims+v;if(we>w.length)throw new Error("last dimension of indices must not be larger than rank of input tensor");let be=E.slice(0,-1).concat(w.slice(we)),Me=Le.size(be),Fe=[{type:12,data:Me},{type:12,data:N},..._A(h[0].dims,de.dims,be)];n.compute({name:"GatherND",shaderCache:{hint:u.cacheKey,inputDependencies:["rank","rank"]},getRunData:()=>({outputs:[{dims:be,dataType:B}],dispatchGroup:{x:Math.ceil(Me/64)},programUniforms:Fe}),getShaderSource:We=>{let $e=pA("data",h[0].dataType,h[0].dims.length),eA=pA("slice_offsets",12,de.dims.length),sA=$A("output",h[0].dataType,be.length);return`
1413          ${We.registerUniform("output_size","u32").registerUniform("slice_size","u32").declareVariables($e,eA,sA)}
1414            ${We.mainStart()}
1415            ${We.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.output_size")}
1416          let slice_offset = slice_offsets[global_idx / uniforms.slice_size];
1417          output[global_idx] = data[u32(slice_offset) + global_idx % uniforms.slice_size];
1418        }`}},{inputs:[h[0],de]})},Io=n=>({batchDims:n.batch_dims,cacheKey:""})}),ae=Pe(()=>{Mt(),St(),Zr(),Yt(),G2=(n,u)=>{if(n.length<3||n.length>4)throw new Error("GatherBlockQuantized requires 3 or 4 inputs.");let h=Le.normalizeAxis(u.quantizeAxis,n[0].dims.length),w=u.blockSize,B=n[0],E=n[2],v=n.length===4?n[3]:void 0;if(E.dims.length!==B.dims.length||!B.dims.map((P,N)=>N===h?Math.ceil(P/w)===E.dims[N]:P===E.dims[N]).reduce((P,N)=>P&&N,!0))throw new Error("Scales must have the same rank as the input tensor and the dims should match except on gatherAxis.");if(v){if(v.dataType!==B.dataType)throw new Error("Zero point must have the same data type as the input tensor.");if(v.dims.length!==E.dims.length||!v.dims.map((P,N)=>P===E.dims[N]).reduce((P,N)=>P&&N,!0))throw new Error("Zero point must have the same rank as the input tensor and the dims should match except on quantizeAxis.")}},D2=(n,u)=>{let h=n[0].dims,w=n[1].dims,B=h.length,E=Le.normalizeAxis(u.gatherAxis,B),v=Le.normalizeAxis(u.quantizeAxis,B),P=h.slice(0);P.splice(E,1,...w);let N=Le.size(P),L=n[2].dataType,ee=n[0].dataType===22,Ae=[{type:12,data:N},{type:12,data:v},{type:12,data:E},{type:12,data:u.blockSize},..._A(...n.map((Q,le)=>Q.dims),P)];return{name:"GatherBlockQuantized",shaderCache:{hint:`${u.cacheKey};${n.filter((Q,le)=>le!==1).map(Q=>Q.dims.join("_")).join(";")}`,inputDependencies:Array.from({length:n.length},(Q,le)=>"rank")},getRunData:()=>({outputs:[{dims:P,dataType:L}],dispatchGroup:{x:Math.ceil(N/64)},programUniforms:Ae}),getShaderSource:Q=>{let le=pA("data",n[0].dataType,n[0].dims.length),de=pA("inputIndices",n[1].dataType,n[1].dims.length),we=pA("scales",n[2].dataType,n[2].dims.length),be=n.length>3?pA("zeroPoint",n[3].dataType,n[3].dims.length):void 0,Me=$A("output",L,P.length),Fe=[le,de,we];return be&&Fe.push(be),`
1419        ${Q.registerUniforms([{name:"output_size",type:"u32"},{name:"quantize_axis",type:"u32"},{name:"gather_axis",type:"u32"},{name:"block_size",type:"u32"}]).declareVariables(...Fe,Me)}
1420        ${Q.mainStart()}
1421        let output_indices = ${Me.offsetToIndices("global_idx")};
1422        var indices_indices = ${de.type.indices}(0);
1423        ${w.length>1?`
1424          for (var i: u32 = 0; i < ${w.length}; i++) {
1425            let index = ${Me.indicesGet("output_indices","uniforms.gather_axis + i")};
1426            ${de.indicesSet("indices_indices","i","index")};
1427          }`:`indices_indices = ${Me.indicesGet("output_indices","uniforms.gather_axis")};`};
1428        var data_indices = ${le.type.indices}(0);
1429        for (var i: u32 = 0; i < uniforms.gather_axis; i++) {
1430          let index = ${Me.indicesGet("output_indices","i")};
1431          ${le.indicesSet("data_indices","i","index")};
1432        }
1433        var index_from_indices = ${de.getByIndices("indices_indices")};
1434        if (index_from_indices < 0) {
1435          index_from_indices += ${h[E]};
1436        }
1437        ${le.indicesSet("data_indices","uniforms.gather_axis","u32(index_from_indices)")};
1438        for (var i = uniforms.gather_axis + 1; i < ${P.length}; i++) {
1439          let index = ${Me.indicesGet("output_indices",`i + ${w.length} - 1`)};
1440          ${le.indicesSet("data_indices","i","index")};
1441        }
1442        let data_offset = ${le.indicesToOffset("data_indices")};
1443        let data_index = data_offset % 8;
1444        // Convert 4-bit packed data to 8-bit packed data.
1445        let packed_4bit_quantized_data = ${le.getByOffset("data_offset / 8")};
1446        let packed_8bit_quantized_data = (packed_4bit_quantized_data >> (4 * (data_index % 2))) & 0x0f0f0f0f;
1447        let quantized_data_vec = ${ee?"unpack4xI8":"unpack4xU8"}(u32(packed_8bit_quantized_data));
1448        let quantized_data = quantized_data_vec[data_index / 2];
1449        var scale_indices = data_indices;
1450        let quantize_axis_index = ${we.indicesGet("data_indices","uniforms.quantize_axis")} / uniforms.block_size;
1451        ${we.indicesSet("scale_indices","uniforms.quantize_axis","quantize_axis_index")};
1452        var scale = ${we.getByIndices("scale_indices")};
1453        ${be?`
1454              let zero_point_indices = scale_indices;
1455              let zero_point_offset = ${be.indicesToOffset("zero_point_indices")};
1456              let zero_point_index = zero_point_offset % 8;
1457              let packed_4bit_zero_points = ${be.getByOffset("zero_point_offset / 8")};
1458              let packed_8bit_zero_points = (packed_4bit_zero_points >> (4 * (zero_point_index % 2))) & 0x0f0f0f0f;
1459              let zero_point_vec = ${ee?"unpack4xI8":"unpack4xU8"}(u32(packed_8bit_zero_points));
1460              let zero_point = zero_point_vec[zero_point_index / 2];`:"var zero_point = 0"};
1461        let dequantized_data = ${VA(L)}(quantized_data - zero_point) * scale;
1462        ${Me.setByOffset("global_idx","dequantized_data")};
1463    }`}}},Q2=(n,u)=>{let h=n.inputs;G2(h,u),n.compute(D2(n.inputs,u))},T2=n=>Ze({blockSize:n.blockSize,gatherAxis:n.gatherAxis,quantizeAxis:n.quantizeAxis})}),Ce=Pe(()=>{Mt(),St(),Zr(),Yt(),wo=n=>{if(!n||n.length!==2)throw new Error("GatherElements requires 2 inputs.");if(n[0].dims.length<1)throw new Error("GatherElements requires that the data input be rank >= 1.");if(n[0].dims.length!==n[1].dims.length)throw new Error(`GatherElements requires that the data input and
1464                     indices input tensors be of same rank.`)},P2=(n,u)=>{let h=n[0].dims,w=n[0].dataType,B=h.length,E=n[1].dims,v=n[1].dataType,P=Le.normalizeAxis(u.axis,B),N=h[P],L=E.slice(0),ee=Le.size(L),Ae=pA("input",w,B),Q=pA("indicesInput",v,E.length),le=$A("output",w,L.length),de=[{type:12,data:ee},{type:6,data:N},{type:12,data:P}];return de.push(..._A(h,E,L)),{name:"GatherElements",shaderCache:{inputDependencies:["rank","rank"]},getRunData:()=>({outputs:[{dims:L,dataType:n[0].dataType}],dispatchGroup:{x:Math.ceil(ee/64)},programUniforms:de}),getShaderSource:we=>`
1465      ${we.registerUniform("outputSize","u32").registerUniform("axisDimLimit","i32").registerUniform("axis","u32").declareVariables(Ae,Q,le)}
1466      ${we.mainStart()}
1467      ${we.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.outputSize")}
1468
1469      let outputIndices = ${le.offsetToIndices("global_idx")};
1470
1471      var idx = ${Q.getByOffset("global_idx")};
1472      if (idx < 0) {
1473        idx = idx + uniforms.axisDimLimit;
1474      }
1475      var inputIndices = ${Ae.type.indices}(outputIndices);
1476      ${Ae.indicesSet("inputIndices","uniforms.axis","u32(idx)")};
1477      let value = ${Ae.getByIndices("inputIndices")};
1478
1479      ${le.setByOffset("global_idx","value")};
1480  }`}},z2=n=>Ze({axis:n.axis}),ko=(n,u)=>{let h=n.inputs;wo(h),n.compute(P2(n.inputs,u))}}),qe=Pe(()=>{Mt(),St(),Yt(),F2=n=>{if(!n)throw new Error("Input is missing");if(n.length<2||n.length>3)throw new Error("Invaid input number.");if(n.length===3&&n[2].dims.length>2)throw new Error("Invalid input shape of C");if(n[0].dataType!==n[1].dataType||n.length===3&&n[0].dataType!==n[2].dataType)throw new Error("Input types are mismatched")},S2=(n,u)=>{let h=n[0].dims.slice(),w=n[1].dims.slice(),[B,E,v]=vA.getShapeOfGemmResult(h,u.transA,w,u.transB,n.length===3?n[2].dims:void 0),P=[B,E];if(!P)throw new Error("Can't use gemm on the given tensors");let N=16,L=Math.ceil(E/N),ee=Math.ceil(B/N),Ae=(Le.size(P),[{type:12,data:L},{type:12,data:B},{type:12,data:E},{type:12,data:v},{type:1,data:u.alpha},{type:1,data:u.beta}]),Q=["type","type"];return n.length===3&&(Ae.push(..._A(n[2].dims)),Q.push("rank")),Ae.push(..._A(P)),{name:"GemmShared",shaderCache:{hint:`${u.cacheKey}`,inputDependencies:Q},getRunData:()=>({outputs:[{dims:P,dataType:n[0].dataType}],dispatchGroup:{x:L*ee},programUniforms:Ae}),getShaderSource:le=>{let de=pA("a",n[0].dataType,n[0].dims),we=pA("b",n[1].dataType,n[1].dims),be=null,Me=[de,we];n.length===3&&(be=pA("c",n[2].dataType,n[2].dims.length),Me.push(be));let Fe=$A("output",n[0].dataType,P.length);Me.push(Fe);let We="",$e="";u.transA&&u.transB?($e=`
1481      var col = tile_row_start + local_id.x;
1482      var row = k_start + local_id.y;
1483      if (col < uniforms.M && row < uniforms.K) {
1484        tile_a[local_id.y][local_id.x] = a[row * uniforms.M + col];
1485      } else {
1486        tile_a[local_id.y][local_id.x] = ${de.type.value}(0);
1487      }
1488
1489      col = k_start + local_id.x;
1490      row = tile_col_start + local_id.y;
1491      if (col < uniforms.K && row < uniforms.N) {
1492        tile_b[local_id.y][local_id.x] = b[row * uniforms.K + col];
1493      } else {
1494        tile_b[local_id.y][local_id.x] = ${we.type.value}(0);
1495      }
1496      `,We="value += tile_a[k][local_id.y] * tile_b[local_id.x][k];"):u.transA&&!u.transB?($e=`
1497      var col = tile_row_start + local_id.x;
1498      var row = k_start + local_id.y;
1499      if (col < uniforms.M && row < uniforms.K) {
1500        tile_a[local_id.y][local_id.x] = a[row * uniforms.M + col];
1501      } else {
1502        tile_a[local_id.y][local_id.x] = ${de.type.value}(0);
1503      }
1504
1505      col = tile_col_start + local_id.x;
1506      row = k_start + local_id.y;
1507      if (col < uniforms.N && row < uniforms.K) {
1508        tile_b[local_id.y][local_id.x] = b[row * uniforms.N + col];
1509      } else {
1510        tile_b[local_id.y][local_id.x] = ${we.type.value}(0);
1511      }
1512      `,We="value += tile_a[k][local_id.y] * tile_b[k][local_id.x];"):!u.transA&&u.transB?($e=`
1513      var col = k_start + local_id.x;
1514      var row = tile_row_start + local_id.y;
1515      if (col < uniforms.K && row < uniforms.M) {
1516        tile_a[local_id.y][local_id.x] = a[row * uniforms.K + col];
1517      } else {
1518        tile_a[local_id.y][local_id.x] = ${de.type.value}(0);
1519      }
1520
1521      col = k_start + local_id.x;
1522      row = tile_col_start + local_id.y;
1523      if (col < uniforms.K && row < uniforms.N) {
1524        tile_b[local_id.y][local_id.x] = b[row * uniforms.K + col];
1525      } else {
1526        tile_b[local_id.y][local_id.x] = ${we.type.value}(0);
1527      }
1528      `,We="value += tile_a[local_id.y][k] * tile_b[local_id.x][k];"):!u.transA&&!u.transB&&($e=`
1529      var col = k_start + local_id.x;
1530      var row = tile_row_start + local_id.y;
1531      if (col < uniforms.K && row < uniforms.M) {
1532        tile_a[local_id.y][local_id.x] = a[row * uniforms.K + col];
1533      } else {
1534        tile_a[local_id.y][local_id.x] = ${de.type.value}(0);
1535      }
1536
1537      col = tile_col_start + local_id.x;
1538      row = k_start + local_id.y;
1539      if (col < uniforms.N && row < uniforms.K) {
1540        tile_b[local_id.y][local_id.x] = b[row * uniforms.N + col];
1541      } else {
1542        tile_b[local_id.y][local_id.x] = ${we.type.value}(0);
1543      }
1544      `,We="value += tile_a[local_id.y][k] * tile_b[k][local_id.x];");let eA=u.alpha===1?"":"value *= uniforms.alpha;";return`
1545  ${le.registerUniforms([{name:"num_tile_n",type:"u32"},{name:"M",type:"u32"},{name:"N",type:"u32"},{name:"K",type:"u32"},{name:"alpha",type:"f32"},{name:"beta",type:"f32"}]).declareVariables(...Me)}
1546  var<workgroup> tile_a: array<array<${de.type.storage}, 16>, 16>;
1547  var<workgroup> tile_b: array<array<${we.type.storage}, 16>, 16>;
1548  ${le.mainStart([N,N,1])}
1549    let tile_col_start = (workgroup_index % uniforms.num_tile_n) * 16;
1550    let tile_row_start = (workgroup_index / uniforms.num_tile_n) * 16;
1551    let num_tiles = (uniforms.K - 1) / 16 + 1;
1552    var k_start = 0u;
1553    var value = ${Fe.type.value}(0);
1554    for (var t: u32 = 0u; t < num_tiles; t++) {
1555      ${$e}
1556      k_start = k_start + 16;
1557      workgroupBarrier();
1558
1559      for (var k: u32 = 0u; k < 16; k++) {
1560        ${We}
1561      }
1562      workgroupBarrier();
1563    }
1564
1565    ${eA}
1566    let m = tile_row_start + local_id.y;
1567    let n = tile_col_start + local_id.x;
1568    ${be!=null?`let cOffset = ${be.broadcastedIndicesToOffset("vec2(m, n)",Fe)}; value += ${Fe.type.value}(uniforms.beta) * ${be.getByOffset("cOffset")};`:""}
1569    if (m < uniforms.M && n < uniforms.N) {
1570      output[m * uniforms.N + n] = value;
1571    }
1572  }`}}},xo=n=>({transA:n.transA,transB:n.transB,alpha:n.alpha,beta:n.beta,cacheKey:`${n.transA};${n.transB};${n.alpha===1}`}),N2=(n,u)=>{F2(n.inputs),n.compute(S2(n.inputs,u))}}),lA=Pe(()=>{Mt(),St(),Zr(),Yt(),[qs,Js,tn,rn]=[0,1,2,3],O2=n=>{if(n[0].dims.length!==4)throw new Error("only 4-D tensor is supported.");if(n[0].dims.length!==n[1].dims.length)throw new Error("input dimensions must be equal to grid dimensions");if(n[0].dims.length-2!==n[1].dims[n[1].dims.length-1])throw new Error("last dimension of grid must be equal to "+(n[0].dims.length-2));if(n[0].dims[0]!==n[1].dims[0])throw new Error("grid batch size must match input batch size")},L2=n=>`
1573  fn gs_bicubic_interpolate(p: mat4x4<${n}>, x: f32, y: f32) -> ${n} {
1574    var v: vec4<f32>;
1575    var coeffs = gs_get_cubic_coeffs(x);
1576    for (var i = 0; i < 4; i++) {
1577      v[i] = coeffs[0] * p[i][0] + coeffs[1] * p[i][1] + coeffs[2] * p[i][2] + coeffs[3] * p[i][3];
1578    }
1579    coeffs = gs_get_cubic_coeffs(y);
1580    let pixel = ${n}(coeffs[0] * v[0] + coeffs[1] * v[1] + coeffs[2] * v[2] + coeffs[3] * v[3]);
1581    return pixel;
1582  }
1583`,Bo=n=>`
1584  fn gs_denormalize(n: f32, length: i32) -> f32 {
1585    ${n.alignCorners===0?`
1586    // alignCorners: false => [-1, 1] to [-0.5, length - 0.5]
1587    return ((n + 1.0) * f32(length) - 1.0) / 2.0;
1588    `:`
1589    // alignCorners: true => [-1, 1] to [0, length - 1]
1590    return (n + 1.0) / 2.0 * (f32(length - 1));
1591    `}
1592  }
1593`,Y2=n=>`
1594  ${n.paddingMode==="reflection"?`
1595      fn gs_reflect(x: i32, x_min: f32, x_max: f32) -> u32 {
1596        var dx = 0.0;
1597        var fx = f32(x);
1598        let range = x_max - x_min;
1599        if (fx < x_min) {
1600          dx = x_min - fx;
1601          let n = u32(dx / range);
1602          let r = dx - f32(n) * range;
1603          if (n % 2 == 0) {
1604            fx = x_min + r;
1605          } else {
1606            fx = x_max - r;
1607          }
1608        } else if (fx > x_max) {
1609          dx = fx - x_max;
1610          let n = u32(dx / range);
1611          let r = dx - f32(n) * range;
1612          if (n % 2 == 0) {
1613            fx = x_max - r;
1614          } else {
1615            fx = x_min + r;
1616          }
1617        }
1618        return u32(fx);
1619      }`:""}
1620`,H2=(n,u,h)=>`
1621  fn pixel_at_grid(r: i32, c: i32, H: i32, W: i32, batch: u32, channel: u32, border: vec4<f32>) -> ${u} {
1622     var pixel = ${u}(0);
1623     var indices = vec4<u32>(0);
1624     indices[${qs}] = batch;
1625     indices[${Js}] = channel;`+(()=>{switch(h.paddingMode){case"zeros":return`
1626          if (r >= 0 && r < H && c >=0 && c < W) {
1627            indices[${tn}] = u32(r);
1628            indices[${rn}] = u32(c);
1629          }
1630        `;case"border":return`
1631          indices[${tn}] = u32(clamp(r, 0, H - 1));
1632          indices[${rn}] = u32(clamp(c, 0, W - 1));
1633        `;case"reflection":return`
1634          indices[${tn}] = gs_reflect(r, border[1], border[3]);
1635          indices[${rn}] = gs_reflect(c, border[0], border[2]);
1636        `;default:throw new Error(`padding mode ${h.paddingMode} is not supported`)}})()+`
1637    return ${n.getByIndices("indices")};
1638  }
1639`,R2=(n,u,h)=>(()=>{switch(h.mode){case"nearest":return`
1640          let result = pixel_at_grid(i32(round(y)), i32(round(x)), H_in, W_in, indices[${qs}], indices[${Js}], border);
1641        `;case"bilinear":return`
1642          let x1 = i32(floor(x));
1643          let y1 = i32(floor(y));
1644          let x2 = x1 + 1;
1645          let y2 = y1 + 1;
1646
1647          let p11 = pixel_at_grid(y1, x1, H_in, W_in, indices[${qs}], indices[${Js}], border);
1648          let p12 = pixel_at_grid(y1, x2, H_in, W_in, indices[${qs}], indices[${Js}], border);
1649          let p21 = pixel_at_grid(y2, x1, H_in, W_in, indices[${qs}], indices[${Js}], border);
1650          let p22 = pixel_at_grid(y2, x2, H_in, W_in, indices[${qs}], indices[${Js}], border);
1651
1652          let dx2 = ${u}(f32(x2) - x);
1653          let dx1 = ${u}(x - f32(x1));
1654          let dy2 = ${u}(f32(y2) - y);
1655          let dy1 = ${u}(y - f32(y1));
1656          let result = dy2 * (dx2 * p11 + dx1 * p12) + dy1 * (dx2 * p21 + dx1 * p22);
1657        `;case"bicubic":return`
1658          let x0 = i32(floor(x)) - 1;
1659          let y0 = i32(floor(y)) - 1;
1660          var p: mat4x4<${u}>;
1661          for (var h = 0; h < 4; h++) {
1662            for (var w = 0; w < 4; w++) {
1663              p[h][w] = pixel_at_grid(h + y0, w + x0, H_in, W_in, indices[${qs}], indices[${Js}], border);
1664            }
1665          }
1666
1667          let dx = x - f32(x0 + 1);
1668          let dy = y - f32(y0 + 1);
1669          let result = gs_bicubic_interpolate(p, dx, dy);
1670        `;default:throw new Error(`mode ${h.mode} is not supported`)}})()+`${n.setByOffset("global_idx","result")}`,W2=(n,u)=>{let h=pA("x",n[0].dataType,n[0].dims.length),w=[n[1].dims[0],n[1].dims[1],n[1].dims[2]],B=pA("grid",n[1].dataType,w.length,2),E=[n[0].dims[0],n[0].dims[1],n[1].dims[1],n[1].dims[2]];u.format==="NHWC"&&(E=[n[0].dims[0],n[1].dims[1],n[1].dims[2],n[0].dims[3]],[qs,Js,tn,rn]=[0,3,1,2]);let v=$A("output",n[0].dataType,E.length),P=h.type.value,N=[{type:12,data:Le.size(E)},..._A(n[0].dims,w,E)];return{name:"GridSample",shaderCache:{hint:`${u.cacheKey}`,inputDependencies:["type","type"]},getRunData:L=>{let ee=Le.size(E);return{outputs:[{dims:E,dataType:L[0].dataType}],dispatchGroup:{x:Math.ceil(ee/64)},programUniforms:N}},getShaderSource:L=>`
1671  ${L.registerUniform("output_size","u32").declareVariables(h,B,v)}
1672  
1673  fn gs_get_cubic_coeffs(x: f32) -> vec4<f32> {
1674    let cubic_alpha = -0.75f;
1675    let x_abs = abs(x);
1676    var coeffs: vec4<f32>;
1677    coeffs[0] = (((cubic_alpha * (x_abs + 1) - 5 * cubic_alpha) * (x_abs + 1) + 8 * cubic_alpha) * (x_abs + 1) - 4 * cubic_alpha);
1678    coeffs[1] = (((cubic_alpha + 2) * x_abs - (cubic_alpha + 3)) * x_abs * x_abs + 1);
1679    coeffs[2] = (((cubic_alpha + 2) * (1 - x_abs) - (cubic_alpha + 3)) * (1 - x_abs) * (1 - x_abs) + 1);
1680    coeffs[3] = (((cubic_alpha * (2 - x_abs) - 5 * cubic_alpha) * (2 - x_abs) + 8 * cubic_alpha) * (2 - x_abs) - 4 * cubic_alpha);
1681    return coeffs;
1682  }
1683
1684  ${L2(P)}
1685  ${Bo(u)}
1686  ${Y2(u)}
1687  ${H2(h,P,u)}
1688
1689  ${L.mainStart()}
1690    ${L.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.output_size")}
1691      let H_in = i32(uniforms.x_shape[${tn}]);
1692      let W_in = i32(uniforms.x_shape[${rn}]);
1693
1694      ${u.alignCorners===0?`
1695      let x_min = -0.5;
1696      let x_max = f32(W_in) - 0.5;
1697      let y_min = -0.5;
1698      let y_max = f32(H_in) - 0.5;
1699      `:`
1700      let x_min = 0.0;
1701      let x_max = f32(W_in) - 1.0;
1702      let y_min = 0.0;
1703      let y_max = f32(H_in) - 1.0;
1704      `};
1705      let border = vec4<f32>(x_min, y_min, x_max, y_max);
1706
1707      let indices = ${v.offsetToIndices("global_idx")};
1708      var grid_indices = vec3<u32>(indices[${qs}], indices[${tn}], indices[${rn}]);
1709      let nxy = ${B.getByIndices("grid_indices")};
1710      var x = gs_denormalize(f32(nxy[0]), W_in);
1711      var y = gs_denormalize(f32(nxy[1]), H_in);
1712
1713      ${R2(v,P,u)}
1714  }`}},V2=(n,u)=>{O2(n.inputs),n.compute(W2(n.inputs,u))},j2=n=>Ze({alignCorners:n.align_corners,mode:n.mode,paddingMode:n.padding_mode,format:n.format})}),oA=Pe(()=>{Mt(),St(),Zr(),t2(),a2(),Yt(),Ni(),Ha=(n,u)=>n.length>u&&n[u].dims.length>0?n[u]:void 0,U2=(n,u)=>{let h=n[0],w=Ha(n,1),B=Ha(n,2),E=Ha(n,3),v=Ha(n,4),P=Ha(n,5),N=Ha(n,6),L=Ha(n,7);if(h.dims.length!==3&&h.dims.length!==5)throw new Error("Input query is expected to have 3 or 5 dimensions");let ee,Ae=h.dims[0],Q=h.dims[1],le=h.dims.length===3?h.dims[2]:u.numHeads*h.dims[4],de=Q,we=0,be=0,Me=Math.floor(le/u.numHeads);if(N&&L&&Le.size(N.dims)&&Le.size(L.dims)){if(N.dims.length!==4)throw new Error('Input "past_key" is expected to have 4 dimensions');if(N.dims[0]!==Ae||N.dims[1]!==u.numHeads||N.dims[3]!==Me)throw new Error('Input "past_key" shape (batch_size, num_heads, past_sequence_length, head_size)');if(L.dims[0]!==Ae||L.dims[1]!==u.numHeads||L.dims[3]!==Me)throw new Error('Input "past_value" shape (batch_size, num_heads, past_sequence_length, head_size)');if(N.dims[2]!==L.dims[2])throw new Error('Input "past_key" and "past_value" shall have same dim 2 (past_sequence_length)');if(L.dims.length!==4)throw new Error('Input "past_value" is expected to have 4 dimensions');we=N.dims[2],be=N.dims[2]}else if(N&&Le.size(N.dims)||L&&Le.size(L.dims))throw new Error('Input "past_key" and "past_value" shall be both present or both absent');if(w&&Le.size(w.dims)>0){if(h.dims.length!==3)throw new Error('Input "query" is expected to have 3 dimensions when key is given');if(w.dims.length<3||w.dims.length>5)throw new Error('Input "key" is expected to have 3, 4, or 5 dimensions');if(h.dims[0]!==w.dims[0])throw new Error('Input "query" and "key" shall have same dim 0 (batch size)');if(w.dims.length===3){if(w.dims[2]!==h.dims[2])throw new Error('Input "query" and "key" shall have same dim 2 (hidden_size)');ee=2,de=w.dims[1]}else if(w.dims.length===5){if(w.dims[2]!==u.numHeads||w.dims[3]!==2||w.dims[4]!==Me)throw new Error('Expect "key" shape (batch_size, kv_sequence_length, num_heads, 2, head_size) for packed kv');if(B)throw new Error('Expect "value" be none when "key" has packed kv format.');ee=5,de=w.dims[1]}else{if(w.dims[1]!==u.numHeads||w.dims[3]!==Me)throw new Error('Expect "key" shape (batch_size, num_heads, kv_sequence_length, head_size) for past_key');ee=0,de=w.dims[2]}}else{if(h.dims.length!==5)throw new Error('Input "query" is expected to have 5 dimensions when key is empty');if(h.dims[2]!==u.numHeads||h.dims[3]!==3)throw new Error('Expect "query" shape (batch_size, kv_sequence_length, num_heads, 3, head_size) for packed kv');ee=3}if(E&&Le.size(E.dims)>0){if(E.dims.length!==1)throw new Error('Input "bias" is expected to have 1 dimension');if(w&&w.dims.length===5&&w.dims[3]===2)throw new Error("bias is not allowed for packed kv.")}let Fe=we+de,We=0;if(v&&Le.size(v.dims)>0){We=8;let sA=v.dims;throw sA.length===1?sA[0]===Ae?We=1:sA[0]===3*Ae+2&&(We=3):sA.length===2&&sA[0]===Ae&&sA[1]===Fe&&(We=5),We===8?new Error('Input "key_padding_mask" shape shall be (batch_size) or (batch_size, total_sequence_length)'):new Error("Mask not supported")}let $e=!1,eA=le;if(B&&Le.size(B.dims)>0){if(B.dims.length!==3&&B.dims.length!==4)throw new Error('Input "value" is expected to have 3 or 4 dimensions');if(h.dims[0]!==B.dims[0])throw new Error('Input "query" and "value" shall have same dim 0 (batch_size)');if(B.dims.length===3){if(de!==B.dims[1])throw new Error('Input "key" and "value" shall have the same dim 1 (kv_sequence_length)');eA=B.dims[2]}else{if(de!==B.dims[2])throw new Error('Input "key" and "value" shall have the same dim 2 (kv_sequence_length)');eA=B.dims[1]*B.dims[3],$e=!0}}if(v&&Le.size(v.dims)>0)throw new Error("Key padding mask is not supported");if(P&&Le.size(P.dims)>0){if(P.dims.length!==4)throw new Error('Input "attention_bias" is expected to have 4 dimensions');if(P.dims[0]!==Ae||P.dims[1]!==u.numHeads||P.dims[2]!==Q||P.dims[3]!==Fe)throw new Error('Expect "attention_bias" shape (batch_size, num_heads, sequence_length, total_sequence_length)')}return{batchSize:Ae,sequenceLength:Q,pastSequenceLength:we,kvSequenceLength:de,totalSequenceLength:Fe,maxSequenceLength:be,inputHiddenSize:0,hiddenSize:le,vHiddenSize:eA,headSize:Me,vHeadSize:Math.floor(eA/u.numHeads),numHeads:u.numHeads,isUnidirectional:!1,pastPresentShareBuffer:!1,maskFilterValue:u.maskFilterValue,maskType:We,scale:u.scale,broadcastResPosBias:!1,passPastInKv:$e,qkvFormat:ee}},K2=n=>Ze({...n}),$0=Ze({perm:[0,2,1,3]}),Z2=(n,u,h,w,B,E,v)=>{let P=[w,B,E],N=Le.size(P),L=[{type:12,data:N},{type:12,data:v},{type:12,data:E}];return n.compute({name:"MultiHeadAttentionAddBias",shaderCache:{inputDependencies:["type","type"]},getRunData:()=>({outputs:[{dims:P,dataType:u.dataType,gpuDataType:0}],dispatchGroup:{x:Math.ceil(N/64)},programUniforms:L}),getShaderSource:ee=>{let Ae=$A("qkv_with_bias",u.dataType,P),Q=pA("qkv",u.dataType,P),le=pA("bias",h.dataType,P);return`
1715  ${ee.registerUniforms([{name:"output_size",type:"u32"},{name:"bias_offset",type:"u32"},{name:"hidden_size",type:"u32"}]).declareVariables(Q,le,Ae)}
1716  ${ee.mainStart()}
1717    ${ee.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.output_size")}
1718    let bias_offset_idx = (global_idx % uniforms.hidden_size) + uniforms.bias_offset;
1719
1720    qkv_with_bias[global_idx] = qkv[global_idx] + bias[bias_offset_idx];
1721  }`}},{inputs:[u,h],outputs:[-1]})[0]},Y0=(n,u,h,w,B,E,v,P)=>{let N=E;if(v&&Le.size(v.dims)>0){if(w===1)throw new Error("AddBiasReshape is not implemented. Please export your model with packed QKV or KV");return N=Z2(n,E,v,u,w,h*B,P),N=N.reshape([u,w,h,B]),h===1||w===1?N:n.compute(Da(N,$0.perm),{inputs:[N],outputs:[-1]})[0]}return E.dims.length===3&&(N=E.reshape([u,w,h,B])),h===1||w===1?N:n.compute(Da(N,$0.perm),{inputs:[N],outputs:[-1]})[0]},Si=(n,u)=>{let h=U2(n.inputs,u),w=n.inputs[0],B=Ha(n.inputs,1),E=Ha(n.inputs,2),v=Ha(n.inputs,3),P=Ha(n.inputs,4),N=Ha(n.inputs,5),L=Ha(n.inputs,6),ee=Ha(n.inputs,7);if(w.dims.length===5)throw new Error("Packed QKV is not implemented");if((B==null?void 0:B.dims.length)===5)throw new Error("Packed KV is not implemented");let Ae=B&&E&&B.dims.length===4&&E.dims.length===4,Q=Y0(n,h.batchSize,h.numHeads,h.sequenceLength,h.headSize,w,v,0);if(Ae)return Is(n,Q,B,E,P,void 0,L,ee,N,h);if(!B||!E)throw new Error("key and value must be provided");let le=Y0(n,h.batchSize,h.numHeads,h.kvSequenceLength,h.headSize,B,v,h.hiddenSize),de=Y0(n,h.batchSize,h.numHeads,h.kvSequenceLength,h.vHeadSize,E,v,2*h.hiddenSize);Is(n,Q,le,de,P,void 0,L,ee,N,h)}}),wA=Pe(()=>{Mt(),St(),Zr(),Yt(),X2=n=>{if(!n||n.length<1)throw new Error("too few inputs")},q2=(n,u)=>{let h=[],w=u.numOutputs;return n[1].dims[0]>0&&(n[1].getBigInt64Array().forEach(B=>h.push(Number(B))),w=h.length),Ze({numOutputs:w,axis:u.axis,splitSizes:h})},J2=n=>`
1722fn calculateOutputIndex(index: u32) -> u32 {
1723    for (var i: u32 = 0u; i < ${n}u; i += 1u ) {
1724    if (index < ${nt("uniforms.size_in_split_axis","i",n)}) {
1725        return i;
1726    }
1727    }
1728    return ${n}u;
1729}`,_2=n=>{let u=n.length,h=[];for(let w=0;w<u;++w){let B=n[w].setByIndices("indices","input[global_idx]");u===1?h.push(B):w===0?h.push(`if (output_number == ${w}u) { ${B} }`):w===u-1?h.push(`else { ${B} }`):h.push(`else if (output_number == ${w}) { ${B} }`)}return`
1730      fn writeBufferData(output_number: u32, indices: ${n[0].type.indices}, global_idx: u32) {
1731        ${h.join(`
1732`)}
1733      }`},eo=(n,u)=>{let h=n[0].dims,w=Le.size(h),B=n[0].dataType,E=Le.normalizeAxis(u.axis,h.length),v=new Array(u.numOutputs),P=pA("input",B,h.length),N=new Array(u.numOutputs),L=[],ee=[],Ae=0,Q=[{type:12,data:w}];for(let le=0;le<u.numOutputs;le++){Ae+=u.splitSizes[le],N[le]=Ae;let de=h.slice();de[E]=u.splitSizes[le],ee.push(de),v[le]=$A(`output${le}`,B,de.length),L.push({dims:ee[le],dataType:n[0].dataType})}return Q.push({type:12,data:N},..._A(h,...ee)),{name:"Split",shaderCache:{hint:u.cacheKey,inputDependencies:["rank"]},getShaderSource:le=>`
1734  ${le.registerUniform("input_size","u32").registerUniform("size_in_split_axis","u32",N.length).declareVariables(P,...v)}
1735  ${J2(N.length)}
1736  ${_2(v)}
1737
1738  ${le.mainStart()}
1739    ${le.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.input_size")}
1740
1741    var indices = ${P.offsetToIndices("global_idx")};
1742    var index = ${P.indicesGet("indices",E)};
1743    let output_number = calculateOutputIndex(index);
1744    if (output_number != 0) {
1745      index -= ${nt("uniforms.size_in_split_axis","output_number - 1u",N.length)};
1746      ${P.indicesSet("indices",E,"index")};
1747    }
1748    writeBufferData(output_number, indices, global_idx);
1749  }`,getRunData:()=>({outputs:L,dispatchGroup:{x:Math.ceil(w/64)},programUniforms:Q})}},$2=(n,u)=>{X2(n.inputs);let h=n.inputs.length===1?u:q2(n.inputs,u);n.compute(eo(n.inputs,h),{inputs:[0]})},el=n=>{let u=n.axis,h=n.splitSizes,w=n.numOutputs<0?h.length:n.numOutputs;if(w!==h.length)throw new Error("numOutputs and splitSizes lengh must be equal");return Ze({axis:u,numOutputs:w,splitSizes:h})}}),KA=Pe(()=>{Zr(),a2(),oA(),wA(),Ni(),Al=(n,u)=>{if(u.doRotary)throw new Error("GroupQuerryAttention do_rotary attribute is not supported");if(u.doRotary&&n.length<=7)throw new Error("cos_cache and sin_cache inputs are required if do_rotary is specified");let h=n[0],w=n[1],B=n[2],E=n[3],v=n[4];if(u.localWindowSize!==-1)throw new Error("Local attention is not supported");if(u.softcap!==0)throw new Error("Softcap is not supported");if(u.rotaryInterleaved!==0)throw new Error("Rotary interleaved is not supported");if(u.smoothSoftmax)throw new Error("Smooth softmax is not supported");if(h.dims.length!==3&&h.dims.length!==5)throw new Error("Input query is expected to have 3 or 5 dimensions");let P=h.dims[0],N=h.dims[1],L=h.dims.length===3?h.dims[2]:u.numHeads*h.dims[4],ee=N,Ae=0,Q=!w||w.dims.length===0,le=Math.floor(Q?L/(u.numHeads+2*u.kvNumHeads):L/u.numHeads);Q&&(L=le*u.numHeads);let de=E&&E.dims.length!==0,we=v&&v.dims.length!==0;if(de&&E.dims.length===4&&E.dims[0]===P&&E.dims[1]!==u.kvNumHeads&&E.dims[2]===u.kvNumHeads&&E.dims[3]===le)throw new Error("BSNH pastKey/pastValue is not supported");if(de&&we){if(E.dims.length!==4)throw new Error('Input "past_key" is expected to have 4 dimensions');if(v.dims.length!==4)throw new Error('Input "past_value" is expected to have 4 dimensions');Ae=E.dims[2]}else if(de||we)throw new Error('Input "past_key" and "past_value" shall be both present or both absent');let be=1;if(w&&w.dims.length>0){if(h.dims.length!==3)throw new Error('Input "query" is expected to have 3 dimensions when key is given');if(w.dims.length<3||w.dims.length>5)throw new Error('Input "key" is expected to have 3, 4, or 5 dimensions');if(h.dims[0]!==w.dims[0])throw new Error('Input "query" and "key" shall have same dim 0 (batch size)');if(w.dims.length===3){if(h.dims[2]%w.dims[2]!=0)throw new Error('Dimension 2 of "query" should be a multiple of "key"');ee=w.dims[1]}else if(w.dims.length===5){if(w.dims[2]!==u.numHeads||w.dims[3]!==2||w.dims[4]!==le)throw new Error('Expect "key" shape (batch_size, kv_sequence_length, num_heads, 2, head_size) for packed kv');if(B)throw new Error('Expect "value" be none when "key" has packed kv format.');ee=w.dims[1]}else{if(w.dims[1]!==u.numHeads||w.dims[3]!==le)throw new Error('Expect "key" shape (batch_size, num_heads, kv_sequence_length, head_size) for past_key');ee=w.dims[2]}}else{if(h.dims.length!==3&&h.dims.length!==5)throw new Error('Input "query" is expected to have 3 or 5 dimensions when key is empty');if(h.dims.length===5&&(h.dims[2]!==u.numHeads||h.dims[3]!==3))throw new Error('Expect "query" shape (batch_size, kv_sequence_length, num_heads, 3, head_size) for packed kv');be=3}let Me=!1,Fe=u.kvNumHeads?le*u.kvNumHeads:L;if(B&&B.dims.length>0){if(B.dims.length!==3&&B.dims.length!==4)throw new Error('Input "value" is expected to have 3 or 4 dimensions');if(h.dims[0]!==B.dims[0])throw new Error('Input "query" and "value" shall have same dim 0 (batch_size)');if(B.dims.length===3){if(ee!==B.dims[1])throw new Error('Input "key" and "value" shall have the same dim 1 (kv_sequence_length)');Fe=B.dims[2]}else{if(ee!==B.dims[2])throw new Error('Input "past_key" and "past_value" shall have the same dim 2 (kv_sequence_length)');Fe=B.dims[1]*B.dims[3],Me=!0}}let We=n.length>4?n[5]:void 0;if(We&&We.dims.length!==1&&We.dims[0]!==P)throw new Error('Input "seqlens" is expected to have 1 dimension and the same dim 0 as batch_size');return{batchSize:P,sequenceLength:N,pastSequenceLength:Ae,kvSequenceLength:ee,totalSequenceLength:-1,maxSequenceLength:-1,inputHiddenSize:0,hiddenSize:L,vHiddenSize:Fe,headSize:le,vHeadSize:Math.floor(Fe/u.kvNumHeads),numHeads:u.numHeads,kvNumHeads:u.kvNumHeads,nReps:u.numHeads/u.kvNumHeads,pastPresentShareBuffer:!1,maskType:0,scale:u.scale,broadcastResPosBias:!1,passPastInKv:Me,qkvFormat:be}},tl=Ze({perm:[0,2,1,3]}),H0=(n,u,h)=>{let w=u,B=h.kvNumHeads;return u.dims.length===3&&h.kvSequenceLength!==0&&(w=u.reshape([h.batchSize,h.kvSequenceLength,B,h.headSize]),w=n.compute(Da(w,tl.perm),{inputs:[w],outputs:[-1]})[0]),w},rl=(n,u)=>{var be;let h=Al(n.inputs,u);if(n.inputs[0].dims.length===5)throw new Error("Packed QKV is not implemented");if(((be=n.inputs[1])==null?void 0:be.dims.length)===5)throw new Error("Packed KV is not implemented");let w=n.inputs[0],B=n.inputs[1]&&n.inputs[1].dims.length>0?n.inputs[1]:void 0,E=n.inputs[2]&&n.inputs[2].dims.length>0?n.inputs[2]:void 0,v=n.inputs[3]&&n.inputs[3].dims.length!==0?n.inputs[3]:void 0,P=n.inputs[4]&&n.inputs[4].dims.length!==0?n.inputs[4]:void 0,N=n.inputs.length>4?n.inputs[5]:void 0,L=n.inputs.length>5?n.inputs[6]:void 0,ee=h.kvNumHeads?h.kvNumHeads:h.numHeads,Ae=Ze({axis:2,numOutputs:3,splitSizes:[h.numHeads*h.headSize,ee*h.headSize,ee*h.headSize]}),[Q,le,de]=B||E?[w,B,E]:n.compute(eo([w],Ae),{inputs:[w],outputs:[-1,-1,-1]}),we=Y0(n,h.batchSize,h.numHeads,h.sequenceLength,h.headSize,Q,void 0,0);Is(n,we,H0(n,le,h),H0(n,de,h),void 0,void 0,v,P,void 0,h,N,L)}}),ZA=Pe(()=>{Mt(),St(),Ni(),Yt(),vo=(n,u,h,w,B,E,v,P)=>{let N=Zt(E),L=N===1?"f32":`vec${N}f`,ee=N===1?"vec2f":`mat2x${N}f`,Ae=B*v,Q=64;Ae===1&&(Q=256);let le=[B,v,E/N],de=[B,v,2],we=[];return we.push(..._A(le,de)),n.compute({name:"InstanceNormComputeChannelScaleShift",shaderCache:{hint:`${N};${P};${Q}`,inputDependencies:["rank","type","type"]},getRunData:()=>({outputs:[{dims:de,dataType:1}],dispatchGroup:{x:Ae},programUniforms:we}),getShaderSource:be=>{let Me=pA("x",u.dataType,3,N),Fe=[Me,pA("scale",h.dataType,h.dims),pA("bias",w.dataType,w.dims),$A("output",1,3,2)];return`
1750  var<workgroup> workgroup_shared : array<${ee}, ${Q}>;
1751  const workgroup_size = ${Q}u;
1752  ${be.declareVariables(...Fe)}
1753  ${be.mainStart(Q)}
1754    let batch = workgroup_index / uniforms.x_shape[1];
1755    let channel = workgroup_index % uniforms.x_shape[1];
1756    let hight = uniforms.x_shape[2];
1757    // initialize workgroup memory
1758    var sum = ${L}(0);
1759    var squared_sum = ${L}(0);
1760    for (var h = local_idx; h < hight; h += workgroup_size) {
1761      let value = ${L}(${Me.get("batch","channel","h")});
1762      sum += value;
1763      squared_sum += value * value;
1764    }
1765    workgroup_shared[local_idx] = ${ee}(sum, squared_sum);
1766    workgroupBarrier();
1767
1768    for (var currSize = workgroup_size >> 1;  currSize > 0; currSize = currSize >> 1) {
1769      if (local_idx < currSize) {
1770        workgroup_shared[local_idx] = workgroup_shared[local_idx] + workgroup_shared[local_idx + currSize];
1771      }
1772      workgroupBarrier();
1773    }
1774    if (local_idx == 0) {
1775      let sum_final = ${nr("workgroup_shared[0][0]",N)} / f32(hight * ${N});
1776      let squared_sum_final = ${nr("workgroup_shared[0][1]",N)} / f32(hight * ${N});
1777
1778      let inv_std_dev = inverseSqrt(squared_sum_final - sum_final * sum_final + f32(${P}));
1779      let channel_scale = inv_std_dev * f32(scale[channel]);
1780      let channel_shift = f32(bias[channel]) - sum_final * channel_scale;
1781      output[workgroup_index] = vec2f(channel_scale, channel_shift);
1782    }
1783  }`}},{inputs:[u,h,w],outputs:[-1]})[0]},al=(n,u,h)=>{let w=u[0].dims,B=w,E=w[0],v=w[1],P=Le.sizeFromDimension(w,2),N=Zt(P),L=Le.size(B)/N,ee=vo(n,u[0],u[1],u[2],E,P,v,h.epsilon),Ae=[E,v,P/N],Q=[E,v];n.compute({name:"InstanceNormalization",shaderCache:{hint:`${N}`,inputDependencies:["type","none"]},getRunData:()=>({outputs:[{dims:B,dataType:u[0].dataType}],dispatchGroup:{x:Math.ceil(L/64)},programUniforms:[{type:12,data:L},..._A(Ae,Q,Ae)]}),getShaderSource:le=>{let de=pA("x",u[0].dataType,Ae.length,N),we=pA("scale_shift",1,Q.length,2),be=$A("output",u[0].dataType,Ae.length,N),Me=[de,we,be];return`
1784  ${le.registerUniform("output_size","u32").declareVariables(...Me)}
1785  ${le.mainStart()}
1786  ${le.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.output_size")}
1787      let outputIndices = ${be.offsetToIndices("global_idx")};
1788      let batch = outputIndices[0];
1789      let channel = outputIndices[1];
1790      let scale_shift = ${we.getByIndices("vec2<u32>(batch, channel)")};
1791      let value = ${de.getByOffset("global_idx")} * ${be.type.value}(scale_shift.x) + ${be.type.value}(scale_shift.y);
1792      ${be.setByOffset("global_idx","value")};
1793  }`}},{inputs:[u[0],ee]})},R0=(n,u,h)=>{let w=u[0].dims,B=w,E=w[0],v=w[w.length-1],P=Le.sizeFromDimension(w,1)/v,N=Zt(v),L=Le.size(B)/N,ee=[{type:12,data:P},{type:12,data:Math.floor(v/N)}],Ae=!1,Q=[0,w.length-1];for(let we=0;we<w.length-2;we++)Ae=Ae||w[we+1]!==1,Q.push(we+1);Ae=Ae&&w[w.length-1]!==1;let le=Ae?n.compute(Da(n.inputs[0],Q),{inputs:[n.inputs[0]],outputs:[-1]})[0]:n.inputs[0].reshape(Array.from({length:w.length},(we,be)=>w[Q[be]])),de=vo(n,le,u[1],u[2],E,P,v,h.epsilon);n.compute({name:"InstanceNormalizationNHWC",shaderCache:{hint:`${N}`,inputDependencies:["type","type"]},getRunData:()=>({outputs:[{dims:B,dataType:u[0].dataType}],dispatchGroup:{x:Math.ceil(L/64)},programUniforms:ee}),getShaderSource:we=>{let be=zt(u[0].dataType),Me=N===1?"vec2f":`mat${N}x2f`,Fe=eA=>{let sA=eA===0?"x":"y",zA=N===1?"f32":`vec${N}f`;switch(N){case 1:return`${be}(${zA}(scale.${sA}))`;case 2:return`vec2<${be}>(${zA}(scale[0].${sA}, scale[1].${sA}))`;case 4:return`vec4<${be}>(${zA}(scale[0].${sA}, scale[1].${sA}, scale[2].${sA}, scale[3].${sA}))`;default:throw new Error(`Not supported compoents ${N}`)}},We=pA("input",u[0].dataType,u[0].dims,N),$e=$A("output",u[0].dataType,B,N);return`
1794  @group(0) @binding(0) var<storage, read> input : array<${We.type.storage}>;
1795  @group(0) @binding(1) var<storage, read> scale_input : array<${Me}>;
1796  @group(0) @binding(2) var<storage, read_write> output : array<${$e.type.storage}>;
1797  struct Uniforms {H: u32, C : u32};
1798  @group(0) @binding(3) var<uniform> uniforms: Uniforms;
1799
1800  ${we.mainStart()}
1801    let current_image_number = global_idx / (uniforms.C * uniforms.H);
1802    let current_channel_number = global_idx % uniforms.C;
1803
1804    let scale_offset = current_image_number * uniforms.C + current_channel_number;
1805    let scale = scale_input[scale_offset];
1806    output[global_idx] = fma(input[global_idx], ${Fe(0)}, ${Fe(1)});
1807  }`}},{inputs:[u[0],de]})},sl=(n,u)=>{u.format==="NHWC"?R0(n,n.inputs,u):al(n,n.inputs,u)}}),WA=Pe(()=>{Mt(),St(),Yt(),il=n=>{if(!n||n.length<2)throw new Error("layerNorm requires at least 2 inputs.")},nl=(n,u,h)=>{let w=u.simplified,B=n[0].dims,E=n[1],v=!w&&n[2],P=B,N=Le.normalizeAxis(u.axis,B.length),L=Le.sizeToDimension(B,N),ee=Le.sizeFromDimension(B,N),Ae=Le.size(E.dims),Q=v?Le.size(v.dims):0;if(Ae!==ee||v&&Q!==ee)throw new Error(`Size of X.shape()[axis:] == ${ee}.
1808       Size of scale and bias (if provided) must match this.
1809       Got scale size of ${Ae} and bias size of ${Q}`);let le=[];for(let $e=0;$e<B.length;++$e)$e<N?le.push(B[$e]):le.push(1);let de=Zt(ee),we=["type","type"],be=[{type:12,data:L},{type:1,data:ee},{type:12,data:Math.floor(ee/de)},{type:1,data:u.epsilon}];v&&we.push("type");let Me=h>1,Fe=h>2,We=[{dims:P,dataType:n[0].dataType}];return Me&&We.push({dims:le,dataType:1}),Fe&&We.push({dims:le,dataType:1}),{name:"LayerNormalization",shaderCache:{hint:`${de};${h};${w}`,inputDependencies:we},getRunData:()=>({outputs:We,dispatchGroup:{x:Math.ceil(L/64)},programUniforms:be}),getShaderSource:$e=>{let eA=zt(n[0].dataType),sA=[pA("x",n[0].dataType,n[0].dims,de),pA("scale",E.dataType,E.dims,de)];return v&&sA.push(pA("bias",v.dataType,v.dims,de)),sA.push($A("output",n[0].dataType,P,de)),Me&&sA.push($A("mean_data_output",1,le)),Fe&&sA.push($A("inv_std_output",1,le)),`
1810  ${$e.registerUniforms([{name:"norm_count",type:"u32"},{name:"norm_size",type:"f32"},{name:"norm_size_vectorized",type:"u32"},{name:"epsilon",type:"f32"}]).declareVariables(...sA)}
1811  ${$e.mainStart()}
1812    ${$e.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.norm_count")}
1813    let offset = global_idx * uniforms.norm_size_vectorized;
1814    var mean_vector = ${xa("f32",de)};
1815    var mean_square_vector = ${xa("f32",de)};
1816
1817    for (var h: u32 = 0u; h < uniforms.norm_size_vectorized; h++) {
1818      let value = ${pa(eA,de,"x[h + offset]")};
1819      mean_vector += value;
1820      mean_square_vector += value * value;
1821    }
1822    let mean = ${nr("mean_vector",de)} / uniforms.norm_size;
1823    let inv_std_dev = inverseSqrt(${nr("mean_square_vector",de)} / uniforms.norm_size ${w?"":"- mean * mean"} + uniforms.epsilon);
1824
1825    for (var j: u32 = 0; j < uniforms.norm_size_vectorized; j++) {
1826      let f32input = ${pa(eA,de,"x[j + offset]")};
1827      let f32scale = ${pa(eA,de,"scale[j]")};
1828      output[j + offset] = ${sA[0].type.value}((f32input ${w?"":"- mean"}) * inv_std_dev * f32scale
1829        ${v?`+ ${pa(eA,de,"bias[j]")}`:""}
1830      );
1831    }
1832
1833    ${Me?"mean_data_output[global_idx] = mean":""};
1834    ${Fe?"inv_std_output[global_idx] = inv_std_dev":""};
1835  }`}}},ol=(n,u)=>{il(n.inputs),n.compute(nl(n.inputs,u,n.outputCount))}}),rt=Pe(()=>{St(),n2(),o2(),Ao=n=>{if(!n||n.length!==2)throw new Error("MatMul requires 2 inputs.");if(n[0].dims[n[0].dims.length-1]!==n[1].dims[n[1].dims.length-2])throw new Error("shared dimension does not match.")},ll=n=>{Ao(n.inputs);let u=PA.calcShape(n.inputs[0].dims,n.inputs[1].dims,!0);if(!u)throw new Error("Can't use matmul on the given tensors");let h=u[u.length-1],w=n.inputs[0].dims[n.inputs[0].dims.length-1];if(h<8&&w<8)n.compute(Pi(n.inputs,{activation:""},u));else{let B=u[u.length-2],E=Le.size(n.inputs[0].dims.slice(0,-2)),v=Le.size(n.inputs[1].dims.slice(0,-2));if(E!==1&&B===1&&v===1){let P=[1,E,h],N=[n.inputs[0].reshape([1,E,w]),n.inputs[1].reshape([1,w,h])];n.compute(A(N,{activation:""},u,P),{inputs:N})}else n.compute(A(n.inputs,{activation:""},u))}}}),dt=Pe(()=>{Mt(),St(),Zr(),Yt(),cl=(n,u)=>{if(n.length<3||n.length>4)throw new Error("MatMulNBits requires 3 or 4 inputs");let h=n[0],w=h.dims.length;if(h.dims[w-1]!==u.k)throw new Error("The last dim of input shape does not match the k value");let B=Math.floor((u.k+u.blockSize-1)/u.blockSize),E=u.blockSize/8*u.bits,v=n[1];if(!Le.areEqual(v.dims,[u.n,B,E]))throw new Error("The second inputs must be 3D tensor with shape N X nBlocksPerCol X blobSize");let P=n[2].dims;if(Le.size(P)!==u.n*B)throw new Error("scales input size error.");if(n.length===4){let N=n[3].dims,L=u.bits>4?u.n*B:u.n*Math.floor((B+1)/2);if(Le.size(N)!==L)throw new Error("zeroPoints input size error.")}},gl=(n,u)=>{let h=n[0].dims,w=h.length,B=h[w-2],E=u.k,v=u.n,P=h.slice(0,w-2),N=Le.size(P),L=n[1].dims[2]/4,ee=n[0].dataType,Ae=Zt(u.k),Q=Zt(L),le=Zt(v),de=P.concat([B,v]),we=B>1&&v/le%2==0?2:1,be=Le.size(de)/le/we,Me=64,Fe=[],We=[N,B,E/Ae],$e=Le.convertShape(n[1].dims).slice();$e.splice(-1,1,L/Q),Fe.push(..._A(We)),Fe.push(..._A($e)),Fe.push(..._A(n[2].dims)),n.length===4&&Fe.push(..._A(Le.convertShape(n[3].dims)));let eA=[N,B,v/le];return Fe.push(..._A(eA)),{name:"MatMulNBits",shaderCache:{hint:`${u.blockSize};${u.bits};${Ae};${Q};${le};${we};64`,inputDependencies:Array(n.length).fill("rank")},getRunData:()=>({outputs:[{dims:de,dataType:ee}],dispatchGroup:{x:be},programUniforms:Fe}),getShaderSource:sA=>{let zA=We.length,jA=pA("a",n[0].dataType,zA,Ae),ht=pA("b",12,$e.length,Q),mt=pA("scales",n[2].dataType,n[2].dims.length),Jt=[jA,ht,mt],Ct=n.length===4?pA("zero_points",12,n[3].dims.length):void 0;Ct&&Jt.push(Ct);let Pt=eA.length,Qt=$A("output",n[0].dataType,Pt,le),nA=zt(n[0].dataType),gt=(()=>{switch(Ae){case 1:return`array<${nA}, 8>`;case 2:return`mat4x2<${nA}>`;case 4:return`mat2x4<${nA}>`;default:throw new Error(`${Ae}-component is not supported.`)}})();return`
1836        var<workgroup> workgroup_shared: array<${Qt.type.value}, ${we*Me}>;
1837        ${sA.declareVariables(...Jt,Qt)}
1838        ${sA.mainStart([Me,1,1])}
1839          let output_indices = ${Qt.offsetToIndices(`(global_idx / 64) * ${we}`)};
1840          let col = output_indices[2];
1841          let row = output_indices[1];
1842          let batch = output_indices[0];
1843          let nBlocksPerCol = uniforms.b_shape[1];
1844
1845          for (var block = local_id.x; block < nBlocksPerCol; block += 64) {
1846            //process one block
1847            var word_offset: u32 = block * ${u.blockSize/Ae};
1848            ${(()=>{let st=`
1849            var col_index = col * ${le};
1850            ${Ct?`
1851            let zero_point_bytes_per_col = (nBlocksPerCol + 1) / 2;
1852            var zero_point_byte_count: u32;
1853            var zero_point_word_index: u32;
1854            var zero_point_byte_offset: u32;
1855            let zero_point_nibble_offset: u32 = block & 0x1u;
1856            var zero_point_bits_offset: u32;
1857            var zero_point_word: u32;`:`
1858            // The default zero point is 8 for unsigned 4-bit quantization.
1859            let zero_point = ${nA}(8);`}
1860            `;for(let ot=0;ot<le*we;ot++)st+=`
1861            let scale${ot} = ${mt.getByOffset("col_index * nBlocksPerCol + block")};
1862            ${Ct?`
1863            zero_point_byte_count = col_index * zero_point_bytes_per_col + (block >> 0x1u);
1864            zero_point_word_index = zero_point_byte_count >> 0x2u;
1865            zero_point_byte_offset = zero_point_byte_count & 0x3u;
1866            zero_point_bits_offset = (zero_point_byte_offset << 3) + (zero_point_nibble_offset << 2);
1867            zero_point_word = ${Ct.getByOffset("zero_point_word_index")} >> zero_point_bits_offset;
1868            let zero_point${ot} = ${nA}((zero_point_word) & 0xFu);`:""}
1869            col_index += 1;`;return st})()}
1870            for (var word: u32 = 0; word < ${L}; word += ${Q}) {
1871              ${(()=>{let st=`col_index = col * ${le};`;for(let ot=0;ot<le*we;ot++)st+=`
1872            let b${ot}_data = ${ht.getByIndices(`${ht.type.indices}(col_index, block, word)`)};
1873            col_index += 1;`;return st+=`
1874            var b_value: u32;
1875            let b_mask: u32 = 0x0F0F0F0Fu;
1876            var b_value_lower: vec4<u32>;
1877            var b_value_upper: vec4<u32>;
1878            var b_quantized_values: ${gt};
1879            var b_dequantized_values: ${gt};`,st})()}
1880              for (var i: u32 = 0; i < ${Q}; i++) {
1881                ${(()=>{let st=`
1882          // reuse a data
1883            var input_offset = ${jA.indicesToOffset(`${jA.type.indices}(batch, row, word_offset)`)};
1884            var a_data: ${gt};
1885            for (var j: u32 = 0; j < ${8/Ae}; j++) {
1886              a_data[j] = ${jA.getByOffset("input_offset")};
1887              input_offset++;
1888            }
1889          `;for(let ot=0;ot<le*we;ot++)st+=`
1890            b_value = ${Q===1?`b${ot}_data`:`b${ot}_data[i]`};
1891            b_value_lower = unpack4xU8(b_value & b_mask);
1892            b_value_upper = unpack4xU8((b_value >> 4) & b_mask);
1893            b_quantized_values = ${gt}(${Array.from({length:4},(ir,ua)=>`${nA}(b_value_lower[${ua}]), ${nA}(b_value_upper[${ua}])`).join(", ")});
1894            b_dequantized_values = ${Ae===1?`${gt}(${Array.from({length:8},(ir,ua)=>`(b_quantized_values[${ua}] - ${Ct?`zero_point${ot}`:"zero_point"}) * scale${ot}`).join(", ")});`:`(b_quantized_values - ${gt}(${Array(8).fill(Ct?`zero_point${ot}`:"zero_point").join(",")})) * scale${ot};`};
1895            workgroup_shared[local_id.x * ${we} + ${Math.floor(ot/le)}]${le>1?`[${ot%le}]`:""} += ${Array.from({length:8/Ae},(ir,ua)=>Ae===1?`a_data[${ua}] * b_dequantized_values[${ua}]`:`dot(a_data[${ua}], b_dequantized_values[${ua}])`).join(" + ")};
1896          `;return st})()}
1897                word_offset += ${8/Ae};
1898              }
1899            }
1900          }
1901          workgroupBarrier();
1902
1903          if (local_id.x < ${we}) {
1904            var output_value: ${Qt.type.value} = ${Qt.type.value}(0);
1905            var workgroup_shared_offset: u32 = local_id.x;
1906            for (var b: u32 = 0u; b < 64u; b++) {
1907              output_value += workgroup_shared[workgroup_shared_offset];
1908              workgroup_shared_offset += ${we};
1909            }
1910            ${Qt.setByIndices(`${Qt.type.indices}(batch, row, col + local_id.x)`,"output_value")};
1911          }
1912        }`}}},Q1=(n,u)=>{let h=n[0].dims,w=h.length,B=h[w-2],E=u.k,v=u.n,P=h.slice(0,w-2),N=Le.size(P),L=n[1].dims[2]/4,ee=n[0].dataType,Ae=Zt(u.k),Q=Zt(L),le=P.concat([B,v]),de=v%8==0?8:v%4==0?4:1,we=128/de,be=we*Q*8,Me=be/Ae,Fe=be/u.blockSize,We=Le.size(le)/de,$e=[],eA=[N,B,E/Ae],sA=Le.convertShape(n[1].dims).slice();sA.splice(-1,1,L/Q),$e.push(..._A(eA)),$e.push(..._A(sA)),$e.push(..._A(n[2].dims)),n.length===4&&$e.push(..._A(Le.convertShape(n[3].dims)));let zA=[N,B,v];return $e.push(..._A(zA)),{name:"BlockwiseMatMulNBits32",shaderCache:{hint:`${u.blockSize};${Ae};${Q};${we};${de}`,inputDependencies:Array(n.length).fill("rank")},getRunData:()=>({outputs:[{dims:le,dataType:ee}],dispatchGroup:{x:We},programUniforms:$e}),getShaderSource:jA=>{let ht=eA.length,mt=pA("a",n[0].dataType,ht,Ae),Jt=pA("b",12,sA.length,Q),Ct=pA("scales",n[2].dataType,n[2].dims.length),Pt=[mt,Jt,Ct],Qt=n.length===4?pA("zero_points",12,n[3].dims.length):void 0;Qt&&Pt.push(Qt);let nA=zA.length,gt=$A("output",n[0].dataType,nA),st=zt(n[0].dataType);return`
1913        var<workgroup> sub_a: array<${mt.type.value}, ${Me}>;
1914        var<workgroup> inter_results: array<array<${gt.type.value}, ${we}>, ${de}>;
1915        ${jA.declareVariables(...Pt,gt)}
1916        ${jA.mainStart([we,de,1])}
1917          let output_indices = ${gt.offsetToIndices(`workgroup_index * ${de}`)};
1918          let col = output_indices[2];
1919          let row = output_indices[1];
1920          let batch = output_indices[0];
1921          let n_blocks_per_col = uniforms.b_shape[1];
1922          let num_tiles =  (n_blocks_per_col - 1) / ${Fe} + 1;
1923
1924          // Loop over shared dimension.
1925          for (var tile: u32 = 0; tile < num_tiles; tile += 1) {
1926            let a_col_start = tile * ${Me};
1927            // load one tile A data into shared memory.
1928            for (var a_offset = local_idx; a_offset < ${Me}; a_offset += 128)
1929            {
1930              let a_col = a_col_start + a_offset;
1931              if (a_col < uniforms.a_shape[2])
1932              {
1933                sub_a[a_offset] = ${mt.getByIndices(`${mt.type.indices}(batch, row, a_col)`)};
1934              } else {
1935                sub_a[a_offset] = ${mt.type.value}(0);
1936              }
1937            }
1938            workgroupBarrier();
1939
1940            // each thread process one block
1941            let b_row = col + local_id.y;
1942            let block = tile * ${Fe} + local_id.x;
1943            ${Qt?`
1944            let zero_point_bytes_per_col = (n_blocks_per_col + 1) / 2;
1945            let zero_point_byte_count = b_row * zero_point_bytes_per_col + (block >> 0x1u);
1946            let zero_point_word_index = zero_point_byte_count >> 0x2u;
1947            let zero_point_byte_offset = zero_point_byte_count & 0x3u;
1948            let zero_point_nibble_offset: u32 = block & 0x1u;
1949            let zero_point_bits_offset = (zero_point_byte_offset << 3) + (zero_point_nibble_offset << 2);
1950            let zero_point_word = ${Qt.getByOffset("zero_point_word_index")} >> zero_point_bits_offset;
1951            let zero_point = ${st}((zero_point_word) & 0xFu);`:`
1952            // The default zero point is 8 for unsigned 4-bit quantization.
1953            let zero_point = ${st}(8);`}
1954            let scale = ${Ct.getByOffset("b_row * n_blocks_per_col + block")};
1955            let b_data = ${Jt.getByIndices(`${Jt.type.indices}(b_row, block, 0)`)};
1956            var word_offset = local_id.x * ${u.blockSize/Ae};
1957            for (var i: u32 = 0; i < ${Q}; i++) {
1958              ${(()=>{switch(Ae){case 1:return`
1959          let a_data0 = vec4<${st}>(sub_a[word_offset], sub_a[word_offset + 1], sub_a[word_offset + 2], sub_a[word_offset + 3]);
1960          let a_data1 = vec4<${st}>(sub_a[word_offset + 4], sub_a[word_offset + 5], sub_a[word_offset + 6], sub_a[word_offset + 7]);`;case 2:return`
1961          let a_data0 = vec4<${st}>(sub_a[word_offset], sub_a[word_offset + 1]);
1962          let a_data1 = vec4<${st}>(sub_a[word_offset + 2], sub_a[word_offset + 3]);`;case 4:return`
1963          let a_data0 = sub_a[word_offset];
1964          let a_data1 = sub_a[word_offset + 1];`;default:throw new Error(`${Ae}-component is not supported.`)}})()}
1965              let b_value = ${Q===1?"b_data":"b_data[i]"};
1966              let b_value_lower = unpack4xU8(b_value & 0x0F0F0F0Fu);
1967              let b_value_upper = unpack4xU8((b_value >> 4) & 0x0F0F0F0Fu);
1968              let b_quantized_values = mat2x4<${st}>(${Array.from({length:4},(ot,ir)=>`${st}(b_value_lower[${ir}]), ${st}(b_value_upper[${ir}])`).join(", ")});
1969              let b_dequantized_values = (b_quantized_values - mat2x4<${st}>(${Array(8).fill("zero_point").join(",")})) * scale;
1970              inter_results[local_id.y][local_id.x] += ${Array.from({length:2},(ot,ir)=>`dot(a_data${ir}, b_dequantized_values[${ir}])`).join(" + ")};
1971              word_offset += ${8/Ae};
1972            }
1973            workgroupBarrier();
1974          }
1975
1976          if (local_idx < ${de}) {
1977            var output_value: ${gt.type.value} = ${gt.type.value}(0);
1978            for (var b = 0u; b < ${we}; b++) {
1979              output_value += inter_results[local_idx][b];
1980            }
1981            if (col + local_idx < uniforms.output_shape[2])
1982            {
1983              ${gt.setByIndices(`${gt.type.indices}(batch, row, col + local_idx)`,"output_value")}
1984            }
1985          }
1986        }`}}},ul=(n,u)=>{cl(n.inputs,u),u.blockSize===32&&n.adapterInfo.isVendor("intel")&&n.adapterInfo.isArchitecture("gen-12lp")?n.compute(Q1(n.inputs,u)):n.compute(gl(n.inputs,u))},dl=n=>Ze(n)}),Gt=Pe(()=>{Mt(),St(),Yt(),fl=n=>{if(!n||n.length<1)throw new Error("Too few inputs");if(n[0].dataType!==1&&n[0].dataType!==10)throw new Error("Input type must be float or float16.");if(n.length>=2){let u=2*n[0].dims.length===n[1].dims[0];if(n.length===4&&(u=2*n[3].dims[0]===n[1].dims[0]),!u)throw new Error("The pads should be a 1D tensor of shape [2 * input_rank] or [2 * num_axes].")}},$n=(n,u,h)=>{let w="";for(let B=u-1;B>=0;--B)w+=`
1987            k = i32(${n.indicesGet("indices",B)}) - ${nt("uniforms.pads",B,h)};
1988            if (k < 0) {
1989              break;
1990            }
1991            if (k >= i32(${nt("uniforms.x_shape",B,u)})) {
1992              break;
1993            }
1994            offset += k * i32(${nt("uniforms.x_strides",B,u)});
1995        `;return`
1996          value = ${n.type.value}(uniforms.constant_value);
1997          for (var i = 0; i < 1; i++) {
1998            var offset = 0;
1999            var k = 0;
2000            ${w}
2001            value = x[offset];
2002          }
2003      `},pl=(n,u,h)=>{let w="";for(let B=u-1;B>=0;--B)w+=`
2004                k = i32(${n.indicesGet("indices",B)}) - ${nt("uniforms.pads",B,h)};
2005                if (k < 0) {
2006                  k = -k;
2007                }
2008                {
2009                  let _2n_1 = 2 * (i32(${nt("uniforms.x_shape",B,u)}) - 1);
2010                  k = k % _2n_1;
2011                  if(k >= i32(${nt("uniforms.x_shape",B,u)})) {
2012                    k = _2n_1 - k;
2013                  }
2014                }
2015                offset += k * i32(${nt("uniforms.x_strides",B,u)});
2016            `;return`
2017              var offset = 0;
2018              var k = 0;
2019              ${w}
2020              value = x[offset];
2021          `},hl=(n,u,h)=>{let w="";for(let B=u-1;B>=0;--B)w+=`
2022                k = i32(${n.indicesGet("indices",B)}) - ${nt("uniforms.pads",B,h)};
2023                if (k < 0) {
2024                  k = 0;
2025                }
2026                if (k >= i32(${nt("uniforms.x_shape",B,u)})) {
2027                  k = i32(${nt("uniforms.x_shape",B,u)}) - 1;
2028                }
2029                offset += k * i32(${nt("uniforms.x_strides",B,u)});
2030            `;return`
2031              var offset = 0;
2032              var k = 0;
2033              ${w}
2034              value = x[offset];
2035          `},ml=(n,u,h)=>{let w="";for(let B=u-1;B>=0;--B)w+=`
2036                k = i32(${n.indicesGet("indices",B)}) - ${nt("uniforms.pads",B,h)};
2037                if (k < 0)  {
2038                  k += i32(${nt("uniforms.x_shape",B,u)}]);
2039                }
2040                if (k >= i32(${nt("uniforms.x_shape",B,u)})) {
2041                  k -= i32(${nt("uniforms.x_shape",B,u)});
2042                }
2043                offset += k * i32(${nt("uniforms.x_strides",B,u)});
2044            `;return`
2045              var offset = 0;
2046              var k = 0;
2047              ${w}
2048              value = x[offset];
2049          `},Cl=(n,u,h)=>{switch(h.mode){case 0:return $n(n,u,h.pads.length);case 1:return pl(n,u,h.pads.length);case 2:return hl(n,u,h.pads.length);case 3:return ml(n,u,h.pads.length);default:throw new Error("Invalid mode")}},bl=(n,u)=>{let h=Le.padShape(n[0].dims.slice(),u.pads),w=n[0].dims,B=[{type:12,data:Le.size(h)},{type:6,data:u.pads}],E=n.length>=3&&n[2].data;return u.mode===0&&B.push({type:E?n[2].dataType:1,data:u.value}),B.push(..._A(n[0].dims,h)),{name:"Pad",shaderCache:{hint:`${u.mode}${E}`,inputDependencies:["rank"]},getRunData:()=>({outputs:[{dims:h,dataType:n[0].dataType}],dispatchGroup:{x:Math.ceil(Le.size(h)/64)},programUniforms:B}),getShaderSource:v=>{let P=$A("output",n[0].dataType,h.length),N=pA("x",n[0].dataType,w.length),L=N.type.value,ee=Cl(P,w.length,u),Ae=[{name:"output_size",type:"u32"},{name:"pads",type:"i32",length:u.pads.length}];return u.mode===0&&Ae.push({name:"constant_value",type:E?L:"f32"}),`
2050            ${v.registerUniforms(Ae).declareVariables(N,P)}
2051            ${v.mainStart()}
2052            ${v.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.output_size")}
2053
2054            let indices = ${P.offsetToIndices("global_idx")};
2055
2056            var value = ${L}(0);
2057            ${ee}
2058            output[global_idx] = value;
2059        }`}}},Il=(n,u)=>{if(n.length>1){let h=n[1].getBigInt64Array(),w=n.length>=3&&n[2].data?n[2].dataType===10?n[2].getUint16Array()[0]:n[2].getFloat32Array()[0]:0,B=n[0].dims.length,E=new Int32Array(2*B).fill(0);if(n.length>=4){let P=n[3].getBigInt64Array();for(let N=0;N<P.length;N++)E[Number(P[N])]=Number(h[N]),E[Number(P[N])+B]=Number(h[N+P.length])}else h.forEach((P,N)=>E[Number(N)]=Number(P));let v=[];return E.forEach(P=>v.push(P)),{mode:u.mode,value:w,pads:v}}return u},wl=(n,u)=>{fl(n.inputs);let h=Il(n.inputs,u);n.compute(bl(n.inputs,h),{inputs:[0]})}}),or=Pe(()=>{dA(),Mt(),St(),Yt(),an=n=>{if(Z.webgpu.validateInputContent&&(!n||n.length!==1))throw new Error("Pool ops requires 1 input.")},kl=(n,u,h)=>{let w=u.format==="NHWC",B=n.dims.slice();w&&B.splice(1,0,B.pop());let E=Object.hasOwnProperty.call(u,"dilations"),v=u.kernelShape.slice(),P=u.strides.slice(),N=E?u.dilations.slice():[],L=u.pads.slice();YA.adjustPoolAttributes(h,B,v,P,N,L);let ee=YA.computePoolOutputShape(h,B,P,N,v,L,u.autoPad),Ae=Object.assign({},u);E?Object.assign(Ae,{kernelShape:v,strides:P,pads:L,dilations:N,cacheKey:u.cacheKey}):Object.assign(Ae,{kernelShape:v,strides:P,pads:L,cacheKey:u.cacheKey});let Q=ee.slice();return Q.push(Q.splice(1,1)[0]),[Ae,w?Q:ee]},yo=(n,u)=>{let h=u.format==="NHWC",w=[{type:12,data:Le.size(n)},{type:12,data:Le.size(u.kernelShape)}],B=[{name:"outputSize",type:"u32"},{name:"kernelSize",type:"u32"}];if(u.kernelShape.length<=2){let E=u.kernelShape[u.kernelShape.length-1],v=u.strides[u.strides.length-1],P=u.pads[u.pads.length/2-1],N=u.pads[u.pads.length-1],L=!!(P+N);w.push({type:12,data:E},{type:12,data:v},{type:12,data:P},{type:12,data:N}),B.push({name:"kw",type:"u32"},{name:"sw",type:"u32"},{name:"pwStart",type:"u32"},{name:"pwEnd",type:"u32"});let ee=!1;if(u.kernelShape.length===2){let Ae=u.kernelShape[u.kernelShape.length-2],Q=u.strides[u.strides.length-2],le=u.pads[u.pads.length/2-2],de=u.pads[u.pads.length-2];ee=!!(le+de),w.push({type:12,data:Ae},{type:12,data:Q},{type:12,data:le},{type:12,data:de}),B.push({name:"kh",type:"u32"},{name:"sh",type:"u32"},{name:"phStart",type:"u32"},{name:"phEnd",type:"u32"})}return[w,B,!0,L,ee]}{if(h)throw new Error("Pooling with kernelShape.length > 2 is not supported for NHWC format.");let E=Le.computeStrides(u.kernelShape);w.push({type:12,data:E},{type:12,data:u.pads},{type:12,data:u.strides}),B.push({name:"kernelStrides",type:"u32",length:E.length},{name:"pads",type:"u32",length:u.pads.length},{name:"strides",type:"u32",length:u.strides.length});let v=u.pads.reduce((P,N)=>P+N);return[w,B,!!v,!1,!1]}},Eo=(n,u,h,w,B,E,v,P,N,L,ee,Ae)=>{let Q=B.format==="NHWC",le=u.type.value,de=$A("output",u.type.tensor,w);if(B.kernelShape.length<=2){let we="",be="",Me="",Fe=h-(Q?2:1);if(we=ee?`
2060                for (var i: u32 = 0u; i < uniforms.kw; i++) {
2061                  xIndices[${Fe}] = indices[${Fe}] * uniforms.sw - uniforms.pwStart + i;
2062                  if (xIndices[${Fe}] < 0 || xIndices[${Fe}]
2063                      >= uniforms.x_shape[${Fe}]) {
2064                    pad++;
2065                    continue;
2066                  }
2067                  let x_val = x[${u.indicesToOffset("xIndices")}];
2068                  ${E}
2069                }`:`
2070                for (var i: u32 = 0u; i < uniforms.kw; i++) {
2071                  xIndices[${Fe}] = indices[${Fe}] * uniforms.sw - uniforms.pwStart + i;
2072                  let x_val = x[${u.indicesToOffset("xIndices")}];
2073                  ${E}
2074                }`,B.kernelShape.length===2){let We=h-(Q?3:2);be=Ae?`
2075                for (var j: u32 = 0u; j < uniforms.kh; j++) {
2076                  xIndices[${We}] = indices[${We}] * uniforms.sh - uniforms.phStart + j;
2077                  if (xIndices[${We}] < 0 || xIndices[${We}] >= uniforms.x_shape[${We}]) {
2078                    pad += i32(uniforms.kw);
2079                    continue;
2080                  }
2081              `:`
2082                for (var j: u32 = 0u; j < uniforms.kh; j++) {
2083                  xIndices[${We}] = indices[${We}] * uniforms.sh - uniforms.phStart + j;
2084                `,Me=`
2085              }
2086            `}return`
2087            ${n.registerUniforms(N).declareVariables(u,de)}
2088
2089            ${n.mainStart()}
2090              ${n.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.outputSize")}
2091
2092              let indices = ${de.offsetToIndices("global_idx")};
2093              var xIndices = ${de.offsetToIndices("global_idx")};
2094
2095              var value = ${le}(${P});
2096              var pad = 0;
2097              ${be}
2098              ${we}
2099              ${Me}
2100              ${v}
2101
2102              output[global_idx] = value;
2103            }`}{if(Q)throw new Error("Pooling with kernelShape.length > 2 is not supported for NHWC format.");let we=B.kernelShape.length,be=B.pads.length,Me="";return Me=L?`
2104                if (xIndices[j] >= uniforms.x_shape[j]) {
2105                  pad++;
2106                  isPad = true;
2107                  break;
2108                }
2109              }
2110              if (!isPad) {
2111                let x_val = x[${u.indicesToOffset("xIndices")}];
2112                ${E}
2113              }`:`
2114              }
2115              let x_val = x[${u.indicesToOffset("xIndices")}];
2116              ${E}
2117            `,`
2118            ${n.registerUniforms(N).declareVariables(u,de)}
2119
2120            ${n.mainStart()}
2121              ${n.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.outputSize")}
2122              let indices = ${de.offsetToIndices("global_idx")};
2123              var xIndices = ${de.offsetToIndices("global_idx")};
2124
2125              var offsets: array<u32, ${we}>;
2126
2127              var value = ${le}(${P});
2128              var pad = 0;
2129              var isPad = false;
2130
2131              for (var i: u32 = 0u; i < uniforms.kernelSize; i++) {
2132                var offset = i;
2133                for (var j = 0u; j < ${we-1}u; j++) {
2134                  offsets[j] = offset / ${nt("uniforms.kernelStrides","j",we)};
2135                  offset -= offsets[j] * ${nt("uniforms.kernelStrides","j",we)};
2136                }
2137                offsets[${we-1}] = offset;
2138
2139                isPad = false;
2140                for (var j = ${h-we}u; j < ${h}u; j++) {
2141                  xIndices[j] = indices[j] * ${nt("uniforms.strides",`j - ${h-we}u`,we)}
2142                    + offsets[j - ${h-we}u] - ${nt("uniforms.pads","j - 2u",be)};
2143                  ${Me}
2144              }
2145              ${v}
2146
2147              output[global_idx] = value;
2148            }`}},Mo=n=>`${n.format};${n.ceilMode};${n.autoPad};${n.kernelShape.length}`,xl=n=>`${Mo(n)};${n.countIncludePad}`,Bl=n=>`${Mo(n)};${n.storageOrder};${n.dilations}`,to=n=>({format:n.format,autoPad:["NOTSET","VALID","SAME_UPPER","SAME_LOWER"][n.auto_pad],ceilMode:n.ceil_mode,kernelShape:n.kernel_shape,strides:n.strides,pads:n.pads}),Go=(n,u,h,w)=>{let[B,E]=kl(u,w,h),v=pA("x",u.dataType,u.dims.length),P=v.type.value,N="";B.countIncludePad?N+=`value /= ${P}(uniforms.kernelSize);`:N+=`value /= ${P}(i32(uniforms.kernelSize) - pad);`;let[L,ee,Ae,Q,le]=yo(E,B);return L.push(..._A(u.dims,E)),{name:n,shaderCache:{hint:`${w.cacheKey};${Ae};${Q};${le}`,inputDependencies:["rank"]},getRunData:()=>({outputs:[{dims:E,dataType:u.dataType}],dispatchGroup:{x:Math.ceil(Le.size(E)/64)},programUniforms:L}),getShaderSource:de=>Eo(de,v,u.dims.length,E.length,B,"value += x_val;",N,0,ee,Ae,Q,le)}},vl=n=>{let u=n.count_include_pad!==0,h=to(n);if(h.ceilMode!==0)throw new Error("using ceil() in shape computation is not yet supported for AveragePool");let w={countIncludePad:u,...h,cacheKey:""};return{...w,cacheKey:xl(w)}},Do=(n,u)=>{an(n.inputs),n.compute(Go("AveragePool",n.inputs[0],!1,u))},Qo={autoPad:"",ceilMode:0,countIncludePad:!1,kernelShape:[],strides:[],pads:[],storageOrder:0,dilations:[]},yl=n=>{let u=n.format;return{format:u,...Qo,cacheKey:u}},To=(n,u)=>{an(n.inputs),n.compute(Go("GlobalAveragePool",n.inputs[0],!0,u))},Po=(n,u,h,w)=>{let[B,E]=kl(u,w,h),v=pA("x",u.dataType,u.dims.length),[P,N,L,ee,Ae]=yo(E,B);return P.push(..._A(u.dims,E)),{name:n,shaderCache:{hint:`${w.cacheKey};${L};${ee};${Ae}`,inputDependencies:["rank"]},getRunData:()=>({outputs:[{dims:E,dataType:u.dataType}],dispatchGroup:{x:Math.ceil(Le.size(E)/64)},programUniforms:P}),getShaderSource:Q=>Eo(Q,v,u.dims.length,E.length,B,`
2149      value = max(x_val, value);
2150    `,"",u.dataType===10?-65504:-1e5,N,L,ee,Ae)}},El=(n,u)=>{an(n.inputs),n.compute(Po("MaxPool",n.inputs[0],!1,u))},ro=n=>{let u=n.storage_order,h=n.dilations,w=to(n);if(u!==0)throw new Error("column major storage order is not yet supported for MaxPool");if(w.ceilMode!==0)throw new Error("using ceil() in shape computation is not yet supported for MaxPool");let B={storageOrder:u,dilations:h,...w,cacheKey:""};return{...B,cacheKey:Bl(B)}},Ml=n=>{let u=n.format;return{format:u,...Qo,cacheKey:u}},Gl=(n,u)=>{an(n.inputs),n.compute(Po("GlobalMaxPool",n.inputs[0],!0,u))}}),Tt=Pe(()=>{Mt(),St(),Zr(),Yt(),Dl=(n,u)=>{if(n.length<2||n.length>3)throw new Error("DequantizeLinear requires 2 or 3 inputs.");if(n.length===3&&n[1].dims===n[2].dims)throw new Error("x-scale and x-zero-point must have the same shape.");if(n.length===3&&n[0].dataType!==n[2].dataType)throw new Error("x and x-zero-point must have the same data type.");if(n[0].dataType===6&&n.length>2)throw new Error("In the case of dequantizing int32 there is no zero point.");if(n[1].dims.length!==0&&n[1].dims.length!==1&&n[1].dims.length!==n[0].dims.length)throw new Error("scale input must be a scalar, a 1D tensor, or have the same rank as the input tensor.");if(n.length>2){if(n[0].dataType!==n[2].dataType)throw new Error("x and x-zero-point must have the same data type.");if(n[1].dims.length!==n[2].dims.length)throw new Error("scale and zero-point inputs must have the same rank.");if(!n[1].dims.map((h,w)=>h===n[2].dims[w]).reduce((h,w)=>h&&w,!0))throw new Error("scale and zero-point inputs must have the same shape.")}if(u.blockSize>0){if(n[1].dims.length===0||n[1].dims.length===1&&n[1].dims[0]===1)throw new Error("blockSize must be set only for block quantization.");if(!n[1].dims.map((B,E)=>E===u.axis||B===n[0].dims[E]).reduce((B,E)=>B&&E,!0))throw new Error("For block qunatization, scale input shape to match the input shape except for the axis");if(n[1].dims.length!==n[0].dims.length)throw new Error("For block qunatization the scale input rank must be the same as the x rank.");let h=n[0].dims[u.axis],w=n[1].dims[u.axis];if(u.blockSize<Math.ceil(h/w)||u.blockSize>Math.ceil(h/(w-1)-1))throw new Error("blockSize must be with in the range [ceil(dI / Si), ceil(dI / (Si - 1) - 1)].")}},Ql=(n,u)=>{let h=Le.normalizeAxis(u.axis,n[0].dims.length),w=n[0].dataType,B=w===3,E=n[0].dims,v=n[1].dataType,P=Le.size(E),N=w===3||w===2,L=N?[Math.ceil(Le.size(n[0].dims)/4)]:n[0].dims,ee=n[1].dims,Ae=n.length>2?n[2]:void 0,Q=Ae?N?[Math.ceil(Le.size(Ae.dims)/4)]:Ae.dims:void 0,le=ee.length===0||ee.length===1&&ee[0]===1,de=le===!1&&ee.length===1,we=Zt(P),be=le&&(!N||we===4),Me=be?we:1,Fe=be&&!N?we:1,We=pA("input",N?12:w,L.length,Fe),$e=pA("scale",v,ee.length),eA=Ae?pA("zero_point",N?12:w,Q.length):void 0,sA=$A("output",v,E.length,Me),zA=[We,$e];eA&&zA.push(eA);let jA=[L,ee];Ae&&jA.push(Q);let ht=[{type:12,data:P/Me},{type:12,data:h},{type:12,data:u.blockSize},..._A(...jA,E)];return{name:"DequantizeLinear",shaderCache:{hint:u.cacheKey,inputDependencies:eA?["rank","rank","rank"]:["rank","rank"]},getShaderSource:mt=>`
2151      ${mt.registerUniforms([{name:"output_size",type:"u32"},{name:"axis",type:"u32"},{name:"block_size",type:"u32"}]).declareVariables(...zA,sA)}
2152      ${mt.mainStart()}
2153          ${mt.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.output_size")}
2154          let output_indices = ${sA.offsetToIndices("global_idx")};
2155
2156          // Set input x
2157          ${N?`
2158            let input = ${We.getByOffset("global_idx / 4")};
2159            let x_vec = ${B?"unpack4xI8(input)":"unpack4xU8(input)"};
2160            let x_value = ${Me===1?"x_vec[global_idx % 4]":"x_vec"};`:`let x_value = ${We.getByOffset("global_idx")};`};
2161
2162          // Set scale input
2163          ${le?`let scale_value= ${$e.getByOffset("0")}`:de?`
2164            let scale_index = ${sA.indicesGet("output_indices","uniforms.axis")};
2165            let scale_value= ${$e.getByOffset("scale_index")};`:`
2166            var scale_indices: ${$e.type.indices} = output_indices;
2167            let index = ${$e.indicesGet("scale_indices","uniforms.axis")} / uniforms.block_size;
2168            ${$e.indicesSet("scale_indices","uniforms.axis","index")};
2169            let scale_value= ${$e.getByIndices("scale_indices")};`};
2170
2171          // Set zero-point input
2172          ${eA?le?N?`
2173                let zero_point_input = ${eA.getByOffset("0")};
2174                let zero_point_vec =  ${B?"unpack4xI8(zero_point_input)":"unpack4xU8(zero_point_input)"};
2175                let zero_point_value= zero_point_vec[0]`:`let zero_point_value = ${eA.getByOffset("0")}`:de?N?`
2176                let zero_point_index = ${sA.indicesGet("output_indices","uniforms.axis")};
2177                let zero_point_input = ${eA.getByOffset("zero_point_index / 4")};
2178                let zero_point_vec =  ${B?"unpack4xI8(zero_point_input)":"unpack4xU8(zero_point_input)"};
2179                let zero_point_value = zero_point_vec[zero_point_index % 4]`:`
2180                let zero_point_index = ${sA.indicesGet("output_indices","uniforms.axis")};
2181                let zero_point_value = ${eA.getByOffset("zero_point_index")};`:N?`
2182                let zero_point_offset = ${$e.indicesToOffset("scale_indices")};
2183                let zero_point_input = ${eA.getByOffset("zero_point_offset / 4")};
2184                let zero_point_vec = ${B?"unpack4xI8(zero_point_input)":"unpack4xU8(zero_point_input)"};
2185                let zero_point_value = zero_point_vec[zero_point_offset % 4];`:`let zero_point_value = ${eA.getByIndices("scale_indices")};`:`let zero_point_value = ${N?B?"i32":"u32":We.type.value}(0);`};
2186      // Compute and write output
2187      ${sA.setByOffset("global_idx",`${sA.type.value}(x_value - zero_point_value) * scale_value`)};
2188      }`,getRunData:()=>({outputs:[{dims:E,dataType:v}],dispatchGroup:{x:Math.ceil(P/Me/64),y:1,z:1},programUniforms:ht})}},zo=(n,u)=>{Dl(n.inputs,u),n.compute(Ql(n.inputs,u))},ao=n=>Ze({axis:n.axis,blockSize:n.blockSize})}),Lt=Pe(()=>{dA(),Mt(),Yt(),T1=(n,u,h)=>{if(n===u||n<u&&h<0||n>u&&h>0)throw new Error("Range these inputs' contents are invalid.")},Tl=(n,u,h,w)=>{let B=Math.abs(Math.ceil((u-n)/h)),E=[B],v=B,P=[{type:12,data:v},{type:w,data:n},{type:w,data:h},..._A(E)];return{name:"Range",shaderCache:{hint:`${w}`},getShaderSource:N=>{let L=$A("output",w,E.length),ee=L.type.value,Ae=[{name:"outputSize",type:"u32"},{name:"start",type:ee},{name:"delta",type:ee}];return`
2189        ${N.registerUniforms(Ae).declareVariables(L)}
2190        ${N.mainStart()}
2191        ${N.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.outputSize")}
2192        output[global_idx] = uniforms.start + ${ee}(global_idx) * uniforms.delta;
2193      }`},getRunData:()=>({outputs:[{dims:E,dataType:w}],dispatchGroup:{x:Math.ceil(v/64)},programUniforms:P})}},Pl=n=>{let u=0,h=0,w=0;n.inputs[0].dataType===6?(u=n.inputs[0].getInt32Array()[0],h=n.inputs[1].getInt32Array()[0],w=n.inputs[2].getInt32Array()[0]):n.inputs[0].dataType===1&&(u=n.inputs[0].getFloat32Array()[0],h=n.inputs[1].getFloat32Array()[0],w=n.inputs[2].getFloat32Array()[0]),Z.webgpu.validateInputContent&&T1(u,h,w),n.compute(Tl(u,h,w,n.inputs[0].dataType),{inputs:[]})}}),Ht=Pe(()=>{Mt(),St(),Zr(),Yt(),Fo=(n,u,h,w)=>{if(n!=="none"&&w!=="i32"&&w!=="u32"&&w!=="f32")throw new Error(`Input ${w} is not supported with reduction ${n}.`);let B=`{
2194                var oldValue = 0;
2195                loop {
2196                  let newValueF32 =`,E=`;
2197                  let newValue = bitcast<i32>(newValueF32);
2198                  let res = atomicCompareExchangeWeak(&${u}, oldValue, newValue);
2199                  if res.exchanged {
2200                    break;
2201                  }
2202                  oldValue = res.old_value;
2203                }
2204              }`;switch(n){case"none":return`${u}=${h};`;case"add":return w==="i32"||w==="u32"?`atomicAdd(&${u}, bitcast<${w}>(${h}));`:`
2205              ${B}bitcast<${w}>(oldValue) + (${h})${E}`;case"max":return w==="i32"||w==="u32"?`atomicMax(&${u}, bitcast<${w}>(${h}));`:`
2206                ${B}max(bitcast<f32>(oldValue), (${h}))${E}`;case"min":return w==="i32"||w==="u32"?`atomicMin(&${u}, bitcast<${w}>(${h}));`:`${B}min(bitcast<${w}>(oldValue), (${h}))${E}`;case"mul":return`${B}(bitcast<${w}>(oldValue) * (${h}))${E}`;default:throw new Error(`Reduction ${n} is not supported.`)}},zl=(n,u)=>{let h=n[0].dims,w=n[1].dims,B=h,E=Math.ceil(Le.size(w)/1),v=w[w.length-1],P=Le.sizeFromDimension(h,v),N=[{type:12,data:E},{type:12,data:v},{type:12,data:P},..._A(n[1].dims,n[2].dims,B)];return{name:"ScatterND",shaderCache:{hint:`${u.cacheKey}_${u.reduction}`,inputDependencies:["rank","rank"]},getRunData:()=>({outputs:[{dims:B,dataType:n[0].dataType}],dispatchGroup:{x:Math.ceil(E/64)},programUniforms:N}),getShaderSource:L=>{let ee=pA("indices",n[1].dataType,n[1].dims.length),Ae=pA("updates",n[2].dataType,n[2].dims.length,1),Q=u.reduction!=="none"&&u.reduction!==""?ha("output",n[0].dataType,B.length):$A("output",n[0].dataType,B.length,1);return`
2207      ${L.registerUniform("output_size","u32").registerUniform("last_index_dimension","u32").registerUniform("num_updates_elements","u32").declareVariables(ee,Ae,Q)}
2208      ${L.mainStart()}
2209        ${L.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.output_size")}
2210  var data_offset = 0u;
2211  let indices_start = uniforms.last_index_dimension * global_idx;
2212  let indices_end = indices_start + uniforms.last_index_dimension;
2213  for (var i = indices_start; i < indices_end; i++) {
2214    var index = i32(indices[i].x);
2215    ${n[0].dims.length===1?`
2216    let element_count_dim = uniforms.output_strides;
2217    let dim_value = uniforms.output_shape;`:`
2218    let element_count_dim = uniforms.output_strides[i - indices_start];
2219    let dim_value = uniforms.output_shape[i - indices_start + uniforms.last_index_dimension];`}
2220    if (index >= 0) {
2221      if (index >= i32(dim_value)) {
2222        index = i32(dim_value - 1);
2223      }
2224    } else {
2225      if (index < -i32(dim_value)) {
2226        index = 0;
2227      } else {
2228        index += i32(dim_value);
2229      }
2230    }
2231    data_offset += u32((u32(index) * element_count_dim));
2232  }
2233
2234  for (var i = 0u; i < uniforms.num_updates_elements; i++) {
2235    let value = updates[uniforms.num_updates_elements * global_idx + i];
2236    ${Fo(u.reduction,"output[data_offset + i]","value",Q.type.value)}
2237  }
2238
2239      }`}}},Fl=n=>Ze({reduction:n.reduction}),So=(n,u)=>{n.compute(zl(n.inputs,u),{inputs:[n.inputs[1],n.inputs[2]],outputs:[]})}}),lr=Pe(()=>{Mt(),St(),Zr(),Yt(),Sl=(n,u)=>{if(n.every(h=>h>0||(()=>{throw new Error("Resize requires scales input values to be positive")})),n.length>0){if(u.mode==="linear"){if(!(n.length===2||n.length===3||n.length===4&&n[0]===1&&n[1]===1||n.length===4&&n[0]===1&&n[3]===1||n.length===5&&n[0]===1&&n[1]===1))throw new Error(`For linear mode, Resize requires scales to be 2D, 3D, 4D with either two outermost or one innermost and
2240            one outermost scale values equal to 1, or 5D with two outermost scale values equal to 1`)}else if(u.mode==="cubic"&&!(n.length===2||n.length===4&&n[0]===1&&n[1]===1||n.length===4&&n[0]===1&&n[3]===1))throw new Error("Resize requires scales input size to be 2 or 4 for cubic mode")}},Nl=(n,u,h)=>{u.every(B=>B>=0&&B<h||(()=>{throw new Error("Resize requires axes input values to be positive and less than rank")}));let w=new Array(h).fill(1);return u.forEach((B,E)=>w[B]=n[E]),w},No=(n,u,h,w,B,E)=>{let[v,P,N]=h>10?[1,2,3]:[-1,n.length>1?1:-1,-1],L=n[0].dims.length;if(v>0&&n.length>v&&n[v].dims.length>0)n[v].getFloat32Array().forEach(ee=>E.push(ee));else if(u.coordinateTransformMode==="tf_crop_and_resize")throw new Error("Resize requires RoI input to be specified when coordinateTransformMode is tfCropAndResize");if(P>0&&n.length>P&&n[P].dims.length===1&&n[P].dims[0]>0){if(n[P].getFloat32Array().forEach(ee=>w.push(ee)),w.length!==0&&w.length!==L&&h>=18&&w.length!==u.axes.length)throw new Error("Resize requires scales input size to be same as input rank or axes size for opset 18 and up");Sl(w,u),u.axes.length>0&&Nl(w,u.axes,L).forEach((ee,Ae)=>w[Ae]=ee)}if(N>0&&n.length>N&&n[N].dims.length===1&&n[N].dims[0]>0&&(n[N].getBigInt64Array().forEach(ee=>B.push(Number(ee))),B.length!==0&&B.length!==L&&h>=18&&B.length!==u.axes.length))throw new Error("Resize requires sizes input size to be same as input rank or axes size for opset 18 and up");if(u.axes.length>0){if(w.length!==0&&w.length!==u.axes.length)throw new Error('Resize requires "scales" input size to be of axes rank when axes attributes is specified');if(B.length!==0&&B.length!==u.axes.length)throw new Error('Resize requires "sizes" input size to be of rank axes rank when axes attributes is specified')}if(typeof w<"u"&&typeof B<"u"&&w.length>0&&B.length>L)throw new Error("Resize requires only of scales or sizes to be specified")},Ol=(n,u,h,w)=>`
2241  // The whole part and the fractional part are calculated separately due to inaccuracy of floating
2242  // point division. As an example, f32(21) / f32(7) may evaluate to 2.99... instead of 3, causing an
2243  // offset-by-one error later in floor().
2244  let big = (${n}) * (${u});
2245  let whole = ${w}(big / (${h}));
2246  let fract = ${w}(big % (${h})) / ${w}(${h});
2247  return whole + fract;
2248`,P1=(n,u)=>`fn getOriginalCoordinateFromResizedCoordinate(xResized: u32, xScale: f32, lengthResized: u32,
2249     lengthOriginal: u32, roiStart: f32, roiEnd: f32) -> ${u} { `+(()=>{switch(n){case"asymmetric":return`
2250          if (xScale < 1.0 || floor(xScale) != xScale) {
2251            return ${u}(xResized) / ${u}(xScale);
2252          } else {
2253            ${Ol("xResized","lengthOriginal","lengthResized",u)}
2254          }
2255        `;case"pytorch_half_pixel":return`if (lengthResized > 1) {
2256                    return (${u}(xResized) + 0.5) / ${u}(xScale) - 0.5;
2257                  } else {
2258                    return 0.0;
2259                  }`;case"tf_half_pixel_for_nn":return`return (${u}(xResized) + 0.5) / ${u}(xScale);`;case"align_corners":return`if (lengthResized == 1) {
2260                    return 0.0;
2261                  } else {
2262                    ${Ol("xResized","lengthOriginal - 1","lengthResized - 1",u)}
2263                  }`;case"tf_crop_and_resize":return`if (lengthResized > 1) {
2264                    return ${u}(roiStart) * ${u}(lengthOriginal - 1) +
2265                        (${u}(xResized) * ${u}(roiEnd - roiStart) * ${u}(lengthOriginal - 1)) /
2266                        ${u}(lengthResized - 1);
2267                  } else {
2268                    return 0.5 * ${u}(roiStart + roiEnd) * ${u}(lengthOriginal - 1);
2269                  }`;case"half_pixel_symmetric":return`const outputWidth = ${u}xScale * ${u}(lengthResized);
2270                  const adjustment = ${u}(lengthResized) / outputWidth;
2271                  const center = ${u}(lengthOriginal) / 2;
2272                  const offset = center * (1 - adjustment);
2273                  return offset + ((${u}(xResized) + 0.5) / ${u}(xScale)) - 0.5;`;case"half_pixel":return`return ((${u}(xResized) + 0.5) / ${u}(xScale)) - 0.5;`;default:throw new Error(`Coordinate transform mode ${n} is not supported`)}})()+"}",Oo=(n,u,h)=>`fn getNearestPixelFromOriginal(xOriginal: ${h}, isDownSample: bool) -> ${h} {`+(()=>{switch(n){case"round_prefer_ceil":return"if (fract(xOriginal) == 0.5) {             return ceil(xOriginal);           } else {             return round(xOriginal);           }";case"floor":return"return floor(xOriginal);";case"ceil":return"return ceil(xOriginal);";case"round_prefer_floor":return"if (fract(xOriginal) == 0.5) {                     return floor(xOriginal);                   } else {                     return round(xOriginal);                   }";default:if(u<11)return"if (isDownSample)                     {                       return ceil(xOriginal);                     } else {                       return xOriginal;                     }";throw new Error(`Nearest mode ${n} is not supported`)}})()+"}",Lo=(n,u,h)=>{let w=new Array(h).fill(0).concat(new Array(h).fill(1)),B=n.length===0?w:n.slice();return u.length>0?(u.forEach((E,v)=>{w[E]=B[v],w[v+h]=B[u.length+v]}),w):B},Ll=(n,u,h,w)=>{let B=[];if(h.length>0)if(w.length>0){if(n.forEach(E=>B.push(E)),Math.max(...w)>n.length)throw new Error("axes is out of bound");w.forEach((E,v)=>B[E]=h[v])}else h.forEach(E=>B.push(E));else{if(u.length===0)throw new Error("Resize requires either scales or sizes.");B=n.map((E,v)=>Math.round(E*u[v]))}return B},Yl=(n,u,h)=>{let w=(()=>{switch(h.keepAspectRatioPolicy){case"not_larger":return h.axes.length>0?Math.min(...h.axes.map(E=>u[E]),Number.MAX_VALUE):Math.min(...u,Number.MAX_VALUE);case"not_smaller":return h.axes.length>0?Math.max(...h.axes.map(E=>u[E]),Number.MIN_VALUE):Math.max(...u,Number.MIN_VALUE);default:throw new Error(`Keep aspect ratio policy ${h.keepAspectRatioPolicy} is not supported`)}})();u.fill(1,0,u.length);let B=n.slice();return h.axes.length>0?(h.axes.forEach(E=>u[E]=w),h.axes.forEach(E=>B[E]=Math.round(n[E]*u[E]))):(u.fill(w,0,u.length),B.forEach((E,v)=>B[v]=Math.round(E*u[v]))),B},Yo=(n,u,h,w,B)=>`
2274    fn calculateOriginalIndicesFromOutputIndices(output_indices: ${n.type.indices}) -> array<${n.type.value}, ${h.length}> {
2275      var original_indices: array<${n.type.value}, ${h.length}>;
2276      for (var i:u32 = 0; i < ${h.length}; i++) {
2277        var output_index = ${n.indicesGet("output_indices","i")};
2278        var scale = ${nt("uniforms.scales","i",w)};
2279        var roi_low = ${nt("uniforms.roi","i",B)};
2280        var roi_hi = ${nt("uniforms.roi",`i + ${u.length}`,B)};
2281        if (scale == 1.0) {
2282          original_indices[i] = ${n.type.value}(output_index);
2283        } else {
2284          var input_shape_i = ${nt("uniforms.input_shape","i",u.length)};
2285          var output_shape_i = ${nt("uniforms.output_shape","i",h.length)};
2286          original_indices[i] = getOriginalCoordinateFromResizedCoordinate(output_index, scale, output_shape_i,
2287                                                                           input_shape_i, roi_low, roi_hi);
2288        }
2289      }
2290      return original_indices;
2291    }`,Hl=(n,u,h,w,B,E,v)=>`
2292    fn calculateInputIndicesFromOutputIndices(output_indices: ${u.type.indices}) -> ${n.type.indices} {
2293      var input_indices: ${n.type.indices};
2294      for (var i:u32 = 0; i < ${w.length}; i++) {
2295        var output_index = ${u.indicesGet("output_indices","i")};
2296        var input_index: u32;
2297        var scale = ${nt("uniforms.scales","i",B)};
2298        if (scale == 1.0) {
2299          input_index = output_index;
2300        } else {
2301          var roi_low = ${nt("uniforms.roi","i",E)};
2302          var roi_hi = ${nt("uniforms.roi",`i + ${h.length}`,E)};
2303          var input_shape_i = ${nt("uniforms.input_shape","i",h.length)};
2304          var output_shape_i = ${nt("uniforms.output_shape","i",w.length)};
2305          var original_idx = getOriginalCoordinateFromResizedCoordinate(output_index, scale, output_shape_i,
2306                                                                        input_shape_i, roi_low, roi_hi);
2307          if (!${v} || (original_idx >= 0 && original_idx < ${u.type.value}(input_shape_i))) {
2308            if (original_idx < 0) {
2309              input_index = 0;
2310            } else if (original_idx > ${u.type.value}(input_shape_i - 1)) {
2311              input_index = input_shape_i - 1;
2312            } else {
2313              input_index = u32(getNearestPixelFromOriginal(original_idx, scale < 1));
2314            }
2315          } else {
2316            input_index = u32(original_idx);
2317          }
2318        }
2319        ${n.indicesSet("input_indices","i","input_index")}
2320      }
2321      return input_indices;
2322    }`,Rl=(n,u)=>`
2323    fn checkInputIndices(input_indices: ${n.type.indices}) -> bool {
2324      for (var i:u32 = 0; i < ${u.length}; i++) {
2325        var input_index = ${n.indicesGet("input_indices","i")};
2326        if (input_index < 0 || input_index >= ${nt("uniforms.input_shape","i",u.length)}) {
2327          return false;
2328        }
2329      }
2330      return true;
2331    }`,so=(n,u,h,w)=>n.rank>w?`
2332    ${n.indicesSet("input_indices",u,"channel")};
2333    ${n.indicesSet("input_indices",h,"batch")};
2334`:"",Wl=(n,u,h,w,B)=>{let[E,v,P,N]=h.length===2?[-1,0,1,-1]:[0,2,3,1],L=n.type.value;return`
2335    fn getInputValue(batch: u32, channel: u32, row: u32, col: u32) -> ${L} {
2336      var input_indices: ${n.type.indices};
2337      ${n.indicesSet("input_indices",v,`max(0, min(row, ${h[v]} - 1))`)};
2338      ${n.indicesSet("input_indices",P,`max(0, min(col, ${h[P]} - 1))`)};
2339      ${so(n,N,E,2)}
2340      return ${n.getByIndices("input_indices")};
2341    }
2342
2343    fn bilinearInterpolation(output_indices: ${u.type.indices}) -> ${L} {
2344      var originalIndices = calculateOriginalIndicesFromOutputIndices(output_indices);
2345      var row:${L} = originalIndices[${v}];
2346      var col:${L} = originalIndices[${P}];
2347      ${w?`if (row < 0 || row > (${h[v]} - 1) || col < 0 || col > (${h[P]} - 1)) {
2348        return ${B};
2349      }`:""};
2350      row = max(0, min(row, ${h[v]} - 1));
2351      col = max(0, min(col, ${h[P]} - 1));
2352      var row1: u32 = u32(row);
2353      var col1: u32 = u32(col);
2354      var row2: u32 = u32(row + 1);
2355      var col2: u32 = u32(col + 1);
2356      var channel: u32 = ${h.length>2?`u32(originalIndices[${N}])`:"0"};
2357      var batch: u32 =  ${h.length>2?`u32(originalIndices[${E}])`:"0"};
2358      var x11: ${L} = getInputValue(batch, channel, row1, col1);
2359      var x12: ${L} = getInputValue(batch, channel, row1, col2);
2360      var x21: ${L} = getInputValue(batch, channel, row2, col1);
2361      var x22: ${L} = getInputValue(batch, channel, row2, col2);
2362      var dx1: ${L} = abs(row - ${L}(row1));
2363      var dx2: ${L} = abs(${L}(row2) - row);
2364      var dy1: ${L} = abs(col - ${L}(col1));
2365      var dy2: ${L} = abs(${L}(col2) - col);
2366      if (row1 == row2) {
2367        dx1 = 0.5;
2368        dx2 = 0.5;
2369      }
2370      if (col1 == col2) {
2371        dy1 = 0.5;
2372        dy2 = 0.5;
2373      }
2374      return (x11 * dx2 * dy2 + x12 * dx2 * dy1 + x21 * dx1 * dy2 + x22 * dx1 * dy1);
2375    }`},Vl=(n,u,h,w,B,E,v,P,N,L)=>{let ee=h.length===2,[Ae,Q]=ee?[0,1]:[2,3],le=n.type.value,de=we=>{let be=we===Ae?"row":"col";return`
2376      fn ${be}CubicInterpolation(input_indices: ${n.type.indices}, output_indices: ${u.type.indices}) -> ${le} {
2377        var output_index = ${u.indicesGet("output_indices",we)};
2378        var originalIdx: ${le} = getOriginalCoordinateFromResizedCoordinate(output_index, ${B[we]},
2379        ${w[we]}, ${h[we]}, ${E[we]}, ${E[we]} + ${h.length});
2380        var fractOriginalIdx: ${le} = originalIdx - floor(originalIdx);
2381        var coefs = getCubicInterpolationCoefs(fractOriginalIdx);
2382
2383        if (${P} && (originalIdx < 0 || originalIdx > (${h[we]} - 1))) {
2384          return ${N};
2385        }
2386        var data: array<${le}, 4> = array<${le}, 4>(0.0, 0.0, 0.0, 0.0);
2387        for (var i: i32 = -1; i < 3; i++) {
2388          var ${be}: ${le} = originalIdx + ${le}(i);
2389          if (${be} < 0 || ${be} >= ${h[we]}) {
2390            ${L?`coefs[i + 1] = 0.0;
2391                        continue;`:P?`return ${N};`:`${be} = max(0, min(${be}, ${h[we]} - 1));`};
2392          }
2393        var input_indices_copy: ${n.type.indices} = input_indices;
2394          ${n.indicesSet("input_indices_copy",we,`u32(${be})`)};
2395          data[i + 1] = ${we===Ae?n.getByIndices("input_indices_copy"):"rowCubicInterpolation(input_indices_copy, output_indices)"};
2396        }
2397        return cubicInterpolation1D(data, coefs);
2398      }`};return`
2399    ${de(Ae)};
2400    ${de(Q)};
2401  fn getCubicInterpolationCoefs(s: ${le}) -> array<${le}, 4> {
2402    var absS = abs(s);
2403    var coeffs: array<${le}, 4> = array<${le}, 4>(0.0, 0.0, 0.0, 0.0);
2404    var oneMinusAbsS: ${le} = 1.0 - absS;
2405    var twoMinusAbsS: ${le} = 2.0 - absS;
2406    var onePlusAbsS: ${le} = 1.0 + absS;
2407    coeffs[0] = ((${v} * onePlusAbsS - 5 * ${v}) * onePlusAbsS + 8 * ${v}) * onePlusAbsS - 4 * ${v};
2408    coeffs[1] = ((${v} + 2) * absS - (${v} + 3)) * absS * absS + 1;
2409    coeffs[2] = ((${v} + 2) * oneMinusAbsS - (${v} + 3)) * oneMinusAbsS * oneMinusAbsS + 1;
2410    coeffs[3] = ((${v} * twoMinusAbsS - 5 * ${v}) * twoMinusAbsS + 8 * ${v}) * twoMinusAbsS - 4 * ${v};
2411    return coeffs;
2412  }
2413
2414  fn cubicInterpolation1D(x: array<${le}, 4>, coefs: array<${le}, 4>) -> ${le} {
2415    var coefsSum: ${le} = coefs[0] + coefs[1] + coefs[2] + coefs[3];
2416    return (x[0] * coefs[0] + x[1] * coefs[1]+ x[2] * coefs[2]+ x[3] * coefs[3]) / coefsSum;
2417  }
2418
2419  fn bicubicInterpolation(output_indices: ${u.type.indices}) -> ${le} {
2420    var input_indices: ${n.type.indices} = output_indices;
2421    return colCubicInterpolation(input_indices, output_indices);
2422  }
2423    `},Ho=(n,u,h,w,B)=>{let[E,v,P,N,L]=h.length===3?[-1,0,1,2,-1]:[0,2,3,4,1],ee=n.type.value;return`
2424    fn getInputValue(batch: u32, channel: u32, depth:u32, height: u32, width: u32) -> ${ee} {
2425      var input_indices: ${n.type.indices};
2426      ${n.indicesSet("input_indices",v,`max(0, min(depth, ${h[v]} - 1))`)};
2427      ${n.indicesSet("input_indices",P,`max(0, min(height, ${h[P]} - 1))`)};
2428      ${n.indicesSet("input_indices",N,`max(0, min(width, ${h[N]} - 1))`)};
2429      ${so(n,L,E,3)}
2430      return ${n.getByIndices("input_indices")};
2431    }
2432
2433    fn trilinearInterpolation(output_indices: ${u.type.indices}) -> ${ee} {
2434      var originalIndices = calculateOriginalIndicesFromOutputIndices(output_indices);
2435      var depth:${ee} = originalIndices[${v}];
2436      var height:${ee} = originalIndices[${P}];
2437      var width:${ee} = originalIndices[${N}];
2438      ${w?`if (depth < 0 || depth > (${h[v]} - 1) || height < 0 || height > (${h[P]} - 1) || width < 0 || (width > ${h[N]} - 1)) {
2439      return ${B};
2440        }`:""};
2441
2442    depth = max(0, min(depth, ${h[v]} - 1));
2443      height = max(0, min(height, ${h[P]} - 1));
2444      width = max(0, min(width, ${h[N]} - 1));
2445      var depth1: u32 = u32(depth);
2446      var height1: u32 = u32(height);
2447      var width1: u32 = u32(width);
2448      var depth2: u32 = u32(depth + 1);
2449      var height2: u32 = u32(height + 1);
2450      var width2: u32 = u32(width + 1);
2451      var channel: u32 = ${h.length>3?`u32(originalIndices[${L}])`:"0"};
2452      var batch: u32 =  ${h.length>3?`u32(originalIndices[${E}])`:"0"};
2453
2454      var x111: ${ee} = getInputValue(batch, channel, depth1, height1, width1);
2455      var x112: ${ee} = getInputValue(batch, channel, depth1, height1, width2);
2456      var x121: ${ee} = getInputValue(batch, channel, depth1, height2, width1);
2457      var x122: ${ee} = getInputValue(batch, channel, depth1, height2, width2);
2458      var x211: ${ee} = getInputValue(batch, channel, depth2, height1, width1);
2459      var x212: ${ee} = getInputValue(batch, channel, depth2, height1, width2);
2460      var x221: ${ee} = getInputValue(batch, channel, depth2, height2, width1);
2461      var x222: ${ee} = getInputValue(batch, channel, depth2, height2, width2);
2462      var dx1: ${ee} = abs(depth - ${ee}(depth1));
2463      var dx2: ${ee} = abs(${ee}(depth2) - depth);
2464      var dy1: ${ee} = abs(height - ${ee}(height1));
2465      var dy2: ${ee} = abs(${ee}(height2) - height);
2466      var dz1: ${ee} = abs(width - ${ee}(width1));
2467      var dz2: ${ee} = abs(${ee}(width2) - width);
2468      if (depth1 == depth2) {
2469        dx1 = 0.5;
2470        dx2 = 0.5;
2471      }
2472      if (height1 == height2) {
2473        dy1 = 0.5;
2474        dy2 = 0.5;
2475      }
2476      if (width1 == width2) {
2477        dz1 = 0.5;
2478        dz2 = 0.5;
2479      }
2480      return (x111 * dx2 * dy2 * dz2 + x112 * dx2 * dy2 * dz1 + x121 * dx2 * dy1 *dz2 + x122 * dx2 * dy1 * dz1 +
2481              x211 * dx1 * dy2 * dz2 + x212 * dx1 * dy2 * dz1 + x221 * dx1 * dy1 *dz2 + x222 * dx1 * dy1 * dz1);
2482    }`},jl=(n,u,h,w,B,E)=>{let v=n.dims,P=Lo(E,u.axes,v.length),N=Ll(v,w,B,u.axes),L=w.slice();w.length===0&&(L=v.map((Me,Fe)=>Me===0?1:N[Fe]/Me),u.keepAspectRatioPolicy!=="stretch"&&(N=Yl(v,L,u)));let ee=$A("output",n.dataType,N.length),Ae=pA("input",n.dataType,v.length),Q=Le.size(N),le=v.length===N.length&&v.every((Me,Fe)=>Me===N[Fe]),de=u.coordinateTransformMode==="tf_crop_and_resize",we=u.extrapolationValue,be=Ae.type.value;return{name:"Resize",shaderCache:{hint:`${u.cacheKey}|${h}|${L.length>0?u.mode==="cubic"?L:L.length:""}|${B.length>0?B:""}|${P.length>0?P:""}|${le}|${u.mode==="nearest"?v.length:v}`,inputDependencies:["rank"]},getShaderSource:Me=>`
2483      ${le?"":`
2484      ${P1(u.coordinateTransformMode,be)};
2485      ${(()=>{switch(u.mode){case"nearest":return`
2486              ${Rl(Ae,v)};
2487              ${Oo(u.nearestMode,h,be)};
2488              ${Hl(Ae,ee,v,N,L.length,P.length,de)};
2489              `;case"linear":return`
2490              ${Yo(ee,v,N,L.length,P.length)};
2491              ${(()=>{if(v.length===2||v.length===4)return`${Wl(Ae,ee,v,de,we)}`;if(v.length===3||v.length===5)return`${Ho(Ae,ee,v,de,we)}`;throw Error("Linear mode only supports input dims 2, 3, 4 and 5 are supported in linear mode.")})()};
2492            `;case"cubic":return`
2493            ${(()=>{if(v.length===2||v.length===4)return`${Vl(Ae,ee,v,N,L,P,u.cubicCoeffA,de,u.extrapolationValue,u.excludeOutside)}`;throw Error("Cubic mode only supports input dims 2 and 4 are supported in linear mode.")})()};
2494            `;default:throw Error("Invalid resize mode")}})()};
2495      `}
2496      ${Me.registerUniform("output_size","u32").registerUniform("scales","f32",L.length).registerUniform("roi","f32",P.length).declareVariables(Ae,ee)}
2497      ${Me.mainStart()}
2498        ${Me.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.output_size")}
2499        ${le?"output[global_idx] = input[global_idx];":`
2500        let output_indices = ${ee.offsetToIndices("global_idx")};
2501        var input_indices: ${Ae.type.indices};
2502        ${(()=>{switch(u.mode){case"nearest":return`input_indices = calculateInputIndicesFromOutputIndices(output_indices);
2503                if (checkInputIndices(input_indices)) {
2504                  output[global_idx] = ${Ae.getByIndices("input_indices")};
2505                } else {
2506                  output[global_idx] = ${u.extrapolationValue};
2507                }`;case"linear":return`output[global_idx] = ${v.length===2||v.length===4?"bilinearInterpolation":"trilinearInterpolation"}(output_indices);`;case"cubic":return"output[global_idx] = bicubicInterpolation(output_indices);";default:throw Error(`Unsupported resize mode: ${u.mode}`)}})()};
2508`}
2509      }`,getRunData:()=>({outputs:[{dims:N,dataType:n.dataType}],dispatchGroup:{x:Math.ceil(Q/64)},programUniforms:[{type:12,data:Q},{type:1,data:L},{type:1,data:P},..._A(v,N)]})}},Ul=n=>{let u=n.customDataBuffer;return new Uint32Array(u,u.byteOffset,1)[0]},Kl=(n,u)=>{let h=[],w=[],B=[],E=Ul(n);if(u.antialias!==0)throw Error("Only default value (0) for Antialias attribute is supported");No(n.inputs,u,E,h,w,B),n.compute(jl(n.inputs[0],u,E,h,w,B),{inputs:[0]})},Zl=n=>{let u=n.antialias,h=n.axes,w=n.coordinateTransformMode,B=n.cubicCoeffA,E=n.excludeOutside!==0,v=n.extrapolationValue,P=n.keepAspectRatioPolicy,N=n.mode,L=n.nearestMode===""?"simple":n.nearestMode;return Ze({antialias:u,axes:h,coordinateTransformMode:w,cubicCoeffA:B,excludeOutside:E,extrapolationValue:v,keepAspectRatioPolicy:P,mode:N,nearestMode:L})}}),Sr=Pe(()=>{Mt(),St(),Zr(),Yt(),Xl=(n,u)=>{let[h,w,B,E]=n,{numHeads:v,rotaryEmbeddingDim:P}=u;if(h.dims.length!==3&&h.dims.length!==4)throw new Error(`Input 'x' is expected to have 3 or 4 dimensions, got ${h.dims.length}`);if(!Le.areEqual(w.dims,[])&&!Le.areEqual(w.dims,[1])&&w.dims.length!==2)throw new Error(`Input 'position_ids' is expected to have 0, 1, or 2 dimensions, got ${w.dims.length}`);if(B.dims.length!==2)throw new Error(`Input 'cos_cache' is expected to have 2 dimensions, got ${B.dims.length}`);if(E.dims.length!==2)throw new Error(`Input 'sin_cache' is expected to have 2 dimensions, got ${E.dims.length}`);if(!Le.areEqual(B.dims,E.dims))throw new Error("Inputs 'cos_cache' and 'sin_cache' are expected to have the same shape");if(P>0&&v===0)throw new Error("num_heads must be provided if rotary_embedding_dim is specified");let N=h.dims[0],L=h.dims[h.dims.length-2],ee=B.dims[0],Ae=Le.sizeFromDimension(h.dims,1)/L,Q=P===0?2*B.dims[1]:Ae/v;if(P>Q)throw new Error("rotary_embedding_dim must be less than or equal to head_size");if(w.dims.length===2){if(N!==w.dims[0])throw new Error(`Input 'position_ids' dimension 0 should be of size batch_size, got ${w.dims[0]}`);if(L!==w.dims[1])throw new Error(`Input 'position_ids' dimension 1 should be of size sequence_length, got ${w.dims[1]}`)}if(Q/2!==B.dims[1]&&P/2!==B.dims[1])throw new Error(`Input 'cos_cache' dimension 1 should be same as head_size / 2 or rotary_embedding_dim / 2, got ${B.dims[1]}`);if(L>ee)throw new Error("Updating cos_cache and sin_cache in RotaryEmbedding is not currently supported")},ql=(n,u)=>{let{interleaved:h,numHeads:w,rotaryEmbeddingDim:B,scale:E}=u,v=n[0].dims[0],P=Le.sizeFromDimension(n[0].dims,1),N=n[0].dims[n[0].dims.length-2],L=P/N,ee=n[2].dims[1],Ae=B===0?2*ee:L/w,Q=new Array(v,N,L/Ae,Ae-ee),le=Le.computeStrides(Q),de=[{type:1,data:E},{type:12,data:Q},{type:12,data:le},...n[0].dims.length===3?new Array({type:12,data:[P,L,Ae,1]}):[],...n[0].dims.length===4?new Array({type:12,data:[P,Ae,N*Ae,1]}):[],..._A(n[0].dims,n[1].dims,n[2].dims,n[3].dims,n[0].dims)];return{name:"RotaryEmbedding",shaderCache:{hint:Ze({interleaved:h}).cacheKey,inputDependencies:["rank","rank","rank","rank"]},getShaderSource:we=>{let be=pA("input",n[0].dataType,n[0].dims.length),Me=pA("position_ids",n[1].dataType,n[1].dims.length),Fe=pA("cos_cache",n[2].dataType,n[2].dims.length),We=pA("sin_cache",n[3].dataType,n[3].dims.length),$e=$A("output",n[0].dataType,n[0].dims.length);return we.registerUniforms([{name:"scale",type:"f32"},{name:"global_shape",type:"u32",length:Q.length},{name:"global_strides",type:"u32",length:le.length},{name:"input_output_strides",type:"u32",length:le.length}]),`
2510        ${we.declareVariables(be,Me,Fe,We,$e)}
2511
2512        ${we.mainStart(jt)}
2513          let half_rotary_emb_dim = uniforms.${Fe.name}_shape[1];
2514          let bsnh = global_idx / uniforms.global_strides % uniforms.global_shape;
2515          let size = uniforms.global_shape[0] * uniforms.global_strides[0];
2516          ${we.guardAgainstOutOfBoundsWorkgroupSizes("size")}
2517
2518          if (bsnh[3] < half_rotary_emb_dim) {
2519            let position_ids_idx =
2520                ${Me.broadcastedIndicesToOffset("bsnh.xy",$A("",Me.type.tensor,2))};
2521            let position_id =
2522                u32(${Me.getByOffset("position_ids_idx")}) + select(0, bsnh[1], position_ids_idx == 0);
2523            let i = dot(bsnh, uniforms.input_output_strides) + select(0, bsnh[3], ${h});
2524            let j = i + select(half_rotary_emb_dim, 1, ${h});
2525            let re = ${be.getByOffset("i")} * ${Fe.get("position_id","bsnh[3]")} -
2526                ${be.getByOffset("j")} * ${We.get("position_id","bsnh[3]")};
2527            ${$e.setByOffset("i","re")}
2528            let im = ${be.getByOffset("i")} * ${We.get("position_id","bsnh[3]")} +
2529                ${be.getByOffset("j")} * ${Fe.get("position_id","bsnh[3]")};
2530            ${$e.setByOffset("j","im")}
2531          } else {
2532            let k = dot(bsnh, uniforms.input_output_strides) + half_rotary_emb_dim;
2533            ${$e.setByOffset("k",be.getByOffset("k"))}
2534          }
2535        }`},getRunData:()=>({outputs:[{dims:n[0].dims,dataType:n[0].dataType}],dispatchGroup:{x:Math.ceil(Le.size(Q)/jt)},programUniforms:de})}},Jl=(n,u)=>{Xl(n.inputs,u),n.compute(ql(n.inputs,u))}}),Lr=Pe(()=>{Mt(),St(),Yt(),_l=n=>{if(!n||n.length<3)throw new Error("layerNorm requires at least 3 inputs.");let u=n[0],h=n[1],w=n[2];if(u.dataType!==h.dataType||u.dataType!==w.dataType)throw new Error("All inputs must have the same data type");if(u.dims.length!==3&&u.dims.length!==2)throw new Error("Input must be 2D or 3D");if(h.dims.length!==3&&h.dims.length!==2)throw new Error("Skip must be 2D or 3D");let B=u.dims[u.dims.length-1],E=u.dims[u.dims.length-2];if(h.dims[h.dims.length-1]!==B)throw new Error("Skip must have the same hidden size as input");if(h.dims[h.dims.length-2]!==E)throw new Error("Skip must have the same sequence length as input");if(w.dims.length!==1)throw new Error("Gamma must be 1D");if(w.dims[w.dims.length-1]!==B)throw new Error("Gamma must have the same hidden size as input");if(n.length>3){let v=n[3];if(v.dims.length!==1)throw new Error("Beta must be 1D");if(v.dims[v.dims.length-1]!==B)throw new Error("Beta must have the same hidden size as input")}if(n.length>4){let v=n[4];if(v.dims.length!==1)throw new Error("Bias must be 1D");if(v.dims[v.dims.length-1]!==B)throw new Error("Bias must have the same hidden size as input")}},$l=(n,u,h,w)=>{let B=u.simplified,E=n[0].dims,v=Le.size(E),P=E,N=v,L=E.slice(-1)[0],ee=w?E.slice(0,-1).concat(1):[],Ae=!B&&n.length>3,Q=n.length>4,le=w&&h>1,de=w&&h>2,we=h>3,be=64,Me=Zt(L),Fe=[{type:12,data:N},{type:12,data:Me},{type:12,data:L},{type:1,data:u.epsilon}],We=[{dims:P,dataType:n[0].dataType}];return h>1&&We.push({dims:ee,dataType:1}),h>2&&We.push({dims:ee,dataType:1}),h>3&&We.push({dims:E,dataType:n[0].dataType}),{name:"SkipLayerNormalization",shaderCache:{hint:`${Me};${le};${de};${we}`,inputDependencies:n.map(($e,eA)=>"type")},getShaderSource:$e=>{let eA=[pA("x",n[0].dataType,n[0].dims,Me),pA("skip",n[1].dataType,n[1].dims,Me),pA("gamma",n[2].dataType,n[2].dims,Me)];Ae&&eA.push(pA("beta",n[3].dataType,n[3].dims,Me)),Q&&eA.push(pA("bias",n[4].dataType,n[4].dims,Me)),eA.push($A("output",n[0].dataType,P,Me)),le&&eA.push($A("mean_output",1,ee)),de&&eA.push($A("inv_std_output",1,ee)),we&&eA.push($A("input_skip_bias_sum",n[0].dataType,P,Me));let sA=zt(n[0].dataType),zA=zt(1,Me);return`
2536
2537      ${$e.registerUniforms([{name:"output_size",type:"u32"},{name:"components",type:"u32"},{name:"hidden_size",type:"u32"},{name:"epsilon",type:"f32"}]).declareVariables(...eA)}
2538      var<workgroup> sum_shared : array<${zA}, 64>;
2539      var<workgroup> sum_squared_shared : array<${zA}, 64>;
2540
2541      ${$e.mainStart([be,1,1])}
2542        let ix = local_id.x;
2543        let iy = global_id.x / 64;
2544
2545        let hidden_size_vectorized: u32 = uniforms.hidden_size / uniforms.components;
2546        var stride = hidden_size_vectorized / 64;
2547        let offset = ix * stride + iy * hidden_size_vectorized;
2548        let offset1d = stride * ix;
2549        if (ix == 63) {
2550          stride = hidden_size_vectorized - stride * ix;
2551        }
2552        for (var i: u32 = 0; i < stride; i++) {
2553          let skip_value = skip[offset + i];
2554          let bias_value = ${Q?"bias[offset1d + i]":sA+"(0.0)"};
2555          let input_value = x[offset + i];
2556          let value = input_value + skip_value + bias_value;
2557          ${we?"input_skip_bias_sum[offset + i] = value;":""}
2558          output[offset + i] = value;
2559          let f32_value = ${pa(sA,Me,"value")};
2560          sum_shared[ix] += f32_value;
2561          sum_squared_shared[ix] += f32_value * f32_value;
2562        }
2563        workgroupBarrier();
2564
2565        var reduce_size : u32 = 64;
2566        for (var curr_size = reduce_size >> 1;  curr_size > 0; curr_size = reduce_size >> 1) {
2567          reduce_size = curr_size + (reduce_size & 1);
2568          if (ix < curr_size) {
2569            sum_shared[ix] += sum_shared[ix + reduce_size];
2570            sum_squared_shared[ix] += sum_squared_shared[ix + reduce_size];
2571          }
2572          workgroupBarrier();
2573        }
2574
2575        let sum = sum_shared[0];
2576        let square_sum = sum_squared_shared[0];
2577        let mean = ${nr("sum",Me)} / f32(uniforms.hidden_size);
2578        let inv_std_dev = inverseSqrt(${nr("square_sum",Me)} / f32(uniforms.hidden_size) ${B?"":"- mean * mean"} + uniforms.epsilon);
2579        ${le?"mean_output[global_idx] = mean;":""}
2580        ${de?"inv_std_output[global_idx] = inv_std_dev;":""}
2581
2582        for (var i: u32 = 0; i < stride; i++) {
2583          output[offset + i] = (output[offset + i] ${B?"":`- ${sA}(mean)`}) *
2584            ${sA}(inv_std_dev) * gamma[offset1d + i]
2585            ${Ae?"+ beta[offset1d + i]":""};
2586        }
2587      }`},getRunData:()=>({outputs:We,dispatchGroup:{x:Math.ceil(N/L)},programUniforms:Fe})}},Ro=(n,u)=>{_l(n.inputs);let h=[0];n.outputCount>1&&h.push(-3),n.outputCount>2&&h.push(-3),n.outputCount>3&&h.push(3),n.compute($l(n.inputs,u,n.outputCount,!1),{outputs:h})}}),yr=Pe(()=>{Mt(),St(),Zr(),Yt(),e1=(n,u)=>{if(!n||n.length<1)throw new Error("too few inputs");if(u.axes.length!==0){if(u.axes.length!==u.starts.length||u.axes.length!==u.ends.length)throw new Error("axes, starts and ends must have the same length")}else if(u.starts.length!==u.ends.length)throw new Error("starts and ends must have the same length");n.slice(1).forEach((h,w)=>{if(n[w+1].dataType!==6&&n[w+1].dataType!==7)throw new Error(`Input ${w} must be an array of int32 or int64`)})},W0=(n,u)=>{let h=[];if(n.length>u)if(n[u].dataType===7)n[u].getBigInt64Array().forEach(w=>h.push(Number(w)));else{if(n[u].dataType!==6)throw new Error(`Input ${u} must be an array of int32 or int64`);n[u].getInt32Array().forEach(w=>h.push(Number(w)))}return h},Wo=(n,u)=>{if(n.length>1){let h=W0(n,1),w=W0(n,2),B=W0(n,3);return B.length===0&&(B=[...Array(n[0].dims.length).keys()]),Ze({starts:h,ends:w,axes:B})}return u},Vo=(n,u,h,w,B)=>{let E=n;return n<0&&(E+=h[w[u]]),B[u]<0?Math.max(0,Math.min(E,h[w[u]]-1)):Math.max(0,Math.min(E,h[w[u]]))},A1=(n,u,h)=>`fn calculateInputIndices(output_indices: ${u.type.indices}) -> ${n.type.indices} {
2588          var input_indices: ${n.type.indices};
2589          var carry = 0u;
2590          for (var i = ${h.length}; i >= 0; i--) {
2591            let input_shape_i = ${nt("uniforms.input_shape","i",h.length)};
2592            let steps_i = ${nt("uniforms.steps","i",h.length)};
2593            let signs_i = ${nt("uniforms.signs","i",h.length)};
2594            let starts_i = ${nt("uniforms.starts","i",h.length)};
2595            var output_index = ${u.indicesGet("output_indices","i")};
2596            var input_index = output_index * steps_i + starts_i + carry;
2597            carry = input_index / input_shape_i;
2598            input_index = input_index % input_shape_i;
2599            if (signs_i < 0) {
2600              input_index = input_shape_i - input_index - 1u + starts_i;
2601            }
2602            ${n.indicesSet("input_indices","i","input_index")};
2603          }
2604          return input_indices;
2605      }`,ur=(n,u)=>{let h=n[0].dims,w=Le.size(h),B=u.axes.length>0?Le.normalizeAxes(u.axes,h.length):[...Array(h.length).keys()],E=W0(n,4);E.forEach(be=>be!==0||(()=>{throw new Error("step cannot be 0")})),E.length===0&&(E=Array(B.length).fill(1));let v=u.starts.map((be,Me)=>Vo(be,Me,h,B,E)),P=u.ends.map((be,Me)=>Vo(be,Me,h,B,E));if(B.length!==v.length||B.length!==P.length)throw new Error("start, ends and axes should have the same number of elements");if(B.length!==h.length)for(let be=0;be<h.length;++be)B.includes(be)||(v.splice(be,0,0),P.splice(be,0,h[be]),E.splice(be,0,1));let N=E.map(be=>Math.sign(be));E.forEach((be,Me,Fe)=>{if(be<0){let We=(P[Me]-v[Me])/be,$e=v[Me],eA=$e+We*E[Me];v[Me]=eA,P[Me]=$e,Fe[Me]=-be}});let L=h.slice(0);B.forEach((be,Me)=>{L[be]=Math.ceil((P[be]-v[be])/E[be])});let ee={dims:L,dataType:n[0].dataType},Ae=$A("output",n[0].dataType,L.length),Q=pA("input",n[0].dataType,n[0].dims.length),le=Le.size(L),de=[{name:"outputSize",type:"u32"},{name:"starts",type:"u32",length:v.length},{name:"signs",type:"i32",length:N.length},{name:"steps",type:"u32",length:E.length}],we=[{type:12,data:le},{type:12,data:v},{type:6,data:N},{type:12,data:E},..._A(n[0].dims,L)];return{name:"Slice",shaderCache:{hint:`${N.length}_${v.length}_${E.length}`,inputDependencies:["rank"]},getShaderSource:be=>`
2606      ${be.registerUniforms(de).declareVariables(Q,Ae)}
2607        ${A1(Q,Ae,h)}
2608        ${be.mainStart()}
2609          ${be.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.outputSize")}
2610          let output_indices = ${Ae.offsetToIndices("global_idx")};
2611          let input_indices = calculateInputIndices(output_indices);
2612          ${Ae.setByOffset("global_idx",Q.getByIndices("input_indices"))}
2613      }`,getRunData:()=>({outputs:[ee],dispatchGroup:{x:Math.ceil(w/64)},programUniforms:we})}},z1=(n,u)=>{e1(n.inputs,u);let h=Wo(n.inputs,u);n.compute(ur(n.inputs,h),{inputs:[0]})},F1=n=>{let u=n.starts,h=n.ends,w=n.axes;return Ze({starts:u,ends:h,axes:w})}}),ba=Pe(()=>{Mt(),St(),Zr(),Ni(),Yt(),S1=n=>{if(!n||n.length!==1)throw new Error("Softmax op requires 1 input.")},jo=(n,u)=>{let h,w=n.inputs[0],B=w.dims,E=Le.size(B),v=B.length,P=Le.normalizeAxis(u.axis,v),N=P<B.length-1,L=[];N?(L=Array.from({length:v},(eA,sA)=>sA),L[P]=v-1,L[v-1]=P,h=n.compute(Da(w,L),{inputs:[w],outputs:[-1]})[0]):h=w;let ee=h.dims,Ae=ee[v-1],Q=E/Ae,le=Zt(Ae),de=Ae/le,we=64;Q===1&&(we=256);let be=pA("x",h.dataType,h.dims,le),Me=$A("result",h.dataType,h.dims,le),Fe=be.type.value,We=zt(h.dataType)==="f32"?`var threadMax = ${Fe}(-3.402823e+38f);`:`var threadMax = ${Fe}(-65504.0h);`,$e=n.compute({name:"Softmax",shaderCache:{hint:`${le};${we}`,inputDependencies:["type"]},getRunData:()=>({outputs:[{dims:ee,dataType:h.dataType}],dispatchGroup:{x:Q},programUniforms:[{type:6,data:de}]}),getShaderSource:eA=>`
2614      var<workgroup> rowMaxShared : ${Fe};
2615      var<workgroup> rowSumShared : ${Fe};
2616      var<workgroup> threadShared : array<${Fe}, ${we}>;
2617
2618      fn getValue(row: i32, col: i32, row_stride: i32) -> ${Fe} {
2619        let index = row * row_stride + col;
2620        return x[index];
2621      }
2622
2623      fn setValue(row: i32, col: i32, row_stride: i32, value: ${Fe}) {
2624        let index = row * row_stride + col;
2625        result[index] = value;
2626      }
2627      ${eA.registerUniform("packedCols","i32").declareVariables(be,Me)}
2628      ${eA.mainStart(we)}
2629        let gindex = i32(global_idx);
2630        let lindex = i32(local_idx);
2631        const wg = ${we};
2632        let row = gindex / wg;
2633        let cols = uniforms.packedCols;
2634        let row_stride : i32 = uniforms.packedCols;
2635
2636        // find the rows max
2637        ${We}
2638        for (var col = lindex; col < cols; col += wg) {
2639          let value = getValue(row, col, row_stride);
2640          threadMax = max(threadMax, value);
2641        }
2642        if (lindex < cols) {
2643          threadShared[lindex] = threadMax;
2644        }
2645        workgroupBarrier();
2646
2647        var reduceSize = min(cols, wg);
2648        for (var currSize = reduceSize >> 1;  currSize > 0; currSize = reduceSize >> 1) {
2649          reduceSize = currSize + (reduceSize & 1);
2650          if (lindex < currSize) {
2651            threadShared[lindex] = max(threadShared[lindex], threadShared[lindex + reduceSize]);
2652          }
2653          workgroupBarrier();
2654        }
2655        if (lindex == 0) {
2656          rowMaxShared = ${Fe}(${((sA,zA)=>zA===4?`max(max(${sA}.x, ${sA}.y), max(${sA}.z, ${sA}.w))`:zA===2?`max(${sA}.x, ${sA}.y)`:zA===3?`max(max(${sA}.x, ${sA}.y), ${sA}.z)`:sA)("threadShared[0]",le)});
2657        }
2658        workgroupBarrier();
2659
2660        // find the rows sum
2661        var threadSum = ${Fe}(0.0);
2662        for (var col = lindex; col < cols; col += wg) {
2663          let subExp = exp(getValue(row, col, row_stride) - rowMaxShared);
2664          threadSum += subExp;
2665        }
2666        threadShared[lindex] = threadSum;
2667        workgroupBarrier();
2668
2669        for (var currSize = wg >> 1;  currSize > 0; currSize = currSize >> 1) {
2670          if (lindex < currSize) {
2671            threadShared[lindex] = threadShared[lindex] + threadShared[lindex + currSize];
2672          }
2673          workgroupBarrier();
2674        }
2675        if (lindex == 0) {
2676          rowSumShared = ${Fe}(${nr("threadShared[0]",le)});
2677        }
2678        workgroupBarrier();
2679
2680        // calculate final value for each element in the row
2681        for (var col = lindex; col < cols; col += wg) {
2682          let value = exp(getValue(row, col, row_stride) - rowMaxShared) / rowSumShared;
2683          setValue(row, col, row_stride, value);
2684        }
2685      }`},{inputs:[h],outputs:[N?-1:0]})[0];N&&n.compute(Da($e,L),{inputs:[$e]})},t1=(n,u)=>{S1(n.inputs),jo(n,u)},r1=n=>Ze({axis:n.axis})}),la=Pe(()=>{Mt(),St(),Yt(),Uo=n=>Array.from(n.getBigInt64Array(),Number),a1=n=>{if(!n||n.length!==2)throw new Error("Tile requires 2 inputs.");if(n[0].dataType!==1&&n[0].dataType!==10&&n[0].dataType!==6&&n[0].dataType!==12)throw new Error("Tile only support float, float16, int32, and uint32 data types");if(n[1].dataType!==7)throw new Error("Tile `repeats` input should be of int64 data type");if(n[1].dims.length!==1)throw new Error("Tile `repeats` input should be 1-D");if(Uo(n[1]).length!==n[0].dims.length)throw new Error("Tile `repeats` input should have same number of elements as rank of input data tensor")},Ko=(n,u)=>{let h=[];for(let w=0;w<n.length;++w)h.push(n[w]*u[w]);return h},Zo=(n,u)=>{let h=n[0].dims,w=u??Uo(n[1]),B=Ko(h,w),E=Le.size(B),v=n[0].dataType,P=pA("input",v,h.length),N=$A("output",v,B.length);return{name:"Tile",shaderCache:{hint:`${w}`,inputDependencies:["rank"]},getRunData:()=>({outputs:[{dims:B,dataType:n[0].dataType}],dispatchGroup:{x:Math.ceil(E/64)},programUniforms:[{type:12,data:E},..._A(n[0].dims,B)]}),getShaderSource:L=>`
2686      const inputShape = ${P.indices(...h)};
2687      ${L.registerUniform("output_size","u32").declareVariables(P,N)}
2688      ${L.mainStart()}
2689      ${L.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.output_size")}
2690      let output_indices = ${N.offsetToIndices("global_idx")};
2691      var input_indices: ${P.type.indices};
2692      for (var i = 0; i < ${h.length}; i++) {
2693        let input_dim_i = ${P.indicesGet("uniforms.input_shape","i")};
2694        let input_dim_value = ${N.indicesGet("output_indices","i")}  % input_dim_i;
2695
2696        ${P.indicesSet("input_indices","i","input_dim_value")}
2697      }
2698      ${N.setByOffset("global_idx",P.getByIndices("input_indices"))}
2699    }`}},N1=n=>{a1(n.inputs),n.compute(Zo(n.inputs),{inputs:[0]})}}),ca=Pe(()=>{Mt(),St(),Yt(),s1=(n,u,h,w,B)=>{let E,v=$A("output_data",B,h.length,4),P=pA("a_data",u[1].dataType,u[1].dims.length,4),N=pA("b_data",u[2].dataType,u[2].dims.length,4),L=pA("c_data",u[0].dataType,u[0].dims.length,4),ee=(Ae,Q,le)=>`select(${Q}, ${Ae}, ${le})`;if(w){let Ae=(Q,le,de="")=>{let we=`a_data[index_a${le}][component_a${le}]`,be=`b_data[index_b${le}][component_b${le}]`,Me=`bool(c_data[index_c${le}] & (0xffu << (component_c${le} * 8)))`;return`
2700            let output_indices${le} = ${v.offsetToIndices(`global_idx * 4u + ${le}u`)};
2701            let offset_a${le} = ${P.broadcastedIndicesToOffset(`output_indices${le}`,v)};
2702            let offset_b${le} = ${N.broadcastedIndicesToOffset(`output_indices${le}`,v)};
2703            let offset_c${le} = ${L.broadcastedIndicesToOffset(`output_indices${le}`,v)};
2704            let index_a${le} = offset_a${le} / 4u;
2705            let index_b${le} = offset_b${le} / 4u;
2706            let index_c${le} = offset_c${le} / 4u;
2707            let component_a${le} = offset_a${le} % 4u;
2708            let component_b${le} = offset_b${le} % 4u;
2709            let component_c${le} = offset_c${le} % 4u;
2710            ${Q}[${le}] = ${de}(${ee(we,be,Me)});
2711          `};E=B===9?`
2712            var data = vec4<u32>(0);
2713            ${Ae("data",0,"u32")}
2714            ${Ae("data",1,"u32")}
2715            ${Ae("data",2,"u32")}
2716            ${Ae("data",3,"u32")}
2717            output_data[global_idx] = dot(vec4<u32>(0x1, 0x100, 0x10000, 0x1000000), vec4<u32>(data));`:`
2718            ${Ae("output_data[global_idx]",0)}
2719            ${Ae("output_data[global_idx]",1)}
2720            ${Ae("output_data[global_idx]",2)}
2721            ${Ae("output_data[global_idx]",3)}
2722          `}else E=v.setByOffset("global_idx",ee(P.getByOffset("global_idx"),N.getByOffset("global_idx"),L.getByOffset("global_idx")));return`
2723        ${n.registerUniform("vec_size","u32").declareVariables(L,P,N,v)}
2724        ${n.mainStart()}
2725        ${n.guardAgainstOutOfBoundsWorkgroupSizes("uniforms.vec_size")}
2726        ${E}
2727      }`},i1=n=>{let u=n[1].dims,h=n[2].dims,w=n[0].dims,B=n[1].dataType,E=!(Le.areEqual(u,h)&&Le.areEqual(h,w)),v=u,P=Le.size(u);if(E){let L=PA.calcShape(PA.calcShape(u,h,!1),w,!1);if(!L)throw new Error("Can't perform where op on the given tensors");v=L,P=Le.size(v)}let N=Math.ceil(P/4);return{name:"Where",shaderCache:{inputDependencies:["rank","rank","rank"]},getShaderSource:L=>s1(L,n,v,E,B),getRunData:()=>({outputs:[{dims:v,dataType:B}],dispatchGroup:{x:Math.ceil(P/64/4)},programUniforms:[{type:12,data:N},..._A(w,u,h,v)]})}},Xo=n=>{n.compute(i1(n.inputs))}}),ea=Pe(()=>{j1(),a2(),U1(),K1(),Z1(),X1(),q1(),Ot(),Ta(),Oa(),Ua(),e0(),xc(),Ac(),tc(),U(),ae(),Ce(),qe(),lA(),KA(),ZA(),WA(),rt(),dt(),oA(),Gt(),or(),Tt(),Lt(),Ht(),r2(),lr(),Sr(),Lr(),yr(),ba(),wA(),la(),Ni(),s2(),ca(),O1=new Map([["Abs",[Qn]],["Acos",[us]],["Acosh",[M0]],["Add",[hr]],["ArgMax",[w0,Vi]],["ArgMin",[ni,Vi]],["Asin",[ta]],["Asinh",[ws]],["Atan",[ra]],["Atanh",[ks]],["Attention",[k0]],["AveragePool",[Do,vl]],["BatchNormalization",[v0]],["BiasAdd",[E0]],["BiasSplitGelu",[ma]],["Cast",[Tn,Ui]],["Ceil",[Mr]],["Clip",[Ki]],["Concat",[ui,F0]],["Conv",[Re,ce]],["ConvTranspose",[qt,At]],["Cos",[Mi]],["Cosh",[Pn]],["CumSum",[mr,Cr]],["DepthToSpace",[Kr,na]],["DequantizeLinear",[zo,ao]],["Div",[jn]],["Einsum",[pi,hi]],["Elu",[li,aa]],["Equal",[Ps]],["Erf",[zn]],["Exp",[Fn]],["Expand",[An]],["FastGelu",[x2]],["Floor",[Sn]],["FusedConv",[Re,ce]],["Gather",[bo,y2]],["GatherElements",[ko,z2]],["GatherBlockQuantized",[Q2,T2]],["GatherND",[M2,Io]],["Gelu",[Zi]],["Gemm",[N2,xo]],["GlobalAveragePool",[To,yl]],["GlobalMaxPool",[Gl,Ml]],["Greater",[Kn]],["GreaterOrEqual",[zs]],["GridSample",[V2,j2]],["GroupQueryAttention",[rl]],["HardSigmoid",[Wr,qi]],["InstanceNormalization",[sl]],["LayerNormalization",[ol]],["LeakyRelu",[ds,aa]],["Less",[z0]],["LessOrEqual",[ts]],["Log",[ci]],["MatMul",[ll]],["MatMulNBits",[ul,dl]],["MaxPool",[El,ro]],["Mul",[gi]],["MultiHeadAttention",[Si,K2]],["Neg",[D0]],["Not",[Xi]],["Pad",[wl]],["Pow",[P0]],["QuickGelu",[T0,aa]],["Range",[Pl]],["Reciprocal",[Nn]],["ReduceMin",[yi]],["ReduceMean",[En]],["ReduceMax",[ii]],["ReduceSum",[Nr]],["ReduceProd",[Mn]],["ReduceL1",[Wi]],["ReduceL2",[va]],["ReduceLogSum",[I0]],["ReduceLogSumExp",[Sa]],["ReduceSumSquare",[b0]],["Relu",[On]],["Resize",[Kl,Zl]],["RotaryEmbedding",[Jl]],["ScatterND",[So,Fl]],["Sigmoid",[Bs]],["Sin",[Ln]],["Sinh",[Ji]],["Slice",[z1,F1]],["SkipLayerNormalization",[Ro]],["Split",[$2,el]],["Sqrt",[Gi]],["Softmax",[t1,r1]],["Sub",[Un]],["Tan",[Na]],["Tanh",[Yn]],["ThresholdedRelu",[Rn,aa]],["Tile",[N1]],["Transpose",[Yi,Dt]],["Where",[Xo]]])}),as=Pe(()=>{dA(),mi(),Yt(),L1=class{constructor(n){this.backend=n,this.repo=new Map,this.attributesBound=!1}getArtifact(n){return this.repo.get(n)}setArtifact(n,u){this.repo.set(n,u)}run(n,u,h,w,B){Oe(n.programInfo.name);let E=this.backend.device,v=this.backend.getComputePassEncoder();this.backend.writeTimestamp(2*this.backend.pendingDispatchNumber);let P=[];for(let L of u)P.push({binding:P.length,resource:{buffer:L.buffer}});for(let L of h)P.push({binding:P.length,resource:{buffer:L.buffer}});B&&P.push({binding:P.length,resource:B});let N=E.createBindGroup({layout:n.computePipeline.getBindGroupLayout(0),entries:P,label:n.programInfo.name});if(this.backend.sessionStatus==="capturing"){let L={kernelId:this.backend.currentKernelId,computePipeline:n.computePipeline,bindGroup:N,dispatchGroup:w};this.backend.capturedCommandList.get(this.backend.currentSessionId).push(L)}v.setPipeline(n.computePipeline),v.setBindGroup(0,N),v.dispatchWorkgroups(...w),this.backend.writeTimestamp(2*this.backend.pendingDispatchNumber+1),this.backend.pendingDispatchNumber++,(this.backend.pendingDispatchNumber>=this.backend.maxDispatchNumber||this.backend.queryType==="at-passes")&&this.backend.endComputePass(),this.backend.pendingDispatchNumber>=this.backend.maxDispatchNumber&&this.backend.flush(),AA(n.programInfo.name)}dispose(){}build(n,u){Oe(n.name);let h=this.backend.device,w=[];[{feature:"shader-f16",extension:"f16"},{feature:"subgroups",extension:"subgroups"},{feature:"subgroups-f16",extension:"subgroups_f16"}].forEach(L=>{h.features.has(L.feature)&&w.push(`enable ${L.extension};`)});let B=Fr(u,this.backend.device.limits),E=n.getShaderSource(B),v=`${w.join(`
2728`)}
2729${B.additionalImplementations}
2730${E}`,P=h.createShaderModule({code:v,label:n.name});Ft("verbose",()=>`[WebGPU] ${n.name} shader code: ${v}`);let N=h.createComputePipeline({compute:{module:P,entryPoint:"main"},layout:"auto",label:n.name});return AA(n.name),{programInfo:n,computePipeline:N,uniformVariablesInfo:B.variablesInfo}}normalizeDispatchGroupSize(n){let u=typeof n=="number"?n:n.x,h=typeof n=="number"?1:n.y||1,w=typeof n=="number"?1:n.z||1,B=this.backend.device.limits.maxComputeWorkgroupsPerDimension;if(u<=B&&h<=B&&w<=B)return[u,h,w];let E=u*h*w,v=Math.ceil(Math.sqrt(E));if(v>B){if(v=Math.ceil(Math.cbrt(E)),v>B)throw new Error("Total dispatch size exceeds WebGPU maximum.");return[v,v,v]}return[v,v,1]}}}),br=Pe(()=>{dA(),Mt(),mi(),I1(),W1(),ea(),as(),n1=(n,u)=>{if(u.length!==n.length)throw new Error(`inputDependencies length ${u.length} is not equal to inputTensors length ${n.length}.`);let h=[];for(let w=0;w<n.length;++w){let B=n[w].dataType;switch(u[w]){case"none":h.push("");break;case"type":h.push(`${B}`);break;case"rank":{let E=n[w].dims.length;h.push(`${B};${E}`);break}case"dims":{let E=n[w].dims.join(",");h.push(`${B};${E}`);break}default:throw new Error(`unsupported input dependency: ${u[w]}`)}}return h.join("|")},o1=(n,u,h)=>{var B,E;let w=n.name;return(B=n.shaderCache)!=null&&B.hint&&(w+="["+n.shaderCache.hint+"]"),w+=":"+h+`:${n1(u,((E=n.shaderCache)==null?void 0:E.inputDependencies)??new Array(u.length).fill("dims"))}`,w},l1=class{constructor(n){n&&(this.architecture=n.architecture,this.vendor=n.vendor)}isArchitecture(n){return this.architecture===n}isVendor(n){return this.vendor===n}},c1=class{constructor(n){this.subgroupsSupported=n.features.has("subgroups"),this.subgroupsF16Supported=n.features.has("subgroups");let u=n.limits;this.subgroupsSupported&&u.minSubgroupSize&&u.maxSubgroupSize?this.subgroupSizeRange=[u.minSubgroupSize,u.maxSubgroupSize]:this.subgroupSizeRange=void 0}},g1=class{constructor(){this.currentSessionId=null,this.currentKernelId=null,this.commandEncoder=null,this.computePassEncoder=null,this.maxDispatchNumber=16,this.pendingDispatchNumber=0,this.pendingKernels=[],this.pendingQueries=new Map,this.sessionStatus="default",this.capturedCommandList=new Map,this.capturedPendingKernels=new Map,this.sessionExternalDataMapping=new Map}get currentKernelCustomData(){if(this.currentKernelId===null)throw new Error("currentKernelCustomData(): currentKernelId is null. (should not happen)");let n=this.kernelCustomData.get(this.currentKernelId);return n||(n={},this.kernelCustomData.set(this.currentKernelId,n)),n}async initialize(n,u){this.env=n;let h=[],w={requiredLimits:{maxComputeWorkgroupStorageSize:u.limits.maxComputeWorkgroupStorageSize,maxComputeWorkgroupsPerDimension:u.limits.maxComputeWorkgroupsPerDimension,maxStorageBufferBindingSize:u.limits.maxStorageBufferBindingSize,maxBufferSize:u.limits.maxBufferSize,maxComputeInvocationsPerWorkgroup:u.limits.maxComputeInvocationsPerWorkgroup,maxComputeWorkgroupSizeX:u.limits.maxComputeWorkgroupSizeX,maxComputeWorkgroupSizeY:u.limits.maxComputeWorkgroupSizeY,maxComputeWorkgroupSizeZ:u.limits.maxComputeWorkgroupSizeZ},requiredFeatures:h},B=E=>u.features.has(E)&&h.push(E)&&!0;B("chromium-experimental-timestamp-query-inside-passes")||B("timestamp-query"),B("shader-f16"),B("subgroups")&&B("subgroups-f16"),this.device=await u.requestDevice(w),this.deviceInfo=new c1(this.device),this.adapterInfo=new l1(u.info||await u.requestAdapterInfo()),this.gpuDataManager=Se(this),this.programManager=new L1(this),this.kernels=new Map,this.kernelPersistentData=new Map,this.kernelCustomData=new Map,Gs(n.logLevel,!!n.debug),this.device.onuncapturederror=E=>{E.error instanceof GPUValidationError&&`${E.error.message}`},Object.defineProperty(this.env.webgpu,"device",{value:this.device,writable:!1,enumerable:!0,configurable:!1}),Object.defineProperty(this.env.webgpu,"adapter",{value:u,writable:!1,enumerable:!0,configurable:!1}),this.setQueryType()}dispose(){typeof this.querySet<"u"&&this.querySet.destroy(),this.gpuDataManager.dispose()}getCommandEncoder(){return this.commandEncoder||(this.commandEncoder=this.device.createCommandEncoder()),this.commandEncoder}getComputePassEncoder(){if(!this.computePassEncoder){let n=this.getCommandEncoder(),u={};this.queryType==="at-passes"&&(u.timestampWrites={querySet:this.querySet,beginningOfPassWriteIndex:2*this.pendingDispatchNumber,endOfPassWriteIndex:2*this.pendingDispatchNumber+1}),this.computePassEncoder=n.beginComputePass(u)}return this.computePassEncoder}endComputePass(){this.computePassEncoder&&(this.computePassEncoder.end(),this.computePassEncoder=null)}flush(){if(!this.commandEncoder)return;let n;Oe(),this.endComputePass(),this.queryType!=="none"&&(this.commandEncoder.resolveQuerySet(this.querySet,0,2*this.pendingDispatchNumber,this.queryResolveBuffer,0),n=this.device.createBuffer({size:2*this.pendingDispatchNumber*8,usage:GPUBufferUsage.MAP_READ|GPUBufferUsage.COPY_DST}),this.pendingQueries.set(n,this.pendingKernels),this.pendingKernels=[],this.commandEncoder.copyBufferToBuffer(this.queryResolveBuffer,0,n,0,2*this.pendingDispatchNumber*8)),this.device.queue.submit([this.commandEncoder.finish()]),this.gpuDataManager.refreshPendingBuffers(),this.commandEncoder=null,this.pendingDispatchNumber=0,this.queryType!=="none"&&n.mapAsync(GPUMapMode.READ).then(()=>{var w;let u=new BigUint64Array(n.getMappedRange()),h=this.pendingQueries.get(n);for(let B=0;B<u.length/2;B++){let E=h[B],v=E.kernelId,P=this.kernels.get(v),N=P.kernelType,L=P.kernelName,ee=E.programName,Ae=E.inputTensorViews,Q=E.outputTensorViews,le=u[2*B],de=u[2*B+1];typeof this.queryTimeBase>"u"&&(this.queryTimeBase=le);let we=Number(le-this.queryTimeBase),be=Number(de-this.queryTimeBase);if(!Number.isSafeInteger(we)||!Number.isSafeInteger(be))throw new RangeError("incorrect timestamp range");if((w=this.env.webgpu.profiling)!=null&&w.ondata)this.env.webgpu.profiling.ondata({version:1,inputsMetadata:Ae.map(Me=>({dims:Me.dims,dataType:ls(Me.dataType)})),outputsMetadata:Q.map(Me=>({dims:Me.dims,dataType:ls(Me.dataType)})),kernelId:v,kernelType:N,kernelName:L,programName:ee,startTime:we,endTime:be});else{let Me="";Ae.forEach((We,$e)=>{Me+=`input[${$e}]: [${We.dims}] | ${ls(We.dataType)}, `});let Fe="";Q.forEach((We,$e)=>{Fe+=`output[${$e}]: [${We.dims}] | ${ls(We.dataType)}, `}),`${v}${N}${L}${ee}${Me}${Fe}`,be-we}Ye("GPU",`${ee}::${le}::${de}`)}n.unmap(),this.pendingQueries.delete(n)}),AA()}run(n,u,h,w,B,E){Oe(n.name);let v=[];for(let Fe=0;Fe<u.length;++Fe){let We=u[Fe].data;if(We===0)continue;let $e=this.gpuDataManager.get(We);if(!$e)throw new Error(`no GPU data for input: ${We}`);v.push($e)}let{outputs:P,dispatchGroup:N,programUniforms:L}=n.getRunData(u),ee=h.length===0?P.map((Fe,We)=>We):h;if(ee.length!==P.length)throw new Error(`Output size ${ee.length} must be equal to ${P.length}.`);let Ae,Q=[],le=[];for(let Fe=0;Fe<P.length;++Fe){if(!Number.isInteger(ee[Fe])||ee[Fe]<-3||ee[Fe]>=E)throw new Error(`Invalid output index: ${ee[Fe]}`);if(ee[Fe]===-3)continue;let We=ee[Fe]===-1,$e=ee[Fe]===-2,eA=We||$e?B(P[Fe].dataType,P[Fe].dims):w(ee[Fe],P[Fe].dataType,P[Fe].dims);if(Q.push(eA),eA.data===0)continue;let sA=this.gpuDataManager.get(eA.data);if(!sA)throw new Error(`no GPU data for output: ${eA.data}`);if(We&&this.temporaryData.push(sA),$e){let zA=this.kernelPersistentData.get(this.currentKernelId);zA||(zA=[],this.kernelPersistentData.set(this.currentKernelId,zA)),zA.push(sA)}le.push(sA)}if(v.length!==u.length||le.length!==Q.length){if(le.length===0)return AA(n.name),Q;throw new Error(`Program ${n.name} has zero-sized tensor(s) in inputs or outputs. This is not supported now.`)}if(L){let Fe=0,We=[];L.forEach(zA=>{let jA=typeof zA.data=="number"?[zA.data]:zA.data;if(jA.length===0)return;let ht,mt,Jt=zA.type===10?2:4;zA.type===10?(mt=jA.length>4?16:jA.length>2?8:jA.length*Jt,ht=jA.length>4?16:Jt*jA.length):(mt=jA.length<=2?jA.length*Jt:16,ht=16),Fe=Math.ceil(Fe/mt)*mt,We.push(Fe);let Ct=zA.type===10?8:4;Fe+=jA.length>4?Math.ceil(jA.length/Ct)*ht:jA.length*Jt});let $e=16;Fe=Math.ceil(Fe/$e)*$e;let eA=new ArrayBuffer(Fe);L.forEach((zA,jA)=>{let ht=We[jA],mt=typeof zA.data=="number"?[zA.data]:zA.data;if(zA.type===6)new Int32Array(eA,ht,mt.length).set(mt);else if(zA.type===12)new Uint32Array(eA,ht,mt.length).set(mt);else if(zA.type===10)new Uint16Array(eA,ht,mt.length).set(mt);else{if(zA.type!==1)throw new Error(`Unsupported uniform type: ${ls(zA.type)}`);new Float32Array(eA,ht,mt.length).set(mt)}});let sA=this.gpuDataManager.create(Fe,GPUBufferUsage.COPY_DST|GPUBufferUsage.UNIFORM);this.device.queue.writeBuffer(sA.buffer,0,eA,0,Fe),this.gpuDataManager.release(sA.id),Ae={offset:0,size:Fe,buffer:sA.buffer}}let de=this.programManager.normalizeDispatchGroupSize(N),we=de[1]===1&&de[2]===1,be=o1(n,u,we),Me=this.programManager.getArtifact(be);if(Me||(Me=this.programManager.build(n,de),this.programManager.setArtifact(be,Me),Ft("info",()=>`[artifact] key: ${be}, programName: ${n.name}`)),L&&Me.uniformVariablesInfo){if(L.length!==Me.uniformVariablesInfo.length)throw new Error(`Uniform variables count mismatch: expect ${Me.uniformVariablesInfo.length}, got ${L.length} in program "${Me.programInfo.name}".`);for(let Fe=0;Fe<L.length;Fe++){let We=L[Fe],$e=We.type,eA=typeof We.data=="number"?1:We.data.length,[sA,zA]=Me.uniformVariablesInfo[Fe];if($e!==sA||eA!==zA)throw new Error(`Uniform variable ${Fe} mismatch: expect type ${sA} with size ${zA}, got type ${$e} with size ${eA} in program "${Me.programInfo.name}".`)}}if(Ft("info",()=>`[ProgramManager] run "${n.name}" (key=${be}) with ${de[0]}x${de[1]}x${de[2]}`),this.queryType!=="none"||this.sessionStatus==="capturing"){let Fe={kernelId:this.currentKernelId,programName:Me.programInfo.name,inputTensorViews:u,outputTensorViews:Q};this.pendingKernels.push(Fe),this.sessionStatus==="capturing"&&this.capturedPendingKernels.get(this.currentSessionId).push(Fe)}return this.programManager.run(Me,v,le,de,Ae),AA(n.name),Q}upload(n,u){this.gpuDataManager.upload(n,u)}memcpy(n,u){this.gpuDataManager.memcpy(n,u)}async download(n,u){await this.gpuDataManager.download(n,u)}alloc(n){return this.gpuDataManager.create(n).id}free(n){return this.gpuDataManager.release(n)}createKernel(n,u,h,w){let B=O1.get(n);if(!B)throw new Error(`kernel not implemented: ${n}`);let E={kernelType:n,kernelName:w,kernelEntry:B[0],attributes:[B[1],h]};this.kernels.set(u,E)}releaseKernel(n){let u=this.kernelPersistentData.get(n);if(u){for(let h of u)this.gpuDataManager.release(h.id);this.kernelPersistentData.delete(n)}this.kernelCustomData.delete(n),this.kernels.delete(n)}computeKernel(n,u,h){let w=this.kernels.get(n);if(!w)throw new Error(`kernel not created: ${n}`);let B=w.kernelType,E=w.kernelName,v=w.kernelEntry,P=w.attributes;if(this.currentKernelId!==null)throw new Error(`kernel "[${B}] ${E}" is not allowed to be called recursively`);this.currentKernelId=n,P[0]&&(P[1]=P[0](P[1]),P[0]=void 0),Ft("info",()=>`[WebGPU] Start to run kernel "[${B}] ${E}"...`);let N=this.env.debug;this.temporaryData=[];try{return N&&this.device.pushErrorScope("validation"),v(u,P[1]),0}catch(L){return h.push(Promise.resolve(`[WebGPU] Kernel "[${B}] ${E}" failed. ${L}`)),1}finally{N&&h.push(this.device.popErrorScope().then(L=>L?`GPU validation error for kernel "[${B}] ${E}": ${L.message}`:null));for(let L of this.temporaryData)this.gpuDataManager.release(L.id);this.temporaryData=[],this.currentKernelId=null}}registerBuffer(n,u,h,w){let B=this.sessionExternalDataMapping.get(n);B||(B=new Map,this.sessionExternalDataMapping.set(n,B));let E=B.get(u),v=this.gpuDataManager.registerExternalBuffer(h,w,E);return B.set(u,[v,h]),v}unregisterBuffers(n){let u=this.sessionExternalDataMapping.get(n);u&&(u.forEach(h=>this.gpuDataManager.unregisterExternalBuffer(h[0])),this.sessionExternalDataMapping.delete(n))}getBuffer(n){let u=this.gpuDataManager.get(n);if(!u)throw new Error(`no GPU data for buffer: ${n}`);return u.buffer}createDownloader(n,u,h){return async()=>{let w=await re(this,n,u);return ka(w.buffer,h)}}writeTimestamp(n){this.queryType==="inside-passes"&&this.computePassEncoder.writeTimestamp(this.querySet,n)}setQueryType(){var n;this.queryType="none",(((n=this.env.webgpu.profiling)==null?void 0:n.mode)==="default"||(typeof this.env.trace>"u"?this.env.wasm.trace:this.env.trace))&&(this.device.features.has("chromium-experimental-timestamp-query-inside-passes")?this.queryType="inside-passes":this.device.features.has("timestamp-query")&&(this.queryType="at-passes"),this.queryType!=="none"&&typeof this.querySet>"u"&&(this.querySet=this.device.createQuerySet({type:"timestamp",count:2*this.maxDispatchNumber}),this.queryResolveBuffer=this.device.createBuffer({size:2*this.maxDispatchNumber*8,usage:GPUBufferUsage.COPY_SRC|GPUBufferUsage.QUERY_RESOLVE})))}captureBegin(){Ft("info","captureBegin"),this.capturedCommandList.get(this.currentSessionId)||this.capturedCommandList.set(this.currentSessionId,[]),this.capturedPendingKernels.get(this.currentSessionId)||this.capturedPendingKernels.set(this.currentSessionId,[]),this.flush(),this.sessionStatus="capturing"}captureEnd(){Ft("info","captureEnd"),this.flush(),this.sessionStatus="default"}replay(){Ft("info","replay"),this.sessionStatus="replaying";let n=this.capturedCommandList.get(this.currentSessionId),u=this.capturedPendingKernels.get(this.currentSessionId),h=n.length;this.pendingKernels=[];for(let w=0;w<h;w++){let B=this.getComputePassEncoder(),E=n[w];this.writeTimestamp(2*this.pendingDispatchNumber),B.setPipeline(E.computePipeline),B.setBindGroup(0,E.bindGroup),B.dispatchWorkgroups(...E.dispatchGroup),this.writeTimestamp(2*this.pendingDispatchNumber+1),this.pendingDispatchNumber++,this.queryType!=="none"&&this.pendingKernels.push(u[w]),(this.pendingDispatchNumber>=this.maxDispatchNumber||this.queryType==="at-passes")&&this.endComputePass(),this.pendingDispatchNumber>=this.maxDispatchNumber&&this.flush()}this.flush(),this.sessionStatus="default"}onCreateSession(){this.gpuDataManager.onCreateSession()}onReleaseSession(n){this.unregisterBuffers(n),this.capturedCommandList.has(n)&&this.capturedCommandList.delete(n),this.capturedPendingKernels.has(n)&&this.capturedPendingKernels.delete(n),this.gpuDataManager.onReleaseSession(n)}onRunStart(n){this.currentSessionId=n,this.setQueryType()}}}),Ka=Pe(()=>{mi(),u1=1,qo=()=>u1++,d1=new Map([["float32",32],["float16",16],["int32",32],["uint32",32],["int64",64],["uint64",64],["int8",8],["uint8",8],["int4",4],["uint4",4]]),Jo=(n,u)=>{let h=d1.get(n);if(!h)throw new Error("Unsupported data type.");return u.length>0?Math.ceil(u.reduce((w,B)=>w*B)*h/8):0},_o=class{constructor(n){this.sessionId=n.sessionId,this.mlContext=n.context,this.mlTensor=n.tensor,this.dataType=n.dataType,this.tensorShape=n.shape}get tensor(){return this.mlTensor}get type(){return this.dataType}get shape(){return this.tensorShape}get byteLength(){return Jo(this.dataType,this.tensorShape)}destroy(){Ft("verbose",()=>"[WebNN] TensorWrapper.destroy"),this.mlTensor.destroy()}write(n){this.mlContext.writeTensor(this.mlTensor,n)}async read(n){return n?this.mlContext.readTensor(this.mlTensor,n):this.mlContext.readTensor(this.mlTensor)}canReuseTensor(n,u,h){return this.mlContext===n&&this.dataType===u&&this.tensorShape.length===h.length&&this.tensorShape.every((w,B)=>w===h[B])}},$o=class{constructor(n,u){this.tensorManager=n,this.wrapper=u}get tensorWrapper(){return this.wrapper}releaseTensor(){this.tensorWrapper&&(this.tensorManager.releaseTensor(this.tensorWrapper),this.wrapper=void 0)}async ensureTensor(n,u,h,w){if(this.wrapper){if(this.wrapper.canReuseTensor(n,u,h))return this.wrapper.tensor;if(w){if(this.wrapper.byteLength!==Jo(u,h))throw new Error("Unable to copy data to tensor with different size.");this.activeUpload=new Uint8Array(await this.wrapper.read())}this.tensorManager.releaseTensor(this.wrapper)}let B=typeof MLTensorUsage>"u"?void 0:MLTensorUsage.READ|MLTensorUsage.WRITE;return this.wrapper=await this.tensorManager.getCachedTensor(u,h,B,!0,!0),w&&this.activeUpload&&(this.wrapper.write(this.activeUpload),this.activeUpload=void 0),this.wrapper.tensor}upload(n){if(this.wrapper){if(n.byteLength===this.wrapper.byteLength)return void this.wrapper.write(n);Ft("verbose",()=>"Data size does not match tensor size. Releasing tensor."),this.releaseTensor()}this.activeUpload?this.activeUpload.set(n):this.activeUpload=new Uint8Array(n)}async download(n){if(this.activeUpload)return n?void(n instanceof ArrayBuffer?new Uint8Array(n).set(this.activeUpload):new Uint8Array(n.buffer,n.byteOffset,n.byteLength).set(this.activeUpload)):this.activeUpload.buffer;if(!this.wrapper)throw new Error("Tensor has not been created.");return n?this.wrapper.read(n):this.wrapper.read()}},f1=class{constructor(n){this.backend=n,this.tensorTrackersById=new Map,this.freeTensors=[],this.externalTensors=new Set}reserveTensorId(){let n=qo();return this.tensorTrackersById.set(n,new $o(this)),n}releaseTensorId(n){let u=this.tensorTrackersById.get(n);u&&(this.tensorTrackersById.delete(n),u.tensorWrapper&&this.releaseTensor(u.tensorWrapper))}async ensureTensor(n,u,h,w){Ft("verbose",()=>`[WebNN] TensorManager.ensureTensor {tensorId: ${n}, dataType: ${u}, shape: ${h}, copyOld: ${w}}`);let B=this.tensorTrackersById.get(n);if(!B)throw new Error("Tensor not found.");return B.ensureTensor(this.backend.currentContext,u,h,w)}upload(n,u){let h=this.tensorTrackersById.get(n);if(!h)throw new Error("Tensor not found.");h.upload(u)}async download(n,u){Ft("verbose",()=>`[WebNN] TensorManager.download {tensorId: ${n}, dstBuffer: ${u==null?void 0:u.byteLength}}`);let h=this.tensorTrackersById.get(n);if(!h)throw new Error("Tensor not found.");return h.download(u)}releaseTensorsForSession(n){for(let u of this.freeTensors)u.sessionId===n&&u.destroy();this.freeTensors=this.freeTensors.filter(u=>u.sessionId!==n)}registerTensor(n,u,h,w){let B=qo(),E=new _o({sessionId:this.backend.currentSessionId,context:n,tensor:u,dataType:h,shape:w});return this.tensorTrackersById.set(B,new $o(this,E)),this.externalTensors.add(E),B}async getCachedTensor(n,u,h,w,B){let E=this.backend.currentSessionId,v=this.backend.currentContext;for(let[N,L]of this.freeTensors.entries())if(L.canReuseTensor(v,n,u)){Ft("verbose",()=>`[WebNN] Reusing tensor {dataType: ${n}, shape: ${u}}`);let ee=this.freeTensors.splice(N,1)[0];return ee.sessionId=E,ee}Ft("verbose",()=>`[WebNN] MLContext.createTensor {dataType: ${n}, shape: ${u}}`);let P=await v.createTensor({dataType:n,shape:u,dimensions:u,usage:h,writable:w,readable:B});return new _o({sessionId:E,context:v,tensor:P,dataType:n,shape:u})}releaseTensor(n){this.externalTensors.has(n)&&this.externalTensors.delete(n),this.freeTensors.push(n)}},Y1=(...n)=>new f1(...n)}),on=Pe(()=>{Mt(),sn(),I1(),Ka(),mi(),e2=new Map([[1,"float32"],[10,"float16"],[6,"int32"],[12,"uint32"],[7,"int64"],[13,"uint64"],[22,"int4"],[21,"uint4"],[3,"int8"],[2,"uint8"],[9,"uint8"]]),p1=(n,u)=>{if(n===u)return!0;if(n===void 0||u===void 0)return!1;let h=Object.keys(n).sort(),w=Object.keys(u).sort();return h.length===w.length&&h.every((B,E)=>B===w[E]&&n[B]===u[B])},h1=class{constructor(n){this.tensorManager=Y1(this),this.mlContextBySessionId=new Map,this.sessionIdsByMLContext=new Map,this.mlContextCache=[],Gs(n.logLevel,!!n.debug)}get currentSessionId(){if(this.activeSessionId===void 0)throw new Error("No active session");return this.activeSessionId}onRunStart(n){this.activeSessionId=n}async createMLContext(n){if(n instanceof GPUDevice){let h=this.mlContextCache.findIndex(w=>w.gpuDevice===n);if(h!==-1)return this.mlContextCache[h].mlContext;{let w=await navigator.ml.createContext(n);return this.mlContextCache.push({gpuDevice:n,mlContext:w}),w}}if(n===void 0){let h=this.mlContextCache.findIndex(w=>w.options===void 0&&w.gpuDevice===void 0);if(h!==-1)return this.mlContextCache[h].mlContext;{let w=await navigator.ml.createContext();return this.mlContextCache.push({mlContext:w}),w}}let u=this.mlContextCache.findIndex(h=>p1(h.options,n));if(u!==-1)return this.mlContextCache[u].mlContext;{let h=await navigator.ml.createContext(n);return this.mlContextCache.push({options:n,mlContext:h}),h}}get currentContext(){let n=this.getMLContext(this.currentSessionId);if(!n)throw new Error(`No MLContext found for session ${this.currentSessionId}`);return n}registerMLContext(n,u){this.mlContextBySessionId.set(n,u);let h=this.sessionIdsByMLContext.get(u);h||(h=new Set,this.sessionIdsByMLContext.set(u,h)),h.add(n)}onReleaseSession(n){let u=this.mlContextBySessionId.get(n);if(!u)return;this.tensorManager.releaseTensorsForSession(n),this.mlContextBySessionId.delete(n);let h=this.sessionIdsByMLContext.get(u);if(h.delete(n),h.size===0){this.sessionIdsByMLContext.delete(u);let w=this.mlContextCache.findIndex(B=>B.mlContext===u);w!==-1&&this.mlContextCache.splice(w,1)}}getMLContext(n){return this.mlContextBySessionId.get(n)}reserveTensorId(){return this.tensorManager.reserveTensorId()}releaseTensorId(n){Ft("verbose",()=>`[WebNN] releaseTensorId {tensorId: ${n}}`),this.tensorManager.releaseTensorId(n)}async ensureTensor(n,u,h,w){let B=e2.get(u);if(!B)throw new Error(`Unsupported ONNX data type: ${u}`);return this.tensorManager.ensureTensor(n,B,h,w)}uploadTensor(n,u){if(!zr().shouldTransferToMLTensor)throw new Error("Trying to upload to a MLTensor while shouldTransferToMLTensor is false");Ft("verbose",()=>`[WebNN] uploadTensor {tensorId: ${n}, data: ${u.byteLength}}`),this.tensorManager.upload(n,u)}async downloadTensor(n,u){return this.tensorManager.download(n,u)}createMLTensorDownloader(n,u){return async()=>{let h=await this.tensorManager.download(n);return ka(h,u)}}registerMLTensor(n,u,h){let w=e2.get(u);if(!w)throw new Error(`Unsupported ONNX data type: ${u}`);let B=this.tensorManager.registerTensor(this.currentContext,n,w,h);return Ft("verbose",()=>`[WebNN] registerMLTensor {tensor: ${n}, dataType: ${w}, dimensions: ${h}} -> {tensorId: ${B}}`),B}registerMLConstant(n,u,h,w,B,E){if(!E)throw new Error("External mounted files are not available.");let v=n;n.startsWith("./")&&(v=n.substring(2));let P=E.get(v);if(!P)throw new Error(`File with name ${v} not found in preloaded files.`);if(u+h>P.byteLength)throw new Error("Out of bounds: data offset and length exceed the external file data size.");let N,L=P.slice(u,u+h).buffer;switch(B.dataType){case"float32":N=new Float32Array(L);break;case"float16":N=new Uint16Array(L);break;case"int32":N=new Int32Array(L);break;case"uint32":N=new Uint32Array(L);break;case"int64":N=new BigInt64Array(L);break;case"uint64":N=new BigUint64Array(L);break;case"int8":N=new Int8Array(L);break;case"int4":case"uint4":case"uint8":N=new Uint8Array(L);break;default:throw new Error(`Unsupported data type: ${B.dataType} in creating WebNN Constant from external data.`)}return Ft("verbose",()=>`[WebNN] registerMLConstant {dataType: ${B.dataType}, shape: ${B.shape}}}`),w.constant(B,N)}flush(){}}}),A0={};xA(A0,{init:()=>w1});var ln,V0,w1,rc,Qr,ga,ss,cn,Oi,j0,io,no,oo,k1,lo,_s,is,t0,r0,gn,l2,x1,c2,vs,Ra,ig,ng,og,lg,cg,gg,ug,dg,Bc,fg,pg,uf=Pe(()=>{Mt(),br(),mi(),St(),on(),ln=class qu{constructor(u,h,w,B){this.module=u,this.dataType=h,this.data=w,this.dims=B}getFloat32Array(){if(this.dataType!==1)throw new Error("Invalid data type");let u=Le.size(this.dims);return u===0?new Float32Array:new Float32Array(this.module.HEAP8.buffer,this.data,u)}getBigInt64Array(){if(this.dataType!==7)throw new Error("Invalid data type");let u=Le.size(this.dims);return u===0?new BigInt64Array:new BigInt64Array(this.module.HEAP8.buffer,this.data,u)}getInt32Array(){if(this.dataType!==6)throw new Error("Invalid data type");let u=Le.size(this.dims);return u===0?new Int32Array:new Int32Array(this.module.HEAP8.buffer,this.data,u)}getUint16Array(){if(this.dataType!==10&&this.dataType!==4)throw new Error("Invalid data type");let u=Le.size(this.dims);return u===0?new Uint16Array:new Uint16Array(this.module.HEAP8.buffer,this.data,u)}reshape(u){if(Le.size(u)!==Le.size(this.dims))throw new Error("Invalid new shape");return new qu(this.module,this.dataType,this.data,u)}},V0=class{constructor(n,u,h){this.module=n,this.backend=u,this.customDataOffset=0,this.customDataSize=0,this.adapterInfo=u.adapterInfo,this.deviceInfo=u.deviceInfo;let w=n.PTR_SIZE,B=h/n.PTR_SIZE,E=w===4?"i32":"i64";this.opKernelContext=Number(n.getValue(w*B++,E));let v=Number(n.getValue(w*B++,E));this.outputCount=Number(n.getValue(w*B++,E)),this.customDataOffset=Number(n.getValue(w*B++,"*")),this.customDataSize=Number(n.getValue(w*B++,E));let P=[];for(let N=0;N<v;N++){let L=Number(n.getValue(w*B++,E)),ee=Number(n.getValue(w*B++,"*")),Ae=Number(n.getValue(w*B++,E)),Q=[];for(let le=0;le<Ae;le++)Q.push(Number(n.getValue(w*B++,E)));P.push(new ln(n,L,ee,Q))}this.inputs=P}get kernelCustomData(){return this.backend.currentKernelCustomData}get customDataBuffer(){return this.module.HEAPU8.subarray(this.customDataOffset,this.customDataOffset+this.customDataSize)}compute(n,u){var B;let h=((B=u==null?void 0:u.inputs)==null?void 0:B.map(E=>typeof E=="number"?this.inputs[E]:E))??this.inputs,w=(u==null?void 0:u.outputs)??[];return this.backend.run(n,h,w,(E,v,P)=>new ln(this.module,v,this.output(E,P),P),(E,v)=>{let P=bs(E,v);if(!P)throw new Error(`Unsupported data type: ${E}`);let N=P>0?this.backend.gpuDataManager.create(P).id:0;return new ln(this.module,E,N,v)},this.outputCount)}output(n,u){let h=this.module.stackSave();try{let w=this.module.PTR_SIZE,B=w===4?"i32":"i64",E=this.module.stackAlloc((1+u.length)*w);this.module.setValue(E,u.length,B);for(let v=0;v<u.length;v++)this.module.setValue(E+w*(v+1),u[v],B);return this.module._JsepOutput(this.opKernelContext,n,E)}catch(w){throw new Error(`Failed to generate kernel's output[${n}] with dims [${u}]. If you are running with pre-allocated output, please make sure the output type/dims are correct. Error: ${w}`)}finally{this.module.stackRestore(h)}}},w1=async(n,u,h,w)=>{let B=u.jsepInit;if(!B)throw new Error("Failed to initialize JSEP. The WebAssembly module is not built with JSEP support.");if(n==="webgpu"){let E=new g1;await E.initialize(h,w),B("webgpu",[E,v=>E.alloc(Number(v)),v=>E.free(v),(v,P,N,L=!1)=>{if(L)Ft("verbose",()=>`[WebGPU] jsepCopyGpuToGpu: src=${Number(v)}, dst=${Number(P)}, size=${Number(N)}`),E.memcpy(Number(v),Number(P));else{Ft("verbose",()=>`[WebGPU] jsepCopyCpuToGpu: dataOffset=${Number(v)}, gpuDataId=${Number(P)}, size=${Number(N)}`);let ee=u.HEAPU8.subarray(Number(v>>>0),Number(v>>>0)+Number(N));E.upload(Number(P),ee)}},async(v,P,N)=>{Ft("verbose",()=>`[WebGPU] jsepCopyGpuToCpu: gpuDataId=${v}, dataOffset=${P}, size=${N}`),await E.download(Number(v),()=>u.HEAPU8.subarray(Number(P)>>>0,Number(P+N)>>>0))},(v,P,N)=>E.createKernel(v,Number(P),N,u.UTF8ToString(u._JsepGetNodeName(Number(P)))),v=>E.releaseKernel(v),(v,P,N,L)=>{Ft("verbose",()=>`[WebGPU] jsepRun: sessionHandle=${N}, kernel=${v}, contextDataOffset=${P}`);let ee=new V0(u,E,Number(P));return E.computeKernel(Number(v),ee,L)},()=>E.captureBegin(),()=>E.captureEnd(),()=>E.replay()])}else{let E=new h1(h);B("webnn",[E,()=>E.reserveTensorId(),v=>E.releaseTensorId(v),async(v,P,N,L)=>E.ensureTensor(v,P,N,L),(v,P)=>{E.uploadTensor(v,P)},async(v,P)=>E.downloadTensor(v,P)])}}}),hg=Pe(()=>{C1(),R1(),Mt(),sn(),m1(),b1(),rc=(n,u)=>{zr()._OrtInit(n,u)!==0&&Xt("Can't initialize onnxruntime.")},Qr=async n=>{rc(n.wasm.numThreads,$a(n.logLevel))},ga=async(n,u)=>{{let h=(uf(),iA(A0)).init;if(u==="webgpu"){if(typeof navigator>"u"||!navigator.gpu)throw new Error("WebGPU is not supported in current environment");let w=n.webgpu.adapter;if(w){if(typeof w.limits!="object"||typeof w.features!="object"||typeof w.requestDevice!="function")throw new Error("Invalid GPU adapter set in `env.webgpu.adapter`. It must be a GPUAdapter object.")}else{let B=n.webgpu.powerPreference;if(B!==void 0&&B!=="low-power"&&B!=="high-performance")throw new Error(`Invalid powerPreference setting: "${B}"`);let E=n.webgpu.forceFallbackAdapter;if(E!==void 0&&typeof E!="boolean")throw new Error(`Invalid forceFallbackAdapter setting: "${E}"`);if(w=await navigator.gpu.requestAdapter({powerPreference:B,forceFallbackAdapter:E}),!w)throw new Error('Failed to get GPU adapter. You may need to enable flag "--enable-unsafe-webgpu" if you are using Chrome.')}await h("webgpu",zr(),n,w)}if(u==="webnn"){if(typeof navigator>"u"||!navigator.ml)throw new Error("WebNN is not supported in current environment");await h("webnn",zr(),n)}}},ss=new Map,cn=n=>{let u=zr(),h=u.stackSave();try{let w=u.PTR_SIZE,B=u.stackAlloc(2*w);u._OrtGetInputOutputCount(n,B,B+w)!==0&&Xt("Can't get session input/output count.");let E=w===4?"i32":"i64";return[Number(u.getValue(B,E)),Number(u.getValue(B+w,E))]}finally{u.stackRestore(h)}},Oi=n=>{let u=zr(),h=u._malloc(n.byteLength);if(h===0)throw new Error(`Can't create a session. failed to allocate a buffer of size ${n.byteLength}.`);return u.HEAPU8.set(n,h),[h,n.byteLength]},j0=async(n,u)=>{var Ae,Q,le;let h,w,B=zr();Array.isArray(n)?[h,w]=n:n.buffer===B.HEAPU8.buffer?[h,w]=[n.byteOffset,n.byteLength]:[h,w]=Oi(n);let E=0,v=0,P=0,N=[],L=[],ee=[];try{if([v,N]=ki(u),(u==null?void 0:u.externalData)&&B.mountExternalData){let eA=[];for(let sA of u.externalData){let zA=typeof sA=="string"?sA:sA.path;eA.push(Ys(typeof sA=="string"?sA:sA.data).then(jA=>{B.mountExternalData(zA,jA)}))}await Promise.all(eA)}for(let eA of(u==null?void 0:u.executionProviders)??[])if((typeof eA=="string"?eA:eA.name)==="webnn"){if(B.shouldTransferToMLTensor=!1,typeof eA!="string"){let sA=eA,zA=sA==null?void 0:sA.context,jA=sA==null?void 0:sA.gpuDevice,ht=sA==null?void 0:sA.deviceType,mt=sA==null?void 0:sA.powerPreference;B.currentContext=zA||(jA?await B.jsepCreateMLContext(jA):await B.jsepCreateMLContext({deviceType:ht,powerPreference:mt}))}else B.currentContext=await B.jsepCreateMLContext();break}E=await B._OrtCreateSession(h,w,v),E===0&&Xt("Can't create a session."),(Ae=B.jsepOnCreateSession)==null||Ae.call(B),B.currentContext&&(B.jsepRegisterMLContext(E,B.currentContext),B.currentContext=void 0,B.shouldTransferToMLTensor=!0);let[de,we]=cn(E),be=!!(u!=null&&u.enableGraphCapture),Me=[],Fe=[],We=[];for(let eA=0;eA<de;eA++){let sA=B._OrtGetInputName(E,eA);sA===0&&Xt("Can't get an input name."),L.push(sA),Me.push(B.UTF8ToString(sA))}for(let eA=0;eA<we;eA++){let sA=B._OrtGetOutputName(E,eA);sA===0&&Xt("Can't get an output name."),ee.push(sA);let zA=B.UTF8ToString(sA);Fe.push(zA);{if(be&&(u==null?void 0:u.preferredOutputLocation)===void 0){We.push("gpu-buffer");continue}let jA=typeof(u==null?void 0:u.preferredOutputLocation)=="string"?u.preferredOutputLocation:((Q=u==null?void 0:u.preferredOutputLocation)==null?void 0:Q[zA])??"cpu";if(jA!=="cpu"&&jA!=="cpu-pinned"&&jA!=="gpu-buffer"&&jA!=="ml-tensor")throw new Error(`Not supported preferred output location: ${jA}.`);if(be&&jA!=="gpu-buffer")throw new Error(`Not supported preferred output location: ${jA}. Only 'gpu-buffer' location is supported when enableGraphCapture is true.`);We.push(jA)}}let $e=null;return We.some(eA=>eA==="gpu-buffer"||eA==="ml-tensor")&&(P=B._OrtCreateBinding(E),P===0&&Xt("Can't create IO binding."),$e={handle:P,outputPreferredLocations:We,outputPreferredLocationsEncoded:We.map(eA=>Ls(eA))}),ss.set(E,[E,L,ee,$e,be,!1]),[E,Me,Fe]}catch(de){throw L.forEach(we=>B._OrtFree(we)),ee.forEach(we=>B._OrtFree(we)),P!==0&&B._OrtReleaseBinding(P)!==0&&Xt("Can't release IO binding."),E!==0&&B._OrtReleaseSession(E)!==0&&Xt("Can't release session."),de}finally{B._free(h),v!==0&&B._OrtReleaseSessionOptions(v)!==0&&Xt("Can't release session options."),N.forEach(de=>B._free(de)),(le=B.unmountExternalData)==null||le.call(B)}},io=n=>{var N;let u=zr(),h=ss.get(n);if(!h)throw new Error(`cannot release session. invalid session id: ${n}`);let[w,B,E,v,P]=h;v&&(P&&u._OrtClearBoundOutputs(v.handle)!==0&&Xt("Can't clear bound outputs."),u._OrtReleaseBinding(v.handle)!==0&&Xt("Can't release IO binding.")),(N=u.jsepOnReleaseSession)==null||N.call(u,n),B.forEach(L=>u._OrtFree(L)),E.forEach(L=>u._OrtFree(L)),u._OrtReleaseSession(w)!==0&&Xt("Can't release session."),ss.delete(n)},no=(n,u,h,w,B,E=!1)=>{if(!n)return void u.push(0);let v,P,N=zr(),L=N.PTR_SIZE,ee=n[0],Ae=n[1],Q=n[3];if(ee==="string"&&(Q==="gpu-buffer"||Q==="ml-tensor"))throw new Error("String tensor is not supported on GPU.");if(E&&Q!=="gpu-buffer")throw new Error(`External buffer must be provided for input/output index ${B} when enableGraphCapture is true.`);if(Q==="gpu-buffer"){let we=n[2].gpuBuffer;P=bs(qr(ee),Ae);let be=N.jsepRegisterBuffer;if(!be)throw new Error('Tensor location "gpu-buffer" is not supported without using WebGPU.');v=be(w,B,we,P)}else if(Q==="ml-tensor"){let we=n[2].mlTensor;P=bs(qr(ee),Ae);let be=N.jsepRegisterMLTensor;if(!be)throw new Error('Tensor location "ml-tensor" is not supported without using WebNN.');v=be(we,qr(ee),Ae)}else{let we=n[2];if(Array.isArray(we)){P=L*we.length,v=N._malloc(P),h.push(v);for(let be=0;be<we.length;be++){if(typeof we[be]!="string")throw new TypeError(`tensor data at index ${be} is not a string`);N.setValue(v+be*L,jr(we[be],h),"*")}}else P=we.byteLength,v=N._malloc(P),h.push(v),N.HEAPU8.set(new Uint8Array(we.buffer,we.byteOffset,P),v)}let le=N.stackSave(),de=N.stackAlloc(4*Ae.length);try{Ae.forEach((be,Me)=>N.setValue(de+Me*L,be,L===4?"i32":"i64"));let we=N._OrtCreateTensor(qr(ee),v,P,de,Ae.length,Ls(Q));we===0&&Xt(`Can't create tensor for input/output. session=${w}, index=${B}.`),u.push(we)}finally{N.stackRestore(le)}},oo=async(n,u,h,w,B,E)=>{var Jt,Ct;let v=zr(),P=v.PTR_SIZE,N=ss.get(n);if(!N)throw new Error(`cannot run inference. invalid session id: ${n}`);let L=N[0],ee=N[1],Ae=N[2],Q=N[3],le=N[4],de=N[5],we=u.length,be=w.length,Me=0,Fe=[],We=[],$e=[],eA=[],sA=v.stackSave(),zA=v.stackAlloc(we*P),jA=v.stackAlloc(we*P),ht=v.stackAlloc(be*P),mt=v.stackAlloc(be*P);try{(Jt=v.jsepOnRunStart)==null||Jt.call(v,L),[Me,Fe]=_a(E);for(let nA=0;nA<we;nA++)no(h[nA],We,eA,n,u[nA],le);for(let nA=0;nA<be;nA++)no(B[nA],$e,eA,n,we+w[nA],le);for(let nA=0;nA<we;nA++)v.setValue(zA+nA*P,We[nA],"*"),v.setValue(jA+nA*P,ee[u[nA]],"*");for(let nA=0;nA<be;nA++)v.setValue(ht+nA*P,$e[nA],"*"),v.setValue(mt+nA*P,Ae[w[nA]],"*");if(Q&&!de){let{handle:nA,outputPreferredLocations:gt,outputPreferredLocationsEncoded:st}=Q;if(ee.length!==we)throw new Error(`input count from feeds (${we}) is expected to be always equal to model's input count (${ee.length}).`);for(let ot=0;ot<we;ot++){let ir=u[ot];await v._OrtBindInput(nA,ee[ir],We[ot])!==0&&Xt(`Can't bind input[${ot}] for session=${n}.`)}for(let ot=0;ot<be;ot++){let ir=w[ot];(Ct=B[ot])!=null&&Ct[3]?v._OrtBindOutput(nA,Ae[ir],$e[ot],0)!==0&&Xt(`Can't bind pre-allocated output[${ot}] for session=${n}.`):v._OrtBindOutput(nA,Ae[ir],0,st[ir])!==0&&Xt(`Can't bind output[${ot}] to ${gt[ot]} for session=${n}.`)}ss.set(n,[L,ee,Ae,Q,le,!0])}let Pt;Pt=Q?await v._OrtRunWithBinding(L,Q.handle,be,ht,Me):await v._OrtRun(L,jA,zA,we,mt,be,ht,Me),Pt!==0&&Xt("failed to call OrtRun().");let Qt=[];for(let nA=0;nA<be;nA++){let gt=Number(v.getValue(ht+nA*P,"*"));if(gt===$e[nA]){Qt.push(B[nA]);continue}let st,ot=v.stackSave(),ir=v.stackAlloc(4*P),ua=!1,Za=0;try{v._OrtGetTensorData(gt,ir,ir+P,ir+2*P,ir+3*P)!==0&&Xt(`Can't access output tensor data on index ${nA}.`);let un=P===4?"i32":"i64",a0=Number(v.getValue(ir,un));Za=v.getValue(ir+P,"*");let co=v.getValue(ir+2*P,"*"),Ci=Number(v.getValue(ir+3*P,un)),dn=[];for(let kr=0;kr<Ci;kr++)dn.push(Number(v.getValue(co+kr*P,un)));v._OrtFree(co)!==0&&Xt("Can't free memory for tensor dims.");let fn=dn.reduce((kr,ys)=>kr*ys,1);st=ls(a0);let bi=Q==null?void 0:Q.outputPreferredLocations[w[nA]];if(st==="string"){if(bi==="gpu-buffer"||bi==="ml-tensor")throw new Error("String tensor is not supported on GPU.");let kr=[];for(let ys=0;ys<fn;ys++){let s0=v.getValue(Za+ys*P,"*"),Ec=v.getValue(Za+(ys+1)*P,"*"),go=ys===fn-1?void 0:Ec-s0;kr.push(v.UTF8ToString(s0,go))}Qt.push([st,dn,kr,"cpu"])}else if(bi==="gpu-buffer"&&fn>0){let kr=v.jsepGetBuffer;if(!kr)throw new Error('preferredLocation "gpu-buffer" is not supported without using WebGPU.');let ys=kr(Za),s0=bs(a0,fn);if(s0===void 0||!Es(st))throw new Error(`Unsupported data type: ${st}`);ua=!0,Qt.push([st,dn,{gpuBuffer:ys,download:v.jsepCreateDownloader(ys,s0,st),dispose:()=>{v._OrtReleaseTensor(gt)!==0&&Xt("Can't release tensor.")}},"gpu-buffer"])}else if(bi==="ml-tensor"&&fn>0){let kr=v.jsepEnsureTensor;if(!kr)throw new Error('preferredLocation "ml-tensor" is not supported without using WebNN.');if(bs(a0,fn)===void 0||!Br(st))throw new Error(`Unsupported data type: ${st}`);let ys=await kr(Za,a0,dn,!1);ua=!0,Qt.push([st,dn,{mlTensor:ys,download:v.jsepCreateMLTensorDownloader(Za,st),dispose:()=>{v.jsepReleaseTensorId(Za),v._OrtReleaseTensor(gt)}},"ml-tensor"])}else{let kr=new(ti(st))(fn);new Uint8Array(kr.buffer,kr.byteOffset,kr.byteLength).set(v.HEAPU8.subarray(Za,Za+kr.byteLength)),Qt.push([st,dn,kr,"cpu"])}}finally{v.stackRestore(ot),st==="string"&&Za&&v._free(Za),ua||v._OrtReleaseTensor(gt)}}return Q&&!le&&(v._OrtClearBoundOutputs(Q.handle)!==0&&Xt("Can't clear bound outputs."),ss.set(n,[L,ee,Ae,Q,le,!1])),Qt}finally{v.stackRestore(sA),We.forEach(Pt=>v._OrtReleaseTensor(Pt)),$e.forEach(Pt=>v._OrtReleaseTensor(Pt)),eA.forEach(Pt=>v._free(Pt)),Me!==0&&v._OrtReleaseRunOptions(Me),Fe.forEach(Pt=>v._free(Pt))}},k1=n=>{let u=zr(),h=ss.get(n);if(!h)throw new Error("invalid session id");let w=h[0],B=u._OrtEndProfiling(w);B===0&&Xt("Can't get an profile file name."),u._OrtFree(B)},lo=n=>{let u=[];for(let h of n){let w=h[2];!Array.isArray(w)&&"buffer"in w&&u.push(w.buffer)}return u}}),mg=Pe(()=>{dA(),hg(),sn(),A2(),_s=()=>!!Z.wasm.proxy&&typeof document<"u",t0=!1,r0=!1,gn=!1,c2=new Map,vs=(n,u)=>{let h=c2.get(n);h?h.push(u):c2.set(n,[u])},Ra=()=>{if(t0||!r0||gn||!is)throw new Error("worker not ready")},ig=n=>{switch(n.data.type){case"init-wasm":t0=!1,n.data.err?(gn=!0,x1[1](n.data.err)):(r0=!0,x1[0]()),l2&&(URL.revokeObjectURL(l2),l2=void 0);break;case"init-ep":case"copy-from":case"create":case"release":case"run":case"end-profiling":{let u=c2.get(n.data.type);n.data.err?u.shift()[1](n.data.err):u.shift()[0](n.data.out);break}}},ng=async()=>{if(!r0){if(t0)throw new Error("multiple calls to 'initWasm()' detected.");if(gn)throw new Error("previous call to 'initWasm()' failed.");if(t0=!0,_s())return new Promise((n,u)=>{is==null||is.terminate(),Kt().then(([h,w])=>{var B;try{(is=w).onerror=v=>u(v),is.onmessage=ig,x1=[n,u];let E={type:"init-wasm",in:Z};!E.in.wasm.wasmPaths&&(h||(B=import.meta.url)!=null&&B.startsWith("file:"))&&(E.in.wasm.wasmPaths={wasm:new URL(d("./node_modules/onnxruntime-web/dist/ort-wasm-simd-threaded.jsep.wasm"),d.b).href}),is.postMessage(E),l2=h}catch(E){u(E)}},u)});try{await Ga(Z.wasm),await Qr(Z),r0=!0}catch(n){throw gn=!0,n}finally{t0=!1}}},og=async n=>{if(_s())return Ra(),new Promise((u,h)=>{vs("init-ep",[u,h]);let w={type:"init-ep",in:{epName:n,env:Z}};is.postMessage(w)});await ga(Z,n)},lg=async n=>_s()?(Ra(),new Promise((u,h)=>{vs("copy-from",[u,h]);let w={type:"copy-from",in:{buffer:n}};is.postMessage(w,[n.buffer])})):Oi(n),cg=async(n,u)=>{if(_s()){if(u!=null&&u.preferredOutputLocation)throw new Error('session option "preferredOutputLocation" is not supported for proxy.');return Ra(),new Promise((h,w)=>{vs("create",[h,w]);let B={type:"create",in:{model:n,options:{...u}}},E=[];n instanceof Uint8Array&&E.push(n.buffer),is.postMessage(B,E)})}return j0(n,u)},gg=async n=>{if(_s())return Ra(),new Promise((u,h)=>{vs("release",[u,h]);let w={type:"release",in:n};is.postMessage(w)});io(n)},ug=async(n,u,h,w,B,E)=>{if(_s()){if(h.some(v=>v[3]!=="cpu"))throw new Error("input tensor on GPU is not supported for proxy.");if(B.some(v=>v))throw new Error("pre-allocated output tensor is not supported for proxy.");return Ra(),new Promise((v,P)=>{vs("run",[v,P]);let N=h,L={type:"run",in:{sessionId:n,inputIndices:u,inputs:N,outputIndices:w,options:E}};is.postMessage(L,lo(N))})}return oo(n,u,h,w,B,E)},dg=async n=>{if(_s())return Ra(),new Promise((u,h)=>{vs("end-profiling",[u,h]);let w={type:"end-profiling",in:n};is.postMessage(w)});k1(n)}}),df=Pe(()=>{dA(),mg(),Mt(),bA(),b1(),Bc=(n,u)=>{switch(n.location){case"cpu":return[n.type,n.dims,n.data,"cpu"];case"gpu-buffer":return[n.type,n.dims,{gpuBuffer:n.gpuBuffer},"gpu-buffer"];case"ml-tensor":return[n.type,n.dims,{mlTensor:n.mlTensor},"ml-tensor"];default:throw new Error(`invalid data location: ${n.location} for ${u()}`)}},fg=n=>{switch(n[3]){case"cpu":return new z(n[0],n[2],n[1]);case"gpu-buffer":{let u=n[0];if(!Es(u))throw new Error(`not supported data type: ${u} for deserializing GPU tensor`);let{gpuBuffer:h,download:w,dispose:B}=n[2];return z.fromGpuBuffer(h,{dataType:u,dims:n[1],download:w,dispose:B})}case"ml-tensor":{let u=n[0];if(!Br(u))throw new Error(`not supported data type: ${u} for deserializing MLTensor tensor`);let{mlTensor:h,download:w,dispose:B}=n[2];return z.fromMLTensor(h,{dataType:u,dims:n[1],download:w,dispose:B})}default:throw new Error(`invalid data location: ${n[3]}`)}},pg=class{async fetchModelAndCopyToWasmMemory(n){return lg(await Ys(n))}async loadModel(n,u){let h;Oe(),h=typeof n=="string"?await this.fetchModelAndCopyToWasmMemory(n):n,[this.sessionId,this.inputNames,this.outputNames]=await cg(h,u),AA()}async dispose(){return gg(this.sessionId)}async run(n,u,h){Oe();let w=[],B=[];Object.entries(n).forEach(Ae=>{let Q=Ae[0],le=Ae[1],de=this.inputNames.indexOf(Q);if(de===-1)throw new Error(`invalid input '${Q}'`);w.push(le),B.push(de)});let E=[],v=[];Object.entries(u).forEach(Ae=>{let Q=Ae[0],le=Ae[1],de=this.outputNames.indexOf(Q);if(de===-1)throw new Error(`invalid output '${Q}'`);E.push(le),v.push(de)});let P=w.map((Ae,Q)=>Bc(Ae,()=>`input "${this.inputNames[B[Q]]}"`)),N=E.map((Ae,Q)=>Ae?Bc(Ae,()=>`output "${this.outputNames[v[Q]]}"`):null),L=await ug(this.sessionId,B,P,v,N,h),ee={};for(let Ae=0;Ae<L.length;Ae++)ee[this.outputNames[v[Ae]]]=E[Ae]??fg(L[Ae]);return AA(),ee}startProfiling(){}endProfiling(){dg(this.sessionId)}}}),Cg={};xA(Cg,{OnnxruntimeWebAssemblyBackend:()=>yc,initializeFlags:()=>vc,wasmBackend:()=>bg});var vc,yc,bg,ff=Pe(()=>{dA(),mg(),df(),vc=()=>{if((typeof Z.wasm.initTimeout!="number"||Z.wasm.initTimeout<0)&&(Z.wasm.initTimeout=0),Z.wasm.simd===!1&&console.warn('Deprecated property "env.wasm.simd" is set to false. non-SIMD build is no longer provided, and this setting will be ignored.'),typeof Z.wasm.proxy!="boolean"&&(Z.wasm.proxy=!1),typeof Z.wasm.trace!="boolean"&&(Z.wasm.trace=!1),typeof Z.wasm.numThreads!="number"||!Number.isInteger(Z.wasm.numThreads)||Z.wasm.numThreads<=0)if(typeof self<"u"&&!self.crossOriginIsolated)Z.wasm.numThreads=1;else{let n=typeof navigator>"u"?Ke("node:os").cpus().length:navigator.hardwareConcurrency;Z.wasm.numThreads=Math.min(4,Math.ceil((n||1)/2))}},yc=class{async init(n){vc(),await ng(),await og(n)}async createInferenceSessionHandler(n,u){let h=new pg;return await h.loadModel(n,u),Promise.resolve(h)}},bg=new yc});dA(),dA(),dA();var pf=_e;{let n=(ff(),iA(Cg)).wasmBackend;j("webgpu",n,5),j("webnn",n,5),j("cpu",n,10),j("wasm",n,10)}Object.defineProperty(Z.versions,"web",{value:"1.21.0-dev.20250206-d981b153d3",enumerable:!0})},
2730"./src/backends/onnx.js":(x,C,d)=>{var k;d.r(C),d.d(C,{Tensor:()=>V.Tensor,createInferenceSession:()=>Ee,deviceToExecutionProviders:()=>me,isONNXProxy:()=>ve,isONNXTensor:()=>ie});var F=d("./src/env.js"),j=d("?2ce3"),O=d("./node_modules/onnxruntime-web/dist/ort.bundle.min.mjs?3a96"),V=d("./node_modules/onnxruntime-common/dist/esm/index.js");const X=Object.freeze({auto:null,gpu:null,cpu:"cpu",wasm:"wasm",webgpu:"webgpu",cuda:"cuda",dml:"dml",webnn:{name:"webnn",deviceType:"cpu"},"webnn-npu":{name:"webnn",deviceType:"npu"},"webnn-gpu":{name:"webnn",deviceType:"gpu"},"webnn-cpu":{name:"webnn",deviceType:"cpu"}}),R=[];let S,Z;const W=Symbol.for("onnxruntime");if(W in globalThis)Z=globalThis[W];else if(F.apis.IS_NODE_ENV){switch(Z=j??(k||(k=d.t(j,2))),process.platform){case"win32":R.push("dml");break;case"linux":process.arch==="x64"&&R.push("cuda")}R.push("cpu"),S=["cpu"]}else Z=O,F.apis.IS_WEBNN_AVAILABLE&&R.push("webnn-npu","webnn-gpu","webnn-cpu","webnn"),F.apis.IS_WEBGPU_AVAILABLE&&R.push("webgpu"),R.push("wasm"),S=["wasm"];const te=Z.InferenceSession;function me(g=null){if(!g)return S;switch(g){case"auto":return R;case"gpu":return R.filter(b=>["webgpu","cuda","dml","webnn-gpu"].includes(b))}if(R.includes(g))return[X[g]??g];throw new Error(`Unsupported device: "${g}". Should be one of: ${R.join(", ")}.`)}let Be=null;async function Ee(g,b,e){Be&&await Be;const l=te.create(g,b);Be??(Be=l);const M=await l;return M.config=e,M}function ie(g){return g instanceof Z.Tensor}const ne=Z==null?void 0:Z.env;function ve(){var g;return(g=ne==null?void 0:ne.wasm)==null?void 0:g.proxy}ne!=null&&ne.wasm&&(ne.wasm.wasmPaths=`https://cdn.jsdelivr.net/npm/@huggingface/transformers@${F.env.version}/dist/`,ne.wasm.proxy=!1,typeof crossOriginIsolated<"u"&&crossOriginIsolated||(ne.w
2730asm.numThreads=1)),ne!=null&&ne.webgpu&&(ne.webgpu.powerPreference="high-performance"),F.env.backends.onnx=ne},
2730"./src/base/feature_extraction_utils.js":(x,C,d)=>{d.r(C),d.d(C,{FeatureExtractor:()=>O,validate_audio_inputs:()=>V});var k=d("./src/utils/constants.js"),F=d("./src/utils/generic.js"),j=d("./src/utils/hub.js");class O extends F.Callable{constructor(R){super(),this.config=R}static async from_pretrained(R,S){return new this(await(0,j.getModelJSON)(R,k.FEATURE_EXTRACTOR_NAME,!0,S))}}function V(X,R){var S;if(!(X instanceof Float32Array||X instanceof Float64Array))throw new Error(`${R} expects input to be a Float32Array or a Float64Array, but got ${((S=X==null?void 0:X.constructor)==null?void 0:S.name)??typeof X} instead. If using the feature extractor directly, remember to use \`read_audio(url, sampling_rate)\` to obtain the raw audio data of the file/url.`)}},
2730"./src/base/image_processors_utils.js":(x,C,d)=>{d.r(C),d.d(C,{ImageProcessor:()=>ve,center_to_corners_format:()=>Z,post_process_instance_segmentation:()=>ne,post_process_object_detection:()=>W,post_process_panoptic_segmentation:()=>ie,post_process_semantic_segmentation:()=>te});var k=d("./src/utils/generic.js"),F=d("./src/utils/tensor.js"),j=d("./src/utils/maths.js");d("./src/utils/image.js");var O=d("./src/utils/core.js"),V=d("./src/utils/hub.js"),X=d("./src/utils/constants.js");function R(g,b,e=0,l=null){const M=g/b;let ue=(0,j.bankers_round)(M)*b;return l!==null&&ue>l&&(ue=Math.floor(M)*b),ue<e&&(ue=Math.ceil(M)*b),ue}function S([g,b],e){return[Math.max(Math.floor(g/e),1)*e,Math.max(Math.floor(b/e),1)*e]}function Z([g,b,e,l]){return[g-e/2,b-l/2,g+e/2,b+l/2]}function W(g,b=.5,e=null,l=!1){const M=g.logits,ue=g.pred_boxes,[D,z,Ye]=M.dims;if(e!==null&&e.length!==D)throw Error("Make sure that you pass in as many target sizes as the batch dimension of the logits");let Ne=[];for(let Oe=0;Oe<D;++Oe){let AA=e!==null?e[Oe]:null,tA={boxes:[],classes:[],scores:[]},BA=M[Oe],DA=ue[Oe];for(let Ge=0;Ge<z;++Ge){let ke,ze=BA[Ge],Ke=[];if(l){ke=ze.sigmoid().data;for(let Pe=0;Pe<ke.length;++Pe)ke[Pe]>b&&Ke.push(Pe)}else{let Pe=(0,j.max)(ze.data)[1];if(Pe===Ye-1||(ke=(0,j.softmax)(ze.data),ke[Pe]<b))continue;Ke.push(Pe)}for(const Pe of Ke){let xA=DA[Ge].data;xA=Z(xA),AA!==null&&(xA=xA.map((iA,cA)=>iA*AA[(cA+1)%2])),tA.boxes.push(xA),tA.classes.push(Pe),tA.scores.push(ke[Pe])}}Ne.push(tA)}return Ne}function te(g,b=null){const e=g.logits,l=e.dims[0];if(b!==null&&b.length!==l)throw Error("Make sure that you pass in as many target sizes as the batch dimension of the logits");const M=[];for(let ue=0;ue<l;++ue){const D=b!==null?b[ue]:null;let z=e[ue];D!==null&&(z=(0,F.interpolate)(z,D,"bilinear",!1));const[Ye,Ne]=D??z.dims.slice(-2),Oe=new F.Tensor("int32",new Int32Array(Ye*Ne),[Ye,Ne]),AA=z[0].data,tA=Oe.data;for(let Ge=1;Ge<z.dims[0];++Ge){const ke=z[Ge].data;for(let ze=0;ze<ke.length;++ze)ke[ze]>AA[ze]&&(AA[ze]=ke[ze],tA[ze]=Ge)}const BA=new Array(z.dims[0]);for(let Ge=0;Ge<tA.length;++Ge){const ke=tA[Ge];BA[ke]=ke}const DA=BA.filter(Ge=>Ge!==void 0);M.push({segmentation:Oe,labels:DA})}return M}function me(g,b,e,l){const M=[],ue=[],D=[];for(let z=0;z<g.dims[0];++z){const Ye=g[z],Ne=b[z],Oe=(0,j.max)(Ye.data)[1];if(Oe===l)continue;const AA=(0,j.softmax)(Ye.data)[Oe];AA>e&&(M.push(Ne),ue.push(AA),D.push(Oe))}return[M,ue,D]}function Be(g,b,e,l=.5,M=.8){const ue=[];let D=0,z=0;const Ye=b[e].data;for(let Oe=0;Oe<g.length;++Oe)g[Oe]===e&&(ue.push(Oe),++D),Ye[Oe]>=l&&++z;let Ne=D>0&&z>0;return Ne&&(Ne=D/z>M),[Ne,ue]}function Ee(g,b,e,l,M,ue=null,D=null){const[z,Ye]=D??g[0].dims,Ne=new F.Tensor("int32",new Int32Array(z*Ye),[z,Ye]),Oe=[];if(D!==null)for(let Ge=0;Ge<g.length;++Ge)g[Ge]=(0,F.interpolate)(g[Ge],D,"bilinear",!1);const AA=new Int32Array(g[0].data.length),tA=new Float32Array(g[0].data.length);for(let Ge=0;Ge<g.length;++Ge){let ke=b[Ge];const ze=g[Ge].data;for(let Ke=0;Ke<ze.length;++Ke)ze[Ke]*=ke,ze[Ke]>tA[Ke]&&(AA[Ke]=Ge,tA[Ke]=ze[Ke])}let BA=0;const DA=Ne.data;for(let Ge=0;Ge<e.length;++Ge){const ke=e[Ge],[ze,Ke]=Be(AA,g,Ge,l,M);if(ze){++BA;for(const Pe of Ke)DA[Pe]=BA;Oe.push({id:BA,label_id:ke,score:b[Ge]})}}return[Ne,Oe]}function ie(g,b=.5,e=.5,l=.8,M=null,ue=null){M===null&&(console.warn("`label_ids_to_fuse` unset. No instance will be fused."),M=new Set);const D=g.class_queries_logits??g.logits,z=(g.masks_queries_logits??g.pred_masks).sigmoid();let[Ye,Ne,Oe]=D.dims;if(Oe-=1,ue!==null&&ue.length!==Ye)throw Error("Make sure that you pass in as many target sizes as the batch dimension of the logits");let AA=[];for(let tA=0;tA<Ye;++tA){let BA=ue!==null?ue[tA]:null,DA=D[tA],Ge=z[tA],[ke,ze,Ke]=me(DA,Ge,b,Oe);if(Ke.length===0){let[iA,cA]=BA??Ge.dims.slice(-2),yA=new F.Tensor("int32",new Int32Array(iA*cA).fill(-1),[iA,cA]);AA.push({segmentation:yA,segments_info:[]});continue}let[Pe,xA]=Ee(ke,ze,Ke,e,l,M,BA);AA.push({segmentation:Pe,segments_info:xA})}return AA}function ne(g,b=.5,e=null){throw new Error("`post_process_instance_segmentation` is not yet implemented.")}class ve extends k.Callable{constructor(b){super(),this.image_mean=b.image_mean??b.mean,this.image_std=b.image_std??b.std,this.resample=b.resample??2,this.do_rescale=b.do_rescale??!0,this.rescale_factor=b.rescale_factor??.00392156862745098,this.do_normalize=b.do_normalize,this.do_thumbnail=b.do_thumbnail,this.size=b.size??b.image_size,this.do_resize=b.do_resize??this.size!==void 0,this.size_divisibility=b.size_divisibility??b.size_divisor,this.do_center_crop=b.do_center_crop,this.crop_size=b.crop_size,this.do_convert_rgb=b.do_convert_rgb??!0,this.do_crop_margin=b.do_crop_margin,this.pad_size=b.pad_size,this.do_pad=b.do_pad,this.do_pad&&!this.pad_size&&this.size&&this.size.width!==void 0&&this.size.height!==void 0&&(this.pad_size=this.size),this.do_flip_channel_order=b.do_flip_channel_order??!1,this.config=b}async thumbnail(b,e,l=2){const M=b.height,ue=b.width,D=e.height,z=e.width;let Ye=Math.min(M,D),Ne=Math.min(ue,z);return Ye===M&&Ne===ue?b:(M>ue?Ne=Math.floor(ue*Ye/M):ue>M&&(Ye=Math.floor(M*Ne/ue)),await b.resize(Ne,Ye,{resample:l}))}async crop_margin(b,e=200){const l=b.clone().grayscale(),M=(0,j.min)(l.data)[0],ue=(0,j.max)(l.data)[0]-M;if(ue===0)return b;const D=e/255;let z=l.width,Ye=l.height,Ne=0,Oe=0;const AA=l.data;for(let tA=0;tA<l.height;++tA){const BA=tA*l.width;for(let DA=0;DA<l.width;++DA)(AA[BA+DA]-M)/ue<D&&(z=Math.min(z,DA),Ye=Math.min(Ye,tA),Ne=Math.max(Ne,DA),Oe=Math.max(Oe,tA))}return b=await b.crop([z,Ye,Ne,Oe])}pad_image(b,e,l,{mode:M="constant",center:ue=!1,constant_values:D=0}={}){const[z,Ye,Ne]=e;let Oe,AA;if(typeof l=="number"?(Oe=l,AA=l):l==="square"?Oe=AA=Math.max(z,Ye):(Oe=l.width,AA=l.height),Oe!==Ye||AA!==z){const tA=ne
2730w Float32Array(Oe*AA*Ne);if(Array.isArray(D))for(let Ge=0;Ge<tA.length;++Ge)tA[Ge]=D[Ge%Ne];else D!==0&&tA.fill(D);const[BA,DA]=ue?[Math.floor((Oe-Ye)/2),Math.floor((AA-z)/2)]:[0,0];for(let Ge=0;Ge<z;++Ge){const ke=(Ge+DA)*Oe,ze=Ge*Ye;for(let Ke=0;Ke<Ye;++Ke){const Pe=(ke+Ke+BA)*Ne,xA=(ze+Ke)*Ne;for(let iA=0;iA<Ne;++iA)tA[Pe+iA]=b[xA+iA]}}if(M==="symmetric"){if(ue)throw new Error("`center` padding is not supported when `mode` is set to `symmetric`.");const Ge=z-1,ke=Ye-1;for(let ze=0;ze<AA;++ze){const Ke=ze*Oe,Pe=(0,O.calculateReflectOffset)(ze,Ge)*Ye;for(let xA=0;xA<Oe;++xA){if(ze<z&&xA<Ye)continue;const iA=(Ke+xA)*Ne,cA=(Pe+(0,O.calculateReflectOffset)(xA,ke))*Ne;for(let yA=0;yA<Ne;++yA)tA[iA+yA]=b[cA+yA]}}}b=tA,e=[AA,Oe,Ne]}return[b,e]}rescale(b){for(let e=0;e<b.length;++e)b[e]=this.rescale_factor*b[e]}get_resize_output_image_size(b,e){const[l,M]=b.size;let ue,D;if(this.do_thumbnail){const{height:z,width:Ye}=e;ue=Math.min(z,Ye)}else Number.isInteger(e)?(ue=e,D=this.config.max_size??ue):e!==void 0&&(ue=e.shortest_edge,D=e.longest_edge);if(ue!==void 0||D!==void 0){const z=ue===void 0?1:Math.max(ue/l,ue/M),Ye=l*z,Ne=M*z,Oe=D===void 0?1:Math.min(D/Ye,D/Ne);let AA=Math.floor(Number((Ye*Oe).toFixed(2))),tA=Math.floor(Number((Ne*Oe).toFixed(2)));return this.size_divisibility!==void 0&&([AA,tA]=S([AA,tA],this.size_divisibility)),[AA,tA]}if(e!==void 0&&e.width!==void 0&&e.height!==void 0){let z=e.width,Ye=e.height;if(this.config.keep_aspect_ratio&&this.config.ensure_multiple_of){let Ne=Ye/M,Oe=z/l;Math.abs(1-Oe)<Math.abs(1-Ne)?Ne=Oe:Oe=Ne,Ye=R(Ne*M,this.config.ensure_multiple_of),z=R(Oe*l,this.config.ensure_multiple_of)}return[z,Ye]}if(this.size_divisibility!==void 0)return S([l,M],this.size_divisibility);if(e.min_pixels!==void 0&&e.max_pixels!==void 0){const{min_pixels:z,max_pixels:Ye}=e;return function(Ne,Oe,AA=28,tA=3136,BA=1003520){if(Ne<AA||Oe<AA)throw new Error(`height:${Ne} or width:${Oe} must be larger than factor:${AA}`);if(Math.max(Ne,Oe)/Math.min(Ne,Oe)>200)throw new Error("absolute aspect ratio must be smaller than 200, got "+Math.max(Ne,Oe)/Math.min(Ne,Oe));let DA=Math.round(Ne/AA)*AA,Ge=Math.round(Oe/AA)*AA;if(DA*Ge>BA){const ke=Math.sqrt(Ne*Oe/BA);DA=Math.floor(Ne/ke/AA)*AA,Ge=Math.floor(Oe/ke/AA)*AA}else if(DA*Ge<tA){const ke=Math.sqrt(tA/(Ne*Oe));DA=Math.ceil(Ne*ke/AA)*AA,Ge=Math.ceil(Oe*ke/AA)*AA}return[DA,Ge]}(M,l,this.config.patch_size*this.config.merge_size,z,Ye)}throw new Error(`Could not resize image due to unsupported \`this.size\` option in config: ${JSON.stringify(e)}`)}async resize(b){const[e,l]=this.get_resize_output_image_size(b,this.size);return await b.resize(e,l,{resample:this.resample})}async preprocess(b,{do_normalize:e=null,do_pad:l=null,do_convert_rgb:M=null,do_convert_grayscale:ue=null,do_flip_channel_order:D=null}={}){this.do_crop_margin&&(b=await this.crop_margin(b));const[z,Ye]=b.size;if(M??this.do_convert_rgb?b=b.rgb():ue&&(b=b.grayscale()),this.do_resize&&(b=await this.resize(b)),this.do_thumbnail&&(b=await this.thumbnail(b,this.size,this.resample)),this.do_center_crop){let tA,BA;Number.isInteger(this.crop_size)?(tA=this.crop_size,BA=this.crop_size):(tA=this.crop_size.width,BA=this.crop_size.height),b=await b.center_crop(tA,BA)}const Ne=[b.height,b.width];let Oe=Float32Array.from(b.data),AA=[b.height,b.width,b.channels];if(this.do_rescale&&this.rescale(Oe),e??this.do_normalize){let tA=this.image_mean;Array.isArray(this.image_mean)||(tA=new Array(b.channels).fill(tA));let BA=this.image_std;if(Array.isArray(this.image_std)||(BA=new Array(b.channels).fill(tA)),tA.length!==b.channels||BA.length!==b.channels)throw new Error(`When set to arrays, the length of \`image_mean\` (${tA.length}) and \`image_std\` (${BA.length}) must match the number of channels in the image (${b.channels}).`);for(let DA=0;DA<Oe.length;DA+=b.channels)for(let Ge=0;Ge<b.channels;++Ge)Oe[DA+Ge]=(Oe[DA+Ge]-tA[Ge])/BA[Ge]}if(l??this.do_pad){if(this.pad_size)[Oe,AA]=this.pad_image(Oe,[b.height,b.width,b.channels],this.pad_size);else if(this.size_divisibility){const[tA,BA]=S([AA[1],AA[0]],this.size_divisibility);[Oe,AA]=this.pad_image(Oe,AA,{width:tA,height:BA})}}if(D??this.do_flip_channel_order){if(AA[2]!==3)throw new Error("Flipping channel order is only supported for RGB images.");for(let tA=0;tA<Oe.length;tA+=3){const BA=Oe[tA];Oe[tA]=Oe[tA+2],Oe[tA+2]=BA}}return{original_size:[Ye,z],reshaped_input_size:Ne,pixel_values:new F.Tensor("float32",Oe,AA).permute(2,0,1)}}async _call(b,...e){Array.isArray(b)||(b=[b]);const l=await Promise.all(b.map(ue=>this.preprocess(ue)));return{pixel_values:(0,F.stack)(l.map(ue=>ue.pixel_values),0),original_sizes:l.map(ue=>ue.original_size),reshaped_input_sizes:l.map(ue=>ue.reshaped_input_size)}}static async from_pretrained(b,e){return new this(await(0,V.getModelJSON)(b,X.IMAGE_PROCESSOR_NAME,!0,e))}}},
2730"./src/base/processing_utils.js":(x,C,d)=>{d.r(C),d.d(C,{Processor:()=>O});var k=d("./src/utils/constants.js"),F=d("./src/utils/generic.js"),j=d("./src/utils/hub.js");class O extends F.Callable{constructor(X,R){super(),this.config=X,this.components=R}get image_processor(){return this.components.image_processor}get tokenizer(){return this.components.tokenizer}get feature_extractor(){return this.components.feature_extractor}apply_chat_template(X,R={}){if(!this.tokenizer)throw new Error("Unable to apply chat template without a tokenizer.");return this.tokenizer.apply_chat_template(X,{tokenize:!1,...R})}batch_decode(...X){if(!this.tokenizer)throw new Error("Unable to decode without a tokenizer.");return this.tokenizer.batch_decode(...X)}decode(...X){if(!this.tokenizer)throw new Error("Unable to decode without a tokenizer.");return this.tokenizer.decode(...X)}async _call(X,...R){for(const S of[this.image_processor,this.feature_extractor,this.tokenizer])if(S)return S(X,...R);throw new Error("No image processor, feature extractor, or tokenizer found.")}static async from_pretrained(X,R){const[S,Z]=await Promise.all([this.uses_processor_config?(0,j.getModelJSON)(X,k.PROCESSOR_NAME,!0,R):{},Promise.all(this.classes.filter(W=>W in this).map(async W=>{const te=await this[W].from_pretrained(X,R);return[W.replace(/_class$/,""),te]})).then(Object.fromEntries)]);return new this(S,Z)}}Ve(O,"classes",["image_processor_class","tokenizer_class","feature_extractor_class"]),Ve(O,"uses_processor_config",!1)},
vendor: 4,775 bytes, line 2730
2730"./src/configs.js":(x,C,d)=>{d.r(C),d.d(C,{AutoConfig:()=>X,PretrainedConfig:()=>V,getKeyValueShapes:()=>O});var k=d("./src/utils/core.js"),F=d("./src/utils/hub.js");function j(R){const S={};let Z={};switch(R.model_type){case"llava":case"paligemma":case"florence2":case"llava_onevision":case"idefics3":Z=j(R.text_config);break;case"moondream1":Z=j(R.phi_config);break;case"musicgen":Z=j(R.decoder);break;case"multi_modality":Z=j(R.language_config);break;case"gpt2":case"gptj":case"jais":case"codegen":case"gpt_bigcode":S.num_heads="n_head",S.num_layers="n_layer",S.hidden_size="n_embd";break;case"gpt_neox":case"stablelm":case"opt":case"falcon":S.num_heads="num_attention_heads",S.num_layers="num_hidden_layers",S.hidden_size="hidden_size";break;case"llama":case"olmo":case"olmo2":case"mobilellm":case"granite":case"cohere":case"mistral":case"starcoder2":case"qwen2":case"qwen2_vl":case"phi":case"phi3":case"phi3_v":S.num_heads="num_key_value_heads",S.num_layers="num_hidden_layers",S.hidden_size="hidden_size",S.num_attention_heads="num_attention_heads";break;case"gemma":case"gemma2":case"glm":case"helium":S.num_heads="num_key_value_heads",S.num_layers="num_hidden_layers",S.dim_kv="head_dim";break;case"openelm":S.num_heads="num_kv_heads",S.num_layers="num_transformer_layers",S.dim_kv="head_dim";break;case"gpt_neo":case"donut-swin":S.num_heads="num_heads",S.num_layers="num_layers",S.hidden_size="hidden_size";break;case"bloom":S.num_heads="n_head",S.num_layers="n_layer",S.hidden_size="hidden_size";break;case"mpt":S.num_heads="n_heads",S.num_layers="n_layers",S.hidden_size="d_model";break;case"exaone":S.num_heads="num_key_value_heads",S.num_layers="num_layers",S.dim_kv="head_dim",S.num_attention_heads="num_attention_heads";break;case"t5":case"mt5":case"longt5":S.num_decoder_layers="num_decoder_layers",S.num_decoder_heads="num_heads",S.decoder_dim_kv="d_kv",S.num_encoder_layers="num_layers",S.num_encoder_heads="num_heads",S.encoder_dim_kv="d_kv";break;case"bart":case"mbart":case"marian":case"whisper":case"m2m_100":case"blenderbot":case"blenderbot-small":case"florence2_language":S.num_decoder_layers="decoder_layers",S.num_decoder_heads="decoder_attention_heads",S.decoder_hidden_size="d_model",S.num_encoder_layers="encoder_layers",S.num_encoder_heads="encoder_attention_heads",S.encoder_hidden_size="d_model";break;case"speecht5":S.num_decoder_layers="decoder_layers",S.num_decoder_heads="decoder_attention_heads",S.decoder_hidden_size="hidden_size",S.num_encoder_layers="encoder_layers",S.num_encoder_heads="encoder_attention_heads",S.encoder_hidden_size="hidden_size";break;case"trocr":S.num_encoder_layers=S.num_decoder_layers="decoder_layers",S.num_encoder_heads=S.num_decoder_heads="decoder_attention_heads",S.encoder_hidden_size=S.decoder_hidden_size="d_model";break;case"musicgen_decoder":S.num_encoder_layers=S.num_decoder_layers="num_hidden_layers",S.num_encoder_heads=S.num_decoder_heads="num_attention_heads",S.encoder_hidden_size=S.decoder_hidden_size="hidden_size";break;case"moonshine":S.num_decoder_layers="decoder_num_hidden_layers",S.num_decoder_heads="decoder_num_key_value_heads",S.num_encoder_layers="encoder_num_hidden_layers",S.num_encoder_heads="encoder_num_key_value_heads",S.encoder_hidden_size=S.decoder_hidden_size="hidden_size";break;case"vision-encoder-decoder":const te=j(R.decoder),me="num_decoder_layers"in te,Be=(0,k.pick)(R,["model_type","is_encoder_decoder"]);return me?(Be.num_decoder_layers=te.num_decoder_layers,Be.num_decoder_heads=te.num_decoder_heads,Be.decoder_hidden_size=te.decoder_hidden_size,Be.num_encoder_layers=te.num_encoder_layers,Be.num_encoder_heads=te.num_encoder_heads,Be.encoder_hidden_size=te.encoder_hidden_size):(Be.num_layers=te.num_layers,Be.num_heads=te.num_heads,Be.hidden_size=te.hidden_size),Be}const W={...Z,...(0,k.pick)(R,["model_type","multi_query","is_encoder_decoder"])};for(const te in S)W[te]=R[S[te]];return W}function O(R,{prefix:S="past_key_values",batch_size:Z=1}={}){const W={},te=R.normalized_config;if(te.is_encoder_decoder&&"num_encoder_heads"in te&&"num_decoder_heads"in te){const me=te.encoder_dim_kv??te.encoder_hidden_size/te.num_encoder_heads,Be=te.decoder_dim_kv??te.decoder_hidden_size/te.num_decoder_heads,Ee=[Z,te.num_encoder_heads,0,me],ie=[Z,te.num_decoder_heads,0,Be];for(let ne=0;ne<te.num_decoder_layers;++ne)W[`${S}.${ne}.encoder.key`]=Ee,W[`${S}.${ne}.encoder.value`]=Ee,W[`${S}.${ne}.decoder.key`]=ie,W[`${S}.${ne}.decoder.value`]=ie}else{const me=te.num_heads,Be=te.num_layers,Ee=te.dim_kv??te.hidden_size/(te.num_attention_heads??me);if(te.model_type==="falcon"){const ie=[Z*me,0,Ee];for(let ne=0;ne<Be;++ne)W[`${S}.${ne}.key`]=ie,W[`${S}.${ne}.value`]=ie}else if(te.multi_query){const ie=[Z*me,0,2*Ee];for(let ne=0;ne<Be;++ne)W[`${S}.${ne}.key_value`]=ie}
2730else if(te.model_type==="bloom"){const ie=[Z*me,Ee,0],ne=[Z*me,0,Ee];for(let ve=0;ve<Be;++ve)W[`${S}.${ve}.key`]=ie,W[`${S}.${ve}.value`]=ne}else if(te.model_type==="openelm")for(let ie=0;ie<Be;++ie){const ne=[Z,me[ie],0,Ee];W[`${S}.${ie}.key`]=ne,W[`${S}.${ie}.value`]=ne}else{const ie=[Z,me,0,Ee];for(let ne=0;ne<Be;++ne)W[`${S}.${ne}.key`]=ie,W[`${S}.${ne}.value`]=ie}}return W}class V{constructor(S){Ve(this,"model_type",null);Ve(this,"is_encoder_decoder",!1);Ve(this,"max_position_embeddings");Ve(this,"transformers.js_config");Object.assign(this,S),this.normalized_config=j(this)}static async from_pretrained(S,{progress_callback:Z=null,config:W=null,cache_dir:te=null,local_files_only:me=!1,revision:Be="main"}={}){!W||W instanceof V||(W=new V(W));const Ee=W??await async function(ie,ne){return await(0,F.getModelJSON)(ie,"config.json",!0,ne)}(S,{progress_callback:Z,config:W,cache_dir:te,local_files_only:me,revision:Be});return new this(Ee)}}class X{static async from_pretrained(...S){return V.from_pretrained(...S)}}},
2730"./src/env.js":(x,C,d)=>{var e,l;d.r(C),d.d(C,{apis:()=>Be,env:()=>g});var k=d("?569f"),F=d("?3f59"),j=d("?154a");const O=typeof window<"u"&&window.document!==void 0,V=typeof self<"u"&&((e=self.constructor)==null?void 0:e.name)==="DedicatedWorkerGlobalScope",X=typeof self<"u"&&"caches"in self,R=typeof navigator<"u"&&"gpu"in navigator,S=typeof navigator<"u"&&"ml"in navigator,Z=typeof process<"u",W=Z&&((l=process==null?void 0:process.release)==null?void 0:l.name)==="node",te=!b(k),me=!b(F),Be=Object.freeze({IS_BROWSER_ENV:O,IS_WEBWORKER_ENV:V,IS_WEB_CACHE_AVAILABLE:X,IS_WEBGPU_AVAILABLE:R,IS_WEBNN_AVAILABLE:S,IS_PROCESS_AVAILABLE:Z,IS_NODE_ENV:W,IS_FS_AVAILABLE:te,IS_PATH_AVAILABLE:me}),Ee=te&&me;let ie="./";if(Ee){const M=Object(import.meta).url;M?ie=F.dirname(F.dirname(j.fileURLToPath(M))):typeof __dirname<"u"&&(ie=F.dirname(__dirname))}const ne=Ee?F.join(ie,"/.cache/"):null,ve="/models/",g={version:"3.3.3",backends:{onnx:{}},allowRemoteModels:!0,remoteHost:"https://huggingface.co/",remotePathTemplate:"{model}/resolve/{revision}/",allowLocalModels:!(O||V),localModelPath:Ee?F.join(ie,ve):ve,useFS:te,useBrowserCache:X,useFSCache:te,cacheDir:ne,useCustomCache:!1,customCache:null};function b(M){return Object.keys(M).length===0}},
2730"./src/generation/configuration_utils.js":(x,C,d)=>{d.r(C),d.d(C,{GenerationConfig:()=>F});var k=d("./src/utils/core.js");class F{constructor(O){Ve(this,"max_length",20);Ve(this,"max_new_tokens",null);Ve(this,"min_length",0);Ve(this,"min_new_tokens",null);Ve(this,"early_stopping",!1);Ve(this,"max_time",null);Ve(this,"do_sample",!1);Ve(this,"num_beams",1);Ve(this,"num_beam_groups",1);Ve(this,"penalty_alpha",null);Ve(this,"use_cache",!0);Ve(this,"temperature",1);Ve(this,"top_k",50);Ve(this,"top_p",1);Ve(this,"typical_p",1);Ve(this,"epsilon_cutoff",0);Ve(this,"eta_cutoff",0);Ve(this,"diversity_penalty",0);Ve(this,"repetition_penalty",1);Ve(this,"encoder_repetition_penalty",1);Ve(this,"length_penalty",1);Ve(this,"no_repeat_ngram_size",0);Ve(this,"bad_words_ids",null);Ve(this,"force_words_ids",null);Ve(this,"renormalize_logits",!1);Ve(this,"constraints",null);Ve(this,"forced_bos_token_id",null);Ve(this,"forced_eos_token_id",null);Ve(this,"remove_invalid_values",!1);Ve(this,"exponential_decay_length_penalty",null);Ve(this,"suppress_tokens",null);Ve(this,"streamer",null);Ve(this,"begin_suppress_tokens",null);Ve(this,"forced_decoder_ids",null);Ve(this,"guidance_scale",null);Ve(this,"num_return_sequences",1);Ve(this,"output_attentions",!1);Ve(this,"output_hidden_states",!1);Ve(this,"output_scores",!1);Ve(this,"return_dict_in_generate",!1);Ve(this,"pad_token_id",null);Ve(this,"bos_token_id",null);Ve(this,"eos_token_id",null);Ve(this,"encoder_no_repeat_ngram_size",0);Ve(this,"decoder_start_token_id",null);Ve(this,"generation_kwargs",{});Object.assign(this,(0,k.pick)(O,Object.getOwnPropertyNames(this)))}}},
vendor: 6,367 bytes, line 2730
2730"./src/generation/logits_process.js":(x,C,d)=>{d.r(C),d.d(C,{ClassifierFreeGuidanceLogitsProcessor:()=>ie,ForcedBOSTokenLogitsProcessor:()=>X,ForcedEOSTokenLogitsProcessor:()=>R,LogitsProcessor:()=>j,LogitsProcessorList:()=>V,LogitsWarper:()=>O,MinLengthLogitsProcessor:()=>me,MinNewTokensLengthLogitsProcessor:()=>Be,NoBadWordsLogitsProcessor:()=>Ee,NoRepeatNGramLogitsProcessor:()=>W,RepetitionPenaltyLogitsProcessor:()=>te,SuppressTokensAtBeginLogitsProcessor:()=>S,TemperatureLogitsWarper:()=>ne,TopKLogitsWarper:()=>g,TopPLogitsWarper:()=>ve,WhisperTimeStampLogitsProcessor:()=>Z});var k=d("./src/utils/generic.js");d("./src/utils/tensor.js");var F=d("./src/utils/maths.js");class j extends k.Callable{_call(e,l){throw Error("`_call` should be implemented in a subclass")}}class O extends k.Callable{_call(e,l){throw Error("`_call` should be implemented in a subclass")}}class V extends k.Callable{constructor(){super(),this.processors=[]}push(e){this.processors.push(e)}extend(e){this.processors.push(...e)}_call(e,l){let M=l;for(const ue of this.processors)M=ue(e,M);return M}[Symbol.iterator](){return this.processors.values()}}class X extends j{constructor(e){super(),this.bos_token_id=e}_call(e,l){for(let M=0;M<e.length;++M)if(e[M].length===1){const ue=l[M].data;ue.fill(-1/0),ue[this.bos_token_id]=0}return l}}class R extends j{constructor(e,l){super(),this.max_length=e,this.eos_token_id=Array.isArray(l)?l:[l]}_call(e,l){for(let M=0;M<e.length;++M)if(e[M].length===this.max_length-1){const ue=l[M].data;ue.fill(-1/0);for(const D of this.eos_token_id)ue[D]=0}return l}}class S extends j{constructor(e,l){super(),this.begin_suppress_tokens=e,this.begin_index=l}_call(e,l){for(let M=0;M<e.length;++M)if(e[M].length===this.begin_index){const ue=l[M].data;for(const D of this.begin_suppress_tokens)ue[D]=-1/0}return l}}class Z extends j{constructor(e,l){super(),this.eos_token_id=Array.isArray(e.eos_token_id)?e.eos_token_id[0]:e.eos_token_id,this.no_timestamps_token_id=e.no_timestamps_token_id,this.timestamp_begin=this.no_timestamps_token_id+1,this.begin_index=l.length,l.at(-1)===this.no_timestamps_token_id&&(this.begin_index-=1),this.max_initial_timestamp_index=e.max_initial_timestamp_index}_call(e,l){for(let M=0;M<e.length;++M){const ue=l[M].data;if(ue[this.no_timestamps_token_id]=-1/0,e[M].length===this.begin_index-1){ue.fill(-1/0),ue[this.timestamp_begin]=0;continue}const D=e[M].slice(this.begin_index),z=D.length>=1&&D[D.length-1]>=this.timestamp_begin,Ye=D.length<2||D[D.length-2]>=this.timestamp_begin;if(z&&(Ye?ue.subarray(this.timestamp_begin).fill(-1/0):ue.subarray(0,this.eos_token_id).fill(-1/0)),e[M].length===this.begin_index&&this.max_initial_timestamp_index!==null){const AA=this.timestamp_begin+this.max_initial_timestamp_index;ue.subarray(AA+1).fill(-1/0)}const Ne=(0,F.log_softmax)(ue);Math.log(Ne.subarray(this.timestamp_begin).map(Math.exp).reduce((AA,tA)=>AA+tA))>(0,F.max)(Ne.subarray(0,this.timestamp_begin))[0]&&ue.subarray(0,this.timestamp_begin).fill(-1/0)}return l}}class W extends j{constructor(e){super(),this.no_repeat_ngram_size=e}getNgrams(e){const l=e.length,M=[];for(let D=0;D<l+1-this.no_repeat_ngram_size;++D){const z=[];for(let Ye=0;Ye<this.no_repeat_ngram_size;++Ye)z.push(e[D+Ye]);M.push(z.map(Number))}const ue=new Map;for(const D of M){const z=D.slice(0,D.length-1),Ye=JSON.stringify(z),Ne=ue.get(Ye)??[];Ne.push(D[D.length-1]),ue.set(Ye,Ne)}return ue}getGeneratedNgrams(e,l){const M=l.slice(l.length+1-this.no_repeat_ngram_size,l.length);return e.get(JSON.stringify(M.map(Number)))??[]}calcBannedNgramTokens(e){const l=[];if(e.length+1<this.no_repeat_ngram_size)return l;{const M=this.getNgrams(e);return this.getGeneratedNgrams(M,e)}}_call(e,l){for(let M=0;M<e.length;++M){const ue=l[M].data,D=this.calcBannedNgramTokens(e[M]);for(const z of D)ue[z]=-1/0}return l}}class te extends j{constructor(e){super(),this.penalty=e}_call(e,l){for(let M=0;M<e.length;++M){const ue=l[M].data;for(const D of new Set(e[M])){const z=Number(D);ue[z]<0?ue[z]*=this.penalty:ue[z]/=this.penalty}}return l}}class me extends j{constructor(e,l){super(),this.min_length=e,this.eos_token_id=Array.isArray(l)?l:[l]}_call(e,l){for(let M=0;M<e.length;++M)if(e[M].length<this.min_length){const ue=l[M].data;for(const D of this.eos_token_id)ue[D]=-1/0}return l}}class Be extends j{constructor(e,l,M){super(),this.prompt_length_to_skip=e,this.min_new_tokens=l,this.eos_token_id=Array.isArray(M)?M:[M]}_call(e,l){for(let M=0;M<e.length;++M)if(e[M].length-this.prompt_length_to_skip<this.min_new_tokens){const ue=l[M].data;for(const D of this.eos_token_id)ue[D]=-1/0}return l}}class Ee extends j{constructor(e,l){super(),this.bad_words_ids=e,this.eos_token_id=Array.isArray(l)?l:[l]}_call(e,l){for(let M=0;M<e.length;++M){const ue=l[M].data,D=e[M];for(const z of this.bad_words_ids){let Ye=!0;for(let Ne=1;Ne<=z.length-1&&z.length<D.length;++Ne)if(z.at(-Ne-1)!=D.at(-Ne)){Ye=!1;break}Ye&&(ue[z.at(-1)]=-1/0)}}return l}}class ie extends j{constructor(e){if(super(),e<=1)throw new Error(`Require guidance scale >1 to use the classifier free guidance processor, got guidance scale ${e}.`);this.guidance_scale=e}_call(e,l){if(l.dims[0]!==2*e.length)throw new Error(`Logits should have twice the batch size of the input ids, the first half of batches corresponding to the conditional inputs, and the second half of batches corresponding to the unconditional inputs. Got batch size ${l.dims[0]} for the logits and ${e.length} for the input ids.`);const M=e.length,ue=l.slice([0,M],null),D=l.slice([M,l.dims[0]],null);for(let z=0;z<D.data.length;++z)D.data[z]+=(ue.data[z]-D.data[z])*this.guidance_scale;return D}}class ne extends O{constructor(e){super(),this.temperature=e}_call(e,l){const M=l.data;for(let ue=0;ue<M.length;++ue)M[ue]/=this.temperature;return l}}class ve extends O{constructor(e,{filter_value:l=-1/0,min_tokens_to_keep:M=1}={}){if(super(),e<0||e>1)throw new Error(`\`top_p\` must be a float > 0 and < 1, but is ${e}`);if(!Number.isInteger(M)||M<1)throw new Error(`\`min_tokens_to_keep\` must be a positive integer, but is ${M}`);this.top_p=e,this.filter_value=l,this.min_tokens_to_keep=M}}class g extends O{constructor(e,{filter_value:l=-1/0,min_tokens_to_keep:M=1}={}){if(super(),!Number.isInteger(e)||e<0)throw new Error(`\`top_k\` must be a positive integer, but is ${e}`);this.top_k=Math.max(e,M),this.filter_value=l}}},
2730"./src/generation/logits_sampler.js":(x,C,d)=>{d.r(C),d.d(C,{LogitsSampler:()=>O});var k=d("./src/utils/generic.js"),F=d("./src/utils/tensor.js"),j=d("./src/utils/maths.js");d("./src/generation/configuration_utils.js");class O extends k.Callable{constructor(Z){super(),this.generation_config=Z}async _call(Z){return this.sample(Z)}async sample(Z){throw Error("sample should be implemented in subclasses.")}getLogits(Z,W){let te=Z.dims.at(-1),me=Z.data;if(W===-1)me=me.slice(-te);else{let Be=W*te;me=me.slice(Be,Be+te)}return me}randomSelect(Z){let W=0;for(let me=0;me<Z.length;++me)W+=Z[me];let te=Math.random()*W;for(let me=0;me<Z.length;++me)if(te-=Z[me],te<=0)return me;return 0}static getSampler(Z){if(Z.do_sample)return new X(Z);if(Z.num_beams>1)return new R(Z);if(Z.num_return_sequences>1)throw Error(`num_return_sequences has to be 1 when doing greedy search, but is ${Z.num_return_sequences}.`);return new V(Z)}}class V extends O{async sample(Z){const W=(0,j.max)(Z.data)[1];return[[BigInt(W),0]]}}class X extends O{async sample(Z){let W=Z.dims.at(-1);this.generation_config.top_k>0&&(W=Math.min(this.generation_config.top_k,W));const[te,me]=await(0,F.topk)(Z,W),Be=(0,j.softmax)(te.data);return Array.from({length:this.generation_config.num_beams},()=>{const Ee=this.randomSelect(Be);return[me.data[Ee],Math.log(Be[Ee])]})}}class R extends O{async sample(Z){let W=Z.dims.at(-1);this.generation_config.top_k>0&&(W=Math.min(this.generation_config.top_k,W));const[te,me]=await(0,F.topk)(Z,W),Be=(0,j.softmax)(te.data);return Array.from({length:this.generation_config.num_beams},(Ee,ie)=>[me.data[ie],Math.log(Be[ie])])}}},
2730"./src/generation/stopping_criteria.js":(x,C,d)=>{d.r(C),d.d(C,{EosTokenCriteria:()=>V,InterruptableStoppingCriteria:()=>X,MaxLengthCriteria:()=>O,StoppingCriteria:()=>F,StoppingCriteriaList:()=>j});var k=d("./src/utils/generic.js");class F extends k.Callable{_call(S,Z){throw Error("StoppingCriteria needs to be subclassed")}}class j extends k.Callable{constructor(){super(),this.criteria=[]}push(S){this.criteria.push(S)}extend(S){S instanceof j?S=S.criteria:S instanceof F&&(S=[S]),this.criteria.push(...S)}_call(S,Z){const W=new Array(S.length).fill(!1);for(const te of this.criteria){const me=te(S,Z);for(let Be=0;Be<W.length;++Be)W[Be]||(W[Be]=me[Be])}return W}[Symbol.iterator](){return this.criteria.values()}}class O extends F{constructor(S,Z=null){super(),this.max_length=S,this.max_position_embeddings=Z}_call(S){return S.map(Z=>Z.length>=this.max_length)}}class V extends F{constructor(S){super(),Array.isArray(S)||(S=[S]),this.eos_token_id=S}_call(S,Z){return S.map(W=>{const te=W.at(-1);return this.eos_token_id.some(me=>te==me)})}}class X extends F{constructor(){super(),this.interrupted=!1}interrupt(){this.interrupted=!0}reset(){this.interrupted=!1}_call(S,Z){return new Array(S.length).fill(this.interrupted)}}},
2730"./src/generation/streamers.js":(x,C,d)=>{d.r(C),d.d(C,{BaseStreamer:()=>O,TextStreamer:()=>X,WhisperTextStreamer:()=>R});var k=d("./src/utils/core.js"),F=d("./src/tokenizers.js"),j=d("./src/env.js");class O{put(Z){throw Error("Not implemented")}end(){throw Error("Not implemented")}}const V=j.apis.IS_PROCESS_AVAILABLE?S=>process.stdout.write(S):S=>console.log(S);class X extends O{constructor(Z,{skip_prompt:W=!1,callback_function:te=null,token_callback_function:me=null,skip_special_tokens:Be=!0,decode_kwargs:Ee={},...ie}={}){super(),this.tokenizer=Z,this.skip_prompt=W,this.callback_function=te??V,this.token_callback_function=me,this.decode_kwargs={skip_special_tokens:Be,...Ee,...ie},this.token_cache=[],this.print_len=0,this.next_tokens_are_prompt=!0}put(Z){var Be;if(Z.length>1)throw Error("TextStreamer only supports batch size of 1");if(this.skip_prompt&&this.next_tokens_are_prompt)return void(this.next_tokens_are_prompt=!1);const W=Z[0];(Be=this.token_callback_function)==null||Be.call(this,W),this.token_cache=(0,k.mergeArrays)(this.token_cache,W);const te=this.tokenizer.decode(this.token_cache,this.decode_kwargs);let me;te.endsWith(`
2731`)?(me=te.slice(this.print_len),this.token_cache=[],this.print_len=0):te.length>0&&(0,F.is_chinese_char)(te.charCodeAt(te.length-1))?(me=te.slice(this.print_len),this.print_len+=me.length):(me=te.slice(this.print_len,te.lastIndexOf(" ")+1),this.print_len+=me.length),this.on_finalized_text(me,!1)}end(){let Z;this.token_cache.length>0?(Z=this.tokenizer.decode(this.token_cache,this.decode_kwargs).slice(this.print_len),this.token_cache=[],this.print_len=0):Z="",this.next_tokens_are_prompt=!0,this.on_finalized_text(Z,!0)}on_finalized_text(Z,W){var te,me;Z.length>0&&((te=this.callback_function)==null||te.call(this,Z)),W&&this.callback_function===V&&j.apis.IS_PROCESS_AVAILABLE&&((me=this.callback_function)==null||me.call(this,`
2732`))}}class R extends X{constructor(Z,{skip_prompt:W=!1,callback_function:te=null,token_callback_function:me=null,on_chunk_start:Be=null,on_chunk_end:Ee=null,on_finalize:ie=null,time_precision:ne=.02,skip_special_tokens:ve=!0,decode_kwargs:g={}}={}){super(Z,{skip_prompt:W,skip_special_tokens:ve,callback_function:te,token_callback_function:me,decode_kwargs:g}),this.timestamp_begin=Z.timestamp_begin,this.on_chunk_start=Be,this.on_chunk_end=Ee,this.on_finalize=ie,this.time_precision=ne,this.waiting_for_timestamp=!1}put(Z){var te,me;if(Z.length>1)throw Error("WhisperTextStreamer only supports batch size of 1");const W=Z[0];if(W.length===1){const Be=Number(W[0])-this.timestamp_begin;if(Be>=0){const Ee=Be*this.time_precision;this.waiting_for_timestamp?(te=this.on_chunk_end)==null||te.call(this,Ee):(me=this.on_chunk_start)==null||me.call(this,Ee),this.waiting_for_timestamp=!this.waiting_for_timestamp,Z=[[]]}}return super.put(Z)}end(){var Z;super.end(),(Z=this.on_finalize)==null||Z.call(this)}}},
2732"./src/models.js":(x,C,d)=>{d.r(C),d.d(C,{ASTForAudioClassification:()=>Ri,ASTModel:()=>bn,ASTPreTrainedModel:()=>Qa,AlbertForMaskedLM:()=>YA,AlbertForQuestionAnswering:()=>Le,AlbertForSequenceClassification:()=>PA,AlbertModel:()=>uA,AlbertPreTrainedModel:()=>Ze,AutoModel:()=>C1,AutoModelForAudioClassification:()=>Z1,AutoModelForAudioFrameClassification:()=>q1,AutoModelForCTC:()=>s2,AutoModelForCausalLM:()=>W1,AutoModelForDepthEstimation:()=>n2,AutoModelForDocumentQuestionAnswering:()=>nn,AutoModelForImageClassification:()=>Ni,AutoModelForImageFeatureExtraction:()=>$1,AutoModelForImageMatting:()=>i2,AutoModelForImageSegmentation:()=>V1,AutoModelForImageToImage:()=>J1,AutoModelForMaskGeneration:()=>K1,AutoModelForMaskedLM:()=>Zr,AutoModelForNormalEstimation:()=>o2,AutoModelForObjectDetection:()=>a2,AutoModelForPoseEstimation:()=>_1,AutoModelForQuestionAnswering:()=>St,AutoModelForSemanticSegmentation:()=>r2,AutoModelForSeq2SeqLM:()=>b1,AutoModelForSequenceClassification:()=>R1,AutoModelForSpeechSeq2Seq:()=>mi,AutoModelForTextToSpectrogram:()=>I1,AutoModelForTextToWaveform:()=>t2,AutoModelForTokenClassification:()=>Mt,AutoModelForUniversalSegmentation:()=>j1,AutoModelForVision2Seq:()=>Yt,AutoModelForXVector:()=>X1,AutoModelForZeroShotObjectDetection:()=>U1,BartForConditionalGeneration:()=>nr,BartForSequenceClassification:()=>nt,BartModel:()=>pa,BartPretrainedModel:()=>xa,BaseModelOutput:()=>MA,BeitForImageClassification:()=>ye,BeitModel:()=>he,BeitPreTrainedModel:()=>ce,BertForMaskedLM:()=>q,BertForQuestionAnswering:()=>J,BertForSequenceClassification:()=>HA,BertForTokenClassification:()=>ge,BertModel:()=>OA,BertPreTrainedModel:()=>LA,BlenderbotForConditionalGeneration:()=>wr,BlenderbotModel:()=>Fr,BlenderbotPreTrainedModel:()=>Ur,BlenderbotSmallForConditionalGeneration:()=>ai,BlenderbotSmallModel:()=>vr,BlenderbotSmallPreTrainedModel:()=>Ut,BloomForCausalLM:()=>z0,BloomModel:()=>Kn,BloomPreTrainedModel:()=>Un,CLIPModel:()=>UA,CLIPPreTrainedModel:()=>Ks,CLIPSegForImageSegmentation:()=>es,CLIPSegModel:()=>RA,CLIPSegPreTrainedModel:()=>oi,CLIPTextModel:()=>En,CLIPTextModelWithProjection:()=>Wi,CLIPVisionModel:()=>va,CLIPVisionModelWithProjection:()=>Sa,CamembertForMaskedLM:()=>qa,CamembertForQuestionAnswering:()=>Yr,CamembertForSequenceClassification:()=>Ja,CamembertForTokenClassification:()=>os,CamembertModel:()=>ns,CamembertPreTrainedModel:()=>Pa,CausalLMOutput:()=>e0,CausalLMOutputWithPast:()=>xc,ChineseCLIPModel:()=>I0,ChineseCLIPPreTrainedModel:()=>b0,ClapAudioModelWithProjection:()=>Dl,ClapModel:()=>Ml,ClapPreTrainedModel:()=>ro,ClapTextModelWithProjection:()=>Gl,CodeGenForCausalLM:()=>ks,CodeGenModel:()=>ra,CodeGenPreTrainedModel:()=>ws,CohereForCausalLM:()=>Di,CohereModel:()=>Na,CoherePreTrainedModel:()=>Gi,ConvBertForMaskedLM:()=>Pr,ConvBertForQuestionAnswering:()=>La,ConvBertForSequenceClassification:()=>wt,ConvBertForTokenClassification:()=>Xa,ConvBertModel:()=>$t,ConvBertPreTrainedModel:()=>Vr,ConvNextForImageClassification:()=>z2,ConvNextModel:()=>P2,ConvNextPreTrainedModel:()=>wo,ConvNextV2ForImageClassification:()=>S2,ConvNextV2Model:()=>F2,ConvNextV2PreTrainedModel:()=>ko,DPTForDepthEstimation:()=>_n,DPTModel:()=>Fi,DPTPreTrainedModel:()=>hi,DebertaForMaskedLM:()=>zr,DebertaForQuestionAnswering:()=>Xt,DebertaForSequenceClassification:()=>jr,DebertaForTokenClassification:()=>ms,DebertaModel:()=>Ga,DebertaPreTrainedModel:()=>yt,DebertaV2ForMaskedLM:()=>wi,DebertaV2ForQuestionAnswering:()=>ki,DebertaV2ForSequenceClassification:()=>ei,DebertaV2ForTokenClassification:()=>Ai,DebertaV2Model:()=>Cs,DebertaV2PreTrainedModel:()=>_a,DecisionTransformerModel:()=>Zl,DecisionTransformerPreTrainedModel:()=>Kl,DeiTForImageClassification:()=>Dr,DeiTModel:()=>Gr,DeiTPreTrainedModel:()=>Cr,DepthAnythingForDepthEstimation:()=>L0,DepthAnythingPreTrainedModel:()=>O0,DepthProForDepthEstimation:()=>y2,DepthProPreTrainedModel:()=>v2,DetrForObjectDetection:()=>Xe,DetrForSegmentation:()=>aA,DetrModel:()=>Re,DetrObjectDetectionOutput:()=>fA,DetrPreTrainedModel:()=>De,DetrSegmentationOutput:()=>GA,Dinov2ForImageClassification:()=>qs,Dinov2Model:()=>N2,Dinov2PreTrainedModel:()=>xo,Dinov2WithRegistersForImageClassification:()=>rn,Dinov2WithRegistersModel:()=>tn,Dinov2WithRegistersPreTrainedModel:()=>Js,DistilBertForMaskedLM:()=>Es,DistilBertForQuestionAnswering:()=>$a,DistilBertForSequenceClassification:()=>bs,DistilBertForTokenClassification:()=>ti,DistilBertModel:()=>ls,DistilBertPreTrainedModel:()=>qr,DonutSwinModel:()=>T2,DonutSwinPreTrainedModel:()=>Q2,EfficientNetForImageClassification:()=>Nl,EfficientNetModel:()=>Sl,EfficientNetPreTrainedModel:()=>
2732So,ElectraForMaskedLM:()=>et,ElectraForQuestionAnswering:()=>Wa,ElectraForSequenceClassification:()=>FA,ElectraForTokenClassification:()=>Kt,ElectraModel:()=>qA,ElectraPreTrainedModel:()=>wa,EsmForMaskedLM:()=>Ys,EsmForSequenceClassification:()=>xi,EsmForTokenClassification:()=>Hs,EsmModel:()=>Ls,EsmPreTrainedModel:()=>Br,ExaoneForCausalLM:()=>Fn,ExaoneModel:()=>zn,ExaonePreTrainedModel:()=>xs,FalconForCausalLM:()=>El,FalconModel:()=>Po,FalconPreTrainedModel:()=>To,FastViTForImageClassification:()=>r,FastViTModel:()=>t,FastViTPreTrainedModel:()=>A,Florence2ForConditionalGeneration:()=>kn,Florence2PreTrainedModel:()=>gs,GLPNForDepthEstimation:()=>D2,GLPNModel:()=>G2,GLPNPreTrainedModel:()=>Io,GPT2LMHeadModel:()=>Is,GPT2Model:()=>Ei,GPT2PreTrainedModel:()=>Gn,GPTBigCodeForCausalLM:()=>ta,GPTBigCodeModel:()=>M0,GPTBigCodePreTrainedModel:()=>us,GPTJForCausalLM:()=>Qn,GPTJModel:()=>Wt,GPTJPreTrainedModel:()=>kt,GPTNeoForCausalLM:()=>v0,GPTNeoModel:()=>B0,GPTNeoPreTrainedModel:()=>ji,GPTNeoXForCausalLM:()=>E0,GPTNeoXModel:()=>y0,GPTNeoXPreTrainedModel:()=>Rr,Gemma2ForCausalLM:()=>ci,Gemma2Model:()=>Rn,Gemma2PreTrainedModel:()=>_i,GemmaForCausalLM:()=>Hn,GemmaModel:()=>As,GemmaPreTrainedModel:()=>Yn,GlmForCausalLM:()=>li,GlmModel:()=>aa,GlmPreTrainedModel:()=>Pn,GraniteForCausalLM:()=>Ji,GraniteModel:()=>Ln,GranitePreTrainedModel:()=>Wr,GroundingDinoForObjectDetection:()=>L2,GroundingDinoPreTrainedModel:()=>O2,GroupViTModel:()=>pt,GroupViTPreTrainedModel:()=>fi,HeliumForCausalLM:()=>Mi,HeliumModel:()=>Mr,HeliumPreTrainedModel:()=>Ki,HieraForImageClassification:()=>na,HieraModel:()=>Kr,HieraPreTrainedModel:()=>Or,HubertForCTC:()=>dl,HubertForSequenceClassification:()=>fl,HubertModel:()=>ul,HubertPreTrainedModel:()=>Q1,IJepaForImageClassification:()=>Xn,IJepaModel:()=>Zs,IJepaPreTrainedModel:()=>Ss,Idefics3ForConditionalGeneration:()=>vn,Idefics3PreTrainedModel:()=>Bn,ImageMattingOutput:()=>Ac,JAISLMHeadModel:()=>x0,JAISModel:()=>k0,JAISPreTrainedModel:()=>Dn,JinaCLIPModel:()=>ni,JinaCLIPPreTrainedModel:()=>Ts,JinaCLIPTextModel:()=>w0,JinaCLIPVisionModel:()=>Vi,LlamaForCausalLM:()=>G0,LlamaModel:()=>Tn,LlamaPreTrainedModel:()=>Ui,LlavaForConditionalGeneration:()=>vi,LlavaOnevisionForConditionalGeneration:()=>Ba,LlavaPreTrainedModel:()=>Bi,LongT5ForConditionalGeneration:()=>zt,LongT5Model:()=>er,LongT5PreTrainedModel:()=>jt,M2M100ForConditionalGeneration:()=>Y0,M2M100Model:()=>Z2,M2M100PreTrainedModel:()=>$0,MBartForCausalLM:()=>Hr,MBartForConditionalGeneration:()=>$A,MBartForSequenceClassification:()=>ha,MBartModel:()=>pA,MBartPreTrainedModel:()=>pr,MPNetForMaskedLM:()=>Ds,MPNetForQuestionAnswering:()=>Qs,MPNetForSequenceClassification:()=>Ws,MPNetForTokenClassification:()=>cs,MPNetModel:()=>ri,MPNetPreTrainedModel:()=>ka,MT5ForConditionalGeneration:()=>Zt,MT5Model:()=>_A,MT5PreTrainedModel:()=>VA,MarianMTModel:()=>K2,MarianModel:()=>U2,MarianPreTrainedModel:()=>Ha,MaskFormerForInstanceSegmentation:()=>M2,MaskFormerModel:()=>E2,MaskFormerPreTrainedModel:()=>bo,MaskedLMOutput:()=>Oa,MgpstrForSceneTextRecognition:()=>$l,MgpstrModelOutput:()=>Jl,MgpstrPreTrainedModel:()=>_l,MistralForCausalLM:()=>vl,MistralModel:()=>Go,MistralPreTrainedModel:()=>to,MobileBertForMaskedLM:()=>Gs,MobileBertForQuestionAnswering:()=>Ft,MobileBertForSequenceClassification:()=>xt,MobileBertModel:()=>Rs,MobileBertPreTrainedModel:()=>Ms,MobileLLMForCausalLM:()=>ds,MobileLLMModel:()=>Zi,MobileLLMPreTrainedModel:()=>Sn,MobileNetV1ForImageClassification:()=>Yl,MobileNetV1Model:()=>Ll,MobileNetV1PreTrainedModel:()=>Lo,MobileNetV2ForImageClassification:()=>Rl,MobileNetV2Model:()=>Hl,MobileNetV2PreTrainedModel:()=>Yo,MobileNetV3ForImageClassification:()=>Vl,MobileNetV3Model:()=>Wl,MobileNetV3PreTrainedModel:()=>so,MobileNetV4ForImageClassification:()=>Ul,MobileNetV4Model:()=>jl,MobileNetV4PreTrainedModel:()=>Ho,MobileViTForImageClassification:()=>c,MobileViTModel:()=>o,MobileViTPreTrainedModel:()=>i,MobileViTV2ForImageClassification:()=>p,MobileViTV2Model:()=>m,MobileViTV2PreTrainedModel:()=>f,ModelOutput:()=>mA,ModernBertForMaskedLM:()=>_e,ModernBertForSequenceClassification:()=>dA,ModernBertForTokenClassification:()=>bA,ModernBertModel:()=>Te,ModernBertPreTrainedModel:()=>fe,Moondream1ForConditionalGeneration:()=>js,MoonshineForConditionalGeneration:()=>Fa,MoonshineModel:()=>_0,MoonshinePreTrainedModel:()=>wn,MptForCausalLM:()=>Zn,MptModel:()=>ts,MptPreTrainedModel:()=>zs,MultiModalityCausalLM:()=>
2732ql,MultiModalityPreTrainedModel:()=>Xl,MusicgenForCausalLM:()=>P1,MusicgenForConditionalGeneration:()=>Oo,MusicgenModel:()=>Ol,MusicgenPreTrainedModel:()=>No,NomicBertModel:()=>XA,NomicBertPreTrainedModel:()=>NA,OPTForCausalLM:()=>sr,OPTModel:()=>_r,OPTPreTrainedModel:()=>Ti,Olmo2ForCausalLM:()=>qi,Olmo2Model:()=>Bs,Olmo2PreTrainedModel:()=>On,OlmoForCausalLM:()=>Nn,OlmoModel:()=>D0,OlmoPreTrainedModel:()=>Xi,OpenELMForCausalLM:()=>T0,OpenELMModel:()=>Q0,OpenELMPreTrainedModel:()=>Wn,OwlViTForObjectDetection:()=>T,OwlViTModel:()=>y,OwlViTPreTrainedModel:()=>I,Owlv2ForObjectDetection:()=>_,Owlv2Model:()=>K,Owlv2PreTrainedModel:()=>Y,PaliGemmaForConditionalGeneration:()=>Us,PaliGemmaPreTrainedModel:()=>xn,PatchTSMixerForPrediction:()=>A1,PatchTSMixerModel:()=>Vo,PatchTSMixerPreTrainedModel:()=>Wo,PatchTSTForPrediction:()=>W0,PatchTSTModel:()=>e1,PatchTSTPreTrainedModel:()=>Ro,Phi3ForCausalLM:()=>P0,Phi3Model:()=>gi,Phi3PreTrainedModel:()=>Ps,Phi3VForCausalLM:()=>QA,Phi3VPreTrainedModel:()=>yn,PhiForCausalLM:()=>jn,PhiModel:()=>hr,PhiPreTrainedModel:()=>ja,PreTrainedModel:()=>Qe,PretrainedMixin:()=>ur,PvtForImageClassification:()=>Pi,PvtModel:()=>di,PvtPreTrainedModel:()=>qn,PyAnnoteForAudioFrameClassification:()=>el,PyAnnoteModel:()=>$2,PyAnnotePreTrainedModel:()=>eo,QuestionAnsweringModelOutput:()=>Ua,Qwen2ForCausalLM:()=>ma,Qwen2Model:()=>Qi,Qwen2PreTrainedModel:()=>sa,Qwen2VLForConditionalGeneration:()=>$i,Qwen2VLPreTrainedModel:()=>Vn,RTDetrForObjectDetection:()=>ct,RTDetrModel:()=>At,RTDetrObjectDetectionOutput:()=>bt,RTDetrPreTrainedModel:()=>SA,ResNetForImageClassification:()=>ya,ResNetModel:()=>oa,ResNetPreTrainedModel:()=>$r,RoFormerForMaskedLM:()=>tt,RoFormerForQuestionAnswering:()=>Ar,RoFormerForSequenceClassification:()=>at,RoFormerForTokenClassification:()=>It,RoFormerModel:()=>it,RoFormerPreTrainedModel:()=>TA,RobertaForMaskedLM:()=>Da,RobertaForQuestionAnswering:()=>Aa,RobertaForSequenceClassification:()=>Yi,RobertaForTokenClassification:()=>Dt,RobertaModel:()=>Li,RobertaPreTrainedModel:()=>Ya,SamImageSegmentationOutput:()=>j2,SamModel:()=>V2,SamPreTrainedModel:()=>W2,SapiensForDepthEstimation:()=>x2,SapiensForNormalEstimation:()=>B2,SapiensForSemanticSegmentation:()=>k2,SapiensPreTrainedModel:()=>An,SegformerForImageClassification:()=>Tl,SegformerForSemanticSegmentation:()=>Pl,SegformerModel:()=>T1,SegformerPreTrainedModel:()=>ao,Seq2SeqLMOutput:()=>kc,SequenceClassifierOutput:()=>Ot,SiglipModel:()=>yi,SiglipPreTrainedModel:()=>ii,SiglipTextModel:()=>Mn,SiglipVisionModel:()=>Nr,SpeechT5ForSpeechToText:()=>yo,SpeechT5ForTextToSpeech:()=>Eo,SpeechT5HifiGan:()=>Mo,SpeechT5Model:()=>kl,SpeechT5PreTrainedModel:()=>an,SqueezeBertForMaskedLM:()=>xe,SqueezeBertForQuestionAnswering:()=>je,SqueezeBertForSequenceClassification:()=>Se,SqueezeBertModel:()=>re,SqueezeBertPreTrainedModel:()=>rA,StableLmForCausalLM:()=>Fl,StableLmModel:()=>zl,StableLmPreTrainedModel:()=>Fo,Starcoder2ForCausalLM:()=>yl,Starcoder2Model:()=>Qo,Starcoder2PreTrainedModel:()=>Do,StyleTextToSpeech2Model:()=>wl,StyleTextToSpeech2PreTrainedModel:()=>Il,Swin2SRForImageSuperResolution:()=>pi,Swin2SRModel:()=>zi,Swin2SRPreTrainedModel:()=>Ns,SwinForImageClassification:()=>ps,SwinModel:()=>fs,SwinPreTrainedModel:()=>rs,T5ForConditionalGeneration:()=>fr,T5Model:()=>Bt,T5PreTrainedModel:()=>vA,TableTransformerForObjectDetection:()=>tr,TableTransformerModel:()=>qt,TableTransformerObjectDetectionOutput:()=>mr,TableTransformerPreTrainedModel:()=>Nt,TokenClassifierOutput:()=>Ta,TrOCRForCausalLM:()=>Bl,TrOCRPreTrainedModel:()=>xl,UniSpeechForCTC:()=>vo,UniSpeechForSequenceClassification:()=>al,UniSpeechModel:()=>rl,UniSpeechPreTrainedModel:()=>H0,UniSpeechSatForAudioFrameClassification:()=>ol,UniSpeechSatForCTC:()=>il,UniSpeechSatForSequenceClassification:()=>nl,UniSpeechSatModel:()=>sl,UniSpeechSatPreTrainedModel:()=>R0,ViTForImageClassification:()=>Fs,ViTMAEModel:()=>Jn,ViTMAEPreTrainedModel:()=>ia,ViTMSNForImageClassification:()=>N0,ViTMSNModel:()=>Xs,ViTMSNPreTrainedModel:()=>en,ViTModel:()=>F0,ViTPreTrainedModel:()=>ui,VisionEncoderDecoderModel:()=>ar,VitMatteForImageMatting:()=>s,VitMattePreTrainedModel:()=>a,VitPoseForPoseEstimation:()=>S0,VitPosePreTrainedModel:()=>
2732Ca,VitsModel:()=>zo,VitsModelOutput:()=>tc,VitsPreTrainedModel:()=>Ql,Wav2Vec2BertForCTC:()=>cl,Wav2Vec2BertForSequenceClassification:()=>gl,Wav2Vec2BertModel:()=>ll,Wav2Vec2BertPreTrainedModel:()=>Ao,Wav2Vec2ForAudioFrameClassification:()=>_2,Wav2Vec2ForCTC:()=>q2,Wav2Vec2ForSequenceClassification:()=>J2,Wav2Vec2Model:()=>X2,Wav2Vec2PreTrainedModel:()=>Si,WavLMForAudioFrameClassification:()=>bl,WavLMForCTC:()=>hl,WavLMForSequenceClassification:()=>ml,WavLMForXVector:()=>Cl,WavLMModel:()=>pl,WavLMPreTrainedModel:()=>$n,WeSpeakerResNetModel:()=>tl,WeSpeakerResNetPreTrainedModel:()=>Al,WhisperForConditionalGeneration:()=>C0,WhisperModel:()=>m0,WhisperPreTrainedModel:()=>In,XLMForQuestionAnswering:()=>si,XLMForSequenceClassification:()=>f0,XLMForTokenClassification:()=>p0,XLMModel:()=>u0,XLMPreTrainedModel:()=>Va,XLMRobertaForMaskedLM:()=>Hi,XLMRobertaForQuestionAnswering:()=>JA,XLMRobertaForSequenceClassification:()=>za,XLMRobertaForTokenClassification:()=>Jr,XLMRobertaModel:()=>h0,XLMRobertaPreTrainedModel:()=>Vs,XLMWithLMHeadModel:()=>d0,XVectorOutput:()=>ec,YolosForObjectDetection:()=>H2,YolosModel:()=>Y2,YolosObjectDetectionOutput:()=>R2,YolosPreTrainedModel:()=>Bo});var k=d("./src/configs.js"),F=d("./src/backends/onnx.js"),j=d("./src/utils/dtypes.js"),O=d("./src/utils/generic.js"),V=d("./src/utils/core.js"),X=d("./src/utils/hub.js"),R=d("./src/utils/constants.js"),S=d("./src/generation/logits_process.js"),Z=d("./src/generation/configuration_utils.js"),W=d("./src/utils/tensor.js"),te=d("./src/utils/image.js"),me=d("./src/utils/maths.js"),Be=d("./src/generation/stopping_criteria.js"),Ee=d("./src/generation/logits_sampler.js"),ie=d("./src/env.js"),ne=d("./src/models/whisper/generation_whisper.js"),ve=d("./src/models/whisper/common_whisper.js");const g=0,b=1,e=2,l=3,M=4,ue=5,D=6,z=7,Ye=8,Ne=9,Oe=new Map,AA=new Map,tA=new Map;async function BA(U,ae,Ce){return Object.fromEntries(await Promise.all(Object.keys(ae).map(async qe=>{const{buffer:lA,session_options:oA,session_config:wA}=await async function(KA,ZA,WA){var as;const rt=((as=WA.config)==null?void 0:as["transformers.js_config"])??{};let dt=WA.device??rt.device;dt&&typeof dt!="string"&&(dt.hasOwnProperty(ZA)?dt=dt[ZA]:(console.warn(`device not specified for "${ZA}". Using the default device.`),dt=null));const Gt=dt??(ie.apis.IS_NODE_ENV?"cpu":"wasm"),or=(0,F.deviceToExecutionProviders)(Gt);let Tt=WA.dtype??rt.dtype;if(typeof Tt!="string"&&(Tt&&Tt.hasOwnProperty(ZA)?Tt=Tt[ZA]:(Tt=j.DEFAULT_DEVICE_DTYPE_MAPPING[Gt]??j.DATA_TYPES.fp32,console.warn(`dtype not specified for "${ZA}". Using the default dtype (${Tt}) for this device (${Gt}).`))),Tt===j.DATA_TYPES.auto){let br=rt.dtype;typeof br!="string"&&(br=br[ZA]),Tt=br&&br!==j.DATA_TYPES.auto&&j.DATA_TYPES.hasOwnProperty(br)?br:j.DEFAULT_DEVICE_DTYPE_MAPPING[Gt]??j.DATA_TYPES.fp32}const Lt=Tt;if(!j.DEFAULT_DTYPE_SUFFIX_MAPPING.hasOwnProperty(Lt))throw new Error(`Invalid dtype: ${Lt}. Should be one of: ${Object.keys(j.DATA_TYPES).join(", ")}`);if(Lt===j.DATA_TYPES.fp16&&Gt==="webgpu"&&!await(0,j.isWebGpuFp16Supported)())throw new Error(`The device (${Gt}) does not support fp16.`);const Ht=rt.kv_cache_dtype?typeof rt.kv_cache_dtype=="string"?rt.kv_cache_dtype:rt.kv_cache_dtype[Lt]??"float32":void 0;if(Ht&&!["float32","float16"].includes(Ht))throw new Error(`Invalid kv_cache_dtype: ${Ht}. Should be one of: float32, float16`);const lr={dtype:Lt,kv_cache_dtype:Ht},Sr=j.DEFAULT_DTYPE_SUFFIX_MAPPING[Lt],Lr=`${WA.subfolder??""}/${ZA}${Sr}.onnx`,yr={...WA.session_options};yr.executionProviders??(yr.executionProviders=or);const ba=rt.free_dimension_overrides;ba?yr.freeDimensionOverrides??(yr.freeDimensionOverrides=ba):Gt.startsWith("webnn")&&!yr.freeDimensionOverrides&&console.warn('WebNN does not currently support dynamic shapes and requires `free_dimension_overrides` to be set in config.json as a field within "transformers.js_config". When `free_dimension_overrides` is not set, you may experience significant performance degradation.');const la=(0,X.getModelFile)(KA,Lr,!0,WA),ca=WA.use_external_data_format??rt.use_external_data_format;let ea=[];if(ca&&(ca===!0||typeof ca=="object"&&ca.hasOwnProperty(ZA)&&ca[ZA]===!0)){if
2732(ie.apis.IS_NODE_ENV)throw new Error("External data format is not yet supported in Node.js");const br=`${ZA}${Sr}.onnx_data`,Ka=`${WA.subfolder??""}/${br}`;ea.push(new Promise(async(on,A0)=>{const ln=await(0,X.getModelFile)(KA,Ka,!0,WA);on({path:br,data:ln})}))}else yr.externalData!==void 0&&(ea=yr.externalData.map(async br=>{if(typeof br.data=="string"){const Ka=await(0,X.getModelFile)(KA,br.data,!0,WA);return{...br,data:Ka}}return br}));if(ea.length>0&&(yr.externalData=await Promise.all(ea)),Gt==="webgpu"){const br=(0,k.getKeyValueShapes)(WA.config,{prefix:"present"});if(Object.keys(br).length>0&&!(0,F.isONNXProxy)()){const Ka={};for(const on in br)Ka[on]="gpu-buffer";yr.preferredOutputLocation=Ka}}return{buffer:await la,session_options:yr,session_config:lr}}(U,ae[qe],Ce);return[qe,await(0,F.createInferenceSession)(lA,oA,wA)]})))}async function DA(U,ae,Ce){return Object.fromEntries(await Promise.all(Object.keys(ae).map(async qe=>[qe,await(0,X.getModelJSON)(U,ae[qe],!1,Ce)])))}async function Ge(U,ae){const Ce=function(qe,lA){const oA=Object.create(null),wA=[];for(const WA of qe.inputNames){const rt=lA[WA];rt instanceof W.Tensor?oA[WA]=(0,F.isONNXProxy)()?rt.clone():rt:wA.push(WA)}if(wA.length>0)throw new Error(`An error occurred during model execution: "Missing the following inputs: ${wA.join(", ")}.`);const KA=Object.keys(lA).length,ZA=qe.inputNames.length;if(KA>ZA){let WA=Object.keys(lA).filter(rt=>!qe.inputNames.includes(rt));console.warn(`WARNING: Too many inputs were provided (${KA} > ${ZA}). The following inputs will be ignored: "${WA.join(", ")}".`)}return oA}(U,ae);try{const qe=Object.fromEntries(Object.entries(Ce).map(([oA,wA])=>[oA,wA.ort_tensor]));let lA=await U.run(qe);return lA=ke(lA),lA}catch(qe){const lA=Object.fromEntries(Object.entries(Ce).map(([oA,{type:wA,dims:KA,data:ZA}])=>[oA,{type:wA,dims:KA,data:ZA}]));throw`${qe}`,qe}}function ke(U){for(let ae in U)(0,F.isONNXTensor)(U[ae])?U[ae]=new W.Tensor(U[ae]):typeof U[ae]=="object"&&ke(U[ae]);return U}function ze(U){if(U instanceof W.Tensor)return U;if(U.length===0)throw Error("items must be non-empty");if(Array.isArray(U[0])){if(U.some(ae=>ae.length!==U[0].length))throw Error("Unable to create tensor, you should probably activate truncation and/or padding with 'padding=True' and/or 'truncation=True' to have batched tensors with the same length.");return new W.Tensor("int64",BigInt64Array.from(U.flat().map(ae=>BigInt(ae))),[U.length,U[0].length])}return new W.Tensor("int64",BigInt64Array.from(U.map(ae=>BigInt(ae))),[1,U.length])}function Ke(U){return new W.Tensor("bool",[U],[1])}async function Pe(U,ae){let{encoder_outputs:Ce,input_ids:qe,decoder_input_ids:lA,...oA}=ae;if(!Ce){const wA=(0,V.pick)(ae,U.sessions.model.inputNames);Ce=(await xA(U,wA)).last_hidden_state}return oA.input_ids=lA,oA.encoder_hidden_states=Ce,U.sessions.decoder_model_merged.inputNames.includes("encoder_attention_mask")&&(oA.encoder_attention_mask=ae.attention_mask),await iA(U,oA,!0)}async function xA(U,ae){const Ce=U.sessions.model,qe=(0,V.pick)(ae,Ce.inputNames);if(Ce.inputNames.includes("inputs_embeds")&&!qe.inputs_embeds){if(!ae.input_ids)throw new Error("Both `input_ids` and `inputs_embeds` are missing in the model inputs.");qe.inputs_embeds=await U.encode_text({input_ids:ae.input_ids})}if(Ce.inputNames.includes("token_type_ids")&&!qe.token_type_ids){if(!qe.input_ids)throw new Error("Both `input_ids` and `token_type_ids` are missing in the model inputs.");qe.token_type_ids=(0,W.zeros_like)(qe.input_ids)}if(Ce.inputNames.includes("pixel_mask")&&!qe.pixel_mask){if(!qe.pixel_values)throw new Error("Both `pixel_values` and `pixel_mask` are missing in the model inputs.");const lA=qe.pixel_values.dims;qe.pixel_mask=(0,W.ones)([lA[0],lA[2],lA[3]])}return await Ge(Ce,qe)}async function iA(U,ae,Ce=!1){const qe=U.sessions[Ce?"decoder_model_merged":"model"],{past_key_values:lA,...oA}=ae;if(qe.inputNames.includes("use_cache_branch")&&(oA.use_cache_branch=Ke(!!lA)),qe.inputNames.includes("position_ids")&&oA.attention_mask&&!oA.position_ids){const KA=U.config.model_type==="paligemma"?1:0;oA.position_ids=function(ZA,WA=null,rt=0){const{input_ids:dt,inputs_embeds:Gt,attention_mask:or}=ZA,{data:Tt,dims:Lt}=gA(or,rt);let Ht=new W.Tensor("int64",Tt,Lt);if(WA){const lr=-(dt??Gt).dims.at(1);Ht=Ht.slice(null,[lr,null])}return Ht}(oA,lA,KA)}U.addPastKeyValues(oA,lA);const wA=(0,V.pick)(oA,qe.inputNames);return await Ge(qe,wA)}function cA({image_token_id:U,inputs_embeds:ae,image_features:Ce,input_ids:qe,attention_mask:lA}
2732){const oA=qe.tolist().map(WA=>WA.reduce((rt,dt,Gt)=>(dt==U&&rt.push(Gt),rt),[])),wA=oA.reduce((WA,rt)=>WA+rt.length,0),KA=Ce.dims[0];if(wA!==KA)throw new Error(`Image features and image tokens do not match: tokens: ${wA}, features ${KA}`);let ZA=0;for(let WA=0;WA<oA.length;++WA){const rt=oA[WA],dt=ae[WA];for(let Gt=0;Gt<rt.length;++Gt)dt[rt[Gt]].data.set(Ce[ZA++].data)}return{inputs_embeds:ae,attention_mask:lA}}async function yA(U,{input_ids:ae=null,attention_mask:Ce=null,pixel_values:qe=null,position_ids:lA=null,inputs_embeds:oA=null,past_key_values:wA=null,generation_config:KA=null,logits_processor:ZA=null,...WA}){if(!oA){if(oA=await U.encode_text({input_ids:ae,...WA}),qe&&ae.dims[1]!==1){const rt=await U.encode_image({pixel_values:qe,...WA});({inputs_embeds:oA,attention_mask:Ce}=U._merge_input_ids_with_image_features({image_features:rt,inputs_embeds:oA,input_ids:ae,attention_mask:Ce}))}else if(wA&&qe&&ae.dims[1]===1){const rt=ae.dims[1],dt=Object.values(wA)[0].dims.at(-2);Ce=(0,W.cat)([(0,W.ones)([ae.dims[0],dt]),Ce.slice(null,[Ce.dims[1]-rt,Ce.dims[1]])],1)}}if(!lA&&U.config.model_type==="qwen2_vl"){const{image_grid_thw:rt,video_grid_thw:dt}=WA;[lA]=U.get_rope_index(ae,rt,dt,Ce)}return await iA(U,{inputs_embeds:oA,past_key_values:wA,attention_mask:Ce,position_ids:lA,generation_config:KA,logits_processor:ZA},!0)}function gA(U,ae=0){const[Ce,qe]=U.dims,lA=U.data,oA=new BigInt64Array(lA.length);for(let wA=0;wA<Ce;++wA){const KA=wA*qe;
2732let ZA=BigInt(ae);for(let WA=0;WA<qe;++WA){const rt=KA+WA;lA[rt]===0n?oA[rt]=BigInt(1):(oA[rt]=ZA,ZA+=lA[rt])}}return{data:oA,dims:U.dims}}function He(U,ae,Ce,qe){if(Ce.past_key_values){const lA=Object.values(Ce.past_key_values)[0].dims.at(-2),{input_ids:oA,attention_mask:wA}=Ce;if(!(wA&&wA.dims[1]>oA.dims[1])){if(lA<oA.dims[1])Ce.input_ids=oA.slice(null,[lA,null]);else if(U.config.image_token_index!=null&&oA.data.some(KA=>KA==U.config.image_token_index)){const KA=U.config.num_image_tokens;if(!KA)throw new Error("`num_image_tokens` is missing in the model configuration.");const ZA=oA.dims[1]-(lA-KA);Ce.input_ids=oA.slice(null,[-ZA,null]),Ce.attention_mask=(0,W.ones)([1,lA+ZA])}}}return Ce}function Je(U,ae,Ce,qe){return Ce.past_key_values&&(ae=ae.map(lA=>[lA.at(-1)])),{...Ce,decoder_input_ids:ze(ae)}}function hA(U,...ae){return U.config.is_encoder_decoder?Je(U,...ae):He(U,...ae)}function IA(U,ae,Ce,qe){const lA=!!Ce.past_key_values;return qe.guidance_scale!==null&&qe.guidance_scale>1&&(lA?Ce.input_ids=(0,W.cat)([Ce.input_ids,Ce.input_ids],0):(Ce.input_ids=(0,W.cat)([Ce.input_ids,(0,W.full_like)(Ce.input_ids,BigInt(qe.pad_token_id))],0),Ce.attention_mask=(0,W.cat)([Ce.attention_mask,(0,W.full_like)(Ce.attention_mask,0n)],0))),!lA&&Ce.pixel_values||(Ce.pixel_values=(0,W.full)([0,0,3,384,384],1)),lA&&(Ce.images_seq_mask=new W.Tensor("bool",new Array(1).fill(!0).fill(!1,0,1),[1,1]),Ce.images_emb_mask=new W.Tensor("bool",new Array(0).fill(!1),[1,1,0])),Ce}class Qe extends O.Callable{constructor(Ce,qe,lA){super();Ve(this,"main_input_name","input_ids");Ve(this,"forward_params",["input_ids","attention_mask"]);this.config=Ce,this.sessions=qe,this.configs=lA;
2732const oA=tA.get(this.constructor),wA=Oe.get(oA);switch(this.can_generate=!1,this._forward=null,this._prepare_inputs_for_generation=null,wA){case M:this.can_generate=!0,this._forward=iA,this._prepare_inputs_for_generation=He;break;case e:case l:case z:this.can_generate=!0,this._forward=Pe,this._prepare_inputs_for_generation=Je;break;case b:this._forward=Pe;break;case D:this.can_generate=!0,this._forward=yA,this._prepare_inputs_for_generation=hA;break;case Ne:this.can_generate=!0,this._prepare_inputs_for_generation=hA;break;case Ye:this.can_generate=!0,this._prepare_inputs_for_generation=IA;break;default:this._forward=xA}this.can_generate&&this.forward_params.push("past_key_values"),this.custom_config=this.config["transformers.js_config"]??{}}async dispose(){var qe;const Ce=[];for(const lA of Object.values(this.sessions))(qe=lA==null?void 0:lA.handler)!=null&&qe.dispose&&Ce.push(lA.handler.dispose());return await Promise.all(Ce)}static async from_pretrained(Ce,{progress_callback:qe=null,config:lA=null,cache_dir:oA=null,local_files_only:wA=!1,revision:KA="main",model_file_name:ZA=null,subfolder:WA="onnx",device:rt=null,dtype:dt=null,use_external_data_format:Gt=null,session_options:or={}}={}){let Tt={progress_callback:qe,config:lA,cache_dir:oA,local_files_only:wA,revision:KA,model_file_name:ZA,subfolder:WA,device:rt,dtype:dt,use_external_data_format:Gt,session_options:or};const Lt=tA.get(this),Ht=Oe.get(Lt);let lr;if(lA=Tt.config=await k.AutoConfig.from_pretrained(Ce,Tt),Ht===M)lr=await Promise.all([BA(Ce,{model:Tt.model_file_name??"model"},Tt),DA(Ce,{generation_config:"generation_config.json"},Tt)]);else if(Ht===e||Ht===l)lr=await Promise.all([BA(Ce,{model:"encoder_model",decoder_model_merged:"decoder_model_merged"},Tt),DA(Ce,{generation_config:"generation_config.json"},Tt)]);else if(Ht===ue)lr=await Promise.all([BA(Ce,{model:"vision_encoder",prompt_encoder_mask_decoder:"prompt_encoder_mask_decoder"},Tt)]);else if(Ht===b)lr=await Promise.all([BA(Ce,{model:"encoder_model",decoder_model_merged:"decoder_model_merged"},Tt)]);else if(Ht===D){const Sr={embed_tokens:"embed_tokens",vision_encoder:"vision_encoder",decoder_model_merged:"decoder_model_merged"};lA.is_encoder_decoder&&(Sr.model="encoder_model"),lr=await Promise.all([BA(Ce,Sr,Tt),DA(Ce,{generation_config:"generation_config.json"},Tt)])}else if(Ht===z)lr=await Promise.all([BA(Ce,{model:"text_encoder",decoder_model_merged:"decoder_model_merged",encodec_decode:"encodec_decode"},Tt),DA(Ce,{generation_config:"generation_config.json"},Tt)]);else if(Ht===Ye)lr=await Promise.all([BA(Ce,{prepare_inputs_embeds:"prepare_inputs_embeds",model:"language_model",lm_head:"lm_head",gen_head:"gen_head",gen_img_embeds:"gen_img_embeds",image_decode:"image_decode"},Tt),DA(Ce,{generation_config:"generation_config.json"},Tt)]);else if(Ht===Ne)lr=await Promise.all([BA(Ce,{prepare_inputs_embeds:"prepare_inputs_embeds",model:"model",vision_encoder:"vision_encoder"},Tt),DA(Ce,{generation_config:"generation_config.json"},Tt)]);else{if(Ht!==g){const Sr=Lt??(lA==null?void 0:lA.model_type);Sr!=="custom"&&console.warn(`Model type for '${Sr}' not found, assuming encoder-only architecture. Please report this at ${R.GITHUB_ISSUE_URL}.`)}lr=await Promise.all([BA(Ce,{model:Tt.model_file_name??"model"},Tt)])}return new this(lA,...lr)}async _call(Ce){return await this.forward(Ce)}async forward(Ce){return await this._forward(this,Ce)}get generation_config(){var Ce;return((Ce=this.configs)==null?void 0:Ce.generation_config)??null}_get_logits_warper(Ce){const qe=new S.LogitsProcessorList;return Ce.temperature!==null&&Ce.temperature!==1&&qe.push(new S.TemperatureLogitsWarper(Ce.temperature)),Ce.top_k!==null&&Ce.top_k!==0&&qe.push(new S.TopKLogitsWarper(Ce.top_k)),Ce.top_p!==null&&Ce.top_p<1&&qe.push(new S.TopPLogitsWarper(Ce.top_p)),qe}_get_logits_processor(Ce,qe,lA=null){const oA=new S.LogitsProcessorList;if(Ce.repetition_penalty!==null&&Ce.repetition_penalty!==1&&oA.push(new S.RepetitionPenaltyLogitsProcessor(Ce.repetition_penalty)),Ce.no_repeat_ngram_size!==null&&Ce.no_repeat_ngram_size>0&&oA.push(new S.NoRepeatNGramLogitsProcessor(Ce.no_repeat_ngram_size)),Ce.bad_words_ids!==null&&oA.push(new S.NoBadWordsLogitsProcessor(Ce.bad_words_ids,Ce.eos_token_id)),Ce.min_length!==null&&Ce.eos_token_id!==null&&Ce.min_length>0&&oA.push(new S.MinLengthLogitsProcessor(Ce.min_length,Ce.eos_token_id)),Ce.min_new_tokens!==null&&Ce.eos_token_id!==null&&Ce.min_new_tokens>0&&oA.push(new S.MinNewTokensLengthLogitsProcessor(qe,Ce.min_new_tokens,Ce.eos_token_id)),Ce.forced_bos_token_id!==null&&oA.push(new S.ForcedBOSTokenLogitsProcessor(Ce.forced_bos_token_id)),Ce.forced_eos_token_id!==null&&oA.push(new S.ForcedEOSTokenLogitsProcessor(Ce.max_length,Ce.forced_eos_token_id)),Ce.begin_suppress_tokens!==null){const wA=qe>1||Ce.forced_bos_token_id===null?qe:qe+1;oA.push(new S.SuppressTokensAtBeginLogitsProcessor(Ce.begin_suppress_tokens,wA))}return Ce.guidance_scale!==null&&Ce.guidance_scale>1&&oA.push(new S.ClassifierFreeGuidanceLogitsProcessor(Ce.guidance_scale)),lA!==null&&oA.extend(lA),oA}_prepare_generation_config(Ce,qe,lA=Z.GenerationConfig){const oA
2732={...this.config};for(const KA of["decoder","generator","text_config"])KA in oA&&Object.assign(oA,oA[KA]);const wA=new lA(oA);return Object.assign(wA,this.generation_config??{}),Ce&&Object.assign(wA,Ce),qe&&Object.assign(wA,(0,V.pick)(qe,Object.getOwnPropertyNames(wA))),wA}_get_stopping_criteria(Ce,qe=null){const lA=new Be.StoppingCriteriaList;return Ce.max_length!==null&&lA.push(new Be.MaxLengthCriteria(Ce.max_length,this.config.max_position_embeddings??null)),Ce.eos_token_id!==null&&lA.push(new Be.EosTokenCriteria(Ce.eos_token_id)),qe&&lA.extend(qe),lA}_validate_model_class(){if(!this.can_generate){const Ce=[Zo,Xo,Ko,jo],qe=tA.get(this.constructor),lA=new Set,oA=this.config.model_type;for(const KA of Ce){const ZA=KA.get(oA);ZA&&lA.add(ZA[0])}let wA=`The current model class (${qe}) is not compatible with \`.generate()\`, as it doesn't have a language model head.`;throw lA.size>0&&(wA+=` Please use the following class instead: ${[...lA].join(", ")}`),Error(wA)}}prepare_inputs_for_generation(...Ce){return this._prepare_inputs_for_generation(this,...Ce)}_update_model_kwargs_for_generation({generated_input_ids:Ce,outputs:qe,model_inputs:lA,is_encoder_decoder:oA}){return lA.past_key_values=this.getPastKeyValues(qe,lA.past_key_values),lA.input_ids=new W.Tensor("int64",Ce.flat(),[Ce.length,1]),oA||(lA.attention_mask=(0,W.cat)([lA.attention_mask,(0,W.ones)([lA.attention_mask.dims[
27320],1])],1)),lA.position_ids=null,lA}_prepare_model_inputs({inputs:Ce,bos_token_id:qe,model_kwargs:lA}){const oA=(0,V.pick)(lA,this.forward_params),wA=this.main_input_name;if(wA in oA){if(Ce)throw new Error("`inputs`: {inputs}` were passed alongside {input_name} which is not allowed. Make sure to either pass {inputs} or {input_name}=...")}else oA[wA]=Ce;return{inputs_tensor:oA[wA],model_inputs:oA,model_input_name:wA}}async _prepare_encoder_decoder_kwargs_for_generation({inputs_tensor:Ce,model_inputs:qe,model_input_name:lA,generation_config:oA}){if(this.sessions.model.inputNames.includes("inputs_embeds")&&!qe.inputs_embeds&&"_prepare_inputs_embeds"in this){const{input_ids:KA,pixel_values:ZA,attention_mask:WA,...rt}=qe,dt=await this._prepare_inputs_embeds(qe);qe={...rt,...(0,V.pick)(dt,["inputs_embeds","attention_mask"])}}let{last_hidden_state:wA}=await xA(this,qe);if(oA.guidance_scale!==null&&oA.guidance_scale>1)wA=(0,W.cat)([wA,(0,W.full_like)(wA,0)],0),"attention_mask"in qe&&(qe.attention_mask=(0,W.cat)([qe.attention_mask,(0,W.zeros_like)(qe.attention_mask)],0));else if(qe.decoder_input_ids){const KA=ze(qe.decoder_input_ids).dims[0];if(KA!==wA.dims[0]){if(wA.dims[0]!==1)throw new Error(`The encoder outputs have a different batch size (${wA.dims[0]}) than the decoder inputs (${KA}).`);wA=(0,W.cat)(Array.from({length:KA},()=>wA),0)}}return qe.encoder_outputs=wA,qe}_prepare_decoder_input_ids_for_generation({batch_size:Ce,model_input_name:qe,model_kwargs:lA,decoder_start_token_id:oA,bos_token_id:wA,generation_config:KA}){let{decoder_input_ids:ZA,...WA}=lA;if(!(ZA instanceof W.Tensor)){if(ZA)Array.isArray(ZA[0])||(ZA=Array.from({length:Ce},()=>ZA));else if(oA??(oA=wA),this.config.model_type==="musicgen")ZA=Array.from({length:Ce*this.config.decoder.num_codebooks},()=>[oA]);else if(Array.isArray(oA)){if(oA.length!==Ce)throw new Error(`\`decoder_start_token_id\` expcted to have length ${Ce} but got ${oA.length}`);ZA=oA}else ZA=Array.from({length:Ce},()=>[oA]);ZA=ze(ZA)}return lA.decoder_attention_mask=(0,W.ones_like)(ZA),{input_ids:ZA,model_inputs:WA}}async generate({inputs:Ce=null,generation_config:qe=null,logits_processor:lA=null,stopping_criteria:oA=null,streamer:wA=null,...KA}){this._validate_model_class(),qe=this._prepare_generation_config(qe,KA);let{inputs_tensor:ZA,model_inputs:WA,model_input_name:rt}=this._prepare_model_inputs({inputs:Ce,model_kwargs:KA});const dt=this.config.is_encoder_decoder;let Gt;dt&&("encoder_outputs"in WA||(WA=await this._prepare_encoder_decoder_kwargs_for_generation({inputs_tensor:ZA,model_inputs:WA,model_input_name:rt,generation_config:qe}))),dt?{input_ids:Gt,model_inputs:WA}=this._prepare_decoder_input_ids_for_generation({batch_size:WA[rt].dims.at(0),model_input_name:rt,model_kwargs:WA,decoder_start_token_id:qe.decoder_start_token_id,bos_token_id:qe.bos_token_id,generation_config:qe}):Gt=WA[rt];let or=Gt.dims.at(-1);qe.max_new_tokens!==null&&(qe.max_length=or+qe.max_new_tokens);const Tt=this._get_logits_processor(qe,or,lA),Lt=this._get_stopping_criteria(qe,oA),Ht=WA[rt].dims.at(0),lr=Ee.LogitsSampler.getSampler(qe),Sr=new Array(Ht).fill(0),Lr=Gt.tolist();let yr;wA&&wA.put(Lr);let ba={};for(;;){if(WA=this.prepare_inputs_for_generation(Lr,WA,qe),yr=await this.forward(WA),qe.output_attentions&&qe.return_dict_in_generate){const br=this.getAttentions(yr);for(const Ka in br)Ka in ba||(ba[Ka]=[]),ba[Ka].push(br[Ka])}const ea=Tt(Lr,yr.logits.slice(null,-1,null)),as=[];for(let br=0;br<ea.dims.at(0);++br){const Ka=ea[br],on=await lr(Ka);for(const[A0,ln]of on){const V0=BigInt(A0);Sr[br]+=ln,Lr[br].push(V0),as.push([V0]);break}}if(wA&&wA.put(as),Lt(Lr).every(br=>br))break;WA=this._update_model_kwargs_for_generation({generated_input_ids:as,outputs:yr,model_inputs:WA,is_encoder_decoder:dt})}wA&&wA.end();const la=this.getPastKeyValues(yr,WA.past_key_values,!0),ca=new W.Tensor("int64",Lr.flat(),[Lr.length,Lr[0].length]);if(qe.return_dict_in_generate)return{sequences:ca,past_key_values:la,...ba};for(const ea of Object.values(yr))ea.location==="gpu-buffer"&&ea.dispose();return ca}
2732getPastKeyValues(Ce,qe,lA=!1){const oA=Object.create(null);for(const wA in Ce)if(wA.startsWith("present")){const KA=wA.replace("present","past_key_values"),ZA=wA.includes("encoder");if(oA[KA]=ZA&&qe?qe[KA]:Ce[wA],qe&&(!ZA||lA)){const WA=qe[KA];WA.location==="gpu-buffer"&&WA.dispose()}}return oA}getAttentions(Ce){const qe={};for(const lA of["cross_attentions","encoder_attentions","decoder_attentions"])for(const oA in Ce)oA.startsWith(lA)&&(lA in qe||(qe[lA]=[]),qe[lA].push(Ce[oA]));return qe}addPastKeyValues(Ce,qe){var lA,oA,wA;if(qe)Object.assign(Ce,qe);else{const KA=this.sessions.decoder_model_merged??this.sessions.model,ZA=((lA=KA==null?void 0:KA.config)==null?void 0:lA.kv_cache_dtype)??"float32",WA=ZA==="float16"?new Uint16Array:[],rt=((wA=(oA=Ce[this.main_input_name]??Ce.attention_mask)==null?void 0:oA.dims)==null?void 0:wA[0])??1,dt=(0,k.getKeyValueShapes)(this.config,{batch_size:rt});for(const Gt in dt)Ce[Gt]=new W.Tensor(ZA,WA,dt[Gt])}}async encode_image({pixel_values:Ce}){const qe=(await Ge(this.sessions.vision_encoder,{pixel_values:Ce})).image_features;return this.config.num_image_tokens||(console.warn(`The number of image tokens was not set in the model configuration. Setting it to the number of features detected by the vision encoder (${qe.dims[1]}).`),this.config.num_image_tokens=qe.dims[1]),qe}async encode_text({input_ids:Ce}){return(await Ge(this.sessions.embed_tokens,{input_ids:Ce})).inputs_embeds}}class mA{}class MA extends mA{constructor({last_hidden_state:ae,hidden_states:Ce=null,attentions:qe=null}){super(),this.last_hidden_state=ae,this.hidden_states=Ce,this.attentions=qe}}class LA extends Qe{}class OA extends LA{}class q extends LA{async _call(ae){return new Oa(await super._call(ae))}}class HA extends LA{async _call(ae){return new Ot(await super._call(ae))}}class ge extends LA{async _call(ae){return new Ta(await super._call(ae))}}class J extends LA{async _call(ae){return new Ua(await super._call(ae))}}class fe extends Qe{}class Te extends fe{}class _e extends fe{async _call(ae){return new Oa(await super._call(ae))}}class dA extends fe{async _call(ae){return new Ot(await super._call(ae))}}class bA extends fe{async _call(ae){return new Ta(await super._call(ae))}}class NA extends Qe{}class XA extends NA{}class TA extends Qe{}class it extends TA{}class tt extends TA{async _call(ae){return new Oa(await super._call(ae))}}class at extends TA{async _call(ae){return new Ot(await super._call(ae))}}class It extends TA{async _call(ae){return new Ta(await super._call(ae))}}class Ar extends TA{async _call(ae){return new Ua(await super._call(ae))}}class Vr extends Qe{}class $t extends Vr{}class Pr extends Vr{async _call(ae){return new Oa(await super._call(ae))}}class wt extends Vr{async _call(ae){return new Ot(await super._call(ae))}}class Xa extends Vr{async _call(ae){return new Ta(await super._call(ae))}}class La extends Vr{async _call(ae){return new Ua(await super._call(ae))}}class wa extends Qe{}class qA extends wa{}class et extends wa{async _call(ae){return new Oa(await super._call(ae))}}class FA extends wa{async _call(ae){return new Ot(await super._call(ae))}}class Kt extends wa{async _call(ae){return new Ta(await super._call(ae))}}class Wa extends wa{async _call(ae){return new Ua(await super._call(ae))}}class Pa extends Qe{}class ns extends Pa{}class qa extends Pa{async _call(ae){return new Oa(await super._call(ae))}}class Ja extends Pa{async _call(ae){return new Ot(await super._call(ae))}}class os extends Pa{async _call(ae){return new Ta(await super._call(ae))}}class Yr extends Pa{async _call(ae){return new Ua(await super._call(ae))}}class yt extends Qe{}class Ga extends yt{}class zr extends yt{async _call(ae){return new Oa(await super._call(ae))}}class jr extends yt{async _call(ae){return new Ot(await super._call(ae))}}class ms extends yt{async _call(ae){return new Ta(await super._call(ae))}}class Xt extends yt{async _call(ae){return new Ua(await super._call(ae))}}class _a extends Qe{}class Cs extends _a{}class wi extends _a{async _call(ae){return new Oa(await super._call(ae))}}class ei extends _a{async _call(ae){return new Ot(await super._call(ae))}}class Ai extends _a{async _call(ae){return new Ta(await super._call(ae))}}class ki extends _a{async _call(ae){return new Ua(await super._call(ae))}}class qr extends Qe{}class ls extends qr{}class bs extends qr{async _call(ae){return new Ot(await super._call(ae))}}class ti extends qr{async _call(ae){return new Ta(await super._call(ae))}}class $a extends qr{async _call(ae){return new Ua(await super._call(ae))}}class Es extends qr{async _call(ae){return new Oa(await super._call(ae))}}class Br extends Qe{}class Ls extends Br{}class Ys extends Br{async _call(ae){return new Oa(await super._call(ae))}}class xi extends Br{async _call(ae){return new Ot(await super._call(ae))}}class Hs extends Br{async _call(ae){return new Ta(await super._call(ae))}}class Ms extends Qe{}class Rs extends Ms{}class Gs extends Ms{async _call(ae){return new Oa(await super._call(ae))}}class xt extends Ms{async _call(ae){return new Ot(await super._call(ae))}}class Ft extends Ms{async _call(ae){return new Ua(await super._call(ae))}}class ka extends Qe{}class ri extends ka{}class Ds extends ka{async _call(ae){return new Oa(await super._call(ae))}}class Ws extends ka{async _call(ae){return new Ot(await super._call(ae))}}class cs extends ka{async _call(ae){return new Ta(await super._call(ae))}}class Qs extends ka{async _call(ae){return new Ua(await super._call(ae))}}class rA extends Qe{}class re extends rA{}class xe extends rA{async _call(ae){return new Oa(await super._call(ae))}}class Se extends rA{async _call(ae){return new Ot(await super._call(ae))}}class je extends rA{async _call(ae){return new Ua(await super._call(ae))}}class Ze extends Qe{}class uA extends Ze{}class PA extends Ze{async _call(ae){return new Ot(await super._call(ae))}}class Le extends Ze{async _call(ae){return new Ua(await super._call(ae))}}class YA extends Ze{async _call(ae){return new Oa(await super._call(ae))}}class vA extends Qe{constructor(){super(...arguments);Ve(this,"forward_params",["input_ids","attention_mask","encoder_outputs","decoder_input_ids","decoder_attention_mask","past_key_values"])}}class Bt extends vA{}class fr extends vA{}class jt extends Qe{}class er extends jt{}class zt extends jt{}class VA extends Qe{}class _A extends VA{}class Zt extends VA{}class xa extends Qe{}class pa extends xa{}class nr extends xa{}class nt extends xa{async _call(ae){return new Ot(await super._call(ae))}}class pr extends Qe{}class pA extends pr{}class $A extends pr{}class ha extends pr{async _call(ae){return new Ot(await super._call(ae))}}class Hr extends pr{}class Ur extends Qe{}class Fr extends Ur{}class wr extends Ur{}class Ut extends Qe{}class vr extends Ut{}class ai extends Ut{}class Ya extends Qe{}class Li extends Ya{}class Da extends Ya{async _call(ae){return new Oa(await super._call(ae))}}class Yi extends Ya{async _call(ae){return new Ot(await super._call(ae))}}class Dt extends Ya{async _call(ae){return new Ta(await super._call(ae))}}class Aa extends Ya{async _call(ae){return new Ua(await super._call(ae))}}class Va extends Qe{}class u0 extends Va{}class d0 extends Va{async _call(ae){return new Oa(await super._call(ae))}}class f0 extends Va{async _call(ae){return new Ot(await super._call(ae))}}class p0 extends Va{async _call(ae){return new Ta(await super._call(ae))}}class si extends Va{async _call(ae){return new Ua(await super._call(ae))}}class Vs extends Qe{}class h0 extends Vs{}class Hi extends Vs{async _call(ae){return new Oa(await super._call(ae))}}class za extends Vs{async _call(ae){return new Ot(await super._call(ae))}}class Jr extends Vs{async _call(ae){return new Ta(await super._call(ae))}}class JA extends Vs{async _call(ae){return new Ua(await super._call(ae))}}class Qa extends Qe{}class bn extends Qa{}class Ri extends Qa{}class In extends Qe{constructor(){super(...arguments);Ve(this,"requires_attention_mask",!1);
2732Ve(this,"main_input_name","input_features");Ve(this,"forward_params",["input_features","attention_mask","decoder_input_ids","decoder_attention_mask","past_key_values"])}}class m0 extends In{}class C0 extends In{_prepare_generation_config(ae,Ce){return super._prepare_generation_config(ae,Ce,ne.WhisperGenerationConfig)}_retrieve_init_tokens(ae){const Ce=[ae.decoder_start_token_id];let qe=ae.language;const lA=ae.task;if(ae.is_multilingual){qe||(console.warn("No language specified - defaulting to English (en)."),qe="en");const oA=`<|${(0,ve.whisper_language_to_code)(qe)}|>`;Ce.push(ae.lang_to_id[oA]),Ce.push(ae.task_to_id[lA??"transcribe"])}else if(qe||lA)throw new Error("Cannot specify `task` or `language` for an English-only model. If the model is intended to be multilingual, pass `is_multilingual=true` to generate, or update the generation config.");return!ae.return_timestamps&&ae.no_timestamps_token_id&&Ce.at(-1)!==ae.no_timestamps_token_id?Ce.push(ae.no_timestamps_token_id):ae.return_timestamps&&Ce.at(-1)===ae.no_timestamps_token_id&&(console.warn("<|notimestamps|> prompt token is removed from generation_config since `return_timestamps` is set to `true`."),Ce.pop()),Ce.filter(oA=>oA!=null)}async generate({inputs:ae=null,generation_config:Ce=null,logits_processor:qe=null,stopping_criteria:lA=null,...oA}){Ce=this._prepare_generation_config(Ce,oA);const wA=oA.decoder_input_ids??this._retrieve_init_tokens(Ce);if(Ce.return_timestamps&&(qe??(qe=new S.LogitsProcessorList),qe.push(new S.WhisperTimeStampLogitsProcessor(Ce,wA))),Ce.begin_suppress_tokens&&(qe??(qe=new S.LogitsProcessorList),qe.push(new S.SuppressTokensAtBeginLogitsProcessor(Ce.begin_suppress_tokens,wA.length))),Ce.return_token_timestamps){if(!Ce.alignment_heads)throw new Error("Model generation config has no `alignment_heads`, token-level timestamps not available. See https://gist.github.com/hollance/42e32852f24243b748ae6bc1f985b13a on how to add this property to the generation config.");Ce.task==="translate"&&console.warn("Token-level timestamps may not be reliable for task 'translate'."),Ce.output_attentions=!0,Ce.return_dict_in_generate=!0}
2732const KA=await super.generate({inputs:ae,generation_config:Ce,logits_processor:qe,decoder_input_ids:wA,...oA});return Ce.return_token_timestamps&&(KA.token_timestamps=this._extract_token_timestamps(KA,Ce.alignment_heads,Ce.num_frames)),KA}_extract_token_timestamps(ae,Ce,qe=null,lA=.02){if(!ae.cross_attentions)throw new Error("Model outputs must contain cross attentions to extract timestamps. This is most likely because the model was not exported with `output_attentions=True`.");qe==null&&console.warn("`num_frames` has not been set, meaning the entire audio will be analyzed. This may lead to inaccurate token-level timestamps for short audios (< 30 seconds).");let oA=this.config.median_filter_width;oA===void 0&&(console.warn("Model config has no `median_filter_width`, using default value of 7."),oA=7);const wA=ae.cross_attentions,KA=Array.from({length:this.config.decoder_layers},(Lt,Ht)=>(0,W.cat)(wA.map(lr=>lr[Ht]),2)),ZA=(0,W.stack)(Ce.map(([Lt,Ht])=>{if(Lt>=KA.length)throw new Error(`Layer index ${Lt} is out of bounds for cross attentions (length ${KA.length}).`);return qe?KA[Lt].slice(null,Ht,null,[0,qe]):KA[Lt].slice(null,Ht)})).transpose(1,0,2,3),[WA,rt]=(0,W.std_mean)(ZA,-2,0,!0),dt=ZA.clone();for(let Lt=0;Lt<dt.dims[0];++Lt){const Ht=dt[Lt];for(let lr=0;lr<Ht.dims[0];++lr){const Sr=Ht[lr],Lr=WA[Lt][lr][0].data,yr=rt[Lt][lr][0].data;for(let ba=0;ba<Sr.dims[0];++ba){let la=Sr[ba].data;for(let ca=0;ca<la.length;++ca)la[ca]=(la[ca]-yr[ca])/Lr[ca];la.set((0,me.medianFilter)(la,oA))}}}const Gt=[(0,W.mean)(dt,1)],or=ae.sequences.dims,Tt=new W.Tensor("float32",new Float32Array(or[0]*or[1]),or);for(let Lt=0;Lt<or[0];++Lt){const Ht=Gt[Lt].neg().squeeze_(0),[lr,Sr]=(0,me.dynamic_time_warping)(Ht.tolist()),Lr=Array.from({length:lr.length-1},(la,ca)=>lr[ca+1]-lr[ca]),yr=(0,V.mergeArrays)([1],Lr).map(la=>!!la),ba=[];for(let la=0;la<yr.length;++la)yr[la]&&ba.push(Sr[la]*lA);Tt[Lt].data.set(ba,1)}return Tt}}class wn extends Qe{constructor(){super(...arguments);Ve(this,"requires_attention_mask",!1);Ve(this,"main_input_name","input_values");Ve(this,"forward_params",["input_values","decoder_input_ids","past_key_values"])}}class _0 extends wn{}class Fa extends wn{}class ar extends Qe{constructor(){super(...arguments);Ve(this,"main_input_name","pixel_values");Ve(this,"forward_params",["pixel_values","decoder_input_ids","encoder_hidden_states","past_key_values"])}}class Bi extends Qe{constructor(){super(...arguments);Ve(this,"forward_params",["input_ids","attention_mask","pixel_values","position_ids","past_key_values"])}}class vi extends Bi{_merge_input_ids_with_image_features({inputs_embeds:ae,image_features:Ce,input_ids:qe,attention_mask:lA}){const oA=this.config.image_token_index,wA=qe.tolist().map(dt=>dt.findIndex(Gt=>Gt==oA)),KA=wA.every(dt=>dt===-1),ZA=wA.every(dt=>dt!==-1);if(!KA&&!ZA)throw new Error("Every input should contain either 0 or 1 image token.");if(KA)return{inputs_embeds:ae,attention_mask:lA};const WA=[],rt=[];for(let dt=0;dt<wA.length;++dt){const Gt=wA[dt],or=ae[dt],Tt=Ce[dt],Lt=lA[dt];WA.push((0,W.cat)([or.slice([0,Gt]),Tt,or.slice([Gt+1,or.dims[0]])],0)),rt.push((0,W.cat)([Lt.slice([0,Gt]),(0,W.ones)([Tt.dims[0]]),Lt.slice([Gt+1,Lt.dims[0]])],0))}return{inputs_embeds:(0,W.stack)(WA,0),attention_mask:(0,W.stack)(rt,0)}}}class Ba extends vi{}class js extends vi{}
2732class gs extends Qe{constructor(){super(...arguments);Ve(this,"forward_params",["input_ids","inputs_embeds","attention_mask","pixel_values","encoder_outputs","decoder_input_ids","decoder_inputs_embeds","decoder_attention_mask","past_key_values"]);Ve(this,"main_input_name","inputs_embeds")}}class kn extends gs{_merge_input_ids_with_image_features({inputs_embeds:ae,image_features:Ce,input_ids:qe,attention_mask:lA}){return{inputs_embeds:(0,W.cat)([Ce,ae],1),attention_mask:(0,W.cat)([(0,W.ones)(Ce.dims.slice(0,2)),lA],1)}}async _prepare_inputs_embeds({input_ids:ae,pixel_values:Ce,inputs_embeds:qe,attention_mask:lA}){if(!ae&&!Ce)throw new Error("Either `input_ids` or `pixel_values` should be provided.");let oA,wA;return ae&&(oA=await this.encode_text({input_ids:ae})),Ce&&(wA=await this.encode_image({pixel_values:Ce})),oA&&wA?{inputs_embeds:qe,attention_mask:lA}=this._merge_input_ids_with_image_features({inputs_embeds:oA,image_features:wA,input_ids:ae,attention_mask:lA}):qe=oA||wA,{inputs_embeds:qe,attention_mask:lA}}async forward({input_ids:ae,pixel_values:Ce,attention_mask:qe,decoder_input_ids:lA,decoder_attention_mask:oA,encoder_outputs:wA,past_key_values:KA,inputs_embeds:ZA,decoder_inputs_embeds:WA}){if(ZA||({inputs_embeds:ZA,attention_mask:qe}=await this._prepare_inputs_embeds({input_ids:ae,pixel_values:Ce,inputs_embeds:ZA,attention_mask:qe})),!wA){let{last_hidden_state:dt}=await xA(this,{inputs_embeds:ZA,attention_mask:qe});wA=dt}if(!WA){if(!lA)throw new Error("Either `decoder_input_ids` or `decoder_inputs_embeds` should be provided.");WA=await this.encode_text({input_ids:lA})}return await iA(this,{inputs_embeds:WA,attention_mask:oA,encoder_attention_mask:qe,encoder_hidden_states:wA,past_key_values:KA},!0)}}class xn extends Qe{constructor(){super(...arguments);Ve(this,"forward_params",["input_ids","attention_mask","pixel_values","position_ids","past_key_values"])}}class Us extends xn{_merge_input_ids_with_image_features(ae){const Ce=ae.image_features.dims.at(-1),qe=ae.image_features.view(-1,Ce);return cA({image_token_id:this.config.image_token_index,...ae,image_features:qe})}}class Bn extends Qe{constructor(){super(...arguments);Ve(this,"forward_params",["input_ids","attention_mask","pixel_values","pixel_attention_mask","position_ids","past_key_values"])}}class vn extends Bn{async encode_image({pixel_values:ae,pixel_attention_mask:Ce}){return(await Ge(this.sessions.vision_encoder,{pixel_values:ae,pixel_attention_mask:Ce})).image_features}_merge_input_ids_with_image_features(ae){const Ce=ae.image_features.dims.at(-1),qe=ae.image_features.view(-1,Ce);return cA({image_token_id:this.config.image_token_id,...ae,image_features:qe})}}class yn extends Qe{constructor(){super(...arguments);Ve(this,"forward_params",["input_ids","inputs_embeds","attention_mask","position_ids","pixel_values","image_sizes","past_key_values"])}}class QA extends yn{async forward({input_ids:ae=null,attention_mask:Ce=null,pixel_values:qe=null,image_sizes:lA=null,position_ids:oA=null,inputs_embeds:wA=null,past_key_values:KA=null,generation_config:ZA=null,logits_processor:WA=null,...rt}){if(!wA){let dt;if(qe&&ae.dims[1]!==1){if(!lA)throw new Error("`image_sizes` must be provided when `pixel_values` is provided.");({image_features:dt}=await Ge(this.sessions.vision_encoder,{pixel_values:qe,image_sizes:lA}))}else{const Gt=this.config.normalized_config.hidden_size;dt=new W.Tensor("float32",[],[0,Gt])}({inputs_embeds:wA}=await Ge(this.sessions.prepare_inputs_embeds,{input_ids:ae,image_features:dt}))}return await iA(this,{inputs_embeds:wA,past_key_values:KA,attention_mask:Ce,position_ids:oA,generation_config:ZA,logits_processor:WA},!1)}}class Ks extends Qe{}class UA extends Ks{}class En extends Ks{static async from_pretrained(ae,Ce={}){return super.from_pretrained(ae,{...Ce,model_file_name:Ce.model_file_name??"text_model"})}}class Wi extends Ks{static async from_pretrained(ae,Ce={}){return super.from_pretrained(ae,{...Ce,model_file_name:Ce.model_file_name??"text_model"})}}class va extends Ks{static async from_pretrained(ae,Ce={}){return super.from_pretrained(ae,{...Ce,model_file_name:Ce.model_file_name??"vision_model"})}}class Sa extends Ks{static async from_pretrained(ae,Ce={}){return super.from_pretrained(ae,{...Ce,model_file_name:Ce.model_file_name??"vision_model"})}}class ii extends Qe{}class yi extends ii{}class Mn extends ii{static async from_pretrained(ae,Ce={}){return super.from_pretrained(ae,{...Ce,model_file_name:Ce.model_file_name??"text_model"})}}class Nr extends Ks{static async from_pretrained(ae,Ce={}){return super.from_pretrained(ae,{...Ce,model_file_name:Ce.model_file_name??"vision_model"})}}class b0 extends Qe{}class I0 extends b0{}class Ts extends Qe{}class ni extends Ts{async forward(ae){const Ce=!ae.input_ids,qe=!ae.pixel_values;if(Ce&&qe)throw new Error("Either `input_ids` or `pixel_values` should be provided.");if(Ce&&(ae.input_ids=(0,W.ones)([ae.pixel_values.dims[0],1])),qe){const{image_size:WA}=this.config.vision_config;ae.pixel_values=(0,W.full)([0,3,WA,WA],0)}const{text_embeddings:lA,image_embeddings:oA,l2norm_text_embeddings:wA,l2norm_image_embeddings:KA}=await super.forward(ae),ZA={};return Ce||(ZA.text_embeddings=lA,ZA.l2norm_text_embeddings=wA),qe||(ZA.image_embeddings=oA,ZA.l2norm_image_embeddings=KA),ZA}}class w0 extends Ts{static async from_pretrained(ae,Ce={}){return super.from_pretrained(ae,{...Ce,model_file_name:Ce.model_file_name??"text_model"})}}class Vi extends Ts{static async from_pretrained(ae,Ce={}){return super.from_pretrained(ae,{...Ce,model_file_name:Ce.model_file_name??"vision_model"})}}class oi extends Qe{}class RA extends oi{}class es extends oi{}class Gn extends Qe{}class Ei extends Gn{}class Is extends Gn{}class Dn extends Qe{}class k0 extends Dn{}class x0 extends Dn{}class ji extends Qe{}class B0 extends ji{}class v0 extends ji{}class Rr extends Qe{}class y0 extends Rr{}class E0 extends Rr{}class kt extends Qe{}class Wt extends kt{}class Qn extends kt{}class us extends Qe{}class M0 extends us{}class ta extends us{}class ws extends Qe{}class ra extends ws{}class ks extends ws{}class Ui extends Qe{}class Tn extends Ui{}class G0 extends Ui{}class Ki extends Qe{}class Mr extends Ki{}class Mi extends Ki{}class Pn extends Qe{}class aa extends Pn{}class li extends Pn{}class xs extends Qe{}class zn extends xs{}class Fn extends xs{}class Sn extends Qe{}class Zi extends Sn{}class ds extends Sn{}class Xi extends Qe{}class D0 extends Xi{}class Nn extends Xi{}class On extends Qe{}class Bs extends On{}class qi extends On{}class Wr extends Qe{}class Ln extends Wr{}class Ji extends Wr{}class Gi extends Qe{}class Na extends Gi{}class Di extends Gi{}class Yn extends Qe{}class As extends Yn{}class Hn extends Yn{}class _i extends Qe{}class Rn extends _i{}class ci extends _i{}class Wn extends Qe{}class Q0 extends Wn{}class T0 extends Wn{}class sa extends Qe{}class Qi extends sa{}class ma extends sa{}class Vn extends Qe{constructor(){super(...arguments);Ve(this,"forward_params",["input_ids","attention_mask","position_ids","past_key_values","pixel_values","image_grid_thw"])}}class $i extends Vn{get_rope_index(ae,Ce,qe,lA){const{vision_config:oA,image_token_id:wA,video_token_id:KA,vision_start_token_id:ZA}=this.config,WA=oA.spatial_merge_size??2,rt=[];if(Ce||qe){let dt=ae.tolist();lA||(lA=(0,W.ones_like)(ae));const Gt=lA.tolist(),or=Array.from({length:3},Sr=>Array.from({length:ae.dims[0]},Lr=>Array.from({length:ae.dims[1]},yr=>1))),Tt=Ce?Ce.tolist():[],Lt=qe?qe.tolist():[];let Ht=0,lr=0;for(let Sr=0;Sr<dt.length;++Sr){const Lr=dt[Sr].filter((Qr,ga)=>Gt[Sr][ga]==1),yr=Lr.reduce((Qr,ga,ss)=>(ga==ZA&&Qr.push(ss),Qr),[]),ba=yr.map(Qr=>Lr[Qr+1]),la=ba.filter(Qr=>Qr==wA).length,ca=ba.filter(Qr=>Qr==KA).length;let ea=[],as=0,br=la,Ka=ca;for(let Qr=0;Qr<ba.length;++Qr){const ga=Lr.findIndex((vs,Ra)=>Ra>as&&vs==wA),ss=Lr.findIndex((vs,Ra)=>Ra>as&&vs==KA),cn=br>0&&ga!==-1?ga:Lr.length+1,Oi=Ka>0&&ss!==-1?ss:Lr.length+1;let j0,io,no,oo;cn<Oi?([io,no,oo]=Tt[Ht],++Ht,--br,j0=cn):([io,no,oo]=Lt[lr],++lr,--Ka,j0=Oi);const[k1,lo,_s]=[Number(io),Math.floor(Number(no)/WA),Math.floor(Number(oo)/WA)],is=j0-as,t0=ea.length>0?(0,me.max)(ea.at(-1))[0]+1:0;ea.push(Array.from({length:3*is},(vs,Ra)=>t0+Ra%is));const r0=is+t0,gn=k1*lo*_s,l2=Array.from({length:gn},(vs,Ra)=>r0+Math.floor(Ra/(lo*_s))),x1=Array.from({length:gn},(vs,Ra)=>r0+Math.floor(Ra/_s)%lo),c2=Array.from({length:gn},(vs,Ra)=>r0+Ra%_s);ea.push([l2,x1,c2].flat()),as=j0+gn}
vendor: 13,186 bytes, line 2732
2732if(as<Lr.length){const Qr=ea.length>0?(0,me.max)(ea.at(-1))[0]+1:0,ga=Lr.length-as;ea.push(Array.from({length:3*ga},(ss,cn)=>Qr+cn%ga))}const on=ea.reduce((Qr,ga)=>Qr+ga.length,0),A0=new Array(on);let ln=0;for(let Qr=0;Qr<3;++Qr)for(let ga=0;ga<ea.length;++ga){const ss=ea[ga],cn=ss.length/3;for(let Oi=Qr*cn;Oi<(Qr+1)*cn;++Oi)A0[ln++]=ss[Oi]}let V0=0;const w1=Gt[Sr];for(let Qr=0;Qr<w1.length;++Qr)if(w1[Qr]==1){for(let ga=0;ga<3;++ga)or[ga][Sr][Qr]=A0[ga*on/3+V0];++V0}const rc=(0,me.max)(A0)[0];rt.push(rc+1-dt[Sr].length)}return[new W.Tensor("int64",or.flat(1/0),[3,ae.dims[0],ae.dims[1]]),new W.Tensor("int64",rt,[rt.length,1])]}if(lA){const{data:dt,dims:Gt}=gA(lA),or=BigInt64Array.from({length:3*dt.length},(Lt,Ht)=>dt[Ht%dt.length]),Tt=Array.from({length:Gt[0]},(Lt,Ht)=>(0,me.max)(dt.subarray(Gt[1]*Ht,Gt[1]*(Ht+1)))[0]+1n+BigInt(Gt[1]));return[new W.Tensor("int64",or,[3,...Gt]),new W.Tensor("int64",Tt,[Tt.length,1])]}{const[dt,Gt]=ae.dims,or=BigInt64Array.from({length:3*dt*Gt},(Tt,Lt)=>BigInt(Math.floor(Lt%Gt/dt)));return[new W.Tensor("int64",or,[3,...ae.dims]),(0,W.zeros)([dt,1])]}}async encode_image({pixel_values:ae,image_grid_thw:Ce}){return(await Ge(this.sessions.vision_encoder,{pixel_values:ae,grid_thw:Ce})).image_features}_merge_input_ids_with_image_features(ae){return cA({image_token_id:this.config.image_token_id,...ae})}prepare_inputs_for_generation(ae,Ce,qe){if(Ce.attention_mask&&!Ce.position_ids)if(Ce.past_key_values){Ce.pixel_values=null;const lA=BigInt(Object.values(Ce.past_key_values)[0].dims.at(-2)),oA=Ce.rope_deltas.map(wA=>lA+wA);Ce.position_ids=(0,W.stack)([oA,oA,oA],0)}else[Ce.position_ids,Ce.rope_deltas]=this.get_rope_index(Ce.input_ids,Ce.image_grid_thw,Ce.video_grid_thw,Ce.attention_mask);return Ce}}class ja extends Qe{}class hr extends ja{}class jn extends ja{}class Ps extends Qe{}class gi extends Ps{}class P0 extends Ps{}class Un extends Qe{}class Kn extends Un{}class z0 extends Un{}class zs extends Qe{}class ts extends zs{}class Zn extends zs{}class Ti extends Qe{}class _r extends Ti{}class sr extends Ti{}class ui extends Qe{}class F0 extends ui{}class Fs extends ui{async _call(ae){return new Ot(await super._call(ae))}}class Ss extends Qe{}class Zs extends Ss{}class Xn extends Ss{async _call(ae){return new Ot(await super._call(ae))}}class Ca extends Qe{}class S0 extends Ca{}class qn extends Qe{}class di extends qn{}class Pi extends qn{async _call(ae){return new Ot(await super._call(ae))}}class ia extends Qe{}class Jn extends ia{}class en extends Qe{}class Xs extends en{}class N0 extends en{async _call(ae){return new Ot(await super._call(ae))}}class fi extends Qe{}class pt extends fi{}class A extends Qe{}class t extends A{}class r extends A{async _call(ae){return new Ot(await super._call(ae))}}class a extends Qe{}class s extends a{async _call(ae){return new Ac(await super._call(ae))}}class i extends Qe{}class o extends i{}class c extends i{async _call(ae){return new Ot(await super._call(ae))}}class f extends Qe{}class m extends f{}class p extends f{async _call(ae){return new Ot(await super._call(ae))}}class I extends Qe{}class y extends I{}class T extends I{}class Y extends Qe{}class K extends Y{}class _ extends Y{}class ce extends Qe{}class he extends ce{}class ye extends ce{async _call(ae){return new Ot(await super._call(ae))}}class De extends Qe{}class Re extends De{}class Xe extends De{async _call(ae){return new fA(await super._call(ae))}}class aA extends De{async _call(ae){return new GA(await super._call(ae))}}class fA extends mA{constructor({logits:ae,pred_boxes:Ce}){super(),this.logits=ae,this.pred_boxes=Ce}}class GA extends mA{constructor({logits:ae,pred_boxes:Ce,pred_masks:qe}){super(),this.logits=ae,this.pred_boxes=Ce,this.pred_masks=qe}}class SA extends Qe{}class At extends SA{}class ct extends SA{async _call(ae){return new bt(await super._call(ae))}}class bt extends mA{constructor({logits:ae,pred_boxes:Ce}){super(),this.logits=ae,this.pred_boxes=Ce}}class Nt extends Qe{}class qt extends Nt{}class tr extends Nt{async _call(ae){return new mr(await super._call(ae))}}class mr extends fA{}class Cr extends Qe{}class Gr extends Cr{}class Dr extends Cr{async _call(ae){return new Ot(await super._call(ae))}}class Or extends Qe{}class Kr extends Or{}class na extends Or{async _call(ae){return new Ot(await super._call(ae))}}class $r extends Qe{}class oa extends $r{}class ya extends $r{async _call(ae){return new Ot(await super._call(ae))}}class rs extends Qe{}class fs extends rs{}class ps extends rs{async _call(ae){return new Ot(await super._call(ae))}}class Ns extends Qe{}class zi extends Ns{}class pi extends Ns{}class hi extends Qe{}class Fi extends hi{}class _n extends hi{}class O0 extends Qe{}class L0 extends O0{}class An extends Qe{}class k2 extends An{}class x2 extends An{}class B2 extends An{}class v2 extends Qe{}class y2 extends v2{}class bo extends Qe{}class E2 extends bo{}class M2 extends bo{}class Io extends Qe{}class G2 extends Io{}class D2 extends Io{}class Q2 extends Qe{}class T2 extends Q2{}class wo extends Qe{}class P2 extends wo{}class z2 extends wo{async _call(ae){return new Ot(await super._call(ae))}}class ko extends Qe{}class F2 extends ko{}class S2 extends ko{async _call(ae){return new Ot(await super._call(ae))}}class xo extends Qe{}class N2 extends xo{}class qs extends xo{async _call(ae){return new Ot(await super._call(ae))}}class Js extends Qe{}class tn extends Js{}class rn extends Js{async _call(ae){return new Ot(await super._call(ae))}}class O2 extends Qe{}class L2 extends O2{}class Bo extends Qe{}class Y2 extends Bo{}class H2 extends Bo{async _call(ae){return new R2(await super._call(ae))}}class R2 extends mA{constructor({logits:ae,pred_boxes:Ce}){super(),this.logits=ae,this.pred_boxes=Ce}}class W2 extends Qe{}class V2 extends W2{async get_image_embeddings({pixel_values:ae}){return await xA(this,{pixel_values:ae})}async forward(ae){if(ae.image_embeddings&&ae.image_positional_embeddings||(ae={...ae,...await this.get_image_embeddings(ae)}),!ae.input_labels&&ae.input_points){const qe=ae.input_points.dims.slice(0,-1),lA=qe.reduce((oA,wA)=>oA*wA,1);ae.input_labels=new W.Tensor("int64",new BigInt64Array(lA).fill(1n),qe)}const Ce={image_embeddings:ae.image_embeddings,image_positional_embeddings:ae.image_positional_embeddings};return ae.input_points&&(Ce.input_points=ae.input_points),ae.input_labels&&(Ce.input_labels=ae.input_labels),ae.input_boxes&&(Ce.input_boxes=ae.input_boxes),await Ge(this.sessions.prompt_encoder_mask_decoder,Ce)}async _call(ae){return new j2(await super._call(ae))}}class j2 extends mA{constructor({iou_scores:ae,pred_masks:Ce}){super(),this.iou_scores=ae,this.pred_masks=Ce}}class Ha extends Qe{}class U2 extends Ha{}class K2 extends Ha{}class $0 extends Qe{}class Z2 extends $0{}class Y0 extends $0{}class Si extends Qe{}class X2 extends Si{}class q2 extends Si{async _call(ae){return new e0(await super._call(ae))}}class J2 extends Si{async _call(ae){return new Ot(await super._call(ae))}}class _2 extends Si{async _call(ae){return new Ta(await super._call(ae))}}class eo extends Qe{}class $2 extends eo{}class el extends eo{async _call(ae){return new Ta(await super._call(ae))}}class Al extends Qe{}class tl extends Al{}class H0 extends Qe{}class rl extends H0{}class vo extends H0{async _call(ae){return new e0(await super._call(ae))}}class al extends H0{async _call(ae){return new Ot(await super._call(ae))}}class R0 extends Qe{}class sl extends R0{}class il extends R0{async _call(ae){return new e0(await super._call(ae))}}class nl extends R0{async _call(ae){return new Ot(await super._call(ae))}}class ol extends R0{async _call(ae){return new Ta(await super._call(ae))}}class Ao extends Qe{}class ll extends Ao{}class cl extends Ao{async _call(ae){return new e0(await super._call(ae))}}class gl extends Ao{async _call(ae){return new Ot(await super._call(ae))}}class Q1 extends Qe{}class ul extends Si{}class dl extends Si{async _call(ae){return new e0(await super._call(ae))}}class fl extends Si{async _call(ae){return new Ot(await super._call(ae))}}class $n extends Qe{}class pl extends $n{}class hl extends $n{async _call(ae){return new e0(await super._call(ae))}}class ml extends $n{async _call(ae){return new Ot(await super._call(ae))}}class Cl extends $n{async _call(ae){return new ec(await super._call(ae))}}class bl extends $n{async _call(ae){return new Ta(await super._call(ae))}}class Il extends Qe{}class wl extends Il{}class an extends Qe{}class kl extends an{}class yo extends an{}class Eo extends an{async generate_speech(ae,Ce,{threshold:qe=.5,minlenratio:lA=0,maxlenratio:oA=20,vocoder:wA=null}={}){const KA={input_ids:ae},{encoder_outputs:ZA,encoder_attention_mask:WA}=await xA(this,KA),rt=ZA.dims[1]/this.config.reduction_factor,dt=Math.floor(rt*oA),Gt=Math.floor(rt*lA),or=this.config.num_mel_bins;let Tt=[],Lt=null,Ht=null,lr=0;for(;;){++lr;const yr=Ke(!!Ht);let ba;ba=Ht?Ht.output_sequence_out:new W.Tensor("float32",new Float32Array(or),[1,1,or]);let la={use_cache_branch:yr,output_sequence:ba,encoder_attention_mask:WA,speaker_embeddings:Ce,encoder_hidden_states:ZA};this.addPastKeyValues(la,Lt),Ht=await Ge(this.sessions.decoder_model_merged,la),Lt=this.getPastKeyValues(Ht,Lt);const{prob:ca,spectrum:ea}=Ht;if(Tt.push(ea),lr>=Gt&&(Array.from(ca.data).filter(as=>as>=qe).length>0||lr>=dt))break}const Sr=(0,W.cat)(Tt),{waveform:Lr}=await Ge(wA.sessions.model,{spectrogram:Sr});return{spectrogram:Sr,waveform:Lr}}}class Mo extends Qe{constructor(){super(...arguments);Ve(this,"main_input_name","spectrogram")}}class xl extends Qe{}class Bl extends xl{}class to extends Qe{}class Go extends to{}class vl extends to{}class Do extends Qe{}class Qo extends Do{}class yl extends Do{}class To extends Qe{}class Po extends To{}class El extends To{}class ro extends Qe{}class Ml extends ro{}class Gl extends ro{static async from_pretrained(ae,Ce={}){return super.from_pretrained(ae,{...Ce,model_file_name:Ce.model_file_name??"text_model"})}}class Dl extends ro{static async from_pretrained(ae,Ce={}){return super.from_pretrained(ae,{...Ce,model_file_name:Ce.model_file_name??"audio_model"})}}class Ql extends Qe{}class zo extends Ql{async _call(ae){return new tc(await super._call(ae))}}class ao extends Qe{}class T1 extends ao{}class Tl extends ao{}class Pl extends ao{}class Fo extends Qe{}class zl extends Fo{}class Fl extends Fo{}class So extends Qe{}class Sl extends So{}class Nl extends So{async _call(ae){return new Ot(await super._call(ae))}}class No extends Qe{}class Ol extends No{}class P1 extends No{}class Oo extends Qe{constructor(){super(...arguments);Ve(this,"forward_params",["input_ids","attention_mask","encoder_outputs","decoder_input_ids","decoder_attention_mask","past_key_values"])}_apply_and_filter_by_delay_pattern_mask(Ce){const[qe,lA]=Ce.dims,oA=this.config.decoder.num_codebooks,wA=lA-oA;let KA=0;for(let rt=0;rt<Ce.size;++rt){if(Ce.data[rt]===this.config.decoder.pad_token_id)continue;const dt=rt%lA-Math.floor(rt/lA)%oA;dt>0&&dt<=wA&&(Ce.data[KA++]=Ce.data[rt])}const ZA=Math.floor(qe/oA),WA=KA/(ZA*oA);return new W.Tensor(Ce.type,Ce.data.slice(0,KA),[ZA,oA,WA])}prepare_inputs_for_generation(Ce,qe,lA){let oA=structuredClone(Ce);for(let wA=0;wA<oA.length;++wA)for(let KA=0;KA<oA[wA].length;++KA)wA%this.config.decoder.num_codebooks>=KA&&(oA[wA][KA]=BigInt(this.config.decoder.pad_token_id));return lA.guidance_scale!==null&&lA.guidance_scale>1&&(oA=oA.concat(oA)),super.prepare_inputs_for_generation(oA,qe,lA)}async generate(Ce){const qe=await super.generate(Ce),lA=this._apply_and_filter_by_delay_pattern_mask(qe).unsqueeze_(0),{audio_values:oA}=await Ge(this.sessions.encodec_decode,{audio_codes:lA});return oA}}class Lo extends Qe{}class Ll extends Lo{}class Yl extends Lo{async _call(ae){return new Ot(await super._call(ae))}}class Yo extends Qe{}class Hl extends Yo{}class Rl extends Yo{async _call(ae){return new Ot(await super._call(ae))}}class so extends Qe{}class Wl extends so{}class Vl extends so{async _call(ae){return new Ot(await super._call(ae))}}class Ho extends Qe{}class jl extends Ho{}class Ul extends Ho{async _call(ae){return new Ot(await super._call(ae))}}class Kl extends Qe{}class Zl extends Kl{}class Xl extends Qe{}class ql extends Xl{constructor(...Ce){super(...Ce);Ve(this,"forward_params",["input_ids","pixel_values","images_seq_mask","images_emb_mask","attention_mask","position_ids","past_key_values"]);this._generation_mode="text"}async forward(Ce){const qe=this._generation_mode??"text";let lA;if(qe!=="text"&&Ce.past_key_values){const WA=this.sessions.gen_img_embeds,rt=(0,V.pick)({image_ids:Ce.input_ids},WA.inputNames);lA=await Ge(WA,rt)}else{const WA=this.sessions.prepare_inputs_embeds,rt=(0,V.pick)(Ce,WA.inputNames);lA=await Ge(WA,rt)}const oA={...Ce,...lA},wA=await iA(this,oA),KA=this.sessions[qe==="text"?"lm_head":"gen_head"];if(!KA)throw new Error(`Unable to find "${KA}" generation head`);const ZA=await Ge(KA,(0,V.pick)(wA,KA.inputNames));return{...lA,...wA,...ZA}}async generate(Ce){return this._generation_mode="text",super.generate(Ce)}async generate_images(Ce){this._generation_mode="image";const qe=(Ce.inputs??Ce[this.main_input_name]).dims[1],lA=(await super.generate(Ce)).slice(null,[qe,null]),oA
2732=this.sessions.image_decode,{decoded_image:wA}=await Ge(oA,{generated_tokens:lA}),KA=wA.add_(1).mul_(127.5).clamp_(0,255).to("uint8"),ZA=[];for(const WA of KA){const rt=te.RawImage.fromTensor(WA);ZA.push(rt)}return ZA}}class Jl extends mA{constructor({char_logits:ae,bpe_logits:Ce,wp_logits:qe}){super(),this.char_logits=ae,this.bpe_logits=Ce,this.wp_logits=qe}get logits(){return[this.char_logits,this.bpe_logits,this.wp_logits]}}class _l extends Qe{}class $l extends _l{async _call(ae){return new Jl(await super._call(ae))}}class Ro extends Qe{}class e1 extends Ro{}class W0 extends Ro{}class Wo extends Qe{}class Vo extends Wo{}class A1 extends Wo{}class ur{static async from_pretrained(ae,{progress_callback:Ce=null,config:qe=null,cache_dir:lA=null,local_files_only:oA=!1,revision:wA="main",model_file_name:KA=null,subfolder:ZA="onnx",device:WA=null,dtype:rt=null,use_external_data_format:dt=null,session_options:Gt={}}={}){const or={progress_callback:Ce,config:qe,cache_dir:lA,local_files_only:oA,revision:wA,model_file_name:KA,subfolder:ZA,device:WA,dtype:rt,use_external_data_format:dt,session_options:Gt};if(or.config=await k.AutoConfig.from_pretrained(ae,or),!this.MODEL_CLASS_MAPPINGS)throw new Error("`MODEL_CLASS_MAPPINGS` not implemented for this type of `AutoClass`: "+this.name);for(const Tt of this.MODEL_CLASS_MAPPINGS){const Lt=Tt.get(or.config.model_type);if(Lt)return await Lt[1].from_pretrained(ae,or)}if(this.BASE_IF_FAIL)return console.warn(`Unknown model class "${or.config.model_type}", attempting to construct from base class.`),await Qe.from_pretrained(ae,or);throw Error(`Unsupported model type: ${or.config.model_type}`)}}Ve(ur,"MODEL_CLASS_MAPPINGS",null),Ve(ur,"BASE_IF_FAIL",!1);const z1=new Map([["bert",["BertModel",OA]],["modernbert",["ModernBertModel",Te]],["nomic_bert",["NomicBertModel",XA]],["roformer",["RoFormerModel",it]],["electra",["ElectraModel",qA]],["esm",["EsmModel",Ls]],["convbert",["ConvBertModel",$t]],["camembert",["CamembertModel",ns]],["deberta",["DebertaModel",Ga]],["deberta-v2",["DebertaV2Model",Cs]],["mpnet",["MPNetModel",ri]],["albert",["AlbertModel",uA]],["distilbert",["DistilBertModel",ls]],["roberta",["RobertaModel",Li]],["xlm",["XLMModel",u0]],["xlm-roberta",["XLMRobertaModel",h0]],["clap",["ClapModel",Ml]],["clip",["CLIPModel",UA]],["clipseg",["CLIPSegModel",RA]],["chinese_clip",["ChineseCLIPModel",I0]],["siglip",["SiglipModel",yi]],["jina_clip",["JinaCLIPModel",ni]],["mobilebert",["MobileBertModel",Rs]],["squeezebert",["SqueezeBertModel",re]],["wav2vec2",["Wav2Vec2Model",X2]],["wav2vec2-bert",["Wav2Vec2BertModel",ll]],["unispeech",["UniSpeechModel",rl]],["unispeech-sat",["UniSpeechSatModel",sl]],["hubert",["HubertModel",ul]],["wavlm",["WavLMModel",pl]],["audio-spectrogram-transformer",["ASTModel",bn]],["vits",["VitsModel",zo]],["pyannote",["PyAnnoteModel",$2]],["wespeaker-resnet",["WeSpeakerResNetModel",tl]],["detr",["DetrModel",Re]],["rt_detr",["RTDetrModel",At]],["table-transformer",["TableTransformerModel",qt]],["vit",["ViTModel",F0]],["ijepa",["IJepaModel",Zs]],["pvt",["PvtModel",di]],["vit_msn",["ViTMSNModel",Xs]],["vit_mae",["ViTMAEModel",Jn]],["groupvit",["GroupViTModel",pt]],["fastvit",["FastViTModel",t]],["mobilevit",["MobileViTModel",o]],["mobilevitv2",["MobileViTV2Model",m]],["owlvit",["OwlViTModel",y]],["owlv2",["Owlv2Model",K]],["beit",["BeitModel",he]],["deit",["DeiTModel",Gr]],["hiera",["HieraModel",Kr]],["convnext",["ConvNextModel",P2]],["convnextv2",["ConvNextV2Model",F2]],["dinov2",["Dinov2Model",N2]],["dinov2_with_registers",["Dinov2WithRegistersModel",tn]],["resnet",["ResNetModel",oa]],["swin",["SwinModel",fs]],["swin2sr",["Swin2SRModel",zi]],["donut-swin",["DonutSwinModel",T2]],["yolos",["YolosModel",Y2]],["dpt",["DPTModel",Fi]],["glpn",["GLPNModel",G2]],["hifigan",["SpeechT5HifiGan",Mo]],["efficientnet",["EfficientNetModel",Sl]],["decision_transformer",["DecisionTransformerModel",Zl]],["patchtst",["PatchTSTForPrediction",e1]],["patchtsmixer",["PatchTSMixerForPrediction",Vo]],["mobilenet_v1",["MobileNetV1Model",Ll]],["mobilenet_v2",["MobileNetV2Model",Hl]],["mobilenet_v3",["MobileNetV3Model",Wl]],["mobilenet_v4",["MobileNetV4Model",jl]],["maskformer",["MaskFormerModel",E2]],["mgp-str",["MgpstrForSceneTextRecognition",$l]],["style_text_to_speech_2",["StyleTextToSpeech2Model",wl]]]),F1=new Map([["t5",["T5Model",Bt]],["longt5",["LongT5Model",er]],["mt5",["MT5Model",_A]],["bart",["BartModel",pa]],["mbart",["MBartModel",pA]],["marian",["MarianModel",U2]],["whisper",["WhisperModel",m0]],["m2m_100",["M2M100Model",Z2]],["blenderbot",["BlenderbotModel",Fr]],["blenderbot-small",["BlenderbotSmallModel",vr]]]),S1=new Map([["bloom",["BloomModel",Kn]],["jais",["JAISModel",k0]],["gpt2",["GPT2Model",Ei]],["gptj",["GPTJModel",Wt]],["gpt_bigcode",["GPTBigCodeModel",M0]],["gpt_neo",["GPTNeoModel",B0]],["gpt_neox",["GPTNeoXModel",y0]],["codegen",["CodeGenModel",ra]],["llama",["LlamaModel",Tn]],["exaone",["ExaoneModel",zn]],["olmo",["OlmoModel",D0]],["olmo2",["Olmo2Model",Bs]],["mobilellm",["MobileLLMModel",Zi]],["granite",["GraniteModel",Ln]],["cohere",["CohereModel",Na]],["gemma",["GemmaModel",As]],["gemma2",["Gemma2Model",Rn]],["helium",["HeliumModel",Mr]],["glm",["GlmModel",aa]],["openelm",["OpenELMModel",Q0]],["qwen2",["Qwen2Model",Qi
2732]],["phi",["PhiModel",hr]],["phi3",["Phi3Model",gi]],["mpt",["MptModel",ts]],["opt",["OPTModel",_r]],["mistral",["MistralModel",Go]],["starcoder2",["Starcoder2Model",Qo]],["falcon",["FalconModel",Po]],["stablelm",["StableLmModel",zl]]]),jo=new Map([["speecht5",["SpeechT5ForSpeechToText",yo]],["whisper",["WhisperForConditionalGeneration",C0]],["moonshine",["MoonshineForConditionalGeneration",Fa]]]),t1=new Map([["speecht5",["SpeechT5ForTextToSpeech",Eo]]]),r1=new Map([["vits",["VitsModel",zo]],["musicgen",["MusicgenForConditionalGeneration",Oo]]]),Uo=new Map([["bert",["BertForSequenceClassification",HA]],["modernbert",["ModernBertForSequenceClassification",dA]],["roformer",["RoFormerForSequenceClassification",at]],["electra",["ElectraForSequenceClassification",FA]],["esm",["EsmForSequenceClassification",xi]],["convbert",["ConvBertForSequenceClassification",wt]],["camembert",["CamembertForSequenceClassification",Ja]],["deberta",["DebertaForSequenceClassification",jr]],["deberta-v2",["DebertaV2ForSequenceClassification",ei]],["mpnet",["MPNetForSequenceClassification",Ws]],["albert",["AlbertForSequenceClassification",PA]],["distilbert",["DistilBertForSequenceClassification",bs]],["roberta",["RobertaForSequenceClassification",Yi]],["xlm",["XLMForSequenceClassification",f0]],["xlm-roberta",["XLMRobertaForSequenceClassification",za]],["bart",["BartForSequenceClassification",nt]],["mbart",["MBartForSequenceClassification",ha]],["mobilebert",["MobileBertForSequenceClassification",xt]],["squeezebert",["SqueezeBertForSequenceClassification",Se]]]),a1=new Map([["bert",["BertForTokenClassification",ge]],["modernbert",["ModernBertForTokenClassification",bA]],["roformer",["RoFormerForTokenClassification",It]],["electra",["ElectraForTokenClassification",Kt]],["esm",["EsmForTokenClassification",Hs]],["convbert",["ConvBertForTokenClassification",Xa]],["camembert",["CamembertForTokenClassification",os]],["deberta",["DebertaForTokenClassification",ms]],["deberta-v2",["DebertaV2ForTokenClassification",Ai]],["mpnet",["MPNetForTokenClassification",cs]],["distilbert",["DistilBertForTokenClassification",ti]],["roberta",["RobertaForTokenClassification",Dt]],["xlm",["XLMForTokenClassification",p0]],["xlm-roberta",["XLMRobertaForTokenClassification",Jr]]]),Ko=new Map([["t5",["T5ForConditionalGeneration",fr]],["longt5",["LongT5ForConditionalGeneration",zt]],["mt5",["MT5ForConditionalGeneration",Zt]],["bart",["BartForConditionalGeneration",nr]],["mbart",["MBartForConditionalGeneration",$A]],["marian",["MarianMTModel",K2]],["m2m_100",["M2M100ForConditionalGeneration",Y0]],["blenderbot",["BlenderbotForConditionalGeneration",wr]],["blenderbot-small",["BlenderbotSmallForConditionalGeneration",ai]]]),Zo=new Map([["bloom",["BloomForCausalLM",z0]],["gpt2",["GPT2LMHeadModel",Is]],["jais",["JAISLMHeadModel",x0]],["gptj",["GPTJForCausalLM",Qn]],["gpt_bigcode",["GPTBigCodeForCausalLM",ta]],["gpt_neo",["GPTNeoForCausalLM",v0]],["gpt_neox",["GPTNeoXForCausalLM",E0]],["codegen",["CodeGenForCausalLM",ks]],["llama",["LlamaForCausalLM",G0]],["exaone",["ExaoneForCausalLM",Fn]],["olmo",["OlmoForCausalLM",Nn]],["olmo2",["Olmo2ForCausalLM",qi]],["mobilellm",["MobileLLMForCausalLM",ds]],["granite",["GraniteForCausalLM",Ji]],["cohere",["CohereForCausalLM",Di]],["gemma",["GemmaForCausalLM",Hn]],["gemma2",["Gemma2ForCausalLM",ci]],["helium",["HeliumForCausalLM",Mi]],["glm",["GlmForCausalLM",li]],["openelm",["OpenELMForCausalLM",T0]],["qwen2",["Qwen2ForCausalLM",ma]],["phi",["PhiForCausalLM",jn]],["phi3",["Phi3ForCausalLM",P0]],["mpt",["MptForCausalLM",Zn]],["opt",["OPTForCausalLM",sr]],["mbart",["MBartForCausalLM",Hr]],["mistral",["MistralForCausalLM",vl]],["starcoder2",["Starcoder2ForCausalLM",yl]],["falcon",["FalconForCausalLM",El]],["trocr",["TrOCRForCausalLM",Bl]],["stablelm",["StableLmForCausalLM",Fl]],["phi3_v",["Phi3VForCausalLM",QA]]]),N1=new Map([["multi_modality",["MultiModalityCausalLM",ql]]]),s1=new Map([["bert",["BertForMaskedLM",q]],["modernbert",["ModernBertForMaskedLM",_e]],["roformer",["RoFormerForMaskedLM",tt]],["electra",["ElectraForMaskedLM",et]],["esm",["EsmForMaskedLM",Ys]],["convbert",["ConvBertForMaskedLM",Pr]],["camembert",["CamembertForMaskedLM",qa]],["deberta",["DebertaForMaskedLM",zr]],["deberta-v2",["DebertaV2ForMaskedLM",wi]],["mpnet",["MPNetForMaskedLM",Ds]],["albert",["AlbertForMaskedLM",YA]],["distilbert",["DistilBertForMaskedLM",
2732Es]],["roberta",["RobertaForMaskedLM",Da]],["xlm",["XLMWithLMHeadModel",d0]],["xlm-roberta",["XLMRobertaForMaskedLM",Hi]],["mobilebert",["MobileBertForMaskedLM",Gs]],["squeezebert",["SqueezeBertForMaskedLM",xe]]]),i1=new Map([["bert",["BertForQuestionAnswering",J]],["roformer",["RoFormerForQuestionAnswering",Ar]],["electra",["ElectraForQuestionAnswering",Wa]],["convbert",["ConvBertForQuestionAnswering",La]],["camembert",["CamembertForQuestionAnswering",Yr]],["deberta",["DebertaForQuestionAnswering",Xt]],["deberta-v2",["DebertaV2ForQuestionAnswering",ki]],["mpnet",["MPNetForQuestionAnswering",Qs]],["albert",["AlbertForQuestionAnswering",Le]],["distilbert",["DistilBertForQuestionAnswering",$a]],["roberta",["RobertaForQuestionAnswering",Aa]],["xlm",["XLMForQuestionAnswering",si]],["xlm-roberta",["XLMRobertaForQuestionAnswering",JA]],["mobilebert",["MobileBertForQuestionAnswering",Ft]],["squeezebert",["SqueezeBertForQuestionAnswering",je]]]),Xo=new Map([["vision-encoder-decoder",["VisionEncoderDecoderModel",ar]],["idefics3",["Idefics3ForConditionalGeneration",vn]]]),O1=new Map([["llava",["LlavaForConditionalGeneration",vi]],["llava_onevision",["LlavaOnevisionForConditionalGeneration",Ba]],["moondream1",["Moondream1ForConditionalGeneration",js]],["florence2",["Florence2ForConditionalGeneration",kn]],["qwen2-vl",["Qwen2VLForConditionalGeneration",$i]],["idefics3",["Idefics3ForConditionalGeneration",vn]],["paligemma",["PaliGemmaForConditionalGeneration",Us]]]),L1=new Map([["vision-encoder-decoder",["VisionEncoderDecoderModel",ar]]]),n1=new Map([["vit",["ViTForImageClassification",Fs]],["ijepa",["IJepaForImageClassification",Xn]],["pvt",["PvtForImageClassification",Pi]],["vit_msn",["ViTMSNForImageClassification",N0]],["fastvit",["FastViTForImageClassification",r]],["mobilevit",["MobileViTForImageClassification",c]],["mobilevitv2",["MobileViTV2ForImageClassification",p]],["beit",["BeitForImageClassification",ye]],["deit",["DeiTForImageClassification",Dr]],["hiera",["HieraForImageClassification",na]],["convnext",["ConvNextForImageClassification",z2]],["convnextv2",["ConvNextV2ForImageClassification",S2]],["dinov2",["Dinov2ForImageClassification",qs]],["dinov2_with_registers",["Dinov2WithRegistersForImageClassification",rn]],["resnet",["ResNetForImageClassification",ya]],["swin",["SwinForImageClassification",ps]],["segformer",["SegformerForImageClassification",Tl]],["efficientnet",["EfficientNetForImageClassification",Nl]],["mobilenet_v1",["MobileNetV1ForImageClassification",Yl]],["mobilenet_v2",["MobileNetV2ForImageClassification",Rl]],["mobilenet_v3",["MobileNetV3ForImageClassification",Vl]],["mobilenet_v4",["MobileNetV4ForImageClassification",Ul]]]),o1=new Map([["detr",["DetrForObjectDetection",Xe]],["rt_detr",["RTDetrForObjectDetection",ct]],["table-transformer",["TableTransformerForObjectDetection",tr]],["yolos",["YolosForObjectDetection",H2]]]),l1=new Map([["owlvit",["OwlViTForObjectDetection",T]],["owlv2",["Owlv2ForObjectDetection",_]],["grounding-dino",["GroundingDinoForObjectDetection",L2]]]),c1=new Map([["detr",["DetrForSegmentation",aA]],["clipseg",["CLIPSegForImageSegmentation",es]]]),g1=new Map([["segformer",["SegformerForSemanticSegmentation",Pl]],["sapiens",["SapiensForSemanticSegmentation",k2]]]),u1=new Map([["detr",["DetrForSegmentation",aA]],["maskformer",["MaskFormerForInstanceSegmentation",M2]]]),qo=new Map([["sam",["SamModel",V2]]]),d1=new Map([["wav2vec2",["Wav2Vec2ForCTC",q2]],["wav2vec2-bert",["Wav2Vec2BertForCTC",cl]],["unispeech",["UniSpeechForCTC",vo]],["unispeech-sat",["UniSpeechSatForCTC",il]],["wavlm",["WavLMForCTC",hl]],["hubert",["HubertForCTC",dl]]]),Jo=new Map([["wav2vec2",["Wav2Vec2ForSequenceClassification",J2]],["wav2vec2-bert",["Wav2Vec2BertForSequenceClassification",gl]],["unispeech",["UniSpeechForSequenceClassification",al]],["unispeech-sat",["UniSpeechSatForSequenceClassification",nl]],["wavlm",["WavLMForSequenceClassification",ml]],["hubert",["HubertForSequenceClassification",fl]],["audio-spectrogram-transformer",["ASTForAudioClassification",Ri]]]),_o=new Map([["wavlm",["WavLMForXVector",Cl]]]),$o=new Map([["unispeech-sat",["UniSpeechSatForAudioFrameClassification",ol]],["wavlm",["WavLMForAudioFrameClassification",bl]],["wav2vec2",["Wav2Vec2ForAudioFrameClassification",_2]],["pyannote",["PyAnnoteForAudioFrameClassification",el]]]),f1=new Map([["vitmatte",["VitMatteForImageMatting",s]]]),Y1=new Map([["patchtst",["PatchTSTForPrediction",W0]],["patchtsmixer",["PatchTSMixerForPrediction",A1]]]),e2=new Map([["swin2sr",["Swin2SRForImageSuperResolution",pi]]]),p1=new Map([["dpt",["DPTForDepthEstimation",_n]],["depth_anything",["DepthAnythingForDepthEstimation",L0]],["glpn",["GLPNForDepthEstimation",D2]],["sapiens",["SapiensForDepthEstimation",x2]],["depth_pro",["DepthProForDepthEstimation",y2]]]),h1=new Map([["sapiens",["SapiensForNormalEstimation",B2]]]),H1=new Map([["vitpose",["VitPoseForPoseEstimation",S0]]]),A2=new Map([["clip",["CLIPVisionModelWithProjection",Sa]],["siglip",["SiglipVisionModel",Nr]],["jina_clip",["JinaCLIPVisionModel",Vi]]]),sn=[[z1,g],[F1,b],[S1,M],[Uo,g],[a1,g],[Ko,e],[jo,e],[Zo,M],[N1,Ye],[s1,g],[i1,g],[Xo,l],[O1,D],[n1,g],[c1,g],[u1,g],[g1,g],[f1,g],[Y1,g],[e2,g],[p1,g],[h1,g],[H1,g],[o1,g],[l1,g],[qo,ue],[d1,g],[Jo,g],[t1,e],[r1,g],[_o,g],[$o,g],[A2,g]];for(const[U,ae]of sn)for(const[Ce,qe]of U.values())Oe.set(Ce,ae),tA.set(qe,Ce),AA.set(Ce,qe);const m1=[["MusicgenForConditionalGeneration",Oo,z],["Phi3VForCausalLM",QA,Ne],["CLIPTextModelWithProjection",Wi,g],["SiglipTextModel",Mn,g],["JinaCLIPTextModel",w0,g],["ClapTextModelWithProjection",Gl,g],["ClapAudioModelWithProjection",Dl,g]];for(const[U,ae,Ce]of m1)Oe.set(U,Ce),tA.set(ae,U),AA.set(U,ae);class C1 extends ur{}Ve(C1,"MODEL_CLASS_MAPPINGS",sn.map(ae=>ae[0])),Ve(C1,"BASE_IF_FAIL",!0);class R1 extends ur{}Ve(R1,"MODEL_CLASS_MAPPINGS",[Uo]);class Mt extends ur{}Ve(Mt,"MODEL_CLASS_MAPPINGS",[a1]);class b1 extends ur{}Ve(b1,"MODEL_CLASS_MAPPINGS",[Ko]);class mi extends ur{}Ve(mi,"MODEL_CLASS_MAPPINGS",[jo]);class I1 extends ur{}Ve(I1,"MODEL_CLASS_MAPPINGS",[t1]);class t2 extends ur{}Ve(t2,"MODEL_CLASS_MAPPINGS",[r1]);class W1 extends ur{}Ve(W1,"MODEL_CLASS_MAPPINGS",[Zo]);class Zr extends ur{}Ve(Zr,"MODEL_CLASS_MAPPINGS",[s1]);class St extends ur{}Ve(St,"MODEL_CLASS_MAPPINGS",[i1]);class Yt extends ur{}Ve(Yt,"MODEL_CLASS_MAPPINGS",[Xo]);class Ni extends ur{}Ve(Ni,"MODEL_CLASS_MAPPINGS",[n1]);class V1 extends ur{}Ve(V1,"MODEL_CLASS_MAPPINGS",[c1]);class r2 extends ur{}Ve(r2,"MODEL_CLASS_MAPPINGS",[g1]);
2732class j1 extends ur{}Ve(j1,"MODEL_CLASS_MAPPINGS",[u1]);class a2 extends ur{}Ve(a2,"MODEL_CLASS_MAPPINGS",[o1]);class U1 extends ur{}Ve(U1,"MODEL_CLASS_MAPPINGS",[l1]);class K1 extends ur{}Ve(K1,"MODEL_CLASS_MAPPINGS",[qo]);class s2 extends ur{}Ve(s2,"MODEL_CLASS_MAPPINGS",[d1]);class Z1 extends ur{}Ve(Z1,"MODEL_CLASS_MAPPINGS",[Jo]);class X1 extends ur{}Ve(X1,"MODEL_CLASS_MAPPINGS",[_o]);class q1 extends ur{}Ve(q1,"MODEL_CLASS_MAPPINGS",[$o]);class nn extends ur{}Ve(nn,"MODEL_CLASS_MAPPINGS",[L1]);class i2 extends ur{}Ve(i2,"MODEL_CLASS_MAPPINGS",[f1]);class J1 extends ur{}Ve(J1,"MODEL_CLASS_MAPPINGS",[e2]);class n2 extends ur{}Ve(n2,"MODEL_CLASS_MAPPINGS",[p1]);class o2 extends ur{}Ve(o2,"MODEL_CLASS_MAPPINGS",[h1]);class _1 extends ur{}Ve(_1,"MODEL_CLASS_MAPPINGS",[H1]);class $1 extends ur{}Ve($1,"MODEL_CLASS_MAPPINGS",[A2]);class kc extends mA{constructor({logits:ae,past_key_values:Ce,encoder_outputs:qe,decoder_attentions:lA=null,cross_attentions:oA=null}){super(),this.logits=ae,this.past_key_values=Ce,this.encoder_outputs=qe,this.decoder_attentions=lA,this.cross_attentions=oA}}class Ot extends mA{constructor({logits:ae,...Ce}){super(),this.logits=ae;const qe=Object.values(Ce);qe.length>0&&(this.attentions=qe)}}class ec extends mA{constructor({logits:ae,embeddings:Ce}){super(),this.logits=ae,this.embeddings=Ce}}class Ta extends mA{constructor({logits:ae}){super(),this.logits=ae}}class Oa extends mA{constructor({logits:ae}){super(),this.logits=ae}}class Ua extends mA{constructor({start_logits:ae,end_logits:Ce}){super(),this.start_logits=ae,this.end_logits=Ce}}class e0 extends mA{constructor({logits:ae}){super(),this.logits=ae}}class xc extends mA{constructor({logits:ae,past_key_values:Ce}){super(),this.logits=ae,this.past_key_values=Ce}}class Ac extends mA{constructor({alphas:ae}){super(),this.alphas=ae}}class tc extends mA{constructor({waveform:ae,spectrogram:Ce}){super(),this.waveform=ae,this.spectrogram=Ce}}},
2732"./src/models/audio_spectrogram_transformer/feature_extraction_audio_spectrogram_transformer.js":(x,C,d)=>{d.r(C),d.d(C,{ASTFeatureExtractor:()=>j});var k=d("./src/base/feature_extraction_utils.js");d("./src/utils/tensor.js");var F=d("./src/utils/audio.js");class j extends k.FeatureExtractor{constructor(V){super(V);const X=this.config.sampling_rate,R=(0,F.mel_filter_bank)(256,this.config.num_mel_bins,20,Math.floor(X/2),X,null,"kaldi",!0);for(let S=0;S<R.length;++S)R[S].push(0);this.mel_filters=R,this.window=(0,F.window_function)(400,"hann",{periodic:!1}),this.mean=this.config.mean,this.std=this.config.std}async _extract_fbank_features(V,X){return(0,F.spectrogram)(V,this.window,400,160,{fft_length:512,power:2,center:!1,preemphasis:.97,mel_filters:this.mel_filters,log_mel:"log",mel_floor:1192092955078125e-22,remove_dc_offset:!0,max_num_frames:X,transpose:!0})}async _call(V){(0,k.validate_audio_inputs)(V,"ASTFeatureExtractor");const X=await this._extract_fbank_features(V,this.config.max_length);if(this.config.do_normalize){const R=2*this.std,S=X.data;for(let Z=0;Z<S.length;++Z)S[Z]=(S[Z]-this.mean)/R}return{input_values:X.unsqueeze_(0)}}}},
2732"./src/models/auto/feature_extraction_auto.js":(x,C,d)=>{d.r(C),d.d(C,{AutoFeatureExtractor:()=>O});var k=d("./src/utils/constants.js"),F=d("./src/utils/hub.js");d("./src/base/feature_extraction_utils.js");var j=d("./src/models/feature_extractors.js");class O{static async from_pretrained(X,R={}){const S=await(0,F.getModelJSON)(X,k.FEATURE_EXTRACTOR_NAME,!0,R),Z=S.feature_extractor_type,W=j[Z];if(!W)throw new Error(`Unknown feature_extractor_type: '${Z}'. Please report this at ${k.GITHUB_ISSUE_URL}.`);return new W(S)}}},
2732"./src/models/auto/image_processing_auto.js":(x,C,d)=>{d.r(C),d.d(C,{AutoImageProcessor:()=>V});var k=d("./src/utils/constants.js"),F=d("./src/utils/hub.js"),j=d("./src/base/image_processors_utils.js"),O=d("./src/models/image_processors.js");class V{static async from_pretrained(R,S={}){const Z=await(0,F.getModelJSON)(R,k.IMAGE_PROCESSOR_NAME,!0,S),W=Z.image_processor_type??Z.feature_extractor_type;let te=O[W];return te||(W!==void 0&&console.warn(`Image processor type '${W}' not found, assuming base ImageProcessor. Please report this at ${k.GITHUB_ISSUE_URL}.`),te=j.ImageProcessor),new te(Z)}}},
vendor: 977 bytes, line 2732
2732"./src/models/auto/processing_auto.js":(x,C,d)=>{d.r(C),d.d(C,{AutoProcessor:()=>R});var k=d("./src/utils/constants.js"),F=d("./src/utils/hub.js"),j=d("./src/base/processing_utils.js"),O=d("./src/models/processors.js"),V=d("./src/models/image_processors.js"),X=d("./src/models/feature_extractors.js");class R{static async from_pretrained(Z,W={}){const te=await(0,F.getModelJSON)(Z,k.IMAGE_PROCESSOR_NAME,!0,W),{image_processor_type:me,feature_extractor_type:Be,processor_class:Ee}=te;if(Ee&&O[Ee])return O[Ee].from_pretrained(Z,W);if(!me&&!Be)throw new Error("No `image_processor_type` or `feature_extractor_type` found in the config.");const ie={};if(me){const ne=V[me];if(!ne)throw new Error(`Unknown image_processor_type: '${me}'.`);ie.image_processor=new ne(te)}if(Be){const ne=V[Be];if(ne)ie.image_processor=new ne(te);else{const ve=X[Be];if(!ve)throw new Error(`Unknown feature_extractor_type: '${Be}'.`);ie.feature_extractor=new ve(te)}}return new j.Processor({},ie)}}},
2732"./src/models/beit/image_processing_beit.js":(x,C,d)=>{d.r(C),d.d(C,{BeitFeatureExtractor:()=>F});var k=d("./src/base/image_processors_utils.js");class F extends k.ImageProcessor{}},
2732"./src/models/bit/image_processing_bit.js":(x,C,d)=>{d.r(C),d.d(C,{BitImageProcessor:()=>F});var k=d("./src/base/image_processors_utils.js");class F extends k.ImageProcessor{}},
2732"./src/models/chinese_clip/image_processing_chinese_clip.js":(x,C,d)=>{d.r(C),d.d(C,{ChineseCLIPFeatureExtractor:()=>F});var k=d("./src/base/image_processors_utils.js");class F extends k.ImageProcessor{}},
2732"./src/models/clap/feature_extraction_clap.js":(x,C,d)=>{d.r(C),d.d(C,{ClapFeatureExtractor:()=>j});var k=d("./src/base/feature_extraction_utils.js");d("./src/utils/tensor.js");var F=d("./src/utils/audio.js");class j extends k.FeatureExtractor{constructor(V){super(V),this.mel_filters=(0,F.mel_filter_bank)(this.config.nb_frequency_bins,this.config.feature_size,this.config.frequency_min,this.config.frequency_max,this.config.sampling_rate,null,"htk"),this.mel_filters_slaney=(0,F.mel_filter_bank)(this.config.nb_frequency_bins,this.config.feature_size,this.config.frequency_min,this.config.frequency_max,this.config.sampling_rate,"slaney","slaney"),this.window=(0,F.window_function)(this.config.fft_window_size,"hann")}async _get_input_mel(V,X,R,S){let Z;const W=V.length-X;if(W>0){if(R!=="rand_trunc")throw new Error(`Truncation strategy "${R}" not implemented`);{const te=Math.floor(Math.random()*(W+1));V=V.subarray(te,te+X),Z=await this._extract_fbank_features(V,this.mel_filters_slaney,this.config.nb_max_samples)}}else{if(W<0){let te=new Float64Array(X);if(te.set(V),S==="repeat")for(let me=V.length;me<X;me+=V.length)te.set(V.subarray(0,Math.min(V.length,X-me)),me);else if(S==="repeatpad")for(let me=V.length;me<-W;me+=V.length)te.set(V,me);V=te}if(R==="fusion")throw new Error(`Truncation strategy "${R}" not implemented`);Z=await this._extract_fbank_features(V,this.mel_filters_slaney,this.config.nb_max_samples)}return Z.unsqueeze_(0)}async _extract_fbank_features(V,X,R=null){return(0,F.spectrogram)(V,this.window,this.config.fft_window_size,this.config.hop_length,{power:2,mel_filters:X,log_mel:"dB",max_num_frames:R,do_pad:!1,transpose:!0})}async _call(V,{max_length:X=null}={}){return(0,k.validate_audio_inputs)(V,"ClapFeatureExtractor"),{input_features:(await this._get_input_mel(V,X??this.config.nb_max_samples,this.config.truncation,this.config.padding)).unsqueeze_(0)}}}},
2732"./src/models/clip/image_processing_clip.js":(x,C,d)=>{d.r(C),d.d(C,{CLIPFeatureExtractor:()=>j,CLIPImageProcessor:()=>F});var k=d("./src/base/image_processors_utils.js");class F extends k.ImageProcessor{}class j extends F{}},
2732"./src/models/convnext/image_processing_convnext.js":(x,C,d)=>{d.r(C),d.d(C,{ConvNextFeatureExtractor:()=>j,ConvNextImageProcessor:()=>F});var k=d("./src/base/image_processors_utils.js");class F extends k.ImageProcessor{constructor(V){super(V),this.crop_pct=this.config.crop_pct??.875}async resize(V){var R;const X=(R=this.size)==null?void 0:R.shortest_edge;if(X===void 0)throw new Error("Size dictionary must contain 'shortest_edge' key.");if(X<384){const S=Math.floor(X/this.crop_pct),[Z,W]=this.get_resize_output_image_size(V,{shortest_edge:S});V=await V.resize(Z,W,{resample:this.resample}),V=await V.center_crop(X,X)}else V=await V.resize(X,X,{resample:this.resample});return V}}class j extends F{}},
2732"./src/models/deit/image_processing_deit.js":(x,C,d)=>{d.r(C),d.d(C,{DeiTFeatureExtractor:()=>j,DeiTImageProcessor:()=>F});var k=d("./src/base/image_processors_utils.js");class F extends k.ImageProcessor{}class j extends F{}},
vendor: 649 bytes, line 2732
2732"./src/models/detr/image_processing_detr.js":(x,C,d)=>{d.r(C),d.d(C,{DetrFeatureExtractor:()=>O,DetrImageProcessor:()=>j});var k=d("./src/base/image_processors_utils.js"),F=d("./src/utils/tensor.js");class j extends k.ImageProcessor{async _call(X){const R=await super._call(X),S=[R.pixel_values.dims[0],64,64],Z=(0,F.full)(S,1n);return{...R,pixel_mask:Z}}post_process_object_detection(...X){return(0,k.post_process_object_detection)(...X)}post_process_panoptic_segmentation(...X){return(0,k.post_process_panoptic_segmentation)(...X)}post_process_instance_segmentation(...X){return(0,k.post_process_instance_segmentation)(...X)}}class O extends j{}},
2732"./src/models/donut/image_processing_donut.js":(x,C,d)=>{d.r(C),d.d(C,{DonutFeatureExtractor:()=>j,DonutImageProcessor:()=>F});var k=d("./src/base/image_processors_utils.js");class F extends k.ImageProcessor{pad_image(V,X,R,S={}){const[Z,W,te]=X;let me=this.image_mean;Array.isArray(this.image_mean)||(me=new Array(te).fill(me));let Be=this.image_std;Array.isArray(Be)||(Be=new Array(te).fill(me));const Ee=me.map((ie,ne)=>-ie/Be[ne]);return super.pad_image(V,X,R,{center:!0,constant_values:Ee,...S})}}class j extends F{}},
2732"./src/models/dpt/image_processing_dpt.js":(x,C,d)=>{d.r(C),d.d(C,{DPTFeatureExtractor:()=>j,DPTImageProcessor:()=>F});var k=d("./src/base/image_processors_utils.js");class F extends k.ImageProcessor{}class j extends F{}},
2732"./src/models/efficientnet/image_processing_efficientnet.js":(x,C,d)=>{d.r(C),d.d(C,{EfficientNetImageProcessor:()=>F});var k=d("./src/base/image_processors_utils.js");class F extends k.ImageProcessor{constructor(O){super(O),this.include_top=this.config.include_top??!0,this.include_top&&(this.image_std=this.image_std.map(V=>V*V))}}},
2732"./src/models/feature_extractors.js":(x,C,d)=>{d.r(C),d.d(C,{ASTFeatureExtractor:()=>k.ASTFeatureExtractor,ClapFeatureExtractor:()=>F.ClapFeatureExtractor,ImageFeatureExtractor:()=>W.ImageProcessor,MoonshineFeatureExtractor:()=>j.MoonshineFeatureExtractor,PyAnnoteFeatureExtractor:()=>O.PyAnnoteFeatureExtractor,SeamlessM4TFeatureExtractor:()=>V.SeamlessM4TFeatureExtractor,SpeechT5FeatureExtractor:()=>X.SpeechT5FeatureExtractor,Wav2Vec2FeatureExtractor:()=>R.Wav2Vec2FeatureExtractor,WeSpeakerFeatureExtractor:()=>S.WeSpeakerFeatureExtractor,WhisperFeatureExtractor:()=>Z.WhisperFeatureExtractor});var k=d("./src/models/audio_spectrogram_transformer/feature_extraction_audio_spectrogram_transformer.js"),F=d("./src/models/clap/feature_extraction_clap.js"),j=d("./src/models/moonshine/feature_extraction_moonshine.js"),O=d("./src/models/pyannote/feature_extraction_pyannote.js"),V=d("./src/models/seamless_m4t/feature_extraction_seamless_m4t.js"),X=d("./src/models/speecht5/feature_extraction_speecht5.js"),R=d("./src/models/wav2vec2/feature_extraction_wav2vec2.js"),S=d("./src/models/wespeaker/feature_extraction_wespeaker.js"),Z=d("./src/models/whisper/feature_extraction_whisper.js"),W=d("./src/base/image_processors_utils.js")},
2732"./src/models/florence2/processing_florence2.js":(x,C,d)=>{d.r(C),d.d(C,{Florence2Processor:()=>O});var k=d("./src/base/processing_utils.js"),F=d("./src/models/auto/image_processing_auto.js"),j=d("./src/tokenizers.js");class O extends k.Processor{constructor(X,R){super(X,R);const{tasks_answer_post_processing_type:S,task_prompts_without_inputs:Z,task_prompts_with_input:W}=this.image_processor.config;this.tasks_answer_post_processing_type=new Map(Object.entries(S??{})),this.task_prompts_without_inputs=new Map(Object.entries(Z??{})),this.task_prompts_with_input=new Map(Object.entries(W??{})),this.regexes={quad_boxes:/(.+?)<loc_(\d+)><loc_(\d+)><loc_(\d+)><loc_(\d+)><loc_(\d+)><loc_(\d+)><loc_(\d+)><loc_(\d+)>/gm,bboxes:/([^<]+)?<loc_(\d+)><loc_(\d+)><loc_(\d+)><loc_(\d+)>/gm},this.size_per_bin=1e3}construct_prompts(X){typeof X=="string"&&(X=[X]);const R=[];for(const S of X)if(this.task_prompts_without_inputs.has(S))R.push(this.task_prompts_without_inputs.get(S));else{for(const[Z,W]of this.task_prompts_with_input)if(S.includes(Z)){R.push(W.replaceAll("{input}",S).replaceAll(Z,""));break}R.length!==X.length&&R.push(S)}return R}post_process_generation(X,R,S){const Z=this.tasks_answer_post_processing_type.get(R)??"pure_text";let W;switch(X=X.replaceAll("<s>","").replaceAll("</s>",""),Z){case"pure_text":W=X;break;case"description_with_bboxes":case"bboxes":case"phrase_grounding":case"ocr":const te=Z==="ocr"?"quad_boxes":"bboxes",me=X.matchAll(this.regexes[te]),Be=[],Ee=[];for(const[ie,ne,...ve]of me)Be.push(ne?ne.trim():Be.at(-1)??""),Ee.push(ve.map((g,b)=>(Number(g)+.5)/this.size_per_bin*S[b%2]));W={labels:Be,[te]:Ee};break;default:throw new Error(`Task "${R}" (of type "${Z}") not yet implemented.`)}return{[R]:W}}async _call(X,R=null,S={}){if(!X&&!R)throw new Error("Either text or images must be provided");return{...await this.image_processor(X,S),...R?this.tokenizer(R,S):{}}}}Ve(O,"tokenizer_class",j.AutoTokenizer),Ve(O,"image_processor_class",F.AutoImageProcessor)},
2732"./src/models/glpn/image_processing_glpn.js":(x,C,d)=>{d.r(C),d.d(C,{GLPNFeatureExtractor:()=>F});var k=d("./src/base/image_processors_utils.js");class F extends k.ImageProcessor{}},
2732"./src/models/grounding_dino/image_processing_grounding_dino.js":(x,C,d)=>{d.r(C),d.d(C,{GroundingDinoImageProcessor:()=>j});var k=d("./src/base/image_processors_utils.js"),F=d("./src/utils/tensor.js");class j extends k.ImageProcessor{async _call(V){const X=await super._call(V),R=X.pixel_values.dims,S=(0,F.ones)([R[0],R[2],R[3]]);return{...X,pixel_mask:S}}}},
2732"./src/models/grounding_dino/processing_grounding_dino.js":(x,C,d)=>{d.r(C),d.d(C,{GroundingDinoProcessor:()=>X});var k=d("./src/base/processing_utils.js"),F=d("./src/models/auto/image_processing_auto.js"),j=d("./src/tokenizers.js"),O=d("./src/base/image_processors_utils.js");function V(R,S){const Z=R.dims.at(-1)-1,W=R.tolist();W.fill(!1,0,1),W.fill(!1,Z);const te=S.tolist();return W.map((me,Be)=>me?Be:null).filter(me=>me!==null).map(me=>te[me])}class X extends k.Processor{async _call(S,Z,W={}){const te=S?await this.image_processor(S,W):{};return{...Z?this.tokenizer(Z,W):{},...te}}post_process_grounded_object_detection(S,Z,{box_threshold:W=.25,text_threshold:te=.25,target_sizes:me=null}={}){const{logits:Be,pred_boxes:Ee}=S,ie=Be.dims[0];if(me!==null&&me.length!==ie)throw Error("Make sure that you pass in as many target sizes as the batch dimension of the logits");const ne=Be.dims.at(1),ve=Be.sigmoid(),g=ve.max(-1).tolist(),b=Ee.tolist().map(l=>l.map(M=>(0,O.center_to_corners_format)(M))),e=[];for(let l=0;l<ie;++l){const M=me!==null?me[l]:null;M!==null&&(b[l]=b[l].map(Ne=>Ne.map((Oe,AA)=>Oe*M[(AA+1)%2])));const ue=g[l],D=[],z=[],Ye=[];for(let Ne=0;Ne<ne;++Ne){const Oe=ue[Ne];if(Oe<=W)continue;const AA=b[l][Ne],tA=ve[l][Ne];D.push(Oe),Ye.push(AA);const BA=V(tA.gt(te),Z[l]);z.push(BA)}e.push({scores:D,boxes:Ye,labels:this.batch_decode(z)})}return e}}Ve(X,"tokenizer_class",j.AutoTokenizer),Ve(X,"image_processor_class",F.AutoImageProcessor)},
2732"./src/models/idefics3/image_processing_idefics3.js":(x,C,d)=>{d.r(C),d.d(C,{Idefics3ImageProcessor:()=>j});var k=d("./src/base/image_processors_utils.js"),F=d("./src/utils/tensor.js");class j extends k.ImageProcessor{constructor(V){super(V),this.do_image_splitting=V.do_image_splitting??!0,this.max_image_size=V.max_image_size}get_resize_for_vision_encoder(V,X){let[R,S]=V.dims.slice(-2);const Z=S/R;return S>=R?(S=Math.ceil(S/X)*X,R=Math.floor(S/Z),R=Math.ceil(R/X)*X):(R=Math.ceil(R/X)*X,S=Math.floor(R*Z),S=Math.ceil(S/X)*X),{height:R,width:S}}async _call(V,{do_image_splitting:X=null,return_row_col_info:R=!1}={}){let S;if(Array.isArray(V)){if(V.length===0||!V[0])throw new Error("No images provided.");S=Array.isArray(V[0])?V:[V]}else S=[[V]];let Z=[],W=[],te=[];const me=[],Be=[];for(const l of S){let M=await Promise.all(l.map(z=>this.preprocess(z)));me.push(...M.map(z=>z.original_size)),Be.push(...M.map(z=>z.reshaped_input_size)),M.forEach(z=>z.pixel_values.unsqueeze_(0));const{longest_edge:ue}=this.max_image_size;let D;if(X??this.do_image_splitting){let z=new Array(M.length),Ye=new Array(M.length);D=await Promise.all(M.map(async(Ne,Oe)=>{const AA=this.get_resize_for_vision_encoder(Ne.pixel_values,ue),tA=await(0,F.interpolate_4d)(Ne.pixel_values,{size:[AA.height,AA.width]}),{frames:BA,num_splits_h:DA,num_splits_w:Ge}=await this.split_image(tA,this.max_image_size);return z[Oe]=DA,Ye[Oe]=Ge,(0,F.cat)(BA,0)}
2732)),W.push(z),te.push(Ye)}else{const z=[ue,ue];D=await Promise.all(M.map(Ye=>(0,F.interpolate_4d)(Ye.pixel_values,{size:z}))),W.push(new Array(M.length).fill(0)),te.push(new Array(M.length).fill(0))}Z.push((0,F.cat)(D,0))}const Ee=Z.length,[ie,ne,ve,g]=Z[0].dims;let b,e;if(Ee===1)b=Z[0].unsqueeze_(0),e=(0,F.full)([Ee,ie,ve,g],!0);else{const l=Math.max(...Z.map(D=>D.dims.at(0)));e=(0,F.full)([Ee,l,ve,g],!0);const M=e.data,ue=l*ve*g;for(let D=0;D<Ee;++D){const z=Z[D].dims[0];if(z<l){Z[D]=(0,F.cat)([Z[D],(0,F.full)([l-z,ne,ve,g],0)],0);const Ye=D*ue+z*ve*g,Ne=(D+1)*ue;M.fill(!1,Ye,Ne)}}b=(0,F.stack)(Z,0)}return{pixel_values:b,pixel_attention_mask:e,original_sizes:me,reshaped_input_sizes:Be,...R?{rows:W,cols:te}:{}}}async split_image(V,{longest_edge:X}){const R=X,S=X,Z=[],[W,te]=V.dims.slice(-2);let me=0,Be=0;if(W>R||te>S){me=Math.ceil(W/R),Be=Math.ceil(te/S);const Ee=Math.ceil(W/me),ie=Math.ceil(te/Be);for(let g=0;g<me;++g)for(let b=0;b<Be;++b){let e,l,M,ue;g===me-1?(l=W-Ee,ue=W):(l=g*Ee,ue=(g+1)*Ee),b===Be-1?(e=te-ie,M=te):(e=b*ie,M=(b+1)*ie);const D=[l,e],z=[ue,M],Ye=await(0,F.slice)(V,D,z,[2,3]);Z.push(Ye)}const ne=R,ve=S;W===ne&&te===ve||(V=await(0,F.interpolate_4d)(V,{size:[ne,ve]}))}return Z.push(V),{frames:Z,num_splits_h:me,num_splits_w:Be}}}},
2732"./src/models/idefics3/processing_idefics3.js":(x,C,d)=>{d.r(C),d.d(C,{Idefics3Processor:()=>X});var k=d("./src/base/processing_utils.js"),F=d("./src/models/auto/image_processing_auto.js"),j=d("./src/tokenizers.js");d("./src/utils/image.js");var O=d("./src/utils/core.js");function V(R,S,Z,W,te,me){return R===0&&S===0?function(Be,Ee,ie,ne){return`${Ee}${ne}`+ie.repeat(Be)+`${Ee}`}(Z,W,te,me):function(Be,Ee,ie,ne,ve,g){let b="";for(let e=0;e<Ee;++e){for(let l=0;l<ie;++l)b+=ne+`<row_${e+1}_col_${l+1}>`+ve.repeat(Be);b+=`
2733`}return b+=`
2734${ne}${g}`+ve.repeat(Be)+`${ne}`,b}(Z,R,S,W,te,me)}class X extends k.Processor{constructor(){super(...arguments);Ve(this,"fake_image_token","<fake_token_around_image>");Ve(this,"image_token","<image>");Ve(this,"global_img_token","<global-img>")}async _call(Z,W=null,te={}){let me;te.return_row_col_info??(te.return_row_col_info=!0),W&&(me=await this.image_processor(W,te)),Array.isArray(Z)||(Z=[Z]);const Be=me.rows??[new Array(Z.length).fill(0)],Ee=me.cols??[new Array(Z.length).fill(0)],ie=this.config.image_seq_len,ne=[],ve=[];for(let g=0;g<Z.length;++g){const b=Z[g],e=Be[g],l=Ee[g];ne.push((0,O.count)(b,this.image_token));const M=e.map((z,Ye)=>V(z,l[Ye],ie,this.fake_image_token,this.image_token,this.global_img_token)),ue=b.split(this.image_token);if(ue.length===0)throw new Error("The image token should be present in the text.");let D=ue[0];for(let z=0;z<M.length;++z)D+=M[z]+ue[z+1];ve.push(D)}return{...this.tokenizer(ve),...me}}}Ve(X,"image_processor_class",F.AutoImageProcessor),Ve(X,"tokenizer_class",j.AutoTokenizer),Ve(X,"uses_processor_config",!0)},
2734"./src/models/image_processors.js":(x,C,d)=>{d.r(C),d.d(C,{BeitFeatureExtractor:()=>k.BeitFeatureExtractor,BitImageProcessor:()=>F.BitImageProcessor,CLIPFeatureExtractor:()=>O.CLIPFeatureExtractor,CLIPImageProcessor:()=>O.CLIPImageProcessor,ChineseCLIPFeatureExtractor:()=>j.ChineseCLIPFeatureExtractor,ConvNextFeatureExtractor:()=>V.ConvNextFeatureExtractor,ConvNextImageProcessor:()=>V.ConvNextImageProcessor,DPTFeatureExtractor:()=>Z.DPTFeatureExtractor,DPTImageProcessor:()=>Z.DPTImageProcessor,DeiTFeatureExtractor:()=>X.DeiTFeatureExtractor,DeiTImageProcessor:()=>X.DeiTImageProcessor,DetrFeatureExtractor:()=>R.DetrFeatureExtractor,DetrImageProcessor:()=>R.DetrImageProcessor,DonutFeatureExtractor:()=>S.DonutFeatureExtractor,DonutImageProcessor:()=>S.DonutImageProcessor,EfficientNetImageProcessor:()=>W.EfficientNetImageProcessor,GLPNFeatureExtractor:()=>te.GLPNFeatureExtractor,GroundingDinoImageProcessor:()=>me.GroundingDinoImageProcessor,Idefics3ImageProcessor:()=>Be.Idefics3ImageProcessor,JinaCLIPImageProcessor:()=>ie.JinaCLIPImageProcessor,LlavaOnevisionImageProcessor:()=>ne.LlavaOnevisionImageProcessor,Mask2FormerImageProcessor:()=>ve.Mask2FormerImageProcessor,MaskFormerFeatureExtractor:()=>g.MaskFormerFeatureExtractor,MaskFormerImageProcessor:()=>g.MaskFormerImageProcessor,MobileNetV1FeatureExtractor:()=>b.MobileNetV1FeatureExtractor,MobileNetV1ImageProcessor:()=>b.MobileNetV1ImageProcessor,MobileNetV2FeatureExtractor:()=>e.MobileNetV2FeatureExtractor,MobileNetV2ImageProcessor:()=>e.MobileNetV2ImageProcessor,MobileNetV3FeatureExtractor:()=>l.MobileNetV3FeatureExtractor,MobileNetV3ImageProcessor:()=>l.MobileNetV3ImageProcessor,MobileNetV4FeatureExtractor:()=>M.MobileNetV4FeatureExtractor,MobileNetV4ImageProcessor:()=>M.MobileNetV4ImageProcessor,MobileViTFeatureExtractor:()=>ue.MobileViTFeatureExtractor,MobileViTImageProcessor:()=>ue.MobileViTImageProcessor,NougatImageProcessor:()=>D.NougatImageProcessor,OwlViTFeatureExtractor:()=>Ye.OwlViTFeatureExtractor,OwlViTImageProcessor:()=>Ye.OwlViTImageProcessor,Owlv2ImageProcessor:()=>z.Owlv2ImageProcessor,Phi3VImageProcessor:()=>Ne.Phi3VImageProcessor,PvtImageProcessor:()=>Oe.PvtImageProcessor,Qwen2VLImageProcessor:()=>AA.Qwen2VLImageProcessor,RTDetrImageProcessor:()=>tA.RTDetrImageProcessor,SamImageProcessor:()=>BA.SamImageProcessor,SegformerFeatureExtractor:()=>DA.SegformerFeatureExtractor,SegformerImageProcessor:()=>DA.SegformerImageProcessor,SiglipImageProcessor:()=>Ge.SiglipImageProcessor,Swin2SRImageProcessor:()=>ke.Swin2SRImageProcessor,VLMImageProcessor:()=>Ee.VLMImageProcessor,ViTFeatureExtractor:()=>ze.ViTFeatureExtractor,ViTImageProcessor:()=>ze.ViTImageProcessor,VitMatteImageProcessor:()=>Ke.VitMatteImageProcessor,VitPoseImageProcessor:()=>Pe.VitPoseImageProcessor,YolosFeatureExtractor:()=>xA.YolosFeatureExtractor,YolosImageProcessor:()=>xA.YolosImageProcessor});var k=d("./src/models/beit/image_processing_beit.js"),F=d("./src/models/bit/image_processing_bit.js"),j=d("./src/models/chinese_clip/image_processing_chinese_clip.js"),O=d("./src/models/clip/image_processing_clip.js"),V=d("./src/models/convnext/image_processing_convnext.js"),X=d("./src/models/deit/image_processing_deit.js"),R=d("./src/models/detr/image_processing_detr.js"),S=d("./src/models/donut/image_processing_donut.js"),Z=d("./src/models/dpt/image_processing_dpt.js"),W=d("./src/models/efficientnet/image_processing_efficientnet.js"),te=d("./src/models/glpn/image_processing_glpn.js"),me=d("./src/models/grounding_dino/image_processing_grounding_dino.js"),Be=d("./src/models/idefics3/image_processing_idefics3.js"),Ee=d("./src/models/janus/image_processing_janus.js"),ie=d("./src/models/jina_clip/image_processing_jina_clip.js"),ne=d("./src/models/llava_onevision/image_processing_llava_onevision.js"),ve=d("./src/models/mask2former/image_processing_mask2former.js"),g=d("./src/models/maskformer/image_processing_maskformer.js"),b=d("./src/models/mobilenet_v1/image_processing_mobilenet_v1.js"),e=d("./src/models/mobilenet_v2/image_processing_mobilenet_v2.js"),l=d("./src/models/mobilenet_v3/image_processing_mobilenet_v3.js"),M=d("./src/models/mobilenet_v4/image_processing_mobilenet_v4.js"),ue=d("./src/models/mobilevit/image_processing_mobilevit.js"),D=d("./src/models/nougat/image_processing_nougat.js"),z=d("./src/models/owlv2/image_processing_owlv2.js"),Ye=d("./src/models/owlvit/image_processing_owlvit.js"),Ne=d("./src/models/phi3_v/image_processing_phi3_v.js"),Oe=d("./src/models/pvt/image_processing_pvt.js"),AA=d("./src/models/qwen2_vl/image_processing_qwen2_vl.js"),tA=d("./src/models/rt_detr/image_processing_rt_detr.js"),BA=d("./src/models/sam/image_processing_sam.js"),DA
2734=d("./src/models/segformer/image_processing_segformer.js"),Ge=d("./src/models/siglip/image_processing_siglip.js"),ke=d("./src/models/swin2sr/image_processing_swin2sr.js"),ze=d("./src/models/vit/image_processing_vit.js"),Ke=d("./src/models/vitmatte/image_processing_vitmatte.js"),Pe=d("./src/models/vitpose/image_processing_vitpose.js"),xA=d("./src/models/yolos/image_processing_yolos.js")},
2734"./src/models/janus/image_processing_janus.js":(x,C,d)=>{d.r(C),d.d(C,{VLMImageProcessor:()=>F});var k=d("./src/base/image_processors_utils.js");class F extends k.ImageProcessor{constructor(O){super({do_pad:!0,pad_size:{width:O.image_size,height:O.image_size},...O}),this.constant_values=this.config.background_color.map(V=>V*this.rescale_factor)}pad_image(O,V,X,R){return super.pad_image(O,V,X,{constant_values:this.constant_values,center:!0,...R})}}},
2734"./src/models/janus/processing_janus.js":(x,C,d)=>{d.r(C),d.d(C,{VLChatProcessor:()=>R});var k=d("./src/base/processing_utils.js"),F=d("./src/models/auto/image_processing_auto.js"),j=d("./src/tokenizers.js"),O=d("./src/utils/core.js"),V=d("./src/utils/tensor.js"),X=d("./src/utils/image.js");class R extends k.Processor{constructor(Z,W){super(Z,W),this.image_tag=this.config.image_tag,this.image_start_tag=this.config.image_start_tag,this.image_end_tag=this.config.image_end_tag,this.num_image_tokens=this.config.num_image_tokens}async _call(Z,{images:W=null,chat_template:te="default"}={}){W?Array.isArray(W)||(W=[W]):W=await Promise.all(Z.filter(ue=>ue.images).flatMap(ue=>ue.images).map(ue=>X.RawImage.read(ue)));const me=this.tokenizer,Be=ue=>me.encode(ue,{add_special_tokens:!1}),Ee=me.apply_chat_template(Z,{tokenize:!1,add_generation_prompt:!0,chat_template:te}).split(this.image_tag),ie=Ee.length-1;if(W.length!==ie)throw new Error(`Number of images provided (${W.length}) does not match number of "${this.image_tag}" image tags (${ie})`);const[ne,ve,g]=me.model.convert_tokens_to_ids([this.image_tag,this.image_start_tag,this.image_end_tag]);let b=Be(Ee[0]),e=new Array(b.length).fill(!1);for(let ue=1;ue<Ee.length;++ue){const D=new Array(this.num_image_tokens).fill(ne),z=Be(Ee[ue]);b=(0,O.mergeArrays)(b,[ve],D,[g],z);const Ye=new Array(this.num_image_tokens).fill(!0);e=(0,O.mergeArrays)(e,[!1],Ye,[!1],new Array(z.length).fill(!1))}const l=[1,b.length],M={input_ids:new V.Tensor("int64",b,l),attention_mask:new V.Tensor("int64",new Array(b.length).fill(1),l),images_seq_mask:new V.Tensor("bool",e,l),images_emb_mask:new V.Tensor("bool",new Array(ie*this.num_image_tokens).fill(!0),[1,ie,this.num_image_tokens])};if(W&&W.length>0){const ue=await this.image_processor(W);return ue.pixel_values.unsqueeze_(0),{...M,...ue}}return M}}Ve(R,"image_processor_class",F.AutoImageProcessor),Ve(R,"tokenizer_class",j.AutoTokenizer),Ve(R,"uses_processor_config",!0)},
2734"./src/models/jina_clip/image_processing_jina_clip.js":(x,C,d)=>{d.r(C),d.d(C,{JinaCLIPImageProcessor:()=>F});var k=d("./src/base/image_processors_utils.js");class F extends k.ImageProcessor{constructor(O){const{resize_mode:V,fill_color:X,interpolation:R,size:S,...Z}=O;super({...Z,size:V==="squash"?{width:S,height:S}:V==="shortest"?{shortest_edge:S}:{longest_edge:S},resample:R==="bicubic"?3:2,do_center_crop:!0,crop_size:S,do_normalize:!0})}}},
2734"./src/models/jina_clip/processing_jina_clip.js":(x,C,d)=>{d.r(C),d.d(C,{JinaCLIPProcessor:()=>O});var k=d("./src/base/processing_utils.js"),F=d("./src/models/auto/image_processing_auto.js"),j=d("./src/tokenizers.js");class O extends k.Processor{async _call(X=null,R=null,S={}){if(!X&&!R)throw new Error("Either text or images must be provided");return{...X?this.tokenizer(X,S):{},...R?await this.image_processor(R,S):{}}}}Ve(O,"tokenizer_class",j.AutoTokenizer),Ve(O,"image_processor_class",F.AutoImageProcessor)},
2734"./src/models/llava_onevision/image_processing_llava_onevision.js":(x,C,d)=>{d.r(C),d.d(C,{LlavaOnevisionImageProcessor:()=>F});var k=d("./src/base/image_processors_utils.js");class F extends k.ImageProcessor{}},
2734"./src/models/mask2former/image_processing_mask2former.js":(x,C,d)=>{d.r(C),d.d(C,{Mask2FormerImageProcessor:()=>F});var k=d("./src/models/maskformer/image_processing_maskformer.js");class F extends k.MaskFormerImageProcessor{}},
2734"./src/models/maskformer/image_processing_maskformer.js":(x,C,d)=>{d.r(C),d.d(C,{MaskFormerFeatureExtractor:()=>j,MaskFormerImageProcessor:()=>F});var k=d("./src/base/image_processors_utils.js");class F extends k.ImageProcessor{post_process_panoptic_segmentation(...V){return(0,k.post_process_panoptic_segmentation)(...V)}post_process_instance_segmentation(...V){return(0,k.post_process_instance_segmentation)(...V)}}class j extends F{}},
2734"./src/models/mgp_str/processing_mgp_str.js":(x,C,d)=>{d.r(C),d.d(C,{MgpstrProcessor:()=>X});var k=d("./src/base/processing_utils.js"),F=d("./src/models/auto/image_processing_auto.js"),j=d("./src/tokenizers.js"),O=d("./src/utils/maths.js");const V={char:["char_decode",1],bpe:["bpe_decode",2],wp:["wp_decode",102]};class X extends k.Processor{get char_tokenizer(){return this.components.char_tokenizer}get bpe_tokenizer(){return this.components.bpe_tokenizer}get wp_tokenizer(){return this.components.wp_tokenizer}_decode_helper(S,Z){if(!V.hasOwnProperty(Z))throw new Error(`Format ${Z} is not supported.`);const[W,te]=V[Z],me=this[W].bind(this),[Be,Ee]=S.dims,ie=[],ne=[],ve=S.tolist();for(let g=0;g<Be;++g){const b=ve[g],e=[],l=[];for(let ue=1;ue<Ee;++ue){const[D,z]=(0,O.max)((0,O.softmax)(b[ue]));if(l.push(D),z==te)break;e.push(z)}const M=l.length>0?l.reduce((ue,D)=>ue*D,1):0;ne.push(e),ie.push(M)}return[me(ne),ie]}char_decode(S){return this.char_tokenizer.batch_decode(S).map(Z=>Z.replaceAll(" ",""))}bpe_decode(S){return this.bpe_tokenizer.batch_decode(S)}wp_decode(S){return this.wp_tokenizer.batch_decode(S).map(Z=>Z.replaceAll(" ",""))}batch_decode([S,Z,W]){const[te,me]=this._decode_helper(S,"char"),[Be,Ee]=this._decode_helper(Z,"bpe"),[ie,ne]=this._decode_helper(W,"wp"),ve=[],g=[];for(let b=0;b<te.length;++b){const[e,l]=(0,O.max)([me[b],Ee[b],ne[b]]);ve.push([te[b],Be[b],ie[b]][l]),g.push(e)}return{generated_text:ve,scores:g,char_preds:te,bpe_preds:Be,wp_preds:ie}}static async from_pretrained(...S){const Z=await super.from_pretrained(...S),W=await j.AutoTokenizer.from_pretrained("Xenova/gpt2"),te=await j.AutoTokenizer.from_pretrained("Xenova/bert-base-uncased");return Z.components={image_processor:Z.image_processor,char_tokenizer:Z.tokenizer,bpe_tokenizer:W,wp_tokenizer:te},Z}async _call(S,Z=null){const W=await this.image_processor(S);return Z&&(W.labels=this.tokenizer(Z).input_ids),W}}Ve(X,"tokenizer_class",j.AutoTokenizer),Ve(X,"image_processor_class",F.AutoImageProcessor)},
2734"./src/models/mobilenet_v1/image_processing_mobilenet_v1.js":(x,C,d)=>{d.r(C),d.d(C,{MobileNetV1FeatureExtractor:()=>j,MobileNetV1ImageProcessor:()=>F});var k=d("./src/base/image_processors_utils.js");class F extends k.ImageProcessor{}class j extends F{}},
2734"./src/models/mobilenet_v2/image_processing_mobilenet_v2.js":(x,C,d)=>{d.r(C),d.d(C,{MobileNetV2FeatureExtractor:()=>j,MobileNetV2ImageProcessor:()=>F});var k=d("./src/base/image_processors_utils.js");class F extends k.ImageProcessor{}class j extends F{}},
2734"./src/models/mobilenet_v3/image_processing_mobilenet_v3.js":(x,C,d)=>{d.r(C),d.d(C,{MobileNetV3FeatureExtractor:()=>j,MobileNetV3ImageProcessor:()=>F});var k=d("./src/base/image_processors_utils.js");class F extends k.ImageProcessor{}class j extends F{}},
2734"./src/models/mobilenet_v4/image_processing_mobilenet_v4.js":(x,C,d)=>{d.r(C),d.d(C,{MobileNetV4FeatureExtractor:()=>j,MobileNetV4ImageProcessor:()=>F});var k=d("./src/base/image_processors_utils.js");class F extends k.ImageProcessor{}class j extends F{}},
2734"./src/models/mobilevit/image_processing_mobilevit.js":(x,C,d)=>{d.r(C),d.d(C,{MobileViTFeatureExtractor:()=>j,MobileViTImageProcessor:()=>F});var k=d("./src/base/image_processors_utils.js");class F extends k.ImageProcessor{}class j extends F{}},
2734"./src/models/moonshine/feature_extraction_moonshine.js":(x,C,d)=>{d.r(C),d.d(C,{MoonshineFeatureExtractor:()=>j});var k=d("./src/base/feature_extraction_utils.js"),F=d("./src/utils/tensor.js");class j extends k.FeatureExtractor{async _call(V){(0,k.validate_audio_inputs)(V,"MoonshineFeatureExtractor"),V instanceof Float64Array&&(V=new Float32Array(V));const X=[1,V.length];return{input_values:new F.Tensor("float32",V,X)}}}},
2734"./src/models/moonshine/processing_moonshine.js":(x,C,d)=>{d.r(C),d.d(C,{MoonshineProcessor:()=>O});var k=d("./src/models/auto/feature_extraction_auto.js"),F=d("./src/tokenizers.js"),j=d("./src/base/processing_utils.js");class O extends j.Processor{async _call(X){return await this.feature_extractor(X)}}Ve(O,"tokenizer_class",F.AutoTokenizer),Ve(O,"feature_extractor_class",k.AutoFeatureExtractor)},
2734"./src/models/nougat/image_processing_nougat.js":(x,C,d)=>{d.r(C),d.d(C,{NougatImageProcessor:()=>F});var k=d("./src/models/donut/image_processing_donut.js");class F extends k.DonutImageProcessor{}},
2734"./src/models/owlv2/image_processing_owlv2.js":(x,C,d)=>{d.r(C),d.d(C,{Owlv2ImageProcessor:()=>F});var k=d("./src/models/owlvit/image_processing_owlvit.js");class F extends k.OwlViTImageProcessor{}},
2734"./src/models/owlvit/image_processing_owlvit.js":(x,C,d)=>{d.r(C),d.d(C,{OwlViTFeatureExtractor:()=>j,OwlViTImageProcessor:()=>F});var k=d("./src/base/image_processors_utils.js");class F extends k.ImageProcessor{post_process_object_detection(...V){return(0,k.post_process_object_detection)(...V)}}class j extends F{}},
2734"./src/models/owlvit/processing_owlvit.js":(x,C,d)=>{d.r(C),d.d(C,{OwlViTProcessor:()=>O});var k=d("./src/base/processing_utils.js"),F=d("./src/models/auto/image_processing_auto.js"),j=d("./src/tokenizers.js");class O extends k.Processor{}Ve(O,"tokenizer_class",j.AutoTokenizer),Ve(O,"image_processor_class",F.AutoImageProcessor)},
2734"./src/models/paligemma/processing_paligemma.js":(x,C,d)=>{d.r(C),d.d(C,{PaliGemmaProcessor:()=>V});var k=d("./src/base/processing_utils.js"),F=d("./src/models/auto/image_processing_auto.js"),j=d("./src/tokenizers.js");const O="<image>";class V extends k.Processor{async _call(R,S=null,Z={}){S||(console.warn("You are using PaliGemma without a text prefix. It will perform as a picture-captioning model."),S=""),Array.isArray(R)||(R=[R]),Array.isArray(S)||(S=[S]);const W=this.tokenizer.bos_token,te=this.image_processor.config.image_seq_length;let me;S.some(Ee=>Ee.includes(O))?me=S.map(Ee=>{const ie=Ee.replaceAll(O,O.repeat(te)),ne=ie.lastIndexOf(O),ve=ne===-1?0:ne+7;return ie.slice(0,ve)+W+ie.slice(ve)+`
2735`}):(console.warn("You are passing both `text` and `images` to `PaliGemmaProcessor`. The processor expects special image tokens in the text, as many tokens as there are images per each text. It is recommended to add `<image>` tokens in the very beginning of your text. For this call, we will infer how many images each text has and add special tokens."),me=S.map(Ee=>function(ie,ne,ve,g,b){return`${g.repeat(ve*b)}${ne}${ie}
2736`}(Ee,W,te,O,R.length)));const Be=this.tokenizer(me,Z);return{...await this.image_processor(R,Z),...Be}}}Ve(V,"tokenizer_class",j.AutoTokenizer),Ve(V,"image_processor_class",F.AutoImageProcessor),Ve(V,"uses_processor_config",!1)},
2736"./src/models/phi3_v/image_processing_phi3_v.js":(x,C,d)=>{d.r(C),d.d(C,{Phi3VImageProcessor:()=>S});var k=d("./src/base/image_processors_utils.js"),F=d("./src/utils/tensor.js");const j=336,O=[2,3],{ceil:V,floor:X,sqrt:R}=Math;class S extends k.ImageProcessor{constructor(W){super({...W,do_normalize:!0,do_pad:!0,pad_size:"custom",do_convert_rgb:!0,do_resize:!0}),this._num_crops=W.num_crops}calc_num_image_tokens_from_image_size(W,te){const{num_img_tokens:me}=this.config;return X((X(te/j)*X(W/j)+1)*me+1+(X(te/j)+1)*R(me))}get_resize_output_image_size(W,te){const me=this._num_crops,[Be,Ee]=W.size;let ie=Be/Ee,ne=1;for(;ne*Math.ceil(ne/ie)<=me;)ne+=1;ne-=1;const ve=Math.floor(336*ne);return[ve,Math.floor(ve/ie)]}pad_image(W,te,me,Be={}){const[Ee,ie]=te,ne=j*V(Ee/j),ve=j*V(ie/j),g=[1,1,1].map((b,e)=>(b-this.image_mean[e])/this.image_std[e]);return super.pad_image(W,te,{width:ve,height:ne},{center:!0,constant_values:g,...Be})}async _call(W,{num_crops:te=null}={}){if(this._num_crops=te??(te=this.config.num_crops),te<4||R(te)%1!=0)throw new Error("num_crops must be a square number >= 4");Array.isArray(W)||(W=[W]);const me=W.length,Be=await Promise.all(W.map(b=>this.preprocess(b))),Ee=Be.map(b=>b.original_size),ie=Be.map(b=>b.reshaped_input_size),ne=[];for(const{pixel_values:b}of Be){b.unsqueeze_(0);const[e,l]=b.dims.slice(-2),M=await(0,F.interpolate_4d)(b,{size:[j,j],mode:"bicubic"});if(te>0){const ue=[],D=R(te),z=X(l/D),Ye=X(e/D);for(let Oe=0;Oe<D;++Oe)for(let AA=0;AA<D;++AA){let tA,BA,DA,Ge;Oe===D-1?(BA=e-Ye,Ge=e):(BA=Oe*Ye,Ge=(Oe+1)*Ye),AA===D-1?(tA=l-z,DA=l):(tA=AA*z,DA=(AA+1)*z);const ke=[BA,tA],ze=[Ge,DA],Ke=await(0,F.slice)(b,ke,ze,O);ue.push(Ke)}const Ne=await(0,F.interpolate_4d)((0,F.cat)(ue,0),{size:[j,j],mode:"bicubic"});ne.push((0,F.cat)([M,Ne],0))}else ne.push(M)}const ve=(0,F.stack)(ne,0),g=ie.map(b=>b.map(e=>j*V(e/j)));return{pixel_values:ve,original_sizes:Ee,reshaped_input_sizes:ie,image_sizes:new F.Tensor("int64",g.flat(),[me,2]),num_img_tokens:g.map(([b,e])=>this.calc_num_image_tokens_from_image_size(e,b))}}}},
2736"./src/models/phi3_v/processing_phi3_v.js":(x,C,d)=>{d.r(C),d.d(C,{Phi3VProcessor:()=>X});var k=d("./src/base/processing_utils.js"),F=d("./src/models/auto/image_processing_auto.js"),j=d("./src/tokenizers.js");d("./src/utils/image.js");const O="<|image|>",V=/<\|image_\d+\|>/g;class X extends k.Processor{async _call(S,Z=null,{padding:W=!0,truncation:te=!0,num_crops:me=null}={}){let Be,Ee;if(Array.isArray(S)||(S=[S]),Z){Ee=await this.image_processor(Z,{num_crops:me});const{num_img_tokens:ie}=Ee,ne=S.map((g,b)=>g.split(V).join(O.repeat(ie[b])));Be=this.tokenizer(ne,{padding:W,truncation:te});const ve=this.tokenizer.model.convert_tokens_to_ids([O])[0];Be.input_ids.map_(g=>g==ve?-g:g)}else Be=this.tokenizer(S);return{...Be,...Ee}}}Ve(X,"image_processor_class",F.AutoImageProcessor),Ve(X,"tokenizer_class",j.AutoTokenizer)},
2736"./src/models/processors.js":(x,C,d)=>{d.r(C),d.d(C,{Florence2Processor:()=>k.Florence2Processor,GroundingDinoProcessor:()=>F.GroundingDinoProcessor,Idefics3Processor:()=>j.Idefics3Processor,JinaCLIPProcessor:()=>V.JinaCLIPProcessor,MgpstrProcessor:()=>X.MgpstrProcessor,MoonshineProcessor:()=>R.MoonshineProcessor,OwlViTProcessor:()=>S.OwlViTProcessor,PaliGemmaProcessor:()=>W.PaliGemmaProcessor,Phi3VProcessor:()=>Z.Phi3VProcessor,PyAnnoteProcessor:()=>te.PyAnnoteProcessor,Qwen2VLProcessor:()=>me.Qwen2VLProcessor,SamProcessor:()=>Be.SamProcessor,SpeechT5Processor:()=>Ee.SpeechT5Processor,VLChatProcessor:()=>O.VLChatProcessor,Wav2Vec2Processor:()=>ie.Wav2Vec2Processor,Wav2Vec2ProcessorWithLM:()=>ne.Wav2Vec2ProcessorWithLM,WhisperProcessor:()=>ve.WhisperProcessor});var k=d("./src/models/florence2/processing_florence2.js"),F=d("./src/models/grounding_dino/processing_grounding_dino.js"),j=d("./src/models/idefics3/processing_idefics3.js"),O=d("./src/models/janus/processing_janus.js"),V=d("./src/models/jina_clip/processing_jina_clip.js"),X=d("./src/models/mgp_str/processing_mgp_str.js"),R=d("./src/models/moonshine/processing_moonshine.js"),S=d("./src/models/owlvit/processing_owlvit.js"),Z=d("./src/models/phi3_v/processing_phi3_v.js"),W=d("./src/models/paligemma/processing_paligemma.js"),te=d("./src/models/pyannote/processing_pyannote.js"),me=d("./src/models/qwen2_vl/processing_qwen2_vl.js"),Be=d("./src/models/sam/processing_sam.js"),Ee=d("./src/models/speecht5/processing_speecht5.js"),ie=d("./src/models/wav2vec2/processing_wav2vec2.js"),ne=d("./src/models/wav2vec2_with_lm/processing_wav2vec2_with_lm.js"),ve=d("./src/models/whisper/processing_whisper.js")},
2736"./src/models/pvt/image_processing_pvt.js":(x,C,d)=>{d.r(C),d.d(C,{PvtImageProcessor:()=>F});var k=d("./src/base/image_processors_utils.js");class F extends k.ImageProcessor{}},
vendor: 982 bytes, line 2736
2736"./src/models/pyannote/feature_extraction_pyannote.js":(x,C,d)=>{d.r(C),d.d(C,{PyAnnoteFeatureExtractor:()=>O});var k=d("./src/base/feature_extraction_utils.js"),F=d("./src/utils/tensor.js"),j=d("./src/utils/maths.js");class O extends k.FeatureExtractor{async _call(X){(0,k.validate_audio_inputs)(X,"PyAnnoteFeatureExtractor"),X instanceof Float64Array&&(X=new Float32Array(X));const R=[1,1,X.length];return{input_values:new F.Tensor("float32",X,R)}}samples_to_frames(X){return(X-this.config.offset)/this.config.step}post_process_speaker_diarization(X,R){const S=R/this.samples_to_frames(R)/this.config.sampling_rate,Z=[];for(const W of X.tolist()){const te=[];let me=-1;for(let Be=0;Be<W.length;++Be){const Ee=(0,j.softmax)(W[Be]),[ie,ne]=(0,j.max)(Ee),[ve,g]=[Be,Be+1];ne!==me?(me=ne,te.push({id:ne,start:ve,end:g,score:ie})):(te.at(-1).end=g,te.at(-1).score+=ie)}Z.push(te.map(({id:Be,start:Ee,end:ie,score:ne})=>({id:Be,start:Ee*S,end:ie*S,confidence:ne/(ie-Ee)})))}return Z}}},
2736"./src/models/pyannote/processing_pyannote.js":(x,C,d)=>{d.r(C),d.d(C,{PyAnnoteProcessor:()=>j});var k=d("./src/base/processing_utils.js"),F=d("./src/models/pyannote/feature_extraction_pyannote.js");class j extends k.Processor{async _call(V){return await this.feature_extractor(V)}post_process_speaker_diarization(...V){return this.feature_extractor.post_process_speaker_diarization(...V)}get sampling_rate(){return this.feature_extractor.config.sampling_rate}}Ve(j,"feature_extractor_class",F.PyAnnoteFeatureExtractor)},
2736"./src/models/qwen2_vl/image_processing_qwen2_vl.js":(x,C,d)=>{d.r(C),d.d(C,{Qwen2VLImageProcessor:()=>j});var k=d("./src/base/image_processors_utils.js"),F=d("./src/utils/tensor.js");class j extends k.ImageProcessor{async _call(V,...X){const{pixel_values:R,original_sizes:S,reshaped_input_sizes:Z}=await super._call(V,...X);let W=R;const{temporal_patch_size:te,merge_size:me,patch_size:Be}=this.config;W.dims[0]===1&&(W=(0,F.cat)(Array.from({length:te},()=>W),0));const Ee=W.dims[0]/te,ie=W.dims[1],ne=Math.floor(W.dims[2]/Be),ve=Math.floor(W.dims[3]/Be);return{pixel_values:W.view(Ee,te,ie,Math.floor(ne/me),me,Be,Math.floor(ve/me),me,Be).permute(0,3,6,4,7,2,1,5,8).view(Ee*ne*ve,ie*te*Be*Be),image_grid_thw:new F.Tensor("int64",[Ee,ne,ve],[1,3]),original_sizes:S,reshaped_input_sizes:Z}}}},
2736"./src/models/qwen2_vl/processing_qwen2_vl.js":(x,C,d)=>{d.r(C),d.d(C,{Qwen2VLProcessor:()=>O});var k=d("./src/base/processing_utils.js"),F=d("./src/models/auto/image_processing_auto.js"),j=d("./src/tokenizers.js");d("./src/utils/image.js");class O extends k.Processor{async _call(X,R=null,...S){let Z,W;if(Array.isArray(X)||(X=[X]),R&&(Z=await this.image_processor(R),W=Z.image_grid_thw),W){let te=this.image_processor.config.merge_size**2,me=0;const Be=W.tolist();X=X.map(Ee=>{for(;Ee.includes("<|image_pad|>");){const ie=Number(Be[me++].reduce((ne,ve)=>ne*ve,1n));Ee=Ee.replace("<|image_pad|>","<|placeholder|>".repeat(Math.floor(ie/te)))}return Ee.replaceAll("<|placeholder|>","<|image_pad|>")})}return{...this.tokenizer(X),...Z}}}Ve(O,"image_processor_class",F.AutoImageProcessor),Ve(O,"tokenizer_class",j.AutoTokenizer)},
2736"./src/models/rt_detr/image_processing_rt_detr.js":(x,C,d)=>{d.r(C),d.d(C,{RTDetrImageProcessor:()=>F});var k=d("./src/base/image_processors_utils.js");class F extends k.ImageProcessor{post_process_object_detection(...O){return(0,k.post_process_object_detection)(...O)}}},
2736"./src/models/sam/image_processing_sam.js":(x,C,d)=>{d.r(C),d.d(C,{SamImageProcessor:()=>O});var k=d("./src/base/image_processors_utils.js"),F=d("./src/utils/core.js"),j=d("./src/utils/tensor.js");class O extends k.ImageProcessor{reshape_input_points(X,R,S,Z=!1){X=structuredClone(X);let W=(0,F.calculateDimensions)(X);if(W.length===3)Z||(W=[1,...W]),X=[X];else if(W.length!==4)throw Error("The input_points must be a 4D tensor of shape `batch_size`, `point_batch_size`, `nb_points_per_image`, `2`.");for(let te=0;te<X.length;++te){let me=R[te],Be=S[te],Ee=[Be[0]/me[0],Be[1]/me[1]];for(let ie=0;ie<X[te].length;++ie)for(let ne=0;ne<X[te][ie].length;++ne)for(let ve=0;ve<X[te][ie][ne].length;++ve)X[te][ie][ne][ve]*=Ee[ve%2]}return new j.Tensor("float32",Float32Array.from(X.flat(1/0)),W)}add_input_labels(X,R){let S=(0,F.calculateDimensions)(X);if(S.length===2)S=[1,...S],X=[X];else if(S.length!==3)throw Error("The input_points must be a 4D tensor of shape `batch_size`, `point_batch_size`, `nb_points_per_image`, `2`.");if(S.some((Z,W)=>Z!==R.dims[W]))throw Error(`The first ${S.length} dimensions of 'input_points' and 'input_labels' must be the same.`);return new j.Tensor("int64",X.flat(1/0).map(BigInt),S)}async _call(X,{input_points:R=null,input_labels:S=null,input_boxes:Z=null}={}){const W=await super._call(X);if(R&&(W.input_points=this.reshape_input_points(R,W.original_sizes,W.reshaped_input_sizes)),S){if(!W.input_points)throw Error("`input_points` must be provided if `input_labels` are provided.");W.input_labels=this.add_input_labels(S,W.input_points)}return Z&&(W.input_boxes=this.reshape_input_points(Z,W.original_sizes,W.reshaped_input_sizes,!0)),W}async post_process_masks(X,R,S,{mask_threshold:Z=0,binarize:W=!0,pad_size:te=null}={}){const me=[],Be=[(te=te??this.pad_size).height,te.width];for(let Ee=0;Ee<R.length;++Ee){const ie=R[Ee],ne=S[Ee];let ve=await(0,j.interpolate_4d)(X[Ee],{mode:"bilinear",size:Be});if(ve=ve.slice(null,null,[0,ne[0]],[0,ne[1]]),ve=await(0,j.interpolate_4d)(ve,{mode:"bilinear",size:ie}),W){const g=ve.data,b=new Uint8Array(g.length);for(let e=0;e<g.length;++e)g[e]>Z&&(b[e]=1);ve=new j.Tensor("bool",b,ve.dims)}me.push(ve)}return me}generate_crop_boxes(X,R,{crop_n_layers:S=0,overlap_ratio:Z=.3413333333333333,points_per_crop:W=32,crop_n_points_downscale_factor:te=1}={}){}}},
2736"./src/models/sam/processing_sam.js":(x,C,d)=>{d.r(C),d.d(C,{SamProcessor:()=>j});var k=d("./src/base/processing_utils.js"),F=d("./src/models/auto/image_processing_auto.js");class j extends k.Processor{async _call(...V){return await this.image_processor(...V)}post_process_masks(...V){return this.image_processor.post_process_masks(...V)}reshape_input_points(...V){return this.image_processor.reshape_input_points(...V)}}Ve(j,"image_processor_class",F.AutoImageProcessor)},
2736"./src/models/seamless_m4t/feature_extraction_seamless_m4t.js":(x,C,d)=>{d.r(C),d.d(C,{SeamlessM4TFeatureExtractor:()=>O});var k=d("./src/base/feature_extraction_utils.js"),F=d("./src/utils/tensor.js"),j=d("./src/utils/audio.js");class O extends k.FeatureExtractor{constructor(X){super(X);const R=this.config.sampling_rate,S=(0,j.mel_filter_bank)(256,this.config.num_mel_bins,20,Math.floor(R/2),R,null,"kaldi",!0);for(let Z=0;Z<S.length;++Z)S[Z].push(0);this.mel_filters=S,this.window=(0,j.window_function)(400,"povey",{periodic:!1})}async _extract_fbank_features(X,R){return X=X.map(S=>32768*S),(0,j.spectrogram)(X,this.window,400,160,{fft_length:512,power:2,center:!1,preemphasis:.97,mel_filters:this.mel_filters,log_mel:"log",mel_floor:1192092955078125e-22,remove_dc_offset:!0,max_num_frames:R,transpose:!0})}async _call(X,{padding:R=!0,pad_to_multiple_of:S=2,do_normalize_per_mel_bins:Z=!0,return_attention_mask:W=!0}={}){(0,k.validate_audio_inputs)(X,"SeamlessM4TFeatureExtractor");let te,me=await this._extract_fbank_features(X,this.config.max_length);if(Z){const[g,b]=me.dims,e=me.data;for(let l=0;l<b;++l){let M=0;for(let Ye=0;Ye<g;++Ye)M+=e[Ye*b+l];const ue=M/g;let D=0;for(let Ye=0;Ye<g;++Ye)D+=(e[Ye*b+l]-ue)**2;D/=g-1;const z=Math.sqrt(D+1e-7);for(let Ye=0;Ye<g;++Ye){const Ne=Ye*b+l;e[Ne]=(e[Ne]-ue)/z}}}if(R){const[g,b]=me.dims,e=me.data,l=g%S;if(l>0){const M=new Float32Array(b*(g+l));M.set(e),M.fill(this.config.padding_value,e.length);const ue=g+l;me=new F.Tensor(me.type,M,[ue,b]),W&&(te=new F.Tensor("int64",new BigInt64Array(ue),[1,ue]),te.data.fill(1n,0,g))}}const[Be,Ee]=me.dims,ie=this.config.stride;if(Be%ie!==0)throw new Error(`The number of frames (${Be}) must be a multiple of the stride (${ie}).`);const ne=me.view(1,Math.floor(Be/ie),Ee*ie),ve={input_features:ne};if(W){const g=ne.dims[1],b=new BigInt64Array(g);if(te){const e=te.data;for(let l=1,M=0;l<Be;l+=ie,++M)b[M]=e[l]}else b.fill(1n);ve.attention_mask=new F.Tensor("int64",b,[1,g])}return ve}}},
2736"./src/models/segformer/image_processing_segformer.js":(x,C,d)=>{d.r(C),d.d(C,{SegformerFeatureExtractor:()=>j,SegformerImageProcessor:()=>F});var k=d("./src/base/image_processors_utils.js");class F extends k.ImageProcessor{post_process_semantic_segmentation(...V){return(0,k.post_process_semantic_segmentation)(...V)}}class j extends F{}},
2736"./src/models/siglip/image_processing_siglip.js":(x,C,d)=>{d.r(C),d.d(C,{SiglipImageProcessor:()=>F});var k=d("./src/base/image_processors_utils.js");class F extends k.ImageProcessor{}},
2736"./src/models/speecht5/feature_extraction_speecht5.js":(x,C,d)=>{d.r(C),d.d(C,{SpeechT5FeatureExtractor:()=>F});var k=d("./src/base/feature_extraction_utils.js");class F extends k.FeatureExtractor{}},
2736"./src/models/speecht5/processing_speecht5.js":(x,C,d)=>{d.r(C),d.d(C,{SpeechT5Processor:()=>O});var k=d("./src/base/processing_utils.js"),F=d("./src/tokenizers.js"),j=d("./src/models/auto/feature_extraction_auto.js");class O extends k.Processor{async _call(X){return await this.feature_extractor(X)}}Ve(O,"tokenizer_class",F.AutoTokenizer),Ve(O,"feature_extractor_class",j.AutoFeatureExtractor)},
vendor: 346 bytes, line 2736
2736"./src/models/swin2sr/image_processing_swin2sr.js":(x,C,d)=>{d.r(C),d.d(C,{Swin2SRImageProcessor:()=>F});var k=d("./src/base/image_processors_utils.js");class F extends k.ImageProcessor{pad_image(O,V,X,R={}){const[S,Z,W]=V;return super.pad_image(O,V,{width:Z+(X-Z%X)%X,height:S+(X-S%X)%X},{mode:"symmetric",center:!1,constant_values:-1,...R})}}},
2736"./src/models/vit/image_processing_vit.js":(x,C,d)=>{d.r(C),d.d(C,{ViTFeatureExtractor:()=>j,ViTImageProcessor:()=>F});var k=d("./src/base/image_processors_utils.js");class F extends k.ImageProcessor{}class j extends F{}},
2736"./src/models/vitmatte/image_processing_vitmatte.js":(x,C,d)=>{d.r(C),d.d(C,{VitMatteImageProcessor:()=>j});var k=d("./src/base/image_processors_utils.js"),F=d("./src/utils/tensor.js");class j extends k.ImageProcessor{async _call(V,X){Array.isArray(V)||(V=[V]),Array.isArray(X)||(X=[X]);const R=await Promise.all(V.map(W=>this.preprocess(W))),S=await Promise.all(X.map(W=>this.preprocess(W,{do_normalize:!1,do_convert_rgb:!1,do_convert_grayscale:!0})));return{pixel_values:(0,F.stack)(R.map((W,te)=>(0,F.cat)([W.pixel_values,S[te].pixel_values],0)),0),original_sizes:R.map(W=>W.original_size),reshaped_input_sizes:R.map(W=>W.reshaped_input_size)}}}},
vendor: 807 bytes, line 2736
2736"./src/models/vitpose/image_processing_vitpose.js":(x,C,d)=>{d.r(C),d.d(C,{VitPoseImageProcessor:()=>F});var k=d("./src/base/image_processors_utils.js");class F extends k.ImageProcessor{post_process_pose_estimation(O,V,{threshold:X=null}={}){const R=O.tolist(),[S,Z,W,te]=O.dims,me=[];for(let Be=0;Be<S;++Be){const Ee=R[Be],ie=V[Be],ne=[];for(let ve=0;ve<ie.length;++ve){const g=ie[ve],b=[],e=[],l=[],M=g.at(-2)/te,ue=g.at(-1)/W;for(let D=0;D<Ee.length;++D){let[z,Ye]=[0,0],Ne=0,Oe=-1/0;const AA=Ee[D];for(let BA=0;BA<AA.length;++BA){const DA=AA[BA];for(let Ge=0;Ge<DA.length;++Ge){const ke=DA[Ge];Ne+=ke,Oe=Math.max(Oe,ke),z+=(Ge+.5)*ke,Ye+=BA*ke}}if(X!=null&&Oe<X)continue;const tA=[M*z/Ne,ue*Ye/Ne];b.push(tA),l.push(D),e.push(Oe)}ne.push({bbox:g,scores:e,labels:l,keypoints:b})}me.push(ne)}return me}}},
2736"./src/models/wav2vec2/feature_extraction_wav2vec2.js":(x,C,d)=>{d.r(C),d.d(C,{Wav2Vec2FeatureExtractor:()=>j});var k=d("./src/base/feature_extraction_utils.js"),F=d("./src/utils/tensor.js");class j extends k.FeatureExtractor{_zero_mean_unit_var_norm(V){const X=V.reduce((Z,W)=>Z+W,0),R=X/V.length,S=V.reduce((Z,W)=>Z+(W-R)**2,0)/V.length;return V.map(Z=>(Z-R)/Math.sqrt(S+1e-7))}async _call(V){(0,k.validate_audio_inputs)(V,"Wav2Vec2FeatureExtractor"),V instanceof Float64Array&&(V=new Float32Array(V));let X=V;this.config.do_normalize&&(X=this._zero_mean_unit_var_norm(X));const R=[1,X.length];return{input_values:new F.Tensor("float32",X,R),attention_mask:new F.Tensor("int64",new BigInt64Array(X.length).fill(1n),R)}}}},
2736"./src/models/wav2vec2/processing_wav2vec2.js":(x,C,d)=>{d.r(C),d.d(C,{Wav2Vec2Processor:()=>O});var k=d("./src/tokenizers.js"),F=d("./src/models/auto/feature_extraction_auto.js"),j=d("./src/base/processing_utils.js");class O extends j.Processor{async _call(X){return await this.feature_extractor(X)}}Ve(O,"tokenizer_class",k.AutoTokenizer),Ve(O,"feature_extractor_class",F.AutoFeatureExtractor)},
2736"./src/models/wav2vec2_with_lm/processing_wav2vec2_with_lm.js":(x,C,d)=>{d.r(C),d.d(C,{Wav2Vec2ProcessorWithLM:()=>O});var k=d("./src/tokenizers.js"),F=d("./src/models/auto/feature_extraction_auto.js"),j=d("./src/base/processing_utils.js");class O extends j.Processor{async _call(X){return await this.feature_extractor(X)}}Ve(O,"tokenizer_class",k.AutoTokenizer),Ve(O,"feature_extractor_class",F.AutoFeatureExtractor)},
2736"./src/models/wespeaker/feature_extraction_wespeaker.js":(x,C,d)=>{d.r(C),d.d(C,{WeSpeakerFeatureExtractor:()=>j});var k=d("./src/base/feature_extraction_utils.js");d("./src/utils/tensor.js");var F=d("./src/utils/audio.js");class j extends k.FeatureExtractor{constructor(V){super(V);const X=this.config.sampling_rate,R=(0,F.mel_filter_bank)(256,this.config.num_mel_bins,20,Math.floor(X/2),X,null,"kaldi",!0);for(let S=0;S<R.length;++S)R[S].push(0);this.mel_filters=R,this.window=(0,F.window_function)(400,"hamming",{periodic:!1}),this.min_num_frames=this.config.min_num_frames}async _extract_fbank_features(V){return V=V.map(X=>32768*X),(0,F.spectrogram)(V,this.window,400,160,{fft_length:512,power:2,center:!1,preemphasis:.97,mel_filters:this.mel_filters,log_mel:"log",mel_floor:1192092955078125e-22,remove_dc_offset:!0,transpose:!0,min_num_frames:this.min_num_frames})}async _call(V){(0,k.validate_audio_inputs)(V,"WeSpeakerFeatureExtractor");const X=(await this._extract_fbank_features(V)).unsqueeze_(0);if(this.config.fbank_centering_span===null){const R=X.mean(1).data,S=X.data,[Z,W,te]=X.dims;for(let me=0;me<Z;++me){const Be=me*W*te,Ee=me*te;for(let ie=0;ie<W;++ie){const ne=Be+ie*te;for(let ve=0;ve<te;++ve)S[ne+ve]-=R[Ee+ve]}}}return{input_features:X}}}},
2736"./src/models/whisper/common_whisper.js":(x,C,d)=>{d.r(C),d.d(C,{WHISPER_LANGUAGE_MAPPING:()=>F,WHISPER_TO_LANGUAGE_CODE_MAPPING:()=>j,whisper_language_to_code:()=>O});const k=[["en","english"],["zh","chinese"],["de","german"],["es","spanish"],["ru","russian"],["ko","korean"],["fr","french"],["ja","japanese"],["pt","portuguese"],["tr","turkish"],["pl","polish"],["ca","catalan"],["nl","dutch"],["ar","arabic"],["sv","swedish"],["it","italian"],["id","indonesian"],["hi","hindi"],["fi","finnish"],["vi","vietnamese"],["he","hebrew"],["uk","ukrainian"],["el","greek"],["ms","malay"],["cs","czech"],["ro","romanian"],["da","danish"],["hu","hungarian"],["ta","tamil"],["no","norwegian"],["th","thai"],["ur","urdu"],["hr","croatian"],["bg","bulgarian"],["lt","lithuanian"],["la","latin"],["mi","maori"],["ml","malayalam"],["cy","welsh"],["sk","slovak"],["te","telugu"],["fa","persian"],["lv","latvian"],["bn","bengali"],["sr","serbian"],["az","azerbaijani"],["sl","slovenian"],["kn","kannada"],["et","estonian"],["mk","macedonian"],["br","breton"],["eu","basque"],["is","icelandic"],["hy","armenian"],["ne","nepali"],["mn","mongolian"],["bs","bosnian"],["kk","kazakh"],["sq","albanian"],["sw","swahili"],["gl","galician"],["mr","marathi"],["pa","punjabi"],["si","sinhala"],["km","khmer"],["sn","shona"],["yo","yoruba"],["so","somali"],["af","afrikaans"],["oc","occitan"],["ka","georgian"],["be","belarusian"],["tg","tajik"],["sd","sindhi"],["gu","gujarati"],["am","amharic"],["yi","yiddish"],["lo","lao"],["uz","uzbek"],["fo","faroese"],["ht","haitian creole"],["ps","pashto"],["tk","turkmen"],["nn","nynorsk"],["mt","maltese"],["sa","sanskrit"],["lb","luxembourgish"],["my","myanmar"],["bo","tibetan"],["tl","tagalog"],["mg","malagasy"],["as","assamese"],["tt","tatar"],["haw","hawaiian"],["ln","lingala"],["ha","hausa"],["ba","bashkir"],["jw","javanese"],["su","sundanese"]],F=new Map(k),j=new Map([...k.map(([V,X])=>[X,V]),["burmese","my"],["valencian","ca"],["flemish","nl"],["haitian","ht"],["letzeburgesch","lb"],["pushto","ps"],["panjabi","pa"],["moldavian","ro"],["moldovan","ro"],["sinhalese","si"],["castilian","es"]]);function O(V){V=V.toLowerCase();let X=j.get(V);if(X===void 0){if(!F.has(V)){const R=V.length===2?F.keys():F.values();throw new Error(`Language "${V}" is not supported. Must be one of: ${JSON.stringify(R)}`)}X=V}return X}},
2736"./src/models/whisper/feature_extraction_whisper.js":(x,C,d)=>{d.r(C),d.d(C,{WhisperFeatureExtractor:()=>O});var k=d("./src/base/feature_extraction_utils.js");d("./src/utils/tensor.js");var F=d("./src/utils/audio.js"),j=d("./src/utils/maths.js");class O extends k.FeatureExtractor{constructor(X){var R;super(X),(R=this.config).mel_filters??(R.mel_filters=(0,F.mel_filter_bank)(Math.floor(1+this.config.n_fft/2),this.config.feature_size,0,8e3,this.config.sampling_rate,"slaney","slaney")),this.window=(0,F.window_function)(this.config.n_fft,"hann")}async _extract_fbank_features(X){const R=await(0,F.spectrogram)(X,this.window,this.config.n_fft,this.config.hop_length,{power:2,mel_filters:this.config.mel_filters,log_mel:"log10",max_num_frames:this.config.nb_max_frames}),S=R.data,Z=(0,j.max)(S)[0];for(let W=0;W<S.length;++W)S[W]=(Math.max(S[W],Z-8)+4)/4;return R}async _call(X){let R;return(0,k.validate_audio_inputs)(X,"WhisperFeatureExtractor"),X.length>this.config.n_samples?(console.warn("Attempting to extract features for audio longer than 30 seconds. If using a pipeline to extract transcript from a long audio clip, remember to specify `chunk_length_s` and/or `stride_length_s`."),R=X.slice(0,this.config.n_samples)):(R=new Float32Array(this.config.n_samples),R.set(X)),{input_features:(await this._extract_fbank_features(R)).unsqueeze_(0)}}}},
2736"./src/models/whisper/generation_whisper.js":(x,C,d)=>{d.r(C),d.d(C,{WhisperGenerationConfig:()=>F});var k=d("./src/generation/configuration_utils.js");class F extends k.GenerationConfig{constructor(){super(...arguments);Ve(this,"return_timestamps",null);Ve(this,"return_token_timestamps",null);Ve(this,"num_frames",null);Ve(this,"alignment_heads",null);Ve(this,"task",null);Ve(this,"language",null);Ve(this,"no_timestamps_token_id",null);Ve(this,"prompt_ids",null);Ve(this,"is_multilingual",null);Ve(this,"lang_to_id",null);Ve(this,"task_to_id",null);Ve(this,"max_initial_timestamp_index",1)}}},
2736"./src/models/whisper/processing_whisper.js":(x,C,d)=>{d.r(C),d.d(C,{WhisperProcessor:()=>O});var k=d("./src/models/auto/feature_extraction_auto.js"),F=d("./src/tokenizers.js"),j=d("./src/base/processing_utils.js");class O extends j.Processor{async _call(X){return await this.feature_extractor(X)}}Ve(O,"tokenizer_class",F.AutoTokenizer),Ve(O,"feature_extractor_class",k.AutoFeatureExtractor)},
2736"./src/models/yolos/image_processing_yolos.js":(x,C,d)=>{d.r(C),d.d(C,{YolosFeatureExtractor:()=>j,YolosImageProcessor:()=>F});var k=d("./src/base/image_processors_utils.js");class F extends k.ImageProcessor{post_process_object_detection(...V){return(0,k.post_process_object_detection)(...V)}}class j extends F{}},
2736"./src/ops/registry.js":(x,C,d)=>{d.r(C),d.d(C,{TensorOpRegistry:()=>X});var k=d("./src/backends/onnx.js"),F=d("./src/utils/tensor.js"),j=d("./src/env.js");const O=j.apis.IS_BROWSER_ENV||j.apis.IS_WEBWORKER_ENV,V=async(R,S,Z)=>{const W=await(0,k.createInferenceSession)(new Uint8Array(R),S);let te=Promise.resolve();return async me=>{const Be=(0,k.isONNXProxy)(),Ee=Object.fromEntries(Object.entries(me).map(([ne,ve])=>[ne,(Be?ve.clone():ve).ort_tensor])),ie=await(te=O?te.then(()=>W.run(Ee)):W.run(Ee));return Array.isArray(Z)?Z.map(ne=>new F.Tensor(ie[ne])):new F.Tensor(ie[Z])}};class X{static get nearest_interpolate_4d(){return this._nearest_interpolate_4d||(this._nearest_interpolate_4d=V([8,10,18,0,58,129,1,10,41,10,1,120,10,0,10,0,10,1,115,18,1,121,34,6,82,101,115,105,122,101,42,18,10,4,109,111,100,101,34,7,110,101,97,114,101,115,116,160,1,3,18,1,114,90,31,10,1,120,18,26,10,24,8,1,18,20,10,3,18,1,98,10,3,18,1,99,10,3,18,1,104,10,3,18,1,119,90,15,10,1,115,18,10,10,8,8,7,18,4,10,2,8,4,98,31,10,1,121,18,26,10,24,8,1,18,20,10,3,18,1,98,10,3,18,1,99,10,3,18,1,104,10,3,18,1,119,66,2,16,21],this.session_options,"y")),this._nearest_interpolate_4d}static get bilinear_interpolate_4d(){return this._bilinear_interpolate_4d||(this._bilinear_interpolate_4d=V([8,9,18,0,58,128,1,10,40,10,1,120,10,0,10,0,10,1,115,18,1,121,34,6,82,101,115,105,122,101,42,17,10,4,109,111,100,101,34,6,108,105,110,101,97,114,160,1,3,18,1,114,90,31,10,1,120,18,26,10,24,8,1,18,20,10,3,18,1,98,10,3,18,1,99,10,3,18,1,104,10,3,18,1,119,90,15,10,1,115,18,10,10,8,8,7,18,4,10,2,8,4,98,31,10,1,121,18,26,10,24,8,1,18,20,10,3,18,1,98,10,3,18,1,99,10,3,18,1,104,10,3,18,1,119,66,2,16,20],this.session_options,"y")),this._bilinear_interpolate_4d}static get bicubic_interpolate_4d(){return this._bicubic_interpolate_4d||(this._bicubic_interpolate_4d=V([8,9,18,0,58,127,10,39,10,1,120,10,0,10,0,10,1,115,18,1,121,34,6,82,101,115,105,122,101,42,16,10,4,109,111,100,101,34,5,99,117,98,105,99,160,1,3,18,1,114,90,31,10,1,120,18,26,10,24,8,1,18,20,10,3,18,1,98,10,3,18,1,99,10,3,18,1,104,10,3,18,1,119,90,15,10,1,115,18,10,10,8,8,7,18,4,10,2,8,4,98,31,10,1,121,18,26,10,24,8,1,18,20,10,3,18,1,98,10,3,18,1,99,10,3,18,1,104,10,3,18,1,119,66,2,16,20],this.session_options,"y")),this._bicubic_interpolate_4d}static get matmul(){return this._matmul||(this._matmul=V([8,9,18,0,58,55,10,17,10,1,97,10,1,98,18,1,99,34,6,77,97,116,77,117,108,18,1,114,90,9,10,1,97,18,4,10,2,8,1,90,9,10,1,98,18,4,10,2,8,1,98,9,10,1,99,18,4,10,2,8,1,66,2,16,20],this.session_options,"c")),this._matmul}static get stft(){return this._stft||(this._stft=V([8,7,18,0,58,148,1,10,38,10,1,115,10,1,106,10,1,119,10,1,108,18,1,111,34,4,83,84,70,84,42,15,10,8,111,110,101,115,105,100,101,100,24,1,160,1,2,18,1,115,90,26,10,1,115,18,21,10,19,8,1,18,15,10,3,18,1,98,10,3,18,1,115,10,3,18,1,99,90,11,10,1,106,18,6,10,4,8,7,18,0,90,16,10,1,119,18,11,10,9,8,1,18,5,10,3,18,1,119,90,11,10,1,108,18,6,10,4,8,7,18,0,98,31,10,1,111,18,26,10,24,8,1,18,20,10,3,18,1,98,10,3,18,1,102,10,3,18,1,100,10,3,18,1,99,66,2,16,17],this.session_options,"o")),this._stft}static get rfft(){return this._rfft||(this._rfft=V([8,9,18,0,58,97,10,33,10,1,120,10,0,10,1,97,18,1,121,34,3,68,70,84,42,15,10,8,111,110,101,115,105,100,101,100,24,1,160,1,2,18,1,100,90,21,10,1,120,18,16,10,14,8,1,18,10,10,3,18,1,115,10,3,18,1,99,90,11,10,1,97,18,6,10,4,8,7,18,0,98,21,10,1,121,18,16,10,14,8,1,18,10,10,3,18,1,115,10,3,18,1,99,66,2,16,20],this.session_options,"y")),this._rfft}static get top_k(){return this._top_k||(this._top_k=V([8,10,18,0,58,73,10,18,10,1,120,10,1,107,18,1,118,18,1,105,34,4,84,111,112,75,18,1,116,90,9,10,1,120,18,4,10,2,8,1,90,15,10,1,107,18,10,10,8,8,7,18,4,10,2,8,1,98,9,10,1,118,18,4,10,2,8,1,98,9,10,1,105,18,4,10,2,8,7,66,2,16,21],this.session_options,["v","i"])),this._top_k}static get slice(){return this._slice||(this._slice=V([8,7,18,0,58,96,10,25,10,1,120,10,1,115,10,1,101,10,1,97,10,1,116,18,1,121,34,5,83,108,105,99,101,18,1,114,90,9,10,1,120,18,4,10,2,8,1,90,9,10,1,115,18,4,10,2,8,7,90,9,10,1,101,18,4,10,2,8,7,90,9,10,1,97,18,4,10,2,8,7,90,9,10,1,116,18,4,10,2,8,7,98,9,10,1,121,18,4,10,2,8,1,66,2,16,13],this.session_options,"y")),this._slice}}Ve(X,"session_options",{})},
2736"./src/pipelines.js":(x,C,d)=>{d.r(C),d.d(C,{AudioClassificationPipeline:()=>Ye,AutomaticSpeechRecognitionPipeline:()=>Oe,DepthEstimationPipeline:()=>xA,DocumentQuestionAnsweringPipeline:()=>ze,FeatureExtractionPipeline:()=>D,FillMaskPipeline:()=>ve,ImageClassificationPipeline:()=>tA,ImageFeatureExtractionPipeline:()=>z,ImageSegmentationPipeline:()=>BA,ImageToImagePipeline:()=>Pe,ImageToTextPipeline:()=>AA,ObjectDetectionPipeline:()=>Ge,Pipeline:()=>Be,QuestionAnsweringPipeline:()=>ne,SummarizationPipeline:()=>b,Text2TextGenerationPipeline:()=>g,TextClassificationPipeline:()=>Ee,TextGenerationPipeline:()=>M,TextToAudioPipeline:()=>Ke,TokenClassificationPipeline:()=>ie,TranslationPipeline:()=>e,ZeroShotAudioClassificationPipeline:()=>Ne,ZeroShotClassificationPipeline:()=>ue,ZeroShotImageClassificationPipeline:()=>DA,ZeroShotObjectDetectionPipeline:()=>ke,pipeline:()=>yA});var k=d("./src/tokenizers.js"),F=d("./src/models.js"),j=d("./src/models/auto/processing_auto.js");d("./src/base/processing_utils.js");var O=d("./src/utils/generic.js"),V=d("./src/utils/core.js"),X=d("./src/utils/maths.js"),R=d("./src/utils/audio.js"),S=d("./src/utils/tensor.js"),Z=d("./src/utils/image.js");async function W(gA){return Array.isArray(gA)||(gA=[gA]),await Promise.all(gA.map(He=>Z.RawImage.read(He)))}async function te(gA,He){return Array.isArray(gA)||(gA=[gA]),await Promise.all(gA.map(Je=>typeof Je=="string"||Je instanceof URL?(0,R.read_audio)(Je,He):Je instanceof Float64Array?new Float32Array(Je):Je))}function me(gA,He){He&&(gA=gA.map(mA=>0|mA));const[Je,hA,IA,Qe]=gA;return{xmin:Je,ymin:hA,xmax:IA,ymax:Qe}}class Be extends O.Callable{constructor({task:He,model:Je,tokenizer:hA=null,processor:IA=null}){super(),this.task=He,this.model=Je,this.tokenizer=hA,this.processor=IA}async dispose(){await this.model.dispose()}}class Ee extends Be{constructor(He){super(He)}async _call(He,{top_k:Je=1}={}){const hA=this.tokenizer(He,{padding:!0,truncation:!0}),IA=await this.model(hA),Qe=this.model.config.problem_type==="multi_label_classification"?LA=>LA.sigmoid():LA=>new S.Tensor("float32",(0,X.softmax)(LA.data),LA.dims),mA=this.model.config.id2label,MA=[];for(const LA of IA.logits){const OA=Qe(LA),q=await(0,S.topk)(OA,Je),HA=q[0].tolist(),ge=q[1].tolist().map((J,fe)=>({label:mA?mA[J]:`LABEL_${J}`,score:HA[fe]}));Je===1?MA.push(...ge):MA.push(ge)}return Array.isArray(He)||Je===1?MA:MA[0]}}class ie extends Be{constructor(He){super(He)}async _call(He,{ignore_labels:Je=["O"]}={}){const hA=Array.isArray(He),IA=this.tokenizer(hA?He:[He],{padding:!0,truncation:!0}),Qe=(await this.model(IA)).logits,mA=this.model.config.id2label,MA=[];for(let LA=0;LA<Qe.dims[0];++LA){const OA=IA.input_ids[LA],q=Qe[LA],HA=[];for(let ge=0;ge<q.dims[0];++ge){const J=q[ge],fe=(0,X.max)(J.data)[1],Te=mA?mA[fe]:`LABEL_${fe}`;if(Je.includes(Te))continue;const _e=this.tokenizer.decode([OA[ge].item()],{skip_special_tokens:!0});if(_e==="")continue;const dA=(0,X.softmax)(J.data);HA.push({entity:Te,score:dA[fe],index:ge,word:_e})}MA.push(HA)}return hA?MA:MA[0]}}class ne extends Be{constructor(He){super(He)}async _call(He,Je,{top_k:hA=1}={}){const IA=this.tokenizer(He,{text_pair:Je,padding:!0,truncation:!0}),{start_logits:Qe,end_logits:mA}=await this.model(IA),MA=IA.input_ids.tolist(),LA=IA.attention_mask.tolist(),OA=this.tokenizer.all_special_ids,q=[];for(let HA=0;HA<Qe.dims[0];++HA){const ge=MA[HA],J=ge.findIndex(NA=>NA==this.tokenizer.sep_token_id);LA[HA].map((NA,XA)=>NA==1&&(XA===0||XA>J&&OA.findIndex(TA=>TA==ge[XA])===-1));const fe=Qe[HA].tolist(),Te=mA[HA].tolist();for(let NA=1;NA<fe.length;++NA)(LA[HA]==0||NA<=J||OA.findIndex(XA=>XA==ge[NA])!==-1)&&(fe[NA]=-1/0,Te[NA]=-1/0);const _e=(0,X.softmax)(fe).map((NA,XA)=>[NA,XA]),dA=(0,X.softmax)(Te).map((NA,XA)=>[NA,XA]);_e[0][0]=0,dA[0][0]=0;const bA=(0,V.product)(_e,dA).filter(NA=>NA[0][1]<=NA[1][1]).map(NA=>[NA[0][1],NA[1][1],NA[0][0]*NA[1][0]]).sort((NA,XA)=>XA[2]-NA[2]);for(let NA=0;NA<Math.min(bA.length,hA);++NA){const[XA,TA,it]=bA[NA],tt=ge.slice(XA,TA+1),at=this.tokenizer.decode(tt,{skip_special_tokens:!0});q.push({answer:at,score:it})}}return hA===1?q[0]:q}}
2736class ve extends Be{constructor(He){super(He)}async _call(He,{top_k:Je=5}={}){const hA=this.tokenizer(He,{padding:!0,truncation:!0}),{logits:IA}=await this.model(hA),Qe=[],mA=hA.input_ids.tolist();for(let MA=0;MA<mA.length;++MA){const LA=mA[MA],OA=LA.findIndex(fe=>fe==this.tokenizer.mask_token_id);if(OA===-1)throw Error(`Mask token (${this.tokenizer.mask_token}) not found in text.`);const q=IA[MA][OA],HA=await(0,S.topk)(new S.Tensor("float32",(0,X.softmax)(q.data),q.dims),Je),ge=HA[0].tolist(),J=HA[1].tolist();Qe.push(J.map((fe,Te)=>{const _e=LA.slice();return _e[OA]=fe,{score:ge[Te],token:Number(fe),token_str:this.tokenizer.decode([fe]),sequence:this.tokenizer.decode(_e,{skip_special_tokens:!0})}}))}return Array.isArray(He)?Qe:Qe[0]}}class g extends Be{constructor(Je){super(Je);Ve(this,"_key","generated_text")}async _call(Je,hA={}){Array.isArray(Je)||(Je=[Je]),this.model.config.prefix&&(Je=Je.map(OA=>this.model.config.prefix+OA));const IA=this.model.config.task_specific_params;IA&&IA[this.task]&&IA[this.task].prefix&&(Je=Je.map(OA=>IA[this.task].prefix+OA));const Qe=this.tokenizer,mA={padding:!0,truncation:!0};let MA;MA=this instanceof e&&"_build_translation_inputs"in Qe?Qe._build_translation_inputs(Je,mA,hA):Qe(Je,mA);const LA=await this.model.generate({...MA,...hA});return Qe.batch_decode(LA,{skip_special_tokens:!0}).map(OA=>({[this._key]:OA}))}}class b extends g{constructor(Je){super(Je);Ve(this,"_key","summary_text")}}class e extends g{constructor(Je){super(Je);Ve(this,"_key","translation_text")}}function l(gA){return Array.isArray(gA)&&gA.every(He=>"role"in He&&"content"in He)}class M extends Be{constructor(He){super(He)}async _call(He,Je={}){let hA,IA=!1,Qe=!1;if(typeof He=="string")hA=He=[He];else if(Array.isArray(He)&&He.every(J=>typeof J=="string"))IA=!0,hA=He;else{if(l(He))He=[He];else{if(!Array.isArray(He)||!He.every(l))throw new Error("Input must be a string, an array of strings, a Chat, or an array of Chats");IA=!0}Qe=!0,hA=He.map(J=>this.tokenizer.apply_chat_template(J,{tokenize:!1,add_generation_prompt:!0}))}const mA=Je.add_special_tokens??!1,MA=!Qe&&(Je.return_full_text??!0);this.tokenizer.padding_side="left";const LA=this.tokenizer(hA,{add_special_tokens:mA,padding:!0,truncation:!0}),OA=await this.model.generate({...LA,...Je}),q=this.tokenizer.batch_decode(OA,{skip_special_tokens:!0});let HA;!MA&&LA.input_ids.dims.at(-1)>0&&(HA=this.tokenizer.batch_decode(LA.input_ids,{skip_special_tokens:!0}).map(J=>J.length));const ge=Array.from({length:He.length},J=>[]);for(let J=0;J<q.length;++J){const fe=Math.floor(J/OA.dims[0]*He.length);HA&&(q[J]=q[J].slice(HA[fe])),ge[fe].push({generated_text:Qe?[...He[fe],{role:"assistant",content:q[J]}]:q[J]})}return IA||ge.length!==1?ge:ge[0]}}class ue extends Be{constructor(He){super(He),this.label2id=Object.fromEntries(Object.entries(this.model.config.label2id).map(([Je,hA])=>[Je.toLowerCase(),hA])),this.entailment_id=this.label2id.entailment,this.entailment_id===void 0&&(console.warn("Could not find 'entailment' in label2id mapping. Using 2 as entailment_id."),this.entailment_id=2),this.contradiction_id=this.label2id.contradiction??this.label2id.not_entailment,this.contradiction_id===void 0&&(console.warn("Could not find 'contradiction' in label2id mapping. Using 0 as contradiction_id."),this.contradiction_id=0)}async _call(He,Je,{hypothesis_template:hA="This example is {}.",multi_label:IA=!1}={}){const Qe=Array.isArray(He);Qe||(He=[He]),Array.isArray(Je)||(Je=[Je]);const mA=Je.map(OA=>hA.replace("{}",OA)),MA=IA||Je.length===1,LA=[];for(const OA of He){const q=[];for(const J of mA){const fe=this.tokenizer(OA,{text_pair:J,padding:!0,truncation:!0}),Te=await this.model(fe);MA?q.push([Te.logits.data[this.contradiction_id],Te.logits.data[this.entailment_id]]):q.push(Te.logits.data[this.entailment_id])}const HA=MA?q.map(J=>(0,X.softmax)(J)[1]):(0,X.softmax)(q),ge=HA.map((J,fe)=>[J,fe]).sort((J,fe)=>fe[0]-J[0]);LA.push({sequence:OA,labels:ge.map(J=>Je[J[1]]),scores:ge.map(J=>J[0])})}return Qe?LA:LA[0]}}class D extends Be{constructor(He){super(He)}
2736async _call(He,{pooling:Je="none",normalize:hA=!1,quantize:IA=!1,precision:Qe="binary"}={}){const mA=this.tokenizer(He,{padding:!0,truncation:!0}),MA=await this.model(mA);let LA=MA.last_hidden_state??MA.logits??MA.token_embeddings;if(Je!=="none")if(Je==="mean")LA=(0,S.mean_pooling)(LA,mA.attention_mask);else{if(Je!=="cls")throw Error(`Pooling method '${Je}' not supported.`);LA=LA.slice(null,0)}return hA&&(LA=LA.normalize(2,-1)),IA&&(LA=(0,S.quantize_embeddings)(LA,Qe)),LA}}class z extends Be{constructor(He){super(He)}async _call(He,{pool:Je=null}={}){const hA=await W(He),{pixel_values:IA}=await this.processor(hA),Qe=await this.model({pixel_values:IA});let mA;if(Je){if(!("pooler_output"in Qe))throw Error("No pooled output was returned. Make sure the model has a 'pooler' layer when using the 'pool' option.");mA=Qe.pooler_output}else mA=Qe.last_hidden_state??Qe.logits??Qe.image_embeds;return mA}}class Ye extends Be{constructor(He){super(He)}async _call(He,{top_k:Je=5}={}){const hA=this.processor.feature_extractor.config.sampling_rate,IA=await te(He,hA),Qe=this.model.config.id2label,mA=[];for(const MA of IA){const LA=await this.processor(MA),OA=(await this.model(LA)).logits[0],q=await(0,S.topk)(new S.Tensor("float32",(0,X.softmax)(OA.data),OA.dims),Je),HA=q[0].tolist(),ge=q[1].tolist().map((J,fe)=>({label:Qe?Qe[J]:`LABEL_${J}`,score:HA[fe]}));mA.push(ge)}return Array.isArray(He)?mA:mA[0]}}class Ne extends Be{constructor(He){super(He)}async _call(He,Je,{hypothesis_template:hA="This is a sound of {}."}={}){const IA=!Array.isArray(He);IA&&(He=[He]);const Qe=Je.map(q=>hA.replace("{}",q)),mA=this.tokenizer(Qe,{padding:!0,truncation:!0}),MA=this.processor.feature_extractor.config.sampling_rate,LA=await te(He,MA),OA=[];for(const q of LA){const HA=await this.processor(q),ge=await this.model({...mA,...HA}),J=(0,X.softmax)(ge.logits_per_audio.data);OA.push([...J].map((fe,Te)=>({score:fe,label:Je[Te]})))}return IA?OA[0]:OA}}class Oe extends Be{constructor(He){super(He)}async _call(He,Je={}){switch(this.model.config.model_type){case"whisper":return this._call_whisper(He,Je);case"wav2vec2":case"wav2vec2-bert":case"unispeech":case"unispeech-sat":case"hubert":return this._call_wav2vec2(He,Je);case"moonshine":return this._call_moonshine(He,Je);default:throw new Error(`AutomaticSpeechRecognitionPipeline does not support model type '${this.model.config.model_type}'.`)}}async _call_wav2vec2(He,Je){Je.language&&console.warn('`language` parameter is not yet supported for `wav2vec2` models, defaulting to "English".'),Je.task&&console.warn('`task` parameter is not yet supported for `wav2vec2` models, defaulting to "transcribe".');const hA=!Array.isArray(He);hA&&(He=[He]);const IA=this.processor.feature_extractor.config.sampling_rate,Qe=await te(He,IA),mA=[];for(const MA of Qe){const LA=await this.processor(MA),OA=(await this.model(LA)).logits[0],q=[];for(const ge of OA)q.push((0,X.max)(ge.data)[1]);const HA=this.tokenizer.decode(q);mA.push({text:HA})}return hA?mA[0]:mA}async _call_whisper(He,Je){const hA=Je.return_timestamps??!1,IA=Je.chunk_length_s??0,Qe=Je.force_full_sequences??!1;let mA=Je.stride_length_s??null;const MA={...Je};hA==="word"&&(MA.return_token_timestamps=!0,MA.return_timestamps=!1);const LA=!Array.isArray(He);LA&&(He=[He]);const OA=this.processor.feature_extractor.config.chunk_length/this.model.config.max_source_positions,q=this.processor.feature_extractor.config.hop_length,HA=this.processor.feature_extractor.config.sampling_rate,ge=await te(He,HA),J=[];for(const fe of ge){let Te=[];if(IA>0){if(mA===null)mA=IA/6;else if(IA<=mA)throw Error("`chunk_length_s` must be larger than `stride_length_s`.");const bA=HA*IA,NA=HA*mA,XA=bA-2*NA;let TA=0;for(;;){const it=TA+bA,tt=fe.subarray(TA,it),at=await this.processor(tt),It=TA===0,Ar=it>=fe.length;if(Te.push({stride:[tt.length,It?0:NA,Ar?0:NA],input_features:at.input_features,is_last:Ar}),Ar)break;TA+=XA}}else Te=[{stride:[fe.length,0,0],input_features:(await this.processor(fe)).input_features,is_last:!0}];for(const bA of Te){MA.num_frames=Math.floor(bA.stride[0]/q);const NA=await this.model.generate({inputs:bA.input_features,...MA});hA==="word"?(bA.tokens=NA.sequences.tolist()[0],bA.token_timestamps=NA.token_timestamps.tolist()[0].map(XA=>(0,X.round)(XA,2))):bA.tokens=NA[0].tolist(),bA.stride=bA.stride.map(XA=>XA/HA)}const[_e,dA]=this.tokenizer._decode_asr(Te,{time_precision:OA,return_timestamps:hA,force_full_sequences:Qe});J.push({text:_e,...dA})}return LA?J[0]:J}async _call_moonshine(He,Je){const hA=!Array.isArray(He);hA&&(He=[He]);const IA=this.processor.feature_extractor.config.sampling_rate,Qe=await te(He,IA),mA=[];for(const MA of Qe){const LA=await this.processor(MA),OA=6*Math.floor(MA.length/IA),q=await this.model.generate({max_new_tokens:OA,...Je,...LA}),HA=this.processor.batch_decode(q,{skip_special_tokens:!0})[0];mA.push({text:HA})}return hA?mA[0]:mA}}class AA extends Be{constructor(He){super(He)}async _call(He,Je={}){const hA=Array.isArray(He),IA=await W(He),{pixel_values:Qe}=await this.processor(IA),mA=[];for(const MA of Qe){MA.dims=[1,...MA.dims];const LA=await this.model.generate({inputs:MA,...Je}),OA=this.tokenizer.batch_decode(LA,{skip_special_tokens:!0}).map(q=>({generated_text:q.trim()}));mA.push(OA)}return hA?mA:mA[0]}}class tA extends Be{constructor(He){super(He)}async _call(He,{top_k:Je=5}={}){const hA=await W(He),{pixel_values:IA}=await this.processor(hA),Qe=await this.model({pixel_values:IA}),mA=this.model.config.id2label,MA=[];for(const LA of Qe.logits){const OA=await(0,S.topk)(new S.Tensor("float32",(0,X.softmax)(LA.data),LA.dims),Je),q=OA[0].tolist(),HA=OA[1].tolist().map((ge,J)=>({label:mA?mA[ge]:`LABEL_${ge}`,score:q[J]}));MA.push(HA)}return Array.isArray(He)?MA:MA[0]}}class BA extends Be{constructor(He){super(He),this.subtasks_mapping={panoptic:"post_process_panoptic_segmentation",instance:"post_process_instance_segmentation",semantic:"post_process_semantic_segmentation"}}async _call(He,{threshold:Je=.5,mask_threshold:hA=.5,overlap_mask_area_threshold:IA=.8,label_ids_to_fuse:Qe=null,target_sizes:mA=null,subtask:MA=null}={}){if(Array.isArray(He)&&He.length!==1)throw Error("Image segmentation pipeline currently only supports a batch size of 1.");const LA=await W(He),OA=LA.map(_e=>[_e.height,_e.width]),{pixel_values:q,pixel_mask:HA}=await this.processor(LA),ge=await this.model({pixel_values:q,pixel_mask:HA});let J=null;if(MA!==null)J=this.subtasks_mapping[MA];else for(let[_e,dA]of Object.entries(this.subtasks_mapping))if(dA in this.processor.image_processor){J=this.processor.image_processor[dA].bind(this.processor.image_processor),MA=_e;break}const fe=this.model.config.id2label,Te=[];
2736if(MA==="panoptic"||MA==="instance"){const _e=J(ge,Je,hA,IA,Qe,mA??OA)[0],dA=_e.segmentation;for(const bA of _e.segments_info){const NA=new Uint8ClampedArray(dA.data.length);for(let TA=0;TA<dA.data.length;++TA)dA.data[TA]===bA.id&&(NA[TA]=255);const XA=new Z.RawImage(NA,dA.dims[1],dA.dims[0],1);Te.push({score:bA.score,label:fe[bA.label_id],mask:XA})}}else{if(MA!=="semantic")throw Error(`Subtask ${MA} not supported.`);{const{segmentation:_e,labels:dA}=J(ge,mA??OA)[0];for(const bA of dA){const NA=new Uint8ClampedArray(_e.data.length);for(let TA=0;TA<_e.data.length;++TA)_e.data[TA]===bA&&(NA[TA]=255);const XA=new Z.RawImage(NA,_e.dims[1],_e.dims[0],1);Te.push({score:null,label:fe[bA],mask:XA})}}}return Te}}class DA extends Be{constructor(He){super(He)}async _call(He,Je,{hypothesis_template:hA="This is a photo of {}"}={}){const IA=Array.isArray(He),Qe=await W(He),mA=Je.map(ge=>hA.replace("{}",ge)),MA=this.tokenizer(mA,{padding:this.model.config.model_type!=="siglip"||"max_length",truncation:!0}),{pixel_values:LA}=await this.processor(Qe),OA=await this.model({...MA,pixel_values:LA}),q=this.model.config.model_type==="siglip"?ge=>ge.sigmoid().data:ge=>(0,X.softmax)(ge.data),HA=[];for(const ge of OA.logits_per_image){const J=[...q(ge)].map((fe,Te)=>({score:fe,label:Je[Te]}));J.sort((fe,Te)=>Te.score-fe.score),HA.push(J)}return IA?HA:HA[0]}}class Ge extends Be{constructor(He){super(He)}async _call(He,{threshold:Je=.9,percentage:hA=!1}={}){const IA=Array.isArray(He);if(IA&&He.length!==1)throw Error("Object detection pipeline currently only supports a batch size of 1.");const Qe=await W(He),mA=hA?null:Qe.map(J=>[J.height,J.width]),{pixel_values:MA,pixel_mask:LA}=await this.processor(Qe),OA=await this.model({pixel_values:MA,pixel_mask:LA}),q=this.processor.image_processor.post_process_object_detection(OA,Je,mA),HA=this.model.config.id2label,ge=q.map(J=>J.boxes.map((fe,Te)=>({score:J.scores[Te],label:HA[J.classes[Te]],box:me(fe,!hA)})));return IA?ge:ge[0]}}class ke extends Be{constructor(He){super(He)}async _call(He,Je,{threshold:hA=.1,top_k:IA=null,percentage:Qe=!1}={}){const mA=Array.isArray(He),MA=await W(He),LA=this.tokenizer(Je,{padding:!0,truncation:!0}),OA=await this.processor(MA),q=[];for(let HA=0;HA<MA.length;++HA){const ge=MA[HA],J=Qe?null:[[ge.height,ge.width]],fe=OA.pixel_values[HA].unsqueeze_(0),Te=await this.model({...LA,pixel_values:fe});let _e;if("post_process_grounded_object_detection"in this.processor){const dA=this.processor.post_process_grounded_object_detection(Te,LA.input_ids,{box_threshold:hA,text_threshold:hA,target_sizes:J})[0];_e=dA.boxes.map((bA,NA)=>({score:dA.scores[NA],label:dA.labels[NA],box:me(bA,!Qe)}))}else{const dA=this.processor.image_processor.post_process_object_detection(Te,hA,J,!0)[0];_e=dA.boxes.map((bA,NA)=>({score:dA.scores[NA],label:Je[dA.classes[NA]],box:me(bA,!Qe)}))}_e.sort((dA,bA)=>bA.score-dA.score),IA!==null&&(_e=_e.slice(0,IA)),q.push(_e)}return mA?q:q[0]}}class ze extends Be{constructor(He){super(He)}async _call(He,Je,hA={}){const IA=(await W(He))[0],{pixel_values:Qe}=await this.processor(IA),mA=`<s_docvqa><s_question>${Je}</s_question><s_answer>`,MA=this.tokenizer(mA,{add_special_tokens:!1,padding:!0,truncation:!0}).input_ids,LA=await this.model.generate({inputs:Qe,max_length:this.model.config.decoder.max_position_embeddings,decoder_input_ids:MA,...hA}),OA=this.tokenizer.batch_decode(LA)[0].match(/<s_answer>(.*?)<\/s_answer>/);let q=null;return OA&&OA.length>=2&&(q=OA[1].trim()),[{answer:q}]}}class Ke extends Be{constructor(Je){super(Je);Ve(this,"DEFAULT_VOCODER_ID","Xenova/speecht5_hifigan");this.vocoder=Je.vocoder??null}async _call(Je,{speaker_embeddings:hA=null}={}){return this.processor?this._call_text_to_spectrogram(Je,{speaker_embeddings:hA}):this._call_text_to_waveform(Je)}async _call_text_to_waveform(Je){const hA=this.tokenizer(Je,{padding:!0,truncation:!0}),{waveform:IA}=await this.model(hA),Qe=this.model.config.sampling_rate;return new R.RawAudio(IA.data,Qe)}async _call_text_to_spectrogram(Je,{speaker_embeddings:hA}){if(this.vocoder||(this.vocoder=await F.AutoModel.from_pretrained(this.DEFAULT_VOCODER_ID,{dtype:"fp32"})),(typeof hA=="string"||hA instanceof URL)&&(hA=new Float32Array(await(await fetch(hA)).arrayBuffer())),hA instanceof Float32Array)hA=new S.Tensor("float32",hA,[1,hA.length]);else if(!(hA instanceof S.Tensor))throw new Error("Speaker embeddings must be a `Tensor`, `Float32Array`, `string`, or `URL`.");const{input_ids:IA}=this.tokenizer(Je,{padding:!0,truncation:!0}
vendor: 4,479 bytes, line 2736
2736),{waveform:Qe}=await this.model.generate_speech(IA,hA,{vocoder:this.vocoder}),mA=this.processor.feature_extractor.config.sampling_rate;return new R.RawAudio(Qe.data,mA)}}class Pe extends Be{constructor(He){super(He)}async _call(He){const Je=await W(He),hA=await this.processor(Je),IA=await this.model(hA),Qe=[];for(const mA of IA.reconstruction){const MA=mA.squeeze().clamp_(0,1).mul_(255).round_().to("uint8");Qe.push(Z.RawImage.fromTensor(MA))}return Qe.length>1?Qe:Qe[0]}}class xA extends Be{constructor(He){super(He)}async _call(He){const Je=await W(He),hA=await this.processor(Je),{predicted_depth:IA}=await this.model(hA),Qe=[];for(let mA=0;mA<Je.length;++mA){const MA=IA[mA],[LA,OA]=MA.dims.slice(-2),[q,HA]=Je[mA].size,ge=(await(0,S.interpolate_4d)(MA.view(1,1,LA,OA),{size:[HA,q],mode:"bilinear"})).view(HA,q),J=ge.min().item(),fe=ge.max().item(),Te=ge.sub(J).div_(fe-J).mul_(255).to("uint8").unsqueeze(0),_e=Z.RawImage.fromTensor(Te);Qe.push({predicted_depth:ge,depth:_e})}return Qe.length>1?Qe:Qe[0]}}const iA=Object.freeze({"text-classification":{tokenizer:k.AutoTokenizer,pipeline:Ee,model:F.AutoModelForSequenceClassification,default:{model:"Xenova/distilbert-base-uncased-finetuned-sst-2-english"},type:"text"},"token-classification":{tokenizer:k.AutoTokenizer,pipeline:ie,model:F.AutoModelForTokenClassification,default:{model:"Xenova/bert-base-multilingual-cased-ner-hrl"},type:"text"},"question-answering":{tokenizer:k.AutoTokenizer,pipeline:ne,model:F.AutoModelForQuestionAnswering,default:{model:"Xenova/distilbert-base-cased-distilled-squad"},type:"text"},"fill-mask":{tokenizer:k.AutoTokenizer,pipeline:ve,model:F.AutoModelForMaskedLM,default:{model:"Xenova/bert-base-uncased"},type:"text"},summarization:{tokenizer:k.AutoTokenizer,pipeline:b,model:F.AutoModelForSeq2SeqLM,default:{model:"Xenova/distilbart-cnn-6-6"},type:"text"},translation:{tokenizer:k.AutoTokenizer,pipeline:e,model:F.AutoModelForSeq2SeqLM,default:{model:"Xenova/t5-small"},type:"text"},"text2text-generation":{tokenizer:k.AutoTokenizer,pipeline:g,model:F.AutoModelForSeq2SeqLM,default:{model:"Xenova/flan-t5-small"},type:"text"},"text-generation":{tokenizer:k.AutoTokenizer,pipeline:M,model:F.AutoModelForCausalLM,default:{model:"Xenova/gpt2"},type:"text"},"zero-shot-classification":{tokenizer:k.AutoTokenizer,pipeline:ue,model:F.AutoModelForSequenceClassification,default:{model:"Xenova/distilbert-base-uncased-mnli"},type:"text"},"audio-classification":{pipeline:Ye,model:F.AutoModelForAudioClassification,processor:j.AutoProcessor,default:{model:"Xenova/wav2vec2-base-superb-ks"},type:"audio"},"zero-shot-audio-classification":{tokenizer:k.AutoTokenizer,pipeline:Ne,model:F.AutoModel,processor:j.AutoProcessor,default:{model:"Xenova/clap-htsat-unfused"},type:"multimodal"},"automatic-speech-recognition":{tokenizer:k.AutoTokenizer,pipeline:Oe,model:[F.AutoModelForSpeechSeq2Seq,F.AutoModelForCTC],processor:j.AutoProcessor,default:{model:"Xenova/whisper-tiny.en"},type:"multimodal"},"text-to-audio":{tokenizer:k.AutoTokenizer,pipeline:Ke,model:[F.AutoModelForTextToWaveform,F.AutoModelForTextToSpectrogram],processor:[j.AutoProcessor,null],default:{model:"Xenova/speecht5_tts"},type:"text"},"image-to-text":{tokenizer:k.AutoTokenizer,pipeline:AA,model:F.AutoModelForVision2Seq,processor:j.AutoProcessor,default:{model:"Xenova/vit-gpt2-image-captioning"},type:"multimodal"},"image-classification":{pipeline:tA,model:F.AutoModelForImageClassification,processor:j.AutoProcessor,default:{model:"Xenova/vit-base-patch16-224"},type:"multimodal"},"image-segmentation":{pipeline:BA,model:[F.AutoModelForImageSegmentation,F.AutoModelForSemanticSegmentation,F.AutoModelForUniversalSegmentation],processor:j.AutoProcessor,default:{model:"Xenova/detr-resnet-50-panoptic"},type:"multimodal"},"zero-shot-image-classification":{tokenizer:k.AutoTokenizer,pipeline:DA,model:F.AutoModel,processor:j.AutoProcessor,default:{model:"Xenova/clip-vit-base-patch32"},type:"multimodal"},"object-detection":{pipeline:Ge,model:F.AutoModelForObjectDetection,processor:j.AutoProcessor,default:{model:"Xenova/detr-resnet-50"},type:"multimodal"},"zero-shot-object-detection":{tokenizer:k.AutoTokenizer,pipeline:ke,model:F.AutoModelForZeroShotObjectDetection,processor:j.AutoProcessor,default:{model:"Xenova/owlvit-base-patch32"},type:"multimodal"},"document-question-answering":{tokenizer:k.AutoTokenizer,pipeline:ze,model:F.AutoModelForDocumentQuestionAnswering,processor:j.AutoProcessor,default:{model:"Xenova/d
2736onut-base-finetuned-docvqa"},type:"multimodal"},"image-to-image":{pipeline:Pe,model:F.AutoModelForImageToImage,processor:j.AutoProcessor,default:{model:"Xenova/swin2SR-classical-sr-x2-64"},type:"image"},"depth-estimation":{pipeline:xA,model:F.AutoModelForDepthEstimation,processor:j.AutoProcessor,default:{model:"Xenova/dpt-large"},type:"image"},"feature-extraction":{tokenizer:k.AutoTokenizer,pipeline:D,model:F.AutoModel,default:{model:"Xenova/all-MiniLM-L6-v2"},type:"text"},"image-feature-extraction":{processor:j.AutoProcessor,pipeline:z,model:[F.AutoModelForImageFeatureExtraction,F.AutoModel],default:{model:"Xenova/vit-base-patch16-224-in21k"},type:"image"}}),cA=Object.freeze({"sentiment-analysis":"text-classification",ner:"token-classification",asr:"automatic-speech-recognition","text-to-speech":"text-to-audio",embeddings:"feature-extraction"});async function yA(gA,He=null,{progress_callback:Je=null,config:hA=null,cache_dir:IA=null,local_files_only:Qe=!1,revision:mA="main",device:MA=null,dtype:LA=null,model_file_name:OA=null,session_options:q={}}={}){gA=cA[gA]??gA;const HA=iA[gA.split("_",1)[0]];if(!HA)throw Error(`Unsupported pipeline: ${gA}. Must be one of [${Object.keys(iA)}]`);He||(He=HA.default.model,`${He}`);const ge={progress_callback:Je,config:hA,cache_dir:IA,local_files_only:Qe,revision:mA,device:MA,dtype:LA,model_file_name:OA,session_options:q},J=new Map([["tokenizer",HA.tokenizer],["model",HA.model],["processor",HA.processor]]),fe=await async function(Te,_e,dA){const bA=Object.create(null),NA=[];for(const[XA,TA]of Te.entries()){if(!TA)continue;let it;it=Array.isArray(TA)?new Promise(async(tt,at)=>{var Ar,Vr;let It;for(const $t of TA){if($t===null)return void tt(null);try{return void tt(await $t.from_pretrained(_e,dA))}catch(Pr){if((Ar=Pr.message)!=null&&Ar.includes("Unsupported model type"))It=Pr;else{if(!((Vr=Pr.message)!=null&&Vr.includes("Could not locate file")))return void at(Pr);It=Pr}}}at(It)}):TA.from_pretrained(_e,dA),bA[XA]=it,NA.push(it)}await Promise.all(NA);for(const[XA,TA]of Object.entries(bA))bA[XA]=await TA;return bA}(J,He,ge);return fe.task=gA,(0,V.dispatchCallback)(Je,{status:"ready",task:gA,model:He}),new HA.pipeline(fe)}},
2736"./src/tokenizers.js":(x,C,d)=>{d.r(C),d.d(C,{AlbertTokenizer:()=>La,AutoTokenizer:()=>Qs,BartTokenizer:()=>Ga,BertTokenizer:()=>Xa,BlenderbotSmallTokenizer:()=>Ft,BlenderbotTokenizer:()=>xt,BloomTokenizer:()=>Xt,CLIPTokenizer:()=>Hs,CamembertTokenizer:()=>qa,CodeGenTokenizer:()=>xi,CodeLlamaTokenizer:()=>wi,CohereTokenizer:()=>Ws,ConvBertTokenizer:()=>Wa,DebertaTokenizer:()=>et,DebertaV2Tokenizer:()=>FA,DistilBertTokenizer:()=>ns,ElectraTokenizer:()=>os,EsmTokenizer:()=>ls,FalconTokenizer:()=>ki,GPT2Tokenizer:()=>yt,GPTNeoXTokenizer:()=>qr,GemmaTokenizer:()=>ti,Grok1Tokenizer:()=>$a,HerbertTokenizer:()=>Kt,LlamaTokenizer:()=>Cs,M2M100Tokenizer:()=>Ls,MBart50Tokenizer:()=>jr,MBartTokenizer:()=>zr,MPNetTokenizer:()=>Ai,MarianTokenizer:()=>Rs,MgpstrTokenizer:()=>cs,MobileBertTokenizer:()=>wa,NllbTokenizer:()=>Br,NougatTokenizer:()=>ri,PreTrainedTokenizer:()=>wt,Qwen2Tokenizer:()=>bs,RoFormerTokenizer:()=>Pa,RobertaTokenizer:()=>ms,SiglipTokenizer:()=>Ms,SpeechT5Tokenizer:()=>ka,SqueezeBertTokenizer:()=>qA,T5Tokenizer:()=>Yr,TokenizerModel:()=>l,VitsTokenizer:()=>Ds,Wav2Vec2CTCTokenizer:()=>Gs,WhisperTokenizer:()=>Ys,XLMRobertaTokenizer:()=>ei,XLMTokenizer:()=>Ja,is_chinese_char:()=>ie});var k=d("./src/utils/generic.js"),F=d("./src/utils/core.js"),j=d("./src/utils/hub.js"),O=d("./src/utils/maths.js"),V=d("./src/utils/tensor.js"),X=d("./src/utils/data-structures.js"),R=d("./node_modules/@huggingface/jinja/dist/index.js"),S=d("./src/models/whisper/common_whisper.js");async function Z(rA,re){const xe=await Promise.all([(0,j.getModelJSON)(rA,"tokenizer.json",!0,re),(0,j.getModelJSON)(rA,"tokenizer_config.json",!0,re)]);return re.legacy!==null&&(xe[1].legacy=re.legacy),xe}function W(rA,re=!0){if(rA.Regex!==void 0){let xe=rA.Regex.replace(/\\([#&~])/g,"$1");for(const[Se,je]of b)xe=xe.replaceAll(Se,je);return new RegExp(xe,"gu")}if(rA.String!==void 0){const xe=(0,F.escapeRegExp)(rA.String);return new RegExp(re?xe:`(${xe})`,"gu")}return console.warn("Unknown pattern type:",rA),null}function te(rA){return new Map(Object.entries(rA))}function me(rA){const re=rA.dims;switch(re.length){case 1:return rA.tolist();case 2:if(re[0]!==1)throw new Error("Unable to decode tensor with `batch size !== 1`. Use `tokenizer.batch_decode(...)` for batched inputs.");return rA.tolist()[0];default:throw new Error(`Expected tensor to have 1-2 dimensions, got ${re.length}.`)}}function Be(rA){return rA.replace(/ \./g,".").replace(/ \?/g,"?").replace(/ \!/g,"!").replace(/ ,/g,",").replace(/ \' /g,"'").replace(/ n\'t/g,"n't").replace(/ \'m/g,"'m").replace(/ \'s/g,"'s").replace(/ \'ve/g,"'ve").replace(/ \'re/g,"'re")}function Ee(rA){return rA.replace(new RegExp("\\p{M}","gu"),"")}function ie(rA){return rA>=19968&&rA<=40959||rA>=13312&&rA<=19903||rA>=131072&&rA<=173791||rA>=173824&&rA<=177983||rA>=177984&&rA<=178207||rA>=178208&&rA<=183983||rA>=63744&&rA<=64255||rA>=194560&&rA<=195103}const ne="\\p{P}\\u0021-\\u002F\\u003A-\\u0040\\u005B-\\u0060\\u007B-\\u007E",ve=new RegExp(`^[${ne}]+$`,"gu"),g=".,!?…。,、।۔،",b=new Map([["(?i:'s|'t|'re|'ve|'m|'ll|'d)","(?:'([sS]|[tT]|[rR][eE]|[vV][eE]|[mM]|[lL][lL]|[dD]))"],[` ?[^(\\s|[${g}])]+`,` ?[^\\s${g}]+`]]);class e{constructor(re){this.content=re.content,this.id=re.id,this.single_word=re.single_word??!1,this.lstrip=re.lstrip??!1,this.rstrip=re.rstrip??!1,this.special=re.special??!1,this.normalized=re.normalized??null}}class l extends k.Callable{constructor(re){super(),this.config=re,this.vocab=[],this.tokens_to_ids=new Map,this.unk_token_id=void 0,this.unk_token=void 0,this.end_of_word_suffix=void 0,this.fuse_unk=this.config.fuse_unk??!1}static fromConfig(re,...xe){switch(re.type){case"WordPiece":return new M(re);case"Unigram":return new ue(re,...xe);case"BPE":return new Ye(re);default:if(re.vocab)return Array.isArray(re.vocab)?new ue(re,...xe):typeof re.vocab=="object"&&re.continuing_subword_prefix&&re.unk_token?new M(re):new Ne(re,...xe);throw new Error(`Unknown TokenizerModel type: ${re.type}`)}}_call(re){return re=this.encode(re),this.fuse_unk&&(re=function(xe,Se,je){const Ze=[];let uA=0;for(;uA<xe.length;)if(Ze.push(xe[uA]),(Se.get(xe[uA])??je)===je)for(;++uA<xe.length&&(Se.get(xe[uA])??je)===je;)Se.get(Ze.at(-1))!==je&&(Ze[Ze.length-1]+=xe[uA]);else++uA;return Ze}(re,this.tokens_to_ids,this.unk_token_id)),re}encode(re){throw Error("encode should be implemented in subclass.")}convert_tokens_to_ids(re){return re.map(xe=>this.tokens_to_ids.get(xe)??this.unk_token_id)}convert_ids_to_tokens(re){return re.map(xe=>this.vocab[xe]??this.unk_token)}}class M extends l{constructor(re){super(re),this.tokens_to_ids=te(re.vocab),this.unk_token_id=this.tokens_to_ids.get(re.unk_token),this.unk_token=re.unk_token,this.max_input_chars_per_word=re.max_input_chars_per_word??100,this.vocab=new Array(this.tokens_to_ids.size);for(const[xe,Se]of this.tokens_to_ids)this.vocab[Se]=xe}encode(re){const xe=[];for(const Se of re){const je=[...Se];if(je.length>this.max_input_chars_per_word){xe.push(this.unk_token);continue}let Ze=!1,uA=0;const PA=[];for(;uA<je.length;){let Le=je.length,YA=null;for(;uA<Le;){let vA=je.slice(uA,Le).join("");if(uA>0&&(vA=this.config.continuing_subword_prefix+vA),this.tokens_to_ids.has(vA)){YA=vA;break}--Le}if(YA===null){Ze=!0;break}PA.push(YA),uA=Le}Ze?xe.push(this.unk_token):xe.push(...PA)}return xe}}class ue extends l{constructor(re,xe){super(re);const Se=re.vocab.length;this.vocab=new Array(Se),this.scores=new Array(Se);for(let je=0;je<Se;++je)[this.vocab[je],this.scores[je]]=re.vocab[je];this.unk_token_id=re.unk_id,this.unk_token=this.vocab[re.unk_id],this.tokens_to_ids=new Map(this.vocab.map((je,Ze)=>[je,Ze])),this.bos_token=" ",this.bos_token_id=this.tokens_to_ids.get(this.bos_token),this.eos_token=xe.eos_token,this.eos_token_id=this.tokens_to_ids.get(this.eos_token),this.unk_token=this.vocab[this.unk_token_id],this.minScore=(0,O.min)(this.scores)[0],this.unk_score=this.minScore-10,this.scores[this.unk_token_id]=this.unk_score,this.trie=new X.CharTrie,this.trie.extend(this.vocab),this.fuse_unk=!0}populateNodes(re){const xe=re.chars;let Se=0;for(;Se<xe.length;){let je=!1;const Ze=xe.slice(Se).join(""),uA=this.trie.commonPrefixSearch(Ze);for(const PA of uA){const Le=this.tokens_to_ids.get(PA),YA=this.scores[Le],vA=(0,F.len)(PA);re.insert(Se,vA,YA,Le),je||vA!==1||(je=!0)}je||re.insert(Se,1,this.unk_score,this.unk_token_id),Se+=1}}tokenize(re){const xe=new X.TokenLattice(re,this.bos_token_id,this.eos_token_id);return this.populateNodes(xe),xe.tokens()}encode(re){const xe=[];for(const Se of re){const je=this.tokenize(Se);xe.push(...je)}return xe}}const D=(()=>{const rA=[...Array.from({length:94},(je,Ze)=>Ze+33),...Array.from({length:12},(je,Ze)=>Ze+161),...Array.from({length:82},(je,Ze)=>Ze+174)],re=rA.slice();let xe=0;for(let je=0;je<256;++je)rA.includes(je)||(rA.push(je),re.push(256+xe),xe+=1);const Se=re.map(je=>String.fromCharCode(je));return Object.fromEntries(rA.map((je,Ze)=>[je,Se[Ze]]))})(),z=(0,F.reverseDictionary)(D);class Ye extends l{constructor(re){super(re),this.tokens_to_ids=te(re.vocab),this.unk_token_id=this.tokens_to_ids.get(re.unk_token),this.unk_token=re.unk_token,this.vocab=new Array(this.tokens_to_ids.size);for(const[Se,je]of this.tokens_to_ids)this.vocab[je]=Se;const xe=Array.isArray(re.merges[0]);this.merges=xe?re.merges:re.merges.map(Se=>Se.split(" ",2)),this.bpe_ranks=new Map(this.merges.map((Se,je)=>[JSON.stringify(Se),je])),this.end_of_word_suffix=re.end_of_word_suffix,this.continuing_subword_suffix=re.continuing_subword_suffix??null,this.byte_fallback=this.config.byte_fallback??!1,this.byte_fallback&&(this.text_encoder=new TextEncoder),this.ignore_merges=this.config.ignore_merges??!1,this.cache=new Map}bpe(re){if(re.length===0)return[];const xe=this.cache.get(re);if(xe!==void 0)return xe;const Se=Array.from(re);this.end_of_word_suffix&&(Se[Se.length-1]+=this.end_of_word_suffix);let je=[];if(Se.length>1){const Ze=new X.PriorityQueue((Le,YA)=>Le.score<YA.score);let uA={token:Se[0],bias:0,prev:null,next:null},PA=uA;for(let Le=1;Le<Se.length;++Le){const YA={bias:Le/Se.length,token:Se[Le],prev:PA,next:null};PA.next=YA,this._add_node(Ze,PA),PA=YA}for(;!Ze.isEmpty();){const Le=Ze.pop();if(Le.deleted||!Le.next||Le.next.deleted)continue;if(Le.deleted=!0,Le.next.deleted=!0,Le.prev){const vA={...Le.prev};Le.prev.deleted=!0,Le.prev=vA,vA.prev?vA.prev.next=vA:uA=vA}const YA={token:Le.token+Le.next.token,bias:Le.bias,prev:Le.prev,next:Le.next.next};YA.prev?(YA.prev.next=YA,this._add_node(Ze,YA.prev)):uA=YA,YA.next&&(YA.next.prev=YA,this._add_node(Ze,YA))}for(let Le=uA;Le!==null;Le=Le.next)je.push(Le.token)}else je=Se;if(this.continuing_subword_suffix)for(let Ze=0;Ze<je.length-1;++Ze)je[Ze]+=this.continuing_subword_suffix;return this.cache.set(re,je),je}_add_node(re,xe){const Se=this.bpe_ranks.get(JSON.stringify([xe.token,xe.next.token]));Se!==void 0&&(xe.score=Se+xe.bias,re.push(xe))}encode(re){const xe=[];for(const Se of re){if(this.ignore_merges&&this.tokens_to_ids.has(Se)){xe.push(Se);continue}const je=this.bpe(Se);for(const Ze of je)if(this.tokens_to_ids.has(Ze))xe.push(Ze);else if(this.byte_fallback){const uA=Array.from(this.text_encoder.encode(Ze)).map(PA=>`<0x${PA.toString(16).toUpperCase().padStart(2,"0")}>`);uA.every(PA=>this.tokens_to_ids.has(PA))?xe.push(...uA):xe.push(this.unk_token)}else xe.push(this.unk_token)}return xe}}class Ne extends l{constructor(re,xe){super(re),this.tokens_to_ids=te(xe.target_lang?re.vocab[xe.target_lang]:re.vocab),this.bos_token=xe.bos_token,this.bos_token_id=this.tokens_to_ids.get(this.bos_token),this.eos_token=xe.eos_token,this.eos_token_id=this.tokens_to_ids.get(this.eos_token),this.pad_token=xe.pad_token,this.pad_token_id=this.tokens_to_ids.get(this.pad_token),this.unk_token=xe.unk_token,this.unk_token_id=this.tokens_to_ids.get(this.unk_token),this.vocab=new Array(this.tokens_to_ids.size);for(const[Se,je]of this.tokens_to_ids)this.vocab[je]=Se}encode(re){return re}}class Oe extends k.Callable{constructor(re){super(),this.config=re}static fromConfig(re){if(re===null)return null;
2736switch(re.type){case"BertNormalizer":return new xA(re);case"Precompiled":return new it(re);case"Sequence":return new Pe(re);case"Replace":return new AA(re);case"NFC":return new tA(re);case"NFKC":return new BA(re);case"NFKD":return new DA(re);case"Strip":return new Ge(re);case"StripAccents":return new ke(re);case"Lowercase":return new ze(re);case"Prepend":return new Ke(re);default:throw new Error(`Unknown Normalizer type: ${re.type}`)}}normalize(re){throw Error("normalize should be implemented in subclass.")}_call(re){return this.normalize(re)}}class AA extends Oe{normalize(re){const xe=W(this.config.pattern);return xe===null?re:re.replaceAll(xe,this.config.content)}}class tA extends Oe{normalize(re){return re=re.normalize("NFC")}}class BA extends Oe{normalize(re){return re=re.normalize("NFKC")}}class DA extends Oe{normalize(re){return re=re.normalize("NFKD")}}class Ge extends Oe{normalize(re){return this.config.strip_left&&this.config.strip_right?re=re.trim():(this.config.strip_left&&(re=re.trimStart()),this.config.strip_right&&(re=re.trimEnd())),re}}class ke extends Oe{normalize(re){return re=Ee(re)}}class ze extends Oe{normalize(re){return re=re.toLowerCase()}}class Ke extends Oe{normalize(re){return re=this.config.prepend+re}}class Pe extends Oe{constructor(re){super(re),this.normalizers=re.normalizers.map(xe=>Oe.fromConfig(xe))}normalize(re){return this.normalizers.reduce((xe,Se)=>Se.normalize(xe),re)}}class xA extends Oe{_tokenize_chinese_chars(re){const xe=[];for(let Se=0;Se<re.length;++Se){const je=re[Se];ie(je.charCodeAt(0))?(xe.push(" "),xe.push(je),xe.push(" ")):xe.push(je)}return xe.join("")}stripAccents(re){return re.normalize("NFD").replace(new RegExp("\\p{Mn}","gu"),"")}_is_control(re){switch(re){case"	":case`
2737`:case"\r":return!1;default:return new RegExp("^\\p{Cc}|\\p{Cf}|\\p{Co}|\\p{Cs}$","u").test(re)}}_clean_text(re){const xe=[];for(const Se of re){const je=Se.charCodeAt(0);je===0||je===65533||this._is_control(Se)||(/^\s$/.test(Se)?xe.push(" "):xe.push(Se))}return xe.join("")}normalize(re){return this.config.clean_text&&(re=this._clean_text(re)),this.config.handle_chinese_chars&&(re=this._tokenize_chinese_chars(re)),this.config.lowercase?(re=re.toLowerCase(),this.config.strip_accents!==!1&&(re=this.stripAccents(re))):this.config.strip_accents&&(re=this.stripAccents(re)),re}}class iA extends k.Callable{static fromConfig(re){if(re===null)return null;switch(re.type){case"BertPreTokenizer":return new cA(re);case"Sequence":return new tt(re);case"Whitespace":return new at(re);case"WhitespaceSplit":return new It(re);case"Metaspace":return new XA(re);case"ByteLevel":return new yA(re);case"Split":return new gA(re);case"Punctuation":return new He(re);case"Digits":return new Je(re);case"Replace":return new Ar(re);default:throw new Error(`Unknown PreTokenizer type: ${re.type}`)}}pre_tokenize_text(re,xe){throw Error("pre_tokenize_text should be implemented in subclass.")}pre_tokenize(re,xe){return(Array.isArray(re)?re.map(Se=>this.pre_tokenize_text(Se,xe)):this.pre_tokenize_text(re,xe)).flat()}_call(re,xe){return this.pre_tokenize(re,xe)}}class cA extends iA{constructor(re){super(),this.pattern=new RegExp(`[^\\s${ne}]+|[${ne}]`,"gu")}pre_tokenize_text(re,xe){return re.trim().match(this.pattern)||[]}}class yA extends iA{constructor(re){super(),this.config=re,this.add_prefix_space=this.config.add_prefix_space,this.trim_offsets=this.config.trim_offsets,this.use_regex=this.config.use_regex??!0,this.pattern=new RegExp("'s|'t|'re|'ve|'m|'ll|'d| ?\\p{L}+| ?\\p{N}+| ?[^\\s\\p{L}\\p{N}]+|\\s+(?!\\S)|\\s+","gu"),this.byte_encoder=D,this.text_encoder=new TextEncoder}pre_tokenize_text(re,xe){return this.add_prefix_space&&!re.startsWith(" ")&&(re=" "+re),(this.use_regex?re.match(this.pattern)||[]:[re]).map(Se=>Array.from(this.text_encoder.encode(Se),je=>this.byte_encoder[je]).join(""))}}class gA extends iA{constructor(re){super(),this.config=re,this.pattern=W(this.config.pattern,this.config.invert)}pre_tokenize_text(re,xe){var Se;return this.pattern===null?[]:this.config.invert?re.match(this.pattern)||[]:((Se=this.config.behavior)==null?void 0:Se.toLowerCase())==="removed"?re.split(this.pattern).filter(je=>je):function(je,Ze){const uA=[];let PA=0;for(const Le of je.matchAll(Ze)){const YA=Le[0];PA<Le.index&&uA.push(je.slice(PA,Le.index)),YA.length>0&&uA.push(YA),PA=Le.index+YA.length}return PA<je.length&&uA.push(je.slice(PA)),uA}(re,this.pattern)}}class He extends iA{constructor(re){super(),this.config=re,this.pattern=new RegExp(`[^${ne}]+|[${ne}]+`,"gu")}pre_tokenize_text(re,xe){return re.match(this.pattern)||[]}}class Je extends iA{constructor(re){super(),this.config=re;const xe="[^\\d]+|\\d"+(this.config.individual_digits?"":"+");this.pattern=new RegExp(xe,"gu")}pre_tokenize_text(re,xe){return re.match(this.pattern)||[]}}class hA extends k.Callable{constructor(re){super(),this.config=re}static fromConfig(re){if(re===null)return null;switch(re.type){case"TemplateProcessing":return new mA(re);case"ByteLevel":return new MA(re);case"RobertaProcessing":return new Qe(re);case"BertProcessing":return new IA(re);case"Sequence":return new LA(re);default:throw new Error(`Unknown PostProcessor type: ${re.type}`)}}post_process(re,...xe){throw Error("post_process should be implemented in subclass.")}_call(re,...xe){return this.post_process(re,...xe)}}class IA extends hA{constructor(re){super(re),this.cls=re.cls[0],this.sep=re.sep[0]}post_process(re,xe=null,{add_special_tokens:Se=!0}={}){Se&&(re=(0,F.mergeArrays)([this.cls],re,[this.sep]));let je=new Array(re.length).fill(0);if(xe!==null){const Ze=Se&&this instanceof Qe?[this.sep]:[],uA=Se?[this.sep]:[];re=(0,F.mergeArrays)(re,Ze,xe,uA),je=(0,F.mergeArrays)(je,new Array(xe.length+Ze.length+uA.length).fill(1))}return{tokens:re,token_type_ids:je}}}class Qe extends IA{}class mA extends hA{constructor(re){super(re),this.single=re.single,this.pair=re.pair}post_process(re,xe=null,{add_special_tokens:Se=!0}={}){const je=xe===null?this.single:this.pair;let Ze=[],uA=[];for(const PA of je)"SpecialToken"in PA?Se&&(Ze.push(PA.SpecialToken.id),uA.push(PA.SpecialToken.type_id)):"Sequence"in PA&&(PA.Sequence.id==="A"?(Ze=(0,F.mergeArrays)(Ze,re),uA=(0,F.mergeArrays)(uA,new Array(re.length).fill(PA.Sequence.type_id
2737))):PA.Sequence.id==="B"&&(Ze=(0,F.mergeArrays)(Ze,xe),uA=(0,F.mergeArrays)(uA,new Array(xe.length).fill(PA.Sequence.type_id))));return{tokens:Ze,token_type_ids:uA}}}class MA extends hA{post_process(re,xe=null){return xe&&(re=(0,F.mergeArrays)(re,xe)),{tokens:re}}}class LA extends hA{constructor(re){super(re),this.processors=re.processors.map(xe=>hA.fromConfig(xe))}post_process(re,xe=null,Se={}){let je;for(const Ze of this.processors)if(Ze instanceof MA)re=Ze.post_process(re).tokens,xe&&(xe=Ze.post_process(xe).tokens);else{const uA=Ze.post_process(re,xe,Se);re=uA.tokens,je=uA.token_type_ids}return{tokens:re,token_type_ids:je}}}class OA extends k.Callable{constructor(re){super(),this.config=re,this.added_tokens=[],this.end_of_word_suffix=null,this.trim_offsets=re.trim_offsets}static fromConfig(re){if(re===null)return null;switch(re.type){case"WordPiece":return new fe(re);case"Metaspace":return new TA(re);case"ByteLevel":return new Te(re);case"Replace":return new q(re);case"ByteFallback":return new HA(re);case"Fuse":return new ge(re);case"Strip":return new J(re);case"Sequence":return new dA(re);case"CTC":return new _e(re);case"BPEDecoder":return new bA(re);default:throw new Error(`Unknown Decoder type: ${re.type}`)}}_call(re){return this.decode(re)}decode(re){return this.decode_chain(re).join("")}decode_chain(re){throw Error("`decode_chain` should be implemented in subclass.")}}class q extends OA{decode_chain(re){const xe=W(this.config.pattern);return xe===null?re:re.map(Se=>Se.replaceAll(xe,this.config.content))}}class HA extends OA{constructor(re){super(re),this.text_decoder=new TextDecoder}decode_chain(re){const xe=[];let Se=[];for(const je of re){let Ze=null;if(je.length===6&&je.startsWith("<0x")&&je.endsWith(">")){const uA=parseInt(je.slice(3,5),16);isNaN(uA)||(Ze=uA)}if(Ze!==null)Se.push(Ze);else{if(Se.length>0){const uA=this.text_decoder.decode(Uint8Array.from(Se));xe.push(uA),Se=[]}xe.push(je)}}if(Se.length>0){const je=this.text_decoder.decode(Uint8Array.from(Se));xe.push(je),Se=[]}return xe}}class ge extends OA{decode_chain(re){return[re.join("")]}}class J extends OA{constructor(re){super(re),this.content=this.config.content,this.start=this.config.start,this.stop=this.config.stop}decode_chain(re){return re.map(xe=>{let Se=0;for(let Ze=0;Ze<this.start&&xe[Ze]===this.content;++Ze)Se=Ze+1;let je=xe.length;for(let Ze=0;Ze<this.stop;++Ze){const uA=xe.length-Ze-1;if(xe[uA]!==this.content)break;je=uA}return xe.slice(Se,je)})}}class fe extends OA{constructor(re){super(re),this.cleanup=re.cleanup}decode_chain(re){return re.map((xe,Se)=>(Se!==0&&(xe=xe.startsWith(this.config.prefix)?xe.replace(this.config.prefix,""):" "+xe),this.cleanup&&(xe=Be(xe)),xe))}}class Te extends OA{constructor(re){super(re),this.byte_decoder=z,this.text_decoder=new TextDecoder("utf-8",{fatal:!1,ignoreBOM:!0}),this.end_of_word_suffix=null}convert_tokens_to_string(re){const xe=re.join(""),Se=new Uint8Array([...xe].map(je=>this.byte_decoder[je]));return this.text_decoder.decode(Se)}decode_chain(re){const xe=[];let Se=[];for(const je of re)this.added_tokens.find(Ze=>Ze.content===je)!==void 0?(Se.length>0&&(xe.push(this.convert_tokens_to_string(Se)),Se=[]),xe.push(je)):Se.push(je);return Se.length>0&&xe.push(this.convert_tokens_to_string(Se)),xe}}class _e extends OA{constructor(re){super(re),this.pad_token=this.config.pad_token,this.word_delimiter_token=this.config.word_delimiter_token,this.cleanup=this.config.cleanup}convert_tokens_to_string(re){if(re.length===0)return"";const xe=[re[0]];for(let je=1;je<re.length;++je)re[je]!==xe.at(-1)&&xe.push(re[je]);let Se=xe.filter(je=>je!==this.pad_token).join("");return this.cleanup&&(Se=Be(Se).replaceAll(this.word_delimiter_token," ").trim()),Se}decode_chain(re){return[this.convert_tokens_to_string(re)]}}class dA extends OA{constructor(re){super(re),this.decoders=re.decoders.map(xe=>OA.fromConfig(xe))}decode_chain(re){return this.decoders.reduce((xe,Se)=>Se.decode_chain(xe),re)}}class bA extends OA{constructor(re){super(re),this.suffix=this.config.suffix}decode_chain(re){return re.map((xe,Se)=>xe.replaceAll(this.suffix,Se===re.length-1?"":" "))}}class NA extends OA{decode_chain(re){let xe="";for(let Se=1;Se<re.length;Se+=2)xe+=re[Se];return[xe]}}class XA extends iA{constructor(re){super(),this.addPrefixSpace=re.add_prefix_space,this.replacement=re.replacement,this.strRep=re.str_rep||this.replacement,this.prepend_scheme=re.prepend_scheme??"always"}pre_tokenize_text(re,{section_index:xe}={}){let Se=re.replaceAll(" ",this.strRep);return this.addPrefixSpace&&!Se.startsWith(this.replacement)&&(this.prepend_scheme==="always"||this.prepend_scheme==="first"&&xe===0)&&(Se=this.strRep+Se),[Se]}}class TA extends OA{constructor(re){super(re),this.addPrefixSpace=re.add_prefix_space,this.replacement=re.replacement}decode_chain(re){const xe=[];for(let Se=0;Se<re.length;++Se){let je=re[Se].replaceAll(this.replacement," ");this.addPrefixSpace&&Se==0&&je.startsWith(" ")&&(je=je.substring(1)),xe.push(je)}return xe}}class it extends Oe{constructor(re){super(re),this.charsmap=re.precompiled_charsmap}normalize(re){return(re=(re=re.replace(/[\u0001-\u0008\u000B\u000E-\u001F\u007F\u008F\u009F]/gm,"")).replace(/[\u0009\u000A\u000C\u000D\u00A0\u1680\u2000-\u200F\u2028\u2029\u202F\u205F\u2581\u3000\uFEFF\uFFFD]/gm," ")).includes("~")?re=re.split("~").map(Se=>Se.normalize("NFKC")).join("~"):re=re.normalize("NFKC"),re}}class tt extends iA{constructor(re){super(),this.tokenizers=re.pretokenizers.map(xe=>iA.fromConfig(xe))}pre_tokenize_text(re,xe){return this.tokenizers.reduce((Se,je)=>je.pre_tokenize(Se,xe),[re])}}class at extends iA{constructor(re){super()}pre_tokenize_text(re,xe){return re.match(/\w+|[^\w\s]+/g)||[]}}class It extends iA{constructor(re){super()}pre_tokenize_text(re,xe){return function(Se){return Se.match(/\S+/g)||[]}(re)}}class Ar extends iA{constructor(re){super(),this.config=re,this.pattern=W(this.config.pattern),this.content=this.config.content}
2737pre_tokenize_text(re,xe){return this.pattern===null?[re]:[re.replaceAll(this.pattern,this.config.content)]}}const Vr=["bos_token","eos_token","unk_token","sep_token","pad_token","cls_token","mask_token"];function $t(rA,re,xe,Se){for(const je of Object.keys(rA)){const Ze=re-rA[je].length,uA=xe(je),PA=new Array(Ze).fill(uA);rA[je]=Se==="right"?(0,F.mergeArrays)(rA[je],PA):(0,F.mergeArrays)(PA,rA[je])}}function Pr(rA,re){for(const xe of Object.keys(rA))rA[xe].length=re}class wt extends k.Callable{constructor(xe,Se){super();Ve(this,"return_token_type_ids",!1);Ve(this,"padding_side","right");this._tokenizer_config=Se,this.normalizer=Oe.fromConfig(xe.normalizer),this.pre_tokenizer=iA.fromConfig(xe.pre_tokenizer),this.model=l.fromConfig(xe.model,Se),this.post_processor=hA.fromConfig(xe.post_processor),this.decoder=OA.fromConfig(xe.decoder),this.special_tokens=[],this.all_special_ids=[],this.added_tokens=[];for(const je of xe.added_tokens){const Ze=new e(je);this.added_tokens.push(Ze),this.model.tokens_to_ids.set(Ze.content,Ze.id),this.model.vocab[Ze.id]=Ze.content,Ze.special&&(this.special_tokens.push(Ze.content),this.all_special_ids.push(Ze.id))}if(this.additional_special_tokens=Se.additional_special_tokens??[],this.special_tokens.push(...this.additional_special_tokens),this.special_tokens=[...new Set(this.special_tokens)],this.decoder&&(this.decoder.added_tokens=this.added_tokens,this.decoder.end_of_word_suffix=this.model.end_of_word_suffix),this.added_tokens_regex=this.added_tokens.length>0?new RegExp(this.added_tokens.slice().sort((je,Ze)=>Ze.content.length-je.content.length).map(je=>`${je.lstrip?"\\s*":""}(${(0,F.escapeRegExp)(je.content)})${je.rstrip?"\\s*":""}`).join("|")):null,this.mask_token=this.getToken("mask_token"),this.mask_token_id=this.model.tokens_to_ids.get(this.mask_token),this.pad_token=this.getToken("pad_token","eos_token"),this.pad_token_id=this.model.tokens_to_ids.get(this.pad_token),this.sep_token=this.getToken("sep_token"),this.sep_token_id=this.model.tokens_to_ids.get(this.sep_token),this.unk_token=this.getToken("unk_token"),this.unk_token_id=this.model.tokens_to_ids.get(this.unk_token),this.bos_token=this.getToken("bos_token"),this.bos_token_id=this.model.tokens_to_ids.get(this.bos_token),this.eos_token=this.getToken("eos_token"),this.eos_token_id=this.model.tokens_to_ids.get(this.eos_token),this.model_max_length=Se.model_max_length,this.remove_space=Se.remove_space,this.clean_up_tokenization_spaces=Se.clean_up_tokenization_spaces??!0,this.do_lowercase_and_remove_accent=Se.do_lowercase_and_remove_accent??!1,Se.padding_side&&(this.padding_side=Se.padding_side),this.legacy=!1,this.chat_template=Se.chat_template??null,Array.isArray(this.chat_template)){const je=Object.create(null);for(const{name:Ze,template:uA}of this.chat_template){if(typeof Ze!="string"||typeof uA!="string")throw new Error('Chat template must be a list of objects with "name" and "template" properties');je[Ze]=uA}this.chat_template=je}this._compiled_template_cache=new Map}getToken(...xe){for(const Se of xe){const je=this._tokenizer_config[Se];if(je){if(typeof je=="object"){if(je.__type==="AddedToken")return je.content;throw Error(`Unknown token: ${je}`)}return je}}return null}static async from_pretrained(xe,{progress_callback:Se=null,config:je=null,cache_dir:Ze=null,local_files_only:uA=!1,revision:PA="main",legacy:Le=null}={}){return new this(...await Z(xe,{progress_callback:Se,config:je,cache_dir:Ze,local_files_only:uA,revision:PA,legacy:Le}))}_call(xe,{text_pair:Se=null,add_special_tokens:je=!0,padding:Ze=!1,truncation:uA=null,max_length:PA=null,return_tensor:Le=!0,return_token_type_ids:YA=null}={}){const vA=Array.isArray(xe);let Bt;if(vA){if(xe.length===0)throw Error("text array must be non-empty");if(Se!==null){if(!Array.isArray(Se))throw Error("text_pair must also be an array");if(xe.length!==Se.length)throw Error("text and text_pair must have the same length");Bt=xe.map((jt,er)=>this._encode_plus(jt,{text_pair:Se[er],add_special_tokens:je,return_token_type_ids:YA}))}
2737else Bt=xe.map(jt=>this._encode_plus(jt,{add_special_tokens:je,return_token_type_ids:YA}))}else{if(xe==null)throw Error("text may not be null or undefined");if(Array.isArray(Se))throw Error("When specifying `text_pair`, since `text` is a string, `text_pair` must also be a string (i.e., not an array).");Bt=[this._encode_plus(xe,{text_pair:Se,add_special_tokens:je,return_token_type_ids:YA})]}if(PA===null?PA=Ze==="max_length"?this.model_max_length:(0,O.max)(Bt.map(jt=>jt.input_ids.length))[0]:uA||console.warn("Truncation was not explicitly activated but `max_length` is provided a specific value, please use `truncation=true` to explicitly truncate examples to max length."),PA=Math.min(PA,this.model_max_length??1/0),Ze||uA)for(let jt=0;jt<Bt.length;++jt)Bt[jt].input_ids.length!==PA&&(Bt[jt].input_ids.length>PA?uA&&Pr(Bt[jt],PA):Ze&&$t(Bt[jt],PA,er=>er==="input_ids"?this.pad_token_id:0,this.padding_side));const fr={};if(Le){if((!Ze||!uA)&&Bt.some(er=>{var zt;for(const VA of Object.keys(er))if(er[VA].length!==((zt=Bt[0][VA])==null?void 0:zt.length))return!0;return!1}))throw Error("Unable to create tensor, you should probably activate truncation and/or padding with 'padding=true' and 'truncation=true' to have batched tensors with the same length.");const jt=[Bt.length,Bt[0].input_ids.length];for(const er of Object.keys(Bt[0]))fr[er]=new V.Tensor("int64",BigInt64Array.from(Bt.flatMap(zt=>zt[er]).map(BigInt)),jt)}else{for(const jt of Object.keys(Bt[0]))fr[jt]=Bt.map(er=>er[jt]);if(!vA)for(const jt of Object.keys(fr))fr[jt]=fr[jt][0]}return fr}_encode_text(xe){return xe===null?null:(this.added_tokens_regex?xe.split(this.added_tokens_regex).filter(Ze=>Ze):[xe]).map((Ze,uA)=>{if(this.added_tokens.find(Le=>Le.content===Ze)!==void 0)return Ze;{if(this.remove_space===!0&&(Ze=Ze.trim().split(/\s+/).join(" ")),this.do_lowercase_and_remove_accent&&(Ze=function(YA){return Ee(YA.toLowerCase())}(Ze)),this.normalizer!==null&&(Ze=this.normalizer(Ze)),Ze.length===0)return[];const Le=this.pre_tokenizer!==null?this.pre_tokenizer(Ze,{section_index:uA}):[Ze];return this.model(Le)}}).flat()}_encode_plus(xe,{text_pair:Se=null,add_special_tokens:je=!0,return_token_type_ids:Ze=null}={}){const{tokens:uA,token_type_ids:PA}=this._tokenize_helper(xe,{pair:Se,add_special_tokens:je}),Le=this.model.convert_tokens_to_ids(uA),YA={input_ids:Le,attention_mask:new Array(Le.length).fill(1)};return(Ze??this.return_token_type_ids)&&PA&&(YA.token_type_ids=PA),YA}_tokenize_helper(xe,{pair:Se=null,add_special_tokens:je=!1}={}){const Ze=this._encode_text(xe),uA=this._encode_text(Se);return this.post_processor?this.post_processor(Ze,uA,{add_special_tokens:je}):{tokens:(0,F.mergeArrays)(Ze??[],uA??[])}}tokenize(xe,{pair:Se=null,add_special_tokens:je=!1}={}){return this._tokenize_helper(xe,{pair:Se,add_special_tokens:je}).tokens}encode(xe,{text_pair:Se=null,add_special_tokens:je=!0,return_token_type_ids:Ze=null}={}){return this._encode_plus(xe,{text_pair:Se,add_special_tokens:je,return_token_type_ids:Ze}).input_ids}batch_decode(xe,Se={}){return xe instanceof V.Tensor&&(xe=xe.tolist()),xe.map(je=>this.decode(je,Se))}decode(xe,Se={}){if(xe instanceof V.Tensor&&(xe=me(xe)),!Array.isArray(xe)||xe.length===0||!(0,F.isIntegralNumber)(xe[0]))throw Error("token_ids must be a non-empty array of integers.");return this.decode_single(xe,Se)}decode_single(xe,{skip_special_tokens:Se=!1,clean_up_tokenization_spaces:je=null}){let Ze=this.model.convert_ids_to_tokens(xe);Se&&(Ze=Ze.filter(PA=>!this.special_tokens.includes(PA)));let uA=this.decoder?this.decoder(Ze):Ze.join(" ");return this.decoder&&this.decoder.end_of_word_suffix&&(uA=uA.replaceAll(this.decoder.end_of_word_suffix," "),Se&&(uA=uA.trim())),(je??this.clean_up_tokenization_spaces)&&(uA=Be(uA)),uA}get_chat_template({chat_template:xe=null,tools:Se=null}={}){if(this.chat_template&&typeof this.chat_template=="object"){const je=this.chat_template;if(xe!==null&&Object.hasOwn(je,xe))xe=je[xe];else if(xe===null)if(Se!==null&&"tool_use"in je)xe=je.tool_use;else{if(!("default"in je))throw Error(`This model has multiple chat templates with no default specified! Please either pass a chat template or the name of the template you wish to use to the 'chat_template' argument. Available template names are ${Object.keys(je).sort()}.`);xe=je.default}}else if(xe===null){if(!this.chat_template)throw Error("Cannot use apply_chat_template() because tokenizer.chat_template is not set and no template argument was passed! For information about writing templates and setting the tokenizer.chat_template attribute, please see the documentation at https://huggingface.co/docs/transformers/main/en/chat_templating");xe=this.chat_template}return xe}apply_chat_template(xe,{tools:Se=null,documents:je=null,chat_template:Ze=null,add_generation_prompt:uA=!1,tokenize:PA=!0,padding:Le=!1,truncation:YA=!1,max_length:vA=null,return_tensor:Bt=!0,return_dict:fr=!1,tokenizer_kwargs:jt={},...er}={}){if(typeof(Ze=this.get_chat_template({chat_template:Ze,tools:Se}))!="string")throw Error("chat_template must be a string, but got "+typeof Ze);let zt=this._compiled_template_cache.get(Ze);zt===void 0&&(zt=new R.Template(Ze),this._compiled_template_cache.set(Ze,zt));const VA=Object.create(null);
2737for(const Zt of Vr){const xa=this.getToken(Zt);xa&&(VA[Zt]=xa)}const _A=zt.render({messages:xe,add_generation_prompt:uA,tools:Se,documents:je,...VA,...er});if(PA){const Zt=this._call(_A,{add_special_tokens:!1,padding:Le,truncation:YA,max_length:vA,return_tensor:Bt,...jt});return fr?Zt:Zt.input_ids}return _A}}class Xa extends wt{constructor(){super(...arguments);Ve(this,"return_token_type_ids",!0)}}class La extends wt{constructor(){super(...arguments);Ve(this,"return_token_type_ids",!0)}}class wa extends wt{constructor(){super(...arguments);Ve(this,"return_token_type_ids",!0)}}class qA extends wt{constructor(){super(...arguments);Ve(this,"return_token_type_ids",!0)}}class et extends wt{constructor(){super(...arguments);Ve(this,"return_token_type_ids",!0)}}class FA extends wt{constructor(){super(...arguments);Ve(this,"return_token_type_ids",!0)}}class Kt extends wt{constructor(){super(...arguments);Ve(this,"return_token_type_ids",!0)}}class Wa extends wt{constructor(){super(...arguments);Ve(this,"return_token_type_ids",!0)}}class Pa extends wt{constructor(){super(...arguments);Ve(this,"return_token_type_ids",!0)}}class ns extends wt{}class qa extends wt{}class Ja extends wt{constructor(xe,Se){super(xe,Se);Ve(this,"return_token_type_ids",!0);console.warn('WARNING: `XLMTokenizer` is not yet supported by Hugging Face\'s "fast" tokenizers library. Therefore, you may experience slightly inaccurate results.')}}class os extends wt{constructor(){super(...arguments);Ve(this,"return_token_type_ids",!0)}}class Yr extends wt{}class yt extends wt{}class Ga extends wt{}class zr extends wt{constructor(re,xe){super(re,xe),this.languageRegex=/^[a-z]{2}_[A-Z]{2}$/,this.language_codes=this.special_tokens.filter(Se=>this.languageRegex.test(Se)),this.lang_to_token=Se=>Se}_build_translation_inputs(re,xe,Se){return Es(this,re,xe,Se)}}class jr extends zr{}class ms extends wt{}class Xt extends wt{}const _a="▁";class Cs extends wt{constructor(xe,Se){super(xe,Se);Ve(this,"padding_side","left");this.legacy=Se.legacy??!0,this.legacy||(this.normalizer=null,this.pre_tokenizer=new XA({replacement:_a,add_prefix_space:!0,prepend_scheme:"first"}))}_encode_text(xe){if(xe===null)return null;if(this.legacy||xe.length===0)return super._encode_text(xe);let Se=super._encode_text(_a+xe.replaceAll(_a," "));return Se.length>1&&Se[0]===_a&&this.special_tokens.includes(Se[1])&&(Se=Se.slice(1)),Se}}class wi extends wt{}class ei extends wt{}class Ai extends wt{}class ki extends wt{}class qr extends wt{}class ls extends wt{}class bs extends wt{}class ti extends wt{}class $a extends wt{}function Es(rA,re,xe,Se){if(!("language_codes"in rA)||!Array.isArray(rA.language_codes))throw new Error("Tokenizer must have `language_codes` attribute set and it should be an array of language ids.");if(!("languageRegex"in rA&&rA.languageRegex instanceof RegExp))throw new Error("Tokenizer must have `languageRegex` attribute set and it should be a regular expression.");if(!("lang_to_token"in rA)||typeof rA.lang_to_token!="function")throw new Error("Tokenizer must have `lang_to_token` attribute set and it should be a function.");const je=Se.src_lang,Ze=Se.tgt_lang;if(!rA.language_codes.includes(Ze))throw new Error(`Target language code "${Ze}" is not valid. Must be one of: {${rA.language_codes.join(", ")}}`);if(je!==void 0){if(!rA.language_codes.includes(je))throw new Error(`Source language code "${je}" is not valid. Must be one of: {${rA.language_codes.join(", ")}}`);for(const uA of rA.post_processor.config.single)if("SpecialToken"in uA&&rA.languageRegex.test(uA.SpecialToken.id)){uA.SpecialToken.id=rA.lang_to_token(je);break}}return Se.forced_bos_token_id=rA.model.convert_tokens_to_ids([rA.lang_to_token(Ze)])[0],rA._call(re,xe)}class Br extends wt{constructor(re,xe){super(re,xe),this.languageRegex=/^[a-z]{3}_[A-Z][a-z]{3}$/,this.language_codes=this.special_tokens.filter(Se=>this.languageRegex.test(Se)),this.lang_to_token=Se=>Se}_build_translation_inputs(re,xe,Se){return Es(this,re,xe,Se)}}class Ls extends wt{constructor(re,xe){super(re,xe),this.languageRegex=/^__[a-z]{2,3}__$/,this.language_codes=this.special_tokens.filter(Se=>this.languageRegex.test(Se)).map(Se=>Se.slice(2,-2)),this.lang_to_token=Se=>`__${Se}__`}_build_translation_inputs(re,xe,Se){return Es(this,re,xe,Se)}}class Ys extends wt{get timestamp_begin(){return this.model.convert_tokens_to_ids(["<|notimestamps|>"])[0]+1}_decode_asr(re,{return_timestamps:xe=!1,return_language:Se=!1,time_precision:je=null,force_full_sequences:Ze=!0}={}
2737){if(je===null)throw Error("Must specify time_precision");let uA=null;const PA=xe==="word";function Le(){return{language:uA,timestamp:[null,null],text:""}}const YA=[];let vA=Le(),Bt=0;const fr=this.timestamp_begin,jt=fr+1500;let er=[],zt=[],VA=!1,_A=null;const Zt=new Set(this.all_special_ids);for(const nr of re){const nt=nr.tokens,pr=PA?nr.token_timestamps:null;let pA=null,$A=fr;if("stride"in nr){const[Ur,Fr,wr]=nr.stride;if(Bt-=Fr,_A=Ur-wr,Fr&&($A=Fr/je+fr),wr)for(let Ut=nt.length-1;Ut>=0;--Ut){const vr=Number(nt[Ut]);if(vr>=fr){if(pA!==null&&(vr-fr)*je<_A)break;pA=vr}}}let ha=[],Hr=[];for(let Ur=0;Ur<nt.length;++Ur){const Fr=Number(nt[Ur]);if(Zt.has(Fr)){const wr=this.decode([Fr]),Ut=S.WHISPER_LANGUAGE_MAPPING.get(wr.slice(2,-2));if(Ut!==void 0){if(uA!==null&&Ut!==uA&&!xe){er.push(ha);const vr=this.findLongestCommonSequence(er)[0],ai=this.decode(vr);vA.text=ai,YA.push(vA),er=[],ha=[],vA=Le()}uA=vA.language=Ut}}else if(Fr>=fr&&Fr<=jt){const wr=(Fr-fr)*je+Bt,Ut=(0,O.round)(wr,2);if(pA!==null&&Fr>=pA)VA=!0;else if(VA||er.length>0&&Fr<$A)VA=!1;else if(vA.timestamp[0]===null)vA.timestamp[0]=Ut;else if(Ut!==vA.timestamp[0]){vA.timestamp[1]=Ut,er.push(ha),PA&&zt.push(Hr);const[vr,ai]=this.findLongestCommonSequence(er,zt),Ya=this.decode(vr);vA.text=Ya,PA&&(vA.words=this.collateWordTimestamps(vr,ai,uA)),YA.push(vA),er=[],ha=[],zt=[],Hr=[],vA=Le()}}else if(ha.push(Fr),PA){let wr,Ut=(0,O.round)(pr[Ur]+Bt,2);if(Ur+1<pr.length){wr=(0,O.round)(pr[Ur+1]+Bt,2);const vr=this.decode([Fr]);ve.test(vr)&&(wr=(0,O.round)(Math.min(Ut+je,wr),2))}else wr=null;Hr.push([Ut,wr])}}if("stride"in nr){const[Ur,Fr,wr]=nr.stride;Bt+=Ur-wr}ha.length>0?(er.push(ha),PA&&zt.push(Hr)):er.every(Ur=>Ur.length===0)&&(vA=Le(),er=[],ha=[],zt=[],Hr=[])}if(er.length>0){if(Ze&&xe)throw new Error("Whisper did not predict an ending timestamp, which can happen if audio is cut off in the middle of a word. Also make sure WhisperTimeStampLogitsProcessor was used during generation.");const[nr,nt]=this.findLongestCommonSequence(er,zt),pr=this.decode(nr);vA.text=pr,PA&&(vA.words=this.collateWordTimestamps(nr,nt,uA)),YA.push(vA)}let xa=Object.create(null);const pa=YA.map(nr=>nr.text).join("");if(xe||Se){for(let nr=0;nr<YA.length;++nr){const nt=YA[nr];xe||delete nt.timestamp,Se||delete nt.language}if(PA){const nr=[];for(const nt of YA)for(const pr of nt.words)nr.push(pr);xa={chunks:nr}}else xa={chunks:YA}}return[pa,xa]}findLongestCommonSequence(re,xe=null){let Se=re[0],je=Se.length,Ze=[];const uA=Array.isArray(xe)&&xe.length>0;let PA=uA?[]:null,Le=uA?xe[0]:null;for(let YA=1;YA<re.length;++YA){const vA=re[YA];let Bt=0,fr=[je,je,0,0];const jt=vA.length;for(let pa=1;pa<je+jt;++pa){const nr=Math.max(0,je-pa),nt=Math.min(je,je+jt-pa),pr=Se.slice(nr,nt),pA=Math.max(0,pa-je),$A=Math.min(jt,pa),ha=vA.slice(pA,$A);if(pr.length!==ha.length)throw new Error("There is a bug within whisper `decode_asr` function, please report it. Dropping to prevent bad inference.");let Hr;Hr=uA?pr.filter((Fr,wr)=>Fr===ha[wr]&&Le[nr+wr]<=xe[YA][pA+wr]).length:pr.filter((Fr,wr)=>Fr===ha[wr]).length;const Ur=Hr/pa+pa/1e4;Hr>1&&Ur>Bt&&(Bt=Ur,fr=[nr,nt,pA,$A])}const[er,zt,VA,_A]=fr,Zt=Math.floor((zt+er)/2),xa=Math.floor((_A+VA)/2);Ze.push(...Se.slice(0,Zt)),Se=vA.slice(xa),je=Se.length,uA&&(PA.push(...Le.slice(0,Zt)),Le=xe[YA].slice(xa))}return Ze.push(...Se),uA?(PA.push(...Le),[Ze,PA]):[Ze,[]]}collateWordTimestamps(re,xe,Se){const[je,Ze,uA]=this.combineTokensIntoWords(re,Se),PA=[];for(let Le=0;Le<je.length;++Le){const YA=uA[Le];PA.push({text:je[Le],timestamp:[xe[YA.at(0)][0],xe[YA.at(-1)][1]]})}return PA}combineTokensIntoWords(re,xe,Se=`"'“¡¿([{-`,je=`"'.。,,!!??::”)]}、`){let Ze,uA,PA;return["chinese","japanese","thai","lao","myanmar"].includes(xe=xe??"english")?[Ze,uA,PA]=this.splitTokensOnUnicode(re):[Ze,uA,PA]=this.splitTokensOnSpaces(re),this.mergePunctuations(Ze,uA,PA,Se,je)}decode(re,xe){let Se;return xe!=null&&xe.decode_with_timestamps?(re instanceof V.Tensor&&(re=me(re)),Se=this.decodeWithTimestamps(re,xe)):Se
2737=super.decode(re,xe),Se}decodeWithTimestamps(re,xe){const Se=(xe==null?void 0:xe.time_precision)??.02,je=Array.from(this.all_special_ids).at(-1)+1;let Ze=[[]];for(let uA of re)if(uA=Number(uA),uA>=je){const PA=((uA-je)*Se).toFixed(2);Ze.push(`<|${PA}|>`),Ze.push([])}else Ze[Ze.length-1].push(uA);return Ze=Ze.map(uA=>typeof uA=="string"?uA:super.decode(uA,xe)),Ze.join("")}splitTokensOnUnicode(re){const xe=this.decode(re,{decode_with_timestamps:!0}),Se=[],je=[],Ze=[];let uA=[],PA=[],Le=0;for(let YA=0;YA<re.length;++YA){const vA=re[YA];uA.push(vA),PA.push(YA);const Bt=this.decode(uA,{decode_with_timestamps:!0});Bt.includes("�")&&xe[Le+Bt.indexOf("�")]!=="�"||(Se.push(Bt),je.push(uA),Ze.push(PA),uA=[],PA=[],Le+=Bt.length)}return[Se,je,Ze]}splitTokensOnSpaces(re){const[xe,Se,je]=this.splitTokensOnUnicode(re),Ze=[],uA=[],PA=[],Le=new RegExp(`^[${ne}]$`,"gu");for(let YA=0;YA<xe.length;++YA){const vA=xe[YA],Bt=Se[YA],fr=je[YA],jt=Bt[0]>=this.model.tokens_to_ids.get("<|endoftext|>"),er=vA.startsWith(" "),zt=vA.trim(),VA=Le.test(zt);if(jt||er||VA||Ze.length===0)Ze.push(vA),uA.push(Bt),PA.push(fr);else{const _A=Ze.length-1;Ze[_A]+=vA,uA[_A].push(...Bt),PA[_A].push(...fr)}}return[Ze,uA,PA]}mergePunctuations(re,xe,Se,je,Ze){const uA=structuredClone(re),PA=structuredClone(xe),Le=structuredClone(Se);let YA=uA.length-2,vA=uA.length-1;for(;YA>=0;)uA[YA].startsWith(" ")&&je.includes(uA[YA].trim())?(uA[vA]=uA[YA]+uA[vA],PA[vA]=(0,F.mergeArrays)(PA[YA],PA[vA]),Le[vA]=(0,F.mergeArrays)(Le[YA],Le[vA]),uA[YA]="",PA[YA]=[],Le[YA]=[]):vA=YA,--YA;for(YA=0,vA=1;vA<uA.length;)!uA[YA].endsWith(" ")&&Ze.includes(uA[vA])?(uA[YA]+=uA[vA],PA[YA]=(0,F.mergeArrays)(PA[YA],PA[vA]),Le[YA]=(0,F.mergeArrays)(Le[YA],Le[vA]),uA[vA]="",PA[vA]=[],Le[vA]=[]):YA=vA,++vA;return[uA.filter(Bt=>Bt),PA.filter(Bt=>Bt.length>0),Le.filter(Bt=>Bt.length>0)]}}class xi extends wt{}class Hs extends wt{}class Ms extends wt{}class Rs extends wt{constructor(re,xe){super(re,xe),this.languageRegex=/^(>>\w+<<)\s*/g,this.supported_language_codes=this.model.vocab.filter(Se=>this.languageRegex.test(Se)),console.warn('WARNING: `MarianTokenizer` is not yet supported by Hugging Face\'s "fast" tokenizers library. Therefore, you may experience slightly inaccurate results.')}_encode_text(re){if(re===null)return null;const[xe,...Se]=re.trim().split(this.languageRegex);if(Se.length===0)return super._encode_text(xe);if(Se.length===2){const[je,Ze]=Se;return this.supported_language_codes.includes(je)||console.warn(`Unsupported language code "${je}" detected, which may lead to unexpected behavior. Should be one of: ${JSON.stringify(this.supported_language_codes)}`),(0,F.mergeArrays)([je],super._encode_text(Ze))}}}class Gs extends wt{}class xt extends wt{}class Ft extends wt{}class ka extends wt{}class ri extends wt{}class Ds extends wt{constructor(re,xe){super(re,xe),this.decoder=new NA({})}}class Ws extends wt{}class cs extends wt{}class Qs{static async from_pretrained(re,{progress_callback:xe=null,config:Se=null,cache_dir:je=null,local_files_only:Ze=!1,revision:uA="main",legacy:PA=null}={}){var fr;const[Le,YA]=await Z(re,{progress_callback:xe,config:Se,cache_dir:je,local_files_only:Ze,revision:uA,legacy:PA}),vA=((fr=YA.tokenizer_class)==null?void 0:fr.replace(/Fast$/,""))??"PreTrainedTokenizer";let Bt=this.TOKENIZER_CLASS_MAPPING[vA];return Bt||(console.warn(`Unknown tokenizer class "${vA}", attempting to construct from base class.`),Bt=wt),new Bt(Le,YA)}}Ve(Qs,"TOKENIZER_CLASS_MAPPING",{T5Tokenizer:Yr,DistilBertTokenizer:ns,CamembertTokenizer:qa,DebertaTokenizer:et,DebertaV2Tokenizer:FA,BertTokenizer:Xa,HerbertTokenizer:Kt,ConvBertTokenizer:Wa,RoFormerTokenizer:Pa,XLMTokenizer:Ja,ElectraTokenizer:os,MobileBertTokenizer:wa,SqueezeBertTokenizer:qA,AlbertTokenizer:La,GPT2Tokenizer:yt,BartTokenizer:Ga,MBartTokenizer:zr,MBart50Tokenizer:jr,RobertaTokenizer:ms,WhisperTokenizer:Ys,CodeGenTokenizer:xi,CLIPTokenizer:Hs,SiglipTokenizer:Ms,MarianTokenizer:Rs,BloomTokenizer:Xt,NllbTokenizer:Br,M2M100Tokenizer:Ls,LlamaTokenizer:Cs,CodeLlamaTokenizer:wi,XLMRobertaTokenizer:ei,MPNetTokenizer:Ai,FalconTokenizer:ki,GPTNeoXTokenizer:qr,EsmTokenizer:ls,Wav2Vec2CTCTokenizer:Gs,BlenderbotTokenizer:xt,BlenderbotSmallTokenizer:Ft,SpeechT5Tokenizer:ka,NougatTokenizer:ri,VitsTokenizer:Ds,Qwen2Tokenizer:bs,GemmaTokenizer:ti,Grok1Tokenizer:$a,CohereTokenizer:Ws,MgpstrTokenizer:cs,PreTrainedTokenizer:wt})},
2737"./src/utils/audio.js":(x,C,d)=>{d.r(C),d.d(C,{RawAudio:()=>e,hamming:()=>W,hanning:()=>Z,mel_filter_bank:()=>ie,read_audio:()=>R,spectrogram:()=>ve,window_function:()=>g});var k=d("./src/utils/hub.js"),F=d("./src/utils/maths.js"),j=d("./src/utils/core.js"),O=d("./src/env.js"),V=d("?7a2c"),X=d("./src/utils/tensor.js");async function R(l,M){if(typeof AudioContext>"u")throw Error("Unable to load audio from path/URL since `AudioContext` is not available in your environment. Instead, audio data should be passed directly to the pipeline/processor. For more information and some example code, see https://huggingface.co/docs/transformers.js/guides/node-audio-processing.");const ue=await(await(0,k.getFile)(l)).arrayBuffer(),D=new AudioContext({sampleRate:M});M===void 0&&console.warn(`No sampling rate provided, using default of ${D.sampleRate}Hz.`);const z=await D.decodeAudioData(ue);let Ye;if(z.numberOfChannels===2){const Ne=Math.sqrt(2),Oe=z.getChannelData(0),AA=z.getChannelData(1);Ye=new Float32Array(Oe.length);for(let tA=0;tA<z.length;++tA)Ye[tA]=Ne*(Oe[tA]+AA[tA])/2}else Ye=z.getChannelData(0);return Ye}function S(l,M){if(l<1)return new Float64Array;if(l===1)return new Float64Array([1]);const ue=1-M,D=2*Math.PI/(l-1),z=new Float64Array(l);for(let Ye=0;Ye<l;++Ye)z[Ye]=M-ue*Math.cos(Ye*D);return z}function Z(l){return S(l,.5)}function W(l){return S(l,.54)}const te={htk:l=>2595*Math.log10(1+l/700),kaldi:l=>1127*Math.log(1+l/700),slaney:(l,M=1e3,ue=15,D=27/Math.log(6.4))=>l>=M?ue+Math.log(l/M)*D:3*l/200};function me(l,M="htk"){const ue=te[M];if(!ue)throw new Error('mel_scale should be one of "htk", "slaney" or "kaldi".');return typeof l=="number"?ue(l):l.map(D=>ue(D))}const Be={htk:l=>700*(10**(l/2595)-1),kaldi:l=>700*(Math.exp(l/1127)-1),slaney:(l,M=1e3,ue=15,D=Math.log(6.4)/27)=>l>=ue?M*Math.exp(D*(l-ue)):200*l/3};function Ee(l,M,ue){const D=(M-l)/(ue-1);return Float64Array.from({length:ue},(z,Ye)=>l+D*Ye)}function ie(l,M,ue,D,z,Ye=null,Ne="htk",Oe=!1){if(Ye!==null&&Ye!=="slaney")throw new Error('norm must be one of null or "slaney"');const AA=Ee(me(ue,Ne),me(D,Ne),M+2);let tA,BA=function(Ge,ke="htk"){const ze=Be[ke];if(!ze)throw new Error('mel_scale should be one of "htk", "slaney" or "kaldi".');return typeof Ge=="number"?ze(Ge):Ge.map(Ke=>ze(Ke))}(AA,Ne);if(Oe){const Ge=z/(2*l);tA=me(Float64Array.from({length:l},(ke,ze)=>ze*Ge),Ne),BA=AA}else tA=Ee(0,Math.floor(z/2),l);const DA=function(Ge,ke){const ze=Float64Array.from({length:ke.length-1},(iA,cA)=>ke[cA+1]-ke[cA]),Ke=Array.from({length:Ge.length},()=>new Array(ke.length));for(let iA=0;iA<Ge.length;++iA){const cA=Ke[iA];for(let yA=0;yA<ke.length;++yA)cA[yA]=ke[yA]-Ge[iA]}const Pe=ke.length-2,xA=Array.from({length:Pe},()=>new Array(Ge.length));for(let iA=0;iA<Ge.length;++iA){const cA=Ke[iA];for(let yA=0;yA<Pe;++yA){const gA=-cA[yA]/ze[yA],He=cA[yA+2]/ze[yA+1];xA[yA][iA]=Math.max(0,Math.min(gA,He))}}return xA}(tA,BA);if(Ye!==null&&Ye==="slaney")for(let Ge=0;Ge<M;++Ge){const ke=DA[Ge],ze=2/(BA[Ge+2]-BA[Ge]);for(let Ke=0;Ke<l;++Ke)ke[Ke]*=ze}return DA}function ne(l,M,ue,D,z){if(ue<=0)throw new Error("reference must be greater than zero");if(D<=0)throw new Error("min_value must be greater than zero");ue=Math.max(D,ue);const Ye=Math.log10(ue);for(let Ne=0;Ne<l.length;++Ne)l[Ne]=M*Math.log10(Math.max(D,l[Ne])-Ye);if(z!==null){if(z<=0)throw new Error("db_range must be greater than zero");const Ne=(0,F.max)(l)[0]-z;for(let Oe=0;Oe<l.length;++Oe)l[Oe]=Math.max(l[Oe],Ne)}return l}async function ve(l,M,ue,D,{fft_length:z=null,power:Ye=1,center:Ne=!0,pad_mode:Oe="reflect",onesided:AA=!0,preemphasis:tA=null,mel_filters:BA=null,mel_floor:DA=1e-10,log_mel:Ge=null,reference:ke=1,min_value:ze=1e-10,db_range:Ke=null,remove_dc_offset:Pe=null,min_num_frames:xA=null,max_num_frames:iA=null,do_pad:cA=!0,transpose:yA=!1}={}){const gA=M.length;if(z===null&&(z=ue),ue>z)throw Error(`frame_length (${ue}) may not be larger than fft_length (${z})`);if(gA!==ue)throw new Error(`Length of the window (${gA}) must equal frame_length (${ue})`);if(D<=0)throw new Error("hop_length must be greater than zero");if(Ye===null&&BA!==null)throw new Error("You have provided `mel_filters` but `power` is `None`. Mel spectrogram computation is not yet supported for complex-valued spectrogram. Specify `power` to fix this issue.");if(Ne){if(Oe!=="reflect")throw new Error(`pad_mode="${Oe}" not implemented yet.`);const ge=Math.floor((z-1)/2)+1;l=function(J,fe,Te){const _e=new J.constructor(J.length+fe+Te),dA=J.length-1;for(let bA=0;bA<J.length;++bA)_e[fe+bA]=J[bA];for(let bA=1;bA<=fe;++bA)_e[fe-bA]=J[(0,j.calculateReflectOffset)(bA,dA)];for(let bA=1;bA<=Te;++bA)_e[dA+fe+bA]=J[(0,j.calculateReflectOffset)(dA-bA,dA)];return _e}(l,ge,ge)}let He=Math.floor(1+Math.floor((l.length-ue)/D));xA!==null&&He<xA&&(He=xA);const Je=AA?Math.floor(z/2)+1:z;let hA=He,IA=He;iA!==null&&(iA>He?cA&&(IA=iA):IA=hA=iA);const Qe=new F.FFT(z),mA=new Float64Array(z),MA=new Float64Array(Qe.outputBufferSize),LA=new Float32Array(Je*IA);for(let ge=0;ge<hA;++ge){const J=ge*D,fe=Math.min(l.length-J,ue);fe!==ue&&mA.fill(0,0,ue);for(let Te=0;Te<fe;++Te)mA[Te]=l[J+Te];if(Pe){let Te=0;for(let dA=0;dA<fe;++dA)Te+=mA[dA];const _e=Te/fe;
2737for(let dA=0;dA<fe;++dA)mA[dA]-=_e}if(tA!==null){for(let Te=fe-1;Te>=1;--Te)mA[Te]-=tA*mA[Te-1];mA[0]*=1-tA}for(let Te=0;Te<M.length;++Te)mA[Te]*=M[Te];Qe.realTransform(MA,mA);for(let Te=0;Te<Je;++Te){const _e=Te<<1;LA[Te*IA+ge]=MA[_e]**2+MA[_e+1]**2}}if(Ye!==null&&Ye!==2){const ge=2/Ye;for(let J=0;J<LA.length;++J)LA[J]**=ge}const OA=BA.length;let q=await(0,X.matmul)(new X.Tensor("float32",BA.flat(),[OA,Je]),new X.Tensor("float32",LA,[Je,IA]));yA&&(q=q.transpose(1,0));const HA=q.data;for(let ge=0;ge<HA.length;++ge)HA[ge]=Math.max(DA,HA[ge]);if(Ye!==null&&Ge!==null){const ge=Math.min(HA.length,hA*OA);switch(Ge){case"log":for(let J=0;J<ge;++J)HA[J]=Math.log(HA[J]);break;case"log10":for(let J=0;J<ge;++J)HA[J]=Math.log10(HA[J]);break;case"dB":if(Ye===1)(function(J,fe=1,Te=1e-5,_e=null){ne(J,20,fe,Te,_e)})(HA,ke,ze,Ke);else{if(Ye!==2)throw new Error(`Cannot use log_mel option '${Ge}' with power ${Ye}`);(function(J,fe=1,Te=1e-10,_e=null){ne(J,10,fe,Te,_e)})(HA,ke,ze,Ke)}break;default:throw new Error(`log_mel must be one of null, 'log', 'log10' or 'dB'. Got '${Ge}'`)}}return q}function g(l,M,{periodic:ue=!0,frame_length:D=null,center:z=!0}={}){const Ye=ue?l+1:l;let Ne;switch(M){case"boxcar":Ne=new Float64Array(Ye).fill(1);break;case"hann":case"hann_window":Ne=Z(Ye);break;case"hamming":Ne=W(Ye);break;case"povey":Ne=Z(Ye).map(Oe=>Math.pow(Oe,.85));break;default:throw new Error(`Unknown window type ${M}.`)}if(ue&&(Ne=Ne.subarray(0,l)),D===null)return Ne;if(l>D)throw new Error(`Length of the window (${l}) may not be larger than frame_length (${D})`);return Ne}function b(l,M,ue){for(let D=0;D<ue.length;++D)l.setUint8(M+D,ue.charCodeAt(D))}class e{constructor(M,ue){this.audio=M,this.sampling_rate=ue}toWav(){return function(M,ue){let D=44;const z=new ArrayBuffer(D+4*M.length),Ye=new DataView(z);b(Ye,0,"RIFF"),Ye.setUint32(4,36+4*M.length,!0),b(Ye,8,"WAVE"),b(Ye,12,"fmt "),Ye.setUint32(16,16,!0),Ye.setUint16(20,3,!0),Ye.setUint16(22,1,!0),Ye.setUint32(24,ue,!0),Ye.setUint32(28,4*ue,!0),Ye.setUint16(32,4,!0),Ye.setUint16(34,32,!0),b(Ye,36,"data"),Ye.setUint32(40,4*M.length,!0);for(let Ne=0;Ne<M.length;++Ne,D+=4)Ye.setFloat32(D,M[Ne],!0);return z}(this.audio,this.sampling_rate)}toBlob(){const M=this.toWav();return new Blob([M],{type:"audio/wav"})}async save(M){let ue;if(O.apis.IS_BROWSER_ENV){if(O.apis.IS_WEBWORKER_ENV)throw new Error("Unable to save a file from a Web Worker.");ue=j.saveBlob}else{if(!O.apis.IS_FS_AVAILABLE)throw new Error("Unable to save because filesystem is disabled in this environment.");ue=async(D,z)=>{let Ye=await z.arrayBuffer();V.writeFileSync(D,Buffer.from(Ye))}}await ue(M,this.toBlob())}}},
2737"./src/utils/constants.js":(x,C,d)=>{d.r(C),d.d(C,{CHAT_TEMPLATE_NAME:()=>X,CONFIG_NAME:()=>F,FEATURE_EXTRACTOR_NAME:()=>j,GENERATION_CONFIG_NAME:()=>R,GITHUB_ISSUE_URL:()=>k,IMAGE_PROCESSOR_NAME:()=>O,PROCESSOR_NAME:()=>V});const k="https://github.com/huggingface/transformers.js/issues/new/choose",F="config.json",j="preprocessor_config.json",O=j,V="processor_config.json",X="chat_template.json",R="generation_config.json"},
2737"./src/utils/core.js":(x,C,d)=>{function k(ne,ve){ne&&ne(ve)}function F(ne){return Object.fromEntries(Object.entries(ne).map(([ve,g])=>[g,ve]))}function j(ne){return ne.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function O(ne){var ve,g,b;return((b=(g=(ve=ne==null?void 0:ne.prototype)==null?void 0:ve.__proto__)==null?void 0:g.constructor)==null?void 0:b.name)==="TypedArray"}function V(ne){return Number.isInteger(ne)||typeof ne=="bigint"}function X(ne){return ne==null||ne===-1}function R(ne){const ve=[];let g=ne;for(;Array.isArray(g);)ve.push(g.length),g=g[0];return ve}function S(ne,ve,g=void 0){const b=ne[ve];if(b!==void 0)return delete ne[ve],b;if(g===void 0)throw Error(`Key ${ve} does not exist in object.`);return g}function Z(...ne){return Array.prototype.concat.apply([],ne)}function W(...ne){return ne.reduce((ve,g)=>ve.flatMap(b=>g.map(e=>[b,e])))}function te(ne,ve){return Math.abs((ne+ve)%(2*ve)-ve)}function me(ne,ve){const g=URL.createObjectURL(ve),b=document.createElement("a");b.href=g,b.download=ne,b.click(),b.remove(),URL.revokeObjectURL(g)}function Be(ne,ve){return Object.assign({},...ve.map(g=>{if(ne[g]!==void 0)return{[g]:ne[g]}}))}function Ee(ne){let ve=0;for(const g of ne)++ve;return ve}function ie(ne,ve){let g=0;for(const b of ne)b===ve&&++g;return g}d.r(C),d.d(C,{calculateDimensions:()=>R,calculateReflectOffset:()=>te,count:()=>ie,dispatchCallback:()=>k,escapeRegExp:()=>j,isIntegralNumber:()=>V,isNullishDimension:()=>X,isTypedArray:()=>O,len:()=>Ee,mergeArrays:()=>Z,pick:()=>Be,pop:()=>S,product:()=>W,reverseDictionary:()=>F,saveBlob:()=>me})},
2737"./src/utils/data-structures.js":(x,C,d)=>{d.r(C),d.d(C,{CharTrie:()=>F,PriorityQueue:()=>k,TokenLattice:()=>O});class k{constructor(R=(Z,W)=>Z>W,S=1/0){this._heap=[],this._comparator=R,this._maxSize=S}get size(){return this._heap.length}isEmpty(){return this.size===0}peek(){return this._heap[0]}push(...R){return this.extend(R)}extend(R){for(const S of R)if(this.size<this._maxSize)this._heap.push(S),this._siftUp();else{const Z=this._smallest();this._comparator(S,this._heap[Z])&&(this._heap[Z]=S,this._siftUpFrom(Z))}return this.size}pop(){const R=this.peek(),S=this.size-1;return S>0&&this._swap(0,S),this._heap.pop(),this._siftDown(),R}replace(R){const S=this.peek();return this._heap[0]=R,this._siftDown(),S}_parent(R){return(R+1>>>1)-1}_left(R){return 1+(R<<1)}_right(R){return R+1<<1}_greater(R,S){return this._comparator(this._heap[R],this._heap[S])}_swap(R,S){const Z=this._heap[R];this._heap[R]=this._heap[S],this._heap[S]=Z}_siftUp(){this._siftUpFrom(this.size-1)}_siftUpFrom(R){for(;R>0&&this._greater(R,this._parent(R));)this._swap(R,this._parent(R)),R=this._parent(R)}_siftDown(){let R=0;for(;this._left(R)<this.size&&this._greater(this._left(R),R)||this._right(R)<this.size&&this._greater(this._right(R),R);){const S=this._right(R)<this.size&&this._greater(this._right(R),this._left(R))?this._right(R):this._left(R);this._swap(R,S),R=S}}_smallest(){return 2**Math.floor(Math.log2(this.size))-1}}class F{constructor(){this.root=j.default()}extend(R){for(const S of R)this.push(S)}push(R){let S=this.root;for(const Z of R){let W=S.children.get(Z);W===void 0&&(W=j.default(),S.children.set(Z,W)),S=W}S.isLeaf=!0}*commonPrefixSearch(R){let S=this.root;if(S===void 0)return;let Z="";for(const W of R){if(Z+=W,S=S.children.get(W),S===void 0)return;S.isLeaf&&(yield Z)}}}class j{constructor(R,S){this.isLeaf=R,this.children=S}static default(){return new j(!1,new Map)}}class O{constructor(R,S,Z){this.chars=Array.from(R),this.len=this.chars.length,this.bosTokenId=S,this.eosTokenId=Z,this.nodes=[],this.beginNodes=Array.from({length:this.len+1},()=>[]),this.endNodes=Array.from({length:this.len+1},()=>[]);const W=new V(this.bosTokenId,0,0,0,0),te=new V(this.eosTokenId,1,this.len,0,0);this.nodes.push(W.clone()),this.nodes.push(te.clone()),this.beginNodes[this.len].push(te),this.endNodes[0].push(W)}insert(R,S,Z,W){const te=this.nodes.length,me=new V(W,te,R,S,Z);this.beginNodes[R].push(me),this.endNodes[R+S].push(me),this.nodes.push(me)}viterbi(){const R=this.len;let S=0;for(;S<=R;){if(this.beginNodes[S].length==0)return[];for(let me of this.beginNodes[S]){me.prev=null;let Be=0,Ee=null;for(let ie of this.endNodes[S]){const ne=ie.backtraceScore+me.score;(Ee===null||ne>Be)&&(Ee=ie.clone(),Be=ne)}if(Ee===null)return[];me.prev=Ee,me.backtraceScore=Be}++S}const Z=[],W=this.beginNodes[R][0].prev;if(W===null)return[];let te=W.clone();for(;te.prev!==null;)Z.push(te.clone()),te=te.clone().prev.clone();return Z.reverse(),Z}piece(R){return this.chars.slice(R.pos,R.pos+R.length).join("")}tokens(){return this.viterbi().map(R=>this.piece(R))}tokenIds(){return this.viterbi().map(R=>R.tokenId)}}class V{constructor(R,S,Z,W,te){this.tokenId=R,this.nodeId=S,this.pos=Z,this.length=W,this.score=te,this.prev=null,this.backtraceScore=0}clone(){const R=new V(this.tokenId,this.nodeId,this.pos,this.length,this.score);return R.prev=this.prev,R.backtraceScore=this.backtraceScore,R}}},
2737"./src/utils/devices.js":(x,C,d)=>{d.r(C),d.d(C,{DEVICE_TYPES:()=>k});const k=Object.freeze({auto:"auto",gpu:"gpu",cpu:"cpu",wasm:"wasm",webgpu:"webgpu",cuda:"cuda",dml:"dml",webnn:"webnn","webnn-npu":"webnn-npu","webnn-gpu":"webnn-gpu","webnn-cpu":"webnn-cpu"})},
2737"./src/utils/dtypes.js":(x,C,d)=>{d.r(C),d.d(C,{DATA_TYPES:()=>O,DEFAULT_DEVICE_DTYPE_MAPPING:()=>V,DEFAULT_DTYPE_SUFFIX_MAPPING:()=>X,isWebGpuFp16Supported:()=>j});var k=d("./src/env.js"),F=d("./src/utils/devices.js");const j=function(){let R;return async function(){if(R===void 0)if(k.apis.IS_WEBGPU_AVAILABLE)try{R=(await navigator.gpu.requestAdapter()).features.has("shader-f16")}catch{R=!1}else R=!1;return R}}(),O=Object.freeze({auto:"auto",fp32:"fp32",fp16:"fp16",q8:"q8",int8:"int8",uint8:"uint8",q4:"q4",bnb4:"bnb4",q4f16:"q4f16"}),V=Object.freeze({[F.DEVICE_TYPES.wasm]:O.q8}),X=Object.freeze({[O.fp32]:"",[O.fp16]:"_fp16",[O.int8]:"_int8",[O.uint8]:"_uint8",[O.q8]:"_quantized",[O.q4]:"_q4",[O.q4f16]:"_q4f16",[O.bnb4]:"_bnb4"})},
2737"./src/utils/generic.js":(x,C,d)=>{d.r(C),d.d(C,{Callable:()=>k});const k=class{constructor(){let F=function(...j){return F._call(...j)};return Object.setPrototypeOf(F,new.target.prototype)}_call(...F){throw Error("Must implement _call method in subclass")}}},
2737"./src/utils/hub.js":(x,C,d)=>{d.r(C),d.d(C,{getFile:()=>S,getModelFile:()=>te,getModelJSON:()=>me});var k=d("?7a2c"),F=d("?a42a"),j=d("./src/env.js"),O=d("./src/utils/core.js");const V={txt:"text/plain",html:"text/html",css:"text/css",js:"text/javascript",json:"application/json",png:"image/png",jpg:"image/jpeg",jpeg:"image/jpeg",gif:"image/gif"};class X{constructor(ie){if(this.filePath=ie,this.headers=new Headers,this.exists=k.existsSync(ie),this.exists){this.status=200,this.statusText="OK";let ne=k.statSync(ie);this.headers.set("content-length",ne.size.toString()),this.updateContentType();let ve=this;this.body=new ReadableStream({start(g){ve.arrayBuffer().then(b=>{g.enqueue(new Uint8Array(b)),g.close()})}})}else this.status=404,this.statusText="Not Found",this.body=null}updateContentType(){const ie=this.filePath.toString().split(".").pop().toLowerCase();this.headers.set("content-type",V[ie]??"application/octet-stream")}clone(){let ie=new X(this.filePath);return ie.exists=this.exists,ie.status=this.status,ie.statusText=this.statusText,ie.headers=new Headers(this.headers),ie}async arrayBuffer(){return(await k.promises.readFile(this.filePath)).buffer}async blob(){const ie=await k.promises.readFile(this.filePath);return new Blob([ie],{type:this.headers.get("content-type")})}async text(){return await k.promises.readFile(this.filePath,"utf8")}async json(){return JSON.parse(await this.text())}}function R(Ee,ie=null,ne=null){let ve;try{ve=new URL(Ee)}catch{return!1}return!(ie&&!ie.includes(ve.protocol))&&!(ne&&!ne.includes(ve.hostname))}async function S(Ee){var ie;if(j.env.useFS&&!R(Ee,["http:","https:","blob:"]))return new X(Ee);if(typeof process<"u"&&((ie=process==null?void 0:process.release)==null?void 0:ie.name)==="node"){const ne=!!(o0!=null&&o0.TESTING_REMOTELY),ve=j.env.version,g=new Headers;if(g.set("User-Agent",`transformers.js/${ve}; is_ci/${ne};`),R(Ee,["http:","https:"],["huggingface.co","hf.co"])){const b=(o0==null?void 0:o0.HF_TOKEN)??(o0==null?void 0:o0.HF_ACCESS_TOKEN);b&&g.set("Authorization",`Bearer ${b}`)}return fetch(Ee,{headers:g})}return fetch(Ee)}const Z={400:"Bad request error occurred while trying to load file",401:"Unauthorized access to file",403:"Forbidden access to file",404:"Could not locate file",408:"Request timeout error occurred while trying to load file",500:"Internal server error error occurred while trying to load file",502:"Bad gateway error occurred while trying to load file",503:"Service unavailable error occurred while trying to load file",504:"Gateway timeout error occurred while trying to load file"};class W{constructor(ie){this.path=ie}async match(ie){let ne=F.join(this.path,ie),ve=new X(ne);return ve.exists?ve:void 0}async put(ie,ne){const ve=Buffer.from(await ne.arrayBuffer());let g=F.join(this.path,ie);try{await k.promises.mkdir(F.dirname(g),{recursive:!0}),await k.promises.writeFile(g,ve)}catch(b){console.warn("An error occurred while writing the file to cache:",b)}}}async function te(Ee,ie,ne=!0,ve={}){if(!j.env.allowLocalModels){if(ve.local_files_only)throw Error("Invalid configuration detected: local models are disabled (`env.allowLocalModels=false`) but you have requested to only use local models (`local_files_only=true`).");if(!j.env.allowRemoteModels)throw Error("Invalid configuration detected: both local and remote models are disabled. Fix by setting `env.allowLocalModels` or `env.allowRemoteModels` to `true`.")}let g;if((0,O.dispatchCallback)(ve.progress_callback,{status:"initiate",name:Ee,file:ie}),!g&&j.env.useBrowserCache){if(typeof caches>"u")throw Error("Browser cache is not available in this environment.");try{g=await caches.open("transformers-cache")}catch(tA){console.warn("An error occurred while opening the browser cache:",tA)}}if(!g&&j.env.useFSCache&&(g=new W(ve.cache_dir??j.env.cacheDir)),!g&&j.env.useCustomCache){if(!j.env.customCache)throw Error("`env.useCustomCache=true`, but `env.customCache` is not defined.");if(!j.env.customCache.match||!j.env.customCache.put)throw new Error("`env.customCache` must be an object which implements the `match` and `put` functions of the Web Cache API. For more information, see https://developer.mozilla.org/en-US/docs/Web/API/Cache");g=j.env.customCache}const b=ve.revision??"main";let e,l,M=Be(Ee,ie),ue=Be(j.env.localModelPath,M),D=Be(j.env.remoteHost,j.env.remotePathTemplate.replaceAll("{model}",Ee).replaceAll("{revision}",encodeURIComponent(b)),ie),z=b==="main"?M:Be(Ee,b,ie),Ye=g instanceof W?z:D,Ne=!1;
2737g&&(l=await async function(tA,...BA){for(let DA of BA)try{let Ge=await tA.match(DA);if(Ge)return Ge}catch{continue}}(g,ue,Ye));const Oe=l!==void 0;if(l===void 0){if(j.env.allowLocalModels)if(R(M,["http:","https:"])){if(ve.local_files_only)throw new Error(`\`local_files_only=true\`, but attempted to load a remote file from: ${M}.`);if(!j.env.allowRemoteModels)throw new Error(`\`env.allowRemoteModels=false\`, but attempted to load a remote file from: ${M}.`)}else try{l=await S(ue),e=ue}catch(tA){console.warn(`Unable to load from local path "${ue}": "${tA}"`)}if(l===void 0||l.status===404){if(ve.local_files_only||!j.env.allowRemoteModels){if(ne)throw Error(`\`local_files_only=true\` or \`env.allowRemoteModels=false\` and file was not found locally at "${ue}".`);return null}if(l=await S(D),l.status!==200)return function(tA,BA,DA){if(!DA)return null;const Ge=Z[tA]??`Error (${tA}) occurred while trying to load file`;throw Error(`${Ge}: "${BA}".`)}(l.status,D,ne);e=Ye}Ne=g&&typeof Response<"u"&&l instanceof Response&&l.status===200}let AA;return(0,O.dispatchCallback)(ve.progress_callback,{status:"download",name:Ee,file:ie}),ve.progress_callback?Oe&&typeof navigator<"u"&&/firefox/i.test(navigator.userAgent)?(AA=new Uint8Array(await l.arrayBuffer()),(0,O.dispatchCallback)(ve.progress_callback,{status:"progress",name:Ee,file:ie,progress:100,loaded:AA.length,total:AA.length})):AA=await async function(tA,BA){const DA=tA.headers.get("Content-Length");DA===null&&console.warn("Unable to determine content-length from response headers. Will expand buffer when needed.");let Ge=parseInt(DA??"0"),ke=new Uint8Array(Ge),ze=0;const Ke=tA.body.getReader();async function Pe(){const{done:xA,value:iA}=await Ke.read();if(xA)return;let cA=ze+iA.length;if(cA>Ge){Ge=cA;let yA=new Uint8Array(Ge);yA.set(ke),ke=yA}return ke.set(iA,ze),ze=cA,BA({progress:ze/Ge*100,loaded:ze,total:Ge}),Pe()}return await Pe(),ke}(l,tA=>{(0,O.dispatchCallback)(ve.progress_callback,{status:"progress",name:Ee,file:ie,...tA})}):AA=new Uint8Array(await l.arrayBuffer()),Ne&&e&&await g.match(e)===void 0&&await g.put(e,new Response(AA,{headers:l.headers})).catch(tA=>{console.warn(`Unable to add response to browser cache: ${tA}.`)}),(0,O.dispatchCallback)(ve.progress_callback,{status:"done",name:Ee,file:ie}),AA}async function me(Ee,ie,ne=!0,ve={}){let g=await te(Ee,ie,ne,ve);if(g===null)return{};let b=new TextDecoder("utf-8").decode(g);return JSON.parse(b)}function Be(...Ee){return(Ee=Ee.map((ie,ne)=>(ne&&(ie=ie.replace(new RegExp("^/"),"")),ne!==Ee.length-1&&(ie=ie.replace(new RegExp("/$"),"")),ie))).join("/")}},
2737"./src/utils/image.js":(x,C,d)=>{d.r(C),d.d(C,{RawImage:()=>me,load_image:()=>Be});var k=d("./src/utils/core.js"),F=d("./src/utils/hub.js"),j=d("./src/env.js"),O=d("./src/utils/tensor.js"),V=d("?2b25");let X,R,S;const Z=j.apis.IS_BROWSER_ENV||j.apis.IS_WEBWORKER_ENV;if(Z)X=(Ee,ie)=>{if(!self.OffscreenCanvas)throw new Error("OffscreenCanvas not supported by this browser.");return new self.OffscreenCanvas(Ee,ie)},S=self.createImageBitmap,R=self.ImageData;else{if(!V)throw new Error("Unable to load image processing library.");S=async Ee=>{const ie=(await Ee.metadata()).channels,{data:ne,info:ve}=await Ee.rotate().raw().toBuffer({resolveWithObject:!0}),g=new me(new Uint8ClampedArray(ne),ve.width,ve.height,ve.channels);return ie!==void 0&&ie!==ve.channels&&g.convert(ie),g}}const W={0:"nearest",1:"lanczos",2:"bilinear",3:"bicubic",4:"box",5:"hamming"},te=new Map([["png","image/png"],["jpg","image/jpeg"],["jpeg","image/jpeg"],["gif","image/gif"]]);class me{constructor(ie,ne,ve,g){this.data=ie,this.width=ne,this.height=ve,this.channels=g}get size(){return[this.width,this.height]}static async read(ie){if(ie instanceof me)return ie;if(typeof ie=="string"||ie instanceof URL)return await this.fromURL(ie);throw new Error("Unsupported input type: "+typeof ie)}static fromCanvas(ie){if(!Z)throw new Error("fromCanvas() is only supported in browser environments.");const ne=ie.getContext("2d").getImageData(0,0,ie.width,ie.height).data;return new me(ne,ie.width,ie.height,4)}static async fromURL(ie){const ne=await(0,F.getFile)(ie);if(ne.status!==200)throw new Error(`Unable to read image from "${ie}" (${ne.status} ${ne.statusText})`);const ve=await ne.blob();return this.fromBlob(ve)}static async fromBlob(ie){if(Z){const ne=await S(ie),ve=X(ne.width,ne.height).getContext("2d");return ve.drawImage(ne,0,0),new this(ve.getImageData(0,0,ne.width,ne.height).data,ne.width,ne.height,4)}{const ne=V(await ie.arrayBuffer());return await S(ne)}}static fromTensor(ie,ne="CHW"){if(ie.dims.length!==3)throw new Error(`Tensor should have 3 dimensions, but has ${ie.dims.length} dimensions.`);if(ne==="CHW")ie=ie.transpose(1,2,0);else if(ne!=="HWC")throw new Error(`Unsupported channel format: ${ne}`);if(!(ie.data instanceof Uint8ClampedArray||ie.data instanceof Uint8Array))throw new Error(`Unsupported tensor type: ${ie.type}`);switch(ie.dims[2]){case 1:case 2:case 3:case 4:return new me(ie.data,ie.dims[1],ie.dims[0],ie.dims[2]);default:throw new Error(`Unsupported number of channels: ${ie.dims[2]}`)}}grayscale(){if(this.channels===1)return this;const ie=new Uint8ClampedArray(this.width*this.height*1);switch(this.channels){case 3:case 4:for(let ne=0,ve=0;ne<this.data.length;ne+=this.channels){const g=this.data[ne],b=this.data[ne+1],e=this.data[ne+2];ie[ve++]=Math.round(.2989*g+.587*b+.114*e)}break;default:throw new Error(`Conversion failed due to unsupported number of channels: ${this.channels}`)}return this._update(ie,this.width,this.height,1)}rgb(){if(this.channels===3)return this;const ie=new Uint8ClampedArray(this.width*this.height*3);switch(this.channels){case 1:for(let ne=0,ve=0;ne<this.data.length;++ne)ie[ve++]=this.data[ne],ie[ve++]=this.data[ne],ie[ve++]=this.data[ne];break;case 4:for(let ne=0,ve=0;ne<this.data.length;ne+=4)ie[ve++]=this.data[ne],ie[ve++]=this.data[ne+1],ie[ve++]=this.data[ne+2];break;default:throw new Error(`Conversion failed due to unsupported number of channels: ${this.channels}`)}return this._update(ie,this.width,this.height,3)}rgba(){if(this.channels===4)return this;const ie=new Uint8ClampedArray(this.width*this.height*4);switch(this.channels){case 1:for(let ne=0,ve=0;ne<this.data.length;++ne)ie[ve++]=this.data[ne],ie[ve++]=this.data[ne],ie[ve++]=this.data[ne],ie[ve++]=255;break;case 3:for(let ne=0,ve=0;ne<this.data.length;ne+=3)ie[ve++]=this.data[ne],ie[ve++]=this.data[ne+1],ie[ve++]=this.data[ne+2],ie[ve++]=255;break;default:throw new Error(`Conversion failed due to unsupported number of channels: ${this.channels}`)}return this._update(ie,this.width,this.height,4)}putAlpha(ie){if(ie.width!==this.width||ie.height!==this.height)throw new Error(`Expected mask size to be ${this.width}x${this.height}, but got ${ie.width}x${ie.height}`);if(ie.channels!==1)throw new Error(`Expected mask to have 1 channel, but got ${ie.channels}`);const ne=this.data,ve=ie.data,g=this.width*this.height;if(this.channels===3){const b=new Uint8ClampedArray(4*g);for(let e=0,l=0,M=0;e<g;++e)b[M++]=ne[l++],b[M++]=ne[l++],b[M++]=ne[l++],b[M++]=ve[e];return this._update(b,this.width,this.height,4)}if(this.channels===4){for(let b=0;b<g;++b)ne[4*b+3]=ve[b];return this}throw new Error(`Expected image to have 3 or 4 channels, but got ${this.channels}`)}async resize(ie,ne,{resample:ve=2}={}){if(this.width===ie&&this.height===ne)return this;let g=W[ve]??ve;const b=(0,k.isNullishDimension)(ie),e=(0,k.isNullishDimension)(ne);if(b&&e)return this;if(b?ie=ne/this.height*this.width:e&&(ne=ie/this.width*this.height),Z){const l=this.channels,M=this.toCanvas(),ue=X(ie,ne).getContext("2d");return ue.drawImage(M,0,0,ie,ne),new me(ue.getImageData(0,0,ie,ne).data,ie,ne,4).convert(l)}{let l=this.toSharp();switch(g){case"box":case"hamming":g!=="box"&&g!=="hamming"||(console.warn(`Resampling method ${g} is not yet supported. Using bilinear instead.`),g="bilinear");case"nearest":case"bilinear":case"bicubic":l=l.affine([ie/this.width,0,0,ne/this.height],{interpolator:g});break;case"lanczos":l=l.resize({width:ie,height:ne,fit:"fill",kernel:"lanczos3"});break;default:throw new Error(`Resampling method ${g} is not supported.`)}return await S(l)}}async pad([ie,ne,ve,g]){if(ie=Math.max(ie,0),ne=Math.max(ne,0),ve=Math.max(ve,0),g=Math.max(g,0),ie===0&&ne===0&&ve===0&&g===0)return this;if(Z){const b=this.channels,e=this.toCanvas(),l=this.width+ie+ne,M=this.height+ve+g,ue=X(l,M).getContext("2d");return ue.drawImage(e,0,0,this.width,this.height,ie,ve,this.width,this.height),new me(ue.getImageData(0,0,l,M).data,l,M,4).convert(b)}{const b=this.toSharp().extend({left:ie,right:ne,top:ve,bottom:g});return await S(b)}}async crop([ie,ne,ve,g]){if(ie=Math.max(ie,0),ne=Math.max(ne,0),ve=Math.min(ve,this.width-1),g=Math.min(g,this.height-1),ie===0&&ne===0&&ve===this.width-1&&g===this.height-1)return this;const b=ve-ie+1,e=g-ne+1;if(Z){const l=this.channels,M=this.toCanvas(),ue=X(b,e).getContext("2d");return ue.drawImage(M,ie,ne,b,e,0,0,b,e),new me(ue.getImageData(0,0,b,e).data,b,e,4).convert(l)}{const l=this.toSharp().extract({left:ie,top:ne,width:b,height:e});return await S(l)}}async center_crop(ie,ne){if(this.width===ie&&this.height===ne)return this;const ve=(this.width-ie)/2,g=(this.height-ne)/2;if(Z){const b=this.channels,e=this.toCanvas(),l=X(ie,ne).getContext("2d");let M=0,ue=0,D=0,z=0;return ve>=0?M=ve:D=-ve,g>=0?ue=g:z=-g,l.drawImage(e,M,ue,ie,ne,D,z,ie,ne),new me(l.getImageData(0,0,ie,ne).data,ie,ne,4).convert(b)}{let b=this.toSharp();if(ve>=0&&g>=0)b=b.extract({left:Math.floor(ve),top:Math.floor(g),width:ie,height:ne});else if(ve<=0&&g<=0){const e=Math.floor(-g),l=Math.floor(-ve);b=b.extend({top:e,left:l,right:ie-this.width-l,bottom:ne-this.height-e})}else{let e=[0,0],l=0;g<0?(e[0]=Math.floor(-g),e[1]=ne-this.height-e[0]):l=Math.floor(g);let M=[0,0],ue=0;ve<0?(M[0]=Math.floor(-ve),M[1]=ie-this.width-M[0]):ue=Math.floor(ve),b=b.extend({top:e[0],bottom:e[1],left:M[0],right:M[1]}).extract({left:ue,top:l,width:ie,height:ne})}return await S(b)}}async toBlob(ie="image/png",ne=1){if(!Z)throw new Error("toBlob() is only supported in browser environments.");return await this.toCanvas().convertToBlob({type:ie,quality:ne})}toTensor(ie="CHW"){let ne=new O.Tensor("uint8",new Uint8Array(this.data),[this.height,this.width,this.channels]);if(ie!=="HWC"){if(ie!=="CHW")throw new Error(`Unsupported channel format: ${ie}`);ne=ne.permute(2,0,1)}return ne}toCanvas(){if(!Z)throw new Error("toCanvas() is only supported in browser environments.");const ie=this.clone().rgba(),ne=X(ie.width,ie.height),ve=new R(ie.data,ie.width,ie.height);return ne.getContext("2d").putImageData(ve,0,0),ne}split(){const{data:ie,width:ne,height:ve,channels:g}=this,b=ie.constructor,e=ie.length/g,l=Array.from({length:g},()=>new b(e));for(let M=0;M<e;++M){const ue=g*M;for(let D=0;D<g;++D)l[D][M]=ie[ue+D]}return l.map(M=>new me(M,ne,ve,1))}_update(ie,ne,ve,g=null){return this.data=ie,this.width=ne,this.height=ve,g!==null&&(this.channels=g),this}clone(){return new me(this.data.slice(),this.width,this.height,this.channels)}convert(ie){if(this.channels===ie)return this;switch(ie){case 1:this.grayscale();break;case 3:this.rgb();break;case 4:this.rgba();break;default:throw new Error(`Conversion failed due to unsupported number of channels: ${this.channels}`)}return this}async save(ie){if(!Z){if(j.apis.IS_FS_AVAILABLE)return await this.toSharp().toFile(ie);throw new Error("Unable to save the image because filesystem is disabled in this environment.")}
2737{if(j.apis.IS_WEBWORKER_ENV)throw new Error("Unable to save an image from a Web Worker.");const ne=ie.split(".").pop().toLowerCase(),ve=te.get(ne)??"image/png",g=await this.toBlob(ve);(0,k.saveBlob)(ie,g)}}toSharp(){if(Z)throw new Error("toSharp() is only supported in server-side environments.");return V(this.data,{raw:{width:this.width,height:this.height,channels:this.channels}})}}const Be=me.read.bind(me)},
vendor: 8,912 bytes, line 2737
2737"./src/utils/maths.js":(x,C,d)=>{function k(g,[b,e,l],[M,ue],D="bilinear",z=!1){const Ye=ue/l,Ne=M/e,Oe=new g.constructor(M*ue*b),AA=e*l,tA=M*ue;for(let BA=0;BA<M;++BA)for(let DA=0;DA<ue;++DA){const Ge=BA*ue+DA,ke=(DA+.5)/Ye-.5,ze=(BA+.5)/Ne-.5;let Ke=Math.floor(ke),Pe=Math.floor(ze);const xA=Math.min(Ke+1,l-1),iA=Math.min(Pe+1,e-1);Ke=Math.max(Ke,0),Pe=Math.max(Pe,0);const cA=ke-Ke,yA=ze-Pe,gA=(1-cA)*(1-yA),He=cA*(1-yA),Je=(1-cA)*yA,hA=cA*yA,IA=Pe*l,Qe=iA*l,mA=IA+Ke,MA=IA+xA,LA=Qe+Ke,OA=Qe+xA;for(let q=0;q<b;++q){const HA=q*AA;Oe[q*tA+Ge]=gA*g[HA+mA]+He*g[HA+MA]+Je*g[HA+LA]+hA*g[HA+OA]}}return Oe}function F(g,b,e){const l=new Array(e.length),M=new Array(e.length);for(let z=e.length-1,Ye=1;z>=0;--z)M[z]=Ye,l[z]=b[e[z]],Ye*=l[z];const ue=e.map((z,Ye)=>M[e.indexOf(Ye)]),D=new g.constructor(g.length);for(let z=0;z<g.length;++z){let Ye=0;for(let Ne=b.length-1,Oe=z;Ne>=0;--Ne)Ye+=Oe%b[Ne]*ue[Ne],Oe=Math.floor(Oe/b[Ne]);D[Ye]=g[z]}return[D,l]}function j(g){const b=Z(g)[0],e=g.map(ue=>Math.exp(ue-b)),l=e.reduce((ue,D)=>ue+D,0);return e.map(ue=>ue/l)}function O(g){const b=Z(g)[0];let e=0;for(let ue=0;ue<g.length;++ue)e+=Math.exp(g[ue]-b);const l=Math.log(e);return g.map(ue=>ue-b-l)}function V(g,b){let e=0;for(let l=0;l<g.length;++l)e+=g[l]*b[l];return e}function X(g,b){return V(g,b)/(R(g)*R(b))}function R(g){return Math.sqrt(g.reduce((b,e)=>b+e*e,0))}function S(g){if(g.length===0)throw Error("Array must not be empty");let b=g[0],e=0;for(let l=1;l<g.length;++l)g[l]<b&&(b=g[l],e=l);return[b,e]}function Z(g){if(g.length===0)throw Error("Array must not be empty");let b=g[0],e=0;for(let l=1;l<g.length;++l)g[l]>b&&(b=g[l],e=l);return[b,e]}function W(g){return g>0&&!(g&g-1)}d.r(C),d.d(C,{FFT:()=>Be,bankers_round:()=>ne,cos_sim:()=>X,dot:()=>V,dynamic_time_warping:()=>ve,interpolate_data:()=>k,log_softmax:()=>O,magnitude:()=>R,max:()=>Z,medianFilter:()=>Ee,min:()=>S,permute_data:()=>F,round:()=>ie,softmax:()=>j});class te{constructor(b){if(this.size=0|b,this.size<=1||!W(this.size))throw new Error("FFT size must be a power of two larger than 1");this._csize=b<<1,this.table=new Float64Array(2*this.size);for(let l=0;l<this.table.length;l+=2){const M=Math.PI*l/this.size;this.table[l]=Math.cos(M),this.table[l+1]=-Math.sin(M)}let e=0;for(let l=1;this.size>l;l<<=1)++e;this._width=e%2==0?e-1:e,this._bitrev=new Int32Array(1<<this._width);for(let l=0;l<this._bitrev.length;++l){this._bitrev[l]=0;for(let M=0;M<this._width;M+=2){const ue=this._width-M-2;this._bitrev[l]|=(l>>>M&3)<<ue}}}createComplexArray(){return new Float64Array(this._csize)}fromComplexArray(b,e){const l=e||new Array(b.length>>>1);for(let M=0;M<b.length;M+=2)l[M>>>1]=b[M];return l}toComplexArray(b,e){const l=e||this.createComplexArray();for(let M=0;M<l.length;M+=2)l[M]=b[M>>>1],l[M+1]=0;return l}transform(b,e){if(b===e)throw new Error("Input and output buffers must be different");this._transform4(b,e,1)}realTransform(b,e){if(b===e)throw new Error("Input and output buffers must be different");this._realTransform4(b,e,1)}inverseTransform(b,e){if(b===e)throw new Error("Input and output buffers must be different");this._transform4(b,e,-1);for(let l=0;l<b.length;++l)b[l]/=this.size}_transform4(b,e,l){const M=this._csize;let ue,D,z=1<<this._width,Ye=M/z<<1;const Ne=this._bitrev;if(Ye===4)for(ue=0,D=0;ue<M;ue+=Ye,++D){const AA=Ne[D];this._singleTransform2(e,b,ue,AA,z)}else for(ue=0,D=0;ue<M;ue+=Ye,++D){const AA=Ne[D];this._singleTransform4(e,b,ue,AA,z,l)}const Oe=this.table;for(z>>=2;z>=2;z>>=2){Ye=M/z<<1;const AA=Ye>>>2;for(ue=0;ue<M;ue+=Ye){const tA=ue+AA-1;for(let BA=ue,DA=0;BA<tA;BA+=2,DA+=z){const Ge=BA,ke=Ge+AA,ze=ke+AA,Ke=ze+AA,Pe=b[Ge],xA=b[Ge+1],iA=b[ke],cA=b[ke+1],yA=b[ze],gA=b[ze+1],He=b[Ke],Je=b[Ke+1],hA=Oe[DA],IA=l*Oe[DA+1],Qe=iA*hA-cA*IA,mA=iA*IA+cA*hA,MA=Oe[2*DA],LA=l*Oe[2*DA+1],OA=yA*MA-gA*LA,q=yA*LA+gA*MA,HA=Oe[3*DA],ge=l*Oe[3*DA+1],J=He*HA-Je*ge,fe=He*ge+Je*HA,Te=Pe+OA,_e=xA+q,dA=Pe-OA,bA=xA-q,NA=Qe+J,XA=mA+fe,TA=l*(Qe-J),it=l*(mA-fe);b[Ge]=Te+NA,b[Ge+1]=_e+XA,b[ke]=dA+it,b[ke+1]=bA-TA,b[ze]=Te-NA,b[ze+1]=_e-XA,b[Ke]=dA-it,b[Ke+1]=bA+TA}}}}_singleTransform2(b,e,l,M,ue){const D=b[M],z=b[M+1],Ye=b[M+ue],Ne=b[M+ue+1];e[l]=D+Ye,e[l+1]=z+Ne,e[l+2]=D-Ye,e[l+3]=z-Ne}_singleTransform4(b,e,l,M,ue,D){const z=2*ue,Ye=3*ue,Ne=b[M],Oe=b[M+1],AA=b[M+ue],tA=b[M+ue+1],BA=b[M+z],DA=b[M+z+1],Ge=b[M+Ye],ke=b[M+Ye+1],ze=Ne+BA,Ke=Oe+DA,Pe=Ne-BA,xA=Oe-DA,iA=AA+Ge,cA=tA+ke,yA=D*(AA-Ge),gA=D*(tA-ke);e[l]=ze+iA,e[l+1]=Ke+cA,e[l+2]=Pe+gA,e[l+3]=xA-yA,e[l+4]=ze-iA,e[l+5]=Ke-cA,e[l+6]=Pe-gA,e[l+7]=xA+yA}_realTransform4(b,e,l){const M=this._csize;let ue,D,z=1<<this._width,Ye=M/z<<1;const Ne=this._bitrev;if(Ye===4)for(ue=0,D=0;ue<M;ue+=Ye,++D){const tA=Ne[D];this._singleRealTransform2(e,b,ue,tA>>>1,z>>>1)}else for(ue=0,D=0;ue<M;ue+=Ye,++D){const tA=Ne[D];this._singleRealTransform4(e,b,ue,tA>>>1,z>>>1,l)}const Oe=this.table;for(z>>=2;z>=2;z>>=2){Ye=M/z<<1;const tA=Ye>>>1,BA=tA>>>1,DA=BA>>>1;for(ue=0;ue<M;ue+=Ye)for(let Ge=0,ke=0;Ge<=DA;Ge+=2,ke+=z){const ze=ue+Ge,Ke=ze+BA,Pe=Ke+BA,xA=Pe+BA,iA=b[ze],cA=b[ze+1],yA=b[Ke],gA=b[Ke+1],He=b[Pe],Je=b[Pe+1],hA=b[xA],IA=b[xA+1],Qe=iA,mA=cA,MA=Oe[ke],LA=l*Oe[ke+1],OA=yA*MA-gA*LA,q=yA*LA+gA*MA,HA=Oe[2*ke],ge=l*Oe[2*ke+1],J=He*HA-Je*ge,fe=He*ge+Je*HA,Te=Oe[3*ke],_e=l*Oe[3*ke+1],dA=hA*Te-IA*_e,bA=hA*_e+IA*Te,NA=Qe+J,XA=mA+fe,TA=Qe-J,it=mA-fe,tt=OA+dA,at=q+bA,It=l*(OA-dA),Ar=l*(q-bA);if(b[ze]=NA+tt,b[ze+1]=XA+at,b[Ke]=TA+Ar,b[Ke+1]=it-It,Ge===0){b[Pe]=NA-tt,b[Pe+1]=XA-at;continue}if(Ge===DA)continue;const Vr=ue+BA-Ge,$t=ue+tA-Ge;b[Vr]=TA-l*Ar,b[Vr+1]=-it-l*It,b[$t]=NA-l*tt,b[$t+1]=l*at-XA}}const AA=M>>>1;for(let tA=2;tA<AA;tA+=2)b[M-tA]=b[tA],b[M-tA+1]=-b[tA+1]}_singleRealTransform2(b,e,l,M,ue){const D=b[M],z=b[M+ue];e[l]=D+z,e[l+1]=0,e[l+2]=D-z,e[l+3]=0}_singleRealTransform4(b,e,l,M,ue,D){const z=2*ue,Ye=3*ue,Ne=b[M],Oe=b[M+ue],AA=b[M+z],tA=b[M+Ye],BA=Ne+AA,DA=Ne-AA,Ge=Oe+tA,ke=D*(Oe-tA);e[l]=BA+Ge,e[l+1]=0,e[l+2]=DA,e[l+3]=-ke,e[l+4]=BA-Ge,e[l+5]=0,e[l+6]=DA,e[l+7]=ke}}class me{constructor(b){const e=2*(b-1),l=2*(2*b-1),M=2**Math.ceil(Math.log2(l));this.bufferSize=M,this._a=e;const ue=new Float64Array(l),D=new Float64Array(M);this._chirpBuffer=new Float64Array(M),this._buffer1=new Float64Array(M),this._buffer2=new Float64Array(M),this._outBuffer1=new Float64Array(M),this._outBuffer2=new Float64Array(M);const z=-2*Math.PI/b,Ye=Math.cos(z),Ne=Math.sin(z);for(let Oe=0;Oe<l>>1;++Oe){const AA=(Oe+1-b)**2/2,tA=Math.sqrt(Ye**2+Ne**2)**AA,BA=AA*Math.atan2(Ne,Ye),DA=2*Oe;ue[DA]=tA*Math.cos(BA),ue[DA+1]=tA*Math.sin(BA),D[DA]=ue[DA],D[DA+1]=-ue[DA+1]}this._slicedChirpBuffer=ue.subarray(e,l),this._f=new te(M>>1),this._f.transform(this._chirpBuffer,D)}_transform(b,e,l){const M=this._buffer1,ue=this._buffer2,D=this._outBuffer1,z=this._outBuffer2,Ye=this._chirpBuffer,Ne=this._slicedChirpBuffer,Oe=this._a;if(l)for(let AA=0;AA<Ne.length;AA+=2){const tA=AA+1,BA=e[AA>>1];M[AA]=BA*Ne[AA],M[tA]=BA*Ne[tA]}else for(let AA=0;AA<Ne.length;AA+=2){const tA=AA+1;M[AA]=e[AA]*Ne[AA]-e[tA]*Ne[tA],M[tA]=e[AA]*Ne[tA]+e[tA]*Ne[AA]}this._f.transform(D,M);for(let AA=0;AA<Ye.length;AA+=2){const tA=AA+1;ue[AA]=D[AA]*Ye[AA]-D[tA]*Ye[tA],ue[tA]=D[AA]*Ye[tA]+D[tA]*Ye[AA]}this._f.inverseTransform(z,ue);for(let AA=0;AA<z.length;AA+=2){const tA=z[AA+Oe],BA=z[AA+Oe+1],DA=Ne[AA],Ge=Ne[AA+1];b[AA]=tA*DA-BA*Ge,b[AA+1]=tA*Ge+BA*DA}}transform(b,e){this._transform(b,e,!1)}realTransform(b,e){this._transform(b,e,!0)}}class Be{constructor(b){this.fft_length=b,this.isPowerOfTwo=W(b),this.isPowerOfTwo?(this.fft=new te(b),this.outputBufferSize=2*b):(this.fft=new me(b),this.outputBufferSize=this.fft.bufferSize)}realTransform(b,e){this.fft.realTransform(b,e)}transform(b,e){this.fft.transform(b,e)}}function Ee(g,b){if(b%2==0||b<=0)throw new Error("Window size must be a positive odd number");const e=new g.constructor(g.length),l=new g.constructor(b),M=Math.floor(b/2);for(let ue=0;ue<g.length;++ue){let D=0;for(let z=-M;z<=M;++z){let Ye=ue+z;Ye<0?Ye=Math.abs(Ye):Ye>=g.length&&(Ye=2*(g.length-1)-Ye),l[D++]=g[Ye]}l.sort(),e[ue]=l[M]}return e}function ie(g,b){const e=Math.pow(10,b);return Math.round(g*e)/e}function ne(g){const b=Math.round(g);return Math.abs(g)%1==.5?b%2==0?b:b-1:b}function ve(g){const b=g.length,e=g[0].length,l=[b+1,e+1],M=Array.from({length:l[0]},()=>Array(l[1]).fill(1/0));M[0][0]=0;const ue=Array.from({length:l[0]},()=>Array(l[1]).fill(-1));for(let Oe=1;Oe<l[1];++Oe)for(let AA=1;AA<l[0];++AA){const tA=M[AA-1][Oe-1],BA=M[AA-1][Oe],DA=M[AA][Oe-1];let Ge,ke;tA<BA&&tA<DA?(Ge=tA,ke=0):BA<tA&&BA<DA?(Ge=BA,ke=1):(Ge=DA,ke=2),M[AA][Oe]=g[AA-1][Oe-1]+Ge,ue[AA][Oe]=ke}for(let Oe=0;Oe<l[1];++Oe)ue[0][Oe]=2;for(let Oe=0;Oe<l[0];++Oe)ue[Oe][0]=1;let D=b,z=e,Ye=[],Ne=[];for(;D>0||z>0;)switch(Ye.push(D-1),Ne.push(z-1),ue[D][z]){case 0:--D,--z;break;case 1:--D;break;case 2:--z;break;default:throw new Error(`Internal error in dynamic time warping. Unexpected trace[${D}, ${z}]. Please file a bug report.`)}return Ye.reverse(),Ne.reverse(),[Ye,Ne]}},
2737"./src/utils/tensor.js":(x,C,d)=>{d.r(C),d.d(C,{Tensor:()=>V,cat:()=>b,full:()=>z,full_like:()=>Ye,interpolate:()=>R,interpolate_4d:()=>S,layer_norm:()=>ie,matmul:()=>Z,mean:()=>ue,mean_pooling:()=>Ee,ones:()=>Ne,ones_like:()=>Oe,permute:()=>X,quantize_embeddings:()=>DA,rand:()=>BA,rfft:()=>W,slice:()=>Be,stack:()=>e,std_mean:()=>M,topk:()=>te,zeros:()=>AA,zeros_like:()=>tA});var k=d("./src/utils/maths.js"),F=d("./src/backends/onnx.js"),j=d("./src/ops/registry.js");const O=Object.freeze({float32:Float32Array,float16:Uint16Array,float64:Float64Array,string:Array,int8:Int8Array,uint8:Uint8Array,int16:Int16Array,uint16:Uint16Array,int32:Int32Array,uint32:Uint32Array,int64:BigInt64Array,uint64:BigUint64Array,bool:Uint8Array,uint4:Uint8Array,int4:Int8Array});class V{constructor(...ke){Ve(this,"ort_tensor");return(0,F.isONNXTensor)(ke[0])?this.ort_tensor=ke[0]:this.ort_tensor=new F.Tensor(ke[0],ke[1],ke[2]),new Proxy(this,{get:(ze,Ke)=>{if(typeof Ke=="string"){let Pe=Number(Ke);if(Number.isInteger(Pe))return ze._getitem(Pe)}return ze[Ke]},set:(ze,Ke,Pe)=>ze[Ke]=Pe})}get dims(){return this.ort_tensor.dims}set dims(ke){this.ort_tensor.dims=ke}get type(){return this.ort_tensor.type}get data(){return this.ort_tensor.data}get size(){return this.ort_tensor.size}get location(){return this.ort_tensor.location}dispose(){this.ort_tensor.dispose()}*[Symbol.iterator](){const[ke,...ze]=this.dims;if(ze.length>0){const Ke=ze.reduce((Pe,xA)=>Pe*xA);for(let Pe=0;Pe<ke;++Pe)yield this._subarray(Pe,Ke,ze)}else yield*this.data}_getitem(ke){const[ze,...Ke]=this.dims;if(ke=g(ke,ze),Ke.length>0){const Pe=Ke.reduce((xA,iA)=>xA*iA);return this._subarray(ke,Pe,Ke)}return new V(this.type,[this.data[ke]],Ke)}indexOf(ke){const ze=this.data;for(let Ke=0;Ke<ze.length;++Ke)if(ze[Ke]==ke)return Ke;return-1}_subarray(ke,ze,Ke){const Pe=ke*ze,xA=(ke+1)*ze,iA="subarray"in this.data?this.data.subarray(Pe,xA):this.data.slice(Pe,xA);return new V(this.type,iA,Ke)}item(){const ke=this.data;if(ke.length!==1)throw new Error(`a Tensor with ${ke.length} elements cannot be converted to Scalar`);return ke[0]}tolist(){return function(ke,ze){const Ke=ke.length,Pe=ze.reduce((iA,cA)=>iA*cA);if(Ke!==Pe)throw Error(`cannot reshape array of size ${Ke} into shape (${ze})`);let xA=ke;for(let iA=ze.length-1;iA>=0;iA--)xA=xA.reduce((cA,yA)=>{let gA=cA[cA.length-1];return gA.length<ze[iA]?gA.push(yA):cA.push([yA]),cA},[[]]);return xA[0]}(this.data,this.dims)}sigmoid(){return this.clone().sigmoid_()}sigmoid_(){const ke=this.data;for(let ze=0;ze<ke.length;++ze)ke[ze]=1/(1+Math.exp(-ke[ze]));return this}map(ke){return this.clone().map_(ke)}map_(ke){const ze=this.data;for(let Ke=0;Ke<ze.length;++Ke)ze[Ke]=ke(ze[Ke],Ke,ze);return this}mul(ke){return this.clone().mul_(ke)}mul_(ke){const ze=this.data;for(let Ke=0;Ke<ze.length;++Ke)ze[Ke]*=ke;return this}div(ke){return this.clone().div_(ke)}div_(ke){const ze=this.data;for(let Ke=0;Ke<ze.length;++Ke)ze[Ke]/=ke;return this}add(ke){return this.clone().add_(ke)}add_(ke){const ze=this.data;for(let Ke=0;Ke<ze.length;++Ke)ze[Ke]+=ke;return this}sub(ke){return this.clone().sub_(ke)}sub_(ke){const ze=this.data;for(let Ke=0;Ke<ze.length;++Ke)ze[Ke]-=ke;return this}clone(){return new V(this.type,this.data.slice(),this.dims.slice())}slice(...ke){const ze=[],Ke=[];for(let gA=0;gA<this.dims.length;++gA){let He=ke[gA];if(He==null)Ke.push([0,this.dims[gA]]),ze.push(this.dims[gA]);else if(typeof He=="number")He=g(He,this.dims[gA],gA),Ke.push([He,He+1]);else{if(!Array.isArray(He)||He.length!==2)throw new Error(`Invalid slice: ${He}`);{let[Je,hA]=He;if(Je=Je===null?0:g(Je,this.dims[gA],gA,!1),hA=hA===null?this.dims[gA]:g(hA,this.dims[gA],gA,!1),Je>hA)throw new Error(`Invalid slice: ${He}`);const IA=[Math.max(Je,0),Math.min(hA,this.dims[gA])];Ke.push(IA),ze.push(IA[1]-IA[0])}}}const Pe=Ke.map(([gA,He])=>He-gA),xA=Pe.reduce((gA,He)=>gA*He),iA=this.data,cA=new iA.constructor(xA),yA=this.stride();for(let gA=0;gA<xA;++gA){let He=0;for(let Je=Pe.length-1,hA=gA;Je>=0;--Je){const IA=Pe[Je];He+=(hA%IA+Ke[Je][0])*yA[Je],hA=Math.floor(hA/IA)}cA[gA]=iA[He]}return new V(this.type,cA,ze)}permute(...ke){return X(this,ke)}transpose(...ke){return this.permute(...ke)}sum(ke=null,ze=!1){return this.norm(1,ke,ze)}norm(ke="fro",ze=null,Ke=!1){if(ke==="fro")ke=2;else if(typeof ke=="string")throw Error(`Unsupported norm: ${ke}`);const Pe=this.data,xA=(gA,He)=>gA+He**ke;if(ze===null){const gA=Pe.reduce(xA,0)**(1/ke);return new V(this.type,[gA],[])}const[iA,cA,yA]=l(xA,this,ze,Ke);if(ke!==1)for(let gA=0;gA<cA.length;++gA)cA[gA]=cA[gA]**(1/ke);return new V(iA,cA,yA)}normalize_(ke=2,ze=1){ze=g(ze,this.dims.length);const Ke=this.norm(ke,ze,!0),Pe=this.data,xA=Ke.data;for(let iA=0;iA<Pe.length;++iA){let cA=0;for(let yA=this.dims.length-1,gA=iA,He=1;yA>=0;--yA){const Je=this.dims[yA];yA!==ze&&(cA+=gA%Je*He,He*=this.dims[yA]),gA=Math.floor(gA/Je)}Pe[iA]/=xA[cA]}return this}normalize(ke=2,ze=1){return this.clone().normalize_(ke,ze)}stride(){return function(ke){const ze=new Array(ke.length);for(let Ke=ke.length-1,Pe=1;Ke>=0;--Ke)ze[Ke]=Pe,Pe*=ke[Ke];return ze}(this.dims)}squeeze(ke=null){return new V(this.type,this.data,ne(this.dims,ke))}squeeze_(ke=null){return this.dims=ne(this.dims,ke),this}unsqueeze(ke=null){return new V(this.type,this.data,ve(this.dims,ke))}unsqueeze_(ke=null){return this.dims=ve(this.dims,ke),this}
2737flatten_(ke=0,ze=-1){ze=(ze+this.dims.length)%this.dims.length;let Ke=this.dims.slice(0,ke),Pe=this.dims.slice(ke,ze+1),xA=this.dims.slice(ze+1);return this.dims=[...Ke,Pe.reduce((iA,cA)=>iA*cA,1),...xA],this}flatten(ke=0,ze=-1){return this.clone().flatten_(ke,ze)}view(...ke){let ze=-1;for(let Pe=0;Pe<ke.length;++Pe)if(ke[Pe]===-1){if(ze!==-1)throw new Error("Only one dimension can be inferred");ze=Pe}const Ke=this.data;if(ze!==-1){const Pe=ke.reduce((xA,iA,cA)=>cA!==ze?xA*iA:xA,1);ke[ze]=Ke.length/Pe}return new V(this.type,Ke,ke)}neg_(){const ke=this.data;for(let ze=0;ze<ke.length;++ze)ke[ze]=-ke[ze];return this}neg(){return this.clone().neg_()}gt(ke){const ze=new Uint8Array(this.data.length),Ke=this.data;for(let Pe=0;Pe<Ke.length;++Pe)ze[Pe]=Ke[Pe]>ke?1:0;return new V("bool",ze,this.dims)}lt(ke){const ze=new Uint8Array(this.data.length),Ke=this.data;for(let Pe=0;Pe<Ke.length;++Pe)ze[Pe]=Ke[Pe]<ke?1:0;return new V("bool",ze,this.dims)}clamp_(ke,ze){const Ke=this.data;for(let Pe=0;Pe<Ke.length;++Pe)Ke[Pe]=Math.min(Math.max(Ke[Pe],ke),ze);return this}clamp(ke,ze){return this.clone().clamp_(ke,ze)}round_(){const ke=this.data;for(let ze=0;ze<ke.length;++ze)ke[ze]=Math.round(ke[ze]);return this}round(){return this.clone().round_()}mean(ke=null,ze=!1){return ue(this,ke,ze)}min(ke=null,ze=!1){if(ke===null){const iA=(0,k.min)(this.data)[0];return new V(this.type,[iA],[])}const[Ke,Pe,xA]=l((iA,cA)=>Math.min(iA,cA),this,ke,ze,1/0);return new V(Ke,Pe,xA)}max(ke=null,ze=!1){if(ke===null){const iA=(0,k.max)(this.data)[0];return new V(this.type,[iA],[])}const[Ke,Pe,xA]=l((iA,cA)=>Math.max(iA,cA),this,ke,ze,-1/0);return new V(Ke,Pe,xA)}argmin(ke=null,ze=!1){if(ke!==null)throw new Error("`dim !== null` not yet implemented.");const Ke=(0,k.min)(this.data)[1];return new V("int64",[BigInt(Ke)],[])}argmax(ke=null,ze=!1){if(ke!==null)throw new Error("`dim !== null` not yet implemented.");const Ke=(0,k.max)(this.data)[1];return new V("int64",[BigInt(Ke)],[])}to(ke){if(this.type===ke)return this;if(!O.hasOwnProperty(ke))throw new Error(`Unsupported type: ${ke}`);let ze;const Ke=["int64","uint64"].includes(this.type),Pe=["int64","uint64"].includes(ke);return Ke&&!Pe?ze=Number:!Ke&&Pe&&(ze=BigInt),new V(ke,O[ke].from(this.data,ze),this.dims)}}function X(Ge,ke){const[ze,Ke]=(0,k.permute_data)(Ge.data,Ge.dims,ke);return new V(Ge.type,ze,Ke)}function R(Ge,[ke,ze],Ke="bilinear",Pe=!1){const xA=Ge.dims.at(-3)??1,iA=Ge.dims.at(-2),cA=Ge.dims.at(-1);let yA=(0,k.interpolate_data)(Ge.data,[xA,iA,cA],[ke,ze],Ke,Pe);return new V(Ge.type,yA,[xA,ke,ze])}async function S(Ge,{size:ke=null,mode:ze="bilinear"}={}){if(Ge.dims.length!==4)throw new Error("`interpolate_4d` currently only supports 4D input.");if(!ke)throw new Error("`interpolate_4d` requires a `size` argument.");let Ke,Pe;if(ke.length===2)Ke=[...Ge.dims.slice(0,2),...ke];else if(ke.length===3)Ke=[Ge.dims[0],...ke];else{if(ke.length!==4)throw new Error("`size` must be of length 2, 3, or 4.");Ke=ke}if(ze==="nearest")Pe=await j.TensorOpRegistry.nearest_interpolate_4d;else if(ze==="bilinear")Pe=await j.TensorOpRegistry.bilinear_interpolate_4d;else{if(ze!=="bicubic")throw new Error(`Unsupported mode: ${ze}`);Pe=await j.TensorOpRegistry.bicubic_interpolate_4d}const xA=new V("int64",new BigInt64Array(Ke.map(BigInt)),[Ke.length]);return await Pe({x:Ge,s:xA})}async function Z(Ge,ke){return await(await j.TensorOpRegistry.matmul)({a:Ge,b:ke})}async function W(Ge,ke){return await(await j.TensorOpRegistry.rfft)({x:Ge,a:ke})}async function te(Ge,ke){const ze=await j.TensorOpRegistry.top_k;return ke=ke==null?Ge.dims.at(-1):Math.min(ke,Ge.dims.at(-1)),await ze({x:Ge,k:new V("int64",[BigInt(ke)],[1])})}const me=Ge=>new V("int64",Ge,[Ge.length]);async function Be(Ge,ke,ze,Ke,Pe){return await(await j.TensorOpRegistry.slice)({x:Ge,s:me(ke),e:me(ze),a:me(Ke),t:me(Pe??new Array(Ke.length).fill(1))})}function Ee(Ge,ke){const ze=Ge.data,Ke=ke.data,Pe=[Ge.dims[0],Ge.dims[2]],xA=new ze.constructor(Pe[0]*Pe[1]),[iA,cA,yA]=Ge.dims;let gA=0;for(let He=0;He<iA;++He){const Je=He*yA*cA;for(let hA=0;hA<yA;++hA){let IA=0,Qe=0;const mA=He*cA,MA=Je+hA;for(let OA=0;OA<cA;++OA){const q=Number(Ke[mA+OA]);Qe+=q,IA+=ze[MA+OA*yA]*q}const LA=IA/Qe;xA[gA++]=LA}}return new V(Ge.type,xA,Pe)}function ie(Ge,ke,{eps:ze=1e-5}={}){if(Ge.dims.length!==2)throw new Error("`layer_norm` currently only supports 2D input.");const[Ke,Pe]=Ge.dims;if(ke.length!==1&&ke[0]!==Pe)throw new Error("`normalized_shape` must be a 1D array with shape `[input.dims[1]]`.");const[xA,iA]=M(Ge,1,0,!0),cA=xA.data,yA=iA.data,gA=Ge.data,He=new gA.constructor(gA.length);for(let Je=0;Je<Ke;++Je){const hA=Je*Pe;for(let IA=0;IA<Pe;++IA){const Qe=hA+IA;He[Qe]=(gA[Qe]-yA[Je])/(cA[Je]+ze)}}return new V(Ge.type,He,Ge.dims)}function ne(Ge,ke){return Ge=Ge.slice(),ke===null?Ge=Ge.filter(ze=>ze!==1):typeof ke=="number"?Ge[ke]===1&&Ge.splice(ke,1):Array.isArray(ke)&&(Ge=Ge.filter((ze,Ke)=>ze!==1||!ke.includes(Ke))),Ge}function ve(Ge,ke){return ke=g(ke,Ge.length+1),(Ge=Ge.slice()).splice(ke,0,1),Ge}function g(Ge,ke,ze=null,Ke=!0){if(Ke&&(Ge<-ke||Ge>=ke))throw new Error(`IndexError: index ${Ge} is out of bounds for dimension${ze===null?"":" "+ze} with size ${ke}`);return Ge<0&&(Ge=(Ge%ke+ke)%ke),Ge}function b(Ge,ke=0){ke=g(ke,Ge[0].dims.length);const ze=Ge[0].dims.slice();ze[ke]=Ge.reduce((iA,cA)=>iA+cA.dims[ke],0);const Ke=ze.reduce((iA,cA)=>iA*cA,1),Pe=new Ge[0].data.constructor(Ke),xA=Ge[0].type;if(ke===0){let iA=0;for(const cA of Ge){const yA=cA.data;Pe.set(yA,iA),iA+=yA.length}}else{let iA=0;for(let cA=0;cA<Ge.length;++cA){const{data:yA,dims:gA}=Ge[cA];for(let He=0;He<yA.length;++He){let Je=0;for(let hA=gA.length-1,IA=He,Qe=1;hA>=0;--hA){const mA=gA[hA];let MA=IA%mA;hA===ke&&(MA+=iA),Je+=MA*Qe,Qe*=ze[hA],IA=Math.floor(IA/mA)}Pe[Je]=yA[He]}
2737iA+=gA[ke]}}return new V(xA,Pe,ze)}function e(Ge,ke=0){return b(Ge.map(ze=>ze.unsqueeze(ke)),ke)}function l(Ge,ke,ze=null,Ke=!1,Pe=null){const xA=ke.data,iA=ke.dims;ze=g(ze,iA.length);const cA=iA.slice();cA[ze]=1;const yA=new xA.constructor(xA.length/iA[ze]);Pe!==null&&yA.fill(Pe);for(let gA=0;gA<xA.length;++gA){let He=0;for(let Je=iA.length-1,hA=gA,IA=1;Je>=0;--Je){const Qe=iA[Je];Je!==ze&&(He+=hA%Qe*IA,IA*=cA[Je]),hA=Math.floor(hA/Qe)}yA[He]=Ge(yA[He],xA[gA],gA,He)}return Ke||cA.splice(ze,1),[ke.type,yA,cA]}function M(Ge,ke=null,ze=1,Ke=!1){const Pe=Ge.data,xA=Ge.dims;if(ke===null){const Je=Pe.reduce((mA,MA)=>mA+MA,0),hA=Je/Pe.length,IA=Math.sqrt(Pe.reduce((mA,MA)=>mA+(MA-hA)**2,0)/(Pe.length-ze)),Qe=new V(Ge.type,[hA],[]);return[new V(Ge.type,[IA],[]),Qe]}const iA=ue(Ge,ke=g(ke,xA.length),Ke),cA=iA.data,[yA,gA,He]=l((Je,hA,IA,Qe)=>Je+(hA-cA[Qe])**2,Ge,ke,Ke);for(let Je=0;Je<gA.length;++Je)gA[Je]=Math.sqrt(gA[Je]/(xA[ke]-ze));return[new V(yA,gA,He),iA]}function ue(Ge,ke=null,ze=!1){const Ke=Ge.dims,Pe=Ge.data;if(ke===null){const yA=Pe.reduce((gA,He)=>gA+He,0);return new V(Ge.type,[yA/Pe.length],[])}ke=g(ke,Ke.length);const[xA,iA,cA]=l((yA,gA)=>yA+gA,Ge,ke,ze);if(Ke[ke]!==1)for(let yA=0;yA<iA.length;++yA)iA[yA]/=Ke[ke];return new V(xA,iA,cA)}function D(Ge,ke,ze,Ke){const Pe=Ge.reduce((xA,iA)=>xA*iA,1);return new V(ze,new Ke(Pe).fill(ke),Ge)}function z(Ge,ke){let ze,Ke;if(typeof ke=="number")ze="float32",Ke=Float32Array;else if(typeof ke=="bigint")ze="int64",Ke=BigInt64Array;else{if(typeof ke!="boolean")throw new Error("Unsupported data type: "+typeof ke);ze="bool",Ke=Uint8Array}return D(Ge,ke,ze,Ke)}function Ye(Ge,ke){return z(Ge.dims,ke)}function Ne(Ge){return D(Ge,1n,"int64",BigInt64Array)}function Oe(Ge){return Ne(Ge.dims)}function AA(Ge){return D(Ge,0n,"int64",BigInt64Array)}function tA(Ge){return AA(Ge.dims)}function BA(Ge){const ke=Ge.reduce((ze,Ke)=>ze*Ke,1);return new V("float32",Float32Array.from({length:ke},()=>Math.random()),Ge)}function DA(Ge,ke){if(Ge.dims.length!==2)throw new Error("The tensor must have 2 dimensions");if(Ge.dims.at(-1)%8!=0)throw new Error("The last dimension of the tensor must be a multiple of 8");if(!["binary","ubinary"].includes(ke))throw new Error("The precision must be either 'binary' or 'ubinary'");const ze=ke==="binary",Ke=ze?"int8":"uint8",Pe=ze?Int8Array:Uint8Array,xA=Ge.data,iA=new Pe(xA.length/8);for(let cA=0;cA<xA.length;++cA){const yA=xA[cA]>0?1:0,gA=Math.floor(cA/8),He=cA%8;iA[gA]|=yA<<7-He,ze&&He===0&&(iA[gA]-=128)}return new V(Ke,iA,[Ge.dims[0],Ge.dims[1]/8])}}
2737},Lu={};function dr(x){var C=Lu[x];if(C!==void 0)return C.exports;var d=Lu[x]={exports:{}};return Zu[x](d,d.exports,dr),d.exports}dr.m=Zu,f2=Object.getPrototypeOf?x=>Object.getPrototypeOf(x):x=>x.__proto__,dr.t=function(x,C){if(1&C&&(x=this(x)),8&C||typeof x=="object"&&x&&(4&C&&x.__esModule||16&C&&typeof x.then=="function"))return x;var d=Object.create(null);dr.r(d);var k={};qc=qc||[null,f2({}),f2([]),f2(f2)];for(var F=2&C&&x;typeof F=="object"&&!~qc.indexOf(F);F=f2(F))Object.getOwnPropertyNames(F).forEach(j=>k[j]=()=>x[j]);return k.default=()=>x,dr.d(d,k),d},dr.d=(x,C)=>{for(var d in C)dr.o(C,d)&&!dr.o(x,d)&&Object.defineProperty(x,d,{enumerable:!0,get:C[d]})},dr.o=(x,C)=>Object.prototype.hasOwnProperty.call(x,C),dr.r=x=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(x,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(x,"__esModule",{value:!0})},(()=>{var x;if(typeof import.meta.url=="string"&&(x=import.meta.url),!x)throw new Error("Automatic publicPath is not supported in this browser");x=x.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),dr.p=x})(),dr.b=new URL(import.meta.url);var b2={};(()=>{dr.r(b2),dr.d(b2,{ASTFeatureExtractor:()=>S.ASTFeatureExtractor,ASTForAudioClassification:()=>d.ASTForAudioClassification,ASTModel:()=>d.ASTModel,ASTPreTrainedModel:()=>d.ASTPreTrainedModel,AlbertForMaskedLM:()=>d.AlbertForMaskedLM,AlbertForQuestionAnswering:()=>d.AlbertForQuestionAnswering,AlbertForSequenceClassification:()=>d.AlbertForSequenceClassification,AlbertModel:()=>d.AlbertModel,AlbertPreTrainedModel:()=>d.AlbertPreTrainedModel,AlbertTokenizer:()=>k.AlbertTokenizer,AudioClassificationPipeline:()=>C.AudioClassificationPipeline,AutoConfig:()=>F.AutoConfig,AutoFeatureExtractor:()=>Z.AutoFeatureExtractor,AutoImageProcessor:()=>me.AutoImageProcessor,AutoModel:()=>d.AutoModel,AutoModelForAudioClassification:()=>d.AutoModelForAudioClassification,AutoModelForAudioFrameClassification:()=>d.AutoModelForAudioFrameClassification,AutoModelForCTC:()=>d.AutoModelForCTC,AutoModelForCausalLM:()=>d.AutoModelForCausalLM,AutoModelForDepthEstimation:()=>d.AutoModelForDepthEstimation,AutoModelForDocumentQuestionAnswering:()=>d.AutoModelForDocumentQuestionAnswering,AutoModelForImageClassification:()=>d.AutoModelForImageClassification,AutoModelForImageFeatureExtraction:()=>d.AutoModelForImageFeatureExtraction,AutoModelForImageMatting:()=>d.AutoModelForImageMatting,AutoModelForImageSegmentation:()=>d.AutoModelForImageSegmentation,AutoModelForImageToImage:()=>d.AutoModelForImageToImage,AutoModelForMaskGeneration:()=>d.AutoModelForMaskGeneration,AutoModelForMaskedLM:()=>d.AutoModelForMaskedLM,AutoModelForNormalEstimation:()=>d.AutoModelForNormalEstimation,AutoModelForObjectDetection:()=>d.AutoModelForObjectDetection,AutoModelForPoseEstimation:()=>d.AutoModelForPoseEstimation,AutoModelForQuestionAnswering:()=>d.AutoModelForQuestionAnswering,AutoModelForSemanticSegmentation:()=>d.AutoModelForSemanticSegmentation,AutoModelForSeq2SeqLM:()=>d.AutoModelForSeq2SeqLM,AutoModelForSequenceClassification:()=>d.AutoModelForSequenceClassification,AutoModelForSpeechSeq2Seq:()=>d.AutoModelForSpeechSeq2Seq,AutoModelForTextToSpectrogram:()=>d.AutoModelForTextToSpectrogram,AutoModelForTextToWaveform:()=>d.AutoModelForTextToWaveform,AutoModelForTokenClassification:()=>d.AutoModelForTokenClassification,AutoModelForUniversalSegmentation:()=>d.AutoModelForUniversalSegmentation,AutoModelForVision2Seq:()=>d.AutoModelForVision2Seq,AutoModelForXVector:()=>d.AutoModelForXVector,AutoModelForZeroShotObjectDetection:()=>d.AutoModelForZeroShotObjectDetection,AutoProcessor:()=>ie.AutoProcessor,AutoTokenizer:()=>k.AutoTokenizer,AutomaticSpeechRecognitionPipeline:()=>C.AutomaticSpeechRecognitionPipeline,BartForConditionalGeneration:()=>d.BartForConditionalGeneration,BartForSequenceClassification:()=>d.BartForSequenceClassification,BartModel:()=>d.BartModel,BartPretrainedModel:()=>d.BartPretrainedModel,BartTokenizer:()=>k.BartTokenizer,BaseModelOutput:()=>d.BaseModelOutput,BaseStreamer:()=>ne.BaseStreamer,BeitFeatureExtractor:()=>te.BeitFeatureExtractor,BeitForImageClassification:()=>
2737d.BeitForImageClassification,BeitModel:()=>d.BeitModel,BeitPreTrainedModel:()=>d.BeitPreTrainedModel,BertForMaskedLM:()=>d.BertForMaskedLM,BertForQuestionAnswering:()=>d.BertForQuestionAnswering,BertForSequenceClassification:()=>d.BertForSequenceClassification,BertForTokenClassification:()=>d.BertForTokenClassification,BertModel:()=>d.BertModel,BertPreTrainedModel:()=>d.BertPreTrainedModel,BertTokenizer:()=>k.BertTokenizer,BitImageProcessor:()=>te.BitImageProcessor,BlenderbotForConditionalGeneration:()=>d.BlenderbotForConditionalGeneration,BlenderbotModel:()=>d.BlenderbotModel,BlenderbotPreTrainedModel:()=>d.BlenderbotPreTrainedModel,BlenderbotSmallForConditionalGeneration:()=>d.BlenderbotSmallForConditionalGeneration,BlenderbotSmallModel:()=>d.BlenderbotSmallModel,BlenderbotSmallPreTrainedModel:()=>d.BlenderbotSmallPreTrainedModel,BlenderbotSmallTokenizer:()=>k.BlenderbotSmallTokenizer,BlenderbotTokenizer:()=>k.BlenderbotTokenizer,BloomForCausalLM:()=>d.BloomForCausalLM,BloomModel:()=>d.BloomModel,BloomPreTrainedModel:()=>d.BloomPreTrainedModel,BloomTokenizer:()=>k.BloomTokenizer,CLIPFeatureExtractor:()=>te.CLIPFeatureExtractor,CLIPImageProcessor:()=>te.CLIPImageProcessor,CLIPModel:()=>d.CLIPModel,CLIPPreTrainedModel:()=>d.CLIPPreTrainedModel,CLIPSegForImageSegmentation:()=>d.CLIPSegForImageSegmentation,CLIPSegModel:()=>d.CLIPSegModel,CLIPSegPreTrainedModel:()=>d.CLIPSegPreTrainedModel,CLIPTextModel:()=>d.CLIPTextModel,CLIPTextModelWithProjection:()=>d.CLIPTextModelWithProjection,CLIPTokenizer:()=>k.CLIPTokenizer,CLIPVisionModel:()=>d.CLIPVisionModel,CLIPVisionModelWithProjection:()=>d.CLIPVisionModelWithProjection,CamembertForMaskedLM:()=>d.CamembertForMaskedLM,CamembertForQuestionAnswering:()=>d.CamembertForQuestionAnswering,CamembertForSequenceClassification:()=>d.CamembertForSequenceClassification,CamembertForTokenClassification:()=>d.CamembertForTokenClassification,CamembertModel:()=>d.CamembertModel,CamembertPreTrainedModel:()=>d.CamembertPreTrainedModel,CamembertTokenizer:()=>k.CamembertTokenizer,CausalLMOutput:()=>d.CausalLMOutput,CausalLMOutputWithPast:()=>d.CausalLMOutputWithPast,ChineseCLIPFeatureExtractor:()=>te.ChineseCLIPFeatureExtractor,ChineseCLIPModel:()=>d.ChineseCLIPModel,ChineseCLIPPreTrainedModel:()=>d.ChineseCLIPPreTrainedModel,ClapAudioModelWithProjection:()=>d.ClapAudioModelWithProjection,ClapFeatureExtractor:()=>S.ClapFeatureExtractor,ClapModel:()=>d.ClapModel,ClapPreTrainedModel:()=>d.ClapPreTrainedModel,ClapTextModelWithProjection:()=>d.ClapTextModelWithProjection,ClassifierFreeGuidanceLogitsProcessor:()=>g.ClassifierFreeGuidanceLogitsProcessor,CodeGenForCausalLM:()=>d.CodeGenForCausalLM,CodeGenModel:()=>d.CodeGenModel,CodeGenPreTrainedModel:()=>d.CodeGenPreTrainedModel,CodeGenTokenizer:()=>k.CodeGenTokenizer,CodeLlamaTokenizer:()=>k.CodeLlamaTokenizer,CohereForCausalLM:()=>d.CohereForCausalLM,CohereModel:()=>d.CohereModel,CoherePreTrainedModel:()=>d.CoherePreTrainedModel,CohereTokenizer:()=>k.CohereTokenizer,ConvBertForMaskedLM:()=>d.ConvBertForMaskedLM,ConvBertForQuestionAnswering:()=>d.ConvBertForQuestionAnswering,ConvBertForSequenceClassification:()=>d.ConvBertForSequenceClassification,ConvBertForTokenClassification:()=>d.ConvBertForTokenClassification,ConvBertModel:()=>d.ConvBertModel,ConvBertPreTrainedModel:()=>d.ConvBertPreTrainedModel,ConvBertTokenizer:()=>k.ConvBertTokenizer,ConvNextFeatureExtractor:()=>te.ConvNextFeatureExtractor,ConvNextForImageClassification:()=>d.ConvNextForImageClassification,ConvNextImageProcessor:()=>te.ConvNextImageProcessor,ConvNextModel:()=>d.ConvNextModel,ConvNextPreTrainedModel:()=>d.ConvNextPreTrainedModel,ConvNextV2ForImageClassification:()=>d.ConvNextV2ForImageClassification,ConvNextV2Model:()=>d.ConvNextV2Model,ConvNextV2PreTrainedModel:()=>d.ConvNextV2PreTrainedModel,DPTFeatureExtractor:()=>te.DPTFeatureExtractor,DPTForDepthEstimation:()=>d.DPTForDepthEstimation,DPTImageProcessor:()=>te.DPTImageProcessor,DPTModel:()=>d.DPTModel,DPTPreTrainedModel:()=>d.DPTPreTrainedModel,DebertaForMaskedLM:()=>d.DebertaForMaskedLM,DebertaForQuestionAnswering:()=>d.DebertaForQuestionAnswering,DebertaForSequenceClassification:()=>d.DebertaForSequenceClassification,DebertaForTokenClassification:()=>d.DebertaForTokenClassification,DebertaModel:()=>d.DebertaModel,DebertaPreTrainedModel:()=>d.DebertaPreTrainedModel,DebertaTokenizer:()=>k.DebertaTokenizer,DebertaV2ForMaskedLM:()=>d.DebertaV2ForMaskedLM,DebertaV2ForQuestionAnswering:()=>d.DebertaV2ForQuestionAnswering,DebertaV2ForSequenceClassification:()=>d.DebertaV2ForSequenceClassification,DebertaV2ForTokenClassification:()=>d.DebertaV2ForTokenClassification,DebertaV2Model:()=>d.DebertaV2Model,DebertaV2PreTrainedModel:()=>d.DebertaV2PreTrainedModel,DebertaV2Tokenizer:()=>k.DebertaV2Tokenizer,DecisionTransformerModel:()=>d.DecisionTransformerModel,DecisionTransformerPreTrainedModel:()=>d.DecisionTransformerPreTrainedModel,DeiTFeatureExtractor:()=>te.DeiTFeatureExtractor,DeiTForImageClassification:()=>d.DeiTForImageClassification,DeiTImageProcessor:()=>te.DeiTImageProcessor,DeiTModel:()=>d.DeiTModel,DeiTPreTrainedModel:()=>d.DeiTPreTrainedModel,DepthAnythingForDepthEstimation:()=>d.DepthAnythingForDepthEstimation,DepthAnythingPreTrainedModel:()=>d.DepthAnythingPreTrainedModel,DepthEstimationPipeline:()=>C.DepthEstimationPipeline,DepthProForDepthEstimation:()=>d.DepthProForDepthEstimation,DepthProPreTrainedModel:()=>d.DepthProPreTrainedModel,DetrFeatureExtractor:()=>te.DetrFeatureExtractor,DetrForObjectDetection:()=>d.DetrForObjectDetection,DetrForSegmentation:()=>d.DetrForSegmentation,DetrImageProcessor:()=>te.DetrImageProcessor,DetrModel:()=>d.DetrModel,DetrObjectDetectionOutput:()=>d.DetrObjectDetectionOutput,DetrPreTrainedModel:()=>d.DetrPreTrainedModel,DetrSegmentationOutput:()=>d.DetrSegmentationOutput,Dinov2ForImageClassification:()=>d.Dinov2ForImageClassification,Dinov2Model:()=>d.Dinov2Model,Dinov2PreTrainedModel:()=>d.Dinov2PreTrainedModel,Dinov2WithRegistersForImageClassification:()=>d.Dinov2WithRegistersForImageClassification,Dinov2WithRegistersModel:()=>d.Dinov2WithRegistersModel,Dinov2WithRegistersPreTrainedModel:()=>d.Dinov2WithRegistersPreTrainedModel,DistilBertForMaskedLM:()=>d.DistilBertForMaskedLM,DistilBertForQuestionAnswering:()=>d.DistilBertForQuestionAnswering,DistilBertForSequenceClassification:()=>d.DistilBertForSequenceClassification,DistilBertForTokenClassification:()=>d.DistilBertForTokenClassification,DistilBertModel:()=>d.DistilBertModel,DistilBertPreTrainedModel:()=>d.DistilBertPreTrainedModel,DistilBertTokenizer:()=>k.DistilBertTokenizer,DocumentQuestionAnsweringPipeline:()=>C.DocumentQuestionAnsweringPipeline,DonutFeatureExtractor:()=>te.DonutFeatureExtractor,DonutImageProcessor:()=>te.DonutImageProcessor,DonutSwinModel:()=>d.DonutSwinModel,DonutSwinPreTrainedModel:()=>d.DonutSwinPreTrainedModel,EfficientNetForImageClassification:()=>d.EfficientNetForImageClassification,EfficientNetImageProcessor:()=>te.EfficientNetImageProcessor,EfficientNetModel:()=>d.EfficientNetModel,EfficientNetPreTrainedModel:()=>
2737d.EfficientNetPreTrainedModel,ElectraForMaskedLM:()=>d.ElectraForMaskedLM,ElectraForQuestionAnswering:()=>d.ElectraForQuestionAnswering,ElectraForSequenceClassification:()=>d.ElectraForSequenceClassification,ElectraForTokenClassification:()=>d.ElectraForTokenClassification,ElectraModel:()=>d.ElectraModel,ElectraPreTrainedModel:()=>d.ElectraPreTrainedModel,ElectraTokenizer:()=>k.ElectraTokenizer,EosTokenCriteria:()=>ve.EosTokenCriteria,EsmForMaskedLM:()=>d.EsmForMaskedLM,EsmForSequenceClassification:()=>d.EsmForSequenceClassification,EsmForTokenClassification:()=>d.EsmForTokenClassification,EsmModel:()=>d.EsmModel,EsmPreTrainedModel:()=>d.EsmPreTrainedModel,EsmTokenizer:()=>k.EsmTokenizer,ExaoneForCausalLM:()=>d.ExaoneForCausalLM,ExaoneModel:()=>d.ExaoneModel,ExaonePreTrainedModel:()=>d.ExaonePreTrainedModel,FFT:()=>X.FFT,FalconForCausalLM:()=>d.FalconForCausalLM,FalconModel:()=>d.FalconModel,FalconPreTrainedModel:()=>d.FalconPreTrainedModel,FalconTokenizer:()=>k.FalconTokenizer,FastViTForImageClassification:()=>d.FastViTForImageClassification,FastViTModel:()=>d.FastViTModel,FastViTPreTrainedModel:()=>d.FastViTPreTrainedModel,FeatureExtractionPipeline:()=>C.FeatureExtractionPipeline,FeatureExtractor:()=>R.FeatureExtractor,FillMaskPipeline:()=>C.FillMaskPipeline,Florence2ForConditionalGeneration:()=>d.Florence2ForConditionalGeneration,Florence2PreTrainedModel:()=>d.Florence2PreTrainedModel,Florence2Processor:()=>Ee.Florence2Processor,ForcedBOSTokenLogitsProcessor:()=>g.ForcedBOSTokenLogitsProcessor,ForcedEOSTokenLogitsProcessor:()=>g.ForcedEOSTokenLogitsProcessor,GLPNFeatureExtractor:()=>te.GLPNFeatureExtractor,GLPNForDepthEstimation:()=>d.GLPNForDepthEstimation,GLPNModel:()=>d.GLPNModel,GLPNPreTrainedModel:()=>d.GLPNPreTrainedModel,GPT2LMHeadModel:()=>d.GPT2LMHeadModel,GPT2Model:()=>d.GPT2Model,GPT2PreTrainedModel:()=>d.GPT2PreTrainedModel,GPT2Tokenizer:()=>k.GPT2Tokenizer,GPTBigCodeForCausalLM:()=>d.GPTBigCodeForCausalLM,GPTBigCodeModel:()=>d.GPTBigCodeModel,GPTBigCodePreTrainedModel:()=>d.GPTBigCodePreTrainedModel,GPTJForCausalLM:()=>d.GPTJForCausalLM,GPTJModel:()=>d.GPTJModel,GPTJPreTrainedModel:()=>d.GPTJPreTrainedModel,GPTNeoForCausalLM:()=>d.GPTNeoForCausalLM,GPTNeoModel:()=>d.GPTNeoModel,GPTNeoPreTrainedModel:()=>d.GPTNeoPreTrainedModel,GPTNeoXForCausalLM:()=>d.GPTNeoXForCausalLM,GPTNeoXModel:()=>d.GPTNeoXModel,GPTNeoXPreTrainedModel:()=>d.GPTNeoXPreTrainedModel,GPTNeoXTokenizer:()=>k.GPTNeoXTokenizer,Gemma2ForCausalLM:()=>d.Gemma2ForCausalLM,Gemma2Model:()=>d.Gemma2Model,Gemma2PreTrainedModel:()=>d.Gemma2PreTrainedModel,GemmaForCausalLM:()=>d.GemmaForCausalLM,GemmaModel:()=>d.GemmaModel,GemmaPreTrainedModel:()=>d.GemmaPreTrainedModel,GemmaTokenizer:()=>k.GemmaTokenizer,GlmForCausalLM:()=>d.GlmForCausalLM,GlmModel:()=>d.GlmModel,GlmPreTrainedModel:()=>d.GlmPreTrainedModel,GraniteForCausalLM:()=>d.GraniteForCausalLM,GraniteModel:()=>d.GraniteModel,GranitePreTrainedModel:()=>d.GranitePreTrainedModel,Grok1Tokenizer:()=>k.Grok1Tokenizer,GroundingDinoForObjectDetection:()=>d.GroundingDinoForObjectDetection,GroundingDinoImageProcessor:()=>te.GroundingDinoImageProcessor,GroundingDinoPreTrainedModel:()=>d.GroundingDinoPreTrainedModel,GroundingDinoProcessor:()=>Ee.GroundingDinoProcessor,GroupViTModel:()=>d.GroupViTModel,GroupViTPreTrainedModel:()=>d.GroupViTPreTrainedModel,HeliumForCausalLM:()=>d.HeliumForCausalLM,HeliumModel:()=>d.HeliumModel,HeliumPreTrainedModel:()=>d.HeliumPreTrainedModel,HerbertTokenizer:()=>k.HerbertTokenizer,HieraForImageClassification:()=>d.HieraForImageClassification,HieraModel:()=>d.HieraModel,HieraPreTrainedModel:()=>d.HieraPreTrainedModel,HubertForCTC:()=>d.HubertForCTC,HubertForSequenceClassification:()=>d.HubertForSequenceClassification,HubertModel:()=>d.HubertModel,HubertPreTrainedModel:()=>d.HubertPreTrainedModel,IJepaForImageClassification:()=>d.IJepaForImageClassification,IJepaModel:()=>d.IJepaModel,IJepaPreTrainedModel:()=>d.IJepaPreTrainedModel,Idefics3ForConditionalGeneration:()=>d.Idefics3ForConditionalGeneration,Idefics3ImageProcessor:()=>te.Idefics3ImageProcessor,Idefics3PreTrainedModel:()=>d.Idefics3PreTrainedModel,Idefics3Processor:()=>Ee.Idefics3Processor,ImageClassificationPipeline:()=>C.ImageClassificationPipeline,ImageFeatureExtractionPipeline:()=>C.ImageFeatureExtractionPipeline,ImageFeatureExtractor:()=>S.ImageFeatureExtractor,ImageMattingOutput:()=>d.ImageMattingOutput,ImageProcessor:()=>W.ImageProcessor,ImageSegmentationPipeline:()=>C.ImageSegmentationPipeline,ImageToImagePipeline:()=>C.ImageToImagePipeline,ImageToTextPipeline:()=>C.ImageToTextPipeline,InterruptableStoppingCriteria:()=>ve.InterruptableStoppingCriteria,JAISLMHeadModel:()=>d.JAISLMHeadModel,JAISModel:()=>d.JAISModel,JAISPreTrainedModel:()=>d.JAISPreTrainedModel,JinaCLIPImageProcessor:()=>te.JinaCLIPImageProcessor,JinaCLIPModel:()=>d.JinaCLIPModel,JinaCLIPPreTrainedModel:()=>d.JinaCLIPPreTrainedModel,JinaCLIPProcessor:()=>Ee.JinaCLIPProcessor,JinaCLIPTextModel:()=>d.JinaCLIPTextModel,JinaCLIPVisionModel:()=>d.JinaCLIPVisionModel,LlamaForCausalLM:()=>d.LlamaForCausalLM,LlamaModel:()=>d.LlamaModel,LlamaPreTrainedModel:()=>d.LlamaPreTrainedModel,LlamaTokenizer:()=>k.LlamaTokenizer,LlavaForConditionalGeneration:()=>d.LlavaForConditionalGeneration,LlavaOnevisionForConditionalGeneration:()=>d.LlavaOnevisionForConditionalGeneration,LlavaOnevisionImageProcessor:()=>te.LlavaOnevisionImageProcessor,LlavaPreTrainedModel:()=>d.LlavaPreTrainedModel,LogitsProcessor:()=>g.LogitsProcessor,LogitsProcessorList:()=>g.LogitsProcessorList,LogitsWarper:()=>g.LogitsWarper,LongT5ForConditionalGeneration:()=>d.LongT5ForConditionalGeneration,LongT5Model:()=>d.LongT5Model,LongT5PreTrainedModel:()=>d.LongT5PreTrainedModel,M2M100ForConditionalGeneration:()=>d.M2M100ForConditionalGeneration,M2M100Model:()=>d.M2M100Model,M2M100PreTrainedModel:()=>d.M2M100PreTrainedModel,M2M100Tokenizer:()=>k.M2M100Tokenizer,MBart50Tokenizer:()=>k.MBart50Tokenizer,MBartForCausalLM:()=>d.MBartForCausalLM,MBartForConditionalGeneration:()=>d.MBartForConditionalGeneration,MBartForSequenceClassification:()=>d.MBartForSequenceClassification,MBartModel:()=>d.MBartModel,MBartPreTrainedModel:()=>d.MBartPreTrainedModel,MBartTokenizer:()=>k.MBartTokenizer,MPNetForMaskedLM:()=>d.MPNetForMaskedLM,MPNetForQuestionAnswering:()=>d.MPNetForQuestionAnswering,MPNetForSequenceClassification:()=>d.MPNetForSequenceClassification,MPNetForTokenClassification:()=>d.MPNetForTokenClassification,MPNetModel:()=>d.MPNetModel,MPNetPreTrainedModel:()=>d.MPNetPreTrainedModel,MPNetTokenizer:()=>
2737k.MPNetTokenizer,MT5ForConditionalGeneration:()=>d.MT5ForConditionalGeneration,MT5Model:()=>d.MT5Model,MT5PreTrainedModel:()=>d.MT5PreTrainedModel,MarianMTModel:()=>d.MarianMTModel,MarianModel:()=>d.MarianModel,MarianPreTrainedModel:()=>d.MarianPreTrainedModel,MarianTokenizer:()=>k.MarianTokenizer,Mask2FormerImageProcessor:()=>te.Mask2FormerImageProcessor,MaskFormerFeatureExtractor:()=>te.MaskFormerFeatureExtractor,MaskFormerForInstanceSegmentation:()=>d.MaskFormerForInstanceSegmentation,MaskFormerImageProcessor:()=>te.MaskFormerImageProcessor,MaskFormerModel:()=>d.MaskFormerModel,MaskFormerPreTrainedModel:()=>d.MaskFormerPreTrainedModel,MaskedLMOutput:()=>d.MaskedLMOutput,MaxLengthCriteria:()=>ve.MaxLengthCriteria,MgpstrForSceneTextRecognition:()=>d.MgpstrForSceneTextRecognition,MgpstrModelOutput:()=>d.MgpstrModelOutput,MgpstrPreTrainedModel:()=>d.MgpstrPreTrainedModel,MgpstrProcessor:()=>Ee.MgpstrProcessor,MgpstrTokenizer:()=>k.MgpstrTokenizer,MinLengthLogitsProcessor:()=>g.MinLengthLogitsProcessor,MinNewTokensLengthLogitsProcessor:()=>g.MinNewTokensLengthLogitsProcessor,MistralForCausalLM:()=>d.MistralForCausalLM,MistralModel:()=>d.MistralModel,MistralPreTrainedModel:()=>d.MistralPreTrainedModel,MobileBertForMaskedLM:()=>d.MobileBertForMaskedLM,MobileBertForQuestionAnswering:()=>d.MobileBertForQuestionAnswering,MobileBertForSequenceClassification:()=>d.MobileBertForSequenceClassification,MobileBertModel:()=>d.MobileBertModel,MobileBertPreTrainedModel:()=>d.MobileBertPreTrainedModel,MobileBertTokenizer:()=>k.MobileBertTokenizer,MobileLLMForCausalLM:()=>d.MobileLLMForCausalLM,MobileLLMModel:()=>d.MobileLLMModel,MobileLLMPreTrainedModel:()=>d.MobileLLMPreTrainedModel,MobileNetV1FeatureExtractor:()=>te.MobileNetV1FeatureExtractor,MobileNetV1ForImageClassification:()=>d.MobileNetV1ForImageClassification,MobileNetV1ImageProcessor:()=>te.MobileNetV1ImageProcessor,MobileNetV1Model:()=>d.MobileNetV1Model,MobileNetV1PreTrainedModel:()=>d.MobileNetV1PreTrainedModel,MobileNetV2FeatureExtractor:()=>te.MobileNetV2FeatureExtractor,MobileNetV2ForImageClassification:()=>d.MobileNetV2ForImageClassification,MobileNetV2ImageProcessor:()=>te.MobileNetV2ImageProcessor,MobileNetV2Model:()=>d.MobileNetV2Model,MobileNetV2PreTrainedModel:()=>d.MobileNetV2PreTrainedModel,MobileNetV3FeatureExtractor:()=>te.MobileNetV3FeatureExtractor,MobileNetV3ForImageClassification:()=>d.MobileNetV3ForImageClassification,MobileNetV3ImageProcessor:()=>te.MobileNetV3ImageProcessor,MobileNetV3Model:()=>d.MobileNetV3Model,MobileNetV3PreTrainedModel:()=>d.MobileNetV3PreTrainedModel,MobileNetV4FeatureExtractor:()=>te.MobileNetV4FeatureExtractor,MobileNetV4ForImageClassification:()=>d.MobileNetV4ForImageClassification,MobileNetV4ImageProcessor:()=>te.MobileNetV4ImageProcessor,MobileNetV4Model:()=>d.MobileNetV4Model,MobileNetV4PreTrainedModel:()=>d.MobileNetV4PreTrainedModel,MobileViTFeatureExtractor:()=>te.MobileViTFeatureExtractor,MobileViTForImageClassification:()=>d.MobileViTForImageClassification,MobileViTImageProcessor:()=>te.MobileViTImageProcessor,MobileViTModel:()=>d.MobileViTModel,MobileViTPreTrainedModel:()=>d.MobileViTPreTrainedModel,MobileViTV2ForImageClassification:()=>d.MobileViTV2ForImageClassification,MobileViTV2Model:()=>d.MobileViTV2Model,MobileViTV2PreTrainedModel:()=>d.MobileViTV2PreTrainedModel,ModelOutput:()=>d.ModelOutput,ModernBertForMaskedLM:()=>d.ModernBertForMaskedLM,ModernBertForSequenceClassification:()=>d.ModernBertForSequenceClassification,ModernBertForTokenClassification:()=>d.ModernBertForTokenClassification,ModernBertModel:()=>d.ModernBertModel,ModernBertPreTrainedModel:()=>d.ModernBertPreTrainedModel,Moondream1ForConditionalGeneration:()=>d.Moondream1ForConditionalGeneration,MoonshineFeatureExtractor:()=>S.MoonshineFeatureExtractor,MoonshineForConditionalGeneration:()=>d.MoonshineForConditionalGeneration,MoonshineModel:()=>d.MoonshineModel,MoonshinePreTrainedModel:()=>d.MoonshinePreTrainedModel,MoonshineProcessor:()=>Ee.MoonshineProcessor,MptForCausalLM:()=>d.MptForCausalLM,MptModel:()=>d.MptModel,MptPreTrainedModel:()=>
2737d.MptPreTrainedModel,MultiModalityCausalLM:()=>d.MultiModalityCausalLM,MultiModalityPreTrainedModel:()=>d.MultiModalityPreTrainedModel,MusicgenForCausalLM:()=>d.MusicgenForCausalLM,MusicgenForConditionalGeneration:()=>d.MusicgenForConditionalGeneration,MusicgenModel:()=>d.MusicgenModel,MusicgenPreTrainedModel:()=>d.MusicgenPreTrainedModel,NllbTokenizer:()=>k.NllbTokenizer,NoBadWordsLogitsProcessor:()=>g.NoBadWordsLogitsProcessor,NoRepeatNGramLogitsProcessor:()=>g.NoRepeatNGramLogitsProcessor,NomicBertModel:()=>d.NomicBertModel,NomicBertPreTrainedModel:()=>d.NomicBertPreTrainedModel,NougatImageProcessor:()=>te.NougatImageProcessor,NougatTokenizer:()=>k.NougatTokenizer,OPTForCausalLM:()=>d.OPTForCausalLM,OPTModel:()=>d.OPTModel,OPTPreTrainedModel:()=>d.OPTPreTrainedModel,ObjectDetectionPipeline:()=>C.ObjectDetectionPipeline,Olmo2ForCausalLM:()=>d.Olmo2ForCausalLM,Olmo2Model:()=>d.Olmo2Model,Olmo2PreTrainedModel:()=>d.Olmo2PreTrainedModel,OlmoForCausalLM:()=>d.OlmoForCausalLM,OlmoModel:()=>d.OlmoModel,OlmoPreTrainedModel:()=>d.OlmoPreTrainedModel,OpenELMForCausalLM:()=>d.OpenELMForCausalLM,OpenELMModel:()=>d.OpenELMModel,OpenELMPreTrainedModel:()=>d.OpenELMPreTrainedModel,OwlViTFeatureExtractor:()=>te.OwlViTFeatureExtractor,OwlViTForObjectDetection:()=>d.OwlViTForObjectDetection,OwlViTImageProcessor:()=>te.OwlViTImageProcessor,OwlViTModel:()=>d.OwlViTModel,OwlViTPreTrainedModel:()=>d.OwlViTPreTrainedModel,OwlViTProcessor:()=>Ee.OwlViTProcessor,Owlv2ForObjectDetection:()=>d.Owlv2ForObjectDetection,Owlv2ImageProcessor:()=>te.Owlv2ImageProcessor,Owlv2Model:()=>d.Owlv2Model,Owlv2PreTrainedModel:()=>d.Owlv2PreTrainedModel,PaliGemmaForConditionalGeneration:()=>d.PaliGemmaForConditionalGeneration,PaliGemmaPreTrainedModel:()=>d.PaliGemmaPreTrainedModel,PaliGemmaProcessor:()=>Ee.PaliGemmaProcessor,PatchTSMixerForPrediction:()=>d.PatchTSMixerForPrediction,PatchTSMixerModel:()=>d.PatchTSMixerModel,PatchTSMixerPreTrainedModel:()=>d.PatchTSMixerPreTrainedModel,PatchTSTForPrediction:()=>d.PatchTSTForPrediction,PatchTSTModel:()=>d.PatchTSTModel,PatchTSTPreTrainedModel:()=>d.PatchTSTPreTrainedModel,Phi3ForCausalLM:()=>d.Phi3ForCausalLM,Phi3Model:()=>d.Phi3Model,Phi3PreTrainedModel:()=>d.Phi3PreTrainedModel,Phi3VForCausalLM:()=>d.Phi3VForCausalLM,Phi3VImageProcessor:()=>te.Phi3VImageProcessor,Phi3VPreTrainedModel:()=>d.Phi3VPreTrainedModel,Phi3VProcessor:()=>Ee.Phi3VProcessor,PhiForCausalLM:()=>d.PhiForCausalLM,PhiModel:()=>d.PhiModel,PhiPreTrainedModel:()=>d.PhiPreTrainedModel,Pipeline:()=>C.Pipeline,PreTrainedModel:()=>d.PreTrainedModel,PreTrainedTokenizer:()=>k.PreTrainedTokenizer,PretrainedConfig:()=>F.PretrainedConfig,PretrainedMixin:()=>d.PretrainedMixin,Processor:()=>Be.Processor,PvtForImageClassification:()=>d.PvtForImageClassification,PvtImageProcessor:()=>te.PvtImageProcessor,PvtModel:()=>d.PvtModel,PvtPreTrainedModel:()=>d.PvtPreTrainedModel,PyAnnoteFeatureExtractor:()=>S.PyAnnoteFeatureExtractor,PyAnnoteForAudioFrameClassification:()=>d.PyAnnoteForAudioFrameClassification,PyAnnoteModel:()=>d.PyAnnoteModel,PyAnnotePreTrainedModel:()=>d.PyAnnotePreTrainedModel,PyAnnoteProcessor:()=>Ee.PyAnnoteProcessor,QuestionAnsweringModelOutput:()=>d.QuestionAnsweringModelOutput,QuestionAnsweringPipeline:()=>C.QuestionAnsweringPipeline,Qwen2ForCausalLM:()=>d.Qwen2ForCausalLM,Qwen2Model:()=>d.Qwen2Model,Qwen2PreTrainedModel:()=>d.Qwen2PreTrainedModel,Qwen2Tokenizer:()=>k.Qwen2Tokenizer,Qwen2VLForConditionalGeneration:()=>d.Qwen2VLForConditionalGeneration,Qwen2VLImageProcessor:()=>te.Qwen2VLImageProcessor,Qwen2VLPreTrainedModel:()=>d.Qwen2VLPreTrainedModel,Qwen2VLProcessor:()=>Ee.Qwen2VLProcessor,RTDetrForObjectDetection:()=>d.RTDetrForObjectDetection,RTDetrImageProcessor:()=>te.RTDetrImageProcessor,RTDetrModel:()=>d.RTDetrModel,RTDetrObjectDetectionOutput:()=>d.RTDetrObjectDetectionOutput,RTDetrPreTrainedModel:()=>d.RTDetrPreTrainedModel,RawAudio:()=>j.RawAudio,RawImage:()=>O.RawImage,RepetitionPenaltyLogitsProcessor:()=>g.RepetitionPenaltyLogitsProcessor,ResNetForImageClassification:()=>d.ResNetForImageClassification,ResNetModel:()=>d.ResNetModel,ResNetPreTrainedModel:()=>d.ResNetPreTrainedModel,RoFormerForMaskedLM:()=>d.RoFormerForMaskedLM,RoFormerForQuestionAnswering:()=>d.RoFormerForQuestionAnswering,RoFormerForSequenceClassification:()=>d.RoFormerForSequenceClassification,RoFormerForTokenClassification:()=>d.RoFormerForTokenClassification,RoFormerModel:()=>d.RoFormerModel,RoFormerPreTrainedModel:()=>d.RoFormerPreTrainedModel,RoFormerTokenizer:()=>
2737k.RoFormerTokenizer,RobertaForMaskedLM:()=>d.RobertaForMaskedLM,RobertaForQuestionAnswering:()=>d.RobertaForQuestionAnswering,RobertaForSequenceClassification:()=>d.RobertaForSequenceClassification,RobertaForTokenClassification:()=>d.RobertaForTokenClassification,RobertaModel:()=>d.RobertaModel,RobertaPreTrainedModel:()=>d.RobertaPreTrainedModel,RobertaTokenizer:()=>k.RobertaTokenizer,SamImageProcessor:()=>te.SamImageProcessor,SamImageSegmentationOutput:()=>d.SamImageSegmentationOutput,SamModel:()=>d.SamModel,SamPreTrainedModel:()=>d.SamPreTrainedModel,SamProcessor:()=>Ee.SamProcessor,SapiensForDepthEstimation:()=>d.SapiensForDepthEstimation,SapiensForNormalEstimation:()=>d.SapiensForNormalEstimation,SapiensForSemanticSegmentation:()=>d.SapiensForSemanticSegmentation,SapiensPreTrainedModel:()=>d.SapiensPreTrainedModel,SeamlessM4TFeatureExtractor:()=>S.SeamlessM4TFeatureExtractor,SegformerFeatureExtractor:()=>te.SegformerFeatureExtractor,SegformerForImageClassification:()=>d.SegformerForImageClassification,SegformerForSemanticSegmentation:()=>d.SegformerForSemanticSegmentation,SegformerImageProcessor:()=>te.SegformerImageProcessor,SegformerModel:()=>d.SegformerModel,SegformerPreTrainedModel:()=>d.SegformerPreTrainedModel,Seq2SeqLMOutput:()=>d.Seq2SeqLMOutput,SequenceClassifierOutput:()=>d.SequenceClassifierOutput,SiglipImageProcessor:()=>te.SiglipImageProcessor,SiglipModel:()=>d.SiglipModel,SiglipPreTrainedModel:()=>d.SiglipPreTrainedModel,SiglipTextModel:()=>d.SiglipTextModel,SiglipTokenizer:()=>k.SiglipTokenizer,SiglipVisionModel:()=>d.SiglipVisionModel,SpeechT5FeatureExtractor:()=>S.SpeechT5FeatureExtractor,SpeechT5ForSpeechToText:()=>d.SpeechT5ForSpeechToText,SpeechT5ForTextToSpeech:()=>d.SpeechT5ForTextToSpeech,SpeechT5HifiGan:()=>d.SpeechT5HifiGan,SpeechT5Model:()=>d.SpeechT5Model,SpeechT5PreTrainedModel:()=>d.SpeechT5PreTrainedModel,SpeechT5Processor:()=>Ee.SpeechT5Processor,SpeechT5Tokenizer:()=>k.SpeechT5Tokenizer,SqueezeBertForMaskedLM:()=>d.SqueezeBertForMaskedLM,SqueezeBertForQuestionAnswering:()=>d.SqueezeBertForQuestionAnswering,SqueezeBertForSequenceClassification:()=>d.SqueezeBertForSequenceClassification,SqueezeBertModel:()=>d.SqueezeBertModel,SqueezeBertPreTrainedModel:()=>d.SqueezeBertPreTrainedModel,SqueezeBertTokenizer:()=>k.SqueezeBertTokenizer,StableLmForCausalLM:()=>d.StableLmForCausalLM,StableLmModel:()=>d.StableLmModel,StableLmPreTrainedModel:()=>d.StableLmPreTrainedModel,Starcoder2ForCausalLM:()=>d.Starcoder2ForCausalLM,Starcoder2Model:()=>d.Starcoder2Model,Starcoder2PreTrainedModel:()=>d.Starcoder2PreTrainedModel,StoppingCriteria:()=>ve.StoppingCriteria,StoppingCriteriaList:()=>ve.StoppingCriteriaList,StyleTextToSpeech2Model:()=>d.StyleTextToSpeech2Model,StyleTextToSpeech2PreTrainedModel:()=>d.StyleTextToSpeech2PreTrainedModel,SummarizationPipeline:()=>C.SummarizationPipeline,SuppressTokensAtBeginLogitsProcessor:()=>g.SuppressTokensAtBeginLogitsProcessor,Swin2SRForImageSuperResolution:()=>d.Swin2SRForImageSuperResolution,Swin2SRImageProcessor:()=>te.Swin2SRImageProcessor,Swin2SRModel:()=>d.Swin2SRModel,Swin2SRPreTrainedModel:()=>d.Swin2SRPreTrainedModel,SwinForImageClassification:()=>d.SwinForImageClassification,SwinModel:()=>d.SwinModel,SwinPreTrainedModel:()=>d.SwinPreTrainedModel,T5ForConditionalGeneration:()=>d.T5ForConditionalGeneration,T5Model:()=>d.T5Model,T5PreTrainedModel:()=>d.T5PreTrainedModel,T5Tokenizer:()=>k.T5Tokenizer,TableTransformerForObjectDetection:()=>d.TableTransformerForObjectDetection,TableTransformerModel:()=>d.TableTransformerModel,TableTransformerObjectDetectionOutput:()=>d.TableTransformerObjectDetectionOutput,TableTransformerPreTrainedModel:()=>d.TableTransformerPreTrainedModel,TemperatureLogitsWarper:()=>g.TemperatureLogitsWarper,Tensor:()=>V.Tensor,Text2TextGenerationPipeline:()=>C.Text2TextGenerationPipeline,TextClassificationPipeline:()=>C.TextClassificationPipeline,TextGenerationPipeline:()=>C.TextGenerationPipeline,TextStreamer:()=>ne.TextStreamer,TextToAudioPipeline:()=>C.TextToAudioPipeline,TokenClassificationPipeline:()=>C.TokenClassificationPipeline,TokenClassifierOutput:()=>d.TokenClassifierOutput,TokenizerModel:()=>k.TokenizerModel,TopKLogitsWarper:()=>g.TopKLogitsWarper,TopPLogitsWarper:()=>g.TopPLogitsWarper,TrOCRForCausalLM:()=>d.TrOCRForCausalLM,TrOCRPreTrainedModel:()=>d.TrOCRPreTrainedModel,TranslationPipeline:()=>C.TranslationPipeline,UniSpeechForCTC:()=>d.UniSpeechForCTC,UniSpeechForSequenceClassification:()=>d.UniSpeechForSequenceClassification,UniSpeechModel:()=>d.UniSpeechModel,UniSpeechPreTrainedModel:()=>d.UniSpeechPreTrainedModel,UniSpeechSatForAudioFrameClassification:()=>d.UniSpeechSatForAudioFrameClassification,UniSpeechSatForCTC:()=>d.UniSpeechSatForCTC,UniSpeechSatForSequenceClassification:()=>d.UniSpeechSatForSequenceClassification,UniSpeechSatModel:()=>d.UniSpeechSatModel,UniSpeechSatPreTrainedModel:()=>d.UniSpeechSatPreTrainedModel,VLChatProcessor:()=>Ee.VLChatProcessor,VLMImageProcessor:()=>te.VLMImageProcessor,ViTFeatureExtractor:()=>te.ViTFeatureExtractor,ViTForImageClassification:()=>d.ViTForImageClassification,ViTImageProcessor:()=>te.ViTImageProcessor,ViTMAEModel:()=>d.ViTMAEModel,ViTMAEPreTrainedModel:()=>d.ViTMAEPreTrainedModel,ViTMSNForImageClassification:()=>d.ViTMSNForImageClassification,ViTMSNModel:()=>d.ViTMSNModel,ViTMSNPreTrainedModel:()=>d.ViTMSNPreTrainedModel,ViTModel:()=>d.ViTModel,ViTPreTrainedModel:()=>d.ViTPreTrainedModel,VisionEncoderDecoderModel:()=>d.VisionEncoderDecoderModel,VitMatteForImageMatting:()=>d.VitMatteForImageMatting,VitMatteImageProcessor:()=>te.VitMatteImageProcessor,VitMattePreTrainedModel:()=>d.VitMattePreTrainedModel,VitPoseForPoseEstimation:()=>d.VitPoseForPoseEstimation,VitPoseImageProcessor:()=>te.VitPoseImageProcessor,VitPosePreTrainedModel:()=>d.VitPosePreTrainedModel,VitsModel:()=>
2737d.VitsModel,VitsModelOutput:()=>d.VitsModelOutput,VitsPreTrainedModel:()=>d.VitsPreTrainedModel,VitsTokenizer:()=>k.VitsTokenizer,Wav2Vec2BertForCTC:()=>d.Wav2Vec2BertForCTC,Wav2Vec2BertForSequenceClassification:()=>d.Wav2Vec2BertForSequenceClassification,Wav2Vec2BertModel:()=>d.Wav2Vec2BertModel,Wav2Vec2BertPreTrainedModel:()=>d.Wav2Vec2BertPreTrainedModel,Wav2Vec2CTCTokenizer:()=>k.Wav2Vec2CTCTokenizer,Wav2Vec2FeatureExtractor:()=>S.Wav2Vec2FeatureExtractor,Wav2Vec2ForAudioFrameClassification:()=>d.Wav2Vec2ForAudioFrameClassification,Wav2Vec2ForCTC:()=>d.Wav2Vec2ForCTC,Wav2Vec2ForSequenceClassification:()=>d.Wav2Vec2ForSequenceClassification,Wav2Vec2Model:()=>d.Wav2Vec2Model,Wav2Vec2PreTrainedModel:()=>d.Wav2Vec2PreTrainedModel,Wav2Vec2Processor:()=>Ee.Wav2Vec2Processor,Wav2Vec2ProcessorWithLM:()=>Ee.Wav2Vec2ProcessorWithLM,WavLMForAudioFrameClassification:()=>d.WavLMForAudioFrameClassification,WavLMForCTC:()=>d.WavLMForCTC,WavLMForSequenceClassification:()=>d.WavLMForSequenceClassification,WavLMForXVector:()=>d.WavLMForXVector,WavLMModel:()=>d.WavLMModel,WavLMPreTrainedModel:()=>d.WavLMPreTrainedModel,WeSpeakerFeatureExtractor:()=>S.WeSpeakerFeatureExtractor,WeSpeakerResNetModel:()=>d.WeSpeakerResNetModel,WeSpeakerResNetPreTrainedModel:()=>d.WeSpeakerResNetPreTrainedModel,WhisperFeatureExtractor:()=>S.WhisperFeatureExtractor,WhisperForConditionalGeneration:()=>d.WhisperForConditionalGeneration,WhisperModel:()=>d.WhisperModel,WhisperPreTrainedModel:()=>d.WhisperPreTrainedModel,WhisperProcessor:()=>Ee.WhisperProcessor,WhisperTextStreamer:()=>ne.WhisperTextStreamer,WhisperTimeStampLogitsProcessor:()=>g.WhisperTimeStampLogitsProcessor,WhisperTokenizer:()=>k.WhisperTokenizer,XLMForQuestionAnswering:()=>d.XLMForQuestionAnswering,XLMForSequenceClassification:()=>d.XLMForSequenceClassification,XLMForTokenClassification:()=>d.XLMForTokenClassification,XLMModel:()=>d.XLMModel,XLMPreTrainedModel:()=>d.XLMPreTrainedModel,XLMRobertaForMaskedLM:()=>d.XLMRobertaForMaskedLM,XLMRobertaForQuestionAnswering:()=>d.XLMRobertaForQuestionAnswering,XLMRobertaForSequenceClassification:()=>d.XLMRobertaForSequenceClassification,XLMRobertaForTokenClassification:()=>d.XLMRobertaForTokenClassification,XLMRobertaModel:()=>d.XLMRobertaModel,XLMRobertaPreTrainedModel:()=>d.XLMRobertaPreTrainedModel,XLMRobertaTokenizer:()=>k.XLMRobertaTokenizer,XLMTokenizer:()=>k.XLMTokenizer,XLMWithLMHeadModel:()=>d.XLMWithLMHeadModel,XVectorOutput:()=>d.XVectorOutput,YolosFeatureExtractor:()=>te.YolosFeatureExtractor,YolosForObjectDetection:()=>d.YolosForObjectDetection,YolosImageProcessor:()=>te.YolosImageProcessor,YolosModel:()=>d.YolosModel,YolosObjectDetectionOutput:()=>d.YolosObjectDetectionOutput,YolosPreTrainedModel:()=>d.YolosPreTrainedModel,ZeroShotAudioClassificationPipeline:()=>C.ZeroShotAudioClassificationPipeline,ZeroShotClassificationPipeline:()=>C.ZeroShotClassificationPipeline,ZeroShotImageClassificationPipeline:()=>C.ZeroShotImageClassificationPipeline,ZeroShotObjectDetectionPipeline:()=>C.ZeroShotObjectDetectionPipeline,bankers_round:()=>X.bankers_round,cat:()=>V.cat,cos_sim:()=>X.cos_sim,dot:()=>X.dot,dynamic_time_warping:()=>X.dynamic_time_warping,env:()=>x.env,full:()=>V.full,full_like:()=>V.full_like,getKeyValueShapes:()=>F.getKeyValueShapes,hamming:()=>j.hamming,hanning:()=>j.hanning,interpolate:()=>V.interpolate,interpolate_4d:()=>V.interpolate_4d,interpolate_data:()=>X.interpolate_data,is_chinese_char:()=>k.is_chinese_char,layer_norm:()=>V.layer_norm,load_image:()=>O.load_image,log_softmax:()=>X.log_softmax,magnitude:()=>X.magnitude,matmul:()=>V.matmul,max:()=>X.max,mean:()=>V.mean,mean_pooling:()=>V.mean_pooling,medianFilter:()=>X.medianFilter,mel_filter_bank:()=>j.mel_filter_bank,min:()=>X.min,ones:()=>V.ones,ones_like:()=>V.ones_like,permute:()=>V.permute,permute_data:()=>X.permute_data,pipeline:()=>C.pipeline,quantize_embeddings:()=>V.quantize_embeddings,rand:()=>V.rand,read_audio:()=>j.read_audio,rfft:()=>V.rfft,round:()=>X.round,slice:()=>V.slice,softmax:()=>X.softmax,spectrogram:()=>j.spectrogram,stack:()=>V.stack,std_mean:()=>V.std_mean,topk:()=>V.topk,window_function:()=>j.window_function,zeros:()=>V.zeros,zeros_like:()=>V.zeros_like});var x=dr("./src/env.js"),C=dr("./src/pipelines.js"),d=dr("./src/models.js"),k=dr("./src/tokenizers.js"),F=dr("./src/configs.js"),j=dr("./src/utils/audio.js"),O=dr("./src/utils/image.js"),V=dr("./src/utils/tensor.js"),X=dr("./src/utils/maths.js"),R=dr("./src/base/feature_extraction_utils.js"),S=dr("./src/models/feature_extractors.js"),Z=dr("./src/models/auto/feature_extraction_auto.js"),W=dr("./src/base/image_processors_utils.js"),te=dr("./src/models/image_processors.js"),me=dr("./src/models/auto/image_processing_auto.js"),Be=dr("./src/base/processing_utils.js"),Ee=dr("./src/models/processors.js"),ie=dr("./src/models/auto/processing_auto.js"),ne=dr("./src/generation/streamers.js"),ve=dr("./src/generation/stopping_criteria.js"),g=dr("./src/generation/logits_process.js")})();var Sp=b2.AutoTokenizer,Np=b2.RawAudio,Op=b2.StyleTextToSpeech2Model,Yu=b2.Tensor,pe=pe!==void 0?pe:{};pe.expectedDataFileDownloads||(pe.expectedDataFileDownloads=0);var Lp=typeof importScripts=="function",Jc=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string",Hu=typeof atob=="function"?atob:function(x){var C,d,k,F,j,O,V="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
2737+/=",X="",R=0;x=x.replace(/[^A-Za-z0-9\+\/\=]/g,"");do C=V.indexOf(x.charAt(R++))<<2|(F=V.indexOf(x.charAt(R++)))>>4,d=(15&F)<<4|(j=V.indexOf(x.charAt(R++)))>>2,k=(3&j)<<6|(O=V.indexOf(x.charAt(R++))),X+=String.fromCharCode(C),j!==64&&(X+=String.fromCharCode(d)),O!==64&&(X+=String.fromCharCode(k));while(R<x.length);return X};Jc&&(process.argv.length>1&&(ag=process.argv[1].replace(/\\/g,"/")),process.argv.slice(2),process.on("uncaughtException",function(x){if(!(x instanceof Yp))throw x}),process.on("unhandledRejection",function(x){throw x}),pe.inspect=function(){return"[Emscripten Module object]"}),pe.expectedDataFileDownloads++,function(){if(pe.ENVIRONMENT_IS_PTHREAD)return;const x="/usr/share/espeak-ng-data",C=x+"/lang",d=x+"/voices";(function(k){var F=null,j=null;function O(){function V(W,te){if(!W)throw te+new Error().stack}function X(W,te,me){this.start=W,this.end=te,this.audio=me}pe.FS_createPath("/","usr",!0,!0),pe.FS_createPath("/usr","share",!0,!0),pe.FS_createPath("/usr/share","espeak-ng-data",!0,!0),pe.FS_createPath(x,"lang",!0,!0),pe.FS_createPath(C,"aav",!0,!0),pe.FS_createPath(C,"art",!0,!0),pe.FS_createPath(C,"azc",!0,!0),pe.FS_createPath(C,"bat",!0,!0),pe.FS_createPath(C,"bnt",!0,!0),pe.FS_createPath(C,"ccs",!0,!0),pe.FS_createPath(C,"cel",!0,!0),pe.FS_createPath(C,"cus",!0,!0),pe.FS_createPath(C,"dra",!0,!0),pe.FS_createPath(C,"esx",!0,!0),pe.FS_createPath(C,"gmq",!0,!0),pe.FS_createPath(C,"gmw",!0,!0),pe.FS_createPath(C,"grk",!0,!0),pe.FS_createPath(C,"inc",!0,!0),pe.FS_createPath(C,"ine",!0,!0),pe.FS_createPath(C,"ira",!0,!0),pe.FS_createPath(C,"iro",!0,!0),pe.FS_createPath(C,"itc",!0,!0),pe.FS_createPath(C,"jpx",!0,!0),pe.FS_createPath(C,"map",!0,!0),pe.FS_createPath(C,"miz",!0,!0),pe.FS_createPath(C,"myn",!0,!0),pe.FS_createPath(C,"poz",!0,!0),pe.FS_createPath(C,"roa",!0,!0),pe.FS_createPath(C,"sai",!0,!0),pe.FS_createPath(C,"sem",!0,!0),pe.FS_createPath(C,"sit",!0,!0),pe.FS_createPath(C,"tai",!0,!0),pe.FS_createPath(C,"trk",!0,!0),pe.FS_createPath(C,"urj",!0,!0),pe.FS_createPath(C,"zle",!0,!0),pe.FS_createPath(C,"zls",!0,!0),pe.FS_createPath(C,"zlw",!0,!0),pe.FS_createPath(x,"voices",!0,!0),pe.FS_createPath(d,"!v",!0,!0),pe.FS_createPath(d,"mb",!0,!0),X.prototype={requests:{},open:function(W,te){this.name=te,this.requests[te]=this,pe.addRunDependency("fp "+this.name)},send:function(){},onload:function(){var W=this.byteArray.subarray(this.start,this.end);this.finish(W)},finish:function(W){pe.FS_createDataFile(this.name,null,W,!0,!0,!0),pe.removeRunDependency("fp "+this.name),this.requests[this.name]=null}};for(var R=k.files,S=0;S<R.length;++S)new X(R[S].start,R[S].end,R[S].audio||0).open("GET",R[S].filename);function Z(W){V(W,"Loading data file failed."),V(W.constructor.name===ArrayBuffer.name,"bad input to processPackageData");var te=new Uint8Array(W);X.prototype.byteArray=te;for(var me=k.files,Be=0;Be<me.length;++Be)X.prototype.requests[me[Be].filename].onload();pe.removeRunDependency("datafile_js/espeakng.worker.data")}pe.addRunDependency("datafile_js/espeakng.worker.data"),j?(Z(j),j=null):F=Z}(async()=>{const V=function(Z){if(typeof Jc=="boolean"&&Jc){var W=Buffer.from(Z,"base64");return new Uint8Array(W.buffer,W.byteOffset,W.byteLength)}try{for(var te=Hu(Z),me=new Uint8Array(te.length),Be=0;Be<te.length;++Be)me[Be]=te.charCodeAt(Be);return me}catch(Ee){throw 
vendor: 603,093 bytes, line 2737
2737new Error("Converting base64 string to bytes failed.")}}("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LctW1ziJJ6r8E2fgm8BOcAj6PPYk+UV2sHJvdu2OjS1rm30C8eitlZpb3/vqmd4n7AT/Dkn4k+RuNs1vCvdesaOrcW2DjyN+cltlP777h2feBiugvcS91eecTeHQTTu6GqNtYQfxk9sq2+Du2858Pl4BHSb2UNdX+Ai47paWsCfmZYmfVfnLz8B/g7oI/OeCFgs+KeQ0oVVhHxFeUSXPjvxAVFU0Xc1COSW2Ko7jeV4QBMciOZ1Ol8vtdns+lNfr9fp8Pr8/EAguVigUCofD4UhFNacUrai2trY2FovV1dXV1VfUcFKNjY2NTU1NTc3Nzc0tH6i1tbW1ra29vaOjo3ORurq6urt7enp7e5ctW9Z3Sv39/f3Lly8fGBhYUdXKqlatWrV69eo1a9euXbdu/Z+1YcOGDRs3bty06Zxzzjn33HPPPe+88zZv3rxly9atW88/f9u2Cy644IJPVHThhRdedNFFF1988cWXVHXppZdeun37ZZddfvkVV1x55VVXX331NX/Wtddee+0nP/nJHTt2XHfddddXdMMNN9x444033XTzzZ/61C233HLLp0/q1ltv/cxnPvvZz33uc39X1ec+d/LX2277/Be+8MXbb7/9S1/60pduv/3227/4xS9+sfLXl++44++/8pWvLtLXvvb1r+/cufN/nNTOD/Q//seuXd/4xp2n9I2TuvPOO7/5zbvuuuuuu+++u/LfXd+s6tSUk6pOr/75rZP688SPfK2C3nnnN3adVGXOJ2dTmfyNb+z6yILs3Pn1r3/961/72le/+tWvLNLf//0dd3z5y19apMqqfuELn//8bbfd9neL9LnPffazn/nMZ2699dZbq013yy23fOpTN99004033nDD9R/Vddddt2PHJz957bXXXnPN1VdfffVVV1111ZVXXnHF5Zdfdtn27Zdeeuklp+niiy++6KILL/zEJy64YNu2bed/oK1bt27dsmXL5s2bzzvvvPPOPalzKtpU0cZF2rBhw/r169edprVr165Zs2b1h1pzUqtXr171F6rsoys+ssN+MO2DiScnf/Tbf9bpk1ad3NlXL468trrv/xWt/yv68LioHhmn6dzTVWmhynHzV7RlS/VgOqktJxv05OSt1WPsg6aufvzhF88/f+uHU099suU0bf1rOn+RPoy5SB9dslN/ntzAf7GCJ7f1h1v4Q53a1GtPbt8Pt2h1Ww0s0vLly5f39/dXTkvLli1b1tvb09Pd3dXV2dnZ0fHRs1lHR3t7W1tra+sHp7zm5oplR2NDfX1dLBarXaRotKamJhKJhE8pFAoFgwG/3+fzej0ej/sDuVwup9PhEASB53meOymWrWQaUiRJEAR+SpXLQiUhslLg/+TF5VQ5LdM0jUpCqKZpqqoqSiUFspLbXy6XSqVSsapCoZCvJPhmM5l0OpVKJStKJBKJeCWldX5ubnZ2ZmZmZrqqqampycnJiYnx8bGx0dGRkZHh4eGhoaGhwcETJ04cP37s2LGjFR05qcOHDx86dOjgwffff/+99959990DB/bv37dv3zvvvP323r17975V0Ztvvvnmnj173njj9ddff/2111577dWKXnnllZdffvmll3bvfvHFF/9U0R9P6oUXXnj++ef/8Ic//P73v3/uueee+90p/fa3v/3ts88++8wzzzz99NNPPfXUbyp68sknn/z1r3/96yeeeOKJxx9//PHHKnr00UcffeSRRx5++OFfVfXLD/TQQw899OCDDz7wwAMP/KKqn1f1s5/97Gc/reonH+o/TurHH9H9Ff3oRz/64Sn9+w///S/0w7+uH32g+390/49+dP8pVWZ6MswHUU8uxc+qOrlsJ5fzgaoefPDBByur8Mtf/vJXv/rVww8//PAjjzzySGVtK2v9+OOPV1rh17/+9ZNPPllpm6eeeurpp5955plnn332t7/97e9+97vnnnvu97//wx+ef/75F1744x//+Kc//enFF1/cvXv3Sy+9/PLLr7zy6quvvfb666+/8cYbe/bsefPNt956a+/et99+5519+/bvP3DgwLvvvvfee++/f/DgwUOHDh8+cuTo0WPHjh0/fvzEicHBwaGh4eGRkZHR0bGx8fGJiYnJyamp6enpmZmZ2dm5ubn5+YWFhXg8kUgkk8lUKp1OZzKZbDaby+Xy+XyhUCwWS6VSuVwWRVGSpEoqr6KoajWDV9f1Ss6yWck7tqpV5D6sEld9jmgC94A8uIiKsEe57wtTwXUestcZdTpJsKv6PNt10gt4xX92D4ct4jtD61DcQ/pYlkT/H/bePMiy66wTPNs9d31rvtzXqsrKWlRVKlWVVmRtyJJtYWMbG4wxBAMMBAQz42CWP6aHcEQ3EwMRRAxNdJsOlhnPNI3B2G2DbWxhI8vWvpek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"),
vendor: 5,506 bytes, line 2737
2737X=new Blob([V]).stream().pipeThrough(new DecompressionStream("gzip")),R=[];for await(const Z of X)R.push(Z);const S=await new Blob(R).arrayBuffer();F?(F(S),F=null):j=S})(),pe.calledRun?O():(pe.preRun||(pe.preRun=[]),pe.preRun.push(O))})({files:[{filename:x+"/en_dict",start:0,end:167064},{filename:x+"/intonations",start:167064,end:169104},{filename:C+"/aav/vi",start:169104,end:169215},{filename:C+"/aav/vi-VN-x-central",start:169215,end:169358},{filename:C+"/aav/vi-VN-x-south",start:169358,end:169500},{filename:C+"/art/eo",start:169500,end:169541},{filename:C+"/art/ia",start:169541,end:169570},{filename:C+"/art/io",start:169570,end:169620},{filename:C+"/art/jbo",start:169620,end:169689},{filename:C+"/art/lfn",start:169689,end:169824},{filename:C+"/art/piqd",start:169824,end:169880},{filename:C+"/art/py",start:169880,end:170020},{filename:C+"/art/qdb",start:170020,end:170077},{filename:C+"/art/qya",start:170077,end:170250},{filename:C+"/art/sjn",start:170250,end:170425},{filename:C+"/azc/nci",start:170425,end:170539},{filename:C+"/bat/lt",start:170539,end:170567},{filename:C+"/bat/ltg",start:170567,end:170879},{filename:C+"/bat/lv",start:170879,end:171108},{filename:C+"/bnt/sw",start:171108,end:171149},{filename:C+"/bnt/tn",start:171149,end:171191},{filename:C+"/ccs/ka",start:171191,end:171315},{filename:C+"/cel/cy",start:171315,end:171352},{filename:C+"/cel/ga",start:171352,end:171418},{filename:C+"/cel/gd",start:171418,end:171469},{filename:C+"/cus/om",start:171469,end:171508},{filename:C+"/dra/kn",start:171508,end:171563},{filename:C+"/dra/ml",start:171563,end:171620},{filename:C+"/dra/ta",start:171620,end:171671},{filename:C+"/dra/te",start:171671,end:171741},{filename:C+"/esx/kl",start:171741,end:171771},{filename:C+"/eu",start:171771,end:171825},{filename:C+"/gmq/da",start:171825,end:171868},{filename:C+"/gmq/is",start:171868,end:171895},{filename:C+"/gmq/nb",start:171895,end:171982},{filename:C+"/gmq/sv",start:171982,end:172007},{filename:C+"/gmw/af",start:172007,end:172130},{filename:C+"/gmw/de",start:172130,end:172172},{filename:C+"/gmw/en",start:172172,end:172312},{filename:C+"/gmw/en-029",start:172312,end:172647},{filename:C+"/gmw/en-GB-scotland",start:172647,end:172942},{filename:C+"/gmw/en-GB-x-gbclan",start:172942,end:173180},{filename:C+"/gmw/en-GB-x-gbcwmd",start:173180,end:173368},{filename:C+"/gmw/en-GB-x-rp",start:173368,end:173617},{filename:C+"/gmw/en-US",start:173617,end:173874},{filename:C+"/gmw/en-US-nyc",start:173874,end:174145},{filename:C+"/gmw/lb",start:174145,end:174176},{filename:C+"/gmw/nl",start:174176,end:174199},{filename:C+"/grk/el",start:174199,end:174222},{filename:C+"/grk/grc",start:174222,end:174321},{filename:C+"/inc/as",start:174321,end:174363},{filename:C+"/inc/bn",start:174363,end:174388},{filename:C+"/inc/bpy",start:174388,end:174427},{filename:C+"/inc/gu",start:174427,end:174469},{filename:C+"/inc/hi",start:174469,end:174492},{filename:C+"/inc/kok",start:174492,end:174518},{filename:C+"/inc/mr",start:174518,end:174559},{filename:C+"/inc/ne",start:174559,end:174596},{filename:C+"/inc/or",start:174596,end:174635},{filename:C+"/inc/pa",start:174635,end:174660},{filename:C+"/inc/sd",start:174660,end:174726},{filename:C+"/inc/si",start:174726,end:174781},{filename:C+"/inc/ur",start:174781,end:174875},{filename:C+"/ine/hy",start:174875,end:174936},{filename:C+"/ine/hyw",start:174936,end:175301},{filename:C+"/ine/sq",start:175301,end:175404},{filename:C+"/ira/fa",start:175404,end:175494},{filename:C+"/ira/fa-Latn",start:175494,end:175763},{filename:C+"/ira/ku",start:175763,end:175803},{filename:C+"/iro/chr",start:175803,end:176372},{filename:C+"/itc/la",start:176372,end:176669},{filename:C+"/jpx/ja",start:176669,end:176721},{filename:C+"/ko",start:176721,end:176772},{filename:C+"/map/haw",start:176772,end:176814},{filename:C+"/miz/mto",start:176814,end:176997},{filename:C+"/myn/quc",start:176997,end:177207},{filename:C+"/poz/id",start:177207,end:177341},{filename:C+"/poz/mi",start:177341,end:177708},{filename:C+"/poz/ms",start:177708,end:178138},{filename:C+"/qu",start:178138,end:178226},{filename:C+"/roa/an",start:178226,end:178253},{filename:C+"/roa/ca",start:178253,end:178278},{filename:C+"/roa/es",start:178278,end:178341},{filename:C+"/roa/es-419",start:178341,end:178508},{filename:C+"/roa/fr",start:178508,end:178587},{filename:C+"/roa/fr-BE",start:178587,end:178671},{filename:C+"/roa/fr-CH",start:178671,end:178757},{filename:C+"/roa/ht",start:178757,end:178897},{filename:C+"/roa/it",start:178897,end:179006},{filename:C+"/roa/pap",start:179006,end:179068},{filename:C+"/roa/pt",start:179068,end:179163},{filename:C+"/roa/pt-BR",start:179163,end:179272},{filename:C+"/roa/ro",start:179272,end:179298},{filename:C+"/sai/gn",start:179298,end:179345},{filename:C+"/sem/am",start:179345,end:179386},{filename:C+"/sem/ar",start:179386,end:179436},{filename:C+"/sem/he",start:179436,end:179476},{filename:C+"/sem/mt",start:179476,end:179517},{filename:C+"/sem/ti",start:179517,end:179610},{filename:C+"/sit/cmn",start:179610,end:180296},{filename:C+"/sit/cmn-Latn-pinyin",start:180296,end:180457},{filename:C+"/sit/hak",start:180457,end:180585},{filename:C+"/sit/my",start:180585,end:180641},{filename:C+"/sit/yue",start:180641,end:180835},{filename:C+"/sit/yue-Latn-jyutping",start:180835,end:181048},{filename:C+"/tai/shn",start:181048,end:181140},{filename:C+"/tai/th",start:181140,end:181177},{filename:C+"/trk/az",start:181177,end:181222},{filename:C+"/trk/ba",start:181222,end:181247}
2737,{filename:C+"/trk/cv",start:181247,end:181287},{filename:C+"/trk/kk",start:181287,end:181327},{filename:C+"/trk/ky",start:181327,end:181370},{filename:C+"/trk/nog",start:181370,end:181409},{filename:C+"/trk/tk",start:181409,end:181434},{filename:C+"/trk/tr",start:181434,end:181459},{filename:C+"/trk/tt",start:181459,end:181482},{filename:C+"/trk/ug",start:181482,end:181506},{filename:C+"/trk/uz",start:181506,end:181545},{filename:C+"/urj/et",start:181545,end:181782},{filename:C+"/urj/fi",start:181782,end:182019},{filename:C+"/urj/hu",start:182019,end:182092},{filename:C+"/urj/smj",start:182092,end:182137},{filename:C+"/zle/be",start:182137,end:182189},{filename:C+"/zle/ru",start:182189,end:182246},{filename:C+"/zle/ru-LV",start:182246,end:182526},{filename:C+"/zle/ru-cl",start:182526,end:182617},{filename:C+"/zle/uk",start:182617,end:182714},{filename:C+"/zls/bg",start:182714,end:182825},{filename:C+"/zls/bs",start:182825,end:183055},{filename:C+"/zls/hr",start:183055,end:183317},{filename:C+"/zls/mk",start:183317,end:183345},{filename:C+"/zls/sl",start:183345,end:183388},{filename:C+"/zls/sr",start:183388,end:183638},{filename:C+"/zlw/cs",start:183638,end:183661},{filename:C+"/zlw/pl",start:183661,end:183699},{filename:C+"/zlw/sk",start:183699,end:183723},{filename:x+"/phondata",start:183723,end:734147},{filename:x+"/phonindex",start:734147,end:773403},{filename:x+"/phontab",start:773403,end:829491},{filename:d+"/!v/Alex",start:829491,end:829619},{filename:d+"/!v/Alicia",start:829619,end:830093},{filename:d+"/!v/Andrea",start:830093,end:830450},{filename:d+"/!v/Andy",start:830450,end:830770},{filename:d+"/!v/Annie",start:830770,end:831085},{filename:d+"/!v/AnxiousAndy",start:831085,end:831446},{filename:d+"/!v/Demonic",start:831446,end:835304},{filename:d+"/!v/Denis",start:835304,end:835609},{filename:d+"/!v/Diogo",start:835609,end:835988},{filename:d+"/!v/Gene",start:835988,end:836269},{filename:d+"/!v/Gene2",start:836269,end:836552},{filename:d+"/!v/Henrique",start:836552,end:836933},{filename:d+"/!v/Hugo",start:836933,end:837311},{filename:d+"/!v/Jacky",start:837311,end:837578},{filename:d+"/!v/Lee",start:837578,end:837916},{filename:d+"/!v/Marco",start:837916,end:838383},{filename:d+"/!v/Mario",start:838383,end:838653},{filename:d+"/!v/Michael",start:838653,end:838923},{filename:d+"/!v/Mike",start:838923,end:839035},{filename:d+"/!v/Mr serious",start:839035,end:842228},{filename:d+"/!v/Nguyen",start:842228,end:842508},{filename:d+"/!v/Reed",start:842508,end:842710},{filename:d+"/!v/RicishayMax",start:842710,end:842943},{filename:d+"/!v/RicishayMax2",start:842943,end:843378},{filename:d+"/!v/RicishayMax3",start:843378,end:843813},{filename:d+"/!v/Storm",start:843813,end:844233},{filename:d+"/!v/Tweaky",start:844233,end:847422},{filename:d+"/!v/UniRobot",start:847422,end:847839},{filename:d+"/!v/adam",start:847839,end:847914},{filename:d+"/!v/anika",start:847914,end:848407},{filename:d+"/!v/anikaRobot",start:848407,end:848919},{filename:d+"/!v/announcer",start:848919,end:849219},{filename:d+"/!v/antonio",start:849219,end:849600},{filename:d+"/!v/aunty",start:849600,end:849958},{filename:d+"/!v/belinda",start:849958,end:850298},{filename:d+"/!v/benjamin",start:850298,end:850499},{filename:d+"/!v/boris",start:850499,end:850723},{filename:d+"/!v/caleb",start:850723,end:850780},{filename:d+"/!v/croak",start:850780,end:850873},{filename:d+"/!v/david",start:850873,end:850985},{filename:d+"/!v/ed",start:850985,end:851272},{filename:d+"/!v/edward",start:851272,end:851423},{filename:d+"/!v/edward2",start:851423,end:851575},{filename:d+"/!v/f1",start:851575,end:851899},{filename:d+"/!v/f2",start:851899,end:852256},{filename:d+"/!v/f3",start:852256,end:852631},{filename:d+"/!v/f4",start:852631,end:852981},{filename:d+"/!v/f5",start:852981,end:853413},{filename:d+"/!v/fast",start:853413,end:853562},{filename:d+"/!v/grandma",start:853562,end:853825},{filename:d+"/!v/grandpa",start:853825,end:854081},{filename:d+"/!v/gustave",start:854081,end:854334},{filename:d+"/!v/ian",start:854334,end:857502},{filename:d+"/!v/iven",start:857502,end:857763},{filename:d+"/!v/iven2",start:857763,end:858042},{filename:d+"/!v/iven3",start:858042,end:858304},{filename:d+"/!v/iven4",start:858304,end:858565},{filename:d+"/!v/john",start:858565,end:861751},{filename:d+"/!v/kaukovalta",start:861751,end:862112},{filename:d+"/!v/klatt",start:862112,end:862150},{filename:d+"/!v/klatt2",start:862150,end:862188},{filename:d+"/!v/klatt3",start:862188,end:862227},{filename:d+"/!v/klatt4",start:862227,end:862266},{filename:d+"/!v/klatt5",start:862266,end:862305},{filename:d+"/!v/klatt6",start:862305,end:862344},{filename:d+"/!v/linda",start:862344,end:862694},{filename:d+"/!v/m1",start:862694,end:863029},{filename:d+"/!v/m2",start:863029,end:863293},{filename:d+"/!v/m3",start:863293,end:863593},{filename:d+"/!v/m4",start:863593,end:863883},{filename:d+"/!v/m5",start:863883,end:864145},{filename:d+"/!v/m6",start:864145,end:864333},{filename:d+"/!v/m7",start:864333,end:864587},{filename:d+"/!v/m8",start:864587,end:864871},{filename:d+"/!v/marcelo",start:864871,end:865122},{filename:d+"/!v/max",start:865122,end:865347},{filename:d+"/!v/michel",start:865347,end:865751},{filename:d+"/!v/miguel",start:865751,end:866133},{filename:d+"/!v/mike2",start:866133,end:866321},{filename:d+"/!v/norbert",start:866321,end:869510},{filename:d+"/!v/pablo",start:869510,end:872652},{filename:d+"/!v/paul",start:872652,end:872936},{filename:d+"/!v/pedro",start:872936,end:873288},{filename:d+"/!v/quincy",start:873288,end:873642},{filename:d+"/!v/rob",start:873642,end:873907},{filename:d+"/!v/robert",start:873907,end:874181},{filename:d+"/!v/robosoft",start:874181,end:874632},{filename:d+"/!v/robosoft2",start:874632,end:875086},{filename:d+"/!v/robosoft3",start:875086,end:875541},{filename:d+"/!v/robosoft4",start:875541,end:875988},{filename:d+"/!v/robosoft5",start:875988,end:876433},{filename:d+"/!v/robosoft6",start:876433,end:876720},{filename:d+"/!v/robosoft7",start:876720,end:877130},{filename:d+"/!v/robosoft8",start:877130,end:877373},{filename:d+"/!v/sandro",start:877373,end:877903},{filename:d+"/!v/shelby",start:877903,end:878183},{filename:d+"/!v/steph",start:878183,end:878547},{filename:d+"/!v/steph2",start:878547,end:878914},{filename:d+"/!v/steph3",start:878914,end:879291}
2737,{filename:d+"/!v/travis",start:879291,end:879674},{filename:d+"/!v/victor",start:879674,end:879927},{filename:d+"/!v/whisper",start:879927,end:880113},{filename:d+"/!v/whisperf",start:880113,end:880505},{filename:d+"/!v/zac",start:880505,end:880780},{filename:d+"/mb/mb-af1",start:880780,end:880868},{filename:d+"/mb/mb-af1-en",start:880868,end:880951},{filename:d+"/mb/mb-ar1",start:880951,end:881035},{filename:d+"/mb/mb-ar2",start:881035,end:881119},{filename:d+"/mb/mb-br1",start:881119,end:881251},{filename:d+"/mb/mb-br2",start:881251,end:881387},{filename:d+"/mb/mb-br3",start:881387,end:881519},{filename:d+"/mb/mb-br4",start:881519,end:881655},{filename:d+"/mb/mb-ca1",start:881655,end:881760},{filename:d+"/mb/mb-ca2",start:881760,end:881865},{filename:d+"/mb/mb-cn1",start:881865,end:881957},{filename:d+"/mb/mb-cr1",start:881957,end:882068},{filename:d+"/mb/mb-cz1",start:882068,end:882138},{filename:d+"/mb/mb-cz2",start:882138,end:882220},{filename:d+"/mb/mb-de1",start:882220,end:882364},{filename:d+"/mb/mb-de1-en",start:882364,end:882460},{filename:d+"/mb/mb-de2",start:882460,end:882588},{filename:d+"/mb/mb-de2-en",start:882588,end:882668},{filename:d+"/mb/mb-de3",start:882668,end:882767},{filename:d+"/mb/mb-de3-en",start:882767,end:882863},{filename:d+"/mb/mb-de4",start:882863,end:882992},{filename:d+"/mb/mb-de4-en",start:882992,end:883073},{filename:d+"/mb/mb-de5",start:883073,end:883309},{filename:d+"/mb/mb-de5-en",start:883309,end:883399},{filename:d+"/mb/mb-de6",start:883399,end:883521},{filename:d+"/mb/mb-de6-en",start:883521,end:883595},{filename:d+"/mb/mb-de6-grc",start:883595,end:883678},{filename:d+"/mb/mb-de7",start:883678,end:883828},{filename:d+"/mb/mb-de8",start:883828,end:883899},{filename:d+"/mb/mb-ee1",start:883899,end:883996},{filename:d+"/mb/mb-en1",start:883996,end:884127},{filename:d+"/mb/mb-es1",start:884127,end:884241},{filename:d+"/mb/mb-es2",start:884241,end:884349},{filename:d+"/mb/mb-es3",start:884349,end:884453},{filename:d+"/mb/mb-es4",start:884453,end:884541},{filename:d+"/mb/mb-fr1",start:884541,end:884707},{filename:d+"/mb/mb-fr1-en",start:884707,end:884811},{filename:d+"/mb/mb-fr2",start:884811,end:884914},{filename:d+"/mb/mb-fr3",start:884914,end:885014},{filename:d+"/mb/mb-fr4",start:885014,end:885141},{filename:d+"/mb/mb-fr4-en",start:885141,end:885248},{filename:d+"/mb/mb-fr5",start:885248,end:885348},{filename:d+"/mb/mb-fr6",start:885348,end:885448},{filename:d+"/mb/mb-fr7",start:885448,end:885531},{filename:d+"/mb/mb-gr1",start:885531,end:885625},{filename:d+"/mb/mb-gr2",start:885625,end:885719},{filename:d+"/mb/mb-gr2-en",start:885719,end:885807},{filename:d+"/mb/mb-hb1",start:885807,end:885875},{filename:d+"/mb/mb-hb2",start:885875,end:885958},{filename:d+"/mb/mb-hu1",start:885958,end:886060},{filename:d+"/mb/mb-hu1-en",start:886060,end:886157},{filename:d+"/mb/mb-ic1",start:886157,end:886245},{filename:d+"/mb/mb-id1",start:886245,end:886346},{filename:d+"/mb/mb-in1",start:886346,end:886415},{filename:d+"/mb/mb-in2",start:886415,end:886500},{filename:d+"/mb/mb-ir1",start:886500,end:887253},{filename:d+"/mb/mb-it1",start:887253,end:887337},{filename:d+"/mb/mb-it2",start:887337,end:887424},{filename:d+"/mb/mb-it3",start:887424,end:887566},{filename:d+"/mb/mb-it4",start:887566,end:887711},{filename:d+"/mb/mb-jp1",start:887711,end:887782},{filename:d+"/mb/mb-jp2",start:887782,end:887883},{filename:d+"/mb/mb-jp3",start:887883,end:887970},{filename:d+"/mb/mb-la1",start:887970,end:888053},{filename:d+"/mb/mb-lt1",start:888053,end:888140},{filename:d+"/mb/mb-lt2",start:888140,end:888227},{filename:d+"/mb/mb-ma1",start:888227,end:888325},{filename:d+"/mb/mb-mx1",start:888325,end:888445},{filename:d+"/mb/mb-mx2",start:888445,end:888565},{filename:d+"/mb/mb-nl1",start:888565,end:888634},{filename:d+"/mb/mb-nl2",start:888634,end:888730},{filename:d+"/mb/mb-nl2-en",start:888730,end:888821},{filename:d+"/mb/mb-nl3",start:888821,end:888906},{filename:d+"/mb/mb-nz1",start:888906,end:888974},{filename:d+"/mb/mb-pl1",start:888974,end:889073},{filename:d+"/mb/mb-pl1-en",start:889073,end:889155},{filename:d+"/mb/mb-pt1",start:889155,end:889286}
2737,{filename:d+"/mb/mb-ro1",start:889286,end:889373},{filename:d+"/mb/mb-ro1-en",start:889373,end:889454},{filename:d+"/mb/mb-sw1",start:889454,end:889552},{filename:d+"/mb/mb-sw1-en",start:889552,end:889645},{filename:d+"/mb/mb-sw2",start:889645,end:889747},{filename:d+"/mb/mb-sw2-en",start:889747,end:889846},{filename:d+"/mb/mb-tl1",start:889846,end:889931},{filename:d+"/mb/mb-tr1",start:889931,end:890016},{filename:d+"/mb/mb-tr2",start:890016,end:890130},{filename:d+"/mb/mb-us1",start:890130,end:890300},{filename:d+"/mb/mb-us2",start:890300,end:890478},{filename:d+"/mb/mb-us3",start:890478,end:890658},{filename:d+"/mb/mb-vz1",start:890658,end:890802}],remote_package_size:890802})}();var Ru=Object.assign({},pe),ag="./this.program",Cc=pe.print||console.log.bind(console),I2=pe.printErr||console.warn.bind(console);Object.assign(pe,Ru),Ru=null,pe.arguments&&pe.arguments,pe.thisProgram&&(ag=pe.thisProgram),pe.quit&&pe.quit,pe.wasmBinary&&pe.wasmBinary,pe.noExitRuntime;var rg,w2={Memory:function(x){this.buffer=new ArrayBuffer(65536*x.initial)},Module:function(x){},Instance:function(x,C){this.exports=function(d){for(var k,F=new Uint8Array(123),j=25;j>=0;--j)F[48+j]=52+j,F[65+j]=j,F[97+j]=26+j;function O(ie,ne,ve){for(var g,b,e=0,l=ne,M=ve.length,ue=ne+(3*M>>2)-(ve[M-2]=="=")-(ve[M-1]=="=");e<M;e+=4)g=F[ve.charCodeAt(e+1)],b=F[ve.charCodeAt(e+2)],ie[l++]=F[ve.charCodeAt(e)]<<2|g>>4,l<ue&&(ie[l++]=g<<4|b>>2),l<ue&&(ie[l++]=b<<6|F[ve.charCodeAt(e+3)])}F[43]=62,F[47]=63;var V=new ArrayBuffer(16),X=new Int32Array(V),R=new Float32Array(V),S=new Float64Array(V);function Z(ie){return X[ie]}function W(ie,ne){X[ie]=ne}function te(){return S[0]}function me(ie){S[0]=ie}function Be(){throw new Error("abort")}function Ee(ie){R[2]=ie}return function(ie){var ne=ie.a,ve=ne.a.buffer,g=new Int8Array(ve),b=new Int16Array(ve),e=new Int32Array(ve),l=new Uint8Array(ve),M=new Uint16Array(ve),ue=new Uint32Array(ve),D=new Float64Array(ve),z=Math.imul,Ye=Math.fround,Ne=Math.abs,Oe=Math.clz32,AA=Math.min,tA=Math.floor,BA=Math.ceil,DA=ne.b,Ge=ne.c,ke=ne.d,ze=ne.e,Ke=ne.f,Pe=ne.g,xA=ne.h,iA=ne.i,cA=ne.j,yA=ne.k,gA=ne.l,He=ne.m,Je=ne.n,hA=ne.o,IA=ne.p,Qe=ne.q,mA=ne.r,MA=ne.s,LA=ne.t,OA=ne.u,q=294656,HA=0,ge=0,J=0;function fe(A){var t,r=0,a=0,s=0,i=0,o=0,c=0,f=0,m=0,p=0,I=0,y=0,T=0,Y=0,K=0,_=0,ce=0,he=0,ye=0,De=0,Re=0,Xe=0,aA=0,fA=0,GA=0,SA=0,At=0,ct=0,bt=0,Nt=0,qt=0,tr=0,mr=0,Cr=0,Gr=0,Dr=0,Or=0,Kr=0,na=0,$r=0,oa=0,ya=0,rs=0,fs=0,ps=0,Ns=0,zi=0,pi=0,hi=0,Fi=0,_n=0,O0=0,L0=0,An=0;if(q=t=q-16|0,(0|A)!=2)if(A=e[33283],e[A>>2]!=e[A+4>>2]){if(ma(e[e[32972]+60>>2]),K=e[47192],oa=t+12|0,Ns=t+8|0,q=f=q-6832|0,e[f+6816>>2]=0,e[f+6808>>2]=32,e[f+6800>>2]=0,K){e[47351]=0,e[47350]=0,e[47352]=0,g[189076]=0,A=e[33284],e[47353]=(0|A)>0?A:0,e[47355]=e[47354]+1,VA(GA=f+5184|0,0,1600),Kr=f+6800|0,q=o=q-2608|0,e[o+2156>>2]=32,e[o+2148>>2]=0,l[134760]&&(g[190280]=0,g[134760]=0),e[K+8216>>2]=0,e[K+8220>>2]=0,e[K+288>>2]=0,e[f+780>>2]=0,g[189360]=0;e:if(A=e[33691])e[o+2152>>2]=A;else{A:{r:{if(!(r=e[33285])){if(A=e[33283],e[A>>2]==e[A+4>>2]){e[o+2152>>2]=0;break e}if(!(r=e[33285]))break r}e[33285]=0;break A}e[33284]=e[33284]+1,A=e[33283],r=0|pt[e[A+8>>2]](A)}e[o+2152>>2]=r}Fi=GA+2|0,Xe=32;e:{for(;;){Re=Xe;A:{r:{s:{if(r=e[33691],(s=e[33285])?A=0:(s=e[33285],A=e[33283],A=e[A>>2]==e[A+4>>2]),r|!A|s||!(e[32524]<0)){if(!Zi(e[o+2156>>2])){if((s=(0|(A=e[49828]))>0)&(0|(r=A))<(0|(A=e[33284])))break s;if(!((0|(r=e[49845]))<=0|(0|A)<(0|r))){e[49845]=0,g[134760]=1,e[33285]=e[o+2152>>2],a=16384;break e}}Xe=e[o+2156>>2],e[o+2156>>2]=e[o+2152>>2];i:{c:{o:{u:{l:{if((0|(r=e[32524]))>=0){if(l[r+134736|0])break l;e[32524]=-1}if(r=e[33285])break o;if(A=e[33283],e[A>>2]!=e[A+4>>2])break u;r=32;break i}e[33691]|r||(e[o+2156>>2]=g[134736],r=1),e[32524]=r+1,r=g[r+134736|0];break i}if(!(r=e[33285]))break c}e[33285]=0;break i}e[33284]=e[33284]+1,A=e[33283],r=0|pt[e[A+8>>2]](A)}e[o+2152>>2]=r,e[33691]=0;i:if(!(m|!e[47203])){c:{if((0|(A=e[o+2156>>2]))!=60){if((0|r)!=35&r-97>>>0>25|(0|A)!=38)break i;for(s=e[33285],i=0;;){o:{if(e[o+2156>>2]=r,!s){if(A=e[33283],e[A>>2]==e[A+4>>2])break o;r=e[o+2156>>2]}if(!(!((r=!!(0|Zi(r)))|(0|(A=e[o+2156>>2]))==35)|i>>>0>19)){g[(o+112|0)+i|0]=A,i=i+1|0,(r=e[33285])?(e[33285]=0,s=0):(e[33284]=e[33284]+1,A=e[33283],r=0|pt[e[A+8>>2]](A),s=e[33285]);continue}}break}g[(o+112|0)+i|0]=0;o:{u:{if(!(r=e[33285])){if(r=0,A=e[33283],e[A>>2]==e[A+4>>2])break o;if(!(r=e[33285]))break u}e[33285]=0;break o}e[33284]=e[33284]+1,A=e[33283],r=0|pt[e[A+8>>2]](A)}e[o+2152>>2]=r,e[o+100>>2]=e[o+2156>>2],e[o+104>>2]=r,e[o+96>>2]=o+112,QA(134736,84252,o+96|0);o:{if(e[o+2156>>2]==59){i=o+2156|0,Y=o+2152|0,q=s=q-32|0;u:if(l[0|(r=o+112|0)]!=35)A=-1,(0|(r=Bs(130752,r)))!=-1&&(e[i>>2]=r,e[Y>>2]||(e[Y>>2]=32),A=r);else{if(l[0|(A=r+1|0)]==120){e[s>>2]=i,A=at(r+2|0,90005,s);break u}e[s+16>>2]=i,A=at(A,90070,s+16|0)}if(q=s+32|0,(0|A)>0)break o}e[32524]=0,e[o+2156>>2]=38,e[o+2152>>2]=32;break i}if((0|(A=e[o+2156>>2]))>32)break i;if(!(r=e[33692]-20|0)|(0|r)==16)break c;break i}if((0|r)!=47&&!ds(r)&&(0|(A=e[o+2152>>2]))!=63&&(0|A)!=33)break i;if((0|(A=e[o+2148>>2]))>780){e[33691]=e[o+2156>>2],g[0|(A=A+189424|0)]=32,g[A+1|0]=0,e[33285]=e[o+2152>>2],a=16384;break e}for(Y=e[33285],i=0,r=e[o+2152>>2];e[o+2156>>2]=r,s=0,Y||(A=e[33283],s=e[A>>2]==e[A+4>>2],r=e[o+2156>>2]),!((0|r)==62|s|i>>>0>499);)e[(o+144|0)+(i<<2)>>2]=r,i=i+1|0,(r=e[33285])?(Y=0,e[33285]=0):(e[33284]=e[33284]+1,A=e[33283],r=0|pt[e[A+8>>2]](A),Y=e[33285]);e[(s=o+144|0)+(i<<2)>>2]=0,e[o+2152>>2]=32,aA=o+2148|0,Re=e[32525],r=0,q=De=q-560|0;o:if(Pn(s,84333,3)&&Pn(s,84477,4)){for(A=(s+(Q0(s)<<2)|0)-4|0,(0|(SA=e[A>>2]))==47&&(e[A>>2]=32);;){if(A=e[s+(r<<2)>>2]){if(Rr(A))A=r;else if(g[(De+512|0)+r|0]=Wt(A<<24>>24),A=39,(0|(r=r+1|0))!=39)continue}else A=r;break}if(g[(De+512|0)+A|0]=0,l[De+512|0]!=47){if((0|(Y=Bs(130480,De+512|0)))!=16&&(r=e[aA>>2],e[aA>>2]=r+1,g[r+189424|0]=32),(0|SA)==47&&(r=0,!(502241>>>
2737Y&1)))break o}else(0|(r=Bs(130480,De+512|1)))!=16&&(i=e[aA>>2],e[aA>>2]=i+1,g[i+189424|0]=32),Y=r+32|0;i=s+(A<<2)|0,A=e[33708],m=z(A,76)+133076|0,r=262174;u:{l:{n:{p:switch(Y-1|0){case 33:C:if(!((0|A)<=1)){for(;;){if(e[z(r=A-1|0,76)+133152>>2]==2)break C;if(e[33708]=r,s=A>>>0>2,A=r,!s)break}A=1}r=Ga(i,34,A);break o;case 32:C:if(!((0|A)<=1)){for(;;){if(e[z(r=A-1|0,76)+133152>>2]==1)break C;if(e[33708]=r,s=A>>>0>2,A=r,!s)break}A=1}r=Ga(i,33,A)+524328|0;break o;case 9:(0|(r=e[33709]))<=18&&(e[33709]=r+1),e[(A=134912+(m=r<<6)|0)>>2]=10,e[A+4>>2]=-1,e[A+8>>2]=-1,e[A+52>>2]=-1,e[A+56>>2]=-1,e[A+44>>2]=-1,e[A+48>>2]=-1,e[A+36>>2]=-1,e[A+40>>2]=-1,e[A+28>>2]=-1,e[A+32>>2]=-1,e[A+20>>2]=-1,e[A+24>>2]=-1,e[A+12>>2]=-1,e[A+16>>2]=-1,e[A+60>>2]=-1,A=Ut(i,88301),s=Ut(i,88390),Dn(A,88479)?Dn(A,88528)||(e[28+(134912+(r<<6)|0)>>2]=Ba(s,130224)):e[24+(m+134912|0)>>2]=Ba(s,130192),$a(aA,e[33709]);break n;case 2:for((0|(A=e[33709]))<=18&&(e[33709]=A+1),e[(A=134912+(zi=A<<6)|0)>>2]=3,e[A+4>>2]=-1,e[A+8>>2]=-1,e[A+52>>2]=-1,e[A+56>>2]=-1,e[A+44>>2]=-1,e[A+48>>2]=-1,e[A+36>>2]=-1,e[A+40>>2]=-1,e[A+28>>2]=-1,e[A+32>>2]=-1,e[A+20>>2]=-1,e[A+24>>2]=-1,e[A+12>>2]=-1,e[A+16>>2]=-1,e[A+60>>2]=-1,tr=1;;){if(s=Ut(i,e[130448+(mr=tr<<2)>>2])){SA=0,A=e[mr+131072>>2];C:if(Y=e[A>>2])for(;;){for(r=0;m=g[r+Y|0],(Re=e[(r<<2)+s>>2])&&(r=r+1|0,(0|m)==(0|Re)););switch(Re-34|0){case 0:case 5:if(!m)break C}if(!(Y=e[A+((SA=SA+1|0)<<3)>>2]))break}_n=mr+(zi+134912|0)|0;C:if((0|(A=e[4+(A+(SA<<3)|0)>>2]))>=0)A=(0|z(A,e[4+(mr+134912|0)>>2]))/100|0;else{for(;s=(A=s)+4|0,Rr(e[A>>2]););for(pi=e[A>>2]==43,s=((hi=e[(A=A+(pi<<2)|0)>>2]==45)<<2)+A|0,SA=De+96|0,q=Y=(q=m=q-16|0)-224|0,VA(Y+16|0,0,144),A=Y+160|4,e[Y+24>>2]=A,e[Y+60>>2]=A,e[Y+92>>2]=-1,e[Y+64>>2]=60,e[Y+20>>2]=A,e[Y+48>>2]=19,r=s;r=(A=r)+4|0,Re=(Re=e[A>>2])?Wr(124960,Re):0;);e[Y+100>>2]=A,es(r=Y+16|0,0,0),NA(Y,r,1,1),r=e[Y+8>>2],O0=e[Y+12>>2],Re=e[Y>>2],L0=e[Y+4>>2],SA&&(An=SA,SA=e[Y+136>>2]+(e[Y+20>>2]-e[Y+60>>2]|0)|0,e[An>>2]=SA?A+(SA<<2)|0:s),e[(A=m)+8>>2]=r,e[A+12>>2]=O0,e[A>>2]=Re,e[A+4>>2]=L0,q=Y+224|0,ye=Ds(e[A>>2],e[A+4>>2],e[A+8>>2],e[A+12>>2]),q=A+16|0;m:{r=100;b:if((0|(A=s))!=(0|(s=e[De+96>>2]))){r=hi?-1:pi;h:{if((0|(A=e[s>>2]))!=115){if((0|A)!=37)break h;if(Ne(ye=r?+(0|r)*ye+100:ye)<2147483648){r=~~ye;break b}r=-2147483648;break b}if(e[s+4>>2]==116){me(+(Nt=ye*+(0|r)/12)),A=0|Z(1),Z(0);E:{if((r=(A=A>>>20&2047)-969|0)>>>0>=63){if(ye=Nt+1,(0|r)<0)break E;if(me(+Nt),r=0|Z(1),s=0|Z(0),!(A>>>0<1033)){if(ye=0,!s&(0|r)==-1048576||(ye=Nt+1,A>>>0>=2047))break E;if((0|r)>0|(0|r)>=0){D[8+(A=q-16|0)>>3]=3105036184601418e216,ye=3105036184601418e216*D[A+8>>3];break E}if(!(r>>>0<3230714880)){D[8+(A=q-16|0)>>3]=12882297539194267e-247,ye=12882297539194267e-247*D[A+8>>3];break E}}m=A,A=!(s<<1)&(0|(A=r<<1|s>>>31))==-2129002496|A>>>0<2165964800?m:0}ya=(Nt=(ye=Nt-((na=(ye=D[14416])+Nt)-ye))*ye)*Nt*(ye*D[14421]+D[14420]),Nt*=ye*D[14419]+D[14418],ye*=D[14417],me(+na),Z(1),m=0|Z(0),ye=ya+(Nt+(ye+D[115376+(s=m<<4&2032)>>3])),Re=e[(s=s+115384|0)>>2],Y=e[s+4>>2],s=(r=Re)+(Re=0)|0,r=(m<<13)+Y|0,r=s>>>0<Re>>>0?r+1|0:r,A?(W(0,0|s),W(1,0|r),ye=(Nt=+te())*ye+Nt):-2147483648&m?(W(0,0|s),W(1,r+1071644672|0),(ye=(na=(Nt=+te())*ye)+Nt)<1&&(e[8+(A=q-16|0)>>2]=0,e[A+12>>2]=1048576,D[A+8>>3]=22250738585072014e-324*D[A+8>>3],ye=(ye=(ya=ye+1)+(na+(Nt-ye)+(ye+(1-ya)))+-1)==0?0:ye),ye*=22250738585072014e-324):(W(0,0|s),W(1,r+-1048576|0),ye=(Nt=+te())*ye+Nt,ye+=ye)}if(Ne(ye*=100)<2147483648){r=~~ye;break b}r=-2147483648;break b}}if((0|tr)!=1)break m;if(r)r=100+(A=Ne(ye=ye*+(0|r)*100)<2147483648?~~ye:-2147483648)|0;else{if(Ne(ye*=100)<2147483648){r=~~ye;break b}r=-2147483648}}A=(0|z(r,e[mr+134848>>2]))/100|0;break C}A=Ne(ye)<2147483648?~~ye:-2147483648,r&&(A=e[mr+134848>>2]+z(A,r)|0)}e[_n+4>>2]=A}if((0|(tr=tr+1|0))==5)break}$a(aA,e[33709]);break n;case 11:(0|(r=e[33709]))<=18&&(e[33709]=r+1),e[(A=134912+(r<<6)|0)>>2]=12,e[A+4>>2]=-1,e[A+8>>2]=-1,e[A+52>>2]=-1,e[A+56>>2]=-1,e[A+44>>2]=-1,e[A+48>>2]=-1,e[A+36>>2]=-1,e[A+40>>2]=-1,e[A+28>>2]=-1,e[A+32>>2]=-1,e[A+20>>2]=-1,e[A+24>>2]=-1,e[A+12>>2]=-1,e[A+16>>2]=-1,e[A+60>>2]=-1,A=(A=Ut(i,88658))?Ba(A,130400):3,s=134912+(r<<6)|0,e[e[47192]+148>>2]!=1?(e[52+(134912+(r<<6)|0)>>2]=A,A=l[A+102776|0]):(e[20+(134912+(r<<6)|0)>>2]=l[A+102764|0],A=l[A+102770|0]),e[s+12>>2]=A,$a(aA,e[33709]);break n;case 34:case 41:case 43:if(!((0|(A=e[33709]))<=0)){if(i=Y-32|0,Y=0,s=0,r=0,A>>>0>=4)for(m=-4&A,SA=0;tr=2|r,mr=1|r,s=(0|i)==e[134912+((Re=3|r)<<6)>>2]?Re:(0|i)==e[134912+(tr<<6)>>2]?tr:(0|i)==e[134912+(mr<<6)>>2]?mr:(0|i)==e[134912+(r<<6)>>2]?r:s,r=r+4|0,(0|m)!=(0|(SA=SA+4|0)););
2737if(m=3&A)for(;s=(0|i)==e[134912+(r<<6)>>2]?r:s,r=r+1|0,(0|m)!=(0|(Y=Y+1|0)););(0|s)<=0||(e[33709]=s,A=s)}$a(aA,A);break n;case 7:if(A=Ut(i,88741),r=Ut(i,88860),(0|Ba(A,130176))!=1)break n;A=e[aA>>2],e[aA>>2]=A+1,g[A+189424|0]=91,A=e[aA>>2],e[aA>>2]=A+1,g[A+189424|0]=91,A=Fa((A=e[aA>>2])+189424|0,r,800-A|0)+e[aA>>2]|0,e[aA>>2]=A+1,g[A+189424|0]=93,A=e[aA>>2],e[aA>>2]=A+1,g[A+189424|0]=93;break n;case 35:e[33692]==36&&(g[e[aA>>2]+189424|0]=0,(s=Bs(131104,r=(A=e[33707])+189424|0))&&(e[aA>>2]=Nr(s,r)+A)),A=e[aA>>2],e[aA>>2]=A+1,g[A+189424|0]=1,A=e[aA>>2],e[aA>>2]=A+1,g[A+189424|0]=89,e[33692]=0;break n;case 8:if(!(A=Ut(i,89299)))break n;g[134824]=1,r=e[aA>>2],e[aA>>2]=Fa(r+189424|0,A,800-r|0)+e[aA>>2];break n;case 13:g[134824]=1;break n;case 40:case 45:g[134824]=0;break n;case 4:if(!(A=Ut(i,89360)))break n;if(Fa(De+352|0,A,160),l[De+352|0]&&!Mr(199328,De+352|0)){g[134760]=1,g[199328]=0,r=16384;break o}if((0|(A=Ui(De+352|0)))<0)break n;e[De+20>>2]=A,e[De+16>>2]=1,QA(A=De+352|0,89460,De+16|0),JA(e[aA>>2]+189424|0,A),e[aA>>2]=e[aA>>2]+RA(A);break n;case 10:(0|(r=e[33709]))<=18&&(e[33709]=r+1),e[(A=134912+(r<<6)|0)>>2]=11,e[A+4>>2]=-1,e[A+8>>2]=-1,e[A+52>>2]=-1,e[A+56>>2]=-1,e[A+44>>2]=-1,e[A+48>>2]=-1,e[A+36>>2]=-1,e[A+40>>2]=-1,e[A+28>>2]=-1,e[A+32>>2]=-1,e[A+20>>2]=-1,e[A+24>>2]=-1,e[A+12>>2]=-1,e[A+16>>2]=-1,e[A+60>>2]=-1;C:if(A=Ut(i,89514)){if(Fa(De+352|0,A,160),e[34441]){if((0|(A=Ui(De+352|0)))<0||0|pt[e[34441]](1,A+e[33282]|0,Re))break C;e[De+68>>2]=A,e[De+64>>2]=1,QA(De+352|0,89658,De- -64|0)}else{if(!Re|l[De+352|0]==47?A=C0(De+352|0):(e[De+48>>2]=Re,e[De+52>>2]=De+352,QA(A=De+96|0,89564,De+48|0),A=C0(A)),(0|A)<0)break C;e[De+36>>2]=A,e[De+32>>2]=1,QA(De+352|0,89623,De+32|0)}A=De+352|0,JA(e[aA>>2]+189424|0,A),e[aA>>2]=e[aA>>2]+RA(A),e[4+(134912+(r<<6)|0)>>2]=1}if($a(aA,e[33709]),(0|SA)==47){u0(11,aA),r=16384;break o}g[134772]=1,r=16384;break o;case 42:u0(43,aA),g[134772]=0,r=16384;break o;case 12:C:{if(A=Ut(i,89714)){if(r=16384,(m=(0|(A=Ba(A,130336)))<0?2:A)>>>0<=2&&(A=e[aA>>2],e[De+84>>2]=m,e[De+80>>2]=1,QA(A+189424|0,89770,De+80|0),e[aA>>2]=e[aA>>2]+3,r=0),A=e[102784+(m<<2)>>2],!(s=Ut(i,89907)))break C;break l}if(r=16384,s=Ut(i,89907))break l;A=21;break u}if(m>>>0<3)break n;break u;case 0:(A=Ut(i,89965))&&(Fa(r=De+352|0,A,160),Ui(r)),r=Ga(i,1,e[33708])?147456:0;break o;case 1:r=Ga(i,2,A)?147456:0;break o;case 5:r=0,e[m>>2]==6&&(r=Ga(i,38,A),A=e[33708]),r=524358+(Ga(i,6,A)|r)|0;break o;case 6:r=0,(0|(s=e[m>>2]))==6&&(r=Ga(i,38,A),s=e[m>>2]),(0|s)==7&&(r=Ga(i,39,e[33708])|r),r=524358+(r|Ga(i,7,e[33708]))|0;break o;case 37:if(r=524328,e[m>>2]!=6)break o;r=Ga(i,38,A)+524328|0;break o;case 38:if(r=524358,(-2&e[m>>2])!=6)break o;r=Ga(i,39,A)+524358|0;break o;case 14:case 46:break o;case 3:break p;default:break n}A=Ut(i,88893),r=Ut(i,88992),s=Ut(i,89153),i=Ba(A,130272),r=Ba(r,130320),A=v0(s,0),e[De>>2]=1,s=(0|A)<2?193:A- -64|0,r=(0|(A=(0|r)==1?19:i))==64?s:A,e[De+4>>2]=r,QA(A=De+352|0,89230,De),JA(e[aA>>2]+189424|0,A),A=e[aA>>2]+RA(A)|0,e[aA>>2]=A,e[33707]=A,e[33692]=r}r=0;break o}A=v0(s,1),s=e[33722],Fn(1,e[33713]),(0|(A=(0|(s=(0|z(A,s))/100<<8))/(0|z(e[36429],10))|0))<=199&&(A=(0|s)/(0|z(e[36428],10))|0),r=r||16384}s=A>>>5|0,i=A,r=((A=(0|A)>4095)?s>>>0>=4095?4095:s:i)+(A?8388608|r:r)|0}if(q=De+560|0,r){if(A=e[o+2148>>2]+189424|0,g[0|A]=32,g[A+1|0]=0,!(131072&r)){a=r;break e}JA(189360,134784),a=r;break e}e[o+2156>>2]=32;o:{u:{if(!(r=e[33285])){if(m=0,A=e[33283],e[A>>2]==e[A+4>>2])continue;if(!(r=e[33285]))break u}e[33285]=0;break o}e[33284]=e[33284]+1,A=e[33283],r=0|pt[e[A+8>>2]](A)}e[o+2152>>2]=r,m=0;continue}e[o+2156>>2]=A+57344}if(l[134824])continue;if(s=e[o+2156>>2],!((0|(A=e[o+2152>>2]))!=10|e[47268]!=-1)){(0|(a=Rs(s)))==16384?(A=e[o+2148>>2],b[GA+(A<<1)>>1]=e[33284]-e[47353],e[Kr>>2]=A,a=524328,A=Nr(e[o+2156>>2],A+189424|0)+e[o+2148>>2]|0):A=e[o+2148>>2],g[0|(A=A+189424|0)]=32,g[A+1|0]=0;break e}i:if((0|s)==1){if((0|A)!=66){if((0|A)!=86)break i;for(A=e[o+2148>>2],e[o+2148>>2]=A+1,g[A+189424|0]=0;;){c:{o:{u:{if(!(r=e[33285])){if(A=e[33283],e[A>>2]==e[A+4>>2])break c;if(!(r=e[33285]))break u}e[33285]=0;break o}e[33284]=e[33284]+1,A=e[33283],r=0|pt[e[A+8>>2]](A)}if(e[o+2156>>2]=r,!(Rr(r)||(0|(A=e[o+2148>>2]))>=799)){e[o+2148>>2]=A+1,g[A+189424|0]=e[o+2156>>2];continue}}break}g[e[o+2148>>2]+189424|0]=0,a=147456;break e}r=e[o+2148>>2],g[0|(A=r+189424|0)]=32,g[A+1|0]=32,g[A+2|0]=32,g[A+3|0]=0,e[o+2148>>2]=r+3;c:{o:{u:{l:{n:{p:{if(!(r=e[33285])){if(A=e[33283],e[A>>2]==e[A+4>>2])break l;if(!(r=e[33285]))break p}e[33285]=0;break n}e[33284]=e[33284]+1,A=e[33283],r=0|pt[e[A+8>>2]](A)}if(e[o+2152>>2]=r,s=0,(0|r)!=48)break u;break o}r=e[o+2152>>2]}if(e[47208]=0,e[47201]=1,(0|r)==49)break c;for(s=e[33285],i=0;;){u:{if(!s){if(A=e[33283],e[A>>2]==e[A+4>>2])break u;r=e[o+2152>>2]}if(!(Rr(r)|i>>>0>58)){e[188832+(i<<2)>>2]=e[o+2152>>2],(r=e[33285])?(e[33285]=0,s=0):(e[33284]=e[33284]+1,A=e[33283],r=0|pt[e[A+8>>2]](A),s=e[33285]),i=i+1|0,e[o+2152>>2]=r,A=e[o+2148>>2],e[o+2148>>2]=A+1,g[A+189424|0]=32;continue}}break}s=2,e[188832+(i<<2)>>2]=0}e[47201]=s}c:{if(!(r=e[33285])){if(A=e[33283],e[A>>2]==e[A+4>>2])continue;if(!(r=e[33285]))break c}e[33285]=0,e[o+2152>>2]=r;continue}e[33284]=e[33284]+1,A=e[33283],e[o+2152>>2]=pt[e[A+8>>2]](A);continue}Gr=Gr+1|0,r=0,A=e[K+340>>2];i:if(i=M[A>>1]){for(;;){if((65535&i)!=(0|s)){if(i=M[A+((r=r+2|0)<<1)>>1])continue;break i}break}switch(0|(A=M[A+(r<<1|2)>>1])){case 1:continue;case 0:break i}e[o+2156>>2]=A,s=A}Zi(s)?(ce=1,r=e[o+2156>>2]):ct?(e[33285]=e[o+2152>>2],r=1328,e[o+2156>>2]=1328,e[o+2152>>2]=32,ct=0):(0|(r=e[o+2156>>2]))!=3851?(ct=0,(0|r)!=3405|e[o+2152>>2]!=8205||(r=3406,e[o+2156>>2]=3406)):(r=32,e[o+2156>>2]=32,ct=0);i:if(ks(r)){if(e[K+8216>>2]=e[K+8216>>2]+1,e[33692]|e[47200]!=2||ks(Xe)||(e[o+2544>>2]=0,e[o+2548>>2]=0,e[o+2304>>2]=84731,!Br(K,o+2304|0,o+2160|0,o+2544|0,0,0))||(Ar(K,A=o+2160|0,o+2544|0,-1,0),$A(r=A,A=o+2336|0),e[o+80>>2]=A,QA(r=o+2240|0,85451,o+80|0),A=e[o+2148>>2],(0|(r=RA(r)+A|0))>
2737=800))break i;JA(A+189424|0,o+2240|0),e[o+2148>>2]=r}else ds(e[o+2156>>2])&&(e[K+8220>>2]=e[K+8220>>2]+1);if(r=e[o+2152>>2],A=e[o+2156>>2],e[47204])if((0|m)>0)m=m-1|0;else{if(!((0|A)!=91|(0|r)!=91)){s=0,m=-1;break A}m=(0|A)==93&&(0|r)==93?2:m}if((0|A)==10){for(s=e[33285],i=0;;){i:{if(!s){if(A=e[33283],e[A>>2]==e[A+4>>2])break i;r=e[o+2152>>2]}if(Rr(r)){i=(e[o+2152>>2]==10)+i|0,(r=e[33285])?(e[33285]=0,s=0):(e[33284]=e[33284]+1,A=e[33283],r=0|pt[e[A+8>>2]](A),s=e[33285]),e[o+2152>>2]=r;continue}}break}if((0|i)>0){a&&VA(A=Dr+189424|0,32,Dt(o+2336|0,A)),A=e[o+2148>>2]+189424|0,g[0|A]=32,g[A+1|0]=0,e[33285]=e[o+2152>>2],a=e[47203]?524358:z((0|i)>=3?3:i,30)+524328|0;break e}if(A=e[47268]<(0|Gr),Gr=0,!A){A=e[o+2148>>2]+189424|0,g[0|A]=32,g[A+1|0]=0,e[33285]=e[o+2152>>2],a=262174;break e}}if(s=0,e[33692]|m)break A;if(A=0,!a)break r;if(Rr(e[o+2156>>2])){A=a;break r}if(ar(e[o+2156>>2])&&xs(e[o+2156>>2]))break r;e[33691]=e[o+2156>>2],g[0|(A=Dr+189424|0)]=32,g[A+1|0]=0,e[33285]=e[o+2152>>2];break e}ct&&(e[o+2148>>2]=Nr(1328,e[o+2148>>2]+189424|0)+e[o+2148>>2]),a&&VA(A=Dr+189424|0,32,Dt(o+2336|0,A)),A=e[o+2148>>2]+189424|0,g[0|A]=32,g[A+1|0]=0}a=589864;break e}if(!((0|(r=e[o+2156>>2]))!=46|e[o+2152>>2]!=46)){r:{s:{i:{if(!(r=e[33285])){if(r=e[33283],e[r>>2]==e[r+4>>2])break r;if(!(r=e[33285]))break i}e[33285]=0;break s}e[33284]=e[33284]+1,r=e[33283],r=0|pt[e[r+8>>2]](r)}if(c=r,(0|r)==46)for(e[o+2152>>2]=32,e[o+2156>>2]=8230,c=e[33285];;){s:{i:{if(!c){if(r=e[33283],e[r>>2]==e[r+4>>2]){c=46;break r}if(!(c=e[33285]))break i}e[33285]=0,r=0;break s}e[33284]=e[33284]+1,r=e[33283],c=0|pt[e[r+8>>2]](r),r=e[33285]}if((0|c)!=46)break r;e[o+2152>>2]=32,e[o+2156>>2]=8230,c=r}}(0|(r=e[o+2156>>2]))!=8230?e[33285]=c:(e[o+2152>>2]=c,r=8230)}if(SA=0,(0|(Y=Rs(r)))!=16384){r:if(536621&Y)for(r=e[33285];;){if(!r&&(r=e[33283],e[r>>2]==e[r+4>>2])||!(536621&Rs(e[o+2152>>2])))break r;(c=e[33285])?(e[33285]=0,r=0):(e[33284]=e[33284]+1,r=e[33283],c=0|pt[e[r+8>>2]](r),r=e[33285]),e[o+2152>>2]=c}if(1048576&Y){e[f+780>>2]=Y>>>12&15,ct=1,m=0,a=A;continue}(Rr(e[o+2152>>2])|32768&Y||gi(e[o+2152>>2])||(0|(r=e[o+2152>>2]))==63||(i=0,e[33285]||(r=e[33283],i=e[r>>2]==e[r+4>>2],r=e[o+2152>>2]),i||(0|r)==1))&&(SA=1)}if((0|(r=e[o+2156>>2]))==57404&&(e[o+2156>>2]=60,r=60),e[47201]){a=0;r:if(!(1<<(i=Va(r))&1879048255&&i>>>0<=30)){if(!((i=Va(r))>>>0>27)){if(116672&(m=1<<i))break r;if(134227968&m){a=!(1024&Te(r,i));break r}}a=1}if(!(l[134772]|!a)&&(e[47201]==1||Wr(188832,e[o+2156>>2]))){e[K+288>>2]=0,s=e[o+2156>>2],g[o+2336|0]=0,m=e[o+2152>>2],r=0;r:{s:if(!((0|(a=e[34064]))<=0))for(;;){if((0|s)==e[136272+(r<<4)>>2]){if(e[136276+(r<<4)>>2])break r;if(Ai(0,r))break s;break r}if((0|a)==(0|(r=r+1|0)))break}r=-1}r:if((0|r)>=0)e[o>>2]=r,QA(o+2336|0,86007,o),e[33285]=m;else if((i=!SA)|(0|s)!=46|(0|m)==46||(e[o+2600>>2]=0,e[o+2604>>2]=0,e[o+2540>>2]=86036,!Br(K,o+2540|0,o+2544|0,o+2600|0,0,0))?r=ti(o+2240|0,K,s,0):(Ar(K,r=o+2544|0,o+2600|0,-1,0),$A(a=r,r=o+2160|0),e[o+64>>2]=r,QA(r=o+2304|0,85451,o- -64|0)),a=r,i|!e[o+2148>>2]|2&l[K+76|0]){for(r=e[33285],i=1;;){s:{i:{if(!r){if(r=e[33283],e[r>>2]==e[r+4>>2]|(0|s)==60|(0|s)!=(0|m))break s;if(i=i+1|0,m=e[33285])break i;e[33284]=e[33284]+1,r=e[33283],m=0|pt[e[r+8>>2]](r),r=e[33285];continue}if((0|s)==60|(0|s)!=(0|m))break s;m=r,i=i+1|0}r=0,e[33285]=0;continue}break}if(e[o+2152>>2]=m,SA&&(e[33285]=m),(0|i)==1){e[o+16>>2]=a,QA(o+2336|0,86219,o+16|0);break r}if((0|i)<=3){if(g[o+2336|0]=0,(0|(r=e[50786]))<=299&&(e[o+2336>>2]=l[86728]|l[86729]<<8|l[86730]<<16|l[86731]<<24,b[o+2340>>1]=l[86732]|l[86733]<<8),(0|i)>0){for(;e[o+32>>2]=a,QA(r=o+2160|0,86219,o+32|0),m=i>>>0>1,ia(o+2336|0,r),i=i-1|0,m;);r=e[50786]}if((0|r)>299)break r;e[o+2160>>2]=l[86857]|l[86858]<<8|l[86859]<<16|l[86860]<<24,r=l[86860]|l[86861]<<8|l[86862]<<16|l[86863]<<24,g[o+2163|0]=r,g[o+2164|0]=r>>>8,g[o+2165|0]=r>>>16,g[o+2166|0]=r>>>24,ia(o+2336|0,o+2160|0);break r}e[o+56>>2]=a,e[o+52>>2]=i,e[o+48>>2]=a,QA(o+2336|0,86932,o+48|0)}else e[33691]=s,e[33285]=m,b[o+2336>>1]=32;if(i=RA(a=o+2336|0),JA((r=e[o+2148>>2])+189424|0,a),e[o+2148>>2]=r+i,SA){if((0|s)==45){a=16384;break e}if(a=Rs(s),!(2&l[K+76|0]|(0|r)<=0)){a=(-32769&a)==266270?262148:(28672&a)==4
2737096?266244:262148;break e}if(!(524288&a)){a=(28672&a)==4096?266244:262148;break e}if((0|a)>=0)break e}s=e[o+2156>>2]}}if(s|!(2097152&Y)||(r=JA(e[o+2148>>2]+189424|0,ti(o+2336|0,K,e[o+2156>>2],1)),l[0|r]?(e[o+2148>>2]=e[o+2148>>2]+RA(r),Y&=-28673,s=e[o+2156>>2]):s=0),m=0,SA){r:if(Rr(c=e[o+2152>>2]))for(i=e[33285],r=0;;){if(!i&&(a=e[33283],e[a>>2]==e[a+4>>2])||!Rr(c))break r;r=((0|c)==10)+r|0,(c=e[33285])?(e[33285]=0,i=0):(e[33284]=e[33284]+1,a=e[33283],c=0|pt[e[a+8>>2]](a),i=e[33285])}else r=0;a=(0|(m=e[o+2156>>2]))==46&&(0|r)<2?4194304|Y:Y;r:{if(!r){i=1,(0|m)!=44|(0|Xe)!=46|e[K+212>>2]!=26741|Re-48>>>0>=10||c-48>>>0>=10&&!xs(c)||(e[o+2156>>2]=1367,i=0),(0|(Y=e[o+2156>>2]))!=46|(0|c)!=39||(m=i,Y=e[33283],(0|(De=e[Y>>2]))==e[Y+4>>2]?i=0:(i=0|pt[e[Y+8>>2]](Y),e[Y>>2]=De),Y=e[o+2156>>2],i=(0|i)!=115&m);s:if((0|Y)!=46)i&=ce;else{i:if(1&g[K+106|0]){if(!(Xe-48>>>0<10)&&((m=Xe-73|0)>>>0>15|!(1<<m&40969)||!(1<<(m=Re-73|0)&40969&&m>>>0<=15||Rr(Re))))break i;i=Xe-48>>>0>=10?0:!xs(c)&(0|c)!=45&i}if(xs(c)&&(i=l[K+208|0]!=0&i),ce){Y=e[o+2156>>2];break s}Y=32,e[o+2156>>2]=32,i=0}if(!(!i|(0|Y)!=46|!e[47203]|(0|c)!=60)){Dr=e[o+2148>>2],A=a;break r}if(!i)break r}if(A=e[o+2148>>2]+189424|0,g[0|A]=32,g[A+1|0]=0,e[33285]=c,Xe-48>>>0<10&&(a=ar(c)?a:-4194305&a),(0|r)<2)break e;a=(0|a)==536621?536656:(0|a)==532520?532555:524358;break e}(e[33285]||(m=0,r=e[33283],e[r>>2]!=e[r+4>>2]))&&(m=0,Rr(e[o+2152>>2])&&(e[33285]=c))}a=A}if(e[33712]!=1){if((0|s)!=(0|(r=e[o+2156>>2])))i=e[o+2148>>2],(0|r)==57404&&(r=60,e[o+2156>>2]=60);else{A:{if(gi(s))r=57384;else{if(r=45,e[o+2156>>2]==45)break A;r=32}e[o+2156>>2]=r}i=e[o+2148>>2]}e[o+2148>>2]=Nr(r,i+189424|0)+e[o+2148>>2],Rr(e[o+2156>>2])||gi(e[o+2156>>2])||(A=e[o+2148>>2],b[GA+(A<<1)>>1]=e[33284]-e[47353],(0|A)<=(i+1|0)||VA(Fi+(i<<1)|0,255,A+~i<<1)),r=e[o+2148>>2],e[Kr>>2]=r;A:{r:{if((0|r)>725){if(!ar(e[o+2156>>2]))break r;r=e[o+2148>>2]}if((0|r)<796)continue;break A}if(r=e[o+2148>>2],!(e[o+2156>>2]-48>>>0>=10)&&(0|r)<796)continue}break}}g[0|(A=r+189424|0)]=32,g[A+1|0]=0,e[33285]=e[o+2152>>2],a=16384}q=o+2608|0,ct=a,oa&&(A=e[f+780>>2],e[oa>>2]=A||ct>>>12&7),A=(f+5184|0)+(e[f+6800>>2]<<1)|0,b[A+6>>1]=0,b[A+2>>1]=0,b[A+4>>1]=32767,Y=z(4095&ct,8388608&ct?320:10),a=189424;e:{A:{r:if(A=l[189424]){for(;;){if(!!(255&(A=A<<24>>24))&A>>>0<33){if(A=l[0|(a=a+1|0)])continue;break r}break}if(l[0|a])break A}Y=(0|(r=Y-(A=e[47566])|0))>0?r:0,e[47566]=Y+A,ct=l[190268]?524288|ct:ct,e[K+8240>>2]=ct;break e}e[47566]=Y,A=l[190268],e[K+8240>>2]=ct,A&&(bt=1,e[47568]=e[47568]+1,(0|(A=e[47569]))<=0||(A=A-1|0,e[47569]=A,A||(g[190280]=0)))}e[49572]=1,e[47572]=655360,e[47573]=0,e[K+8184>>2]=0,e[K+8188>>2]=0,A=0,e[K+288>>2]=0,e[(r=K- -8192|0)>>2]=0,e[r+4>>2]=0,e[K+8200>>2]=0,e[K+8224>>2]=0,e[K+8228>>2]=0,e[(r=K+8232|0)>>2]=0,e[r+4>>2]=0,g[f+786|0]=32,b[f+784>>1]=8192,e[f+6812>>2]=32,b[f+1588>>1]=3,e[f+1584>>2]=0,a=0;e:if(!((0|(r=e[f+6800>>2]))<=0)){for(;;){if(b[(f+5184|0)+(a<<1)>>1]>0)break e;if((0|r)==(0|(a=a+1|0)))break}a=r}if(r=M[(f+5184|0)+(a<<1)>>1],b[f+1592>>1]=r,r)for(;A=!!(65535&~r)+A|0,r=M[(f+5184|0)+((a=a+1|0)<<1)>>1];);for(g[f+1594|0]=A,i=3,GA=1,a=0;;){Re=e[f+6808>>2],Da(f+6808|0,(aA=(f+784|0)+i|0)-1|0),!l[K+170|0]|e[f+6808>>2]-48>>>0>=10||ar(Re)&&(e[f+6808>>2]=97),he?e[f+6812>>2]=he:I&&Da(f+6812|0,I+189423|0),r=I;e:{A:if(a||(r=Dt(f+6816|0,I+189424|0)+I|0,a=e[f+6816>>2])){if(ce=Dt(f+6804|0,A=r+189424|0),(0|a)==1){if(s=r-1|0,he=32,Xe=0,e[f+6812>>2]!=32){r=s,A=32;break A}I=0,a=r;r:{s:switch(l[0|A]-43|0){case 0:a=r+1|0,I=64;break r;case 2:break s;default:break r}a=r+1|0,I=96}if(g[0|(A=a+189424|0)]-48>>>0>=10)c=a+1|0,ce=-1;else{for(ce=Us(A);a=(A=a)+1|0,g[A+189424|0]-48>>>0<10;);c=a,a=A}if((0|(he=e[47350]))>247)A=0;else if(A=0,!((0|(a=g[a+189424|0]))<0)&&(a=si(84868,255&a,14))){r=1+(A=a-84868|0)|0,(0|ce)==-1&&(ce=e[105536+(r<<2)>>2],I=0);r:{s:switch(A-8|0){case 0:e[49574]=0,e[49573]=ce;break r;case 4:break s;default:break r}g[199304]=(0|ce)>=3?1:0}A=1,e[47350]=he+1,e[198304+(he<<2)>>2]=(r+I|0)+(ce<<8),r=c}he=e[f+6812>>2],VA(s+189424|0,32,r-s|0),$r=A+$r|0,a=0;break e}he=0,(0|a)==32|e[49573]!=36?(Xe=0,A=a):(e[f+6812>>2]!=32|e[f+6804>>2]!=32||(e[49573]=20),Xe=0,A=Qi(a,K))}else e[f+6804>>2]=32,Xe=1,he=0,ce=0,A=32;A:if(Cr){if(Cr=1,GA=8,a=0,(0|A)!=93|e[f+6804>>2]!=93)break A;r=r+1|0,A=32,Cr=0}else if((240&(a=e[49573]))!=64)if(Cr=0,16&a)a=0;else{r:{s:{i:{c:{if(!((0|(c=(0|A)==8242||(0|A)==8217||(0|A)==146||(0|A)==180?39:A))!=8216&(0|c)!=63))if(ar(e[f+6808>>2])){if(c=A,ar(e[f+6804>>2])){c=39;break c}}else c=A;o:{if((0|c)!=1367){if((0|c)==1328){T|=1024,c=32;break c}if((A=c-44032|0)>>>0>11183)break c;if(s=((a=((m=65535&A)>>>0)/28|0)>>>0)%21|0,A=A-z(a,28)&65535,c-50500>>>0>587)break o;a=A?A+4519|0:0,s=s+4449|0;break s}T|=131072,Dr=e[f+6804>>2],A=e[f+6812>>2],c=32;break i}a=50500+(A+z(s,28)|0)|0,s=(m>>>0)/588|4352;break s}if(Dr=e[f+6804>>2],A=e[f+6812>>2],!((a=c-12592|0)>>>0>51)){s=4352|l[a+103296|0],a=0;break s}}o=r+189424|0;i:if(!((0|(a=e[K+212>>2]))!=28268&(0|a)!=24934|(0|c)!=39)&&!ds(A)&&(Dt(f+6820|0,o+1|0),ci(e[f+6820>>2]))){s=601,a=0;c:switch(Dr-110|0){case 6:break s;case 0:break c;
2737default:break i}if(e[K+212>>2]!=24934)break s;g[0|o]=32;break s}if(e[f+6824>>2]=32,(0|(A=e[49897]))>0)e[49897]=A-1,a=0;else{if(!c){a=0,s=0;break r}i:{c:{o:{u:if((SA=e[K+180>>2])&&(m=c,(De=ks(c))&&(m=Qi(c,K)),!Kn(SA)))for(;;){e[f+16>>2]=0,e[f+624>>2]=m,A=Dt(f+16|0,SA)+SA|0;l:if(e[f+624>>2]==e[f+16>>2]){if(l[0|A]){for(s=1,tr=0,a=o;mr=Dt(f+16|0,A),Gr=Dt(f+624|0,a),Kr=Qi(e[f+624>>2],K),e[f+624>>2]=Kr,a=a+Gr|0,tr=(Gr=(0|Kr)==e[f+16>>2])+tr|0,s&=Gr,l[0|(A=A+mr|0)];);if(!s)break l;e[49897]=tr}if(!(A=A+1|0))break u;if(8&l[188788]&&(e[f>>2]=SA,e[f+4>>2]=A,hr(e[47195],85187,f)),A=Dt(f+6828|0,A)+A|0,l[0|A])break o;a=0;break c}for(;a=A,A=A+1|0,l[0|a];);for(;l[0|(a=(A=a)+1|0)];);if(Kn(SA=A+2|0))break}a=0,s=c;break i}Dt(f+6824|0,A),De&&ks(Dr)&&(e[f+6824>>2]=Qn(e[f+6824>>2])),a=e[f+6824>>2]}s=e[f+6828>>2],T|=2097152,De&&(s=Qn(s))}if((0|s)!=8)break s}s=r;break e}a?e[f+6804>>2]=a:a=0}ar(s)||ci(s)||Wr(e[K+336>>2],s)||!ar(e[f+6808>>2])|!(!l[K+170|0]|s-48>>>0>=10)&e[f+6804>>2]-48>>>0>=10||(s=32,fA=1);r:{s:{i:{c:{o:{if(e[f+6808>>2]-48>>>0<10){if(s-48>>>0<10){A=y;break o}if(1<<(A=s-32|0)&20481&&A>>>0<=14)break c;fA=1}else if(A=0,e[f+6812>>2]!=44||(A=y,(0|s)!=44))break o;s=32;break c}if((0|s)==91&&((0|(c=e[f+6804>>2]))==2||(s=91,(0|c)==91&&e[47204])))break i;y=A}if(ar(s)){c:{o:{u:{if(ar(e[f+6808>>2])){if(!l[K+171|0]||(A=e[f+6808>>2],!((0|s)>12352)&&(0|A)<12353))break u}else A=e[f+6808>>2];if(Or=Wr(e[K+336>>2],A)?Or:0,(0|(A=e[f+6808>>2]))!=32&&!Wr(e[K+336>>2],A)){A=32,_=gi(e[f+6808>>2])?_:256|_;break o}T=ks(s)?2|T:T,e[f+6808>>2]!=32|g[aA-2|0]-48>>>0>=10|e[f+6812>>2]-48>>>0<10||(g[(f+784|0)+i|0]=32,A=1588+(z(At,12)+f|0)|0,b[A>>1]=M[A>>1]+1,i=i+1|0)}if(A=32,(0|s)==32)break c;if(Or=Or+1|0,(0|(c=e[K+600>>2]))<=0){A=s;break c}if(!((0|s)<=591&(0|(m=e[f+6808>>2]))>=(0|c))){if((0|s)<(0|c)){A=s;break c}if((0|Or)<2){A=s;break c}if(!((0|m)<=591)){A=s;break c}}if(!ar(m)){A=s;break c}T|=16384,_|=128}fA=1}if(rs=rs+1|0,ks(A)){if(c=Qi(A,K),e[K- -64>>2]){A=fs?c:712,a=fs?a:c,fs=1;break A}if(xs(e[f+6812>>2])){if(e[f+6808>>2]==32){A=c;break A}if(A=32,e[K+212>>2]!=26465)break r;for(s=85240,m=(f+784|0)+i|0,ce=0;;){if(o=RA(s),l[0|(Re=m-o|0)]==32&&!va(Re+1|0,s,o=o-1|0)){if((0|(s=g[s+o|0]))==(0|c)){A=c;break A}if((0|s)==65&&I0(K,c)){A=c;break A}}if(s=e[131184+((ce=ce+1|0)<<2)>>2],(0|ce)==11)break}break r}if(A=32,(0|c)==32)break A;if(!ks(e[f+6812>>2])){A=c;break A}if(!xs(e[f+6804>>2])){A=c;break A}if(Dt(f+16|0,189424+(r+ce|0)|0),!(e[K+212>>2]!=28268|(0|Or)!=2|(0|c)!=106|e[f+6812>>2]!=73)){A=c;break A}if(e[f+6808>>2]==32){A=c;break A}if(!ar(e[f+16>>2])){A=c;break A}_|=256,he=32,fA=1;break A}if(!GA){GA=0;break A}if((0|Or)<3){GA=0;break A}if((0|A)!=115){GA=0;break A}if(e[K+212>>2]!=25966){GA=0;break A}if(e[f+6804>>2]!=32){GA=0;break A}if(GA|=4,A=32,l[783+(s=i+f|0)|0]!=39)break A;g[s+783|0]=32;break A}A=32;c:{o:{u:{l:{switch(s-39|0){default:if((0|s)==95)break A;case 1:case 2:case 3:case 4:case 5:if(s-48>>>0>=10||l[K+170|0]&&ar(e[f+6808>>2])&&!((c=e[f+6804>>2])-48>>>0<10|c-2406>>>0<10))break c;if((0|(m=e[f+6808>>2]))==32)break o;if(c=e[f+6808>>2],m-48>>>0<10)break u;if((0|(m=c))==(0|(c=e[K+128>>2])))break l;fA=1;break A;case 6:if(!ci(e[f+6812>>2])&&ar(e[f+6804>>2])){if(e[f+6808>>2]!=32){fA=1;break A}if(T|=128,(0|At)<=0)break A;s=1572+(z(At,12)+f|0)|0,e[s>>2]=16384|e[s>>2];break A}if(s=e[f+6804>>2],!(e[f+6812>>2]!=32|(0|s)!=32)){qt=4;break A}if((0|s)==45){r=r+1|0,qt=4;break A}if(A=45,e[f+6808>>2]!=32||!ar(Re)||ar(e[f+6812>>2]))break A;g[(f+784|0)+i|0]=32,s=1588+(z(At,12)+f|0)|0,b[s>>1]=M[s>>1]+1,i=i+1|0;break A;case 7:if(e[f+6808>>2]==46){fA=1;break A}if(A=46,(0|At)<=0||(s=1572+(z(At,12)+f|0)|0,1&g[s+1|0])||!ar(e[f+6812>>2]))break A;e[s>>2]=65536|e[s>>2],A=(A=ci(e[f+6804>>2]))||e[f+6804>>2]==45?32:46;break A;case 0:}n:{if((0|(c=e[f+6812>>2]))!=46||(s=115,e[f+6804>>2]!=115)){if(!Zi(c))break n;s=e[f+6804>>2]}if(ar(s))break s}if(1&(s=e[K+88>>2])){if(ar(e[f+6804>>2]))break s;s=e[K+88>>2]}if(2&s&&ar(e[f+6812>>2]))break s;if(!(!Wr(e[K+332>>2],e[f+6812>>2])|(0|Re)!=32)){r=(e[f+6804>>2]==32)+r|0;break s}if(c=(0|(s=e[f+6808>>2]))!=115|ps,ps=0,!(1&c))break A;ps=!!(0|ci(s)),qt=4;break A}if((0|c)==44&y){fA=1;break A}y=1;break c}if((0|c)!=32)break c}ar(Re)&&(ar(e[f+6812>>2])||(g[(f+784|0)+i|0]=32,A=1588+(z(At,12)+f|0)|0,b[A>>1]=M[A>>1]+1,i=i+1|0))}A=s;break A}Cr=1,s=r+1|0,y=A;break e}A=39,ps=0;break A}fA=1,he=32}else{if(A-48>>>0<10){a=0,s=(0|(c=e[49574]+1|0))>(15&e[49573]),e[49574]=s?0:c,A=s?32:A,fA|=s,Cr=0;break A}a=0,e[49574]=0,A=(s=e[f+6808>>2]-48>>>0<10)?32:A,fA|=s,Cr=0}if(ci(A)){if(e[f+6808>>2]==32){T|=262144,s=r;break e}if(s=e[f+6816>>2]-9>>>0<2,m=1&fA){ce=0;A:if(!((0|p)>(0|(A=r-1|0))))for(;;){if(!(c=b[(f+5184|0)+(A<<1)>>1]))break A;if(ce=((0|c)>0)+ce|0,!((0|p)<=(0|(A=A-1|0))))break}g[1594+(z(At,12)+f|0)|0]=ce}if(_=s?262144|_:_,g[(f+784|0)+i|0]=32,A=i+1|0,!((0|At)>298||(s=(f+1584|0)+z(At,12)|0,(0|(c=M[s+4>>1]))>=(0|A)))){if((0|$r)<=0?p=e[s>>2]:(p=198300+(e[47350]<<2)|0,e[p>>2]=128|e[p>>2],$r=0,p=64|e[s>>2]),o=e[47352],g[s+6|0]=o,e[s>>2]=p|(rs?GA:-2&GA)|(l[199304]?2048:0)|T,(0|o)>0){for(;T=(p=f+784|0)+A|0,p=p+(A=A-1|0)|0,g[0|T]=l[0|p],(0|A)>(0|c););g[0|p]=32,b[s+4>>1]=c+1,A=i+2|0}c=(f+1584|0)+z(At=At+1|0,12)|0,e[c>>2]=0,b[c+4>>1]=A,i=r;A:if(!((0|(s=e[f+6800>>2]))<=(0|r))){for(;;){if(b[(f+5184|0)+(i<<1)>>1]>0)break A;if((0|s)==(0|(i=i+1|0)))break}i=s}if(ce=M[(f+5184|0)+(i<<1)>>1],b[c+8>>1]=ce,rs=0,s=0,ce)for(;s=!!(65535&~ce)+s|0,ce=M[(f+5184|0)+((i=i+1|0)<<1)>>1];);g[c+10|0]=s,e[47352]=0,GA=1,T=_,_=0,fs=0}fA=0,a=m?0:a,s=m?I:r}else(0|i)>795?(s=r,r=p,A=i):(A=Nr(A,(f+784|0)+i|0)+i|0,s=r,r=p);e[47352]<(0|qt)&&(e[47352]=qt),qt=0,p=r,i=A}if(Xe||(I=s,!((0|i)<799)))break}(0|$r)<=0|At||(A=198300+(e[47350]<<2)|0,e[A>>2]=128|e[A>>2],e[f+1584>>2]=64|e[f+1584>>2],At=1),A=(f+784|0)+i|0,e[K+8204>>2]=A-1,r=0,g[0|A]=0,g[f+1590|0]=0,g[1590+(z(At,12)+f|0)|0]=8;e:if((0|At)<=0)e[f+1584>>2]=512|e[f+1584>>2],i=e[49572];else{A=At-1|0;A:if((0|At)!=1)for(a=A;;){if(!gi(g[M[1588+(z(a,12)+f|0)>>
vendor: 9,969 bytes, line 2737
27371]+(f+784|0)|0])){r=a;break A}if(c=(0|a)>1,a=a-1|0,!c)break}if(r=(f+1584|0)+z(r,12)|0,e[r>>2]=16|e[r>>2],4194304&ct&&(A=(f+1584|0)+z(A,12)|0,256&(r=e[A>>2])||(e[A>>2]=65536|r)),e[f+1584>>2]=512|e[f+1584>>2],!((0|At)<=0|(0|(i=e[49572]))>990))for(c=3|(A=f+624|0),m=2|A,he=f+754|0,Xe=!(4194304&ct),I=0,p=0;;){e[47354]=e[47354]+1;A:{if((0|(A=e[49827]))<=0||(A=A-1|0,e[49827]=A,A)){if(l[190280])break A}else g[190280]=0;A=M[1588+(z(I,12)+f|0)>>1]+(f+784|0)|0;r:if(!(g[0|A]-48>>>0>=10)&&(r=f+624|0,a=A,e[K+112>>2]!=1227133512)){for(;;){s:{if(g[0|a]-48>>>0<10)g[0|r]=l[0|a],r=r+1|0,a=a+1|0;else{if(e[K+124>>2]!=g[0|a]|l[a+1|0]!=32||(i=a+2|0,l[a+3|0]==32|g[0|i]-48>>>0>=10|l[a+4|0]==32))break s;I=I+1|0,a=i}if(r>>>0<he>>>0)continue;break r}break}VA(A+(r=r-(y=f+624|0)|0)|0,32,(a=(i=a-A|0)-r|0)>>>0<=i>>>0?a:0),xt(A,y,r)}for(r=0;a=r,r=r+1|0,g[A+a|0]-48>>>0<10;);r:if(a-5>>>0<=27){for(g[f+626|0]=32,b[f+624>>1]=8224,l[0|A]!=48&e[K+132>>2]>=(0|a)||(r=(f+1584|0)+z(I,12)|0,e[r>>2]=524288|e[r>>2]),_=(f+1584|0)+z(I,12)|0,ce=0,i=c;r=A,!((A=g[0|A])-48>>>0>=10&(0|A)!=e[K+128>>2])&&(g[0|i]=A,A=i+1|0,y=a,(0|(a=a-1|0))<=0?i=A:e[K+112>>2]>>>a&1?(o=e[_+4>>2],T=(f+16|0)+z(ce,12)|0,e[T>>2]=e[_>>2],e[T+4>>2]=o,e[T+8>>2]=e[_+8>>2],ce=ce+1|0,(0|(T=e[K+124>>2]))!=32&&(g[i+1|0]=T,A=i+2|0),g[0|A]=32,i=A+1|0,8&l[_+2|0]||((qt=e[K+112>>2])>>>y-2&1&&(g[A+1|0]=48,g[A+2|0]=48,qt=e[K+112>>2],i=A+3|0),qt>>>y-3&1&&(g[0|i]=48,i=i+1|0))):i=A,A=r+1|0,i>>>0<he>>>0););if(a=e[_+4>>2],A=(f+16|0)+z(ce,12)|0,e[A>>2]=e[_>>2],e[A+4>>2]=a,a=e[_+20>>2],e[A+16>>2]=e[_+16>>2],e[A+20>>2]=a,a=e[_+12>>2],e[A+8>>2]=e[_+8>>2],e[A+12>>2]=a,a=1,(0|ce)>0)for(;A=(f+16|0)+z(a,12)|0,e[A>>2]=-262209&e[A>>2],(0|ce)>=(0|(a=a+1|0)););if(A=l[r+4|0]|l[r+5|0]<<8|l[r+6|0]<<16|l[r+7|0]<<24,a=l[0|r]|l[r+1|0]<<8|l[r+2|0]<<16|l[r+3|0]<<24,g[0|i]=a,g[i+1|0]=a>>>8,g[i+2|0]=a>>>16,g[i+3|0]=a>>>24,g[i+4|0]=A,g[i+5|0]=A>>>8,g[i+6|0]=A>>>16,g[i+7|0]=A>>>24,A=l[r+12|0]|l[r+13|0]<<8|l[r+14|0]<<16|l[r+15|0]<<24,r=l[r+8|0]|l[r+9|0]<<8|l[r+10|0]<<16|l[r+11|0]<<24,g[i+8|0]=r,g[i+9|0]=r>>>8,g[i+10|0]=r>>>16,g[i+11|0]=r>>>24,g[i+12|0]=A,g[i+13|0]=A>>>8,g[i+14|0]=A>>>16,g[i+15|0]=A>>>24,g[i+16|0]=0,i>>>0<=c>>>0)break r;for(A=l[_+6|0],ce=0,a=c;;){for(p=wt(K,a,(f+16|0)+z(ce,12)|0,255&A);A=l[0|a],a=a+1|0,(0|A)!=32;);if(A=0,g[_+6|0]=0,ce=ce+1|0,!(a>>>0<i>>>0))break}}else{if(e[47352]=0,p=wt(K,A,r=(f+1584|0)+z(I,12)|0,l[r+6|0]),(0|(a=e[47352]))>l[r+18|0]&&(g[r+18|0]=a,e[47352]=0),!(!(4096&p)|l[0|A]==32))for(;VA(f+624|0,0,150),e[f+624>>2]=538976288,e[f+628>>2]=538976288,g[f+632|0]=32,wt(K,xt(m,A,a=Dt(f+16|0,A)),r,0),l[0|(A=A+a|0)]!=32;);50331648&p&&(Y=(A=Xe|(~e[33264]+At|0)!=(0|I))?Y:10,A|!oa||(e[oa>>2]=4,Y=10))}if(128&p&&!((0|(r=e[33264]))<=0)){if(A=0,a=r,i=3&r)for(;y=(f+1584|0)+z(a+I|0,12)|0,e[y>>2]=1048576|e[y>>2],a=a-1|0,(0|i)!=(0|(A=A+1|0)););if(r>>>0>=4)for(;A=(f+1584|0)+z(a+I|0,12)|0,e[A>>2]=1048576|e[A>>2],e[(r=A-12|0)>>2]=1048576|e[r>>2],e[(r=A-24|0)>>2]=1048576|e[r>>2],e[(A=A-36|0)>>2]=1048576|e[A>>2],a=a-4|0;);e[33264]=a}}if(i=e[49572],(0|At)<=(0|(I=I+1|0)))break e;if(!((0|i)<991))break}}if((0|(a=e[47351]))<(0|(c=e[47350]))){for(he=e[47202],Xe=e[49846],ce=e[47352];;){A=(r=e[198304+(a<<2)>>2])>>8;e:{A:switch((31&r)-9|0){case 0:he=A;break e;case 4:Xe=A;break e;case 3:break A;default:break e}ce=r>>>0>=256?A+ce|0:0}if(!(!(128&r)&(0|c)>(0|(a=a+1|0))))break}e[47352]=ce,e[47351]=a,e[49846]=Xe,e[47202]=he}e[49572]=i+2,e[(A=190288+(i<<3)|0)>>2]=589824,b[A+4>>1]=s,e[A+8>>2]=589824,b[A+12>>1]=s,r=At&&e[47199]?Y:10,e[33285]?A=0:(A=e[33283],A=e[A>>2]==e[A+4>>2]),Y=A?r:Y,I=bt,c=0,At=0,q=m=q-32192|0,e[m+24>>2]=0,e[m+28>>2]=0,e[m+16>>2]=0,e[m+20>>2]=0,e[m+8>>2]=0,e[m+12>>2]=0,e[m>>2]=0,e[m+4>>2]=0,s=e[49572],o=M[190284+(s<<3)>>1];e:{if((0|(a=s-3|0))<0)A=a;else{for(;;){if(c=(0|(r=127&l[3+(A=190288+(a<<3)|0)|0]))<(0|c)?c:r,M[A+4>>1])A=a;else if(A=-1,r=(0|a)>0,a=a-1|0,r)continue;break}if(c>>>0>3)break e}for(;;){if((0|(A=A-1|0))<0)break e;if(64&l[0|(r=190288+(A<<3)|0)]){g[r+3|0]=4;break e}if(!(l[r+3|0]<4))break}}if(A=e[K+292>>2],a=0,(0|s)<=0)c=0;else for(y=-1,c=0;;){r=A,e[K+292>>2]!=(0|A)&&(b[(A=190288+(a<<3)|0)>>1]=32|M[A>>1]),(0|c)>0&&(_=e[4+(p=190288+(a<<3)|0)>>2],e[(i=190288+(A=a-c<<3)|0)>>2]=e[p>>2],e[i+4>>2]=_,(0|y)!=-1&&(b[4+(A+190288|0)>>1]=y),y=-1);e:{if(l[2+(190288+(i=a<<3)|0)|0]==21){if(A=l[7+(p=i+190288|0)|0],2&l[0|p])break e;A:if((0|A)!=(0|r)){if(p=l[10+(i+190288|0)|0]-9|0){if((0|p)==12)break A;break e}if(l[18+(i+190288|0)|0]!=21)break e}(0|y)==-1&&(y=(A=M[4+(i+190288|0)>>1])||-1),c=c+1|0}A=r}if((0|s)==(0|(a=a+1|0)))break}if(e[49572]=s-c,ma(A),(r=e[K+36>>2])&&!((0|(A=(c=e[49572])-1|0))<0))for(he=256&r,T=4&r,Xe=8&r,_=15&r,fA=16&r,bt=2&r,r=r>>>8&1,a=0;;){if(i=c,s=a,c=A,(0|(A=l[2+(p=190288+(GA=A<<3)|0)|0]))==21){e:{A:{if((0|(a=i-2|0))>=0)for(;;){if(l[2+(190288+(A=a<<3)|0)|0]==21)break A;if(A=(0|a)>0,a=a-1|0,!A)break}A=e[K+292>>2];break e}A=l[7+(A+190288|0)|0]}ma(A),A=l[p+2|0]}if(a=s,(A=e[144464+((255&A)<<2)>>2])&&(a=r,!(32&l[0|p]))){a=l[A+11|0],y=0,bt&&((0|(i=l[0|A]))!=118&(0|i)!=82||(s=fA?0:s,y=1));e:{A:{r:{s:switch((i=253&a)-4|0){case 1:break r;case 0:break s;default:break A}if(_&&(a=1,!s)||(0|(a=s))!=2||(a=2,!(A=l[A+13|0])))break e;g[p+2|0]=A;break e}if(_&&(a=2,!s)||(0|(a=s))!=1||(a=1,!(A=l[A+13|0])))break e;g[p+2|0]=A;break e}a=0,Xe&&(a=i?s:0)}a=A=y?0:a,M[4+(GA+190288|0)>>1]&&(a=A=T?0:A,he&&(a=A||1))}if(!((0|(A=c-1|0))>=0))break}if(ma(e[K+292>>2]),e[49572]<=0)fA=-2,a=0;else{for(a=-1,s=0,p=0,Xe=0;;){A=p<<3,(0|a)!=-1&&(b[4+(A+190288|0)>>1]=a),l[2+(y=A+190288|0)|0]==21&&ma(l[7+(A+190288|0)|0]),_=e[49572];e:{if(!(32&l[0|(i=A+190288|0)])){s=(0|(r=_-1|0))>(0|p)?e[144464+(l[10+(A+190288|0)|0]<<2)>>2]:s,!(M[i+12>>1]|(0|r)==(0|p))&&(ce=0,l[s+11|0]|!s)||(ce=1),c=l[y+2|0];A:if(!((0|(fA=e[49848]))<=0))for(r=A+190288|0,a=0;;){if(he=z(a,3),l[he+199408|0]==(255&c)&&!((T=l[2+(he+199408|0)|0])&(1^ce)|(4&l[r+3|0]?2&T:0)|(M[r+4>>1]?0:4&T))){if(c=l[1+(he+199408|0)|0],g[y+2|0]=c,!(2&l[e[144464+(c<<2)>>2]+4|0])|l[r+3|0]<2)break A;g[r+3|0]=0;break A}if((0|fA)==(0|(a=a+1|0)))break}if(!(255&c)){a=M[4+(A+190288|0)>>1];break e}}a=e[i+4>>2],A=(m+32|0)+(Xe<<5)|0,r=e[i>>2],e[A>>2]=r,e[A+4>>2]=a,r=e[144464+(r>>>14&1020)>>2],e[A+8>>2]=r,g[A+17|0]=l[r+11|0],Xe=Xe+1|0,a=-1}if(!((0|Xe)<1e3&(0|_)>(0|(p=p+1|0))))break}if(c=0,a=0,!((0|(fA=Xe-2|0))<=0))for(;;){e:if(M[4+((m+32|0)+(c<<5)|0)>>1]){for(r=(0|c)>(0|fA)?c:fA,a=0,A=c;;){if((0|A)!=(0|r)){if(a=(0|a)>(0|(i=l[3+((s=m+32|0)+(A<<5)|0)|0]))?a:i,!M[4+(s+((A=A+1|0)<<5)|0)>>1])continue}else A=r;break}if((0|A)<=(0|c))break e;if(r=~c+A|0,s=0,i=A-c&7)for(;g[6+((m+32|0)+(c<<5)|0)|0]=a,c=c+1|0,(0|i)!=(0|(s=s+1|0)););if(r>>>0<7)break e;for(;g[6+(r=(m+32|0)+(c<<5)|0)|0]=a,g[r+38|0]=a,g[r+70|0]=a,g[r+102|0]=a,g[r+134|0]=a,g[r+166|0]=a,g[r+198|0]=a,g[r+230|0]=a,(0|(c=c+8|0))!=(0|A););}else A=c+1|0;if(c=A,!((0|fA)>(0|A)))break}}for(e[m+40>>2]=e[36125],ma(e[K+292>>2]),Re=(0|a)<4,p=1,he=1,_=0,r=0,a=0,bt=0;;){e:{A:{r:{s:{if(r){if(s=(A=m+32|0)+((y=a-1|0)<<5)|0,_=l[2+(A+(a<<5)|0)|0],(0|y)>0){if(A=p-(a=(0|p)>0)|0,y>>>0>=(c=a?p:2)>>>0)for(;i=(a=(m+32|0)+(c<<5)|0)-32|0,p=e[a+12>>2],e[i+8>>2]=e[a+8>>2],e[i+12>>2]=p,p=e[a+4>>2],e[i>>2]=e[a>>2],e[i+4>>2]=p,p=e[a+28>>2],e[i+24>>2]=e[a+24>>2],e[i+28>>2]=p,p=e[a+20>>2],e[i+16>>2]=e[a+16>>2],e[i+20>>2]=p,(0|y)>=(0|(c=c+1|0)););p=A}ce=e[144464+(_<<2)>>2],e[s>>2]=0,e[s+4>>2]=0,e[s+24>>2]=0,e[s+28>>2]=0,e[s+16>>2]=0,e[s+20>>2]=0,e[s+8>>2]=0,e[s+12>>2]=0,g[s+2|0]=r,A=e[144464+(r<<2)>>2],e[s+8>>2]=A,_=s}else{if((0|a)>=(0|fA)|(0|bt)>=997)break s;i=l[2+(s=(c=a<<5)+(m+32|0)|0)|0],A=e[144464+(i<<2)>>2],e[s+8>>2]=A,y=M[s+4>>1],(0|i)==21&&ma(l[7+(c+(m+32|0)|0)|0]),p=y?a:p,ce=e[144464+(l[s+34|0]<<2)>>2],e[s+40>>2]=ce,y=a}if(!A){r=0,a=y+1|0;continue}if($t(K,256,s,m+32040|0,m),(0|(a=e[m+32052>>2]))>0&&(c=(m+32|0)+(y<<5)|0,ce=e[144464+(a<<2)>>2],e[c+40>>2]=ce,g[c+34|0]=a,g[c+49|0]=l[ce+11|0]),a=0,r)r=A;else if((0|(c=e[m+32056>>2]))<=0)r=A;else{r=e[144464+(c<<2)>>2],e[s+8>>2]=r,a=l[s+2|0],g[s+2|0]=c,c=M[s>>1];i:if(l[r+11|0]!=2)b[s>>1]=65531&c;else{if(b[s>>1]=4|c,l[A+11|0]==2)break i;g[s+3|0]=0}$t(K,256,s,m+32040|0,m)}if((0|(i=e[m+32048>>2]))<=0)c=r;else{if(c=e[144464+(i<<2)>>2],g[s+2|0]=i,e[s+8>>2]=c,A=l[c+11|0],Xe=1,(0|i)==1){GA=(0|A)==2;break A}i=M[s>>1];i:if((0|A)!=2)b[s>>1]=65531&i;else{if(b[s>>1]=4|i,l[r+11|0]==2)break i;g[s+3|0]=0}$t(K,256,s,m+32040|0,m)}if(GA=0,(0|(A=l[c+11|0]))!=2){Xe=0;break A}if(GA=1,Xe=0,A=2,l[s+3|0]>1){At=0;break A}i=s+3|0,At=At+1|0,r=s;i:{if(8&(T=e[K+12>>2])){for(;;){c:switch(T=r,r=r+32|0,l[T+49|0]){case 0:break A;case 2:break c;default:continue}break}if(l[0|(r=T+35|0)]>1)break A;if(l[s+6|0]<=3&&(g[0|i]=0),l[T+38|0]<4)break i;break A}if(1&At|(0|At)<2)break A;if(2&T)break r;if(Re)r=i;else if(r=i,M[s+36>>1])break r}g[0|r]=0;break A}e[36423]=bt+2,b[(A=145840+(bt<<5)|0)>>1]=0,g[A+2|0]=9,g[A+20|0]=2,e[A+12>>2]=Y,b[A+4>>1]=o,g[A+17|0]=0,g[A+18|0]=0,e[A+8>>2]=e[36125],b[A+32>>1]=0,g[A+34|0]=9,g[A+52|0]=0,e[A+44>>2]=0,b[A+36>>1]=0,g[A+49|0]=0,g[A+50|0]=0,e[A+40>>2]=e[36126],ma(e[K+292>>2]),q=m+32192|0;break e}At=1}if(!(8&(r=M[s+32>>1]))|(0|y)<=0||(i=l[ce+11|0])>>>0>15|!(1<<i&457)||(a=l[ce+10|0],b[s+32>>1]=8^r),De=M[s+36>>1]){A:if(r=e[K+4>>2]){switch(0|A){default:a=512&r?11:a;break;case 0:break A;case 2:}if(l[ce+11|0]==2){(i=12&r)&&(a=(0|i)!=12?23:11);r:if(GA){switch(3&r){case 2:a=10;break r;case 0:break r}a=23}l[s+35|0]<4||(a=256&r?10:a)}}if(!((0|s)==(0|_)|(0|bt)<=0)){A:{r:{s:switch(0|(r=7&e[K>>2])){case 0:break A;case 1:break s;default:break r}if(a-12>>>0>4294967293)break A}a=l[r+101916|0]}a=e[47205]>0?24:a}}if(e[s+72>>2]=e[144464+(l[s+66|0]<<2)>>2],r=e[m+32060>>2],r=a||r||a,!Xe){g[17+(i=145840+(T=bt<<5)|0)|0]=A,e[i+8>>2]=c,g[i+16|0]=0,b[i>>1]=M[s>>1],g[i+3|0]=15&l[s+3|0],g[i+6|0]=l[s+6|0],a=l[s+7|0],b[i+4>>1]=0,g[i+7|0]=a,Xe=l[c+10|0],g[i+2|0]=Xe;A:if(a=M[s+4>>1]){if(b[i+4>>1]=a,I=1&I?5:1,g[20+(s=T+145840|0)|0]=I,a=he,he=0,!a){I=0;break A}g[s+20|0]=8|I,I=0}else g[20+(T+145840|0)|0]=0;e[12+(a=T+145840|0)>>2]=e[m+32084>>2]<<1,!De|(0|Xe)!=24||(0|(s=e[47205]))<=0||(e[i+8>>2]=e[36126],e[a+12>>2]=z(s,14)),(1<<A&428?A>>>0<=8:0)|2&l[c+7|0]&&(e[a+12>>
27372]=128,g[i+16|0]=0),g[21+(A=T+145840|0)|0]=255,g[A+22|0]=255,b[A+18>>1]=5120,bt=bt+1|0}a=y+1|0;continue}break}b[88922]=1,e[44462]=0,$r&&(b[145776+(e[36423]<<5)>>1]=2,A=198304+(e[47350]<<2)|0,e[A>>2]=128,e[(A=A-4|0)>>2]=128|e[A>>2]),g[190268]=ct>>>19&1,Ns&&(e[Ns>>2]=ct<<14>>31&189360)}q=f+6832|0,fA=e[47192],GA=e[t+12>>2],r=0,i=0,p=0,T=0,_=0,qt=0,Y=0,q=o=q-6e3|0;e:if(!((0|(s=(bt=e[36423])-1|0))<=0)){for(;g[2+(o+z(r,6)|0)|0]=0,4&l[145840+(A=r<<5)|0]?(a=o+z(T,6)|0,g[a+1|0]=0,A=A+145840|0,g[a+3|0]=l[A+49|0],A=l[A+3|0],g[0|a]=A,T=T+1|0,qt=(A>>>0>3)+qt|0):l[e[8+(A+145840|0)>>2]+10|0]!=27|(0|T)<=0||(A=(o+z(T,6)|0)-4|0,g[0|A]=4|l[0|A]),(0|s)!=(0|(r=r+1|0)););if(g[o+z(T,6)|0]=0,T)if(e[fA+148>>2]==1){if(!((0|bt)<=0)){for(A=-2&bt,a=1&bt,r=145840;p=l[r+17|0]==2&&l[r+3|0]>3?i:p,p=l[r+49|0]==2&&l[r+35|0]>3?1|i:p,r=r- -64|0,i=i+2|0,(0|A)!=(0|(_=_+2|0)););!a|l[r+17|0]!=2||(p=l[r+3|0]>3?i:p)}if(g[3+(c=145840+(A=p<<5)|0)|0]=7,e[fA+212>>2]==30313&&(l[7+(A=A+145840|0)|0]||(g[A+7|0]=aa(55),bt=e[36423])),!((0|bt)<=0)){for(_=0,r=145840,A=145840,i=y=e[36125],s=0,he=1;;){if(l[r+17|0]?I=e[36125]:(I=e[36125],y=(a=l[e[r+8>>2]+14|0]>50)?I:y,he|=a),a=l[r+20|0]?I:i,4&l[0|r]){I=l[r+7|0],i=e[144464+(I<<2)>>2];A:{if((0|(T=e[fA+212>>2]))==6840683){if(e[a>>2]!=49||(T=e[i>>2]-49|0)>>>0>5|!(1<<T&41))break A;g[A+7|0]=aa(50),T=e[fA+212>>2]}if(!((0|T)!=6516078&(0|T)!=31336)){T=0,I||(s=aa(1&(T=s|he)?13621:12593),g[r+7|0]=s,i=e[144464+(s<<2)>>2]),(0|p)!=(0|_)|(1024|e[i>>2])!=13621||(g[c+3|0]=6),e[y>>2]==3420466&&(g[A+7|0]=aa(e[i>>2]==3420466?13619:12594));r:{if(e[a>>2]==12597){if((0|(I=e[i>>2]))!=12597)break r;g[A+7|0]=aa(13109)}I=e[i>>2]}s=T,(0|I)==12593&&((0|(I=e[y>>2]))==13621&&(g[r+7|0]=aa(12850),I=e[y>>2]),(0|I)==13619&&(g[r+7|0]=aa(13107),I=e[y>>2]),(0|I)==3420466&&(g[r+7|0]=aa(13364)),g[r+3|0]=0)}}he=0,y=i,A=r}else i=a;if(r=r+32|0,!((0|(_=_+1|0))<(0|(a=e[36423]))))break}if(i=0,r=145840,!((0|a)<=0))for(;4&l[0|r]&&((A=l[r+7|0])||(g[r+7|0]=17,A=17),A=e[144464+(A<<2)>>2],g[r+21|0]=l[A+12|0],g[r+22|0]=l[A+13|0]),r=r+32|0,(0|a)!=(0|(i=i+1|0)););}}else{if(A=e[fA+152>>2],A=fA+z(Re=(0|A)>7?1:A,6)|0,K=l[0|(Re?A+637:fA+157)],ct=l[0|(Re?636+(A+GA|0):156+(fA+GA|0))],g[133068]=(0|GA)==4,!((0|T)<=0)){for(Xe=T-1|0,ce=GA-1>>>0>1,a=0,s=0;;){f=o+z(s,6)|0,Y=((A=l[0|f])<<24>>24>3)+Y|0;A:if((0|A)==6){A=s-3|0,r=s;r:{for(;;){if((0|r)<=(0|a)|(0|A)>=(0|r))break r;s:switch(c=o+z(r=r-1|0,6)|0,l[0|c]-4|0){case 2:break r;case 0:break s;default:continue}break}g[0|c]=3}r=s;r:{for(;;){if((0|T)<=(0|(r=r+1|0)))break r;s:switch(l[o+z(r,6)|0]-4|0){case 0:break r;case 2:break s;default:continue}break}g[f+2|0]=2,g[0|f]=5,A=a;break A}if(l[0|f]==6){g[f+2|0]=2,m=0;r:if((0|T)<=(0|(A=s+1|0)))c=s,Cr=0;else if(Cr=1,(0|(i=g[o+z(A,6)|0]))>4)c=s;else{for(p=(qt-Y|0)>1,c=s;;){if(r=A,(255&i)==4&&(A=p+1|0,p=1,!((0|A)<=1))){A=r;break r}if(Cr=(0|T)>(0|(A=r+1|0)),(0|A)==(0|T))break;if(c=r,(0|(i=g[o+z(A,6)|0]))>4)break r}c=Xe,A=T}i=-1,I=0,p=0,he=-1,_=0,y=-1;r:{if((0|(r=a))<(0|A)){for(;i=(De=(0|(y=g[o+z(r,6)|0]))>3)&&(0|i)<0?r-a|0:i,m=(_=(0|p)>(0|y))?m:(0|p)<(0|y)?r:I,he=De?r:he,I=_?I:r,De=(0|r)!=(0|c),p=_?p:y,r=r+1|0,De;);if(_=I,y=he,(0|i)>=0)break r}i=A,I=_,he=y}e[33269]=c-I,e[33268]=i,e[33270]=I,e[33271]=m;r:if(l[133068])e[33270]=A,e[33271]=A;else if((0|he)>=0){if((0|A)!=(0|T))break r;g[o+z(he,6)|0]=7}else g[o+z(I,6)|0]=7;Xa(o,Re,a,A,ct),!Cr&!!(0|GA)||(ct=ce?l[fA+156|0]:l[fA+157|0])}else A=a}else A=a;if((0|A)>=(0|s))a=A;else if(4&l[f+2|0]){for(a=s+1|0,i=-1,he=0,I=0,p=0,r=A,m=-1;i=(_=(0|(c=g[o+z(r,6)|0]))>3)&&(0|i)<0?r-A|0:i,he=(y=(0|c)<(0|p))?he:(0|c)>(0|p)?r:I,m=_?r:m,I=y?I:r,_=(0|r)!=(0|s),p=y?p:c,r=r+1|0,_;);e[33269]=s-I,e[33270]=I,e[33271]=he,e[33268]=(0|i)<0?a:i,l[133068]?(e[33270]=a,e[33271]=a):(0|m)>=0?g[o+z(m,6)|0]=7:g[o+z(I,6)|0]=7,Xa(o,Re,A,a,K)}else a=A;if((0|T)==(0|(s=s+1|0)))break}if(!((0|a)>=(0|T))){for(i=-1,he=0,I=0,p=0,r=a,m=-1;i=(c=(0|(A=g[o+z(r,6)|0]))>3)&&(0|i)<0?r-a|0:i,he=(s=(0|A)<(0|p))?he:(0|A)>(0|p)?r:I,m=c?r:m,I=s?I:r,p=s?p:A,(0|T)!=(0|(r=r+1|0)););e[33270]=I,e[33271]=he,e[33269]=~I+T,e[33268]=(0|i)<0?T:i,l[133068]?(e[33270]=T,e[33271]=T):(0|m)>=0?g[o+z(m,6)|0]=7:g[o+z(I,6)|0]=7,Xa(o,Re,a,T,ct)}}if((0|bt)<=0)break e;for(r=0,_=0;;){if(y=a=145840+(c=r<<5)|0,A=o+z(_,6)|0,i=l[0|A],g[a+3|0]=i,4&l[0|a]){s=c+145840|0,a=l[A+4|0],g[s+21|0]=a,p=l[A+5|0],g[s+16|0]=0,g[s+22|0]=p;A:{if(1&(I=l[A+2|0]))A=2;else{if(i>>>0<6)break A;A=l[A+1|0]}g[s+16|0]=A}a>>>0<=(255&p)>>>0?(A=p,p=a):(g[s+21|0]=p,g[s+22|0]=a,A=a),(a=l[7+(c+145840|0)|0])&&(A=(255&A)+(255&p)>>>1|0,a=e[144464+(a<<2)>>2],g[s+22|0]=A+l[a+13|0],g[s+21|0]=A+l[a+12|0]),2&I&&(g[y+3|0]=8|i),_=_+1|0}if((0|bt)==(0|(r=r+1|0)))break}}}if(q=o+6e3|0,_=e[47192],r=0,ce=0,m=0,Y=0,q=o=q-160|0,e[36423]>=2)for(GA=e[30450],i=1;;){if(i=(A=i)+1|0,T=l[3+(s=145840+(p=A<<5)|0)|0],2&(I=M[s>>1])){for(;(31&(c=e[198304+(Y<<2)>>2]))==2&&(Ls(127&c,c>>>8|0),e[36432]=110,e[36433]=100,e[36434]=450,e[36430]=5,I=e[50786],y=e[32972],(0|(a=e[y+84>>2]))>0&&(I=(0|z(a,I))/100|0),he=l[((0|(a=(0|I)>=359?359:I))<=80?80:a)+101856|0],a=(0|(a=(0|I)>=450?450:I))>399?6:(0|a)>379?7:he,e[32526]=(0|z(a,e[y+72>>2]))/256,e[32527]=(0|z(a,e[y+76>>2]))/256,e[32528]=(0|z(a,e[y+80>>2]))/256,a>>>0>7||(y=a-1|0,e[32528]=y,e[32526]=a,e[32527]=y)),Y=Y+1|0,!(128&c););I=M[s>>1]}y=i<<5,he=A-1|0,a=7&T;e:{A:{r:{s:{i:{c:{o:{u:{l:{n:switch(ct=l[17+(p+145840|0)|0],0|(c=4&I?2:ct)){case 2:break 
2737i;case 3:case 8:break c;case 5:break o;case 6:case 7:break u;case 4:break l;case 0:break n;default:break e}r=0;break e}if((0|(A=l[17+(145840+(he<<5)|0)|0]))!=6?(a=(0|A)==4?60:e[34063]>0||a>>>0<4?48:60,g[18+(p+145840|0)|0]=a):(a=25,g[18+(p+145840|0)|0]=25),!(16&l[0|_])|!l[20+(p+145840|0)|0]||(g[18+(p+145840|0)|0]=60,a=60),64&l[e[8+(p+145840|0)>>2]+6|0]&&(a=a+30|0,g[18+(p+145840|0)|0]=a),r=0,!(8&I))break e;g[18+(p+145840|0)|0]=l[_+164|0]+a;break e}!(s=l[20+(A=p+145840|0)|0])|1&g[e[A+8>>2]+7|0]&l[17+(145840+(he<<5)|0)|0]==2||(g[18+(p+145840|0)|0]=15),a=l[17+(y+145840|0)|0],8&l[e[8+(p+145840|0)>>2]+4|0]|a|l[17+(145840+(he<<5)|0)|0]!=8||(g[18+(p+145840|0)|0]=25),64&l[e[8+(145840+(A=he<<5)|0)>>2]+5|0]&&(g[18+(p+145840|0)|0]=30),!s|!(16&e[_>>2])||(g[18+(p+145840|0)|0]=30);u:if(l[20+(y+145840|0)|0]|!(32&l[e[8+(p+145840|0)>>2]+4|0])|(0|a)!=4)e[12+(p+145840|0)>>2]=256;else{if(s=p+145840|0,l[17+(A+145840|0)|0]==2){e[s+12>>2]=200;break u}e[s+12>>2]=150}if((0|c)!=7||(ce|=(0|a)==2,(254&l[17+(A+145840|0)|0])!=2))break e;e[12+(p+145840|0)>>2]=e[12+(A+145840|0)>>2]+255>>>1;break e}(254&(a=l[17+(145840+(A=he<<5)|0)|0]))==6|(0|a)==3|32&e[e[8+(A+145840|0)>>2]+4>>2]&&(g[18+(p+145840|0)|0]=30);o:if((254&(s=l[17+(y+145840|0)|0]))==2){ce=l[20+(y+145840|0)|0]&&(0|s)!=2?ce:1,g[18+(s=p+145840|0)|0]=40,T=0;u:{switch(0|a){case 0:if((A=e[12+(A+145840|0)>>2])>>>0>39)break u;T=40-A|0;break u;case 2:break u}if(l[20+(p+145840|0)|0])break o;T=20;l:switch(a-3|0){case 1:if(T=0,!(8&l[e[8+(A+145840|0)>>2]+4|0]))break u;break o;case 0:break u;case 5:break l;default:break o}T=12}g[s+18|0]=T}if(!(16&l[0|_])|!l[20+(p+145840|0)|0]||l[18+(A=p+145840|0)|0]>19)break e;g[A+18|0]=20;break e}s=l[_+296|0],c=a=p+145840|0,e[a+12>>2]=256,g[a+19|0]=s;c:if(l[a+20|0]){I=25;o:switch(l[17+(145840+(he<<5)|0)|0]-2|0){case 0:if(I=12,1&g[e[8+(p+145840|0)>>2]+7|0])break c;break;case 1:break o;default:break c}g[18+(p+145840|0)|0]=I}if((0|(y=l[17+(y+145840|0)|0]))==2){m=1;break e}if(g[22+(s=p+145840|0)|0]=r,(254&l[17+(145840+(a=he<<5)|0)|0])==2)break s;if(a=r,(0|(c=e[36423]))<=(0|A))break A;for(;;){if(l[17+(145840+(a=A<<5)|0)|0]==2){a=l[22+(a+145840|0)|0],g[s+22|0]=a;break A}if((0|c)==(0|(A=A+1|0)))break}break r}if(fA=p+145840|0,Xe=a^a>>>0<2,a=(bt=8&T)?25:l[296+(Xe+_|0)|0]-m|0,g[fA+19|0]=a,(e[36423]-3|0)>(0|A)||(0|(c=255&a))<=(0|(a=e[_+52>>2]))||(g[fA+19|0]=a),a=0,T=0,!(I=l[s+52|0]))for(;c=e[s+40>>2],T=l[s+49|0]==2?(~e[c+4>>2]>>>20&1)+T|0:T,a=l[c+10|0]==27?2:a,c=s,s=s+32|0,!(I=l[c+84|0]););c=fA+96|0,A=145840+(Re=A+2<<5)|0,e[34063]=T,f=l[e[s+40>>2]+10|0],y=y+145840|0,l[17+(Re+145840|0)|0]|l[e[y+8>>2]+10|0]!=23?(s=c,c=A,A=y):s=p+145968|0,y=l[e[c+8>>2]+15|0];i:if(T)y=l[e[_+96>>2]+(l[e[A+8>>2]+15|0]+z(y,10)|0)|0],l[A+17|0]!=8|(254&l[c+17|0])!=4||(y=8&l[e[s+8>>2]+4|0]?y-15|0:y);else{if(K=e[_+100>>2],Re=l[e[A+8>>2]+15|0],s=l[A+20|0],y=l[K+(Re+z(s|l[c+20|0]?(0|y)==1:y,10)|0)|0],!s|!(32&l[0|_]))break i;y=l[1+(K+z(Re,10)|0)|0]+y>>>1|0}s=I>>>1|0,Re=!T,I=(0|(y=(0|z(e[130104+(T?(0|T)==1?4:8:0)>>2],y))/128|0))<=8?8:y;i:if((0|Xe)!=7)bt&&(I=e[_+200>>2]+I|0);else{if(I=(y=e[_+200>>2])+I|0,!bt)break i;I=((0|y)/2|0)+I|0}y=s&Re|(0|f)==27,(s=M[304+(_+(Xe<<1)|0)>>1])||(s=M[_+316>>1]),I=z(s<<16>>16,I),(T=l[7+(s=p+145840|0)|0])&&(Xe=l[e[144464+(T<<2)>>2]+14|0])&&(I=(0|z(I,Xe))/100|0),(y|(0|a)==2)==1&&(2097152&(a=e[_+12>>2])||(I=(0|z(262144&a?282:256+((280-(l[e[8+(p+145840|0)>>2]+14|0]<<1)|0)/3|0)&65535,I))/256|0)),Xe=p+145840|0,a=z(e[32526],e[_+196>>2]),bt=(0|ct)!=2?256:(0|((0|a)>(0|I)?I:a))/128|0,e[Xe+12>>2]=bt,(a=l[Xe+16|0])>>>0>=19&&(jn(84371,28,GA),g[Xe+16|0]=0,T=l[s+7|0],a=0),I=a+1|0,(a=255&T)?(ji(a,o+8|0),a=Vn(e[o+132>>2])):a=e[129280+((255&I)<<2)>>2],y=p+145840|0,1&(m|ce)&&(s=145840+(p=he<<5)|0,m=l[0|a],a=l[y+21|0],a=((0|z(m,l[y+22|0]-a|0))/256|0)+a|0,g[s+22|0]=a,r=(a-(r=(0|a)==255?255:r)|0)>16?a-16|0:r,g[s+21|0]=r,s=0,(0|r)<(0|a)&&(g[Xe+16|0]=I,s=2),e[12+(r=p+145840|0)>>2]=bt,g[r+16|0]=s,a=l[fA+19|0],g[r+19|0]=l[r+17|0]!=3&&a>>>0>18?18:a),r=(0|ct)!=2,s=-2&(a=M[A>>1]),b[A>>1]=s;i:{c:{o:switch(l[A+17|0]-3|0){case 5:if(l[c+17|0]==2)break i;s=1|a;break c;case 0:break o;default:break i}if(b[A>>1]=1|a,l[c+17|0]!=2&&e[e[A+8>>2]>>
27372]!=12146)break i}b[A>>1]=s}r?(0|(A=r<<4))<=((a=l[y+22|0])-(s=l[y+21|0])|0)||(s=(0|(A=a-A|0))>0?A:0,g[y+21|0]=s):(a=l[y+22|0],s=l[y+21|0]),A=255&s,r=((0|z(l[e[129280+(l[Xe+16|0]<<2)>>2]+127|0],a-A|0))/256|0)+A|0,m=0,ce=0;break e}s=e[12+(a+145840|0)>>2],e[c+12>>2]=s,(0|ct)==3&&(s=e[32526],e[c+12>>2]=s),a=r;s:switch(y-5|0){case 0:e[c+12>>2]=(z(s,160)>>>0)/100;break r;case 2:break s;default:break A}e[c+12>>2]=(z(s,120)>>>0)/100}a=r}ce=0,g[16+(A=p+145840|0)|0]=0,s=A,a=(A=255&a)-16|0,g[s+21|0]=A>>>0>=a>>>0?a:0}if(!(e[36423]>(0|i)))break}if(q=o+160|0,15&(s=e[47197])|e[36456]){A=0,c=0,q=a=q-80|0;e:if((r=e[33222])||(e[33223]=500,r=It(500),e[33222]=r,r)){if(!((e[36423]-2|0)<2)){for(A=s>>8,_=128&s?0:A,T=A&s<<24>>31,y=2&s,s=a+32|1,p=1;;){if(cs(a,e[8+(i=145840+(he=p<<5)|0)>>2],i,y,a+72|0),A=a+32|0,(13&(r=l[i+20|0]))==1&&(g[a+32|0]=32,A=s),!_|(0|_)!=32&!!(0|r)|p>>>0<2||(Dt(a+76|0,a),e[a+76>>2]-880>>>0>4294967103||(A=Nr(_,A)+A|0)),4&l[0|i]&&((r=l[3+(he+145840|0)|0])>>>0<2||(r=r>>>0>=5?5:r,r=y?r>>>0>3?712:716:g[r+94144|0],e[a+76>>2]=r,A=Nr(r,A)+A|0)),I=0,e[a+72>>2]=0,l[0|(r=a)])for(;r=Dt(a+76|0,r)+r|0,e[a+72>>2]>>>I-1&1|!T|(0|I)<=0||(m=e[a+76>>2])-880>>>0>4294967103||Di(m)&&(A=Nr(T,A)+A|0),I=I+1|0,A=Nr(e[a+76>>2],A)+A|0,l[0|r];);if(l[e[i+8>>2]+10|0]!=21&&(8&(r=M[i>>1])&&(A=cs(A,e[36128],i,y,0),r=M[i>>1]),!(4&r)|l[17+(he+145840|0)|0]==2||(A=cs(A,e[36136],i,y,0)),(r=l[7+(he+145840|0)|0])&&(A=cs(A,e[144464+(r<<2)>>2],i,y,0))),(A=(i=A-(a+32|0)|0)+c|0)>>>0<ue[33223])r=e[33222];else{if(r=A+500|0,e[33223]=r,!(r=qr(e[33222],r))){e[33223]=0,r=86135;break e}e[33222]=r}if(g[(I=i)+(i=a+32|0)|0]=0,JA(r+c|0,i),c=A,!((0|(p=p+1|0))<(e[36423]-2|0)))break}if(!r){r=86135;break e}}g[A+r|0]=0}else e[33223]=0,r=86135;q=a+80|0,15&l[188788]&&(e[t>>2]=r,hr(e[47195],84367,t)),(A=e[36456])&&pt[0|A](r)}l[190280]?(e[36423]=0,A=1):(bA(0),(A=e[t+8>>2])?(q=r=q+-64|0,sr(r,A,60),Hi(r,1),a=0,(A=tt(r,0))&&(a=A,l[202976]&&(a=tt(202976,2))),q=r- -64|0,e[44468]=a):a=e[44468],A=1,a&&(r=e[32972],(a=It(1344))&&(r=xt(a,r,1344),a=216192+(e[50758]<<4)|0,e[a>>2]=11,e[a+8>>2]=r,r=e[50758]+1|0,e[50758]=(0|r)<=169?r:0),e[44468]=0))}else A=0,g[190280]=0;else A=0,e[36423]=0,e[50758]=0,e[50757]=0;return q=t+16|0,A}function Te(A,t){var r=0,a=0,s=0,i=0;r=1073741825;e:{A:{r:{s:{i:{c:{o:{u:{l:{n:{p:{C:{m:{b:{h:{E:{w:{y:{L:{W:{V:{M:{B:{D:{F:{q:{Y:{Z:{S:{se:{H:{ye:{U:{d:{f:{$:{k:{ee:{I:{a:{We:{J:{t:{fe:{R:{pe:{he:{Ve:{le:{N:{Ee:{v:{Me:{_:{me:{Ge:{je:{De:{Qe:{Te:{Pe:{ze:{Fe:{Ce:{Ue:{Ae:{Se:{Ke:{Ne:{Oe:{G:{be:{Ze:{hA:{mA:{CA:{bA:{IA:{wA:{kA:{xA:{BA:{vA:{yA:{EA:{MA:{GA:{DA:{QA:{TA:{PA:{zA:{FA:{SA:{NA:{OA:{LA:{YA:{HA:{RA:{WA:{VA:{jA:switch(0|t){case 0:t=A-9>>>0<5?1073741825:0,t=(A=(0|A)==133)?1073741825:t;break F;case 1:g:{Q:{T:{P:{z:{O:{X:{j:{te:{ie:{re:{ne:{ce:{ge:{if((0|(t=-256&A))<=2047){if(!t)break ge;if((0|t)==1536)break ce;if((0|t)!=1792||(r=0,a=1,(0|A)!=1807))break g;break t}if((0|t)<=69631){if((0|t)==2048)break ne;if((0|t)!=8192)break g;switch(r=131076,A-8204|0){case 1:break re;case 0:break t;default:break ie}}if((0|t)==69632)break te;if((0|t)!=917504)break g;switch(r=8388608,A-917505|0){case 62:break T;case 58:break P;case 57:break z;case 45:break O;case 43:break X;case 32:break j;case 0:break t;default:break Q}}if(r=16,(0|A)!=173)break g;break t}if(r=0,a=1,A-1536>>>0<6)break t;a=(0|A)==1757,t=(A=(0|A)==1564)?2:0;break D}if(r=0,a=1,(0|A)!=2274)break g;break t}return J=64,4}if(r=1073741826,(-2&A)==8206)break t;if(A-8234>>>0<5)return J=0,2;if(r=128,A-8289>>>0<4||(r=2,A-8294>>>0<4))break t;if(r=8388608,A-8298>>>0>=6)break g;break t}t=!(A-69821&-17),A=0;break B}J=536870976;break M}J=268435520;break M}J=-2147483584;break M}J=134217792;break M}J=67108928;break M}J=1073741888;break M}if(r=131072,a=64,A-917536>>>0<96)break t}break a;case 2:g:{Q:{T:{P:{z:{O:{X:{if((0|(t=-256&A))<=130303){if((0|t)<=127743){if((0|t)<=64767){if((0|t)<=11007){if((0|t)==8192)break X;if((0|t)!=9216)break g;if(A-9255>>>0>=25)break O;break I}if((0|t)==11008)break z;if((0|t)!=11776||(r=-2147483648,A-11845>>>0>=59))break g;break t}if((0|t)<=126975){if((0|t)==64768)break P;if((0|t)!=65280||(r=4194304,A-65520>>>0>=9))break g;break t}if((0|t)==126976|(0|t)==127232|(0|t)==127488)break J;break g}if((0|t)<=129023){if((0|t)<=128255){if((0|t)==127744|(0|t)==128e3)break J;break g}if((0|t)==128256|(0|t)==128512|(0|t)==128768)break J;break g}if((0|t)<=129535){if((0|t)==129024|(0|t)==129280)break J;break g}if((0|t)==129536|(0|t)==129792|(0|t)==130048)break J;break g}
2737if((0|t)<=919039){if((0|t)<=917759){if((0|t)<=130815){if((0|t)==130304)break J;if((0|t)!=130560)break g;break J}if((0|t)==130816)break J;if((0|t)!=917504)break g;if((-128&A)!=917632)break T;break ee}if((0|t)<=918271){if((0|t)==917760)break Q;if(r=4194304,(0|t)!=918016)break g;break t}if((0|t)==918272|(0|t)==918528)break ee;if(r=4194304,(0|t)!=918784)break g;break t}if((0|t)<=920319){if((0|t)<=919551){if((0|t)==919040)break ee;if(r=4194304,(0|t)!=919296)break g;break t}if((0|t)==919552|(0|t)==919808)break ee;if(r=4194304,(0|t)!=920064)break g;break t}if((0|t)<=920831){if((0|t)==920320)break ee;if(r=4194304,(0|t)!=920576)break g;break t}if((0|t)==920832|(0|t)==921088)break ee;if(r=4194304,(0|t)!=921344)break g;break t}if(r=4194304,(0|A)!=8293)break g;break t}if(r=-2147483648,A-9291>>>0>=21)break g;break t}if((-16&A)==11248|A-11219>>>0<25|(0|A)==11209|A-11194>>>0<3||(0|(t=-2&A))==11124)break I;if(r=-2147483648,(0|t)!=11158)break g;break t}if(r=65536,A-64976>>>0>=32)break g;break t}if((0|A)==917504)break ee;if(r=4194304,A-917506>>>0>=30)break g;break t}if(r=4194304,A>>>0>917999)break t}t=(A=!(65534&~A))>>>16|0,A<<=16;break B;case 6:g:{Q:{T:{P:{z:{O:{X:{j:{te:{ie:{re:{ne:{if((0|(t=-256&A))<=7679){if((0|t)<=767){if(!t)break ne;if((0|t)==256)break re;if((0|t)!=512)break a;if((0|A)!=585)break ie;break V}if((0|t)==768)break te;if((0|t)==1024)break j;if((0|t)!=7424||(r=16777216,(0|A)!=7574))break a;break t}if((0|t)<=119807){if((0|t)==7680)break X;if((0|t)==8448)break O;if((0|t)!=65280||(r=256,A-65345>>>0>=6))break a;break t}if((0|t)<=120319){if((0|t)==119808)break z;if((0|t)!=120064)break a;if(A>>>0>=120070)break P;break k}if((0|t)==120320)break T;if((0|t)!=120576)break a;if(A>>>0>=120597)break Q;break k}if(r=768,A-97>>>0<6)break t;
2737if(r=16777216,A-105>>>0>=2)break a;break t}r=(t=(0|A)==329)>>>9|0,t=(A=(0|A)==303)?16777216:t<<23;break W}if((0|A)==616)break V;if(r=16777216,(0|A)!=669)break a;break t}switch(r=128,A-976|0){case 35:break g;case 0:case 1:case 2:case 5:case 32:case 33:break t}if((-2&A)!=1012)break a;break t}a=(A=!(A-1110&-3))>>>8|0,A<<=24;break L}a=(t=(0|A)==7883)>>>8|0,t=(A=(0|A)==7725)?16777216:t<<24;break D}if(A-8458>>>0<10)break k;if((t=A-8495|0)>>>0<11)break VA;break fe}if((0|(t=-2&A))==119842)break $;if(A-119808>>>0<85)break k;if(A-119894>>>0<2|A-119946>>>0<2)break $;if((0|A)==119995|A-119896>>>0<69|A-119982>>>0<12)break k;if((0|t)==119998)break $;if(A-119997>>>0<7)break k;if(r=16777344,(0|t)==120050)break t;if(r=128,A>>>0<=120004)break a;break t}if((-2&A)==120102)break $;if(A-120094>>>0<28)break k;P:{if((0|A)<=120257){if(A-120154>>>0<2)break $;if(r=16777344,A-120206>>>0>=2)break P;break t}if(A-120258>>>0<2)break $;if(r=16777344,A-120310>>>0<2)break t}if(r=128,A>>>0<=120145)break a;break t}if(A-120362>>>0<2|A-120414>>>0<2)break $;if(r=16777344,A-120466>>>0<2)break t;if(A-120540>>>0<31|A>>>0>120571|A>>>0<120486)break k;if(r=128,A-120514>>>0>=25)break a;break t}if(A-120772>>>0<8|A-120746>>>0<25|A-120714>>>0<31|A-120688>>>0<25||(0|A)!=120597&A>>>0<120629|A-120656>>>0<31)break k;if(r=128,A-120630>>>0<25)break t;break a}break V;case 7:g:{Q:{T:{P:{z:{O:{X:{j:{te:{ie:{re:{ne:{ce:{ge:{x:{oe:{ae:{K:{ue:{de:{Ie:{we:{if((0|(t=-256&A))<=11263){if((0|t)<=3583){if((0|t)<=1535){if((0|t)==512)break we;if((0|t)==768)break Ie;if((0|t)!=1280||(r=4096,(0|A)!=1369))break a;break t}if((0|t)==1536)break de;if((0|t)==1792)break ue;if((0|t)!=2304||(r=4096,(0|A)!=2417))break a;break t}if((0|t)<=7167){if((0|t)==3584)break K;if((0|t)==6144)break ae;if((0|t)!=6656||(r=8192,(0|A)!=6823))break a;break t}if((0|t)==7168)break oe;if((0|t)==7424)break x;if((0|t)!=8192)break a;if(r=16793600,!(t=A-8305|0))break t;if((0|t)==14)break ge;break ce}if((0|t)<=43263){if((0|t)<=40959){if((0|t)==11264)break ne;if((0|t)==11776)break re;if((0|t)!=12288)break a;switch(r=8192,A-12293|0){case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 23:case 24:case 25:case 26:case 27:case 28:case 29:case 30:case 31:case 32:case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 42:case 43:break te;case 0:case 44:case 45:case 46:case 47:case 48:break t;default:break ie}}if((0|t)==40960)break j;if((0|t)==42496)break X;if((0|t)!=42752)break a;if(A-42775>>>0>=9)break O;break f}if((0|t)<=65279){if((0|t)==43264)break z;if((0|t)==43520)break P;if((0|t)!=43776||(r=20480,(-4&A)!=43868))break a;break t}if((0|t)==65280)break T;if((0|t)==92928)break Q;if((0|t)!=93952)break a;if(r=4096,A-94099>>>0<13)break t;if(r=8192,(-2&A)!=94176)break a;break t}if(r=16797696,(0|A)==690)break t;if(A-688>>>0<9)return J=0,20480;if(A-697>>>0<7)break f;if((0|(t=-2&A))==704)return J=0,20480;if(r=4096,A-710>>>0<10||(r=12288,(0|t)==720)||(r=20480,A-736>>>0<5))break t;r=(A=(-3&A)==748)>>>20|0,A<<=12;break y}t=(0|A)==890?20480:0,t=(A=(0|A)==884)?4096:t;break F}if(r=8192,(0|A)==1600)break t;if(r=4096,A-1765>>>0>=2)break a;break t}if(r=4096,(-2&A)==2036)break t;if(r=8192,(0|A)!=2042)break a;break t}t=(A=!(A-3654&-129))>>>19|0,A<<=13;break B}if(r=8192,(0|A)!=6211)break a;break t}if(r=12288,(0|A)==7291)break t;if(r=4096,A-7288>>>0>=6)break a;break t}if(r=16797696,(0|A)==7522||(r=20480,A-7468>>>0<63))break t;switch(r=16384,A-7588|0){default:if((0|A)==7544)break t;case 1:case 2:case 3:if(A-7579>>>0>=37)break a;break t;case 0:case 4:}return J=0,16793600}return J=0,16384}if(r=16384,A-8336>>>0>=13)break a;break t}t=(r=(0|A)==11389)>>>18|0,r=(A=(0|A)==11388)?16793600:r<<14;break w}if(r=-2147479552,(0|A)!=11823)break a;break t}if(A-12445>>>0<2)break t;if((0|A)==12540)break g}if(A-12541>>>0>=2)break a;break t}if(r=8192,(0|A)!=40981)break a;break t}if((0|A)==42508)break E;if((0|A)==42623)break f;if(r=20480,(-2&A)!=42652)break a;break t}if((0|A)==42864)return J=0,16384;if((0|A)==42888)break f;if(r=20480,(-2&A)!=43e3)break a;break t}r=(t=(0|A)==43494)>>>19|0,t=(A=(0|A)==43471)?8192:t<<13;break W}if((0|A)==43632||(0|A)==43741)break E;if(r=8192,A-43763>>>0>=2)break a;break t}if(r=12288,(0|A)==65392)break t;if(r=135168,(-2&A)!=65438)break a;break t}if(r=8192,(-2&A)==92994)break t;break a}return J=0,12288;case 8:r=128;g:{Q:{T:{P:{z:{O:{X:{j:{te:{if((0|(t=-256&A))<=12543){if((0|t)<=5887){if((0|t)<=3583){if(!t)break te;if((0|t)!=1536||(t=8388608,(0|A)!=1651))break v;break le}if((0|t)==3584)break j;if((0|t)!=4352||(r=4194304,A-4447>>>0>=2))break v;break N}if((0|t)<=8447){if((0|t)==5888)break X;if((0|t)!=6400||(t=A-6581|0)>>>0>=6)break v;r=e[(t=81432+(t<<3)|0)>>2],a=e[t+4>>2];break N}if((0|t)==8448)break O;if((0|t)!=12288||(t=2048,(0|A)!=12294))break v;break le}if((0|t)<=68863){if((0|t)<=63999){if((0|t)==12544)break z;if((0|t)!=43520)break v;if((t=A-43701|0)>>>0<8)break Q;break Ee}if((0|t)==64e3)break g;if((0|t)!=65280||(t=4194304,(0|A)!=65440))break v;break le}if((0|t)<=100095){if((0|t)==68864)break P;if((0|t)!=70400||(r=8192,(0|A)!=70493))break v;break he}if((0|t)==100096)break T;if((0|t)!=126464)break v;break N}
2737a=(t=!(A-170&-17))>>>18|0,r=t<<14;break N}if(r=33554432,A-3648>>>0<5)break N;if(t=0,i=33554432,(0|A)==3759)break le;if(A-3776>>>0>=5)break v;break N}if(r=8388608,A-6051>>>0>=2)break v;break N}if(A-8501>>>0>=4)break v;break N}if(t=4194304,(0|A)!=12644)break v;break le}if(r=4096,(-2&A)!=68898)break v;break N}if(r=2048,A-100333>>>0<5)break N;break v}if(r=33554432,!(211>>>t&1))break Ee;break N}if((t=A-64014|0)>>>0>=28)break v;r=e[(t=81480+(t<<3)|0)>>2],a=e[t+4>>2];break N;case 10:g:{Q:{T:{P:{z:{O:{if((0|(t=-256&A))<=119807){if((0|t)<=8447){if(!t)break O;if((0|t)!=768)break a;switch(r=128,A-976|0){case 0:case 1:case 2:case 36:case 37:break t;default:break a}}if((0|t)==8448)break z;if((0|t)!=65280||(r=256,A-65313>>>0>=6))break a;break t}if((0|t)<=120319){if((0|t)==119808)break P;if((0|t)!=120064)break a;if(A>>>0>=120070)break T;break k}if((0|t)==120320)break Q;if((0|t)!=120576)break a;if(A-120772>>>0>=8)break g;break k}if(r=768,A-65>>>0>=6)break a;break t}switch(r=128,A-8450|0){case 0:case 5:break t}if(A-8458>>>0<10)break k;if((t=A-8469|0)>>>0<20)break WA;if((-4&A)==8508)break t;break Me}if(A-119982>>>0<12|A>>>0>120004|A-119977>>>0<4|A-119973>>>0<2||(0|A)==119970|(-2&A)==119966|A-119808>>>0<85)break k;if(r=128,A-119894>>>0>=71)break a;break t}if(A-120138>>>0<7|A>>>0>120145|(0|A)==120134|A-120128>>>0<5||A-120123>>>0<4|A-120094>>>0<28|(0|A)!=120070&A>>>0<120075|A-120086>>>0<7)break k;if(r=128,A-120077>>>0>=8)break a;break t}if(A-120540>>>0<31|A>>>0<120486)break k;if(r=128,A-120488>>>0>=25)break a;break t}if(A-120714>>>0<31|A-120598>>>0<31)break k;if(r=128,A-120656>>>0<31)break t;break a;case 11:g:{Q:{T:{P:{z:{O:{X:{j:{te:{ie:{re:{ne:{ce:{ge:{x:{oe:{ae:{if((0|(t=-256&A))<=43263){if((0|t)<=3839){if((0|t)<=3071){if((0|t)==2304)break ae;if((0|t)!=2816)break d;if((0|A)>3005)break x;if((0|A)!=2878)break oe;return J=0,132096}if((0|t)==3072)break ge;if((0|t)!=3328)break d;switch(r=132096,A-3535|0){case 0:case 16:break t;case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:break d;default:break ce}}if((0|t)<=6911){if((0|t)==3840)break ne;if((0|t)!=4096)break d;if(r=1024,A-4139>>>0<2)break t;switch(A-4145|0){case 0:case 7:case 10:case 11:case 37:case 38:case 49:case 54:case 55:case 82:case 83:break t;case 86:case 87:case 88:case 89:case 90:case 91:case 94:case 105:case 106:break g;default:break re}}if((0|t)==6912)break ie;if((0|t)==7168)break te;if((0|t)!=12288||(r=135168,(-2&A)!=12334))break d;break t}if((0|t)<=70399){if((0|t)<=43775){if((0|t)==43264)break j;if((0|t)!=43520)break d;return J=0,A-43643&-3?1024:4096}if((0|t)==43776)break X;if((0|t)==69888)break O;if((0|t)!=70144||(r=4096,(0|A)!=70197))break d;break t}if((0|t)<=70911){if((0|t)==70400)break z;if((0|t)!=70656)break d;t=(0|A)==70845?132096:1024,t=(A=(0|A)==70832)?132096:t;break F}if((0|t)==70912)break P;if((0|t)==71168)break T;if((0|t)!=119040)break d;switch(r=131072,A-119141|0){case 8:break f;case 1:break a;case 0:break t;default:break Q}}t=(0|A)==2519?132096:1024,t=(A=(0|A)==2494)?132096:t;break F}if(r=132096,(0|A)!=2903)break d;break t}if((0|A)==3006)return J=0,132096;if(r=132096,(0|A)!=3031)break d;break t}if((A=A-3266|0)>>>0>20||(r=132096,!(1<<A&1572865)))break d;break t}if((0|A)==3390)break t;if((0|A)!=3415)break d;break t}if(r=4096,(-2&A)!=3902)break d;break t}r=(A=(0|A)==4252)>>>22|0,A<<=10;break y}switch(r=1024,A-6965|0){default:if((0|A)==6916)break t;break;case 0:case 6:break t;case 1:case 2:case 3:case 4:case 5:}if(A-6973>>>0<5)break t;switch(A-6979|0){case 1:break f;case 0:break t}if((0|A)==7042|(0|A)==7073|(-2&A)==7078)break t;if((0|A)==7082)break f;if((0|A)==7143|A-7146>>>0<3)break t;r=(A=(0|A)==7150)>>>22|0,A<<=10;break y}t=(0|A)==7415?4096:1024,t=(A=(0|A)==7393)?4096:t;break F}t=(0|A)==43456?4096:1024,t=(A=(0|A)==43347)?4096:t;break F}if(r=4096,(0|A)!=44012)break d;break t}if(r=4096,(0|A)!=70080)break d;break t}r=132096;z:switch(A-70462|0){case 0:case 25:break t;case 15:break z;default:break d}break f}if(r=132096,(0|A)!=71087)break d;break t}if(r=4096,(0|A)!=71350)break d;break t}if(r=135168,A-119150>>>
27370<5)break t;break d}break f;case 12:t=((0|A)==8419)<<6,A=0;break B;case 13:g:{Q:{T:{P:{z:{O:{X:{j:{te:{ie:{re:{ne:{ce:{ge:{x:{oe:{ae:{K:{ue:{de:{Ie:{we:{Le:{ke:{Ye:{Xe:{qe:{Je:{_e:{$e:{eA:{AA:{tA:{rA:{aA:{xe:{sA:{iA:{nA:{oA:{lA:{He:{Be:{Re:{cA:{gA:{uA:{ve:{dA:{fA:{pA:{if((0|(t=-256&A))<=43775){if((0|t)<=5887){if((0|t)<=2559){if((0|t)<=1535){if((0|t)==768)break pA;if((0|t)==1024)break fA;if((0|t)!=1280)break a;if(A-1425>>>0>=17)break dA;break f}if((0|t)<=2047){if((0|t)==1536)break ve;if((0|t)!=1792)break a;if(r=1024,(0|A)==1809)break t;if((-16&A)!=1840)break uA;return J=0,5120}if((0|t)==2048)break gA;if((0|t)!=2304)break a;if(A>>>0>=2307)break cA;break d}if((0|t)<=3583){if((0|t)<=3071){if((0|t)==2560)break Re;if((0|t)!=2816)break a;switch(r=1024,A-2876|0){case 0:break f;case 3:break t;case 1:case 2:break He;default:break Be}}if((0|t)==3072)break lA;if((0|t)!=3328)break a;if((0|(t=-2&A))!=3328)break oA;break d}if((0|t)<=4095){if((0|t)==3584)break nA;if((0|t)!=3840)break a;if((0|(t=-2&A))!=3864)break iA;break f}if((0|t)==4096)break sA;if((0|t)!=4864||(r=1024,(0|A)!=4959))break a;break t}if((0|t)<=8191){if((0|t)<=6655){if((0|t)==5888)break xe;if((0|t)==6144)break aA;if((0|t)!=6400)break a;if((t=A-6432|0)>>>0<=18&&(r=1024,1<<t&262535))break t;if(r=4096,A-6457>>>0>=3)break a;break t}if((0|t)<=7167){if((0|t)==6656)break rA;if((0|t)!=6912)break a;if(r=1024,(-4&A)==6912)break t;if((0|A)!=6964)break tA;break f}if((0|t)==7168)break AA;if((0|t)!=7424)break a;if(r=4096,A-7620>>>0<12||(r=1024,A-7655>>>0<14))break t;if((A=A-7669|0)>>>0>=11)break a;t=e[(A=82104+(A<<3)|0)>>2];break h}if((0|t)<=42495){if((0|t)<=11519){if((0|t)==8192)break eA;if((0|t)!=11264||(r=4096,A-11503>>>0>=3))break a;break t}if((0|t)==11520)break $e;if((0|t)!=12288)break a;if(A-12330>>>0>=4)break _e;break f}if((0|t)<=43263){if((0|t)==42496)break Je;if((0|t)!=43008)break a;if(A-43045>>>0>=2)break qe;break d}if((0|t)==43264)break Xe;if((0|t)!=43520)break a;switch(r=1024,A-43561|0){case 83:case 150:case 152:break f;case 0:case 1:case 2:case 3:case 4:case 5:case 8:case 9:case 12:case 13:case 26:case 35:case 135:case 137:case 138:case 139:case 142:case 143:case 149:break t;default:break Ye}}if((0|t)<=71423){if((0|t)<=69375){if((0|t)<=66047){if((0|t)==43776)break ke;if((0|t)==64256)break Le;if((0|t)!=65024)break a;if(r=536870912,A-65024>>>0<15||(a=64,(0|A)==65039))break t;if(r=4096,a=0,(-16&A)!=65056)break a;break t}if((0|t)<=68095){if((0|t)==66048)break we;if((0|t)!=66304||(r=1024,A-66422>>>0>=5))break a;break t}if((0|t)==68096)break Ie;if((0|t)!=68864||(r=5120,(-4&A)!=68900))break a;break t}if((0|t)<=70399){if((0|t)<=69887){if((0|t)==69376)break de;if((0|t)!=69632)break a;if(A-69688>>>0>=14)break ue;break d}if((0|t)==69888)break K;if((0|t)!=70144)break a;if(r=1024,A-70191>>>0<3)break t;switch(A-70196|0){case 2:break f;case 0:case 3:case 10:break t;case 1:case 4:case 5:case 6:case 7:case 8:case 9:break oe;default:break ae}}if((0|t)<=70911){if((0|t)==70400)break x;if((0|t)!=70656)break a;if((-8&A)!=70712)break ge;break d}if((0|t)==70912)break ce;if((0|t)!=71168)break a;if(r=1024,A-71219>>>0<8)break t;switch(A-71229|0){case 2:break f;case 0:case 3:break t;case 1:break re;default:break ne}}if((0|t)<=92927){if((0|t)<=72703){if((0|t)==71424)break NA;if((0|t)==71680)break ie;if((0|t)!=72192)break a;if(A-72193>>>0>=10)break te;break d}if((0|t)<=73215){if((0|t)==72704)break j;if((0|t)!=72960)break a;if((t=A-73009|0)>>>0<19)break FA;break _}if((0|t)==73216)break X;if((0|t)!=92672||(r=4096,A-92912>>>0>=5))break a;break t}if((0|t)<=122879){if((0|t)<=113663){if((0|t)==92928)break O;if((0|t)!=93952||(r=4096,A-94095>>>0>=4))break a;break t}if((0|t)==113664)break z;if((0|t)!=119040)break a;switch(r=4096,A-119143|0){case 0:case 1:case 2:case 20:case 21:case 22:case 23:case 24:case 25:case 26:case 27:case 30:case 31:case 32:case 33:case 34:case 35:case 36:case 67:case 68:case 69:case 70:break t;default:break a}}if((0|t)<=125183){if((0|t)==122880)break P;if((0|t)!=124928||(r=4096,A-125136>>>0>=7))break a;break t}if((0|t)==125184)break T;if((0|t)!=917760||(r=536870912,A-917760>>>0>=240))break a;break t}if(A-768>>>0<69)break f;if(r=21504,(0|A)==837)break t;if(A-838>>>0<9)break f;if(r=4194304,(0|A)==847)break t;if((-8&A)==848)break f;if(r=4096,A-861>>>0>=6)break a;break t}if(r=4096,A-1155>>>0>=5)break a;break t}if(r=4096,A-1443>>>0<13||(r=5120,A-1456>>>0<14))break t;if((A=A-1471|0)>>>0>=9)break a;t=e[(A=81944+(A<<3)|0)>>2];break h}if(A-1552>>>0<11)break d;if(r=5120,A-1611>>>0<8)break t;if(A-1619>>>0<4)break d;switch(A-1623|0){case 1:break f;case 0:break t;
2737case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 25:case 127:case 128:case 129:case 130:case 131:case 132:case 133:break d}if(r=4096,A-1759>>>0<2)break t;if((t=A-1761|0)>>>0<8)break RA;break me}if(A-1856>>>0<11)break f;if(r=5120,A-1958>>>0<11)break t;if(r=4096,A-2027>>>0>=9)break a;break t}switch(r=1024,(-2&A)-2070|0){case 2:break f;case 0:break t}if(A-2260>>>0<12|A-2089>>>0<4|A-2075>>>0<9|A-2085>>>0<3)break d;if(A-2275>>>0<7)return J=0,5120;if(r=4096,A-2282>>>0<6||(r=5120,A-2288>>>0<15))break t;if(r=1024,(0|A)!=2303)break a;break t}switch(r=1024,A-2362|0){case 2:break f;case 0:break t}if(A-2369>>>0<8)break d;switch(r=4096,A-2381|0){case 0:case 4:case 5:case 6:case 7:case 111:break t;case 8:case 9:case 10:case 21:case 22:case 52:break d}if(A-2497>>>0<4)break d;if((0|A)==2509)break t;if(r=1024,(-2&A)!=2530)break a;break t}if(A-2561>>>0<2)break d;switch(r=4096,A-2620|0){case 0:case 17:case 128:case 145:break t;case 5:case 6:case 11:case 12:case 15:case 16:case 21:case 52:case 53:case 57:case 69:case 70:case 133:case 134:case 135:case 136:case 137:case 139:case 140:case 166:case 167:case 190:case 191:case 192:break d}if(A-2813>>>0>=3)break a;break t}if((0|A)==2817)break d}if(A-2881>>>0<4)break d;switch(r=4096,A-2893|0){case 0:break t;case 9:break d}if((-2&A)==2914)break d;switch(r=1024,A-3008|0){default:if((0|A)!=2946)break a;break t;case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:case 12:break a;case 0:break t;case 13:}break f}switch(r=1024,A-3072|0){case 77:case 188:case 205:break f;case 0:case 62:case 63:case 64:case 70:case 71:case 72:case 74:case 75:case 76:case 85:case 86:case 98:case 99:case 129:case 191:case 198:case 204:break t}if((-2&A)!=3298)break a;break t}if(r=4096,A-3387>>>0<2)break t;if(A-3393>>>0<4)break d;if((0|A)==3405)break t;if((0|t)==3426)break d;switch(A-3530|0){case 0:break t;case 8:case 9:case 10:case 12:break d;default:break a}}if((t=A-3633|0)>>>0<10)break HA;break Ge}if((r=A-3893|0)>>>0>4|!(1<<r&21))break je;break f}switch(r=1024,A-4141|0){case 10:case 12:case 13:break f;case 0:case 1:case 2:case 3:case 5:case 6:case 7:case 8:case 9:case 16:case 17:case 43:case 44:case 49:case 50:case 51:case 68:case 69:case 70:case 71:case 85:case 88:case 89:break t}t=(r=(0|A)==4253)>>>22|0,r=(A=(0|A)==4237)?4096:r<<10;break w}r=1024;xe:{switch(A-5906|0){case 0:case 1:case 32:case 33:break t;case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 23:case 24:case 25:case 26:case 27:case 28:case 29:case 30:case 31:break xe}switch(A-5970|0){case 0:case 1:case 32:case 33:break t;default:break xe}}if(r=4194304,(-2&A)==6068)break t;if((t=A-6071|0)>>>0<16)break YA;break De}if(r=536870912,A-6155>>>0<3||(r=67109888,A-6277>>>0<2))break t;if(r=1024,(0|A)!=6313)break a;break t}if(A-6679>>>0<2)break d;switch(r=1024,A-6683|0){case 0:case 59:case 61:case 62:case 63:case 64:case 65:case 66:case 
273767:case 71:case 74:case 75:case 76:case 77:case 78:case 79:case 80:case 81:case 88:case 89:break t}if(r=4096,A-6832>>>0<14)break t;if((A=A-6773|0)>>>0>=11)break a;t=e[(A=82016+(A<<3)|0)>>2];break h}if(A-6966>>>0<5)break t;switch(A-6972|0){case 0:case 6:break t}if(A-7019>>>0<9)break f;switch(A-7040|0){case 43:break f;case 0:case 1:case 34:case 35:case 36:case 37:case 40:case 41:case 44:case 45:case 104:case 105:case 109:case 111:case 112:case 113:break t;default:break a}}if(r=1024,A-7212>>>0<8)break t;switch(r=12288,A-7222|0){case 1:break f;case 0:break t}if(A-7380>>>0<13)break f;switch(r=4096,A-7376|0){case 0:case 1:case 2:case 18:case 19:case 20:case 21:case 22:case 23:case 24:case 29:case 36:break t}if((-2&A)!=7416)break a;break t}if(r=128,A-8400>>>0<13)break t;if((A=A-8417|0)>>>0>=15)break a;t=e[(A=82192+(A<<3)|0)>>2];break h}if(r=1024,(-32&A)!=11744)break a;break t}if(r=4096,A-12441>>>0>=2)break a;break t}if((0|A)==42607)break f;if(A-42612>>>0<8)break d;if((0|(A&=-2))==42620)break f;if((0|A)==42654)break g;if(r=4096,(0|A)!=42736)break a;break t}switch(r=4096,A-43204|0){case 0:break t;case 1:break d}if(A-43232>>>0>=18)break a;break t}if(A-43302>>>0<5)break d;if(A-43307>>>0<3)break f;if(A-43335>>>0<11|A-43392>>>0<3)break d;if(r=4096,(0|A)==43443||(r=1024,A-43446>>>0<4))break t;a=(t=(0|A)==43493)>>>20|0,t=(A=(0|A)==43452)?1024:t<<12;break D}if((-2&A)==43756)break t;if(r=4096,(0|A)!=43766)break a;break t}r=1024;ke:switch(A-44005|0){case 0:case 3:break t;case 8:break ke;default:break a}break f}if(r=5120,(0|A)!=64286)break a;break t}if(r=4096,(0|A)!=66272)break a;break t}if((-4&A)==68108)break d;if((t=A-68097|0)>>>0<6)break LA;break Qe}if(r=4096,A-69446>>>0>=11)break a;break t}if(A-69811>>>0<4)break d;if(r=1024,(0|A)==69633)break t;if(r=4096,A-69817>>>0>=2)break a;break t}switch(r=1024,A-69888|0){case 51:case 52:case 115:break f;case 0:case 1:case 2:case 39:case 40:case 41:case 42:case 43:case 45:case 46:case 47:case 48:case 49:case 50:break t}if((-2&A)==70016|A-70070>>>0<9)break t;if(r=4096,A-70090>>>0>=3)break a;break t}if((0|A)==70367)break t}if(A-70371>>>0<6)break t;if(r=4096,A-70377>>>0>=2)break a;break t}if((-2&A)==70400)break d;r=4096;x:switch(A-70460|0){case 0:case 42:case 43:case 44:case 45:case 46:case 47:case 48:case 52:case 53:case 54:case 55:case 56:break t;case 4:break x;default:break a}break d}if((0|A)==70722)break f;if(A-70723>>>0<2)break d;if((t=A-70835|0)>>>0<=13)break Q;break Te}if((t=A-71090|0)>>>0<12)break OA;break Pe}switch(A-71339|0){case 0:case 2:break t;default:break re}}if(A-71344>>>0<6)break t;if(r=4096,(0|A)!=71351)break a;break t}if(r=1024,A-71727>>>0<10)break t;if(r=4096,A-71737>>>0>=2)break a;break t}if((0|A)==72244)break f;if(A-72245>>>0<10)break d;if(r=4096,(0|A)==72263)break t;if(A-72273>>>0<11)break d;if(r=1024,A-72330>>>0<13)break t;r=(t=(0|A)==72345)>>>20|0,t=(A=(0|A)==72344)?8192:t<<12;break W}if((t=A-72752|0)>>>0<16)break SA;break ze}if(r=1024,A-73459>>>0>=2)break a;break t}if(r=1024,A-92976>>>0>=7)break a;break t}if(r=1024,(0|A)!=113822)break a;break t}if(r=1024,A-122888>>>0<17)break t;if((A=A-122880|0)>>>0>=43)break a;t=e[(A=82816+(A<<3)|0)>>2];break h}if(r=12288,A-125252>>>0<3||(r=1024,(0|A)==125255)||(r=4096,A-125256>>>0<3))break t;break a}if(!(1<<t&12479))break Te;break d}break d;case 14:g:{if((0|(t=-256&A))!=120576){if((0|t)!=65280){if(t||(r=768,a=66,A-48>>>0>=10))break g;break t}if(r=256,A-65296>>>0>=10)break g;break t}if(r=128,A-120782>>>0<50)break t}break a;case 15:g:{if((0|(t=-256&A))!=12288){if((0|t)!=8448)break g;t=(A=(0|(r=-16&A))==8560)>>>18|0,a=A<<14,r=(A=(0|r)==8544)?32768:a;break w}if(A-12321>>>0<9||A-12344>>>0<3)return J=0,2048;if(r=2048,(0|A)==12295)break t}break a;case 16:g:{Q:{T:{if((0|(t=-256&A))<=9215){if((0|t)==4864)break T;if((0|t)!=6400||(r=134217728,(0|A)!=6618))break g;break t}if((0|t)==9216)break Q;if((0|t)!=127232)break g;if(r=0,a=-2147483648,(0|A)==127232)break t;if(a=268435456,A-127233>>>0>=10)break g;break t}if(r=134217728,A-4969>>>0>=9)break g;break t}if(r=0,a=-2147483648,A-9352>>>0<20)break t}break a;case 17:a=(A=(0|A)==8256)>>>25|0,A<<=7;break L;
2737case 18:g:{Q:{T:{P:{if((0|(t=-256&A))<=11775){if((0|t)<=6143){if(r=-2147483624,!t)break t;if((0|t)!=1280||(r=24,(0|A)!=1418))break g;break t}if((0|t)==6144)break P;if((0|t)!=8192)break g;if(r=-2147483624,(-2&A)==8208)break t;A=A-8211>>>0<2,t=-2147483640;break b}if((0|t)<=65023){if((0|t)==11776)break T;if((0|t)!=12288)break g;t=(0|A)==12336,r=(A=(0|A)==12316)||t?-2147483640:8,J=A?0:t?130:0;break m}if((0|t)==65024)break Q;if((0|t)!=65280||(r=24,(0|A)!=65293))break g;break t}if(r=24,(0|A)!=6150)break g;break t}if(r=-2147483624,(0|A)==11799)break t;A=(-2&A)==11834,t=-2147483640;break b}if(r=8,a=8388608,A-65073>>>0<2||(r=152,a=0,(0|A)==65123))break t}return J=0,8;case 19:g:{Q:{T:{P:{z:{O:{if((0|(t=-256&A))<=11775){if((0|t)<=8959){if(t)break O;break I}if((0|t)==8960)break z;if((0|t)==9984)break P;if((0|t)!=10496)break a;break U}if((0|t)<=64767){if(r=-2147483648,(0|t)==11776)break t;if((0|t)!=12288)break a;switch(r=-2147483616,A-12301|0){case 0:case 2:break t;default:break T}}if((0|t)==64768)break Q;if((0|t)==65024)break g;if((0|t)!=65280)break a;if(r=32,(0|A)==65379)break t;break a}if((0|t)!=8192)break a;switch(A-8318|0){default:if(r=-2147483648,(0|A)!=8262)break a;break t;case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:break a;case 0:case 16:}break k}switch(r=-2147483520,A-8969|0){case 1:break a;case 0:case 2:break t}if((0|A)!=9002)break a;return J=0,-2139095040}if(r=-2147483520,(0|A)==10182)break t;break ye}return J=0,(-2&A)==12318?-2147483616:-2147483648}if(r=-2147483648,(0|A)!=64830)break a;break t}a=(A=!(A-65090&-3))>>>27|0,A<<=5;break L;case 20:case 21:if(!(A&=-256))break C;if(r=-2147483616,(0|A)==8192)break t;break We;case 22:g:{Q:{T:{P:{z:{O:{X:{j:{te:{ie:{re:{ne:{ce:{ge:{x:{oe:{ae:{K:{ue:{de:{Ie:{we:{Le:{ke:{Ye:{Xe:{qe:{Je:{_e:{$e:{eA:{AA:{tA:{rA:{aA:{xe:{sA:{iA:{nA:{oA:{lA:{He:{Be:{Re:{cA:{gA:{uA:{ve:{if((0|(t=-256&A))<=43519){if((0|t)<=5887){if((0|t)<=2303){if((0|t)<=1535){if(!t)break ve;if((0|t)==768)break uA;if((0|t)!=1280)break a;if(r=0,a=538968064,A-1371>>>0<2)break t;switch(a=268435456,A-1373|0){case 0:break t;case 1:break cA;default:break gA}}if((0|t)==1536)break Be;if((0|t)==1792)break He;if((0|t)!=2048)break a;if((t=A-2103|0)>>>0<8)break PA;break Fe}if((0|t)<=3839){if((0|t)==2304)break lA;if((0|t)==3328)break oA;if((0|t)!=3584||(r=64,(-2&A)!=3674))break a;break t}if((0|t)<=4863){if((0|t)==3840)break nA;if((0|t)!=4096)break a;if(r=268435520,(-2&A)==4170)break t;if(r=0,a=16777216,(0|A)!=4347)break a;break t}if((0|t)==4864)break iA;if((0|t)!=5632)break a;switch(r=64,A-5741|0){case 1:break i;case 0:break t;default:break sA}}if((0|t)<=11263){if((0|t)<=6655){if((0|t)==5888)break xe;if((0|t)==6144)break QA;if((0|t)!=6400)break a;t=(0|A)==6469,r=(A=(0|A)==6468)||t?268435520:0,J=A?536870912:t?1073741824:0;break m}if((0|t)<=7167){if((0|t)==6656)break aA;if((0|t)!=6912)break a;if((0|(t=-2&A))!=7002)break rA;break H}if((0|t)==7168)break tA;if((0|t)!=8192)break a;switch(r=-2147483520,A-8214|0){case 1:break I;case 0:break t;case 16:break AA;default:break eA}}if((0|t)<=41983){if((0|t)==11264)break $e;if((0|t)==11776)break _e;if((0|t)!=12288)break a;switch(r=-2147483584,a=272629760,A-12289|0){case 2:break I;case 0:break t;case 1:break qe;default:break Je}}if((0|t)<=43007){if((0|t)==41984)break Xe;if((0|t)!=42496)break a;switch(r=64,a=268435456,A-42739|0){case 4:break c;case 0:break i;case 3:break r;case 2:break t;case 1:break ke;default:break Ye}}if((0|t)==43008)break Le;if((0|t)!=43264)break a;switch(r=4096,A-43310|0){case 0:break t;case 1:break H;default:break we}}if((0|t)<=70655){if((0|t)<=67839){if((0|t)<=65279){if((0|t)==43520)break Ie;if((0|t)==43776)break de;if((0|t)!=65024)break a;if(r=0,a=268435456,(0|(i=-2&A))==65040)break t;if((t=A-65042|0)>>>0<8)break GA;break Ce}if((0|t)==65280)break ue;if((0|t)==66304)break K;if((0|t)!=67584||(r=64,(0|A)!=67671))break a;break t}if((0|t)<=69375){if((0|t)==67840)break ae;if((0|t)==68096)break oe;if((0|t)!=68352)break a;switch(r=64,A-68410|0){case 0:case 1:case 2:case 3:case 4:case 5:case 95:case 96:case 97:case 98:break t;default:break a}}if((0|t)<=69887){if((0|t)==69376)break x;
2737if((0|t)!=69632)break a;if(A-69703>>>0>=2)break ge;break H}if((0|t)==69888)break ce;if((0|t)!=70144)break a;if((t=A-70200|0)>>>0<=4)break ne;if((0|A)!=70313)break a;break H}if((0|t)<=74751){if((0|t)<=71423){if((0|t)==70656)break re;if((0|t)==70912)break ie;if((0|t)!=71168||(r=268435520,A-71233>>>0>=2))break a;break t}if((0|t)<=72703){if((0|t)==71424)break te;if((0|t)!=72192)break a;if(A-72258>>>0>=2)break j;break H}if((0|t)==72704)break X;if((0|t)!=73216||(r=268435520,A-73463>>>0>=2))break a;break t}if((0|t)<=93695){if((0|t)==74752)break O;if((0|t)==92672)break P;if((0|t)!=92928)break a;if(r=268435520,A-92983>>>0<2)break t;t=(0|A)==92996?268435520:0,t=(A=(0|A)==92985)?64:t;break F}if((0|t)<=121343){if((0|t)==93696)break z;if((0|t)!=113664||(r=268435520,a=-2147483648,(0|A)!=113823))break a;break t}if((0|t)==121344)break MA;if((0|t)!=125184)break a;r=((0|A)==125279)<<30,t=0,J=(A=(0|A)==125278)?536870912:r;break n}r=-1879048128,a=536870912;ve:{dA:{fA:{pA:{switch(A-33|0){default:switch(A-183|0){case 1:case 2:case 3:case 4:case 5:case 6:case 7:break ve;case 8:break fA;case 0:break pA;default:break dA}case 2:case 9:J=66;break u;case 11:return J=268435456,-2147483584;case 13:return J=-2147483648,-1879048128;case 25:return J=134217728,-2147483584;case 26:return J=67108864,-2147483584;case 1:case 6:break C;case 0:break t;case 3:case 4:case 5:case 7:case 8:case 10:case 12:case 14:case 15:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 23:case 24:case 27:case 28:case 29:break ve;case 30:}return J=1073741824,-1879048128}return J=0,134230016}J=1078984704;break u}if((0|A)==161)break Ue}break I}t=(0|A)==903,r=(A=(0|A)==894)?64:t?134217792:0,J=A?1073741824:t?67108864:0;break m}if((0|A)==1417)break Re;if((0|A)!=1475)break a;break se}J=1075838976;break o}J=-2143289344;break s}r=64,a=268435456;Be:switch(A-1548|0){case 15:break r;case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 16:case 17:break a;case 0:break t;case 19:break Be;case 18:break H;default:break T}break c}if((t=A-1792|0)>>>0<6)break zA;if(r=64,a=134217728,(-2&A)==1798)break t;a=67108864;He:{Be:{Re:switch(A-1800|0){default:switch(A-2040|0){case 1:break He;case 0:break Be;default:break a}case 3:break a;case 0:break t;case 1:break Re;case 2:case 4:break se}J=1073741824;break A}J=268435456;break A}J=536870912;break s}t=(0|A)==2405,r=(A=(0|A)==2404)||t?268435520:0,J=A?-2143289344:t?16777216:0;break m}if(r=0,a=-2143289344,(0|A)!=3572)break a;break t}switch(r=64,A-3848|0){case 5:J=-2143289344;break A;case 6:J=16777216;break A;case 0:break t}if(A-3854>>>0<5)break t;if(r=0,a=268435456,(0|A)!=3860)break a;break t}if((t=A-4961|0)>>>0<4)break TA;if(r=64,a=134217728,A-4965>>>0<2)break t;t=(0|A)==4968,r=(A=(0|A)==4967)||t?268435520:0,J=A?1073741824:t?16777216:0;break m}if(A-5867>>>0>=3)break a;break t}if(r=268435520,A-5941>>>0<2)break t;if((A=A-6100|0)>>>0>=7)break a;t=e[(A=83240+(A<<3)|0)>>2];break h}if(r=268435520,(-4&A)!=6824)break a;break t}if(r=64,(0|A)==7005)break t;if(r=268435520,(0|t)!=7006)break a;break t}if(A-7227>>>0<2)break H;if(r=64,A-7229>>>0<3||(r=268435520,(-2&A)==7294))break t;if(r=4096,(0|A)!=7379)break a;break t}J=33554432;break u}if((-8&A)==8224)break I;if(A-8242>>>0<3)break t;if(A-8240>>>0<9)break I;if((t=A-8251|0)>>>0<21)break DA;break Ae}if((0|A)==11513){J=-2147483648;break o}if(r=0,a=1073741824,(-2&A)==11514)break t;if(a=-2147483648,(0|A)!=11518)break a;break t}switch(r=-1879048128,A-11822|0){case 4:case 6:J=268435456;break u;case 5:J=-2147483648;break u;case 7:J=67108864;break u;case 14:return J=-2147483648,-1879048128;case 19:return J=268435456,-2147483584;case 30:case 32:return J=0,-2147483584;case 0:break t}break I}if((0|A)==12349)break S;if((0|A)!=12539)break a;return J=0,16}return J=-2143289344,-1879048128}t=(0|A)==42239,r=(A=(0|A)==42238)?64:t?268435520:0,J=A?268435456:t?-2147483648:0;break m}Ye:switch(A-42509|0){case 1:break i;case 0:break t;case 2:break Ye;default:break a}break c}J=134217728;break A}if(A-43126>>>0<2)break H;if(r=268435520,A-43214>>>0>=2)break a;break t}if((0|A)==43463)break se;if(r=268435520,(-2&A)!=43464)break a;break t}if(A-43613>>>0<3)break H;if(r=64,(0|A)==43743)break t;if(r=268435520,(-2&A)!=43760)break a;break t}if(r=268435520,(0|A)!=44011)break a;break t}r=268435520,a=541065216;ue:switch(A-65281|0){case 1:case 6:return J=0,32;case 11:J=272629760;break A;case 13:J=-2143289344;break s;case 100:return J=0,16;case 25:J=138412032;break A;case 26:J=71303168;break A;case 30:J=1077936128;break s;case 96:break i;case 59:break k;case 0:break t;case 99:break ue;default:break a}J=268435456;break A}r=(t=(0|A)==66512)>>>26|0,t=(A=(0|A)==66463)?64:t<<6;break W}if(r=64,(0|A)!=67871)break a;break t}if(r=268435520,(-2&A)==68182)break t;if(r=64,A-68336>>>0>=6)break a;break t}if(r=268435520,A-69461>>>0>=5)break a;break t}if(r=64,A-69705>>>0<5)break t;if(r=268435520,A-69822>>>0>=4)break a;break t}if(A-69953>>>0<2)break H;if((t=A-70085|0)>>>
27370<=26)break Q;break Se}if((0|t)!=2)break H;break se}if(r=268435520,A-70731>>>0<2)break t;a=(t=(0|A)==70747)>>>26|0,t=(A=(0|A)==70733)?64:t<<6,J=A?268435456:a;break n}switch(r=268435520,(-2&A)-71106|0){case 0:break t;case 2:break g}if(r=8192,A-71110>>>0<3)break t;if(r=268435520,A-71113>>>0>=15)break a;break t}if(r=268435520,A-71484>>>0>=3)break a;break t}if(r=268435520,A-72347>>>0<2)break t;if(r=64,A-72353>>>0>=2)break a;break t}if(r=268435520,A-72769>>>0<2)break t;r=(t=(0|A)==72817)>>>26|0,t=(A=(0|A)==72771)?64:t<<6;break W}if(r=64,a=134217728,A-74865>>>0<2)break t;if(a=0,A-74864>>>0>=5)break a;break t}t=(0|A)==93848?268435520:0,t=(A=(0|A)==93847)?64:t;break F}if(r=268435520,(-2&A)==92782)break t;if(a=-2147483648,(0|A)!=92917)break a;break t}if((0|A)==1748)break i;break a}if(!(1<<t&100663555))break Se;break H}break se;case 23:g:{Q:{T:{P:{z:{O:{if((0|(t=-256&A))<=11775){if((0|t)<=8959){if(t)break O;break I}if((0|t)==8960)break z;if((0|t)==9984)break P;if((0|t)!=10496)break a;break U}if((0|t)<=64767){if((0|t)==11776)break T;if((0|t)!=12288)break a;if((A=A-12300|0)>>>0<=17&&(r=-2147483616,1<<A&131077))break t;break I}if((0|t)==64768)break Q;if((0|t)==65024)break g;if((0|t)!=65280)break a;if(r=32,(0|A)==65378)break t;break a}if((0|t)!=8192)break a;switch(r=-2147483616,A-8218|0){case 1:case 2:case 3:break a;case 0:case 4:break t}switch(A-8317|0){default:if((0|A)!=8261)break a;break I;case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:break a;case 0:case 16:}break k}switch(r=-2147483520,A-8968|0){case 1:break a;case 0:case 2:break t}if((0|A)!=9001)break a;return J=0,-2139095040}if(r=-2147483520,(0|A)==10181)break t;break ye}return J=0,(0|A)==11842?-2147483616:-2147483648}if(r=-2147483648,(0|A)!=64831)break a;break t}r=(A=!(A-65089&-3))>>>27|0,A<<=5;break y;case 24:r=(A=A>>>0<256)>>>1|0,A<<=31;break y;case 25:g:{Q:{T:{P:{z:{O:{X:{j:{if((0|(t=-256&A))<=12287){if((0|t)<=767){if(!t)break j;if((0|t)!=512)break g;if(A-751>>>0>=17)break X;break f}if((0|t)==768)break O;if((0|t)!=7936)break g;switch(r=4096,A-8125|0){case 0:case 2:case 3:case 4:case 16:case 17:case 18:case 32:case 33:case 34:case 48:case 49:case 50:case 64:case 65:break t;default:break g}}if((0|t)<=43775){if((0|t)==12288)break z;if((0|t)!=42752||(r=4096,(-2&A)!=42784))break g;break t}if((0|t)==43776)break P;if((0|t)==65280)break T;if(r=0,a=78,(0|t)!=127744)break g;break t}switch(A-168|0){default:r=-2147479424;j:switch(A-94|0){case 0:break t;case 2:break j;default:break g}return J=0,-2147479552;case 0:case 7:break f;case 1:case 2:case 3:case 4:case 5:case 6:case 8:case 9:case 10:case 11:case 13:case 14:case 15:break g;case 12:case 16:}break f}if((0|A)==749|A-741>>>0<7)break f;if(A-706>>>0>=4)break Q;break f}if((A=A-885|0)>>>0>16||(r=4096,!(1<<A&98305)))break g;break t}if(r=67112960,A-12443>>>0>=2)break g;break t}if(r=4096,(0|A)!=43867)break g;break t}switch(r=4224,A-65342|0){default:if((0|A)!=65507)break g;break;case 0:break t;case 1:break g;case 2:}break f}if(r=4096,A-722>>>0<14)break t}break a;case 26:g:{Q:{T:{P:{z:{O:{if((0|(t=-256&A))<=9471){if((0|t)<=8447){if(t)break g;break I}if((0|t)==8448)break O;if((0|t)==8704)break z;if(r=-2147483648,(0|t)!=8960)break a;break t}if((0|t)<=10495){if((0|t)==9472)break P;if((0|t)==9728)break T;if((0|t)==9984)break I;break a}if((0|t)==10496)break Q;if((0|t)==10752)break I;if(r=-2147483648,(0|t)!=11008)break a;break t}if((0|A)==8472)return J=0,67108864;if((0|A)==8596)break Z;if(r=-2147483648,A>>>0<=8591)break a;break t}if(r=-2147483640,(0|A)==8722)break t;t=-2147483648,J=(A=A-8942>>>0<4)?33554432:0;break n}if(r=-2147483648,a=130,A-9723>>>0<2)break t;t=-2147483648,J=(A=A-9725>>>0<2)?134:0;break n}if(r=-2147483648,a=128,(0|A)==9839)break t;break I}if(r=-2147483648,a=130,(-2&A)==10548)break t;t=-2147483648,J=(A=(0|A)==10626)?134217728:0;break n}if((0|t)==8192)break Ke;break a;case 27:g:{Q:{T:{P:{z:{O:{X:{j:{te:{ie:{re:{ne:{ce:{ge:{x:{oe:{ae:{K:{ue:{de:{Ie:{we:{Le:{ke:{if((0|(t=-256&A))<=12287){if((0|t)<=9727){if((0|t)<=8959){if(!t)break ke;if((0|t)!=8448)break a;switch(r=0,a=130,A-8482|0){case 7:break k;case 0:break t;
2737case 1:case 2:case 3:case 4:case 5:case 6:case 8:case 9:case 10:case 11:break de;case 12:break we;default:break Le}}if((0|t)==8960)break ue;if((0|t)==9216)break K;if((0|t)!=9472)break a;switch(r=-2147483520,(-2&A)-9632|0){case 0:break t;case 10:break Z;default:break ae}}if((0|t)<=11007){if((0|t)==9728)break oe;if((0|t)==9984)break x;if(r=-2147483648,(0|t)!=10240)break a;break t}if((0|t)==11008)break ge;if((0|t)==11776)break ce;if((0|t)!=12032)break a;if(r=1048576,A>>>0<12246)break t;switch(r=262144,(-2&A)-12272|0){case 0:break t;case 2:break g;default:break ne}}if((0|t)<=127999){if((0|t)<=127231){if((0|t)==12288)break re;if((0|t)==12800)break ie;if((0|t)!=126976)break a;t=(0|A)==127183,r=0,J=(A=(0|A)==126980)||t?134:128;break m}if((0|t)==127232)break te;if((0|t)==127488)break j;if((0|t)!=127744)break a;if(A>>>0>=127777)break X;break Y}if((0|t)<=128767){if((0|t)==128e3)break O;if((0|t)==128256)break z;if((0|t)!=128512)break a;if((t=A-128581|0)>>>0<11)break CA;break Ne}if((0|t)==128768)break P;if((0|t)==129280)break T;if((0|t)!=129536)break a;J=128;break o}t=(0|A)==174,r=-2147483648,J=(A=(0|A)==169)||t?130:0;break m}switch(A-8616|0){case 0:break I;case 1:case 2:break Ie;default:break de}}return J=0,67108864}return J=130,-2147483520}if(r=-2147483520,A-8597>>>0<5)break t;if(A-8604>>>0<18)break U;if((t=A-8624|0)>>>0<8)break EA;break Oe}if(A>>>0<8968)break I;if((0|(t=-2&A))==8986)break l;if(A-8972>>>0<20|A-8994>>>0<6)break I;if((0|A)==9e3)break Z;if(A-9003>>>0<81)break I;if(r=-2147483648,a=128,(0|A)==9096)break t;if(A-9085>>>0<30)break I;if(r=-2147483520,a=0,(0|t)==9140)break t;switch(A-9143|0){case 0:case 25:break t;case 24:break Z}if(A-9140>>>0<40)break I;if((0|A)==9186)break t;if((t=A-9193|0)>>>0<4)break l;switch(r=-2147483648,a=134,A-9200|0){case 0:case 3:break t}if(t>>>0<11)break Z;if(a=130,A-9208>>>0<3)break t;if(a=0,A>>>0<=9186)break a;break t}if(r=-2147483648,A-9216>>>0<75||(r=33792,a=130,(0|A)==9410)||(a=0,A-9398>>>0<26))break t;if(r=17408,A-9424>>>0>=26)break a;break t}if(A-9646>>>0<8)break U;if(a=130,(0|A)==9654)break t;if((-4&A)==9660)break U;switch(A-9664|0){case 0:break t;case 6:case 7:case 10:case 11:case 15:case 16:case 17:case 18:case 19:case 34:case 36:break U}return J=0,A-9703>>>0<6?-2147483520:-2147483648}oe:switch((-16&A)-9728>>>4|0){case 0:if(A>>>0<9733)break Z;r=-2147483520,a=128;ae:switch(A-9733|0){case 0:break t;case 9:break ae;case 1:break U;default:break G}break Z;case 2:if((t=A-9760|0)>>>0<11)break vA;if(r=-2147483648,a=130,A>>>0<=9773)break G;break t;case 3:if(r=-2147483648,a=130,A-9784>>>0>=3)break G;break t;case 4:switch(r=-2147483520,a=130,A-9792|0){case 0:case 2:break t}if(r=-2147483648,a=134,A>>>0<=9799)break G;break t;case 5:if(r=-2147483648,a=134,A>>>0<9812)break t;if(a=130,(0|A)!=9823)break G;break t;case 6:if((0|A)==9734)break U;if((0|A)==9824)return J=130,-2147483520;if(r=-2147483520,a=128,A-9825>>>0<2)break t;if((t=A-9827|0)>>>0<6)break BA;break be;case 8:if(r=-2147483648,A>>>0<=9861)break G;break t;case 10:switch(r=-2147483648,a=130,A-9888|0){case 1:break l;case 0:break t}if(a=134,(-2&A)!=9898)break G;break t;case 11:if(r=-2147483648,a=130,(-2&A)==9904)break t;if(a=134,A-9917>>>0>=2)break G;break t;case 12:if((-2&A)==9924)break l;r=-2147483648,a=130;ae:switch(A-9928|0){case 0:case 7:break t;case 6:break ae;default:break G}break l;case 14:t=(0|A)==9962,r=-2147483648,J=(A=(0|A)==9961)?130:t?134:128;break m;case 13:break wA;case 9:break kA;case 15:break oe;case 7:break xA;case 1:break yA;default:break G}if((0|A)==9972|A>>>0<9970)break Z;if(r=-2147483648,a=134,A>>>0<9974||(0|A)!=9974&&(a=130,A>>>0<9977))break t;if((A=A-9977|0)>>>0<5)break IA;break G}x:{oe:{ae:{K:{ue:switch((-16&A)-9984>>>4|0){case 0:if(r=0,a=130,(0|A)==9986||(a=128,A>>>0<9989)||(a=134,(0|A)==9989))break x;switch(a=150,(-2&A)-9994|0){case 0:break x;case 2:break ae}if(a=130,A-9992>>>0<6)break x;t=(0|A)==9999,r=0,a=(A=(0|A)==9998)?128:t?130:0;break x;case 1:if(r=0,a=128,A>>>0<10002)break x;if((A=A-10002|0)>>>0>11||(a=130,!(1<<A&2069)))break K;break x;case 2:t=(0|A)==10024,r=0,a=(A=(0|A)==10017)?130:t?134:0;break x;case 4:r=0,a=130;de:switch(A-10052|0){case 0:case 3:break x;case 8:case 10:break de;default:break K}a=134;break x;case 5:if(r=0,a=1073741958,A-10067>>>0<2)break x;a=(A=A-10069&-3)?0:536871046;break x;case 6:if((t=A-10082|0)>>>0<3)break oe;if(r=0,a=128,A>>>0<=10084)break K;break x;case 9:if(r=0,a=134,A-10133>>>0>=3)break K;break x;case 10:if(r=0,a=130,(0|A)!=10145)break K;break x;case 11:t=(0|A)==10175,r=0,a=(A=(0|A)==10160)||t?134:0;break x;case 3:break ue;default:break K}if(r=0,a=130,A-10035>>>0<2)break x}r=0,a=0;break x}a=146;break x}r=e[(A=83992+(t<<3)|0)>>2],a=e[A+4>>2]}return J=a,-2147483648|r}if(r=-2147483648,a=130,A-11013>>>0<3||(a=134,A-11035>>>0<2))break t;t=(0|A)==11093,r=-2147483648,J=(A=(0|A)==11088)||t?134:0;break m}if(A-11904>>>0>=26)break Q;return J=0,1048576}if(A-12276>>>0>=8)break a;break t}if((A=A-12306|0)>>>0>14||(r=-2147483648,!(1<<A&16387)))break a;break t}t=0,J=(A=A-12951&-3)?0:130;break n}if(r=0,a=128,(0|A)==127279)break t;if(A-127280>>>0<26||A-127312>>>0<26)return J=0,33792;if((t=A-127344|0)>>>0<=15&&(r=33792,a=130,1<<t&49155)||(r=33792,a=0,t>>>0<26))break t;if((0|A)==127374)break Y;if(r=0,a=134,A-127377>>>0<10)break t;if(a=102,A>>>0<=127461)break a;break t}r=0,a=134;j:{switch(A-127489|0){case 0:case 25:break t;case 1:break S;
2737case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 23:case 24:break j}switch(A-127535|0){case 0:break t;case 8:break S;default:break j}}if((-2&A)==127568|A-127538>>>0<9)break t;if(a=128,A>>>0<=127583)break a;break t}if((0|A)==127777)break S;if(A-127789>>>0<9|A-127799>>>0<70)break Y;if((0|A)==127877)break q;if(A-127870>>>0<22)break Y;if(A-127780>>>0<112)break S;switch(r=0,a=130,A-127894|0){case 44:case 45:case 46:case 49:break q;case 0:case 1:case 3:case 4:case 5:break t}if(A-127904>>>0<42)break Y;if(a=150,(0|A)==127946||(a=146,A-127947>>>0<2))break t;if(A-127951>>>0<5)break Y;if(a=134,A-127968>>>0<17||(a=130,A-127902>>>0<83))break t;if((t=A-127987|0)>>>0<5)break bA;break Ze}switch(r=0,a=130,A-128063|0){case 0:case 2:break t}if((0|A)==128124|(-5&A)-128129>>>0<3|(0|A)==128110|A-128112>>>0<9||(-2&A)==128066|A-128102>>>0<4|A-128070>>>0<11)break q;switch(A-128253|0){case 1:J=128;break o;case 0:break S}if(a=150,(0|A)==128170)break t;break Y}if(A>>>0<128318)break Y;if(r=0,A>>>0<128326)break t;if(A-128329>>>0<2)break S;if(A-128331>>>0<4|A-128336>>>0<24)break Y;if(A-128367>>>0<2)break S;if((-2&A)==128372){J=146;break o}if(A-128371>>>0<7)break S;if(a=150,!(t=A-128378|0))break t;if((0|t)==13|A-128394>>>0<4)break S;if(a=146,(0|A)==128400||(a=150,A-128405>>>0<2))break t;switch(a=134,A-128420|0){case 0:break t;case 1:case 4:case 13:case 14:case 24:case 30:case 31:case 32:case 45:case 46:case 47:case 56:case 57:case 58:case 61:case 63:case 68:case 75:case 79:case 86:break S}A=A>>>0>128506,t=0;break p}if(r=0,a=128,A-128981>>>0>=4)break a;break t}if(A>>>0<129292)break a;if(A-129328>>>0<10)break q;switch(r=0,a=150,A-129304|0){case 35:break a;case 0:case 1:case 2:case 3:case 4:case 6:case 7:case 14:break t}if(A-129341>>>0<2)break q;if(a=0,(0|A)==129350||(a=198,(-4&A)==129456))break t;if((t=A-129461|0)>>>0<5)break mA;break hA}if(r=1048576,A-11931>>>0<89)break t;break a}return J=0,524288;case 29:return J=16777216,1073741825;case 28:break t;case 30:break jA;default:break a}return J=0,(0|A)==32?1073741825:1}if(!(1079>>>t&1))break fe;t=e[(A=81344+(t<<3)|0)>>2];break h}if(557553>>>t&1)break k;if((-4&A)!=8508)break Me;break t}if(!(207>>>t&1))break me;break d}if(r=1024,!(1017>>>t&1))break Ge;break t}if(r=1024,!(32895>>>t&1))break De;break t}if(r=1024,!(55>>>t&1))break Qe;break t}if(r=1024,!(3087>>>t&1))break Pe;break t}if((A=A-71453|0)>>>0>=15)break a;t=e[(A=82312+(A<<3)|0)>>2];break h}if(!(49023>>>t&1))break ze;t=e[(A=82432+(t<<3)|0)>>2];break h}if(!(514623>>>t&1))break _;t=e[(A=82664+(t<<3)|0)>>2];break h}t=e[(A=83160+(t<<3)|0)>>2];break h}if(r=268435520,!(197>>>t&1))break Fe;break t}t=e[(A=83208+(t<<3)|0)>>2];break h}if((A=A-6145|0)>>>0>=10)break a;t=e[(A=83296+(A<<3)|0)>>2];break h}if(!(1077711>>>t&1))break Ae;t=e[(A=83376+(t<<3)|0)>>2];break h}if(!(159>>>t&1))break Ce;t=e[(A=83544+(t<<3)|0)>>2];break h}if((A=A-121479|0)>>>0>=4)break a;t=e[(A=83608+(A<<3)|0)>>2];break h}if(!(195>>>t&1))break Oe;break U}if((A=A-9745|0)>>>0>=13)break G;t=e[(A=83640+(A<<3)|0)>>2];break h}if(1101>>>t&1)break Z;if(r=-2147483648,a=130,A>>>0<=9773)break G;break t}if(!(45>>>t&1))break be;t=e[(A=83744+(t<<3)|0)>>2];break h}if((A=A-9851|0)>>>0>=5)break G;t=e[(A=83792+(A<<3)|0)>>2];break h}if((A=A-9874|0)>>>0>=11)break G;t=e[(A=83832+(A<<3)|0)>>2];break h}if((A=A-9937|0)>>>0>=4)break G;t=e[(A=83920+(A<<3)|0)>>2];break h}t=e[(A=83952+(A<<3)|0)>>2];break h}if(!(23>>>t&1))break Ze;t=e[(A=84016+(t<<3)|0)>>2];break h}if(r=0,a=150,!(1991>>>t&1))break Ne;break t}if(a=150,27>>>t&1)break t}t=0,J=(A=A-129489>>>0<13)?150:134;break n}A=A-127992>>>0<3,t=0;break p}if(A-9837>>>0<2)break t}J=128;break u}if(A-8623>>>0<13)break I;if(A-8636>>>0<18)break U;if((t=A-8656|0)>>>0<22&&(a=0,3157995>>>t&1)||(r=-2147483648,a=0,A-8661>>>0<31))break t;break a}if(A>>>0<128592)break Y;if(r=0,a=0,A>>>0<128640)break t;if(!((t=A-128675|0)>>>0>29|!(1<<t&537788417)))break q;if(A>>>0<128710)break Y;if(a=150,(0|A)==128716)break t;if(A-128715>>>0<5)break S;if(A-128720>>>0<3)break Y;if(!((t=A-128736|0)>>>0>=10|!(575>>>t&1)))break S;if(a=134,A-128747>>>0<2)break t;switch(a=130,A-128752|0){case 0:case 3:break t}A=A-128756>>>0<6,t=0;break p}switch(r=-2147483648,A-8260|0){case 1:case 2:case 3:case 4:case 5:case 
27376:case 7:case 8:case 9:case 10:case 11:case 12:case 13:break a;case 0:case 14:break t}if((0|(A=A-8315|0))!=16&&A)break a;return J=0,8}if(r=268435520,a=1073741824,(0|A)!=69955)break a;break t}if(A-8266>>>0<8)break I;if(r=-2147483640,(0|A)==8275)break t;if(r=-2147483648,A-8277>>>0>=10)break a;break t}J=542113792;break u}if(r=-2147483648,a=0,A-65093>>>0<2||(r=64,a=268435456,(0|i)==65104))break t;r=268435520,a=-2147483648;Ce:switch(A-65106|0){case 3:J=134217728;break A;case 5:J=536870912;break s;case 4:break c;case 2:break r;case 0:break t;case 15:case 22:break Ce;default:break a}break k}if((0|A)==2142)break se;if(r=64,A-2096>>>0<15)break t;break a}if(r=1024,A-72850>>>0<22)break t;if((A=A-72874|0)>>>0>=13)break a;t=e[(A=82560+(A<<3)|0)>>2];break h}if(r=4096,A-71103>>>0<2)break t;if(r=1024,(-2&A)!=71132)break a;break t}if((0|A)==70726)break f;if(r=4096,(-2&A)!=70850)break a;break t}if(r=4096,A-68325>>>0>=2)break a;break t}if((0|A)==6109)break f;if(r=4096,A-6089>>>0>=11)break a;break t}switch(A-3959|0){case 0:case 2:return J=0,8389632}if((0|t)==3968|A-3953>>>0<14)break d;if(!((t=A-3970|0)>>>0>=6|!(55>>>t&1)))break f;if(A-3981>>>0<11)break d;if(r=1024,A-3993>>>0<36)break t;if(r=4096,(0|A)!=4038)break a;break t}if(A-3655>>>0<6)break f;if(!((t=A-3761|0)>>>0>11|!(1<<t&3577)))break d;switch(r=1024,A-3661|0){case 1:break f;case 0:break t}if(r=4096,A-3784>>>0<5)break t;if(r=1024,(0|A)!=3789)break a;break t}if(A-1770>>>0<3)break t;if(r=1024,(0|A)!=1773)break a;break t}if((-2&A)==73028)break f;switch(r=1024,A-73104|0){default:if((0|A)!=73031)break a;break t;case 2:case 3:case 4:case 6:break a;case 0:case 1:case 5:break t;case 7:}break f}if((A=A-8492|0)>>>0>=30)break a;t=e[(A=81704+(A<<3)|0)>>2];break h}r=0;break N}a=(t=(-3&A)==43712)>>>20|0,r=t<<12}if((0|(s=-65536&A))==131072)break Ve;if((0|s)==65536)break he;if(t=r,i=a,s)break pe}if(A-13312>>>0<6582||A-19968>>>0<20976)break e;if(s=2048,A-63744>>>0<366)return J=i,2048|t;if(r=t,a=i,A-64112>>>0>=106)break pe;break R}if(s=2099200,A-183984>>>0<7473|A-178208>>>0<5762|A-177984>>>0<222|A-131072>>>0<42711||A-173824>>>0<4149||(s=2048,A-194560>>>0<542))break R;break pe}if(s=2048,A-110960>>>0<396|A-94208>>>0<6125|A-100352>>>0<755)break R}s=0}return J=a,r|s}if((-4&A)==8508)break k;if(r=128,!(A-8517>>>0<3)&&(r=16777344,(-2&A)!=8520))break a}J=a;break m}t=(A=A>>>0>131069)?65536:0,J=A?0:128;break n}if((0|A)==11776)break I}J=0;break o}J=0;break u}return J=0,4194304}return J=0,128}return J=0,16777344}return J=0,4096}return J=0,1024}return J=0,-2147483520}return J=0,A-10214>>>0<10?-2147483520:-2147483648}J=0;break s}J=0;break A}J=130;break o}J=130;break u}J=134;break o}return J=150,0}J=0;break n}J=A?0:a;break n}return J=t,A}return 131072}return J=0,16777216}J=A?0:r;break n}return J=a,A}return J=r,A}J=A?0:t;break m}return J=0,8192}J=e[A+4>>2];break n}J=A?8388608:0;break n}return r}return J=0,-2147483616}J=A?134:128}return t}J=134}return-2147483648}return 0}J=1073741824;break s}J=-2147483648}return 268435520}J=67108864}return 64}return J=i,2099200|t}function _e(A){var t,r=0,a=0,s=0,i=0,o=0;(t=It(8244))&&(e[t+328>>2]=2,g[132848]=0,e[t+684>>2]=0,e[t+688>>2]=0,e[t+320>>2]=0,e[t+324>>2]=0,g[t+268|0]=0,g[t+228|0]=0,e[t+8216>>2]=0,e[t+8220>>2]=0,e[t+224>>2]=104944,e[t+216>>2]=383,e[t+220>>2]=96,VA(t+344|0,0,292),e[t+8196>>2]=0,e[(r=t+8188|0)>>2]=0,e[r+4>>2]=0,e[t+8180>>2]=0,e[t+8184>>2]=0,g[t+460|0]=22,g[t+461|0]=129,g[t+466|0]=38,g[t+462|0]=38,g[t+463|0]=36,g[t+464|0]=22,g[t+465|0]=224,g[t+456|0]=22,g[t+457|0]=22,g[t+458|0]=44,g[t+459|0]=22,g[t+454|0]=46,g[t+455|0]=129,g[t+446|0]=22,g[t+447|0]=38,g[t+448|0]=28,g[t+449|0]=193,g[t+450|0]=38,g[t+451|0]=22,g[t+452|0]=46,g[t+453|0]=46,g[t+441|0]=129,g[t+442|0]=38,g[t+443|0]=22,g[t+444|0]=38,g[t+445|0]=193,e[t+332>>2]=104912,e[t+336>>2]=104916,e[t+340>>2]=105232,g[t+296|0]=18,g[t+297|0]=18,b[t+304>>1]=182,b[t+306>>1]=140,g[t+298|0]=20,b[t+308>>1]=220,b[t+310>>1]=220,b[t+312>>1]=220,g[t+299|0]=20,g[t+300|0]=20,b[t+314>>1]=240,g[t+301|0]=22,b[t+316>>1]=260,b[t+318>>1]=280,g[t+302|0]=22,g[t+303|0]=20,r=VA(t,0,212),e[r+200>>2]=20,e[r+192>>2]=25966,e[r+196>>2]=500,e[r+80>>2]=95,e[r+16>>2]=1,e[r+20>>2]=3,e[r+8>>2]=2,e[r+52>>2]=19,g[r+168|0]=3,e[r+92>>2]=2,e[r+72>>2]=4,e[r+40>>2]=115,e[r+44>>2]=95,e[r+140>>2]=105244,Nn(r,201),e[r+120>>2]=2,e[r+124>>2]=44,e[r+164>>2]=100,e[r+128>>2]=46,e[r+132>>2]=14,e[r+112>>2]=1227133512,e[r+116>>2]=49,e[r+104>>2]=1,a=e[26313],e[r+636>>2]=e[26312],e[r+640>>2]=a,a=e[26315],e[r+644>>2]=e[26314],e[r+648>>
vendor: 1,378 bytes, line 2737
27372]=a,a=e[26317],e[r+652>>2]=e[26316],e[r+656>>2]=a,a=e[26319],e[r+660>>2]=e[26318],e[r+664>>2]=a,a=e[26321],e[r+668>>2]=e[26320],e[r+672>>2]=a,a=e[26323],e[r+676>>2]=e[26322],e[r+680>>2]=a,a=l[104928]|l[104929]<<8,g[r+160|0]=a,g[r+161|0]=a>>>8,a=l[104924]|l[104925]<<8|l[104926]<<16|l[104927]<<24,g[r+156|0]=a,g[r+157|0]=a>>>8,g[r+158|0]=a>>>16,g[r+159|0]=a>>>24),s=JA(t+228|0,A),r=0;e:{A:if(a=l[0|A]){for(;r=(a<<24>>24)+(r<<8)|0,a=l[0|(A=A+1|0)];);r:{s:{i:{c:{o:{u:{l:{n:{p:{C:{m:{b:{h:{E:{w:{y:{L:{W:{V:{M:{B:{D:{F:{q:{Y:{Z:{S:{se:{H:{ye:{U:{d:{f:{$:{k:{ee:{I:{a:{We:{J:{t:{fe:{R:{pe:{he:{Ve:{le:{N:{Ee:{v:{Me:{_:{me:{Ge:{je:{De:{Qe:{Te:{Pe:{ze:{Fe:{Ce:{Ue:{Ae:{Se:{Ke:{Ne:{Oe:{G:{be:{if((0|r)<=28008){if((0|r)<=26464){if((0|r)<=25696){switch(r-24934|0){case 20:break n;case 1:case 2:case 3:case 4:case 5:case 6:case 9:case 10:case 11:case 14:case 15:case 16:case 17:case 18:case 19:break A;case 8:break _;case 12:break Fe;case 7:break Ce;case 0:break Ue;case 13:break be}switch(r-25189|0){case 1:case 3:case 4:case 5:case 6:case 7:case 8:case 10:case 11:case 12:case 13:break A;case 14:break fe;case 2:break Pe;case 0:break ze;case 9:break be}switch(r-25441|0){case 18:break y;case 0:break _;case 24:break Qe;default:break A}}switch(r-25964|0){case 1:case 4:case 5:case 6:break A;case 8:break Ee;case 9:break Me;case 7:break _;case 3:break me;case 2:break Ge;case 0:break Oe}
2737switch(r-26209|0){case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 9:case 10:case 11:case 12:case 13:case 14:case 15:case 16:break A;case 17:break le;case 8:break N;case 0:break v}switch(r-25697|0){case 4:break je;case 0:break De;default:break A}}if((0|r)<=27488){switch(r-26729|0){case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 10:case 13:case 14:case 15:break A;case 16:break We;case 12:break J;case 11:break t;case 9:break fe;case 0:break R}switch(r-26977|0){case 1:case 2:case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 15:case 16:case 17:break A;case 19:break k;case 18:break ee;case 3:break I;case 14:break a;case 0:break _}switch(r-26465|0){case 20:break R;case 13:break pe;case 0:case 3:break he;default:break A}}switch(r-27489|0){case 13:break p;case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 12:case 15:case 16:case 17:case 18:case 19:case 21:case 22:case 23:break A;case 24:break se;case 20:break H;case 14:break ye;case 11:break U;case 10:break d;case 0:break f}switch(r-27745|0){case 19:break Z;case 0:break S;case 21:break Ke;default:break A}}if((0|r)<=29792){if((0|r)<=28768){switch(r-28009|0){case 3:break p;case 11:break q;case 2:break Y;case 1:case 4:case 5:case 6:case 7:case 8:case 12:case 13:case 14:case 15:break A;case 10:break I;case 9:break R;case 0:case 16:break Ae}switch(r-28258|0){case 0:break D;case 10:break F;case 1:case 2:case 4:case 5:case 6:case 7:case 8:case 9:break A;case 3:break R}switch(r-28525|0){case 0:break B;case 5:break R;default:break A}}if((0|r)<=29539){switch(r-28769|0){case 19:break V;case 11:break M;case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 12:case 13:case 14:case 15:case 16:case 17:case 18:case 20:case 21:case 22:case 23:break A;case 0:break R;case 24:break Ae}switch(r-29295|0){case 6:break L;case 0:break W;case 1:case 2:case 3:case 4:case 5:break A}if((0|r)==29045)break Ae;break A}switch(r-29540|0){case 19:break C;case 18:break m;case 13:break b;case 8:break E;case 5:break w;case 7:break y;case 14:break fe;case 0:break o;default:break A}}if((0|r)>6514801)break G;if((0|r)<=30058)switch(r-29793|0){case 19:break l;case 17:break n;case 0:case 4:break p;case 13:break C;case 7:break Ae;default:break A}if((0|r)<=30312)switch(r-30059|0){case 0:break u;case 15:break Ae;case 7:break o;default:break A}if((0|r)==30313)break c;if((0|r)==31336)break i;if((0|r)!=6451321)break A}if(e[t+296>>2]=303174162,e[t+300>>2]=370545684,e[t+600>>2]=2432,e[t+8>>2]=0,e[t+12>>2]=65540,e[t+100>>2]=e[t+96>>2],A=e[25889],e[t+304>>2]=e[25888],e[t+308>>2]=A,A=e[25891],e[t+312>>2]=e[25890],e[t+316>>2]=A,Cs(t),g[t+345|0]=2|l[t+345|0],g[t+406|0]=16|l[t+406|0],g[t+407|0]=16|l[t+407|0],g[t+408|0]=16|l[t+408|0],g[t+409|0]=16|l[t+409|0],g[t+410|0]=16|l[t+410|0],g[t+411|0]=16|l[t+411|0],g[t+412|0]=16|l[t+412|0],g[t+413|0]=16|l[t+413|0],g[t+414|0]=16|l[t+414|0],g[t+415|0]=16|l[t+415|0],g[t+416|0]=16|l[t+416|0],g[t+417|0]=16|l[t+417|0],g[t+418|0]=16|l[t+418|0],g[t+419|0]=16|l[t+419|0],g[t+420|0]=16|l[t+420|0],g[t+456|0]=4|l[t+456|0],g[t+457|0]=4|l[t+457|0],e[t+112>>2]=613567144,e[t+104>>2]=16,(0|r)!=6451321)break e;e[t+104>>2]=1,e[t+108>>2]=512,r=6451321;break e}if((0|r)>7364975)break Se;if((0|r)>6840682)break Ne;if((0|r)==6514802)break Te;if((0|r)==6516078)break i;if((0|r)!=6779491)break A}if(e[t+600>>2]=896,e[t+328>>2]=8,e[t+296>>2]=336858127,e[t+300>>2]=353768980,e[t+332>>2]=103632,A=e[25905],e[t+304>>2]=e[25904],e[t+308>>2]=A,A=e[25907],e[t+312>>2]=e[25906],e[t+316>>2]=A,VA(t+344|0,0,256),g[t+388|0]=129,g[t+389|0]=129,g[t+390|0]=129,g[t+391|0]=129,g[t+420|0]=129,g[t+421|0]=129,g[t+422|0]=129,g[t+423|0]=129,g[t+360|0]=129,g[t+392|0]=129,g[t+393|0]=129,g[t+417|0]=129,g[t+418|0]=129,g[t+419|0]=129,g[t+420|0]=129,g[t+408|0]=6,g[t+409|0]=4,g[t+410|0]=6,g[t+411|0]=6,g[t+412|0]=6,g[t+413|0]=193,g[t+414|0]=6,g[t+415|0]=6,g[t+406|0]=6,g[t+407|0]=129,g[t+398|0]=4,g[t+399|0]=193,g[t+400|0]=6,g[t+401|0]=193,g[t+402|0]=6,g[t+403|0]=4,g[t+404|0]=4,g[t+405|0]=4,g[t+394|0]=4,g[t+395|0]=4,g[t+396|0]=4,g[t+397|0]=193,e[t+44>>2]=130,e[t+8>>2]=2,e[t+12>>2]=6,e[t+16>>2]=0,e[t+20>>2]=2,e[t+104>>2]=264,e[t+108>>2]=6146,g[t+391|0]=193,g[t+389|0]=193,g[t+390|0]=193,g[t+421|0]=193,e[t+100>>2]=e[t+96>>2],g[t+416|0]=4|l[t+416|0],(0|r)!=6779491)break e;e[t+40>>2]=1,r=6779491;break e}if((0|r)==6840683)break Ve;if((0|r)==6972015)break $;if((0|r)!=7107687)break A}e[t+296>>2]=134875662,e[t+300>>
27372]=252968960,e[t+328>>2]=5,g[t+169|0]=1,e[t+132>>2]=33,e[t+104>>2]=99336,e[t+8>>2]=0,e[t+12>>2]=262182,A=e[26069],e[t+304>>2]=e[26068],e[t+308>>2]=A,A=e[26071],e[t+312>>2]=e[26070],e[t+316>>2]=A;break e}if((0|r)<=7564649){if((0|r)==7364976)break _;if((0|r)==7435619)break Ae;if((0|r)!=7563374)break A;e[t+148>>2]=1,e[t+112>>2]=24,e[t+104>>2]=1,e[t+100>>2]=e[t+96>>2],r=7563374;break e}if((0|r)==7564650)break h;if((0|r)==7959909)break i;if((0|r)!=1885958500)break A}e[t+104>>2]=0;break e}e[t+4>>2]=48,e[t+8>>2]=0,e[t+144>>2]=1,e[t+104>>2]=16779472,e[t+32>>2]=1,e[t+24>>2]=1,A=e[25881],e[t+304>>2]=e[25880],e[t+308>>2]=A,A=e[25883],e[t+312>>2]=e[25882],e[t+316>>2]=A,g[t+465|0]=64&l[t+465|0]|129,r=24934;break e}e[t+600>>2]=4608,e[t+296>>2]=303173650,e[t+300>>2]=303174162,e[t+8>>2]=0,e[t+12>>2]=36,e[t+104>>2]=1024,e[t+100>>2]=e[t+96>>2],e[t+40>>2]=1,A=e[25865],e[t+304>>2]=e[25864],e[t+308>>2]=A,A=e[25867],e[t+312>>2]=e[25866],e[t+316>>2]=A,r=24941;break e}for(e[t+600>>2]=1536,e[t+224>>2]=0,e[t+216>>2]=1631,e[t+220>>2]=1536,e[t+104>>2]=2884720,e[t+328>>2]=7,e[t+40>>2]=1,q=r=q-16|0,e[r+12>>2]=-1,A=89684;s=Dt(r+12|0,A),(0|(a=e[r+12>>2]))>=33&&(g[0|(i=(t+a|0)-1192|0)]=1|l[0|i]),A=A+s|0,a;);for(e[r+12>>2]=-1,A=89743;s=Dt(r+12|0,A),(0|(a=e[r+12>>2]))>=33&&(g[0|(i=(t+a|0)-1192|0)]=2|l[0|i]),A=A+s|0,a;);for(e[r+12>>2]=-1,A=89795;s=Dt(r+12|0,A),(0|(a=e[r+12>>2]))>=33&&(g[0|(i=(t+a|0)-1192|0)]=4|l[0|i]),A=A+s|0,a;);for(e[r+12>>2]=-1,A=89941;s=Dt(r+12|0,A),(0|(a=e[r+12>>2]))>=33&&(g[0|(i=(t+a|0)-1192|0)]=16|l[0|i]),A=A+s|0,a;);for(e[r+12>>2]=-1,A=90045;s=Dt(r+12|0,A),(0|(a=e[r+12>>2]))>=33&&(g[0|(i=(t+a|0)-1192|0)]=32|l[0|i]),A=A+s|0,a;);for(e[r+12>>2]=-1,A=90045;s=Dt(r+12|0,A),(0|(a=e[r+12>>2]))>=33&&(g[0|(i=(t+a|0)-1192|0)]=8|l[0|i]),A=A+s|0,a;);for(e[r+12>>2]=-1,A=90045;s=Dt(r+12|0,A),(0|(a=e[r+12>>2]))>=33&&(g[0|(i=(t+a|0)-1192|0)]=64|l[0|i]),A=A+s|0,a;);q=r+16|0,r=24946;break e}e[t+600>>2]=1056,e[t+12>>2]=34,e[t+216>>2]=1118,e[t+220>>2]=1072,VA(t+344|0,0,256),g[t+406|0]=4,g[t+366|0]=4,g[t+367|0]=4,g[t+369|0]=4,g[t+370|0]=4,g[t+371|0]=4,g[t+372|0]=4,g[t+361|0]=4,g[t+362|0]=4,g[t+363|0]=4,g[t+364|0]=4,g[t+373|0]=4,g[t+380|0]=4,g[t+381|0]=4,g[t+382|0]=4,g[t+383|0]=4,g[t+375|0]=4,g[t+376|0]=4,g[t+377|0]=4,g[t+378|0]=4,g[t+384|0]=4,g[t+360|0]=129,e[t+328>>2]=6,e[t+296>>2]=134744588,e[t+300>>2]=286261248,e[t+40>>2]=1,e[t+8>>2]=0,e[t+104>>2]=1032,e[t+108>>2]=66,A=e[25885],e[t+304>>2]=e[25884],e[t+308>>2]=A,A=e[25887],e[t+312>>2]=e[25886],e[t+316>>2]=A,r=25189;break e}Es(t),e[t+328>>2]=6,e[t+56>>2]=2,e[t+36>>2]=263,e[t+40>>2]=1074,e[t+124>>2]=32,e[t+104>>2]=184554728,e[t+8>>
vendor: 11,545 bytes, line 2737
27372]=2,g[t+386|0]=64&l[t+386|0]|129,r=25191;break e}e[t+12>>2]=262182,e[t+40>>2]=1,r=6514802;break e}e[t+328>>2]=14,e[t+296>>2]=303173393,e[t+300>>2]=336986112,e[t+104>>2]=1024,e[t+16>>2]=0,e[t+20>>2]=2,e[t+8>>2]=2,e[t+12>>2]=22,e[t+44>>2]=120,A=e[25893],e[t+304>>2]=e[25892],e[t+308>>2]=A,A=e[25895],e[t+312>>2]=e[25894],e[t+316>>2]=A,g[t+463|0]=64&l[t+463|0]|129,g[t+465|0]=64&l[t+465|0]|129,r=25465;break e}e[t+8>>2]=0,e[t+104>>2]=184618072,e[t+32>>2]=1,A=e[26101],e[t+304>>2]=e[26100],e[t+308>>2]=A,A=e[26103],e[t+312>>2]=e[26102],e[t+316>>2]=A,g[t+465|0]=64&l[t+465|0]|129,r=25697;break e}e[t+296>>2]=336860180,e[t+300>>2]=336991764,e[t+8>>2]=0,e[t+104>>2]=16846872,e[t>>2]=8,e[t+4>>2]=48,e[t+80>>2]=87,e[t+32>>2]=1,e[t+36>>2]=256,e[t+40>>2]=2,A=e[25897],e[t+304>>2]=e[25896],e[t+308>>2]=A,A=e[25899],e[t+312>>2]=e[25898],e[t+316>>2]=A,g[t+465|0]=64&l[t+465|0]|129,r=25701;break e}e[t+132>>2]=33,e[t+104>>2]=16779328,e[t+8>>2]=0,e[t+12>>2]=8,e[t+204>>2]=101,e[t+60>>2]=2,e[t+40>>2]=2,A=e[25901],e[t+304>>2]=e[25900],e[t+308>>2]=A,A=e[25903],e[t+312>>2]=e[25902],e[t+316>>2]=A,g[t+441|0]=64|l[t+441|0],g[t+445|0]=64|l[t+445|0],g[t+449|0]=64|l[t+449|0],g[t+455|0]=64|l[t+455|0],g[t+461|0]=64|l[t+461|0],g[t+465|0]=64|l[t+465|0],r=25966;break e}e[t+328>>2]=4,e[t+296>>2]=336858640,e[t+300>>2]=353768980,e[t+104>>2]=16782344,e[t+20>>2]=2,e[t+12>>2]=22,e[t+4>>2]=2,e[t+8>>2]=2,e[t+332>>2]=103640,A=e[25997],e[t+304>>2]=e[25996],e[t+308>>2]=A,A=e[25999],e[t+312>>2]=e[25998],e[t+316>>2]=A,r=25967;break e}e[t+296>>2]=269422096,e[t+300>>2]=370545684,e[t+104>>2]=86017320,e[t+108>>2]=6144,e[t+16>>2]=0,e[t+20>>2]=2,e[t+8>>2]=2,e[t+12>>2]=534,e[t+100>>2]=e[t+96>>2],e[t+44>>2]=120,A=e[25913],e[t+304>>2]=e[25912],e[t+308>>2]=A,A=e[25915],e[t+312>>2]=e[25914],e[t+316>>2]=A;_:{me:{if((0|r)<=26976){if((0|r)==24942)break me;if((0|r)!=25441)break _;e[t+12>>2]=566,e[t+336>>2]=103664,r=25441;break e}if((0|r)!=26977){if((0|r)!=7364976)break _;e[t+8>>2]=3,e[t+12>>2]=310,r=7364976;break e}e[t+104>>2]=85984264,r=26977;break e}e[t+104>>2]=153093416,e[t+108>>2]=2048,e[t+140>>2]=103676,r=24942;break e}e[t+40>>2]=2;break e}e[t+296>>2]=303173648,e[t+300>>2]=303174162,e[t+104>>2]=3147080,e[t+12>>2]=65792,e[t+84>>2]=1,A=e[25921],e[t+304>>2]=e[25920],e[t+308>>2]=A,A=e[25923],e[t+312>>2]=e[25922],e[t+316>>2]=A,r=25973;break e}e[t+600>>2]=1536,e[t+216>>2]=1740,e[t+220>>2]=1568,e[t+104>>2]=96,e[t+224>>2]=103696,e[t+340>>2]=103872,e[t+40>>2]=1,r=26209;break e}e[t+328>>2]=5}e[t+104>>2]=86024,e[t+164>>2]=130,g[t+465|0]=64&l[t+465|0]|129;break e}e[t+296>>2]=303173650,e[t+300>>2]=303174162,e[t+8>>2]=3,e[t+12>>2]=36,e[t+144>>2]=2,e[t+104>>2]=118658312,e[t+28>>2]=1,e[t+100>>2]=e[t+96>>2],A=e[25865],e[t+304>>2]=e[25864],e[t+308>>2]=A,A=e[25867],e[t+312>>2]=e[25866],e[t+316>>2]=A,g[t+465|0]=64&l[t+465|0]|129,r=26226;break e}b[t+170>>1]=257,e[t+148>>2]=1,e[t+12>>2]=2,r=6840683;break e}e[t+144>>2]=2,e[t+104>>2]=2098176,e[t+8>>2]=0,e[t+12>>2]=32,e[t+40>>2]=3,e[t+28>>2]=1;break e}e[t+8>>2]=3,e[t+100>>2]=e[t+96>>2],r=26478;break e}e[t+328>>2]=18,e[t+296>>2]=320081425,e[t+300>>2]=353768980,e[t+600>>2]=2304,e[t+112>>2]=84648,e[t+104>>2]=16,e[t+8>>2]=6,e[t+12>>2]=65540,e[t+100>>2]=e[t+96>>2],A=e[25973],e[t+304>>2]=e[25972],e[t+308>>2]=A,A=e[25975],e[t+312>>2]=e[25974],e[t+316>>2]=A;R:{pe:{he:{if((0|r)<=28529){if((0|r)==26485)break he;if((0|r)!=28261)break R;A=e[25861],e[t+304>>2]=e[25860],e[t+308>>2]=A,A=e[25863],e[t+312>>2]=e[25862],e[t+316>>2]=A,e[t+296>>2]=320017171,e[t+300>>2]=320017171,e[t+132>>2]=22,e[t+112>>2]=-1431655768,e[t+108>>2]=32768|e[t+108>>2],Cs(t);break e}if((0|r)==28530)break pe;if((0|r)!=28769)break R;e[t+600>>2]=2560,Cs(t);break e}A=e[25861],e[t+304>>2]=e[25860],e[t+308>>2]=A,A=e[25863],e[t+312>>2]=e[25862],e[t+316>>2]=A,e[t+600>>2]=2688,e[t+296>>2]=320017171,e[t+300>>2]=320017171,e[t+8>>2]=2,Cs(t);break e}e[t+600>>2]=2816}Cs(t);break e}g[0|s]=104,g[s+1|0]=98,g[s+2|0]=115,g[s+3|0]=0,(0|r)!=29554?(A=e[26093],e[t+304>>2]=e[26092],e[t+308>>2]=A,A=e[26095],e[t+312>>2]=e[26094],e[t+316>>2]=A):(A=e[25977],e[t+304>>2]=e[25976],e[t+308>>2]=A,A=e[25979],e[t+312>>2]=e[25978],e[t+316>>2]=A),e[t+328>>2]=3,e[t+296>>2]=336859409,e[t+300>>2]=353768980,b[t+168>>1]=261,e[t+8>>2]=0,e[t+12>>2]=16,e[t+144>>2]=1,e[t+184>>2]=1056,e[t+104>>2]=33572172,e[t+108>>2]=330,e[t+36>>2]=3,g[t+465|0]=64&l[t+465|0]|129,g[t+458|0]=64&l[t+458|0]|129;break e}e[t+104>>2]=17990912,e[t+8>>2]=3,e[t+12>>2]=36,r=26740;break e}e[t+328>>2]=3,e[t+296>>2]=320016657,e[t+300>>2]=353768980,e[t+124>>2]=32,e[t+128>>2]=44,e[t+104>>2]=186758144,e[t+12>>2]=1081398,e[t+16>>2]=2,e[t+4>>2]=32,e[t+8>>2]=0,e[t+116>>2]=899,e[t+120>>2]=1,g[t+169|0]=1,e[t+76>>2]=2,A=e[25981],e[t+304>>2]=e[25980],e[t+308>>2]=A,A=e[25983],e[t+312>>2]=e[25982],e[t+316>>2]=A,g[t+465|0]=64&l[t+465|0]|129,Nn(t,3),r=26741;break e}for(e[t+600>>2]=1328,e[t+8>>2]=3,A=e[25985],e[t+304>>2]=e[25984],e[t+308>>2]=A,A=e[25987],e[t+312>>2]=e[25986],e[t+316>>2]=A,s=VA(t+344|0,0,256),g[t+429|0]=129,g[t+416|0]=129,g[t+403|0]=129,g[t+399|0]=129,g[t+400|0]=129,g[t+397|0]=129,g[t+393|0]=129,a=103952,i=50,o=50;g[0|(A=s+o|0)]=2|l[0|A],A=s+l[a+1|0]|0,g[0|A]=2|l[0|A],A=s+l[a+2|0]|0,g[0|A]=2|l[0|A],o=l[0|(a=a+3|0)],A=103952,(0|a)!=103982;);for(a=t+344|0;g[0|(s=a+i|0)]=4|l[0|s],s=a+l[A+1|0]|0,g[0|s]=4|l[0|s],s=a+l[A+2|0]|0,g[0|s]=4|l[0|s],i=l[0|(A=A+3|0)],(0|A)!=103982;);g[t+168|0]=6,e[t+104>>2]=5128,g[t+413|0]=4|l[t+413|0];break e}e[t+328>>2]=4,e[t+296>>2]=336858640,e[t+300>>2]=353768980,e[t+104>>2]=16782440,e[t+20>>2]=2,e[t+12>>2]=22,e[t+4>>2]=2,e[t+8>>2]=2,e[t+332>>2]=104e3,A=e[25997],e[t+304>>2]=e[25996],e[t+308>>2]=A,A=e[25999],e[t+312>>2]=e[25998],e[t+316>>2]=A,r=26991;break e}e[t+296>>2]=303174160,e[t+300>>2]=353768980,e[t+104>>2]=16781320,e[t+144>>2]=2,e[t+8>>2]=2,e[t+12>>2]=22,A=e[26005],e[t+304>>2]=e[26004],e[t+308>>2]=A,A=e[26007],e[t+312>>2]=e[26006],e[t+316>>2]=A;break e}for(e[t+8>>2]=0,e[t+12>>2]=16,e[t+56>>2]=2,e[t+28>>2]=17,A=e[26009],e[t+304>>2]=e[26008],e[t+308>>2]=A,A=e[26011],e[t+312>>2]=e[26010],e[t+316>>2]=A,A=0,a=t+344|0;g[0|(s=A+a|0)]=231&l[0|s],g[0|(s=a+(1|A)|0)]=231&l[0|s],g[0|(s=a+(2|A)|0)]=231&l[0|s],g[0|(s=a+(3|A)|0)]=231&l[0|s],(0|(A=A+4|0))!=256;);e[t+104>>2]=2280,e[t+108>>2]=2,e[t+608>>2]=104048,g[t+451|0]=16|l[t+451|0],g[t+456|0]=16|l[t+456|0],g[t+459|0]=16|l[t+459|0],g[t+460|0]=16|l[t+460|0],g[t+450|0]=8|l[t+450|0],g[t+462|0]=8|l[t+462|0],g[t+458|0]=8|l[t+458|0],g[t+465|0]=64&l[t+465|0]|129;break e}e[t+296>>2]=269618961,e[t+300>>2]=370546196,e[t+12>>2]=131110,e[t+144>>2]=2,e[t+104>>2]=184559112,e[t+108>>2]=8192,e[t+16>>2]=0,e[t+20>>2]=2,e[t+4>>2]=1,e[t+8>>2]=2,e[t+100>>2]=e[t+96>>2],e[t+140>>2]=103676,e[t+68>>2]=2,e[t+56>>2]=1,e[t+44>>2]=130,e[t+28>>2]=2,A=e[26025],e[t+304>>2]=e[26024],e[t+308>>2]=A,A=e[26027],e[t+312>>2]=e[26026],e[t+316>>2]=A,g[t+465|0]=64&l[t+465|0]|129,r=26996;break e}e[t+4>>2]=524,e[t+8>>2]=2,e[t+196>>2]=368,e[t+104>>2]=0,e[t+336>>2]=104128,e[t- -64>>2]=1,A=e[26029],e[t+304>>2]=e[26028],e[t+308>>2]=A,A=e[26031],e[t+312>>2]=e[26030],e[t+316>>2]=A,g[t+465|0]=64&l[t+465|0]|129,r=6972015;break e}for(e[t+296>>2]=303174162,e[t+300>>2]=370545684,A=e[25873],e[t+304>>2]=e[25872],e[t+308>>2]=A,A=e[25875],e[t+312>>2]=e[25874],e[t+316>>2]=A,s=VA(t+344|0,0,256),g[t+431|0]=1,g[t+429|0]=1,g[t+411|0]=1,g[t+405|0]=1,g[t+400|0]=1,g[t+396|0]=1,g[t+392|0]=1,A=104160,a=49;g[0|(a=a+s|0)]=4|l[0|a],a=s+l[A+1|0]|0,g[0|a]=4|l[0|a],a=s+l[A+2|0]|0,g[0|a]=4|l[0|a],a=l[0|(A=A+3|0)],(0|A)!=104193;);e[t+600>>2]=4256,e[t+8>>2]=0,e[t+12>>2]=16,g[t+168|0]=7,e[t+132>>2]=32,g[t+392|0]=128|l[t+392|0],g[t+396|0]=128|l[t+396|0],g[t+400|0]=128|l[t+400|0],g[t+405|0]=128|l[t+405|0],g[t+411|0]=128|l[t+411|0],g[t+429|0]=128|l[t+429|0],g[t+431|0]=128|l[t+431|0],e[t+188>>2]=1056,e[t+192>>2]=29301,e[t+104>>2]=19964960;break e}for(e[t+600>>2]=1056,s=VA(t+344|0,0,256),g[t+393|0]=1,g[t+365|0]=1,g[t+360|0]=1,g[t+545|0]=1,g[t+529|0]=1,g[t+391|0]=1,g[t+389|0]=1,g[t+390|0]=1,g[t+387|0]=1,g[t+379|0]=1,g[t+374|0]=1,g[t+368|0]=1,g[t+489|0]=1,g[t+487|0]=1,g[t+398|0]=1,A=104224,a=17;g[0|(a=a+s|0)]=4|l[0|a],a=s+l[A+1|0]|0,g[0|a]=4|l[0|a],a=s+l[A+2|0]|0,g[0|a]=4|l[0|a],a=l[0|(A=A+3|0)],(0|A)!=104251;);g[t+360|0]=128|l[t+360|0],g[t+365|0]=128|l[t+365|0],g[t+393|0]=128|l[t+393|0],g[t+368|0]=128|l[t+368|0],g[t+374|0]=128|l[t+374|0],g[t+379|0]=128|l[t+379|0],g[t+387|0]=128|l[t+387|0],g[t+389|0]=128|l[t+389|0],g[t+390|0]=128|l[t+390|0],g[t+391|0]=128|l[t+391|0],g[t+529|0]=128|l[t+529|0],g[t+545|0]=128|l[t+545|0],g[t+489|0]=128|l[t+489|0],g[t+487|0]=128|l[t+487|0],g[t+398|0]=128|l[t+398|0],A=e[26055],e[t+312>>2]=e[26054],e[t+316>>2]=A,A=e[26053],e[t+304>>2]=e[26052],e[t+308>>2]=A,e[t+296>>2]=353636370,e[t+300>>2]=336925972,e[t+200>>2]=0,e[t+8>>2]=7,e[t+12>>2]=2097184,g[t+168|0]=2,e[t+104>>2]=50176,e[t+84>>2]=1,Nn(t,3);break e}e[t+296>>2]=320017171,e[t+300>>2]=320017171,e[t+104>>2]=184618072,e[t+8>>2]=12,e[t+12>>2]=32,A=e[25861],e[t+304>>2]=e[25860],e[t+308>>2]=A,A=e[25863],e[t+312>>2]=e[25862],e[t+316>>2]=A,r=27500;break e}e[t+184>>2]=42752,e[t+600>>2]=4352,VA(t+344|0,0,256),g[t+456|0]=1,g[t+457|0]=1,g[t+458|0]=1,g[t+459|0]=1,g[t+449|0]=1,g[t+450|0]=1,g[t+451|0]=1,g[t+452|0]=1,g[t+453|0]=1,g[t+454|0]=1,g[t+455|0]=1,g[t+456|0]=1,g[t+441|0]=1,g[t+442|0]=1,g[t+443|0]=1,g[t+444|0]=1,g[t+445|0]=1,g[t+446|0]=1,g[t+447|0]=1,g[t+448|0]=1,g[t+460|0]=65,g[t+461|0]=65,g[t+532|0]=32,g[t+527|0]=32,g[t+519|0]=32,g[t+515|0]=32,g[t+349|0]=32,g[t+350|0]=32,g[t+346|0]=32,e[t+132>>2]=20,e[t+112>>2]=286331152,e[t+104>>2]=1024,e[t+108>>2]=16384,e[t+40>>2]=1,e[t+8>>2]=8,g[t+458|0]=65,g[t+453|0]=65,g[t+447|0]=65,g[t+448|0]=65,g[t+443|0]=65,g[t+444|0]=65,r=27503;break e}e[t+328>>2]=10,e[t+296>>2]=336859666,e[t+300>>2]=353768980,g[t+168|0]=2,e[t+104>>2]=263264,e[t+8>>2]=7,A=e[26065],e[t+304>>2]=e[26064],e[t+308>>2]=A,A=e[26067],e[t+312>>2]=e[26066],e[t+316>>2]=A,r=27509;break e}e[t+104>>2]=1,r=27513;break e}e[t+116>>2]=5e3,e[t+104>>2]=16777216,e[t+24>>2]=1,e[t+16>>2]=0,e[t+20>>2]=2,e[t+8>>2]=2,e[t+12>>2]=32,e[t+328>>2]=5,r=27745;break e}e[t+116>>2]=5e3,e[t+104>>2]=99336,e[t+108>>2]=256,e[t+24>>2]=1,e[t+16>>2]=0,e[t+20>>2]=2,e[t+8>>2]=2,e[t+12>>2]=32,e[t+328>>2]=5,r=27764;break e}e[t+328>>2]=6,e[t+296>>2]=336859409,e[t+300>>2]=353768980,e[t+600>>2]=1056,e[t+104>>2]=2114600,e[t+108>>2]=138,e[t+8>>2]=4,e[t+632>>2]=104288,e[t+604>>2]=104288,A=e[26093],e[t+304>>2]=e[26092],e[t+308>>2]=A,A=e[26095],e[t+312>>2]=e[26094],e[t+316>>2]=A,r=28011;break e}e[t+328>>2]=4,e[t+104>>2]=1,e[t+8>>2]=2,e[t+36>>2]=256,r=28020;break e}e[t+4>>2]=48,e[t+8>>2]=0,e[t+12>>2]=128,e[t+104>>2]=2169880,e[t+32>>2]=1,e[t+36>>2]=256,e[t+24>>2]=1,e[t+136>>2]=85767,A=e[26097],e[t+304>>2]=e[26096],e[t+308>>2]=A,A=e[26099],e[t+312>>2]=e[26098],e[t+316>>2]=A,g[t+465|0]=64&l[t+465|0]|129,r=28268;break e}e[t+8>>2]=0,e[t+104>>2]=71752,A=e[26101],e[t+304>>2]=e[26100],e[t+308>>2]=A,A=e[26103],e[t+312>>2]=e[26102],e[t+316>>2]=A,g[t+465|0]=64&l[t+465|0]|129,r=28258;break e}e[t+296>>2]=336858898,e[t+300>>2]=370546196,e[t+104>>2]=1088,e[t+108>>2]=512,e[t+8>>2]=2,e[t+12>>2]=524310,A=e[26105],e[t+304>>2]=e[26104],e[t+308>>2]=A,A=e[26107],e[t+312>>2]=e[26106],e[t+316>>2]=A,r=28525;break e}e[t+328>>2]=3,e[t+296>>2]=320015633,e[t+300>>2]=353768980,g[t+168|0]=7,e[t+8>>2]=2,e[t+12>>2]=6,e[t+104>>2]=20488,e[t+108>>2]=192,e[t+36>>2]=9,e[t+60>>2]=260,A=e[26109],e[t+304>>2]=e[26108],e[t+308>>2]=A,A=e[26111],e[t+312>>2]=e[26110],e[t+316>>2]=A,g[t+465|0]=64&l[t+465|0]|129,r=28780;break e}for(e[t+296>>2]=353569552,e[t+300>>2]=353768980,e[t+116>>2]=5e3,e[t+104>>2]=33570920,e[t+108>>2]=14336,e[t+8>>2]=3,e[t+12>>2]=139286,e[t+100>>2]=e[t+96>>2],A=e[26113],e[t+304>>2]=e[26112],e[t+308>>
27372]=A,A=e[26115],e[t+312>>2]=e[26114],e[t+316>>2]=A,g[t+465|0]=64&l[t+465|0]|129,A=0,a=t+344|0;g[0|(s=A+a|0)]=253&l[0|s],g[0|(s=a+(1|A)|0)]=253&l[0|s],g[0|(s=a+(2|A)|0)]=253&l[0|s],g[0|(s=a+(3|A)|0)]=253&l[0|s],(0|(A=A+4|0))!=256;);g[t+442|0]=2|l[t+442|0],g[t+443|0]=2|l[t+443|0],g[t+444|0]=2|l[t+444|0],g[t+446|0]=2|l[t+446|0],g[t+447|0]=2|l[t+447|0],g[t+450|0]=2|l[t+450|0],g[t+451|0]=2|l[t+451|0],g[t+453|0]=2|l[t+453|0],g[t+454|0]=2|l[t+454|0],g[t+456|0]=2|l[t+456|0],g[t+457|0]=2|l[t+457|0],g[t+459|0]=2|l[t+459|0],g[t+460|0]=2|l[t+460|0],g[t+462|0]=2|l[t+462|0],g[t+464|0]=2|l[t+464|0],g[t+466|0]=2|l[t+466|0],e[t+144>>2]=2,e[t+68>>2]=2;break e}e[t+296>>2]=303172879,e[t+300>>2]=353768980,e[t+328>>2]=3,e[t+8>>2]=3,e[t+12>>2]=262,e[t+104>>2]=16805928,e[t+108>>2]=30,A=e[26117],e[t+304>>2]=e[26116],e[t+308>>2]=A,A=e[26119],e[t+312>>2]=e[26118],e[t+316>>2]=A,r=29295;break e}In(t),r=29301;break e}for(e[t+328>>2]=3,e[t+296>>2]=336859153,e[t+300>>2]=353768980,b[t+168>>1]=261,e[t+8>>2]=0,e[t+12>>2]=22,e[t+124>>2]=0,e[t+128>>2]=44,e[t+104>>2]=16794624,e[t+108>>2]=128,e[t+36>>2]=3,e[t+60>>2]=4,A=e[25869],e[t+304>>2]=e[25868],e[t+308>>2]=A,A=e[25871],e[t+312>>2]=e[25870],e[t+316>>2]=A,(0|r)==25459&&(e[t+108>>2]=136),g[t+465|0]=64&l[t+465|0]|129,g[t+458|0]=64&l[t+458|0]|129,A=0,a=t+344|0;g[0|(s=A+a|0)]=223&l[0|s],g[0|(s=a+(1|A)|0)]=223&l[0|s],g[0|(s=a+(2|A)|0)]=223&l[0|s],g[0|(s=a+(3|A)|0)]=223&l[0|s],(0|(A=A+4|0))!=256;);g[t+442|0]=32|l[t+442|0],g[t+444|0]=32|l[t+444|0],g[t+447|0]=32|l[t+447|0],g[t+450|0]=32|l[t+450|0],g[t+452|0]=32|l[t+452|0],g[t+453|0]=32|l[t+453|0],g[t+454|0]=32|l[t+454|0],g[t+458|0]=32|l[t+458|0],g[t+462|0]=32|l[t+462|0],g[t+463|0]=32|l[t+463|0],g[t+466|0]=32|l[t+466|0],g[t+441|0]=32|l[t+441|0],g[t+445|0]=32|l[t+445|0],g[t+449|0]=32|l[t+449|0],g[t+455|0]=32|l[t+455|0],g[t+461|0]=32|l[t+461|0],g[t+465|0]=32|l[t+465|0];break e}for(e[t+296>>2]=303174162,e[t+300>>2]=370545684,e[t+600>>2]=3456,g[t+169|0]=1,e[t+8>>2]=0,e[t+12>>2]=22,e[t+100>>2]=e[t+96>>2],A=e[25873],e[t+304>>2]=e[25872],e[t+308>>2]=A,A=e[25875],e[t+312>>2]=e[25874],e[t+316>>2]=A,VA(t+344|0,0,256),g[t+365|0]=1,g[t+366|0]=1,g[t+357|0]=1,g[t+358|0]=1,g[t+359|0]=1,g[t+360|0]=1,g[t+361|0]=1,g[t+362|0]=1,g[t+363|0]=1,g[t+364|0]=1,g[t+349|0]=1,g[t+350|0]=1,g[t+351|0]=1,g[t+352|0]=1,g[t+353|0]=1,g[t+354|0]=1,g[t+355|0]=1,g[t+356|0]=1,A=74,a=74;g[344+(s=t+a|0)|0]=1|l[s+344|0],g[s+345|0]=1|l[s+345|0],g[s+346|0]=1|l[s+346|0],(0|(a=a+3|0))!=116;);for(;g[344+(a=A+t|0)|0]=2|l[a+344|0],g[a+345|0]=2|l[a+345|0],g[a+346|0]=2|l[a+346|0],(0|(A=A+3|0))!=116;);for(a=26;g[344+(A=t+a|0)|0]=4|l[A+344|0],g[A+345|0]=4|l[A+345|0],g[A+346|0]=4|l[A+346|0],g[A+347|0]=4|l[A+347|0],g[A+348|0]=4|l[A+348|0],(0|(a=a+5|0))!=71;);e[t+112>>2]=84648,e[t+104>>2]=270589952,e[t+108>>
vendor: 45,286 bytes, line 2737
27372]=65536,e[t+40>>2]=1,e[t+204>>2]=e[t+600>>2]+74;break e}e[t+8>>2]=2,e[t+12>>2]=32,e[t+328>>2]=3,e[t+124>>2]=32,e[t+104>>2]=16864280,e[t+108>>2]=256,e[t+68>>2]=2,e[t+36>>2]=259,e[t+40>>2]=118,e[t+28>>2]=1,g[t+458|0]=128|l[t+458|0],r=29548;break e}e[t+296>>2]=370544658,e[t+300>>2]=370546196,e[t+164>>2]=130,e[t+8>>2]=0,e[t+12>>2]=86,e[t+104>>2]=87064,g[t+169|0]=1,e[t+152>>2]=3,A=e[26121],e[t+304>>2]=e[26120],e[t+308>>2]=A,A=e[26123],e[t+312>>2]=e[26122],e[t+316>>2]=A,g[t+465|0]=64&l[t+465|0]|129,r=7564650;break e}e[t+296>>2]=269487120,e[t+300>>2]=320148500,e[t+8>>2]=3,e[t+12>>2]=278,e[t+144>>2]=2,e[t+104>>2]=32872,A=e[26125],e[t+304>>2]=e[26124],e[t+308>>2]=A,A=e[26127],e[t+312>>2]=e[26126],e[t+316>>2]=A,g[t+465|0]=64&l[t+465|0]|129,r=29553;break e}e[t+296>>2]=336859152,e[t+300>>2]=353768980,e[t+8>>2]=0,e[t+144>>2]=1,e[t+104>>2]=6408,A=e[26129],e[t+304>>2]=e[26128],e[t+308>>2]=A,A=e[26131],e[t+312>>2]=e[26130],e[t+316>>2]=A,g[t+465|0]=64&l[t+465|0]|129,r=29558;break e}e[t+296>>2]=320015376,e[t+300>>2]=353768980,g[t+168|0]=4,e[t+12>>2]=22,e[t+4>>2]=1,e[t+8>>2]=2,e[t+104>>2]=1248,e[t+100>>2]=e[t+96>>2],A=e[26133],e[t+304>>2]=e[26132],e[t+308>>2]=A,A=e[26135],e[t+312>>2]=e[26134],e[t+316>>2]=A;break e}e[t+296>>2]=303174162,e[t+300>>2]=370545684,g[t+169|0]=1,e[t+8>>2]=0,e[t+12>>2]=22,e[t+112>>2]=5288,e[t+100>>2]=e[t+96>>2],A=e[25877],e[t+304>>2]=e[25876],e[t+308>>2]=A,A=e[25879],e[t+312>>2]=e[25878],e[t+316>>2]=A;p:switch(r-29793|0){default:if((0|r)!=27502){if((0|r)!=28012)break r;A=e[26137],e[t+304>>2]=e[26136],e[t+308>>2]=A,A=e[26139],e[t+312>>2]=e[26138],e[t+316>>2]=A,e[t+600>>2]=3328,e[t+296>>2]=320017171,e[t+300>>2]=320017171,e[t+104>>2]=2098176,e[t+108>>2]=131072,e[t+8>>2]=13;break r}e[t+104>>2]=1,e[t+600>>2]=3200;break r;case 4:break p;case 1:case 2:case 3:break r;case 0:break s}e[t+104>>2]=1,e[t+108>>2]=524288,e[t+600>>2]=3072;break r}e[t+328>>2]=10,e[t+296>>2]=353636370,e[t+300>>2]=336925972,g[t+173|0]=1,e[t+8>>2]=7,e[t+12>>2]=32,g[t+168|0]=2,e[t+84>>2]=1,A=e[26141],e[t+304>>2]=e[26140],e[t+308>>2]=A,e[t+104>>2]=(0|r)==24954?2118920:2114824,A=e[26143],e[t+312>>2]=e[26142],e[t+316>>2]=A;break e}Es(t),e[t+296>>2]=303173650,e[t+300>>2]=303174162,e[t+104>>2]=2131208,e[t+8>>2]=3,e[t+12>>2]=32,A=e[25865],e[t+304>>2]=e[25864],e[t+308>>2]=A,A=e[25867],e[t+312>>2]=e[25866],e[t+316>>2]=A,r=29812;break e}In(t),r=30059;break e}e[t+112>>2]=21160,e[t+104>>2]=16,e[t+600>>2]=1536,e[t+40>>2]=1;break e}e[t+296>>2]=269488144,e[t+300>>2]=370546198,e[t+8>>2]=0,e[t>>2]=33,e[t+148>>2]=1,e[t+104>>2]=12615688,e[t+16>>2]=2,e[t+100>>2]=e[t+96>>2],e[t+632>>2]=104592,e[t+604>>2]=104592,A=e[26145],e[t+304>>2]=e[26144],e[t+308>>2]=A,A=e[26147],e[t+312>>2]=e[26146],e[t+316>>2]=A,r=30313;break e}if(e[t+296>>2]=370544662,e[t+300>>2]=370546198,e[t+8>>2]=3,e[t+12>>2]=2,e[t+148>>2]=1,e[t+184>>2]=12544,b[t+170>>1]=257,e[t+176>>2]=1,g[t+172|0]=1,e[t>>2]=33,e[t+4>>2]=0,e[t+100>>2]=e[t+96>>2],A=e[26225],e[t+304>>2]=e[26224],e[t+308>>2]=A,A=e[26227],e[t+312>>2]=e[26226],e[t+316>>2]=A,(0|r)!=7959909)break e;e[t+112>>2]=24,e[t+104>>2]=1,e[t+108>>2]=1048576,r=7959909;break e}A=e[25873],e[t+304>>2]=e[25872],e[t+308>>2]=A,A=e[25875],e[t+312>>2]=e[25874],e[t+316>>2]=A,e[t+600>>2]=2944,e[t+104>>2]=2097152,e[t+108>>2]=262144,e[t+48>>2]=1}Cs(t),g[t+422|0]=2|l[t+422|0];break e}e[t+40>>2]=1}return e[t+212>>2]=r,8&(A=e[t+104>>2])&&(e[t+124>>2]=46,e[t+128>>2]=44),4&A&&(e[t+124>>2]=0),t}function dA(A){var t=0,r=0,a=0,s=0,i=0,o=0,c=0,f=0,m=0,p=0,I=0,y=0,T=0,Y=0,K=0,_=0,ce=0,he=0,ye=0,De=0,Re=0,Xe=0,aA=0,fA=0,GA=0;e:{r=e[32538],e[47354]=0,e[47568]=0,e[49828]=0,e[47569]=0,g[199328]=0,e[49827]=0,e[49845]=0,g[190280]=0,g[190268]=1,e[47202]=0,e[49573]=0,e[49846]=0,g[199304]=0,g[199388]=0,e[33691]=0,e[33285]=0,e[33708]=1,e[33709]=1,e[33288]=0,t=e[33730],e[33712]=e[33729],e[33713]=t,t=e[33732],e[33714]=e[33731],e[33715]=t,t=e[33734],e[33716]=e[33733],e[33717]=t,t=e[33736],e[33718]=e[33735],e[33719]=t,t=e[33738],e[33720]=e[33737],e[33721]=t,t=e[33740],e[33722]=e[33739],e[33723]=t,t=e[33742],e[33724]=e[33741],e[33725]=t,e[33726]=e[33743],g[134784]=0,g[134824]=0,g[134772]=0,g[134760]=0,e[33284]=-1,e[33692]=0,e[32525]=0,e[47201]=e[33717],e[47200]=e[33718],ja(),e[34438]=0,e[34437]=0,t=e[33730],e[34048]=e[33729],e[34049]=t,t=e[33732],e[34050]=e[33731],e[34051]=t,t=e[33734],e[34052]=e[33733],e[34053]=t,t=e[33736],e[34054]=e[33735],e[34055]=t,t=e[33738],e[34056]=e[33737],e[34057]=t,t=e[33740],e[34058]=e[33739],e[34059]=t,t=e[33742],e[34060]=e[33741],e[34061]=t,e[34062]=e[33743];A:{r:{if(1&r){if(e[e[32539]>>2]=0,e[47569]|e[49845]|e[49827])break r;break A}if(e[e[32539]>>2]=0,!(e[49845]|e[49827]||e[47569]))break A}g[190280]=1}e[49828]=0,t=268436735;A:if(!(!e[34391]|!e[34388])&&(e[47204]=0,e[47203]=0,e[47199]=0,e[34439]=0,(e[47192]||!(t=d0(86228)))&&((t=e[33283])||((t=It(16))&&(e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0),e[33283]=t),i=268439807,(r=e[e[47192]+328>>2])>>>0>20|!e[129104+(r<<3)>>2]?t=i:(A?(i=4,s=RA(A)+1|0):(i=2,s=0),e[t+8>>2]=i,e[t>>2]=A,e[t+12>>2]=e[129108+(r<<3)>>2],e[t+4>>2]=A?A+s|0:0,t=0),!t))){fe(0);r:{for(;;){e[34436]=0,A=e[34391],e[51290]=A,e[54046]=A+e[34390],e[50767]<=102399&&(e[50767]=102400);s:if(!((o=e[51290])>>>0>=ue[54046]))for(;;){if((((0|(A=(s=e[50757])-(c=e[50758])|0))<=0?A+170|0:A)-171|0)>=-1){if((0|(A=e[54731]))<=0)break s;i=0,e[50763]=0,e[50762]=0,e[50765]=2147483647,A=l[218920]?e[54732]:A;i:{for(;;){if(r=A-1|0,e[54732]=r,(0|A)<=0)break i;if(e[51290]=o+1,t=(A=e[51293])+1|0,e[51293]=(0|t)<=5499?t:0,t=(A=z(e[50755],b[205184+(A<<1)>>1]))>>8,g[0|o]=t,s=e[51290],e[51290]=s+1,g[0|s]=A>>>16,(s=e[50756])?(A=r,(r=e[s+4>>2])&&(pt[0|r](t<<16>>16),A=e[54732])):A=r,s=(r=e[51292])+1|0,e[51292]=s,b[205184+(r<<1)>>1]=t,(0|s)>=5500&&(e[51292]=0),o=e[51290],!(ue[54046]>=o+2>>>0))break}i=1}g[218920]=i;break s}A=e[4+(r=216192+(s<<4)|0)>>2];i:{c:{o:{u:{l:{n:{p:{C:{m:{b:{h:{E:{w:{y:{L:{W:switch((255&(t=e[r>>2]))-1|0){case 9:break o;case 7:break u;case 10:break l;case 11:break n;case 13:break p;case 0:break C;case 1:break m;case 2:break b;case 3:break h;case 6:break E;case 5:break w;case 4:break y;case 15:break L;case 8:break W;default:break c}if(!e[50759])break c;t=e[r+12>>2],r=e[r+8>>2],e[50768]=0,o=r||99232,e[50766]=o,e[50769]=A?2097152/(0|A)|0:0,A=e[50971],s=(0|z(A,e[50788]))/50|0,r=z(s-A|0,-18),A=((0|(A=e[50785]))>=101?101:A)-e[50790]|0,t=(i=r+((0|z(e[50970],l[((0|A)>0?A:0)+105680|0]))/128|0)|0)+((0|z(s,(0|(A=t>>16))<(0|(r=65535&t))?A:r))/2|0)|0,e[50770]=t,A=(i+((0|z(s,(0|A)>(0|r)?A:r))/2|0)|0)-t|0,e[50771]=A,r=l[0|o],e[33072]=e[50976],e[50767]=t+(z(A,r)>>8);break c}pt[e[e[50756]>>2]](A,e[r+8>>2]),yt(A);break c}if(l[218920]||(e[54731]=e[54731]-A),e[50781]=100,e[50773]=0,re(),e[50763]=0,e[50762]=0,e[50765]=2147483647,!A)break c;for(A=l[218920]?e[54732]:A;;){if(r=A-1|0,e[54732]=r,(0|A)<=0)break c;if(A=e[51290],e[51290]=A+1,s=(t=e[51293])+1|0,e[51293]=(0|s)<=5499?s:0,s=A,t=(A=z(e[50755],b[205184+(t<<1)>>1]))>>8,g[0|s]=t,s=e[51290],e[51290]=s+1,g[0|s]=A>>>16,(s=e[50756])?(A=r,(r=e[s+4>>2])&&(pt[0|r](t<<16>>16),A=e[54732])):A=r,s=(r=e[51292])+1|0,e[51292]=s,b[205184+(r<<1)>>1]=t,(0|s)>=5500&&(e[51292]=0),s=1,!(ue[54046]>=e[51290]+2>>>0))break}break i}for(e[50773]=0,e[54731]=e[54729],re(),t=e[r+12>>2],s=e[r+8>>2],l[218920]?A=e[54733]:e[54734]=0,c=t>>8,i=255&t,e[50762]=0,e[50763]=0;;){if(r=A-1|0,e[54733]=r,(0|A)<=0)break c;if(t=(A=e[54734])+1|0,i?o=z(i,g[A+s|0]):(o=l[A+s|0]|g[t+s|0]<<8,t=A+2|0),e[54734]=t,f=(A=e[51293])+1|0,e[51293]=f,t=(0|(A=(0|(A=((0|z(c,z(e[33037],z(e[33038],o))>>10))/32|0)+(z(e[50755],b[205184+(A<<1)>>1])>>8)|0))<=-32768?-32768:A))>=32767?32767:A,(0|f)>=5500&&(e[51293]=0),g[e[51290]]=t,g[e[51290]+1|0]=t>>>8,(o=e[50756])?(A=r,(r=e[o+12>>2])&&(pt[0|r](t<<16>>16),A=e[54733])):A=r,r=e[51290],e[51290]=r+2,f=(o=e[51292])+1|0,e[51292]=f,b[205184+(o<<1)>>1]=(0|z(t,3))/4,(0|f)>=5500&&(e[51292]=0),!(ue[54046]>=r+4>>>0))break}s=1;break i}t=e[r+12>>2],s=A>>>16|0,e[50777]=s,A&=65535,e[50773]=A,i=255&t,e[50774]=i,e[50775]=t>>8,i||(e[50777]=s<<1,e[50773]=A<<1),e[50778]=0,e[50776]=0,e[50772]=e[r+8>>2];break c}e[50773]=0}if(e[54731]=e[54729],t=e[50759],l[218920]){if(!t)break c}else{if(!t)break c;for(i=e[r+12>>2],o=e[r+8>>2],r=A>>16,e[55912]=255&r,g[218960]=1,e[55908]=0,67108864&A&&(e[55908]=3,e[55909]=e[110496+(r>>>6&12)>>2]),134217728&A&&(e[55908]=4,e[55909]=e[110512+(r>>>6&12)>>2]),A&=65504;;){if((0|c)!=(0|(s=(0|(r=s+1|0))<=169?r:0)))if((0|(r=e[216192+(s<<4)>>2]))!=3){if(r-5>>>0>1)continue}else g[218960]=0;break}for(e[55913]=e[50762],A=(A=A+32&131008)||64,e[50763]=A+e[50763],e[55684]=z(b[101997],7800)+(M[102024]<<8)<<8,e[55704]=z(b[101998],9e3)+(M[102025]<<8)<<8,T=e[50980],a=+(0|A),I=+(A>>>2|0),A=0;(0|A)!=7&&(s=b[218+(f=(r=A<<1)+t|0)>>1]<<8,c=z(A,80)+222176|0,f=b[f+164>>1],y=s+z(f,b[2+(r+o|0)>>1])<<8,e[c>>2]=y,p=+(0|y),D[c+16>>3]=p,D[c+48>>3]=16*(+(s+z(f,b[2+(r+i|0)>>1])<<8)-p)/I),s=(r=z(A,80))+222176|0,f=b[182+(y=t+(A<<1)|0)>>1],K=z(f,l[18+(c=A+o|0)|0])<<6,e[s+4>>2]=K,p=+(0|K),D[s+24>>3]=p,Y=s,s=A+i|0,D[Y+56>>3]=64*(+(z(f,l[s+18|0])<<6)-p)/a,(0|A)>(0|T)|A>>>0>5||(f=r+222176|0,K=b[y+200>>1],y=z(K,l[c+26|0])<<10,e[f+8>>2]=y,p=+(0|y),D[f+32>>3]=p,Y=f- -64|0,f=K<<10,D[Y>>3]=64*(+(0|z(f,l[s+26|0]))-p)/a,A>>>0<=2?(r=r+222176|0,c=z(f,l[c+32|0]),e[r+12>>2]=c,p=+(0|c),D[r+40>>3]=p,D[r+72>>3]=64*(+(0|z(f,l[s+32|0]))-p)/a):e[r+222188>>2]=y),(0|(A=A+1|0))!=8;);}for(;;){if(A=e[50762],!l[218960]&(0|A)==e[50763])break c;b:{h:{if(63&A){if(7&A)break b;E:if(!((0|(r=e[54736]))<=0||(0|(t=e[54735]))<=0))for(s=e[50826],A=1;;){if(e[(o=(i=A<<2)+s|0)>>2]=e[o>>2]+e[i+203312>>2],A>>>0>28|(0|A)>=(0|r))break E;if(i=(0|A)<(0|t),A=A+1|0,!i)break}if((0|(A=e[33073]))>255)break b;e[33073]=A+1;break b}if(A)if(e[50759]){if(r=e[50768]+e[50769]|0,e[50768]=r,r=(t=e[50766])?z(l[t+((0|(r>>=8))>=127?127:r)|0],e[50771])>>8:0,e[55911]=e[55911]+e[55915],t=(0|(t=e[55914]))<=23551?t:0,e[55914]=t+e[50761],t=(r+e[50770]|0)+z(e[33072],l[110528+(t>>6)|0]-128|0)|0,e[50767]=t,!(s=e[51291])&(0|(r=s?s<<12:t))>102399||(t=(0|r)<=102400?102400:r,e[50767]=t),(0|A)!=e[55913]){if(A=0,!((0|(c=e[50980]))<0)){for(;o=z(A,80),a=D[48+(r=o+222176|0)>>3]+D[r+16>>3],D[r+16>>3]=a,I=D[r+56>>3]+D[r+24>>3],D[r+24>>3]=I,p=D[r- -64>>3]+D[r+32>>3],D[r+32>>3]=p,s=Ne(a)<2147483648?~~a:-2147483648,e[r>>2]=s,s=Ne(p)<2147483648?~~p:-2147483648,e[r+8>>2]=s,i=Ne(I)<2147483648?~~I:-2147483648,e[r+4>>2]=(0|i)>0?i:0,(0|A)>2||(a=D[72+(r=o+222176|0)>>3]+D[r+40>>3],D[r+40>>3]=a,s=Ne(a)<2147483648?~~a:-2147483648),e[o+222188>>2]=s,(0|c)>=(0|(A=A+1|0)););if((0|A)>=8)break h}for(;(0|A)!=7&&(r=z(A,80)+222176|0,a=D[r+48>>3]+D[r+16>>3],D[r+16>>3]=a,s=Ne(a)<2147483648?~~a:-2147483648,e[r>>2]=s),r=z(A,80)+222176|0,a=D[r+56>>3]+D[r+24>>3],D[r+24>>3]=a,s=Ne(a)<2147483648?~~a:-2147483648,e[r+4>>2]=(0|s)>0?s:0,(0|(A=A+1|0))!=8;);}}else t=e[50767];else e[50826]=218976,e[54742]=0,e[54736]=bs(e[50767]<<4,218976,0),t=e[50767],e[54737]=890/(t>>12),e[54739]=(0|z(e[50781],z(e[50779],t>>8)))/8e4}if(e[55906]=t>>11,e[54735]=e[54736],e[55904]=z(e[50760],t>>7),e[55905]=e[50754]/(t>>12),r=1^(A=e[54742]),e[54742]=r,e[50826]=z(A,1600)+218976,e[54736]=bs(t<<4,z(r,1600)+218976|0,1),!(!(t=e[50759])|!e[51022]))for(I=D[25430],p=D[25429],A=1;e[272+(r=t+(A<<2)|0)>>2]&&(s=e[r+308>>2],r=z(A,40)+203456|0,m=Qa(I*+b[2+(z(A,80)+222176|0)>>1]),m*=a=Ft(p*+(0|s)),m+=m,D[r+8>>3]=m,a*=-a,D[r+16>>3]=a,D[r>>3]=1-m-a),(0|(A=A+1|0))!=9;);}if(i=e[50762]+1|0,e[50762]=i,o=(A=e[50765])+e[55904]|0,e[50765]=o,(0|o)<0&(0|A)>0){if(f=e[55905],t=e[50800]+((0|f)/-2|0)|0,e[55907]=t,(0|(y=e[50763]))<(0|i))break c;if(T=e[54738]+1|0,e[54738]=T,c=e[50767],!((0|(A=(r=e[50980])+1|0))>8)&&(s=c<<3,1&r&&(e[203264+(A<<2)>>2]=(1+(e[z(A,80)+222176>>2]/(0|s)|0)|0)/2,A=r+2|0),(0|r)!=7))for(;r=203264+(A<<2)|0,K=z(A,80)+222176|0,e[r>>2]=(1+(e[K>>2]/(0|s)|0)|0)/2,e[r+4>>2]=(1+(e[K+80>>2]/(0|s)|0)|0)/2,(0|(A=A+2|0))!=9;);A=(0|z(e[50781],z(e[50779],c>>8)))/8e4|0,e[54739]=A;b:if(!((0|(r=e[55908]))<=0)){switch(r-3|0){case 0:if((y-i|0)>=f<<1)break b;e[55908]=2,A=(0|z(e[55909],A))/256|0,e[54739]=A;break b;case 1:e[55908]=2,A=(0|z(e[55909],A))/256|0,e[54739]=A;break b}e[55908]=r-1}(r=e[55910])&&(s=A,A=e[55911]>>8,A=(0|z(s,l[r+((0|A)>=127?127:A)|0]))/128|0,e[54739]=A),(0|(r=e[e[32972]+92>>2]))>7||(r=15&(s=l[e[55912]+(106336+(r<<3)|0)|0]),(s=s>>>4|0)&&((0|s)!=15?(0|T)%(0|s)|0||(e[54739]=(0|z(A,r))/16):(e[55912]=0,e[54739]=(0|z(A,r))/16)))}else t=e[55907];if(i=t+1|0,e[55907]=i,r=o>>>16|0,s=0,!((0|i)<0|(0|i)>=e[50799])){if(!((0|(A=(t=e[50980])+1|0))>8)){if(c=1&(o=8-t|0),(0|t)!=7)for(f=-2&o,t=0;s=z(e[203216+(y=4+(o=A<<2)|0)>>2],b[106400+(z(r,e[y+203264>>2])>>>4&4094)>>1])+(z(e[o+203216>>2],b[106400+(z(r,e[o+203264>>2])>>>4&4094)>>1])+s|0)|0,A=A+2|0,(0|f)!=(0|(t=t+2|0)););c&&(s=z(e[203216+(A<<=2)>>2],b[106400+(z(r,e[A+203264>>2])>>>4&4094)>>1])+s|0)}s=z(l[i+132160|0],(0|s)/e[55906]|0)}if(A=1,(0|(i=e[54737]))<=0)t=r;else for(o=e[50826],t=r;s=z(e[o+(A<<2)>>2],b[106400+((65504&t)>>>4|0)>>1])+s|0,t=t+r|0,(0|i)>=(0|(A=A+1|0)););if((0|(i=e[54735]))>=(0|A))for(o=e[50826];s=s-z(e[o+(A<<2)>>2],b[106400+((65504&t)>>>4|0)>>1])|0,t=t+r|0,(0|i)>=(0|(A=A+1|0)););if(i=(0|(A=e[54728]))==64?s:z(A,s>>6),e[51022]){if(e[50759])for(r=kt(e[33209],0,1103515245,0),A=J,A=Zn(r=r+12345|0,A=r>>>0<12345?A+1|0:A),e[33209]=A,I=+((16383&A)- -8192|0),t=e[50759],o=0,A=1;(s=e[272+(t+(A<<2)|0)>>2])&&(c=e[z(A,80)+222180>>2],r=z(A,40)+203456|0,a=D[r+32>>3],p=D[r+24>>3],D[r+32>>3]=p,a=a*D[r+16>>3]+(D[r>>3]*I+p*D[r+8>>3]),D[r+24>>3]=a,r=Ne(a)<2147483648?~~a:-2147483648,o=z(r,z(s,c>>14))+o|0),(0|(A=A+1|0))!=9;);else o=0;i=i+o|0}t=0,(0|(A=e[50776]))>=e[50773]||(r=e[50778],t=e[50772],(o=e[50774])?(s=A+1|0,e[50776]=s,A=z(o,g[t+(A+r|0)|0])):(o=l[0|(t=t+(A+r|0)|0)],t=g[t+1|0],s=A+2|0,e[50776]=s,A=o|t<<8),t=(0|z(z(A,e[50780])>>10,e[50775]))/32|0,(0|(A=e[50777]))>(r+s|0)||(e[50778]=r+((0|z(A,3))/-4|0))),r=(A=e[51293])+1|0,e[51293]=r,A=((z(e[54739],i>>8)>>13)+t|0)+(z(e[50755],b[205184+(A<<1)>>1])>>8)|0,(0|r)>=5500&&(e[51293]=0),r=e[33073];b:{h:{if((0|(t=z(r,A)))>=8388608){if((0|r)>=(0|(o=8388608/(0|A)|0)))break h;break b}if((0|t)>-8388353||(0|r)<(0|(o=-8388608/(0|A)|0)))break b}r=o-1|0,e[33073]=r,t=z(A,r)}if(A=e[51290],e[51290]=A+1,r=A,A=t>>8,g[0|r]=A,r=e[51290],e[51290]=r+1,g[0|r]=t>>>16,(r=e[50756])&&(r=e[r+8>>2])&&pt[0|r](A<<16>>16),t=(r=e[51292])+1|0,e[51292]=t,b[205184+(r<<1)>>1]=A,(0|t)>=5500&&(e[51292]=0),!(ue[54046]>=e[51290]+2>>>0))break}s=1;break i}e[50773]=0}e[54731]=e[54729],s=1,c=65535&A,t=l[218920],o=e[r+8>>2],i=e[r+12>>2],a=0,p=0,q=r=q+-64|0,f=e[50759];C:if((0|(A=e[f+132>>2]))!=6){if(!t){for(A-1>>>0<=4&&(e[55921]=A,e[55964]=e[110896+(A<<2)>>2]),A=e[f+88>>2],e[54741]=1,e[55922]=(0|A)/32,t=e[50758],A=e[50757];;){m:if((0|t)!=(0|(A=(0|(A=A+1|0))<=169?A:0)))if((0|(y=e[216192+(A<<4)>>2]))!=1){if(y-5>>>0>1)continue}else{if(e[54741]=0,A=e[8+(216192+(A<<4)|0)>>2],!(M[i+4>>1]!=M[A+4>>1]|M[A+6>>1]!=M[i+6>>1]|M[A+8>>1]!=M[i+8>>1]|M[A+10>>1]!=M[i+10>>1])&&M[A+12>>1]==M[i+12>>1])break m;e[54741]=2}break}for((M[o+4>>1]!=M[113564]|M[o+6>>1]!=M[113565]|M[o+8>>1]!=M[113566]|M[o+10>>1]!=M[113567]||M[o+12>>1]!=M[113568])&&(Xi(),e[55974]=0,e[55975]=0,e[55972]=0,e[55973]=0,e[55988]=0,e[55989]=0,e[55990]=0,e[55991]=0,e[56004]=0,e[56005]=0,e[56006]=0,e[56007]=0,e[56020]=0,e[56021]=0,e[56022]=0,e[56023]=0,e[56036]=0,e[56037]=0,e[56038]=0,e[56039]=0,e[56052]=0,e[56053]=0,e[56054]=0,e[56055]=0,e[56068]=0,e[56069]=0,e[56070]=0,e[56071]=0,e[56086]=0,e[56087]=0,e[56084]=0,e[56085]=0,e[56102]=0,e[56103]=0,e[56100]=0,e[56101]=0,e[56118]=0,e[56119]=0,e[56116]=0,e[56117]=0,e[56134]=0,e[56135]=0,e[56132]=0,e[56133]=0,e[56150]=0,e[56151]=0,e[56148]=0,e[56149]=0,e[56166]=0,e[56167]=0,e[56164]=0,e[56165]=0,e[56182]=0,e[56183]=0,e[56180]=0,e[56181]=0,e[56198]=0,e[56199]=0,e[56196]=0,e[56197]=0,e[56214]=0,e[56215]=0,e[56212]=0,e[56213]=0,e[56230]=0,e[56231]=0,e[56228]=0,e[56229]=0),A=M[i+4>>1]|M[i+6>>1]<<16,t=M[i>>1]|M[i+2>>1]<<16,b[113562]=t,b[113563]=t>>>16,b[113564]=A,b[113565]=A>>>16,A=M[i+60>>1]|M[i+62>>1]<<16,t=M[i+56>>1]|M[i+58>>1]<<16,b[113590]=t,b[113591]=t>>>16,b[113592]=A,b[113593]=A>>>16,A=M[i+52>>1]|M[i+54>>1]<<16,t=M[i+48>>1]|M[i+50>>1]<<16,b[113586]=t,b[113587]=t>>>16,b[113588]=A,b[113589]=A>>>16,A=M[i+44>>1]|M[i+46>>1]<<16,t=M[i+40>>1]|M[i+42>>1]<<16,b[113582]=t,b[113583]=t>>>16,b[113584]=A,b[113585]=A>>>16,A=M[i+36>>1]|M[i+38>>1]<<16,t=M[i+32>>1]|M[i+34>>1]<<16,b[113578]=t,b[113579]=t>>>16,b[113580]=A,b[113581]=A>>>16,A=M[i+28>>1]|M[i+30>>1]<<16,t=M[i+24>>1]|M[i+26>>1]<<16,b[113574]=t,b[113575]=t>>>16,b[113576]=A,b[113577]=A>>>16,A=M[i+20>>1]|M[i+22>>1]<<16,t=M[i+16>>1]|M[i+18>>1]<<16,b[113570]=t,b[113571]=t>>>16,b[113572]=A,b[113573]=A>>>16,A=M[i+12>>1]|M[i+14>>1]<<16,t=M[i+8>>1]|M[i+10>>1]<<16,b[113566]=t,b[113567]=t>>>16,b[113568]=A,b[113569]=A>>>16,I=+(0|c),(Y=1&b[o>>1])?(A=l[o+39|0],e[56680]=A,D[28364]=A>>>0,D[28354]=+(l[i+39|0]-A<<6)/I,A=l[o+40|0],D[28366]=A>>>0,D[28356]=+(l[i+40|0]-A<<6)/I,A=l[o+41|0],e[56682]=A,D[28368]=A>>>0,D[28358]=+(l[i+41|0]-A<<6)/I,t=l[o+42|0],e[56684]=t,D[28370]=t>>>0,A=l[o+43|0],a=+(l[i+43|0]-A<<6)/I,p=+(l[i+42|0]-t<<6)/I,m=+(A>>>0)):(e[56728]=0,e[56729]=0,A=0,e[56680]=0,e[56708]=0,e[56709]=0,e[56732]=0,e[56733]=0,e[56712]=0,e[56713]=0,e[56682]=0,e[56736]=0,e[56737]=0,e[56716]=0,e[56717]=0,e[56684]=0,e[56740]=0,e[56741]=0,m=0),e[56688]=A,D[28360]=p,D[28372]=m,D[28362]=a,e[56692]=0,e[56748]=0,e[56749]=0,e[56694]=0,e[56752]=0,e[56753]=0,e[56696]=0,e[56756]=0,e[56757]=0,e[56700]=0,e[56760]=0,e[56761]=0,e[56704]=0,e[56764]=0,e[56765]=0,e[50764]=c,A=1;T=b[164+(y=(c=A<<1)+f|0)>>1],t=(De=z(A,80))+222896|0,p=+b[y+218>>1],a=.00390625*+(0|z(T,b[2+(o+c|0)>>1]))+p,D[t+16>>3]=a,K=Ne(a)<2147483648?~~a:-2147483648,e[t>>2]=K,D[t+48>>3]=64*(.00390625*+(0|z(T,b[2+(i+c|0)>>1]))+p-a)/I,A>>>0<=3&&(t=De+222896|0,a=.00390625*+b[y+200>>1]*+(l[35+(A+o|0)|0]<<1),D[t+24>>3]=a,c=Ne(a)<2147483648?~~a:-2147483648,e[t+4>>2]=c,D[t+56>>3]=64*(+(l[35+(A+i|0)|0]<<1)-a)/I),(0|(A=A+1|0))!=6;);if(a=+((A=l[o+40|0])<<1),D[27864]=a,t=e[56618],A||(a=+(0|t),D[27864]=a),A=Ne(a)<2147483648?~~a:-2147483648,e[55724]=A,c=l[i+40|0],e[55730]=0,e[55731]=1079394304,e[55738]=0,e[55739]=0,e[55725]=89,A=1,D[27868]=64*(+(0|(c?c<<1:t))-a)/I,Y)for(;t=z(A,80)+222896|0,f=l[56+(c=A+o|0)|0]<<2,e[t+12>>2]=f,a=+(0|f),D[t+40>>3]=a,f=A+i|0,D[t+72>>3]=64*(+(l[f+56|0]<<2)-a)/I,c=l[c+49|0],e[t+8>>2]=c,a=+(c>>>0),D[t+32>>3]=a,D[t- -64>>3]=64*(+l[f+49|0]-a)/I,(0|(A=A+1|0))!=7;);e[56606]=0}for(;;){if((0|(K=e[50764]))>(0|(i=e[56606]))){for(A=e[50767],e[56609]=e[55724],e[56619]=e[55725],e[56610]=e[55744],e[56611]=e[55764],e[56612]=e[55784],e[56613]=e[55804],Y=z(A,10),e[56607]=(0|Y)/4096,e[56620]=e[55745],e[56621]=e[55765],e[56622]=e[55785],e[56614]=e[55824],e[56630]=e[55746],e[56631]=e[55766],e[56632]=e[55786],e[56633]=e[55806],e[56634]=e[55826],e[56635]=e[55846],De=e[56680],e[56608]=De,o=e[56694],e[56656]=o,c=e[56696],e[56653]=c,f=e[56700],e[56655]=f,y=e[56684],e[56649]=y,e[56651]=e[56704],e[56654]=e[56688],e[56652]=e[56682],e[56650]=e[56692],A=0;t=z(A,80)+222896|0,a=D[t+48>>3]+D[t+16>>3],D[t+16>>3]=a,I=D[t+56>>3]+D[t+24>>3],D[t+24>>3]=I,p=D[t+72>>3]+D[t+40>>3],D[t+40>>3]=p,m=D[t- -64>>3]+D[t+32>>3],D[t+32>>3]=m,T=Ne(a)<2147483648?~~a:-2147483648,e[t>>2]=T,T=Ne(I)<2147483648?~~I:-2147483648,e[t+4>>2]=T,T=Ne(p)<2147483648?~~p:-2147483648,e[t+12>>2]=T,T=Ne(m)<2147483648?~~m:-2147483648,e[t+8>>2]=T,(0|(A=A+1|0))!=9;);for(a=D[28354]+D[28364],D[28364]=a,D[28366]=D[28356]+D[28366],I=D[28358]+D[28368],D[28368]=I,p=D[28360]+D[28370],D[28370]=p,m=D[28362]+D[28372],D[28372]=m,A=Ne(a)<2147483648?~~a:-2147483648,e[56680]=A,A=Ne(I)<2147483648?~~I:-2147483648,e[56682]=A,A=Ne(p)<2147483648?~~p:-2147483648,e[56684]=A,A=Ne(m)<2147483648?~~m:-2147483648,e[56688]=A,a=D[28374]+0,D[28374]=a,A=Ne(a)<2147483648?~~a:-2147483648,e[56692]=A,a=D[28376]+0,D[28376]=a,A=Ne(a)<2147483648?~~a:-2147483648,e[56694]=A,a=D[28378]+0,D[28378]=a,A=Ne(a)<2147483648?~~a:-2147483648,e[56696]=A,a=D[28380]+0,D[28380]=a,A=Ne(a)<2147483648?~~a:-2147483648,e[56700]=A,a=D[28382]+0,D[28382]=a,A=Ne(a)<2147483648?~~a:-2147483648,e[56704]=A,e[56659]=e[55724],e[56669]=e[55725],e[56660]=e[55744],e[56670]=e[55745],e[56661]=e[55764],e[56671]=e[55765],e[56662]=e[55784],e[56672]=e[55785],e[56663]=e[55804],e[56664]=e[55824],e[56665]=e[55844],A=e[50768]+e[50769]|0,e[50768]=A,A>>=8,e[50767]=e[50770]+(z(e[50771],l[e[50766]+((0|A)>=127?127:A)|0])>>8),A=K-i|0,e[55923]=(0|A)>=64?64:A,e[55961]=(0|Y)/40960,A=De-7|0,e[56658]=(0|A)>0?A:0,D[27974]=y>>>0<=87?.001*+b[111136+(y<<1)>>1]*.05:0,D[27975]=c>>>0<=87?.001*+b[111136+(c<<1)>>1]*.25:0,D[27973]=o>>>0<=87?.001*+b[111136+(o<<1)>>1]:0,D[27971]=f>>>0<=87?.001*+b[111136+(f<<1)>>1]*.05:0,a=(A=e[56629])>>>0<=87?.001*+b[111136+(A<<1)>>1]*.6:0,D[r>>3]=a,a=(A=e[56630])>>>0<=87?.001*+b[111136+(A<<1)>>1]*.4:0,D[r+8>>3]=a,a=(A=e[56631])>>>0<=87?.001*+b[111136+(A<<1)>>1]*.15:0,D[r+16>>3]=a,a=(A=e[56632])>>>0<=87?.001*+b[111136+(A<<1)>>1]*.06:0,D[r+24>>3]=a,a=(A=e[56633])>>>0<=87?.001*+b[111136+(A<<1)>>1]*.04:0,D[r+32>>3]=a,a=(A=e[56634])>>>0<=87?.001*+b[111136+(A<<1)>>1]*.022:0,D[r+40>>3]=a,a=(A=e[56635])>>>0<=87?.001*+b[111136+(A<<1)>>1]*.03:0,D[r+48>>3]=a,a=(A=(0|(A=e[56657]-3|0))<=0?57:A)>>>0<=87?.001*+b[111136+(A<<1)>>1]:0,D[27977]=a/+e[55964],I=D[27968],p=D[27967],A=1;t=223664+(i=A<<6)|0,m=(a=Ft(p*+e[48+(c=226428+(o=A<<2)|0)>>2]))*-a,D[t+216>>3]=m,a*=Qa(I*+e[c+8>>2]),a+=a,D[t+208>>3]=a,he=1-a-m,D[t+200>>3]=he,A>>>0<=5&&(c=e[208+(o=o+226428|0)>>2],t=i+223664|0,ce=(_=Ft(p*+e[o+248>>2]))*Qa(I*+(0|c)),ce+=ce,D[t+1488>>3]=ce,_*=-_,D[t+1496>>3]=_,ye=1-ce-_,D[t+1480>>3]=ye,D[t+256>>3]=.015625*(_-m),D[t+248>>3]=.015625*(ce-a),D[t+240>>3]=.015625*(ye-he)),(0|(A=A+1|0))!=10;);for(_=(a=Ft(p*+e[56619]))*-a,D[27985]=_,ce=(a*=Qa(I*+(0-e[56609]|0)))+a,D[27984]=ce,a=1-ce-_,D[27983]=a,a!=0&&(a=1/a,D[27983]=a,_*=m=-a,D[27985]=_,ce*=m,D[27984]=ce),he=(m=Ft(p*+e[56669]))*-m,D[28145]=he,ye=(m*=Qa(I*+(0-e[56659]|0)))+m,D[28144]=ye,m=1-ye-he,D[28143]=m,m!=0&&(m=1/m,D[28143]=m,he*=aA=-m,D[28145]=he,ye*=aA,D[28144]=ye),D[27990]=.015625*(he-_),D[27989]=.015625*(ye-ce),D[27988]=.015625*(m-a),A=0;o=e[8+(i=226428+(A<<2)|0)>>2],t=223664+(A<<6)|0,m=(a=Ft(p*+e[i+128>>2]))*Qa(I*+(0|o)),m+=m,D[t+848>>3]=m,a*=-a,D[t+856>>3]=a,D[t+840>>3]=D[r+(A<<3)>>3]*(1-m-a),(0|(A=A+1|0))!=7;);if(p=(a=Ft(p*+(e[55918]/2|0)))*-a,D[28137]=p,a*=Qa(0*I),a+=a,D[28136]=a,D[28135]=1-a-p,A=1,(0|qA())!=1)continue;break C}break}A=1,e[54741]>0&&(e[54741]=0,e[55963]=64,e[56606]=i+-64,e[55923]=64,(0|qA())==1)||(A=0)}else{if(q=y=q-752|0,!t){VA(A=y+376|0,0,376),Ms(f,o,A),Ms(f,i,A=VA(y,0,376)),t=e[50768]+z(e[50769],c>>>6|0)|0,e[50768]=t,t>>=8,t=e[50770]+(z(e[50771],l[e[50766]+((0|t)>=127?127:t)|0])>>8)|0,e[50767]=t,D[A+368>>3]=(0|t)/4096|0,e[50773]&&(D[A+736>>3]=D[A+736>>3]/5,D[A+360>>3]=D[A+360>>3]/5),t=e[e[56797]+4>>2],pt[e[e[t>>2]>>2]](t,A+376|0,110,110,-1,0),i=c-110|0,f=e[50758],t=e[50757];m:{for(;;){if((0|f)!=(0|(t=(t+1|0)%170|0))&&!((T=e[216192+(t<<4)>>2])-5>>>0<2)){if(o=1,(0|T)!=1)continue;break m}break}i=c-220|0,o=0}(0|i)>0&&(t=e[e[56797]+4>>2],pt[e[e[t>>2]>>2]](t,A,i,i||1,-1,0)),o||(e[A+352>>2]=0,e[A+356>>2]=0,D[A>>3]=D[A+368>>3],t=e[e[56797]+4>>2],pt[e[e[t>>2]>>2]](t,A,55,55,-1,0),e[A+360>>2]=0,e[A+364>>2]=0,t=e[e[56797]+4>>2],pt[e[e[t>>2]>>2]](t,A,55,55,-1,0))}A=e[e[56797]+8>>2],t=e[51290],c=0|pt[e[e[A>>2]>>2]](A,e[54046]-t>>>1|0,t),f=e[51290];m:if(c&&!((0|(t=e[50776]))>=(0|(De=e[50773]))))for(Re=e[50777],fA=(0|z(Re,3))/-4|0,a=.0009765625*+e[50780],T=e[50772],i=e[50778],GA=e[50775],K=e[50774],A=0;;){if(Y=l[T+(o=t+i|0)|0],K?Y=z(K,Y<<24>>24):(t=t+1|0,e[50776]=t,Y|=g[T+(o=t+i|0)|0]<<8),Y=Ne(I=a*+(0|Y))<2147483648?~~I:-2147483648,b[(Xe=f+(A<<1)|0)>>1]=M[Xe>>1]+((0|z(Y,GA))/40|0),(0|o)>=(0|Re)&&(i=i+fA|0,e[50778]=i),t=t+1|0,e[50776]=t,(0|t)>=(0|De))break m;if(!(c>>>0>(A=A+1|0)>>>0))break}A=f+(c<<1)|0,e[51290]=A,q=y+752|0,A=ue[54046]<=A>>>0}if(q=r- -64|0,A)break i;break c}e[50781]=A||100;break c}Ls(A,e[r+8>>2]);break c}A=e[r+8>>2],e[50759]=xt(203816,A,1344),e[50801]=e[A+108>>2]?105792:106064,A=(0|z(e[A+120>>2],26))/100|0,e[33038]=A,(0|(s=e[50754]))<=11e3&&(g[203300]=1,e[33038]=A<<1),e[54728]=e[50982],A=e[50979],t=e[50978],VA(205184,0,11e3),e[51293]=0,A=(t=(o=(0|(i=e[50789]))>0)?130:(0|t)>=5499?5499:t)?o?i:(0|A)>=100?100:A:0,e[50755]=A,t=(0|z(t,s))/1e3|0,e[51292]=t,e[54729]=(0|A)>20?t<<1:A?t:0,e[33037]=(0|z(500-A|0,(0|z(l[e[50797]+105596|0],(0|z(e[50787],55))/100|0))/16|0))/500,A=256,(0|(t=(0|(t=e[50785]))>=101?101:t))>=51&&(A=256+(((z(t,25)-1250&65535)>>>0)/50|0)|0),b[101990]=(0|z(b[102026],A))/256,b[101991]=(0|z(b[102027],A))/256,b[101992]=(0|z(b[102028],A))/256,b[101993]=(0|z(b[102029],A))/256,b[101994]=(0|z(b[102030],A))/256,b[101995]=(0|z(b[102031],A))/256,A=e[50790],b[101999]=(0|z(b[102035],z(A,-6)+256|0))/256,b[102e3]=(0|z(b[102036],z(A,-3)+256|0))/256,ai(8,0,e[50986],0,e[51290]),yt(e[r+8>>2]);break c}if(!e[50759])break c;t=e[r+12>>2],r=e[r+8>>2],e[55911]=0,e[55915]=A?2097152/(0|A)|0:0,e[55910]=r,A=(0|z(t,e[33037]))/16|0,e[50779]=A,e[50780]=(0|z(z(A,e[50985]),15))/100;break c}ai(t>>8,A,e[r+8>>2],e[r+12>>2],o)}s=0,A=e[50757]+1|0,e[50757]=(0|A)<=169?A:0}if(g[218920]=s,!((o=e[51290])>>>0<ue[54046]))break}i=e[34391],r=(e[51290]-i|0)/2|0,e[34439]=r+e[34439],t=e[34436],A=e[34388]+z(t,36)|0,e[A+4>>2]=0,e[A>>2]=0,e[A+24>>2]=e[34438];s:if(2&(A=e[32538])){if(o=e[34388],(-2&A)==2&&(!(r=t?o:0)|e[r>>2]!=8||(0|(r=e[r+28>>2]))!=e[34389]&&(e[34389]=r)),s=1,(0|t)<2)break s;for(;;){r=t?o+z(s,36)|0:0;i:{c:switch(0|A){case 2:case 3:if(!r|e[r>>2]!=8||(0|(r=e[r+28>>2]))==e[34389])break i;e[34389]=r;break i;case 0:break c;default:break i}(A=e[34440])?(pt[0|A](i,0,r),t=e[34436],A=e[32538]):A=0}if(!((0|(s=s+1|0))<(0|t)))break}}else if((A=e[34440])&&0|pt[0|A](i,r,e[34388]))break r;if(!bA(1)&&!(170-((0|(A=e[50757]-e[50758]|0))<=0?A+170|0:A)|0||(A=e[34388],e[A>>2]=0,e[A+4>>2]=e[34437],e[A+24>>2]=e[34438],fe(1))))break}if(t=0,2&l[130152]||!(A=e[34440])||!(0|pt[0|A](0,0,e[34388])))break A}fe(2),t=268439295}if((0|t)<=268437502){if(!t|(0|t)==268436479|(0|t)!=268437247)break e;return}}}function bA(A){var t,r=0,a=0,s=0,i=0,o=0,c=0,f=0,m=0,p=0,I=0,y=0,T=0,Y=0,K=0,_=0,ce=0,he=0,ye=0,De=0,Re=0,Xe=0;q=t=q-720|0,r=e[47198],A||(e[36443]=0,e[36442]=1,e[36444]=0,e[36440]=0,e[36441]=0,A=e[50758],e[36454]=A,e[36427]=-1,e[36424]=-1,e[36446]=0,e[36447]=0,e[36439]=-1,e[36426]=0,e[36455]=A,e[36448]=0,e[36449]=0,e[36450]=0,e[36451]=0,e[36452]=0,e[36453]=0,La(),e[36427]=-1,A=216192+(e[50758]<<4)|0,e[A>>2]=5,e[A+4>>2]=0,A=e[50758]+1|0,e[50758]=(0|A)<=169?A:0,e[36426]=0,e[36438]&&(e[36438]=0,A=216192+(e[50758]<<4)|0,e[A>>2]=14,e[A+4>>2]=0,A=e[50758]+1|0,e[50758]=(0|A)<=169?A:0));e:{A:if(!((0|(A=e[36442]))>997|e[36423]<=(0|A)))for(Y=r>>>1&1,K=t+48|4,_=t+348|0,ce=t+652|0,he=e[32322],I=e[32320],ye=t+60|0,De=t+648|0,Re=t+56|0,Xe=t+620|0,y=t- -64|0;;){if(a=145840+(A<<5)|0,!(A=e[50756])|!e[A>>2]||(e[t+12>>2]=0,cs(A=t+16|0,e[a+8>>2],a,0,t+12|0),r=$i(A),s=l[a+17|0],A=216192+(e[50758]<<4)|0,e[A>>2]=16,e[A+8>>2]=s,e[A+4>>2]=r,A=e[50758]+1|0,e[50758]=(0|A)<=169?A:0),A=1,(0|(s=(0|(r=e[50757]-e[50758]|0))<=0?r+170|0:r))<=(0|((r=l[a+17|0])?(0|r)==2?25:15:10)))break e;if(m=e[36442],2&l[0|a])for(p=2047&M[a+4>>1];;){if(s=e[36443],c=127&(r=e[198304+(s<<2)>>2])){A=r>>>8|0,e[36443]=s+1;r:{s:{switch((31&r)-2|0){case 0:Ls(96&r|8,A),Hs(2);break r;case 5:if((0|A)>=e[34064]||!e[4+(c=136272+(s=A<<4)|0)>>2])break r;pr(10,0),A=216192+(e[50758]<<4)|0,e[A>>2]=6,c=e[c+4>>2],e[A+8>>2]=e[8+(s+136272|0)>>2]+44,e[A+12>>2]=5376,e[A+4>>2]=c;break s;case 8:if((0|((0|(s=e[50757]-e[50758]|0))<=0?s+170:s))<6)break r;c=e[47353],s=216192+(e[50758]<<4)|0,e[s>>2]=778,e[s+8>>2]=A,e[s+4>>2]=c+p&16777215;break s;case 9:if((0|((0|(s=e[50757]-e[50758]|0))<=0?s+170:s))<6)break r;c=e[33284],s=216192+(e[50758]<<4)|0,e[s>>2]=1034,e[s+8>>2]=A,e[s+4>>2]=c+1&16777215;break s}pr(10,0),s=216192+(e[50758]<<4)|0,e[s>>2]=12,e[s+8>>2]=A,e[s+4>>2]=c}A=e[50758]+1|0,e[50758]=(0|A)<=169?A:0}if(!(128&r))continue}break}(A=l[a+20|0])&&(1&g[e[47192]+48|0]&l[a+17|0]==2|1&g[e[a+8>>2]+7|0]||(e[36426]=0),r=e[47353]+(2047&M[a+4>>1])|0,e[36445]=r,4&A&&((0|((0|(A=e[50757]-e[50758]|0))<=0?A+170:A))<6||(s=e[47568],A=216192+(e[50758]<<4)|0,e[A>>2]=522,e[A+8>>2]=s,e[A+4>>2]=16777215&r,A=e[50758]+1|0,e[50758]=(0|A)<=169?A:0)),1&g[a+20|0]&&(r=M[a+4>>1],s=e[36444],e[36444]=s+1,(0|((0|(A=e[50757]-e[50758]|0))<=0?A+170:A))<6||(p=e[36445],c=e[47355],A=216192+(e[50758]<<4)|0,e[A>>2]=266,e[A+8>>2]=s+c,e[A+4>>2]=16777215&p|(63488&r)<<13,A=e[50758]+1|0,e[50758]=(0|A)<=169?A:0))),(0|(A=e[36441]))>0&&(r=216192+(e[36425]<<4)|0,e[r+4>>2]||(e[r+4>>2]=A),e[36441]=0),A=m+1<<5,r=m-1<<5,!(s=l[a+18|0])|2&l[e[a+8>>2]+7|0]||pr(s,1),c=A+145840|0,i=r+145840|0,p=1;r:{s:{if(e[47198]&&(f=e[a+8>>2],l[f+10|0]!=15)){i:if(l[a+17|0]==2)switch(l[i+17|0]-3|0){case 0:case 5:break s;default:break i}p=0,cs(t+704|0,f,a,Y,0),(0|((0|(A=e[50757]-e[50758]|0))<=0?A+170:A))<6||(r=e[36445],A=216192+(e[50758]<<4)|0,e[A>>2]=1802,e[A+4>>2]=16777215&r,r=e[t+708>>2],e[A+8>>2]=e[t+704>>2],e[A+12>>2]=r,A=e[50758]+1|0,e[50758]=(0|A)<=169?A:0)}i:switch(l[a+17|0]){case 0:pr(e[a+12>>2],0),g[a+23|0]=l[e[a+8>>2]+14|0];break r;case 4:r=e[a+8>>2],(0|(A=l[c+17|0]))==2|!l[c+20|0]&(0|A)==3||(b[a>>1]=8192|M[a>>1]),2&l[r+7|0]&&(e[t+88>>2]=0,e[t+92>>2]=0,e[t+80>>2]=0,e[t+84>>2]=0,e[t+72>>2]=0,e[t+76>>2]=0,e[y>>2]=0,e[y+4>>2]=0,e[t+56>>2]=0,e[t+60>>2]=0,e[t+48>>2]=0,e[t+52>>2]=0,$t(0,1,a,t+552|0,145784),e[t+56>>2]=e[t+620>>2],e[y>>2]=e[t+640>>2],e[36424]<0&&(s=l[c+19|0],A=e[50758],e[36425]=A,e[36441]=0,e[12+(A=216192+(A<<4)|0)>>2]=s,e[A+8>>2]=0,e[A>>2]=8,e[A+4>>2]=0,A=e[50758]+1|0,e[50758]=(0|A)<=169?A:0,p=l[c+22|0],s=l[c+21|0],c=e[129280+(l[a+16|0]<<2)>>2],(0|(A=e[36424]))<0|(0|(f=e[36440]))<=0||e[4+(A=216192+(A<<4)|0)>>2]||(e[A+4>>2]=f),A=e[50758],e[36424]=A,e[36440]=0,e[(A=216192+(A<<4)|0)>>2]=9,e[A+4>>2]=0,p|=s<<16,s=(0|s)==255,e[A+12>>2]=s?3604556:p,e[A+8>>2]=s?I:c,A=e[50758]+1|0,e[50758]=(0|A)<=169?A:0),XA(r,0,t+48|0,a,0)),$t(0,0,a,t+552|0,145784),e[t+552>>2]=4|e[t+552>>2],(0|(A=e[36440]))<=0||(0|(r=e[36424]))<0||(e[4+(r=216192+(r<<4)|0)>>2]||(e[r+4>>2]=A),e[36440]=0),e[36426]=0,e[36439]=-1,e[36455]=e[50758],La(),e[36427]=-1,e[36422]=0,(A=e[t+624>>2])&&(s=A,A=e[t+644>>2],Gs(s,2,e[t+596>>2]<<1,e[t+552>>2],0,A?(A<<5)/100|0:32)),e[36426]=0;break r;case 6:$t(0,0,a,t+552|0,145784),8&l[0|a]&&(A=e[a+12>>2],(0|(r=e[36440]))<=0||(0|(s=e[36424]))<0||(e[4+(s=216192+(s<<4)|0)>>2]||(e[s+4>>2]=r),e[36440]=0),e[36426]=0,e[36439]=-1,e[36455]=e[50758],La(),e[36427]=-1,e[36422]=0,(r=e[t+624>>2])&&(s=A,A=e[t+644>>2],Gs(r,2,e[t+596>>2]<<1,e[t+552>>2],s,A?(A<<5)/100|0:32))),A=e[a+12>>2],(0|(r=e[36440]))<=0||(0|(s=e[36424]))<0||(e[4+(s=216192+(s<<4)|0)>>2]||(e[s+4>>2]=r),e[36440]=0),e[36426]=0,e[36439]=-1,e[36455]=e[50758],La(),e[36427]=-1,e[36422]=0,(r=e[t+624>>2])&&(s=A,A=e[t+644>>2],Gs(r,2,e[t+596>>2]<<1,e[t+552>>2],s,A?(A<<5)/100|0:32)),e[36426]=0;break r;case 5:s=e[a+8>>2],e[K+40>>2]=0,e[(A=K)+32>>2]=0,e[A+36>>2]=0,e[A+24>>2]=0,e[A+28>>2]=0,e[A+16>>2]=0,e[A+20>>2]=0,e[A+8>>2]=0,e[A+12>>2]=0,e[A>>2]=0,e[A+4>>2]=0,e[t+48>>2]=4;c:{o:{u:{l:switch(l[c+17|0]-2|0){case 0:r=l[a+19|0],A=e[50758],e[36425]=A,e[36441]=0,e[12+(A=216192+(A<<4)|0)>>2]=r,e[A+8>>2]=0,e[A>>2]=8,e[A+4>>2]=0,A=e[50758]+1|0,e[50758]=(0|A)<=169?A:0,r=l[a+22|0],f=l[a+21|0],p=e[129280+(l[a+16|0]<<2)>>2],(0|(A=e[36424]))<0|(0|(o=e[36440]))<=0||e[4+(A=216192+(A<<4)|0)>>2]||(e[A+4>>2]=o),A=(o=!(255&~f))?I:p,p=1;break o;case 1:break l;default:break u}if(!l[c+20|0]){r=l[c+19|0],A=e[50758],e[36425]=A,e[36441]=0,e[12+(A=216192+(A<<4)|0)>>2]=r,e[A+8>>2]=0,e[A>>2]=8,e[A+4>>2]=0,A=e[50758]+1|0,e[50758]=(0|A)<=169?A:0,r=l[c+22|0],f=l[c+21|0],p=e[129280+(l[c+16|0]<<2)>>2],(0|(A=e[36424]))<0|(0|(o=e[36440]))<=0||e[4+(A=216192+(A<<4)|0)>>2]||(e[A+4>>2]=o),A=(o=!(255&~f))?I:p,p=1;break o}}if(p=0,e[36424]>=0)break c;r=l[c+19|0],A=e[50758],e[36425]=A,e[36441]=0,e[12+(A=216192+(A<<4)|0)>>2]=r,e[A+8>>2]=0,e[A>>2]=8,e[A+4>>2]=0,A=e[50758]+1|0,e[50758]=(0|A)<=169?A:0,r=l[a+22|0],f=l[a+21|0],p=e[129280+(l[a+16|0]<<2)>>2],(0|(A=e[36424]))<0|(0|(o=e[36440]))<=0||e[4+(A=216192+(A<<4)|0)>>2]||(e[A+4>>2]=o),A=(o=!(255&~f))?I:p,p=0}T=e[50758],e[36424]=T,e[36440]=0,e[(T=216192+(T<<4)|0)>>2]=9,e[T+4>>2]=0,e[T+12>>2]=o?3604556:255&r|(255&f)<<16,e[T+8>>2]=A,A=e[50758]+1|0,e[50758]=(0|A)<=169?A:0}c:if(!(2&l[s+7|0])&l[i+17|0]!=2)8&l[0|a]&&pr(50,0);else{if($t(0,1,a,t+552|0,145784),e[t+56>>2]=e[t+620>>2],e[t+64>>2]=e[t+640>>2],XA(s,0,t+48|0,a,0),!(8&l[0|a]))break c;pr(25,1),XA(s,0,t+48|0,a,0)}c:if(p){if(e[36455]!=e[36454])break c;e[36455]=e[50758]}else b[a>>1]=8192|M[a>>1];if($t(0,0,a,t+552|0,145784),e[t+56>>2]=e[t+620>>2],e[t+64>>2]=e[t+640>>2],e[t+76>>2]=e[t+636>>2],e[t+80>>2]=e[t+656>>2],XA(s,0,t+48|0,a,0),l[a+20|0]|l[84+(145840+(m<<5)|0)|0]||((0|(A=l[c+17|0]))==7&&(pr(20,0),A=l[c+17|0]),(255&A)!=6))break r;pr(12,0);break r;case 7:c:{o:{u:{l:{n:switch((A=l[c+17|0])-2|0){case 1:break l;case 0:break n;default:break u}r=l[a+19|0],A=e[50758],e[36425]=A,e[36441]=0,e[12+(A=216192+(A<<4)|0)>>2]=r,e[A+8>>2]=0,e[A>>2]=8,e[A+4>>2]=0,A=e[50758]+1|0,e[50758]=(0|A)<=169?A:0,p=l[a+22|0],A=l[a+21|0],s=e[129280+(l[a+16|0]<<2)>>2],(0|(r=e[36424]))<0|(0|(f=e[36440]))<=0||e[4+(r=216192+(r<<4)|0)>>2]||(e[r+4>>2]=f),r=(f=!(255&~A))?I:s;break o}r=l[c+19|0],A=e[50758],e[36425]=A,e[36441]=0,e[12+(A=216192+(A<<4)|0)>>2]=r,e[A+8>>2]=0,e[A>>2]=8,e[A+4>>2]=0,A=e[50758]+1|0,e[50758]=(0|A)<=169?A:0,p=l[c+22|0],A=l[c+21|0],s=e[129280+(l[c+16|0]<<2)>>2],(0|(r=e[36424]))<0|(0|(f=e[36440]))<=0||e[4+(r=216192+(r<<4)|0)>>2]||(e[r+4>>2]=f),r=(f=!(255&~A))?I:s;break o}if(e[36424]>=0)break c;r=l[a+19|0],A=e[50758],e[36425]=A,e[36441]=0,e[12+(A=216192+(A<<4)|0)>>2]=r,e[A+8>>2]=0,e[A>>2]=8,e[A+4>>2]=0,A=e[50758]+1|0,e[50758]=(0|A)<=169?A:0,p=l[a+22|0],A=l[a+21|0],s=e[129280+(l[a+16|0]<<2)>>2],(0|(r=e[36424]))<0|(0|(f=e[36440]))<=0||e[4+(r=216192+(r<<4)|0)>>2]||(e[r+4>>2]=f),r=(f=!(255&~A))?I:s}s=e[50758],e[36424]=s,e[36440]=0,e[(s=216192+(s<<4)|0)>>2]=9,e[s+4>>2]=0,e[s+12>>2]=f?3604556:(255&A)<<16|p,e[s+8>>2]=r,A=e[50758]+1|0,e[50758]=(0|A)<=169?A:0,A=l[c+17|0]}c:{o:{u:switch((255&A)-2|0){case 1:if(l[c+20|0])break o;break;case 0:break u;default:break o}if(e[36455]!=e[36454])break c;e[36455]=e[50758];break c}b[a>>1]=8192|M[a>>1]}$t(0,0,a,t+552|0,145784),e[t+56>>2]=0,e[t+60>>2]=0,e[y>>2]=0,e[y+4>>2]=0,e[t+80>>2]=0,e[t+84>>2]=0,e[t+72>>2]=0,e[t+76>>2]=0,e[t+88>>2]=0,e[t+56>>2]=e[t+620>>2],e[y>>2]=e[t+640>>2],e[t+80>>2]=e[t+656>>2],e[t+48>>2]=0,e[t+52>>2]=0,e[t+76>>2]=e[t+636>>2],e[t+92>>2]=e[t+596>>2]<<1,8&l[0|a]&&XA(e[a+8>>2],0,t+48|0,a,0),XA(e[a+8>>2],0,t+48|0,a,0);break r;case 8:if(e[t+88>>2]=0,e[t+92>>2]=0,e[t+80>>2]=0,e[t+84>>2]=0,e[t+72>>2]=0,e[t+76>>2]=0,e[y>>2]=0,e[y+4>>2]=0,e[t+56>>2]=0,e[t+60>>2]=0,e[t+48>>2]=0,e[t+52>>2]=0,1&g[0|a]||(r=l[a+19|0],A=e[50758],e[36425]=A,e[36441]=0,e[12+(A=216192+(A<<4)|0)>>2]=r,e[A+8>>2]=0,e[A>>2]=8,e[A+4>>2]=0,A=e[50758]+1|0,e[50758]=(0|A)<=169?A:0,s=l[a+22|0],r=l[a+21|0],p=e[129280+(l[a+16|0]<<2)>>2],(0|(A=e[36424]))<0|(0|(f=e[36440]))<=0||e[4+(A=216192+(A<<4)|0)>>2]||(e[A+4>>2]=f),A=e[50758],e[36424]=A,e[36440]=0,e[(A=216192+(A<<4)|0)>>2]=9,e[A+4>>2]=0,s|=r<<16,r=(0|r)==255,e[A+12>>2]=r?3604556:s,e[A+8>>2]=r?I:p,A=e[50758]+1|0,e[50758]=(0|A)<=169?A:0),l[i+17|0]==8&&(e[36426]=0),$t(0,0,a,t+552|0,145784),e[t+56>>2]=e[t+620>>2],e[t+64>>2]=e[t+640>>2],e[t+92>>2]=e[t+596>>2]<<1,l[c+17|0]==2){e[36455]==e[36454]&&(e[36455]=e[50758]),XA(e[a+8>>2],0,t+48|0,a,0);break r}if(!(!(1&g[0|a])|l[i+17|0]!=2)){XA(e[a+8>>2],0,t+48|0,a,0);break r}e[36426]=0,XA(e[a+8>>2],0,t+48|0,a,0),e[36426]=0;break r;case 3:e[t+88>>2]=0,e[t+92>>2]=0,e[t+80>>2]=0,e[t+84>>2]=0,e[t+72>>2]=0,e[t+76>>2]=0,e[y>>2]=0,e[y+4>>2]=0,e[t+56>>2]=0,e[t+60>>2]=0,e[t+48>>2]=0,e[t+52>>2]=0,s=e[e[a+8>>2]+4>>2],1&g[0|a]||(r=l[a+19|0],A=e[50758],e[36425]=A,e[36441]=0,e[12+(A=216192+(A<<4)|0)>>2]=r,e[A+8>>2]=0,e[A>>2]=8,e[A+4>>2]=0,A=e[50758]+1|0,e[50758]=(0|A)<=169?A:0,p=l[a+22|0],r=l[a+21|0],f=e[129280+(l[a+16|0]<<2)>>2],(0|(A=e[36424]))<0|(0|(o=e[36440]))<=0||e[4+(A=216192+(A<<4)|0)>>2]||(e[A+4>>2]=o),A=e[50758],e[36424]=A,e[36440]=0,e[(A=216192+(A<<4)|0)>>2]=9,e[A+4>>2]=0,p|=r<<16,r=(0|r)==255,e[A+12>>2]=r?3604556:p,e[A+8>>2]=r?I:f,A=e[50758]+1|0,e[50758]=(0|A)<=169?A:0),l[i+17|0]==8&&(e[36426]=0),l[c+17|0]!=2|e[36455]!=e[36454]||(e[36455]=e[50758]),$t(0,0,a,t+552|0,145784),(0|(A=e[t+584>>2]-l[a+18|0]|0))>0&&pr(A,1),e[t+56>>2]=e[t+620>>2],e[t+64>>2]=e[t+640>>2],e[t+76>>2]=e[t+636>>2],e[t+80>>2]=e[t+656>>2],e[t+92>>2]=e[t+596>>2]<<1,XA(e[a+8>>2],0,t+48|0,a,s<<24>>31&5);break r;case 2:break i;default:break r}f=e[a+8>>2]}m=l[a+3|0],e[t+88>>2]=0,e[t+92>>2]=0,e[t+80>>2]=0,e[t+84>>2]=0,e[t+72>>2]=0,e[t+76>>2]=0,e[y>>2]=0,e[y+4>>2]=0,e[t+56>>2]=0,e[t+60>>2]=0,e[t+48>>2]=0,e[t+52>>2]=0,$t(0,0,a,t+552|0,145784),A=e[t+628>>2],e[t+56>>2]=A,e[t+92>>2]=e[t+596>>2]<<1;s:{if(!A||(o=0,s=De,r=ye,2&l[t+552|0])){if(l[i+17|0]?(o=0,$t(0,0,i,t+400|0,0),A=e[t+476>>2],e[t+56>>2]=A,!A|!(2&l[t+400|0])||(e[t+72>>2]=e[t+496>>2],o=1),r=e[t+512>>2],e[t+84>>2]=e[t+508>>2],e[t+88>>2]=r):o=0,A)break s;e[t+48>>2]=1,e[t+52>>2]=1,s=Xe,r=Re}e[r>>2]=e[s>>2]}e[t+64>>2]=e[t+640>>2],r=l[a+16|0],A=0,(s=l[a+7|0])?(ji(s,t+96|0),r=Vn(e[t+220>>2]),(0|(s=e[t+224>>2]))<=0||(A=Vn(s))):r=e[129280+(r<<2)>>2],e[36455]==e[36454]&&(e[36455]=e[50758]),s=(s=15&m)>>>0<2?1:s>>>0>6?3:2;s:{switch(l[i+17|0]-3|0){case 2:case 4:o=l[a+19|0],i=e[50758],e[36425]=i,e[36441]=0,e[12+(i=216192+(i<<4)|0)>>2]=o,e[i+8>>2]=A,e[i>>2]=8,e[i+4>>2]=0,A=e[50758]+1|0,e[50758]=(0|A)<=169?A:0,o=l[a+22|0],i=l[a+21|0],(0|(A=e[36440]))<=0||(0|(m=e[36424]))<0||e[4+(m=216192+(m<<4)|0)>>2]||(e[m+4>>2]=A),A=e[50758],e[36424]=A,e[36440]=0,e[(A=216192+(A<<4)|0)>>2]=9,e[A+4>>2]=0,o|=i<<16,i=(0|i)==255,e[A+12>>2]=i?3604556:o,e[A+8>>2]=i?I:r,A=e[50758]+1|0,e[50758]=(0|A)<=169?A:0,XA(f,1,t+48|0,a,s);break s;case 0:case 5:o=l[a+19|0],i=e[50758],e[36425]=i,e[36441]=0,e[12+(i=216192+(i<<4)|0)>>2]=o,e[i+8>>2]=A,e[i>>2]=8,e[i+4>>2]=0,A=e[50758]+1|0,e[50758]=(0|A)<=169?A:0,XA(f,1,t+48|0,a,s),o=l[a+22|0],i=l[a+21|0],(0|(A=e[36440]))<=0||(0|(m=e[36424]))<0||e[4+(m=216192+(m<<4)|0)>>2]||(e[m+4>>2]=A),A=e[50758],e[36424]=A,e[36440]=0,e[(A=216192+(A<<4)|0)>>2]=9,e[A+4>>2]=0,o|=i<<16,i=(0|i)==255,e[A+12>>2]=i?3604556:o,e[A+8>>2]=i?I:r,A=e[50758]+1|0,e[50758]=(0|A)<=169?A:0;break s}o?(o=l[a+22|0],(0|(i=e[36440]))<=0||(0|(m=e[36424]))<0||e[4+(m=216192+(m<<4)|0)>>2]||(e[m+4>>2]=i),i=e[50758],e[36424]=i,e[36440]=0,e[(i=216192+(i<<4)|0)>>2]=9,e[i+4>>2]=0,e[i+12>>2]=(o|o<<16)-983040,e[i+8>>2]=he,i=e[50758]+1|0,e[50758]=(0|i)<=169?i:0,o=l[a+19|0],i=e[50758],e[36425]=i,e[36441]=0,e[(i=216192+(i<<4)|0)>>2]=8,e[i+4>>2]=0,e[i+12>>2]=o-1,e[i+8>>2]=A,A=e[50758]+1|0,e[50758]=(0|A)<=169?A:0,XA(f,1,t+48|0,a,s),i=l[a+21|0],o=l[a+22|0],(0|(A=e[36440]))<=0||(0|(m=e[36424]))<0||e[4+(m=216192+(m<<4)|0)>>2]||(e[m+4>>2]=A),A=e[50758],e[36424]=A,e[36440]=0,e[(A=216192+(A<<4)|0)>>2]=9,e[A+4>>2]=0,o|=i<<16,i=(0|i)==255,e[A+12>>2]=i?3604556:o,e[A+8>>2]=i?I:r,A=e[50758]+1|0,e[50758]=(0|A)<=169?A:0):(1&g[0|a]||(o=l[a+19|0],i=e[50758],e[36425]=i,e[36441]=0,e[12+(i=216192+(i<<4)|0)>>2]=o,e[i+8>>2]=A,e[i>>2]=8,e[i+4>>2]=0,A=e[50758]+1|0,e[50758]=(0|A)<=169?A:0,o=l[a+22|0],i=l[a+21|0],(0|(A=e[36440]))<=0||(0|(m=e[36424]))<0||e[4+(m=216192+(m<<4)|0)>>2]||(e[m+4>>2]=A),A=e[50758],e[36424]=A,e[36440]=0,e[(A=216192+(A<<4)|0)>>2]=9,e[A+4>>2]=0,o|=i<<16,i=(0|i)==255,e[A+12>>2]=i?3604556:o,e[A+8>>2]=i?I:r,A=e[50758]+1|0,e[50758]=(0|A)<=169?A:0),XA(f,1,t+48|0,a,s))}!e[47198]|1^p||(cs(t+704|0,e[a+8>>2],a,Y,0),(0|((0|(A=e[50757]-e[50758]|0))<=0?A+170:A))<6||(r=e[36445],A=216192+(e[50758]<<4)|0,e[A>>2]=1802,e[A+4>>2]=16777215&r,r=e[t+708>>2],e[A+8>>2]=e[t+704>>2],e[A+12>>2]=r,A=e[50758]+1|0,e[50758]=(0|A)<=169?A:0)),e[t+56>>2]=e[t+620>>2],e[t+84>>2]=0,e[t+88>>2]=0,e[t+64>>2]=e[t+640>>2],r=e[t+632>>2],e[t+68>>2]=r,A=ce;s:{if(!r&&(!l[c+17|0]||(e[t+72>>2]=0,$t(0,0,c,t+248|0,0),e[t+52>>2]=1,A=e[t+368>>2],e[t+84>>2]=e[t+364>>2],e[t+88>>2]=A,r=e[t+328>>2],e[t+68>>2]=r,A=_,!r)))break s;e[t+72>>2]=e[A>>2]}XA(f,2,t+48|0,a,s)}if(A=e[36442]+1|0,e[36442]=A,(0|A)>997)break A;if(!(e[36423]>(0|A)))break}(0|(A=e[36440]))<=0||(0|(r=e[36424]))<0||(e[4+(r=216192+(r<<4)|0)>>2]||(e[r+4>>2]=A),e[36440]=0),e[36426]=0,e[36439]=-1,e[36455]=e[50758],La(),e[36427]=-1,A=0,e[36423]<=0||(r=e[47568],s=e[33284],(0|((0|(A=e[50757]-e[50758]|0))<=0?A+170:A))>=6&&(A=216192+(e[50758]<<4)|0,e[A>>2]=1290,e[A+8>>2]=r,e[A+4>>2]=16777215&s,A=e[50758]+1|0,e[50758]=(0|A)<=169?A:0),e[36423]=0,A=0)}return q=t+720|0,A}function NA(A,t,r,a){var s,i=0,o=0,c=0,f=0,m=0,p=0,I=0,y=0,T=0,Y=0,K=0,_=0,ce=0,he=0,ye=0,De=0,Re=0,Xe=0,aA=0,fA=0,GA=0,SA=0,At=0,ct=0,bt=0;q=s=q-48|0;e:{if(r>>>0<=2){for(GA=e[124732+(r<<=2)>>2],SA=e[r+124720>>2];(0|(r=e[t+4>>2]))==e[t+104>>2]?r=vA(t):(e[t+4>>2]=r+1,r=l[0|r]),(0|r)==32|r-9>>>0<5;);T=1;A:{r:switch(r-43|0){case 0:case 2:break r;default:break A}T=(0|r)==45?-1:1,(0|(r=e[t+4>>2]))==e[t+104>>2]?r=vA(t):(e[t+4>>2]=r+1,r=l[0|r])}A:{r:{for(;;){if(g[c+84056|0]==(32|r)){if(c>>>0>6||((0|(r=e[t+4>>2]))==e[t+104>>2]?r=vA(t):(e[t+4>>2]=r+1,r=l[0|r])),(0|(c=c+1|0))!=8)continue;break r}break}if((0|c)!=3){if((0|c)==8)break r;if(!a|c>>>0<4)break A;if((0|c)==8)break r}if((0|(r=e[t+116>>2]))>0|(0|r)>=0&&(e[t+4>>2]=e[t+4>>2]-1),!(!a|c>>>0<4))for(r=(0|r)<0;r||(e[t+4>>2]=e[t+4>>2]-1),(c=c-1|0)>>>0>3;);}q=I=q-16|0,Ee(Ye(Ye(0|T)*Ye(1/0))),(t=2147483647&(f=Z(2)))-8388608>>>0<=2130706431?(r=t,r<<=25,a=1065353216+(t=t>>>7|0)|0):(r=f<<25,a=f>>>7|2147418112,t>>>0>=2139095040||(r=0,a=0,t&&(Aa(I,r=t,0,0,0,(t=Oe(t))+81|0),p=e[I>>2],m=e[I+4>>2],r=e[I+8>>2],a=65536^e[I+12>>2]|16265-t<<16))),e[s>>2]=p,e[s+4>>2]=m,e[s+8>>2]=r,e[s+12>>2]=-2147483648&f|a,q=I+16|0,p=e[s+8>>2],m=e[s+12>>2],f=e[s>>2],y=e[s+4>>2];break e}A:{r:{s:if(!c){for(c=0;;){if(g[c+84473|0]!=(32|r))break s;if(c>>>0>1||((0|(r=e[t+4>>2]))==e[t+104>>2]?r=vA(t):(e[t+4>>2]=r+1,r=l[0|r])),(0|(c=c+1|0))==3)break}break r}switch(0|c){case 0:if((0|r)==48){if((0|(c=e[t+4>>2]))==e[t+104>>2]?c=vA(t):(e[t+4>>2]=c+1,c=l[0|c]),(-33&c)==88){q=o=q-432|0,(0|(r=e[t+4>>2]))==e[t+104>>2]?c=vA(t):(e[t+4>>2]=r+1,c=l[0|r]);s:{i:{for(;;){if((0|c)!=48){if((0|c)!=46)break s;if((0|(r=e[t+4>>2]))!=e[t+104>>2]){e[t+4>>2]=r+1,c=l[0|r];break i}break}(0|(r=e[t+4>>2]))!=e[t+104>>2]?(fA=1,e[t+4>>2]=r+1,c=l[0|r]):(fA=1,c=vA(t))}c=vA(t)}if(_=1,(0|c)==48){for(;ce=(r=ce)-1|0,he=he-!r|0,(0|(r=e[t+4>>2]))==e[t+104>>2]?c=vA(t):(e[t+4>>2]=r+1,c=l[0|r]),(0|c)==48;);fA=1}}for(y=1073676288;;){s:{r=32|c;i:{if(!((At=c-48|0)>>>0<10)){if((0|c)!=46&r-97>>>0>=6)break s;if((0|c)==46){if(_)break s;_=1,ce=p,he=m;break i}}r=(0|c)>57?r-87|0:At,(0|m)<=0&p>>>0<=7|(0|m)<0?i=r+(i<<4)|0:!m&p>>>0<=28?(Sa(o+48|0,r),FA(o+32|0,Xe,aA,f,y,0,0,0,1073414144),Xe=e[o+32>>2],aA=e[o+36>>2],f=e[o+40>>2],y=e[o+44>>2],FA(o+16|0,e[o+48>>2],e[o+52>>2],e[o+56>>2],e[o+60>>2],Xe,aA,f,y),Yr(o,e[o+16>>2],e[o+20>>2],e[o+24>>2],e[o+28>>2],I,K,De,Re),De=e[o+8>>2],Re=e[o+12>>2],I=e[o>>2],K=e[o+4>>2]):Y|!r||(FA(o+80|0,Xe,aA,f,y,0,0,0,1073610752),Yr(o- -64|0,e[o+80>>2],e[o+84>>2],e[o+88>>2],e[o+92>>2],I,K,De,Re),De=e[o+72>>2],Re=e[o+76>>2],Y=1,I=e[o+64>>2],K=e[o+68>>2]),m=(p=p+1|0)?m:m+1|0,fA=1}(0|(r=e[t+4>>2]))!=e[t+104>>2]?(e[t+4>>2]=r+1,c=l[0|r]):c=vA(t);continue}break}s:if(fA){if((0|m)<=0&p>>>0<=7|(0|m)<0)for(f=p,y=m;i<<=4,(0|(f=f+1|0))!=8|(y=f?y:y+1|0););i:{c:{o:{if((-33&c)==80){if(f=xi(t,a),y=r=J,f|(0|r)!=-2147483648)break i;if(a){if((0|(r=e[t+116>>2]))>0|(0|r)>=0)break o;break c}I=0,K=0,es(t,0,0),r=0,t=0;break s}if(f=0,y=0,e[t+116>>2]<0)break i}e[t+4>>2]=e[t+4>>2]-1}f=0,y=0}if(i)if(r=f+((t=_?ce:p)<<2)|0,t=(m=(_?he:m)<<2|t>>>30)+y|0,(p=r-32|0)>>>0>0-GA>>>0&(0|(t=m=(r>>>0<f>>>0?t+1|0:t)-(r>>>0<32)|0))>=0|(0|t)>0)e[56798]=68,Sa(o+160|0,T),FA(o+144|0,e[o+160>>2],e[o+164>>2],e[o+168>>2],e[o+172>>2],-1,-1,-1,2147418111),FA(o+128|0,e[o+144>>2],e[o+148>>2],e[o+152>>2],e[o+156>>2],-1,-1,-1,2147418111),I=e[o+128>>2],K=e[o+132>>2],r=e[o+140>>2],t=e[o+136>>2];else if((0|m)>=(0|(r=(t=GA-226|0)>>31))&t>>>0<=p>>>0|(0|r)<(0|m)){if((0|i)>=0)for(;Yr(o+416|0,I,K,De,Re,0,0,0,-1073807360),Yr(o+400|0,I,K,De,Re,(t=r=(0|(t=h0(I,K,De,Re,1073610752)))>=0)?e[o+416>>2]:I,t?e[o+420>>2]:K,t?e[o+424>>2]:De,t?e[o+428>>2]:Re),p=(t=p)-1|0,m=m-!t|0,De=e[o+408>>2],Re=e[o+412>>2],I=e[o+400>>2],K=e[o+404>>2],(0|(i=r|i<<1))>=0;);t=m-((GA>>31)+(p>>>0<GA>>>0)|0)|0,(0|(r=(r=32+(p-GA|0)|0)>>>0<SA>>>0&(0|(t=r>>>0<32?t+1|0:t))<=0|(0|t)<0?(0|r)>0?r:0:SA))>=113?(Sa(o+384|0,T),ce=e[o+392>>2],he=e[o+396>>2],Xe=e[o+384>>2],aA=e[o+388>>2],f=0,t=0):(Hr(o+352|0,js(1,144-r|0)),Sa(o+336|0,T),Xe=e[o+336>>2],aA=e[o+340>>2],ce=e[o+344>>2],he=e[o+348>>2],Yn(o+368|0,e[o+352>>2],e[o+356>>2],e[o+360>>2],e[o+364>>2],Xe,aA,ce,he),ye=e[o+376>>2],ct=e[o+380>>2],f=e[o+372>>2],t=e[o+368>>2]),ni(o+320|0,(a=!(1&i)&!!(0|pA(I,K,De,Re,0,0,0,0))&(0|r)<32)+i|0),FA(o+304|0,Xe,aA,ce,he,e[o+320>>2],e[o+324>>2],e[o+328>>2],e[o+332>>2]),r=t,Yr(o+272|0,e[o+304>>2],e[o+308>>2],e[o+312>>2],e[o+316>>2],t,f,ye,ct),FA(o+288|0,Xe,aA,ce,he,(t=a)?0:I,t?0:K,t?0:De,t?0:Re),Yr(o+256|0,e[o+288>>2],e[o+292>>2],e[o+296>>2],e[o+300>>2],e[o+272>>2],e[o+276>>2],e[o+280>>2],e[o+284>>2]),Ki(o+240|0,e[o+256>>2],e[o+260>>2],e[o+264>>2],e[o+268>>2],r,f,ye,ct),pA(t=e[o+240>>2],a=e[o+244>>2],r=e[o+248>>2],f=e[o+252>>2],0,0,0,0)||(e[56798]=68),jt(o+224|0,t,a,r,f,p),I=e[o+224>>2],K=e[o+228>>2],r=e[o+236>>2],t=e[o+232>>2]}else e[56798]=68,Sa(o+208|0,T),FA(o+192|0,e[o+208>>2],e[o+212>>2],e[o+216>>2],e[o+220>>2],0,0,0,65536),FA(o+176|0,e[o+192>>2],e[o+196>>2],e[o+200>>2],e[o+204>>2],0,0,0,65536),I=e[o+176>>2],K=e[o+180>>2],r=e[o+188>>2],t=e[o+184>>2];else Hr(o+112|0,0*+(0|T)),I=e[o+112>>2],K=e[o+116>>2],r=e[o+124>>2],t=e[o+120>>2]}else{i:{c:{if((0|(r=e[t+116>>2]))>0|(0|r)>=0){if(r=e[t+4>>2],e[t+4>>2]=r-1,!a)break c;if(e[t+4>>2]=r-2,!_)break i;e[t+4>>2]=r-3;break i}
2737if(a)break i}es(t,0,0)}Hr(o+96|0,0*+(0|T)),I=e[o+96>>2],K=e[o+100>>2],r=e[o+108>>2],t=e[o+104>>2]}e[s+16>>2]=I,e[s+20>>2]=K,e[s+24>>2]=t,e[s+28>>2]=r,q=o+432|0,p=e[s+24>>2],m=e[s+28>>2],f=e[s+16>>2],y=e[s+20>>2];break e}e[t+116>>2]<0||(e[t+4>>2]=e[t+4>>2]-1)}c=t,ye=T,o=a,t=0,T=0,q=i=q-8976|0,ct=(At=0-GA|0)-SA|0;s:{i:{for(;;){if((0|r)!=48){if((0|r)!=46)break s;if((0|(r=e[c+4>>2]))!=e[c+104>>2]){e[c+4>>2]=r+1,r=l[0|r];break i}break}(0|(t=e[c+4>>2]))!=e[c+104>>2]?(e[c+4>>2]=t+1,r=l[0|t]):r=vA(c),t=1}r=vA(c)}if(Y=1,(0|r)==48){for(;p=(t=p)-1|0,m=m-!t|0,(0|(t=e[c+4>>2]))==e[c+104>>2]?r=vA(c):(e[c+4>>2]=t+1,r=l[0|t]),(0|r)==48;);t=1}}e[i+784>>2]=0;s:{i:{c:{o:{u:{if((a=(0|r)==46)|(I=r-48|0)>>>0<=9)for(;;){l:{if(1&a){if(!Y){p=f,m=y,Y=1;break l}a=!t;break u}y=(f=f+1|0)?y:y+1|0,(0|T)<=2044?(fA=(0|r)==48?fA:f,t=(i+784|0)+(T<<2)|0,_&&(I=(z(e[t>>2],10)+r|0)-48|0),e[t>>2]=I,t=1,_=(r=(0|(a=_+1|0))==9)?0:a,T=r+T|0):(0|r)!=48&&(e[i+8960>>2]=1|e[i+8960>>2],fA=18396)}if((0|(r=e[c+4>>2]))==e[c+104>>2]?r=vA(c):(e[c+4>>2]=r+1,r=l[0|r]),!((a=(0|r)==46)|(I=r-48|0)>>>0<10))break}if(p=Y?p:f,m=Y?m:y,!(!t|(-33&r)!=69)){if(I=xi(c,o),K=t=J,!(I|(0|t)!=-2147483648)){if(!o)break c;I=0,K=0,e[c+116>>2]<0||(e[c+4>>2]=e[c+4>>2]-1)}m=m+K|0,m=(p=p+I|0)>>>0<I>>>0?m+1|0:m;break i}if(a=!t,(0|r)<0)break o}e[c+116>>2]<0||(e[c+4>>2]=e[c+4>>2]-1)}if(!a)break i;e[56798]=28}f=0,y=0,es(c,0,0),r=0,t=0;break s}if(t=e[i+784>>2])if(f>>>0>9&(0|y)>=0|(0|y)>0|(0|f)!=(0|p)|(0|m)!=(0|y)|(t>>>SA|0?(0|SA)<=30:0))if(p>>>0>At>>>1>>>0&(0|m)>=0|(0|m)>0)e[56798]=68,Sa(i+96|0,ye),FA(i+80|0,e[i+96>>2],e[i+100>>2],e[i+104>>2],e[i+108>>2],-1,-1,-1,2147418111),FA(i- -64|0,e[i+80>>2],e[i+84>>2],e[i+88>>2],e[i+92>>2],-1,-1,-1,2147418111),f=e[i+64>>2],y=e[i+68>>2],r=e[i+76>>2],t=e[i+72>>2];else if((r=p>>>0<(t=GA-226|0)>>>0)&(0|m)<=(0|(t>>=31))|(0|t)>
vendor: 20,086 bytes, line 2737
2737(0|m))e[56798]=68,Sa(i+144|0,ye),FA(i+128|0,e[i+144>>2],e[i+148>>2],e[i+152>>2],e[i+156>>2],0,0,0,65536),FA(i+112|0,e[i+128>>2],e[i+132>>2],e[i+136>>2],e[i+140>>2],0,0,0,65536),f=e[i+112>>2],y=e[i+116>>2],r=e[i+124>>2],t=e[i+120>>2];else{if(_){if((0|_)<=8){for(c=e[(t=(i+784|0)+(T<<2)|0)>>2];c=z(c,10),(0|(_=_+1|0))!=9;);e[t>>2]=c}T=T+1|0}if(Y=p,!((0|fA)>(0|p)|(0|fA)>=9|(0|p)>17)){if((0|Y)==9){Sa(i+192|0,ye),ni(i+176|0,e[i+784>>2]),FA(i+160|0,e[i+192>>2],e[i+196>>2],e[i+200>>2],e[i+204>>2],e[i+176>>2],e[i+180>>2],e[i+184>>2],e[i+188>>2]),f=e[i+160>>2],y=e[i+164>>2],r=e[i+172>>2],t=e[i+168>>2];break s}if((0|Y)<=8){Sa(i+272|0,ye),ni(i+256|0,e[i+784>>2]),FA(i+240|0,e[i+272>>2],e[i+276>>2],e[i+280>>2],e[i+284>>2],e[i+256>>2],e[i+260>>2],e[i+264>>2],e[i+268>>2]),Sa(i+224|0,e[124720+(0-Y<<2)>>2]),Vr(i+208|0,e[i+240>>2],e[i+244>>2],e[i+248>>2],e[i+252>>2],e[i+224>>2],e[i+228>>2],e[i+232>>2],e[i+236>>2]),f=e[i+208>>2],y=e[i+212>>2],r=e[i+220>>2],t=e[i+216>>2];break s}if(t=27+(z(Y,-3)+SA|0)|0,!((r=e[i+784>>2])>>>t|0&&(0|t)<=30)){Sa(i+352|0,ye),ni(i+336|0,r),FA(i+320|0,e[i+352>>2],e[i+356>>2],e[i+360>>2],e[i+364>>2],e[i+336>>2],e[i+340>>2],e[i+344>>2],e[i+348>>2]),Sa(i+304|0,e[124648+(Y<<2)>>2]),FA(i+288|0,e[i+320>>2],e[i+324>>2],e[i+328>>2],e[i+332>>2],e[i+304>>2],e[i+308>>2],e[i+312>>2],e[i+316>>2]),f=e[i+288>>2],y=e[i+292>>2],r=e[i+300>>2],t=e[i+296>>2];break s}}for(;!e[(i+784|0)+((T=(r=T)-1|0)<<2)>>2];);if(_=0,t=(0|Y)%9|0){if(a=0,t=(0|Y)<0?t+9|0:t,r){for(m=1e9/(0|(p=e[124720+(0-t<<2)>>2]))|0,I=0,c=0;f=(f=I)+(T=((y=e[(I=(i+784|0)+(c<<2)|0)>>2])>>>0)/(p>>>0)|0)|0,e[I>>2]=f,a=(f=!f&(0|a)==(0|c))?a+1&2047:a,Y=f?Y-9|0:Y,I=z(m,y-z(p,T)|0),(0|(c=c+1|0))!=(0|r););I&&(e[(i+784|0)+(r<<2)>>2]=I,r=r+1|0)}else r=0;Y=9+(Y-t|0)|0}else a=0;for(;;){c=(i+784|0)+(a<<2)|0;i:{for(;;){if(((0|Y)!=36|ue[c>>2]>=10384593)&(0|Y)>=36)break i;for(T=r+2047|0,I=0,t=r;r=t,p=I,I=(t=e[(T=(i+784|0)+((f=2047&T)<<2)|0)>>2])<<29,t=y=t>>>3|0,!(m=(p=p+I|0)>>>0<I>>>0?t+1|0:t)&p>>>0<1000000001?I=0:p=(t=p)-kt(I=di(t,m,1e9),J,1e9,0)|0,e[T>>2]=p,t=(0|f)!=(r-1&2047)||(0|a)==(0|f)||p?r:f,T=f-1|0,(0|a)!=(0|f););if(_=_-29|0,I)break}(0|(a=a-1&2047))==(0|t)&&(c=r=(p=i+784|0)+((t+2046&2047)<<2)|0,m=e[r>>2],r=t-1&2047,e[c>>2]=m|e[p+(r<<2)>>2]),Y=Y+9|0,e[(i+784|0)+(a<<2)>>2]=I;continue}break}i:{c:for(;;){for(p=r+1&2047,I=(i+784|0)+((r-1&2047)<<2)|0;;){f=(0|Y)>45?9:1;o:{for(;;){t=a,c=0;u:{for(;;){if((0|(a=t+c&2047))!=(0|r)&&!((a=e[(i+784|0)+(a<<2)>>2])>>>0<(m=e[124672+(c<<2)>>2])>>>0)){if(a>>>0>m>>>0)break u;if((0|(c=c+1|0))!=4)continue}break}if((0|Y)==36){for(p=0,m=0,c=0,f=0,y=0;(0|(a=t+c&2047))==(0|r)&&(e[780+(i+((r=r+1&2047)<<2)|0)>>2]=0),ni(i+768|0,e[(i+784|0)+(a<<2)>>2]),FA(i+752|0,p,m,f,y,0,0,1342177280,1075633366),Yr(i+736|0,e[i+752>>2],e[i+756>>2],e[i+760>>2],e[i+764>>2],e[i+768>>2],e[i+772>>2],e[i+776>>2],e[i+780>>2]),f=e[i+744>>2],y=e[i+748>>2],p=e[i+736>>2],m=e[i+740>>2],(0|(c=c+1|0))!=4;);if(Sa(i+720|0,ye),FA(i+704|0,p,m,f,y,e[i+720>>2],e[i+724>>2],e[i+728>>2],e[i+732>>2]),f=e[i+712>>2],y=e[i+716>>2],p=0,m=0,I=e[i+704>>2],K=e[i+708>>2],(0|(a=(T=(0|(c=(o=_+113|0)-GA|0))<(0|SA))?(0|c)>0?c:0:SA))<=112)break o;break i}}if(_=f+_|0,a=r,(0|t)!=(0|r))break}for(y=1e9>>>f|0,T=~(-1<<f),c=0,a=t;m=(m=c)+((o=e[(c=(i+784|0)+(t<<2)|0)>>2])>>>f|0)|0,e[c>>2]=m,a=(m=!m&(0|t)==(0|a))?a+1&2047:a,Y=m?Y-9|0:Y,c=z(y,o&T),(0|r)!=(0|(t=t+1&2047)););if(!c)continue;if((0|a)!=(0|p)){e[(i+784|0)+(r<<2)>>2]=c,r=p;continue c}e[I>>2]=1|e[I>>2];continue}break}break}Hr(i+656|0,js(1,225-a|0)),Yn(i+688|0,e[i+656>>2],e[i+660>>2],e[i+664>>2],e[i+668>>2],I,K,f,y),Xe=e[i+696>>2],aA=e[i+700>>2],De=e[i+688>>2],Re=e[i+692>>2],Hr(i+640|0,js(1,113-a|0)),wi(i+672|0,I,K,f,y,e[i+640>>2],e[i+644>>2],e[i+648>>2],e[i+652>>2]),Ki(i+624|0,I,K,f,y,p=e[i+672>>2],m=e[i+676>>2],ce=e[i+680>>2],he=e[i+684>>2]),Yr(i+608|0,De,Re,Xe,aA,e[i+624>>2],e[i+628>>2],e[i+632>>2],e[i+636>>2]),f=e[i+616>>2],y=e[i+620>>2],I=e[i+608>>2],K=e[i+612>>2]}if((0|(Y=t+4&2047))!=(0|r)){i:if((Y=e[(i+784|0)+(Y<<2)>>2])>>>0<=499999999){if(!Y&(t+5&2047)==(0|r))break i;Hr(i+496|0,.25*+(0|ye)),Yr(i+480|0,p,m,ce,he,e[i+496>>2],e[i+500>>2],e[i+504>>2],e[i+508>>2]),ce=e[i+488>>2],he=e[i+492>>2],p=e[i+480>>2],m=e[i+484>>2]}else(0|Y)==5e8?(bt=+(0|ye),(t+5&2047)!=(0|r)?(Hr(i+560|0,.75*bt),Yr(i+544|0,p,m,ce,he,e[i+560>>2],e[i+564>>2],e[i+568>>2],e[i+572>>2]),ce=e[i+552>>2],he=e[i+556>>2],p=e[i+544>>2],m=e[i+548>>2]):(Hr(i+528|0,.5*bt),Yr(i+512|0,p,m,ce,he,e[i+528>>2],e[i+532>>2],e[i+536>>2],e[i+540>>2]),ce=e[i+520>>2],he=e[i+524>>2],p=e[i+512>>2],m=e[i+516>>2])):(Hr(i+592|0,.75*+(0|ye)),Yr(i+576|0,p,m,ce,he,e[i+592>>2],e[i+596>>2],e[i+600>>2],e[i+604>>2]),ce=e[i+584>>2],he=e[i+588>>2],p=e[i+576>>2],m=e[i+580>>2]);(0|a)>111||(wi(i+464|0,p,m,ce,he,0,0,0,1073676288),pA(e[i+464>>2],e[i+468>>2],e[i+472>>2],e[i+476>>2],0,0,0,0)||(Yr(i+448|0,p,m,ce,he,0,0,0,1073676288),ce=e[i+456>>2],he=e[i+460>>2],p=e[i+448>>2],m=e[i+452>>2]))}Yr(i+432|0,I,K,f,y,p,m,ce,he),Ki(i+416|0,e[i+432>>2],e[i+436>>2],e[i+440>>2],e[i+444>>2],De,Re,Xe,aA),f=e[i+424>>2],y=e[i+428>>2],I=e[i+416>>2],K=e[i+420>>2],(ct-2|0)>=(2147483647&o)||(e[i+408>>2]=f,e[i+412>>2]=2147483647&y,e[i+400>>2]=I,e[i+404>>2]=K,FA(i+384|0,I,K,f,y,0,0,0,1073610752),f=(t=(0|(t=h0(e[i+400>>2],e[i+404>>2],e[i+408>>2],e[i+412>>2],1081081856)))>=0)?e[i+392>>2]:f,y=t?e[i+396>>2]:y,I=t?e[i+384>>2]:I,K=t?e[i+388>>2]:K,_=t+_|0,!(!!(0|pA(p,m,ce,he,0,0,0,0))&(t?T&(0|a)!=(0|c):T))&(_+110|0)<=(0|ct)||(e[56798]=68)),jt(i+368|0,I,K,f,y,_),f=e[i+368>>2],y=e[i+372>>2],r=e[i+380>>2],t=e[i+376>>2]}else Sa(i+48|0,ye),ni(i+32|0,t),FA(i+16|0,e[i+48>>2],e[i+52>>2],e[i+56>>2],e[i+60>>2],e[i+32>>2],e[i+36>>2],e[i+40>>2],e[i+44>>2]),f=e[i+16>>2],y=e[i+20>>2],r=e[i+28>>2],t=e[i+24>>2];else Hr(i,0*+(0|ye)),f=e[i>>2],y=e[i+4>>2],r=e[i+12>>2],t=e[i+8>>2]}e[s+40>>2]=t,e[s+44>>2]=r,e[s+32>>2]=f,e[s+36>>2]=y,q=i+8976|0,p=e[s+40>>2],m=e[s+44>>2],f=e[s+32>>2],y=e[s+36>>2];break e;case 3:break r}(0|(r=e[t+116>>2]))>0|(0|r)>=0&&(e[t+4>>2]=e[t+4>>2]-1);break A}if((0|(r=e[t+4>>2]))==e[t+104>>2]?r=vA(t):(e[t+4>>2]=r+1,r=l[0|r]),(0|r)!=40){if(m=2147450880,e[t+116>>2]<0)break e;e[t+4>>2]=e[t+4>>2]-1;break e}for(c=1;(0|(r=e[t+4>>2]))==e[t+104>>2]?r=vA(t):(e[t+4>>2]=r+1,r=l[0|r]),r-48>>>0<10|r-65>>>0<26|(0|r)==95||!(r-97>>>0>=26);)c=c+1|0;if(m=2147450880,(0|r)==41)break e;(0|(r=e[t+116>>2]))>0|(0|r)>=0&&(e[t+4>>2]=e[t+4>>2]-1);r:{if(a){if(c)break r;break e}break A}for(;c=c-1|0,(0|r)>0|(0|r)>=0&&(e[t+4>>2]=e[t+4>>2]-1),c;);break e}e[56798]=28,es(t,0,0)}m=0}e[A>>2]=f,e[A+4>>2]=y,e[A+8>>2]=p,e[A+12>>2]=m,q=s+48|0}function XA(A,t,r,a,s){var i,o=0,c=0,f=0,m=0,p=0,I=0,y=0,T=0,Y=0,K=0,_=0,ce=0,he=0,ye=0,De=0,Re=0,Xe=0,aA=0,fA=0,GA=0,SA=0;if(q=i=q-112|0,e[r+8>>2]){GA=e[50754]/70|0,K=(I=e[a+12>>2])||256;e:if((0|t)!=2){if((0|t)==1){A:if(l[A+11|0]!=3)switch(l[a-15|0]-3|0){case 0:case 5:break A;default:break e}K=(0|(I=e[e[47192]+44>>2]))<(0|K)?K:I}}else{if((0|(I=e[e[47192]+80>>2]))<=0|!(8&l[0|a]|I>>>0<=l[A+14|0]|32&l[A+6|0]))break e;GA<<=1}if(e[36436]=0,he=A,SA=t,p=a,q=Y=q-16|0,A=e[34460]+e[r+8>>2]|0,t=(t=l[A+2|0])>>>0>=24?24:t,e[Y+12>>2]=t,c=e[r+12>>2]+e[r+24>>2]|0,e[36422]=c,t){for(I=A+4|0,o=1&b[A+4>>1];A=145488+(m<<3)|0,a=I+(o?m<<6:z(m,44))|0,e[A+4>>2]=a,T=M[a>>1],b[A+2>>1]=T,b[A>>1]=l[a+16|0],f=2&T?m:f,(0|(m=m+1|0))!=(0|t););I=145488,(0|f)<=0||((0|SA)!=1?(t=t-f|0,e[Y+12>>2]=t,I=145488+(f<<3)|0):(t=f+1|0,e[Y+12>>2]=t,I=145488))}else t=0,I=145488;if(!(!e[r+4>>2]|e[r+20>>2]|l[he+11|0]!=2)){if(o=e[r+36>>2],a=e[r+40>>2],A=0,(0|(t=e[Y+12>>2]))>=2){f=o>>>12|0,T=a>>>26&7,ye=a>>>18&248,_=z(ce=63&a,50),Re=63&(Xe=o>>>6|0),m=o<<1&126,aA=z(a>>>16&31,50)-750|0,fA=z(a>>>11&31,50)-750|0,De=z(a>>>6&31,50)-750|0;e:{A:if((0|SA)!=1){if(!(f|ce))break e;if(8&f?(t=e[4+(I+((c=t-1|0)<<3)|0)>>2],b[t>>1]<0?A=t:(A=(0|(A=e[44469]+1|0))<=169?A:0,e[44469]=A,c=M[t+20>>1]|M[t+22>>1]<<16,A=177888+(A<<6)|0,o=M[t+16>>1]|M[t+18>>1]<<16,b[A+16>>1]=o,b[A+18>>1]=o>>>16,b[A+20>>1]=c,b[A+22>>1]=c>>>16,c=M[t+4>>1]|M[t+6>>1]<<16,o=M[t>>1]|M[t+2>>1]<<16,b[A>>1]=o,b[A+2>>1]=o>>>16,b[A+4>>1]=c,b[A+6>>1]=c>>>16,c=M[t+12>>1]|M[t+14>>1]<<16,o=M[t+8>>1]|M[t+10>>1]<<16,b[A+8>>1]=o,b[A+10>>1]=o>>>16,b[A+12>>1]=c,b[A+14>>1]=c>>>16,c=M[t+28>>1]|M[t+30>>1]<<16,o=M[t+24>>1]|M[t+26>>1]<<16,b[A+24>>1]=o,b[A+26>>1]=o>>>16,b[A+28>>1]=c,b[A+30>>1]=c>>>16,c=M[t+36>>1]|M[t+38>>1]<<16,o=M[t+32>>1]|M[t+34>>1]<<16,b[A+32>>1]=o,b[A+34>>1]=o>>>16,b[A+36>>1]=c,b[A+38>>1]=c>>>16,c=M[t+44>>1]|M[t+46>>1]<<16,o=M[t+40>>1]|M[t+42>>1]<<16,b[A+40>>1]=o,b[A+42>>1]=o>>>16,b[A+44>>1]=c,b[A+46>>1]=c>>>16,c=M[t+52>>1]|M[t+54>>1]<<16,o=M[t+48>>1]|M[t+50>>1]<<16,b[A+48>>1]=o,b[A+50>>1]=o>>>16,b[A+52>>1]=c,b[A+54>>1]=c>>>16,c=M[t+60>>1]|M[t+62>>1]<<16,t=M[t+56>>1]|M[t+58>>1]<<16,b[A+56>>1]=t,b[A+58>>1]=t>>>16,b[A+60>>1]=c,b[A+62>>1]=c>>>16,g[A+16|0]=0,b[A>>1]=32768|M[A>>1],c=e[Y+12>>2]-1|0),e[4+(I+(c<<3)|0)>>2]=A,t=1792,(0|(c=b[A+4>>1]))<300||(t=1536,c>>>0<400||(t=c>>>0<500?1280:1024)),e[36436]=t,o=35):(e[Y+12>>2]=t+1,b[(A=(c=I+(t<<3)|0)-8|0)>>1]=m,t=e[A+4>>2],A=(0|(A=e[44469]+1|0))<=169?A:0,e[44469]=A,(A=177888+(Xe=A<<6)|0)&&(o=M[t+4>>1]|M[t+6>>1]<<16,y=M[t>>1]|M[t+2>>1]<<16,b[A>>1]=y,b[A+2>>1]=y>>>16,b[A+4>>1]=o,b[A+6>>1]=o>>>16,o=M[t+60>>1]|M[t+62>>1]<<16,y=M[t+56>>1]|M[t+58>>1]<<16,b[A+56>>1]=y,b[A+58>>1]=y>>>16,b[A+60>>1]=o,b[A+62>>1]=o>>>16,o=M[t+52>>1]|M[t+54>>1]<<16,y=M[t+48>>1]|M[t+50>>1]<<16,b[A+48>>1]=y,b[A+50>>1]=y>>>16,b[A+52>>1]=o,b[A+54>>1]=o>>>16,o=M[t+44>>1]|M[t+46>>1]<<16,y=M[t+40>>1]|M[t+42>>1]<<16,b[A+40>>1]=y,b[A+42>>1]=y>>>16,b[A+44>>1]=o,b[A+46>>1]=o>>>16,o=M[t+36>>1]|M[t+38>>1]<<16,y=M[t+32>>1]|M[t+34>>1]<<16,b[A+32>>1]=y,b[A+34>>1]=y>>>16,b[A+36>>1]=o,b[A+38>>1]=o>>>16,o=M[t+28>>1]|M[t+30>>1]<<16,y=M[t+24>>1]|M[t+26>>1]<<16,b[A+24>>1]=y,b[A+26>>1]=y>>>16,b[A+28>>1]=o,b[A+30>>1]=o>>>16,o=M[t+20>>1]|M[t+22>>1]<<16,y=M[t+16>>1]|M[t+18>>1]<<16,b[A+16>>1]=y,b[A+18>>1]=y>>>16,b[A+20>>1]=o,b[A+22>>1]=o>>>16,o=M[t+12>>1]|M[t+14>>1]<<16,t=M[t+8>>1]|M[t+10>>1]<<16,b[A+8>>1]=t,b[A+10>>1]=t>>>16,b[A+12>>1]=o,b[A+14>>1]=o>>>16,g[Xe+177904|0]=0,b[A>>1]=32768|M[A>>1]),b[c>>1]=0,e[c+4>>2]=A,m>>>0>=37&&(e[36422]=(m+e[36422]|0)-36),o=Re<<1,ce&&Le(A,_,De,fA,T,aA,ye,f)),e[e[32972]+132>>2]||(t=l[A+17|0])&&(t=b[102896+(((0|(t=(o<<6>>>0)/(t>>>0)|0))>=199?199:t)<<1)>>1],g[A+18|0]=(0|z(t,l[A+18|0]))/512,g[A+19|0]=(0|z(t,l[A+19|0]))/512,g[A+20|0]=(0|z(t,l[A+20|0]))/512,g[A+21|0]=(0|z(t,l[A+21|0]))/512,g[A+22|0]=(0|z(t,l[A+22|0]))/512,g[A+23|0]=(0|z(t,l[A+23|0]))/512,g[A+24|0]=(0|z(t,l[A+24|0]))/512,g[A+25|0]=(0|z(t,l[A+25|0]))/512),a-536870912>>>0<=1073741823){if(T=e[44469],(0|(c=e[Y+12>>2]))>0)for(A=z(a>>>29|0,10)+102854|0,ye=b[A+4>>1],ce=b[A+2>>1],_=b[A>>1],aA=b[A+6>>1],fA=b[A+8>>1],o=0;t=e[4+(De=I+(o<<3)|0)>>2],b[t>>1]<0?A=t:(A=177888+(Re=(T=(0|(A=T+1|0))<=169?A:0)<<6)|0)?(a=M[t+4>>1]|M[t+6>>1]<<16,c=M[t>>1]|M[t+2>>1]<<16,b[A>>1]=c,b[A+2>>1]=c>>>16,b[A+4>>1]=a,b[A+6>>1]=a>>>16,a=M[t+60>>1]|M[t+62>>1]<<16,c=M[t+56>>1]|M[t+58>>1]<<16,b[A+56>>1]=c,b[A+58>>1]=c>>>16,b[A+60>>1]=a,b[A+62>>1]=a>>>16,a=M[t+52>>1]|M[t+54>>1]<<16,c=M[t+48>>1]|M[t+50>>1]<<16,b[A+48>>1]=c,b[A+50>>1]=c>>>16,b[A+52>>1]=a,b[A+54>>1]=a>>>16,a=M[t+44>>1]|M[t+46>>1]<<16,c=M[t+40>>1]|M[t+42>>1]<<16,b[A+40>>1]=c,b[A+42>>1]=c>>>16,b[A+44>>1]=a,b[A+46>>1]=a>>>16,a=M[t+36>>1]|M[t+38>>1]<<16,c=M[t+32>>1]|M[t+34>>1]<<16,b[A+32>>1]=c,b[A+34>>1]=c>>>16,b[A+36>>1]=a,b[A+38>>1]=a>>>16,a=M[t+28>>1]|M[t+30>>1]<<16,c=M[t+24>>1]|M[t+26>>1]<<16,b[A+24>>1]=c,b[A+26>>1]=c>>>16,b[A+28>>1]=a,b[A+30>>1]=a>>>16,a=M[t+20>>1]|M[t+22>>1]<<16,c=M[t+16>>1]|M[t+18>>1]<<16,b[A+16>>1]=c,b[A+18>>1]=c>>>16,b[A+20>>1]=a,b[A+22>>1]=a>>>16,a=M[t+12>>1]|M[t+14>>1]<<16,t=M[t+8>>1]|M[t+10>>1]<<16,b[A+8>>1]=t,b[A+10>>1]=t>>>16,b[A+12>>1]=a,b[A+14>>1]=a>>>16,g[Re+177904|0]=0,b[A>>1]=32768|M[A>>1],c=e[Y+12>>2]):A=0,e[De+4>>2]=A,b[A+8>>1]=(0|z(ye,b[A+8>>1]))/256,b[A+6>>1]=(0|z(ce,b[A+6>>1]))/256,b[A+4>>1]=(0|z(_,b[A+4>>1]))/256,b[A+12>>1]=(0|z(fA,b[A+12>>1]))/256,b[A+10>>1]=(0|z(aA,b[A+10>>1]))/256,(0|c)>(0|(o=o+1|0)););e[44469]=T}if(!A)break e}else{t=e[I+4>>2],(0|(c=b[t>>1]))<0?A=t:(a=(0|(a=e[44469]+1|0))<=169?a:0,e[44469]=a,(a=177888+(c=a<<6)|0)&&(A=M[t+4>>1]|M[t+6>>1]<<16,y=M[t>>1]|M[t+2>>1]<<16,b[a>>1]=y,b[a+2>>1]=y>>>16,b[a+4>>1]=A,b[a+6>>1]=A>>>16,A=M[t+60>>1]|M[t+62>>1]<<16,y=M[t+56>>1]|M[t+58>>1]<<16,b[a+56>>1]=y,b[a+58>>1]=y>>>16,b[a+60>>1]=A,b[a+62>>1]=A>>>16,A=M[t+52>>1]|M[t+54>>1]<<16,y=M[t+48>>1]|M[t+50>>1]<<16,b[a+48>>1]=y,b[a+50>>1]=y>>>16,b[a+52>>1]=A,b[a+54>>1]=A>>>16,A=M[t+44>>1]|M[t+46>>1]<<16,y=M[t+40>>1]|M[t+42>>1]<<16,b[a+40>>1]=y,b[a+42>>1]=y>>>16,b[a+44>>1]=A,b[a+46>>1]=A>>>16,A=M[t+36>>1]|M[t+38>>1]<<16,y=M[t+32>>1]|M[t+34>>1]<<16,b[a+32>>1]=y,b[a+34>>1]=y>>>16,b[a+36>>1]=A,b[a+38>>1]=A>>>16,A=M[t+28>>1]|M[t+30>>1]<<16,y=M[t+24>>1]|M[t+26>>1]<<16,b[a+24>>1]=y,b[a+26>>1]=y>>>16,b[a+28>>1]=A,b[a+30>>1]=A>>>16,A=M[t+20>>1]|M[t+22>>1]<<16,y=M[t+16>>1]|M[t+18>>1]<<16,b[a+16>>1]=y,b[a+18>>1]=y>>>16,b[a+20>>1]=A,b[a+22>>1]=A>>>16,A=M[t+12>>1]|M[t+14>>1]<<16,t=M[t+8>>1]|M[t+10>>1]<<16,b[a+8>>1]=t,b[a+10>>1]=t>>>16,b[a+12>>1]=A,b[a+14>>1]=A>>>16,g[c+177904|0]=0,c=-32768|M[a>>1],b[a>>1]=c,A=a)),e[I+4>>2]=A,b[I>>1]=m||50,b[I+2>>1]=16384|M[I+2>>1],b[A>>1]=16384|c,c=e[I+12>>2],t=l[c+17|0],a=e[32972],e[a+132>>2]&&(g[A+39|0]=l[c+39|0]-4);r:if(ce){if(2048&o){t=(z(t,31&Xe)>>>0)/30|0,e[a+132>>2]||(a=l[A+17|0])&&(t=b[102896+(((0|(t=(t<<6>>>0)/(a>>>0)|0))>=199?199:t)<<1)>>1],g[A+18|0]=(0|z(t,l[A+18|0]))/512,g[A+19|0]=(0|z(t,l[A+19|0]))/512,g[A+20|0]=(0|z(t,l[A+20|0]))/512,g[A+21|0]=(0|z(t,l[A+21|0]))/512,g[A+22|0]=(0|z(t,l[A+22|0]))/512,g[A+23|0]=(0|z(t,l[A+23|0]))/512,g[A+24|0]=(0|z(t,l[A+24|0]))/512,g[A+25|0]=(0|z(t,l[A+25|0]))/512),Le(A,_,De,fA,T,aA,ye,f);break r}if(Le(A,_,De,fA,T,aA,ye,f),e[e[32972]+132>>2]||!(t=l[A+17|0]))break r;t=b[102896+(((0|(t=(Re<<7>>>0)/(t>>>0)|0))>=199?199:t)<<1)>>1],g[A+18|0]=(0|z(t,l[A+18|0]))/512,g[A+19|0]=(0|z(t,l[A+19|0]))/512,g[A+20|0]=(0|z(t,l[A+20|0]))/512,g[A+21|0]=(0|z(t,l[A+21|0]))/512,g[A+22|0]=(0|z(t,l[A+22|0]))/512,g[A+23|0]=(0|z(t,l[A+23|0]))/512,g[A+24|0]=(0|z(t,l[A+24|0]))/512,g[A+25|0]=(0|z(t,l[A+25|0]))/512}else if(a=e[a+132>>2],8&f){if(a||!(a=l[A+17|0]))break r;t=((16320&z(t,48))>>>0)/(a>>>0)|0,t=b[102896+((t>>>0>=199?199:t)<<1)>>1],g[A+18|0]=(0|z(t,l[A+18|0]))/512,g[A+19|0]=(0|z(t,l[A+19|0]))/512,g[A+20|0]=(0|z(t,l[A+20|0]))/512,g[A+21|0]=(0|z(t,l[A+21|0]))/512,g[A+22|0]=(0|z(t,l[A+22|0]))/512,g[A+23|0]=(0|z(t,l[A+23|0]))/512,g[A+24|0]=(0|z(t,l[A+24|0]))/512,g[A+25|0]=(0|z(t,l[A+25|0]))/512}else a||(t=l[A+17|0])&&(t=b[102896+(((t=1792/(t>>>0)|0)>>>0>=199?199:t)<<1)>>1],g[A+18|0]=(0|z(t,l[A+18|0]))/512,g[A+19|0]=(0|z(t,l[A+19|0]))/512,g[A+20|0]=(0|z(t,l[A+20|0]))/512,g[A+21|0]=(0|z(t,l[A+21|0]))/512,g[A+22|0]=(0|z(t,l[A+22|0]))/512,g[A+23|0]=(0|z(t,l[A+23|0]))/512,g[A+24|0]=(0|z(t,l[A+24|0]))/512,g[A+25|0]=(0|z(t,l[A+25|0]))/512);if(!(8&f))break A;t=2816,(0|(a=b[A+4>>1]))<300||(t=2560,a>>>0<400||(t=a>>>0<500?2304:2048)),e[36436]=t}4&f&&(b[A>>1]=32|M[A>>1]),2&f&&(b[A>>1]=16|M[A>>1])}64&f&&pr(20,0),A=m&f<<27>>31}else A=0;c=A+e[36422]|0,e[36422]=c,t=e[Y+12>>2]}if((0|(a=t-1|0))<=0)o=0;else{if(A=0,m=0,o=0,t-2>>>0>=3)for(ye=-4&a,T=0;o=(((b[(f=m<<3)+I>>1]+o|0)+b[I+(8|f)>>1]|0)+b[I+(16|f)>>1]|0)+b[I+(24|f)>>1]|0,m=m+4|0,(0|ye)!=(0|(T=T+4|0)););if(f=3&a)for(;o=b[I+(m<<3)>>1]+o|0,m=m+1|0,(0|f)!=(0|(A=A+1|0)););}if(A=t,(f=e[r+20>>2])&&(A=a,m=f+e[34460]|0,(T=l[m+2|0])&&(ce=M[m+4>>1],b[I+(a<<3)>>1]=l[m+20|0],f=1,A=t,(0|T)!=1))){if(ye=m+4|0,ce&=1,aA=1&(m=T-1|0),(0|T)!=2)for(fA=-2&m,T=0;De=ye+(f<<6)|0,Re=ye+z(f,44)|0,Xe=l[(_=ce?De:Re)+16|0],e[4+(m=I+(A<<3)|0)>>2]=_,b[m>>1]=Xe,b[m+2>>1]=M[_>>1],De=l[16+(_=ce?De- -64|0:Re+44|0)|0],e[m+12>>2]=_,b[m+8>>1]=De,b[m+10>>1]=M[_>>1],f=f+2|0,A=A+2|0,(0|fA)!=(0|(T=T+2|0)););aA&&(f=ye+(ce?f<<6:z(f,44))|0,T=l[f+16|0],e[4+(m=I+(A<<3)|0)>>2]=f,b[m>>1]=T,b[m+2>>1]=M[f>>1],A=A+1|0)}e:if(!((0|o)<=0)){A:{switch(SA-1|0){case 1:if(f=(0|(f=(e[r+44>>2]+c|0)-45|0))<=10?10:f,8&l[0|p]&&(f=f+(l[e[36128]+14|0]<<1)|0),(0|a)<=0)break e;if(p=(f<<8)/(0|o)|0,m=0,(0|t)!=2)for(t=-2&a,f=0;b[(o=(c=m<<3)+I|0)>>1]=(0|z(p,b[o>>1]))/256,b[(c=I+(8|c)|0)>>1]=(0|z(p,b[c>>1]))/256,m=m+2|0,(0|t)!=(0|(f=f+2|0)););if(!(1&a))break e;b[(t=I+(m<<3)|0)>>1]=(0|z(p,b[t>>1]))/256;break e;case 0:if(e[r>>2]!=1||(0|(f=e[r+44>>2]))>129)break A;b[I>>1]=(0|z(f,b[I>>1]))/130;break A}(0|(f=e[r+44>>2]))<=0||(c=(f-o|0)+c|0,e[36422]=c)}if(!(!c|(0|a)<=0)){if(p=(o+c<<8)/(0|o)|0,m=0,(0|t)!=2)for(t=-2&a,f=0;b[(o=(c=m<<3)+I|0)>>1]=(0|z(p,b[o>>1]))/256,b[(c=I+(8|c)|0)>>1]=(0|z(p,b[c>>1]))/256,m=m+2|0,(0|t)!=(0|(f=f+2|0)););1&a&&(b[(t=I+(m<<3)|0)>>1]=(0|z(p,b[t>>1]))/256)}}if(e[i+108>>2]=A,q=Y+16|0,I){if((0|(A=e[r+16>>2]))!=e[36438]&&(e[36438]=A,t=216192+(e[50758]<<4)|0,e[t>>2]=14,e[t+4>>2]=A,A=e[50758]+1|0,e[50758]=(0|A)<=169?A:0),m=(A=e[e[32972]+132>>2])?1:3,t=e[I+4>>2],e[r+28>>2]|!l[145748]||(g[145748]=0,m=A?2:4),(a=e[36426])&&(!((2&(A=M[a>>1]))>>>1|l[a+16|0]<2)|16&A||(c=216192+(e[36439]<<4)|0,e[c+12>>2]=t,8&A&&(A=(0|(A=e[44469]+1|0))<=169?A:0,e[44469]=A,(A=177888+(f=A<<6)|0)&&(p=M[t+4>>1]|M[t+6>>1]<<16,o=M[t>>1]|M[t+2>>1]<<16,b[A>>1]=o,b[A+2>>1]=o>>>16,b[A+4>>1]=p,b[A+6>>1]=p>>>16,p=M[t+60>>1]|M[t+62>>1]<<16,o=M[t+56>>1]|M[t+58>>1]<<16,b[A+56>>1]=o,b[A+58>>1]=o>>>16,b[A+60>>1]=p,b[A+62>>1]=p>>>16,p=M[t+52>>1]|M[t+54>>1]<<16,o=M[t+48>>1]|M[t+50>>1]<<16,b[A+48>>1]=o,b[A+50>>1]=o>>>16,b[A+52>>1]=p,b[A+54>>1]=p>>>16,p=M[t+44>>1]|M[t+46>>1]<<16,o=M[t+40>>1]|M[t+42>>1]<<16,b[A+40>>1]=o,b[A+42>>1]=o>>>16,b[A+44>>1]=p,b[A+46>>1]=p>>>16,p=M[t+36>>1]|M[t+38>>1]<<16,o=M[t+32>>1]|M[t+34>>1]<<16,b[A+32>>1]=o,b[A+34>>1]=o>>>16,b[A+36>>1]=p,b[A+38>>1]=p>>>16,p=M[t+28>>1]|M[t+30>>1]<<16,o=M[t+24>>1]|M[t+26>>1]<<16,b[A+24>>1]=o,b[A+26>>1]=o>>>16,b[A+28>>1]=p,b[A+30>>1]=p>>>16,p=M[t+20>>1]|M[t+22>>1]<<16,o=M[t+16>>1]|M[t+18>>1]<<16,b[A+16>>1]=o,b[A+18>>1]=o>>>16,b[A+20>>1]=p,b[A+22>>1]=p>>>16,p=M[t+12>>1]|M[t+14>>1]<<16,o=M[t+8>>1]|M[t+10>>1]<<16,b[A+8>>1]=o,b[A+10>>1]=o>>>16,b[A+12>>1]=p,b[A+14>>1]=p>>>16,g[f+177904|0]=0,b[A>>1]=32768|M[A>>1]),b[8+(f=f+177888|0)>>1]=M[a+8>>1],g[f+21|0]=l[a+21|0],b[f+10>>1]=M[a+10>>1],g[f+22|0]=l[a+22|0],b[f+12>>1]=M[a+12>>1],g[f+23|0]=l[a+23|0],b[f+14>>1]=M[a+14>>1],g[f+24|0]=l[a+24|0],g[f+25|0]=l[a+25|0],e[c+12>>2]=A))),(0|SA)!=2|l[he+11|0]!=2||(La(),e[36427]=e[50758]),!((0|(he=e[i+108>>2]))<2)){for(A=e[36433],p=(z(256-A|0,K)+(A<<8)|0)/256|0,A=e[36432],c=(z(256-A|0,K)+(A<<8)|0)/256|0,o=e[50754],A=0,a=1;f=M[2+(Y=(I+(a<<3)|0)-8|0)>>1],f=(0|z((0|z(o,b[Y>>1]))/1e3|0,4&f?c:16384&f?p:K))/256|0,e[(a<<2)+i>>2]=f,A=A+f|0,(0|he)!=(0|(a=a+1|0)););if(!((0|A)<=0|(0|A)>=(0|GA)|(0|he)<2)){if(a=1,p=1&(f=he-1|0),(0|he)!=2)for(c=-2&f,K=0;e[(f=(a<<2)+i|0)>>2]=(0|z(e[f>>2],GA))/(0|A),e[f+4>>2]=(0|z(e[f+4>>2],GA))/(0|A),a=a+2|0,(0|c)!=(0|(K=K+2|0)););p&&(e[(a=(a<<2)+i|0)>>2]=(0|z(e[a>>2],GA))/(0|A))}if(K=0,!((0|he)<2))for(he=SA+256|0,a=1;A=e[4+(I+(a<<3)|0)>>2],!(f=e[r+28>>2])|128&l[0|t]||(e[36422]=0,Gs(f,he,0,o=e[r>>2],0,p=(p=e[r+32>>2])?(p<<5)/100|0:32),g[145748]=1,e[r+28>>2]=0),(0|s)<0||(s=64&l[0|t]?6:s,(e[i+108>>2]-1|0)==(0|a)&&(s=(f=s)|(3840&(s=e[36436])?s:0))),f=e[(a<<2)+i>>2],e[36440]=f+e[36440],e[36441]=f+e[36441],f?(p=e[50758],e[36439]=p,(0|s)>=0&&(e[(p=216192+(p<<4)|0)>>2]=m,e[p+12>>2]=A,e[p+8>>2]=t,e[p+4>>2]=f+(s<<16),t=e[50758]+1|0,e[50758]=(0|t)<=169?t:0),e[36426]=A,K=f+K|0):e[36426]=0,t=A,(0|(a=a+1|0))<e[i+108>>2];);}!e[36438]|(0|SA)==1||(e[36438]=0,A=216192+(e[50758]<<4)|0,e[A>>2]=14,e[A+4>>2]=0,A=e[50758]+1|0,e[50758]=(0|A)<=169?A:0)}}q=i+112|0}function TA(A,t,r,a){var s,i=0,o=0,c=0,f=0,m=0,p=0,I=0,y=0,T=0,Y=0,K=0,_=0,ce=0,he=0,ye=0,De=0,Re=0,Xe=0,aA=0,fA=0,GA=0,SA=0;q=s=q-1856|0,e[s+164>>2]=0,r?y=e[r>>2]:VA(r=s- -64|0,0,96),e[33264]=0,e[s+1824>>2]=0,e[s+1828>>2]=0,e[s+1832>>2]=0,e[s+1836>>2]=0,g[s+1616|0]=0,g[s+992|0]=0,g[s+1200|0]=0,g[s+784|0]=0;e:if(e[A+688>>2]){for(e[s+1840>>2]=t,l[0|(i=t)]==32&&(i=t+1|0,e[s+1840>>2]=i),T=s+416|1,Xe=s+1844|1,fA=s+1848|1,GA=s+1852|1,e[s+1820>>2]=i,Dt(s+168|0,i),i=e[s+1820>>2];(32|l[0|i])!=32;)i=Dt(s+164|0,i)+e[s+1820>>2]|0,e[s+1820>>2]=i,_=_+1|0;xt(s+256|0,t,aA=(0|(c=i-t|0))>=159?159:c),!(De=4194304&y)|(0|_)!=1?(he=((0|(i=e[47202]))==36)<<2,(0|_)==1|(0|i)!=36||(i=e[s+1840>>2]-1|0,e[s+1840>>2]=i,g[0|i]=95,he=0,o=!!(0|Br(A,s+1840|0,s+1616|0,s+1832|0,0,r)),i=e[47202])):(o=1,Dt(s+172|0,i+1|0),ar(e[s+172>>2])&&(0|Qs(e[s+164>>2]))==(0|Qs(e[s+172>>
27372]))&&(o=0),he=(0|(i=e[47202]))==36?4:o,o=0);A:{r:{s:{i:{c:if(16&i)Y=15&i,he=0;else{if(ce=1,o||(ce=!!(0|Br(A,s+1840|0,s+1616|0,s+1832|0,2,r))),50331648&(i=e[s+1832>>2])&&(c=e[s+1820>>2],l[c+1|0]==46&&(g[c+1|0]=32,i=e[s+1832>>2])),536870912&i){if(!a)break e;JA(a,e[s+1840>>2]);break e}if(8192&i|!(128&i)|ce)a=e[33264];else if(i=e[s+1840>>2],e[s+1820>>2]=i,!((0|(a=e[33264]))<=0))for(o=0;l[0|i]==32&&(g[0|i]=45,o=o+1|0,i=e[s+1820>>2],a=e[33264]),i=i+1|0,e[s+1820>>2]=i,(0|a)>(0|o););o:if(!(a|(0|_)!=1)&&(c=Dt(s+576|0,I=e[s+1840>>2]),l[c+I|0]==32)){o=s+1408|0,a=I;u:{l:{n:{for(;;){p:if(ar(e[s+576>>2])){C:{if(l[1+(f=a+c|0)|0]==46){Y=0;m:switch(l[(i=c+2|0)+a|0]-32|0){case 0:break C;case 7:break m;default:break p}if(Y=1,c=i,l[f+3|0]==115)break C;break p}if(Y=1,(0|p)<=0)break n}if(!((0|c)<=0)){if(K=3&c,m=0,c>>>0<4)i=0;else for(ye=-4&c,i=0,f=0;g[0|o]=l[a+i|0],g[o+1|0]=l[(1|i)+a|0],g[o+2|0]=l[(2|i)+a|0],g[o+3|0]=l[(3|i)+a|0],i=i+4|0,o=o+4|0,(0|ye)!=(0|(f=f+4|0)););if(K)for(;g[0|o]=l[a+i|0],i=i+1|0,o=o+1|0,(0|K)!=(0|(m=m+1|0)););}if(p=p+1|0,Y)a=a+c|0;else if(c=Dt(s+576|0,a=3+(a+c|0)|0),l[a+c|0]==32)continue}break}if(!((0|p)<2)){(c=(c=o-(i=s+1408|0)|0)+(i=xt(I,i,c))|0)>>>0<a>>>0&&VA(c,32,(s+1408|0)+a-(i+o)|0),e[33264]=(p<<1)-2,e[s+1836>>2]=0;break l}}if(!p)break o;if(e[s+1832>>2]=0,e[s+1836>>2]=0,!e[33264])break u}e[s+1832>>2]=128}he=1}if(l[s+1616|0]==21){JA(189088,s+1616|0),i=0;break e}if(SA=l[s+1833|0],o=1,!ce){if(e[s+168>>2]-48>>>0<10){if(UA(A,84174,189088),i=0,l[189088]==21)break e;if(!(!(128&l[A+109|0])|32&l[r+2|0])){g[189088]=21,g[189089]=0;break e}o=!!(0|Pr(A,e[s+1840>>2],s+1616|0,s+1832|0,r,0))}else o=0;if(!(o|(3&y)==2)&&(16777216&(a=e[A+104>>2])||(o=0,!(!(33554432&a)|!(1&y))))&&(16&y||(o=0,!(1&g[r+13|0])))){ye=e[s+1840>>2],i=0,p=0,f=0,q=K=q-224|0,g[0|(m=s+1616|0)]=0,e[K+216>>2]=0,e[K+220>>2]=0;o:if(!(g[ye-2|0]-48>>>0<10|(1&g[0|r]?0:2&l[A+107|0])||(a=l[0|(c=ye+1|0)],(!(2561&M[A+106>>1])|!(1&g[r+2|0]))&(0|a)==32))){if((0|(p=l[0|ye]))!=32){for(Y=32767,a=0;;){if(!(i=si(101868,p<<24>>24,8))){p=0;break o}if(I=0,(0|(i=e[(i<<2)-305584>>2]))==(0|a)&&!((0|(I=f+1|0))<=2)){p=0;break o}u:{l:{n:{p:{if(!((0|a)<2)){if((0|a)==10|(0|a)==100)break p;if(!((0|a)>(0|i))){p=0;break o}}if(!a)break l;if((0|a)<(0|i))break n;break l}if((0|a)>=(0|i))break l}if(p=0,(0|Re)%10|(0|z(a,10))<(0|i))break o;i=i-a|0,Y=a;break u}if((0|i)>=(0|Y)){p=0;break o}Re=a+Re|0}if(p=l[0|c],c=o=c+1|0,a=i,f=I,(0|p)==32)break}a=l[0|o]}else o=c;if((a<<24>>24)-48>>>0<10)p=0;else if((0|(a=i+Re|0))<e[A+120>>2])p=0;else if((0|a)>e[A+116>>2])p=0;else if(UA(A,85600,K+176|0),i=m,4&l[A+107|0]||(i=JA(m,i=K+176|0)+RA(i)|0),e[K+4>>2]=e[A+140>>2],e[K>>2]=a,QA(K+16|0,85839,K),p=0,l[0|o]!=46){pa(A,ye,o,r,1)&&(e[r>>2]=32768|e[r>>2]),c=0;u:if(8&l[A+107|0]){if(f=e[r>>2],e[A+212>>2]==26741){if(32768&f)break u;if(!(16384&f))break o;c=1,f=0;l:{n:switch(l[0|o]-97|0){case 0:case 4:break n;default:break l}n:{p:{C:{m:switch((Y=l[o+1|0])-116|0){case 6:break l;case 1:case 2:case 3:case 4:case 5:break p;case 0:break m;default:break C}if(l[o+2|0]!=116)break n;break l}if((0|Y)==32)break l}if(!((0|a)%1e3|0)&&(0|Y)==108)break l}f=1}if(f)break u;break o}e[r>>2]=32768|f}e[(a=A+8232|0)>>2]=0,e[a+4>>2]=0,Pr(A,K+16|2,i,K+216|0,r,c),p=1,4&l[A+107|0]&&ia(m,K+176|0)}}q=K+224|0,p?(e[s+1832>>2]=8192|e[s+1832>>2],o=1):o=0}}if(Y=ce?he:32&SA?1:he,he=0,!(!(1&y)|(0|_)<2)&&ds(e[s+168>>2])){o:{if(1&g[188785]){if(!(!(a=8192&(i=e[s+1832>>2]))|o))break o;he=a>>>2^2048;break c}if(o)break i;i=e[s+1832>>2]}if(!(128&i|_>>>0>3)&&!((0|(i=e[A+8220>>2]))<4)&&(a=1,(0|i)>=e[A+8216>>2]))break A}}if(m=0,(0|Y)<=0)break s;a=Y;break A}if((0|(a=Y))>0)break A;m=0,I=0,f=0,p=0;break r}if(o)I=0,f=0,p=0;else{a=e[s+1840>>2],e[s+1820>>2]=a,i=999,p=0,I=0,T=0;s:{i:{c:{for(;;){o:{u:{l:{if(i-1>>>0>=2){if((0|_)<2||(Dt(s+1408|0,a),(0|(i=e[s+1408>>2]))<577&e[A+600>>2]>0)||(i=Qs(i),(e[i+4>>2]!=e[A+600>>2]?i:0)|e[A+40>>2]==1))break l;switch(i=l[0|a],e[s+1408>>2]=i<<24>>24,i-32|0){default:if(!i)break l;break;case 0:case 7:break l;case 1:case 2:case 3:case 4:case 5:case 6:}m=Dt(s+1408|0,a),ce=9;n:{p:{C:{m:if(-33&(i=e[s+1408>>2])){for(o=0,f=0;;){b:{h:{if((0|i)==39){if((0|I)>0|(0|o)>1)break m;if(f=o?f:39,e[A+40>>2]!=3)break h;break b}f=o?f:i}o=o+1|0}if(!I0(A,i)){if((0|(i=e[s+1408>>2]))!=39&&!ds(i))break l;if(m=Dt(s+1408|0,a+m|0)+m|0,-33&(i=e[s+1408>>2]))continue;break m}break}if((0|o)<=2)break C;ce=o}else f=0;if((0|(i=e[A+40>>2]))!=2)break p;q=i=q-208|0,g[0|i]=0,o=l[0|(c=a-1|0)],g[0|c]=32,a=Kt(A,a,i,200,0,-2147483648,0),g[0|c]=o,q=i+208|0,a=!a|(32768&a)>>>15;break n}i=e[A+40>>2],ce=o}a=(g[A+168|0]+1|0)<(ce-((0|i)==(0|f))|0)}if(!a)break l;a=e[s+1820>>2]}if(l[0|a]!=39)break u;p=67108864,he=0}if(m=0,nt(A,s+992|0,0,I),a=e[s+1820>>2],(0|(i=l[0|a]))!=32)break o;I=0,f=0;break r}if(he=0,a=ns(A,a,s+992|0,1&(T|=(0|I)>0))+e[s+1820>>2]|0,e[s+1820>>2]=a,l[s+992|0]==21)break c;for(I=I+1|0,o=0;o=(i=o)+1|0,l[a+i|0]!=32;);p=67108864;continue}break}if(!l[s+992|0]|(0|i)==39||(g[a-1|0]=32,a=e[s+1820>>2]),c=Kt(A,a,s+1616|0,200,s+784|0,y,s+1832|0),(0|(a=l[s+1616|0]))==21){JA(189088,s+1616|0),i=0;break e}if(!(a|l[s+784|0])&&(Dt(s+1408|0,e[s+1820>>2]),(0|_)==1&&(ar(e[s+1408>>2])||E0(e[s+1408>>2])))){Mn(A,e[s+1820>>2],s+1616|0,Y)&&JA(189088,s+1616|0),i=0;break e}e[s+172>>2]=g[e[s+1820>>2]-1|0];o:if(1024&c)for(ye=s+176|1,Y=0,i=1,T=0,I=0;;){if((ce=131072&c)|!(1&i)||(g[s+1408|0]=0,!(a=Kt(A,e[s+1820>>2],s+1408|0,200,s+576|0,805306368|y,s+1832|0)))){2048&c&&(e[A+8184>>2]=1),g[e[s+1820>>2]-1|0]=e[s+172>>2];u:{l:{n:{p:if(ce){if(g[s+176|0]=0,i=e[s+1820>>2],a=1,f=63&c){if(K=1&c,I=f-1|0,o=0,(0|f)!=1)for(Re=f-K|0,f=0;m=i,e[s+1820>>2]=i+1,g[0|(De=(s+176|0)+a|0)]=(0|o)!=(0|I)?l[0|i]:0,i=i+2|0,e[s+1820>>2]=i,g[De+1|0]=(0|I)!=(1|o)?l[m+1|0]:0,o=o+2|0,a=a+2|0,(0|Re)!=(0|(f=f+2|0)););K&&(f=i+1|0,e[s+1820>>2]=f,g[(s+176|0)+a|0]=(0|o)!=(0|I)?l[0|i]:0,a=a+1|0,i=f)}g[(s+176|0)+a|0]=0}else{if(i=e[s+1820>>2],!(f=15&c))break n;if(a=0,o=f,m=3&c)for(;i=i+1|0,e[s+1820>>2]=i,(192&l[0|i])==128||(o=o-1|0,(0|m)!=(0|(a=a+1|0))););
vendor: 5,713 bytes, line 2737
2737if(f>>>0<4)break p;for(;;)if(i=i+1|0,e[s+1820>>2]=i,(192&l[0|i])!=128){for(;i=i+1|0,e[s+1820>>2]=i,(192&l[0|i])==128;);for(;i=i+1|0,e[s+1820>>2]=i,(192&l[0|i])==128;);for(;i=i+1|0,e[s+1820>>2]=i,(192&l[0|i])==128;);if(a=(0|o)>4,o=o-4|0,!a)break}}if(a=i-1|0,e[s+172>>2]=g[0|a],g[0|a]=32,a=y|=8388608,!ce)break l;if(sr(s+576|0,s+784|0,12),e[s+1852>>2]=ye,a=JA(s+1200|0,i=s+1616|0),Br(A,s+1852|0,i,s+1832|0,0,r)&&JA(a,s+1616|0),!(32&l[s+1833|0]))break u;g[0|a]=0,Mn(A,e[s+1852>>2],a,1);break u}a=i-1|0,e[s+172>>2]=g[0|a],g[0|a]=32,a=8388608|y}y=a,ia(s+1200|0,s+784|0)}if(g[s+784|0]=0,f=1,a=Br(A,s+1820|0,s+1616|0,s+1824|0,1024,r),e[s+1832>>2]||(i=e[s+1828>>2],e[s+1832>>2]=e[s+1824>>2],e[s+1836>>2]=i,f=T),a){m=0,I=c;break s}if(m=Kt(A,e[s+1820>>2],s+1616|0,200,s+784|0,8404992&y,s+1832|0),i=1,I=c,T=f,l[s+1616|0]==21){g[e[s+1820>>2]-1|0]=e[s+172>>2],JA(189088,s+1616|0),i=0;break e}}else i=s+416|0,os(A,e[s+1820>>2],a,i),m=Kt(A,e[s+1820>>2],s+1616|0,200,s+784|0,268435456|y,s+1832|0),xt(e[s+1820>>2],i,RA(i)),1024&m||(JA(s+1616|0,s+1408|0),i=JA(s+784|0,s+576|0),8&l[188788]&&($A(f=i,i=s+576|0),c=e[47195],e[s+48>>2]=i,hr(c,85205,s+48|0)),m=a),i=0;if(a=(o=1024&m)>>>10|0,Y>>>0>48)break o;if(Y=Y+1|0,c=m,!o)break}else m=c,I=0,T=0,a=0;if(a|!m)break i;for(c=JA(s+1408|0,s+1616|0),o=os(A,e[s+1820>>2],m,s+416|0),f=T,i=m;;){o:{if(g[s+1616|0]=0,l[s+1200|0]){if(g[e[s+1820>>2]-1|0]=e[s+172>>2],a=Br(A,s+1840|0,s+1616|0,s+1824|0,o,r),g[e[s+1820>>2]-1|0]=32,l[s+1616|0]==21){A=s+416|0,xt(e[s+1820>>2],A,RA(A)),JA(189088,s+1616|0),i=0;break e}if(e[s+1832>>2]||(T=e[s+1828>>2],e[s+1832>>2]=e[s+1824>>2],e[s+1836>>2]=T),a){g[s+1200|0]=0;break o}f=e[s+1824>>2]?1:f}if(a=Br(A,s+1820|0,s+1616|0,s+1824|0,o,r),l[s+1616|0]==21){A=s+416|0,xt(e[s+1820>>2],A,RA(A)),JA(189088,s+1616|0),i=0;break e}if(e[s+1832>>2]||(T=e[s+1828>>2],e[s+1832>>2]=e[s+1824>>2],e[s+1836>>2]=T),!a)if(16384&i)JA(s+1616|0,c);else{y|=o<<11&8192|i<<9&134217728;u:if(524288&i){if(T=JA(s+576|0,a=s+784|0),i=Kt(A,e[s+1820>>2],s+1616|0,200,a,y,s+1832|0),ia(a,T),a=0,!i){i=0;break u}if(1024&i)break u;a=1,o=os(A,e[s+1820>>2],i,0)}else i=0,Kt(A,e[s+1820>>2],s+1616|0,200,0,y,s+1832|0),a=0;if(l[s+1616|0]==21){JA(189088,s+1616|0),A=s+416|0,xt(e[s+1820>>2],A,RA(A)),g[e[s+1820>>2]-1|0]=e[s+172>>2],i=0;break e}if(a)continue}}break}65536&m||(bn(A,s+1616|0,200,s+784|0),g[s+784|0]=0),a=s+416|0,xt(e[s+1820>>2],a,RA(a));break s}JA(189088,A=s+992|0),i=!va(1|A,84744,3)<<12;break e}m=0,f=T}g[e[s+1820>>2]-1|0]=e[s+172>>2]}}if(a=e[s+164>>2],e[s+1852>>2]=8026656,e[s+1848>>2]=8022304,e[s+1844>>2]=7566112,4&y){r:{if((i=255&a)&&((0|i)==102||(Xe=fA,Un(a<<24>>24))))break r;Xe=GA}Kt(A,Xe,189088,200,0,0,0)}for(a=0,i=s+1200|0,T=l[s+784|0];;){r:{s:{i:switch(0|(c=l[0|i])){case 0:break r;case 6:case 7:break i;default:break s}a=c}i=i+1|0;continue}break}r:if(a|f){if(e[A+32>>2]|65536&I){for(o=0,Ar(A,s+1616|0,s+1832|0,3,0),i=s+1200|0;;){switch(l[0|i]){case 6:o&&(g[0|i]=5),o=1;default:i=i+1|0;continue;case 0:}break}e[s+24>>2]=s+1616,e[s+20>>2]=s+1200,e[s+16>>2]=s+992,gs(189088,200,85233,s+16|0),g[189287]=0,Ar(A,189088,s+1832|0,-1,0);break r}e[s+8>>2]=s+1616,e[s+4>>2]=s+1200,e[s>>2]=s+992,gs(189088,200,85233,s),g[189287]=0,Ar(A,189088,s+1832|0,-1,0)}else Ar(A,a=s+1616|0,s+1832|0,-1,!!(0|T)<<1),e[s+40>>2]=a,e[s+36>>2]=s+1200,e[s+32>>2]=s+992,gs(189088,200,85233,s+32|0),g[189287]=0;l[s+784|0]&&(a=RA(189088),g[983+(s-a|0)|0]=0,JA(a+189088|0,s+784|0)),16&(a=y|he)&&(e[s+1832>>2]=-268435457&e[s+1832>>2]);r:if(!(128&a)|!(16&l[A+14|0]))if(3072&a){if(Ze(A,6),!(2048&a))break r;e[s+1832>>2]=268435456|e[s+1832>>2]}else 16&l[z(e[33264],12)+r|0]&&(1536&(r=e[s+1832>>2])?Ze(A,4):2048&r&&Ze(A,3));else Ze(A,3);8192&m&&(e[A+8192>>2]=2,e[A+8184>>2]=2);r:{if(8&(r=e[s+1836>>2]))e[A+8184>>2]=0,e[A+8188>>2]=3,a=A+8196|0;else if(1&r)e[A+8192>>2]=0,e[A+8184>>2]=2,a=A+8196|0;else if(2&r)e[A+8192>>2]=2,e[A+8184>>2]=0,e[A+8188>>2]=0,a=A+8196|0;else{if(!(4&r))break r;e[A+8184>>2]=0,e[A+8192>>2]=0,e[A+8196>>2]=2,a=A+8188|0}e[a>>2]=0}!l[e[s+1820>>2]]|256&r||((0|(r=e[A+8184>>2]))>0&&(e[A+8184>>2]=r-1),(0|(r=e[A+8192>>2]))>0&&(e[A+8192>>2]=r-1),(0|(r=e[A+8196>>2]))>0&&(e[A+8196>>2]=r-1),(0|(r=e[A+8188>>2]))<=0||(e[A+8188>>2]=r-1)),(0|_)!=1|e[A+212>>2]!=25966||!ds(e[s+168>>2])|e[s+168>>2]==105||(e[s+1832>>2]=16777216|e[s+1832>>2]);r:if(2&l[A+68|0]&&98304&(a=e[s+1832>>2])&&!((0|(r=RA(189088)-1|0))<=0))for(i=0;;){if(A=i+1|0,l[i+189088|0]==6){r=g[0|(A=A+189088|0)];s:{if(65536&a){if((0|aa(69))==(0|r)?(_=aa(101),g[0|A]=_):_=l[0|A],o=111,(0|aa(79))==_<<24>>24)break s;break r}if((0|aa(101))==(0|r)?(_=aa(69),g[0|A]=_):_=l[0|A],o=79,(0|aa(111))!=_<<24>>24)break r}g[0|A]=aa(o);break r}if((0|r)==(0|(i=A)))break}A=e[s+1832>>2],xt(t,s+256|0,aA),i=A|p;break e}if(i=0,g[s+1616|0]=0,Mn(A,e[s+1840>>2],s+1616|0,a)){if(c=JA(189088,s+1616|0),!De){if(a=e[s+164>>2],e[s+1408>>2]=8026656,e[s+576>>2]=8022304,e[s+416>>2]=7566112,4&y){t=s+576|1,r=s+1408|1;A:{if((i=255&a)&&((0|i)==102||(T=t,Un(a<<24>>24))))break A;T=r}Kt(A,T,c,200,0,0,0)}i=128&e[s+1832>>2]}}else i=((0|_)>1)<<12}else g[189088]=0;return q=s+1856|0,i}function it(A,t,r,a,s,i,o,c){var f,m,p=0,I=0,y=0,T=0,Y=0,K=0,_=0,ce=0,he=0,ye=0,De=0,Re=0,Xe=0,aA=0,fA=0,GA=0,SA=0,At=0,ct=0,bt=0,Nt=0,qt=0,tr=0,mr=0,Cr=0,Gr=0,Dr=0,Or=0,Kr=0,na=0,$r=0,oa=0,ya=0,rs=0,fs=0,ps=0,Ns=0,zi=0,pi=0,hi=0,Fi=0;q=f=q-384|0,m=e[t>>2];e:{A:{r:{s:{if(s){if(l[0|s]!=7)break s;e[t>>2]=(a||1)+m;break r}e[i>>2]=0,e[t>>2]=m+1;break e}Nt=86135,Kr=268435456&o,na=134217728&o,$r=8388608&o,oa=16384&o,ya=8192&o,mr=r-1|0,Cr=a-r|0,rs=2&o,fs=128&o,ps=o>>>31|0,Ns=-2147483648&o,Gr=f+96|1;s:for(;;)for(e[f+268>>2]=0,_=(y=e[t>>2])+a|0,fA=-2,Xe=-6,r=s,GA=Ns,At=0,qt=0,aA=1,p=0,SA=0,bt=0;;){T=y,ce=p;i:{c:{o:{u:{l:{n:{p:{C:{m:{b:{h:{E:{w:{y:{L:{W:{for(;ye=r,r=r+1|0,!((I=l[0|ye])>>>0>9);
2737)switch(Y=r,0|I){case 0:if(!(r=Dr)){Dr=0,r=86135;break L}for(;;){I=1;V:{M:switch(0|(p=l[0|r])){case 0:case 3:break W;case 5:break M;default:break V}I=2}r=(r+I|0)+(((0|p)==9)<<1)|0}case 1:if(bt=1,!ps)continue;break l;case 2:bt=2;continue;case 4:Dr=r;continue;case 5:r=ye+2|0,p=e[A+320>>2];V:{if((y=l[ye+1|0])>>>0>=32){if(!(p>>>y-32&1))break V;break l}if(!(p>>>y&1))break l}aA=aA+1|0;continue;case 9:r=ye+3|0;continue;case 8:bt=1,qt=1,GA=0;break;case 3:break y}Y=0,p=ce,y=T;V:switch(0|bt){case 0:M:{B:{if((0|(p=l[0|_]))!=(0|I)){if((0|p)!=69)break l;if((0|I)==101)break B;break l}if(Y=0,(192&I)==128)break M}Y=21}_=_+1|0,At=At+1|0;break i;case 1:break w;case 2:break V;default:break b}if(e[f+264>>2]=e[f+268>>2],!l[_-1|0])break l;Xe=(0|(p=Xe+6|0))>=19?19:p,Re=_+1|0,De=Dt(f+268|0,_),he=l[0|_],Y=20,p=ce;V:{M:switch(I-11|0){case 6:r=ye+2|0,p=e[f+268>>2],y=g[ye+1|0];B:if(I=e[604+(((y=((0|y)<65?191:-65)+y|0)<<2)+A|0)>>2])p=!!(0|Wr(I,p));else{if((0|y)>7)break l;D:{if((0|(I=e[A+600>>2]))>0){if((p=p-I|0)-1>>>0<255)break D;break l}if((I=p-192|0)>>>0<=413){p=l[344+(l[I+94240|0]+A|0)|0]&1<<y;break B}if(p>>>0>255)break l}p=l[344+(A+p|0)|0]&1<<y}if(!p)break l;_=_+De|0,Y=((0|y)==2?19:20)-Xe|0;break i;case 7:if(r=ye+2|0,p=g[ye+1|0],!(p=e[4788+((((0|p)<65?191:-65)+p<<2)+A|0)>>2]))break l;B:for(;;){if((0|(Y=l[0|p]))==7)break l;if((0|Y)==126){Y=20-Xe|0;break i}D:if(he){if(K=_,I=p,(0|Y)==(0|he))for(;;){if((0|(Y=l[0|(I=I+1|0)]))!=(0|(p=l[0|(K=K+1|0)])))break D;if(!p)break}}else I=p,K=_;if(Y){for(;;)if(y=l[0|I],I=p=I+1|0,!y)continue B}break}if((0|(p=K-_|0))<0)break l;_=p+_|0,Y=20-Xe|0;break i;case 14:I=e[f+268>>2];B:{D:if(p=e[A+604>>2])p=!!(0|Wr(p,I));else{F:{if((0|(p=e[A+600>>2]))>0){if((K=I-p|0)-1>>>0<255)break F;break B}if((p=I-192|0)>>>0<=413){p=1&g[344+(l[p+94240|0]+A|0)|0];break D}if(K=I,I>>>0>255)break c}p=1&g[344+(A+K|0)|0]}if(p)break l;I=e[f+268>>2]}if(!na)break c;if((0|I)==32)break l;break c;case 4:if((p=e[f+268>>2])-48>>>0<10|p-2406>>>0<10)break c;if(!l[A+170|0])break l;Y=20-Xe|0;break i;case 5:if(Di(e[f+268>>2]))break l;break o;case 0:if(e[f+268>>2]==e[f+264>>2])break o;break l;case 17:r=ye+2|0,p=32768,Y=0;B:{D:switch((I=l[ye+1|0])-1|0){case 0:break b;case 1:break D;default:break B}if(Y=1,p=ce,!$r)break b;break l}if((0|(p=240&I))==16){if(Y=23,p=ce,c>>>(15&I)&16384)break b;break l}if((0|I)!=3&(0|p)!=32||(xt(p=f+96|0,mr,y=1+(e[t>>2]+(At+Cr|0)|0)|0),g[0|(p=p+y|0)]=32,g[p+1|0]=0,e[33265]=0,e[33266]=0,e[f+16>>2]=Gr,Br(A,f+16|0,f+272|0,133060,0,0),Y=23,!((0|I)!=3|(0|(K=e[33265]))>=0|16384&e[33266])))break i;if(p=ce,y=T,K>>>(15&I)&16384)break b;break l;case 34:B:{if(p=he-32|0){if((0|p)==13)break B;break l}if(!oa)break l}K=22-Xe|0;break u;case 10:if(p=1,l[0|r]==21)break V;break n;case 18:if((0|(K=e[f+268>>2]))!=32)for(I=_+De|0;;){B:{D:if(p=e[A+632>>2])p=!!(0|Wr(p,K));else{F:{if((0|(p=e[A+600>>2]))>0){if((K=K-p|0)-1>>>0<255)break F;break B}if((p=K-192|0)>>>0<=413){p=128&l[344+(l[p+94240|0]+A|0)|0];break D}if(K>>>0>255)break B}p=128&l[344+(A+K|0)|0]}if(p)break l}if(I=Dt(f+268|0,I)+I|0,(0|(K=e[f+268>>2]))==32)break}K=19-Xe|0;break u;case 49:break p;case 2:break C;case 3:break m;case 1:break b;case 13:break h;case 12:break M;default:break E}Dt(f+272|0,r),De=-1;M:if((0|(p=e[f+272>>2]))!=(0|(I=e[f+268>>2])))if(-33&I)for(;;){he=_,De=-1;B:if((0|p)==18&&(p=g[ye+2|0],Y=e[4788+((((0|p)<65?191:-65)+p<<2)+A|0)>>2])){for(;;){if((0|(y=l[0|Y]))==7)break B;if((0|y)==126){De=0;break B}D:if((0|(_=l[0|he]))==(0|y)){if(p=he,I=Y,_)for(;;){if((0|(y=l[0|(I=I+1|0)]))!=(0|(Y=l[0|(p=p+1|0)])))break D;if(!Y)break}}else I=Y,p=he;if(!y){p=p-he|0;break}for(;p=l[0|I],I=Y=I+1|0,p;);}De=p}if(y=Dt(f+268|0,he),(0|(p=e[f+272>>2]))==(0|(I=e[f+268>>2]))|!(-33&I))break M;if(_=y+he|0,(0|De)!=-1)break}else he=_;else he=_;_=(0|p)==(0|I)||(0|De)>=0?he:Re,Y=0;break i}for(;p=p+1|0,l[0|(r=r+1|0)]==21;);break n}r=r+1|0}Y=ye}if(!(l[T-1|0]!=32&qt|GA||((0|(I=qt?aA+4|0:aA))>=(0|tr)&&(zi=SA,pi=ce,tr=I,hi=At,Nt=r),!(8&e[47197])|Kr|(0|I)<=0))){for($A(r,ye=f+272|0),Re=e[47195],y=f+16|0,r=0,he=0,GA=0,SA=0,q=_=q-496|0,g[_+80|0]=0,(0|a)>0?(xt(_+288|0,m,a),ce=a):ce=0,g[ce+(p=_+288|0)|0]=0,T=RA(p)+p|0,De=(0|o)<0;;){if(K=l[0|s],ce=s,s=s+1|0,K>>>0>9)for(;;){y:{L:{W:{V:{M:{B:switch((p=255&K)-14|0){case 4:break W;case 3:break V;case 0:break M;case 14:break B;default:break L}
vendor: 18,373 bytes, line 2737
2737if(ce=ce+2|0,K=32,!De&(0|(s=l[0|s]))==1)break y;g[0|T]=36,JA(p=T+1|0,s=Mi(128960,s)),T=RA(s)+p|0;break y}p=l[ce+2|0],K=l[0|s],e[_+36>>2]=127&l[ce+3|0],e[_+32>>2]=4&p?80:83,QA(_+48|0,85131,_+32|0),1&p&&(s=RA(s=_+48|0)+s|0,g[0|s]=101,g[s+1|0]=0),2&(s=127&p)&&(p=RA(p=_+48|0)+p|0,g[0|p]=105,g[p+1|0]=0),4&s&&(p=RA(p=_+48|0)+p|0,g[0|p]=112,g[p+1|0]=0),8&s&&(p=RA(p=_+48|0)+p|0,g[0|p]=118,g[p+1|0]=0),16&s&&(p=RA(p=_+48|0)+p|0,g[0|p]=100,g[p+1|0]=0),32&s&&(p=RA(p=_+48|0)+p|0,g[0|p]=102,g[p+1|0]=0),s>>>0>=64&&(s=RA(s=_+48|0)+s|0,g[0|s]=113,g[s+1|0]=0),1&K&&(s=RA(s=_+48|0)+s|0,g[0|s]=116,g[s+1|0]=0),ce=ce+4|0,T=JA(T,s=_+48|0)+RA(s)|0,K=32;break y}ce=ce+2|0,K=l[g[0|s]+93871|0];break y}s=g[0|s],g[0|T]=76,p=((s=s+((0|s)<65?191:-65)|0)>>>0)/10|0,g[T+1|0]=p+48,K=s-z(p,10)|48,(0|SA)==1&&(g[0|T]=K,K=76),ce=ce+2|0,T=T+2|0;break y}K=p>>>0<=31?l[p+93904|0]:(0|p)==32?95:K,ce=s}if(g[0|T]=K,s=ce+1|0,T=T+1|0,!((K=l[0|ce])>>>0>=10))break}p=1;y:switch(0|K){case 1:p=r;case 8:g[0|T]=0,T=_+80|0,r=p,SA=1;continue;case 2:g[0|T]=0,ce=RA(p=_+288|0)+p|0,T=l[84899]|l[84900]<<8,g[0|ce]=T,g[ce+1|0]=T>>>8,SA=2,g[ce+2|0]=l[84901],T=RA(p)+p|0;continue;case 5:he=g[0|s],s=ce+2|0;continue;case 9:GA=(l[0|s]+z(l[ce+2|0],255)|0)-256|0,s=ce+3|0;continue;case 0:case 3:break y;default:continue}break}if(g[0|T]=0,T=y,(0|GA)>0&&(e[_+16>>2]=GA,QA(y,85581,_+16|0),T=y+7|0),(0|he)>0&&(e[_>>2]=he,QA(T,85694,_),T=RA(T)+T|0),1&((0|(s=RA(_+80|0)))>0|r)){1&r&&(g[0|T]=95,T=T+1|0);y:if(!((0|(ce=s-1|0))<0|T>>>0>=y>>>0))for(;;){if(g[0|T]=l[(_+80|0)+ce|0],T=T+1|0,(0|ce)<=0)break y;if(ce=ce-1|0,!(T>>>0<y>>>0))break}g[0|T]=41,g[T+1|0]=32,T=T+2|0}g[0|T]=0,g[(r=_+288|0)+((y+3|0)-T|0)|0]=0,ia(T,r),(0|(r=RA(y)))<=7&&(VA(r+y|0,32,8-r|0),r=8),g[r+y|0]=0,q=_+496|0,e[f+4>>2]=y,e[f>>2]=(0|a)>1?I+35|0:I,e[f+8>>2]=ye,hr(Re,89088,f)}r=Y;break l}if(!l[0|T])break l;fA=(0|(p=fA+2|0))>=19?19:p,Dt(f+264|0,T),p=Da(f+268|0,y=T-1|0),he=l[0|y],Re=y;w:{y:{L:{W:{V:{M:switch(I-10|0){case 13:if(p=(0|(ct=l[0|r]))==(0|(I=l[0|T])),De=-1,(0|I)==32|(0|I)==(0|ct))break W;if(I)break V;break L;case 7:r=ye+2|0,Y=e[f+268>>2],T=g[ye+1|0];B:if(I=e[604+(((T=((0|T)<65?191:-65)+T|0)<<2)+A|0)>>2])I=!!(0|Wr(I,Y));else{if((0|T)>7)break l;D:{if((0|(I=e[A+600>>2]))>0){if((Y=Y-I|0)-1>>>0<255)break D;break l}if((I=Y-192|0)>>>0<=413){I=l[344+(l[I+94240|0]+A|0)|0]&1<<T;break B}if(Y>>>0>255)break l}I=l[344+(A+Y|0)|0]&1<<T}if(!I)break l;y=1+(y-p|0)|0,Y=((0|T)==2?19:20)-fA|0;break w;case 8:if(r=ye+2|0,p=g[ye+1|0],!(p=e[4788+((((0|p)<65?191:-65)+p<<2)+A|0)>>2]))break l;B:{for(;;){if((0|(he=l[0|p]))==7)break l;if((0|he)==126){De=0;break B}I=y;D:{F:{if((0|(ye=(De=RA(p))-1|0))>0)for(I=T-De|0,Y=0,K=y;;){if(!l[0|(K=K-1|0)])break F;if((0|ye)==(0|(Y=Y+1|0)))break}q:if(!((0|(Y=l[0|I]))!=(0|he)|!Y))for(;;){if((0|(he=l[0|(p=p+1|0)]))!=(0|(Y=l[0|(I=I+1|0)])))break q;if(!Y)break}if(!he)break D}for(I=p;Y=l[0|I],I=p=I+1|0,Y;);continue}break}if((0|De)<0)break l}Y=20-Xe|0,y=1+(y-De|0)|0;break w;case 15:I=e[f+268>>2];B:{D:if(T=e[A+604>>2])T=!!(0|Wr(T,I));else{F:{if((0|(T=e[A+600>>2]))>0){if((I=I-T|0)-1>>>0<255)break F;break B}if((T=I-192|0)>>>0<=413){T=1&g[344+(l[T+94240|0]+A|0)|0];break D}if(I>>>0>255)break B}T=1&g[344+(A+I|0)|0]}if(T)break l}Y=20-fA|0,y=1+(y-p|0)|0;break w;case 1:if(e[f+268>>2]!=e[f+264>>2])break l;Y=21-fA|0,y=1+(y-p|0)|0;break w;case 5:if(!((T=e[f+268>>2])-48>>>0<10|T-2406>>>0<10))break l;Y=21-fA|0,y=1+(y-p|0)|0;break w;case 6:if(Di(e[f+268>>2]))break l;Y=21-Xe|0,y=1+(y-p|0)|0;break w;case 18:if(r=ye+2|0,!((0|(I=l[ye+1|0]))==3|(240&I)==32)||(xt(p=f+96|0,mr,y=1+(e[t>>2]+(At+Cr|0)|0)|0),g[0|(p=p+y|0)]=32,g[p+1|0]=0,e[33265]=0,e[33266]=0,e[f+16>>2]=Gr,Br(A,f+16|0,f+272|0,133060,0,0),Y=23,!((0|I)!=3|(0|(K=e[33265]))>=0|16384&e[33266])))break i;if(p=ce,y=T,K>>>(15&I)&16384)break b;break l;case 11:if(I=1,l[0|r]==21)for(;I=I+1|0,l[0|(r=r+1|0)]==21;);if(e[A+8208>>2]<(0|I))break l;Y=18+(I-fA|0)|0;break w;case 0:if(Y=19,p=ce,y=T,e[A+8212>>2]>0)break b;break l;case 19:if(Y=3,(0|(K=e[f+268>>2]))==32)break w;for(I=1+(y-p|0)|0;;){B:{D:if(p=e[A+632>>2])p=!!(0|Wr(p,K));else{F:{if((0|(p=e[A+600>>2]))>0){if((K=K-p|0)-1>>>0<255)break F;break B}if((p=K-192|0)>>>0<=413){p=128&l[344+(l[p+94240|0]+A|0)|0];break D}if(K>>>0>255)break B}p=128&l[344+(A+K|0)|0]}if(p)break l}if(I=I-Da(f+268|0,I-1|0)|0,(0|(K=e[f+268>>2]))==32)break}break w;case 16:if(Y=1,p=ce,y=T,e[A+8184>>2])break b;break l;case 9:if(Y=1,p=ce,y=T,rs)break b;break l;case 36:for(;;){if(Y=50,p=ce,!(T=(255&he)-32|0))break l;if((0|T)==14)break b;he=l[0|(Re=Re-1|0)]}case 35:break M;default:break y}M:{if(p=he-32|0){if((0|p)==13)break M;break l}if(!fs)break l}Y=22-Xe|0;break w}V:{for(;;){De=-1,K=T,T=T-1|0;M:if((0|ct)==18&&(p=g[ye+2|0],Y=e[4788+((((0|p)<65?191:-65)+p<<2)+A|0)>>2]))for(Fi=K+1|0;;){if((0|(Re=l[0|Y]))==7){De=-1;break M}if((0|Re)==126){De=0;break M}I=K;B:{if((0|(Or=(De=RA(Y))-1|0))>0)for(I=Fi-De|0,he=0,p=K;;){if(!l[0|(p=p-1|0)])break B;if((0|Or)==(0|(he=he+1|0)))break}D:if(!((0|(p=l[0|I]))!=(0|Re)|!p))for(;;){if((0|(Re=l[0|(Y=Y+1|0)]))!=(0|(p=l[0|(I=I+1|0)])))break D;if(!p)break}if(!Re)break M}for(I=Y;p=l[0|I],I=Y=I+1|0,p;);}if(p=(0|(I=l[0|T]))==(0|ct),(0|I)==32|(0|I)==(0|ct))break V;if(!I){T=K;break L}if((0|De)!=-1)break}T=K;break L}T=K}y=p?T:y}Y=0,y=(0|De)<0?y:T+1|0;break w}if((0|I)!=(0|he))break l;Y=4,(0|I)!=32&&(Y=(192&I)!=128?21-fA|0:0)}p=ce;break b}if((0|I)!=(0|he))break l;K=(192&I)!=128?21-Xe|0:0;break u}if(Y=1,ya)break l}aA=Y+aA|0;continue}if(p=g[ye+1|0],ce=l[ye+3|0],y=l[ye+2|0],1&!(e[A+8208>>2]|4&y)&g[A+84|0])break l;r=ye+4|0,K=0,ce=127&ce|(127&y)<<8|p<<16;break u}C:if(!(Re>>>0<=(I=e[t>>2]+a|0)>>>0)){for(;;){if(l[0|I]!=101){if(p=I>>>0<_>>>0,I=I+1|0,p)continue;break C}break}K=0,SA=I;break u}K=0;break u}Y=-20;break i}if(he=0,(0|(I=e[f+268>>2]))!=32)for(K=_+De|0,Y=0;;){if(!Y){n:{p:if(y=e[A+632>>2])I=!!(0|Wr(y,I));else{C:{if((0|(y=e[A+600>>2]))>0){if((I=I-y|0)-1>>>0<255)break C;break n}if((y=I-192|0)>>>0<=413){I=128&l[344+(l[y+94240|0]+A|0)|0];break p}if(I>>>0>255)break n}I=128&l[344+(A+I|0)|0]}I&&(he=he+1|0)}I=e[f+268>>2]}n:if(y=e[A+632>>2])Y=!!(0|Wr(y,I));else{p:{if((0|(y=e[A+600>>2]))>0){if(Y=0,(I=I-y|0)-1>>>0<255)break p;break n}if((y=I-192|0)>>>0<=413){Y=128&l[344+(l[y+94240|0]+A|0)|0];break n}if(Y=0,I>>>0>255)break n}Y=128&l[344+(A+I|0)|0]}if(K=Dt(f+268|0,K)+K|0,(0|(I=e[f+268>>2]))==32)break}if(!((0|p)>(0|he))){K=18+(p-Xe|0)|0;break u}}for(;p=l[0|r],r=s=r+1|0,p;);if(l[0|s]!=7)continue s;if(A=a+hi|0,e[t>>2]=e[t>>2]+(A||1),tr)break A;break r}p=ce,_=Re,y=T,aA=K+aA|0;continue}_=_+De|0,Y=21-Xe|0;break i}_=_+De|0,Y=20-Xe|0}p=ce,y=T,aA=Y+aA|0}}Nt=86135}e[i+12>>2]=zi,e[i+8>>2]=pi,e[i+4>>2]=Nt,e[i>>2]=tr}q=f+384|0}function tt(A,t){var r,a=0,s=0,i=0,o=0,c=0,f=0,m=0,p=0,I=0,y=0,T=0,Y=0,K=0,_=0,ce=0,he=0,ye=0,De=0,Re=0,Xe=0,aA=0,fA=0,GA=0,SA=0,At=0,ct=0,bt=0,Nt=0,qt=0,tr=0;q=r=q-1168|0,e[r+928>>2]=0,e[r+932>>2]=0,e[r+920>>2]=0,e[r+924>>2]=0,e[r+912>>2]=0,e[r+916>>2]=0,e[r+904>>2]=0,e[r+908>>2]=0,e[r+896>>2]=0,e[r+900>>2]=0;e:{A:{if(A){if(l[0|A]|8&t)break A;break e}if(!(8&t))break e}if(sr(r+1088|0,A,40),16&t){if((0|us(JA(r+704|0,A)))<=0)break e;K=8&t}else(K=8&t)|l[r+1088|0]||(b[r+1088>>1]=l[85055]|l[85056]<<8,g[r+1090|0]=l[85057]),e[r+496>>2]=137584,e[r+500>>2]=47,e[r+504>>2]=47,QA(a=r+512|0,85286,r+496|0),e[r+484>>2]=r+1088,e[r+480>>2]=a,QA(a=r+704|0,85425,r+480|0),(0|us(a))>0||(e[r+468>>2]=47,e[r+472>>2]=47,e[r+464>>2]=137584,QA(a=r+512|0,85648,r+464|0),e[r+452>>2]=r+1088,e[r+448>>2]=a,QA(r+704|0,85425,r+448|0));if(s=K?86012:85055,!(_=ka(r+704|0,85712))){if(a=0,3&t)break e;s=(0|yi(a=r+1088|0))<0?s:a}if((Y=2&t)||(a=e[47192])&&(P0(a),e[47192]=0),ye=JA(r+992|0,s),he=JA(r+944|0,s),Y?((a=ts(200992,43))&&(g[0|a]=0),e[r+432>>2]=A+3,QA(A=r+704|0,86030,r+432|0),ia(200992,A)):(e[32972]=199592,sr(200992,A,40),g[201088]=0,g[201040]=0,e[50299]=200992,e[50298]=201088,e[50297]=201040),Xt(Y),_){for(Re=e[30450],Xe=r+548|0,aA=r+544|0,fA=r+540|0,GA=r+536|0,SA=r+532|0,At=r+528|0,ct=12|(A=r+512|0),bt=8|A,Nt=4|A;Zt(r+704|0,190,_);){A=r+704|0;A:{if(l[r+704|0]!=35){r:if(!((0|(A=RA(r+704|0)-1|0))<=0))for(;;){if(!((0|(s=g[0|(a=(r+704|0)+A|0)]))==32|s-9>>>0<5))break r;if(g[0|a]=0,!((0|(A=A-1|0))>0))break}if(!(A=jr(r+704|0)))break A}g[0|A]=0}A=r+704|0;A:if(a=l[r+704|0])for(;;){if((0|(a=a<<24>>24))==32|a-9>>>0<5)break A;if(!(a=l[0|(A=A+1|0)]))break}if(g[0|A]=0,l[r+704|0])if(A=A+1|0,a=Bs(129744,r+704|0)){i=0,q=s=q-416|0;A:if(o=e[47192]){switch(a-19|0){case 16:if(e[s+32>>2]=s+412,(0|at(A,84249,s+32|0))!=1)break A;e[o+324>>2]=e[s+412>>2];break A;case 8:_0(A,o+320|0,27);break A;case 2:if(e[s+48>>2]=188784,at(A,84249,s+48|0),!(A=l[188784]))break A;e[o+152>>2]=A;break A;case 11:if(l[0|A]){for(c=e[30450];;)if(a=A,A=A+1|0,!((0|(i=g[0|a]))==32|i-9>>>0<5)){for(i=Us(a),e[s+412>>2]=i,(0|i)>0&&(i>>>0<=31?e[o+104>>2]=e[o+104>>2]|1<<i:i>>>0<=63?e[o+108>>2]=e[o+108>>2]|1<<i-32:(e[s+64>>2]=i,hr(c,84700,s- -64|0)),a=A);a=(A=a)+1|0,(i=g[0|A])-48>>>0<10|(32|i)-97>>>0<26;);if(!i)break}}8&(A=e[o+104>>2])&&(e[o+124>>2]=46,e[o+128>>2]=44),4&A&&(e[o+124>>2]=0);break A;default:if((65280&a)!=256)break A;e[s+16>>2]=24+(o+((255&a)<<2)|0),at(A,84249,s+16|0);break A;case 1:e[s+144>>2]=o,e[s+148>>2]=o+4,at(A,85642,s+144|0);break A;case 3:if(a=0,VA(i=s+160|0,0,240),e[s+132>>2]=s+360,e[s+128>>2]=s+320,e[s+124>>2]=s+280,e[s+120>>2]=s+240,e[s+116>>2]=s+200,e[s+112>>2]=i,i=at(A,85037,s+112|0),e[s+412>>2]=i,e[o+152>>2]=0,(0|i)<=0)break A;for(p=e[30450];;){r:if(Mr(c=(s+160|0)+z(a,40)|0,85301)){s:{if((0|(m=e[34454]))>0)for(T=e[34455],A=0;;){if(!Mr(c,T+z(A,68)|0))break s;if((0|m)==(0|(A=A+1|0)))break}e[s+96>>2]=c,hr(p,85562,s+96|0),i=e[s+412>>2];break r}g[156+(a+o|0)|0]=A}if(!((0|i)>(0|(a=a+1|0))))break}break A;case 9:e[s+88>>2]=o+20,e[s+84>>2]=o+16,e[s+80>>2]=o+8,at(A,84778,s+80|0);break A;case 10:_0(A,o+12|0,29);break A;case 5:if((0|(p=Bn(A,s+160|0)))<=0)break A;if(a=0,A=0,p>>>0>=4)for(T=-4&p,c=o+304|0;m=s+160|0,b[c+(A<<1)>>1]=e[m+(A<<2)>>2],b[c+((f=1|A)<<1)>>1]=e[m+(f<<2)>>2],b[c+((f=2|A)<<1)>>1]=e[m+(f<<2)>>2],b[c+((f=3|A)<<1)>>1]=e[m+(f<<2)>>2],A=A+4|0,(0|T)!=(0|(i=i+4|0)););if(!(i=3&p))break A;for(;b[304+(o+(A<<1)|0)>>1]=e[(s+160|0)+(A<<2)>>2],A=A+1|0,(0|i)!=(0|(a=a+1|0)););break A;case 6:if((0|(p=Bn(A,s+160|0)))<=0)break A;if(a=0,A=0,p>>>0>=4)for(T=-4&p,c=o+296|0;m=s+160|0,g[A+c|0]=e[m+(A<<2)>>2],g[(f=1|A)+c|0]=e[m+(f<<2)>>2],g[(f=2|A)+c|0]=e[m+(f<<2)>>2],g[(f=3|A)+c|0]=e[m+(f<<2)>>2],A=A+4|0,(0|T)!=(0|(i=i+4|0)););if(!(i=3&p))break A;for(;g[296+(A+o|0)|0]=e[(s+160|0)+(A<<2)>>2],A=A+1|0,(0|i)!=(0|(a=a+1|0)););break A;case 7:if((0|(p=Bn(A,s+160|0)))<=0)break A;if(a=0,A=0,p>>>0>=4)for(T=-4&p,c=o+304|0;f=m=c+(A<<1)|0,I=M[m>>1],m=s+160|0,b[f>>1]=I+M[m+(A<<2)>>1],b[(I=c+((f=1|A)<<1)|0)>>1]=M[I>>1]+M[m+(f<<2)>>1],b[(I=c+((f=2|A)<<1)|0)>>1]=M[I>>1]+M[m+(f<<2)>>1],b[(I=c+((f=3|A)<<1)|0)>>1]=M[I>>1]+M[m+(f<<2)>>1],A=A+4|0,(0|T)!=(0|(i=i+4|0)););if(!(i=3&p))break A;for(;b[304+(c=o+(A<<1)|0)>>1]=M[c+304>>1]+M[(s+160|0)+(A<<2)>>1],A=A+1|0,(0|i)!=(0|(a=a+1|0)););break A;case 4:g[o+169|0]=1;break A;case 0:}g[o+208|0]=1}else e[s>>2]=Mi(129568,a),hr(e[30450],89101,s);q=s+416|0}else{switch(Bs(131904,r+704|0)-1|0){case 1:if(Y||(g[r+1040|0]=0,e[r+512>>2]=5,e[r+32>>2]=r+1040,e[r+36>>2]=r+512,at(A,86237,r+32|0),e[r+1040>>2]==1769103734&e[r+1044>>2]==7630433))continue;if((A=RA(r+1040|0)+2|0)>>>0<99-ce>>>0&&(g[0|(a=ce+201088|0)]=e[r+512>>2],JA(a+1|0,r+1040|0),ce=A+ce|0),!qt){if(A=0,(a=c=r+1040|0)||(a=e[57150])){if(A=86875,e[24+(s=q-32|0)>>2]=0,e[s+28>>2]=0,e[s+16>>2]=0,e[s+20>>2]=0,e[s+8>>2]=0,e[s+12>>2]=0,e[s>>2]=0,e[s+4>>2]=0,o=0,i=l[86875])if(l[86876]){for(;e[(o=s+(i>>>3&28)|0)>>2]=e[o>>2]|1<<i,i=l[A+1|0],A=A+1|0,i;);A:if(i=l[0|(A=a)])for(;;){if(!(e[s+(i>>>3&28)>>2]>>>i&1))break A;if(i=l[A+1|0],A=A+1|0,!i)break}o=A-a|0}else{for(A=a;s=A,A=A+1|0,l[0|s]==(0|i););o=s-a|0}if(l[0|(A=o+a|0)]){a=86875,q=i=q-32|0,s=g[86875];A:if(l[86876]&&s){if(VA(i,0,32),s=l[86875])for(;e[(o=i+(s>>>3&28)|0)>>2]=e[o>>2]|1<<s,s=l[a+1|0],a=a+1|0,s;);if(a=A,s=l[0|A])for(;;){if(e[i+(s>>>3&28)>>2]>>>s&1)break A;if(s=l[a+1|0],a=a+1|0,!s)break}}else a=Vs(A,s);q=i+32|0,l[0|(a=(a-A|0)+A|0)]?(e[57150]=a+1,g[0|a]=0):e[57150]=0}else e[57150]=0,A=0}a=JA(ye,A),JA(he,A),yi(JA(r+896|0,A)),e[47192]=_e(a),sr(e[32972]+40|0,c,20)}qt=1;continue;case 0:if(Y)continue;for(;a=A,A=A+1|0,(0|(s=g[0|a]))==32|s-9>>>0<5;);sr(201040,a,40);continue;case 2:e[r+1152>>2]=0,a=r+512|0,e[r+48>>2]=a,e[r+52>>2]=r+1152,at(A,86237,r+48|0),g[201200]=Bs(132112,a),g[201201]=e[r+1152>>2];continue;case 4:e[r+64>>2]=he,at(A,86939,r- -64|0);continue;case 3:e[r+80>>2]=r+896,at(A,86939,r+80|0);continue;case 8:if(e[r+1152>>2]=100,e[r+1164>>2]=100,e[r+1148>>2]=100,e[r+112>>2]=r+1144,e[r+1144>>2]=0,e[r+96>>2]=r+512,e[r+100>>2]=r+1152,e[r+104>>2]=r+1164,e[r+108>>2]=r+1148,(0|at(A,91156,r+96|0))<2||(A=e[r+512>>2])>>>0>8||((0|(a=e[r+1152>>2]))>=0&&(s=e[32972]+(A<<1)|0,a=Ne(y=2.56001*+(0|a))<2147483648?~~y:-2147483648,b[s+236>>1]=a,b[s+164>>1]=a),(0|(a=e[r+1164>>2]))>=0&&(s=e[32972]+(A<<1)|0,a=Ne(y=2.56001*+(0|a))<2147483648?~~y:-2147483648,b[s+254>>1]=a,b[s+182>>1]=a),(0|(s=e[r+1148>>2]))<0?a=e[32972]:(c=(a=e[32972])+(A<<1)|0,s=Ne(y=2.56001*+(0|s))<2147483648?~~y:-2147483648,b[c+200>>1]=s),b[218+((A<<1)+a|0)>>1]=e[r+1144>>2],A))continue;b[a+200>>1]=(0|z(b[a+200>>1],105))/100;continue;case 9:if(e[r+132>>2]=r+696,e[r+128>>2]=r+700,(0|at(A,87106,r+128|0))!=2)continue;if(A=e[32972],a=e[r+700>>2],e[A+64>>2]=(a<<12)-36864,e[A+68>>2]=z(e[r+696>>2]-a|0,108),Ne(y=256*(+(a-82|0)/82*.25+1))<2147483648){e[A+116>>2]=~~y;continue}e[A+116>>2]=-2147483648;continue;case 35:tr||yi(r+896|0),e[r+1164>>2]=0,g[r+1156|0]=l[91267],e[r+1152>>2]=l[91263]|l[91264]<<8|l[91265]<<16|l[91266]<<24,e[r+144>>2]=r+1164,e[r+148>>2]=r+512,e[r+152>>2]=r+1152,(0|at(A,91302,r+144|0))<2|e[49848]>59||(A=vn(r+512|0))&&(g[z(e[49848],3)+199408|0]=A,A=vn(r+1152|0),a=e[49848],s=z(a,3)+199408|0,g[s+1|0]=A,e[49848]=a+1,g[s+2|0]=e[r+1164>>2]),tr=1;continue;case 10:e[r+1140>>2]=0,a=e[32972],e[a+100>>2]=0,e[r+164>>2]=a+100,e[r+160>>2]=a+96,at(A,87106,r+160|0);continue;case 11:if(e[r+176>>2]=r+1140,(0|at(A,87268,r+176|0))!=1)continue;e[e[32972]+88>>2]=e[r+1140>>2]<<5;continue;case 12:if(e[r+192>>2]=r+1140,(0|at(A,87268,r+192|0))!=1)continue;e[e[32972]+92>>2]=e[r+1140>>2];continue;case 13:if(e[r+208>>2]=r+1140,(0|at(A,87268,r+208|0))!=1)continue;a=e[32972],(0|(A=e[r+1140>>2]))>=5&&(e[a+108>>2]=1,e[r+1140>>2]=4,A=4),e[a+104>>2]=A+1;continue;case 14:for(e[r+552>>2]=-1,e[r+556>>2]=-1,e[r+544>>2]=-1,e[r+548>>2]=-1,e[r+536>>2]=-1,e[r+540>>2]=-1,e[r+528>>2]=-1,e[r+532>>2]=-1,e[r+240>>2]=At,e[r+244>>2]=SA,e[r+248>>2]=GA,e[r+252>>2]=fA,e[r+256>>2]=aA,e[r+260>>2]=Xe,e[r+520>>2]=-1,e[r+524>>2]=-1,e[r+512>>2]=-1,e[r+516>>2]=-1,e[r+228>>2]=Nt,e[r+232>>2]=bt,e[r+236>>2]=ct,e[r+224>>2]=r+512,at(A,84222,r+224|0),T=e[32972],A=0,i=e[r+516>>2],s=0;;){if(a=s,o=i,c=A,(0|(s=e[(i=(A<<=2)+(r+512|0)|0)>>2]))==-1&&(s=8e3,e[i>>2]=8e3,c&&(e[(r+512|0)+(4|A)>>2]=e[508+(A+r|0)>>2])),i=e[(r+512|0)+(4|A)>>2],!((0|a)>=(0|(s=(0|s)/8|0))||(0|(m=s-a|0))<=0||(p=a+1|0,A=a,1&m&&(g[344+(a+T|0)|0]=(0|o)>=255?255:o,A=p),(0|s)==(0|p))))for(p=i-o|0;I=T+344|0,f=o+((0|z(p,A-a|0))/(0|m)|0)|0,g[I+A|0]=(0|f)>=255?255:f,f=o+((0|z(p,(De=A+1|0)-a|0))/(0|m)|0)|0,g[I+De|0]=(0|f)>=255?255:f,(0|s)!=(0|(A=A+2|0)););if(A=c+2|0,!(c>>>0<10))break}continue;case 15:if(e[r+272>>2]=r+1140,(0|at(A,87268,r+272|0))!=1)continue;e[e[32972]+112>>2]=(e[r+1140>>2]<<6)/100;continue;case 16:a=e[32972],e[(s=a+300|0)>>2]=0,e[s+4>>2]=0,e[(i=a+292|0)>>2]=0,e[i+4>>2]=0,e[(o=a+284|0)>>2]=0,e[o+4>>2]=0,e[(c=a+276|0)>>2]=0,e[c+4>>2]=0,e[r+316>>2]=a+304,e[r+312>>2]=s,e[r+308>>2]=a+296,e[r+304>>2]=i,e[r+300>>2]=a+288,e[r+296>>2]=o,e[r+292>>2]=a+280,e[r+288>>2]=c,a=at(A,84553,r+288|0),A=e[32972],e[A+272>>2]=a,e[A+276>>2]=0-e[A+276>>2],e[A+284>>2]=0-e[A+284>>2],e[A+292>>2]=0-e[A+292>>2],e[A+300>>2]=0-e[A+300>>2];continue;case 17:a=e[32972],e[(s=a+336|0)>>2]=0,e[s+4>>2]=0,e[(i=a+328|0)>>2]=0,e[i+4>>2]=0,e[(o=a+320|0)>>2]=0,e[o+4>>2]=0,e[(c=a+312|0)>>2]=0,e[c+4>>2]=0,e[r+348>>2]=a+340,e[r+344>>2]=s,e[r+340>>2]=a+332,e[r+336>>2]=i,e[r+332>>2]=a+324,e[r+328>>2]=o,e[r+324>>2]=a+316,e[r+320>>2]=c,A=at(A,84553,r+320|0),e[e[32972]+308>>2]=A;continue;case 36:a=e[32972],e[r+352>>2]=a+120,e[r+356>>2]=a+124,e[r+1140>>2]=at(A,87106,r+352|0);continue;case 33:e[r+368>>2]=e[32972]+84,at(A,87268,r+368|0),Hs(3);continue;case 31:a=e[32972],e[(s=a+156|0)>>2]=0,e[s+4>>2]=0,e[(i=a+148|0)>>2]=0,e[i+4>>2]=0,e[(o=a+140|0)>>2]=0,e[o+4>>2]=0,e[(c=a+132|0)>>2]=0,e[c+4>>2]=0,e[r+412>>2]=a+160,e[r+408>>2]=s,e[r+404>>2]=a+152,e[r+400>>2]=i,e[r+396>>2]=a+144,e[r+392>>2]=o,e[r+388>>2]=a+136,e[r+384>>2]=c,at(A,84553,r+384|0),A=e[32972],e[A+152>>2]=e[A+152>>2]-40;continue;case 32:e[r+416>>2]=145740,at(A,87268,r+416|0),Hs(3);continue;case 6:case 7:continue}e[r+16>>2]=r+704,hr(Re,87359,r+16|0)}}ra(_)}A:{if((A=e[47192])|Y){if(Y)break A}else A=_e(ye),e[47192]=A;r:{if(!K){if((0|(A=yi(r+896|0)))<0&&(e[r>>2]=r+896,hr(e[30450],87567,r),A=0),e[e[32972]+60>>2]=A,a=e[47192],e[a+292>>2]=A,_a(a,he,4&t),l[132848])break r;P0(e[47192]),a=0;break e}e[e[32972]+60>>2]=0,e[A+292>>2]=0}g[ce+201088|0]=0}a=e[32972]}return q=r+1168|0,a}function at(A,t,r){var a,s,i,o=0,c=0,f=0,m=0,p=0,I=0,y=0,T=0,Y=0,K=0,_=0,ce=0,he=0,ye=0,De=0,Re=0,Xe=0,aA=0,fA=0;q=i=q-16|0,e[i+12>>2]=r,q=o=q-144|0,a=VA(o,0,144),e[a+76>>2]=-1,e[a+44>>2]=A,e[a+32>>2]=18,e[a+84>>2]=A,o=t,Xe=r,A=0,q=s=q-304|0;e:{A:{r:if(e[a+4>>2]||(Vi(a),e[a+4>>2])){if(!(t=l[0|o]))break e;s:{i:{c:{o:{for(;;){u:{l:if((0|(t&=255))==32|t-9>>>0<5){for(;t=o,o=o+1|0,(0|(r=l[t+1|0]))==32|r-9>>>0<5;);for(es(a,0,0);(0|(r=e[a+4>>2]))==e[a+104>>2]?r=vA(a):(e[a+4>>2]=r+1,r=l[0|r]),(0|r)==32|r-9>>>0<5;);o=e[a+4>>2],(0|(r=e[a+116>>2]))>0|(0|r)>=0&&(o=o-1|0,e[a+4>>2]=o),o=r=o-e[a+44>>2]|0,p=ce+e[a+124>>2]|0,p=(c=r>>31)+((r=Y+e[a+120>>2]|0)>>>0<Y>>>0?p+1|0:p)|0,ce=(Y=r+o|0)>>>0<r>>>0?p+1|0:p}else{n:{p:{C:{if(l[0|o]==37){if((0|(t=l[o+1|0]))==42)break C;if((0|t)!=37)break p}if(es(a,0,0),l[0|o]!=37)(0|(t=e[a+4>>2]))==e[a+104>>2]?t=vA(a):(e[a+4>>2]=t+1,t=l[0|t]);else{for(;(0|(t=e[a+4>>2]))==e[a+104>>2]?t=vA(a):(e[a+4>>2]=t+1,t=l[0|t]),(0|t)==32|t-9>>>0<5;);o=o+1|0}if(l[0|o]!=(0|t)){if((0|(r=e[a+116>>2]))>0|(0|r)>=0&&(e[a+4>>2]=e[a+4>>2]-1),(0|t)>=0||(f=0,aA))break e;break r}m=(c=t=e[a+4>>2]-e[a+44>>2]|0)>>31,t=ce+e[a+124>>2]|0,f=((r=Y+e[a+120>>2]|0)>>>0<Y>>>0?t+1|0:t)+m|0,ce=(Y=r+c|0)>>>0<r>>>0?f+1|0:f,t=o;break l}I=0,t=o+2|0;break n}l[o+2|0]!=36|t-48>>>0>=10?(I=e[Xe>>2],Xe=Xe+4|0,t=o+1|0):(t=l[o+1|0]-48|0,e[12+(r=q-16|0)>>2]=Xe,t=(t>>>0>1?(t<<2)-4|0:0)+Xe|0,e[r+8>>2]=t+4,I=e[t>>2],t=o+3|0)}if(y=0,o=0,l[0|t]-48>>>0<10)for(;
2737o=(l[0|t]+z(o,10)|0)-48|0,r=l[t+1|0],t=t+1|0,r-48>>>0<10;);(0|(K=l[0|t]))==109&&(T=0,y=!!(0|I),K=l[t+1|0],A=0,t=t+1|0),t=(r=t)+1|0,c=3,f=y;n:{p:switch(K-65|0){case 39:c=r+2|0,t=(r=l[r+1|0]==104)?c:t,c=r?-2:-1;break n;case 43:c=r+2|0,t=(r=l[r+1|0]==108)?c:t,c=r?3:1;break n;case 51:case 57:c=1;break n;case 11:c=2;break n;case 41:break n;case 0:case 2:case 4:case 5:case 6:case 18:case 23:case 26:case 32:case 34:case 35:case 36:case 37:case 38:case 40:case 45:case 46:case 47:case 50:case 52:case 55:break p;default:break s}c=0,t=r}f=c,De=(c=(47&(r=l[0|t]))==3)?1:f;n:if((0|(ye=c?32|r:r))!=91){p:{if((0|ye)!=110){if((0|ye)!=99)break p;o=(0|o)<=1?1:o;break n}G0(I,De,Y,ce);break l}for(es(a,0,0);(0|(r=e[a+4>>2]))==e[a+104>>2]?r=vA(a):(e[a+4>>2]=r+1,r=l[0|r]),(0|r)==32|r-9>>>0<5;);r=e[a+4>>2],(0|(c=e[a+116>>2]))>0|(0|c)>=0&&(r=r-1|0,e[a+4>>2]=r),c=r=r-e[a+44>>2]|0,p=ce+e[a+124>>2]|0,ce=(f=r>>31)+((r=Y+e[a+120>>2]|0)>>>0<Y>>>0?p+1|0:p)|0,ce=(Y=r+c|0)>>>0<r>>>0?ce+1|0:ce}if(_=o,es(a,o,he=o>>31),(0|(r=e[a+4>>2]))==e[a+104>>2]){if((0|vA(a))<0)break i}else e[a+4>>2]=r+1;(0|(r=e[a+116>>2]))>0|(0|r)>=0&&(e[a+4>>2]=e[a+4>>2]-1),r=16;n:{p:{C:{m:{switch(ye-88|0){default:if((r=ye-65|0)>>>0>6|!(1<<r&113))break n;case 9:case 13:case 14:case 15:if(NA(s+8|0,a,De,0),r=e[a+4>>2]-e[a+44>>2]|0,e[a+120>>2]!=(0-r|0)|e[a+124>>2]!=(0-((r>>31)+!!(0|r)|0)|0))break C;break c;case 3:case 11:case 27:if((16|ye)==115){if(VA(s+32|0,-1,257),g[s+32|0]=0,(0|ye)!=115)break p;g[s+65|0]=0,g[s+46|0]=0,b[s+42>>1]=0,b[s+44>>1]=0;break p}VA(s+32|0,m=(0|(c=l[t+1|0]))==94,257),g[s+32|0]=0,r=m?t+2|0:t+1|0;b:{h:{E:{if((0|(t=l[(m?2:1)+t|0]))!=45){if((0|t)==93)break E;c=(0|c)!=94,t=r;break b}c=(0|c)!=94,g[s+78|0]=c;break h}c=(0|c)!=94,g[s+126|0]=c}t=r+1|0}for(;;){if((0|(r=l[0|t]))==45){if(r=45,!(!(m=l[t+1|0])|(0|m)==93)){if(f=t+1|0,m>>>0<=(t=l[t-1|0])>>>0)r=m;else for(;g[(t=t+1|0)+(s+32|0)|0]=c,(r=l[0|f])>>>0>t>>>0;);t=f}}else{if(!r)break i;if((0|r)==93)break p}g[33+(r+s|0)|0]=c,t=t+1|0}case 23:r=8;break m;case 12:case 29:r=10;break m;case 1:case 2:case 4:case 5:case 6:case 7:case 8:case 10:case 16:case 18:case 19:case 20:case 21:case 22:case 25:case 26:case 28:case 30:case 31:break n;case 0:case 24:case 32:break m;case 17:}r=0}m=0,p=0,c=0,f=0,K=0,q=Re=q-16|0;m:if((0|r)!=1&r>>>0<=36){for(;(0|(o=e[a+4>>2]))==e[a+104>>2]?o=vA(a):(e[a+4>>2]=o+1,o=l[0|o]),(0|o)==32|o-9>>>0<5;);b:{h:switch(o-43|0){case 0:case 2:break h;default:break b}K=(0|o)==45?-1:0,(0|(o=e[a+4>>2]))==e[a+104>>2]?o=vA(a):(e[a+4>>2]=o+1,o=l[0|o])}b:{h:{E:{w:{if(!(!!(0|r)&(0|r)!=16|(0|o)!=48)){if((0|(o=e[a+4>>2]))==e[a+104>>2]?o=vA(a):(e[a+4>>2]=o+1,o=l[0|o]),(-33&o)==88){if(r=16,(0|(o=e[a+4>>2]))==e[a+104>>2]?o=vA(a):(e[a+4>>2]=o+1,o=l[0|o]),l[o+121329|0]<16)break E;(0|(r=e[a+116>>2]))>0|(0|r)>=0&&(e[a+4>>2]=e[a+4>>2]-1),es(a,0,0);break m}if(r)break w;r=8;break E}if(!((r=r||10)>>>0>l[o+121329|0])){(0|(r=e[a+116>>2]))>0|(0|r)>=0&&(e[a+4>>2]=e[a+4>>2]-1),es(a,0,0),e[56798]=28;break m}}if((0|r)==10){if((c=o-48|0)>>>0<=9){for(r=0;f=(r=z(r,10)+c|0)>>>0<429496729,(0|(o=e[a+4>>2]))==e[a+104>>2]?o=vA(a):(e[a+4>>2]=o+1,o=l[0|o]),f&(c=o-48|0)>>>0<=9;);m=r}w:if(!(c>>>0>9)){for(r=kt(m,0,10,0),f=J;;){if(p=f,f=(0|(p=(m=r+c|0)>>>0<c>>>0?p+1|0:p))==429496729&m>>>0>=2576980378|p>>>0>429496729,(0|(r=e[a+4>>2]))==e[a+104>>2]?o=vA(a):(e[a+4>>2]=r+1,o=l[0|r]),f|(c=o-48|0)>>>0>9)break w;if(r=kt(m,p,10,0),!((0|(f=J))==-1&~c>>>0>=r>>>0|(0|f)!=-1))break}r=10;break h}if(r=10,c>>>0<=9)break h;break b}}if(r-1&r){if((f=l[o+121329|0])>>>0<r>>>0){for(;m=(c=z(r,c)+f|0)>>>0<119304647,(0|(o=e[a+4>>2]))==e[a+104>>2]?o=vA(a):(e[a+4>>2]=o+1,o=l[0|o]),m&(f=l[o+121329|0])>>>0<r>>>0;);m=c}if(r>>>0<=f>>>0)break h;for(;;){if(c=kt(m,p,r,0),(0|(_=J))==-1&~(f&=255)>>>0<c>>>0||(p=_,p=(m=c+f|0)>>>0<f>>>0?p+1|0:p,(0|(o=e[a+4>>2]))==e[a+104>>2]?o=vA(a):(e[a+4>>2]=o+1,o=l[0|o]),r>>>0<=(f=l[o+121329|0])>>>0))break h;if(Jr(Re,r,0,0,0,m,p,0,0),e[Re+8>>2]|e[Re+12>>2])break}}else{if(_=g[84400+(z(r,23)>>>5&7)|0],(c=l[o+121329|0])>>>0<r>>>0){for(;m=(f=f<<_|c)>>>0<134217728,(0|(o=e[a+4>>2]))==e[a+104>>2]?o=vA(a):(e[a+4>>2]=o+1,o=l[0|o]),m&(c=l[o+121329|0])>>>0<r>>>0;);m=f}if(!(r>>>0<=c>>>0||(he=31&_,(63&_)>>>0>=32?(f=0,he=-1>>>he|0):he=(f=-1>>>he|0)|(1<<he)-1<<32-he,!f&m>>>0>he>>>0)))for(;;){if(fA=255&c,c=m,o=31&_,(63&_)>>>0>=32?(p=c<<o,o=0):(p=(1<<o)-1&c>>>32-o|p<<o,o=c<<o),m=fA|o,(0|(o=e[a+4>>2]))==e[a+104>>2]?o=vA(a):(e[a+4>>2]=o+1,o=l[0|o]),r>>>0<=(c=l[o+121329|0])>>>0)break h;if(!((0|f)==(0|p)&m>>>0<=he>>>0|f>>>0>p>>>0))break}}}if(!(l[o+121329|0]>=r>>>0)){for(;(0|(o=e[a+4>>2]))==e[a+104>>2]?o=vA(a):(e[a+4>>2]=o+1,o=l[0|o]),l[o+121329|0]<r>>>0;);e[56798]=68,K=0,m=-1,p=-1}}(0|(r=e[a+116>>2]))>0|(0|r)>=0&&(e[a+4>>2]=e[a+4>>2]-1),m=(r=m^K)-K|0,p=((o=K>>31)^p)-((r>>>0<K>>>0)+o|0)|0}else e[56798]=28;if(q=Re+16|0,r=e[a+4>>2]-e[a+44>>2]|0,e[a+120>>2]==(0-r|0)&e[a+124>>2]==(0-((r>>31)+!!(0|r)|0)|0))break c;if(!(!I|(0|ye)!=112)){e[I>>2]=m;break n}G0(I,De,m,p);break n}if(!I)break n;o=e[s+16>>2],r=e[s+20>>2],c=e[s+8>>2],y=e[s+12>>2];C:switch(0|De){case 0:q=p=q-32|0;m:if(0|(f=(m=2147483647&r)-1065418752|0)>>>0<(_=m-1082064896|0)>>>0){if(m=(33554431&r)<<7|o>>>25,_=f=0,!(!f&(0|(o&=33554431))==16777216?!(c|y):!f&o>>>0<16777216)){f=m+1073741825|0;break m}if(f=m+1073741824|0,16777216^o|c|y|_)break m;f=(1&m)+f|0}else(!o&(0|m)==2147418112?!(c|y):m>>>0<2147418112)?(f=2139095040,m>>>0>1082064895||(f=0,(m=m>>>16|0)>>>0<16145||(Aa(p+16|0,c,y,o,f=65535&r|65536,m-16129|0),Ya(p,c,y,o,f,16257-m|0),o=e[p+8>>2],f=(33554431&e[p+12>>2])<<7|o>>>25,m=e[p>>2]|!!(e[p+16>>2]|e[p+24>>2]|e[p+20>>2]|e[p+28>>2]),y=e[p+4>>2],(!(c=0)&(0|(o&=33554431))==16777216?!(m|y):!c&o>>>0<16777216)?16777216^o|m|c|y||(f=(1&f)+f|0):f=f+1|0))):f=4194303&((33554431&r)<<7|o>>>25)|2143289344;q=p+32|0,e[I>>2]=-2147483648&r|f;break n;case 1:D[I>>3]=Ds(c,y,o,r);break n;case 2:break C;default:break n}e[I>>2]=c,e[I+4>>2]=y,e[I+8>>2]=o,e[I+12>>2]=r;break n}c=(Re=(0|ye)!=99)?31:o+1|0;p:if((0|De)!=1){if(y){if(o=0,!(r=It(c)))break o;for(;;){for(A=r;;){if((0|(r=e[a+4>>2]))==e[a+104>>2]?r=vA(a):(e[a+4>>2]=r+1,r=l[0|r]),!l[33+(r+s|0)|0]){c=0,T=A;break p}if(g[A+o|0]=r,(0|c)==(0|(o=o+1|0)))break}if(f=1,!(r=qr(A,c=c<<1|1)))break}T=A,A=0;break s}if(o=0,I)for(;;){if((0|(A=e[a+4>>2]))==e[a+104>>2]?A=vA(a):(e[a+4>>2]=A+1,A=l[0|A]),!l[33+(A+s|0)|0]){c=0,T=A=I;break p}g[o+I|0]=A,o=o+1|0}for(;(0|(A=e[a+4>>2]))==e[a+104>>2]?A=vA(a):(e[a+4>>2]=A+1,A=l[0|A]),l[33+(A+s|0)|0];);A=0,T=0,c=0}
vendor: 11,395 bytes, line 2737
2737else{if(r=I,y&&!(r=It(c<<2)))break o;for(e[s+296>>2]=0,e[s+300>>2]=0,o=0;;){A=r;C:{for(;;){if((0|(r=e[a+4>>2]))==e[a+104>>2]?r=vA(a):(e[a+4>>2]=r+1,r=l[0|r]),!l[33+(r+s|0)|0])break C;g[s+27|0]=r,m=s+28|0,r=e[(f=(r=s+296|0)||228604)>>2];m:{b:{h:{E:{if(!(T=s+27|0)){if(r)break E;r=0;break m}if(!r){if((0|(p=(r=l[0|T])<<24>>24))>=0){m&&(e[m>>2]=r),r=!!(0|p);break m}if(!e[e[56841]>>2]){if(r=1,!m)break h;e[m>>2]=57343&p,r=1;break m}if((r=r-194|0)>>>0>50)break E;r=e[124752+(r<<2)>>2];break b}if(K=1,!(((De=(p=l[0|T])>>>3|0)-16|(r>>26)+De)>>>0>7))for(;;){if(K=K-1|0,(0|(r=p-128|r<<6))>=0){e[f>>2]=0,m&&(e[m>>2]=r),r=1-K|0;break m}if(!K)break b;if((192&(p=l[0|(T=T+1|0)]))!=128)break}}e[f>>2]=0,e[56798]=25,r=-1}break m}e[f>>2]=r,r=-2}if((0|r)!=-2){if(T=0,(0|r)==-1)break i;if(A&&(e[(o<<2)+A>>2]=e[s+28>>2],o=o+1|0),!(!y|(0|o)!=(0|c)))break}}if(f=1,r=qr(A,(c=c<<1|1)<<2))continue;break s}break}if(T=0,c=A,s+296|0&&e[s+296>>2])break i}if(r=e[a+4>>2],(0|(m=e[a+116>>2]))>0|(0|m)>=0&&(r=r-1|0,e[a+4>>2]=r),r=(m=r-e[a+44>>2]|0)+e[a+120>>2]|0,p=e[a+124>>2]+(m>>31)|0,!((p=r>>>0<m>>>0?p+1|0:p)|r)|!(Re|(0|r)==(0|_)&(0|p)==(0|he)))break u;y&&(e[I>>2]=A),(0|ye)!=99&&(c&&(e[(o<<2)+c>>2]=0),T?g[o+T|0]=0:T=0),A=c}o=r=e[a+4>>2]-e[a+44>>2]|0,f=ce+e[a+124>>2]|0,ce=(c=r>>31)+((r=Y+e[a+120>>2]|0)>>>0<Y>>>0?f+1|0:f)|0,ce=(Y=r+o|0)>>>0<r>>>0?ce+1|0:ce,aA=!!(0|I)+aA|0}if(o=t+1|0,t=l[t+1|0])continue;break e}break}A=c;break c}f=1,T=0,A=0;break s}f=y;break A}f=y}if(aA)break A}aA=-1}f&&(yt(T),yt(A))}return q=s+304|0,q=a+144|0,q=i+16|0,aA}function It(A){var t,r=0,a=0,s=0,i=0,o=0,c=0,f=0,m=0,p=0,I=0;q=t=q-16|0;e:{A:{r:{s:{i:{c:{o:{u:{l:{if((A|=0)>>>0<=244){if(3&(r=(c=e[57152])>>>(a=(f=A>>>0<11?16:A+11&-8)>>>3|0)|0)){r=228648+(A=(a=a+(1&~r)|0)<<3)|0,s=e[A+228656>>2],(0|r)!=(0|(A=e[s+8>>2]))?(e[A+12>>2]=r,e[r+8>>2]=A):e[57152]=sa(-2,a)&c,A=s+8|0,r=a<<3,e[s+4>>2]=3|r,e[4+(r=r+s|0)>>2]=1|e[r+4>>2];break e}if((I=e[57154])>>>0>=f>>>0)break l;if(r){r=228648+(A=(s=Ti(0-(A=(0-(A=2<<a)|A)&r<<a)&A))<<3)|0,i=e[A+228656>>2],(0|r)!=(0|(A=e[i+8>>2]))?(e[A+12>>2]=r,e[r+8>>2]=A):(c=sa(-2,s)&c,e[57152]=c),e[i+4>>2]=3|f,s=(A=s<<3)-f|0,e[4+(a=i+f|0)>>2]=1|s,e[A+i>>2]=s,I&&(r=228648+(-8&I)|0,o=e[57157],(A=1<<(I>>>3))&c?A=e[r+8>>2]:(e[57152]=A|c,A=r),e[r+8>>2]=o,e[A+12>>2]=o,e[o+12>>2]=r,e[o+8>>2]=A),A=i+8|0,e[57157]=a,e[57154]=s;break e}if(!(p=e[57153]))break l;for(a=e[228912+(Ti(0-p&p)<<2)>>2],o=(-8&e[a+4>>2])-f|0,r=a;(A=e[r+16>>2])||(A=e[r+20>>2]);)o=(s=(r=(-8&e[A+4>>2])-f|0)>>>0<o>>>0)?r:o,a=s?A:a,r=A;if(m=e[a+24>>2],(0|(s=e[a+12>>2]))!=(0|a)){A=e[a+8>>2],e[A+12>>2]=s,e[s+8>>2]=A;break A}if(!(A=e[(r=a+20|0)>>2])){if(!(A=e[a+16>>2]))break u;r=a+16|0}for(;i=r,s=A,(A=e[(r=A+20|0)>>2])||(r=s+16|0,A=e[s+16>>2]););e[i>>2]=0;break A}if(f=-1,!(A>>>0>4294967231)&&(f=-8&(A=A+11|0),p=e[57153])){o=0-f|0,c=0,f>>>0<256||(c=31,f>>>0>16777215||(c=62+((f>>>38-(A=Oe(A>>>8|0))&1)-(A<<1)|0)|0));n:{p:{if(r=e[228912+(c<<2)>>2])for(A=0,a=f<<((0|c)!=31?25-(c>>>1|0):0);;){if(!((i=(-8&e[r+4>>2])-f|0)>>>0>=o>>>0||(s=r,o=i,i))){o=0,A=r;break p}if(i=e[r+20>>2],r=e[16+((a>>>29&4)+r|0)>>2],A=i?(0|i)==(0|r)?A:i:A,a<<=1,!r)break}else A=0;if(!(A|s)){if(s=0,!(A=(0-(A=2<<c)|A)&p))break l;A=e[228912+(Ti(A&0-A)<<2)>>2]}if(!A)break n}for(;o=(a=(r=(-8&e[A+4>>2])-f|0)>>>0<o>>>0)?r:o,s=a?A:s,A=(r=e[A+16>>2])||e[A+20>>2];);}if(!(!s|e[57154]-f>>>0<=o>>>0)){if(c=e[s+24>>2],(0|s)!=(0|(a=e[s+12>>2]))){A=e[s+8>>2],e[A+12>>2]=a,e[a+8>>2]=A;break r}if(!(A=e[(r=s+20|0)>>2])){if(!(A=e[s+16>>2]))break o;r=s+16|0}for(;i=r,a=A,(A=e[(r=A+20|0)>>2])||(r=a+16|0,A=e[a+16>>2]););e[i>>2]=0;break r}}}if((A=e[57154])>>>0>=f>>>0){s=e[57157],(r=A-f|0)>>>0>=16?(e[4+(a=s+f|0)>>2]=1|r,e[A+s>>2]=r,e[s+4>>2]=3|f):(e[s+4>>2]=3|A,e[4+(A=A+s|0)>>2]=1|e[A+4>>2],a=0,r=0),e[57154]=r,e[57157]=a,A=s+8|0;break e}if((m=e[57155])>>>0>f>>>0){r=m-f|0,e[57155]=r,A=(a=e[57158])+f|0,e[57158]=A,e[A+4>>2]=1|r,e[a+4>>2]=3|f,A=a+8|0;break e}if(A=0,p=f+47|0,e[57270]?a=e[57272]:(e[57273]=-1,e[57274]=-1,e[57271]=4096,e[57272]=4096,e[57270]=t+12&-16^1431655768,e[57275]=0,e[57263]=0,a=4096),(r=(i=p+a|0)&(o=0-a|0))>>>0<=f>>>0||(s=e[57262])&&s>>>0<(c=(a=e[57260])+r|0)>>>0|a>>>0>=c>>>0)break e;l:{if(!(4&l[229052])){n:{p:{C:{m:{if(s=e[57158])for(A=229056;;){if((a=e[A>>2])>>>0<=s>>>0&s>>>0<a+e[A+4>>2]>>>0)break m;if(!(A=e[A+8>>2]))break}if((0|(a=li(0)))==-1||(c=r,(A=(s=e[57271])-1|0)&a&&(c=(r-a|0)+(A+a&0-s)|0),c>>>0<=f>>>0)||(s=e[57262])&&s>>>0<(o=(A=e[57260])+c|0)>>>0|A>>>0>=o>>>0)break n;if((0|a)!=(0|(A=li(c))))break C;break l}if((0|(a=li(c=o&i-m)))==(e[A>>2]+e[A+4>>2]|0))break p;A=a}if((0|A)==-1)break n;if(f+48>>>0<=c>>>0){a=A;break l}if((0|li(a=(a=e[57272])+(p-c|0)&0-a))==-1)break n;c=a+c|0,a=A;break l}if((0|a)!=-1)break l}e[57263]=4|e[57263]}if((0|(a=li(r)))==-1|(0|(A=li(0)))==-1|A>>>0<=a>>>0||(c=A-a|0)>>>0<=f+40>>>0)break s}A=e[57260]+c|0,e[57260]=A,A>>>0>ue[57261]&&(e[57261]=A);l:{if(i=e[57158]){for(A=229056;;){if(((s=e[A>>2])+(r=e[A+4>>2])|0)==(0|a))break l;if(!(A=e[A+8>>2]))break}break c}for((A=e[57156])>>>0<=a>>>0&&A||(e[57156]=a),A=0,e[57265]=c,e[57264]=a,e[57160]=-1,e[57161]=e[57270],e[57267]=0;r=228648+(s=A<<3)|0,e[s+228656>>2]=r,e[s+228660>>2]=r,(0|(A=A+1|0))!=32;);r=(s=c-40|0)-(A=a+8&7?-8-a&7:0)|0,e[57155]=r,A=A+a|0,e[57158]=A,e[A+4>>2]=1|r,e[4+(a+s|0)>>2]=40,e[57159]=e[57274];break i}if(8&l[A+12|0]|s>>>0>i>>>0|a>>>0<=i>>>0)break c;e[A+4>>2]=r+c,a=(A=i+8&7?-8-i&7:0)+i|0,e[57158]=a,A=(r=e[57155]+c|0)-A|0,e[57155]=A,e[a+4>>2]=1|A,e[4+(r+i|0)>>2]=40,e[57159]=e[57274];break i}s=0;break A}a=0;break r}ue[57156]>a>>>0&&(e[57156]=a),r=a+c|0,A=229056;c:{o:{u:{l:{n:{p:{for(;;){if((0|r)!=e[A>>2]){if(A=e[A+8>>2])continue;break p}break}if(!(8&l[A+12|0]))break n}for(A=229056;;){if((r=e[A>>2])>>>0<=i>>>0&&(o=r+e[A+4>>2]|0)>>>0>i>>>0)break l;A=e[A+8>>2]}}if(e[A>>2]=a,e[A+4>>2]=e[A+4>>2]+c,e[4+(p=(a+8&7?-8-a&7:0)+a|0)>>2]=3|f,A=(c=r+(r+8&7?-8-r&7:0)|0)-(m=f+p|0)|0,(0|i)==(0|c)){e[57158]=m,A=e[57155]+A|0,e[57155]=A,e[m+4>>2]=1|A;break o}if(e[57157]==(0|c)){e[57157]=m,A=e[57154]+A|0,e[57154]=A,e[m+4>>2]=1|A,e[A+m>>2]=A;break o}if((3&(o=e[c+4>>2]))==1){i=-8&o;n:if(o>>>0<=255){if(s=e[c+8>>2],r=o>>>3|0,(0|(a=e[c+12>>2]))==(0|s)){e[57152]=e[57152]&sa(-2,r);break n}e[s+12>>2]=a,e[a+8>>2]=s}else{if(f=e[c+24>>2],(0|c)==(0|(a=e[c+12>>2])))if((r=e[(o=c+20|0)>>2])||(r=e[(o=c+16|0)>>2])){for(;s=o,(r=e[(o=(a=r)+20|0)>>2])||(o=a+16|0,r=e[a+16>>2]););e[s>>2]=0}else a=0;else r=e[c+8>>2],e[r+12>>2]=a,e[a+8>>2]=r;if(f){s=e[c+28>>2];p:{if(e[(r=228912+(s<<2)|0)>>2]==(0|c)){if(e[r>>2]=a,a)break p;e[57153]=e[57153]&sa(-2,s);break n}if(e[f+(e[f+16>>2]==(0|c)?16:20)>>2]=a,!a)break n}e[a+24>>2]=f,(r=e[c+16>>2])&&(e[a+16>>2]=r,e[r+24>>2]=a),(r=e[c+20>>2])&&(e[a+20>>2]=r,e[r+24>>2]=a)}}o=e[4+(c=i+c|0)>>2],A=A+i|0}if(e[c+4>>2]=-2&o,e[m+4>>2]=1|A,e[A+m>>2]=A,A>>>0<=255){r=228648+(-8&A)|0,(a=e[57152])&(A=1<<(A>>>3))?A=e[r+8>>2]:(e[57152]=A|a,A=r),e[r+8>>2]=m,e[A+12>>2]=m,e[m+12>>2]=r,e[m+8>>2]=A;break o}if(o=31,A>>>0<=16777215&&(o=62+((A>>>38-(r=Oe(A>>>8|0))&1)-(r<<1)|0)|0),e[m+28>>2]=o,e[m+16>>2]=0,e[m+20>>2]=0,r=228912+(o<<2)|0,(s=e[57153])&(a=1<<o)){for(o=A<<((0|o)!=31?25-(o>>>1|0):0),a=e[r>>2];;){if(r=a,(-8&e[a+4>>2])==(0|A))break u;if(a=o>>>29|0,o<<=1,!(a=e[16+(s=(4&a)+r|0)>>2]))break}e[s+16>>2]=m}else e[57153]=a|s,e[r>>2]=m;e[m+24>>2]=r,e[m+12>>2]=m,e[m+8>>2]=m;break o}for(r=(s=c-40|0)-(A=a+8&7?-8-a&7:0)|0,e[57155]=r,A=A+a|0,e[57158]=A,e[A+4>>2]=1|r,e[4+(a+s|0)>>2]=40,e[57159]=e[57274],e[(s=(A=(o+(o-39&7?39-o&7:0)|0)-47|0)>>>0<i+16>>>0?i:A)+4>>2]=27,A=e[57267],e[s+16>>2]=e[57266],e[s+20>>2]=A,A=e[57265],e[s+8>>2]=e[57264],e[s+12>>2]=A,e[57266]=s+8,e[57265]=c,e[57264]=a,e[57267]=0,A=s+24|0;e[A+4>>2]=7,r=A+8|0,A=A+4|0,r>>>0<o>>>0;);if((0|s)==(0|i))break i;if(e[s+4>>2]=-2&e[s+4>>2],o=s-i|0,e[i+4>>2]=1|o,e[s>>2]=o,o>>>0<=255){r=228648+(-8&o)|0,(a=e[57152])&(A=1<<(o>>>3))?A=e[r+8>>2]:(e[57152]=A|a,A=r),e[r+8>>2]=i,e[A+12>>2]=i,e[i+12>>2]=r,e[i+8>>2]=A;break i}if(A=31,o>>>0<=16777215&&(A=62+((o>>>38-(A=Oe(o>>>8|0))&1)-(A<<1)|0)|0),e[i+28>>2]=A,e[i+16>>2]=0,e[i+20>>2]=0,r=228912+(A<<2)|0,(s=e[57153])&(a=1<<A)){for(A=o<<((0|A)!=31?25-(A>>>1|0):0),s=e[r>>2];;){if((0|o)==(-8&e[(r=s)+4>>2]))break c;if(a=A>>>29|0,A<<=1,!(s=e[16+(a=(4&a)+r|0)>>2]))break}e[a+16>>2]=i}else e[57153]=a|s,e[r>>2]=i;e[i+24>>2]=r,e[i+12>>2]=i,e[i+8>>2]=i;break i}A=e[r+8>>2],e[A+12>>2]=m,e[r+8>>2]=m,e[m+24>>2]=0,e[m+12>>2]=r,e[m+8>>2]=A}A=p+8|0;break e}A=e[r+8>>2],e[A+12>>2]=i,e[r+8>>2]=i,e[i+24>>2]=0,e[i+12>>2]=r,e[i+8>>2]=A}if(!((A=e[57155])>>>0<=f>>>0)){r=A-f|0,e[57155]=r,A=(a=e[57158])+f|0,e[57158]=A,e[A+4>>2]=1|r,e[a+4>>2]=3|f,A=a+8|0;break e}}e[56798]=48,A=0;break e}r:if(c){r=e[s+28>>2];s:{if(e[(A=228912+(r<<2)|0)>>2]==(0|s)){if(e[A>>2]=a,a)break s;p=sa(-2,r)&p,e[57153]=p;break r}if(e[c+(e[c+16>>2]==(0|s)?16:20)>>2]=a,!a)break r}e[a+24>>2]=c,(A=e[s+16>>2])&&(e[a+16>>2]=A,e[A+24>>2]=a),(A=e[s+20>>2])&&(e[a+20>>2]=A,e[A+24>>2]=a)}r:if(o>>>0<=15)A=o+f|0,e[s+4>>2]=3|A,e[4+(A=A+s|0)>>2]=1|e[A+4>>2];else if(e[s+4>>2]=3|f,e[4+(i=s+f|0)>>2]=1|o,e[i+o>>2]=o,o>>>0<=255)r=228648+(-8&o)|0,(a=e[57152])&(A=1<<(o>>>3))?A=e[r+8>>2]:(e[57152]=A|a,A=r),e[r+8>>2]=i,e[A+12>>2]=i,e[i+12>>2]=r,e[i+8>>2]=A;else{A=31,o>>>0<=16777215&&(A=62+((o>>>38-(A=Oe(o>>>8|0))&1)-(A<<1)|0)|0),e[i+28>>2]=A,e[i+16>>2]=0,e[i+20>>2]=0,r=228912+(A<<2)|0;s:{if((a=1<<A)&p){for(A=o<<((0|A)!=31?25-(A>>>1|0):0),f=e[r>>2];;){if((-8&e[(r=f)+4>>2])==(0|o))break s;if(a=A>>>29|0,A<<=1,!(f=e[16+(a=(4&a)+r|0)>>2]))break}e[a+16>>2]=i}else e[57153]=a|p,e[r>>2]=i;e[i+24>>2]=r,e[i+12>>2]=i,e[i+8>>2]=i;break r}A=e[r+8>>2],e[A+12>>2]=i,e[r+8>>2]=i,e[i+24>>2]=0,e[i+12>>2]=r,e[i+8>>2]=A}A=s+8|0;break e}A:if(m){r=e[a+28>>2];r:{if(e[(A=228912+(r<<2)|0)>>2]==(0|a)){if(e[A>>2]=s,s)break r;e[57153]=sa(-2,r)&p;break A}if(e[m+(e[m+16>>2]==(0|a)?16:20)>>2]=s,!s)break A}e[s+24>>2]=m,(A=e[a+16>>2])&&(e[s+16>>2]=A,e[A+24>>2]=s),(A=e[a+20>>2])&&(e[s+20>>2]=A,e[A+24>>2]=s)}o>>>0<=15?(A=o+f|0,e[a+4>>2]=3|A,e[4+(A=A+a|0)>>2]=1|e[A+4>>2]):(e[a+4>>2]=3|f,e[4+(s=a+f|0)>>2]=1|o,e[s+o>>2]=o,I&&(r=228648+(-8&I)|0,i=e[57157],(A=1<<(I>>>3))&c?A=e[r+8>>2]:(e[57152]=A|c,A=r),e[r+8>>2]=i,e[A+12>>2]=i,e[i+12>>2]=r,e[i+8>>2]=A),e[57157]=s,e[57154]=o),A=a+8|0}return q=t+16|0,0|A}function Ar(A,t,r,a,s){var i,o=0,c=0,f=0,m=0,p=0,I=0,y=0,T=0,Y=0,K=0,_=0,ce=0,he=0,ye=0,De=0,Re=0,Xe=0;q=i=q-544|0,VA(i+320|0,0,100),VA(i+208|0,0,100),m=r?e[r>>2]:m,Y=e[A+12>>2],p=e[36115];e:{A:{r:{s:{for(;;){if(o=(0|(o=l[t+c|0]))>=(0|p)?13:o,g[i+c|0]=o,!o){o=c;break s}if(f=(0|p)<=(0|(f=l[(o=1|c)+t|0]))?13:f,g[o+i|0]=f,!f)break s;if((0|(c=c+2|0))==200)break}c=198,_=l[i+199|0];break r}if(!o)break A;_=l[i+(c=o-1|0)|0],(0|o)!=1&&(c=o-2|0)}if(De=8&m,e[i+536>>2]=(De>>>3|0?3:7)&m,m=l[i+c|0],p=1,y=(0|(I=ki(A,i,i+432|0,i+540|0,i+536|0,1)))>=0?I:0,he=l[0|i])for(c=i,o=he;o=e[144464+((255&o)<<2)>>2],l[o+11|0]==2&&(1048576&(o=e[o+4>>2])||(f=(2097152&o)>>>21|0,f|=o=l[e[144464+(l[0|(T=c+1|0)]<<2)>>2]+10|0]==12,g[(i+208|0)+p|0]=f,K=e[144464+(l[(o?2:1)+c|0]<<2)>>2],f=l[K+11|0]-10>>>0<4294967289|!(32&l[K+6|0])&l[e[144464+(l[(o?3:2)+c|0]<<2)>>2]+11|0]==2?f:f?2:1,c=o?T:c,g[(i+320|0)+p|0]=f,p=p+1|0)),o=l[0|(c=c+1|0)];);c=r=r?y:I;r:{s:{i:{c:{o:{u:{l:{n:{p:{C:{m:{b:switch(e[A+8>>2]-1|0){case 11:if((0|(r=e[i+540>>2]))<2)break p;if(c=1,y=1&(o=r-1|0),(0|r)!=2)break m;p=0;break C;case 8:if((0|(o=e[i+540>>2]))<2)break s;if(p=3&(f=o-1|0),c=1,o-2>>>0>=3)for(y=-4&f,f=0;m=g[0|(o=(i+432|0)+c|0)],g[0|o]=(0|m)<0?4:m,m=g[o+1|0],g[o+1|0]=(0|m)<0?4:m,m=g[o+2|0],g[o+2|0]=(0|m)<0?4:m,m=o,o=g[o+3|0],g[m+3|0]=(0|o)<0?4:o,c=c+4|0,(0|y)!=(0|(f=f+4|0)););
2737if(!p)break s;for(o=0;f=g[0|(m=(i+432|0)+c|0)],g[0|m]=(0|f)<0?4:f,c=c+1|0,(0|p)!=(0|(o=o+1|0)););break s;case 7:if(!l[i+322|0]|g[i+321|0]>0)break s;case 0:if(e[i+536>>2]|e[i+540>>2]<3)break s;if(e[i+536>>2]=2,c=4,r)break r;g[i+434|0]=4;break r;case 1:if(e[i+536>>2])break r;h:{E:{if((0|(p=e[i+540>>2]))>=3){r=p-2|0,e[i+536>>2]=r,c=r;w:if(512&Y&&(o=e[144464+(_<<2)>>2],(0|(f=l[o+11|0]))!=2)){c=e[o>>2],o=i;y:{L:{if((0|(y=e[A+212>>2]))!=26977){if((0|y)!=24942)break L;switch(c-110|0){case 0:case 5:if(c=r,l[e[144464+(m<<2)>>2]+11|0]==2)break w}c=p-1|0;break y}if((0|c)==115&&(c=r,l[e[144464+(m<<2)>>2]+11|0]==2))break w;c=p-1|0;break y}L:{W:{if((0|c)==115){if(c=r,(0|(f=l[e[144464+(m<<2)>>2]+11|0]))!=8)break W;break w}if((0|f)!=8)break L;f=l[e[144464+(m<<2)>>2]+11|0]}if(c=r,(255&f)==2)break w}c=p-1|0}e[o+536>>2]=c}if(524288&Y&&(g[(o=p-1|0)+(p=i+208|0)|0]<=g[r+p|0]||(e[i+536>>2]=o,c=o)),l[(i+432|0)+c|0]>1){o=c;break h}if(o=2,r=c-1|0,c>>>0>=2)break E;e[i+536>>2]=c+1;break h}r=1}o=r,e[i+536>>2]=o}if(c=4,g[0|(r=(i+432|0)+o|0)]>=0||g[(o=(i+432|0)+o|0)-1|0]>=4&g[o+1|0]>3)break r;g[0|r]=4;break r;case 2:if(e[i+536>>2])break r;for(r=(c=e[i+540>>2])-1|0,r&=r>>31;;){if((0|(c=c-1|0))<=0)break i;if(!(g[0|(o=(i+432|0)+c|0)]>=0))break}e[i+536>>2]=c,c=4,g[0|o]=4;break r;case 3:if(e[i+536>>2])break s;if(o=(0|(c=e[i+540>>2]-3|0))<=1?1:c,e[i+536>>2]=o,c=4,r)break r;g[o+(i+432|0)|0]=4;break r;case 4:if(e[i+536>>2])break r;if(o=(r=e[i+540>>2])-3|0,e[i+536>>2]=o,(0|r)<=15){h:{switch(l[e[144464+(_<<2)>>2]+11|0]-2|0){case 0:o=g[r+94176|0];break h;case 2:o=g[r+94192|0];break h}o=g[r+94160|0]}e[i+536>>2]=o}c=4,g[(i+432|0)+o|0]=4;break r;case 5:if(e[i+536>>2])break r;if(p=-1,f=0,!((0|(r=(o=e[i+540>>2])-1|0))<2)){if(c=1,T=1&o,(0|o)!=3)for(K=(-2&o)-4|0,o=0;g[(i+432|0)+c|0]<0&&(f=(m=(0|(y=g[(i+320|0)+c|0]))<(0|p))?f:c,p=m?p:y),g[(m=c+1|0)+(i+432|0)|0]<0&&(f=(y=(0|(ye=g[m+(i+320|0)|0]))<(0|p))?f:m,p=y?p:ye),c=c+2|0,m=(0|o)!=(0|K),o=o+2|0,m;);!T|g[(i+432|0)+c|0]>=0||(p=(o=(0|(m=g[(i+320|0)+c|0]))<(0|p))?p:m,f=o?f:c)}e[i+536>>2]=f,l[r+(i+320|0)|0]!=2|(0|p)>1?(0|p)>0||(f=1,e[i+536>>2]=1):(e[i+536>>2]=r,f=r),c=4,g[(i+432|0)+f|0]=4;break r;case 14:break c;case 12:break o;case 6:break b;default:break r}if(e[i+536>>2])break r;p=(r=e[i+540>>2])-1|0,e[i+536>>2]=p;b:if(!((0|r)<2))for(c=1;;){if(l[(i+432|0)+c|0]==1){p=c-1|0,e[i+536>>2]=p;break b}if((0|r)==(0|(c=c+1|0)))break}c=4,g[(i+432|0)+p|0]=4;break r}for(T=-2&o,p=0,f=0;o=l[0|(K=(m=i+432|0)+c|0)],ce=K,ye=g[(K=i+208|0)+c|0]>0,g[0|ce]=ye||(0|o)==4?3:o,Re=(0|(m=l[0|(ce=(o=c+1|0)+m|0)]))==4?3:m,m=g[o+K|0]>0,g[0|ce]=m?3:Re,p=m?o:ye?c:p,c=c+2|0,(0|T)!=(0|(f=f+2|0)););}if(y&&(m=(0|(o=l[0|(f=(i+432|0)+c|0)]))==4?3:o,o=g[(i+208|0)+c|0]>0,g[0|f]=o?3:m,p=o?c:p),o=e[i+536>>2])break u;if((0|p)>0){e[i+536>>2]=p,o=p;break u}if((0|r)<6)break n;o=r-3|0;break l}if(o=e[i+536>>2])break u}o=r-1|0}e[i+536>>2]=o}c=4,g[(i+432|0)+o|0]=4;break r}if(e[i+536>>2])break r;o=1,e[i+536>>2]=1,l[i+209|0]|e[i+540>>2]<3|g[i+210|0]<=0||(o=2,e[i+536>>2]=2),c=4,g[i+432|o]=4;break r}if(e[i+536>>2]||(0|(o=e[i+540>>2]))<3)break s;if(VA(i+432|1,0,o-1|0),e[i+536>>2]=2,r||(g[i+434|0]=4),c=4,o>>>0<4)break r;g[431+(o+i|0)|0]=3;break r}e[i+536>>2]=r,c=4;break r}c=r}!(256&Y)|2&s||(0|(r=e[i+540>>2]))<3|(0|I)>2||l[0|(o=(r=r+(i+432|0)|0)-1|0)]!=4|l[e[144464+(_<<2)>>2]+11|0]!=2||(g[0|o]=1,g[r-2|0]=4);r:{s:{if(De)I=e[i+540>>2];else{if(r=g[i+433|0],!(!(4096&Y)|(0|(I=e[i+540>>2]))!=3)){if((0|r)==4){g[i+434|0]=3;break s}if(l[i+434|0]==4){g[i+433|0]=3;break s}}if(!(!(8192&Y)|(0|r)>=0|(0|I)<4|g[i+434|0]<4)){g[i+433|0]=3;break s}}if(f=0,(0|I)<2)break r}for(p=(0|c)<4?4:3,K=128&Y,ye=64&Y,ce=32&Y,y=I-1|0,Re=16&Y,Xe=!(32768&Y),_=0,m=0,c=1;;){s:{i:if((0|(o=g[0|(T=(i+432|0)+c|0)]))>=0)f=p;else{f=3;c:{o:if(!(!(!Re|(0|p)>3)&(0|c)==(0|y))){if(!(1&(_|Xe)))break c;if(!(g[431+(i+c|0)|0]>1)){if((0|(o=g[(r=c+1|0)+(i+432|0)|0]))>=2){if((0|p)!=4||(f=4,o>>>0>=3))break o}else if(!(!ce|(0|p)!=3)){p=3;break s}if(!ye|c>>>0<2||(f=l[(i+320|0)+c|0]))break c;if((0|y)>(0|(o=c))){for(;;){if(g[(i+320|0)+o|0]>0)break s;if((0|y)==(0|(o=o+1|0)))break}if(f)break c}if(g[r+(i+320|0)|0]<=0)break c;break s}f=p}o=l[0|T];break i}g[0|T]=p,_=1,f=3,o=p}i:{if(o<<24>>24>=4){if(r=m||c,!m|!K)break i;g[0|T]=3}p=f;break s}p=f,m=r}if(f=1,(0|I)==(0|(c=c+1|0)))break}}if(a=!De|(0|a)>=0?a:e[((0|I)<3?16:20)+A>>2],p=0,o=0,f){if(_=3&(r=I-1|0),f=0,I-2>>>0<3)c=1;else for(De=-4&r,c=1,m=0;o=(r=(0|(o=(T=(0|(o=(y=(0|(o=(I=(0|(y=g[(r=i+432|0)+c|0]))<(0|o))?o:y))>(0|(T=g[(K=c+1|0)+r|0])))?o:T))>(0|(ce=g[(ye=c+2|0)+r|0])))?o:ce))>(0|(Re=g[(ce=c+3|0)+r|0])))?o:Re,p=r?T?y?I?p:c:K:ye:ce,c=c+4|0,(0|De)!=(0|(m=m+4|0)););
2737if(_)for(;o=(r=(0|(m=g[(i+432|0)+c|0]))<(0|o))?o:m,p=r?p:c,c=c+1|0,(0|_)!=(0|(f=f+1|0)););}if((0|a)<0?a=o:(0|a)<=(0|o)&(0|o)>4||(g[(i+432|0)+p|0]=a),_=t+197|0,I=1,!(1&s)&&(r=e[144464+(he<<2)>>2])){if(o=i,!((0|(f=l[r+11|0]))!=1&(0|he)!=15))for(;r=l[0|(o=o+1|0)],(0|(f=l[e[144464+(r<<2)>>2]+11|0]))==1|(0|r)==15;);!(48&(r=e[A+4>>2]))|(0|f)!=2||(g[0|t]=(32&r)>>>5|0&&g[i+433|0]>3?11:23,t=t+1|0)}r:if(!(t>>>0>=_>>>0))for(y=65536&Y,T=2&Y,De=4&Y,c=i;;){if(!(o=l[0|c]))break r;if(s=c,c=c+1|0,r=e[144464+(o<<2)>>2]){s:{i:{switch(l[r+11|0]){case 0:e[A+8200>>2]=0;break s;case 2:if(!(16&l[r+6|0]))break i}if(l[0|c]!=20)break s}if((0|(he=e[i+540>>2]))<(0|I))break e;m=g[0|(Y=(i+432|0)+I|0)],e[A+8200>>2]=m;i:{c:{if(!((0|(r=m))>1)){if(f=he-1|0,!(!De|(0|I)<2|(0|a)<2)&&(r=0,(0|f)==(0|I)))break c;if(r=1,!((0|I)==1|T|(he-2|0)==(0|I)&g[f+(i+432|0)|0]<2|(0|f)==(0|I)||g[431+(i+I|0)|0]>=0&&(r=m,y))){r=0,g[0|Y]=0;break c}}if(r&&(0|r)<2)break i}g[0|t]=l[r+94151|0],t=t+1|0,m=g[0|Y]}f=(0|a)>(0|m),l[0|c]==12&&1&(he=e[A+28>>2])&&(c=(16&he?(0|p)!=(0|I):(0|r)<4)?s+2|0:c),a=f?a:m,I=I+1|0}if((0|o)!=1&&(g[0|t]=o,t=t+1|0),!(t>>>0<_>>>0))break}}g[0|t]=0}return void(q=i+544|0)}Pe(86136,86634,1353,94208),Be()}function Vr(A,t,r,a,s,i,o,c,f){var m,p=0,I=0,y=0,T=0,Y=0,K=0,_=0,ce=0,he=0,ye=0,De=0,Re=0,Xe=0,aA=0,fA=0,GA=0,SA=0,At=0,ct=0,bt=0,Nt=0,qt=0,tr=0,mr=0,Cr=0,Gr=0,Dr=0,Or=0,Kr=0,na=0;q=m=q-336|0,T=c,K=65535&f,Y=a,y=65535&s,De=-2147483648&(s^f);e:{if(!((he=f>>>16&32767)-32767>>>0>4294934529&(_=s>>>16&32767)-32767>>>0>=4294934530)){if(!(!a&(0|(p=2147483647&s))==2147418112?!(t|r):p>>>0<2147418112)){ce=a,De=32768|s;break e}if(!(!c&(0|(s=2147483647&f))==2147418112?!(i|o):s>>>0<2147418112)){ce=c,De=32768|f,t=i,r=o;break e}if(!(t|a|2147418112^p|r)){if(!(i|c|2147418112^s|o)){t=0,r=0,De=2147450880;break e}De|=2147418112,t=0,r=0;break e}if(!(i|c|2147418112^s|o)){t=0,r=0;break e}if(!(t|a|r|p)){ce=(t=!(i|c|s|o))?0:ce,De=t?2147450880:De,t=0,r=0;break e}if(!(i|c|s|o)){De|=2147418112,t=0,r=0;break e}(0|p)==65535|p>>>0<65535&&(f=a=!(y|Y),p=a?t:Y,c=a<<=6,Aa(m+320|0,t,r,Y,y,(a=a+((0|(f=Oe(f?r:y)))==32?Oe(p)+32|0:f)|0)-15|0),Re=16-a|0,Y=e[m+328>>2],y=e[m+332>>2],r=e[m+324>>2],t=e[m+320>>2]),s>>>0>65535||(c=a=!(T|K),f=a?i:T,s=a<<=6,Aa(m+304|0,i,o,T,K,(a=a+((0|(c=Oe(c?o:K)))==32?Oe(f)+32|0:c)|0)-15|0),Re=(a+Re|0)-16|0,T=e[m+312>>2],K=e[m+316>>2],i=e[m+304>>2],o=e[m+308>>2])}if(SA=s=65536|K,At=T,p=s<<15|(a=T)>>>17,Jr(m+288|0,a=s=a<<15|o>>>17,c=p,0,0,f=0-a|0,p=1963258675-(p+!!(0|a)|0)|0,0,0),Jr(m+272|0,0-(a=e[m+296>>2])|0,0-(e[m+300>>2]+!!(0|a)|0)|0,0,0,f,p,0,0),Jr(m+256|0,f=(a=e[m+280>>2])<<1|e[m+276>>2]>>>31,a=e[m+284>>2]<<1|a>>>31,0,0,s,c,0,0),Jr(m+240|0,f,a,0,0,0-(p=e[m+264>>2])|0,0-(e[m+268>>2]+!!(0|p)|0)|0,0,0),Jr(m+224|0,p=(f=e[m+248>>2])<<1|e[m+244>>2]>>>31,a=e[m+252>>2]<<1|f>>>31,0,0,s,c,0,0),Jr(m+208|0,p,a,0,0,0-(f=e[m+232>>2])|0,0-(e[m+236>>2]+!!(0|f)|0)|0,0,0),Jr(m+192|0,f=(a=e[m+216>>2])<<1|e[m+212>>2]>>>31,a=e[m+220>>2]<<1|a>>>31,0,0,s,c,0,0),Jr(m+176|0,f,a,0,0,0-(p=e[m+200>>2])|0,0-(e[m+204>>2]+!!(0|p)|0)|0,0,0),Jr(m+160|0,f=s,a=c,0,0,c=(T=(s=e[m+184>>2])<<1|e[m+180>>2]>>>31)-1|0,s=(e[m+188>>2]<<1|s>>>31)-!T|0,0,0),Jr(m+144|0,i<<15,o<<15|i>>>17,0,0,a=c,s,0,0),ye=m+112|0,fA=e[m+168>>2],c=e[m+172>>2],I=(T=e[m+160>>2])+(f=e[m+152>>2])|0,p=(K=e[m+164>>2])+e[m+156>>2]|0,f=p=f>>>0>I>>>0?p+1|0:p,p=(p=(0|K)==(0|p)&I>>>0<T>>>0|p>>>0<K>>>0)>>>0>(K=p+fA|0)>>>0?c+1|0:c,Jr(ye,a,s,0,0,0-(c=(T=!f&I>>>0>1|!!(0|f))+K|0)|0,0-(!!(0|c)+(p=T>>>0>c>>>0?p+1|0:p)|0)|0,0,0),Jr(m+128|0,1-I|0,0-((I>>>0>1)+f|0)|0,0,0,a,s,0,0),mr=(_-he|0)+Re|0,ye=s=e[m+116>>2],T=(a=e[m+112>>2])<<1,_=p=s<<1|a>>>31,a=p,GA=c=e[m+140>>2],a=a+(p=c<<1|(s=e[m+136>>2])>>>31)|0,s=a=(c=(f=s<<1|e[m+132>>2]>>>31)+T|0)>>>0<f>>>0?a+1|0:a,aA=a=a-(c>>>0<13927)|0,fA=a,Cr=p=65536|y,Gr=Y,Or=(a=Y)<<1,Kr=p=p<<1|a>>>31,bt=p,Nt=a=kt(aA,I=0,p,0),Xe=p=J,Re=t<<1,he=a=r<<1|t>>>31,K=p=0,aA=(0|s)==(0|aA)&(f=c-13927|0)>>>0<c>>>0|s>>>0>aA>>>0,s=(0|s)==(0|_)&c>>>0<T>>>0|s>>>0<_>>>0,a=e[m+120>>2],p=c=e[m+124>>2]<<1|a>>>31,p=(a=(I=GA>>>31|0)+(a=a<<1|ye>>>31)|0)>>>0<I>>>0?p+1|0:p,I=(c=a)>>>0>(a=a+s|0)>>>0?p+1|0:p,I=(s=a)>>>0>(a=a+aA|0)>>>0?I+1|0:I,s=a-1|0,p=kt(he,K,aA=I-!a|0,_=0),c=J+Xe|0,ye=(0|Xe)==(0|(c=(a=p+Nt|0)>>>0<p>>>0?c+1|0:c))&a>>>0<Nt>>>0|c>>>0<Xe>>>0,GA=s,s=kt(s,p=0,ct=(Dr=r>>
vendor: 4,541 bytes, line 2737
2737>31|0)|Y<<1,Xe=0),p=J+c|0,I=0,T=p=s>>>0>(Y=s+a|0)>>>0?p+1|0:p,I=(s=a=(0|p)==(0|c)&a>>>0>Y>>>0|c>>>0>p>>>0)>>>0>(a=a+ye|0)>>>0?1:I,s=kt(bt,K,aA,_),p=J+I|0,ye=a=s+a|0,a=a>>>0<s>>>0?p+1|0:p,s=kt(bt,K,GA,Xe),y=J,c=s,s=kt(ct,Xe,aA,_),p=J+y|0,s=p=s>>>0>(I=c+s|0)>>>0?p+1|0:p,a=a+(p=(0|y)==(0|p)&c>>>0>I>>>0|p>>>0<y>>>0)|0,ye=y=ye+s|0,y=a=y>>>0<s>>>0?a+1|0:a,p=I+T|0,s=p=(a=(s=0)+Y|0)>>>0<s>>>0?p+1|0:p,c=(0|p)==(0|T)&a>>>0<Y>>>0|p>>>0<T>>>0,p=y,I=c,qt=c=c+ye|0,I=p=I>>>0>c>>>0?p+1|0:p,ye=a,y=a,Y=s,Nt=f,a=kt(f,0,ct,Xe),c=J,s=a,f=kt(fA,ce,he,ce),p=J+c|0,f=(0|c)==(0|(p=(a=a+f|0)>>>0<f>>>0?p+1|0:p))&a>>>0<s>>>0|c>>>0>p>>>0,c=p,s=kt(GA,Xe,tr=-2&Re,0),p=J+p|0,s=p=s>>>0>(T=s+a|0)>>>0?p+1|0:p,a=(0|p)==(0|c)&a>>>0>T>>>0|c>>>0>p>>>0,c=0,a=((f=a+f|0)>>>0<a>>>0?1:c)+Y|0,p=I,f=a=(y=f+y|0)>>>0<f>>>0?a+1|0:a,c=a=(0|a)==(0|Y)&y>>>0<ye>>>0|a>>>0<Y>>>0,na=a=a+qt|0,ye=p=c>>>0>a>>>0?p+1|0:p,a=kt(bt,K,Nt,ce),qt=J,bt=a,c=kt(aA,_,tr,ce),p=J+qt|0,Y=a=a+c|0,I=a+(K=kt(fA,ce,ct,Xe))|0,a=(c=a>>>0<c>>>0?p+1|0:p)+J|0,a=I>>>0<K>>>0?a+1|0:a,_=I,K=I+(p=kt(he,ce,GA,Xe))|0,I=J+a|0,ct=(0|a)==(0|(I=p>>>0>K>>>0?I+1|0:I))&K>>>0<_>>>0|a>>>0>I>>>0,p=((a=(a=(a=(0|a)==(0|c)&Y>>>0>_>>>0|a>>>0<c>>>0)+(p=(0|c)==(0|qt)&Y>>>0<bt>>>0|c>>>0<qt>>>0)|0)+ct|0)|(GA=0))+f|0,Y=p=(c=I)>>>0>(_=c+y|0)>>>0?p+1|0:p,a=(0|f)==(0|p)&y>>>0>_>>>0|f>>>0>p>>>0,p=ye,c=a,GA=a=a+na|0,f=p=c>>>0>a>>>0?p+1|0:p,a=kt(fA,ce,tr,ce),fA=J,y=a,c=kt(he,ce,Nt,ce),p=J+fA|0,c=(0|(p=(a=a+c|0)>>>0<c>>>0?p+1|0:p))==(0|fA)&a>>>0<y>>>0|p>>>0<fA>>>0,y=p,a=p+T|0,p=(c|(ye=0))+s|0,y=(0|s)==(0|(p=a>>>0<y>>>0?p+1|0:p))&a>>>0<T>>>0|s>>>0>p>>>0,I=(c=p)+(p=K)|0,p=0,p=((s=a=(0|c)==(0|(I=(T=(K=0)+a|0)>>>0<K>>>0?I+1|0:I))&a>>>0>T>>>0|c>>>0>I>>>0)>>>0>(a=a+y|0)>>>0?1:p)+Y|0,I=f,s=p=(s=a)>>>0>(a=a+_|0)>>>0?p+1|0:p,f=I=(f=c=(0|Y)==(0|p)&a>>>0<_>>>0|p>>>0<Y>>>0)>>>0>(c=c+GA|0)>>>0?I+1|0:I,(0|I)==131071|I>>>0<131071?(Gr=Or|Dr,Cr=Xe|Kr,Jr(m+80|0,a,s,c,f,i,o,At,SA),K=I=e[m+84>>2],p=t<<17,Y=(r=(T=0)-(y=e[m+88>>2])|0)-(I=!!(I|(t=e[m+80>>2])))|0,y=(p-(e[m+92>>2]+(y>>>0>T>>>0)|0)|0)-(r>>>0<I>>>0)|0,T=0-t|0,K=0-(!!(0|t)+K|0)|0,t=mr+16382|0):(Jr(m+96|0,a=(1&s)<<31|a>>>1,s=c<<31|s>>>1,c=(1&f)<<31|c>>>1,f=f>>>1|0,i,o,At,SA),he=Y=e[m+100>>2],Y=(T=0-(Re=e[m+104>>2])|0)-(y=!!(Y|(I=e[m+96>>2])))|0,y=((t<<16)-(e[m+108>>2]+(K>>>0<Re>>>0)|0)|0)-(y>>>0>T>>>0)|0,T=0-I|0,K=0-(!!(0|I)+he|0)|0,Re=t,he=r,t=mr+16383|0),(0|t)>=32767)De|=2147418112,t=0,r=0;else{if((0|t)>0)I=y<<1|Y>>>31,Y=Y<<1|K>>>31,y=I,Re=c,he=65535&f|t<<16,I=K<<1|T>>>31,f=T<<1;else{if((0|t)<=-113){t=0,r=0;break e}Ya(m- -64|0,a,s,c,f,1-t|0),Aa(m+48|0,Re,he,Gr,Cr,t+112|0),Jr(m+32|0,i,o,At,SA,a=e[m+64>>2],s=e[m+68>>2],Re=e[m+72>>2],he=e[m+76>>2]),t=e[m+40>>2],T=(r=e[m+56>>2])-(Y=t<<1|(I=e[m+36>>2])>>>31)|0,y=e[m+60>>2]-((e[m+44>>2]<<1|t>>>31)+(r>>>0<Y>>>0)|0)|0,p=(t=e[m+32>>2])<<1,Y=T-(t=(0|(c=I<<1|t>>>31))==(0|(f=e[m+52>>2]))&p>>>0>(r=e[m+48>>2])>>>0|c>>>0>f>>>0)|0,y=y-(t>>>0>T>>>0)|0,I=f-((r>>>0<p>>>0)+c|0)|0,f=r-p|0}t=f,Jr(m+16|0,i,o,At,SA,3,0,0,0),Jr(m,i,o,At,SA,5,0,0,0),c=I+(r=0)|0,c=f>>>0>(t=t+(p=1&a)|0)>>>0?c+1|0:c,f=t,o=(0|o)==(0|c)&t>>>0>i>>>0|o>>>0<c>>>0,I=y,t=(0|r)==(0|c)&t>>>0<p>>>0|r>>>0>c>>>0,p=s,r=p=(r=t=(t=(0|(I=t>>>0>(i=t+Y|0)>>>0?I+1|0:I))==(0|SA))&(0|i)==(0|At)?o:t&i>>>0>At>>>0|I>>>0>SA>>>0)>>>0>(t=t+a|0)>>>0?p+1|0:p,a=(0|s)==(0|p)&t>>>0<a>>>0|s>>>0>p>>>0,p=he,p=(s=a)>>>0>(a=a+Re|0)>>>0?p+1|0:p,o=a,y=(0|(s=e[m+20>>2]))==(0|c)&ue[m+16>>2]<f>>>0|s>>>0<c>>>0,s=e[m+28>>2],s=p>>>0<2147418112&((0|(a=e[m+24>>2]))==(0|i)&(0|s)==(0|I)?y:(0|s)==(0|I)&a>>>0<i>>>0|s>>>0<I>>>0),a=r,p=(r=t=(0|r)==(0|(a=(y=s)>>>0>(s=t+s|0)>>>0?a+1|0:a))&t>>>0>s>>>0|r>>>0>a>>>0)>>>0>(t=t+o|0)>>>0?p+1|0:p,o=t,c=(0|(r=e[m+4>>2]))==(0|c)&ue[m>>2]<f>>>0|r>>>0<c>>>0,r=e[m+12>>2],r=I=(r=t=p>>>0<2147418112&((0|(t=e[m+8>>2]))==(0|i)&(0|r)==(0|I)?c:(0|r)==(0|I)&t>>>0<i>>>0|r>>>0<I>>>0))>>>0>(t=t+s|0)>>>0?a+1|0:a,s=(0|a)==(0|I)&t>>>0<s>>>0|a>>>0>I>>>0,a=p,i=s,ce|=s=s+o|0,De|=a=i>>>0>s>>>0?a+1|0:a}}e[A>>2]=t,e[A+4>>2]=r,e[A+8>>2]=ce,e[A+12>>2]=De,q=m+336|0}function $t(A,t,r,a,s){var i,o,c,f=0,m=0,p=0,I=0,y=0,T=0,Y=0,K=0,_=0,ce=0,he=0,ye=0,De=0,Re=0,Xe=0,aA=0,fA=0,GA=0,SA=0,At=0,ct=0;if(q=o=q-80|0,c=e[r+8>>2],!s|!M[r+4>>1]||(e[s+8>>2]=0),i=VA(a,0,152),e[i+44>>2]=l[c+14|0],e[i+40>>2]=l[c+15|0],a=M[c+8>>1]){for(a=e[34459]+(a<<1)|0,ce=256&t,he=r+32|0,Re=r-32|0,Xe=r- -64|0,aA=r+96|0,fA=r+-64|0,GA=r-28|0,SA=1&t,At=r-24|0,ye=e[30450];;){f=15&(y=(t=M[a>>1])>>>8|0);e:{A:{r:{s:{i:{c:{o:{u:{l:{n:{p:{C:switch(0|(p=t>>>12|0)){case 10:break o;case 9:break u;case 6:break l;case 2:case 3:break n;case 1:break p;case 0:break C;case 11:case 12:case 13:case 14:case 15:break c;
2737default:break i}m=255&t;C:{m:{b:switch(0|f){case 13:if(m)break m;f=a,t=0;break C;case 0:switch(f=a,m-1|0){case 1:break e;case 0:break A}e[o+20>>2]=T0(o+75|0,e[c>>2]),e[o+16>>2]=t,hr(ye,85851,o+16|0);break e;case 5:if(l[e[144464+(l[r+34|0]<<2)>>2]+11|0]!=2)break e;e[i+20>>2]=m;break e;case 12:break b;default:break s}e[i+44>>2]=e[i+44>>2]+(t<<24>>31&-256|m);break e}g[i+132|0]=l[a+3|0],f=a+2|0,g[i+133|0]=l[0|f],t=2,m>>>0<3||(g[i+134|0]=l[a+5|0],f=a+4|0,g[i+135|0]=l[0|f],t=4,m>>>0<5||(g[i+136|0]=l[a+7|0],f=a+6|0,g[i+137|0]=l[0|f],t=6,m>>>0<7||(g[i+138|0]=l[a+9|0],f=a+8|0,g[i+139|0]=l[0|f],t=8,m>>>0<9||(g[i+140|0]=l[a+11|0],f=a+10|0,g[i+141|0]=l[0|f],t=10,m>>>0<11||(g[i+142|0]=l[a+13|0],f=a+12|0,g[i+143|0]=l[0|f],t=12,m>>>0<13||(g[i+144|0]=l[a+15|0],f=a+14|0,g[i+145|0]=l[0|f],t=14,m>>>0<15||(g[i+146|0]=l[a+17|0],f=a+16|0,g[i+147|0]=l[0|f],t=16)))))))}g[132+(t+i|0)|0]=0,m=Y;break A}if(!A|f>>>0>7||(p=r,l[e[144464+(l[r+2|0]<<2)>>2]+11|0]!=2&&(p=he,l[e[144464+(l[r+34|0]<<2)>>2]+11|0]!=2))||!(1&(f=e[A+56>>2]))&&16&l[0|r])break e;m=15&l[p+3|0],m=2&f&&l[p+6|0]<=m>>>0?4:m;p:{C:{m:{b:switch((f=7&y)-3|0){case 1:break C;case 0:break b;default:break m}if(m>>>0>3)break p;break e}if(e[102832+(f<<2)>>2]>(0|m))break p;break e}if(l[p+6|0]>m>>>0)break e}e[i+8>>2]=255&t,m=1;break r}if((57344&t)==8192){for(ct=e[32972],y=1,De=0;;){I=255&t,f=(T=4095&t)>>>8|0;n:if(T>>>0<=3583){(0|(m=(f>>>0)%7|0))==6&&(m=M[a+2>>1]),_=0,f=r;p:{C:{m:switch(0|m){case 6:if(p=0,M[r+36>>1]|M[r+68>>1])break n;case 3:f=Xe;break C;case 9:if(p=0,M[r+36>>1]|M[r+68>>1])break n;if(f=aA,!M[r+100>>1])break p;break n;case 7:if(p=0,M[r+36>>1])break n;for(m=1;;){if(l[e[144464+(l[2+(f=(m<<5)+r|0)|0]<<2)>>2]+11|0]==2)break C;if(M[4+(((m=m+1|0)<<5)+r|0)>>1])break}break n;case 5:if(p=0,M[r+4>>1])break n;case 0:_=1,f=Re;break C;case 4:if(p=0,M[r+36>>1])break n;case 2:f=he;break C;case 8:if(p=0,!s)break n;if(_=1,e[(f=s)+8>>2])break p;break n;case 10:break m;default:break C}if(p=0,M[r+4>>1]|M[GA>>1])break n;_=1,f=fA;break p}C:switch(0|m){case 0:case 5:break C;default:break p}f=(l[f+2|0]==1?-32:0)+f|0}if(ce?(m=e[144464+(l[f+2|0]<<2)>>2],e[f+8>>2]=m):m=e[f+8>>2],T>>>0<=1791){if(p=1,e[e[144464+(I<<2)>>2]>>2]==e[m>>2])break n;if(!(!_|l[m+11|0]!=2)){p=(0|I)==l[m+13|0];break n}p=(0|I)==l[m+12|0];break n}I=31&T,p=0;p:switch(T>>>5&7){case 0:p=(0|I)==l[m+11|0];break n;case 1:p=(0|I)==(15&M[m+6>>1]);break n;case 2:p=e[m+4>>2]>>>I&1;break n;case 4:break p;default:break n}p:switch(0|I){case 0:case 1:case 2:case 3:case 4:if(l[e[144464+(l[f+2|0]<<2)>>2]+11|0]!=2){if(l[e[144464+(l[f+34|0]<<2)>>2]+11|0]!=2)break n;f=f+32|0}m=15&l[f+3|0],m=!A|!(2&l[A+56|0])?m:l[f+6|0]<=m>>>0?4:m;C:{switch(I-3|0){case 1:p=l[f+6|0]<=m>>>0;break n;case 0:if(p=1,m>>>0<=3)break C;break n}if(p=1,e[102832+(I<<2)>>2]>(0|m))break n}p=0;break n;case 17:if(!l[m+11|0]){p=1;break n}p=(32&l[r+1|0])>>>5|0;break n;case 18:p=M[f+4>>1]!=0;break n;case 19:if(p=1,M[f+36>>1])break n;p=!l[e[f+40>>2]+11|0];break n;case 9:if(M[f+4>>1])break n;for(;;){if(p=!!(0|(m=12&l[f-29|0])),m)break n;if(M[4+(f=f-32|0)>>1])break}break n;case 10:p=l[m+11|0]!=2;break n;case 11:for(;;){if(p=!!(0|(m=M[f+36>>1])),m)break n;if(m=f,f=f+32|0,l[e[m+40>>2]+11|0]==2)break}break n;case 12:if(p=1,(254&l[m+11|0])==2)break n;p=(16&l[m+4|0])>>>4|0;break n;case 13:for(;p=(l[e[f+8>>2]+11|0]==2)+p|0,m=M[f+4>>1],f=f-32|0,!m;);p=(0|p)==1;break n;case 14:for(;p=(l[e[f+8>>2]+11|0]==2)+p|0,m=M[f+4>>1],f=f-32|0,!m;);p=(0|p)==2;break n;case 16:break p;default:break n}p=(16&l[0|f])>>>4|0}else if(p=0,(0|f)==15){p:switch(I-1|0){case 0:p=SA;break n;case 1:break p;default:break n}p=e[ct+132>>2]!=0}n:if(1970>>>(f=(m=65535&t)>>>12|0)&1)f=g[f+102848|0];else{switch(0|f){case 0:if(f=1,(3840&m)!=3328)break n;f=1+(1+(255&m)>>>1|0)|0;break n;case 6:f=(m>>>9&7)-5>>>0<2?12:1;break n;case 2:case 3:f=(0|(f=3840&m))==3328||(0|f)==1536?2:1;break n}f=4,(m=M[a+4>>1])>>>0>61439||(f=(0|m)==2?3:2)}if(a=((f=M[(a=(f<<1)+a|0)>>1]==3)<<1)+a|0,f^=p,y=De?f|y:f&y,De=4096&t,(57344&(t=M[a>>1]))!=8192)break}if(!(1&y))if((63488&t)!=26624){n:if(1970>>>(f=t>>>12|0)&1)f=g[f+102848|0];else{switch(0|f){case 0:if(f=1,(3840&t)!=3328)break n;f=1+(1+(255&t)>>>1|0)|0;break n;case 6:f=(t>>>9&7)-5>>>0<2?12:1;break n;case 2:case 3:f=(0|(t&=3840))==3328||(0|t)==1536?2:1;break n}f=4,(t=M[a+4>>1])>>>0>61439||(f=(0|t)==2?3:2)}a=(((65024&M[(t=(f<<1)+a|0)>>1])==24576)<<1)+t|0}else a=((255&t)<<1)+a|0}f=a-2|0,m=Y;break A}l:switch(f>>
2737>1|0){case 0:a=(((255&t)<<1)+a|0)-2|0;break e;case 5:e[i>>2]=2|e[i>>2],((t=l[e[r+40>>2]+12|0])-28&255)>>>0<=5&&(f=M[4+(t=((t<<2)+a|0)-112|0)>>1],t=M[t+2>>1],e[i+96>>2]=t>>>4<<24>>24,e[i+76>>2]=(15&t)<<18|f<<2),a=a+24|0;break e;case 6:break l;default:break e}((t=l[e[At>>2]+13|0])-28&255)>>>0<=5&&(f=M[4+(t=((t<<2)+a|0)-112|0)>>1],t=M[t+2>>1],e[i+100>>2]=t>>>4<<24>>24,e[i+80>>2]=(15&t)<<18|f<<2),a=a+24|0;break e}t=M[(a=a+2|0)>>1]|t<<16&983040;u:switch(f-1|0){case 0:if((0|K)>9)break e;e[(o+32|0)+(K<<2)>>2]=a,a=(e[34459]+(t<<1)|0)-2|0,K=K+1|0;break e;case 1:e[i+124>>2]=t;break e;case 2:break u;default:break e}e[i+128>>2]=t;break e}e[108+(f=(((0|f)!=1)<<3)+i|0)>>2]=M[a+2>>1]|(255&t)<<16,t=M[a+4>>1]<<16,a=a+6|0,e[f+112>>2]=t|M[a>>1];break e}if(m=M[(f=a+2|0)>>1],T=t>>>4|0,e[88+(y=((I=p-11|0)<<2)+i|0)>>2]=255&T,e[y+68>>2]=t<<18&3932160|m<<2,(0|(a=M[a+4>>1]))==2){a=f;break e}if(m=t>>>0<=53247?a>>>0>61439?2:1:Y-((0|I)==4)|0,p-13>>>0>1)break A;e[y+88>>2]=T<<24>>24;break A}e[o+4>>2]=T0(o+75|0,e[c>>2]),e[o>>2]=t,hr(ye,85851,o);break e}e[4+((f<<2)+i|0)>>2]=m,m=ce&&(0|f)==1?1:Y}f=a}(0|m)!=1|(0|K)<=0?(a=f,Y=m):(a=e[(o+32|0)+((K=K-1|0)<<2)>>2],Y=0)}if(a=a+2|0,(0|Y)==1)break}!s|l[r+17|0]!=2||(A=e[r+4>>2],e[s>>2]=e[r>>2],e[s+4>>2]=A,A=e[r+28>>2],e[s+24>>2]=e[r+24>>2],e[s+28>>2]=A,A=e[r+20>>2],e[s+16>>2]=e[r+16>>2],e[s+20>>2]=A,A=e[r+12>>2],e[s+8>>2]=e[r+8>>2],e[s+12>>2]=A),g[r+23|0]=e[i+44>>2],(A=e[i+68>>2])?(e[r+24>>2]=A,A=i+88|0):(e[r+24>>2]=e[i+72>>2],A=i+92|0),e[r+28>>2]=e[A>>2]}q=o+80|0}function Pr(A,t,r,a,s,i){var o,c=0,f=0,m=0,p=0,I=0,y=0,T=0,Y=0,K=0,_=0,ce=0,he=0,ye=0,De=0,Re=0,Xe=0,aA=0,fA=0;q=o=q-848|0;e:if(!(!e[A+104>>2]|8&l[s+2|0]|e[47202]==193)){for(e[a>>2]=0,e[33272]=0,e[33274]=i,g[o+192|0]=0,e[33273]=o+192;p=(i=p)+1|0,g[0|(he=t+i|0)]-48>>>0<10;);e[56798]=0,Xe=o+188|0,y=-2147483648,q=ce=q-16|0;A:if(c=l[0|t]){I=t;r:{for(;;){if(!((0|(c=c<<24>>24))==32|c-9>>>0<5))break r;if(c=l[I+1|0],I=I+1|0,!c)break}break A}r:switch((c=l[0|I])-43|0){case 0:case 2:break r;default:break A}K=(0|c)==45?-1:0,I=I+1|0}else I=t;for(;c=-48,(((T=g[0|I])-48&255)>>>0<10||(c=-87,(T-97&255)>>>0<26||(c=-55,!((T-65&255)>>>0>25))))&&!((0|(T=c+T|0))>=10);)Jr(ce,10,0,0,0,Y,_,0,0),c=1,e[ce+8>>2]|e[ce+12>>2]||(De=kt(Y,_,10,0),(0|(Re=J))==-1&~T>>>0<De>>>0||(c=Re,_=(Y=T+De|0)>>>0<T>>>0?c+1|0:c,ye=1,c=m)),I=I+1|0,m=c;Xe&&(e[Xe>>2]=ye?I:t);A:{r:{if(m)e[56798]=68,Y=-2147483648,_=0;else if(!_&Y>>>0<2147483648)break r;if(!K){e[56798]=68,y=2147483647;break A}if(!(!_&Y>>>0<=2147483648)){e[56798]=68;break A}}y=(K^Y)-K|0}if(q=ce+16|0,K=y,!(e[56798]|e[o+188>>2]==(0|t))){A:{r:{s:{if(!(!((0|(T=64&l[A+109|0]?4:3))!=(0|i)|e[A+124>>2]!=g[t-2|0])&g[t-3|0]-48>>>0<10)){i:{if(e[A+124>>2]!=32){if(!(16&l[A+105|0]))break s;if((0|i)==3)break i;break s}if((0|i)!=3)break s}if(4&l[s+2|0]|g[t-2|0]-48>>>0>=10)break s}g[133104]=0,g[o+288|0]=0,aA=1;break r}if(g[133104]=0,e[33275]=0,g[o+288|0]=0,fA=1,ye=0,l[0|t]==48)break A}ye=pa(A,t,he,s,0)}l[0|he]!=46|g[t+p|0]-48>>>0<10|1&g[s+13|0]|g[he+2|0]-48>>>0<10||(g[0|he]=0);A:if(!ye||(De=1,e[A+212>>2]==26741)){if(y=o+256|0,e[o+844>>2]=y,f=p,64&l[s+1|0]&&(g[o+256|0]=45,y=o+256|1,e[o+844>>2]=y,f=i+2|0),I=l[t+f|0]){for(;!((255&I)==32|(0|f)>28)&&(c=e[o+844>>2],e[o+844>>2]=c+1,g[0|c]=I,I=l[(f=f+1|0)+t|0]););y=e[o+844>>2]}if(g[0|y]=0,De=1,c=g[o+256|0]){if(!(m=e[A+136>>2])||Mr(o+256|0,m)){if(c-48>>>0<10||(e[o+176>>2]=o+256,QA(c=o+800|0,88653,o+176|0),!UA(A,c,133104)))break A;e[a>>2]=128|e[a>>2],e[o+160>>2]=o+256,QA(c=o+800|0,88773,o+160|0),UA(A,c,133116),De=0}ye=2}}Xe=e[s>>2],g[o+352|0]=0,g[o+624|0]=0;A:{r:{s:if(!(!fA|l[0|t]!=48||(0|(c=g[t+1|0]))==32|(0|c)==e[A+128>>2])){i:{if((0|i)==2){if(l[t+3|0]!=58|g[t+5|0]-48>>>0>=10||!((0|(c=g[t+7|0]))==32|c-9>>>0<5))break i;break s}if((0|i)>3)break r}if(l[0|t]==48&&!((0|(c=i-1|0))<=0))for(f=0;;){if(UA(A,88875,RA(m=o+288|0)+m|0),l[(f=f+1|0)+t|0]!=48)break s;if(!((0|c)>(0|f)))break}}s:{i:{if(!((0|(c=g[0|he]))==32&&16&l[A+105|0])){if(Re=2,Y=i+2|0,(0|c)==e[A+124>>2])break i;_=1,y=0,c=0;break s}Re=1,Y=i+2|0}if(4&l[s+14|0])y=1,c=0,_=1;else for(c=0,I=1,f=i,_=1;;){m=c,c=I,I=(ce=f+Re|0)+t|0,f=0;i:{for(;;){if(y=1,!(g[f+I|0]-48>>>0>
2737=10)){if((0|T)!=(0|(f=f+1|0)))continue;break i}break}c=m;break s}if(g[I+T|0]-48>>>0<10){c=m;break s}if(f=0,g[I-1|0]-48>>>0<10){c=m;break s}i:{for(;;){if(l[(f+ce|0)+t|0]==48){if((0|T)!=(0|(f=f+1|0)))continue;break i}break}_=0}if((0|(m=g[(f=T+ce|0)+t|0]))!=e[A+124>>2]&(!(16&l[A+105|0])|(0|m)!=32))break s;if(Y=f+2|0,4&l[2+(z(I=c+1|0,12)+s|0)|0])break}}f=!K;s:if(!(!_|!(64&l[1+(z(c,12)+s|0)|0])|e[A+212>>2]!=26741)){i:switch(l[0|(m=t+Y|0)]-97|0){case 0:case 4:break i;default:break s}i:{c:{o:{u:switch((I=l[m+1|0])-116|0){case 6:break s;case 1:case 2:case 3:case 4:case 5:break c;case 0:break u;default:break o}if(l[m+2|0]!=116)break i;break s}if((0|I)==32)break s}if(!(!!((0|K)%1e3|0)&(0|c)!=1)&&(0|I)==108)break s}e[33274]=1|e[33274]}Y=32768&Xe,f&=aA;s:if(e[A+128>>2]!=g[0|he]|g[t+p|0]-48>>>0>=10){i:{if(!f){if(f=0,m=1,!((0|c)>0&y))break i;K=(p=Ja(A,K,c,_,o+624|0))?0:K,f=!!(0|p),I=0;break s}f=1,K=0,e[33275]==1&&(e[o+144>>2]=c+1,QA(p=o+800|0,89026,o+144|0),UA(A,p,o+688|0)||(e[o+128>>2]=c,QA(p=o+800|0,89026,o+128|0),UA(A,p,o+624|0)))}m=1,I=0}else UA(A,88882,o+624|0),m=0,I=256;y=Y?2:ye;s:{if(c|l[o+624|0]|l[0|he]!=46){if(c)break s}else UA(A,89192,o+624|0);if(e[o+844>>2]=t,g[t+1|0]-48>>>0<10)for(;p=e[o+844>>2],e[o+844>>2]=p+1,g[p+2|0]-48>>>0<10;);if(g[e[o+844>>2]-1|0]-48>>>0>=10||(e[o+416>>2]=e[o+844>>2]-1,Br(A,o+416|0,o+192|0,a,4,s)&&(e[33272]=2)),l[o+192|0]|l[e[o+844>>2]]==48||Br(A,o+844|0,o+192|0,a,4,s)&&(e[33272]=1),fA){if(!y&m&&(e[o+112>>2]=K,QA(s=o+800|0,89214,o+112|0),UA(A,s,r)))break A;if(1&g[A+110|0]){for(p=t;(32|l[0|p])!=32;)p=p+1|0;e[o+416>>2]=p,l[p+1|0]==37&&(UA(A,89328,r),s=RA(r),g[e[o+416>>2]+1|0]=32,r=r+s|0)}}}ms(A,K,o+416|0,f,c,y|I|aA),!(2&l[A+109|0])|(0|c)<=0?(e[o+60>>2]=15,e[o- -64>>2]=o+624,e[o+56>>2]=o+416,e[o+52>>2]=o+352,e[o+48>>2]=o+288,QA(r,89415,o+48|0)):(e[o+88>>2]=15,e[o+96>>2]=o+416,e[o+92>>2]=o+352,e[o+84>>2]=o+624,e[o+80>>2]=o+288,QA(r,89346,o+80|0));s:if(!m)for(;;){for(i=i+1|0,m=0;m=(p=m)+1|0,g[(c=i+p|0)+t|0]-48>>>0<10;);s=2;i:{c:{o:{u:{l:{n:switch((m=57344&e[A+104>>2])-8192>>>13|0){case 6:break c;case 2:break o;case 0:case 4:case 5:break u;case 1:break l;case 3:break n;default:break i}s=5}if((0|(m=l[0|(f=t+i|0)]))==48)for(;UA(A,88875,c=o+688|0),ia(r,c),p=p-1|0,(0|(m=l[0|(f=(i=i+1|0)+t|0)]))==48;);if((0|s)<(0|p)|(m<<24>>24)-48>>>0>=10)break i;s=o+688|0,ms(A,Us(f),s,0,0,0),ia(r,s),i=i+p|0;break i}if(ms(A,Us(s=t+i|0),o+416|0,0,0,0),!((0|m)==8192&l[0|s]!=48)){if(e[o+16>>2]=p,QA(s=o+800|0,89508,o+16|0),!UA(A,s,o+688|0))break i;ia((0|m)==49152?r:o+416|0,o+688|0)}ia(r,o+416|0),i=c;break i}if((0|p)>4||l[0|(s=t+i|0)]==48)break i;ms(A,i=Us(s),s=o+688|0,0,0,0),ia(r,s),i=c;break i}if(!((0|p)<=1))for(;;){if(e[o+32>>2]=g[t+i|0],QA(s=o+800|0,89575,o+32|0),!UA(A,s,o+688|0))break i;if(ia(r,o+688|0),i=i+1|0,!((0|(p=p-1|0))>1))break}}i:if(!((m=l[0|(p=t+i|0)])-48>>>0>=10||RA(r)>>>0>=190))for(;;){if(s=o+688|0,Pa(A,g[0|p]-48|0,0,2,s),c=RA(r),e[o>>2]=15,e[o+4>>2]=s,QA(r+c|0,89594,o),(m=l[0|(p=(i=i+1|0)+t|0)])-48>>>0>=10)break i;if(!(RA(r)>>>0<=189))break}if(UA(A,89678,o+688|0)&&ia(r,o+688|0),e[A+128>>2]!=(0|m)|g[1+(t+i|0)|0]-48>>>0>=10)break s;UA(A,88882,s=o+688|0),ia(r,s)}if(!(s=l[0|r])|(0|s)==21||(s=Dt(o+184|0,t=1+(t+i|0)|0),i=e[o+184>>2],!(2&l[A+106|0])|(0|i)!=32||(Dt(o+184|0,t+s|0),i=e[o+184>>2]),ds(i)|_||(A=RA(r)+r|0,g[0|A]=11,g[A+1|0]=0)),e[a>>2]=-2147483648|e[a>>2],e[33275]=e[33275]-1,f=1,De)break e;e[33264]=1;break e}e[a>>2]=-129&e[a>>2],f=0;break e}f=1}}return q=o+848|0,f}function wt(A,t,r,a){var s,i,o=0,c=0,f=0,m=0,p=0,I=0,y=0,T=0,Y=0,K=0,_=0,ce=0,he=0,ye=0,De=0,Re=0,Xe=0,aA=0,fA=0,GA=0,SA=0;if(q=s=q-416|0,ye=M[r+8>>1],Y=l[r+10|0],64&(i=e[r>>2])){for(e[r>>2]=-65&i,g[199388]=1,f=e[47202],y=e[49846],p=e[47352],I=e[47351],m=e[47350];;){o=(c=e[198304+(I<<2)>>2])>>8;e:{A:switch((31&c)-9|0){case 0:f=o;break e;case 4:y=o;break e;case 3:break A;default:break e}p=c>>>0>=256?o+p|0:0}if(!(!(128&c)&(0|m)>(0|(I=I+1|0))))break}e[47352]=p,e[47351]=I,e[49846]=y,e[47202]=f}y=0;e:if(!((0|(o=e[49572]))>997)){if(1048576&i||!l[0|t])l[199388]&&(e[49572]=o+1,g[199388]=0,e[(A=190288+(o<<3)|0)>>2]=983042,e[A+4>>2]=0),g[189088]=0;else if(!((0|o)>990)){(0|(o=e[A+8224>>2]))>0&&(e[A+8224>>2]=o-1),f=512&i?a:a+4|0,p=(240&e[47202])==16,(ce=2&i)&&((0|(c=e[47200]))<3||(0|(o=e[47350]))>243||(l[199388]&&(e[(I=198300+(o<<2)|0)>>2]=-129&e[I>>2]),e[47350]=o+1,g[199388]=1,De=(0|c)==3?20:c,e[198304+(o<<2)>>2]=De<<8|193)),m=p?f:a;A:{r:{if(!(8&i)){for(;a=l[(o=T)+t|0],g[o+(s+240|0)|0]=a,223&a&&(T=o+1|0,o>>>0<160););if(g[s+66|0]=0,T=s- -64|2,y=PA(e[47192],t,r,T),e[s+412>>2]=y,!(4096&y))break r;xt(t,s+240|0,o);break e}s:if(va(t,87276,3))Ys(t,189088,s+240|0);else{if(I=0,223&(o=l[0|(T=t+3|0)]))for(;g[(s+240|0)+I|0]=Wt(o<<24>>24),I=I+1|0,223&(o=l[0|(T=T+1|0)]););g[(a=s+240|0)+I|0]=0,o=0;i:if(!((0|(r=e[34461]))<=0)){for(;;){if(!Mr(a,z(o,44)+137856|0)){e[34457]=o;break i}if((0|r)==(0|(o=o+1|0)))break}o=r}if((0|(r=(0|r)==(0|o)?-1:o))<=0)break s;ma(r),g[189090]=0,g[189089]=r,g[189088]=21}y=-2147483648,e[s+412>>2]=-2147483648,a=-1;break A}
vendor: 49,157 bytes, line 2737
2737if(!(!(8388608&y)|8&l[r+12|0])){for(q=p=q-208|0,I=e[A+60>>2],c=t;a=c,c=c+1|0,l[0|a]!=32;);Dt(p+204|0,c);r:if(ds(e[p+204>>2])){f=JA(p,189088),c=(!(256&I)|(_=TA(A,c,r+12|0,0))>>>15)&!(67108864&_)&l[189088]!=21;s:{i:{if(512&I){if(!(c&!(16&l[r+12|0])))break i;break s}if(c)break s}JA(189088,f);break r}if(g[0|a]=45,e[r>>2]=-2&e[r>>2],y=0,c=189088,K=TA(e[47192],t,r,0),e[s+412>>2]=K,!((0|I)<=0)&&(f=l[189088])){for(;y=(l[e[144464+(f<<2)>>2]+11|0]==2)+y|0,f=l[0|(c=c+1|0)];);if(!((31&I)>=(0|y))){g[0|a]=32,e[s+412>>2]=TA(e[47192],t,r,0);break r}}e[s+412>>2]=128|(K||_),e[33264]=1}q=p+208|0}if(a=-1,l[189088]==21){if(I=JA(s+16|0,132848),p=e[s+412>>2],c=xt(t,s+240|0,o),f=s- -64|1,(0|(a=En(l[189089]?189089:87315,188772,189296)))<0||(e[r>>2]=4194304|e[r>>2],l[s+66|0]?(b[s+64>>1]=8192,p=TA(e[47193],f,r,0)):p=PA(e[47193],c,r,T)),l[189088]==21&&(o=xt(c,s+240|0,o),(0|(a=En(l[189089]?189089:87315,188772,189296)))<0||(e[r>>2]=4194304|e[r>>2],l[s+66|0]?(b[s+64>>1]=8192,p=TA(e[47193],f,r,0)):p=PA(e[47193],o,r,T)),y=4096,l[189088]==21))break e;e[s+412>>2]=p,(0|a)>=0||(g[189090]=0,b[94544]=3341,(0|a)==-1&&(JA(132848,I),ma(e[e[32972]+60>>2]),a=e[e[32972]+60>>2]))}y=e[s+412>>2],128&i||(m=268435456&y&&(0|m)<=1?1:m,!(256&y)|528&i|e[A+8224>>2]|2&l[r-11|0]||(e[A+8224>>2]=3,m=(0|m)<=4?4:m)),m=(0|m)<=0&&e[49846]>2?1:m}if(r=l[199388],!((0|m)<=0|(0|(T=e[49572]))>990)){e[49572]=T+1,c=1&r,r=0,b[(o=190288+(T<<3)|0)>>1]=c?2:0,g[o+7|0]=0,g[o+3|0]=0,c=m>>>0>1,g[o+2|0]=c?9:11,b[o+4>>1]=0,e[A+8236>>2]=0;A:if(!(!(o=c?m-2|0:0)|(0|(T=e[49572]))>990))for(f=A+8236|0;;){if(e[49572]=T+1,b[(c=190288+(T<<3)|0)>>1]=0,g[c+7|0]=0,g[c+3|0]=0,p=o>>>0>1,g[c+2|0]=p?9:11,b[c+4>>1]=0,e[f>>2]=0,T=e[49572],(0|(o=p?o-2|0:0))<=0)break A;if(!((0|T)<991))break}e[A+8228>>2]=0,e[A+8232>>2]=0}g[199388]=1&r,!ce|e[47200]!=1||(e[49572]=T+2,g[199388]=0,b[(o=190288+(T<<3)|0)>>1]=1&r?2:0,g[o+7|0]=0,b[o+2>>1]=10,b[o+4>>1]=0,b[o+12>>1]=0,e[o+8>>2]=1179648,g[o+15|0]=0,1&i&&ar(g[t+1|0])&&(r=l[199388],g[199388]=0,t=e[49572],e[49572]=t+2,b[(t=190288+(t<<3)|0)>>1]=r?2:0,g[t+7|0]=0,b[t+2>>1]=10,b[t+4>>1]=0,b[t+12>>1]=0,e[t+8>>2]=1179648,g[t+15|0]=0)),o=Y>>>0<31;A:if(!((0|a)<0))if(t=e[49572],r=l[190290+((m=t-1|0)<<3)|0],l[189088]!=9|l[189089]!=21)(0|r)!=21&&(c=l[199388],g[199388]=0,g[7+(r=190288+(t<<3)|0)|0]=0,b[r+2>>1]=21,b[r+4>>1]=0,b[r>>1]=c?2:0,m=t),e[49572]=m+1,g[190295+(m<<3)|0]=a;else{if((0|r)!=21)break A;e[49572]=m}t=2047&ye,r=(o?Y:31)<<11,p=(Re=128&i)?l[e[144464+(l[189088]<<2)>>2]+11|0]?189088:189089:189088,(m=l[0|p])|!(1&g[199388])||(m=23,g[0|p]=23,g[p+1|0]=0),Xe=t|r,f=e[49572];A:if(m)if((0|f)>994)t=0;else for(GA=((-1610612736&y)==-2147483648)<<4,ye=Xe+1|0,SA=A+8233|0,t=0,c=1,_=0,aA=1,Y=-1,ce=-1,o=0;;){I=p+1|0;r:{if((0|(K=255&m))!=255){if(r=e[144464+(K<<2)>>2])break r;e[s>>2]=K,q=r=q-16|0,e[r+12>>2]=s,Fs(132552,87474,s),q=r+16|0,f=e[49572]}if(!(m=l[0|I]))break A;if(p=I,(0|f)<995)continue;break A}r:if((0|(he=255&m))!=21)if((0|(p=l[r+11|0]))!=1){switch(r=ye,he-12|0){case 8:g[3+(r=190288+((Y=f-1|0)<<3)|0)|0]=c,b[r>>1]=4|M[r>>1],r=o;break r;case 0:b[(r=190280+(f<<3)|0)>>1]=8|M[r>>1],r=o;break r;case 10:y|=16384,e[s+412>>2]=y,r=o;break r;case 3:break r}K=l[199388],g[199388]=0,g[7+(r=190288+(he=f<<3)|0)|0]=0,g[r+2|0]=m,b[r+4>>1]=o,o=(K?2:0)|GA,b[r>>1]=o,(0|p)==2?((0|c)>=4&&(g[189076]=1),(0|Y)<0||(0|(t=f-1|0))!=(0|Y)&&(g[190291+(t<<3)|0]=c),b[r>>1]=4|o,fA=(t=(0|c)>(0|ce))?f:fA,ce=t?c:ce,o=1,_&&(g[r+7|0]=_),Y=f,_=0,t=c):(!aA|!(64&l[0|SA])||(b[r>>1]=8|o),o=c),f=f+1|0,e[49572]=f,g[he+190291|0]=t,r=0,aA=0,c=o}else{if(!M[r+8>>1]){c=l[r+14|0],r=o;break r}if((0|Y)<0){r=o,_=K;break r}g[190295+(Y<<3)|0]=m,r=o}else e[(r=190288+(f<<3)|0)>>2]=1376256,b[r+4>>1]=0,g[r+7|0]=l[p+1|0],e[49572]=f+1,ma(l[p+1|0]),I=p+2|0,f=e[49572],r=o;if(!(m=l[0|I]))break A;if(p=I,o=r,!((0|f)<995))break}else t=0;131072&i&&(r=f+1|0,e[49572]=r,c=l[199388],g[199388]=0,g[7+(o=190288+(f<<3)|0)|0]=0,b[o+2>>1]=27,b[o+4>>1]=0,b[o>>1]=c?2:0,f=r),Re||(b[190292+(T<<3)>>1]=Xe),e[A+8228>>2]=0,l[e[144464+(l[190282+(f<<3)|0]<<2)>>2]+11|0]!=2|(0|t)<4||(e[A+8228>>2]=1),(0|a)>=0&&(JA(132848,s+16|0),ma(e[e[32972]+60>>2]),r=l[199388],g[199388]=0,a=e[49572],b[(t=190288+(a<<3)|0)>>1]=r?2:0,b[t+2>>1]=21,b[t+4>>1]=0,g[t+7|0]=e[e[32972]+60>>2],f=a+1|0,e[49572]=f),(0|De)>0&&(g[199388]=0,e[49572]=f+1,e[(t=190288+(f<<3)|0)>>2]=655362,r=e[47350],e[47350]=r+1,g[t+7|0]=0,b[t+4>>1]=0,e[198304+(r<<2)>>2]=De<<8|225),1024&y&&(b[(t=190288+(fA<<3)|0)>>1]=64|M[t>>1]),e[A+8232>>2]=y}}return q=s+416|0,y}function Xa(A,t,r,a,s){var i=0,o=0,c=0,f=0,m=0,p=0,I=0,y=0,T=0,Y=0,K=0,_=0,ce=0,he=0,ye=0,De=0,Re=0,Xe=0,aA=0,fA=0,GA=0,SA=0,At=0,ct=0;e:if(t){if(ce=s<<4,o=(t=e[33268])+r|0,!((0|t)<=0||(i=l[0|(f=ce+129360|0)],I=l[f+1|0]-i<<8,I=(0|t)!=1?(0|I)/(0|t)|0:I,(0|r)>=(0|o))))for(y=I>>>0>255,K=I>>>8|0,i<<=8,f=0-I>>>8|0,De=(0|I)<=0,t=r;De?(m=(p=(p=(0|(c=(0|(c=e[101024+(g[z(t,6)+A|0]<<2)>>2]))<(0|f)?f:c))>=18?18:c)+(c=(0|(c=(0|(i=i+I|0))/256|0))>0?c:0)|0)>>>0>=254?254:p,c=c>>>0>=254?254:c):(c=z(t,6)+A|0,g[c+2|0]=y|l[c+2|0],c=(p=(0|(c=(0|i)/256|0))>0?c:0)>>>0>=254?254:p,m=(p=p+K|0)>>>0>=254?254:p,i=i+I|0),p=z(t,6)+A|0,g[p+5|0]=c,g[p+4|0]=m,(0|o)!=(0|(t=t+1|0)););if(2&l[188785]?(f=e[33271],e[33270]=f):f=e[33270],K=(y=l[3+(i=129360+(t=s<<4)|0)|0])-(c=l[i+2|0])<<8,De=e[i+4>>2],(0|r)>0?(Xe=101056,he=5,p=(0|K)/(l[t+129368|0]-1|0)|0):(Xe=e[12+(t=t+129360|0)>>2],he=l[t+10|0],p=0),(0|o)<(0|f)){for(I=(0|r)<=0,_=((t=K>>31)^K)-t|0,T=129360+(s<<4)|0,c<<=8,Re=y<<8,y=0;;){A:{if(m=z(o,6)+A|0,!(!(1&I)&(0|(i=g[0|m]))<4)){r=0,t=o;r:if(1&((0|i)==5|I)){for(;(0|(p=g[z(t,6)+A|0]))<=6&&(r=((0|p)>3)+r|0,(0|f)!=(0|(t=t+1|0))););if(Y=0,(0|(ye=(0|(t=l[T+8|0]))>(0|r)?r:t))<2){p=0,y=c;break r}p=(0|K)/(ye-1|0)|0,y=c}else(0|ye)>0?y=p+y|0:(y=Re+(z(_,g[Y+Xe|0])>>6)|0,(0|he)>(0|(Y=Y+1|0))||(Xe=e[T+12>>2],Y=0));if(ye=ye-1|0,!((0|i)<4)){g[0|m]=6,r=(t=(0|(t=(0|y)/256|0))>0?t:0)+(((r=(i=e[De+(i<<2)>>2])>>31)^i)-r|0)|0;break A}}(0|i)!=3?(t=(0|y)/256|0,(63&l[m-6|0])>>>0>=3?(r=(i=e[De+(i<<2)>>2])>>31,r=(t=(0|(t=t-g[T+9|0]|0))>0?t:0)+((r^i)-r|0)|0):r=(t=(0|t)>0?t:0)+(((r=(i=e[De+(i<<2)>>2])>>31)^i)-r|0)|0):r=(t=(0|(t=(0|y)/256|0))>0?t:0)+(((r=(i=e[De+12>>2])>>31)^i)-r|0)|0}if(g[m+5|0]=t>>>0>=254?254:t,I=0,t=(0|r)>0?r:0,g[m+4|0]=t>>>0>=254?254:t,g[m+2|0]=l[m+2|0]|i>>>31,(0|f)==(0|(o=o+1|0)))break}o=f}if(!(l[133068]||((268435455&s)==3&&(t=z(o,6)+A|0,g[t+2|0]=2|l[t+2|0]),e[33269]?(t=l[5+(i=100768+(s<<4)|0)|0],c=i+3|0,r=l[i+4|0]-t|0):(t=l[2+(r=100768+(s<<4)|0)|0],c=ce+100768|0,r=l[r+1|0]-t|0),i=z(o,6)+A|0,g[i+5|0]=t>>>0>=254?254:t,g[i+2|0]=l[i+2|0]|r>>>31,t=(p=t)+(((t=r>>31)^r)-t|0)|0,g[i+4|0]=t>>>0>=254?254:t,r=z(f,6)+A|0,g[r+1|0]=l[0|c],t=o+1|0,l[0|r]==4&&(g[0|r]=6),(0|(r=a-t|0))<=0||(s=l[12+(o=100768+(s<<4)|0)|0],o=l[o+13|0]-s<<8,o=(0|r)!=1?(0|o)/(0|r)|0:o,(0|t)>=(0|a)))))for(p=o>>>0>255,I=o>>>8|0,r=s<<8,s=0-o>>>8|0,y=(0|o)<=0;y?(c=(f=(c=(0|(i=(0|s)>(0|(i=e[101024+(g[z(t,6)+A|0]<<2)>>2]))?s:i))>=18?18:i)+(i=(0|(i=(0|(r=r+o|0))/256|0))>0?i:0)|0)>>>0>=254?254:f,f=i>>>0>=254?254:i):(i=z(t,6)+A|0,g[i+2|0]=p|l[i+2|0],f=(i=(0|(i=(0|r)/256|0))>0?i:0)>>>0>=254?254:i,c=(i=i+I|0)>>>0>=254?254:i,r=r+o|0),i=z(t,6)+A|0,g[i+5|0]=f,g[i+4|0]=c,(0|a)!=(0|(t=t+1|0)););}else{if(t=(he=e[34455])+z(s,68)|0,o=l[t+24|0],f=l[t+25|0],i=(t=e[33268])+r|0,!((0|t)<=0||(m=f-o<<8,m=(0|t)!=1?(0|m)/(0|t)|0:m,(0|r)>=(0|i))))for(p=m>>>0>255,I=m>>>8|0,t=o<<8,f=0-m>>>8|0,y=(0|m)<=0;y?(o=(o=(K=(0|(o=(0|(o=e[101024+(g[z(r,6)+A|0]<<2)>>2]))<(0|f)?f:o))>=18?18:o)+(c=(0|(o=(0|(t=t+m|0))/256|0))>0?o:0)|0)>>>0>=254?254:o,c=c>>>0>=254?254:c):(o=z(r,6)+A|0,g[o+2|0]=p|l[o+2|0],c=(o=(0|(o=(0|t)/256|0))>0?o:0)>>>0>=254?254:o,o=(o=o+I|0)>>>0>=254?254:o,t=t+m|0),K=z(r,6)+A|0,g[K+5|0]=c,g[K+4|0]=o,(0|i)!=(0|(r=r+1|0)););2&l[188785]?(r=e[33271],e[33270]=r):r=e[33270],f=r,t=he+z(s,68)|0;A:if((0|(I=l[t+33|0]))!=255)for(;;){if((0|(f=f-1|0))<(0|i)){f=r;break A}if(!(g[z(f,6)+A|0]<4))break}if((0|r)>(0|i)){for(SA=((o=(fA=(y=l[t+32|0])-(m=l[0|(c=t+31|0)])<<8)>>31)^fA)-o|0,Re=(0|(t=l[0|(p=t+30|0)]))==255,K=I<<8,De=m<<8,At=y<<8,ce=he+z(s,68)|0,ct=(0|t)!=255,y=0,I=0,t=1,m=0;;){A:{if(T=z(i,6)+A|0,!(!(1&t)&(0|(_=g[0|T]))<4)){r:if(1&((0|_)==5|t)){s:if(ct){if(aA=1,t=0,o=p,!((0|f)<=(0|(m=i+1|0)))){for(;;){if(o=p,(0|(I=g[z(m,6)+A|0]))>6)break s;if(t=((0|I)>3)+t|0,(0|f)==(0|(m=m+1|0)))break}o=p}}else{if(t=0,m=i,o=c,(0|f)<=(0|i))break s;for(;;){if(o=c,(0|(I=g[z(m,6)+A|0]))>6)break s;if(t=((0|I)>3)+t|0,(0|f)==(0|(m=m+1|0)))break}o=c}if(I=l[0|o]<<8,GA=0,(0|(m=(0|t)<(0|(o=l[ce+34|0]))?t:o))<2){Xe=0;break r}Xe=(0|fA)/(m-1|0)|0}else(0|i)!=(0|f)?aA?(Re=1,m=m+1|0,aA=0,I=De):(0|m)>0?(I=I+Xe|0,aA=0):(aA=0,I=(z(g[16+(ce+GA|0)|0],SA)>>6)+At|0,GA=(0|(t=GA+1|0))<l[ce+35|0]?t:0):(Re=2,I=K);if(m=m-1|0,!((0|_)<4)){t=o=i+1|0;r:if(!((0|r)<=(0|i)))for(;;){if(g[z(t,6)+A|0]>1)break r;if(!((0|r)>=(0|(t=t+1|0))))break}g[0|T]=6,g[T+1|0]=l[ce+26|0],y=0,Y=l[ce+27|0],i=(0|(i=(0|I)/256|0))>0?i:0,g[T+5|0]=i>>>0>=254?254:i,i=i+Y|0,g[T+4|0]=i>>>0>=254?254:i,ye=t-o|0;break A}}if((0|_)>=2){t=o=i+1|0;r:if(!((0|r)<=(0|i)))for(;;){if(g[z(t,6)+A|0]>1)break r;if(!((0|r)>=(0|(t=t+1|0))))break}y=0,i=(0|(i=(0|I)/256|0))>0?i:0,g[T+5|0]=i>>>0>=254?254:i,Y=e[100976+(_<<2)>>2],g[T+2|0]=l[T+2|0]|Y>>>31,i=(0|(i=(_=i)+(((i=Y>>31)^Y)-i|0)|0))>0?i:0,g[T+4|0]=i>>>0>=254?254:i,ye=t-o|0}else(0|ye)<=1?(Y=g[36+(ce+Re|0)|0],t=0):(Y=g[36+(t=ce+Re|0)|0],t=(g[t+39|0]-Y|0)/(ye-1|0)|0),o=e[100976+(_<<2)>>2],g[T+2|0]=l[T+2|0]|o>>>31,t=(0|(t=(((0|I)/256|0)+Y|0)+z(t,y)|0))>0?t:0,g[T+5|0]=t>>>0>=254?254:t,t=(0|(t=t+(((_=o)^(o>>=31))-o|0)|0))>0?t:0,g[T+4|0]=t>>>0>=254?254:t,y=y+1|0,o=i+1|0}if(t=0,(0|r)==(0|(i=o)))break}i=r}if(l[133068]||(o=z(i,6)+A|0,e[33269]?(c=he+z(s,68)|0,t=l[c+47|0],f=l[c+46|0]-t|0,c=c+45|0):(c=he+z(s,68)|0,t=l[c+44|0],f=l[c+43|0]-t|0,c=c+42|0),c=l[0|c],p=(((p=f>>31)^f)-p|0)+t|0,g[o+4|0]=p>>>0>=254?254:p,g[o+5|0]=t>>>0>=254?254:t,t=z(i,6)+A|0,g[t+2|0]=l[t+2|0]|f>>>31,r=z(r,6)+A|0,g[r+1|0]=c,t=i+1|0,l[0|r]==4&&(g[0|r]=6),(0|(r=a-t|0))<=0)||(o=he+z(s,68)|0,s=l[o+48|0],o=l[o+49|0]-s<<8,o=(0|r)!=1?(0|o)/(0|r)|0:o,(0|t)>=(0|a)))break e;for(p=o>>>0>255,I=o>>>8|0,r=s<<8,s=0-o>>>8|0,y=(0|o)<=0;y?(c=(f=(c=(0|(i=(0|s)>(0|(i=e[101024+(g[z(t,6)+A|0]<<2)>>2]))?s:i))>=18?18:i)+(i=(0|(i=(0|(r=r+o|0))/256|0))>0?i:0)|0)>>>0>=254?254:f,f=i>>>0>=254?254:i):(i=z(t,6)+A|0,g[i+2|0]=p|l[i+2|0],f=(i=(0|(i=(0|r)/256|0))>0?i:0)>>>0>=254?254:i,c=(i=i+I|0)>>>0>=254?254:i,r=r+o|0),i=z(t,6)+A|0,g[i+5|0]=f,g[i+4|0]=c,(0|a)!=(0|(t=t+1|0)););}}function La(){var A,t=0,r=0,a=0,s=0,i=0,o=0,c=0,f=0,m=0,p=0,I=0,y=0,T=0,Y=0,K=0;if((0|(A=e[36455]))!=(0|(f=e[36454]))){e:if(!((0|(T=e[36427]))<0|(0|f)==(0|T))){r=I=e[8+(216192+((m=T)<<4)|0)>>2];A:{for(;;){if((a=e[(o=216192+((m=(0|(a=m-1|0))<0?169:a)<<4)|0)>>2])-5>>>0<2)break A;r:{if((0|a)<=4){if(e[o+12>>2]!=(0|r))break A;if(a=M[o+4>>1],e[o+12>>2]=I,r=e[o+8>>2],16&(t=M[r>>1]))break r;for(K=32&t?(z(a,12)>>>0)/10|0:a,s=0,a=r,c=0;;){t=M[r>>1];s:if(!(c>>>0<3&&8&t)){if(t=t<<16>>16,(0|(Y=(p=b[2+((y=c<<1)+r|0)>>1])-(i=b[2+(y=I+y|0)>>1])|0))>(0|(p=(0|z(K,(0|z(e[200944+(c<<2)>>2],(0|Y)>0?p+(i<<1)|0:(p<<1)+i|0))/3e3|0))/256|0)))s||((0|t)<0?a=r:(a=0,t=(0|(t=e[44469]+1|0))<=169?t:0,e[44469]=t,(t=177888+(s=t<<6)|0)&&(a=M[r+4>>1]|M[r+6>>1]<<16,i=M[r>>1]|M[r+2>>1]<<16,b[t>>1]=i,b[t+2>>1]=i>>>16,b[t+4>>1]=a,b[t+6>>1]=a>>>16,a=M[r+60>>1]|M[r+62>>1]<<16,i=M[r+56>>1]|M[r+58>>1]<<16,b[t+56>>1]=i,b[t+58>>1]=i>>>16,b[t+60>>1]=a,b[t+62>>1]=a>>>16,a=M[r+52>>1]|M[r+54>>1]<<16,i=M[r+48>>1]|M[r+50>>1]<<16,b[t+48>>1]=i,b[t+50>>1]=i>>>16,b[t+52>>1]=a,b[t+54>>1]=a>>>16,a=M[r+44>>1]|M[r+46>>1]<<16,i=M[r+40>>1]|M[r+42>>1]<<16,b[t+40>>1]=i,b[t+42>>1]=i>>>16,b[t+44>>1]=a,b[t+46>>1]=a>>>16,a=M[r+36>>1]|M[r+38>>1]<<16,i=M[r+32>>1]|M[r+34>>1]<<16,b[t+32>>1]=i,b[t+34>>1]=i>>>16,b[t+36>>1]=a,b[t+38>>1]=a>>>16,a=M[r+28>>1]|M[r+30>>1]<<16,i=M[r+24>>1]|M[r+26>>1]<<16,b[t+24>>1]=i,b[t+26>>1]=i>>>16,b[t+28>>1]=a,b[t+30>>1]=a>>>16,a=M[r+20>>1]|M[r+22>>1]<<16,i=M[r+16>>1]|M[r+18>>1]<<16,b[t+16>>1]=i,b[t+18>>1]=i>>>16,b[t+20>>1]=a,b[t+22>>1]=a>>>16,a=M[r+12>>1]|M[r+14>>1]<<16,i=M[r+8>>1]|M[r+10>>1]<<16,b[t+8>>1]=i,b[t+10>>1]=i>>>16,b[t+12>>1]=a,b[t+14>>1]=a>>>16,g[s+177904|0]=0,b[t>>1]=32768|M[t>>1],a=t))),t=p+M[y+2>>1]|0;else{if((0-p|0)<=(0|Y))break s;s||((0|t)<0?a=r:(a=0,t=(0|(t=e[44469]+1|0))<=169?t:0,e[44469]=t,(t=177888+(s=t<<6)|0)&&(a=M[r+4>>1]|M[r+6>>1]<<16,i=M[r>>1]|M[r+2>>1]<<16,b[t>>1]=i,b[t+2>>1]=i>>>16,b[t+4>>1]=a,b[t+6>>1]=a>>>16,a=M[r+60>>1]|M[r+62>>1]<<16,i=M[r+56>>1]|M[r+58>>1]<<16,b[t+56>>1]=i,b[t+58>>1]=i>>>16,b[t+60>>1]=a,b[t+62>>1]=a>>>16,a=M[r+52>>1]|M[r+54>>1]<<16,i=M[r+48>>1]|M[r+50>>1]<<16,b[t+48>>1]=i,b[t+50>>1]=i>>>16,b[t+52>>1]=a,b[t+54>>1]=a>>>16,a=M[r+44>>1]|M[r+46>>1]<<16,i=M[r+40>>1]|M[r+42>>1]<<16,b[t+40>>1]=i,b[t+42>>1]=i>>>16,b[t+44>>1]=a,b[t+46>>1]=a>>>16,a=M[r+36>>1]|M[r+38>>1]<<16,i=M[r+32>>1]|M[r+34>>1]<<16,b[t+32>>1]=i,b[t+34>>1]=i>>>16,b[t+36>>1]=a,b[t+38>>1]=a>>>16,a=M[r+28>>1]|M[r+30>>1]<<16,i=M[r+24>>1]|M[r+26>>1]<<16,b[t+24>>1]=i,b[t+26>>1]=i>>>16,b[t+28>>1]=a,b[t+30>>1]=a>>>16,a=M[r+20>>1]|M[r+22>>1]<<16,i=M[r+16>>1]|M[r+18>>1]<<16,b[t+16>>1]=i,b[t+18>>1]=i>>>16,b[t+20>>1]=a,b[t+22>>1]=a>>>16,a=M[r+12>>1]|M[r+14>>1]<<16,i=M[r+8>>1]|M[r+10>>1]<<16,b[t+8>>1]=i,b[t+10>>1]=i>>>16,b[t+12>>1]=a,b[t+14>>1]=a>>>16,g[s+177904|0]=0,b[t>>1]=32768|M[t>>1],a=t))),t=M[y+2>>1]-p|0}s=1,b[2+((c<<1)+a|0)>>1]=t,e[o+8>>2]=a}if((0|(c=c+1|0))==6)break}I=a}if((0|f)!=(0|m))continue;break A}break}I=r}for(a=0;;){if((r=e[(m=216192+(T<<4)|0)>>2])-5>>>0<2)break e;if((0|r)<=4){if(r=e[m+8>>2],t=M[m+4>>1],a){if((0|r)!=(0|a))break e;e[m+8>>2]=I}else I=r;if(16&(a=M[I>>1]))break e;for(y=32&a?(z(t,6)>>>0)/5|0:t,s=0,r=a=e[m+12>>2],c=0;;){A:{r:if((0|(f=(o=b[2+((t=c<<1)+a|0)>>1])-(t=b[2+(p=t+I|0)>>1])|0))>(0|(o=(0|z(y,(0|z(e[200944+(c<<2)>>2],(0|f)>0?o+(t<<1)|0:(o<<1)+t|0))/3e3|0))/256|0))){if(!s){if(b[a>>1]<0){r=a,t=t+o|0;break r}r=(0|(r=e[44469]+1|0))<=169?r:0,e[44469]=r,s=M[a+20>>1]|M[a+22>>1]<<16,t=16+(r=177888+(r<<6)|0)|0,f=M[a+16>>1]|M[a+18>>1]<<16,b[t>>1]=f,b[t+2>>1]=f>>>16,b[t+4>>1]=s,b[t+6>>1]=s>>>16,t=M[a+4>>1]|M[a+6>>1]<<16,s=M[a>>1]|M[a+2>>1]<<16,b[r>>1]=s,b[r+2>>1]=s>>>16,b[r+4>>1]=t,b[r+6>>1]=t>>>16,t=M[a+12>>1]|M[a+14>>1]<<16,s=M[a+8>>1]|M[a+10>>1]<<16,b[r+8>>1]=s,b[r+10>>1]=s>>>16,b[r+12>>1]=t,b[r+14>>1]=t>>>16,t=M[a+28>>1]|M[a+30>>1]<<16,s=M[a+24>>1]|M[a+26>>1]<<16,b[r+24>>1]=s,b[r+26>>1]=s>>>16,b[r+28>>1]=t,b[r+30>>1]=t>>>16,t=M[a+36>>1]|M[a+38>>1]<<16,s=M[a+32>>1]|M[a+34>>1]<<16,b[r+32>>1]=s,b[r+34>>1]=s>>>16,b[r+36>>1]=t,b[r+38>>1]=t>>>16,t=M[a+44>>1]|M[a+46>>1]<<16,s=M[a+40>>1]|M[a+42>>1]<<16,b[r+40>>1]=s,b[r+42>>1]=s>>>16,b[r+44>>1]=t,b[r+46>>1]=t>>>16,t=M[a+52>>1]|M[a+54>>1]<<16,s=M[a+48>>1]|M[a+50>>1]<<16,b[r+48>>1]=s,b[r+50>>1]=s>>>16,b[r+52>>1]=t,b[r+54>>1]=t>>>16,t=M[a+60>>1]|M[a+62>>1]<<16,s=M[a+56>>1]|M[a+58>>1]<<16,b[r+56>>1]=s,b[r+58>>1]=s>>>16,b[r+60>>1]=t,b[r+62>>1]=t>>>16,g[r+16|0]=0,b[r>>1]=32768|M[r>>1],t=M[p+2>>1]}t=t+o|0}else{if((0|f)>=(0-o|0))break A;s||(b[a>>1]<0?r=a:(r=(0|(r=e[44469]+1|0))<=169?r:0,e[44469]=r,s=M[a+20>>1]|M[a+22>>1]<<16,t=16+(r=177888+(r<<6)|0)|0,f=M[a+16>>1]|M[a+18>>1]<<16,b[t>>1]=f,b[t+2>>1]=f>>>16,b[t+4>>1]=s,b[t+6>>1]=s>>>16,t=M[a+4>>1]|M[a+6>>1]<<16,s=M[a>>1]|M[a+2>>1]<<16,b[r>>1]=s,b[r+2>>1]=s>>>16,b[r+4>>1]=t,b[r+6>>1]=t>>>16,t=M[a+12>>1]|M[a+14>>1]<<16,s=M[a+8>>1]|M[a+10>>1]<<16,b[r+8>>1]=s,b[r+10>>1]=s>>>16,b[r+12>>1]=t,b[r+14>>1]=t>>>16,t=M[a+28>>1]|M[a+30>>1]<<16,s=M[a+24>>1]|M[a+26>>1]<<16,b[r+24>>1]=s,b[r+26>>1]=s>>>16,b[r+28>>1]=t,b[r+30>>1]=t>>>16,t=M[a+36>>1]|M[a+38>>1]<<16,s=M[a+32>>1]|M[a+34>>1]<<16,b[r+32>>1]=s,b[r+34>>1]=s>>>16,b[r+36>>1]=t,b[r+38>>1]=t>>>16,t=M[a+44>>1]|M[a+46>>1]<<16,s=M[a+40>>1]|M[a+42>>1]<<16,b[r+40>>1]=s,b[r+42>>1]=s>>>16,b[r+44>>1]=t,b[r+46>>1]=t>>>16,t=M[a+52>>1]|M[a+54>>1]<<16,s=M[a+48>>1]|M[a+50>>1]<<16,b[r+48>>1]=s,b[r+50>>1]=s>>>16,b[r+52>>1]=t,b[r+54>>1]=t>>>16,t=M[a+60>>1]|M[a+62>>1]<<16,s=M[a+56>>1]|M[a+58>>1]<<16,b[r+56>>1]=s,b[r+58>>1]=s>>>16,b[r+60>>1]=t,b[r+62>>1]=t>>>16,g[r+16|0]=0,b[r>>1]=32768|M[r>>1],t=M[p+2>>1])),t=t-o|0}s=1,b[2+((c<<1)+r|0)>>1]=t,e[m+12>>2]=r}if((0|(c=c+1|0))==6)break}I=r}if((0|A)==(0|(T=(0|(r=T+1|0))<=169?r:0)))break}}e[36454]=A}}function wa(A,t){var r,a,s=0,i=0,o=0,c=0,f=0,m=0,p=0,I=0,y=0,T=0,Y=0,K=0,_=0,ce=0,he=0,ye=0,De=0,Re=0,Xe=0,aA=0,fA=0,GA=0,SA=0;q=r=q-48|0,me(+A),i=0|Z(1),s=0|Z(0),a=i;e:{A:{r:{if((f=2147483647&i)>>>0<=1074752122){if((1048575&i)==598523)break r;if(f>>>0<=1073928572){if((0|a)>0|(0|a)>=0){c=(A+=-1.5707963267341256)+-6077100506506192e-26,D[t>>3]=c,D[t+8>>3]=A-c-6077100506506192e-26,i=1;break e}c=(A+=1.5707963267341256)+6077100506506192e-26,D[t>>3]=c,D[t+8>>3]=A-c+6077100506506192e-26,i=-1;break e}if((0|a)>0|(0|a)>=0){c=(A+=-3.1415926534682512)+-12154201013012384e-26,D[t>>3]=c,D[t+8>>3]=A-c-12154201013012384e-26,i=2;break e}c=(A+=3.1415926534682512)+12154201013012384e-26,D[t>>3]=c,D[t+8>>3]=A-c+12154201013012384e-26,i=-2;break e}if(f>>>0<=1075594811){if(f>>>0<=1075183036){if((0|f)==1074977148)break r;if((0|a)>0|(0|a)>=0){c=(A+=-4.712388980202377)+-18231301519518578e-26,D[t>>3]=c,D[t+8>>3]=A-c-18231301519518578e-26,i=3;break e}c=(A+=4.712388980202377)+18231301519518578e-26,D[t>>3]=c,D[t+8>>3]=A-c+18231301519518578e-26,i=-3;break e}if((0|f)==1075388923)break r;if((0|a)>0|(0|a)>=0){c=(A+=-6.2831853069365025)+-2430840202602477e-25,D[t>>3]=c,D[t+8>>3]=A-c-2430840202602477e-25,i=4;break e}c=(A+=6.2831853069365025)+2430840202602477e-25,D[t>>3]=c,D[t+8>>3]=A-c+2430840202602477e-25,i=-4;break e}if(f>>>0>1094263290)break A}s=(De=(c=A+-1.5707963267341256*(I=.6366197723675814*A+6755399441055744-6755399441055744))-(T=6077100506506192e-26*I))<-.7853981633974483,i=Ne(I)<2147483648?~~I:-2147483648,s?(i=i-1|0,T=6077100506506192e-26*(I+=-1),c=A+-1.5707963267341256*I):De>.7853981633974483&&(i=i+1|0,T=6077100506506192e-26*(I+=1),c=A+-1.5707963267341256*I),A=c-T,D[t>>3]=A,me(+A),s=0|Z(1),Z(0),((o=f>>>20|0)-(s>>>20&2047)|0)<17||(T=c,A=(c-=A=6077100506303966e-26*I)-(T=20222662487959506e-37*I-(T-c-A)),D[t>>3]=A,me(+A),s=0|Z(1),Z(0),(o-(s>>>20&2047)|0)<50||(T=c,A=(c-=A=20222662487111665e-37*I)-(T=84784276603689e-45*I-(T-c-A)),D[t>>3]=A)),D[t+8>>3]=c-A-T;break e}if(f>>>0>=2146435072)A-=A,D[t>>3]=A,D[t+8>>3]=A,i=0;else{for(W(0,0|s),W(1,1048575&a|1096810496),A=+te(),i=0,s=1;o=(r+16|0)+(i<<3)|0,c=+(0|(i=Ne(A)<2147483648?~~A:-2147483648)),D[o>>3]=c,A=16777216*(A-c),i=1,o=s,s=0,o;);for(D[r+32>>3]=A,i=2;i=(s=i)-1|0,D[(r+16|0)+(s<<3)>>3]==0;);if(Re=r+16|0,o=0,q=m=q-560|0,f=z(ye=(0|(f=((i=(f>>>20|0)-1046|0)-3|0)/24|0))>0?f:0,-24)+i|0,((Y=e[28105])+(p=(ce=s+1|0)-1|0)|0)>=0)for(i=Y+ce|0,s=ye-p|0;D[(m+320|0)+(o<<3)>>3]=(0|s)<0?0:+e[112432+(s<<2)>>2],s=s+1|0,(0|i)!=(0|(o=o+1|0)););for(_=f-24|0,i=0,o=(0|Y)>0?Y:0,K=(0|ce)<=0;;){if(K)A=0;else for(y=i+p|0,s=0,A=0;A=D[(s<<3)+Re>>3]*D[(m+320|0)+(y-s<<3)>>3]+A,(0|ce)!=(0|(s=s+1|0)););if(D[(i<<3)+m>>3]=A,s=(0|i)==(0|o),i=i+1|0,s)break}GA=47-f|0,Xe=48-f|0,SA=f-25|0,i=Y;A:{for(;;){if(A=D[(i<<3)+m>>3],s=0,o=i,!(y=(0|i)<=0))for(;K=(m+480|0)+(s<<2)|0,p=Ne(c=5960464477539063e-23*A)<2147483648?~~c:-2147483648,p=Ne(A=-16777216*(c=+(0|p))+A)<2147483648?~~A:-2147483648,e[K>>2]=p,A=D[((o=o-1|0)<<3)+m>>3]+c,(0|i)!=(0|(s=s+1|0)););A=js(A,_),A+=-8*tA(.125*A),A-=+(0|(K=Ne(A)<2147483648?~~A:-2147483648));r:{s:{i:{if(aA=(0|_)<=0){if(_)break i;p=e[476+((i<<2)+m|0)>>2]>>23}else he=o=(i<<2)+m|0,o=(p=e[o+476>>2])-((s=p>>Xe)<<Xe)|0,e[he+476>>2]=o,K=s+K|0,p=o>>GA;if((0|p)<=0)break r;break s}if(p=2,!(A>=.5)){p=0;break r}}if(s=0,o=0,!y)for(;fA=e[(he=(m+480|0)+(s<<2)|0)>>2],y=16777215,o||(y=16777216,fA)?(e[he>>2]=y-fA,o=1):o=0,(0|i)!=(0|(s=s+1|0)););s:if(!aA){s=8388607;i:switch(0|SA){case 1:s=4194303;break;case 0:break i;default:break s}e[476+(y=(i<<2)+m|0)>>2]=e[y+476>>2]&s}K=K+1|0,(0|p)==2&&(A=1-A,p=2,o&&(A-=js(1,_)))}if(A!=0)break;if(o=0,!((0|Y)>=(0|(s=i)))){for(;o=e[(m+480|0)+((s=s-1|0)<<2)>>2]|o,(0|s)>(0|Y););if(o){for(f=_;f=f-24|0,!e[(m+480|0)+((i=i-1|0)<<2)>>2];);break A}}for(s=1;o=s,s=s+1|0,!e[(m+480|0)+(Y-o<<2)>>2];);for(o=i+o|0;;){if(p=i+ce|0,i=i+1|0,D[(m+320|0)+(p<<3)>>3]=e[112432+(ye+i<<2)>>2],s=0,A=0,(0|ce)>0)for(;A=D[(s<<3)+Re>>3]*D[(m+320|0)+(p-s<<3)>>3]+A,(0|ce)!=(0|(s=s+1|0)););if(D[(i<<3)+m>>3]=A,!((0|i)<(0|o)))break}i=o}(A=js(A,24-f|0))>=16777216?(_=(m+480|0)+(i<<2)|0,s=Ne(c=5960464477539063e-23*A)<2147483648?~~c:-2147483648,o=Ne(A=-16777216*+(0|s)+A)<2147483648?~~A:-2147483648,e[_>>2]=o,i=i+1|0):(s=Ne(A)<2147483648?~~A:-2147483648,f=_),e[(m+480|0)+(i<<2)>>2]=s}if(A=js(1,f),!((0|i)<0)){for(s=i;o=s,D[(s<<3)+m>>3]=A*+e[(m+480|0)+(s<<2)>>2],s=s-1|0,A*=5960464477539063e-23,o;);if(y=0,!((0|i)<0))for(f=(0|Y)>0?Y:0,o=i;;){for(_=f>>>0<y>>>0?f:y,Y=i-o|0,s=0,A=0;A=D[115200+(s<<3)>>3]*D[(s+o<<3)+m>>3]+A,ce=(0|s)!=(0|_),s=s+1|0,ce;);if(D[(m+160|0)+(Y<<3)>>3]=A,o=o-1|0,s=(0|i)!=(0|y),y=y+1|0,!s)break}}if(A=0,(0|i)>=0)for(s=i;o=s,s=s-1|0,A+=D[(m+160|0)+(o<<3)>>3],o;);if(D[r>>3]=p?-A:A,A=D[m+160>>3]-A,s=1,(0|i)>0)for(;A+=D[(m+160|0)+(s<<3)>>3],o=(0|s)!=(0|i),s=s+1|0,o;);D[r+8>>3]=p?-A:A,q=m+560|0,i=7&K,A=D[r>>3],(0|a)<0?(D[t>>3]=-A,D[t+8>>3]=-D[r+8>>3],i=0-i|0):(D[t>>3]=A,D[t+8>>3]=D[r+8>>3])}}return q=r+48|0,i}function qA(){var A=0,t=0,r=0,a=0,s=0,i=0,o=0,c=0,f=0,m=0,p=0,I=0,y=0,T=0,Y=0,K=0,_=0,ce=0,he=0,ye=0,De=0,Re=0,Xe=0,aA=0,fA=0,GA=0,SA=0,At=0,ct=0,bt=0,Nt=0,qt=0,tr=0,mr=0,Cr=0,Gr=0,Dr=0,Or=0,Kr=0,na=0,$r=0,oa=0,ya=0,rs=0,fs=0,ps=0;e[55925]=0,A=e[56772],e[56772]=A+1,r=e[55961],y=e[55922],Y=Ri(39.89822670059037*(t=+(0|A))),m=Ri(22.30530784048753*t),t=+(0|y)/50*(+(0|r)/100)*(Ri(14.765485471872028*t)+(Y+m))*10,A=Ne(t)<2147483648?~~t:-2147483648,e[56607]=A+e[56607];e:if(!(e[55923]<=0)){for(;;){for(r=kt(e[33209],0,1103515245,0),A=J,A=Zn(r=r+12345|0,A=r>>>0<12345?A+1|0:A),e[33209]=A,A=8191+((A>>>0)%16383|0)|0,e[55929]=A,bt=+(0|A),t=.75*D[28387]+bt,D[28387]=t,Nt=(0|(A=e[55924]))>(0|(Xe=e[55928]))?.5*t:t,Cr=(s=.033*+e[56652])>0?1-s:1,r=e[56650]<<2,GA=(0|(fA=e[55921]))==1&&(0|r)>263?263:r,Gr=111136+((qt=e[56651])<<1)|0,Dr=111136+((SA=e[56658])<<1)|0,Or=(0|SA)>0,tr=e[55918],Kr=z(tr,40),na=e[55925],$r=D[27967],mr=e[56607],t=D[27979],_=D[27969],c=D[27970],At=e[56780],ye=e[56654],I=D[27976],T=D[27972],ce=D[28388],he=D[28389],y=e[55927],a=D[28383],p=e[55926],De=e[55956],oa=D[27975],m=D[28131],i=D[28130],o=D[28123],K=D[28121],f=D[28122],aA=D[28120],Re=D[28119],ya=D[28129],rs=D[28128],fs=D[28127],ps=Qa(0*D[27968]),ct=0;;){Y=i;A:{r:switch(fA-1|0){case 0:ce=0,i=K*o,o=f,f=a=i+(Re*(ce=(0|A)<=2?D[111312+(A<<3)>>3]:ce)+aA*o);break A;case 1:if(a=0,(0|A)>=(0|y)){he=0;break A}i=D[27965]-D[27966],D[27965]=i,a=.028*(he=i+he);break A;case 2:if(!p){De=100,a=0;break A}De=100,r=Ne(i=+(0|A)/+(0|p)*100)<2147483648?~~i:-2147483648,a=+b[110928+((0|r)%100<<1)>>1],a=t*((+b[110928+((r+1|0)%100<<1)>>1]-a)*(i-+(0|r))+a);break A;case 3:break r;default:break A}p?(De=256,r=Ne(i=+(0|A)/+(0|p)*256)<2147483648?~~i:-2147483648,a=+b[111344+((0|r)%256<<1)>>1],a=t*((+b[111344+((r+1|0)%256<<1)>>1]-a)*(i-+(0|r))+a)):(De=256,a=0)}if((0|A)>=(0|p)&&((0|mr)>0?(A=(0|Kr)/(0|mr)|0,I=0,T=0,T=SA>>>0<=87?.001*+b[Dr>>1]:T,I=qt>>>0<=87?.001*+b[Gr>>1]*.1:I,Xe=A>>Or,y=(0|(r=(p=(A-1|0)<=(0|GA))?A-2|0:GA))<=40?40:r,i=+b[111776+((y=p||(0|r)<40?y:GA)<<1)>>1],D[27966]=i,K=i,i=+(0|y),D[27965]=K*i*.333,ye=(0|(r=A-y|0))>(0|ye)?ye:r,At=0-(r=(0|At)<0?0-ye|0:ye)|0,Re=(i*=.00833)*i,Re*=1-(aA=(K=(i=Ft($r*+((0|tr)/(0|y)|0)))*ps)+K)-(K=i*-i),A=(0|(p=A+r|0))!=4):(e[55930]=0,e[55931]=0,e[55932]=0,e[55933]=0,Xe=4,I=0,T=0,p=4,A=0),c=(A|=!na)?s:c,_=A?Cr:_,A=0),A=A+1|0,i=a=ya*m+(fs*a+rs*Y),m=Y,(0|(ct=ct+1|0))==4)break}if(e[55926]=p,e[55956]=De,e[55924]=A,D[28383]=a,e[55927]=y,D[28389]=he,D[28388]=ce,D[27972]=T,D[27976]=I,e[55928]=Xe,e[56654]=ye,e[56780]=At,D[27970]=c,D[27969]=_,D[28122]=f,D[28120]=aA,D[28119]=Re,D[28123]=o,D[28121]=K,D[28131]=m,D[28130]=a,(0|fA)==5&&(a=6e3*((t=+(0|A)/+(0|p))+t+-1),D[28383]=a),t=a*_+D[28384]*c,D[28383]=t,D[28384]=t,(0|A)<(0|y)&&(t=I*bt+t,D[28383]=t),c=Nt*D[27974],Y=t*D[27973]+c,m=0,e[55916]!=2&&(m=D[27987],f=D[27986],D[27987]=f,t=c+t*T,D[27986]=t,c=D[28059],o=D[28058],D[28059]=o,t=c*D[28057]+(D[28055]*(m*D[27985]+(D[27983]*t+f*D[27984]))+o*D[28056]),D[28058]=t,m=D[28049],c=D[28051],f=D[28048],o=D[28047],s=D[28050],D[28051]=s,t=m*c+(o*t+f*s),D[28050]=t,m=D[28043],c=D[28041],f=D[28040],o=D[28039],s=D[28042],D[28043]=s,t=c*m+(o*t+f*s),D[28042]=t,m=D[28035],c=D[28033],f=D[28032],o=D[28031],s=D[28034],D[28035]=s,t=c*m+(o*t+f*s),D[28034]=t,m=D[28027],c=D[28025],f=D[28024],o=D[28023],s=D[28026],D[28027]=s,t=c*m+(o*t+f*s),D[28026]=t,m=D[28019],c=D[28017],f=D[28016],o=D[28015],s=D[28018],D[28019]=s,t=c*m+(o*t+f*s),D[28018]=t,m=D[28011],c=D[28009],f=D[28008],o=D[28007],s=D[28010],D[28011]=s,t=c*m+(o*t+f*s),D[28010]=t,m=D[28003],c=D[28001],f=D[28e3],o=D[27999],s=D[28002],D[28003]=s,t=c*m+(o*t+f*s),D[28002]=t,m=D[27995],c=D[27993],f=D[27992],o=D[27991],s=D[27994],D[27995]=s,m=c*m+(o*t+f*s),D[27994]=m),t=D[28385],D[28385]=Y,c=D[28075],f=D[28074],D[28075]=f,o=D[28067],s=D[28066],D[28067]=s,c=c*D[28073]+(D[28071]*Y+f*D[28072]),D[28074]=c,f=o*D[28065]+(D[28063]*Y+s*D[28064]),D[28066]=f,o=D[28081],s=D[28083],i=D[28079],a=D[28080],I=D[28082],D[28083]=I,Y=o*s+(i*(t=oa*Nt+Y-t)+a*I),D[28082]=Y,o=D[28091],s=D[28089],i=D[28087],a=D[28088],I=D[28090],D[28091]=I,o=s*o+(i*t+a*I),D[28090]=o,s=D[28099],i=D[28097],a=D[28095],I=D[28096],T=D[28098],D[28099]=T,s=i*s+(a*t+I*T),D[28098]=s,i=D[28107],a=D[28105],I=D[28103],T=D[28104],_=D[28106],D[28107]=_,i=a*i+(I*t+T*_),D[28106]=i,a=D[28115],I=D[28113],T=D[28111],_=D[28112],ce=D[28114],D[28115]=ce,a=I*a+(T*t+_*ce),D[28114]=a,I=D[28139],T=D[28137],_=D[28136],ce=D[28135],he=D[27971],K=D[28138],D[28139]=K,t=T*I+(ce*(t*he-(a-(i-(s-(o-(Y-(m+c+f)))))))+_*K),D[28138]=t,t=D[27977]*(t*+e[50779]),a=+(0|(A=Ne(t)<2147483648?~~t:-2147483648)),(0|(A=e[50776]))<e[50773]&&(p=A+1|0,r=e[50772],(y=e[50774])?(e[50776]=p,A=z(y,g[A+r|0])):(y=l[A+r|0],r=g[r+p|0],e[50776]=A+2,A=y|r<<8),a+=+((0|z(e[50775],(0|z(A,e[50780]))/1024|0))/40|0)),(0|(A=e[55962]))<=63&&(e[55962]=A+1,a=a*+(0|A)*.015625),(0|(A=e[55963]))<=0||(A=A-1|0,e[55963]=A,a=a*+(0|A)*.015625,A||(e[55962]=0)),r=(A=e[51293])+1|0,e[51293]=r,p=z(b[205184+(A<<1)>>1],e[50755])>>8,A=Ne(a)<2147483648?~~a:-2147483648,(0|r)>=5500&&(e[51293]=0),r=e[51290],e[51290]=r+1,A=(0|(A=(0|(A=A+p|0))<=-32768?-32768:A))>=32767?32767:A,g[0|r]=A,r=e[51290],e[51290]=r+1,g[0|r]=A>>>8,p=(r=e[51292])+1|0,e[51292]=p,b[205184+(r<<1)>>1]=A,(0|p)>=5500&&(e[51292]=0),p=1,e[56606]=e[56606]+1,ue[54046]<e[51290]+2>>>0)break e;if(A=e[55925]+1|0,e[55925]=A,!((0|A)<e[55923]))break}p=0}return p}function et(A,t,r,a,s,i,o){var c,f,m,p=0,I=0,y=0,T=0,Y=0,K=0,_=0,ce=0,he=0,ye=0,De=0,Re=0,Xe=0,aA=0,fA=0,GA=0,SA=0;q=c=q-80|0,e[c+76>>2]=t,m=c+55|0,f=c+56|0;e:{A:{r:{s:{i:for(;;){if(y=t,(2147483647^ce)<(0|p))break s;ce=p+ce|0;c:{o:{u:{if(I=l[0|(p=y)])for(;;){l:{n:if(t=255&I){if((0|t)!=37)break l;for(I=p;;){if(l[I+1|0]!=37){t=I;break n}if(p=p+1|0,Y=l[I+2|0],I=t=I+2|0,(0|Y)!=37)break}}else t=p;if((0|(p=p-y|0))>(0|(fA=2147483647^ce)))break s;if(A&&_r(A,y,p),p)continue i;e[c+76>>2]=t,p=t+1|0,he=-1,l[t+2|0]!=36|g[t+1|0]-48>>>0>=10||(he=g[t+1|0]-48|0,Re=1,p=t+3|0),e[c+76>>2]=p,K=0;n:if((t=(I=g[0|p])-32|0)>>>0>31)_=p;else if(_=p,75913&(t=1<<t))for(;;){if(_=p+1|0,e[c+76>>2]=_,K|=t,(t=(I=g[p+1|0])-32|0)>>>0>=32)break n;if(p=_,!(75913&(t=1<<t)))break}n:if((0|I)!=42){if((0|(ye=B0(c+76|0)))<0)break s;I=e[c+76>>2]}else{if(l[_+2|0]!=36|g[_+1|0]-48>>>0>=10){if(Re)break u;if(I=_+1|0,!A){e[c+76>>2]=I,Re=0,ye=0;break n}t=e[r>>2],e[r>>2]=t+4,Re=0,t=e[t>>2]}else e[((g[_+1|0]<<2)+s|0)-192>>2]=10,I=_+3|0,Re=1,t=e[((g[_+1|0]<<3)+a|0)-384>>2];if(e[c+76>>2]=I,ye=t,(0|t)>=0)break n;ye=0-ye|0,K|=8192}if(p=0,T=-1,l[0|I]==46)if(l[I+1|0]!=42)e[c+76>>2]=I+1,T=B0(c+76|0),t=e[c+76>>2],aA=1;else{if(l[I+3|0]!=36|g[I+2|0]-48>>>0>=10){if(Re)break u;t=I+2|0,T=0,A&&(I=e[r>>2],e[r>>2]=I+4,T=e[I>>2])}else e[((g[I+2|0]<<2)+s|0)-192>>2]=10,t=I+4|0,T=e[((g[I+2|0]<<3)+a|0)-384>>2];e[c+76>>2]=t,aA=~T>>>31|0}else t=I,aA=0;for(;;){if(De=p,_=28,Y=t,(p=g[0|t])-123>>>0<4294967238)break r;if(t=Y+1|0,!((p=l[123983+(p+z(De,58)|0)|0])-1>>>0<8))break}e[c+76>>2]=t;n:{p:{if((0|p)!=27){if(!p)break r;if((0|he)>=0){e[(he<<2)+s>>2]=p,p=e[4+(I=(he<<3)+a|0)>>2],e[c+64>>2]=e[I>>2],e[c+68>>2]=p;break p}if(!A)break c;fr(c- -64|0,p,r,o);break n}if((0|he)>=0)break r}if(p=0,!A)continue i}I=-65537&K,K=8192&K?I:K,he=0,Xe=84065,_=f;n:{p:{C:{m:{b:{h:{E:{w:{y:{L:{W:{V:{M:{B:{D:{switch(p=g[0|Y],(p=De&&(15&p)==3?-33&p:p)-88|0){case 11:break n;case 9:case 13:case 14:case 15:break p;case 27:break E;case 12:case 17:break L;case 23:break W;case 0:case 32:break V;case 24:break M;case 22:break B;case 29:break D;case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 10:case 16:case 18:case 19:case 20:case 21:case 25:case 26:case 28:case 30:case 31:break o}switch(p-65|0){case 0:case 4:case 5:case 6:break p;case 2:break b;case 1:case 3:break o}if((0|p)==83)break h;break o}I=e[c+64>>2],Y=e[c+68>>2],Xe=84065;break y}p=0;B:switch(255&De){case 0:case 1:case 6:e[e[c+64>>2]>>2]=ce;continue i;case 2:y=e[c+64>>2],e[y>>2]=ce,e[y+4>>2]=ce>>31;continue i;case 3:b[e[c+64>>2]>>1]=ce;continue i;case 4:g[e[c+64>>2]]=ce;continue i;case 7:break B;default:continue i}y=e[c+64>>2],e[y>>2]=ce,e[y+4>>2]=ce>>31;continue i}T=T>>>0<=8?8:T,K|=8,p=120}if(y=f,GA=32&p,(I=e[c+64>>2])|(Y=e[c+68>>2]))for(;g[0|(y=y-1|0)]=GA|l[124512+(15&I)|0],SA=!Y&I>>>0>15|!!(0|Y),De=Y,Y=Y>>>4|0,I=(15&De)<<28|I>>>4,SA;);if(!(e[c+64>>2]|e[c+68>>2])|!(8&K))break w;Xe=84065+(p>>>4|0)|0,he=2;break w}if(p=f,Y=y=e[c+68>>2],y|(I=e[c+64>>2]))for(;g[0|(p=p-1|0)]=7&I|48,De=!Y&I>>>0>7|!!(0|Y),Y=(y=Y)>>>3|0,I=(7&y)<<29|I>>>3,De;);if(y=p,!(8&K))break w;T=(0|(p=f-y|0))<(0|T)?T:p+1|0;break w}I=e[c+64>>2],Y=p=e[c+68>>2],(0|p)<0?(Y=y=0-(Y+!!(0|I)|0)|0,I=0-I|0,e[c+64>>2]=I,e[c+68>>2]=y,he=1,Xe=84065):2048&K?(he=1,Xe=84066):Xe=(he=1&K)?84067:84065}y=Is(I,Y,f)}if((0|T)<0&&aA)break s;if(K=aA?-65537&K:K,!(T|!!((p=e[c+64>>2])|(I=e[c+68>>2])))){y=f,T=0;break o}T=(0|(p=!(p|I)+(f-y|0)|0))<(0|T)?T:p;break o}if(_=(p=(p=si(y=(p=e[c+64>>2])||84639,0,Y=T>>>0>=2147483647?2147483647:T))?p-y|0:Y)+y|0,(0|T)>=0){K=I,T=p;break o}if(K=I,T=p,l[0|_])break s;break o}if(T){I=e[c+64>>2];break m}p=0,ta(A,32,ye,0,K);break C}e[c+12>>2]=0,e[c+8>>2]=e[c+64>>2],I=c+8|0,e[c+64>>2]=I,T=-1}p=0;m:{for(;;){if(!(y=e[I>>2]))break m;if(!((y=(0|(Y=f0(c+4|0,y)))<0)|Y>>>0>T-p>>>0)){if(I=I+4|0,T>>>0>(p=p+Y|0)>>>0)continue;break m}break}if(y)break A}if(_=61,(0|p)<0)break r;if(ta(A,32,ye,p,K),p)for(_=0,I=e[c+64>>2];;){if(!(y=e[I>>2])||(_=(y=f0(c+4|0,y))+_|0)>>>0>p>>>0)break C;if(_r(A,c+4|0,y),I=I+4|0,!(p>>>0>_>>>0))break}else p=0}ta(A,32,ye,p,8192^K),p=(0|p)<(0|ye)?ye:p;continue i}if((0|T)<0&&aA)break s;if(_=61,(0|(p=0|pt[0|i](A,D[c+64>>3],ye,T,K,p)))>=0)continue i;break r}g[c+55|0]=e[c+64>>2],T=1,y=m,K=I;break o}I=l[p+1|0],p=p+1|0}if(A)break e;if(!Re)break c;for(p=1;;){if(A=e[(p<<2)+s>>2]){if(fr((p<<3)+a|0,A,r,o),ce=1,(0|(p=p+1|0))!=10)continue;break e}break}if(ce=1,p>>>0>=10)break e;for(;;){if(e[(p<<2)+s>>2])break u;if((0|(p=p+1|0))==10)break}break e}_=28;break r}if((0|(I=(0|T)>(0|(Y=_-y|0))?T:Y))>(2147483647^he))break s;if(_=61,(0|fA)<(0|(p=(0|(T=I+he|0))<(0|ye)?ye:T)))break r;ta(A,32,p,T,K),_r(A,Xe,he),ta(A,48,p,T,65536^K),ta(A,48,I,Y,0),_r(A,y,Y),ta(A,32,p,T,8192^K);continue}break}ce=0;break e}_=61}e[56798]=_}ce=-1}return q=c+80|0,ce}function FA(A,t,r,a,s,i,o,c,f){var m,p,I,y=0,T=0,Y=0,K=0,_=0,ce=0,he=0,ye=0,De=0,Re=0,Xe=0,aA=0,fA=0,GA=0,SA=0,At=0,ct=0,bt=0,Nt=0,qt=0,tr=0,mr=0,Cr=0,Gr=0,Dr=0,Or=0,Kr=0,na=0,$r=0,oa=0,ya=0;q=m=q-96|0,Xe=65535&f,_=-2147483648&(s^f),At=he=65535&s;e:{if(!((p=f>>>16&32767)-32767>>>0>4294934529&(I=s>>>16&32767)-32767>>>0>=4294934530)){if(y=a,!(!a&(0|(ye=De=2147483647&s))==2147418112?!(t|r):ye>>>0<2147418112)){Y=a,_=32768|s;break e}if(!(!(s=c)&(0|(ce=De=2147483647&f))==2147418112?!(i|o):ce>>>0<2147418112)){Y=c,_=32768|f,t=i,r=o;break e}if(!(t|y|2147418112^ye|r)){if(!(s|i|o|ce)){_=2147450880,t=0,r=0;break e}_|=2147418112,t=0,r=0;break e}if(!(s|i|2147418112^ce|o)){if(s=t|y,a=r|ye,t=0,r=0,!(a|s)){_=2147450880;break e}_|=2147418112;break e}if(!(t|y|r|ye)){t=0,r=0;break e}if(!(s|i|o|ce)){t=0,r=0;break e}(0|ye)==65535|ye>>>0<65535&&(De=(y=!(a|he))<<6,s=Oe(f=y?t:a)+32|0,Aa(m+80|0,t,r,a,he,(f=De+((0|(f=Oe(y?r:he)))==32?s:f)|0)-15|0),Re=16-f|0,a=e[m+88>>2],At=e[m+92>>2],r=e[m+84>>2],t=e[m+80>>2]),ce>>>0>65535||(he=(f=!(c|Xe))<<6,y=Oe(s=f?i:c)+32|0,Aa(m- -64|0,i,o,c,Xe,(s=he+((0|(s=Oe(f?o:Xe)))==32?y:s)|0)-15|0),Re=16+(Re-s|0)|0,c=e[m+72>>2],Xe=e[m+76>>2],i=e[m+64>>2],o=e[m+68>>2])}if(s=i,i=o<<15|i>>>17,Or=r,De=kt(aA=-32768&(f=s<<15),s=0,r,0),SA=s=J,Kr=i,ye=t,t=kt(i,0,t,0),i=J+s|0,r=t>>>0>(f=t+De|0)>>>0?i+1|0:i,y=0,t=kt(ye,T,aA,T),s=(i=f)+J|0,he=s=t>>>0>(ce=y+t|0)>>>0?s+1|0:s,na=(0|i)==(0|s)&y>>>0>ce>>>0|s>>>0<i>>>0,$r=a,fA=kt(aA,T,a,0),oa=J,t=kt(Or,T,Kr,T),y=J+oa|0,y=t>>>0>(GA=t+fA|0)>>>0?y+1|0:y,t=Xe<<15|c>>>17,a=kt(ct=c<<15|o>>>17,0,ye,T),i=J+y|0,Nt=i=a>>>0>(bt=a+GA|0)>>>0?i+1|0:i,i=(a=(0|r)==(0|SA)&f>>>0<De>>>0|r>>>0<SA>>>0)+i|0,Xe=i=r>>>0>(qt=r+bt|0)>>>0?i+1|0:i,o=qt,r=i,At=kt(aA,T,tr=65536|At,K),ya=J,a=kt($r,Y,Kr,T),s=J+ya|0,f=s=a>>>0>(mr=a+At|0)>>>0?s+1|0:s,t=kt(Cr=-2147483648|t,0,ye,T),i=J+s|0,i=t>>>0>(Gr=t+mr|0)>>>0?i+1|0:i,t=kt(ct,Y,Or,T),Dr=i,i=i+J|0,De=t>>>0>(SA=t+Gr|0)>>>0?i+1|0:i,s=r+SA|0,i=aA=(t=0)>>>0>(ye=t+o|0)>>>0?s+1|0:s,r=(t=ye+na|0)>>>0<ye>>>0?i+1|0:i,Re=((I+p|0)+Re|0)-16383|0,a=kt(Cr,Y,Or,T),c=J,s=kt(tr,Y,Kr,T),i=J+c|0,K=(0|c)==(0|(i=s>>>0>(o=s+a|0)>>>0?i+1|0:i))&a>>>0>o>>>0|i>>>0<c>>>0,c=i,s=kt(ct,Y,$r,Y),i=J+i|0,s=i=(a=s+o|0)>>>0<s>>>0?i+1|0:i,o=(0|i)==(0|c)&a>>>0<o>>>0|i>>>0<c>>>0,i=0,i=(c=o)>>>0>(o=o+K|0)>>>0?1:i,c=o,o=kt(Cr,Y,tr,Y),i=J+i|0,na=c=c+o|0,o=o>>>0>c>>>0?i+1|0:i,c=a,T=s,s=(0|y)==(0|oa)&fA>>>0>GA>>>0|y>>>0<oa>>>0,i=0,s=((K=y=(0|y)==(0|Nt)&GA>>>0>bt>>>0|y>>>0>Nt>>>0)>>>0>(y=s+y|0)>>>0?1:i)+T|0,i=o,K=s=(a=a+y|0)>>>0<y>>>0?s+1|0:s,fA=a,s=a=(0|s)==(0|T)&a>>>0<c>>>0|s>>>0<T>>>0,y=a=a+na|0,o=i=s>>>0>a>>>0?i+1|0:i,s=kt(ct,Y,tr,Y),T=J,a=kt(Cr,Y,$r,Y),i=J+T|0,a=i=a>>>0>(c=a+s|0)>>>0?i+1|0:i,s=(i=(0|T)==(0|i)&s>>>0>c>>>0|i>>>0<T>>>0)+o|0,o=s=a>>>0>(GA=a+y|0)>>>0?s+1|0:s,i=c+K|0,s=i=(a=(s=0)+fA|0)>>>0<s>>>0?i+1|0:i,c=(0|K)==(0|i)&a>>>0<fA>>>0|i>>>0<K>>>0,i=o,i=(o=c+(T=GA)|0)>>>0<c>>>0?i+1|0:i,fA=o,c=a,y=s,s=(a=(a=(a=(0|f)==(0|ya)&At>>>0>mr>>>0|f>>>0<ya>>>0)+(f=(0|f)==(0|Dr)&mr>>>0>Gr>>>0|f>>>0>Dr>>>0)|0)+(s=(0|De)==(0|Dr)&SA>>>0<Gr>>>0|De>>>0<Dr>>>0)|0)+y|0,i=o=i,y=o=(c=(0|(s=(a=f=(K=De)+c|0)>>>0<K>>>0?s+1|0:s))==(0|y)&c>>>0>a>>>0|s>>>0<y>>>0)+fA|0,o=i=c>>>0>o>>>0?i+1|0:i,c=a,i=0,f=s,s=s+((T=K=(0|Xe)==(0|aA)&ye>>>0<qt>>>0|Xe>>>0>aA>>>0)>>>0>(K=K+((0|Xe)==(0|Nt)&bt>>>0>qt>>>0|Xe>>>0<Nt>>>0)|0)>>>0?1:i)|0,i=o,f=i=(o=c=(0|(s=(a=a+K|0)>>>0<K>>>0?s+1|0:s))==(0|f)&a>>>0<c>>>0|s>>>0<f>>>0)>>>0>(c=c+y|0)>>>0?i+1|0:i,65536&i?Re=Re+1|0:(y=he>>>31|0,i=f<<1|c>>>31,c=c<<1|s>>>31,f=i,i=s<<1|a>>>31,a=a<<1|r>>>31,s=i,i=he<<1|ce>>>31,ce<<=1,he=i,i=r<<1|t>>>31,t=t<<1|y,r=i|(o=0)),(0|Re)>=32767)_|=2147418112,t=0,r=0;else{A:{if((0|Re)<=0){if((o=1-Re|0)>>>0<=127){Aa(m+48|0,ce,he,t,r,i=Re+127|0),Aa(m+32|0,a,s,c,f,i),Ya(m+16|0,ce,he,t,r,o),Ya(m,a,s,c,f,o),ce=e[m+32>>2]|e[m+16>>2]|!!(e[m+48>>2]|e[m+56>>2]|e[m+52>>2]|e[m+60>>2]),he=e[m+36>>2]|e[m+20>>2],t=e[m+40>>2]|e[m+24>>2],r=e[m+44>>2]|e[m+28>>2],a=e[m>>2],s=e[m+4>>2],o=e[m+8>>2],i=e[m+12>>2];break A}t=0,r=0;break e}o=c,i=65535&f|Re<<16}Y|=o,_|=i,(!t&(0|r)==-2147483648?!(ce|he):(0|r)>0|(0|r)>=0)?t|ce|-2147483648^r|he?(t=a,r=s):(y=_,_=(a=(0|(i=s))==(0|(r=(r=t=1&a)>>>0>(t=t+a|0)>>>0?i+1|0:i))&t>>>0<a>>>0|r>>>0<i>>>0)>>>0>(Y=a+Y|0)>>>0?y+1|0:y):(a=(0|s)==(0|(r=(t=a+1|0)?s:s+1|0))&t>>>0<a>>>0|r>>>0<s>>>0,s=_,_=(Y=a+Y|0)>>>0<a>>>0?s+1|0:s)}}e[A>>2]=t,e[A+4>>2]=r,e[A+8>>2]=Y,e[A+12>>2]=_,q=m+96|0}function Kt(A,t,r,a,s,i,o){var c,f=0,m=0,p=0,I=0,y=0,T=0,Y=0,K=0,_=0,ce=0,he=0,ye=0,De=0,Re=0,Xe=0;q=c=q-480|0,e[c+476>>2]=0,e[c+456>>2]=0,e[c+460>>2]=0,e[c+448>>2]=0,e[c+452>>2]=0,e[c+440>>2]=0,e[c+444>>2]=0,e[c+432>>2]=0,e[c+436>>2]=0,f=0;e:if(e[A+684>>2]){for(Y=o?e[o>>2]:Y;p=l[t+f|0],g[(c+112|0)+f|0]=p,m=f+1|0,p&&(p=f>>>0<158,f=m,p););if(g[m+(c+112|0)|0]=0,!((ce=268435456&i)|!(8&e[47197]))){m=0;A:if(223&(p=l[0|t]))for(f=0;;){if(g[(c+272|0)+f|0]=p,!(223&(p=l[(m=f+1|0)+t|0])))break A;if(I=f>>>0<118,f=m,!I)break}g[(f=c+272|0)+m|0]=0,e[c+48>>2]=f,hr(e[47195],(0|i)>=0?87019:86877,c+48|0)}e[c+464>>2]=t,e[A+8208>>2]=0,e[A+8212>>2]=0,s&&(g[0|s]=0);A:{r:if(223&(f=l[0|t]))for(he=536870912&i,ye=4096&i,De=c+105|0,m=t,p=0;;){I=Dt(c+476|0,m),_=!!(0|ar(e[c+476>>2]))+_|0,T=l[7668+(f=(y=255&f)+A|0)|0];s:if(!((K=e[c+476>>2])-48>>>0<10|K-2406>>>0<10)|(_?l[A+170|0]:0)){i:if((p=e[c+476>>2]-e[A+600>>2]|0)>>>0>127||!(p=e[6192+((p<<2)+A|0)>>2])){if(T){for(K=5168+((y<<2)+A|0)|0,T=T+(f=l[f+7924|0])|0,Re=y|l[m+1|0]<<8,p=0;e[7184+(m=(f<<2)+A|0)>>2]==(0|Re)&&(e[c+472>>2]=e[c+464>>2],it(A,c+472|0,t,2,e[m+6704>>2],c+432|0,i,Y),(0|(m=e[c+432>>2]))>0&&(m=m+35|0,e[c+432>>2]=m),p=1,it(A,c+464|0,t,1,e[K>>2],c+448|0,i,Y),e[c+448>>2]>(0|m)||(m=e[c+444>>2],e[c+456>>2]=e[c+440>>2],e[c+460>>2]=m,m=e[c+436>>2],e[c+448>>2]=e[c+432>>2],e[c+452>>2]=m,e[c+464>>2]=e[c+472>>2])),T>>>0>(f=f+1|0)>>>0;);if(p)break i}c:{o:{if(!(f=e[5168+((y<<2)+A|0)>>2])){if(it(A,c+464|0,t,0,e[A+5168>>2],c+448|0,i,Y),e[c+448>>2])break c;if(16&l[188808])break o;if(p=Dt(c+468|0,y=(m=e[c+464>>2])-1|0),f=e[c+468>>2],!(e[A+600>>2]<=0|(0|f)>577)){if(Di(f)){e[c+32>>2]=21,QA(r,87049,c+32|0);break A}f=e[c+468>>2]}if((0|f)==57384&&((0|(T=e[A+92>>2]))<=e[47352]||(e[47352]=T)),gi(f)&&((0|(f=e[A+72>>2]))<=e[47352]||(e[47352]=f)),!((T=(f=e[c+468>>2])-192|0)>>>0>413)&&(T=l[T+94240|0])&&(p=p-1|0,!(l[m-2|0]==32&l[p+m|0]==32))){for(e[c+472>>2]=y,g[0|y]=T;I=l[(f=m)+p|0],g[0|f]=I,m=f+1|0,(0|I)!=32;);if((0|p)>0&&VA(f,32,p),e[A+24>>2]&&!((0|Ln(94222,e[c+468>>2]))<=0)){e[c+464>>2]=y,p=0;break s}p=0,g[0|r]=0,e[c+464>>2]=t,e[A+8208>>2]=0,e[A+8212>>2]=0;break s}if(!(f=Qs(f))||(0|(m=e[f+4>>2]))==e[A+600>>2])break o;if((0|m)==e[A+188>>2]){e[c+4>>2]=zn(c- -64|0,e[A+192>>2]),e[c>>2]=21,QA(r,87218,c);break A}if(!(4&l[f+16|0]))break o;e[c+20>>2]=zn(c- -64|0,e[f+12>>2]),e[c+16>>2]=21,QA(r,87218,c+16|0);break A}if(it(A,c+464|0,t,1,f,c+448|0,i,Y),e[c+448>>2])break c}o:if(!((f=e[c+476>>2])-768>>>0<112)){if(ar(f)){if(g[(I+e[c+464>>2]|0)-1|0]<33&(0|_)<=1)break o;if(g[0|r]=0,!o)break r;e[o>>2]=4096|e[o>>2];break r}zt(A,e[c+476>>2],-1,c+272|0,0),l[c+272|0]&&(e[c+448>>2]=1,e[c+452>>2]=c+272)}e[c+464>>2]=(I+e[c+464>>2]|0)-1;break i}e[A+288>>2]=0}else it(A,c+464|0,t,I,p,c+448|0,i,Y);if(m=(f=e[c+452>>2])||86135,e[c+452>>2]=m,p=0,!(e[c+448>>2]<=0)){if(f=1|e[c+456>>2],(0|i)<0)break e;if(!(l[0|m]!=21|ye)){JA(r,m);break A}if(!(!(8&e[47197])|ce))i:if(f=e[47195],(0|(I=e[f+76>>2]))>=0&(!I|e[56823]!=(-1073741825&I)))y=e[(I=f+76|0)>>2],e[I>>2]=y||1073741823,e[f+80>>2]==10||(0|(y=e[f+20>>2]))==e[f+16>>2]?w0(f):(e[f+20>>2]=y+1,g[0|y]=10),e[I>>2]=0;else{if(e[f+80>>2]!=10&&(0|(I=e[f+20>>2]))!=e[f+16>>2]){e[f+20>>2]=I+1,g[0|I]=10;break i}w0(f)}if(I=-32769&(f=e[c+456>>2]),e[c+456>>2]=I,!(!s|!I|(1024&f?he:0))){A=e[c+464>>2],JA(s,m),f=I|(Xe=(r=A)-xt(t,A=c+112|0,RA(A))|0,(1151&f)==1024?Xe:0);break e}(f=e[c+460>>2])&&(g[0|f]=69),bn(A,r,a,m)}}else g[c+104|0]=95,xt(De,m,I),f=1,g[105+(c+I|0)|0]=0,UA(A,c+104|0,c- -64|0),p-1>>>0<=4294967293&&(f=RA(f=c- -64|0)+f|0,g[0|f]=11,g[f+1|0]=0,f=0),bn(A,r,a,c- -64|0),e[c+464>>2]=m+I,p=f;if(m=e[c+464>>2],!(223&(f=l[0|m])))break}xt(t,A=c+112|0,RA(A))}f=0}return q=c+480|0,f}function Wa(A,t){var r,a=0,s=0,i=0,o=0,c=0,f=0,m=0,p=0,I=0,y=0,T=0,Y=0,K=0,_=0,ce=0,he=0,ye=0,De=0,Re=0,Xe=0,aA=0,fA=0;q=r=q-2976|0,e[t>>2]=1,a=e[A+20>>2],e[(c=r+2960|0)>>2]=e[A+16>>2],e[c+4>>2]=a,a=e[A+12>>2],e[(c=r+2952|0)>>2]=e[A+8>>2],e[c+4>>2]=a,a=e[A+4>>2],e[r+2944>>2]=e[A>>2],e[r+2948>>2]=a,e[50303]||_A();e:if(A=e[r+2948>>2],l[0|A]&&A||((A=e[r+2944>>2])||(A=(A=e[r+2952>>2])||85055,e[r+2944>>2]=A),sr(a=r+80|0,A,60),Hi(a,0),!(i=ha(201216,a))||(e[r+2948>>2]=e[i+4>>2]+1,l[r+2958|0]|l[r+2956|0]|l[r+2957|0]))){_=r+1536|0,q=Y=q-336|0;A:if(!(!(A=e[4+(K=r+2944|0)>>2])|!l[0|A])){if((0|(ce=RA(A)))>=0){for(a=ce>>>0>=79?79:ce,p=1;A=Wt(g[e[K+4>>2]+s|0]),g[(Y+256|0)+s|0]=A,p=((255&A)==45)+p|0,A=(0|a)!=(0|s),s=s+1|0,A;);if((0|p)!=1)break A}p=1}if((0|(I=e[50303]))<=0)e[_>>2]=0,A=0;else{for(c=(0|p)>=0;;){m=e[201216+(De<<2)>>2];A:if(va(e[m+8>>2],88032,3)){if((A=e[K+4>>2])&&va(A,91687,3)){if(c){A=100;r:if(p){if(a=0,s=e[m+4>>2],!(he=l[0|s])){if(!va(Y+256|0,90013,9))break r;break A}for(;;){for(Re=1,f=s+1|0,ye=1,Xe=0,s=0;(0|s)<(0|ce)&&(0|(A=g[(Y+256|0)+s|0]))!=45||(A=0),Xe=((y=(0|(T=l[s+f|0]))==45)&!!(0|(ye=(y?0:T)<<24>>24==(0|A)?ye:0)))+Xe|0,s=s+1|0,Re=y+Re|0,T;);if(s=s+f|0,(y=ye+Xe|0)&&(a=(0|(A=z((f=(0|(A=p-y|0))<=0?5:5-A|0)-((0|(A=Re-y|0))>0?A:0)|0,100)-(he<<24>>24<<1)|0))>(0|a)?A:a),!(he=l[0|s]))break}if(!(A=a))break A}(a=e[K>>2])&&(A=Mr(a,e[m>>2])?Mr(a,e[m+8>>2])?A:A+400|0:A+500|0),((s=l[K+12|0])-1&255)>>>0>1||((a=l[m+12|0])-1&255)>>>0>1||(A=(0|a)!=(0|s)?A-50|0:A+50|0),s=l[K+13|0],A=l[m+12|0]!=2|s>>>0>12?A:l[m+13|0]>12?A+5|0:A,(a=l[m+13|0])&&((a=((s?z(s,100):3e3)>>>0)/(a>>>0)|0)>>>0<=99&&(a=1e4/(a>>>0)|0),A=(f=A)+((A=5-(((a-100&65535)>>>0)/10|0)|0)>>31&A)|0,A=s?A+10|0:A),A=(0|A)<=1?1:A}else{if(va(e[m+8>>2],Y+256|0,ce))break A;A=100}e[_+(o<<2)>>2]=m,e[m+16>>2]=A}else e[_+(o<<2)>>2]=m;o=o+1|0}if((0|I)==(0|(De=De+1|0)))break}e[_+(o<<2)>>2]=0,A=0,o&&(ri(_,o,8),A=o)}if(q=Y+336|0,p=A,A||(e[t>>2]=0,A=ha(201216,85055),e[r+1536>>2]=A,p=!!(0|A)),t=l[r+2957|0],c=2,(0|(A=l[r+2956|0]))!=2&&(c=2,(t-1&255)>>>0<12||(fA=(0|A)!=1,c=(0|A)==1)),I=(o=e[132136+(c<<2)>>2])+(T=t>>>0<60)|0,A=0,(0|p)>0)for(a=0;;){i=e[(r+1536|0)+(aA<<2)>>2];A:{r:{s:{if(fA){if(T||(t=0,a))break r}else{if(t=l[i+12|0],a|T)break s;t=(0|t)!=(0|c)}if(s=0,t|l[i+13|0]<60)break A;break r}if((0|t)!=(0|c)){s=a;break A}}e[(r+80|0)+(a<<2)>>2]=i,s=a+1|0}A:if(l[i+15|0]){if(y=0,t=A,a=s,!((0|A)>11))for(;;){if((s=l[0|I])||(I=o,s=l[0|o]),A=e[i+12>>2],f=z(t,24)+202624|0,e[f+8>>2]=e[i+8>>2],e[f+12>>2]=A,A=e[i+4>>2],e[f>>2]=e[i>>2],e[f+4>>2]=A,A=e[i+20>>2],e[f+16>>2]=e[i+16>>2],e[f+20>>2]=A,g[f+14|0]=s,e[(r+80|0)+(a<<2)>>2]=f,I=I+1|0,a=a+1|0,A=t+1|0,(y=y+1|0)>>>0>=l[i+15|0])break A;if(s=(0|t)<11,t=A,!s)break}}else a=s;if((0|(aA=aA+1|0))==(0|p))break}else{if(!i)break e;a=0}A:if(!(!(s=l[0|I])|(0|A)>=12))for(;;){if(t=e[i+12>>2],o=z(A,24)+202624|0,e[o+8>>2]=e[i+8>>2],e[o+12>>2]=t,t=e[i+4>>2],e[o>>2]=e[i>>2],e[o+4>>2]=t,t=e[i+20>>2],e[o+16>>2]=e[i+16>>2],e[o+20>>2]=t,g[o+14|0]=s,e[(r+80|0)+(a<<2)>>2]=o,a=a+1|0,!(s=l[0|(I=I+1|0)]))break A;if(t=(0|A)<11,A=A+1|0,!t)break}a?(A=e[(r+80|0)+(l[r+2958|0]%(0|a)<<2)>>2],(t=l[A+14|0])?(g[202976]=0,e[r+48>>2]=47,QA(r+2971|0,91351,r+48|0),g[r+2971|0]=0,t>>>0<=9?(e[r+20>>2]=t,e[r+16>>2]=r+2971,QA(202976,91378,r+16|0)):(e[r+36>>2]=t-10,e[r+32>>2]=r+2971,QA(202976,91503,r+32|0)),A=e[A+8>>2],e[r+4>>2]=202976,e[r>>2]=A,A=202912,QA(202912,87760,r)):A=e[A+8>>2]):A=0}else{if(A=e[i+8>>2],!l[202976])break e;e[r+64>>2]=A,e[r+68>>2]=202976,A=202912,QA(202912,87760,r- -64|0)}return q=r+2976|0,A}function Pa(A,t,r,a,s){var i,o,c=0,f=0,m=0,p=0,I=0,y=0,T=0;q=i=q-464|0,g[i+432|0]=0,g[i+368|0]=0,g[i+304|0]=0,g[i+292|0]=0,I=(0|t)/10|0,c=e[33273];e:{if(!(o=2&a)|e[33272]!=2){T=32&a?113:111,p=1&a,y=t-z(I,10)|0;A:{r:{s:{i:{c:{o:{u:{l:if(l[0|c])c=0;else{n:{if(8&a){if(e[i+288>>2]=t,QA(f=i+452|0,91198,i+288|0),c=UA(A,f,i+304|0)){f=0;break l}e[i+272>>2]=t,QA(f=i+452|0,91314,i+272|0),c=UA(A,f,i+304|0),f=0}else{if(!p)break n;if(m=JA(i+432|0,133104),4&a){if(e[i+260>>2]=T,e[i+256>>2]=t,QA(f=i+452|0,91324,i+256|0),c=UA(A,f,i+304|0),l[133116]&&c)break u;if(f=c,c)break l}e[i+244>>2]=T,e[i+240>>2]=t,QA(f=i+452|0,91384,i+240|0),f=c=UA(A,f,i+304|0)}if(c)break l}n:{if(o){if(!(1&g[133096]))break n;e[i+208>>2]=t,QA(c=i+452|0,91498,i+208|0),c=UA(A,c,i+304|0)}else m=e[A+108>>2],e[i+224>>2]=t,QA(c=i+452|0,(0|r)>=2?91700:(262144&m)>>>18|0?91534:91700,i+224|0),c=UA(A,c,i+304|0);if(c)break l}!p|!(32&l[A+109|0])?(e[i+192>>2]=t,QA(c=i+452|0,91766,i+192|0),c=UA(A,c,i+304|0)):c=0}if(!(16&a)|(0|t)>9)break c;c=f;break o}if(JA(m,133116),!(16&a)|(0|t)>9)break i}UA(A,88875,i+368|0);break r}if(!c)break s;c=f}g[i+368|0]=0;break r}s:if(p&&(e[i+180>>2]=T,e[i+176>>2]=I,QA(c=i+452|0,91846,i+176|0),UA(A,c,i+368|0))){if(f=1,!y|!(16&l[A+109|0]))break s;ia(i+368|0,133104)}else f||(e[i+160>>2]=I,QA(f=i+452|0,512&a?91936:92016,i+160|0),UA(A,f,i+368|0),f=0);if(c=y,l[i+368|0]||(c=y,16&l[A+106|0]&&(e[i+144>>2]=254&I,QA(c=i+452|0,92016,i+144|0),UA(A,c,i+368|0),c=(0|t)%20|0)),g[i+304|0]=0,I=c,(0|c)<=0)c=f;else{if(o&&(c=e[33273],l[0|c])){JA(i+304|0,c),g[i+432|0]=0,m=p;break A}if(m=0,8&a&&(e[i+128>>2]=I,QA(a=i+452|0,91314,i+128|0),m=UA(A,a,i+304|0)),!p|16&l[A+104|0]||(e[i+116>>2]=T,e[i+112>>2]=I,QA(a=i+452|0,91384,i+112|0),f=(m=UA(A,a,i+304|0))?1:f),c=f,!m){s:{if(!o|!(1&e[33274])){if(!(16&l[A+104|0])&&o)break s;f=e[A+108>>2],e[i+96>>2]=I,QA(a=i+452|0,(0|r)>=2?91700:(262144&f)>>>18|0?91534:91700,i+96|0),r=UA(A,a,i+304|0)}else e[i+80>>2]=I,QA(r=i+452|0,91498,i+80|0),r=UA(A,r,i+304|0);if(r)break r}e[i+64>>2]=I,QA(r=i+452|0,91766,i- -64|0),UA(A,r,i+304|0)}}}m=p,l[i+432|0]|c|!p||((0|t)<20|(16&l[A+104|0]?0:y)||(UA(A,92162,i+432|0),m=1,!l[i+432|0]))&&(UA(A,92205,i+432|0),m=1)}if(!(!(r=g[i+304|0])|!(48&(t=e[A+104>>2]))|!l[i+368|0])){if(UA(A,90824,i+292|0),!m|!(8&l[A+109|0])||(g[i+292|0]=0),16&l[A+104|0]){e[i+28>>2]=i+432,e[i+24>>2]=i+368,e[i+20>>2]=i+292,e[i+16>>2]=i+304,QA(s,91059,i+16|0),a=1;break e}e[i+12>>2]=i+432,e[i+8>>2]=i+304,e[i+4>>2]=i+292,e[i>>2]=i+368,QA(s,91059,i),a=1;break e}512&t&&(!r|(0|(t=RA(i+368|0)-1|0))<0||(c=l[e[144464+(g[0|(t=t+(i+368|0)|0)]<<2)>>2]+11|0]!=2,(0|(a=l[e[144464+(r<<2)>>2]+11|0]))==1&&(a=l[e[144464+(g[i+305|0]<<2)>>2]+11|0]),c|(255&a)!=2||(g[0|t]=0))),!(8&l[A+110|0])|!l[i+432|0]?(e[i+56>>2]=i+432,e[i+52>>2]=i+304,e[i+48>>2]=i+368,QA(s,92282,i+48|0)):(e[i+36>>2]=i+304,e[i+32>>2]=i+368,(0|(t=QA(s,90368,i+32|0)))>0&&(t=l[e[144464+(l[(r=t-1|0)+s|0]<<2)>>2]+11|0]==2?r:t),JA(t+s|0,i+432|0))}else JA(s,c);a=0}e:if(268435456&(A=e[A+104>>2])){if((0|RA(s))<=0)break e;for(t=0,A=0;l[0|(r=A+s|0)]==6&&(t&&(g[0|r]=5),t=1),A=A+1|0,(0|RA(s))>(0|A););}else if(256&A&&(t=0,!((0|(A=(p=RA(s))-1|0))<0))){if(A)for(y=-2&p,c=0;l[0|(f=A+s|0)]==6?(r=1,t&&(g[0|f]=5)):r=t,l[0|(f=f-1|0)]==6?(t=1,r&&(g[0|f]=5)):t=r,A=A-2|0,(0|y)!=(0|(c=c+2|0)););1&p&&(!t|l[0|(A=A+s|0)]!=6||(g[0|A]=5))}return q=i+464|0,a}function ns(A,t,r,a){var s,i,o=0,c=0,f=0,m=0,p=0,I=0,y=0;if(q=s=q-352|0,g[s+304|0]=0,g[s+224|0]=0,g[s+64|0]=0,f=e[e[47192]+292>>2],y=Dt(s+348|0,t),(1048320&(o=e[s+348>>2]))==57344&&(o&=255,e[s+348>>2]=o),2&a&&ks(o)&&UA(A,85437,s+304|0),o=Qi(e[s+348>>2],A),e[s+348>>2]=o,I=1&a,zt(A,o,g[0|(i=t+y|0)],s+224|0,I),!(t=l[s+224|0])){e:if((t=E0(e[s+348>>2]))&&(e[s+348>>2]=16383&t,4&a)){switch(1073741823&(t>>=14)){case 0:case 3:break e}UA(A,t=e[131232+(t<<2)>>2],s+304|0),l[s+304|0]||(g[s+306|0]=ui(84744),p=t,t=s+304|3,UA(e[47194],p,t),l[s+307|0]&&(b[s+304>>1]=5385,t=RA(t)+(s+304|0)|0,g[t+5|0]=0,g[t+4|0]=f,g[t+3|0]=21))}zt(A,e[s+348>>2],g[0|i],s+224|0,I),t=l[s+224|0]}e:{A:{if(t&=255){if((0|t)!=21)break A;JA(r,s+224|0),y=0;break e}if(t=1632,!((0|(o=e[s+348>>2]))<1632)){for(m=103360;;){if((0|o)>=(t+10|0)){if(!(t=e[(m=m+4|0)>>2]))break A;if((0|t)<=(0|o))continue;break A}break}(0|(t=48+(o-t|0)|0))<=0||zt(A,t,0,s+224|0,I)}}A:{r:{s:{i:{if(t=Qs(e[s+348>>2])){if(o=e[t+4>>2],!t|1&(m=e[t+16>>2])||(c=e[47192],e[c+600>>2]==(0|o)|e[c+188>>2]==(0|o)|e[c+184>>2]==(0|o)||(g[s+144|0]=0,UA(c,e[t>>2],s- -64|0)?(0|(c=e[47192]))!=(0|A)&&(f=e[A+292>>2],JA(s+144|0,s- -64|0),g[s+66|0]=e[c+292>>2]):(g[s+66|0]=ui(84744),UA(e[47194],e[t>>2],s+144|0)),l[s+144|0]&&(b[s+64>>1]=5385,JA(3|(c=s- -64|0),p=s+144|0),c=RA(p)+c|0,g[c+5|0]=0,g[c+4|0]=f,g[c+3|0]=21))),l[s+224|0])break A;if(!o||(f=e[47192],e[f+188>>2]!=(0|o)))break i;t=e[f+192>>2];break r}if(l[s+224|0])break A;m=0,o=0;break s}if((t=e[t+12>>2])&&!(2&m))break r}t=25966}if((e[A+212>>2]==(0|t)&(0|t)!=27503||(g[s+226|0]=ui(zn(s+47|0,t)),(t=e[47194])&&((0|(f=e[s+348>>2]))>55215||(0|(c=f-44032|0))<0?zt(t,f,g[0|i],s+224|3,I):(g[s+52|0]=32,t=p=s+53|0,f-50500>>>0>=588&&(t=Nr(4352+((c>>>0)/588|0)|0,p)+p|0),Nr(4449+(((f=(c>>>0)/28|0)>>>0)%21|0)|0,t),Nr(4519+(c-z(f,28)|0)|0,t+3|0),g[t+6|0]=32,g[t+7|0]=0,g[s+227|0]=0,t=s+224|3,Kt(e[47194],p,t,77,0,0,0),Ar(e[47194],t,0,-1,0)),t=s+224|3,l[s+227|0]==21&&(g[s+226|0]=ui(s+224|4),zt(e[47194],e[s+348>>2],g[0|i],t,I)),ma(e[e[32972]+60>>2]),l[s+227|0]&&(b[s+224>>1]=5385,t=RA(t)+(s+224|0)|0,g[t+3|0]=21,I=e[A+292>>2],g[t+5|0]=0,g[t+4|0]=I)),!l[s+224|0]))&&(16&m||(ds(e[s+348>>2])&&UA(e[47192],85683,s+224|0),l[s+224|0]||(Rr(e[s+348>>2])||UA(e[47192],85778,s+224|0),l[s+224|0]||Ys(85992,s+224|0,0))),!(8&m)||4&a)){if(t=e[s+348>>2],(0|o)!=10240?(e[s+32>>2]=t,QA(s+52|0,86013,s+32|0)):(o=s+52|0,1&t&&(g[s+52|0]=49,o=s+53|0),2&t&&(g[0|o]=50,o=o+1|0),4&t&&(g[0|o]=51,o=o+1|0,t=e[s+348>>2]),8&t&&(g[0|o]=52,o=o+1|0,t=e[s+348>>2]),16&t&&(g[0|o]=53,o=o+1|0,t=e[s+348>>2]),32&t&&(g[0|o]=54,o=o+1|0,t=e[s+348>>2]),64&t&&(g[0|o]=55,o=o+1|0,t=e[s+348>>2]),128&t&&(g[0|o]=56,o=o+1|0),g[0|o]=0),t=s+224|0,m=l[s+52|0])for(o=s+52|0;t=RA(t)+t|0,g[0|t]=23,t=t+1|0,zt(e[47192],m<<24>>24,0,t,1),(a=l[0|t])&&(0|a)!=21||(0|(a=g[0|o]))<97||Ys(e[130860+((255&a)<<2)>>2],t,0),m=l[0|(o=o+1|0)];);t=RA(t)+t|0,g[0|t]=9,g[t+1|0]=0}}t=RA(r),2&l[A+144|0]?(e[s+16>>2]=255,e[s+28>>2]=s+304,e[s+24>>2]=s+224,e[s+20>>2]=s- -64,QA(s+144|0,86210,s+16|0)):(e[s>>2]=255,e[s+12>>2]=s+224,e[s+8>>2]=s+304,e[s+4>>2]=s- -64,QA(s+144|0,86210,s)),RA(s+144|0)+t>>>0>199||JA(t+r|0,s+144|0)}return q=s+352|0,y}function qa(A,t,r,a,s,i,o){var c,f=0,m=0,p=0,I=0,y=0,T=0,Y=0,K=0,_=0,ce=0,he=0,ye=0,De=0,Re=0,Xe=0,aA=0,fA=0,GA=0,SA=0,At=0,ct=0,bt=0;q=c=q-528|0,ce=o?e[o>>2]:0,aA=e[s+4>>2];e:{A:{if(e[A+220>>2]>0){sr(m=c+352|0,t,160),q=T=q-176|0,K=1-(Y=e[A+220>>2])|0,_=e[A+224>>2],he=e[A+216>>2],I=m;r:{s:{for(;;){if(ye=Dt(T+172|0,I),f=e[T+172>>2]){if((0|f)<(0|Y)|(0|f)>(0|he))break s;
2737if(_){if((0|(f=g[_+(f-Y|0)|0]))<=0)break s}else f=f+K|0;if(I=I+ye|0,g[y+T|0]=f,f=160,(0|(y=y+1|0))!=160)continue}else f=y;break}if(_=0,g[f+T|0]=0,K=g[0|T],e[T+172>>2]=K,K){for(fA=2+(he-Y|0)|0,Y=f=T;;){he=f+1|0;i:{if((ye=e[A+8180>>2])&&(y=0,!((0|(I=b[ye>>1]))>(0|(Re=(g[0|he]<<8)+K|0)))))for(;;){if((0|I)==(0|Re)){K=y+fA|0,e[T+172>>2]=K,f=f+2|0;break i}if(!((0|Re)>=(0|(I=b[ye+((y=y+1|0)<<1)>>1]))))break}f=he}if(De=63&K|De<<6,(0|(y=_+6|0))<8?_=y:(_=_-2|0,g[0|Y]=De>>_,Y=Y+1|0),K=g[0|f],e[T+172>>2]=K,!K)break}(0|_)<=0||(g[0|Y]=De<<8-_,Y=Y+1|0)}else Y=T;g[0|Y]=0,xt(m,T,f=Y-T|0),Y=64|f;break r}Y=RA(m)}q=T+176|0,T=m}else Y=RA(t),T=t;if(m=l[0|T]){for(f=0,y=T;p=1023&(p=(p<<3)+m|0)^p>>>8,f=f+1|0,m=l[0|(y=y+1|0)];);f=f+p&1023}else f=0;if(p=e[692+((f<<2)+A|0)>>2]){if(f=l[0|p])break A;f=0;break e}if(f=0,!s)break e;e[s>>2]=0;break e}for(ye=1073741824&aA,Re=2048&i,aA=512&ce,fA=65536&ce,GA=1&ce,SA=2&ce,ce=8&i,At=1024&i,he=4&i,ct=63&Y,bt=A+8233|0;;){i=(255&f)+p|0;A:{r:if((127&(f=l[p+1|0]))==(0|Y)&&!va(T,p+2|0,ct)){p=2+((63&f)+p|0)|0;s:{if(f<<24>>24<0)_=0,g[0|a]=0;else{if((0|(_=RA(p)))>=160)break s;JA(a,p),p=1+(p+_|0)|0}if(m=0,i>>>0<=p>>>0)f=r,I=0;else{y=0,I=0;i:{for(;;){p=(f=p)+1|0;c:if((f=l[0|f])>>>0>=100){if(K=e[A+320>>2],f>>>0>=132){y|=K>>>f-132&1;break c}y|=!(K>>>f-100&1)}else{if(f>>>0>=81){K=f-80|0,De=i-p|0;o:if(o)for(f=0;;){if(Xe=z(f,12)+o|0,!l[Xe+10|0])break o;if(y=!!(12&l[Xe+1|0])|y,Xe=(0|f)!=(0|K),f=f+1|0,!Xe)break}if(x0(r,p,De)|1&y)break r;e[33264]=K,f=r+De|0,I|=128,p=i;break i}f>>>0>=65?(I=15&f|-16&I,I=12&~f?I:512|I):f>>>0>=32?m|=1<<f-32:I|=1<<f}if(!(i>>>0>p>>>0))break}if(f=r,1&y)break A}if(65536&m&&!he||At&&49152&m)break A}if(he&&(16384&m||!ce&&32768&m)||(SA?0:512&m)|(GA?0:1024&m)|(fA?0:33554432&I)||!(!(131072&m)|ue[e[47192]+8204>>2]<=f>>>0|ye)|(aA?0:262144&m)|(8&l[e[47192]+8242|0]?0:8192&m)||16&m&&(!e[A+8184>>2]&(!ce|!e[A+8192>>2])||!(!ce|e[A+212>>2]!=25966)&&2097152&e[A+8232>>2])||(e[A+8188>>2]?0:64&m)|(!e[A+8196>>2]|Re?32&m:0)||!(!(65536&I)|e[A+212>>2]!=26741|128&l[0|bt])|(e[47192]!=(0|A)?524288&m:0))break A;i:{c:{o:{if(!s){if(!_)break o;break i}if(e[s+4>>2]=m,e[s>>2]=1073741824|I,_)break c}if(f=0,!(8&l[188788]))break e;wn(s,A=c+272|0),e[c>>2]=t,e[c+4>>2]=A,hr(e[47195],89330,c);break e}e[s>>2]=-1073741824|I}if(8&l[188788]&&($A(a,c- -64|0),l[e[47192]+172|0]==(I>>>29&1)&&(!o|!(128&I)?(e[c+48>>2]=t,hr(e[47195],89426,c+48|0)):(xt(A=c+352|0,a=r,r=f-r|0),g[351+(r+c|0)|0]=0,e[c+32>>2]=t,e[c+36>>2]=A,hr(e[47195],89397,c+32|0)),wn(s,A=c+272|0),t=e[47195],e[c+16>>2]=c- -64,e[c+20>>2]=A,hr(t,89534,c+16|0))),l[Dt(c- -64|0,T)+T|0]|!s||ar(e[c+64>>2]))break e;e[s>>2]=134217728|e[s>>2];break e}Pe(89236,86634,2467,94846),Be()}p=i}if(!(f=l[0|p]))break}f=0}return q=c+528|0,f}function Ja(A,t,r,a,s){var i,o=0,c=0;q=i=q-304|0,g[i+278|0]=0;e:{if((0|t)>0&&(1&a&&(2&a&&(e[i+164>>2]=r,e[i+160>>2]=t,QA(o=i+290|0,89701,i+160|0),o=UA(A,o,i+224|0))||1&g[133096]&&(e[i+148>>2]=r,e[i+144>>2]=t,QA(o=i+290|0,89757,i+144|0),o=UA(A,o,i+224|0))||(e[i+132>>2]=r,e[i+128>>2]=t,QA(o=i+290|0,89894,i+128|0),o=UA(A,o,i+224|0)))||(e[i+116>>2]=r,e[i+112>>2]=t,QA(o=i+290|0,89974,i+112|0),o=UA(A,o,i+224|0))))break e;if((0|(c=(0|t)%100|0))>=20&&UA(A,90022,i+278|0),1&a){if(2&a){o=c-11|0;A:{r:{s:switch((448&e[e[47192]+108>>2])-64>>>6|0){case 0:if(o>>>0<9)break r;if(a=90418,(0|(o=(0|t)%10|0))==1)break A;if(o-2>>>0>=3)break r;a=90453;break A;case 1:if(t-2>>>0>=3)break r;a=90453;break A;case 2:if(o>>>0<9|((0|t)%10|0)-2>>>0>=3)break r;a=90453;break A;case 3:if(a=90508,o>>>0<9)break A;a=(a=(0|t)%10|0)?(0|a)==1?90453:90586:90508;break A;case 4:break s;default:break r}if(!(o>>>0<9)){if(a=90537,(0|(o=(0|t)%10|0))==1)break A;if(!(o-2>>>0>=3)){a=90453;break A}}}a=90586}if(e[i+100>>2]=r,e[i+96>>2]=a,QA(a=i+290|0,90058,i+96|0),o=0,UA(A,a,i+224|0))break e}if(a=c-11|0,1&g[133096]){A:{r:{s:switch((448&e[e[47192]+108>>2])-64>>>6|0){case 0:if(a>>>0<9)break r;if(o=90418,(0|(c=(0|t)%10|0))==1)break A;if(c-2>>>0>=3)break r;o=90453;break A;case 1:if(t-2>>>0>=3)break r;o=90453;break A;case 2:if(a>>>0<9|((0|t)%10|0)-2>>>0>=3)break r;o=90453;break A;case 3:if(o=90508,a>>>0<9)break A;o=(o=(0|t)%10|0)?(0|o)==1?90453:90586:90508;break A;case 4:break s;default:break r}if(!(a>>>0<9)){if(o=90537,(0|(c=(0|t)%10|0))==1)break A;if(!(c-2>>>0>=3)){o=90453;break A}}}o=90586}if(e[i+84>>2]=r,e[i+80>>2]=o,QA(c=i+290|0,90110,i+80|0),o=0,UA(A,c,i+224|0))break e}A:{r:{s:switch((448&e[e[47192]+108>>2])-64>>>6|0){case 0:if(a>>>0<9)break r;if(o=90418,(0|(c=(0|t)%10|0))==1)break A;if(c-2>>>0>=3)break r;o=90453;break A;case 1:if(t-2>>>0>=3)break r;o=90453;break A;case 2:if(a>>>0<9|((0|t)%10|0)-2>>
2737>0>=3)break r;o=90453;break A;case 3:if(o=90508,a>>>0<9)break A;o=(o=(0|t)%10|0)?(0|o)==1?90453:90586:90508;break A;case 4:break s;default:break r}if(!(a>>>0<9)){if(o=90537,(0|(c=(0|t)%10|0))==1)break A;if(!(c-2>>>0>=3)){o=90453;break A}}}o=90586}if(e[i+68>>2]=r,e[i+64>>2]=o,QA(c=i+290|0,90139,i- -64|0),o=0,UA(A,c,i+224|0))break e}else a=c-11|0;A:{r:{s:switch((448&e[e[47192]+108>>2])-64>>>6|0){case 0:if(a>>>0<9)break r;if(o=90418,(0|(a=(0|t)%10|0))==1)break A;if(a-2>>>0>=3)break r;o=90453;break A;case 1:if(t-2>>>0>=3)break r;o=90453;break A;case 2:if(a>>>0<9|((0|t)%10|0)-2>>>0>=3)break r;o=90453;break A;case 3:if(o=90508,a>>>0<9)break A;o=(a=(0|t)%10|0)?(0|a)==1?90453:90586:90508;break A;case 4:break s;default:break r}if(!(a>>>0<9)){if(o=90537,(0|(a=(0|t)%10|0))==1)break A;if(!(a-2>>>0>=3)){o=90453;break A}}}o=90586}e[i+52>>2]=r,e[i+48>>2]=o,QA(a=i+290|0,90218,i+48|0),o=0,UA(A,a,i+224|0)||((0|r)<4||(e[i+32>>2]=r-1,QA(a=i+290|0,89026,i+32|0),UA(A,a,i+176|0)||(UA(A,90273,i+224|0),e[33275]=3)),l[i+224|0]||(e[i+16>>2]=t,QA(a=i+290|0,90303,i+16|0),(o=UA(A,a,i+224|0))||UA(A,90347,i+224|0),e[33275]=2))}return e[i+4>>2]=i+224,e[i>>2]=i+278,QA(s,90368,i),q=i+304|0,!((0|t)!=1|(0|r)!=1)&&(t=1,32&l[A+106|0])||(t=o),t}function os(A,t,r,a){var s,i=0,o=0,c=0,f=0,m=0,p=0,I=0;q=s=q+-64|0,b[s+48>>1]=0,e[s+40>>2]=0,e[s+44>>2]=0,e[s+32>>2]=0,e[s+36>>2]=0,e[s+24>>2]=0,e[s+28>>2]=0,e[s+16>>2]=0,e[s+20>>2]=0,e[s+8>>2]=0,e[s+12>>2]=0,e[s>>2]=0,e[s+4>>2]=0,i=t;e:{for(;;){A:{r:{if((0|(o=l[0|i]))!=69){if((0|o)!=32)break r;if(a&&(g[xt(o=a,t,a=(0|(a=i-t|0))>=159?159:a)+a|0]=0),a=63&r)break A;break e}g[0|i]=101}i=i+1|0;continue}break}if(1&r){A:if((i=i-1|0)>>>0<t>>>0)o=a;else for(o=a;;){if((192&l[0|i])!=128)break A;if(o=o+1|0,!((i=i-1|0)>>>0>=t>>>0))break}c=a-1|0}else c=a,o=a;if((0|a)!=1)for(;;){a=c;A:if(!((i=i-1|0)>>>0<t>>>0))for(;;){if((192&l[0|i])!=128)break A;if(o=o+1|0,!((i=i-1|0)>>>0>=t>>>0))break}A:if(!((i=i-1|0)>>>0<t>>>0))for(;;){if((192&l[0|i])!=128)break A;if(o=o+1|0,!((i=i-1|0)>>>0>=t>>>0))break}if(c=a-2|0,!((0|a)>2))break}if((0|o)<=0)c=0;else{if(f=3&(c=(a=(t=o-1|0)>>>0>=48?48:t)+1|0),t=0,o=0,a>>>0>=3)for(I=-4&c,a=0;m=i+o|0,g[o+s|0]=l[0|m],g[0|m]=32,m=(p=1|o)+i|0,g[s+p|0]=l[0|m],g[0|m]=32,m=(p=2|o)+i|0,g[s+p|0]=l[0|m],g[0|m]=32,m=(p=3|o)+i|0,g[s+p|0]=l[0|m],g[0|m]=32,o=o+4|0,(0|I)!=(0|(a=a+4|0)););if(f)for(;a=i+o|0,g[o+s|0]=l[0|a],g[0|a]=32,o=o+1|0,(0|f)!=(0|(t=t+1|0)););}}if(g[s+c|0]=0,f=65520&r,!(512&r)|l[0|(a=i-1|0)]!=105||(g[0|a]=121),o=4|f,256&r){e:{A:{r:{if((0|(t=e[A+212>>2]))!=25966){if((0|t)!=28268)break r;if(g[0|a]<0||128&(t=g[0|(c=i-2|0)]))break e;if(f=e[A+632>>2])t=!!(0|Wr(f,t));else{if((0|(f=e[A+600>>2]))>0&&(t=t-f|0)-1>>>0>254)break e;t=128&l[344+(A+t|0)|0]}if(!t)break e;if(t=g[0|a],f=e[A+612>>2])t=!!(0|Wr(f,t));else{s:{if((0|(f=e[A+600>>2]))>0){if((t=t-f|0)-1>>>0<255)break s;break e}if((0|t)<0)break e}t=4&l[344+(A+t|0)|0]}if(!t)break e;t=g[i-3|0];s:{if(f=e[A+632>>2])t=!!(0|Wr(f,t));else{i:{if((0|(f=e[A+600>>2]))>0){if((t=t-f|0)-1>>>0<255)break i;break s}if((0|t)<0)break s}t=128&l[344+(A+t|0)|0]}if(t)break e}g[0|i]=l[0|a],g[0|a]=l[0|c],g[i+1|0]=32;break e}if(c=g[i-2|0],t=e[A+632>>2])t=!!(0|Wr(t,c));else{s:{if((0|(t=e[A+600>>2]))>0){if((c=c-t|0)-1>>>0<255)break s;break A}if((0|c)<0)break A}t=128&l[344+(A+c|0)|0]}if(!t)break A;if(c=g[0|a],t=e[A+608>>2])t=!!(0|Wr(t,c));else{if((0|(t=e[A+600>>2]))>0){if((c=c-t|0)-1>>>0>=255)break A}else if((0|c)<0)break A;t=2&l[344+(A+c|0)|0]}if(!t)break A;o=va(87771,i-3|0,3)?20|f:o;break e}o=e[A+204>>2]?20|f:o;break e}(l[0|a]==99||(c=l[1+(t=i-2|0)|0]<<8,(l[0|t]|c)==29554|(c|l[0|t])==29289||(l[0|(t=i-2|0)]|l[t+1|0]<<8)==29301||!va(88115,i-3|0,3)||(l[0|(t=i-2|0)]|l[t+1|0]<<8)==29550|l[0|a]==117||!va(88384,i-5|0,5)||(l[0|(t=i-4|0)]|l[t+1|0]<<8|l[t+2|0]<<16|l[t+3|0]<<24)==1735287154||(l[0|t]|l[t+1|0]<<8|l[t+2|0]<<16|l[t+3|0]<<24)==1735549292))&&(o=20|f)}16&o&&(Nr(e[A+204>>2],i),8&l[188788]&&jn(88683,6,e[47195]))}return e[A+8184>>2]|!(2048&r)||(e[A+8184>>2]=1),M[s>>1]!=115&&va(s,88850,3)||(o|=8),q=s- -64|0,l[0|s]==39?65531&o:o}function Yr(A,t,r,a,s,i,o,c,f){var m,p=0,I=0,y=0,T=0,Y=0,K=0,_=0,ce=0,he=0,ye=0;q=m=q-112|0,p=2147483647&f;e:{if(y=!(t|r),(a|(I=2147483647&s)?I-2147418112>>>0<2147549184:y)||!(!c&(0|(Y=p-2147418112|0))==-2147418112?i|o:(0|Y)==-2147418112&!!(0|c)|Y>>>0>2147549184)){if(!(!a&(0|I)==2147418112?y:I>>>0<2147418112)){c=a,f=32768|s,i=t,o=r;break e}if(!(!c&(0|p)==2147418112?!(i|o):p>>>0<2147418112)){f|=32768;break e}if(!(t|a|2147418112^I|r)){T=a,c=(a=!(t^i|a^c|r^o|s^f^-2147483648))?0:T,f=a?2147450880:s,i=a?0:t,o=a?0:r;break e}if(!(i|c|2147418112^p|o))break e;if(!(t|a|r|I)){if(i|c|o|p)break e;i&=t,o&=r,c&=a,f&=s;break e}if(!(i|c|o|p)){i=t,o=r,c=a,f=s;break e}}I=(y=ce=(T=(0|p)==(0|I))&(0|a)==(0|c)?(0|r)==(0|o)&t>>>0<i>>>0|r>>>0<o>>>0:T&a>>>0<c>>>0|p>>>0>I>>>0)?i:t,Y=y?o:r,he=T=y?f:s,y=y?c:a,_=65535&T,a=ce?a:c,ye=s=ce?s:f,T=s>>>16&32767,(K=he>>>16&32767)||(f=s=!(y|_),p=s?I:y,c=s<<=6,Aa(m+96|0,I,Y,y,_,(s=s+((0|(f=Oe(f?Y:_)))==32?Oe(p)+32|0:f)|0)-15|0),y=e[m+104>>2],_=e[m+108>>2],Y=e[m+100>>2],K=16-s|0,I=e[m+96>>2]),i=ce?t:i,o=ce?r:o,c=a,f=65535&ye,T||(s=t=!(c|f),p=t?i:c,r=t<<=6,Aa(m+80|0,i,o,c,f,(t=t+((0|(s=Oe(s?o:f)))==32?Oe(p)+32|0:s)|0)-15|0),T=16-t|0,c=e[m+88>>2],f=e[m+92>>2],o=e[m+84>>2],i=e[m+80>>2]),r=f<<3|c>>>29,t=c<<3|o>>>29,r|=524288,c=y<<3|Y>>>29,f=_<<3|y>>>29,ce=he^ye,s=o<<3|i>>>29,a=i<<3,(0|T)!=(0|K)&&((i=K-T|0)>>>0>127?(t=0,r=0,s=0,a=1):(Aa(m- -64|0,a,s,t,r,128-i|0),Ya(m+48|0,a,s,t,r,i),t=e[m+56>>2],r=e[m+60>>2],s=e[m+52>>2],a=e[m+48>>2]|!!(e[m+64>>2]|e[m+72>>2]|e[m+68>>2]|e[m+76>>
vendor: 16,211 bytes, line 2737
27372]))),y=a,p=s,T=c,_=524288|f,s=Y<<3|I>>>29,Y=I<<3,I=s;A:if((0|ce)<0){if(i=0,o=0,c=0,f=0,!(y^Y|t^T|p^I|r^_))break e;if(a=Y-y|0,s=I-((y>>>0>Y>>>0)+p|0)|0,c=(i=T-t|0)-(o=(0|p)==(0|I)&y>>>0>Y>>>0|p>>>0>I>>>0)|0,f=t=(_-((t>>>0>T>>>0)+r|0)|0)-(i>>>0<o>>>0)|0,t>>>0>524287)break A;i=t=!(c|f),o=t?a:c,r=t<<=6,Aa(m+32|0,a,s,c,f,t=(t=t+((0|(i=Oe(i?s:f)))==32?Oe(o)+32|0:i)|0)-12|0),K=K-t|0,c=e[m+40>>2],f=e[m+44>>2],a=e[m+32>>2],s=e[m+36>>2]}else s=p+I|0,i=(0|p)==(0|(s=(a=y+Y|0)>>>0<Y>>>0?s+1|0:s))&a>>>0<y>>>0|s>>>0<p>>>0,p=r+_|0,p=(t=t+T|0)>>>0<T>>>0?p+1|0:p,1048576&(f=(c=t+i|0)>>>0<t>>>0?p+1|0:p)&&(a=1&y|(1&s)<<31|a>>>1,s=c<<31|s>>>1,K=K+1|0,c=(1&f)<<31|c>>>1,f=f>>>1|0);if(r=0,I=-2147483648&he,(0|K)>=32767)c=r,f=2147418112|I,i=0,o=0;else if(T=0,(0|K)>0?T=K:(Aa(m+16|0,a,s,c,f,K+127|0),Ya(m,a,s,c,f,1-K|0),a=e[m>>2]|!!(e[m+16>>2]|e[m+24>>2]|e[m+20>>2]|e[m+28>>2]),s=e[m+4>>2],c=e[m+8>>2],f=e[m+12>>2]),Y=7&a,a=(0|(t=c<<29|s>>>3))==(0|(o=(a=(7&s)<<29|a>>>3)>>>0>(i=(Y>>>0>4)+a|0)>>>0?t+1|0:t))&a>>>0>i>>>0|t>>>0>o>>>0,t=r|(7&f)<<29|c>>>3,f=I|f>>>3&65535|T<<16,f=t>>>0>(c=a+t|0)>>>0?f+1|0:f,(0|Y)!=4){if(!Y)break e}else p=o+(t=0)|0,f=(t=(0|t)==(0|(o=(a=i)>>>0>(i=i+(r=1&i)|0)>>>0?p+1|0:p))&r>>>0>i>>>0|t>>>0>o>>>0)>>>0>(c=t+c|0)>>>0?f+1|0:f}e[A>>2]=i,e[A+4>>2]=o,e[A+8>>2]=c,e[A+12>>2]=f,q=m+112|0}function yt(A){var t=0,r=0,a=0,s=0,i=0,o=0,c=0;e:if(A|=0){i=(a=A-8|0)+(A=-8&(t=e[A-4>>2]))|0;A:if(!(1&t)){if(!(3&t)||(a=a-(t=e[a>>2])|0)>>>0<ue[57156])break e;if(A=A+t|0,e[57157]==(0|a)){if(!(3&~(t=e[i+4>>2])))return e[57154]=A,e[i+4>>2]=-2&t,e[a+4>>2]=1|A,void(e[A+a>>2]=A)}else{if(t>>>0<=255){if(s=e[a+8>>2],t=t>>>3|0,(0|(r=e[a+12>>2]))==(0|s)){e[57152]=e[57152]&sa(-2,t);break A}e[s+12>>2]=r,e[r+8>>2]=s;break A}if(c=e[a+24>>2],(0|a)==(0|(t=e[a+12>>2])))if((r=e[(s=a+20|0)>>2])||(r=e[(s=a+16|0)>>2])){for(;o=s,(r=e[(s=(t=r)+20|0)>>2])||(s=t+16|0,r=e[t+16>>2]););e[o>>2]=0}else t=0;else r=e[a+8>>2],e[r+12>>2]=t,e[t+8>>2]=r;if(!c)break A;s=e[a+28>>2];r:{if(e[(r=228912+(s<<2)|0)>>2]==(0|a)){if(e[r>>2]=t,t)break r;e[57153]=e[57153]&sa(-2,s);break A}if(e[c+(e[c+16>>2]==(0|a)?16:20)>>2]=t,!t)break A}if(e[t+24>>2]=c,(r=e[a+16>>2])&&(e[t+16>>2]=r,e[r+24>>2]=t),!(r=e[a+20>>2]))break A;e[t+20>>2]=r,e[r+24>>2]=t}}if(!(a>>>0>=i>>>0)&&1&(t=e[i+4>>2])){A:{if(!(2&t)){if(e[57158]==(0|i)){if(e[57158]=a,A=e[57155]+A|0,e[57155]=A,e[a+4>>2]=1|A,e[57157]!=(0|a))break e;return e[57154]=0,void(e[57157]=0)}if(e[57157]==(0|i))return e[57157]=a,A=e[57154]+A|0,e[57154]=A,e[a+4>>2]=1|A,void(e[A+a>>2]=A);A=(-8&t)+A|0;r:if(t>>>0<=255){if(s=e[i+8>>2],t=t>>>3|0,(0|(r=e[i+12>>2]))==(0|s)){e[57152]=e[57152]&sa(-2,t);break r}e[s+12>>2]=r,e[r+8>>2]=s}else{if(c=e[i+24>>2],(0|i)==(0|(t=e[i+12>>2])))if((r=e[(s=i+20|0)>>2])||(r=e[(s=i+16|0)>>2])){for(;o=s,(r=e[(s=(t=r)+20|0)>>2])||(s=t+16|0,r=e[t+16>>2]););e[o>>2]=0}else t=0;else r=e[i+8>>2],e[r+12>>2]=t,e[t+8>>2]=r;if(c){s=e[i+28>>2];s:{if(e[(r=228912+(s<<2)|0)>>2]==(0|i)){if(e[r>>2]=t,t)break s;e[57153]=e[57153]&sa(-2,s);break r}if(e[c+(e[c+16>>2]==(0|i)?16:20)>>2]=t,!t)break r}e[t+24>>2]=c,(r=e[i+16>>2])&&(e[t+16>>2]=r,e[r+24>>2]=t),(r=e[i+20>>2])&&(e[t+20>>2]=r,e[r+24>>2]=t)}}if(e[a+4>>2]=1|A,e[A+a>>2]=A,e[57157]!=(0|a))break A;return void(e[57154]=A)}e[i+4>>2]=-2&t,e[a+4>>2]=1|A,e[A+a>>2]=A}if(A>>>0<=255)return t=228648+(-8&A)|0,(r=e[57152])&(A=1<<(A>>>3))?A=e[t+8>>2]:(e[57152]=A|r,A=t),e[t+8>>2]=a,e[A+12>>2]=a,e[a+12>>2]=t,void(e[a+8>>2]=A);s=31,A>>>0<=16777215&&(s=62+((A>>>38-(t=Oe(A>>>8|0))&1)-(t<<1)|0)|0),e[a+28>>2]=s,e[a+16>>2]=0,e[a+20>>2]=0,o=228912+(s<<2)|0;A:{r:{if((r=e[57153])&(t=1<<s)){for(s=A<<((0|s)!=31?25-(s>>>1|0):0),t=e[o>>2];;){if(r=t,(-8&e[t+4>>2])==(0|A))break r;if(t=s>>>29|0,s<<=1,!(t=e[16+(o=r+(4&t)|0)>>2]))break}e[o+16>>2]=a,e[a+24>>2]=r}else e[57153]=t|r,e[o>>2]=a,e[a+24>>2]=o;e[a+12>>2]=a,e[a+8>>2]=a;break A}A=e[r+8>>2],e[A+12>>2]=a,e[r+8>>2]=a,e[a+24>>2]=0,e[a+12>>2]=r,e[a+8>>2]=A}A=e[57160]-1|0,e[57160]=A||-1}}}function Ga(A,t,r){var a,s=0,i=0,o=0,c=0,f=0,m=0,p=0,I=0,y=0,T=0,Y=0,K=0;q=a=q-176|0;e:{if(32&t)T=r-((0|r)>1)|0;else{i=Ut(A,93302);A:{r:{s:{if((0|t)!=2){if(i)break s;t=0;break e}if(T=r+1|0,I=56+(Y=z(r,76)+133152|0)|0,y=Ut(A,89360),o=Ut(A,93318),c=Ut(A,93426),f=Ut(A,93499),i)break r;break A}T=r+1|0,I=56+(Y=z(r,76)+133152|0)|0,f=0}for(A=0,m=(0|(s=e[i-4>>2]))!=34?(0|s)==39?s:0:s,K=z(r,76)+133208|0;;){if(s=A,!(A=e[i>>2]))break A;r:{if(!m){if((0|A)==32|A-9>>>0<5)break A;if((0|A)!=47)break r;break A}if((0|s)!=92&&(0|A)==(0|m))break A}if(i=i+4|0,!((0|(p=Nr(A,p+K|0)+p|0))<16))break}}m=0,g[p+I|0]=0,p=z(r,76)+133168|0,i=0;A:if(y)for(A=0,I=(0|(s=e[y-4>>2]))!=34?(0|s)==39?s:0:s;;){if(s=A,!(A=e[y>>2]))break A;r:{if(!I){if((0|A)==32|A-9>>>0<5)break A;if((0|A)!=47)break r;break A}if((0|s)!=92&&(0|A)==(0|I))break A}if(y=y+4|0,!((0|(i=Nr(A,i+p|0)+i|0))<36))break}if(g[i+p|0]=0,!(!o|e[o>>2]-48>>>0>=10)){for(;m=(e[o>>2]+z(m,10)|0)-48|0,e[(o=o+4|0)>>2]-48>>>0<10;);(0|m)<=0||(m=m-1|0)}if(s=z(r,76)+133152|0,e[s+4>>2]=m,A=0,i=0,!(!c|e[c>>2]-48>>>0>=10))for(;i=(e[c>>2]+z(i,10)|0)-48|0,e[(c=c+4|0)>>2]-48>>>0<10;);e[s+12>>2]=i,i=z(r,76)+133152|0;A:{r:if(f){for(;r=g[A+93099|0],(s=e[(A<<2)+f>>2])&&(A=A+1|0,(0|r)==(0|s)););s:{i:switch(s-34|0){case 0:case 5:break i;default:break s}if(!r){A=0;break A}}for(A=0;r=g[A+93116|0],(s=e[(A<<2)+f>>2])&&(A=A+1|0,(0|r)==(0|s)););s:{i:switch(s-34|0){case 0:case 5:break i;default:break s}if(!r){A=1;break A}}for(A=0;r=g[A+93197|0],(s=e[(A<<2)+f>>2])&&(A=A+1|0,(0|r)==(0|s)););s:switch(s-34|0){case 0:case 5:break s;default:break r}if(!r){A=2;break A}}A=3}e[i+8>>2]=e[131156+(A<<3)>>2],e[Y>>2]=t}if(JA(137776,133168),r=JA(a+96|0,133208),g[a+157|0]=e[33291],g[a+156|0]=e[33290],A=e[33289],e[a+152>>2]=0,g[a+158|0]=A,(0|T)>0)for(o=0;;){if(c=1,t=z(o,76)+133152|0,l[0|(A=t+16|0)]&&ha(0,A)&&(JA(137776,A),c=0,g[0|r]=0,g[a+158|0]=0,b[a+156>>1]=0),l[0|(A=t+56|0)]){f=JA(r,A),s=e[33679];A:if(l[0|(A=s)])for(;;){if(!Mr(A=A+1|0,f)){JA(f,s+1|0);break A}if(A=1+(RA(A)+A|0)|0,!l[0|A])break}c&&(g[137776]=0)}if((A=e[t+8>>2])&&(g[a+156|0]=A),(A=e[t+12>>2])&&(g[a+157|0]=A),(A=e[t+4>>2])&&(g[a+158|0]=A),(0|T)==(0|(o=o+1|0)))break}e[a+148>>2]=r,e[a+144>>2]=137776,(A=Wa(a+144|0,a+172|0))?ts(A,43)||(t=l[a+156|0],!l[134672]|((0|t)!=l[134724]?t:0)||(e[a>>2]=A,e[a+4>>2]=134672,QA(t=a+16|0,93533,a),A=137776,sr(137776,t,40))):A=92003,t=0,Mr(A,134784)&&(JA(134784,A),t=131072)}return q=a+176|0,t}function zr(A,t){var r,a=0,s=0,i=0,o=0,c=0;r=A+t|0;e:{A:if(!(1&(a=e[A+4>>2]))){if(!(3&a))break e;t=(a=e[A>>2])+t|0;r:{if((0|(A=A-a|0))!=e[57157]){if(a>>>0<=255){if(i=e[A+8>>2],a=a>>>3|0,(0|(s=e[A+12>>2]))!=(0|i))break r;e[57152]=e[57152]&sa(-2,a);break A}if(c=e[A+24>>2],(0|(a=e[A+12>>2]))==(0|A))if((s=e[(i=A+20|0)>>2])||(s=e[(i=A+16|0)>>2])){for(;o=i,(s=e[(i=(a=s)+20|0)>>2])||(i=a+16|0,s=e[a+16>>2]););e[o>>2]=0}else a=0;else s=e[A+8>>2],e[s+12>>2]=a,e[a+8>>2]=s;if(!c)break A;i=e[A+28>>2];s:{if(e[(s=228912+(i<<2)|0)>>2]==(0|A)){if(e[s>>2]=a,a)break s;e[57153]=e[57153]&sa(-2,i);break A}if(e[c+(e[c+16>>2]==(0|A)?16:20)>>2]=a,!a)break A}if(e[a+24>>2]=c,(s=e[A+16>>2])&&(e[a+16>>2]=s,e[s+24>>2]=a),!(s=e[A+20>>2]))break A;e[a+20>>2]=s,e[s+24>>2]=a;break A}if(3&~(a=e[r+4>>2]))break A;return e[57154]=t,e[r+4>>2]=-2&a,e[A+4>>2]=1|t,void(e[r>>2]=t)}e[i+12>>2]=s,e[s+8>>2]=i}A:{if(!(2&(a=e[r+4>>2]))){if(e[57158]==(0|r)){if(e[57158]=A,t=e[57155]+t|0,e[57155]=t,e[A+4>>2]=1|t,e[57157]!=(0|A))break e;return e[57154]=0,void(e[57157]=0)}if(e[57157]==(0|r))return e[57157]=A,t=e[57154]+t|0,e[57154]=t,e[A+4>>2]=1|t,void(e[A+t>>2]=t);t=(-8&a)+t|0;r:if(a>>>0<=255){if(i=e[r+8>>2],a=a>>>3|0,(0|(s=e[r+12>>2]))==(0|i)){e[57152]=e[57152]&sa(-2,a);break r}e[i+12>>2]=s,e[s+8>>2]=i}else{if(c=e[r+24>>2],(0|r)==(0|(a=e[r+12>>2])))if((i=e[(s=r+20|0)>>2])||(i=e[(s=r+16|0)>>2])){for(;o=s,(i=e[(s=(a=i)+20|0)>>2])||(s=a+16|0,i=e[a+16>>2]););e[o>>2]=0}else a=0;else s=e[r+8>>2],e[s+12>>2]=a,e[a+8>>2]=s;if(c){i=e[r+28>>2];s:{if(e[(s=228912+(i<<2)|0)>>2]==(0|r)){if(e[s>>2]=a,a)break s;e[57153]=e[57153]&sa(-2,i);break r}if(e[c+(e[c+16>>2]==(0|r)?16:20)>>2]=a,!a)break r}e[a+24>>2]=c,(s=e[r+16>>2])&&(e[a+16>>2]=s,e[s+24>>2]=a),(s=e[r+20>>2])&&(e[a+20>>2]=s,e[s+24>>2]=a)}}if(e[A+4>>2]=1|t,e[A+t>>2]=t,e[57157]!=(0|A))break A;return void(e[57154]=t)}e[r+4>>2]=-2&a,e[A+4>>2]=1|t,e[A+t>>2]=t}if(t>>>0<=255)return a=228648+(-8&t)|0,(s=e[57152])&(t=1<<(t>>>3))?t=e[a+8>>2]:(e[57152]=t|s,t=a),e[a+8>>2]=A,e[t+12>>2]=A,e[A+12>>2]=a,void(e[A+8>>2]=t);i=31,t>>>0<=16777215&&(i=62+((t>>>38-(a=Oe(t>>>8|0))&1)-(a<<1)|0)|0),e[A+28>>2]=i,e[A+16>>2]=0,e[A+20>>2]=0,o=228912+(i<<2)|0;A:{if((s=e[57153])&(a=1<<i)){for(i=t<<((0|i)!=31?25-(i>>>1|0):0),a=e[o>>2];;){if(s=a,(-8&e[a+4>>2])==(0|t))break A;if(a=i>>>29|0,i<<=1,!(a=e[16+(o=s+(4&a)|0)>>2]))break}e[o+16>>2]=A,e[A+24>>2]=s}else e[57153]=a|s,e[o>>2]=A,e[A+24>>2]=o;return e[A+12>>2]=A,void(e[A+8>>2]=A)}t=e[s+8>>2],e[t+12>>2]=A,e[s+8>>2]=A,e[A+24>>2]=0,e[A+12>>2]=s,e[A+8>>2]=t}}function jr(A){var t=0,r=0,a=0,s=0,i=0,o=0,c=0,f=0,m=0,p=0,I=0,y=0,T=0;if(!(t=g[88105]))return A;if(A=ts(A,t)){if(!l[88106])return A;if(l[A+1|0]){if(!l[88107]){s=!!(0|(r=l[A+1|0]));e:if(r&&(0|(t=r|l[0|A]<<8))!=(0|(c=l[88106]|l[88105]<<8)))for(r=A+1|0;;){if(s=!!(0|(a=l[(A=r)+1|0])),!a)break e;if(r=A+1|0,(0|c)==(0|(t=a|t<<8&65280)))break}return s?A:0}if(l[A+2|0]){if(!l[88108]){r=A+2|0,s=!!(0|(t=l[A+2|0]));e:if(t&&(0|(t=l[A+1|0]<<16|l[0|A]<<24|t<<8))!=(0|(c=l[88106]<<16|l[88105]<<24|l[88107]<<8)))for(;;){if(A=r+1|0,s=!!(0|(a=l[r+1|0])),!a)break e;if(r=A,(0|c)==(0|(t=(t|a)<<8)))break}else A=r;return s?A-2|0:0}if(l[A+3|0]){if(!l[88109]){r=A+3|0,s=!!(0|(t=l[A+3|0]));e:if(t&&(0|(t=t|l[A+1|0]<<16|l[0|A]<<24|l[A+2|0]<<8))!=(0|(c=(A=l[88105]|l[88106]<<8|l[88107]<<16|l[88108]<<24)<<24|(65280&A)<<8|A>>>8&65280|A>>>24)))for(;;){if(A=r+1|0,s=!!(0|(a=l[r+1|0])),!a)break e;if(r=A,(0|c)==(0|(t=a|t<<8)))break}else A=r;return s?A-3|0:0}c=A,q=f=q-1056|0,e[(A=f+1048|0)>>2]=0,e[A+4>>2]=0,e[(A=f+1040|0)>>2]=0,e[A+4>>2]=0,e[f+1032>>2]=0,e[f+1036>>2]=0,e[f+1024>>2]=0,e[f+1028>>2]=0;e:{A:{r:{s:{if(t=l[88105]){for(;;){if(!l[i+c|0])break A;if(i=i+1|0,e[((255&t)<<2)+f>>2]=i,e[(A=(f+1024|0)+(t>>>3&28)|0)>>2]=e[A>>2]|1<<t,!(t=l[i+88105|0]))break}if(A=1,m=-1,i>>>0>1)break s}else m=-1,A=1;o=-1,r=1;break r}for(a=1,t=1;;){s:if((0|(o=l[88105+(t+m|0)|0]))!=(0|(s=l[A+88105|0])))s>>>0<o>>>0?(a=A-m|0,r=A,t=1):(m=r,r=r+1|0,a=1,t=1);else{if((0|t)==(0|a)){r=r+a|0,t=1;break s}t=t+1|0}if(!(i>>>0>(A=r+t|0)>>>0))break}if(r=1,o=-1,i>>>0<=1)A=a;else{for(A=0,s=1,t=1;;){s:if((0|(I=l[88105+(t+o|0)|0]))!=(0|(p=l[r+88105|0])))p>>>0>I>>>0?(s=r-o|0,A=r,t=1):(o=A,A=A+1|0,s=1,t=1);else{if((0|t)==(0|s)){A=A+s|0,t=1;break s}t=t+1|0}if(!(i>>>0>(r=A+t|0)>>>0))break}A=a,r=s}}for(t=A,va(88105,(a=(A=o+1>>>0>m+1>>>0)?r:t)+88105|0,I=(p=A?o:m)+1|0)?(a=((A=~p+i|0)>>>0<p>>>0?p:A)+1|0,s=0):s=i-a|0,T=i-1|0,y=63|i,o=0,A=c;;){if(!(c-A>>>0>=i>>>0))if(r=si(c,0,y)){if(c=r,r-A>>>0<i>>>0)break A}else c=c+y|0;r=l[A+T|0],t=i;r:{if(e[(f+1024|0)+(r>>>3&28)>>2]>>>r&1)if((0|(r=e[(r<<2)+f>>2]))==(0|i)){s:{if(m=l[(r=(t=I)>>>0>o>>>0?t:o)+88105|0])for(;;){if(l[A+r|0]!=(255&m))break s;if(!(m=l[88105+(r=r+1|0)|0]))break}for(;;){if(t>>>0<=o>>>0)break e;if(l[88105+(t=t-1|0)|0]!=l[A+t|0])break}t=a,o=s;break r}t=r-p|0}else t=(r=i-r|0)>>>0>o>>>0?r:o;o=0}A=A+t|0}}A=0}q=f+1056|0,r=A}}}}return r}function ms(A,t,r,a,s,i){var o,c,f,m,p=0,I=0,y=0;if(q=o=q-560|0,g[o+448|0]=0,g[o+144|0]=0,g[o+120|0]=0,f=34&i,c=t-z(I=(0|t)/100|0,100)|0,1&(m=64&l[A+106|0]?(0|t)>999|i:0)|(0|t)>99){e:{A:{r:{if(!(!f|c)){if(!UA(A,90606,o+304|0))break r;break e}if(c)break A}if(UA(A,90691,o+304|0))break e}UA(A,90725,o+304|0)}p=i,(0|t)<1e3||(p=i,!(8&l[A+105|0])|t-2e3>>>0<4294967196&&(g[o+208|0]=0,Ja(A,p=(I>>>0)/10|0,a=16384&e[A+108>>2]?0:s+1|0,!((t>>>0)%1e3|0)|f,o+272|0)||Pa(A,p,s,e[A+212>>2]==28012?520:(0|a)<4?(e[A+108>>2]>>>a&1)<<3:0,o+208|0),2&l[A+109|0]?(e[o+108>>2]=15,e[o+100>>2]=15,e[o+104>>2]=o+208,e[o+96>>2]=o+272,QA(o+144|0,90761,o+96|0)):(e[o+92>>2]=15,e[o+84>>2]=15,e[o+88>>2]=o+272,e[o+80>>2]=o+208,QA(o+144|0,90761,o+80|0)),a=1,1&(!!(0|(I=I-z(p,10)|0))|m)||(g[o+304|0]=0),p=1|i)),g[o+208|0]=0;e:if(!(~m&(0|I)<=0))if(!(4&l[A+106|0])|!(1&p|l[o+144|0])||UA(A,90824,o+120|0),!f|(16&l[A+109|0]?0:c)||(e[o+64>>2]=I,QA(a=o+548|0,90875,o- -64|0),y=UA(A,a,o+208|0),!(4096&e[A+108>>2])|(0|c)<=0||ia(o+208|0,133104)),a=1,1&(~m|!!(0|I))){A:{r:{s:{i:{if(!(131072&e[A+108>>2])||1&p|(0|I)!=1){if(c|y||(e[o+48>>2]=I,QA(a=o+548|0,90985,o+48|0),y=UA(A,a,o+208|0)),y||(e[o+32>>2]=I,QA(a=o+548|0,91027,o+32|0),UA(A,a,o+208|0)))break i;if((0|I)!=1)break r;break s}if(!y)break s}g[o+304|0]=0;break A}if(a=1,4&l[A+105|0])break e}Pa(A,I,s,0,o+208|0)}a=1}else UA(A,88875,o+208|0);e[o+28>>2]=o+304,e[o+24>>2]=o+208,e[o+20>>2]=o+120,e[o+16>>2]=o+144,QA(o+448|0,91059,o+16|0)}else p=i;g[o+132|0]=0;e:{A:{if((0|c)>0)16&l[A+109|0]&&2&p||(!(1&p)|s&&(0|t)<=100||!(64&(a=e[A+104>>2]))&(!(8388608&a)|c>>>0>9)||UA(A,90824,o+132|0),!(1&p|l[o+144|0])|!(524288&e[A+104>>2])|I||UA(A,90824,o+132|0)),g[o+336|0]=0;else if(g[o+336|0]=0,!c&a)break A;if(s?(i=e[A+108>>2],t=(0|s)<4?(i>>>s&1)<<3:0):(a=f?3:2,t=32&i|((0|t)<100?1&p?a:4|a:a),i=e[A+108>>2]),t=(0|s)==1&&e[A+212>>2]==28012?520|t:t,1048576&i&&(a=16|t,t=(0|I)>0||1&p?a:t),!Pa(A,c,s,256&p|t,o+336|0)|!(128&l[A+104|0]))break e;g[o+132|0]=0;break e}l[133104]&&((0|(A=RA(o+448|0)))<=0||l[447+(A=A+o|0)|0]==10&&(g[A+447|0]=0),JA(o+336|0,133104))}e[o+8>>2]=15,e[o+12>>2]=o+336,e[o+4>>2]=o+132,e[o>>2]=o+448,QA(r,91101,o),q=o+560|0}function Xt(A){var t,r,a,s=0,i=0,o=0,c=0,f=0,m=0,p=0,I=0,y=0,T=0,Y=0,K=0;for(s=e[32972],e[s+64>>2]=290816,e[s+68>>2]=4104,e[s+96>>2]=0,e[s+100>>2]=0,e[s+120>>2]=90,e[s+124>>2]=100,e[s+112>>2]=64,e[s+116>>2]=256,e[s+104>>2]=5,e[s+108>>2]=0,e[s+84>>2]=100,e[s+88>>2]=64,i=e[50754],e[s+132>>2]=0,e[s+136>>2]=0,e[s+128>>2]=i,e[s+140>>2]=0,e[s+144>>2]=0,e[s+148>>2]=0,e[s+152>>2]=0,e[s+156>>2]=0,e[s+160>>2]=0,e[36435]=450,e[s+92>>2]=2,e[50870]=0,e[50871]=0,e[50872]=0,e[50873]=0,e[50880]=0,e[50881]=0,e[50882]=0,e[50883]=0,e[50890]=0,e[50891]=0,e[50892]=0,e[50893]=0,o=-3.141592653589793/+e[50754],D[25429]=o,f=-2*o,D[25430]=f,t=(o=Ft(200*o))*-o,D[25434]=t,D[25439]=t,D[25444]=t,o=(f=o*Qa(2e3*f))+f,D[25433]=o,D[25438]=o,D[25443]=o,f=1-o-t,D[25432]=f,D[25437]=f,D[25442]=f,e[50902]=0,e[50903]=0,e[50900]=0,e[50901]=0,D[25449]=t,D[25448]=o,e[50912]=0,e[50913]=0,D[25447]=f,e[50910]=0,e[50911]=0,D[25454]=t,D[25453]=o,e[50922]=0,e[50923]=0,D[25452]=f,e[50920]=0,e[50921]=0,D[25459]=t,D[25458]=o,e[50932]=0,e[50933]=0,D[25457]=f,e[50930]=0,e[50931]=0,D[25464]=t,D[25463]=o,D[25462]=f,e[50942]=0,e[50943]=0,e[50940]=0,e[50941]=0,D[25469]=t,D[25468]=o,D[25467]=f,e[50952]=0,e[50953]=0,e[50950]=0,e[50951]=0,D[25474]=t,D[25473]=o,D[25472]=f,r=e[32972],i=0;b[236+(m=(i<<1)+r|0)>>1]=256,b[m+164>>1]=256,s=l[i+105376|0]<<1,b[m+254>>1]=s,b[m+182>>1]=s,b[m+200>>1]=l[i+105385|0]<<1,e[308+(s=(c=i<<2)+r|0)>>2]=e[c+105408>>2],e[s+272>>2]=0,b[m+218>>1]=0,e[c+200944>>2]=(0|z(e[c+105456>>2],22050))/e[50754],(0|(i=i+1|0))!=9;);for(T=e[32961],i=0,a=r+344|0;;){if(s=p,I=T,m=i,(0|(p=e[(i=131840+(c=i<<2)|0)>>2]))==-1&&(p=8e3,e[i>>2]=8e3,m&&(e[131840+(4|c)>>2]=e[c+131836>>2])),T=e[131840+(4|c)>>2],!((0|s)>=(0|(p=(0|p)/8|0))||(0|(y=p-s|0))<=0||(c=s+1|0,i=s,1&y&&(g[344+(s+r|0)|0]=(0|I)>=255?255:I,i=c),(0|c)==(0|p))))for(Y=T-I|0;c=((0|z(i-s|0,Y))/(0|y)|0)+I|0,g[i+a|0]=(0|c)>=255?255:c,K=((0|z((c=i+1|0)-s|0,Y))/(0|y)|0)+I|0,g[c+a|0]=(0|K)>=255?255:K,(0|p)!=(0|(i=i+2|0)););if(i=m+2|0,!(m>>>0<10))break}i=e[32972],e[i+80>>2]=232,e[i+72>>2]=256,e[i+76>>2]=238,A||(e[49848]=0),b[i+200>>1]=(0|z(b[i+200>>1],105))/100}function _a(A,t,r){var a,s=0,i=0,o=0,c=0,f=0,m=0,p=0,I=0;q=a=q-288|0,(0|t)!=132848&&Ur(132848,t,40),(0|(s=A+228|0))!=(0|t)&&Ur(s,t,40),e[a+88>>2]=t,e[a+84>>2]=47,e[a+80>>2]=137584,QA(s=a+96|0,84089,a+80|0),i=us(s),(s=e[A+688>>2])&&(yt(s),e[A+688>>2]=0),s=ka(a+96|0,84577);e:if((0|i)>0&&s)if(r=It(i),e[A+688>>2]=r,r)if(m=xn(r,i,s),ra(s),m>>>0<=1032)e[a+16>>2]=a+96,hr(e[30450],85164,a+16|0),r=2;else if(s=e[A+688>>2],r=e[s+4>>2],!((0|(i=e[s>>2]))!=1024|(0|r)<=0)&(0|r)<134217729){s=r+s|0,e[A+684>>2]=s,I=VA(A+5168|0,0,1024),VA(A+7664|0,0,260),VA(A+7924|0,255,256),VA(A+4788|0,0,380),VA(A+6192|0,0,512);A:if((0|(r=l[0|s]))!=7)for(;;){if((0|(i=255&r))!=6){if(!i)break A;i=e[A+684>>2],e[a+72>>2]=r<<24>>24,e[a+64>>2]=132848,e[a+68>>2]=s-i,hr(e[30450],88950,a- -64|0);break}r:{s:{i:{c:{o:switch((i=l[0|(r=s+1|0)])-18|0){case 0:break c;case 2:break o;
2737default:break i}for(r=4+(-4&r)|0,e[A+180>>2]=r;r=(s=r)+1|0,!Kn(s););for(;i=l[0|s],r=s,s=s+1|0,(0|i)!=7;);break r}if(r=s+3|0,(0|(s=((0|(s=g[s+2|0]))<65?191:-65)+s|0))>94)break s;e[4788+((s<<2)+A|0)>>2]=r;break s}switch(r=1+((c=RA(r))+r|0)|0,0|c){case 1:e[5168+((i<<2)+A|0)>>2]=r;break s;case 0:e[I>>2]=r;break s}c=l[s+2|0],(0|i)!=1?(s=e[A+7664>>2],l[0|(p=7924+(o=A+i|0)|0)]==255&&(g[0|p]=s),g[0|(o=o+7668|0)]=l[0|o]+1,e[6704+(o=(s<<2)+A|0)>>2]=r,e[A+7664>>2]=s+1,e[o+7184>>2]=i|c<<8):e[6188+((c<<2)+A|0)>>2]=r}if(l[0|r]!=7)for(;r=1+(RA(r)+r|0)|0,l[0|r]!=7;);}r=l[0|(s=r+1|0)]}for(s=e[A+688>>2]+8|0;;){for(e[692+((r=f<<2)+A|0)>>2]=s;i=l[0|s];)s=s+i|0;for(s=s+1|0,e[692+((4|r)+A|0)>>2]=s;r=l[0|s];)s=r+s|0;if(s=s+1|0,(0|(f=f+2|0))==1024)break}r=0,(0|(A=e[A+324>>2]))<=0|A>>>0<=m>>>0||(e[a+48>>2]=t,hr(e[30450],85519,a+48|0))}else e[a+40>>2]=r,e[a+36>>2]=i,e[a+32>>2]=a+96,hr(e[30450],85349,a+32|0),r=2;else ra(s),r=3;else{if(r||(e[a>>2]=a+96,hr(e[30450],84963,a)),r=1,!s)break e;ra(s)}return q=a+288|0,r}function Cs(A){var t,r=0,a=0;for(t=VA(A+344|0,0,256),g[A+364|0]=1,g[A+356|0]=1,g[A+357|0]=1,g[A+358|0]=1,g[A+359|0]=1,g[A+360|0]=1,g[A+361|0]=1,g[A+362|0]=1,g[A+363|0]=1,g[A+348|0]=1,g[A+349|0]=1,g[A+350|0]=1,g[A+351|0]=1,g[A+352|0]=1,g[A+353|0]=1,g[A+354|0]=1,g[A+355|0]=1,g[A+431|0]=3,g[A+429|0]=3,g[A+430|0]=3,g[A+406|0]=3,g[A+407|0]=3,g[A+408|0]=3,g[A+409|0]=3,g[A+410|0]=3,g[A+411|0]=3,g[A+412|0]=3,g[A+413|0]=3,g[A+414|0]=3,g[A+415|0]=3,g[A+416|0]=3,g[A+417|0]=3,g[A+418|0]=3,g[A+419|0]=3,g[A+420|0]=3,g[A+421|0]=3,g[A+440|0]=3,g[A+441|0]=3,g[A+442|0]=3,g[A+443|0]=3,a=21;g[344+(r=A+a|0)|0]=4|l[r+344|0],(0|(r=a+1|0))!=58;)g[0|(r=r+t|0)]=4|l[0|r],g[2+(r=a+t|0)|0]=4|l[r+2|0],g[r+3|0]=4|l[r+3|0],a=a+4|0;g[A+346|0]=4|l[A+346|0],g[A+347|0]=4|l[A+347|0],g[A+432|0]=4|l[A+432|0],g[A+433|0]=4|l[A+433|0],g[A+434|0]=4|l[A+434|0],g[A+435|0]=4|l[A+435|0],g[A+436|0]=4|l[A+436|0],g[A+437|0]=4|l[A+437|0],g[A+438|0]=4|l[A+438|0],g[A+439|0]=4|l[A+439|0],g[A+467|0]=4|l[A+467|0],g[A+468|0]=4|l[A+468|0],g[A+470|0]=4|l[A+470|0],g[A+471|0]=4|l[A+471|0],g[A+348|0]=64|l[A+348|0],g[A+349|0]=64|l[A+349|0],g[A+350|0]=64|l[A+350|0],g[A+351|0]=64|l[A+351|0],g[A+352|0]=64|l[A+352|0],g[A+353|0]=64|l[A+353|0],g[A+354|0]=64|l[A+354|0],g[A+355|0]=64|l[A+355|0],g[A+356|0]=64|l[A+356|0],g[A+357|0]=64|l[A+357|0],g[A+358|0]=64|l[A+358|0],g[A+359|0]=64|l[A+359|0],g[A+360|0]=64|l[A+360|0],g[A+361|0]=64|l[A+361|0],g[A+362|0]=64|l[A+362|0],g[A+363|0]=64|l[A+363|0],g[A+364|0]=64|l[A+364|0],g[A+406|0]=64|l[A+406|0],g[A+407|0]=64|l[A+407|0],g[A+408|0]=64|l[A+408|0],g[A+409|0]=64|l[A+409|0],g[A+410|0]=64|l[A+410|0],g[A+411|0]=64|l[A+411|0],g[A+412|0]=64|l[A+412|0],g[A+413|0]=64|l[A+413|0],g[A+414|0]=64|l[A+414|0],g[A+415|0]=64|l[A+415|0],g[A+416|0]=64|l[A+416|0],g[A+417|0]=64|l[A+417|0],g[A+418|0]=64|l[A+418|0],g[A+419|0]=64|l[A+419|0],g[A+420|0]=64|l[A+420|0],g[A+440|0]=64|l[A+440|0],g[A+441|0]=64|l[A+441|0],g[A+429|0]=64|l[A+429|0],g[A+430|0]=64|l[A+430|0],g[A+431|0]=64|l[A+431|0],g[A+442|0]=64|l[A+442|0],g[A+443|0]=64|l[A+443|0],e[A+40>>2]=1,e[A+204>>2]=e[A+600>>2]+77}function wi(A,t,r,a,s,i,o,c,f){var m,p=0,I=0,y=0,T=0,Y=0,K=0,_=0,ce=0,he=0,ye=0;q=m=q-128|0;e:{A:{if(pA(i,o,c,f,0,0,0,0)){I=65535&f;r:s:{if((0|(T=f>>>16&32767))!=32767){if(p=4,T)break s;p=i|c|o|I?3:2;break r}p=!(i|c|o|I)}if((0|(Y=32767&(he=s>>>16|0)))!=32767&&p)break A}FA(m+16|0,t,r,a,s,i,o,c,f),Vr(m,t=e[m+16>>2],a=e[m+20>>2],s=e[m+24>>2],r=e[m+28>>2],t,a,s,r),a=e[m+8>>2],s=e[m+12>>2],c=e[m>>2],f=e[m+4>>2];break e}if(T=c,(0|pA(t,r,p=a,K=2147483647&s,i,o,c,y=2147483647&f))<=0){if(pA(t,r,p,K,i,o,T,y)){c=t,f=r;break e}FA(m+112|0,t,r,a,s,0,0,0,0),a=e[m+120>>2],s=e[m+124>>2],c=e[m+112>>2],f=e[m+116>>2]}else{if(_=f>>>16&32767,Y?(f=r,c=t):(FA(m+96|0,t,r,p,K,0,0,0,1081540608),p=e[m+104>>2],K=c=e[m+108>>2],Y=(c>>>16|0)-120|0,f=e[m+100>>2],c=e[m+96>>2]),_||(FA(m+80|0,i,o,T,y,0,0,0,1081540608),T=e[m+88>>2],y=i=e[m+92>>2],_=(i>>>16|0)-120|0,o=e[m+84>>2],i=e[m+80>>2]),ce=T,ye=65535&y|65536,K=65535&K|65536,(0|Y)>(0|_)){for(;;){if(T=(y=p-ce|0)-(I=(0|o)==(0|f)&i>>>0>c>>>0|o>>>0>f>>>0)|0,(0|(I=(K-((p>>>0<ce>>>0)+ye|0)|0)-(I>>>0>y>>>0)|0))>0|(0|I)>=0){if(p=c,!((c=c-i|0)|T|(f=f-((i>>>0>p>>>0)+o|0)|0)|I)){FA(m+32|0,t,r,a,s,0,0,0,0),a=e[m+40>>2],s=e[m+44>>2],c=e[m+32>>2],f=e[m+36>>2];break e}I=I<<1|T>>>31,p=T<<1|f>>>31}else I=K<<1|p>>>31,p=p<<1|f>>>31;if(K=I,I=f<<1|c>>>
vendor: 27,324 bytes, line 2737
273731,c<<=1,f=I,!((0|(Y=Y-1|0))>(0|_)))break}Y=_}if(T=(y=p-ce|0)-(I=(0|o)==(0|f)&i>>>0>c>>>0|o>>>0>f>>>0)|0,y=I=(K-((p>>>0<ce>>>0)+ye|0)|0)-(I>>>0>y>>>0)|0,(0|I)<0)T=p,y=K;else if(p=c,!((c=c-i|0)|T|(f=f-((i>>>0>p>>>0)+o|0)|0)|y)){FA(m+48|0,t,r,a,s,0,0,0,0),a=e[m+56>>2],s=e[m+60>>2],c=e[m+48>>2],f=e[m+52>>2];break e}if((0|y)==65535|y>>>0<65535)for(;t=f>>>31|0,Y=Y-1|0,K=f<<1|c>>>31,c<<=1,f=K,r=t,t=y<<1|T>>>31,T=r|T<<1,y=t,t>>>0<65536;);t=32768&he,(0|Y)<=0?(FA(m- -64|0,c,f,T,65535&y|(t|Y+120)<<16,0,0,0,1065811968),a=e[m+72>>2],s=e[m+76>>2],c=e[m+64>>2],f=e[m+68>>2]):(a=T,s=65535&y|(t|Y)<<16)}}e[A>>2]=c,e[A+4>>2]=f,e[A+8>>2]=a,e[A+12>>2]=s,q=m+128|0}function ei(A,t,r){var a,s,i=0,o=0,c=0,f=0,m=0,p=0,I=0,y=0,T=0;if(q=a=q-1040|0,(0|(o=k0(A,589824,0)))>=0&&((i=D0(1,2072))?e[i+8>>2]=o:(DA(0|o),i=0)),s=i,i){e:if(i=b0(s))for(T=e[30450],y=(a+96|0)+t|0;;){if((0|(o=e[50303]))>=348){e[a+4>>2]=350,e[a>>2]=o+1,hr(T,91860,a);break e}if(l[i+19|0]!=46)if(e[a+88>>2]=i+19,e[a+84>>2]=47,e[a+80>>2]=A,QA(i=a+96|0,91924,a+80|0),(0|(i=us(i)))!=-31){if(!((0|i)<=0)&&(I=ka(a+96|0,85712))){c=0,g[a+832|0]=0,g[a+752|0]=0,e[a+360>>2]=0,e[a+356>>2]=4,m=0;A:for(;;){for(p=299-m|0;Zt(a+912|0,120,I);){i=a+912|0;r:{if(l[a+912|0]!=35){s:if(!((0|(i=RA(a+912|0)-1|0))<=0))for(;;){if(!((0|(o=g[0|(f=(a+912|0)+i|0)]))==32|o-9>>>0<5))break s;if(g[0|f]=0,!((0|(i=i-1|0))>0))break}if(!(i=jr(a+912|0)))break r}g[0|i]=0}i=a+912|0;r:if(o=l[a+912|0])for(;;){if(Rr(o<<24>>24))break r;if(!(o=l[0|(i=i+1|0)]))break}if(g[0|i]=0,l[a+912|0]){i=i+1|0;r:switch(Bs(131904,a+912|0)-1|0){case 0:for(;o=i,i=i+1|0,(0|(f=g[0|o]))==32|f-9>>>0<5;);sr(a+832|0,o,80);continue;case 1:if(g[a+672|0]=0,e[a+364>>2]=5,o=a+672|0,e[a+16>>2]=o,e[a+20>>2]=a+364,at(i,86237,a+16|0),(o=RA(o)+2|0)>>>0>=p>>>0)continue;g[0|(i=(a+368|0)+m|0)]=e[a+364>>2],JA(i+1|0,a+672|0),c=c+1|0,m=o+m|0;continue A;case 2:if(e[a+52>>2]=a+360,e[a+48>>2]=a+752,at(i,86237,a+48|0),!r)continue;e[a+32>>2]=y,hr(T,92042,a+32|0);continue;case 5:break r;default:continue}e[a+64>>2]=a+356,at(i,87268,a- -64|0)}}break}g[(a+368|0)+m|0]=0,o=Bs(132112,a+752|0),c?(f=RA(y)+m|0,p=xt((c=D0(28+(RA(a+832|0)+f|0)|0,1))+24|0,a+368|0,i=m+1|0),e[c+4>>2]=p,i=JA(i+p|0,y),e[c>>2]=i,e[c+8>>2]=i,l[a+832|0]&&(e[c>>2]=JA(2+(f+p|0)|0,a+832|0)),i=e[a+360>>2],g[c+14|0]=0,g[c+12|0]=o,g[c+13|0]=i,g[c+15|0]=e[a+356>>2],ra(I),i=e[50303],e[50303]=i+1,e[201216+(i<<2)>>2]=c):ra(I)}}else ei(a+96|0,t,r);if(!(i=b0(s)))break}z0(e[s+8>>2]),yt(s)}q=a+1040|0}function Ai(A,t){var r,a=0,s=0,i=0,o=0,c=0,f=0,m=0,p=0,I=0;q=r=q-352|0;e:if(A||(A=e[136284+(t<<4)>>2])){l[0|A]!=47&&(e[r+12>>2]=A,e[r+4>>2]=47,e[r+8>>2]=47,e[r>>2]=137584,QA(A=r+16|0,84114,r)),g[r+240|0]=0;A:{r:{if(a=ka(A,84577)){if((0|Wn(a,20))==-1)break A;if(i=Rn(a),s=Rn(a),c=Rn(a),!((0|i)!=65537|(0|s)!=e[50754])&(0|c)==s<<1)break r;ra(a),b[r+256>>1]=l[84864]|l[84865]<<8,A=l[84852]|l[84853]<<8|l[84854]<<16|l[84855]<<24,e[r+240>>2]=l[84848]|l[84849]<<8|l[84850]<<16|l[84851]<<24,e[r+244>>2]=A,A=l[84860]|l[84861]<<8|l[84862]<<16|l[84863]<<24,e[r+248>>2]=l[84856]|l[84857]<<8|l[84858]<<16|l[84859]<<24,e[r+252>>2]=A,q=i=q-16|0;s:{if((a=RA(A=r+240|0))>>>0>=6&&!va(c=(A+a|0)-6|0,84274,6)){for(m=100;;){for(f=0,q=a=q-16|0,l[227196]||(g[227197]=iA(),g[227196]=1),I=+Ke(),Ne(o=I/1e3)<9223372036854776e3?(p=Ne(o)>=1?~~(o>0?AA(tA(23283064365386963e-26*o),4294967295):BA(23283064365386963e-26*(o-+(~~o>>>0>>>0))))>>>0:0,s=~~o>>>0):(p=-2147483648,s=0),e[a>>2]=s,e[a+4>>2]=p,o=1e3*(I-(+(kt(s,p,1e3,0)>>>0)+4294967296*+(0|J)))*1e3,s=Ne(o)<2147483648?~~o:-2147483648,e[a+8>>2]=s,s=c+(a>>>4|0)^z(e[a+8>>2],65537);g[c+f|0]=65+(15&s|s<<1&32),s=s>>>5|0,(0|(f=f+1|0))!=6;);if(q=a+16|0,e[i>>2]=384,(0|(a=k0(A,194,i)))>=0)break s;if(m=m-1|0,e[56798]!=20||!m)break}xt(c,84274,6)}else e[56798]=28;a=-1}q=i+16|0,(0|a)<0||z0(a)}if(!(a=ka(A,84577))){A=ws(0,e[56798],A);break e}}if((0|(i=us(A)))<0){ra(a),A=ws(0,0-i|0,A);break e}if((0|Wn(a,0))==-1){t=e[56798],ra(a),A=ws(0,t,A);break e}if(!(s=qr(e[(c=136280+(t<<4)|0)>>2],i))){ra(a),A=48;break e}if((0|xn(s,i,a))!=(0|i)){t=e[56798],ra(a),l[r+240|0]&&Hn(r+240|0),yt(s),A=ws(0,t,A);break e}ra(a),l[r+240|0]&&Hn(r+240|0),e[136276+(t<<4)>>2]=(l[s+40|0]|l[s+41|0]<<8|l[s+42|0]<<16|l[s+43|0]<<24)/2,e[c>>2]=s,A=0;break e}t=e[56798],ra(a),A=ws(0,t,A)}else A=28;return q=r+352|0,A}function ki(A,t,r,a,s,i){var o,c=0,f=0,m=0,p=0,I=0,y=0,T=0,Y=0,K=0,_=0,ce=0,he=0,ye=0,De=0;for(g[0|r]=1,o=1&i,ye=1,K=-1,_=-1,p=1,i=t;;){De=he-2|0,ce=I,T=_;e:{A:{for(;;){if(!(y=l[0|i])){_=T,I=ce;break e}if(i=i+1|0,Y=e[144464+(y<<2)>>2]){r:{if((0|(c=l[Y+11|0]))!=1){if(16&l[Y+6|0]|(0|c)!=2)break r;g[0|(I=r+p|0)]=K,c=(0|K)<4|(0|T)>(0|K),!(2&l[Y+4|0])|!o|(0|K)>=0||(g[0|I]=1),I=c?ce:p,_=c?T:K,K=-1,p=p+1|0;break A}if(!M[Y+8>>1]){c=0,m=p;s:if((0|y)!=8)c=l[Y+14|0],e[s>>2]&&c>>>0>=4||(T=(0|c)<(0|T)?T:c,K=c);else{for(;;){if(y=c,m=m-1|0,e[s>>2]|(0|m)<=0||(0|(Y=g[0|(f=r+m|0)]))>3)break s;if(c=y+1|0,!(Y>>>0<2))break}if(g[0|f]=4,ce=(0|T)<4?m:ce,T=(0|T)<=4?4:T,m>>>0<2)break s;if(Y=3&(m=~y+he|0),c=1,De-y>>>0>=3)for(y=-4&m,m=0;l[0|(f=r+c|0)]==4&&(g[0|f]=3),l[f+1|0]==4&&(g[f+1|0]=3),l[f+2|0]==4&&(g[f+2|0]=3),l[f+3|0]==4&&(g[f+3|0]=3),c=c+4|0,(0|y)!=(0|(m=m+4|0)););if(f=0,!Y)break s;for(;l[0|(y=r+c|0)]==4&&(g[0|y]=3),c=c+1|0,(0|Y)!=(0|(f=f+1|0)););}if(ye)continue;break e}}break}}_=T,I=ce,(0|y)==20&&(g[r+p|0]=o&&(0|K)<0?1:K,p=p+1|0)}if(g[0|t]=y,he=p-1|0,t=t+1|0,ye=(0|p)<99)continue}break}g[r+p|0]=1,g[0|t]=0;e:if((0|(t=e[s>>2]))>0)_=4,(0|t)>=(0|p)&&(e[s>>2]=he,t=he),g[t+r|0]=4,I=e[s>>2];else if((0|_)==5&&(_=4,!((0|p)<2))){if(i=1,T=1&(t=p-1|0),(0|p)!=2)for(ce=-2&t,m=0;;){f=4;A:{r:{s:switch(l[0|(t=(c=i)+r|0)]-4|0){case 1:break r;case 0:break s;default:break A}f=2&l[A+14|0]?1:3,c=I}g[0|t]=f,I=c}f=4;A:{r:{s:switch(l[0|(t=(c=i+1|0)+r|0)]-4|0){case 1:break r;case 0:break s;default:break A}f=2&l[A+14|0]?1:3,c=I}g[0|t]=f,I=c}if(i=i+2|0,(0|ce)==(0|(m=m+2|0)))break}if(T){f=4;A:{r:switch(l[0|(t=r+i|0)]-4|0){case 1:break A;case 0:break r;default:break e}f=2&l[A+14|0]?1:3,i=I}g[0|t]=f,I=i}}return e[s>>2]=I,e[a>>2]=p,_}function qr(A,t){var r,a,s=0,i=0,o=0,c=0,f=0,m=0,p=0,I=0,y=0;if(!A)return It(t);if(t>>>0>=4294967232)return e[56798]=48,0;r=t>>>0<11?16:t+11&-8,o=-8&(a=e[4+(c=A-8|0)>>2]);e:if(3&a){f=o+c|0;A:if(o>>>0>=r>>>0){if((i=o-r|0)>>>0<16)break A;e[c+4>>2]=1&a|r|2,e[4+(s=c+r|0)>>2]=3|i,e[f+4>>2]=1|e[f+4>>2],zr(s,i)}else if(e[57158]!=(0|f))if(e[57157]!=(0|f)){if(2&(i=e[f+4>>2])||(p=o+(-8&i)|0)>>>0<r>>>0)break e;y=p-r|0;r:if(i>>>0<=255){if(o=e[f+8>>2],s=i>>>3|0,(0|(i=e[f+12>>2]))==(0|o)){e[57152]=e[57152]&sa(-2,s);break r}e[o+12>>2]=i,e[i+8>>2]=o}else{if(I=e[f+24>>2],(0|(m=e[f+12>>2]))==(0|f))if((s=e[(o=f+20|0)>>2])||(s=e[(o=f+16|0)>>2])){for(;i=o,m=s,(s=e[(o=s+20|0)>>2])||(o=m+16|0,s=e[m+16>>2]););e[i>>2]=0}else m=0;else s=e[f+8>>2],e[s+12>>2]=m,e[m+8>>2]=s;if(I){i=e[f+28>>2];s:{if(e[(s=228912+(i<<2)|0)>>2]==(0|f)){if(e[s>>2]=m,m)break s;e[57153]=e[57153]&sa(-2,i);break r}if(e[(e[I+16>>2]==(0|f)?16:20)+I>>2]=m,!m)break r}e[m+24>>2]=I,(s=e[f+16>>2])&&(e[m+16>>2]=s,e[s+24>>2]=m),(s=e[f+20>>2])&&(e[m+20>>2]=s,e[s+24>>2]=m)}}y>>>0<=15?(e[c+4>>2]=1&a|p|2,e[4+(s=c+p|0)>>2]=1|e[s+4>>2]):(e[c+4>>2]=1&a|r|2,e[4+(i=c+r|0)>>2]=3|y,e[4+(s=c+p|0)>>2]=1|e[s+4>>2],zr(i,y))}else{if((i=o+e[57154]|0)>>>0<r>>>0)break e;(s=i-r|0)>>>0>=16?(e[c+4>>2]=1&a|r|2,e[4+(o=c+r|0)>>2]=1|s,e[(i=i+c|0)>>2]=s,e[i+4>>2]=-2&e[i+4>>2]):(e[c+4>>2]=i|1&a|2,e[4+(s=i+c|0)>>2]=1|e[s+4>>2],s=0,o=0),e[57157]=o,e[57154]=s}else{if((o=o+e[57155]|0)>>>0<=r>>>0)break e;e[c+4>>2]=1&a|r|2,s=o-r|0,e[4+(i=c+r|0)>>2]=1|s,e[57155]=s,e[57158]=i}s=c}else{if(r>>>0<256||o>>>0>=r+4>>>0&&(s=c,o-r>>>0<=e[57272]<<1>>>0))break e;s=0}return s?s+8|0:(c=It(t))?(xt(c,A,t>>>0>(s=(3&(s=e[A-4>>2])?-4:-8)+(-8&s)|0)>>>0?s:t),yt(A),c):0}function ls(){var A,t,r=0,a=0;return A=Na(12),e[A>>2]=22050,t=Na(432),e[(a=t)+4>>2]=0,e[a+8>>2]=0,e[a>>2]=132304,e[a+32>>2]=0,e[a+12>>2]=0,e[a+16>>2]=0,e[a+20>>2]=0,e[a+24>>2]=0,VA(a+40|0,0,376),e[a+420>>2]=0,e[a+424>>2]=-1,g[a+416|0]=1,r=VA(Na(408),0,408),e[a+28>>2]=r,g[r+8|0]=1,e[A+4>>2]=a,r=Na(1096),e[r+8>>2]=22050,e[r+4>>2]=22050,e[r>>2]=132352,e[r+64>>2]=22050,e[r+56>>2]=0,e[r+60>>2]=0,e[r+32>>2]=0,e[r+36>>2]=0,e[r+24>>2]=22050,e[r+16>>2]=0,e[r+20>>2]=0,e[r+40>>2]=0,e[r+44>>2]=0,g[r+48|0]=0,e[r+128>>2]=0,e[r+132>>2]=0,b[r+96>>1]=0,e[r+72>>2]=22050,e[r+136>>2]=0,e[r+140>>2]=0,b[r+168>>1]=0,e[r+144>>2]=22050,e[r+200>>2]=0,e[r+204>>2]=0,e[r+208>>2]=0,e[r+212>>2]=0,e[r+216>>2]=22050,b[r+240>>1]=0,e[r+280>>2]=0,e[r+284>>2]=0,e[r+272>>2]=0,e[r+276>>2]=0,e[r+288>>2]=22050,b[r+312>>1]=0,e[r+344>>2]=0,e[r+348>>2]=0,e[r+352>>2]=0,e[r+356>>2]=0,e[r+360>>2]=22050,b[r+384>>1]=0,e[r+416>>2]=0,e[r+420>>2]=0,e[r+424>>2]=0,e[r+428>>2]=0,e[r+432>>2]=22050,b[r+456>>1]=0,e[r+488>>2]=0,e[r+492>>2]=0,e[r+496>>2]=0,e[r+500>>2]=0,e[r+504>>2]=22050,b[r+528>>1]=1,e[r+560>>2]=0,e[r+564>>2]=0,e[r+568>>2]=0,e[r+572>>2]=0,b[r+600>>1]=0,e[r+576>>2]=22050,e[r+640>>2]=0,e[r+644>>2]=0,e[r+632>>2]=0,e[r+636>>2]=0,b[r+680>>1]=0,e[r+656>>2]=22050,e[r+648>>2]=22050,e[r+720>>2]=0,e[r+724>>2]=0,e[r+712>>2]=0,e[r+716>>2]=0,b[r+752>>1]=0,e[r+728>>2]=22050,e[r+792>>2]=0,e[r+796>>2]=0,e[r+784>>2]=0,e[r+788>>2]=0,b[r+824>>1]=0,e[r+800>>2]=22050,e[r+864>>2]=0,e[r+868>>2]=0,e[r+856>>2]=0,e[r+860>>2]=0,e[r+872>>2]=22050,b[r+896>>1]=0,e[r+936>>2]=0,e[r+940>>2]=0,e[r+928>>2]=0,e[r+932>>2]=0,b[r+968>>1]=0,e[r+944>>2]=22050,e[r+1008>>2]=0,e[r+1012>>2]=0,e[r+1e3>>2]=0,e[r+1004>>2]=0,b[r+1040>>1]=0,e[r+1016>>2]=22050,e[r+1088>>2]=0,e[(a=r+1080|0)>>2]=0,e[a+4>>2]=0,e[(a=r+1072|0)>>2]=0,e[a+4>>2]=0,e[A+8>>2]=r,pt[e[e[r>>2]+4>>2]](r,t),A}function bs(A,t,r){var a=0,s=0,i=0,o=0,c=0,f=0,m=0,p=0,I=0,y=0,T=0;e:if(I=e[50759]){if(a=e[50980],s=z(a,80)+222176|0,(0|(f=(0|(s=(0|(s=(e[s+12>>2]+e[s>>2]|0)/(0|A)|0))<(0|(p=((0|z(e[50754],19))/40<<16)/(0|A)|0))?s:p))>=399?399:s))>=0&&(VA(t,0,4+(f<<2)|0),a=e[50980]),(0|a)>=0)for(y=e[50801];;){if(i=z(o,80)+222176|0,e[i+4>>2]&&(c=e[i>>2])){if(T=c+e[i+12>>2]|0,a=1+((c-e[i+8>>2]|0)/(0|A)|0)|0,(0|c)>(0|(a=z(s=(0|a)<=1?1:a,A))))for(;e[(m=(s<<2)+t|0)>>2]=e[m>>2]+z(e[i+4>>2],l[((c-a|0)/(e[i+8>>2]>>8)|0)+y|0]),s=s+1|0,(0|c)>(0|(a=A+a|0)););if(!((0|a)>=(0|T)))for(;e[(m=(s<<2)+t|0)>>2]=e[m>>2]+z(e[i+4>>2],l[((a-c|0)/(e[i+12>>2]>>8)|0)+y|0]),s=s+1|0,(0|T)>(0|(a=A+a|0)););}if(!((0|(o=o+1|0))<=e[50980]))break}if(s=1,!((0|(i=65536e3/(0|A)|0))<=0||(0|(a=z(e[55565],10)))<=0))for(i=(0|a)/(0|i)|0;e[(c=(s<<2)+t|0)>>2]=e[c>>2]+a,s=s+1|0,(0|(a=a-i|0))>0;);if((0|o)<=8)for(;s=203216+(a=o<<2)|0,i=z(o,80)+222176|0,c=e[i+4>>2]>>14,e[s>>2]=(0|z(z(c,c),5))/2,r?a=e[a+203264>>2]:(c=a+203264|0,a=e[i>>2]/(0|A)|0,e[c>>2]=a),(0|a)>=(0|p)&&(e[s>>2]=0),(0|(o=o+1|0))!=9;);if(s=0,(0|f)>=0)for(a=0;i=e[(o=(a<<2)+t|0)>>2]>>15,i=z(i,i)>>8,e[o>>2]=i,(0|s)<=524287999&&(e[o>>2]=z(i,l[344+((s>>19)+I|0)|0])>>13),s=A+s|0,o=(0|a)!=(0|f),a=a+1|0,o;);if(e[t+4>>2]=(0|z(e[t+4>>2],l[203300]?6:10))/8,1&r)for(A=e[50826],a=1;;){if(e[203312+(r=a<<2)>>2]=e[t+r>>2]-e[A+r>>2]>>3,(0|(r=a+1|0))==30)break e;e[203312+(r<<=2)>>2]=e[t+r>>2]-e[A+r>>2]>>3,a=a+2|0}}else f=1;return f}function ti(A,t,r,a){var s,i=0,o=0;q=s=q-176|0,g[0|A]=0,b[s+80>>1]=24320,e[s+104>>2]=0,e[s+108>>2]=0,g[82+(Nr(r,i=s+80|2)+s|0)|0]=0;e:{A:{if(!a){if(a=s+80|1,e[s+12>>2]=a,Br(t,s+12|0,s+16|0,s+104|0,0,0)||(e[s+12>>2]=i,Br(t,s+12|0,s+16|0,s+104|0,0,0)||(g[s+81|0]=32,Kt(t,i,s+16|0,60,0,0,0))),(r=l[s+16|0])&&(0|r)!=21)break A;r:{if(e[t+212>>2]!=25966){if(En(85719,188772,189296),g[s+81|0]=95,e[s+12>>2]=a,Br(e[47193],s+12|0,s+16|0,s+104|0,0,0)||(e[s+12>>2]=i,Br(e[47193],s+12|0,s+16|0,s+104|0,0,0)),l[s+16|0])break r;ma(e[e[32972]+60>>2]),r=l[s+16|0]}if(255&r)break A;t=l[87124]|l[87125]<<8|l[87126]<<16|l[87127]<<24,r=l[87120]|l[87121]<<8|l[87122]<<16|l[87123]<<24,g[0|A]=r,g[A+1|0]=r>>>8,g[A+2|0]=r>>>16,g[A+3|0]=r>>>24,g[A+4|0]=t,g[A+5|0]=t>>>8,g[A+6|0]=t>>>16,g[A+7|0]=t>>>24,g[A+16|0]=l[87136],t=l[87132]|l[87133]<<8|l[87134]<<16|l[87135]<<24,r=l[87128]|l[87129]<<8|l[87130]<<16|l[87131]<<24,g[A+8|0]=r,g[A+9|0]=r>>>8,g[A+10|0]=r>>>16,g[A+11|0]=r>>>24,g[A+12|0]=t,g[A+13|0]=t>>>8,g[A+14|0]=t>>>16,g[A+15|0]=t>>>24;break e}a=s+16|0,i=s+104|0,q=r=q-112|0,(o=e[47193])?(Ar(o,a,i,-1,0),$A(i=a,a=r+48|0),t=e[t+212>>2],g[r+43|0]=t>>>24,g[0|(o=(i=r+43|0)+(t>>>0>16777215)|0)]=t>>>16,g[0|(o=o+!!(16711680&t)|0)]=t>>>8,g[0|(o=o+!!(65280&t)|0)]=t,g[o+!!(255&t)|0]=0,e[r+16>>2]=85719,e[r+24>>2]=i,e[r+20>>2]=a,QA(A,85662,r+16|0)):(Ar(t,a,i,-1,0),$A(a,t=r+48|0),e[r>>2]=t,QA(A,85451,r)),q=r+112|0,ma(e[e[32972]+60>>2]);break e}if(e[s+12>>2]=i,Br(t,s+12|0,s+16|0,s+104|0,0,0),!l[s+16|0])break e}Ar(r=t,t=s+16|0,s+104|0,-1,0),$A(r=t,t=s+112|0),e[s>>2]=t,QA(A,85451,s)}return q=s+176|0,A}function $a(A,t){var r,a=0,s=0,i=0,o=0,c=0,f=0,m=0,p=0,I=0,y=0,T=0,Y=0,K=0,_=0,ce=0,he=0,ye=0,De=0;if(q=r=q-112|0,e[r+72>>2]=-1,e[(a=r- -64|0)>>2]=-1,e[a+4>>2]=-1,e[r+56>>2]=-1,e[r+60>>2]=-1,e[r+48>>2]=-1,e[r+52>>2]=-1,e[r+40>>2]=-1,e[r+44>>2]=-1,e[r+32>>2]=-1,e[r+36>>2]=-1,e[r+24>>2]=-1,e[r+28>>2]=-1,e[r+16>>2]=-1,e[r+20>>2]=-1,(0|t)>0){for(i=e[r+72>>2],o=e[r+68>>2],c=e[r+64>>2],f=e[r+60>>2],m=e[r+56>>2],p=e[r+52>>2],I=e[r+48>>2],y=e[r+44>>2],T=e[r+40>>2],Y=e[r+36>>2],K=e[r+32>>2],_=e[r+28>>2],ce=e[r+24>>2],he=e[r+20>>2],ye=e[r+16>>2];s=i,i=(0|(i=e[60+(a=134912+(De<<6)|0)>>2]))<0?s:i,s=o,o=(0|(o=e[a+56>>2]))<0?s:o,s=c,c=(0|(c=e[a+52>>2]))<0?s:c,s=f,f=(0|(f=e[a+48>>2]))<0?s:f,s=m,m=(0|(m=e[a+44>>2]))<0?s:m,s=p,p=(0|(p=e[a+40>>2]))<0?s:p,s=I,I=(0|(I=e[a+36>>2]))<0?s:I,s=y,y=(0|(y=e[a+32>>2]))<0?s:y,s=T,T=(0|(T=e[a+28>>2]))<0?s:T,s=Y,Y=(0|(Y=e[a+24>>2]))<0?s:Y,s=K,K=(0|(K=e[a+20>>2]))<0?s:K,s=_,_=(0|(_=e[a+16>>2]))<0?s:_,s=ce,ce=(0|(ce=e[a+12>>2]))<0?s:ce,s=he,he=(0|(he=e[a+8>>2]))<0?s:he,ye=(0|(a=e[a+4>>2]))<0?ye:a,(0|(De=De+1|0))!=(0|t););e[r+72>>2]=i,e[r+68>>2]=o,e[r+64>>2]=c,e[r+60>>2]=f,e[r+56>>2]=m,e[r+52>>2]=p,e[r+48>>2]=I,e[r+44>>2]=y,e[r+40>>2]=T,e[r+36>>2]=Y,e[r+32>>2]=K,e[r+28>>2]=_,e[r+24>>2]=ce,e[r+20>>2]=he,e[r+16>>2]=ye}for(t=0;;){if((0|(a=e[(i=t<<2)+(r+16|0)>>2]))!=e[(i=i+134848|0)>>2]){g[r+80|0]=0;e:{A:switch(t-1|0){case 4:e[47201]=a-1;break e;case 5:e[47200]=a;break e;case 0:case 1:case 2:case 3:case 11:break A;default:break e}e[r+4>>2]=a,e[r>>2]=1,e[r+8>>2]=g[t+102812|0],QA(r+80|0,91942,r)}e[i>>2]=a,a=r+80|0,JA(e[A>>2]+189424|0,a),e[A>>2]=e[A>>2]+RA(a)}if((0|(t=t+1|0))==15)break}q=r+112|0}function Es(A){var t,r,a,s=0,i=0,o=0,c=0;for(s=17,e[A+328>>2]=17,e[A+224>>2]=0,e[A+216>>2]=1105,e[A+220>>2]=1072,e[A+600>>2]=1056,e[A+8180>>2]=105296,o=VA(A+344|0,0,256),g[A+393|0]=1,g[A+365|0]=1,g[A+360|0]=1,g[A+545|0]=1,g[A+529|0]=1,g[A+391|0]=1,g[A+379|0]=1,g[A+374|0]=1,g[A+489|0]=1,g[A+487|0]=1,g[A+398|0]=1,g[A+387|0]=1,g[A+388|0]=2,g[A+389|0]=1,g[A+390|0]=1,g[A+385|0]=2,g[A+383|0]=2,g[A+368|0]=1,g[A+369|0]=2,i=104224;g[0|(s=s+o|0)]=4|l[0|s],s=o+l[i+1|0]|0,g[0|s]=4|l[0|s],s=o+l[i+2|0]|0,g[0|s]=4|l[0|s],s=l[0|(i=i+3|0)],(0|i)!=104251;);g[A+386|0]=8|l[A+386|0],g[A+382|0]=8|l[A+382|0],g[A+384|0]=8|l[A+384|0],g[A+369|0]=16|l[A+369|0],g[A+370|0]=16|l[A+370|0],g[A+371|0]=16|l[A+371|0],i=l[A+361|0],o=l[A+362|0],s=l[A+363|0],c=l[A+364|0],t=l[A+366|0],r=l[A+367|0],g[A+372|0]=16|l[A+372|0],g[A+373|0]=16|l[A+373|0],g[A+375|0]=16|l[A+375|0],g[A+376|0]=16|l[A+376|0],g[A+377|0]=16|l[A+377|0],g[A+378|0]=16|l[A+378|0],g[A+380|0]=16|l[A+380|0],g[A+381|0]=16|l[A+381|0],g[A+383|0]=16|l[A+383|0],g[A+385|0]=16|l[A+385|0],a=l[A+388|0],g[A+367|0]=48|r,g[A+366|0]=40|t,g[A+364|0]=48|c,g[A+363|0]=48|s,g[A+362|0]=48|o,g[A+361|0]=48|i,g[A+388|0]=80|a,i=l[A+390|0],o=l[A+391|0],s=l[A+393|0],g[A+360|0]=128|l[A+360|0],c=l[A+365|0],g[A+393|0]=192|s,g[A+365|0]=128|c,g[A+368|0]=128|l[A+368|0],g[A+374|0]=128|l[A+374|0],g[A+379|0]=128|l[A+379|0],g[A+387|0]=128|l[A+387|0],s=l[A+389|0],g[A+391|0]=192|o,g[A+390|0]=192|i,g[A+389|0]=128|s,g[A+529|0]=128|l[A+529|0],g[A+545|0]=128|l[A+545|0],g[A+489|0]=128|l[A+489|0],g[A+487|0]=128|l[A+487|0],g[A+398|0]=128|l[A+398|0]}function Br(A,t,r,a,s,i){var o,c=0,f=0,m=0,p=0,I=0,y=0;q=o=q-192|0,c=I=e[t>>2];e:{A:{for(;f=1,(0|(m=g[0|c]))>=0||(f=2,m>>>0<4294967264||(f=m>>>0<4294967280?3:4)),!(l[0|(m=f+c|0)]!=32|l[m+1|0]!=46);){if(p-160>>>0<4294967135)break A;xt((y=o+32|0)+p|0,c,f),g[(f=f+p|0)+y|0]=46,c=m+3|0,p=f+1|0}if(p){for(f=0;m=f,f=f+1|0,223&l[c+m|0];);if(!(1+(y=m+p|0)>>>0>160)&&(xt((f=o+32|0)+p|0,c,m),g[f+y|0]=0,qa(A,f,c,r,a,s,i))){e[a>>2]=128|e[a>>2],e[33264]=p,A=1;break e}}}for(c=0;;){if(I=(f=I)+1|0,223&(f=l[0|f]))if(!c|(0|f)!=46|g[31+(c+o|0)|0]-48>>>0>=10){if(g[(o+32|0)+c|0]=f,f=159,(0|(c=c+1|0))!=159)continue}else f=c;else f=c;break}g[(c=o+32|0)+f|0]=0,c=qa(A,c,I,r,a,s,i);A:if(8&l[a+3|0]){if(!Mr(r,m=A+268|0)){if(m=e[A+288>>2]+1|0,e[A+288>>2]=m,(0|m)<4)break A;g[0|r]=0;break A}sr(m,r,20),e[A+288>>2]=1}else e[A+288>>2]=0;A:{if(!c){if(c=0,8&l[a+5|0]&&(m=Dt(o+28|0,c=o+32|l[o+32|0]==95),rA(A,e[o+28>>2],r),c=c+m|0),!(f>>>0<2|c)){if(g[0|r]=0,!(16&s&&l[0|(c=31+(f+o|0)|0)]==101)&&(!(4096&s)||l[0|(c=(f=(o+32|0)+f|0)-1|0)]!=l[f-2|0]))break A;g[0|c]=0,c=qa(A,o+32|0,I,r,a,s,i)}if(!c)break A}if(p=e[a>>2],l[A+172|0]&&(p^=536870912,e[a>>2]=p),A=1,!(536870912&p))break e;2&s&&(b[66448]=8192,e[o+16>>2]=r,QA(132898,87470,o+16|0),A=e[t>>2],e[t>>2]=132898,8&l[188788]&&(xt(t=o+32|0,a=A,A=c-A|0),g[A+t|0]=0,e[o+4>>2]=132898,A=e[47195],e[o>>2]=t,hr(A,87652,o)))}g[0|r]=0,A=0}return q=o+192|0,A}function Ls(A,t){var r=0,a=0,s=0;r=31&A;e:{A:{r:{if((0|(A&=96))==96)A=-1;else{if((0|A)!=64)break r;A=1}if(r>>>0>=15)break e;t=e[203136+(r<<2)>>2]+z(A,t)|0;break A}if(r>>>0>=15)break e}A=e[105616+(a=r<<2)>>2],e[a+203136>>2]=(0|t)>=0?(0|A)>(0|t)?t:A:0}e:{A:{r:{s:{i:switch(r-1|0){case 5:if(!(A=e[50759]))break A;e[54728]=e[50982],t=e[50979],r=e[50978],VA(205184,0,11e3),e[51293]=0,t=(r=(s=(0|(a=e[50789]))>0)?130:(0|r)>=5499?5499:r)?s?a:(0|t)>=100?100:t:0,e[50755]=t,r=(0|z(r,e[50754]))/1e3|0,e[51292]=r,e[54729]=(0|t)>20?r<<1:t?r:0,e[33037]=(0|z(500-t|0,(0|z(l[e[50797]+105596|0],(0|z(e[50787],55))/100|0))/16|0))/500;break s;case 0:break i;case 2:case 12:break e;case 4:break r;default:break A}if(!(A=e[50759]))break A}return t=256,(0|(r=(0|(r=e[50785]))>=101?101:r))>=51&&(t=256+(((z(r,25)-1250&65535)>>>0)/50|0)|0),b[A+164>>1]=(0|z(b[A+236>>1],t))/256,b[A+166>>1]=(0|z(b[A+238>>1],t))/256,b[A+168>>1]=(0|z(b[A+240>>1],t))/256,b[A+170>>1]=(0|z(b[A+242>>1],t))/256,b[A+172>>1]=(0|z(b[A+244>>1],t))/256,b[A+174>>1]=(0|z(b[A+246>>1],t))/256,A=e[50790],b[102e3]=(0|z(b[102036],z(A,-3)+256|0))/256,void(b[101999]=(0|z(b[102035],z(A,-6)+256|0))/256)}e[50759]&&(e[54728]=e[50982],A=e[50979],t=e[50978],VA(205184,0,11e3),e[51293]=0,A=(t=(a=(0|(r=e[50789]))>0)?130:(0|t)>=5499?5499:t)?a?r:(0|A)>=100?100:A:0,e[50755]=A,t=(0|z(t,e[50754]))/1e3|0,e[51292]=t,e[54729]=(0|A)>20?t<<1:A?t:0,e[33037]=(0|z(500-A|0,(0|z(l[e[50797]+105596|0],(0|z(e[50787],55))/100|0))/16|0))/500)}return}e[33037]=(0|z(l[e[50797]+105596|0],(0|z(e[50787],55))/100|0))/16}function Ys(A,t,r){var a=0,s=0,i=0,o=0,c=0,f=0,m=0,p=0,I=0,y=0;r&&(e[r>>2]=0);e:{A:if(!((0|(a=g[0|A]))<0)){for(;;){if((0|(i=255&a))==32|i-9>>>0<5){if((0|(a=g[0|(A=A+1|0)]))>=0)continue;break A}break}if(!(255&a))break e}for(;;){if((0|(a=f=255&a))==32|a-9>>>0<5)break e;if((0|f)!=124||(0|(a=l[0|(i=A+1|0)]))==124){A:{if((0|(I=e[36115]))>=2){for(a=1,i=-1,m=0;;){r:if(!(!(p=e[144464+(a<<2)>>2])|l[p+11|0]==15)){c=e[p>>2];s:{i:{if(f>>>0>=33){if(y=0,o=0,(255&c)==(0|f)&&(o=1,(s=l[A+1|0])>>>0<33|(0|s)!=(c>>>8&255)||(o=2,(s=l[A+2|0])>>>0<33|(0|s)!=(c>>>16&255)||(o=(s=(s=l[A+3|0])>>>0>32&(0|s)==(c>>>24|0))?4:3,y=0-s|0))),(0|i)>=(0|o))break r;if(s=4,!(1&y))break i;break s}if(o=0,(0|i)>=0)break r}if(c>>>((s=o)<<3)&255)break r}m=l[p+10|0],i=s}if((0|I)==(0|(a=a+1|0)))break}if(m)break A}return r&&Dt(r,A),void(g[0|t]=0)}g[0|t]=m,A=((0|i)<=1?1:i)+A|0,t=i=t+1|0;A:if((0|m)==21){r:if((0|(s=l[0|A]))==32|s-9>>>0<5)a=i;else if(a=i,s)for(;;){if(g[0|a]=Wt(s),a=a+1|0,(0|(s=l[0|(A=A+1|0)]))==32|s-9>>>0<5)break r;if(!s)break}if(g[0|a]=0,!s){if(t=a,Mr(i,85593))break A;return void(g[0|i]=0)}g[0|a]=124,t=a+1|0}a=l[0|A]}else A=i;if(!(255&a))break}}g[0|t]=0}function xi(A,t){var r=0,a=0,s=0,i=0,o=0;e:{A:{r:{s:{i:switch((0|(r=e[A+4>>2]))==e[A+104>>2]?r=vA(A):(e[A+4>>2]=r+1,r=l[0|r]),r-43|0){case 0:case 2:break i;default:break s}if(i=(0|r)==45,o=!t,(0|(r=e[A+4>>2]))==e[A+104>>2]?r=vA(A):(e[A+4>>2]=r+1,r=l[0|r]),o|(t=r-58|0)>>>0>4294967285)break r;if(e[A+116>>2]<0)break A;e[A+4>>2]=e[A+4>>2]-1;break A}t=r-58|0}if(!(t>>>0<4294967286)){if((t=r-48|0)>>>0<10){for(;s=(0|(a=(a=z(a,10)+r|0)-48|0))<214748364,(0|(t=e[A+4>>2]))==e[A+104>>2]?r=vA(A):(e[A+4>>2]=t+1,r=l[0|t]),s&(t=r-48|0)>>>0<=9;);s=a>>31}r:if(!(t>>>0>=10))for(;;){if(t=(a=kt(a,s,10,0))+r|0,r=J,r=t>>>0<a>>>0?r+1|0:r,a=t-48|0,s=r-(t>>>0<48)|0,(0|(t=e[A+4>>2]))==e[A+104>>2]?r=vA(A):(e[A+4>>2]=t+1,r=l[0|t]),(t=r-48|0)>>>0>9)break r;if(!(a>>>0<2061584302&(0|s)<=21474836|(0|s)<21474836))break}if(t>>>0<10)for(;(0|(t=e[A+4>>2]))==e[A+104>>2]?t=vA(A):(e[A+4>>2]=t+1,t=l[0|t]),t-48>>>0<10;);(0|(t=e[A+116>>2]))>0|(0|t)>=0&&(e[A+4>>2]=e[A+4>>2]-1),A=a,a=i?0-A|0:A,s=i?0-(!!(0|A)+s|0)|0:s;break e}}if(s=-2147483648,!(e[A+116>>2]<0))return e[A+4>>2]=e[A+4>>2]-1,J=-2147483648,0}return J=s,a}function Hs(A){var t=0,r=0,a=0,s=0;if(e[36432]=110,e[36433]=100,e[36434]=450,e[36430]=5,t=e[203136+((0|A)==2?32:8)>>2],a=e[32972],(0|(r=e[a+84>>2]))>0&&(t=(0|z(t,r))/100|0),r=(0|t)>=359?359:t,r=(0|(t=(0|t)>=450?450:t))>399?6:(0|t)>379?7:l[((0|r)<=80?80:r)+101856|0],1&A&&(e[32526]=(0|z(r,e[a+72>>2]))/256,e[32527]=(0|z(r,e[a+76>>2]))/256,e[32528]=(0|z(r,e[a+80>>2]))/256,r>>>0>7||(s=r-1|0,e[32528]=s,e[32526]=r,e[32527]=s)),2&A){A=e[a+72>>2];e:{A:{r:{s:{i:{c:{o:{u:{if((0|t)>=351)a=t-350|0,e[36432]=85-(((255&a)>>>0)/3|0)&255,a=60-(a>>>3|0)|0;else{if((0|t)<251)break u;a=t-250|0,e[36432]=110-(a>>>2|0),a=110-(a>>>1|0)|0}if(e[36433]=a,A=(0|z(A,r))/256|0,e[36431]=110+((0|z(A,150))/128|0),t>>>0<=349)break o;if(r=t-350|0,e[36431]=l[r+102224|0],t>>>0<390)break i;if(e[36434]=450+((t+112<<24>>24)/-2<<24>>24),t>>>0<441)break c;e[36434]=860-t,A=12;break A}A=(0|z(A,r))/256|0,e[36431]=(0|t)>=170?110+((0|z(A,150))/128|0)|0:128+((A<<7)/130|0)|0}A=(A<<8)/115|0;break A}if(A=12,t>>>0>430)break A;if(A=13,t>>>0<=400)break s;break A}if(A=(A<<8)/115|0,e[36428]=A,t>>>0<375)break r}A=14;break A}if((0|t)<351)break e;A=l[r+102336|0]}e[36428]=A}e[36429]=(0|A)<=16?16:A}}function Ms(A,t,r){var a,s,i,o;a=.000244140625*+e[50767],D[r>>3]=a,D[r+40>>3]=.015625*+e[A+112>>2],D[r+48>>3]=.015625*+e[A+276>>2],D[r+56>>3]=.00390625*+(0|z(b[A+166>>1],b[t+4>>1]))+ +b[A+220>>1],D[r+64>>3]=.00390625*+(0|z(b[A+168>>1],b[t+6>>1]))+ +b[A+222>>1],D[r+72>>3]=.00390625*+(0|z(b[A+170>>1],b[t+8>>1]))+ +b[A+224>>1],D[r+80>>3]=.00390625*+(0|z(b[A+172>>1],b[t+10>>1]))+ +b[A+226>>1],D[r+88>>3]=.00390625*+(0|z(b[A+174>>1],b[t+12>>1]))+ +b[A+228>>1],s=b[A+230>>1],i=b[A+176>>1],o=b[t+14>>1],e[r+112>>2]=0,e[r+116>>2]=1080623104,e[r+104>>2]=0,e[r+108>>2]=1081032704,D[r+96>>3]=.00390625*+(0|z(i,o))+ +(0|s),l[t+40|0]?(e[r+184>>2]=0,e[r+188>>2]=1072693248,D[r+104>>3]=l[t+40|0]<<1):(e[r+184>>2]=0,e[r+188>>2]=0),D[r+120>>3]=.00390625*+b[A+202>>1]*+(l[t+35|0]<<1),D[r+128>>3]=.00390625*+b[A+204>>1]*+(l[t+36|0]<<1),D[r+136>>3]=.00390625*+b[A+206>>1]*+(l[t+37|0]<<1),t=l[t+38|0],A=b[A+208>>1],e[r+176>>2]=0,e[r+180>>2]=1079574528,e[r+160>>2]=0,e[r+164>>2]=1083129856,e[r+152>>2]=0,e[r+156>>2]=1083129856,e[r+352>>2]=0,e[r+356>>2]=1072693248,e[r+168>>2]=0,e[r+172>>2]=1079574528,D[r+144>>3]=.00390625*+(0|A)*+(t<<1),A=e[50779],D[r+368>>3]=a,D[r+360>>3]=+(0|A)/100*3}function Rs(A){var t=0;Te(A,Va(A));e:{A:{r:{s:{i:{c:{o:{u:{l:{n:{if((0|(A=-1048576&J))<268435455|(0|A)<=268435455){p:{C:{if((0|A)<33554431|(0|A)<=33554431){if((0|A)<8388607|(0|A)<=8388607){if(t=524328,!0&(0|A)==-2147483648)break e;if(0|(0|A)!=-2143289344)break A;return 557096}if(!0&(0|A)==8388608)break C;if(0|(0|A)!=16777216)break A;return 524358}if((0|A)>71303167)break p;if(!0&(0|A)==33554432)break r;if(0|(0|A)!=67108864)break A}return 266270}if(!0&(0|A)==71303168)break n;if(!0&(0|A)==134217728)break s;if(0|(0|A)!=138412032)break A;return 294942}if((0|A)<542113791|(0|A)<=542113791){if((0|A)<536870911|(0|A)<=536870911){if(!0&(0|A)==268435456)break i;if(0|(0|A)!=272629760)break A;return 299028}if(!0&(0|A)==536870912)break o;if(!0&(0|A)==538968064)break c;if(0|(0|A)!=541065216)break A;return 569389}if((0|A)<1075838975|(0|A)<=1075838975){if(!0&(0|A)==542113792)break n;if(0|(0|A)!=1073741824)break A;return 532520}if(!0&(0|A)==1075838976)break u;if(!0&(0|A)==1077936128)break l;if(0|(0|A)!=1078984704)break A}return 299038}return 565288}return 1581096}return 536621}return 1585197}return 266260}return 262174}return 2396190}t=16384}return t}function Gs(A,t,r,a,s,i){var o,c,f=0,m=0,p=0,I=0;if(c=8388607&A,m=e[34456],f=l[0|(A=c+m|0)]|l[A+1|0]<<8){o=!(p=l[A+2|0]),A=e[36434]<<o,(0|r)<=0?r=f:(r=(0|z(e[50754],r))/1e3<<o,A=(0|A)<(0|(I=(0|z(r,A))/(0|f)|0))?I:A),s=(0|s)>0?(0|z(r,s))/256|0:r,r=(0|z(s,e[36431]))/256|0,r=(0|A)<(0|(r=(4&a)>>>2|0&&(0|r)>(0|s)?s:r))?r:A,p||(f=f>>>1|0,r=(0|r)/2|0);e:if(!((0|i)<0)){if(a=c+4|0,256&t)A=e[50758],e[36439]=A,e[(t=216192+(A<<4)|0)>>2]=7,e[t+8>>2]=a+m,e[t+4>>2]=f<<16|r,i=p|i<<8;else{if(A=e[50758],e[36439]=A,e[(A=216192+(A<<4)|0)>>2]=6,i=p|i<<8,e[A+12>>2]=i,e[A+8>>2]=a+m,m=A,A=z(t=f>>>2|0,3),s=(0|r)>(0|f),e[m+4>>2]=s?A:r,m=e[50758]+1|0,e[50758]=(0|m)<=169?m:0,(0|A)<(0|(r=s?r-A|0:0)))for(s=t<<1,p=a+(p?t:s)|0;t=e[50758],e[36439]=t,e[(t=216192+(t<<4)|0)>>2]=6,e[t+4>>2]=s,e[t+12>>2]=i,e[t+8>>2]=p+e[34456],t=e[50758]+1|0,e[50758]=(0|t)<=169?t:0,(0|A)<(0|(r=r-s|0)););if((0|r)<=0)break e;A=e[50758],e[36439]=A,e[(t=216192+(A<<4)|0)>>2]=6,e[t+4>>2]=r,e[t+8>>2]=e[34456]+(a+(f-r<<o)|0)}e[12+(216192+(A<<4)|0)>>2]=i,A=e[50758]+1|0,e[50758]=(0|A)<=169?A:0}}}function xt(A,t,r){var a,s=0,i=0;if(r>>>0>=512)return cA(0|A,0|t,0|r),A;a=A+r|0;e:if(3&(A^t))if(a>>>0<4)r=A;else if((s=a-4|0)>>>0<A>>>0)r=A;else for(r=A;g[0|r]=l[0|t],g[r+1|0]=l[t+1|0],g[r+2|0]=l[t+2|0],g[r+3|0]=l[t+3|0],t=t+4|0,s>>>0>=(r=r+4|0)>>>0;);else{A:if(3&A)if(r)for(r=A;;){if(g[0|r]=l[0|t],t=t+1|0,!(3&(r=r+1|0)))break A;if(!(r>>>0<a>>>0))break}else r=A;else r=A;if(!((s=-4&a)>>>0<64||(i=s+-64|0)>>>0<r>>>0))for(;e[r>>2]=e[t>>2],e[r+4>>2]=e[t+4>>2],e[r+8>>2]=e[t+8>>2],e[r+12>>2]=e[t+12>>2],e[r+16>>2]=e[t+16>>2],e[r+20>>2]=e[t+20>>2],e[r+24>>2]=e[t+24>>2],e[r+28>>2]=e[t+28>>2],e[r+32>>2]=e[t+32>>2],e[r+36>>2]=e[t+36>>2],e[r+40>>2]=e[t+40>>2],e[r+44>>2]=e[t+44>>2],e[r+48>>2]=e[t+48>>2],e[r+52>>2]=e[t+52>>2],e[r+56>>2]=e[t+56>>2],e[r+60>>2]=e[t+60>>2],t=t- -64|0,i>>>0>=(r=r- -64|0)>>>0;);if(r>>>0>=s>>>0)break e;for(;e[r>>2]=e[t>>2],t=t+4|0,s>>>0>(r=r+4|0)>>>0;);}if(r>>>0<a>>>0)for(;g[0|r]=l[0|t],t=t+1|0,(0|a)!=(0|(r=r+1|0)););return A}function Ft(A){var t=0,r=0,a=0,s=0,i=0,o=0,c=0,f=0;me(+A),t=0|Z(1),Z(0);e:{if((a=(t=t>>>20&2047)-969|0)>>>0<63)f=t;else{if((0|a)<0)return A+1;if(!(t>>>0<1033)){if(me(+A),a=0|Z(1),r=0,!(0|Z(0))&(0|a)==-1048576)break e;return t>>>0>=2047?A+1:(0|a)<0?(D[8+(t=q-16|0)>>3]=12882297539194267e-247,12882297539194267e-247*D[t+8>>3]):(D[8+(t=q-16|0)>>3]=3105036184601418e216,3105036184601418e216*D[t+8>>3])}}if(r=D[14409],i=(r=(A=(r=(s=D[14408]*A+r)-r)*D[14411]+(r*D[14410]+A))*A)*r*(A*D[14415]+D[14414]),r*=A*D[14413]+D[14412],me(+s),Z(1),c=0|Z(0),A=i+(r+(D[115376+(a=c<<4&2032)>>3]+A)),o=e[(a=a+115384|0)>>2],t=(c<<13)+(t=e[a+4>>2])|0,t=(a=(a=o)+(o=0)|0)>>>0<o>>>0?t+1|0:t,!f)return-2147483648&c?(W(0,0|a),W(1,t+1071644672|0),(A=(s=(r=+te())*A)+r)<1&&(e[8+(t=q-16|0)>>2]=0,e[t+12>>2]=1048576,D[t+8>>3]=22250738585072014e-324*D[t+8>>3],A=(A=(i=A+1)+(s+(r-A)+(A+(1-i)))+-1)==0?0:A),A*=22250738585072014e-324):(W(0,0|a),W(1,t-1058013184|0),A=5486124068793689e288*((r=+te())*A+r)),A;W(0,0|a),W(1,0|t),r=(r=+te())*A+r}return r}function ka(A,t){var r,a=0,s=0,i=0,o=0;q=r=q-16|0;
2737e:{if(ts(84270,g[0|t])){if(s=2,ts(t,43)||(s=l[0|t]!=114),s=ts(t,120)?128|s:s,i=s=ts(t,101)?524288|s:s,o=64|s,i=(0|(s=l[0|t]))==114?i:o,i=(0|s)==119?512|i:i,e[r>>2]=438,e[r+4>>2]=0,(A=0|ze(-100,0|A,32768|((0|s)==97?1024|i:i),0|r))>>>0>=4294963201&&(e[56798]=0-A,A=-1),(0|A)<0)break e;q=s=q-32|0;A:{r:{if(ts(84270,g[0|t])){if(a=It(1176))break r}else e[56798]=28;t=0;break A}VA(a,0,144),ts(t,43)||(e[a>>2]=l[0|t]==114?8:4),l[0|t]==97?(1024&(t=0|ke(0|A,3,0))||(t|=1024,e[s+16>>2]=t,e[s+20>>2]=t>>31,ke(0|A,4,s+16|0)),t=128|e[a>>2],e[a>>2]=t):t=e[a>>2],e[a+80>>2]=-1,e[a+48>>2]=1024,e[a+60>>2]=A,e[a+44>>2]=a+152,8&t||(e[s>>2]=s+24,e[s+4>>2]=0,0|xA(0|A,21523,0|s)||(e[a+80>>2]=10)),e[a+40>>2]=10,e[a+36>>2]=11,e[a+32>>2]=12,e[a+12>>2]=13,l[227205]||(e[a+76>>2]=-1),e[a+56>>2]=e[56816],(t=e[56816])&&(e[t+52>>2]=a),e[56816]=a,t=a}if(q=s+32|0,a=t)break e;DA(0|A)}else e[56798]=28;a=0}return q=r+16|0,a}function ri(A,t,r){var a,s=0,i=0,o=0,c=0,f=0;if(o=A,q=a=q-208|0,e[a+8>>2]=1,e[a+12>>2]=0,c=t<<2){for(e[a+16>>2]=4,e[a+20>>2]=4,t=4,s=4,i=2;A=t,t=(s+4|0)+t|0,e[(a+16|0)+(i<<2)>>2]=t,i=i+1|0,s=A,t>>>0<c>>>0;);if((A=(o+c|0)-4|0)>>>0<=o>>>0)i=0,t=1,A=0;else{for(i=1,t=1;3&~i?(ue[(a+16|0)+((s=t-1|0)<<2)>>2]>=A-o>>>0?Fr(o,r,a+8|0,t,0,a+16|0):yn(o,r,t,a+16|0),(0|t)!=1?(Ji(a+8|0,s),t=1):(Ji(a+8|0,1),t=0)):(yn(o,r,t,a+16|0),Gi(a+8|0,2),t=t+2|0),i=1|(s=e[a+8>>2]),e[a+8>>2]=i,A>>>0>(o=o+4|0)>>>0;);i=s>>>0>1,A=e[a+12>>2]!=0}if(Fr(o,r,a+8|0,t,0,a+16|0),i|(0|t)!=1|A)for(;(0|t)<=1?(Gi(s=a+8|0,A=Sn(s)),i=e[a+8>>2],A=A+t|0):(Ji(s=a+8|0,2),e[a+8>>2]=7^e[a+8>>2],Gi(s,1),Fr((f=o-4|0)-e[(c=a+16|0)+((A=t-2|0)<<2)>>2]|0,r,s,t-1|0,1,c),Ji(s,1),i=1|e[a+8>>2],e[a+8>>2]=i,Fr(f,r,s,A,1,c)),t=A,o=o-4|0,e[a+12>>2]|(0|t)!=1|(0|i)!=1;);}q=a+208|0}function Ds(A,t,r,a){var s,i=0,o=0,c=0;q=s=q-32|0,c=i=2147483647&a,o=i-1006698496|0;e:if(0|(i=i-1140785152|0)>>>0>o>>>0){if(i=r<<4|t>>>28,r=a<<4|r>>>28,(0|(t&=268435455))==134217728&!!(0|A)|t>>>0>134217728){o=r+1073741824|0,o=(i=i+1|0)?o:o+1|0;break e}if(o=r+1073741824|0,A|(0|t)!=134217728)break e;o=(A=1&i)>>>0>(i=A+i|0)>>>0?o+1|0:o}else(!r&(0|c)==2147418112?!(A|t):c>>>0<2147418112)?(i=0,o=2146435072,c>>>0>1140785151||(o=0,(c=c>>>16|0)>>>0<15249||(Aa(s+16|0,A,t,r,i=65535&a|65536,c-15233|0),Ya(s,A,t,r,i,15361-c|0),i=(t=e[s+8>>2])<<4,t=e[s+12>>2]<<4|t>>>28,r=e[s>>2],c=o=e[s+4>>2],i|=o>>>28,o=t,(0|(A=268435455&c))==134217728&!!(0|(t=r|!!(e[s+16>>2]|e[s+24>>2]|e[s+20>>2]|e[s+28>>2])))|A>>>0>134217728?o=(i=i+1|0)?o:o+1|0:t|(0|A)!=134217728||(o=(A=i)>>>0>(i=i+(1&i)|0)>>>0?o+1|0:o)))):(i=r<<4|t>>>28,o=524287&(A=a<<4|r>>>28)|2146959360);return q=s+32|0,W(0,0|i),W(1,-2147483648&a|o),+te()}function Ws(A){var t,r=0,a=0,s=0,i=0,o=0;if(me(+A),o=0|Z(1),s=0|Z(0),(0|(i=o>>>20&2047))==2047)return(A*=1)/A;if(!(a=s<<1)&(0|(r=o<<1|s>>>31))==2145386496|r>>>0<2145386496)return!a&(0|r)==2145386496?0*A:A;if(i)r=1048575&o|1048576;else{if(i=0,a=s<<12,(0|(r=o<<12|s>>>20))>0|(0|r)>=0)for(;i=i-1|0,r=r<<1|a>>>31,a<<=1,(0|r)>0|(0|r)>=0;);a=31&(r=1-i|0),(63&r)>>>0>=32?(r=s<<a,s=0):(r=(1<<a)-1&s>>>32-a|o<<a,s<<=a)}if(a=s,(0|i)>1023){for(;;){if(!((0|(s=r+-1048576|0))<0||(r=s)|a))return 0*A;if(r=r<<1|a>>>31,a<<=1,!((0|(i=i-1|0))>1023))break}i=1023}if(!((0|(s=r+-1048576|0))<0||(r=s)|a))return 0*A;if((0|r)==1048575|r>>>0<1048575)for(;i=i-1|0,s=r>>>0<524288,r=r<<1|a>>>31,a<<=1,s;);return t=-2147483648&o,(0|i)>0?r=r+-1048576|i<<20:(s=1-i|0,o=r,i=a,a=31&s,(63&s)>>>0>=32?(r=0,a=o>>>a|0):(r=o>>>a|0,a=((1<<a)-1&o)<<32-a|i>>>a)),W(0,0|a),W(1,r|t),+te()}function cs(A,t,r,a,s){var i,o=0,c=0;q=i=q-160|0;e:{A:{r:{s:switch((o=l[t+10|0])-15|0){case 6:break r;case 0:break s;default:break A}g[0|A]=0;break e}e[i>>2]=z(l[r+7|0],44)+137856,QA(A,86002,i),A=RA(A)+A|0;break e}if(a){if(g[i+140|0]=0,r?$t(0,0,r,i+8|0,0):ji(o,i+8|0),r=i+140|0,o=l[i+140|0]){if((0|o)==32){g[0|A]=0;break e}224&(o=o<<24>>
vendor: 29,407 bytes, line 2737
273724)||(s&&(e[s>>2]=o),r=i+141|0)}if(!((0|(s=RA(r)))<=0)){A=JA(A,r)+s|0,g[0|A]=0;break e}}s=0;A:if(!(!(r=255&(o=e[t>>2]))|(0|r)==47)){if(a){if((0|(c=255&o))==95)break A;r:{s:{if((0|c)==35){if(c=3,l[t+11|0]!=2)break s;break A}if((c=r-32|0)>>>0>95)break r}r=M[93952+(c<<1)>>1]}s=Nr(r,A)}else g[0|A]=o,s=1;for(;;){if(!(r=255&(o>>=8))|(0|r)==47)break A;if(a){if((0|r)==35&l[t+11|0]==2)break A;if(r-48>>>0<10)continue;(c=r-32|0)>>>0<=95&&(r=M[93952+(c<<1)>>1]),s=Nr(r,A+s|0)+s|0}else g[A+s|0]=o,s=s+1|0}}g[0|(A=A+s|0)]=0}return q=i+160|0,A}function Qs(A){var t,r=0;t=A,r=131280;e:{A:{if(!((0|A)<=1023||(r=131300,A>>>0<1328||(r=131320,A>>>0<1424||(r=131340,A>>>0<1536||(r=131360,A>>>0<1792||(r=131380,A>>>0<1872||(r=131400,A>>>0<2432||(r=131420,A>>>0<2560||(r=131440,A>>>0<2688||(r=131460,A>>>0<2816||(r=131480,A>>>0<2944||(r=131500,A>>>0<3072||(r=131520,A>>>0<3200||(r=131540,A>>>0<3328||(r=131560,A>>>0<3456||(r=131580,A>>>0<3584||(r=131600,A>>>0<3712||(r=131620,A>>>0<3840||(r=131640,A>>>0<4096||(r=131660,A>>>0<4256||(r=131680,A>>>0<4352||(r=131700,A>>>0<4608||(r=131720,A>>>0<5024||(r=131740,A>>>0<10496||(r=131760,A>>>0<12544||(r=131780,A>>>0<40960))))))))))))))))))))))))))){if(A>>>0>=55296)break A;r=131800}if((0|t)>=M[(A=r)+8>>1])break e}A=0}return A}function rA(A,t,r){var a,s=0,i=0,o=0,c=0;q=a=q-208|0,g[a+80|0]=0;e:{if((s=t-224|0)>>>0<=158)t=101072+(s<<1)|0;else{if((t=t-592|0)>>>0>88)break e;t=101392+(t<<1)|0}if(t=M[t>>1]){if(o=t<<16>>16,c=(s=63&t)>>>0>37?s+59|0:b[101584+(s<<1)>>1],s=t>>>6|0,(0|o)<0)s=59+(63&s)|0,t=t>>>12&7;else{if(!(i=31&s))break e;s=0,t=t>>>11&15}(i=UA(A,e[129920+(i<<3)>>2],a+112|0))&&y0(A,c,a+176|0)&&(t&&4096&UA(A,e[129920+(t<<3)>>2],a+80|0)&&(r=RA(t=JA(r,a+80|0)),g[a+80|0]=0,r=t+r|0),s?(y0(t=A,s,A=a+144|0),e[a+68>>2]=a+80,e[a- -64>>2]=A,e[a+60>>2]=6,e[a+52>>2]=23,e[a+56>>2]=a+176,e[a+48>>2]=a+112,QA(r,84101,a+48|0)):(0|o)<0?JA(r,a+176|0):1&e[A+144>>2]|4096&i?(e[a+36>>2]=23,e[a+40>>2]=6,e[a+44>>2]=a+176,e[a+32>>2]=a+112,QA(r,84430,a+32|0)):(e[a+16>>2]=23,e[a+8>>2]=23,e[a>>2]=4,e[a+12>>2]=a+112,e[a+4>>2]=a+176,QA(r,84802,a)))}}q=a+208|0}function re(){Xi(),e[55928]=0,e[55926]=0,e[55927]=0,e[55924]=0,e[56244]=0,e[56245]=0,e[56246]=0,e[56247]=0,e[56260]=0,e[56261]=0,e[56262]=0,e[56263]=0,e[56276]=0,e[56277]=0,e[56278]=0,e[56279]=0,e[55974]=0,e[55975]=0,e[55972]=0,e[55973]=0,e[55988]=0,e[55989]=0,e[55990]=0,e[55991]=0,e[56004]=0,e[56005]=0,e[56006]=0,e[56007]=0,e[56020]=0,e[56021]=0,e[56022]=0,e[56023]=0,e[56036]=0,e[56037]=0,e[56038]=0,e[56039]=0,e[56052]=0,e[56053]=0,e[56054]=0,e[56055]=0,e[56068]=0,e[56069]=0,e[56070]=0,e[56071]=0,e[56086]=0,e[56087]=0,e[56084]=0,e[56085]=0,e[56102]=0,e[56103]=0,e[56100]=0,e[56101]=0,e[56118]=0,e[56119]=0,e[56116]=0,e[56117]=0,e[56134]=0,e[56135]=0,e[56132]=0,e[56133]=0,e[56150]=0,e[56151]=0,e[56148]=0,e[56149]=0,e[56166]=0,e[56167]=0,e[56164]=0,e[56165]=0,e[56182]=0,e[56183]=0,e[56180]=0,e[56181]=0,e[56198]=0,e[56199]=0,e[56196]=0,e[56197]=0,e[56214]=0,e[56215]=0,e[56212]=0,e[56213]=0,e[56230]=0,e[56231]=0,e[56228]=0,e[56229]=0}function xe(A,t){var r=0,a=0,s=0,i=0,o=0,c=0,f=0,m=0,p=0,I=0;e:{if((0|(i=e[A+4>>2]))==e[A>>2])if((o=e[A+8>>2])>>>0<(r=e[A+12>>2])>>>0)r=(s=(1+(r-o>>2)|0)/2<<2)+o|0,(0|i)!=(0|o)&&(Bt(r=r-(a=o-i|0)|0,i,a),i=e[A+8>>2]),e[A+4>>2]=r,e[A+8>>2]=s+i;else{if((a=(0|r)==(0|i)?1:r-i>>1)>>>0>=1073741824)break e;if(p=(f=Na(r=a<<2))+r|0,c=r=(a+3&-4)+f|0,(0|i)!=(0|o)){if(I=-4&(o=o-i|0),s=r,a=i,o=1+((m=o-4|0)>>>2|0)&7)for(c=0;e[s>>2]=e[a>>2],a=a+4|0,s=s+4|0,(0|o)!=(0|(c=c+1|0)););if(c=r+I|0,!(m>>>0<28))for(;e[s>>2]=e[a>>2],e[s+4>>2]=e[a+4>>2],e[s+8>>2]=e[a+8>>2],e[s+12>>2]=e[a+12>>2],e[s+16>>2]=e[a+16>>2],e[s+20>>2]=e[a+20>>2],e[s+24>>2]=e[a+24>>2],e[s+28>>2]=e[a+28>>2],a=a+32|0,(0|c)!=(0|(s=s+32|0)););}e[A+12>>2]=p,e[A+8>>2]=c,e[A+4>>2]=r,e[A>>2]=f,i&&(yt(i),r=e[A+4>>2])}else r=i;return e[r-4>>2]=e[t>>2],void(e[A+4>>2]=e[A+4>>2]-4)}_i(),Be()}function Se(A,t,r){var a=0,s=0,i=0,o=0,c=0,f=0,m=0,p=0,I=0;e:{A:{r:{s:{i:{c:{o:{u:{l:{if(t){if(!r)break l;break u}return HA=(t=A)-z(A=(A>>>0)/(r>>>0)|0,r)|0,ge=0,J=0,A}if(!A)break o;break c}if(!((a=r-1|0)&r))break i;i=0-(o=(Oe(r)+33|0)-Oe(t)|0)|0;break r}return HA=0,ge=t-z(A=(t>>>0)/0|0,0)|0,J=0,A}if((a=32-Oe(t)|0)>>>0<31)break s;break A}if(HA=A&a,ge=0,(0|r)==1)break e;return r=31&(a=Ti(r)),(63&a)>>>0>=32?A=t>>>r|0:(s=t>>>r|0,A=((1<<r)-1&t)<<32-r|A>>>r),J=s,A}o=a+1|0,i=63-a|0}if(a=31&(s=63&o),s>>>0>=32?(s=0,c=t>>>a|0):(s=t>>>a|0,c=((1<<a)-1&t)<<32-a|A>>>a),a=31&(i&=63),i>>>0>=32?(t=A<<a,A=0):(t=(1<<a)-1&A>>>32-a|t<<a,A<<=a),o)for(p=(0|(a=r-1|0))==-1?-1:0;f=s<<1|c>>>31,c=(s=c<<1|t>>>31)-(m=r&(i=p-(f+(s>>>0>a>>>0)|0)>>31))|0,s=f-(s>>>0<m>>>0)|0,t=t<<1|A>>>31,A=I|A<<1,I=f=1&i,o=o-1|0;);return HA=c,ge=s,J=t<<1|A>>>31,f|A<<1}HA=A,ge=t,A=0,t=0}return J=t,A}function je(A,t){var r=0,a=0,s=0,i=0,o=0,c=0,f=0,m=0,p=0,I=0;e:{if((0|(r=e[A+8>>2]))==e[A+12>>2])if((a=e[A+4>>2])>>>0>(o=e[A>>2])>>>0)s=Bt((i=(1+(a-o>>2)|0)/-2<<2)+a|0,a,r=r-a|0)+r|0,e[A+8>>2]=s,e[A+4>>2]=i+e[A+4>>2];else{if((i=(0|r)==(0|o)?1:r-o>>1)>>>0>=1073741824)break e;if(p=(c=Na(s=i<<2))+s|0,s=i=(-4&i)+c|0,(0|r)!=(0|a)){if(I=-4&(r=r-a|0),m=1+((f=r-4|0)>>>2|0)&7)for(s=0,r=i;e[r>>2]=e[a>>2],a=a+4|0,r=r+4|0,(0|m)!=(0|(s=s+1|0)););else r=i;if(s=i+I|0,!(f>>>0<28))for(;e[r>>2]=e[a>>2],e[r+4>>2]=e[a+4>>2],e[r+8>>2]=e[a+8>>2],e[r+12>>2]=e[a+12>>2],e[r+16>>2]=e[a+16>>2],e[r+20>>2]=e[a+20>>2],e[r+24>>2]=e[a+24>>2],e[r+28>>2]=e[a+28>>2],a=a+32|0,(0|s)!=(0|(r=r+32|0)););}e[A+12>>2]=p,e[A+8>>2]=s,e[A+4>>2]=i,e[A>>2]=c,o&&(yt(o),s=e[A+8>>2])}else s=r;return e[s>>2]=e[t>>2],void(e[A+8>>2]=e[A+8>>2]+4)}_i(),Be()}function Ze(A,t){var r,a=0,s=0,i=0,o=0,c=0;s=189088,q=r=q-320|0,e[r+312>>2]=0,i=ki(A,o=JA(r+112|0,189088),r,r+316|0,r+312|0,0),a=e[r+316>>2];e:if((0|t)<=3){if((0|a)<2)break e;if(i=3&(t=a-1|0),A=1,a-2>>>0>=3)for(c=-4&t,t=0;g[0|(a=A+r|0)]>=4&&(g[0|a]=3),g[1+(a=A+r|0)|0]>=4&&(g[a+1|0]=3),g[a+2|0]>=4&&(g[a+2|0]=3),g[a+3|0]>=4&&(g[a+3|0]=3),A=A+4|0,(0|c)!=(0|(t=t+4|0)););if(!i)break e;for(t=0;g[0|(a=A+r|0)]>=4&&(g[0|a]=3),A=A+1|0,(0|i)!=(0|(t=t+1|0)););}else if(A=1,!((0|a)<=1)){for(;;){if((0|i)>g[0|(c=A+r|0)]){if((0|a)!=(0|(A=A+1|0)))continue;break e}break}g[0|c]=t}if(A=l[0|o])for(t=1;a=e[144464+((255&A)<<2)>>2],l[a+11|0]!=2|16&l[a+6|0]||(i=255&(a=g[t+r|0]),(0|a)<2&&i||(g[0|s]=l[i+94151|0],s=s+1|0,A=l[0|o]),t=t+1|0),g[0|s]=A,s=s+1|0,A=l[0|(o=o+1|0)];);g[0|s]=0,q=r+320|0}function uA(A){var t=0,r=0,a=0,s=0,i=0,o=0;r=t=e[(A|=0)>>2],e[A>>2]=t+1;e:{A:{r:{s:{i:{c:{o:switch(((i=l[0|t])>>>4|0)-8|0){case 0:case 1:case 2:case 3:break A;case 7:break i;case 6:break c;case 4:case 5:break o;default:break e}if((a=t+2|0)>>>0>=(s=e[A+4>>2])>>>0)break s;if(e[A>>2]=a,(192&(r=l[r+1|0]))!=128)break r;return 63&r|i<<6&1984}if((a=t+3|0)>>>0>=(s=e[A+4>>2])>>>0)break s;if(r=t+2|0,e[A>>2]=r,(192&(t=l[t+1|0]))!=128){a=r;break r}if(e[A>>2]=a,(192&(r=l[0|r]))!=128)break r;return 63&r|(63&t|i<<6&960)<<6}if(!((s=e[A+4>>2])>>>0<=(r=t+4|0)>>>0)){if(a=t+2|0,e[A>>2]=a,(192&(s=l[t+1|0]))!=128||(a=t+3|0,e[A>>2]=a,(192&(o=l[t+2|0]))!=128)||(e[A>>2]=r,t=l[0|a],a=r,(192&t)!=128))break r;return 0|((A=63&t|o<<6&4032|(63&s|i<<6&960)<<12)>>>0>=1114112?65533:A)}}e[A>>2]=s;break A}e[A>>2]=a-1}i=65533}return 0|i}function PA(A,t,r,a){var s,i,o=0,c=0,f=0,m=0,p=0,I=0;if(q=s=q-432|0,!(!a|!(536870912&(i=TA(A,t,r,a))))&&(b[s+48>>1]=8192,a=JA(s+48|2,a),l[0|a])){for(f=s+224|0,o=1,m=200;;){if(Dt(s+44|0,a),t=ks(e[s+44>>2]),c=e[r>>2],t?(e[r>>2]=2|c,Nr(Wt(e[s+44>>2]),a)):e[r>>2]=-3&c,I=e[33264],TA(A,a,r,0),1&o?(e[s+16>>2]=189088,c=gs(f,m,84130,s+16|0)):(e[s+32>>2]=15,e[s+36>>2]=189088,c=gs(f,m,84434,s+32|0)),o=(t=e[33264])+1|0,e[33264]=o,t>>>0<=2147483646){for(;;)if(t=a,a=a+1|0,(0|(p=g[0|t]))==32|p-9>>>0<5){for(;t=(a=t)+1|0,(0|(p=g[0|a]))==32|p-9>>>0<5;);if(o=o-1|0,e[33264]=o,!((0|o)>0))break}}if(f=f+c|0,e[33264]=I,!(l[0|a]&&(o=0,(0|(m=m-c|0))>1)))break}(s+224|0)!=(0|f)&&(e[s>>2]=s+224,gs(189088,200,84130,s))}return q=s+432|0,i}function Le(A,t,r,a,s,i,o,c){var f,m;f=e[32972],m=e[f+116>>2],b[A+8>>1]=M[A+8>>1]+i,i=32&c?0-i|0:i,b[A+10>>1]=i+M[A+10>>1],b[A+12>>1]=i+M[A+12>>1],a=(0|a)>(0|(i=((i=(0|z(t,m))/256|0)-(t=b[A+6>>1])|0)/2|0))?i:a,b[A+6>>1]=((0|r)<(0|a)?a:r)+t;e:{A:switch(s-1|0){case 0:t=(0|(t=235-(r=b[A+4>>1])|0))<=-100?-100:t,b[A+4>>1]=((0|t)>=-60?-60:t)+r;break e;case 1:t=(0|(t=(0|(t=235-(r=b[A+4>>1])|0))<=-300?-300:t))>=-150?-150:t,b[A+4>>1]=t+r,b[A+2>>1]=t+M[A+2>>1];break e;case 2:break A;default:break e}t=(0|(t=(0|(t=100-(r=b[A+4>>1])|0))<=-400?-400:t))>-300?-400:t,b[A+4>>1]=t+r,b[A+2>>1]=t+M[A+2>>1]}e[f+132>>2]||(g[A+20|0]=(z(l[A+20|0],o)>>>0)/100,g[A+21|0]=(z(l[A+21|0],o)>>>0)/100,g[A+22|0]=(z(l[A+22|0],o)>>>0)/100,g[A+23|0]=(z(l[A+23|0],o)>>>0)/100,g[A+24|0]=(z(l[A+24|0],o)>>>0)/100,g[A+25|0]=(z(l[A+25|0],o)>>>0)/100)}function YA(A){var t,r=0,a=0,s=0,i=0;q=t=q-48|0;e:{if(A){l[0|A]||(A=ii(84285),l[0|A]&&A||(A=ii(121696),l[0|A]&&A||(A=ii(84614),l[0|A]&&A||(A=84891))));A:{for(;;){if(!(!(a=l[A+r|0])|(0|a)==47)){if(s=23,(0|(r=r+1|0))!=23)continue;break A}break}s=r}a=84891;A:{r:{if(r=l[0|A],(l[A+s|0]|(0|r)==46||(a=A,(0|r)==67))&&!l[a+1|0]||!Mr(a,84891)||!Mr(a,85136)){if(r=121652,l[a+1|0]==46)break r;A=0;break A}if(r=e[56851])for(;;){if(!Mr(a,r+8|0))break r;if(!(r=e[r+32>>2]))break}(A=It(36))&&(r=e[30414],e[A>>2]=e[30413],e[A+4>>2]=r,xt(r=A+8|0,a,s),g[r+s|0]=0,e[A+32>>2]=e[56851],e[56851]=A),r=A||121652}A=r}if((0|A)==-1)break e;e[56809]=A}else A=e[56809];i=A?A+8|0:84309}return q=t+48|0,i}function vA(A){var t=0,r=0,a=0,s=0,i=0,o=0,c=0,f=0,m=0;f=!!((t=e[A+112>>2])|(a=e[A+116>>2])),s=t,o=t=(i=e[A+4>>2])-(c=e[A+44>>2])|0,r=t+e[A+120>>2]|0,t=e[A+124>>2]+(t>>31)|0;e:{if(!(((0|(t=r>>>0<o>>>0?t+1|0:t))>=(0|a)&r>>>0>=s>>>0|(0|t)>(0|a))&f)){if((0|(f=qi(A)))>=0)break e;i=e[A+4>>2],c=e[A+44>>2]}return e[A+112>>2]=-1,e[A+116>>2]=-1,e[A+104>>2]=i,a=(o=r)+(r=c-i|0)|0,t=(r>>31)+t|0,e[A+120>>2]=a,e[A+124>>2]=r>>>0>a>>>0?t+1|0:t,-1}return t=(a=r+1|0)?t:t+1|0,i=e[A+4>>2],c=e[A+8>>2],o=s=e[A+116>>2],s|(r=e[A+112>>2])&&(s=r-a|0,(0|(r=o-(t+(r>>>0<a>>>0)|0)|0))>=(0|(o=(m=c-i|0)>>31))&s>>>0>=m>>>0|(0|r)>(0|o)||(c=s+i|0)),e[A+104>>2]=c,a=(s=(r=e[A+44>>2])-i|0)+a|0,t=(s>>31)+t|0,e[A+120>>2]=a,e[A+124>>2]=a>>>0<s>>>0?t+1|0:t,r>>>0>=i>>>0&&(g[i-1|0]=f),f}function Bt(A,t,r){var a=0,s=0;e:if((0|A)!=(0|t)){if(t-(s=A+r|0)>>>0<=0-(r<<1)>>>0)return xt(A,t,r);if(a=3&(A^t),A>>>0<t>>>0){if(a)a=A;else{if(3&A)for(a=A;;){if(!r)break e;if(g[0|a]=l[0|t],t=t+1|0,r=r-1|0,!(3&(a=a+1|0)))break}else a=A;if(!(r>>>0<=3))for(;e[a>>2]=e[t>>2],t=t+4|0,a=a+4|0,(r=r-4|0)>>>0>3;);}if(r)for(;g[0|a]=l[0|t],a=a+1|0,t=t+1|0,r=r-1|0;);}else{if(!a){if(3&s)for(;;){if(!r)break e;if(g[0|(a=(r=r-1|0)+A|0)]=l[t+r|0],!(3&a))break}if(!(r>>>0<=3))for(;e[(r=r-4|0)+A>>2]=e[t+r>>2],r>>>0>3;);}if(!r)break e;for(;g[(r=r-1|0)+A|0]=l[t+r|0],r;);}}return A}function fr(A,t,r,a){switch(t-9|0){case 0:return t=e[r>>2],e[r>>2]=t+4,void(e[A>>2]=e[t>>2]);case 6:return t=e[r>>2],e[r>>2]=t+4,t=b[t>>1],e[A>>2]=t,void(e[A+4>>2]=t>>31);case 7:return t=e[r>>2],e[r>>2]=t+4,e[A>>2]=M[t>>1],void(e[A+4>>2]=0);case 8:return t=e[r>>2],e[r>>2]=t+4,t=g[0|t],e[A>>2]=t,void(e[A+4>>2]=t>>31);case 9:return t=e[r>>2],e[r>>2]=t+4,e[A>>2]=l[0|t],void(e[A+4>>2]=0);case 16:return t=e[r>>2]+7&-8,e[r>>2]=t+8,void(D[A>>3]=D[t>>3]);case 17:pt[0|a](A,r);default:return;case 1:case 4:case 14:return t=e[r>>2],e[r>>2]=t+4,t=e[t>>2],e[A>>2]=t,void(e[A+4>>2]=t>>31);case 2:case 5:case 11:case 15:return t=e[r>>2],e[r>>2]=t+4,e[A>>2]=e[t>>2],void(e[A+4>>2]=0);case 3:case 10:case 12:case 13:}t=e[r>>2]+7&-8,e[r>>2]=t+8,r=e[t+4>>2],e[A>>2]=e[t>>2],e[A+4>>2]=r}function jt(A,t,r,a,s,i){var o;q=o=q-80|0;e:if((0|i)>=16384){if(FA(o+32|0,t,r,a,s,0,0,0,2147352576),a=e[o+40>>2],s=e[o+44>>2],t=e[o+32>>2],r=e[o+36>>2],i>>>0<32767){i=i-16383|0;break e}FA(o+16|0,t,r,a,s,0,0,0,2147352576),i=((0|i)>=49149?49149:i)-32766|0,a=e[o+24>>2],s=e[o+28>>2],t=e[o+16>>2],r=e[o+20>>2]}else(0|i)>-16383||(FA(o- -64|0,t,r,a,s,0,0,0,7471104),a=e[o+72>>2],s=e[o+76>>2],t=e[o+64>>2],r=e[o+68>>2],i>>>0>4294934644?i=i+16269|0:(FA(o+48|0,t,r,a,s,0,0,0,7471104),i=((0|i)<=-48920?-48920:i)+32538|0,a=e[o+56>>2],s=e[o+60>>2],t=e[o+48>>2],r=e[o+52>>2]));FA(o,t,r,a,s,0,0,0,i+16383<<16),t=e[o+12>>2],e[A+8>>2]=e[o+8>>2],e[A+12>>2]=t,t=e[o+4>>2],e[A>>2]=e[o>>2],e[A+4>>2]=t,q=o+80|0}function er(A,t){var r,a,s=0;q=r=q+-64|0,s=e[A>>2],a=e[s-4>>2],s=e[s-8>>2],e[r+32>>2]=0,e[r+36>>2]=0,e[r+40>>2]=0,e[r+44>>2]=0,e[r+48>>2]=0,e[r+52>>2]=0,g[r+55|0]=0,g[r+56|0]=0,g[r+57|0]=0,g[r+58|0]=0,g[r+59|0]=0,g[r+60|0]=0,g[r+61|0]=0,g[r+62|0]=0,e[r+24>>2]=0,e[r+28>>2]=0,e[r+20>>2]=0,e[r+16>>2]=125084,e[r+12>>2]=A,e[r+8>>2]=t,A=A+s|0,s=0;e:if(As(a,t,0))e[r+56>>2]=1,pt[e[e[a>>2]+20>>2]](a,r+8|0,A,A,1,0),s=e[r+32>>2]==1?A:0;else{pt[e[e[a>>2]+24>>2]](a,r+8|0,A,1,0);A:switch(e[r+44>>2]){case 0:s=e[r+48>>2]==1&&e[r+36>>2]==1&&e[r+40>>2]==1?e[r+28>>2]:0;break e;case 1:break A;default:break e}e[r+32>>2]!=1&&e[r+48>>2]|e[r+36>>2]!=1|e[r+40>>2]!=1||(s=e[r+24>>2])}return q=r- -64|0,s}function zt(A,t,r,a,s){var i,o,c=0;q=i=q-80|0,b[i+72>>1]=0,e[i+64>>2]=0,e[i+68>>2]=0,g[0|a]=0,c=Nr(t,o=2|(c=i- -64|0))+c|0,g[c+2|0]=32;e:if((0|r)!=-1)t>>>0>=33&&!Rr(t)?(g[c+3|0]=(0|r)==32?32:31,g[i+65|0]=95,UA(A,i- -64|1,i+16|0)||(g[i+65|0]=32,UA(A,o,i+16|0)||Kt(A,o,i+16|0,40,0,268435456,0)),l[i+16|0]||rA(A,t,i+16|0),t=JA(a,i+16|0),!(r=l[0|t])|(0|r)==21||(e[i+56>>2]=0,e[i+60>>2]=0,Ar(A,t,i+56|0,-1,1&s))):(e[i>>2]=t,QA(t=i- -64|1,85485,i),UA(A,t,a));else{if(UA(A,o,a)||(g[i+65|0]=95,UA(A,i- -64|1,i+16|0)|e[A+212>>2]==25966))break e;ui(85055),UA(e[47194],o,i+16|0)&&(g[0|a]=21,g[a+1|0]=0),ma(e[e[32972]+60>>2])}q=i+80|0}function VA(A,t,r){var a=0,s=0,i=0,o=0;if(r&&(g[0|A]=t,g[(a=A+r|0)-1|0]=t,!(r>>>0<3||(g[A+2|0]=t,g[A+1|0]=t,g[a-3|0]=t,g[a-2|0]=t,r>>>0<7||(g[A+3|0]=t,g[a-4|0]=t,r>>>0<9||(s=(a=0-A&3)+A|0,t=z(255&t,16843009),e[s>>2]=t,e[(r=(a=r-a&-4)+s|0)-4>>2]=t,a>>>0<9||(e[s+8>>2]=t,e[s+4>>2]=t,e[r-8>>2]=t,e[r-12>>2]=t,a>>>0<25||(e[s+24>>2]=t,e[s+20>>2]=t,e[s+16>>2]=t,e[s+12>>2]=t,e[r-16>>2]=t,e[r-20>>2]=t,e[r-24>>2]=t,e[r-28>>2]=t,(r=a-(o=4&s|24)|0)>>>0<32))))))))for(a=kt(t,0,1,1),i=J,t=s+o|0;e[t+24>>2]=a,e[t+28>>2]=i,e[t+16>>2]=a,e[t+20>>2]=i,e[t+8>>2]=a,e[t+12>>2]=i,e[t>>2]=a,e[t+4>>2]=i,t=t+32|0,(r=r-32|0)>>>0>31;);return A}function _A(){var A,t=0,r=0,a=0,s=0,i=0;if(q=A=q-208|0,(0|(a=e[50303]))>0)for(;(s=e[(r=201216+(t<<2)|0)>>2])&&(yt(s),e[r>>2]=0),(0|a)!=(0|(t=t+1|0)););if(e[50303]=0,e[A+16>>2]=137584,e[A+20>>2]=47,QA(t=A+32|0,87827,A+16|0),ei(t,RA(t)+1|0,0),e[A+4>>2]=47,e[A>>2]=137584,QA(t,87933,A),ei(t,RA(t)+1|0,1),t=e[50303],e[201216+(r=t<<2)>>2]=0,r=qr(a=e[50741],r+4|0)){if(e[50741]=r,ri(201216,t,7),a=e[50741],r=0,t=e[50304])for(s=0;i=e[t+4>>2],l[0|i]&&Mr(i+1|0,86589)&&va(e[t+8>>2],88032,3)&&(e[(r<<2)+a>>2]=t,r=r+1|0),t=e[201216+((s=s+1|0)<<2)>>2];);e[(r<<2)+a>>2]=0}return q=A+208|0,a}function Zt(A,t,r){var a=0,s=0,i=0,o=0;if(i=t-1|0,(0|t)>=2){t=A;e:{for(;;){A:{r:{if((0|(a=e[r+4>>2]))!=(0|(s=e[r+8>>2]))){if((o=si(a,10,s-a|0))?s=1+(o-(a=e[r+4>>2])|0)|0:(a=e[r+4>>2],s=e[r+8>>2]-a|0),xt(t,a,a=s>>>0<i>>>0?s:i),s=a+e[r+4>>2]|0,e[r+4>>2]=s,t=t+a|0,o||!(i=i-a|0))break A;if((0|s)!=e[r+8>>2]){e[r+4>>2]=s+1,a=l[0|s];break r}}if(!((0|(a=qi(r)))>=0)){if(a=0,(0|A)==(0|t))break e;if(16&l[0|r])break A;break e}}if(g[0|t]=a,t=t+1|0,(255&a)!=10&&(i=i-1|0))continue}break}A?(g[0|t]=0,a=A):a=0}}else if(t=e[r+72>>2],e[r+72>>2]=t-1|t,!i)return g[0|A]=0,A;return a}function xa(A){var t=0,r=0,a=0,s=0,i=0,o=0,c=0,f=0;if(t=z(A,44),(0|(A=e[t+137896>>2]))>0&&xa(A-1|0),A=e[36115],!((0|(t=e[36+(r=t+137856|0)>>2]))<=0)){if(s=e[r+32>>2],c=1&t,(0|t)!=1)for(f=-2&t,r=0;t=l[10+(i=(a=r<<4)+s|0)|0],e[144464+(t<<2)>>2]=i,(0|A)>=(0|t)?t=A:VA(144464+((A=A+1|0)<<2)|0,0,t-A<<2),A=l[10+(a=(16|a)+s|0)|0],e[144464+(A<<2)>>2]=a,(0|A)<=(0|t)?A=t:VA(144464+((t=t+1|0)<<2)|0,0,A-t<<2),r=r+2|0,(0|f)!=(0|(o=o+2|0)););else r=0;c&&(t=l[10+(r=(r<<4)+s|0)|0],e[144464+(t<<2)>>2]=r,(0|A)>=(0|t)||(VA(144464+((A=A+1|0)<<2)|0,0,t-A<<2),A=t))}e[36115]=A}function pa(A,t,r,a,s){var i,o=0,c=0,f=0;q=i=q-16|0;e:if(1&g[A+106|0]&&(o=l[0|r],!(!(1&g[a+2|0])&(0|o)!=46||256&(f=e[a+12>>2])|!(!(2&f)||s)||(Dt(i+12|0,(0|o)!=46?r:r+2|0),!(o=l[0|r])|!l[r+1|0])))){if(!(!(f=e[i+12>>2])|2&l[a+2|0])){if(!ar(f))break e;o=l[0|r]}(0|o)==46&&(g[0|r]=32),c=2,e[A+212>>2]!=26741|s||(r=ar(e[i+12>>2])?PA(A,r+2|0,0,0):0,128&l[A+8233|0]&&(!(!(s=e[i+12>>2])|2&l[a+2|0])&s-48>>>0>=10||(c=0)),c=32768&r?0:c,131072&r&&(c=163840&e[A+8232>>2]?34:l[t-2|0]!=45?c:0))}return q=i+16|0,c}function nr(A,t,r,a,s){var i,o=0,c=0;if(q=i=q-208|0,e[i+204>>2]=r,VA(r=i+160|0,0,40),e[i+200>>2]=e[i+204>>2],(0|et(0,t,i+200|0,i+80|0,r,a,s))<0)s=-1;else{e[A+76>>2],o=e[A>>2],e[A+72>>2]<=0&&(e[A>>2]=-33&o);e:{A:{if(e[A+48>>2]){if(e[A+16>>2])break A}else e[A+48>>2]=80,e[A+28>>2]=0,e[A+16>>2]=0,e[A+20>>2]=0,c=e[A+44>>2],e[A+44>>2]=i;if(r=-1,Tn(A))break e}r=et(A,t,i+200|0,i+80|0,i+160|0,a,s)}c&&(pt[e[A+36>>2]](A,0,0),e[A+48>>2]=0,e[A+44>>2]=c,e[A+28>>2]=0,t=e[A+20>>2],e[A+16>>2]=0,e[A+20>>2]=0,r=t?r:-1),t=A,A=e[A>>2],e[t>>2]=A|32&o,s=32&A?-1:r}return q=i+208|0,s}function nt(A,t,r,a){var s,i=0,o=0,c=0,f=0,m=0,p=0,I=0;if(q=s=q-208|0,o=l[0|t])for(;g[i+s|0]=o,f=((255&o)==6&(0|c)!=21)+f|0,c=o<<24>>24,o=l[(i=i+1|0)+t|0];);if(g[i+s|0]=0,i=l[0|s])for(p=f-2|0,c=0,I=(0|a)<2,o=0;;){e:{A:if((255&i)!=6|I|(0|o)==21){if((0|(a=255&i))==255){if(!m|(0|r)<2)break e;a=r>>>0>2?11:(0|c)%3|0?23:11}o=a,a=c}else{if(i=c+1|0,l[A+169|0]){o=(0|i)>1?5:6,a=i;break A}if(o=6,a=f,(0|i)==(0|f))break A;o=(0|i)%3|0||(0|c)==(0|p)?5:6,a=i}c=a,g[0|t]=o,t=t+1|0}if(!(i=l[(m=m+1|0)+s|0]))break}(0|r)>=2&&(g[0|t]=11,t=t+1|0),g[0|t]=0,q=s+208|0}function pr(A,t){var r=0;r=0,A&&(r=e[50754],r=(A=(A=(0|z(e[145712+(t?12:((0|A)>199)<<2)>>2],A))/256|0)>>>0>(t=e[36430])>>>0?A:t)>>>0<=89999?(z(A,r)>>>0)/1e3|0:(z(A,(0|r)/25|0)>>>0)/40|0),(0|(A=e[36440]))<=0||(0|(t=e[36424]))<0||(e[4+(t=216192+(t<<4)|0)>>2]||(e[t+4>>2]=A),e[36440]=0),e[36426]=0,e[36439]=-1,e[36455]=e[50758],La(),e[36427]=-1,A=216192+(e[50758]<<4)|0,e[A>>2]=5,e[A+4>>2]=r,A=e[50758]+1|0,e[50758]=(0|A)<=169?A:0,e[36426]=0,e[36438]&&(e[36438]=0,A=216192+(e[50758]<<4)|0,e[A>>2]=14,e[A+4>>2]=0,A=e[50758]+1|0,e[50758]=(0|A)<=169?A:0)}function pA(A,t,r,a,s,i,o,c){var f,m=0,p=0,I=0;m=1,f=p=2147483647&a;e:if(!((I=(0|p)==2147418112)&!r?A|t:I&!!(0|r)|p>>>0>2147418112)&&!((I=(0|(p=2147483647&c))==2147418112)&!o?s|i:I&!!(0|o)|p>>>0>2147418112)){if(!(A|s|r|o|t|i|p|f))return 0;if((0|(m=a&c))>0|(0|m)>=0){if(m=-1,(0|r)==(0|o)&(0|a)==(0|c)?(0|t)==(0|i)&A>>>0<s>>>0|t>>>0<i>>>0:r>>>0<o>>>0&(0|a)<=(0|c)|(0|a)<(0|c))break e;return!!(A^s|r^o|t^i|a^c)}m=-1,((0|r)==(0|o)&(0|a)==(0|c)?(0|t)==(0|i)&A>>>0>s>>>0|t>>>0>i>>>0:r>>>0>o>>>0&(0|a)>=(0|c)|(0|a)>(0|c))||(m=!!(A^s|r^o|t^i|a^c))}return m}function $A(A,t){var r=0,a=0,s=0,i=0;for(r=l[85836]|l[85837]<<8,g[0|t]=r,g[t+1|0]=r>>>8,g[t+2|0]=l[85838];;)if(s=l[0|A],A=r=A+1|0,(0|s)!=255){if(!s)break;if(!(a=e[144464+(s<<2)>>2]))continue;if(l[a+11|0]==1&&(i=l[a+14|0],!(M[a+8>>1]|i>>>0>4))){if(i>>>0<2)continue;g[0|t]=l[i+93943|0],t=t+1|0;continue}if(255&(A=e[a>>2]))for(;g[0|t]=A,t=t+1|0,a=65280&A,A=A>>>8|0,a;);if(A=r,(0|s)!=21||(32|(r=g[0|A]))-97>>>0>=26)continue;for(;g[0|t]=r,t=t+1|0,(32|(r=g[0|(A=A+1|0)]))-97>>>0<26;);}g[0|t]=0}function ha(A,t){var r,a,s=0,i=0,o=0;q=r=q-112|0,A||(e[50303]||_A(),A=201216),sr(s=r+16|0,t,40),e[r>>2]=47,e[r+4>>2]=s,QA(t=r- -64|0,87599,r),a=RA(t),o=-1;e:{A:{r:{if(i=e[A>>2]){t=0,s=-1;s:{for(;;){if(kn(r+16|0,e[i>>2])){if(kn(r+16|0,i=e[i+8>>2])?o=kn(r- -64|0,i+(RA(i)-a|0)|0)?o:t:s=t,i=e[((t=t+1|0)<<2)+A>>2])continue;break s}break}if((0|t)>=0)break A;t=(0|s)<0?o:s;break r}if((0|(t=s))>=0)break r}t=o}if(s=0,(0|t)<0)break e}s=e[(t<<2)+A>>2]}return q=r+112|0,s}function Hr(A,t){var r,a,s=0,i=0,o=0,c=0,f=0;q=r=q-16|0,me(+t),a=0|Z(1),i=0|Z(0),(0|(o=(s=2147483647&a)-1048576|0))==2145386495|o>>>0<2145386495?(c=i<<28,o=s>>>4|0,s=(15&s)<<28|i>>>4,i=o+1006632960|0):(0|s)==2146435072|s>>>0>2146435072?(c=i<<28,s=(15&a)<<28|i>>>4,i=a>>>4|2147418112):s|i?(Aa(r,i,o=s,0,0,(s=s?Oe(s):Oe(i)+32|0)+49|0),f=e[r>>2],c=e[r+4>>2],o=15372-s<<16,s=e[r+8>>2],i=o|65536^e[r+12>>2]):(s=0,i=0),e[A>>2]=f,e[A+4>>2]=c,e[A+8>>2]=s,e[A+12>>2]=-2147483648&a|i,q=r+16|0}function Ur(A,t,r){var a=0,s=0;e:{A:{r:{if(!(3&((s=A)^t))){a=!!(0|r);s:if(!(!(3&t)|!r))for(;;){if(a=l[0|t],g[0|s]=a,!a)break e;if(s=s+1|0,a=!!(0|(r=r-1|0)),!(3&(t=t+1|0)))break s;if(!r)break}if(!a)break A;if(!l[0|t])break e;if(!(r>>>0<4))for(;;){if(~(a=e[t>>2])&a-16843009&-2139062144)break r;if(e[s>>2]=a,s=s+4|0,t=t+4|0,!((r=r-4|0)>>>0>3))break}}if(!r)break A}for(;;){if(a=l[0|t],g[0|s]=a,!a)break e;if(s=s+1|0,t=t+1|0,!(r=r-1|0))break}}r=0}return VA(s,0,r),A}function Fr(A,t,r,a,s,i){var o,c=0,f=0,m=0;q=o=q-240|0,c=e[r>>2],e[o+232>>2]=c,r=e[r+4>>2],e[o>>2]=A,e[o+236>>2]=r,m=1;e:{A:{r:{if(r|(0|c)!=1){for(c=A;;){if((0|zs(r=c-e[(f=(a<<2)+i|0)>>2]|0,A,t))<=0){r=c;break r}s:{if(!((0|a)<2|s)&&(s=e[f-8>>2],(0|zs(f=c-4|0,r,t))>=0||(0|zs(f-s|0,r,t))>=0))break s;if(e[(m<<2)+o>>2]=r,Gi(c=o+232|0,s=Sn(c)),m=m+1|0,a=a+s|0,s=0,c=r,e[o+236>>2]|e[o+232>>2]!=1)continue;break A}break}r=c;break A}r=A}if(s)break e}Ks(o,m),yn(r,t,a,i)}q=o+240|0}function wr(A,t){var r=0;e[4+(134912+(r=A<<2)|0)>>2]=t,e[r+136192>>2]=t,r=28;e:{A:{r:switch(A-1|0){case 0:e[50792]=t,e[50786]=t,Hs(3);break A;case 1:e[50787]=t,e[33037]=(0|z(l[e[50797]+105596|0],(0|z(e[50787],55))/100|0))/16;break A;case 2:A=(0|t)>=99?99:t,e[50785]=(0|A)>0?A:0;break A;case 3:e[50788]=(0|t)>=99?99:t;break A;case 12:e[47268]=t;break A;case 6:e[47205]=t;break A;case 9:break A;case 8:break r;default:break e}(A=255&t)&&(e[e[47192]+152>>2]=A),e[47196]=t}r=0}return r}function Ut(A,t){var r=0,a=0,s=0;e:if(e[A>>2])for(;;){if(Rr(e[A-4>>2])){if(a=0,(0|(r=g[0|t]))==e[A>>2])for(;(0|(r=g[(a=a+1|0)+t|0]))==e[(A=A+4|0)>>2];);if(!r){for(;t=A,A=A+4|0,Rr(e[t>>2]););for(s=t+((e[t>>2]==61)<<2)|0;s=(A=s)+4|0,Rr(e[A>>2]););switch((t=e[A>>2])-34|0){case 0:case 5:break e}return Rr(t)||e[A>>2]==47?102808:A}}if(!e[(A=A+4|0)>>2])break}return s}function vr(A,t,r,a){var s,i,o=0,c=0,f=0;return!l[A+25|0]|D[A+8>>3]!=r|D[A+16>>3]!=a?(D[A+16>>3]=a,D[A+8>>3]=r,a=(o=Ft(-3.141592653589793/(c=+e[A>>2])*a))*-o,D[A+48>>3]=a,o*=Qa(-6.283185307179586/c*r),o+=o,D[A+40>>3]=o,c=1-o-a,D[A+32>>3]=c,!(f=l[A+24|0])|r==0||(c=1/c,D[A+32>>3]=c,a*=r=-c,D[A+48>>3]=a,o*=r,D[A+40>>3]=o,f=1)):(f=l[A+24|0],a=D[A+48>>3],o=D[A+40>>3],c=D[A+32>>3]),g[A+25|0]=1,r=D[A+64>>3],s=D[A+56>>3],D[A+64>>3]=s,i=t,t=a*r+(c*t+o*s),D[A+56>>3]=f?i:t,t}function ai(A,t,r,a,s){var i,o=0,c=0,f=0,m=0;if((i=e[34388])&&!((0|(c=e[34436]))>=(e[34393]-2|0))){if(e[34436]=c+1,o=z(c,36)+i|0,e[o>>2]=A,e[o+4>>2]=e[34437],m=e[34438],e[o+12>>2]=t>>>24,e[o+8>>2]=16777215&t,e[o+24>>2]=m,t=e[50754],s=e[34439]+((s-e[34392]|0)/2|0)|0,e[o+20>>2]=s,t=Ne(f=1e3*+(0|s)/+(0|t))<2147483648?~~f:-2147483648,e[o+16>>2]=t,A-3>>>0<=1)return void(e[28+(z(c,36)+i|0)>>2]=e[33282]+r);t=28+(z(c,36)+i|0)|0,e[t>>2]=r,(0|A)==7&&(e[t+4>>2]=a)}}function Ya(A,t,r,a,s,i){var o=0,c=0,f=0,m=0;64&i?(t=31&(r=i+-64|0),(63&r)>>>0>=32?(r=0,t=s>>>t|0):(r=s>>>t|0,t=((1<<t)-1&s)<<32-t|a>>>t),a=0,s=0):i&&(f=a,o=31&(c=64-i|0),(63&c)>>>0>=32?(c=f<<o,m=0):(c=(1<<o)-1&f>>>32-o|s<<o,m=f<<o),f=t,t=31&i,(63&i)>>>0>=32?(o=0,t=r>>>t|0):(o=r>>>t|0,t=((1<<t)-1&r)<<32-t|f>>>t),t|=m,r=o|c,o=a,a=31&i,(63&i)>>>0>=32?(c=0,a=s>>>a|0):(c=s>>>a|0,a=((1<<a)-1&s)<<32-a|o>>>a),s=c),e[A>>2]=t,e[A+4>>2]=r,e[A+8>>2]=a,e[A+12>>2]=s}function Li(A){var t=0,r=0;if(!A){if(e[33174]&&(t=Li(e[33174])),e[33136]&&(t=Li(e[33136])|t),A=e[56816])for(;e[A+20>>2]!=e[A+28>>2]&&(t=Li(A)|t),A=e[A+56>>2];);return t}return e[A+76>>2],e[A+20>>2]==e[A+28>>2]||(pt[e[A+36>>2]](A,0,0),e[A+20>>2])?((0|(t=e[A+8>>2]))!=(0|(r=e[A+4>>2]))&&(t=r-t|0,pt[e[A+40>>2]](A,t,t>>31,1)),t=0,e[A+28>>2]=0,e[A+16>>2]=0,e[A+20>>2]=0,e[A+4>>2]=0,e[A+8>>2]=0):t=-1,t}function Da(A,t){var r=0,a=0,s=0,i=0,o=0;if((192&(r=l[0|t]))==128)for(;(192&(r=l[0|(t=t-1|0)]))==128;);e:if(128&(r=r<<24>>24)){if(a=1,(0|(s=224&r))!=192)if((240&r)!=224){if(a=3,(248&r)!=240){r&=255,a=0;break e}}else a=2,o=1;r=l[a+93846|0]&r,(i=l[t+1|0])?(r=63&i|r<<6,(0|s)!=192&&((s=l[t+2|0])?(r=63&s|r<<6,o||((t=l[t+3|0])?r=63&t|r<<6:a=2)):a=1)):a=0}return e[A>>2]=r,a+1|0}function Yi(A,t,r,a){var s,i=0,o=0;return q=s=q-224|0,A?(e[s>>2]=137584,e[s+4>>2]=47,e[s+8>>2]=t,QA(t=s+16|0,85430,s),(0|(i=us(t)))<0?t=ws(a,0-i|0,s+16|0):(t=ka(s+16|0,85659))?((o=e[A>>2])&&yt(o),i?(o=It(i),e[A>>2]=o,o?(0|xn(o,i,t))==(0|i)?(ra(t),t=0,r&&(e[r>>2]=i)):(r=e[56798],ra(t),yt(e[A>>2]),e[A>>2]=0,t=ws(a,r,s+16|0)):(ra(t),t=48)):(t=0,e[A>>2]=0)):t=ws(a,e[56798],s+16|0)):t=28,q=s+224|0,t}function Dt(A,t){var r=0,a=0,s=0,i=0,o=0;if((192&(r=l[0|t]))==128)for(;(192&(r=l[0|(t=t+1|0)]))==128;);e:if(128&(r=r<<24>>24)){if(a=1,(0|(s=224&r))!=192)if((240&r)!=224){if(a=3,(248&r)!=240){r&=255,a=0;break e}}else a=2,o=1;r=l[a+93846|0]&r,(i=l[t+1|0])?(r=63&i|r<<6,(0|s)!=192&&((s=l[t+2|0])?(r=63&s|r<<6,o||((t=l[t+3|0])?r=63&t|r<<6:a=2)):a=1)):a=0}return e[A>>2]=r,a+1|0}function Aa(A,t,r,a,s,i){var o=0,c=0,f=0;64&i?(a=t,t=31&(s=i+-64|0),(63&s)>>>0>=32?(s=a<<t,a=0):(s=(1<<t)-1&a>>>32-t|r<<t,a<<=t),t=0,r=0):i&&(o=a,a=31&i,(63&i)>>>0>=32?(c=o<<a,f=0):(c=(1<<a)-1&o>>>32-a|s<<a,f=o<<a),o=t,a=31&(s=64-i|0),(63&s)>>>0>=32?(s=0,t=r>>>a|0):(s=r>>>a|0,t=((1<<a)-1&r)<<32-a|o>>>a),a=f|t,s|=c,t=31&i,(63&i)>>>0>=32?(c=o<<t,t=0):(c=(1<<t)-1&o>>>32-t|r<<t,t=o<<t),r=c),e[A>>2]=t,e[A+4>>2]=r,e[A+8>>2]=a,e[A+12>>2]=s}function Va(A){var t=0;return A>>>0<=55295?t=l[e[125552+(A>>>6&67108860)>>2]+(255&A)|0]:(t=4,A>>>0<57344||(A>>>0<63488?t=3:A>>>0<=195327?t=l[e[126416+(A-63488>>>6&67108860)>>2]+(255&A)|0]:(t=2,A>>>0<917504||(A>>>0<=918015?t=l[e[128476+(A-917504>>>6&67108860)>>2]+(255&A)|0]:A>>>0<983040||(A>>>0<1048574?t=3:A>>>0<1048576||(t=3,A>>>0<1114110||(t=A>>>0<1114112?2:5))))))),255&t}function u0(A,t){var r=0,a=0,s=0,i=0,o=0,c=0,f=0,m=0,p=0;if(!((0|(r=e[33709]))<=0)){if(s=(0|A)>31?A-32|0:A,A=0,r>>>0>=4)for(p=-4&r;c=2|A,f=1|A,a=e[134912+((o=3|A)<<6)>>2]==(0|s)?o:e[134912+(c<<6)>>2]==(0|s)?c:e[134912+(f<<6)>>2]==(0|s)?f:e[134912+(A<<6)>>2]==(0|s)?A:a,A=A+4|0,(0|p)!=(0|(i=i+4|0)););if(i=3&r)for(;a=e[134912+(A<<6)>>2]==(0|s)?A:a,A=A+1|0,(0|i)!=(0|(m=m+1|0)););(0|a)<=0||(e[33709]=a,r=a)}$a(t,r)}function d0(A){var t,r=0,a=0,s=0;for(q=t=q-96|0,sr(t,A,60),Hi(t,1);s=Wt(g[0|(a=t+r|0)]),g[0|a]=s,r=r+1|0,255&s;);e[t+92>>2]=0,e[t+84>>2]=0,e[t+88>>2]=0,e[t+76>>2]=0,e[t+80>>2]=0,e[t+72>>2]=A;e:{A:{r:{if(tt(t,1)){if(l[202976])break r;break A}if(e[50303]||_A(),r=268437247,!(A=ha(201216,t))||!tt(e[A+8>>2],0))break e;if(!l[202976])break A}tt(202976,2)}On(e[32972]),e[t+76>>2]=e[32972]+40,Bi(t+72|0,202976),r=0}return q=t+96|0,r}function f0(A,t){if(!A)return 0;e:{A:{if(A){if(t>>>0<=127)break A;if(e[e[56841]>>2]){if(t>>>0<=2047){g[A+1|0]=63&t|128,g[0|A]=t>>>6|192,A=2;break e}if(!((-8192&t)!=57344&t>>>0>=55296)){g[A+2|0]=63&t|128,g[0|A]=t>>>12|224,g[A+1|0]=t>>>6&63|128,A=3;break e}if(t-65536>>>0<=1048575){g[A+3|0]=63&t|128,g[0|A]=t>>>18|240,g[A+2|0]=t>>>6&63|128,g[A+1|0]=t>>>12&63|128,A=4;break e}}else if((-128&t)==57216)break A;e[56798]=25,A=-1}else A=1;break e}g[0|A]=t,A=1}return A}function p0(A){var t=0,r=0,a=0,s=0;if(e[A+20>>2]=0,(a=(r=e[A+8>>2])-(t=e[A+4>>2])|0)>>>0>=9)for(;yt(e[t>>2]),t=e[A+4>>2]+4|0,e[A+4>>2]=t,(a=(r=e[A+8>>2])-t|0)>>>0>8;);switch(s=512,(a>>>2|0)-1|0){case 1:s=1024;case 0:e[A+16>>2]=s}if((0|t)!=(0|r)){for(;yt(e[t>>2]),(0|r)!=(0|(t=t+4|0)););(0|(t=e[A+8>>2]))!=(0|(r=e[A+4>>2]))&&(e[A+8>>2]=t+(3+(r-t|0)&-4))}(A=e[A>>2])&&yt(A)}function si(A,t,r){var a=0,s=0;a=!!(0|r);e:{A:{r:if(!(!(3&A)|!r))for(s=255&t;;){if((0|s)==l[0|A])break A;if(a=!!(0|(r=r-1|0)),!(3&(A=A+1|0)))break r;if(!r)break}if(!a)break e;if(!(l[0|A]==(255&t)|r>>>0<4))for(a=z(255&t,16843009);;){if(~(s=a^e[A>>2])&s-16843009&-2139062144)break A;if(A=A+4|0,!((r=r-4|0)>>>0>3))break}if(!r)break e}for(t&=255;;){if((0|t)==l[0|A])return A;if(A=A+1|0,!(r=r-1|0))break}}return 0}function Vs(A,t){var r=0,a=0;e:{if(a=255&t){if(3&A)for(;;){if(!(r=l[0|A])|(0|r)==(255&t))break e;if(!(3&(A=A+1|0)))break}A:if(!(~(r=e[A>>2])&r-16843009&-2139062144))for(a=z(a,16843009);;){if(~(r^=a)&r-16843009&-2139062144)break A;if(r=e[A+4>>2],A=A+4|0,r-16843009&~r&-2139062144)break}for(;(a=l[0|(r=A)])&&(A=r+1|0,(0|a)!=(255&t)););return r}return RA(A)+A|0}return A}function h0(A,t,r,a,s){var i,o=0,c=0;c=-1;e:if(!(((o=(0|(i=2147483647&a))==2147418112)&!r?A|t:o&!!(0|r)|i>>>0>2147418112)||(o=2147483647&s)>>>0>2147418112&(0|o)!=2147418112)){if(!(A|r|o|i|t))return 0;if((0|(o=a&s))>0|(0|o)>=0){if((!!(0|r)|(0|a)!=(0|s))&(0|a)<(0|s))break e;return!!(A|r|a^s|t)}(!r&(0|a)==(0|s)?A|t:!!(0|r)&(0|a)>=(0|s)|(0|a)>(0|s))||(c=!!(A|r|a^s|t))}return c}function Hi(A,t){var r,a=0;q=r=q+-64|0,g[202976]=0,e[r+48>>2]=47,QA(r+59|0,91351,r+48|0),t||(g[r+59|0]=0);e:{A:{if(A&&(A=ts(A,43))){if(g[0|A]=0,g[0|(A=A+1|0)]-48>>>0>=10)break A;a=Us(A)}if((0|a)<=0)break e;if(a>>>0<=9){e[r+4>>2]=a,e[r>>2]=r+59,QA(202976,91378,r);break e}e[r+20>>2]=a-10,e[r+16>>2]=r+59,QA(202976,91503,r+16|0);break e}e[r+36>>2]=A,e[r+32>>2]=r+59,QA(202976,85425,r+32|0)}q=r- -64|0}function za(A){var t,r=0,a=0,s=0;q=t=q-80|0,r=Wa(A,t+12|0),e[t+12>>2]?(sr(a=t+16|0,r,60),r=0,Hi(a,1),!tt(a,0)|!l[202976]||tt(202976,2),On(e[32972]),Bi(A,86012)):r=268437247,q=t+80|0;e:{A:{r:{s:{if((0|r)<=268437502){if(!r)break e;if((0|r)==268436479)break A;if((0|r)!=268437247)break s;return 2}if((0|r)==268437503|(0|r)==268437759)break r;if((0|r)==268439295)break e}return-1}return 2}s=1}return s}function Jr(A,t,r,a,s,i,o,c,f){var m,p,I;f=kt(t,r,c,f),c=J,s=kt(a,s,i,o),a=J+c|0,c=s>>>0>(f=s+f|0)>>>0?a+1|0:a,m=o,p=r,o=(r=kt(o,s=0,r,a=0))+f|0,f=J+c|0,I=o,r=r>>>0>o>>>0?f+1|0:f,o=kt(i,0,t,0),c=J,a=kt(i,f=0,p,a),i=J+f|0,i=a>>>0>(c=c+a|0)>>>0?i+1|0:i,a=r,i=i>>>0>(f=i+I|0)>>>0?a+1|0:a,r=kt(t,0,m,s)+c|0,s=J,c=(s=r>>>0<c>>>0?s+1|0:s)+f|0,f=i,e[A+8>>2]=c,e[A+12>>2]=s>
2737>>0>c>>>0?f+1|0:f,e[A>>2]=o,e[A+4>>2]=r}function JA(A,t){var r=0,a=0;e:{if(3&((a=A)^t))r=l[0|t];else{if(3&t)for(;;){if(r=l[0|t],g[0|a]=r,!r)break e;if(a=a+1|0,!(3&(t=t+1|0)))break}if(!(~(r=e[t>>2])&r-16843009&-2139062144))for(;e[a>>2]=r,r=e[t+4>>2],a=a+4|0,t=t+4|0,!(r-16843009&~r&-2139062144););}if(g[0|a]=r,255&r)for(;r=l[t+1|0],g[a+1|0]=r,a=a+1|0,t=t+1|0,r;);}return A}function Qa(A){var t,r=0,a=0;q=t=q-16|0,me(+A),a=0|Z(1),Z(0);e:if((a&=2147483647)>>>0<=1072243195){if(r=1,a>>>0<1044816030)break e;r=Ei(A,0)}else if(r=A-A,!(a>>>0>=2146435072)){switch(3&wa(A,t)){case 0:r=Ei(D[t>>3],D[t+8>>3]);break e;case 1:r=-Ts(D[t>>3],D[t+8>>3],1);break e;case 2:r=-Ei(D[t>>3],D[t+8>>3]);break e}r=Ts(D[t>>3],D[t+8>>3],1)}return q=t+16|0,r}function bn(A,t,r,a){var s=0,i=0,o=0;if(!((RA(a)+RA(t)|0)>=(0|r))){for(o=e[36115],r=a;s=l[0|r];)if(r=r+1|0,!((0|s)>=(0|o))){e:{A:switch(s=e[144464+(s<<2)>>2],l[s+11|0]-1|0){case 1:break e;case 0:break A;default:continue}i=l[s+14|0]<4|i;continue}1&(l[s+4|0]>>>1|i)||(e[A+8212>>2]=e[A+8212>>2]+1),e[A+8208>>2]=e[A+8208>>2]+1,i=0}t&&ia(t,a)}}function Ri(A){var t,r=0;q=t=q-16|0,me(+A),r=0|Z(1),Z(0);e:if((r&=2147483647)>>>0<=1072243195){if(r>>>0<1045430272)break e;A=Ts(A,0,0)}else if(r>>>0>=2146435072)A-=A;else{switch(3&wa(A,t)){case 0:A=Ts(D[t>>3],D[t+8>>3],1);break e;case 1:A=Ei(D[t>>3],D[t+8>>3]);break e;case 2:A=-Ts(D[t>>3],D[t+8>>3],1);break e}A=-Ei(D[t>>3],D[t+8>>3])}return q=t+16|0,A}function In(A){var t=0;e[A+296>>2]=303173648,e[A+300>>2]=370677780,t=e[26341],e[A+304>>2]=e[26340],e[A+308>>2]=t,t=e[26343],e[A+312>>2]=e[26342],e[A+316>>2]=t,Es(A),e[A+56>>2]=2,e[A+36>>2]=3,e[A+40>>2]=1074,g[A+168|0]=5,e[A+132>>2]=32,e[A+104>>2]=1032,e[A+108>>2]=66,e[A+8>>2]=5,e[A+12>>2]=32,g[A+365|0]=64|l[A+365|0],g[A+368|0]=64|l[A+368|0],g[A+396|0]=64|l[A+396|0],g[A+399|0]=64|l[A+399|0]}function m0(A,t,r){var a=0,s=0,i=0;e:{if(!(a=e[r+16>>2])){if(Tn(r))break e;a=e[r+16>>2]}if(a-(i=e[r+20>>2])>>>0<t>>>0)return 0|pt[e[r+36>>2]](r,A,t);A:if(e[r+80>>2]<0)a=0;else{for(s=t;;){if(!(a=s)){a=0;break A}if(l[(s=a-1|0)+A|0]==10)break}if((s=0|pt[e[r+36>>2]](r,A,a))>>>0<a>>>0)break e;A=A+a|0,t=t-a|0,i=e[r+20>>2]}xt(i,A,t),e[r+20>>2]=e[r+20>>2]+t,s=t+a|0}return s}function C0(A){var t,r=0,a=0;e:{if((0|(t=e[34064]))>0)for(;;){if((a=e[136284+(r<<4)>>2])&&!Mr(A,a)){if(e[136276+(r<<4)>>2])return r;if(a=-1,Ai(0,r))break e;return r}if((0|t)==(0|(r=r+1|0)))break}a=-1,Ai(A,t)||(r=qr(e[12+(136272+(e[34064]<<4)|0)>>2],RA(A)+1|0),a=e[34064],e[12+(136272+(a<<4)|0)>>2]=r,JA(r,A),e[34064]=a+1)}return a}function wn(A,t){var r,a=0,s=0,i=0,o=0;for(q=r=q-16|0,g[0|t]=0,(a=15&e[A>>2])&&(t=(s=RA(t=JA(t,Mi(128496,64|a))))+t|0),a=8;;){e:{A:{if(a>>>0<=29){if(e[A>>2]>>>a&1)break A;break e}if(!(e[A+4>>2]>>>a-32&1)|a>>>0<32)break e}(0|(s=(o=RA(i=Mi(128496,a))+1|0)+s|0))>=80||(e[r>>2]=i,QA(t,84439,r),t=t+o|0)}if((0|(a=a+1|0))==64)break}q=r+16|0}function _0(A,t,r){var a,s=0,i=0,o=0;if(q=a=q-16|0,l[0|A]){for(o=e[30450];;)if(i=A,A=A+1|0,!((0|(s=g[0|i]))==32|s-9>>>0<5)){for((0|(s=Us(i)))>0&&((0|s)<32?e[t>>2]=e[t>>2]|1<<s:(i=Mi(129568,r),e[a+4>>2]=s,e[a>>2]=i,hr(o,84902,a)),i=A);i=(A=i)+1|0,(s=g[0|A])-48>>>0<10|(32|s)-97>>>0<26;);if(!s)break}}q=a+16|0}function Fa(A,t,r){var a=0,s=0,i=0,o=0;e:if(t&&!((0|(s=r-4|0))<=0))for(i=(0|(r=e[t-4>>2]))!=34?(0|r)==39?r:0:r,r=0;;){if(o=r,!(r=e[t>>2]))break e;A:{if(!i){if((0|r)==32|r-9>>>0<5)break e;if((0|r)!=47)break A;break e}if((0|o)!=92&&(0|r)==(0|i))break e}if(t=t+4|0,!((0|s)>(0|(a=Nr(r,A+a|0)+a|0))))break}return g[A+a|0]=0,a}function ar(A){var t=0;e:if(!ds(A)){t=0;A:if(!(A>>>0<768)){if(A-2305>>>0<=1270){if((124&A)>>>0<100)break e;if(t=1,Ln(93850,A))break A;return A-3450>>>0<6}if((0|A)==1541|A-1456>>>0<19|(0|A)==1648||(0|(t=-256&A))==10240|(0|t)==4352|A-3904>>>0<125|A>>>0<880)break e;t=1,A-1611>>>0<20||(t=A-12353>>>0<30400)}return t}return 1}function Bi(A,t){var r=0;A?((r=e[A+4>>2])&&JA(133208,r),(r=e[A>>2])&&sr(133168,r,40),e[33289]=l[A+14|0],e[33291]=l[A+13|0],e[33290]=l[A+12|0],sr(134672,l[0|t]!=33|l[t+1|0]!=118?t:(l[t+2|0]==47?3:0)+t|0,40),A=e[50298],e[33678]=e[50297],e[33679]=A,A=e[50302],e[33682]=e[50301],e[33683]=A,A=e[50300],e[33680]=e[50299],e[33681]=A):VA(133152,0,76)}function vi(A,t,r,a){g[A+53|0]=1;e:if(e[A+4>>2]==(0|r)){g[A+52|0]=1;A:{if(!(r=e[A+16>>2])){if(e[A+36>>2]=1,e[A+24>>2]=a,e[A+16>>2]=t,(0|a)!=1)break e;if(e[A+48>>2]==1)break A;break e}if((0|t)==(0|r)){if((0|(r=e[A+24>>2]))==2&&(e[A+24>>2]=a,r=a),e[A+48>>2]!=1)break e;if((0|r)==1)break A;break e}e[A+36>>2]=e[A+36>>2]+1}g[A+54|0]=1}}function Ba(A,t){var r=0,a=0,s=0,i=0,o=0;e:if(r=e[t>>2])for(;;){a=0;A:if(A){for(;o=g[a+r|0],(s=e[(a<<2)+A>>2])&&(a=a+1|0,(0|o)==(0|s)););r:switch(s-34|0){case 0:case 5:break r;default:break A}if(!o)break e}if(!(r=e[((i=i+1|0)<<3)+t>>2]))break}return e[4+((i<<3)+t|0)>>2]}function js(A,t){e:if((0|t)>=1024){if(A*=898846567431158e293,t>>>0<2047){t=t-1023|0;break e}A*=898846567431158e293,t=((0|t)>=3069?3069:t)-2046|0}else(0|t)>
vendor: 18,028 bytes, line 2737
2737-1023||(A*=2004168360008973e-307,t>>>0>4294965304?t=t+969|0:(A*=2004168360008973e-307,t=((0|t)<=-2960?-2960:t)+1938|0));return W(0,0),W(1,t+1023<<20),A*+te()}function gs(A,t,r,a){var s,i,o,c=0;return q=i=q-16|0,e[i+12>>2]=a,q=s=q-160|0,o=t?A:s+158|0,e[s+144>>2]=o,c=-1,A=t-1|0,e[s+148>>2]=A>>>0<=t>>>0?A:0,A=VA(s,0,144),e[A+76>>2]=-1,e[A+36>>2]=17,e[A+80>>2]=-1,e[A+44>>2]=A+159,e[A+84>>2]=A+144,(0|t)<0?e[56798]=61:(g[0|o]=0,c=nr(A,r,a,15,16)),q=A+160|0,q=i+16|0,c}function kn(A,t){var r=0,a=0,s=0;e:if(r=l[0|A])for(;;){if(!(a=l[0|t])){s=r;break e}if((0|r)!=(0|a)&&(0|(a=r-65>>>0<26?32|r:r))!=(0|((r=l[0|t])-65>>>0<26?32|r:r))){s=l[0|A];break e}if(t=t+1|0,r=l[A+1|0],A=A+1|0,!r)break}return(s=(A=255&s)-65>>>0<26?32|A:A)-((A=l[0|t])-65>>>0<26?32|A:A)|0}function xn(A,t,r){var a=0,s=0;if(a=e[r+72>>2],e[r+72>>2]=a-1|a,(0|(a=e[r+4>>2]))==(0|(s=e[r+8>>2]))?a=t:(xt(A,a,a=t>>>0>(a=s-a|0)>>>0?a:t),e[r+4>>2]=a+e[r+4>>2],A=A+a|0,a=t-a|0),a)for(;;){if(Vi(r)||!(s=0|pt[e[r+32>>2]](r,A,a)))return t-a|0;if(A=A+s|0,!(a=a-s|0))break}return t}function Us(A){for(var t=0,r=0,a=0,s=0;A=(t=A)+1|0,(0|(r=g[0|t]))==32|r-9>>>0<5;);e:{A:{r:switch((r=g[0|t])-43|0){case 0:break A;case 2:break r;default:break e}s=1}r=g[0|A],t=A}if(r-48>>>0<10)for(;a=48+(z(a,10)-g[0|t]|0)|0,A=g[t+1|0],t=t+1|0,A-48>>>0<10;);return s?a:0-a|0}function Bn(A,t){var r,a,s,i=0;return q=r=q-32|0,e[t>>2]=0,e[t+4>>2]=0,e[(i=a=t+24|0)>>2]=0,e[i+4>>2]=0,e[(i=s=t+16|0)>>2]=0,e[i+4>>2]=0,e[(i=t+8|0)>>2]=0,e[i+4>>2]=0,e[r+28>>2]=t+28,e[r+24>>2]=a,e[r+20>>2]=t+20,e[r+16>>2]=s,e[r+12>>2]=t+12,e[r+8>>2]=i,e[r+4>>2]=t+4,e[r>>2]=t,A=at(A,84553,r),q=r+32|0,A}function vn(A){var t=0,r=0,a=0;if((t=l[0|A])&&((r=l[A+1|0])?(r=t|r<<8,(t=l[A+2|0])&&(r|=t<<16,(A=l[A+3|0])&&(r|=A<<24))):r=t),(0|(t=e[36115]))>0)for(A=0;;){if(!(!(a=e[144464+(A<<2)>>2])|e[a>>2]!=(0|r)))return l[a+10|0];if((0|t)==(0|(A=A+1|0)))break}return 0}function yn(A,t,r,a){var s,i=0,o=0,c=0,f=0,m=0;q=s=q-240|0,e[s>>2]=A,c=1;e:if(!((0|r)<2))for(i=A;;){if((0|zs(A,o=(i=i-4|0)-e[((f=r-2|0)<<2)+a>>2]|0,t))>=0&&(0|zs(A,i,t))>=0)break e;if(m=o,i=(o=(0|zs(o,i,t))>=0)?m:i,e[(c<<2)+s>>2]=i,c=c+1|0,!((0|(r=o?r-1|0:f))>1))break}Ks(s,c),q=s+240|0}function QA(A,t,r){var a,s,i,o=0;return q=s=q-16|0,e[s+12>>2]=r,q=a=q-160|0,xt(i=a+8|0,124528,144),e[a+52>>2]=A,e[a+28>>2]=A,o=(o=-2-A|0)>>>0>2147483647?2147483647:o,e[a+56>>2]=o,A=A+o|0,e[a+36>>2]=A,e[a+24>>2]=A,A=Fs(i,t,r),o&&(t=e[a+28>>2],g[t-((0|t)==e[a+24>>2])|0]=0),q=a+160|0,q=s+16|0,A}function Ks(A,t){var r,a=0,s=0,i=0,o=0,c=0;if(a=4,q=r=q-256|0,(0|t)>=2)for(e[(c=(t<<2)+A|0)>>2]=r;;){for(i=a>>>0>=256?256:a,xt(e[c>>2],e[A>>2],i),s=0;o=(s<<2)+A|0,s=s+1|0,xt(e[o>>2],e[(s<<2)+A>>2],i),e[o>>2]=e[o>>2]+i,(0|t)!=(0|s););if(!(a=a-i|0))break}q=r+256|0}function UA(A,t,r){var a,s=0;return q=a=q-96|0,e[a+88>>2]=0,e[a+92>>2]=1073741824,e[a+84>>2]=t,t=Br(A,a+84|0,r,a+88|0,2,0),536870912&(s=e[a+88>>2])?(t=e[47202],e[47202]=0,g[a+2|0]=32,b[a>>1]=8192,sr(s=3|a,e[a+84>>2],77),A=PA(A,s,0,0),JA(r,189088),e[47202]=t):A=t?s:0,q=a+96|0,A}function En(A,t,r){var a=0,s=0,i=0;s=yi(A),a=e[t>>2];e:{A:if((0|s)>=0){if(a){if(!Mr(A,r))break A;(i=e[a+688>>2])&&yt(i),yt(a),e[t>>2]=0}e[t>>2]=_e(A),A=JA(r,A),_a(r=e[t>>2],r+228|0,0)&&(ma(e[e[32972]+60>>2]),g[0|A]=0,s=-1),a=e[t>>2],e[a+292>>2]=s}else if(!a)break e;g[a+268|0]=0}return s}function Wi(A){var t=0,r=0;return(0|(t=e[A+76>>2]))>=0&(!t|e[56823]!=(-1073741825&t))?(r=e[(t=A+76|0)>>2],e[t>>2]=r||1073741823,(0|(r=e[A+4>>2]))==e[A+8>>2]?A=qi(A):(e[A+4>>2]=r+1,A=l[0|r]),e[t>>2]=0,A):(0|(t=e[A+4>>2]))!=e[A+8>>2]?(e[A+4>>2]=t+1,l[0|t]):qi(A)}function va(A,t,r){var a=0,s=0;e:{A:{if(r>>>0>=4){if(3&(A|t))break A;for(;;){if(e[A>>2]!=e[t>>2])break A;if(t=t+4|0,A=A+4|0,!((r=r-4|0)>>>0>3))break}}if(!r)break e}for(;;){if((0|(a=l[0|A]))==(0|(s=l[0|t]))){if(t=t+1|0,A=A+1|0,r=r-1|0)continue;break e}break}return a-s|0}return 0}function Sa(A,t){var r,a=0,s=0,i=0;q=r=q-16|0,t?(Aa(r,s=((a=t>>31)^t)-a|0,0,0,0,(a=Oe(s))+81|0),s=0+e[r+8>>2]|0,a=(65536^e[r+12>>2])+(16414-a<<16)|0,i=-2147483648&t|(a=s>>>0<i>>>0?a+1|0:a),a=e[r+4>>2],t=e[r>>2]):t=0,e[A>>2]=t,e[A+4>>2]=a,e[A+8>>2]=s,e[A+12>>2]=i,q=r+16|0}function ii(A){var t,r=0,a=0,s=0;if((0|(r=Vs(A,61)))==(0|A))return 0;e:if(!l[(t=r-A|0)+A|0]&&(r=e[56800])&&(a=e[r>>2])){for(;;){if(x0(A,a,t)||(a=e[r>>2]+t|0,l[0|a]!=61)){if(a=e[r+4>>2],r=r+4|0,a)continue;break e}break}s=a+1|0}return s}function yi(A){var t=0,r=0;e:if(!((0|(r=e[34461]))<=0)){for(;;){if(!Mr(A,z(t,44)+137856|0)){e[34457]=t;break e}if((0|r)==(0|(t=t+1|0)))break}return-1}return(A=(0|t)==(0|r))?-1:((0|(A=A?-1:t))!=e[36114]&&(e[36115]=0,xa(A),e[36114]=A,e[36115]=e[36115]+1),t)}function Mn(A,t,r,a){var s=0,i=0;e:if((32|l[0|t])!=32){if(s=((0|a)>2)<<1,i=ns(A,t,r,s=(0|a)>1?4|s:s),l[0|r]!=21)for(s|=1,t=t+i|0,i=1;;){if((32|l[0|t])==32)break e;if(t=ns(A,t,r,s)+t|0,i=i+1|0,l[0|r]==21)break}return JA(189088,r),0}return nt(A,r,a,i),t}function Nr(A,t){var r,a=0,s=0,i=0;if(A>>>0<=127)return g[0|t]=A,1;if(A>>>0>=1114112)return g[0|t]=32,1;for(a=z(r=A>>>0<2048?1:A>>>0<65536?2:3,6),g[0|t]=l[r+93842|0]|A>>>a;a=a-6|0,g[(s=s+1|0)+t|0]=A>>>a&63|128,(0|(i=i+1|0))!=(0|r););return r+1|0}function b0(A){var t=0,r=0;e:{if((0|(t=e[A+12>>2]))>=e[A+16>>2]){if(t=0,(0|(r=0|Qe(e[A+8>>2],A+24|0,2048)))<=0){if(!r|(0|r)==-44)break e;return e[56798]=0-r,0}e[A+16>>2]=r}r=t,t=A+t|0,e[A+12>>2]=r+M[t+40>>1],r=e[t+36>>2],e[A>>2]=e[t+32>>2],e[A+4>>2]=r,t=t+24|0}return t}function I0(A,t){var r,a=0;if(a=e[A+632>>2])return!!(0|Wr(a,t));e:{A:{if((0|(r=e[A+600>>2]))>0){if(a=0,(t=t-r|0)-1>>>0<255)break A;break e}if((a=t-192|0)>>>0<=413)return 128&l[344+(l[a+94240|0]+A|0)|0];if(a=0,t>>>0>255)break e}a=128&l[344+(A+t|0)|0]}return a}function Ts(A,t,r){var a,s,i;return i=(a=A*A)*(a*a)*(158969099521155e-24*a-25050760253406863e-24)+(a*(27557313707070068e-22*a-.0001984126982985795)+.00833333333332249),s=a*A,r?A-(a*(.5*t-i*s)-t+.16666666666666632*s):s*(a*i-.16666666666666632)+A}function ni(A,t){var r,a=0,s=0,i=0;q=r=q-16|0,t?(Aa(r,a=t,0,0,0,(t=Oe(t))+81|0),a=0+e[r+8>>2]|0,t=(65536^e[r+12>>2])+(16414-t<<16)|0,i=s>>>0>a>>>0?t+1|0:t,s=e[r+4>>2],t=e[r>>2]):t=0,e[A>>2]=t,e[A+4>>2]=s,e[A+8>>2]=a,e[A+12>>2]=i,q=r+16|0}function w0(A){var t,r=0;q=t=q-16|0,g[t+15|0]=10;e:{if(!(r=e[A+16>>2])){if(Tn(A))break e;r=e[A+16>>2]}(0|r)==(0|(r=e[A+20>>2]))|e[A+80>>2]==10?pt[e[A+36>>2]](A,t+15|0,1):(e[A+20>>2]=r+1,g[0|r]=10)}q=t+16|0}function Vi(A){var t,r=0;return r=e[A+72>>2],e[A+72>>2]=r-1|r,e[A+20>>2]!=e[A+28>>2]&&pt[e[A+36>>2]](A,0,0),e[A+28>>2]=0,e[A+16>>2]=0,e[A+20>>2]=0,4&(r=e[A>>2])?(e[A>>2]=32|r,-1):(t=e[A+44>>2]+e[A+48>>2]|0,e[A+8>>2]=t,e[A+4>>2]=t,r<<27>>31)}function oi(A){var t=0;e:{A:{r:{s:{if((0|(A=d0(A)))<=268437502){if(!A)break e;if((0|A)==268436479)break A;if((0|A)!=268437247)break s;return 2}if((0|A)==268437503|(0|A)==268437759)break r;if((0|A)==268439295)break e}return-1}return 2}t=1}return t}function RA(A){var t=0,r=0,a=0;e:{if(3&(t=A))for(;;){if(!l[0|t])break e;if(!(3&(t=t+1|0)))break}for(;r=t,t=t+4|0,!(~(a=e[r>>2])&a-16843009&-2139062144););for(;r=(t=r)+1|0,l[0|t];);}return t-A|0}function es(A,t,r){var a,s=0,i=0,o=0;e[A+112>>2]=t,e[A+116>>2]=r,a=e[A+4>>2],s=e[A+44>>2]-a|0,e[A+120>>2]=s,e[A+124>>2]=s>>31,s=e[A+8>>2],t|r&&((0|r)>=(0|(o=(i=s-a|0)>>31))&t>>>0>=i>>>0|(0|r)>(0|o)||(s=t+a|0)),e[A+104>>2]=s}function Gn(A,t){var r,a,s=0;if(me(+A),r=0|Z(1),a=0|Z(0),(0|(s=r>>>20&2047))!=2047){if(!s)return A==0?s=0:(A=Gn(18446744073709552e3*A,t),s=e[t>>2]+-64|0),e[t>>2]=s,A;e[t>>2]=s-1022,W(0,0|a),W(1,-2146435073&r|1071644672),A=+te()}return A}function Ei(A,t){var r,a,s=0;return(a=1-(s=.5*(r=A*A)))+(1-a-s+(r*(r*(r*(2480158728947673e-20*r-.001388888888887411)+.0416666666666666)+(s=r*r)*s*(r*(-11359647557788195e-27*r+2087572321298175e-24)-27557314351390663e-23))-A*t))}function Is(A,t,r){var a=0,s=0;if(t)for(;r=r-1|0,s=A,A=di(A,t,10),a=J,g[0|r]=s-kt(A,a,10,0)|48,s=t>>>0>9,t=a,s;);if(A)for(;t=(A>>>0)/10|0,g[0|(r=r-1|0)]=A-z(t,10)|48,a=A>>>0>9,A=t,a;);return r}function Dn(A,t){var r=0,a=0,s=0;e:if(A){for(;s=g[t+r|0],(a=e[(r<<2)+A>>2])&&(r=r+1|0,(0|s)==(0|a)););A:switch(a-34|0){case 0:case 5:break A;default:break e}if(!s)return 0}return 1}function k0(A,t,r){var a,s=0;return q=a=q-16|0,!(64&t)&&(s=0,4259840&~t)||(e[a+12>>2]=r+4,s=e[r>>2]),e[a>>2]=s,e[a+4>>2]=0,(A=0|ze(-100,0|A,32768|t,0|a))>>>0>=4294963201&&(e[56798]=0-A,A=-1),q=a+16|0,A}function x0(A,t,r){var a=0,s=0,i=0;if(!r)return 0;e:if(a=l[0|A]){for(;;){if((s=l[0|t])&&!(!(r=r-1|0)|(0|a)!=(0|s))){if(t=t+1|0,a=l[A+1|0],A=A+1|0,a)continue;break e}break}i=a}return(255&i)-l[0|t]|0}function ji(A,t){var r,a=0;q=a=q-128|0,a=VA(a,0,128),g[a+98|0]=9,g[a+66|0]=9,g[a+34|0]=A,b[a+68>>1]=1,r=e[36125],e[a+104>>2]=r,e[a+72>>2]=r,e[a+40>>2]=e[144464+(A<<2)>>2],g[a+2|0]=9,e[a+8>>2]=r,$t(0,0,a+32|0,t,0),q=a+128|0}function B0(A){var t=0,r=0,a=0;if(g[e[A>>2]]-48>>>0>=10)return 0;for(;a=e[A>>2],r=-1,t>>>0<=214748364&&(r=(0|(r=g[0|a]-48|0))>(2147483647^(t=z(t,10)))?-1:r+t|0),e[A>>2]=a+1,t=r,g[a+1|0]-48>>>0<10;);return t}function v0(A,t){var r=0;if(!(!A|e[A>>2]-48>>>0>=10)){if(e[A>>2]-48>>>0<10)for(;r=(e[A>>2]+z(r,10)|0)-48|0,e[(A=A+4|0)>>2]-48>>>0<10;);(0|t)==1&&(r=(0|Wt(e[A>>2]))==115?z(r,1e3):r)}return r}function Rr(A){var t=0;t=1;e:{switch(0|Va(A)){case 30:if(t=0,(0|A)==160|(0|A)==8199|(0|A)==8239)break e;return 1;case 0:if(A-9>>>0<5)return 1;if((0|A)==133)break e;break;case 28:case 29:break e}t=0}return t}function y0(A,t,r){var a,s=0;return q=a=q-16|0,g[a+6|0]=0,g[a+7|0]=95,s=Nr(s=t,t=a+8|0)+a|0,g[s+8|0]=32,g[s+9|0]=0,UA(A,a+7|0,r)||(g[a+7|0]=32,UA(A,t,r)||Kt(A,t,r,20,0,0,0)),q=a+16|0,g[0|r]}function E0(A){var t=0,r=0;r=170;e:if(!((0|A)<170))for(;;){if((0|A)==(0|r))return M[101616+(t<<1|2)>>1];if((2147483646&(t=t+2|0))==124)break e;if(!((0|(r=M[101616+(t<<1)>>1]))<=(0|A)))break}return 0}function kt(A,t,r,a){var s,i,o,c,f=0,m=0;return c=z(f=r>>>16|0,m=A>>>16|0),f=(65535&(m=((o=z(s=65535&r,i=65535&A))>>>16|0)+z(m,s)|0))+z(f,i)|0,J=(z(t,r)+c|0)+z(A,a)+(m>>>16)+(f>>>16)|0,65535&o|f<<16}function Wt(A){var t=0,r=0,a=0,s=0;for(t=2778;;){if((0|(r=e[1040+((a=(t+s|0)/2|0)<<4)>>2]))==(0|A))return(t=e[1048+(a<<4)>>2])||A;if(!((0|(s=(r=A>>>0>r>>>0)?a+1|0:s))<=(0|(t=r?t:a-1|0))))break}return A}function Qn(A){var t=0,r=0,a=0,s=0;for(t=2778;;){if((0|(r=e[1040+((a=(t+s|0)/2|0)<<4)>>2]))==(0|A))return(t=e[1044+(a<<4)>>2])||A;if(!((0|(s=(r=A>>>0>r>>>0)?a+1|0:s))<=(0|(t=r?t:a-1|0))))break}return A}function us(A){var t,r=0;return q=t=q-112|0,(A=0|Je(0|A,0|t))>>>0>=4294963201&&(e[56798]=0-A,A=-1),r=0-e[56798]|0,A||(r=-31,(61440&e[t+12>>2])!=16384&&(r=e[t+40>>2])),q=t+112|0,r}function M0(A,t,r){var a;if(!(a=e[A+16>>2]))return e[A+36>>2]=1,e[A+24>>2]=r,void(e[A+16>>2]=t);e:{if((0|t)==(0|a)){if(e[A+24>>2]!=2)break e;return void(e[A+24>>2]=r)}g[A+54|0]=1,e[A+24>>2]=2,e[A+36>>2]=e[A+36>>2]+1}}function ta(A,t,r,a,s){var i;if(q=i=q-256|0,!(73728&s|(0|r)<=(0|a))){if(VA(i,255&t,(r=(a=r-a|0)>>>0<256)?a:256),!r)for(;_r(A,i,256),(a=a-256|0)>>>0>255;);_r(A,i,a)}q=i+256|0}function ws(A,t,r){var a=0;e:{if(A){if(a=e[A>>2]){yt(e[a+4>>2]),a=e[A>>2];break e}if(a=It(16),e[A>>2]=a,a)break e;t=48}return t}return e[a>>2]=0,e[a+4>>2]=$i(r),A=e[A>>2],e[A+8>>2]=0,e[A+12>>2]=0,t}function ra(A){var t=0,r=0;Li(A),pt[e[A+12>>2]](A),1&g[0|A]||((t=e[A+52>>2])&&(e[t+56>>2]=e[A+56>>2]),(r=e[A+56>>2])&&(e[r+52>>2]=t),e[56816]==(0|A)&&(e[56816]=r),yt(e[A+96>>2]),yt(A))}function ks(A){var t=0,r=0;t=1;e:{A:{r:{s:switch((r=Va(A))-9|0){case 1:break e;case 6:case 18:break r;case 0:break s;default:break A}return(0|Wt(A))!=(0|A)}return Te(A,r)>>>15&1}t=0}return t}function Ui(A){var t,r,a,s=0,i=0;if(a=RA(A)+1|0,s=e[33282],(0|(r=(t=e[33287])+a|0))>=e[33286]){if(!(s=qr(s,i=r+1e3|0)))return-1;e[33286]=i,e[33282]=s}return xt(s+t|0,A,a),e[33287]=r,t}function Tn(A){var t=0;return t=e[A+72>>2],e[A+72>>2]=t-1|t,8&(t=e[A>>2])?(e[A>>2]=32|t,-1):(e[A+4>>2]=0,e[A+8>>2]=0,t=e[A+44>>2],e[A+28>>2]=t,e[A+20>>2]=t,e[A+16>>2]=t+e[A+48>>2],0)}function G0(A,t,r,a){e:if(A){A:switch(t+2|0){case 0:return void(g[0|A]=r);case 1:return void(b[A>>1]=r);case 2:case 3:return void(e[A>>2]=r);case 5:break A;default:break e}e[A>>2]=r,e[A+4>>2]=a}}function Ki(A,t,r,a,s,i,o,c,f){var m;q=m=q-16|0,Yr(m,t,r,a,s,i,o,c,-2147483648^f),a=e[m>>2],r=e[m+4>>2],t=e[m+12>>2],e[A+8>>2]=e[m+8>>2],e[A+12>>2]=t,e[A>>2]=a,e[A+4>>2]=r,q=m+16|0}function Mr(A,t){var r=0,a=0;e:if(!(!(r=l[0|A])|(0|r)!=(0|(a=l[0|t]))))for(;;){if(a=l[t+1|0],!(r=l[A+1|0]))break e;if(t=t+1|0,A=A+1|0,(0|r)!=(0|a))break}return r-a|0}function Mi(A,t){var r=0,a=0,s=0;if(!(r=e[A>>2]))return 84399;if(e[A+4>>2]!=(0|t))for(;;){if(!(r=e[(a=A+8|0)>>2]))return 84399;if(s=A,A=a,e[s+12>>2]==(0|t))break}return r}function Pn(A,t,r){var a=0,s=0,i=0;e:if(r){for(;;){if(!(!(a=e[t>>2])|!(s=e[A>>2])|(0|a)!=(0|s))){if(t=t+4|0,A=A+4|0,r=r-1|0)continue;break e}break}i=s-a|0}return i}function aa(A){var t,r=0,a=0;if((0|(t=e[36115]))>0)for(;;){if(!(!(a=e[144464+(r<<2)>>2])|e[a>>2]!=(0|A)))return l[a+10|0];if((0|t)==(0|(r=r+1|0)))break}return 0}function li(A){var t,r;return(A=(t=e[33175])+(r=A+7&-8)|0)>>>0<=t>>>0&&r||A>>>0>ve.byteLength/65536<<16>>>0&&!(0|He(0|A))?(e[56798]=48,-1):(e[33175]=A,t)}function xs(A){var t=0;e:if(!((t=Va(A))>>>0>27)){if(!(1<<t&134259072)){if((0|t)==6)return 1;if((0|t)!=9)break e;return(0|Qn(A))!=(0|A)}return Te(A,t)>>>14&1}return 0}function zn(A,t){var r=0;return g[0|A]=t>>>24,g[0|(r=(t>>>0>16777215)+A|0)]=t>>>16,g[0|(r=r+!!(16711680&t)|0)]=t>>>8,g[0|(r=r+!!(65280&t)|0)]=t,g[r+!!(255&t)|0]=0,A}function Fn(A,t){e:if((0|(A=wr(A,t)))<=268437502){if(!A|(0|A)==268436479|(0|A)!=268437247)break e;return}}function Sn(A){var t=0;return t=e[A>>2]-1|0,(t=g[121600+(z(0-t&t,124511785)>>>27|0)|0])||(A=e[A+4>>2],t=(A=g[121600+(z(0-A&A,124511785)>>>27|0)|0])?A+32|0:0),t}function Zi(A){var t=0,r=0,a=0;e:{if(!((t=Va(A))>>>0>27)){if(r=1,116672&(a=1<<t))break e;if(134227968&a)return Te(A,t)>>>10&1}r=0}return r}function ds(A){var t=0,r=0,a=0;e:{if(!((t=Va(A))>>>0>27)){if(r=1,34752&(a=1<<t))break e;if(134227968&a)return Te(A,t)>>>10&1}r=0}return r}function Xi(){var A,t=0;(A=e[56797])&&((t=e[A+8>>2])&&pt[e[e[t>>2]+12>>2]](t),(t=e[A+4>>2])&&pt[e[e[t>>2]+16>>2]](t),yt(A)),e[56797]=0,e[56797]=ls()}function D0(A,t){var r=0;return A&&(r=kt(A,0,t,0),(A|t)>>>0<65536||(r=J?-1:r)),!(A=It(r))|!(3&l[A-4|0])||VA(A,0,r),A}function Nn(A,t){var r,a;a=e[130128+(t-z(r=(0|t)/100|0,100)<<2)>>2],e[A+100>>2]=a,e[A+96>>2]=a,t+99>>>0>=199&&(e[A+100>>2]=e[130128+(r<<2)>>2])}function On(A){var t=0;(t=It(1344))&&(A=xt(t,A,1344),t=216192+(e[50758]<<4)|0,e[t>>2]=11,e[t+8>>2]=A,A=e[50758]+1|0,e[50758]=(0|A)<=169?A:0)}function Bs(A,t){var r=0;e:if(r=e[A>>2])for(;;){if(t&&!Mr(t,r))break e;if(!(r=e[(A=A+8|0)>>2]))break}return e[A+4>>2]}function qi(A){var t,r=0;return q=t=q-16|0,r=-1,Vi(A)||(0|pt[e[A+32>>2]](A,t+15|0,1))==1&&(r=l[t+15|0]),q=t+16|0,r}function Wr(A,t){var r=0,a=0;if(t){for(;a=A,(r=e[A>>2])&&(A=a+4|0,(0|t)!=(0|r)););return r?a:0}return(Q0(A)<<2)+A|0}function Ln(A,t){var r=0,a=0;if(r=M[A>>1])for(;;){if(a=a+1|0,(0|t)==(0|r))return a;if(!(r=M[(a<<1)+A>>1]))break}return 0}function Ji(A,t){var r=0,a=0;t>>>0<=31?(a=e[A>>2],r=A+4|0):(t=t-32|0,r=A),r=e[r>>2],e[A>>2]=a<<t,e[A+4>>2]=r<<t|a>>>32-t}function Gi(A,t){var r=0,a=0;r=e[A+4>>2],t>>>0<=31?a=e[A>>2]:(t=t-32|0,a=r,r=0),e[A+4>>2]=r>>>t,e[A>>2]=r<<32-t|a>>>t}function Na(A){var t=0;A=A||1;e:{for(;;){if(t=It(A))break e;if(!(t=e[57276]))break;pt[0|t]()}gA(),Be()}return t}function Di(A){return A>>>0<=131071?l[117424+(A>>>3&31|l[117424+(A>>>8|0)|0]<<5)|0]>>>(7&A)&1:A>>>0<196606}function Yn(A,t,r,a,s,i,o,c,f){e[A>>2]=t,e[A+4>>2]=r,e[A+8>>2]=a,e[A+12>>2]=65535&s|(f>>>16&32768|s>>>16&32767)<<16}function As(A,t,r){return r?(0|A)==(0|t)?1:!Mr(e[A+4>>2],e[t+4>>2]):e[A+4>>2]==e[t+4>>2]}function Hn(A){var t=0;(0|(t=0|IA(-100,0|A,0)))==-31&&(t=0|hA(0|A)),t>>>0>=4294963201&&(e[56798]=0-t)}function _i(){var A;A=It(84)+80|0,e[A>>2]=125420,e[A>>2]=125380,e[A>>2]=125400,OA(0|A,125512,9),Be()}function Rn(A){var t,r;return t=Wi(A),r=Wi(A),Wi(A)<<16&16711680|r<<8&65280|255&t|Wi(A)<<24}function ci(A){var t=0;return A?(t=1,A-9472>>>0<160|A-65529>>>0<7||(t=Rr(A)),t):0}function Wn(A,t){var r;return r=t>>31,e[A+76>>2],function(a,s,i){return e[a+20>>2]!=e[a+28>>2]&&(pt[e[a+36>>2]](a,0,0),!e[a+20>>2])||(e[a+28>>2]=0,e[a+16>>2]=0,e[a+20>>2]=0,pt[e[a+40>>2]](a,s,i,0),(0|J)<0)?-1:(e[a+4>>2]=0,e[a+8>>2]=0,e[a>>2]=-17&e[a>>2],0)}(A,t,r)}function Q0(A){var t=0,r=0;for(r=A;r=(t=r)+4|0,e[t>>2];);return t-A>>2}function T0(A,t){return g[0|A]=t,g[A+4|0]=0,g[A+3|0]=t>>>24,g[A+2|0]=t>>>16,g[A+1|0]=t>>>8,A}function sa(A,t){var r=0;return(-1>>>(r=31&t)&A)<<r|((r=A)&-1<<(A=0-t&31))>>>A}function Qi(A,t){var r=0;return(0|A)==73&&(r=305,l[t+173|0])||(r=Wt(A)),r}function ma(A){e[36114]!=(0|A)&&(e[36115]=0,xa(A),e[36114]=A,e[36115]=e[36115]+1)}function Vn(A){return A?e[34460]+A|0:(jn(85328,20,e[30450]),e[32320])}function $i(A){var t,r;return(r=It(t=RA(A)+1|0))?xt(r,A,t):0}function ja(){var A;e[33287]=0,(A=e[33282])&&(yt(A),e[33286]=0,e[33282]=0)}function hr(A,t,r){var a;q=a=q-16|0,e[a+12>>2]=r,Fs(A,t,r),q=a+16|0}function jn(A,t,r){e[r+76>>2],A=m0(A,t,r)}function Ps(A,t){return t?A<<24|(65280&A)<<8|A>>>8&65280|A>>>24:A}function gi(A){return A-8212>>>0>=12?Ln(93856,A):1}function P0(A){var t=0;A&&((t=e[A+688>>2])&&yt(t),yt(A))}function Un(A){return(0|A)<=127?ts(87712,A):0}function Kn(A){return!(A=l[0|A]?1:va(A,A+1|0,3))}function z0(A){(A=(0|(A=0|DA(0|A)))!=27?A:0)&&(e[56798]=A)}function zs(A,t,r){return A|=0,t|=0,0|pt[0|(r|=0)](A,t)}function ts(A,t){return A=Vs(A,t),l[0|A]==(255&t)?A:0}function Zn(A,t){return Se(A,t,2147483647),J=ge,HA}function Ti(A){return A?31-Oe(A-1^A)|0:32}function _r(A,t,r){32&l[0|A]||m0(t,r,A)}function sr(A,t,r){g[(Ur(A,t,r)+r|0)-1|0]=0}function ui(A){return En(A,188776,189328)}function F0(A,t){t|=0,e[8+(A|=0)>>2]=t}function Fs(A,t,r){return nr(A,t,r,0,0)}function Ss(A){return e[12+(A|=0)>>2]}function Zs(A){return e[16+(A|=0)>>2]}function Xn(A){return e[20+(A|=0)>>2]}function Ca(A){return e[8+(A|=0)>>2]}function S0(A){return e[4+(A|=0)>>2]}function qn(A){return e[(A|=0)>>2]}function di(A,t,r){return Se(A,t,r)}function Pi(A){(A|=0)&&yt(A)}function ia(A,t){JA(RA(A)+A|0,t)}function Jn(A){return 0|A}function en(A){return 0}function Xs(A){yt(A|=0)}function N0(A){}O(k=l
vendor: 59,318 bytes, line 2737
2737,1024,"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"),
2737O(k,45536,"HhYWFhgWFhYXExYaFhIWFg4ODg4ODg4ODg4WFhoaGhYWCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoXFhMZERkGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBhcaExo="),O(k
vendor: 47,683 bytes, line 2737
2737,45664,"HhYYGBgYGxYZGwgVGgEbGRsaEBAZBhYWGRAIFBAQEBYKCgoKCgoKCgoKCgoKCgoKCgoKCgoKChoKCgoKCgoKBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGGgYGBgYGBgYGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYGCgYKBgoGCgYKBgoGCgYKBgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgoGCgYKBgYGCgoGCgYKCgYKCgoGBgoKCgoGCgoGCgoKBgYGCgoGCgoGCgYKBgoKBgoGBgoGCgoGCgoKBgoGCgoGBggKBgYGCAgICAoJBgoJBgoJBgoGCgYKBgoGCgYKBgoGCgYGCgYKBgoGCgYKBgoGCgYKBgoGBgoJBgoGCgoKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYGBgYGBgYKCgYKCgYGCgYKCgoKBgoGCgYKBgoGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYIBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBwcHBwcHBwcHBwcHBwcHBwcHGRkZGQcHBwcHBwcHBwcHBxkZGRkZGRkZGRkZGRkZBwcHBwcZGRkZGRkZBxkHGRkZGRkZGRkZGRkZGRkZGRkNDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NCgYKBgcZCgYCAgcGBgYWCgICAgIZGQoWCgoKAgoCCgoGCgoKCgoKCgoKCgoKCgoKCgoCCgoKCgoKCgoKBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYKBgYKCgoGBgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYGBgYGCgYaCgYKCgYGCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBhsNDQ0NDQwMCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgoGCgYKBgoGCgYKBgoGBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgIKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgICBxYWFhYWFgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGFhICAhsbGAINDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0SDRYNDRYNDRYNAgICAgICAgIICAgICAgICAgICAgICAgICAgICAgICAgICAgCAgICCAgICBYWAgICAgICAgICAgIBAQEBAQEaGhoWFhgWFhsbDQ0NDQ0NDQ0NDQ0WAQIWFggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBwgICAgICAgICAgNDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0ODg4ODg4ODg4OFhYWFggIDQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYIDQ0NDQ0NDQEbDQ0NDQ0NBwcNDRsNDQ0NCAgODg4ODg4ODg4OCAgIGxsIFhYWFhYWFhYWFhYWFhYCAQgNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NAgIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0NDQ0NDQ0NDQ0NCAICAgICAgICAgICAgICDg4ODg4ODg4ODggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0NDQ0NDQ0NDQcHGxYWFgcCAg0YGAgICAgICAgICAgICAgICAgICAgICAgNDQ0NBw0NDQ0NDQ0NDQcNDQ0HDQ0NDQ0CAhYWFhYWFhYWFhYWFhYWFgIICAgICAgICAgICAgICAgICAgICAgICAgIDQ0NAgIWAggICAgICAgICAgIAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIICAgICAgICAgICAgICAgICAgICAgCCAgICAgICAgCAgICAgICAgICAgICAgICAgICAgINDQ0NDQ0NDQ0NDQ0NDQ0BDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0LCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQsNCAsLCw0NDQ0NDQ0NCwsLCw0LCwgNDQ0NDQ0NCAgICAgICAgICA0NFhYODg4ODg4ODg4OFgcICAgICAgICAgICAgICAgNCwsCCAgICAgICAgCAggIAgIICAgICAgICAgICAgICAgICAgICAgIAggICAgICAgCCAICAggICAgCAg0ICwsLDQ0NDQICCwsCAgsLDQgCAgICAgICAgsCAgICCAgCCAgIDQ0CAg4ODg4ODg4ODg4ICBgYEBAQEBAQGxgIFg0CAg0NCwIICAgICAgCAgICCAgCAggICAgICAgICAgICAgICAgICAgICAgCCAgICAgICAIICAIICAIICAICDQILCwsNDQICAgINDQICDQ0NAgICDQICAgICAgIICAgIAggCAgICAgICDg4ODg4ODg4ODg0NCAgIDRYCAgICAgICAgICDQ0LAggICAgICAgICAIICAgCCAgICAgICAgICAgICAgICAgICAgICAIICAgICAgIAggIAggICAgIAgINCAsLCw0NDQ0NAg0NCwILCw0CAggCAgICAgICAgICAgICAgIICA0NAgIODg4ODg4ODg4OFhgCAgICAgICCA0NDQ0NDQINCwsCCAgICAgICAgCAggIAgIICAgICAgICAgICAgICAgICAgICAgIAggICAgICAgCCAgCCAgICAgCAg0ICw0LDQ0NDQICCwsCAgsLDQICAgICAgICDQsCAgICCAgCCAgIDQ0CAg4ODg4ODg4ODg4bCBAQEBAQEAICAgICAgICAgINCAIICAgICAgCAgIICAgCCAgICAICAggIAggCCAgCAgIICAICAggICAICAggICAgICAgICAgICAICAgILCw0LCwICAgsLCwILCwsNAgIIAgICAgICCwICAgICAgICAgICAgICDg4ODg4ODg4ODhAQEBsbGxsbGxgbAgICAgINCwsLDQgICAgICAgIAggICAIICAgICAgICAgICAgICAgICAgICAgICAIICAgICAgICAgICAgICAgIAgICCA0NDQsLCwsCDQ0NAg0NDQ0CAgICAgICDQ0CCAgIAgICAgIICA0NAgIODg4ODg4ODg4OAgICAgICAgIQEBAQEBAQGwgNCwsWCAgICAgICAgCCAgIAggICAgICAgICAgICAgICAgICAgICAgIAggICAgICAgICAgCCAgICAgCAg0ICw0LCwsLCwINCwsCCwsNDQICAgICAgILCwICAgICAgIIAggIDQ0CAg4ODg4ODg4ODg4CCAgCAgICAgICAgICAgICDQ0LCwIICAgICAgICAIICAgCCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNDQgLCwsNDQ0NAgsLCwILCwsNCBsCAgICCAgICxAQEBAQEBAICAgNDQICDg4ODg4ODg4ODhAQEBAQEBAQEBsICAgICAgCAgsLAggICAgICAgICAgICAgICAgICAICAggICAgICAgICAgICAgICAgICAgICAgICAIICAgICAgICAgCCAICCAgICAgICAICAg0CAgICCwsLDQ0NAg0CCwsLCwsLCwsCAgICAgIODg4ODg4ODg4OAgILCxYCAgICAgICAgICAgIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNCAgNDQ0NDQ0NAgICAhgICAgICAgHDQ0NDQ0NDQ0WDg4ODg4ODg4ODhYWAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAggIAggCAggIAggCAggCAgICAgIICAgIAggICAgICAgCCAgIAggCCAICCAgCCAgICA0ICA0NDQ0NDQINDQgCAggICAgIAgcCDQ0NDQ0NAgIODg4ODg4ODg4OAgIICAgIAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIIGxsbFhYWFhYWFhYWFhYWFhYWGxYbGxsNDRsbGxsbGw4ODg4ODg4ODg4QEBAQEBAQEBAQGw0bDRsNFxMXEwsLCAgICAgICAgCCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAgICAg0NDQ0NDQ0NDQ0NDQ0NCw0NDQ0NFg0NCAgICAgNDQ0NDQ0NDQ0NDQINDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0CGxsbGxsbGxsNGxsbGxsbAhsbFhYWFhYbGxsbFhYCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsLDQ0NDQsNDQ0NDQ0LDQ0LCw0NCA4ODg4ODg4ODg4WFhYWFhYICAgICAgLCw0NCAgICA0NDQgLCwsICAsLCwsLCwsICAgNDQ0NCAgICAgICAgICAgICA0LCw0NCwsLCwsLDQgLDg4ODg4ODg4ODgsLCw0bGwoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKAgoCAgICAgoCAgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYWBwYGBggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAggICAgCAggICAgICAgCCAIICAgIAgIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAIICAgIAgIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCCAgICAICCAgICAgICAIIAggICAgCAggICAgICAgICAgICAgICAIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCCAgICAICCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAICDQ0NFhYWFhYWFhYWEBAQEBAQEBAQEBAQEBAQEBAQEBACAgIICAgICAgICAgICAgICAgIGxsbGxsbGxsbGwICAgICAgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKAgIGBgYGBgYCAhIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhYICAgICAgICAgICAgICAgICB4ICAgICAgICAgICAgICAgICAgICAgICAgICBcTAgICCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhYWDw8PCAgICAgICAgCAgICAgICCAgICAgICAgICAgICAIICAgIDQ0NAgICAgICAgICAgIICAgICAgICAgICAgICAgICAgNDQ0WFgICAgICAgICAggICAgICAgICAgICAgICAgICA0NAgICAgICAgICAgICCAgICAgICAgICAgICAIICAgCDQ0CAgICAgICAgICAgIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQ0LDQ0NDQ0NDQsLCwsLCwsLDQsLDQ0NDQ0NDQ0NDQ0WFhYHFhYWGAgNAgIODg4ODg4ODg4OAgICAgICEBAQEBAQEBAQEAICAgICAhYWFhYWFhIWFhYWDQ0NAQIODg4ODg4ODg4OAgICAgICCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgHCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCAgICAgICCAgICAgNDQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNCAICAgICCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAICAgICAgICAgIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAg0NDQsLCwsNDQsLCwICAgILCw0LCwsLCwsNDQ0CAgICGwICAhYWDg4ODg4ODg4ODggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAICCAgICAgCAgICAgICAgICAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAgICAggICAgICAgICAgICAgICAgICAgICAgICAgIAgICAgICDg4ODg4ODg4ODhACAgIbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbCAgICAgICAgICAgICAgICAgICAgICAgNDQsLDQICFhYICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsNCw0NDQ0NDQ0CDQsNCwsNDQ0NDQ0NDQsLCwsLCw0NDQ0NDQ0NDQ0CAg0ODg4ODg4ODg4OAgICAgICDg4ODg4ODg4ODgICAgICAhYWFhYWFhYHFhYWFhYWAgINDQ0NDQ0NDQ0NDQ0NDQwCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg0NDQ0LCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNCw0NDQ0NCw0LCwsLCw0LCwgICAgICAgCAgICDg4ODg4ODg4ODhYWFhYWFhYbGxsbGxsbGxsbDQ0NDQ0NDQ0NGxsbGxsbGxsbAgICDQ0LCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICw0NDQ0LCw0NCw0NDQgIDg4ODg4ODg4ODggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQsNDQsLCw0LDQ0NCwsCAgICAgICAhYWFhYICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLCwsLCwsLCw0NDQ0NDQ0NCwsNDQICAhYWFhYWDg4ODg4ODg4ODgICAggICA4ODg4ODg4ODg4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgHBwcHBwcWFgYGBgYGBgYGBgICAgICAgIKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKAgIKCgoWFhYWFhYWFgICAgICAgICDQ0NFg0NDQ0NDQ0NDQ0NDQ0LDQ0NDQ0NDQgICAgNCAgICAsLDQgICw0NAgICAgICBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcGBgYGBgYGBgYGBgYGBwYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQINDQ0NDQoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgYGBgYGBgYGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYGBgYGBgYGBgoKCgoKCgoKBgYGBgYGAgIKCgoKCgoCAgYGBgYGBgYGCgoKCgoKCgoGBgYGBgYGBgoKCgoKCgoKBgYGBgYGAgIKCgoKCgoCAgYGBgYGBgYGAgoCCgIKAgoGBgYGBgYGBgoKCgoKCgoKBgYGBgYGBgYGBgYGBgYCAgYGBgYGBgYGCQkJCQkJCQkGBgYGBgYGBgkJCQkJCQkJBgYGBgYGBgYJCQkJCQkJCQYGBgYGAgYGCgoKCgkZBhkZGQYGBgIGBgoKCgoJGRkZBgYGBgICBgYKCgoKAhkZGQYGBgYGBgYGCgoKCgoZGRkCAgYGBgIGBgoKCgoJGRkCHh4eHh4eHh4eHh4BAQEBARISEhISEhYWFRQXFRUUFxUWFhYWFhYWFhwdAQEBAQEeFhYWFhYWFhYWFRQWFhYWEREWFhYaFxMWFhYWFhYWFhYWFhoWERYWFhYWFhYWFhYeAQEBAQECAQEBAQEBAQEBARAHAgIQEBAQEBAaGhoXEwcQEBAQEBAQEBAQGhoaFxMCBwcHBwcHBwcHBwcHBwICAhgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYAgICAgICAgICAgICAgICAg0NDQ0NDQ0NDQ0NDQ0MDAwMDQwMDA0NDQ0NDQ0NDQ0NDQICAgICAgICAgICAgICAhsbChsbGxsKGxsGCgoKBgYKCgoGGwobGxoKCgoKChsbGxsbGwobChsKGwoKCgobBgoKCgoGCAgICAYbGwYGCgoaGhoaGgoGBgYGGxobGwYbEBAQEBAQEBAQEBAQEBAQEA8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PCgYPDw8PEBsbAgICAhoaGhoaGxsbGxsaGhsbGxsaGxsaGxsaGxsbGxsbGxobGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGhobGxobGhsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGxsbGxsbGxsXExcTGxsbGxsbGxsbGxsbGxsbGxsbGxsaGhsbGxsbGxsXExsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxobGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxoaGhoaGhsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGwICAgICAgICAgICAgICAgICAgICAgICAgIbGxsbGxsbGxsbGwICAgICAgICAgICAgICAgICAgICAhAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxAQEBAQEBAQEBAQEBAQEBAQEBAQEBAbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsaGxsbGxsbGxsbGhsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxoaGhoaGhoaGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGhsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbFxMXExcTFxMXExcTFxMQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxoaGhoaFxMaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaFxMXExcTFxMXExoaGhoaGhoaGhoaGhoaGhobGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoXExcTFxMXExcTFxMXExcTFxMXExcTGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaFxMXExoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaFxMaGhsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxoaGhoaGhoaGhoaGhoaGhoaGhoaGhsbGhoaGhoaGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbAgIbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGwICGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGwIbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGwIKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgIGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgIKBgoKCgYGCgYKBgoGCgoKCgYKBgYKBgYGBgYGBwcKCgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYGGxsbGxsbCgYKBg0NDQoGAgICAgIWFhYWEBYWBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYCBgICAgICBgICCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCAgICAgICBxYCAgICAgICAgICAgICAg0ICAgICAgICAgICAgICAgICAgICAgICAICAgICAgICAggICAgICAgCCAgICAgICAIICAgICAgIAggICAgICAgCCAgICAgICAIICAgICAgIAggICAgICAgCCAgICAgICAINDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDRYWFRQVFBYWFhUUFhUUFhYWFhYWFhYWEhYWEhYVFBYWFRQXExcTFxMXExYWFhYWBxYWFhYWFhYWFhYSEhYWFhYSFhcWFhYWFhYWFhYWFhYCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsCGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsCAgICAgICAgICAgIbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbAgICAgICAgICAgICAgICAgICAgICAgICAgIbGxsbGxsbGxsbGxsCAgICHhYWFhsHCA8XExcTFxMXExcTGxsXExcTFxMXExIXExMbDw8PDw8PDw8PDQ0NDQsLEgcHBwcHGxsPDw8HCBYbGwIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAICDQ0ZGQcHCBIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWBwcHCAICAgICCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAhsbEBAQEBsbGxsbGxsbGxsICAgICAgICAgICAgICAgICAgICAgICAgICAgCAgICAhsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGwICAgICAgICAgICAggICAgICAgICAgICAgICAgbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbAhAQEBAQEBAQEBAbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsQEBAQEBAQEBsQEBAQEBAQEBAQEBAQEBAbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxAQEBAQEBAQEBAbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsQEBAQEBAQEBAQEBAQEBAbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsCCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCAgICAgICAgICGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAICAgICAgICAgICAgICAgIICAgICAgICAgICAgICAgICAgICAgHCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAgICGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGwICAgICAgICAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgHBwcHBwcWFggICAgICAgICAgICAcWFhYICAgICAgICAgICAgICAgIDg4ODg4ODg4ODggIAgICAgICAgICAgICAgICAgICAgIKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCA0MDAwWDQ0NDQ0NDQ0NDRYHCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgcHDQ0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw8PDw8PDw8PDw0NFhYWFhYWAgICAgICAgIZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGQcHBwcHBwcHBxkZCgYKBgoGCgYKBgoGCgYGBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoGBwYGBgYGBgYGCgYKBgoKBgoGCgYKBgoGBxkZCgYKBggKBgoGBgYKBgoGCgYKBgoGCgYKBgoGCgYKBgoKCgoKBgoKCgoKBgoGCgYCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICCAcHBggICAgICAgNCAgIDQgICAgNCAgICAgICAgICAgICAgICAgICAgICAgLCw0NCxsbGxsCAgICEBAQEBAQGxsYGwICAgICAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWFhYWAgICAgICAgILCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICwsLCwsLCwsLCwsLCwsLCw0NAgICAgICAgIWFg4ODg4ODg4ODg4CAgICAgINDQ0NDQ0NDQ0NDQ0NDQ0NDQ0ICAgICAgWFhYIFggIDQ4ODg4ODg4ODg4ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQ0NDQ0NDQ0WFggICAgICAgICAgICAgICAgICAgICAgIDQ0NDQ0NDQ0NDQ0LCwICAgICAgICAgICFggICAgICAgICAgICAgICAgICAgICAgICAgICAgIAgICDQ0NCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQsLDQ0NDQsLDQsLCwsWFhYWFhYWFhYWFhYWAgcODg4ODg4ODg4OAgICAhYWCAgICAgNBwgICAgICAgICA4ODg4ODg4ODg4ICAgICAIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0NDQ0NDQsLDQ0LCw0NAgICAgICAgICCAgIDQgICAgICAgIDQsCAg4ODg4ODg4ODg4CAhYWFhYICAgICAgICAgICAgICAgIBwgICAgICBsbGwgLDQsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0IDQ0NCAgNDQgICAgIDQ0IDQgCAgICAgICAgICAgICAgICAgICAgICAgIICAcWFggICAgICAgICAgICw0NCwsWFggHBwsNAgICAgICAgICAggICAgICAICCAgICAgIAgIICAgICAgCAgICAgICAgIICAgICAgIAggICAgICAgCBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBhkHBwcHBgYGBgYGAgICAgICAgICAgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLCw0LCw0LCxYLDQICDg4ODg4ODg4ODgICAgICAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAgICAgICAgICAgICCAgICAgICAgICAgICAgICAgICAgICAgCAgICCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAICAgIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYGBgYGBgYCAgICAgICAgICAgIGBgYGBgICAgICCA0ICAgICAgICAgIGggICAgICAgICAgICAgCCAgICAgCCAIICAIICAIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGRkZGRkZGRkZGRkZGRkZAgICAgICAgICAgICAgICAgIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMXAgICAgICAgICAgICAgICAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIICAgICAgICAgICAgYGwICDQ0NDQ0NDQ0NDQ0NDQ0NDRYWFhYWFhYXExYCAgICAgINDQ0NDQ0NDQ0NDQ0NDQ0NFhISEREXExcTFxMXExcTFxMXExcTFhYXExYWFhYREREWFhYCFhYWFhIXExcTFxMWFhYaEhoaGgIWGBYWAgICAggICAgIAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAICAQIWFhYYFhYWFxMWGhYSFhYODg4ODg4ODg4OFhYaGhoWFgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKFxYTGREZBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYXGhMaFxMWFxMWFggICAgICAgICAgHCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIBwcICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAgICCAgICAgIAgIICAgICAgCAggICAgICAICCAgIAgICGBgaGRsYGAIbGhoaGhsbAgICAgICAgICAgEBARsbAgIICAgICAgICAgICAgCCAgICAgICAgICAgICAgICAgICAgICAgICAgCCAgICAgICAgICAgICAgICAgICAIICAIICAgICAgICAgICAgICAgCAggICAgICAgICAgICAgIAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAICAgICFhYWAgICAhAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAICAhsbGxsbGxsbGw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PEBAQEBsbGxsbGxsbGxsbGxsbGxsbEBAbGxsCGxsbGxsbGxsbGxsbAgICAhsCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGw0CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCAgIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAgICAgICAgICAgICAgICDRAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAICAgIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAQEBACAgICAgICAgIICAgICAgICAgICAgICAgICAgICA8ICAgICAgICA8CAgICAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQ0NDQ0CAgICAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAIWCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAgICAggICAgICAgIFg8PDw8PAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCAg4ODg4ODg4ODg4CAgICAgIKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoCAgICBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGAgICAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCAgICAgICAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCAgICAgICAgICAhYCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAgICAgICAgICCAgICAgICAgICAgICAgICAgICAgICAICAgICAgICAgIICAgICAgICAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICCAgICAgIAgIIAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAggIAgICCAICCAgICAgICAgICAgICAgICAgICAgICAgCFhAQEBAQEBAQCAgICAgICAgICAgICAgICAgICAgICAgbGxAQEBAQEBAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAgICAgICAgIQEBAQEBAQEBACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIICAgICAgICAgICAgICAgICAgIAggIAgICAgIQEBAQEAgICAgICAgICAgICAgICAgICAgICAgQEBAQEBACAgIWCAgICAgICAgICAgICAgICAgICAgICAgICAgCAgICAhYCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCAgICEBAICBAQEBAQEBAQEBAQEBAQEBACAhAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAIDQ0NAg0NAgICAgINDQ0NCAgICAIICAgCCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCAg0NDQICAgINEBAQEBAQEBAQAgICAgICAhYWFhYWFhYWFgICAgICAgIICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAQFggICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBAQAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIICAgICAgICBsICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQ0CAgICEBAQEBAWFhYWFhYWAgICAgICAgICCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAgICFhYWFhYWFggICAgICAgICAgICAgICAgICAgICAgCAhAQEBAQEBAQCAgICAgICAgICAgICAgICAgICAICAgICEBAQEBAQEBAICAgICAgICAgICAgICAgICAgCAgICAgICFhYWFgICAgICAgICAgICAhAQEBAQEBACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKAgICAgICAgICAgICAgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgICAgICAgIQEBAQEBAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNDQ0NAgICAgICAgIODg4ODg4ODg4OAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAggICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBAQEBAQEBAQEAgCAgICAgICAggICAgICAgICAgICAgICAgICAgICAgNDQ0NDQ0NDQ0NDRAQEBAWFhYWFgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgILDQsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0NDQ0NDQ0NDQ0NDQ0NDRYWFhYWFhYCAgICEBAQEBAQEBAQEBAQEBAQEBAQEBAODg4ODg4ODg4OAgICAgICAgICAgICAgICDQ0NCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAsLCw0NDQ0LCw0NFhYBFhYWFgICAgICAgICAgICAQICCAgICAgICAgICAgICAgICAgICAgICAgICAICAgICAgIODg4ODg4ODg4OAgICAgICDQ0NCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQ0NDQ0LDQ0NDQ0NDQ0CDg4ODg4ODg4ODhYWFhYICwsCAgICAgICAgIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0WFggCAgICAgICAgINDQsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLCwsNDQ0NDQ0NDQ0LCwgICAgWFhYWDQ0NDRYCAg4ODg4ODg4ODg4IFggWFhYCEBAQEBAQEBAQEBAQEBAQEBAQEBACAgICAgICAgICAggICAgICAgICAgICAgICAgICAIICAgICAgICAgICAgICAgICAgICAgICAgICwsLDQ0NCwsNCw0NFhYWFhYWDQICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICCAgICAgICAIIAggICAgCCAgICAgICAgICAgICAgIAggICAgICAgICAgWAgICAgICCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNCwsLDQ0NDQ0NDQ0CAgICAg4ODg4ODg4ODg4CAgICAgINDQsLAggICAgICAgIAgIICAICCAgICAgICAgICAgICAgICAgICAgICAIICAgICAgIAggIAggICAgIAg0NCAsLDQsLCwsCAgsLAgILCwsCAggCAgICAgILAgICAgIICAgICAsLAgINDQ0NDQ0NAgICDQ0NDQ0CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLCwsNDQ0NDQ0NDQsLDQ0NCw0ICAgIFhYWFhYODg4ODg4ODg4OAhYCFg0CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLCwsNDQ0NDQ0LDQsLCwsNDQsNDQgIFggCAgICAgICAg4ODg4ODg4ODg4CAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLCwsNDQ0NAgILCwsLDQ0LDQ0WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFggICAgNDQICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLCwsNDQ0NDQ0NDQsLDQsNDRYWFggCAgICAgICAgICAg4ODg4ODg4ODg4CAgICAgIWFhYWFhYWFhYWFhYWAgICAgICAgICAgICAgICAgICAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNCw0LCw0NDQ0NDQsNAgICAgICAgIODg4ODg4ODg4OAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICCAgICAgICAgICAgICAgICAgICAgICAgICAgIAgINDQ0LCw0NDQ0LDQ0NDQ0CAgICDg4ODg4ODg4ODhAQFhYWGwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICwsLDQ0NDQ0NDQ0NCw0NFgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGDg4ODg4ODg4ODhAQEBAQEBAQEAICAgICAgICAgICAggCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICCA0NDQ0NDQ0NDQ0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQ0NDQ0NCwgNDQ0NFhYWFhYWFhYNAgICAgICAgIIDQ0NDQ0NCwsNDQ0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAgIICAgIDQ0NDQ0NDQ0NDQ0NDQsNDRYWFggWFhYWFgICAgICAgICAgICAgICAgICAgICAgICAgICAgICCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAgICAgICAggICAgICAgICAIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICw0NDQ0NDQ0CDQ0NDQ0NCw0IFhYWFhYCAgICAgICAgICDg4ODg4ODg4ODhAQEBAQEBAQEBAQEBAQEBAQEBACAgIWFggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAICDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQILDQ0NDQ0NDQsNDQsNDQICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIICAgICAgIAggIAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQ0NDQ0NAgICDQINDQINDQ0NDQ0NCA0CAgICAgICAg4ODg4ODg4ODg4CAgICAgIICAgICAgCCAgCCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLCwsLCwINDQILCw0LDQgCAgICAgICDg4ODg4ODg4ODgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIICAgICAgICAgICAgICAgICAgIDQ0LCxYWAgICAgICAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIPDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8CFhYWFhYCAgICAgICAgICAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAgICAgICAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCDg4ODg4ODg4ODgICAgIWFgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAICDQ0NDQ0WAgICAgICAgICAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0NDQ0NDQ0WFhYWFhsbGxsHBwcHFhsCAgICAgICAgICDg4ODg4ODg4ODgIQEBAQEBAQAggICAgICAgICAgICAgICAgICAgICAICAgICCAgICAgICAgICAgICAgICAgICAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBhAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFhYWFgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAgICAgICAgICAgIICwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwICAgICAgICAgICAgICAgINDQ0NBwcHBwcHBwcHBwcHBwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAgICAgICAgICAgICAgIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCAgICAgICAgICAgICCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAICAgIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAICAgICCAgICAgICAgICAgICAICAggICAgICAgICAICAgICAgIICAgICAgICAgIAgIbDQ0WAQEBAQICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbAgICAgICAgICAhsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGwICGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbCwsNDQ0bGxsLCwsLCwsBAQEBAQEBAQ0NDQ0NDQ0NGxsNDQ0NDQ0NGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbDQ0NDRsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbAgICAgICAgICAgICAgICAgICAgICAgIbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsNDQ0bAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhAQEBAQEBAQEBAQEBAQEBAQEBAQAgICAgICAgICAgICGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbAgICAgICAgICEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgYGBgYGBgYCBgYGBgYGBgYGBgYGBgYGBgYGCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgoCCgoCAgoCAgoKAgIKCgoKAgoKCgoKCgoKBgYGBgIGAgYGBgYGBgYCBgYGBgYGBgYGBgYKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGCgoCCgoKCgICCgoKCgoKCgoCCgoKCgoKCgIGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgoKAgoKCgoCCgoKCgoCCgICAgoKCgoKCgoCBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgICCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKChoGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGGgYGBgYGBgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoaBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBhoGBgYGBgYKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKGgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYaBgYGBgYGCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKChoGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGGgYGBgYGBgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoaBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBhoGBgYGBgYKBgICDg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NGxsbGw0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NGxsbGxsbGxsNGxsbGxsbGxsbGxsbGxsNGxsWFhYWFgICAgICAgICAgICAgICAg0NDQ0NAg0NDQ0NDQ0NDQ0NDQ0NDQICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDQ0NDQ0NDQINDQ0NDQ0NDQ0NDQ0NDQ0NDQICDQ0NDQ0NDQINDQINDQ0NDQICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAgIQEBAQEBAQEBANDQ0NDQ0NAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBg0NDQ0NDQ0CAgICAg4ODg4ODg4ODg4CAgICFhYCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBsQEBAYEBAQEAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAggICAgCCAgICAgICAgICAgICAgICAgICAgICAgICAgIAggIAggCAggCCAgICAgICAgICAIICAgIAggCCAICAgICAggCAgICCAIIAggCCAgIAggIAggCAggCCAIIAggCCAIICAIIAgIICAgIAggICAgICAgCCAgICAIICAgIAggCCAgICAgICAgICAIICAgICAgICAgICAgICAgICAICAgICCAgIAggICAgIAggICAgICAgICAgICAgICAgIAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhoaAgICAgICAgICAgICAgIbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGwICAgIbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbAgICAgICAgICAgICGxsbGxsbGxsbGxsbGxsbAgIbGxsbGxsbGxsbGxsbGxsCGxsbGxsbGxsbGxsbGxsbAhsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsCAgICAgICAgICEBAQEBAQEBAQEBAQEAICAhsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbAgICAhsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGwICAgICAgICAgICAgIbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGwICAgIbGxsbGxsbGxsCAgICAgICGxsCAgICAgICAgICAgICAhsbGxsbGwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxkZGRkZGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbAgICAgICAgICAgIbGxsbGxsbGxsbGxsbAgICGxsbGxsbGxsbGwICAgICAhsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbAgICAgICAgICAgICGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIbGxsbGxsbGxsbGxsCAgICGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsCAgICAgICAhsbGxsbGxsbGxsCAgICAgIbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbAgICAgICAgIbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICGxsbGxsbGxsbGxsbAgICAhsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbAhsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsCAhsbGxsCAgIbAhsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGwICAgICAgICAgICAgIbGxsbGxsbGxsbAgICAgICGxsbAgICAgICAgICAgICAhsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhsbGxsbGxsbGxsbGxsbAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCAgICAgICAgICAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAICCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCAgICAgICAgICAgICAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAQICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NAgICAgICAgICAgICAgICAoAAAAAAAAAAgAAAAAAAAACAAAAAAAAAAIAAAAAAAAAAgAAAAAAAAACAAAAAAAAAAIAAAAAAAAAAgAAAAAAAAACAAAAAAAAAAIA="),
2737O(k,81428,"ggAAAAAAAAIAAAAAAAAAAgAAAAAAAAAC"),O(k,81475,"AgAAAAAAACAAAAAAAAAAIA=="),O(k,81506,"IA=="),O(k,81522,"IAAAAAAAAAAg"),O(k,81618,"IA=="),O(k,81634,"IA=="),O(k,81650,"IAAAAAAAAAAg"),O(k,81682,"IAAAAAAAAAAgAAAAAAAAACAAAAAAAIAAAAAAAAAAgA=="),O(k,81728,"gAAAAAAAAACAAAAAAAAAAIA="),O(k,81760,"gAAAAAAAAACA"),O(k,81904,"gAAAAAAAAACAAAAAAAAAAIAAAAAAAAAAgAAAAAAAAACAAAAAAAAAAAAU"),O(k,81961,"FAAAAAAAAAAU"),O(k,81985,"FAAAAAAAAAAE"),O(k,82009,"BAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABA="),O(k,82097,"EAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABA="),O(k,82169,"EAAAAAAAAAAQAAAAAAAAABAAAAAAAACA"),O(k,82224,"gAAAAAAAAACA"),O(k,82272,"gAAAAAAAAACAAAAAAAAAAIAAAAAAAAAAgAAAAAAAAACAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABA=="),O(k,82353,"BAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABA=="),O(k,82393,"BAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAQAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAABAAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABA=="),O(k,82625,"BAAAAAAAAAAE"),O(k,82649,"BAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAQAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABA=="),O(k,83033,"BAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABA=="),O(k,83097,"BAAAAAAAAAAE"),O(k,83121,"BAAAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAAEAAAAAAAAQAAAEAAAAAFAAAAQAAAAgEAAABAAAAAQQAAAAAAAACBAAAAAAAAAgEAAAAAAAAAAQAAAAAAAAABAAAAQAAAAgEAAAAAAAAAQQAAAAAAAAARAAAAAAAAAAEAAAAAAAAAAQA=="),O(k,83288,"QA=="),O(k,83303,"AkAAAAAAAAAQQAAAEAAAAIBAAAAAAAAACEA="),O(k,83352,"QAAAAAAAABBAAAAQAAAAgAAg"),O(k,83379,"gAAAAABAAACQggAAIEAAAJAAAAAAAAAAgAAAAABAAACQggAAIEAAAJCCAAAgAAAAgAAAAAAAAACAAAAAAAAAAIAAAAAAQAAAkIIAACBAAACQggAAIEAAAJCCAAAgQAAAkAAAAEBAAACQAAAAYEAAAJCCAABgQAAAkIIAACBAAACQggAAIEAAAJCCAAAgQAAAkIIAACBAAACQggAAIAAAAIAAAAAEAAAAAAAAAIAAAAAAAAAACAAAAAAAAAAEAAAAAAAAACAAAAAAAAAAQAAAAAAAAACAAAAAAAAAAIAAAAAAAAAAAkAAAAAAAAAQQAAAEAAAAIBAAAAAAAAABEAAAAAAAAAIAAAAgIIAAAAAAACAgAAAAAAAAIAAAAAAAAAAgIYAAAAAAACAhgAAAAAAAICAAAAAAAAAgIAAAAAAAACAggAAAAAAAICAAAAAAAAAgIAAAAAAAACAgAAAAAAAAICAAAAAAAAAgJIAAACAAACAggAAAIAAAICCAAAAAAAAgIIAAAAAAACAggAAAIAAAICCAAAAAAAAgIIAAAAAAACAggAAAAAAAICAAAAAAAAAgIAAAAAAAACAggAAAAAAAICGAAAAAAAAgIIAAAAAAACAhgAAAAAAAICCAAAAAAAAgIIAAAAAAACAggAAAAAAAICCAAAAAAAAgIAAAAAAAACAggAAAAAAAICAAAAAAAAAgIIAAAAAAACAggAAAAAAAICCAAAAAAAAgIAAAAAAAACAggAAAAAAAICGAAAAAAAAgJIAAAAAAACAhgAAAAAAAICAAAAAAAAAgIAAAAAAAACAhg=="),O(k
vendor: 13,199 bytes, line 2737
2737,83999,"IAAAAACCAAAgAAAAAIIAAAAAAAAAggAAAAAAAACGAAAAAAAAAIIAAAAAAAAAggAAAAAAAACCAAAAaW5maW5pdHkALSsgICAwWDB4AHN0ZDo6YmFkX2Nhc3QAJXMlYyVzX2RpY3QAJXMlYyVzJWMlcyVzACVzJWNzb3VuZGljb25zJWMlcwBDb21waWxlIGVycm9yAHN0ZDo6ZXhjZXB0aW9uAHRlcm1pbmF0aW5nAF8wbGFuZwB1bmV4cGVjdGVkX2hhbmRsZXIgdW5leHBlY3RlZGx5IHJldHVybmVkACVkICVkICVkICVkICVkICVkICVkICVkICVkICVkACVzJWMlYwByYgBwaG9udGFiAHJ3YQBYWFhYWFgAR01UAExDX0FMTABFU1BFQUtfREFUQV9QQVRIAEMAQU5TSV9YMy40LTE5NjgAMy4xLjMwACEtLQBQdXJlIHZpcnR1YWwgZnVuY3Rpb24gY2FsbGVkIQAlcwoAZXNwZWFrOiBCYWQgaW50b25hdGlvbiBkYXRhCgAAAQIEBwMGBQAAAABAAAAAAAAAAHBob25pbmRleAAlcyVjJWMlcwAgJXMAc3RkOjpiYWRfZXhjZXB0aW9uAEVtc2NyaXB0ZW4AbmFuAD94bWwAJXMvLi4vcGhzb3VyY2UAc3RkOjpiYWRfdHlwZWlkAHRlcm1pbmF0ZV9oYW5kbGVyIHVuZXhwZWN0ZWRseSByZXR1cm5lZAAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlZAByYgBXcm9uZyB2ZXJzaW9uIG9mIGVzcGVhay1uZy1kYXRhAEkATEFORwBIT01FAEFOU0lfWDMuNC0xOTg2AChudWxsKQBGYWlsZWQgdG8gb3BlbjogJyVzJwBEZWxldGVkIHZpcnR1YWwgZnVuY3Rpb24gY2FsbGVkIQBudW1iZXJzOiBCYWQgb3B0aW9uIG51bWJlciAlZAoAX2NhcABlbXNjcmlwdGVuAFRoZSBGSUZPIGJ1ZmZlciBpcyBmdWxsAGVzcGVhawAlZCAlZCAlZABzdGQ6OmJhZF9hbGxvYwAlYyVzJWMlcyVjAHBob25kYXRhAC91c3Ivc2hhcmUvZXNwZWFrLW5nLWRhdGEAL3RtcC9lc3BlYWtYWFhYWFgATABQU0FSSFRJVllNVUJGAEFTTU8tNzA4AEMuVVRGLTgAICgAJXM6IEJhZCBvcHRpb24gbnVtYmVyICVkCgBVbnN1cHBvcnRlZCBzcGVjdHJhbCBmaWxlIGZvcm1hdC4KAENhbid0IHJlYWQgZGljdGlvbmFyeSBmaWxlOiAnJXMnCgAtMFgrMFggMFgtMHgrMHggMHgAaW50b25hdGlvbnMAcGhvbmVtZXMAJXMgJXMgJXMgJXMgJXMgJXMAZW4AYmFkX2FycmF5X25ld19sZW5ndGgAbm9uZQBUaGUgZXNwZWFrLW5nIGxpYnJhcnkgaGFzIG5vdCBiZWVuIGluaXRpYWxpemVkACVjJWQAUE9TSVgATQBDLlVURi04AEVDTUEtMTE0ACMxAEVtcHR5IF9kaWN0IGZpbGU6ICclcwoAUmVwbGFjZTogJXMgPiAlcwoAICBzdWZmaXggWyVzXQoKACVzL3Bob25lbWVzACVzJXMlcwBicABhbGwAaW5mAENhbm5vdCBpbml0aWFsaXplIHRoZSBhdWRpbyBkZXZpY2UAJXMlY3ZvaWNlcyVjAE4ATlVMTABFQ01BLTExOABVVEYtOAB3YXNtMzIAZXNwZWFrOiBObyBlbnZlbG9wZQoAQmFkIGRhdGE6ICclcycgKCV4IGxlbmd0aD0leCkKAFRoZSBzcGVjaWZpZWQgZXNwZWFrLW5nIHZvaWNlIGRvZXMgbm90IGV4aXN0ACVzJXMAJXMlYyVzAF9jYXAAYmhmAHNvbWUAWwIlc11dAFAASU5GAEVMT1RfOTI4AGVuX1VTLlVURi04AF8jJWQgAENvbXBpbGluZyBwaG9uZW1lIGRhdGE6ICVzCgBGdWxsIGRpY3Rpb25hcnkgaXMgbm90IGluc3RhbGxlZCBmb3IgJyVzJwoAVW5rbm93biB0dW5lICclcycKACU1ZDoJAGR0AG5vAGVuAG5hbgBfcm9tYW4AQ291bGQgbm90IGxvYWQgdGhlIG1icm9sYS5kbGwgZmlsZQAlZCAlZAAlcyVjbGFuZyVjAHJiAFsCX15fJXMgJXMgX15fJXNdXQBTAF8/QQBJQk0zNjcAPyVkIAAlcyVjJXMAJXMvJXMAcgBpY29uAGVuAENvdWxkIG5vdCBsb2FkIHRoZSBzcGVjaWZpZWQgbWJyb2xhIHZvaWNlIGZpbGUAZ2MAWgBOQU4AXz8/ADxzYXktYXMgaW50ZXJwcmV0LWFzPSJ0dHM6Y2hhciI+JiMlZDs8L3NheS1hcz4ASUJNODE5ACogACAgJWQgJXMgICAgAEludmFsaWQgaW5zdHJ1Y3Rpb24gJS40eCBmb3IgcGhvbmVtZSAnJXMnCgAAcGhvbmRhdGEtbWFuaWZlc3QAVGhlIGV2ZW50IGJ1ZmZlciBpcyBmdWxsAHNwZWxsaW5nAF9saWcAY29uZmlnACVzL2VzcGVhay1uZy1kYXRhACVzJXNfAElTQ0lJAGhBAGwnZXRAAC4ALQAoJXMpAAElZEkgACV4AHcAJXNydWxlcy50eHQAKyVzAHIAXy5wAHBpdGNoAFRoZSByZXF1ZXN0ZWQgZnVuY3Rpb25hbGl0eSBoYXMgbm90IGJlZW4gYnVpbHQgaW50byBlc3BlYWstbmcAX3NtYwBDYwBtYgBJU09fNjQ2LmlydjoxOTkxAHYgPD0gdm93ZWxfY291bnQAVGhlIHBob25lbWUgZmlsZSBpcyBub3QgaW4gYSBzdXBwb3J0ZWQgZm9ybWF0AGNoYXJhY3RlcnMAJWMlcyVzJXMAICVzAF90dXIAZW4AQ2YAbmQAJXMgJWQASVNPXzg4NTktMQAjIFRoaXMgZmlsZSBsaXN0cyB0aGUgdHlwZSBvZiBkYXRhIHRoYXQgaGFzIGJlZW4gY29tcGlsZWQgaW50byB0aGUKIyBwaG9uZGF0YSBmaWxlCiMKIyBUaGUgZmlyc3QgY2hhcmFjdGVyIG9mIGEgbGluZSBpbmRpY2F0ZXMgdGhlIHR5cGUgb2YgZGF0YToKIyAgIFMgLSBBIFNQRUNUX1NFUSBzdHJ1Y3R1cmUKIyAgIFcgLSBBIHdhdmVmaWxlIHNlZ21lbnQKIyAgIEUgLSBBbiBlbnZlbG9wZQojCiMgQWRkcmVzcyBpcyB0aGUgZGlzcGxhY2VtZW50IHdpdGhpbiBwaG9uZGF0YSBvZiB0aGlzIGl0ZW0KIwojICBBZGRyZXNzICBEYXRhIGZpbGUKIyAgLS0tLS0tLSAgLS0tLS0tLS0tCgBfcmV2AHZhcmlhbnQAJXNydWxlcwB0dHM6Y2hhcgBzb3VuZGljb24AQ24AX2VsAG5nAHNyYy9saWJlc3BlYWstbmcvZGljdGlvbmFyeS5jAF9zdWIAcGhvbmRhdGEAVGhlIHNwZWN0cmFsIGZpbGUgZG9lcyBub3QgY29udGFpbiBhbnkgZnJhbWUgZGF0YQABKzEwUwBJU09fODg1OS0xOjE5ODcAdHRzOmtleQAlcyVjJXNfZGljdAB0cwBUaGUgcGhvbmVtZSBtYW5pZmVzdCBmaWxlIGRvZXMgbm90IGNvbnRhaW4gYW55IHBob25lbWVzAF8lYyAlcwBfY3lyAF9zdXAAQ28AX2NybAB3YgAgAS0xMFMASVNPXzg4NTktMgAtAFVucHJvbm91bmNhYmxlPyAnJXMnCgBfaHkAcGhvbmluZGV4AF9hY3UAdHRzOmRpZ2l0cwBDcwAgJXMgJWQgJXMAJ2U6agBhcG9zdHJvcGhlAFRoZSBwaG9uZW1lIGZlYXR1cmUgaXMgbm90IHJlY29nbmlzZWQAdEEASVNPXzg4NTktMjoxOTg3AHdiKwBUcmFuc2xhdGUgJyVzJwoAX2JydgBicmFja2V0cwAlY2VuAElpAHRlbGVwaG9uZQBfaGUAVGhlIHRleHQgZW5jb2RpbmcgaXMgbm90IHN1cHBvcnRlZAAlZCAlZABwaG9udGFiAFsCKFgxKShYMSkoWDEpXV0AbkEAYidpOgBJU09fODg1OS0zAFVzaW5nIHBob25lbWV0YWJsZTogJyVzJwoAVW5zcGVjaWZpZWQgZXJyb3IgMHgleAByb290cwBnbHlwaHMAJWMlcwBfYXIATGwAJXMvY29tcGlsZV9wcm9nX2xvZwBicmFja2V0c0Fubm91bmNlZAAlZABfaGFjAF9eXwBzJ2k6AElTT184ODU5LTM6MTk4OABsaXN0AGRpY3RfbWluAGVuAExtAHgtd2VhawBiYXNlAF9jZWQAX3N5YwBkJ2k6AElTT184ODU5LTQAQmFkIHZvaWNlIGF0dHJpYnV0ZTogJXMKAEVycm9yIHByb2Nlc3NpbmcgZmlsZSAnJXMnOiAlcy4KAGxpc3R4AGRpY3RydWxlcwBfY2lyAExvAHdlYWsAX2hpACdpOgBJU09fODg1OS00OjE5ODgAJXMgAEludmFsaWQgcGhvbmVtZSBjb2RlICVkCgAKUmVmcyAlZCwgIFJldXNlZCAlZAoARXJyb3I6ICVzIGF0ICclcycgKGV4cGVjdGVkIDB4JXgsIGdvdCAweCV4KS4KAFVua25vd24gcGhvbmVtZSB0YWJsZTogJyVzJwoATHQAJWMlcwBpbnRvbmF0aW9uAF9ibgBtZWRpdW0AZW1vamkAJ2VmAF9kaWEASVNPXzg4NTktNQBSZXBsYWNlOiAlcyAgJXMKAENvbXBpbGVkIHBob25lbWVzOiAlZCBlcnJvcnMuCgBFcnJvcjogJXMuCgBoc3gATHUAJXMvLi4vcGhzb3VyY2UvaW50b25hdGlvbi50eHQAbF9kaWVyZXNpcwAlcyslcwBfZ3VyAGlvbgBzdHJvbmcAZXh0cmEASVNPXzg4NTktNToxOTg4AF9hYzIAbF9wcmVmaXgAX2d1AF9kb3QAJXMlY3ZvaWNlcwByAHgtc3Ryb25nAE1jAElTT184ODU5LTYAQ29tcGlsaW5nOiAnJXMnCgBfZ3J2AGxfcmVncmVzc2l2ZV92AHJzAF9vcgAlcy8uLi9waHNvdXJjZS9pbnRvbmF0aW9uACVzJWNsYW5nAE1lAHJlZHVjZWQASVNPXzg4NTktNjoxOTg3ACQxAGlyAF9tY24ATW4AbW9kZXJhdGUAdHVuZQBsX3VucHJvbm91bmNhYmxlAF90YQBJU09fODg1OS03ACQyAG1iLwAlcy9pbnRvbmF0aW9ucwB1cgBfb2dvAGxfc29ub3JhbnRfbWluAHJhdGUAX3RlAE5kAElTT184ODU5LTc6MTk4NwAkMwAvLwBfa24ATmwAYXRoAF9ybmcAdm9sdW1lAGFwb3N0cm9waGUAbG93ZXJjYXNlU2VudGVuY2UASVNPXzg4NTktOAAkNABEdXBsaWNhdGUgdHVuZSBuYW1lOiAnJXMnAGJyYWNrZXRzAG51bWJlcnMAbnMATm8AX21sAF9zdGsAcmFuZ2UAQmFkIHR1bmUgbmFtZTogJyVzOwBJU09fODg1OS04OjE5ODgAJDUAc3BlbGxpbmdTdHJlc3MAX3NpAF90bGQAZmllbGQAYnJhY2tldHNBbm5vdW5jZWQAUGMASVNPXzg4NTktOQAkNgBCYWQgZW52ZWxvcGUgbmFtZTogJyVzJwBfYmFyAGRpY3RfbWluAF90aABzcG9uZwBtb2RlAFR1bmUgJyVzJyBub3QgZm91bmQAc3RyZXNzQWRkAFBkAElTT184ODU5LTk6MTk4OQAkNwBfcmZ4ACR1AGRpY3RydWxlcwBzdHJlc3NBbXAAX2xvAHB1bmN0dWF0aW9uAHJhbmcAUGUASVNPXzg4NTktMTAAVW5leHBlY3RlZDogJyVzJwBjYXBpdGFsX2xldHRlcnMAaW50b25hdGlvbgBfaG9rAF90aQBzdHJlc3NMZW5ndGgAbGFyZwBQZgBUdW5lICclcycgbm90IGRlZmluZWQASVNPXzg4NTktMTA6MTk5MgAkdTEAX215AHN0cmVzc09wdABsX2RpZXJlc2lzAF8jJXMAbGV2ZWwAUGkASVNPXzg4NTktMTQAJHUyAGFkZCBlCgBDb21waWxlZCAlZCBpbnRvbmF0aW9uIHR1bmVzOiAlZCBlcnJvcnMuCgBsX3ByZWZpeABhbHBoYWJldABUb28gbWFueSBwaG9uZW1ldGFibGVzAF94IyVzAFBvAHN0cmVzc1J1bGUAX2thAElTT184ODU5LTE0OjE5OTgAJHUzAE91dCBvZiBtZW1vcnkAbF9yZWdyZXNzaXZlX3YAdHVuZXMAUHMAX2tvAHBoAElTT184ODU5LTE1AF8wACR1KwBfZHB0AHdvcmRzAGludGVycHJldC1hcwBfZXRoAGxfdW5wcm9ub3VuY2FibGUAU2MAXwBJU09fODg1OS0xNgAkdTErAEJhZCBydWxlcyBkYXRhIGluICclc19kaWN0JyBhdCAweCV4ICglYykKAGZvcm1hdABsX3Nvbm9yYW50X21pbgBTawBfYnJhaWxsZQBfME0lZABJU09fODg1OS0xNjoyMDAxACR1MisAQ2FuJ3QgZmluZCBiYXNlIHBob25lbWV0YWJsZSAnJXMnACUzZAklcyBbJXNdCgBDYW5ub3Qgc2V0ICVzOiBsYW5ndWFnZSBub3Qgc2V0LCBvciBpcyBpbnZhbGlkLgoAU20AZGV0YWlsAGxvd2VyY2FzZVNlbnRlbmNlAF9qYQBJU082NDYtVVMAXy4AJHUzKwBfAQBudW1iZXJzAFNvAF8lZG4AX3poACRwYXVzZQAlYyVkWQBwaG9uZW1lX2xlbiA8IE5fUEhPTkVNRV9CWVRFUwBJU08tMTA2NDYtVUNTLTIAJQBzcGVsbGluZ1N0cmVzcwBhbGlhcwBabAAkc3RyZW5kAElTTy04ODU5LTEAJSUARmxhZ3M6ICAlcyAgJXMKACVzJXMlYyVzJXMAWnAAbmFtZQBzdHJlc3NBZGQAJHN0cmVuZDIASVNPLTg4NTktMgAsAEZvdW5kOiAnJXMgJXMKAFpzACVzJXMlcyVjJXMARm91bmQ6ICclcwBzdHJlc3NBbXAAJHVuc3RyZXNzZW5kACVjJWRNAElTTy04ODU5LTMALCwAc3RyZXNzTGVuZ3RoACRhY2NlbnRfYmVmb3JlAF8wWiVkAHNyYwBJU08tODg1OS00AC0tACcAJyBbJXNdICAlcwoAJGFiYnJldgBzdHJlc3NPcHQAJXMvJXMAQWRsbQBfJWNkAElTTy04ODU5LTUAJycAJWMlcwBBZmFrAHN0cmVzc1J1bGUAJGRvdWJsZQAlYyVkSQA9AElTTy04ODU5LTYAJGFsdAB0dW5lcwBBZ2hiACVjJWRVAF86AElTTy04ODU5LTcAX2RwdDIA2Y4gINmPICDZkAB3b3JkcwBfJWRNJWRvAEFob20Ac3RyZW5ndGgASVNPLTg4NTktOAAkYWx0MQBfIQDYpyDZiCDZigBuYW1lAF8lZE0lZGUAQXJhYgAlYyVkQgA6AElTTy04ODU5LTkAJGFsdDIA2Kgg2b4g2Kog2Kkg2Ksg2Kwg2K0g2K4g2K8g2LAg2LEg2LIg2LMg2LQg2LUg2LYg2Lcg2Lgg2Lkg2Log2YEg2YIg2YMg2YQg2YUg2YYg2KYg2KQg2KEg2KMg2KIg2KUg2YcAXyVkTSVkeABBcm1pAHRpbWUAbGFuZ3VhZ2UAQAAkYWx0MwBJU08tODg1OS0xMADYtSDYtiDYtyDYuABnZW5kZXIAQXJtbgB4bWw6YmFzZQBfJWRNJWQAJGFsdDQASVNPLTg4NTktMTEAQC0AfHwAJXgAQXZzdAB2YXJpYW50cwBfMG9mACRhbHQ1AElTTy04ODU5LTEzACDZkSAAZm9ybWFudABfJXMlZG8AQmFsaQAlZAAkYWx0NgBJU08tODg1OS0xNAAxAEJhbXUAc3BlYWsAcGl0Y2gAXyVzJWRlACRhbHQ3AElTTy04ODU5LTE1ACNYMQBfJXMlZHgAQmFzcwBwaG9uZW1lcwAkY29tYmluZQB2b2ljZQA/AElTTy04ODU5LTE2AGRpY3Rpb25hcnkAcHJvc29keQAkZG90AEJhdGsAXyVzJWQAS09JOC1SAC0AJGhhc2RvdABzYXktYXMAQmVuZwByZXBsYWNlAF9eXwBMYXRpbi05AF8wTTIAQmhrcwBlY2hvAG1hcmsAJG1heDMAX1gxAF8lZE0xAFRJUy02MjAAX3wAQmxpcwBmbHV0dGVyACRicmsAVVMtQVNDSUkAXzBNMQAkdGV4dAByb3VnaG5lc3MAJXMlcwBwAEJvcG8AXzo6AFVURi04AGNsYXJpdHkAQnJhaAAkdmVyYmYAcGhvbmVtZQAxTUEAY3AzNjcAdCMAQnJhaQAkdmVyYnNmAHRvbmUAc3ViADBNQQBjcDgxOQAnIQBCdWdpAHZvaWNpbmcAJG5vdW5mAHR0czpzdHlsZQBfO18AY3NBU0NJSQAwTUIAYXVkaW8AYnJlYXRoACRwYXN0ZgBCdWhkADFNACNAAGNzSVNPODg1OTEzAGJyZWF0aHcAZW1waGFzaXMAQ2FrbQAkdmVyYgAjYQAwTQBjc0lTTzg4NTkxNABDYW5zAF8wQ28AJG5vdW4AYnJlYWsAI2UAbWJyb2xhAGNzSVNPODg1OTE1ACRwYXN0AGNvbnNvbmFudHMAQ2FyaQAjaQBtZXRhZGF0YQBjc0lTTzg4NTkxNgBfMEMwAGtsYXR0AGJyACNvAENoYW0AJHZlcmJleHRlbmQAXzBDAGNzSVNPTGF0aW4xACN1AENoZXIAJGNhcGl0YWwAbGkAJXMlYyVzJWMAZmFzdF90ZXN0MgBjc0lTT0xhdGluMgBDaXJ0ACRhbGxjYXBzAE1pc3NpbmcgZmlsZTogJXMAXzBhbmQAc3BlZWQAZGQAY3NJU09MYXRpbjMAQ29wdAAkYWNjZW50AG1haW50YWluZXIAXyVkQ28AcGhvbmVtZXRhYmxlIGlzIG1pc3NpbmcAaW1nAGNzSVNPTGF0aW40AENwcnQAc3RhdHVzACRzZW50ZW5jZQB0ZABLZXl3b3JkICdwaG9uZW1lJyBleHBlY3RlZABjc0lTT0xhdGluNQBfJWRDMAAkb25seQBUb28gbWFueSBwcm9jZWR1cmVzAEN5cmwAbWFsZQBfJWRDAGNzSVNPTGF0aW42AGgxACRvbmx5cwBDeXJzACVzJXMlcyVzAGZlbWFsZQBjc0lTT0xhdGluQXJhYmljACUuM2RQAGgyACVzJXMlYyVzACRzdGVtAE1pc3NpbmcgJ2VuZHBob25lbWUnIGJlZm9yZSBlbmQtb2YtZmlsZQAlZCAlZCAlZCAlZCAlZABjc0lTT0xhdGluQ3lyaWxsaWMARGV2YQBoMwBfJWRmeABNb3JlIHRoYW4gb25lIHBob25lbWUgdHlwZTogJXMARG9ncgBjc0lTT0xhdGluR3JlZWsAJGF0ZW5kAE5VTEwAaDQAY3NJU09MYXRpbkhlYnJldwBEc3J0ACRhdHN0YXJ0ACVkICVzICVzAGhyAF8lZGYATlVMTABfJWQlY3gAc2NyaXB0AER1cGwAJG5hdGl2ZQAhdiVjAGNzS09JOFIAJXgAc3R5bGUARWd5ZAAlc20lZABfJWQlYwAkPwBjc1RJUzYyMABmb250AEVneWgAYSBwaG9uZW1lIHR5cGUgb3IgbWFubmVyIG9mIGFydGljdWxhdGlvbiBtdXN0IGJlIHNwZWNpZmllZCBiZWZvcmUgc3RhcnR0eXBlACR0ZXh0bW9kZQBfJWRlACVzZiVkAGNzVVRGOAAlcy92b2ljZXMvJXMARWd5cABfJWRvAGEgcGhvbmVtZSB0eXBlIG9yIG1hbm5lciBvZiBhcnRpY3VsYXRpb24gbXVzdCBiZSBzcGVjaWZpZWQgYmVmb3JlIGVuZHR5cGUAJHBob25lbWVtb2RlAGNzVW5pY29kZQBiAGVuZHR5cGUgbXVzdCBlcXVhbCBzdGFydHR5cGUgZm9yIGNvbnNvbmFudHMAdW5wcgBhbGwAaQBhcmFiaWMAXyVkYQBFbGJhAG5vcHJlZml4AHZvaWNpbmdzd2l0Y2ggY2Fubm90IGJlIHVzZWQgb24gdm93ZWxzAGVtAEV0aGkAXyVkAGN5cmlsbGljAHN0cmVzcyBwaG9uZW1lcyBjYW4ndCBjb250YWluIHByb2dyYW0gaW5zdHJ1Y3Rpb25zAEdlb2sAZ3JlZWsAY29kZQBfJWRYJWMAd19hbHQxAFdhcm5pbmc6IG1heGltdW0gbnVtYmVyICVkIG9mIChOX1ZPSUNFU19MSVNUID0gJWQgLSAxKSByZWFjaGVkCgAlcyVjJXMAR2VvcgBfJWRYZgAlYyVkJWMAZ3JlZWs4AHdfYWx0MgBNaXNzaW5nICdlbmRwaG9uZW1lJyBiZWZvcmUgJyVzJwBoZWJyZXcAZGVmYXVsdABHbGFnAF8lZFgATWlzc2luZyBFTkRJRgB3X2FsdDMARXJyb3IgKCVzKTogZ2VuZGVyIGF0dHJpYnV0ZSBzcGVjaWZpZWQgb24gYSBsYW5ndWFnZSBmaWxlCgBzaWxlbnQAR29uZwAnZW5kcGhvbmVtZScgbm90IGV4cGVjdGVkIGhlcmUAaXNvLWNlbHRpYwB3X2FsdDQAX29yZDIwAHgtc29mdABHb25tAFBob25lbWUgdHlwZSBpcyBtaXNzaW5nAF9vcmQAaXNvLWlyLTYAd19hbHQ1AHNvZnQAR290aAB3X2FsdDYAaXNvLWlyLTEwMABCYWQgcGhvbmVtZSBuYW1lICclcycAd19hbHQAJXMlcyVzAEdyYW4AbG91ZABpc28taXItMTAxACVzOiAnJXMnLgBHcmVrAHgtbG91ZABpc28taXItMTA5AHBfYWx0MQB4LXNsb3cAR3VqcgBwX2FsdDIAaXNvLWlyLTExMABFeHBlY3RlZCAnKCcAc2xvdwBHdXJ1AGlzby1pci0xMjYAcF9hbHQzAEV4cGVjdGVkICcpJwBmYXN0AEhhbmcAVmFsdWUgJWQgaXMgZ3JlYXRlciB0aGFuIG1heGltdW0gJWQAaXNvLWlyLTEyNwBwX2FsdDQAeC1mYXN0AEhhbmkAaXNvLWlyLTEzOABwX2FsdDUAQ2Fubm90IGZpbmQgcGhvbmVtZSAnJXMnIHRvIGltcG9ydC4AeC1sb3cASGFubwBwX2FsdDYAaXNvLWlyLTE0NABQaG9uZW1lIGltcG9ydCB3aWxsIG92ZXJyaWRlIHNldCBwcm9wZXJ0aWVzLgBsb3cAcF9hbHQASGFucwBpc28taXItMTQ4AFBob25lbWUgcmVmZXJlbmNlIG5vdCBmb3VuZDogJyVzJwAlcyVzLnR4dABIYW50AGhpZ2gAaXNvLWlyLTE1NwBjb21waWxlOiB1bmtub3duIHBob25lbWUgdGFibGU6ICclcycAJXMlcwBIYXRyAHgtaGlnaABQaG9uZW1lIHByb2dyYW0gdG9vIGxhcmdlAGlzby1pci0xOTkASGVicgBpc28taXItMjI2AEV4cGVjdGVkIGEgY29uZGl0aW9uLCBub3QgJyVzJwBzcGFjZSAAQ2FuJ3QgYWxsb2NhdGUgbWVtb3J5CgBFeHBlY3RlZCBsaXN0IG9mIHN0cmVzcyBsZXZlbHMASGlyYQBsYXRpbjEAdGFiIAAJJWQgZW50cmllcwoASGx1dwBsYXRpbjIAVW5leHBlY3RlZCBrZXl3b3JkICclcycAdW5kZXJzY29yZSAAJTVkOiBVbmtub3duIGtleXdvcmQ6ICVzCgBIbW5nAHBob25lbWUAbGF0aW4zAGRvdWJsZS1xdW90ZSAAJTVkOiBNaXNzaW5nICcoJwoASHJrdABlbmRwaG9uZW1lAG1hbGUAbGF0aW40AEh1bmcAZmVtYWxlAEV4cGVjdGVkIEFORCwgT1IsIFRIRU4AbGF0aW41ACU1ZDogTmVlZCB0byBjb21waWxlIGRpY3Rpb25hcnkgYWdhaW4KAEluZHMAbmV1dHJhbABFTFNFIG5vdCBleHBlY3RlZABsYXRpbjYAJTVkOiBCYWQgcGhvbmVtZSBbJXNdIChVKyV4KSBpbjogJXMgICVzCgBVKyV4AEl0YWwASUYgYmxvY2sgaXMgdG9vIGxvbmcAeG1sOmxhbmcAbGF0aW44AHZhcmlhbnQARUxJRiBub3QgZXhwZWN0ZWQASmF2YQBsYXRpbjEwACU1ZDogRGljdGlvbmFyeSBsaW5lIGxlbmd0aCB3b3VsZCBvdmVyZmxvdyB0aGUgZGF0YSBidWZmZXI6ICVkCgBKcGFuAGFnZQBFTkRJRiBub3QgZXhwZWN0ZWQAbDEAJTVkOiBUd28gbWFueSBwYXJ0cyBpbiBhIG11bHRpLXdvcmQgZW50cnk6ICVkCgBnZW5kZXIASnVyYwBQYXJhbWV0ZXIgPiAxMjcAbDIALy8AJXMrJXMAS2FsaQAuTABQYXJhbWV0ZXIgPCAtMTI4AGwzAGd0AC5yZXBsYWNlAEthbmEAUGFyYW1ldGVyID4gMjU1AGw0AGx0AEtoYXIALmdyb3VwAERGVABsNQAweCV4ACVzLyVzLndhdgBLaG1yAGFtcABsNgBxdW90AENhbid0IHJlYWQgZmlsZTogJXMAS2hvagBsOAAlNWQ6IEdyb3VwIG5hbWUgbG9uZ2VyIHRoYW4gMiBieXRlcyAoVVRGOCkARmlsZSBub3QgU1BFQyBvciBSSUZGOiAlcwBuYnNwAEtuZGEAbDEwAApFeGNlZWRlZCBsaW1pdCBvZiBydWxlcyAoJWQpIGluIGdyb3VwICclcycKAHVzAGFwb3MAS29yZQAlYyAgMHglLjV4ICAlcwoAAMDg8P8fDwdwCnEKAAAoACkAWwBdAHsAfQA8AD4AIgAnAGAAqwC7AAowCzA84A=="),
2737O(k,93904,"ICAgICAgICAgICYlKyNTRFpBTCEgQD9KTktWP1RYP1dBQkNIRkdZPT0sLCcqICAAIAAhACIAsAIkACUA5gDIAigAKQB+AisAzAItAC4ALwBSAjEAMgBcAjQANQA2ADcAdQI5ANACsgI8AD0APgCUAlkCUQKyA+cA8ABbAkYAYgInAWoCXwJLAGsCcQJLAVQCpgNjAoACgwK4A4oCjAJTAccD+ACSAioDXABdAF4AXwBgAGEAYgBjAGQAZQBmAGECaABpAGoAawBsAG0AbgBvAHAAcQByAHMAdAB1AHYAdwB4AHkAegB7AHwAfQADA38APT0sLCcnAAMCBAUGBxoAAAAAAQECAwMEBQYHBwgJCgsAAAEBAgIDAwQFBgcHCAkKAAABAgMDAwQFBgcHBwgJClNldFdvcmRTdHJlc3MA5ADrAO8A9gD8AP8AAAAAAAAAYWFhYWFhYWNlZWVlaWlpaWRub29vb28Ab3V1dXV5dHNhYWFhYWFhY2VlZWVpaWlpZG5vb29vbwBvdXV1dXl0eWFhYWFhYWNjY2NjY2NjZGRkZGVlZWVlZWVlZWVnZ2dnZ2dnZ2hoaGhpaWlpaWlpaWlpaWlqamtra2xsbGxsbGxsbGxubm5ubm5ubm5vb29vb29vb3JycnJycnNzc3Nzc3NzdHR0dHR0dXV1dXV1dXV1dXV1d3d5eXl6enp6enpzYmJiYgAAb2NjZGRkZGRlZWVmZmdnaGlpa2tsbG1ubm9vb29vcHB5AABzc3R0dHR1dXV2eXl6enp6enp6AAAAd3R0dGtkZGRsbGxubm5hYWlpb291dXV1dXV1dXV1ZWFhYWFhYWdnZ2dra29vb296empkZGRnZ3d3bm5hYWFhb29hYWFhZWVlZWlpaWlvb29vcnJycnV1dXVzc3R0eXloaG5kb296emFhZWVvb29vb29vb3l5bG50amRxYWNjbHRzegAAYnV2ZWVqanFxcnJ5eWFhYWJvY2RkZWVlZWVl"),O(k
vendor: 6,659 bytes, line 2737
2737,94846,"TG9va3VwRGljdDIAAAAAAAAAgACBAIIAgwCEAIUAhgCHAIgAiQCKAIsAjACNAI4AjwCQAJEAkgCTAJQAlQCWAJcAmACZAJoAmwCcAJ0AngCfAKAAoQCiAKMApAClAKYApwCoAKkAqgCrAKwArQCuAK8AsACxALIAswC0ALUAtgC3ALgAuQC6ALsAvAC9AL4AvwDAAMEAwgDDAMQAxQDGAMcAyADJAMoAywDMAM0AzgDPANAA0QDSANMA1ADVANYA1wDYANkA2gDbANwA3QDeAN8A4ADhAOIA4wDkAOUA5gDnAOgA6QDqAOsA7ADtAO4A7wDwAPEA8gDzAPQA9QD2APcA+AD5APoA+wD8AP0A/gD/AIAAgQCCAIMAhACFAIYAhwCIAIkAigCLAIwAjQCOAI8AkACRAJIAkwCUAJUAlgCXAJgAmQCaAJsAnACdAJ4AnwCgAAQB2AJBAaQAPQFaAacAqABgAV4BZAF5Aa0AfQF7AbAABQHbAkIBtAA+AVsBxwK4AGEBXwFlAXoB3QJ+AXwBVAHBAMIAAgHEADkBBgHHAAwByQAYAcsAGgHNAM4ADgEQAUMBRwHTANQAUAHWANcAWAFuAdoAcAHcAN0AYgHfAFUB4QDiAAMB5AA6AQcB5wANAekAGQHrABsB7QDuAA8BEQFEAUgB8wD0AFEB9gD3AFkBbwH6AHEB/AD9AGMB2QKAAIEAggCDAIQAhQCGAIcAiACJAIoAiwCMAI0AjgCPAJAAkQCSAJMAlACVAJYAlwCYAJkAmgCbAJwAnQCeAJ8AoAAmAdgCowCkAP3/JAGnAKgAMAFeAR4BNAGtAP3/ewGwACcBsgCzALQAtQAlAbcAuAAxAV8BHwE1Ab0A/f98AcAAwQDCAP3/xAAKAQgBxwDIAMkAygDLAMwAzQDOAM8A/f/RANIA0wDUACAB1gDXABwB2QDaANsA3ABsAVwB3wDgAOEA4gD9/+QACwEJAecA6ADpAOoA6wDsAO0A7gDvAP3/8QDyAPMA9AAhAfYA9wAdAfkA+gD7APwAbQFdAdkCgACBAIIAgwCEAIUAhgCHAIgAiQCKAIsAjACNAI4AjwCQAJEAkgCTAJQAlQCWAJcAmACZAJoAmwCcAJ0AngCfAKAABAE4AVYBpAAoATsBpwCoAGABEgEiAWYBrQB9Aa8AsAAFAdsCVwG0ACkBPAHHArgAYQETASMBZwFKAX4BSwEAAcEAwgDDAMQAxQDGAC4BDAHJABgBywAWAc0AzgAqARABRQFMATYB1ADVANYA1wDYAHIB2gDbANwAaAFqAd8AAQHhAOIA4wDkAOUA5gAvAQ0B6QAZAesAFwHtAO4AKwERAUYBTQE3AfQA9QD2APcA+ABzAfoA+wD8AGkBawHZAoAAgQCCAIMAhACFAIYAhwCIAIkAigCLAIwAjQCOAI8AkACRAJIAkwCUAJUAlgCXAJgAmQCaAJsAnACdAJ4AnwCgAAEEAgQDBAQEBQQGBAcECAQJBAoECwQMBK0ADgQPBBAEEQQSBBMEFAQVBBYEFwQYBBkEGgQbBBwEHQQeBB8EIAQhBCIEIwQkBCUEJgQnBCgEKQQqBCsELAQtBC4ELwQwBDEEMgQzBDQENQQ2BDcEOAQ5BDoEOwQ8BD0EPgQ/BEAEQQRCBEMERARFBEYERwRIBEkESgRLBEwETQROBE8EFiFRBFIEUwRUBFUEVgRXBFgEWQRaBFsEXASnAF4EXwSAAIEAggCDAIQAhQCGAIcAiACJAIoAiwCMAI0AjgCPAJAAkQCSAJMAlACVAJYAlwCYAJkAmgCbAJwAnQCeAJ8AoAD9//3//f+kAP3//f/9//3//f/9//3/DAatAP3//f/9//3//f/9//3//f/9//3//f/9//3/Gwb9//3//f8fBv3/IQYiBiMGJAYlBiYGJwYoBikGKgYrBiwGLQYuBi8GMAYxBjIGMwY0BjUGNgY3BjgGOQY6Bv3//f/9//3//f9ABkEGQgZDBkQGRQZGBkcGSAZJBkoGSwZMBk0GTgZPBlAGUQZSBv3//f/9//3//f/9//3//f/9//3//f/9//3/gACBAIIAgwCEAIUAhgCHAIgAiQCKAIsAjACNAI4AjwCQAJEAkgCTAJQAlQCWAJcAmACZAJoAmwCcAJ0AngCfAKAAGCAZIKMArCCvIKYApwCoAKkAegOrAKwArQD9/xUgsACxALIAswCEA4UDhgO3AIgDiQOKA7sAjAO9AI4DjwOQA5EDkgOTA5QDlQOWA5cDmAOZA5oDmwOcA50DngOfA6ADoQP9/6MDpAOlA6YDpwOoA6kDqgOrA6wDrQOuA68DsAOxA7IDswO0A7UDtgO3A7gDuQO6A7sDvAO9A74DvwPAA8EDwgPDA8QDxQPGA8cDyAPJA8oDywPMA80DzgP9/4AAgQCCAIMAhACFAIYAhwCIAIkAigCLAIwAjQCOAI8AkACRAJIAkwCUAJUAlgCXAJgAmQCaAJsAnACdAJ4AnwCgAP3/ogCjAKQApQCmAKcAqACpANcAqwCsAK0ArgCvALAAsQCyALMAtAC1ALYAtwC4ALkA9wC7ALwAvQC+AP3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f8XINAF0QXSBdMF1AXVBdYF1wXYBdkF2gXbBdwF3QXeBd8F4AXhBeIF4wXkBeUF5gXnBegF6QXqBf3//f8OIA8g/f+AAIEAggCDAIQAhQCGAIcAiACJAIoAiwCMAI0AjgCPAJAAkQCSAJMAlACVAJYAlwCYAJkAmgCbAJwAnQCeAJ8AoAChAKIAowCkAKUApgCnAKgAqQCqAKsArACtAK4ArwCwALEAsgCzALQAtQC2ALcAuAC5ALoAuwC8AL0AvgC/AMAAwQDCAMMAxADFAMYAxwDIAMkAygDLAMwAzQDOAM8AHgHRANIA0wDUANUA1gDXANgA2QDaANsA3AAwAV4B3wDgAOEA4gDjAOQA5QDmAOcA6ADpAOoA6wDsAO0A7gDvAB8B8QDyAPMA9AD1APYA9wD4APkA+gD7APwAMQFfAf8AgACBAIIAgwCEAIUAhgCHAIgAiQCKAIsAjACNAI4AjwCQAJEAkgCTAJQAlQCWAJcAmACZAJoAmwCcAJ0AngCfAKAABAESASIBKgEoATYBpwA7ARABYAFmAX0BrQBqAUoBsAAFARMBIwErASkBNwG3ADwBEQFhAWcBfgEVIGsBSwEAAcEAwgDDAMQAxQDGAC4BDAHJABgBywAWAc0AzgDPANAARQFMAdMA1ADVANYAaAHYAHIB2gDbANwA3QDeAN8AAQHhAOIA4wDkAOUA5gAvAQ0B6QAZAesAFwHtAO4A7wDwAEYBTQHzAPQA9QD2AGkB+ABzAfoA+wD8AP0A/gA4AYAAgQCCAIMAhACFAIYAhwCIAIkAigCLAIwAjQCOAI8AkACRAJIAkwCUAJUAlgCXAJgAmQCaAJsAnACdAJ4AnwCgAAEOAg4DDgQOBQ4GDgcOCA4JDgoOCw4MDg0ODg4PDhAOEQ4SDhMOFA4VDhYOFw4YDhkOGg4bDhwOHQ4eDh8OIA4hDiIOIw4kDiUOJg4nDigOKQ4qDisOLA4tDi4OLw4wDjEOMg4zDjQONQ42DjcOOA45DjoO/f/9//3//f8/DkAOQQ5CDkMORA5FDkYORw5IDkkOSg5LDkwOTQ5ODk8OUA5RDlIOUw5UDlUOVg5XDlgOWQ5aDlsO/f/9//3//f+AAIEAggCDAIQAhQCGAIcAiACJAIoAiwCMAI0AjgCPAJAAkQCSAJMAlACVAJYAlwCYAJkAmgCbAJwAnQCeAJ8AoAAdIKIAowCkAB4gpgCnANgAqQBWAasArACtAK4AxgCwALEAsgCzABwgtQC2ALcA+AC5AFcBuwC8AL0AvgDmAAQBLgEAAQYBxADFABgBEgEMAckAeQEWASIBNgEqATsBYAFDAUUB0wBMAdUA1gDXAHIBQQFaAWoB3AB7AX0B3wAFAS8BAQEHAeQA5QAZARMBDQHpAHoBFwEjATcBKwE8AWEBRAFGAfMATQH1APYA9wBzAUIBWwFrAfwAfAF+ARkggACBAIIAgwCEAIUAhgCHAIgAiQCKAIsAjACNAI4AjwCQAJEAkgCTAJQAlQCWAJcAmACZAJoAmwCcAJ0AngCfAKAAAh4DHqMACgELAQoepwCAHqkAgh4LHvIerQCuAHgBHh4fHiABIQFAHkEetgBWHoEeVx6DHmAe8x6EHoUeYR7AAMEAwgDDAMQAxQDGAMcAyADJAMoAywDMAM0AzgDPAHQB0QDSANMA1ADVANYAah7YANkA2gDbANwA3QB2Ad8A4ADhAOIA4wDkAOUA5gDnAOgA6QDqAOsA7ADtAO4A7wB1AfEA8gDzAPQA9QD2AGse+AD5APoA+wD8AP0AdwH/AIAAgQCCAIMAhACFAIYAhwCIAIkAigCLAIwAjQCOAI8AkACRAJIAkwCUAJUAlgCXAJgAmQCaAJsAnACdAJ4AnwCgAKEAogCjAKwgpQBgAacAYQGpAKoAqwCsAK0ArgCvALAAsQCyALMAfQG1ALYAtwB+AbkAugC7AFIBUwF4Ab8AwADBAMIAwwDEAMUAxgDHAMgAyQDKAMsAzADNAM4AzwDQANEA0gDTANQA1QDWANcA2ADZANoA2wDcAN0A3gDfAOAA4QDiAOMA5ADlAOYA5wDoAOkA6gDrAOwA7QDuAO8A8ADxAPIA8wD0APUA9gD3APgA+QD6APsA/AD9AP4A/wCAAIEAggCDAIQAhQCGAIcAiACJAIoAiwCMAI0AjgCPAJAAkQCSAJMAlACVAJYAlwCYAJkAmgCbAJwAnQCeAJ8AoAAEAQUBQQGsIB4gYAGnAGEBqQAYAqsAeQGtAHoBewGwALEADAFCAX0BHSC2ALcAfgENARkCuwBSAVMBeAF8AcAAwQDCAAIBxAAGAcYAxwDIAMkAygDLAMwAzQDOAM8AEAFDAdIA0wDUAFAB1gBaAXAB2QDaANsA3AAYARoC3wDgAOEA4gADAeQABwHmAOcA6ADpAOoA6wDsAO0A7gDvABEBRAHyAPMA9ABRAfYAWwFxAfkA+gD7APwAGQEbAv8AgACBAIIAgwCEAIUAhgCHAIgAiQCKAIsAjACNAI4AjwCQAJEAkgCTAJQAlQCWAJcAmACZAJoAmwCcAJ0AngCfAKAABAEFAUEBrCAeIGABpwBhAakAGAKrAHkBrQB6AXsBsACxAAwBQgF9AR0gtgC3AH4BDQEZArsAUgFTAXgBfAHAAMEAwgACAcQABgHGAMcAyADJAMoAywDMAM0AzgDPABABQwHSANMA1ABQAdYAWgFwAdkA2gDbANwAGAEaAt8A4ADhAOIAAwHkAAcB5gDnAOgA6QDqAOsA7ADtAO4A7wARAUQB8gDzAPQAUQH2AFsBcQH5APoA+wD8ABkBGwL/AP3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9//3//f/9/wEJAgkDCQUJBgkHCQgJCQkKCQsJDgkPCRAJDQkSCRMJFAkRCRUJFgkXCRgJGQkaCRsJHAkdCR4JHwkgCSEJIgkjCSQJJQkmCScJKAkpCSoJKwksCS0JLgkvCV8JMAkxCTIJMwk0CTUJNgk3CTgJOQkgAD4JPwlACUEJQglDCUYJRwlICUUJSglLCUwJSQlNCTwJZAn9//3//f/9//3/IAAwADEAMgAzADQANQA2ADcAOAA5AP3//f/9//3//f8CAAAAAAAAAAEAAAADAAAA//36+Pb08vDu7Oro5uTi4N7c2tjW1NLQzszKyMbEwsC+vLq4trSysK6sqqimpKKgnpyamJaUkpCOjIqIhoSCgH58enh2dHJwbmxqaGZkYmBeXFpYVlRSUE5MSkhGREJAPjw6ODY0MjAuLCooJiQiIB4cGhgWFBIQDgwKCAYEAgAAAgQGCAoMDhASFBYYGhweICIkJigqLC4wMjQ2ODo8PkBCREZISkxOUFJUVlhaXF5gYmRmaGpsbnBydHZ4enx+gIKEhoiKjI6QkpSWmJqcnqCipKaoqqyusLK0tri6vL7AwsTGyMrMztDS1NbY2tze4OLk5ujq7O7w8vT2+Pr9///06uDWzMO6saifl4+Hf3hxamNcVlBKRD85NC8rJiIeGhcTEA0LCAYEAgEAAAAAAAAAAQIDBAUHCAoMDhATFRcaHR8iJSgsLjAyNDY5Oz1AQkVHSkxPUVRXWl1fYmVoa25xdHh7foGFiIuPkpaZnaCkqKyvs7e7v8PHy8/T19vgz8zJxsPAvbm0sKunopyXkoyGgXt1b2ljXVdQSkQ+ODMtJyIcFxINCAQCAgEAAAAAAAEBAgMEBQcICgwNDxIUFhkbHiEkJyotMDQ2ODo8P0FDRkhLTVBSVVhaXWBjZmlsb3J1eHt+gYWIi4+SlpmdoKSorK+zt7u/w8fLz9PX2+D/+fTu6eTf2tXQy8bBvbizr6qmoZ2ZlZCMiISAfXl1cW5qZ2NgXVlWU1BNSkdEQT48OTc0Mi8tKygmJCIgHhwaGRcVFBIRDw4NDAoJCAcGBQUEAwICAQE="),
2737O(k,99845,"AQECAgMEBAUGBwgJCgsMDg8QEhMVFxgaHB4g0M7NzMrIx8XDwcC9u7i1s7CtqqejoJ2ZlpKPi4eEgHx4dHBtaWVhXVlVUU1KRkI+Ozc0MS8tKigmJCIgHhwaGRcVFBIRDw4NDAoJCAcGBQUEAwICAQE="),O(k,99973,"AQECAgMEBAUGBwgJCgsMDg8QEhMVFxgaHB4gmJmZmpydn6Gkp6mssLO2ur7BxcnN0dTY3N/j5urt8PL19/n7/P3+/v////////79+/r49vPx7uzp5uTg3drX09DMyMTAvLi0sKyno5+alpGNiIR/e3ZybWllYFxYVFBMSERAPDk1Mi8rKCYjIB0aFxUSDw0KCAcFAwIBAAAAAAD+///////+/fz6+Pb08e7r6OXh3trW0s3JxL+6trCrpqGclpGLhoB7dW9qZF9ZVE9JRD86NTArJiIdGRURDQoHBAMBAAAAAAAAAAABAQIEBQcJCw0QEhUYGx4iJSktMTU6PkNITFFXW15iZWhrbnF0dnh7fH6AgYKDg4SEg4OCgXJycXFwb21samhmZGFfXFpXVFFOS0hFQj87ODUyLywpJiMgHRsYFhQSEA4MCwoJCAcHBwcHBgUFBQUFBQUFBQYHBwgJCgwNDxASFBYYGx0gIyYpLC8zNzs/Q0dMUVZbYGVqb3R5f4SJj5Wboaets7rAx87V3OPq8fX3+vz9/v///v79/fz7+/r6+fj49/f29vX09PPz8vLx8PDv7u7t7Ovq6uno5+bl5OPi4eDe3dzb2djW1dPS0M7My8nHxcPAvry5t7Wyr62qp6ShnpqXlJCNiYWBfXl1cW1oZGFeW1dUUU1KRkNAPDk1Mi4qJyMfHBgUEQ0LCQcFBAMCAQAAAAAAAAAAAQEBAgIDAwQEBQYGBwgICQoLDAwNDg8QERITFBYXGBkbHB0fICIjJSYoKSstLzAyNDY4Ojw+QEJER0lLTlBSVVdaXV9iZWdqbXBzdnl8f4KGiYyQk5aanaCjpqmsr7K1uLu+wcTHys3Q09bZ3N/i5Ofp7O7w8vT2+Pr7/X9/f4CBg4SHiYyPkpaZnaGlqq6yt7vAxcnN0tba3uLm6u3w8/X4+vv8/f7+/fz7+ff08Ozn4tzVzsa9tKmekoiCfXdybGZgWlROSUI8NzItKCQfGxgUEQ4MCQcGBQQEBAQFBggKDRAUGB0jKS83PkdQWmRwfIOFiIqMjo+RkpOTAEAIAEYSAAAAAAAAGAwAAARQEgZOFgAAAAAAACI0AAAEWBYGUhYAAAAAAAAiQAAAAFwIAFxQAAAAAAAATAgBAABWBABeQgAAAAAAACIKAAAAPgoAPhQAAAAAAAAcEAAABEQSBkQWAAAAAAAAHiwAAAZAEABCIAAAAAAAACASAAACRC4AKiAAAAAAAAAuOgAABE4YBkgWAAAAAAAAKjQAAARYIgBAIAAAAAAAAC5SAAAAOAwAOBQAAAAAAAAYDAAAAEYSAEYYAAAAAAAAIBQAAAkAAAAJAAAAEAAAABAAAAAQAAAAFwAAADcAAAAgAAAAACgYCAAKNCAUCgYmGA4EAAYAAAAHAAAACQAAAAkAAAAUAAAAFAAAABQAAAAZAAAA5iAUCA=="),O(k,101072,"ZgNmAWYCpgSmAiYEpoooAmoDagFqAqoCbgNuAW4CrgIpALMEdAN0AXQCtAS0AgAAdAR6A3oBegK6An4BOQC+AgAApgMAAKYBAADmAwAAaAEAAGgCAAAoAwAA6AEAAOkBAABpBAAAqgMAAKoBAAAqAwAA6gMAAOoBAABsAgAArAEAACwDAAAsAgAAbQIAAG0EAACuBAAArgMAAK4BAADuAwAALgAAAO6LAABvAgAAMAIwAAAAcQEAADECAADxAQAAMQMAAHEEAABzAQAAMwIAAPMBMwAAADMAAAC0AwAAtAEAAPQCAAC0igAAdwEAADcCAAD3AQAAeAEAAHgCAAA4AgAA+AEAADkCAAD5AQAAeQQAALoEAAC6AwAAugEAADoEAAD6AgAA+gMAAHwCAAB+AgAAAAB/AQAAPwMAAP8BOACmAAEAgQBnBQAAKAEpBWkF6gAAAEIFAADDAEMdAADvBGwFLABsAAQAAACtAG0FAADuBAUAbgCxBPEEMQXxj7IAAAByBQAAMwVzAPQEtJoAAAgAtwCOADcVAAA3BQAAzQB3ALcIOAUAAG8FyQAJAbkAOQX6BAoAewW7ALwAvgB+AD8FPwEAAAsBAADMAIwAAAAAAGcAAABsDW0ALwGwAHEAdgVMBEwc6Y8AAOnPOY4AADnO"),O(k,101586,"sQNZAlsCswO5A1MByQPGA4MCxQOSApQCfgJ8AgAAqgBhgLIAMoCzADOAuQAxgLoAb4CwAmiAsQJmgrICaoCzAnKAtAJ5grUCe4K2AoGCtwJ3gLgCeYDAApSCwQKVguACY4LhAmyA4gJzgOMCeIBwIDCAcSBpgHQgNIB1IDWAdiA2gHcgN4B4IDiAeSA5gHogK4B7IC2AfCA9gH0gKIB+ICmAfyBugIAgMECBIDFAgiAyQIMgM0CEIDRAhSA1QIYgNkCHIDdAiCA4QIkgOUCKICtAiyAtQIwgPUCNIChAjiApQJAgYUCRIGVAkiBvQJMgeECUIFlClSBoQJYga0CXIGxAmCBtQJkgbkCaIHBAmyBzQJwgdEAAAAAAaXhjbXZsZA=="),O(k,101888,"AQAAAAoAAABkAAAA6AMAAAUAAAAyAAAA9AEAAAAXCgkYExgY"),O(k,101936,"///////9+fXy7uvo5OHe2tjV0s/MycbEwb+8ure1s7CurKmopaOhn56bmZiWlJKRj42LiYiHhYOCgX9+fHt6eHd2dXNycXBvbm1ramloZ2ZlZGNiYWBfXl1cW1pZWVhXVlVUU1JSUVBQT05NTExLS0pJSEdHRkVFRENDQkJBQEA/Pj49PTw7Ozo6OTk4ODc2NjU1NDQ0MzIyMTEwMC8vLi4uLS0sLCwrKyopKCgoJycnJiYmJSUlJCQjIyMjIiIiISEhICAfHx8eHh4dHR0dHBwbGxsbGhoaGhkZGRgYGBgXFxcXFhYWFRUVFRQUFBQTExMSEhERERAQEBAQEA8PDw8ODg4NDQ0MDAwMCwsLCwoKCgkJCQgICAAAAAAAAAAAeHl4d3d2dnV0dHNycXBwb29ubWxrampoZ2dmZmZlZWNiYmFgYF9eXVtaW1pZWFZVVlVVVFJRUE9NTk5MTUtLSklHSEZFRUVDQUA/Pz89PTs7Ozo4OTo4NjU0NDU0NDIwLy8tLi0="),O(k,102336,"FhYWFhYWFhUVFRUUFBMTEhEQDw8PDw8PDwAAAAAAAABkeGRpZG5uZF9kaXhpbn2Ch3N9ZGl4S2RLaXhVS2RpeFVpX3N4ZF9kbnhfaWRzeGRkZGl4ZGlfc3huX2RpeGRpaXp9bmlkaXhkaWl6fW5pZGl4X2lkc3huZGRkeGRkZGRkZGRk"),O(k,102480,"ZJZkaW5zbm5uZGmWaW59h4xzh2RpllppWnqHZFpkaZZkaWR6h2RkZGmWZGlpc4duaWRplmRpaXqCeH1kaZZkaW56fXNuZGmWZGlpeod4aWRplmRpaXOHbmlkZGRkZGRkZGRkZA=="),O(k,102592,"bnhkbm5ubm5ubm54ZG5ubm5ubm5ueGRuZG5ubmRubnhkbm5ubm5ubm54ZG5ubm5ubm5ueGRubm5ubm5ubnhkbm5ubm5ubm54ZG5ubm5ubm5ueGRubm5ubm5ubnhkbm5ubm5ubg=="),O(k,102708,"rwAAAGQAAAAyAAAAMg=="),O(k,102744,"ZA=="),O(k,102764,"MjIoRlpkZGRGboeWZGRLZHiWAAAAAAAABwAAAA4AAAAVAAAAKAAAAFAAAAAAAAAAAFNBUFIAQwAAAAAARgAAAAAAAAABAAAAAgAAAAQAAAAPAAAAAAEAAAEBAAEBAgQAAAAAAPMAEAEAAQABAAEAAQAB8ADwAPA="),O(k,102898,"QABaAG4AgACPAJwAqQC1AMAAygDUAN0A5gDvAPcAAAEHAQ8BFgEeASUBLAEyATkBQAFGAUwBUgFYAV4BZAFqAW8BdQF6AYABhQGKAY8BlAGZAZ4BowGoAa0BsgG2AbsBwAHEAckBzQHRAdYB2gHeAeMB5wHrAe8B8wH3AfsBAAIDAgcCCwIPAhMCFwIbAh8CIgImAioCLQIxAjUCOAI8AkACQwJHAkoCTgJRAlQCWAJbAl8CYgJlAmkCbAJvAn
2737MCdgJ5AnwCgAKDAoYCiQKMAo8CkgKWApkCnAKfAqICpQKoAqsCrgKxArQCtwK6Ar0CwALCAsUCyALLAs4C0QLUAtYC2QLcAt8C4gLkAucC6gLtAu8C8gL1AvcC+gL9AgADAgMFAwcDCgMNAw8DEgMVAxcDGgMcAx8DIQMkAycDKQMsAy4DMQMzAzYDOAM7Az0DQANCA0QDRwNJA0wDTgNRA1MDVQNYA1oDXQNfA2EDZANmA2gDawNtA28DcgN0A3YDeQN7A30DgAOCA4QDhgMAAAGqAqytAwQFsLGys7S0tgYHCLkJCrwMDQ4PEBESYWJjZGVmZ2hpamtsbW5vcHFyc3R1"),O(k,103360,"YAYAAPAGAABmCQAA5gkAAGYKAADmCgAAZgsAAOYLAABmDAAA5gwAAGYNAABQDgAA0A4AACAPAABAEAAAkBA="),O(k,103440,"5gDmAOYA5gAAAAAA5gDmAL4AqgC+AMgAAAAAAL4A8AC+AL4A0gDSAAAAAADSANIAyADIANIA0gAAAAAA5gDmAOYA5gDwAPAAAAAAAAQBBAGqAIwA3ADcAAAAAAD6AA4BoACMAMgAjAAAAAAA8ACgALQAtADSANIAAAAAAOYA8ACqANwAtAC0AAAAAAD6AA4BlgCCAMgAyAAAAAAADgEOAbYAjADcANwAAAAAAPgAEwGbALQA0gDSAAAAAAAOASwBwwMAAAAAAABsAAAAAAAAAKAAkQCbAJYAAAAAAMgA9QAnAAAAtwAAAAAAAADCugAAyADIAMgAyAAAAAAA0gDmAAABAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZGgAAAAAAABscHR4fICEiIyQlJicoKSorAAAs"),O(k,103790,"LQAAAAAAAAAu"),O(k,103816,"Lw=="),O(k,103833,"MAAAAAAAMQ=="),O(k,103856,"Mg=="),O(k,103868,"MwAAAK0AAQBABgEADCAtAAAAAAC+AL4A0gDSAAAAAADmAPoAoACWAMgAyAAAAAAA+gAEAbkAwwDDAL4AAAAAANIA3AD6AMgA+gD6AAAAAAD6APoAMjM0Njk6PD0+P0BBQkNERkdJSktMTU5PUFFSU1RWAACWAIwAtAC0AAAAAADIAMgAbA=="),O(k,104016,"oADIALQAtAAAAAAA3ADwALQAoADIAMgAAAAAAPAA+gBjAAAAZgAAAGgAAABrAAAAcAAAAHQAAAB4AAAA/g=="),O(k,104096,"oACMAJYApQAAAAAA2gAxAZEAkQCqAKAAAAAAAEoBXgEuAAAALAAAACcAAADIAg=="),O(k,104160,"MTIzNTY3OTo7PD4/QEFCREVGR0hJSktMTU5PUFFSU1RW"),O(k,104208,"vgC0AOYA5gAAAAAA+gD6ABESExQWFxkaGxwdHyAhIiQlJicoKSosc3uDmwAAAAAAtAC0AL4AtAAAAAAA5gDwALQAtAC0AKAAAAAAAOYAtABABAAAMAQAADUEAAA4BAAAOQQAAD4EAABDBAAASwQAAE0EAABOBAAATwQAAFAEAABRBAAAVgQAAFcEAABdBAAAXgQ="),O(k,104368,"tACgAMgAyAAAAAAA3ADmAKAAhwDSANIAAAAAAAQBGAGgAIwAyADIAAAAAADcAOYAyADIAMgAyAAAAAAAyADIAKAAvgCvAK8AAAAAAMgA0gCqAHMA0gDwAAAAAAAEARgBqgCqALQAtAAAAAAA8AAEAZYAtADIAMgAAAAAANIA+gCWAJYAtAC0AAAAAAAsASwBoACHANwA3AAAAAAA+gAYAaAAqgDIAMgAAAAAAEABVAG0AKAA8ADwAAAAAAAEAQQBvgC0AMgA5gAAAAAA8AD6AJYAlgC0ALQA0gDmAOYA8ABhAAAA4AAAAOEAAACjHgAA4wAAAKEeAAADAQAAsR4AAK8eAACzHgAAtR4AALceAADiAAAApx4AAKUeAACpHgAAqx4AAK0eAABlAAAA6AAAAOkAAAC7HgAAvR4AALkeAADqAAAAwR4AAL8eAADDHgAAxR4AAMceAABpAAAA7AAAAO0AAADJHgAAKQEAAMseAABvAAAA8gAAAPMAAADPHgAA9QAAAM0eAAD0AAAA0x4AANEeAADVHgAA1x4AANkeAAChAQAA3R4AANseAADfHgAA4R4AAOMeAAB1AAAA+QAAAPoAAADnHgAAaQEAAOUeAACwAQAA6x4AAOkeAADtHgAA7x4AAPEeAAB5AAAA8x4AAP0AAAD3HgAA+R4AAPUe"),O(k,104896,"5gCWAOYA5gDmAAAA8AD6AAAAAAAnAAAAAAAAAAABAgM="),O(k,104945,"AQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRo="),O(k,105072,"GxwdAAAeHyAhIiMkACUmAAAAACcAACgAKQAqACsAAAAAAAAsAC0ALgAAAAAALwAAADAAAAAAAAAAMQ=="),O(k,105170,"MgAz"),O(k,105195,"NAAAAAAANQA2"),O(k,105226,"NwA4ADkArQABAAwgAQ=="),O(k,105249,"AQIDAAQAAQIDAAQFBgIDAAQFBwEDAAQICQoDAAAICAoDAAALCwsLAAAMDAwMAAAMAQ4BEwEBAw8DDgYRBgMJAQsPCwEMCQwBDgYOCQ4ODg8OHA4DDxEPEg8PEBEQAREGEQkRDxETEiAS/38AAAAAlgCMANwA3AAAAAAABAEYAYKAeHRkZICAgIyAgKCrq4CAgA=="),O(k,105412,"yAAAAMgAAACQAQAAkAEAAJABAABYAgAAWAIAAFgC"),O(k,105456,"8AAAAKoAAACqAAAAqgAAAKoAAACqAAAAqgAAAKoAAACqAAAAAQIMAw0EDgULAAAAAQIDBAUGAAAAAAAACwwNDg=="),O(k,105540,"MgAAAK8AAABkAAAAMg=="),O(k,105568,"rw=="),O(k,105596,"EBAKEBY="),O(k,105620,"/38AANAHAAAsAQAAYwAAAGMAAABjAAAAAAAAANAH"),O(k,105668,"BA=="),O(k,105680,"QEFCQ0RFRkdISUpLTE1OT1BRUlNUVldYWVtcXV5gYWJkZWdoaWtsbm9xc3R2d3l7fH6AgoSFh4mLjY+Rk5WXmZueoKKkp6mrrrCztbi6vb/CxcfKzdDT1tnc3+Ll6Ozv8vb5/P7/"),O(k,105792,"//7+/v7+/v7+/v39/f38/Pz7+/v6+vn5+Pj39/b19fTz8/Lx7+3r6efl4+Hf3drY1dPQzcvIxcK/u7i1sq6rp6OgnJiUkIyIhH97d3JuaWRgXltYVlNRTkxKR0VCQD48OTc1MzEvLCooJiQiIB4dGxkXFRMSEA4MCwkHBgQDAQ=="),O(k,106064,"//7+/v7+/f38+/v6+fj39vX08vHv7uzq6efl4+Hf3NrY1dPRz83LycfFw8G/vbu5t7SysK2rqaakoZ+cmpeUko+MioeEgX57eHZzcGxpZmNgX11bWlhWVVNSUE9NTEpJSEZFRENCQD8+PTw7Ojk4Nzc2NTQ0MzIyMTAwLy8uLi4tLS0sLCwsLCwsKysrKywrKiopKCgnJiYlJCQjIyIhISAgHx4eHR0cHBsaGhkZGBgXFxYWFRUUFBMTEhISEREQEA8PDw4ODQ0NDAwLCwsKCgoJCQkICAgHBwcHBgYGBQUFBQQEBAQEAwMDAwICAgICAgEBAQEBAQ=="),O(k
vendor: 6,116 bytes, line 2737
2737,106341,"RvIpAC8ALwBF8ikALwAuAEXyKAAuAC0ANPIoAC0tLAA08igAKysrADTyKAAqKioANPIoACkpKQA08igAAOf/zv+1/5z/g/9q/1H/N/8e/wX/7P7T/rr+of6I/m/+Vf48/iP+Cv7x/dj9v/2m/Y39dP1b/UL9Kf0Q/ff83vzF/Kz8k/x6/GH8SPwv/Bb8/fvk+8v7svuZ+4D7Z/tP+zb7HfsE++v60vq6+qH6iPpv+lf6Pvol+g369Pnb+cP5qvmR+Xn5YPlH+S/5Fvn++OX4zfi0+Jz4g/hr+FP4Ovgi+Ar48ffZ98H3qPeQ93j3YPdH9y/3F/f/9uf2z/a39p/2h/Zv9lf2P/Yn9g/29/Xf9cf1sPWY9YD1aPVR9Tn1IfUK9fL02/TD9Kz0lPR99GX0TvQ29B/0CPTw89nzwvOr85TzfPNl807zN/Mg8wnz8vLb8sTyrvKX8oDyafJS8jzyJfIO8vjx4fHL8bTxnvGH8XHxW/FE8S7xGPEB8evw1fC/8Knwk/B98GfwUfA78CXwEPD67+Tvzu+576Pvje9472LvTe847yLvDe/47uLuze647qPuju557mTuT+467iXuEO777eft0u297antlO2A7WvtV+1C7S7tGu0F7fHs3ezJ7LXsoeyN7HnsZexR7D3sKuwW7ALs7+vb68jrtOuh643reutn61TrQest6xrrB+v06uLqz+q86qnqluqE6nHqX+pM6jrqJ+oV6gPq8One6czpuumo6ZbphOly6WHpT+k96SzpGukI6ffo5ujU6MPosuig6I/ofuht6FzoS+g76CroGegI6Pjn5+fX58bntuel55Xnhed152XnVedF5zXnJecV5wXn9ubm5tfmx+a45qjmmeaK5nvma+Zc5k3mPuYw5iHmEuYD5vXl5uXY5cnlu+Wt5Z7lkOWC5XTlZuVY5UrlPOUv5SHlE+UG5fjk6+Te5NDkw+S25KnknOSP5ILkdeRo5FzkT+RD5DbkKuQd5BHkBeT54+3j4ePV48njveOx46XjmuOO44Pjd+Ns42HjVuNL4z/jNOMq4x/jFOMJ4//i9OLq4t/i1eLK4sDituKs4qLimOKO4oTie+Jx4mfiXuJU4kviQuI54i/iJuId4hTiDOID4vrh8eHp4eDh2OHQ4cfhv+G34a/hp+Gf4Zfhj+GI4YDheOFx4WrhYuFb4VThTeFG4T/hOOEx4SrhJOEd4RbhEOEK4QPh/eD34PHg6+Dl4N/g2eDU4M7gyeDD4L7guOCz4K7gqeCk4J/gmuCV4JHgjOCH4IPgfuB64HbgcuBu4GrgZuBi4F7gWuBX4FPgT+BM4EngReBC4D/gPOA54DbgM+Ax4C7gK+Ap4CfgJOAi4CDgHuAc4BrgGOAW4BTgEuAR4A/gDuAN4AvgCuAJ4AjgB+AG4AXgBeAE4APgA+AC4ALgAuAC4ALgAeAC4ALgAuAC4ALgA+AD4ATgBeAF4AbgB+AI4AngCuAL4A3gDuAP4BHgEuAU4BbgGOAa4BzgHuAg4CLgJOAn4CngK+Au4DHgM+A24DngPOA/4ELgReBJ4EzgT+BT4FfgWuBe4GLgZuBq4G7gcuB24HrgfuCD4IfgjOCR4JXgmuCf4KTgqeCu4LPguOC+4MPgyeDO4NTg2eDf4OXg6+Dx4Pfg/eAD4QrhEOEW4R3hJOEq4THhOOE/4UbhTeFU4VvhYuFq4XHheOGA4Yjhj+GX4Z/hp+Gv4bfhv+HH4dDh2OHg4enh8eH64QPiDOIU4h3iJuIv4jniQuJL4lTiXuJn4nHie+KE4o7imOKi4qzituLA4sri1eLf4uri9OL/4gnjFOMf4yrjNOM/40vjVuNh42zjd+OD447jmuOl47HjvePJ49Xj4ePt4/njBeQR5B3kKuQ25EPkT+Rc5GjkdeSC5I/knOSp5Lbkw+TQ5N7k6+T45AblE+Uh5S/lPOVK5VjlZuV05YLlkOWe5a3lu+XJ5djl5uX15QPmEuYh5jDmPuZN5lzma+Z75ormmeao5rjmx+bX5ubm9uYF5xXnJec150XnVedl53XnheeV56XntufG59fn5+f45wjoGegq6DvoS+hc6G3ofuiP6KDosujD6NTo5uj36AjpGuks6T3pT+lh6XLphOmW6ajpuunM6d7p8OkD6hXqJ+o66kzqX+px6oTqluqp6rzqz+ri6vTqB+sa6y3rQetU62freuuN66HrtOvI69vr7+sC7BbsKuw97FHsZex57I3soey17Mns3ezx7AXtGu0u7ULtV+1r7YDtlO2p7b3t0u3n7fvtEO4l7jruT+5k7nnuju6j7rjuze7i7vjuDe8i7zjvTe9i73jvje+j77nvzu/k7/rvEPAl8DvwUfBn8H3wk/Cp8L/w1fDr8AHxGPEu8UTxW/Fx8YfxnvG08cvx4fH48Q7yJfI88lLyafKA8pfyrvLE8tvy8vIJ8yDzN/NO82XzfPOU86vzwvPZ8/DzCPQf9Db0TvRl9H30lPSs9MP02/Ty9Ar1IfU59VH1aPWA9Zj1sPXH9d/19/UP9if2P/ZX9m/2h/af9rf2z/bn9v/2F/cv90f3YPd495D3qPfB99n38fcK+CL4OvhT+Gv4g/ic+LT4zfjl+P74Fvkv+Uf5YPl5+ZH5qvnD+dv59PkN+iX6PvpX+m/6iPqh+rr60vrr+gT7Hfs2+0/7Z/uA+5n7svvL++T7/fsW/C/8SPxh/Hr8k/ys/MX83vz3/BD9Kf1C/Vv9dP2N/ab9v/3Y/fH9Cv4j/jz+Vf5v/oj+of66/tP+7P4F/x7/N/9R/2r/g/+c/7X/zv/n/wAAGQAyAEsAZAB9AJYArwDJAOIA+wAUAS0BRgFfAXgBkQGrAcQB3QH2AQ8CKAJBAloCcwKMAqUCvgLXAvACCQMiAzsDVANtA4YDnwO4A9ED6gMDBBwENQROBGcEgASZBLEEygTjBPwEFQUuBUYFXwV4BZEFqQXCBdsF8wUMBiUGPQZWBm8GhwagBrkG0QbqBgIHGwczB0wHZAd9B5UHrQfGB94H9gcPCCcIPwhYCHAIiAigCLkI0QjpCAEJGQkxCUkJYQl5CZEJqQnBCdkJ8QkJCiEKOQpQCmgKgAqYCq8KxwrfCvYKDgslCz0LVAtsC4MLmwuyC8oL4Qv4CxAMJww+DFUMbAyEDJsMsgzJDOAM9wwODSUNPA1SDWkNgA2XDa4NxA3bDfINCA4fDjUOTA5iDnkOjw6lDrwO0g7oDv8OFQ8rD0EPVw9tD4MPmQ+vD8UP2w/wDwYQHBAyEEcQXRBzEIgQnhCzEMgQ3hDzEAgRHhEzEUgRXRFyEYcRnBGxEcYR2xHwEQUSGRIuEkMSVxJsEoASlRKpEr4S0hLmEvsSDxMjEzcTSxNfE3MThxObE68TwxPWE+oT/hMRFCUUOBRMFF8UcxSGFJkUrBS/FNMU5hT5FAwVHhUxFUQVVxVqFXwVjxWhFbQVxhXZFesV/RUQFiIWNBZGFlgWahZ8Fo4WnxaxFsMW1BbmFvgWCRcaFywXPRdOF2AXcReCF5MXpBe1F8UX1hfnF/gXCBgZGCkYOhhKGFsYaxh7GIsYmxirGLsYyxjbGOsY+xgKGRoZKRk5GUgZWBlnGXYZhRmVGaQZsxnCGdAZ3xnuGf0ZCxoaGigaNxpFGlMaYhpwGn4ajBqaGqgathrEGtEa3xrtGvoaCBsVGyIbMBs9G0obVxtkG3EbfhuLG5gbpBuxG70byhvWG+Mb7xv7GwccExwfHCscNxxDHE8cWxxmHHIcfRyJHJQcnxyqHLUcwRzMHNYc4RzsHPccAR0MHRYdIR0rHTYdQB1KHVQdXh1oHXIdfB2FHY8dmR2iHawdtR2+Hccd0R3aHeMd7B30Hf0dBh4PHhceIB4oHjAeOR5BHkkeUR5ZHmEeaR5xHngegB6IHo8elh6eHqUerB6zHroewR7IHs8e1h7cHuMe6h7wHvYe/R4DHwkfDx8VHxsfIR8nHywfMh83Hz0fQh9IH00fUh9XH1wfYR9mH2sfbx90H3kffR+CH4Yfih+OH5Iflh+aH54foh+mH6kfrR+xH7Qftx+7H74fwR/EH8cfyh/NH88f0h/VH9cf2R/cH94f4B/iH+Qf5h/oH+of7B/uH+8f8R/yH/Mf9R/2H/cf+B/5H/of+x/7H/wf/R/9H/4f/h/+H/4f/h//H/4f/h/+H/4f/h/9H/0f/B/7H/sf+h/5H/gf9x/2H/Uf8x/yH/Ef7x/uH+wf6h/oH+Yf5B/iH+Af3h/cH9kf1x/VH9Ifzx/NH8ofxx/EH8Efvh+7H7cftB+xH60fqR+mH6Ifnh+aH5Yfkh+OH4ofhh+CH30feR90H28fax9mH2EfXB9XH1IfTR9IH0IfPR83HzIfLB8nHyEfGx8VHw8fCR8DH/0e9h7wHuoe4x7cHtYezx7IHsEeuh6zHqwepR6eHpYejx6IHoAeeB5xHmkeYR5ZHlEeSR5BHjkeMB4oHiAeFx4PHgYe/R30Hewd4x3aHdEdxx2+HbUdrB2iHZkdjx2FHXwdch1oHV4dVB1KHUAdNh0rHSEdFh0MHQEd9xzsHOEc1hzMHMEctRyqHJ8clByJHH0cchxmHFscTxxDHDccKxwfHBMcBxz7G+8b4xvWG8obvRuxG6QbmBuLG34bcRtkG1cbShs9GzAbIhsVGwgb+hrtGt8a0RrEGrYaqBqaGowafhpwGmIaUxpFGjcaKBoaGgsa/RnuGd8Z0BnCGbMZpBmVGYUZdhlnGVgZSBk5GSkZGhkKGfsY6xjbGMsYuxirGJsYixh7GGsYWxhKGDoYKRgZGAgY+BfnF9YXxRe1F6QXkxeCF3EXYBdOFz0XLBcaFwkX+BbmFtQWwxaxFp8WjhZ8FmoWWBZGFjQWIhYQFv0V6xXZFcYVtBWhFY8VfBVqFVcVRBUxFR4VDBX5FOYU0xS/FKwUmRSGFHMUXxRMFDgUJRQRFP4T6hPWE8MTrxObE4cTcxNfE0sTNxMjEw8T+xLmEtISvhKpEpUSgBJsElcSQxIuEhkSBRLwEdsRxhGxEZwRhxFyEV0RSBEzER4RCBHzEN4QyBCzEJ4QiBBzEF0QRxAyEBwQBhDwD9sPxQ+vD5kPgw9tD1cPQQ8rDxUP/w7oDtIOvA6lDo8OeQ5iDkwONQ4fDggO8g3bDcQNrg2XDYANaQ1SDTwNJQ0ODfcM4AzJDLIMmwyEDGwMVQw+DCcMEAz4C+ELyguyC5sLgwtsC1QLPQslCw4L9grfCscKrwqYCoAKaApQCjkKIQoJCvEJ2QnBCakJkQl5CWEJSQkxCRkJAQnpCNEIuQigCIgIcAhYCD8IJwgPCPYH3gfGB60HlQd9B2QHTAczBxsHAgfqBtEGuQagBocGbwZWBj0GJQYMBvMF2wXCBakFkQV4BV8FRgUuBRUF/ATjBMoEsQSZBIAEZwROBDUEHAQDBOoD0QO4A58DhgNtA1QDOwMiAwkD8ALXAr4CpQKMAnMCWgJBAigCDwL2Ad0BxAGrAZEBeAFfAUYBLQEUAfsA4gDJAK8AlgB9AGQASwAyABkAMAAAADAAAABAAAAAUAAAAJAAAACgAAAAsAAAAMAAAACAm7XL3Ojt7Obczr+wo5iQjIuMj5KUlZKMg3hpWUk8MSopLTZEVml9j5+qsbKtpJaHeGlcU09PVV5reoiWoquwsa6ooJiRi4iJjZSdqLK7wMG9tKWSfGNKMh4OBQIFDx4wRFltf4yWnJ+fnZuZmZyhqbO/ytXc4N7YzLumj3dgSzouKCkvOkhZanqGkJSVkYmAdWtiXFpcYWl0gIqUmp6dmJCGfHFoYmBja3iIm6/C0t/m5+LXxrKchG9bS0A5Nzg9Q0pQVFZVUk1IQj8+QUlWZ3yTq8PZ6vb8+/Tn1cCqlIBxZF1aXGFocHd9f397dGthV05IRkhOWWZ1hJOfp6uqpJmLe2pbTkZDRU1aa3+SprjFz9PSzcS5raGWjomHh4qNkZKRjIR4aFVBLhwOBQEFDx80TWiBmrDBzdPT0Mi/taukn5ydoKWqrrGwq6OWh3ZjUUI2Ly0xOkhZa36OnKaqqaOYintsXVJKSEpQWmd1gi0AAAAmAAAALQAAAC0AAAA3AAAALQ=="),
2737O(k,110928,"yv5w/hICZAHgAFkAFwD2/8b/8P/NAVcCGAK9AgIDXQLxAc0BMAKUAW4A4ACDAGgAn/+bABYBZv9z+6r94QJ9ALD9KQALAAn/9v9BAFwAUADQ/kcApwD//3oA6QChANX/FgHfAeUBlwEKAYoChgBQAOwARAAEAQ0BswA1AIwAEwElASgBaAABAZgANwG2AAcB9QB9ADoBjAAsAMsA5gAV/+L+FwBrAFwApf8mANABuwGwAGIA8Pxv9p346/vA+Ur6mPoT+0v8Jv0="),O(k,111162,"BgAHAAgACQAKAAsADQAOABAAEgAUABYAGQAcACAAIwAoAC0AMwA5AEAARwBQAFoAZQByAIAAjgCfALMAygDjAAABHAE+AWcBlQHHAQACOAJ+As8CcQOPAwAEcQT8BJ4FVgYfBwAI4Qj4CTsLrAw9DgAQwxHwE3cWWBl7HAAghSPfJ+4ssDL2OABArkekUIVbZmYzc/9/"),O(k,111324,"qMtoQQAAAACoy2jBAAAAAAAAAAAXCtQJkglQCQ8JzgiPCE8IEwjVB5oHYgcoB/MGvgaLBloGKwb9BdMFqQWBBVwFOAUWBfcE1wS7BKAEhgRuBFcEQQQtBBkEBwT1A+QD1APFA7YDqAOZA40DfwNxA2UDVwNLAz4DMgMkAxgDCwP+AvIC5ALYAssCvgKxAqQClwKLAn0CcgJkAlkCTAJAAjQCKAIcAhICBQL7AfAB5QHbAdABxgG7AbIBqAGeAZQBigGBAXcBbgFjAVsBUAFIAT0BNAErASABGAENAQQB+gDwAOcA3ADUAMgAwAC1AKwAoQCYAI4AhQB7AHEAaQBeAFYATABDADkAMQAnAB4AFgALAAQA+//y/+n/4P/X/87/xP+7/7L/qf+g/5X/jf+C/3r/cP9m/1z/Uv9J/z//Nf8r/yL/F/8O/wT/+v7x/uf+3f7T/sr+wP62/q3+o/6b/pD+h/59/nP+av5f/lb+TP5C/jj+Lf4j/hn+Df4D/vf97P3h/dX9yf29/bH9pf2Y/Yz9f/1z/Wb9Wf1M/T/9M/0k/Rn9Cv3//PH85fzY/Mz8vvyz/KT8mPyL/H78cfxi/FX8Rfw4/Cb8GfwG/Pb74vvQ+7r7pfuO+3b7XPtB+yT7Bvvl+sT6n/p5+lP6KPr++dD5oflw+Tz5CfnR+Jr4YPgm+Oj3q/ds9yz36/aq9mj2Jvbj9bAEdgRABA4E3wO0A4sDZQNBAx8DAAPiAsYCqwKSAnoCZAJOAjoCJwIVAgMC8wHjAdQBxgG4AasBnwGTAYcBfAFyAWgBXgFVAUwBQwE7ATMBLAEkAR0BFgEQAQkBAwH9APcA8gDtAOcA4gDdANkA1ADQAMwAxwDDAMAAvAC4ALQAsQCuAKoApwCkAKEAngCbAJkAlgCTAJEAjgCMAIkAhwCFAIMAgAB+AHwAegB4AHcAdQBzAHEAbwBuAGwAagBpAGcAZgBkAGMAYQBgAF8AXQBcAFsAWgBYAFcAVgBVAFQAUwBSAFAATwBOAE0ATABLAEsASgBJAEgARwBGAEUARABEAEMAQgBBAEAAQAA/AD4APQA9ADwAOwA7ADoAOQA5ADgAOAA3ADcANgA2ADUANQA0ADQAMwAzADIAMgAxADEAMAAwAC8ALwAuAC4ALQAtACwALAArACsAKgAqACkAKQApACkAKAAoACcAJwAmACYAJgAmACUAJQAkACQAJAAkACMAIwAjACMAIgAiACEAIQAhACEAIAAgACAAIAAfAB8AHwAfAB4AHgAeAB4AHQAdAB0AHQAcABwAHAAcABsAGwAxNkZyYW1lTWFuYWdlckltcGwAMTJGcmFtZU1hbmFnZXIAMjNTcGVlY2hXYXZlR2VuZXJhdG9ySW1wbAAxOVNwZWVjaFdhdmVHZW5lcmF0b3IAMTNXYXZlR2VuZXJhdG9y"),O(k,112416,"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"),O(k,115203,"QPsh+T8AAAAALUR0PgAAAICYRvg8AAAAYFHMeDsAAACAgxvwOQAAAEAgJXo4AAAAgCKC4zYAAAAAHfNpNf6CK2VHFWdAAAAAAAAAOEMAAPr+Qi52vzo7nrya9wy9vf3/////3z88VFVVVVXFP5ErF89VVaU/F9CkZxERgT8AAAAAAADIQu85+v5CLuY/JMSC/72/zj+19AzXCGusP8xQRtKrsoM/hDpOm+DXVT8="),O(k,115390,"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gryYg8kW42DvP6ySwdVQWo48hTLbA+Zp7z9LawGsWTqEPGC0AfMhc+8/Hz60ByHVgrxfm3szl3zvP8kNRzu5Kom8KaH1FEaG7z/TiDpgBLZ0PPY/i+cukO8/cXKdUezFgzyDTMf7UZrvP/CR048S94+82pCkoq+k7z99dCPim
2737K6NvPFnji1Ir+8/CCCqQbzDjjwnWmHuG7rvPzLrqcOUK4Q8l7prNyvF7z/uhdExqWSKPEBFblt20O8/7eM75Lo3jrwUvpyt/dvvP53NkU07iXc82JCegcHn7z+JzGBBwQVTPPFxjyvC8+8/EhETFBUWFxgZGhscHR4fICERIiMkESUmJygpKissES0uLxAQMBAQEBAQEBAxMjMQNDUQEBERERERERERERERERERERERERERERERERE2ERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERNxERERE4ETk6Ozw9PhERERERERERERERERERERERERERERERERERERERERERERERERERERERERE/EBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEUBBEUJDREVGR0hJShFLTE1OT1BREFJTVFVWV1hZWltcXRBeX2AQERERYWJjEBAQEBAQEBAQEBERERFkEBAQEBAQEBAQEBAQEBAQERFlEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQERFmZxAQaGkREREREREREREREREREREREREREREREWoREWsQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEWxtEBAQEBAQEBAQbhAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQb3BxchAQEBAQEBAQc3R1EBAQEBB2dxAQEBB4EBB5EBAQEBAQEBAQEBAQEBA="),O(k,117968,"//////////////////////////////////////////8AAAAAAAAAAP7//wf+//8HAAAAAAAEIAT//3////9//////////////////////////////////8P/AwAfUA=="),O(k,118072,"IAAAAAAA37xA1///+////////////7///////////////////////wP8///////////////////////////+////fwL//////wEAAAAA/7+2AP///4cHAAAA/wf//////////v/D////////////////7x/+4f+fAAD///////8A4P///////////////wMA//////8HMAT////8/x8AAP///wH/BwAAAAAAAP//3z8AAPD/+AP////////////v/9/h/8///v/vn/n///3F459ZgLDP/wMQ7of5///9bcOHGQJewP8/AO6/+////e3jvxsBAM//AB7un/n///3t458ZwLDP/wIA7Mc91hjH/8PHHYEAwP8AAO/f/f///f/j3x1gB8//AADv3/3///3v498dYEDP/wYA79/9/////+ffXfCAz/8A/Oz/f/z///svf4Bf/8D/DAD+/////3//Bz8g/wMAAAAA1vf//6///ztfIP/zAAAAAAEAAAD/AwAA//7///8f/v8D///+////HwAAAAAAAAAA////////f/n/A////////////z//////vyD///////f///////////89fz3//////z3/////PX89/3//////////Pf//////////BwAAAAD//wAA/////////////z8//v//////////////////////////////////////////////////////////n////v//B////////////8f/Af/fDwD//w8A//8PAP/fDQD////////P//8BgBD/AwAAAAD/A///////////////Af//////B///////////PwD///9//w//AcD/////Px8A//////8P////A/8DAAAAAP///w//////////f/7/HwD/A/8DgA=="),O(k,118768,"////////7//vD/8DAAAAAP//////8////////7//AwD///////9/AP/j//////8//wH//////+cAAAAAAN5vBP///////////////////////////////wAAAACA/x8A//8/P/////8/P/+q////P////////99f3B/PD/8f3B8="),O(k,118910,"AoAAAP8f"),O(k,118928,"hPwvPlC9//PgQwAA//////8B"),O(k,118982,"wP///////wMAAP//////f///////f/////////////////////8feAwA/////78g/////////4AAAP//fwB/f39/f39/f/////8AAAAAAIA="),O(k,119088,"4AAAAP4DPh/+////////////f+D+//////////////fg///////+/////////////38AAP///wcAAAAAAAD///////////////////////////////8/"),O(k,119184,"////////////////////////////////////////AAD//////////////////////x8AAAAAAAAAAP//////P/8f////DwAA//////9/8I///////////////////wAAAACA//z////////////////5////////fAAAAAAAgP+//////wAAAP///////w8A//////////8vAP8DAAD86P//////B/////8HAP///x/////////3/wCA/wP///9/////////fwD/P/8D//9//P////////9/BQAAOP//PAB+fn4Af3////////f/AP///////////////////wf/A///////////////////////////DwD//3/4//////8P/////////////////z//////////////////AwAAAAB/APjg//1/X9v/////////////////AwAAAPj///////////////8/AAD///////////z///////8AAAAAAP8P"),O(k,119582,"3/////////////////////8fAAD/A/7//wf+//8HwP////////////9//Pz8HAAAAAD/7///f///t/8//z8AAAAA////////////////////BwAAAAAAAAAA////////Hw=="),O(k,119712,"////H////////wEAAAAAAP////8A4P///wf//////wf///8//////w//PgAAAAAA/////////////////////////z//A/////8P/////w///////wD///////8P"),O(k,119824,"////////fwD//z8A/w=="),O(k,119856,"P/3/////v5H//z8A//9/AP///38AAAAAAAAAAP//NwD//z8A////AwAAAAAAAAAA/////////8AAAAAAAAAAAG/w7/7//z8AAAAAAP///x////8fAAAAAP/+//8fAAAA////////PwD//z8A//8HAP//Aw=="),O(k,119984,"////////////AQAAAAAAAP///////wcA////////BwD//////wD/Aw=="),O(k,120048,"////H4AA//8/"),O(k,120076,"//9/AP//////////PwAAAMD/AAD8////////AQAA////Af8D////////x/9wAP////9HAP//////////HgD/FwAAAAD///v///+fQAAAAAAAAAAAf73/v/8B/////////wH/A++f+f///e3jnxmB4A8="),O(k,120208,"//////////+7B/+DAAAAAP//////////swD/Aw=="),O(k,120256,"////////P38AAAA/AAAAAP////////9/EQD/AwAAAAD///////8/Af8DAAAAAAAA////5/8H/wM="),O(k,120336,"/////////wE="),O(k,120356,"////////////AwCA"),O(k,120388,"//z///////waAAAA////////538AAP///////////yAAAAAA/////////wH//f////9/fwEA/wMAAPz////8///+fw=="),O(k,120464,"f/v/////f7TLAP8Dv/3///9/ewH/Aw=="),O(k,120524,"//9/AP////////////////////////8D"),O(k,120560,"/////////////////38AAP///////////////////////////////w8="),O(k,120624,"//////9/"),O(k,120656,"//////////9/"),O(k,120688,"/////////wH///9//wM="),O(k,120714,"////PwAA////////AAAPAP8D+P//4P//"),O(k,120760,"//////////8="),O(k,120784,"////////////h/////////+A//8AAAAAAAAAAAsAAAD/////////////////////////////////////////AP///////////////////////////////////////wcA////fwAAAAAAAAcA8AD/////////////////////////////////////////////////////////////////D/////////////////8H/x//Af9D"),O(k,120976,"/////////////9///////////99k3v/r7/////////+/59/f////e1/8/f//////
2737////////////////////////////////////////////////P/////3///f////3///f////3///f////3/////9/////f//98////////9////52wc="),O(k,121136,"//////8fgD//Qw=="),O(k,121192,"//////8P/wP///////////////////////////////8fAAAAAAAAAP//////////jwj/Aw=="),O(k,121264,"7////5b+9wqE6paqlvf3Xv/7/w/u+/8P"),O(k,121302,"////A////wP///8D"),O(k,121328,"/////////////////////////////////////////////////////////////////wABAgMEBQYHCAn/////////CgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiP///////8KCwwNDg8QERITFBUWFxgZGhscHR4fICEiI/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8="),O(k,121601,"ARcCHRgTAx4bGQsUCAQNHxYcEhoKBwwVEQkGEAUPDt4SBJUAAAAA////////////////INsBABQAAABDLlVURi04"),O(k,121696,"TENfQ1RZUEUAAAAATENfTlVNRVJJQwAATENfVElNRQAAAAAATENfQ09MTEFURQAATENfTU9ORVRBUlkATENfTUVTU0FHRVM="),O(k,121776,"Qy5VVEYtOA=="),O(k,121800,"MAUCAE5vIGVycm9yIGluZm9ybWF0aW9uAElsbGVnYWwgYnl0ZSBzZXF1ZW5jZQBEb21haW4gZXJyb3IAUmVzdWx0IG5vdCByZXByZXNlbnRhYmxlAE5vdCBhIHR0eQBQZXJtaXNzaW9uIGRlbmllZABPcGVyYXRpb24gbm90IHBlcm1pdHRlZABObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5AE5vIHN1Y2ggcHJvY2VzcwBGaWxlIGV4aXN0cwBWYWx1ZSB0b28gbGFyZ2UgZm9yIGRhdGEgdHlwZQBObyBzcGFjZSBsZWZ0IG9uIGRldmljZQBPdXQgb2YgbWVtb3J5AFJlc291cmNlIGJ1c3kASW50ZXJydXB0ZWQgc3lzdGVtIGNhbGwAUmVzb3VyY2UgdGVtcG9yYXJpbHkgdW5hdmFpbGFibGUASW52YWxpZCBzZWVrAENyb3NzLWRldmljZSBsaW5rAFJlYWQtb25seSBmaWxlIHN5c3RlbQBEaXJlY3Rvcnkgbm90IGVtcHR5AENvbm5lY3Rpb24gcmVzZXQgYnkgcGVlcgBPcGVyYXRpb24gdGltZWQgb3V0AENvbm5lY3Rpb24gcmVmdXNlZABIb3N0IGlzIGRvd24ASG9zdCBpcyB1bnJlYWNoYWJsZQBBZGRyZXNzIGluIHVzZQBCcm9rZW4gcGlwZQBJL08gZXJyb3IATm8gc3VjaCBkZXZpY2Ugb3IgYWRkcmVzcwBCbG9jayBkZXZpY2UgcmVxdWlyZWQATm8gc3VjaCBkZXZpY2UATm90IGEgZGlyZWN0b3J5AElzIGEgZGlyZWN0b3J5AFRleHQgZmlsZSBidXN5AEV4ZWMgZm9ybWF0IGVycm9yAEludmFsaWQgYXJndW1lbnQAQXJndW1lbnQgbGlzdCB0b28gbG9uZwBTeW1ib2xpYyBsaW5rIGxvb3AARmlsZW5hbWUgdG9vIGxvbmcAVG9vIG1hbnkgb3BlbiBmaWxlcyBpbiBzeXN0ZW0ATm8gZmlsZSBkZXNjcmlwdG9ycyBhdmFpbGFibGUAQmFkIGZpbGUgZGVzY3JpcHRvcgBObyBjaGlsZCBwcm9jZXNzAEJhZCBhZGRyZXNzAEZpbGUgdG9vIGxhcmdlAFRvbyBtYW55IGxpbmtzAE5vIGxvY2tzIGF2YWlsYWJsZQBSZXNvdXJjZSBkZWFkbG9jayB3b3VsZCBvY2N1cgBTdGF0ZSBub3QgcmVjb3ZlcmFibGUAUHJldmlvdXMgb3duZXIgZGllZABPcGVyYXRpb24gY2FuY2VsZWQARnVuY3Rpb24gbm90IGltcGxlbWVudGVkAE5vIG1lc3NhZ2Ugb2YgZGVzaXJlZCB0eXBlAElkZW50aWZpZXIgcmVtb3ZlZABEZXZpY2Ugbm90IGEgc3RyZWFtAE5vIGRhdGEgYXZhaWxhYmxlAERldmljZSB0aW1lb3V0AE91dCBvZiBzdHJlYW1zIHJlc291cmNlcwBMaW5rIGhhcyBiZWVuIHNldmVyZWQAUHJvdG9jb2wgZXJyb3IAQmFkIG1lc3NhZ2UARmlsZSBkZXNjcmlwdG9yIGluIGJhZCBzdGF0ZQBOb3QgYSBzb2NrZXQARGVzdGluYXRpb24gYWRkcmVzcyByZXF1aXJlZABNZXNzYWdlIHRvbyBsYXJnZQBQcm90b2NvbCB3cm9uZyB0eXBlIGZvciBzb2NrZXQAUHJvdG9jb2wgbm90IGF2YWlsYWJsZQBQcm90b2NvbCBub3Qgc3VwcG9ydGVkAFNvY2tldCB0eXBlIG5vdCBzdXBwb3J0ZWQATm90IHN1cHBvcnRlZABQcm90b2NvbCBmYW1pbHkgbm90IHN1cHBvcnRlZABBZGRyZXNzIGZhbWlseSBub3Qgc3VwcG9ydGVkIGJ5IHByb3RvY29sAEFkZHJlc3Mgbm90IGF2YWlsYWJsZQBOZXR3b3JrIGlzIGRvd24ATmV0d29yayB1bnJlYWNoYWJsZQBDb25uZWN0aW9uIHJlc2V0IGJ5IG5ldHdvcmsAQ29ubmVjdGlvbiBhYm9ydGVkAE5vIGJ1ZmZlciBzcGFjZSBhdmFpbGFibGUAU29ja2V0IGlzIGNvbm5lY3RlZABTb2NrZXQgbm90IGNvbm5lY3RlZABDYW5ub3Qgc2VuZCBhZnRlciBzb2NrZXQgc2h1dGRvd24AT3BlcmF0aW9uIGFscmVhZHkgaW4gcHJvZ3Jlc3MAT3BlcmF0aW9uIGluIHByb2dyZXNzAFN0YWxlIGZpbGUgaGFuZGxlAFJlbW90ZSBJL08gZXJyb3IAUXVvdGEgZXhjZWVkZWQATm8gbWVkaXVtIGZvdW5kAFdyb25nIG1lZGl1bSB0eXBlAE11bHRpaG9wIGF0dGVtcHRlZABSZXF1aXJlZCBrZXkgbm90IGF2YWlsYWJsZQBLZXkgaGFzIGV4cGlyZWQAS2V5IGhhcyBiZWVuIHJldm9rZWQAS2V5IHdhcyByZWplY3RlZCBieSBzZXJ2aWNl"),O(k,123730,"pQJbAPABtQWMBSUBgwYdA5QE/wDHAzEDCwa8AY8BfwPKBCsA2gavAEIDTgPcAQ4EFQChBg0BlAILAjgGZAK8Av8CXQPnBAsHzwLLBe8F2wXhAh4GRQKFAIICbANvBPEA8wMYBdkA2gNMBlQCewGdA70EAABRABUCuwCzA20A/wGFBC8F+QQ4AGUBRgGfALcGqAFzAlMB"),O(k,123928,"IQQAAAAAAAAAAC8C"),O(k,123960,"NQRHBFYE"),O(k,123982,"oAQ="),O(k,124002,"RgVgBW4FYQYAAM8BAAAAAAAAAADJBukG+QYeBzkHSQdeBw=="),O(k,124048,"GQAKABkZGQAAAAAFAAAAAAAACQAAAAALAAAAAAAAAAAZABEKGRkZAwoHAAEACQsYAAAJBgsAAAsABhkAAAAZGRk="),O(k,124129,"DgAAAAAAAAAAGQAKDRkZGQANAAACAAkOAAAACQAOAAAO"),O(k,124187,"DA=="),O(k,124199,"EwAAAAATAAAAAAkMAAAAAAAMAAAM"),O(k,124245,"EA=="),O(k,124257,"DwAAAAQPAAAAAAkQAAAAAAAQAAAQ"),O(k,124303,"Eg=="),O(k,124315,"EQAAAAARAAAAAAkSAAAAAAASAAASAAAaAAAAGhoa"),O(k,124370,"GgAAABoaGgAAAAAAAAk="),O(k,124419,"FA=="),O(k,124431,"FwAAAAAXAAAAAAkUAAAAAAAUAAAU"),O(k,124477,"Fg=="),O(k,124489,"FQAAAAAVAAAAAAkWAAAAAAAWAAAWAAAwMTIzNDU2Nzg5QUJDREVG"),O(k,124564,"EQ=="),O(k,124604,"//////////8="),O(k,124672,"0XSeAFedvSqAcFIP//8+Jw
2737oAAABkAAAA6AMAABAnAACghgEAQEIPAICWmAAA4fUFGAAAADUAAABxAAAAa////877//+Sv///AAAAAAAAAAACAADAAwAAwAQAAMAFAADABgAAwAcAAMAIAADACQAAwAoAAMALAADADAAAwA0AAMAOAADADwAAwBAAAMARAADAEgAAwBMAAMAUAADAFQAAwBYAAMAXAADAGAAAwBkAAMAaAADAGwAAwBwAAMAdAADAHgAAwB8AAMAAAACzAQAAwwIAAMMDAADDBAAAwwUAAMMGAADDBwAAwwgAAMMJAADDCgAAwwsAAMMMAADDDQAA0w4AAMMPAADDAAAMuwEADMMCAAzDAwAMwwQADNsAAAAAIAAAAAkAAAAKAAAADQAAAAsAAAAMAAAAhQAAAAAgAAABIAAAAiAAAAMgAAAEIAAABSAAAAYgAAAIIAAACSAAAAogAAAoIAAAKSAAAF8gAAAAMAAAAAAAAE4xMF9fY3h4YWJpdjExNl9fc2hpbV90eXBlX2luZm9FAAAAAGjpAQB46AEAZOoBAE4xMF9fY3h4YWJpdjExN19fY2xhc3NfdHlwZV9pbmZvRQAAAGjpAQCo6AEAnOgBAE4xMF9fY3h4YWJpdjExN19fcGJhc2VfdHlwZV9pbmZvRQAAAGjpAQDY6AEAnOgBAE4xMF9fY3h4YWJpdjExOV9fcG9pbnRlcl90eXBlX2luZm9FAGjpAQAI6QEA/OgBAAAAAADM6AEAFAAAABUAAAAWAAAAFwAAABgAAAAZAAAAGgAAABsAAAAAAAAAsOkBABQAAAAcAAAAFgAAABcAAAAYAAAAHQAAAB4AAAAfAAAATjEwX19jeHhhYml2MTIwX19zaV9jbGFzc190eXBlX2luZm9FAAAAAGjpAQCI6QEAzOgBAAAAAAAg6gEACQAAACAAAAAhAAAAAAAAAEjqAQAJAAAAIgAAACMAAAAAAAAACOoBAAkAAAAkAAAAJQAAAFN0OWV4Y2VwdGlvbgAAAABA6QEA+OkBAFN0OWJhZF9hbGxvYwAAAABo6QEAEOoBAAjqAQBTdDIwYmFkX2FycmF5X25ld19sZW5ndGgAAAAAaOkBACzqAQAg6gEAU3Q5dHlwZV9pbmZvAAAAAEDpAQBU6gE="),O(k,125552,"wLEAAMCyAADAswAAwLQAAMC1AADAtgAAwLcAAMC4AADAuQAAwLoAAMC7AADAvAAAwL0AAMC+AADAvwAAwMAAAMDBAADAwgAAwMMAAMDEAADAxQAAwMIAAMDGAADAxwAAwMgAAMDJAADAygAAwMsAAMDMAADAzQAAwM4AAMDPAADA0AAAwNEAAMDSAADA0wAAwNQAAMDVAADA1gAAwNcAAMDYAADA2QAAwNIAAMDaAADA2wAAwNwAAMDdAADA3gAAwN8AAMDgAADA4QAAwNgAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADA4gAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwOMAAMDkAADAwgAAwMIAAMDCAADA5QAAwMIAAMDmAADA5wAAwOgAAMDpAADA6gAAwOsAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADA7AAAwO0AAMDCAADA7gAAwO8AAMDCAADA8AAAwPEAAMDyAADA8wAAwPQAAMD1AADA9gAAwPcAAMD4AADAwgAAwPkAAMD6AADA+wAAwPwAAMD9AADA/gAAwP8AAMAAAQDAAQEAwAIBAMADAQDABAEAwAUBAMAGAQDABwEAwAgBAMAJAQDACgEAwAsBAMAMAQDACwEAwA0BAMAOAQDADwEAwAsBAMDCAADAwgAAwMIAAMAQAQDAEQEAwBIBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDAwgAAwMIAAMDCAADAwgAAwBMBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMDCAADAwgAAwBQBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMDCAADAwgAAwBUBAMAWAQDACwEAwAsBAMAXAQDAGAEAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAGQEAwMIAAMDCAADAGgEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMDCAADAGwEAwBwBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMAdAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwB4BAMAfAQDAIAEAwCEBAMAiAQDAIwEAwCQBAMAlAQDA2AAAwNgAAMAmAQDACwEAwAsBAMALAQDACwEAwAsBAMAnAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwCgBAMApAQDACwEAwAsBAMAqAQDACwEAwCsBAMALAQDALAEAwC0BAMAuAQDALwEAwNgAAMDYAADAMAEAwDEBAMAyAQDAMwEAwDQBAMALAQDACwEAwAsBAMALAQDACwEAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMA1AQDAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwDYBAMA3AQDAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAOAEAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMDCAADAwgAAwMIAAMA5AQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDACwEAwAsBAMALAQDAwgAAwMIAAMA6AQDAOwEAwDwB"),O(k,128496,"oVcBAEEAAADdVwEAQgAAACZYAQBDAAAAa1gBAEQAAADSWAEARQAAABNZAQBGAAAAfFkBAEcAAACEWQEASAAAADBaAQBJAAAAZ1oBAEoAAADuWgEASwAAAC5bAQBMAAAAcVsBAE0AAADZWwEATgAAAGtcAQBPAAAAh1wBAAgAAADcXAEACQAAAB9dAQAKAAAAZ10BAAsAAACVXQEADAAAAMpdAQANAAAAD14BAA4AAAAqXgEADwAAAIZeAQAPAAAAvV4BABAAAABDXwEA
2737EQAAAH1fAQASAAAAq18BABMAAADZXwEAFAAAAAVgAQAVAAAAMGABABcAAABgYAEAGAAAAHlgAQAZAAAAtWABABsAAADdYAEAHAAAAPBgAQAdAAAAI2EBACAAAABEYQEAIQAAAG9hAQAiAAAAnWEBACMAAADRYQEAJAAAAPNhAQAlAAAAFWIBACYAAABZYgEAKAAAAH1iAQApAAAArmIBACoAAADoYgEAKwAAADVjAQAtAAAAb2MBAC4AAACnYwEALwAAAOZjAQAwAAAAeGQBADEAAACdZAEAMgAAAM9kAQAzAAAA/mQBAGQAAABgZQEAyAAAAN1lAQDJAAAAAAAAAP////8iZgEAAQAAAD5mAQACAAAABVUBAAMAAADNZgEAEQAAADRnAQASAAAAg2cBABMAAAD7ZwEAFAAAADtoAQAVAAAATGgBABYAAAB0aAEAEQAAALdoAQAhAAAAymgBACIAAAD+aAEAIwAAAEtpAQAkAAAAaWkBACUAAACfaQEAJgAAAOJpAQAhAAAAAAAAAP////8AAAAAAAAAACYAAAAAAAAAAQAAAJByAQABAAAAkHMBAAEAAACQdAEAAQAAAJB1AQABAAAAkHYBAAEAAACQdwEAAQAAAJB4AQABAAAAkHkBAAEAAACQegEAAQAAAJB7AQABAAAAkHwBAAEAAACQfQEAAQAAAJB+AQABAAAAkH8BAAEAAACQgAEAAQAAAJCBAQABAAAAkIIBAAUAAAAAAAAABg=="),O(k,129280,"oIMBAKCDAQAghAEAIIQBAKCEAQAghQEAoIUBACCGAQCghgEAoIYBACCHAQAghwEAoIcBAKCHAQAgiAEAIIgBAKCIAQCgiAEAIIkBACCJAQAuOU4ycIoBAAMHBQCQigEALjlOLnCKAQADBwUAkIoBAC45Ti5wigEAAwcFAJCKAQAuOVoycIoBAAMJBQCVigEALjlOMnCKAQADBwUAkIoBAC45SjdwigEABAcFAJqKAQAuOUo3cIoBAAQHBQCaigEALjlKN3CKAQAEBwUAmooBAC45TjJwigEAAwcFAJCKAQAuOU4ucIoBAAMHBQCQigEALjlOMnCKAQADBwUAkIoBACIpKSBwigEAAwcFAJqKAQAuOTcycIoBAAMHBQCaigEAo1MBABABAAAAVAEADAEAANJUAQARAQAAClUBACMAAAB/VQEAGwAAADRWAQAVAAAAxVYBAAABAAABVwEAAgEAAE1XAQADAQAAvVcBAAQBAAD7VwEABQEAAE5YAQATAAAAkVgBAB4AAADVWAEAFwAAAF9ZAQAaAAAAkVkBABkAAAD0WQEAGAAAADhaAQAdAAAAzloBABwAAAAPWwEAFgAAADdbAQAU"),O(k,129744,"Q1gBABABAACIWAEADAEAAPNYAQARAQAAM1kBACMAAACHWQEAGwAAAOBZAQAVAAAAQloBAAABAACcWgEAAgEAAABbAQADAQAAT1sBAAQBAACnWwEABQEAAEhcAQATAAAAc1wBAB4AAADEXAEAFwAAABVdAQAaAAAAXV0BABkAAACIXQEAGAAAANJdAQAdAAAABF4BABwAAAAvXgEAFgAAAF9eAQAU"),O(k,129920,"u08BAAEAAABcUAEAAAAAAM9QAQAAAAAAOFIBAAAAAABBUwEAAAAAAIFTAQAAAAAA+1MBAAAAAADnVAEAAAAAACVVAQAAAAAAiVUBAAAAAABUVgEAAAAAAPxWAQAAAAAADlcBAAAAAABIVwEAAAAAAKdXAQAAAAAA9lcBAAAAAAA3WAEAAAAAAKNYAQAAAAAA6FgBAAAAAAAuWQEAAAAAAH9ZAQAAAAAA61kBAAAAAAD/////g00BAIIAAAB5AAAAdg=="),O(k,130128,"4I8BAOCPAQBQkAEAwJABAMCQAQDAkAEAAQAAANQKAwCMCgMAROcC"),O(k,130176,"I0sBAAEAAAAAAAAA/////1dMAQABAAAA+0wBAAIAAADGTQEAAwAAAAAAAAD/////Vk4BAAAAAADSTgEAAQAAALJPAQACAAAAGFABABQAAAAAAAAA/////wAAAAAAAAAAt1ABABIAAABNUgEAFAAAAN5SAQAkAAAAhlMBAEAAAAARVAEAwQAAAAAAAAD/////q1QBAAEAAAAAAAAA/////1dMAQAAAAAAGVUBAAEAAACRVQEAAgAAAENWAQADAAAA31YBAAQAAAAgVwEABQAAAAAAAAD/////AAAAAAAAAABXTAEAAQAAAIlXAQACAAAAr1cBAAMAAADfVgEABAAAACBXAQAFAAAAAAAAAP////8AAAAAClgBADxYAQAYUAEAqFgB"),O(k,130480,"8l8BAAEAAAA5YAEAAgAAAFhgAQADAAAAgWABAAQAAACwYAEABQAAANNgAQAGAAAABWEBAAcAAAAqYQEACAAAAFFhAQAJAAAAdmEBAAoAAACQYQEACwAAAMNhAQAMAAAA+WEBAA0AAAAuYgEADgAAAE5iAQAPAAAAhmIBAA8AAADUYgEADwAAABljAQAPAAAAP2MBAA8AAACkYwEABwAAANpjAQAHAAAAO2QBAAcAAACEZAEABwAAAK9kAQAHAAAAw2QBAA4AAADnZAEADgAAAAplAQAQAAAA9GUBABAAAAArZgEAEAAAAN9WAQAQAAAAbmYBABAAAADBZgEAEA=="),O(k,130752,"f20BAD4AAACjbQEAPOAAAM1tAQAmAAAA1G0BACIAAAA6bgEAIAAAAHhuAQAnAAAAAAAAAP////8AAAAAAAAAAGNnAQBkAAAAxWcBAAAAAAAJaAEAHgAAAEJoAQBBAAAAQ1YBAGQAAACGaAEAlgAAAKVoAQDmAAAAAAAAAP////9jZwEAZAAAAL5oAQA8AAAA6WgBAFAAAABDVgEAZAAAABJpAQB9AAAAUmkBAKAAAAAAAAAA/////wAAAAAAAAAAY2cBAGQAAACUaQEARgAAAN5pAQBVAAAAQ1YBAGQAAAAoagEAbgAAAGdqAQB4AAAAAAAAAP////8AAAAAAAAAAGNnAQBkAAAAlGkBABQAAADeaQEAMgAAAENWAQBkAAAAKGoBAIwAAABnagEAtAAAAAAAAAD/////"),O(k,131076,"QP8BAAD/AQCA/wEAwP8B"),O(k,131104,"wmoBACDgAAALawEACeAAAEFrAQBf4AAAe2sBACI="),O(k,131152,"q2sBAAEAAAC8awEAAgAAAA1sAQAD"),O(k,131184,"+EwBAMJNAQBTTgEACU8BAOVPAQBkUAEA2lABAGdSAQDyUgEA1FMBAGFUAQ=="),O(k,131236,"iFIBADlTAQAAAAAAnlMBAGRUAQDwVAEAL1UBAJpVAQBQVgE="),O(k,131280,"Y1IBAIADAACAA/8DbGUAAAcAAAA0UwEAIAQAAAAELwUAAAAAAAAAAHNTAQAwBQAAMAWPBXloAAAEAAAAG1QBAJAFAACQBf8FAAAAAAAAAAC3VAEAAAYAAAAG/wYAAAAAAAAAACpVAQAABwAAAAdPBwAAAAAAAAAAllUBAAAJAAAACX8JaWgAAAQAAAA/VgEAgAkAAIAJ/wluYgAABAAAANZWAQAACgAAAAp/CmFwAAAEAAAAClcBAIAKAACACv8KdWcAAAQAAABfVwEAAAsAAAALfwsAAAAAAAAAAM5XAQCACwAAgAv/C2F0AAAEAAAAD1gBAAAMAAAADH8MZXQAAAAAAAAsWAEAgAwAAIAM/wxuawAABAAAAJ9YAQAADQAAAA1/DWxtAAAEAAAA5FgBAIANAACADf8NaXMAAAQAAAA8WQEAAA4AAAAOfw4AAAAAAAAAAJtZAQCADgAAgA7/DgAAAAAAAAAA8FkBAAAPAAAAD/8PAAAAAAAAAAA0WgEAABAAAAAQnxAAAAAAAAAAANlaAQCgEAAAoBD/EGFrAAAEAAAAGFsBAAARAAAAEf8Rb2sAAAQAAABKWwEAABIAAAASnxMAAAAAAAAAALlbAQAAKAAAACj/KAAAAAAQAAAAWlwBAEAwAABAMP8wAAAAAAgAAACDXAEAADEAAAAx/58AAAAACAAAABhbAQAApwAAAKf/129rAAAM"),O(k,131840,"WAIAAKoAAACwBAAAhwAAANAHAABuAAAAuAsAAG4AAAD/////"),O(k,131888,"qAsD"),O(k,131904,"mF4BAAEAAAA4XwEAAgAAAGFfAQADAAAAnV8BAAYAAADCXwEACQAAAPhfAQAKAAAAJ2ABAAQAAABNYAEABQAAAI1gAQAkAAAAq2ABAAsAAADVYAEADAAAAPZgAQANAAAAFmEBAA4AAABMYQEADwAAAGdhAQAQAAAAlmEBABEAAAC7YQEAEgAAAAJiAQAfAAAAG2IBACUAAABIYgEAIAAAAJJiAQAhAAAAzmIBACIAAADwYgEABwAAAC5jAQAI"),O(k,132112,"jmMBAAEAAAC8YwEAAgAAAAAAAAABAAAAFJwBACCcAQAsnAEAPAAAABo="),O(k,132163,"AgMFCAsOEhYbICUrMTc+RUxTWmJpcXmAiJCYn6autbzCyc/V2uDk6e3w9Pb5+/z9/f39/Pv59vTw7enk4NrVz8nCvLWupp+Yk
2737IiAeXFpYlpTTEU+NzErJSAbFhIOCwgFAwI="),O(k,132288,"QAAAAAABAAAAAAAA7AQCACcAAAAoAAAAKQAAACoAAAArAAAAQOkBAMO2AQBo6QEAsLYBAOQEAgAAAAAAJAUCACwAAAAtAAAALgAAAC8AAABA6QEAArcBAGjpAQDstgEAEAUCAGjpAQDStgEAGAUCAAU="),O(k,132412,"DQ=="),O(k,132436,"CwAAAAoAAADoeAM="),O(k,132460,"Ag=="),O(k,132476,"//////////8="),O(k,132544,"MAUCAAAAAAAF"),O(k,132564,"MA=="),O(k,132588,"CwAAADEAAAD4eAMAAAQ="),O(k,132612,"AQ=="),O(k,132628,"/////wo="),O(k,132696,"yAUCAAB/BA==");var fi,pt=(fi=[null,function(A){var t,r=0;return r=e[(A|=0)>>2],e[A>>2]=r+1,r=255&(t=g[0|r]),(0|t)<0&&(r=M[(e[A+12>>2]+(r<<1)|0)-256>>1]),0|r},en,function(A){var t,r;return t=e[(A|=0)>>2],r=e[t>>2],e[A>>2]=t+4,0|r},function(A){var t=0,r=0;return t=e[(A|=0)>>2],(0|(r=uA(A)))==65533&&(e[A>>2]=t+1,e[A+8>>2]=1,r=255&(t=g[0|t]),(0|t)>=0||(r=M[(e[A+12>>2]+(r<<1)|0)-256>>1])),0|r},uA,function(A){var t,r,a=0;return(a=e[4+(A|=0)>>2])>>>0<=(r=(t=e[A>>2])+1|0)>>>0?(e[A>>2]=a,65533):(e[A>>2]=r,a=l[0|t],e[A>>2]=t+2,a|l[t+1|0]<<8)},function(A,t){var r,a,s;return t|=0,A=e[(A|=0)>>2],r=e[A+4>>2],a=e[t>>2],(t=Mr(r+1|0,(s=e[a+4>>2])+1|0))||(t=g[0|r]-g[0|s]|0)||(t=Mr(e[A>>2],e[a>>2])),0|t},function(A,t){var r;return A|=0,t=e[(t|=0)>>2],r=e[A>>2],(A=e[t+16>>2]-e[r+16>>2]|0)||(A=Mr(e[r>>2],e[t>>2])),0|A},Jn,function(A,t,r,a){var s;return t|=0,r|=0,a|=0,q=s=q-16|0,(A=0|yA(e[60+(A|=0)>>2],0|t,0|r,255&a,s+8|0))?(e[56798]=A,A=-1):A=0,q=s+16|0,J=A?-1:e[s+12>>2],0|(A?-1:e[s+8>>2])},function(A,t,r){t|=0,r|=0;var a,s=0,i=0,o=0,c=0,f=0,m=0;q=a=q-32|0,s=e[28+(A|=0)>>2],e[a+16>>2]=s,o=e[A+20>>2],e[a+28>>2]=r,e[a+24>>2]=t,t=o-s|0,e[a+20>>2]=t,o=t+r|0,f=2;e:{A:{t=a+16|0,(s=0|Ge(e[A+60>>2],0|t,2,a+12|0))?(e[56798]=s,s=-1):s=0;r:{if(s)s=t;else for(;;){if((0|(i=e[a+12>>2]))==(0|o))break r;if((0|i)<0){s=t;break A}if(c=i-((m=(c=e[t+4>>2])>>>0<i>>>0)?c:0)|0,e[(s=(m<<3)+t|0)>>2]=c+e[s>>2],e[(t=(m?12:4)+t|0)>>2]=e[t>>2]-c,o=o-i|0,t=s,f=f-m|0,(i=0|Ge(e[A+60>>2],0|t,0|f,a+12|0))?(e[56798]=i,i=-1):i=0,i)break}if((0|o)!=-1)break A}t=e[A+44>>2],e[A+28>>2]=t,e[A+20>>2]=t,e[A+16>>2]=t+e[A+48>>2],A=r;break e}e[A+28>>2]=0,e[A+16>>2]=0,e[A+20>>2]=0,e[A>>2]=32|e[A>>2],A=0,(0|f)!=2&&(A=r-e[s+4>>2]|0)}return q=a+32|0,0|A},function(A,t,r){A|=0,t|=0,r|=0;var a,s=0,i=0,o=0;q=a=q-32|0,e[a+16>>2]=t,s=e[A+48>>2],e[a+20>>2]=r-!!(0|s),i=e[A+44>>2],e[a+28>>2]=s,e[a+24>>2]=i;e:{A:{if((s=0|LA(e[A+60>>2],a+16|0,2,a+12|0))?(e[56798]=s,s=-1):s=0,s)t=32;else{if((0|(s=e[a+12>>2]))>0)break A;t=s?32:16}e[A>>2]=t|e[A>>2];break e}o=s,(i=e[a+20>>2])>>>0>=s>>>0||(s=e[A+44>>2],e[A+4>>2]=s,e[A+8>>2]=s+(o-i|0),e[A+48>>2]&&(e[A+4>>2]=s+1,g[(t+r|0)-1|0]=l[0|s]),o=r)}return q=a+32|0,0|o},function(A){return 0|DA(e[60+(A|=0)>>2])},zs,function(A,t,r,a,s,i){A|=0,t=+t,r|=0,a|=0,s|=0,i|=0;var o,c=0,f=0,m=0,p=0,I=0,y=0,T=0,Y=0,K=0,_=0,ce=0,he=0,ye=0,De=0,Re=0,Xe=0,aA=0,fA=0;q=o=q-560|0,e[o+44>>2]=0,me(+t),c=0|Z(1),Z(0),(0|c)<0?(he=1,aA=84997,me(+(t=-t)),c=0|Z(1),Z(0)):2048&s?(he=1,aA=85e3):(aA=(he=1&s)?85003:84998,fA=!he);e:if(2146435072&~c){De=o+16|0;A:{r:{s:{if(t=Gn(t,o+44|0),(t+=t)!=0){if(c=e[o+44>>2],e[o+44>>2]=c-1,(0|(Re=32|i))!=97)break s;break A}if((0|(Re=32|i))==97)break A;I=e[o+44>>2],y=(0|a)<0?6:a;break r}I=c-29|0,e[o+44>>2]=I,t*=268435456,y=(0|a)<0?6:a}for(f=_=(o+48|0)+((0|I)>=0?288:0)|0;a=t<4294967296&t>=0?~~t>>>0:0,e[f>>2]=a,f=f+4|0,(t=1e9*(t-+(a>>>0)))!=0;);if((0|I)<=0)a=I,c=f,m=_;else for(m=_,a=I;;){if(Y=(0|a)>=29?29:a,!(m>>>0>(c=f-4|0)>>>0)){for(a=0;p=e[c>>2],Xe=a,a=31&Y,(63&Y)>>>0>=32?(T=p<<a,a=0):(T=(1<<a)-1&p>>>32-a,a=p<<a),p=T+K|0,a=di(Xe=Xe+a|0,a>>>0>Xe>>>0?p+1|0:p,1e9),e[c>>2]=Xe-kt(a,J,1e9,0),m>>>0<=(c=c-4|0)>>>0;);a&&(e[(m=m-4|0)>>2]=a)}for(;m>>>0<(c=f)>>>0&&!e[(f=c-4|0)>>2];);if(a=e[o+44>>2]-Y|0,e[o+44>>2]=a,f=c,!((0|a)>0))break}if((0|a)<0)for(ye=1+((y+25>>>0)/9|0)|0,K=(0|Re)==102;;){if(T=(0|(a=0-a|0))>=9?9:a,c>>>0<=m>>>0)f=e[m>>2];else{for(Y=1e9>>>T|0,p=~(-1<<T),a=0,f=m;Xe=a,a=e[f>>2],e[f>>2]=Xe+(a>>>T|0),a=z(Y,a&p),(f=f+4|0)>>>0<c>>>0;);f=e[m>>2],a&&(e[c>>2]=a,c=c+4|0)}if(a=T+e[o+44>>2]|0,e[o+44>>2]=a,m=(!f<<2)+m|0,c=c-(f=K?_:m)>>2>(0|ye)?f+(ye<<2)|0:c,!((0|a)<0))break}if(a=0,!(c>>>0<=m>>>0||(a=z(_-m>>2,9),f=10,(p=e[m>>2])>>>0<10)))for(;a=a+1|0,p>>>0>=(f=z(f,10))>>>0;);if((0|(f=(y-((0|Re)!=102?a:0)|0)-((0|Re)==103&!!(0|y))|0))<(z(c-_>>
27372,9)-9|0)){if(I=((((0|I)<0?4:292)+o|0)+((p=(0|(Y=f+9216|0))/9|0)<<2)|0)-4048|0,f=10,(0|(T=Y-z(p,9)|0))<=7)for(;f=z(f,10),(0|(T=T+1|0))!=8;);if(!(!(K=(Y=e[I>>2])-z(f,ye=(Y>>>0)/(f>>>0)|0)|0)&(0|(p=I+4|0))==(0|c))&&(!(1&ye)&&(t=9007199254740992,!(1&g[I-4|0])|(0|f)!=1e9|m>>>0>=I>>>0)||(t=9007199254740994),ce=(0|c)==(0|p)?1:1.5,ce=(p=f>>>1|0)>>>0>K>>>0?.5:(0|p)==(0|K)?ce:1.5,l[0|aA]!=45|fA||(ce=-ce,t=-t),p=Y-K|0,e[I>>2]=p,t+ce!=t)){if(a=f+p|0,e[I>>2]=a,a>>>0>=1e9)for(;e[I>>2]=0,(I=I-4|0)>>>0<m>>>0&&(e[(m=m-4|0)>>2]=0),a=e[I>>2]+1|0,e[I>>2]=a,a>>>0>999999999;);if(a=z(_-m>>2,9),f=10,!((p=e[m>>2])>>>0<10))for(;a=a+1|0,p>>>0>=(f=z(f,10))>>>0;);}c=c>>>0>(f=I+4|0)>>>0?f:c}for(;p=c,!(Y=c>>>0<=m>>>0)&&!e[(c=p-4|0)>>2];);if((0|Re)==103){if(y=((c=(0|(f=y||1))>(0|a)&(0|a)>-5)?~a:-1)+f|0,i=(c?-1:-2)+i|0,!(I=8&s)){if(c=-9,!Y&&(I=e[p-4>>2])&&(T=10,c=0,!((I>>>0)%10|0))){for(;f=c,c=c+1|0,!((I>>>0)%((T=z(T,10))>>>0)|0););c=~f}f=z(p-_>>2,9),(-33&i)!=70?(I=0,y=(0|(c=(0|(c=((a+f|0)+c|0)-9|0))>0?c:0))>(0|y)?y:c):(I=0,y=(0|(c=(0|(c=(c+f|0)-9|0))>0?c:0))>(0|y)?y:c)}}else I=8&s;if(T=-1,(0|((Y=I|y)?2147483645:2147483646))<(0|y))break e;if(K=1+(!!(0|Y)+y|0)|0,(0|(f=-33&i))!=70){if((De-(c=Is(((c=a>>31)^a)-c|0,0,De))|0)<=1)for(;g[0|(c=c-1|0)]=48,(De-c|0)<2;);
vendor: 23,685 bytes, line 2737
2737if(g[0|(ye=c-2|0)]=i,g[c-1|0]=(0|a)<0?45:43,(0|(c=De-ye|0))>(2147483647^K))break e}else{if((2147483647^K)<(0|a))break e;c=(0|a)>0?a:0}if((0|(a=c+K|0))>(2147483647^he))break e;ta(A,32,r,K=a+he|0,s),_r(A,aA,he),ta(A,48,r,K,65536^s);r:{s:{i:{if((0|f)==70){for(a=8|(i=o+16|0),I=9|i,m=f=m>>>0>_>>>0?_:m;;){c=Is(e[m>>2],0,I);c:if((0|f)==(0|m))(0|c)==(0|I)&&(g[o+24|0]=48,c=a);else{if(o+16>>>0>=c>>>0)break c;for(;g[0|(c=c-1|0)]=48,o+16>>>0<c>>>0;);}if(_r(A,c,I-c|0),!(_>>>0>=(m=m+4|0)>>>0))break}if(Y&&_r(A,85998,1),(0|y)<=0|m>>>0>=p>>>0)break i;for(;;){if((c=Is(e[m>>2],0,I))>>>0>o+16>>>0)for(;g[0|(c=c-1|0)]=48,o+16>>>0<c>>>0;);if(_r(A,c,(0|y)>=9?9:y),c=y-9|0,p>>>0<=(m=m+4|0)>>>0)break s;if(a=(0|y)>9,y=c,!a)break}break s}c:if(!((0|y)<0))for(_=m>>>0<p>>>0?p:m+4|0,a=8|(i=o+16|0),p=9|i,f=m;;){(0|p)==(0|(c=Is(e[f>>2],0,p)))&&(g[o+24|0]=48,c=a);o:if((0|f)==(0|m))_r(A,c,1),c=c+1|0,I|y&&_r(A,85998,1);else{if(o+16>>>0>=c>>>0)break o;for(;g[0|(c=c-1|0)]=48,o+16>>>0<c>>>0;);}if(_r(A,c,(0|(i=p-c|0))>(0|y)?y:i),y=y-i|0,_>>>0<=(f=f+4|0)>>>0)break c;if(!((0|y)>=0))break}ta(A,48,y+18|0,18,0),_r(A,ye,De-ye|0);break r}c=y}ta(A,48,c+9|0,9,0)}ta(A,32,r,K,8192^s),T=(0|r)<(0|K)?K:r;break e}if(I=(i<<26>>31&9)+aA|0,!(a>>>0>11)){for(c=12-a|0,ce=16;ce*=16,c=c-1|0;);t=l[0|I]!=45?t+ce-ce:-(ce+(-t-ce))}for((0|De)==(0|(c=Is(((c=e[o+44>>2])^(f=c>>31))-f|0,0,De)))&&(g[o+15|0]=48,c=o+15|0),_=2|he,m=32&i,f=e[o+44>>2],g[0|(y=c-2|0)]=i+15,g[c-1|0]=(0|f)<0?45:43,c=8&s,f=o+16|0;i=f,p=Ne(t)<2147483648?~~t:-2147483648,g[0|f]=m|l[p+124512|0],!((0|a)>0|c)&(t=16*(t-+(0|p)))==0|((f=i+1|0)-(o+16|0)|0)!=1||(g[i+1|0]=46,f=i+2|0),t!=0;);T=-1,(2147483645-(i=(c=De-y|0)+_|0)|0)<(0|a)||(ta(A,32,r,i=(a=!a||((m=f-(o+16|0)|0)-2|0)>=(0|a)?m=f-(o+16|0)|0:a+2|0)+i|0,s),_r(A,I,_),ta(A,48,r,i,65536^s),_r(A,o+16|0,m),ta(A,48,a-m|0,0,0),_r(A,y,c),ta(A,32,r,i,8192^s),T=(0|r)<(0|i)?i:r)}else ta(A,32,r,c=he+3|0,-65537&s),_r(A,aA,he),a=32&i,_r(A,t!=t?a?85596:85774:a?85247:85460,3),ta(A,32,r,c,8192^s),T=(0|r)<(0|c)?c:r;return q=o+560|0,0|T},function(A,t){var r;A|=0,r=t|=0,t=e[t>>2]+7&-8,e[r>>2]=t+16,D[A>>3]=Ds(e[t>>2],e[t+4>>2],e[t+8>>2],e[t+12>>2])},function(A,t,r){t|=0,r|=0;var a,s,i=0,o=0;return a=e[84+(A|=0)>>2],o=e[a+4>>2],s=e[A+28>>2],(i=(i=e[A+20>>2]-s|0)>>>0>o>>>0?o:i)&&(xt(e[a>>2],s,i),e[a>>2]=i+e[a>>2],o=e[a+4>>2]-i|0,e[a+4>>2]=o),i=e[a>>2],(o=r>>>0>o>>>0?o:r)&&(xt(i,t,o),i=o+e[a>>2]|0,e[a>>2]=i,e[a+4>>2]=e[a+4>>2]-o),g[0|i]=0,t=e[A+44>>2],e[A+28>>2]=t,e[A+20>>2]=t,0|r},function(A,t,r){r|=0;var a,s,i=0;return xt(t|=0,a=e[84+(A|=0)>>2],r=r>>>0>(i=(s=si(a,0,i=r+256|0))?s-a|0:i)>>>0?i:r),t=a+i|0,e[A+84>>2]=t,e[A+8>>2]=t,e[A+4>>2]=r+a,0|r},function(A,t,r){t|=0,r|=0;var a,s=0,i=0,o=0;s=e[84+(A|=0)>>2],a=e[s>>2]?s:84412,s=0;e:if(e[A+48>>2])for(;;){if(!(i=e[(s<<2)+a>>2]))break e;if(g[e[A+44>>2]+s|0]=(0|i)>=128?64:i,!((s=s+1|0)>>>0<ue[A+48>>2]))break}return i=e[A+44>>2],e[A+4>>2]=i,e[A+84>>2]=(s<<2)+a,e[A+8>>2]=s+i,!r|!s||(e[A+4>>2]=i+1,g[0|t]=l[0|i],o=1),0|o},Jn,Xs,N0,N0,function(A,t,r){r|=0;var a,s=0;return q=a=q+-64|0,s=1,As(A|=0,t|=0,0)||(s=0,t&&(s=0,(t=er(t,125132))&&(VA(4|(s=a+8|0),0,52),e[a+56>>2]=1,e[a+20>>2]=-1,e[a+16>>2]=A,e[a+8>>2]=t,pt[e[e[t>>2]+28>>2]](t,s,e[r>>2],1),(0|(A=e[a+32>>2]))==1&&(e[r>>2]=e[a+24>>2]),s=(0|A)==1))),q=a- -64|0,0|s},function(A,t,r,a,s,i){r|=0,a|=0,s|=0,i|=0,As(A|=0,e[8+(t|=0)>>2],i)&&vi(t,r,a,s)},function(A,t,r,a,s){if(r|=0,a|=0,s|=0,As(A|=0,e[8+(t|=0)>>2],s))e[t+28>>2]==1|e[t+4>>2]!=(0|r)||(e[t+28>>2]=a);else e:if(As(A,e[t>>2],s)){if(!(e[t+16>>2]!=(0|r)&e[t+20>>2]!=(0|r))){if((0|a)!=1)break e;return void(e[t+32>>2]=1)}e[t+20>>2]=r,e[t+32>>2]=a,e[t+40>>2]=e[t+40>>2]+1,e[t+36>>2]!=1|e[t+24>>2]!=2||(g[t+54|0]=1),e[t+44>>2]=4}},function(A,t,r,a){r|=0,a|=0,As(A|=0,e[8+(t|=0)>>2],0)&&M0(t,r,a)},Xs,function(A,t,r,a,s,i){r|=0,a|=0,s|=0,i|=0,As(A|=0,e[8+(t|=0)>>2],i)?vi(t,r,a,s):(A=e[A+8>>2],pt[e[e[A>>2]+20>>2]](A,t,r,a,s,i))},function(A,t,r,a,s){if(r|=0,a|=0,s|=0,As(A|=0,e[8+(t|=0)>>2],s))e[t+28>>2]==1|e[t+4>>2]!=(0|r)||(e[t+28>>2]=a);else e:{if(As(A,e[t>>2],s)){if(!(e[t+16>>2]!=(0|r)&e[t+20>>2]!=(0|r))){if((0|a)!=1)break e;return void(e[t+32>>2]=1)}e[t+32>>2]=a;A:if(e[t+44>>2]!=4){if(b[t+52>>1]=0,A=e[A+8>>2],pt[e[e[A>>2]+20>>2]](A,t,r,r,1,s),l[t+53|0]){if(e[t+44>>2]=3,!l[t+52|0])break A;break e}e[t+44>>2]=4}if(e[t+20>>2]=r,e[t+40>>2]=e[t+40>>2]+1,e[t+36>>2]!=1|e[t+24>>2]!=2)break e;return void(g[t+54|0]=1)}A=e[A+8>>2],pt[e[e[A>>2]+24>>2]](A,t,r,a,s)}},function(A,t,r,a){r|=0,a|=0,As(A|=0,e[8+(t|=0)>>2],0)?M0(t,r,a):(A=e[A+8>>2],pt[e[e[A>>2]+28>>2]](A,t,r,a))},Xs,function(A){return 84787},Xs,function(A){return 85058},Xs,function(A){return 84147},function(A){var t;return t=A|=0,A=e[A>>2],e[t>>2]=A+1,0|((0|(A=g[0|A]))<0?65533:255&A)},function(A,t,r,a,s,i){A|=0,t|=0,r|=0,a|=0,s|=0,i|=0;var o,c=0,f=0,m=0,p=0,I=0,y=0,T=0,Y=0;if(o=Na(408),e[o+4>>2]=a,e[o>>2]=r,t?(xt(o+16|0,t,376),D[o+392>>3]=(D[t+368>>3]-D[t>>3])/+(r>>>0),t=0):t=1,e[o+400>>2]=s,g[o+8|0]=t,i){if(r=e[A+24>>2])for(t=e[A+20>>2],a=e[A+8>>2];(s=e[e[(t>>>8&16777212)+a>>2]+((1023&t)<<2)>>2])&&(yt(s),r=e[A+24>>2],a=e[A+8>>2],t=e[A+20>>2]),t=t+1|0,e[A+20>>2]=t,r=r-1|0,e[A+24>>2]=r,t>>>0>=2048&&(yt(e[a>>2]),a=e[A+8>>2]+4|0,e[A+8>>2]=a,t=e[A+20>>2]-1024|0,e[A+20>>2]=t,r=e[A+24>>2]),r;);t=e[A+28>>2],e[A+420>>2]=e[t>>2],(r=e[A+32>>2])&&(g[t+8|0]=l[r+8|0],xt(t+16|0,A+40|0,376),(t=e[A+32>>2])&&yt(t),e[A+32>>2]=0)}if(r=(a=e[A+24>>2])+e[A+20>>2]|0,s=e[A+12>>2],(0|r)==(0|((0|(t=e[A+8>>2]))!=(0|s)?(s-t<<8)-1:0))){q=c=q-32|0;e:{A:{r:{s:{if((t=e[16+(i=A+4|0)>>2])>>>0>=1024){if(e[i+16>>2]=t-1024,t=e[i+4>>2],y=e[t>>2],s=t+4|0,e[i+4>>2]=s,(0|(t=e[i+8>>2]))==e[i+12>>2])if((f=e[i>>2])>>>0<s>>>0)r=Bt((a=(1+(s-f>>2)|0)/-2<<2)+s|0,s,t=t-s|0)+t|0,e[i+8>>2]=r,e[i+4>>2]=a+e[i+4>>2];else{if((r=(0|t)==(0|f)?1:t-f>>1)>>>0>=1073741824)break s;if(T=(a=r<<2)+(m=Na(a))|0,r=a=m+(-4&r)|0,(0|t)!=(0|s)){if(Y=-4&(t=t-s|0),I=1+((p=t-4|0)>>>2|0)&7)for(r=0,t=a;e[t>>2]=e[s>>2],s=s+4|0,t=t+4|0,(0|I)!=(0|(r=r+1|0)););else t=a;if(r=a+Y|0,!(p>>>0<28))for(;e[t>>2]=e[s>>2],e[t+4>>2]=e[s+4>>2],e[t+8>>2]=e[s+8>>2],e[t+12>>2]=e[s+12>>2],e[t+16>>2]=e[s+16>>2],e[t+20>>2]=e[s+20>>2],e[t+24>>2]=e[s+24>>2],e[t+28>>2]=e[s+28>>2],s=s+32|0,(0|r)!=(0|(t=t+32|0)););}e[i+12>>2]=T,e[i+8>>2]=r,e[i+4>>2]=a,e[i>>2]=m,f&&(yt(f),r=e[i+8>>2])}else r=t;e[r>>2]=y,e[i+8>>2]=e[i+8>>2]+4;break e}if((f=(s=e[i+8>>2])-e[i+4>>2]>>2)>>>0<(a=(t=e[i+12>>2])-(r=e[i>>2])|0)>>2>>>0){if((0|t)!=(0|s)){e[c+8>>2]=Na(4096),je(i,c+8|0);break e}if(e[c+8>>2]=Na(4096),xe(i,c+8|0),t=e[i+4>>2],y=e[t>>2],s=t+4|0,e[i+4>>2]=s,(0|(t=e[i+8>>2]))==e[i+12>>2])if((f=e[i>>2])>>>0<s>>>0)r=Bt((a=(1+(s-f>>2)|0)/-2<<2)+s|0,s,t=t-s|0)+t|0,e[i+8>>2]=r,e[i+4>>2]=a+e[i+4>>2];else{if((r=(0|t)==(0|f)?1:t-f>>1)>>>0>=1073741824)break s;if(T=(a=r<<2)+(m=Na(a))|0,r=a=m+(-4&r)|0,(0|t)!=(0|s)){if(Y=-4&(t=t-s|0),I=1+((p=t-4|0)>>>2|0)&7)for(r=0,t=a;e[t>>2]=e[s>>2],s=s+4|0,t=t+4|0,(0|I)!=(0|(r=r+1|0)););else t=a;if(r=a+Y|0,!(p>>>0<28))for(;e[t>>2]=e[s>>2],e[t+4>>2]=e[s+4>>2],e[t+8>>2]=e[s+8>>2],e[t+12>>2]=e[s+12>>2],e[t+16>>2]=e[s+16>>2],e[t+20>>2]=e[s+20>>2],e[t+24>>2]=e[s+24>>2],e[t+28>>2]=e[s+28>>2],s=s+32|0,(0|r)!=(0|(t=t+32|0)););}e[i+12>>2]=T,e[i+8>>2]=r,e[i+4>>2]=a,e[i>>2]=m,f&&(yt(f),r=e[i+8>>2])}else r=t;e[r>>2]=y,e[i+8>>2]=e[i+8>>2]+4;break e}if(e[c+24>>2]=i+12,!((t=(0|t)==(0|r)?1:a>>1)>>>0>=1073741824)){if(t=Na(r=t<<2),e[c+8>>2]=t,a=t+(f<<2)|0,e[c+16>>2]=a,e[c+20>>2]=t+r,e[c+12>>2]=a,e[c+4>>2]=Na(4096),je(c+8|0,c+4|0),(0|(s=e[i+8>>2]))==e[i+4>>2]){t=s;break A}for(;xe(c+8|0,s=s-4|0),e[i+4>>2]!=(0|s););break r}}_i(),Be()}t=e[i+8>>2]}r=e[i>>2],e[i>>2]=e[c+8>>2],e[c+8>>2]=r,e[i+4>>2]=e[c+12>>2],e[c+12>>2]=s,e[i+8>>2]=e[c+16>>2],e[c+16>>2]=t,a=e[i+12>>2],e[i+12>>2]=e[c+20>>2],e[c+20>>2]=a,(0|t)!=(0|s)&&(e[c+16>>2]=t+(3+(s-t|0)&-4)),r&&yt(r)}q=c+32|0,r=(a=e[A+24>>2])+e[A+20>>2]|0,t=e[A+8>>2]}e[e[t+(r>>>8&16777212)>>2]+((1023&r)<<2)>>2]=o,e[A+24>>2]=a+1},function(A){var t=0,r=0,a=0,s=0,i=0,o=0,c=0,f=0,m=0;r=e[420+(A|=0)>>2]+1|0,e[A+420>>2]=r;e:{if(t=e[A+32>>2]){if(r>>>0>(c=e[t+4>>2])>>>0){(r=e[A+28>>2])&&(yt(r),t=e[A+32>>2]),e[A+32>>2]=0,e[A+28>>2]=t;break e}for(i=A+40|0,o=t+16|0,f=e[A+28>>2]+16|0,m=+(r>>>0)/+(c>>>0),t=0;;){if(a=D[(r=t<<3)+o>>3],s=D[r+f>>3],D[r+i>>3]=a==a?(a-s)*m+s:s,(0|(r=1|t))==47)break e;a=D[(r<<=3)+o>>3],s=D[r+f>>3],D[r+i>>3]=a==a?(a-s)*m+s:s,t=t+2|0}}if(t=e[A+28>>2],r>>>0>ue[t>>2]){if(i=e[A+24>>2]){if(g[A+416|0]=0,o=e[A+8>>2],r=e[A+20>>2],t=e[e[o+(r>>>8&16777212)>>2]+((1023&r)<<2)>>2],e[A+32>>2]=t,e[A+24>>2]=i-1,r=r+1|0,e[A+20>>2]=r,r>>>0>=2048&&(yt(e[o>>2]),e[A+8>>2]=e[A+8>>2]+4,e[A+20>>2]=e[A+20>>2]-1024,t=e[A+32>>2]),l[t+8|0])xt(t+16|0,e[A+28>>2]+16|0,376),t=e[A+32>>2],e[t+368>>2]=0,e[t+372>>2]=0,a=D[A+40>>3],e[t+392>>2]=0,e[t+396>>2]=0,D[t+16>>3]=a;else if(r=e[A+28>>2],l[r+8|0]&&(xt(r+16|0,t+16|0,376),t=e[A+28>>2],e[t+368>>2]=0,e[t+372>>2]=0,!(t=e[A+32>>2])))break e;(0|(r=e[t+400>>2]))!=-1&&(e[A+424>>2]=r),e[A+420>>2]=0,D[t+16>>3]=D[t+392>>3]*+ue[t+4>>2]+D[t+16>>3];break e}g[A+416|0]=1}else a=D[t+392>>3]+D[A+40>>3],D[A+40>>3]=a,D[t+16>>3]=a}return 0|(l[A+416|0]?0:A+40)},function(A){return e[424+(A|=0)>>2]},function(A){var t=0;return e[(A|=0)>>2]=132304,(t=e[A+28>>2])&&yt(t),(t=e[A+32>>2])&&yt(t),p0(A+4|0),0|A},function(A){var t=0;e[(A|=0)>>2]=132304,(t=e[A+28>>2])&&yt(t),(t=e[A+32>>2])&&yt(t),p0(A+4|0),yt(A)},function(A,t,r){t|=0,r|=0;var a=0,s=0,i=0,o=0,c=0,f=0,m=0,p=0,I=0,y=0,T=0,Y=0,K=0,_=0,ce=0,he=0,ye=0,De=0,Re=0;if(!e[1088+(A|=0)>>2])return 0;e:if(t){for(m=A+648|0,f=A- -64|0;;){if(a=e[A+1088>>2],!(a=0|pt[e[e[a>>2]+4>>2]](a)))break e;if(s=Ws(D[A+32>>3]+D[a+16>>3]/+e[A+24>>2]),D[A+32>>3]=s,s=Ri(6.283185307179586*s),s=Ws(D[A+16>>3]+D[a>>3]*(.06*s*D[a+8>>3]+1)/+e[A+8>>2]),D[A+16>>3]=s,c=kt(e[56848],e[56849],1284865837,1481765933),i=J,i=(c=c+1|0)?i:i+1|0,e[56848]=c,e[56849]=i,o=.75*D[A+40>>3]+ +(i>>>1|0)/2147483647,D[A+40>>3]=o,p=D[a+24>>3],i=s>=D[a+32>>3],g[A+48|0]=i,o=(y=p)*(p=.2*o),o=vr(f+512|0,vr(f+440|0,s=D[a+352>>3]*(p*D[a+48>>3]+D[a+40>>3]*(s+s+-1+(i?o:.01*o)))*.5,D[a+104>>3],D[a+168>>3]),D[a+112>>3],D[a+176>>3]),o=vr(f+8|0,vr(f+80|0,vr(f+152|0,vr(f+224|0,vr(f+296|0,vr(f+368|0,o==o?(o-s)*D[a+184>>3]+s:s,D[a+96>>3],D[a+160>>3]),D[a+88>>3],D[a+152>>3]),D[a+80>>3],D[a+144>>3]),D[a+72>>3],D[a+136>>3]),D[a+64>>3],D[a+128>>3]),D[a+56>>3],D[a+120>>3]),c=kt(e[56848],e[56849],1284865837,1481765933),i=J,i=(c=c+1|0)?i:i+1|0,e[56848]=c,e[56849]=i,s=.75*D[A+56>>3]+ +(i>>>1|0)/2147483647,D[A+56>>3]=s,i=(I<<1)+r|0,p=vr(m+8|0,s=D[a+352>>3]*(D[a+192>>3]*(.3*s))*.5,D[a+200>>3],D[a+248>>3]),T=D[a+296>>3],Y=vr(m+80|0,s,D[a+208>>3],D[a+256>>3]),K=D[a+304>>3],_=vr(m+152|0,s,D[a+216>>3],D[a+264>>3]),ce=D[a+312>>3],he=vr(m+224|0,s,D[a+224>>3],D[a+272>>3]),ye=D[a+320>>3],De=vr(m+296|0,s,D[a+232>>3],D[a+280>>3]),Re=D[a+328>>3],y=o,o=(vr(m+368|0,s,D[a+240>>3],D[a+288>>3])-s)*D[a+336>>3]+(Re*(De-s)+(ye*(he-s)+(ce*(_-s)+(K*(Y-s)+(T*(p-s)+0))))),s=(y+(s==s?(s-o)*D[a+344>>3]+o:o))*D[a+360>>3]*4e3,a=(0|(a=Ne(s)<2147483648?~~s:-2147483648))>=32e3?32e3:a,b[i>>1]=(0|a)<=-32e3?-32e3:a,(0|(I=I+1|0))==(0|t))break}I=t}return 0|(t>>>0>I>>>0?I:t)},function(A,t){t|=0,e[1088+(A|=0)>>2]=t},Jn,Xs,en,function(A,t,r,a){return J=0,0}],fi.grow=function(A){var t=this.length;return this.length=this.length+A,t},fi.set=function(A,t){this[A]=t},fi.get=function(A){return this[A]},fi);return{v:function(){var A,t=0;q=A=q-16|0,0|MA(A+12|0,A+8|0)||(t=It(4+(e[A+12>>2]<<2)|0),e[56800]=t,t&&(!(t=It(e[A+8>>2]))||(e[e[56800]+(e[A+12>>2]<<2)>>2]=0,0|mA(e[56800],0|t)))&&(e[56800]=0)),q=A+16|0,e[56841]=227236,e[56823]=42},w:Pi,x:qn,y:function(A,t){t|=0,e[(A|=0)>>2]=t},z:function(A,t){return t|=0,g[e[4+(A|=0)>>2]+t|0]},A:Ca,B:F0,C:function(A){return l[12+(A|=0)|0]},D:function(A,t){t|=0,g[12+(A|=0)|0]=t},E:function(A){return l[13+(A|=0)|0]},F:function(A,t){t|=0,g[13+(A|=0)|0]=t},G:function(A){return l[14+(A|=0)|0]},H:function(A,t){t|=0,g[14+(A|=0)|0]=t},I:function(A){return l[15+(A|=0)|0]},J:function(A,t){t|=0,g[15+(A|=0)|0]=t},K:Zs,L:function(A,t){t|=0,e[16+(A|=0)>>2]=t},M:Xn,N:function(A,t){t|=0,e[20+(A|=0)>>2]=t},O:Pi,P:qn,Q:S0,R:Ca,S:Ss,T:Zs,U:Xn,V:function(A){return e[24+(A|=0)>>2]},W:Pi,X:function(){var A,t=0,r=0,a=0,s=0,i=0,o=0,c=0,f=0,m=0,p=0,I=0,y=0,T=0,Y=0,K=0,_=0,ce=0,he=0,ye=0,De=0,Re=0,Xe=0,aA=0;if(A=Na(20),e[A+16>>2]=0,e[A+8>>2]=175,e[A+12>>2]=50,!(t=e[33208])){q=t=(q=ye=q-16|0)-80|0;e:{if((r=ii(84292))&&(e[t+32>>2]=r,gs(137584,160,85959,t+32|0),(0|us(137584))==-31||(e[t+16>>2]=r,gs(137584,160,86031,t+16|0),(0|us(137584))==-31)))break e;(r=ii(84619))&&(e[t>>2]=r,gs(137584,160,85959,t),(0|us(137584))==-31)||(r=l[84826]|l[84827]<<8|l[84828]<<16|l[84829]<<24,e[34396]=l[84822]|l[84823]<<8|l[84824]<<16|l[84825]<<24,e[34397]=r,b[68804]=l[84846]|l[84847]<<8,r=l[84842]|l[84843]<<8|l[84844]<<16|l[84845]<<24,e[34400]=l[84838]|l[84839]<<8|l[84840]<<16|l[84841]<<24,e[34401]=r,r=l[84834]|l[84835]<<8|l[84836]<<16|l[84837]<<24,e[34398]=l[84830]|l[84831]<<8|l[84832]<<16|l[84833]<<24,e[34399]=r)}if(q=t+80|0,e[ye+12>>2]=0,s=ye+12|0,q=c=q-16|0,e[c+12>>2]=22050,YA(85144)||YA(85315)||YA(85473)||YA(85698),I=c+12|0,q=i=q-16|0,e[i+12>>2]=0,!((t=Yi(137832,84262,0,s))||(t=Yi(137836,84420,0,s))||(t=Yi(137840,84813,0,s))||(t=Yi(137820,85016,i+12|0,s))))if(e[34454]=ue[i+12>>2]/68,r=e[34460],e[34456]=r,r&&(0|(m=l[0|r]|l[r+1|0]<<8|l[r+2|0]<<16|l[r+3|0]<<24))==83969){if(y=l[r+4|0]|l[r+5|0]<<8|l[r+6|0]<<16|l[r+7|0]<<24,r=e[34458],Y=l[0|r],e[34461]=Y,Y)for(t=r+4|0,m=0;a=z(m,44)+137856|0,s=l[0|t],e[a+36>>2]=s,e[a+40>>2]=l[t+1|0],o=l[t+8|0]|l[t+9|0]<<8|l[t+10|0]<<16|l[t+11|0]<<24,r=l[t+4|0]|l[t+5|0]<<8|l[t+6|0]<<16|l[t+7|0]<<24,g[0|a]=r,g[a+1|0]=r>>>8,g[a+2|0]=r>>>16,g[a+3|0]=r>>>24,g[a+4|0]=o,g[a+5|0]=o>>>8,g[a+6|0]=o>>>16,g[a+7|0]=o>>>24,o=l[t+16|0]|l[t+17|0]<<8|l[t+18|0]<<16|l[t+19|0]<<24,r=l[t+12|0]|l[t+13|0]<<8|l[t+14|0]<<16|l[t+15|0]<<24,g[a+8|0]=r,g[a+9|0]=r>>>8,g[a+10|0]=r>>>16,g[a+11|0]=r>>>24,g[a+12|0]=o,g[a+13|0]=o>>>8,g[a+14|0]=o>>>16,g[a+15|0]=o>>>24,o=l[t+24|0]|l[t+25|0]<<8|l[t+26|0]<<16|l[t+27|0]<<24,r=l[t+20|0]|l[t+21|0]<<8|l[t+22|0]<<16|l[t+23|0]<<24,g[a+16|0]=r,g[a+17|0]=r>>>8,g[a+18|0]=r>>>16,g[a+19|0]=r>>>24,g[a+20|0]=o,g[a+21|0]=o>>>8,g[a+22|0]=o>>>16,g[a+23|0]=o>>>24,o=l[t+32|0]|l[t+33|0]<<8|l[t+34|0]<<16|l[t+35|0]<<24,r=l[t+28|0]|l[t+29|0]<<8|l[t+30|0]<<16|l[t+31|0]<<24,g[a+24|0]=r,g[a+25|0]=r>>>8,g[a+26|0]=r>>>16,g[a+27|0]=r>>>24,g[a+28|0]=o,g[a+29|0]=o>>>8,g[a+30|0]=o>>>16,g[a+31|0]=o>>>24,r=t+36|0,e[a+32>>2]=r,t=r+(s<<4)|0,(0|Y)!=(0|(m=m+1|0)););(0|Y)<=e[34457]&&(e[34457]=0),t=0,I&&(e[I>>2]=y)}else e:{A:{if(s){if(r=e[s>>2]){yt(e[r+4>>2]),t=e[s>>2];break A}if(t=It(16),e[s>>2]=t,t)break A;t=48}else t=268436223;break e}e[t>>2]=1,e[t+4>>2]=$i(137584),r=e[s>>2],e[r+12>>2]=83969,e[r+8>>2]=m,t=268436223}if(q=i+16|0,r=t,!t){if(I=e[c+12>>2],e[50754]=I,e[50759]=0,e[50760]=134217728/(0|I),e[50762]=0,e[50763]=0,e[50765]=2147483647,e[50781]=100,e[50779]=32,e[50761]=(I<<6)/(0|I),t=e[26385],e[50784]=e[26384],e[50785]=t,t=e[26387],e[50786]=e[26386],e[50787]=t,t=e[26389],e[50788]=e[26388],e[50789]=t,t=e[26391],e[50790]=e[26390],e[50791]=t,t=e[26393],e[50792]=e[26392],e[50793]=t,t=e[26395],e[50794]=e[26394],e[50795]=t,t=e[26397],e[50796]=e[26396],e[50797]=t,e[50798]=e[26398],y=(0|(t=(0|(s=z(I,60)))/12800|0))>=128?128:t,e[50799]=y,e[50800]=(0|y)/2,!((0|I)==22050|(0|s)<12800)){if(I=1&(t=(0|y)<=1?1:y),ce=+(0|y),m=0,(0|y)>=2)for(y=2147483646&t,t=0;K=m+132160|0,f=127*(1-Qa(6.283185307179586*+(0|m)/ce)),T=Ne(f)<2147483648?~~f:-2147483648,g[0|K]=T,K=132160+(s=1|m)|0,f=127*(1-Qa(6.283185307179586*+(0|s)/ce)),T=Ne(f)<2147483648?~~f:-2147483648,g[0|K]=T,m=m+2|0,(0|y)!=(0|(t=t+2|0)););I&&(t=m+132160|0,f=127*(1-Qa(6.283185307179586*+(0|m)/ce)),K=Ne(f)<2147483648?~~f:-2147483648,g[0|t]=K)}if(e[50801]=105792,e[56797]=ls(),e[55964]=38,e[55921]=1,e[55918]=22050,e[56606]=0,e[55960]=110928,e[55958]=0,e[55959]=1074266112,e[55956]=100,e[55922]=20,e[55923]=220,e[55916]=1,e[55917]=0,Xi(),e[56244]=0,e[56245]=0,e[55928]=0,e[55926]=0,e[55927]=0,e[55924]=0,e[56246]=0,e[56247]=0,e[56260]=0,e[56261]=0,e[56262]=0,e[56263]=0,e[56276]=0,e[56277]=0,e[56278]=0,e[56279]=0,e[55974]=0,e[55975]=0,e[55972]=0,e[55973]=0,ce=-3.141592653589793/+(0|(t=e[55918])),D[27967]=ce,s=(0|z(t,630))/1e4|0,e[55920]=s,t=(0|z(t,950))/1e4|0,e[55919]=t,f=-2*ce,D[27968]=f,ce=(Xe=Ft(ce*+(0|s)))*-Xe,D[28129]=ce,f=Xe*Qa(f*+(0|t)),f+=f,D[28128]=f,D[28127]=1-f-ce,e[55990]=0,e[55991]=0,e[55988]=0,e[55989]=0,e[56006]=0,e[56007]=0,e[56004]=0,e[56005]=0,e[56022]=0,e[56023]=0,e[56020]=0,e[56021]=0,e[56038]=0,e[56039]=0,e[56036]=0,e[56037]=0,e[56054]=0,e[56055]=0,e[56052]=0,e[56053]=0,e[56070]=0,e[56071]=0,e[56068]=0,e[56069]=0,e[56086]=0,e[56087]=0,e[56084]=0,e[56085]=0,e[56102]=0,e[56103]=0,e[56100]=0,e[56101]=0,e[56118]=0,e[56119]=0,e[56116]=0,e[56117]=0,e[56134]=0,e[56135]=0,e[56132]=0,e[56133]=0,e[56150]=0,e[56151]=0,e[56148]=0,e[56149]=0,e[56166]=0,e[56167]=0,e[56164]=0,e[56165]=0,e[56182]=0,e[56183]=0,e[56180]=0,e[56181]=0,e[56198]=0,e[56199]=0,e[56196]=0,e[56197]=0,e[56214]=0,e[56215]=0,e[56212]=0,e[56213]=0,e[56230]=0,e[56231]=0,e[56228]=0,e[56229]=0,e[56639]=59,e[56640]=59,e[56629]=0,e[56630]=59,e[56619]=89,e[56620]=160,e[56609]=280,e[56610]=688,e[56611]=1064,e[56621]=70,e[56631]=59,e[56612]=2806,e[56613]=3260,e[56622]=160,e[56623]=200,e[56632]=59,e[56633]=59,e[56641]=89,e[56642]=149,e[56643]=200,e[56644]=200,e[56634]=59,e[56635]=59,e[56624]=200,e[56625]=500,e[56614]=3700,e[56615]=6500,e[56645]=500,e[56646]=0,e[56616]=7e3,e[56626]=500,e[56636]=0,e[56647]=0,e[56637]=0,e[56627]=500,e[56617]=8e3,e[56669]=89,e[56648]=0,e[56638]=0,e[56628]=89,e[56618]=280,e[56657]=62,e[56655]=0,e[56656]=0,e[56653]=50,e[56654]=0,e[56651]=0,e[56652]=0,e[56649]=0,e[56650]=40,e[56607]=1e3,e[56608]=59,q=i=q-416|0,e[i+16>>2]=137584,e[i+20>>2]=47,e[i+24>>2]=85952,QA(t=i+240|0,85699,i+16|0),o=ka(t,86034)){if(Zt(i+240|0,170,o))for(I=5|(t=i+240|0),y=10|t;l[i+240|0]!=47&&(e[i+240>>2]!=1701736308?va(i+240|0,86614,9)||(e[i+4>>2]=i+32,e[i>>2]=i+239,(0|at(y,86829,i))==2&&(s=e[34064],e[(Y=136272+(s<<4)|0)>>2]=g[i+239|0],t=$i(i+32|0),e[34064]=s+1,e[Y+12>>2]=t,e[Y+4>>2]=0)):(q=t=q-48|0,e[32960]=-1,e[32961]=-1,e[32970]=-1,e[32971]=-1,e[32968]=-1,e[32969]=-1,e[32966]=-1,e[32967]=-1,e[32964]=-1,e[32965]=-1,e[32962]=-1,e[32963]=-1,e[t+36>>2]=131876,e[t+32>>2]=131872,e[t+28>>2]=131868,e[t+24>>2]=131864,e[t+20>>2]=131860,e[t+16>>2]=131856,e[t+12>>2]=131852,e[t+8>>2]=131848,e[t+4>>2]=131844,e[t>>2]=131840,at(I,84222,t),q=t+48|0)),Zt(i+240|0,170,o););ra(o)}q=i+416|0,e[50297]=0,e[50298]=0,e[50301]=0,e[50302]=0,e[50299]=0,e[50300]=0,Bi(0,85698),e[36425]=0,e[36424]=0,e[36426]=0,e[36427]=-1,ja(),Xt(0),a=e[25690],e[34062]=a,p=e[25689],i=e[25688],e[34060]=i,e[34061]=p,_=e[25687],o=e[25686],e[34058]=o,e[34059]=_,he=e[25685],Y=e[25684],e[34056]=Y,e[34057]=he,De=e[25683],I=e[25682],e[34054]=I,e[34055]=De,Re=e[25681],y=e[25680],e[34052]=y,e[34053]=Re,T=e[25679],s=e[25678],e[34050]=s,e[34051]=T,K=e[25677],t=e[25676],e[34048]=t,e[34049]=K,e[33729]=t,e[33730]=K,e[33731]=s,e[33732]=T,e[33733]=y,e[33734]=Re,e[33735]=I,e[33736]=De,e[33737]=Y,e[33738]=he,e[33739]=o,e[33740]=_,e[33741]=i,e[33742]=p,e[33743]=a,wr(1,175),wr(2,100),wr(6,e[47200]),wr(5,e[47201]),wr(7,0),e[47198]=0,e[47197]=0,f=+Ke()/1e3,s=kt(t=Ne(f)<9223372036854776e3?~~f>>>0:0,0,1103515245,0),t=J,t=(s=s+12345|0)>>>0<12345?t+1|0:t,e[33209]=Zn(s,t)}if(q=c+16|0,r){K=e[30450],De=e[ye+12>>2],c=48+(p=q-560|0)|0,q=a=(q=p)-16|0;e:{switch(0|sa(r-268435967|0,24)){case 0:sr(c,84133,512);break e;case 1:sr(c,84580,512);break e;case 2:sr(c,84747,512);break e;case 3:sr(c,85084,512);break e;case 4:sr(c,85251,512);break e;case 5:sr(c,85380,512);break e;case 6:sr(c,85607,512);break e;case 7:sr(c,85722,512);break e;case 8:sr(c,85913,512);break e;case 9:sr(c,86046,512);break e;case 10:sr(c,86153,512);break e;case 11:sr(c,86678,512);break e;case 12:sr(c,86773,512);break e;case 14:sr(c,86958,512);break e;case 15:sr(c,87071,512);break e}if(1879048192&r)e[a>>2]=r,gs(c,512,87182,a);else{if(m=0,i=M[123728+((r>>>0<=153?r:0)<<1)>>1]+121804|0,r=e[e[56841]+20>>2]){Re=e[r+4>>2],_=e[r>>2],he=e[_>>2]+1794895138|0,T=Ps(e[_+8>>2],he),s=Ps(e[_+12>>2],he),t=Ps(e[_+16>>2],he);A:if(!(Re>>>2>>>0<=T>>>0||3&(t|s)|(r=Re-(T<<2)|0)>>>0<=s>>>0|t>>>0>=r>>>0))for(I=t>>>2|0,y=s>>>2|0;;){if(Y=Ps(e[(r=((t=(s=(o=T>>>1|0)+aA|0)<<1)+y<<2)+_|0)>>2],he),(r=Ps(e[r+4>>2],he))>>>0>=Re>>>0|Y>>>0>=Re-r>>>0|l[(r+Y|0)+_|0])break A;if(!(r=Mr(i,r+_|0))){if(t=Ps(e[(r=(t+I<<2)+_|0)>>2],he),(r=Ps(e[r+4>>2],he))>>>0>=Re>>>0|t>>>0>=Re-r>>>0)break A;m=l[(t+r|0)+_|0]?0:r+_|0;break A}if((0|T)==1)break A;T=(r=(0|r)<0)?o:T-o|0,aA=r?aA:s}}if((r=RA(t=m||i))>>>0>=512){xt(c,t,511),g[c+511|0]=0;break e}xt(c,t,r+1|0)}}q=a+16|0;e:if(De){A:switch(e[De>>2]){case 0:e[p+16>>2]=e[De+4>>2],e[p+20>>2]=p+48,hr(K,87384,p+16|0);break e;case 1:break A;default:break e}t=e[De+12>>2],r=e[De+8>>2],e[p+36>>2]=e[De+4>>2],J=r,e[p+40>>2]=t,e[p+44>>2]=J,e[p+32>>2]=p+48,hr(K,87521,p+32|0)}else e[p>>2]=p+48,hr(K,87700,p);q=p+560|0,(0|ye)!=-12&&(r=e[ye+12>>2])&&(yt(e[r+4>>2]),yt(e[ye+12>>2]),e[ye+12>>2]=0)}r=e[24806],e[34389]=0,e[32538]=r,r=(1e3+((r=z(e[50754],100))-((0|r)%1e3|0)|0)|0)/500|0,e[34390]=r,r=qr(e[34391],r),e[34392]=r,r&&(e[34391]=r,e[34393]=40,(r=qr(e[34388],1440))&&(e[34388]=r)),e[47198]=0,q=ye+16|0,t=e[50754],e[33208]=t}return e[A+4>>2]=t,e[A>>2]=_A(),0|A},Y:function(A,t,r){A|=0,t|=0,r|=0,e[34440]=r,Fn(3,e[A+12>>2]),Fn(1,e[A+8>>2]),(A=e[A+16>>2])?za(A):oi(1024),dA(t),e[34440]=0},Z:function(A,t,r){return A|=0,t|=0,r|=0,e[34440]=0,(A=ka(r,1032))?(e[47195]=A,e[47197]=130,A||(e[47195]=e[30450]),dA(t),e[47195]=0,e[47197]=0,e[47195]=e[30450],ra(A),0):-1},_:function(A){return 36},$:function(A,t,r){var a;return A|=0,t|=0,q=a=q-32|0,(r|=0)?(e[a+24>>2]=0,e[a+28>>2]=0,e[a+16>>2]=0,e[a+20>>2]=0,e[a+12>>2]=r,e[a+8>>2]=t,g[a+21|0]=0,t=za(a+8|0)):t=oi(t),e[A+16>>2]=201188,q=a+32|0,0|t},aa:function(A,t,r,a){var s;return A|=0,t|=0,q=s=q-32|0,(r|=0)|(a|=0)?(e[s+24>>2]=0,e[s+28>>2]=0,e[s+16>>2]=0,e[s+20>>2]=0,e[s+12>>2]=r,e[s+8>>2]=t,g[s+22|0]=0,g[s+20|0]=a,t=za(s+8|0)):t=oi(t),e[A+16>>2]=201188,q=s+32|0,0|t},ba:function(A,t,r,a,s){var i;return A|=0,t|=0,q=i=q-32|0,(a|=0)|(s|=0)|(r|=0)?(e[i+24>>2]=0,e[i+28>>2]=0,e[i+16>>2]=0,e[i+20>>2]=0,e[i+12>>2]=r,e[i+8>>2]=t,g[i+21|0]=s,g[i+20|0]=a,t=za(i+8|0)):t=oi(t),e[A+16>>2]=201188,q=i+32|0,0|t},ca:function(A,t,r,a,s,i){var o;return A|=0,t|=0,q=o=q-32|0,(a|=0)|(s|=0)|(i|=0)|(r|=0)?(e[o+24>>2]=0,e[o+28>>2]=0,e[o+16>>2]=0,e[o+20>>2]=0,e[o+12>>2]=r,e[o+8>>2]=t,g[o+22|0]=i,g[o+21|0]=s,g[o+20|0]=a,t=za(o+8|0)):t=oi(t),e[A+16>>2]=201188,q=o+32|0,0|t},da:function(A,t){return t|=0,e[e[(A|=0)>>2]+(t<<2)>>2]},ea:function(A,t,r){t|=0,r|=0,e[e[(A|=0)>>2]+(t<<2)>>2]=r},fa:S0,ga:Ca,ha:F0,ia:Ss,ja:function(A,t){t|=0,e[12+(A|=0)>>2]=t},ka:Pi,la:function(){return 0},ma:function(){return 1},na:function(){return 2},oa:function(){return 3},pa:function(){return 4},qa:function(){return 5},ra:function(){return 6},sa:function(){return 7},ta:function(){return 8},ua:pt,va:function(){return 227192},wa:yt,xa:It,ya:function(A){return(A|=0)?0|!!(0|er(A,125228)):0}}}(d)}(C)},instantiate:function(x,C){return{then:function(d){var k=new w2.Module(x);d({instance:new w2.Instance(k,C)})}}},RuntimeError:Error};typeof w2!="object"&&g0("no native wasm support detected");var Ju=!1;function _c(x,C){x||g0(C)}var hs,h2,bc,Ir,Ma,_u,$u,Wu=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function p2(x,C,d){for(var k=C+d,F=C;x[F]&&!(F>=k);)++F;if(F-C>16&&x.buffer&&Wu)return Wu.decode(x.subarray(C,F));for(var j="";C<F;){var O=x[C++];if(128&O){var V=63&x[C++];if((224&O)!=192){var X=63&x[C++];if((O=(240&O)==224?(15&O)<<12|V<<6|X:(7&O)<<18|V<<12|X<<6|63&x[C++])<65536)j+=String.fromCharCode(O);else{var R=O-65536;j+=String.fromCharCode(55296|R>>10,56320|1023&R)}}else j+=String.fromCharCode((31&O)<<6|V)}else j+=String.fromCharCode(O)}return j}function m2(x,C){return x?p2(h2,x,C):""}function sg(x,C,d,k){if(!(k>0))return 0;for(var F=d,j=d+k-1,O=0;O<x.length;
2737++O){var V=x.charCodeAt(O);if(V>=55296&&V<=57343&&(V=65536+((1023&V)<<10)|1023&x.charCodeAt(++O)),V<=127){if(d>=j)break;C[d++]=V}else if(V<=2047){if(d+1>=j)break;C[d++]=192|V>>6,C[d++]=128|63&V}else if(V<=65535){if(d+2>=j)break;C[d++]=224|V>>12,C[d++]=128|V>>6&63,C[d++]=128|63&V}else{if(d+3>=j)break;C[d++]=240|V>>18,C[d++]=128|V>>12&63,C[d++]=128|V>>6&63,C[d++]=128|63&V}}return C[d]=0,d-F}function ed(x){for(var C=0,d=0;d<x.length;++d){var k=x.charCodeAt(d);k<=127?C++:k<=2047?C+=2:k>=55296&&k<=57343?(C+=4,++d):C+=3}return C}var l0,$c=pe.INITIAL_MEMORY||16777216;l0=(rg=pe.wasmMemory?pe.wasmMemory:new w2.Memory({initial:$c/65536,maximum:$c/65536})).buffer,pe.HEAP8=hs=new Int8Array(l0),pe.HEAP16=bc=new Int16Array(l0),pe.HEAP32=Ir=new Int32Array(l0),pe.HEAPU8=h2=new Uint8Array(l0),pe.HEAPU16=new Uint16Array(l0),pe.HEAPU32=Ma=new Uint32Array(l0),pe.HEAPF32=_u=new Float32Array(l0),pe.HEAPF64=$u=new Float64Array(l0),$c=rg.buffer.byteLength;var Vu=[],Ad=[],ju=[],td=!1;function rd(x){Ad.unshift(x)}var Rt,fa,Co=0,G1=null;function ad(x){Co++,pe.monitorRunDependencies&&pe.monitorRunDependencies(Co)}function sd(x){if(Co--,pe.monitorRunDependencies&&pe.monitorRunDependencies(Co),Co==0&&G1){var C=G1;G1=null,C()}}function g0(x){throw pe.onAbort&&pe.onAbort(x),I2(x="Aborted("+x+")"),Ju=!0,x+=". Build with -sASSERTIONS for more info.",new w2.RuntimeError(x)}function Yp(x){this.name="ExitStatus",this.message="Program terminated with exit("+x+")",this.status=x}function eg(x){for(;x.length>0;)x.shift()(pe)}function Hp(x,C="i8"){switch(C.endsWith("*")&&(C="*"),C){case"i1":case"i8":return hs[0|x];case"i16":return bc[x>>1];case"i32":case"i64":return Ir[x>>2];case"float":return _u[x>>2];case"double":return $u[x>>3];case"*":return Ma[x>>2];default:g0("invalid type for getValue: "+C)}return null}function Rp(x){this.excPtr=x,this.ptr=x-24,this.set_type=function(C){Ma[this.ptr+4>>2]=C},this.get_type=function(){return Ma[this.ptr+4>>2]},this.set_destructor=function(C){Ma[this.ptr+8>>2]=C},this.get_destructor=function(){return Ma[this.ptr+8>>2]},this.set_refcount=function(C){Ir[this.ptr>>2]=C},this.set_caught=function(C){C=C?1:0,hs[this.ptr+12|0]=C},this.get_caught=function(){return hs[this.ptr+12|0]!=0},this.set_rethrown=function(C){C=C?1:0,hs[this.ptr+13|0]=C},this.get_rethrown=function(){return hs[this.ptr+13|0]!=0},this.init=function(C,d){this.set_adjusted_ptr(0),this.set_type(C),this.set_destructor(d),this.set_refcount(0),this.set_caught(!1),this.set_rethrown(!1)},this.add_ref=function(){var C=Ir[this.ptr>>2];Ir[this.ptr>>2]=C+1},this.release_ref=function(){var C=Ir[this.ptr>>2];return Ir[this.ptr>>2]=C-1,C===1},this.set_adjusted_ptr=function(C){Ma[this.ptr+16>>2]=C},this.get_adjusted_ptr=function(){return Ma[this.ptr+16>>2]},this.get_exception_ptr=function(){if(of(this.get_type()))return Ma[this.excPtr>>2];var C=this.get_adjusted_ptr();return C!==0?C:this.excPtr}}var Tr={isAbs:x=>x.charAt(0)==="/",splitPath:x=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(x).slice(1),normalizeArray:(x,C)=>{for(var d=0,k=x.length-1;k>=0;k--){var F=x[k];F==="."?x.splice(k,1):F===".."?(x.splice(k,1),d++):d&&(x.splice(k,1),d--)}if(C)for(;d;d--)x.unshift("..");return x},normalize:x=>{var C=Tr.isAbs(x),d=x.substr(-1)==="/";return(x=Tr.normalizeArray(x.split("/").filter(k=>!!k),!C).join("/"))||C||(x="."),x&&d&&(x+="/"),(C?"/":"")+x},dirname:x=>{var C=Tr.splitPath(x),d=C[0],k=C[1];return d||k?(k&&(k=k.substr(0,k.length-1)),d+k):"."},basename:x=>{if(x==="/")return"/";var C=(x=(x=Tr.normalize(x)).replace(/\/$/,"")).lastIndexOf("/");return C===-1?x:x.substr(C+1)},join:function(){var x=Array.prototype.slice.call(arguments);return Tr.normalize(x.join("/"))},join2:(x,C)=>Tr.normalize(x+"/"+C)},J0={resolve:function(){for(var x="",C=!1,d=arguments.length-1;d>=-1&&!C;d--){var k=d>=0?arguments[d]:se.cwd();if(typeof k!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!k)return"";x=k+"/"+x,C=Tr.isAbs(k)}return(C?"/":"")+(x=Tr.normalizeArray(x.split("/").filter(F=>!!F),!C).join("/"))||"."},relative:(x,C)=>{function d(R){for(var S=0;S<R.length&&R[S]==="";S++);for(var Z=R.length-1;Z>=0&&R[Z]==="";Z--);return S>Z?[]:R.slice(S,Z-S+1)}x=J0.resolve(x).substr(1),C=J0.resolve(C).substr(1);for(var k=d(x.split("/")),F=d(C.split("/")),j=Math.min(k.length,F.length),O=j,V=0;V<j;V++)if(k[V]!==F[V]){O=V;break}var X=[];for(V=O;V<k.length;V++)X.push("..");return(X=X.concat(F.slice(O))).join("/")}};function id(x,C,d){var k=ed(x)+1,F=new Array(k),j=sg(x,F,0,F.length);return C&&(F.length=j),F}var mo={ttys:[],init:function(){},shutdown:function(){},register:function(x,C){mo.ttys[x]={input:[],output:[],ops:C},se.registerDevice(x,mo.stream_ops)},stream_ops:{open:function(x){var C=mo.ttys[x.node.rdev];if(!C)throw new se.ErrnoError(43);x.tty=C,x.seekable=!1},close:function(x){x.tty.ops.fsync(x.tty)},fsync:function(x){x.tty.ops.fsync(x.tty)},read:function(x,C,d,k,F){if(!x.tty||!x.tty.ops.get_char)throw new se.ErrnoError(60);for(var j=0,O=0;O<k;O++){var V;try{V=x.tty.ops.get_char(x.tty)}catch{throw new se.ErrnoError(29)}if(V===void 0&&j===0)throw new se.ErrnoError(6);if(V==null)break;j++,C[d+O]=V}return j&&(x.node.timestamp=Date.now()),j},write:function(x,C,d,k,F){if(!x.tty||!x.tty.ops.put_char)throw new se.ErrnoError(60);try{for(var j=0;j<k;j++)x.tty.ops.put_char(x.tty,C[d+j])}catch{throw new se.ErrnoError(29)}return k&&(x.node.timestamp=Date.now()),j}},default_tty_ops:{put_char:function(x,C){C===null||C===10?(Cc(p2(x.output,0)),x.output=[]):C!=0&&x.output.push(C)},fsync:function(x){x.output&&x.output.length>0&&(Cc(p2(x.output,0)),x.output=[])}},default_tty1_ops:{put_char:function(x,C){C===null||C===10?(I2(p2(x.output,0)),x.output=[]):C!=0&&x.output.push(C)},fsync:function(x){x.output&&x.output.length>0&&(I2(p2(x.output,0)),x.output=[])}}};
vendor: 5,135 bytes, line 2737
2737function nd(x){g0()}var _t={ops_table:null,mount:function(x){return _t.createNode(null,"/",16895,0)},createNode:function(x,C,d,k){if(se.isBlkdev(d)||se.isFIFO(d))throw new se.ErrnoError(63);_t.ops_table||(_t.ops_table={dir:{node:{getattr:_t.node_ops.getattr,setattr:_t.node_ops.setattr,lookup:_t.node_ops.lookup,mknod:_t.node_ops.mknod,rename:_t.node_ops.rename,unlink:_t.node_ops.unlink,rmdir:_t.node_ops.rmdir,readdir:_t.node_ops.readdir,symlink:_t.node_ops.symlink},stream:{llseek:_t.stream_ops.llseek}},file:{node:{getattr:_t.node_ops.getattr,setattr:_t.node_ops.setattr},stream:{llseek:_t.stream_ops.llseek,read:_t.stream_ops.read,write:_t.stream_ops.write,allocate:_t.stream_ops.allocate,mmap:_t.stream_ops.mmap,msync:_t.stream_ops.msync}},link:{node:{getattr:_t.node_ops.getattr,setattr:_t.node_ops.setattr,readlink:_t.node_ops.readlink},stream:{}},chrdev:{node:{getattr:_t.node_ops.getattr,setattr:_t.node_ops.setattr},stream:se.chrdev_stream_ops}});var F=se.createNode(x,C,d,k);return se.isDir(F.mode)?(F.node_ops=_t.ops_table.dir.node,F.stream_ops=_t.ops_table.dir.stream,F.contents={}):se.isFile(F.mode)?(F.node_ops=_t.ops_table.file.node,F.stream_ops=_t.ops_table.file.stream,F.usedBytes=0,F.contents=null):se.isLink(F.mode)?(F.node_ops=_t.ops_table.link.node,F.stream_ops=_t.ops_table.link.stream):se.isChrdev(F.mode)&&(F.node_ops=_t.ops_table.chrdev.node,F.stream_ops=_t.ops_table.chrdev.stream),F.timestamp=Date.now(),x&&(x.contents[C]=F,x.timestamp=F.timestamp),F},getFileDataAsTypedArray:function(x){return x.contents?x.contents.subarray?x.contents.subarray(0,x.usedBytes):new Uint8Array(x.contents):new Uint8Array(0)},expandFileStorage:function(x,C){var d=x.contents?x.contents.length:0;if(!(d>=C)){C=Math.max(C,d*(d<1048576?2:1.125)>>>0),d!=0&&(C=Math.max(C,256));var k=x.contents;x.contents=new Uint8Array(C),x.usedBytes>0&&x.contents.set(k.subarray(0,x.usedBytes),0)}},resizeFileStorage:function(x,C){if(x.usedBytes!=C)if(C==0)x.contents=null,x.usedBytes=0;else{var d=x.contents;x.contents=new Uint8Array(C),d&&x.contents.set(d.subarray(0,Math.min(C,x.usedBytes))),x.usedBytes=C}},node_ops:{getattr:function(x){var C={};return C.dev=se.isChrdev(x.mode)?x.id:1,C.ino=x.id,C.mode=x.mode,C.nlink=1,C.uid=0,C.gid=0,C.rdev=x.rdev,se.isDir(x.mode)?C.size=4096:se.isFile(x.mode)?C.size=x.usedBytes:se.isLink(x.mode)?C.size=x.link.length:C.size=0,C.atime=new Date(x.timestamp),C.mtime=new Date(x.timestamp),C.ctime=new Date(x.timestamp),C.blksize=4096,C.blocks=Math.ceil(C.size/C.blksize),C},setattr:function(x,C){C.mode!==void 0&&(x.mode=C.mode),C.timestamp!==void 0&&(x.timestamp=C.timestamp),C.size!==void 0&&_t.resizeFileStorage(x,C.size)},lookup:function(x,C){throw se.genericErrors[44]},mknod:function(x,C,d,k){return _t.createNode(x,C,d,k)},rename:function(x,C,d){if(se.isDir(x.mode)){var k;try{k=se.lookupNode(C,d)}catch{}if(k)for(var F in k.contents)throw new se.ErrnoError(55)}delete x.parent.contents[x.name],x.parent.timestamp=Date.now(),x.name=d,C.contents[d]=x,C.timestamp=x.parent.timestamp,x.parent=C},unlink:function(x,C){delete x.contents[C],x.timestamp=Date.now()},rmdir:function(x,C){var d=se.lookupNode(x,C);for(var k in d.contents)throw new se.ErrnoError(55);delete x.contents[C],x.timestamp=Date.now()},readdir:function(x){var C=[".",".."];for(var d in x.contents)x.contents.hasOwnProperty(d)&&C.push(d);return C},symlink:function(x,C,d){var k=_t.createNode(x,C,41471,0);return k.link=d,k},readlink:function(x){if(!se.isLink(x.mode))throw new se.ErrnoError(28);return x.link}},stream_ops:{read:function(x,C,d,k,F){var j=x.node.contents;if(F>=x.node.usedBytes)return 0;var O=Math.min(x.node.usedBytes-F,k);if(O>8&&j.subarray)C.set(j.subarray(F,F+O),d);else for(var V=0;V<O;V++)C[d+V]=j[F+V];return O},write:function(x,C,d,k,F,j){if(!k)return 0;var O=x.node;if(O.timestamp=Date.now(),C.subarray&&(!O.contents||O.contents.subarray)){if(j)return O.contents=C.subarray(d,d+k),O.usedBytes=k,k;if(O.usedBytes===0&&F===0)return O.contents=C.slice(d,d+k),O.usedBytes=k,k;if(F+k<=O.usedBytes)return O.contents.set(C.subarray(d,d+k),F),k}if(_t.expandFileStorage(O,F+k),O.contents.subarray&&C.subarray)O.contents.set(C.subarray(d,d+k),F);else for(var V=0;V<k;V++)O.contents[F+V]=C[d+V];return O.usedBytes=Math.max(O.usedBytes,F+k),k},llseek:function(x,C,d){var k=C;if(d===1?k+=x.position:d===2&&se.isFile(x.node.mode)&&(k+=x.node.usedBytes),k<0)throw new se.ErrnoError(28);return k},allocate:function(x,C,d){_t.expandFileStorage(x.node,C+d),x.node.usedBytes=Math.max(x.node.usedBytes,C+d)},mmap:function(x,C,d,k,F){if(!se.isFile(x.node.mode))throw new se.ErrnoError(43);var j,O,V=x.node.contents;if(2&F||V.buffer!==hs.buffer){if((d>0||d+C<V.length)&&(V=V.subarray?V.subarray(d,d+C):Array.prototype.slice.call(V,d,d+C)),O=!0,!(j=nd()))throw new se.ErrnoError(48);hs.set(V,j)}else O=!1,j=V.byteOffset;return{ptr:j,allocated:O}},msync:function(x,C,d,k,F){return _t.stream_ops.write(x,C,0,k,d,!1),0}}},se={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:(x,C={})=>
2737{if(!(x=J0.resolve(x)))return{path:"",node:null};if((C=Object.assign({follow_mount:!0,recurse_count:0},C)).recurse_count>8)throw new se.ErrnoError(32);for(var d=x.split("/").filter(R=>!!R),k=se.root,F="/",j=0;j<d.length;j++){var O=j===d.length-1;if(O&&C.parent)break;if(k=se.lookupNode(k,d[j]),F=Tr.join2(F,d[j]),se.isMountpoint(k)&&(!O||O&&C.follow_mount)&&(k=k.mounted.root),!O||C.follow)for(var V=0;se.isLink(k.mode);){var X=se.readlink(F);if(F=J0.resolve(Tr.dirname(F),X),k=se.lookupPath(F,{recurse_count:C.recurse_count+1}).node,V++>40)throw new se.ErrnoError(32)}}return{path:F,node:k}},getPath:x=>{for(var C;;){if(se.isRoot(x)){var d=x.mount.mountpoint;return C?d[d.length-1]!=="/"?d+"/"+C:d+C:d}C=C?x.name+"/"+C:x.name,x=x.parent}},hashName:(x,C)=>{for(var d=0,k=0;k<C.length;k++)d=(d<<5)-d+C.charCodeAt(k)|0;return(x+d>>>0)%se.nameTable.length},hashAddNode:x=>{var C=se.hashName(x.parent.id,x.name);x.name_next=se.nameTable[C],se.nameTable[C]=x},hashRemoveNode:x=>{var C=se.hashName(x.parent.id,x.name);if(se.nameTable[C]===x)se.nameTable[C]=x.name_next;else for(var d=se.nameTable[C];d;){if(d.name_next===x){d.name_next=x.name_next;break}d=d.name_next}},lookupNode:(x,C)=>{var d=se.mayLookup(x);if(d)throw new se.ErrnoError(d,x);for(var k=se.hashName(x.id,C),F=se.nameTable[k];F;F=F.name_next){var j=F.name;if(F.parent.id===x.id&&j===C)return F}return se.lookup(x,C)},createNode:(x,C,d,k)=>{var F=new se.FSNode(x,C,d,k);return se.hashAddNode(F),F},destroyNode:x=>{se.hashRemoveNode(x)},isRoot:x=>x===x.parent,isMountpoint:x=>!!x.mounted,isFile:x=>(61440&x)==32768,isDir:x=>(61440&x)==16384,isLink:x=>(61440&x)==40960,isChrdev:x=>(61440&x)==8192,isBlkdev:x=>(61440&x)==24576,isFIFO:x=>(61440&x)==4096,isSocket:x=>!(49152&~x),flagModes:{r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},modeStringToFlags:x=>{var C=se.flagModes[x];if(C===void 0)throw new Error("Unknown file open mode: "+x);return C},flagsToPermissionString:x=>{var C=["r","w","rw"][3&x];return 512&x&&(C+="w"),C},nodePermissions:(x,C)=>se.ignorePermissions||(!C.includes("r")||292&x.mode)&&(!C.includes("w")||146&x.mode)&&(!C.includes("x")||73&x.mode)?0:2,mayLookup:x=>se.nodePermissions(x,"x")||(x.node_ops.lookup?0:2),mayCreate:(x,C)=>{try{return se.lookupNode(x,C),20}catch{}return se.nodePermissions(x,"wx")},mayDelete:(x,C,d)=>{var k;try{k=se.lookupNode(x,C)}catch(j){return j.errno}var F=se.nodePermissions(x,"wx");if(F)return F;if(d){if(!se.isDir(k.mode))return 54;if(se.isRoot(k)||se.getPath(k)===se.cwd())return 10}else if(se.isDir(k.mode))return 31;return 0},mayOpen:(x,C)=>x?se.isLink(x.mode)?32:se.isDir(x.mode)&&(se.flagsToPermissionString(C)!=="r"||512&C)?31:se.nodePermissions(x,se.flagsToPermissionString(C)):44,MAX_OPEN_FDS:4096,nextfd:(x=0,C=se.MAX_OPEN_FDS)=>{for(var d=x;d<=C;d++)if(!se.streams[d])return d;throw new se.ErrnoError(33)},getStream:x=>se.streams[x],createStream:(x,C,d)=>{se.FSStream||(se.FSStream=function(){this.shared={}},se.FSStream.prototype={},Object.defineProperties(se.FSStream.prototype,{object:{get:function(){return this.node},set:function(F){this.node=F}},isRead:{get:function(){return(2097155&this.flags)!=1}},isWrite:{get:function(){return!!(2097155&this.flags)}},isAppend:{get:function(){return 1024&this.flags}},flags:{get:function(){return this.shared.flags},set:function(F){this.shared.flags=F}},position:{get:function(){return this.shared.position},set:function(F){this.shared.position=F}}})),x=Object.assign(new se.FSStream,x);var k=se.nextfd(C,d);return x.fd=k,se.streams[k]=x,x},closeStream:x=>{se.streams[x]=null},chrdev_stream_ops:{open:x=>{var C=se.getDevice(x.node.rdev);x.stream_ops=C.stream_ops,x.stream_ops.open&&x.stream_ops.open(x)},llseek:()=>{throw new se.ErrnoError(70)}},major:x=>x>>8,minor:x=>255&x,makedev:(x,C)=>x<<8|C,registerDevice:(x,C)=>{se.devices[x]={stream_ops:C}},getDevice:x=>se.devices[x],getMounts:x=>{for(var C=[],d=[x];d.length;){var k=d.pop();C.push(k),d.push.apply(d,k.mounts)}return C},syncfs:(x,C)=>{typeof x=="function"&&(C=x,x=!1),se.syncFSRequests++,se.syncFSRequests>1&&I2("warning: "+se.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var d=se.getMounts(se.root.mount),k=0;function F(O){return se.syncFSRequests--,C(O)}function j(O){if(O)return j.errored?void 0:(j.errored=!0,F(O));++k>=d.length&&F(null)}
2737d.forEach(O=>{if(!O.type.syncfs)return j(null);O.type.syncfs(O,x,j)})},mount:(x,C,d)=>{var k,F=d==="/",j=!d;if(F&&se.root)throw new se.ErrnoError(10);if(!F&&!j){var O=se.lookupPath(d,{follow_mount:!1});if(d=O.path,k=O.node,se.isMountpoint(k))throw new se.ErrnoError(10);if(!se.isDir(k.mode))throw new se.ErrnoError(54)}var V={type:x,opts:C,mountpoint:d,mounts:[]},X=x.mount(V);return X.mount=V,V.root=X,F?se.root=X:k&&(k.mounted=V,k.mount&&k.mount.mounts.push(V)),X},unmount:x=>{var C=se.lookupPath(x,{follow_mount:!1});if(!se.isMountpoint(C.node))throw new se.ErrnoError(28);var d=C.node,k=d.mounted,F=se.getMounts(k);Object.keys(se.nameTable).forEach(O=>{for(var V=se.nameTable[O];V;){var X=V.name_next;F.includes(V.mount)&&se.destroyNode(V),V=X}}),d.mounted=null;var j=d.mount.mounts.indexOf(k);d.mount.mounts.splice(j,1)},lookup:(x,C)=>x.node_ops.lookup(x,C),mknod:(x,C,d)=>{var k=se.lookupPath(x,{parent:!0}).node,F=Tr.basename(x);if(!F||F==="."||F==="..")throw new se.ErrnoError(28);var j=se.mayCreate(k,F);if(j)throw new se.ErrnoError(j);if(!k.node_ops.mknod)throw new se.ErrnoError(63);return k.node_ops.mknod(k,F,C,d)},create:(x,C)=>(C=C!==void 0?C:438,C&=4095,C|=32768,se.mknod(x,C,0)),mkdir:(x,C)=>(C=C!==void 0?C:511,C&=1023,C|=16384,se.mknod(x,C,0)),mkdirTree:(x,C)=>{for(var d=x.split("/"),k="",F=0;F<d.length;++F)if(d[F]){k+="/"+d[F];try{se.mkdir(k,C)}catch(j){if(j.errno!=20)throw j}}},mkdev:(x,C,d)=>(d===void 0&&(d=C,C=438),C|=8192,se.mknod(x,C,d)),symlink:(x,C)=>{if(!J0.resolve(x))throw new se.ErrnoError(44);var d=se.lookupPath(C,{parent:!0}).node;if(!d)throw new se.ErrnoError(44);var k=Tr.basename(C),F=se.mayCreate(d,k);if(F)throw new se.ErrnoError(F);if(!d.node_ops.symlink)throw new se.ErrnoError(63);return d.node_ops.symlink(d,k,x)},rename:(x,C)=>{var d,k,F=Tr.dirname(x),j=Tr.dirname(C),O=Tr.basename(x),V=Tr.basename(C);if(d=se.lookupPath(x,{parent:!0}).node,k=se.lookupPath(C,{parent:!0}).node,!d||!k)throw new se.ErrnoError(44);if(d.mount!==k.mount)throw new se.ErrnoError(75);var X,R=se.lookupNode(d,O),S=J0.relative(x,j);if(S.charAt(0)!==".")throw new se.ErrnoError(28);if((S=J0.relative(C,F)).charAt(0)!==".")throw new se.ErrnoError(55);try{X=se.lookupNode(k,V)}catch{}if(R!==X){var Z=se.isDir(R.mode),W=se.mayDelete(d,O,Z);if(W)throw new se.ErrnoError(W);if(W=X?se.mayDelete(k,V,Z):se.mayCreate(k,V))throw new se.ErrnoError(W);if(!d.node_ops.rename)throw new se.ErrnoError(63);if(se.isMountpoint(R)||X&&se.isMountpoint(X))throw new se.ErrnoError(10);if(k!==d&&(W=se.nodePermissions(d,"w")))throw new se.ErrnoError(W);se.hashRemoveNode(R);try{d.node_ops.rename(R,k,V)}catch(te){throw te}finally{se.hashAddNode(R)}}},rmdir:x=>{var C=se.lookupPath(x,{parent:!0}).node,d=Tr.basename(x),k=se.lookupNode(C,d),F=se.mayDelete(C,d,!0);if(F)throw new se.ErrnoError(F);if(!C.node_ops.rmdir)throw new se.ErrnoError(63);if(se.isMountpoint(k))throw new se.ErrnoError(10);C.node_ops.rmdir(C,d),se.destroyNode(k)},readdir:x=>{var C=se.lookupPath(x,{follow:!0}).node;if(!C.node_ops.readdir)throw new se.ErrnoError(54);return C.node_ops.readdir(C)},unlink:x=>{var C=se.lookupPath(x,{parent:!0}).node;if(!C)throw new se.ErrnoError(44);var d=Tr.basename(x),k=se.lookupNode(C,d),F=se.mayDelete(C,d,!1);if(F)throw new se.ErrnoError(F);if(!C.node_ops.unlink)throw new se.ErrnoError(63);if(se.isMountpoint(k))throw new se.ErrnoError(10);C.node_ops.unlink(C,d),se.destroyNode(k)},readlink:x=>{var C=se.lookupPath(x).node;if(!C)throw new se.ErrnoError(44);if(!C.node_ops.readlink)throw new se.ErrnoError(28);return J0.resolve(se.getPath(C.parent),C.node_ops.readlink(C))},stat:(x,C)=>{var d=se.lookupPath(x,{follow:!C}).node;if(!d)throw new se.ErrnoError(44);if(!d.node_ops.getattr)throw new se.ErrnoError(63);return d.node_ops.getattr(d)},lstat:x=>se.stat(x,!0),chmod:(x,C,d)=>{var k;if(!(k=typeof x=="string"?se.lookupPath(x,{follow:!d}).node:x).node_ops.setattr)throw new se.ErrnoError(63);k.node_ops.setattr(k,{mode:4095&C|-4096&k.mode,timestamp:Date.now()})},lchmod:(x,C)=>{se.chmod(x,C,!0)},fchmod:(x,C)=>{var d=se.getStream(x);if(!d)throw new se.ErrnoError(8);se.chmod(d.node,C)},chown:(x,C,d,k)=>{var F;
2737if(!(F=typeof x=="string"?se.lookupPath(x,{follow:!k}).node:x).node_ops.setattr)throw new se.ErrnoError(63);F.node_ops.setattr(F,{timestamp:Date.now()})},lchown:(x,C,d)=>{se.chown(x,C,d,!0)},fchown:(x,C,d)=>{var k=se.getStream(x);if(!k)throw new se.ErrnoError(8);se.chown(k.node,C,d)},truncate:(x,C)=>{if(C<0)throw new se.ErrnoError(28);var d;if(!(d=typeof x=="string"?se.lookupPath(x,{follow:!0}).node:x).node_ops.setattr)throw new se.ErrnoError(63);if(se.isDir(d.mode))throw new se.ErrnoError(31);if(!se.isFile(d.mode))throw new se.ErrnoError(28);var k=se.nodePermissions(d,"w");if(k)throw new se.ErrnoError(k);d.node_ops.setattr(d,{size:C,timestamp:Date.now()})},ftruncate:(x,C)=>{var d=se.getStream(x);if(!d)throw new se.ErrnoError(8);if(!(2097155&d.flags))throw new se.ErrnoError(28);se.truncate(d.node,C)},utime:(x,C,d)=>{var k=se.lookupPath(x,{follow:!0}).node;k.node_ops.setattr(k,{timestamp:Math.max(C,d)})},open:(x,C,d)=>{if(x==="")throw new se.ErrnoError(44);var k;if(d=d===void 0?438:d,d=64&(C=typeof C=="string"?se.modeStringToFlags(C):C)?4095&d|32768:0,typeof x=="object")k=x;else{x=Tr.normalize(x);try{k=se.lookupPath(x,{follow:!(131072&C)}).node}catch{}}var F=!1;if(64&C)if(k){if(128&C)throw new se.ErrnoError(20)}else k=se.mknod(x,d,0),F=!0;if(!k)throw new se.ErrnoError(44);if(se.isChrdev(k.mode)&&(C&=-513),65536&C&&!se.isDir(k.mode))throw new se.ErrnoError(54);if(!F){var j=se.mayOpen(k,C);if(j)throw new se.ErrnoError(j)}512&C&&!F&&se.truncate(k,0),C&=-131713;var O=se.createStream({node:k,path:se.getPath(k),flags:C,seekable:!0,position:0,stream_ops:k.stream_ops,ungotten:[],error:!1});return O.stream_ops.open&&O.stream_ops.open(O),!pe.logReadFiles||1&C||(se.readFiles||(se.readFiles={}),x in se.readFiles||(se.readFiles[x]=1)),O},close:x=>{if(se.isClosed(x))throw new se.ErrnoError(8);x.getdents&&(x.getdents=null);try{x.stream_ops.close&&x.stream_ops.close(x)}catch(C){throw C}finally{se.closeStream(x.fd)}x.fd=null},isClosed:x=>x.fd===null,llseek:(x,C,d)=>{if(se.isClosed(x))throw new se.ErrnoError(8);if(!x.seekable||!x.stream_ops.llseek)throw new se.ErrnoError(70);if(d!=0&&d!=1&&d!=2)throw new se.ErrnoError(28);return x.position=x.stream_ops.llseek(x,C,d),x.ungotten=[],x.position},read:(x,C,d,k,F)=>{if(k<0||F<0)throw new se.ErrnoError(28);if(se.isClosed(x))throw new se.ErrnoError(8);if((2097155&x.flags)==1)throw new se.ErrnoError(8);if(se.isDir(x.node.mode))throw new se.ErrnoError(31);if(!x.stream_ops.read)throw new se.ErrnoError(28);var j=F!==void 0;if(j){if(!x.seekable)throw new se.ErrnoError(70)}else F=x.position;var O=x.stream_ops.read(x,C,d,k,F);return j||(x.position+=O),O},write:(x,C,d,k,F,j)=>{if(k<0||F<0)throw new se.ErrnoError(28);if(se.isClosed(x))throw new se.ErrnoError(8);if(!(2097155&x.flags))throw new se.ErrnoError(8);if(se.isDir(x.node.mode))throw new se.ErrnoError(31);if(!x.stream_ops.write)throw new se.ErrnoError(28);x.seekable&&1024&x.flags&&se.llseek(x,0,2);var O=F!==void 0;if(O){if(!x.seekable)throw new se.ErrnoError(70)}else F=x.position;var V=x.stream_ops.write(x,C,d,k,F,j);return O||(x.position+=V),V},allocate:(x,C,d)=>{if(se.isClosed(x))throw new se.ErrnoError(8);if(C<0||d<=0)throw new se.ErrnoError(28);if(!(2097155&x.flags))throw new se.ErrnoError(8);if(!se.isFile(x.node.mode)&&!se.isDir(x.node.mode))throw new se.ErrnoError(43);if(!x.stream_ops.allocate)throw new se.ErrnoError(138);x.stream_ops.allocate(x,C,d)},mmap:(x,C,d,k,F)=>{if(2&k&&!(2&F)&&(2097155&x.flags)!=2)throw new se.ErrnoError(2);if((2097155&x.flags)==1)throw new se.ErrnoError(2);if(!x.stream_ops.mmap)throw new se.ErrnoError(43);return x.stream_ops.mmap(x,C,d,k,F)},msync:(x,C,d,k,F)=>x.stream_ops.msync?x.stream_ops.msync(x,C,d,k,F):0,munmap:x=>0,ioctl:(x,C,d)=>{if(!x.stream_ops.ioctl)throw new se.ErrnoError(59);return x.stream_ops.ioctl(x,C,d)},readFile:(x,C={})=>{if(C.flags=C.flags||0,C.encoding=C.encoding||"binary",C.encoding!=="utf8"&&C.encoding!=="binary")throw new Error('Invalid encoding type "'+C.encoding+'"');var d,k=se.open(x,C.flags),F=se.stat(x).size,j=new Uint8Array(F);return se.read(k,j,0,F,0),C.encoding==="utf8"?d=p2(j,0):C.encoding==="binary"&&(d=j),se.close(k),d},writeFile:(x,C,d={})=>{d.flags=d.flags||577;var k=se.open(x,d.flags,d.mode);if(typeof C=="string"){var F=new Uint8Array(ed(C)+1),j=sg(C,F,0,F.length);se.write(k,F,0,j,void 0,d.canOwn)}else{if(!ArrayBuffer.isView(C))throw new Error("Unsupported data type");se.write(k,C,0,C.byteLength,void 0,d.canOwn)}se.close(k)},cwd:()=>se.currentPath,chdir:x=>{var C=se.lookupPath(x,{follow:!0});if(C.node===null)throw new se.ErrnoError(44);if(!se.isDir(C.node.mode))throw new se.ErrnoError(54);var d=se.nodePermissions(C.node,"x");if(d)throw new se.ErrnoError(d);se.currentPath=C.path},createDefaultDirectories:()=>{se.mkdir("/tmp"),se.mkdir("/home"),se.mkdir("/home/web_user")},createDefaultDevices:()=>{se.mkdir("/dev"),se.registerDevice(se.makedev(1,3),{read:()=>0,write:(x,C,d,k,F)=>k}),se.mkdev("/dev/null",se.makedev(1,3)),mo.register(se.makedev(5,0),mo.default_tty_ops),mo.register(se.makedev(6,0),mo.default_tty1_ops),se.mkdev("/dev/tty",se.makedev(5,0)),se.mkdev("/dev/tty1",se.makedev(6,0)),se.mkdir("/dev/shm"),se.mkdir("/dev/shm/tmp")},createSpecialDirectories:()=>{se.mkdir("/proc");var x=se.mkdir("/proc/self");se.mkdir("/proc/self/fd"),se.mount({mount:()=>{var C=se.createNode(x,"fd",16895,73);return C.node_ops={lookup:(d,k)=>{var F=+k,j=se.getStream(F);if(!j)throw new se.ErrnoError(8);var O={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>j.path}};return O.parent=O,O}},C}},{},"/proc/self/fd")}
2737,createStandardStreams:()=>{pe.stdin?se.createDevice("/dev","stdin",pe.stdin):se.symlink("/dev/tty","/dev/stdin"),pe.stdout?se.createDevice("/dev","stdout",null,pe.stdout):se.symlink("/dev/tty","/dev/stdout"),pe.stderr?se.createDevice("/dev","stderr",null,pe.stderr):se.symlink("/dev/tty1","/dev/stderr"),se.open("/dev/stdin",0),se.open("/dev/stdout",1),se.open("/dev/stderr",1)},ensureErrnoError:()=>{se.ErrnoError||(se.ErrnoError=function(x,C){this.node=C,this.setErrno=function(d){this.errno=d},this.setErrno(x),this.message="FS error"},se.ErrnoError.prototype=new Error,se.ErrnoError.prototype.constructor=se.ErrnoError,[44].forEach(x=>{se.genericErrors[x]=new se.ErrnoError(x),se.genericErrors[x].stack="<generic error, no stack>"}))},staticInit:()=>{se.ensureErrnoError(),se.nameTable=new Array(4096),se.mount(_t,{},"/"),se.createDefaultDirectories(),se.createDefaultDevices(),se.createSpecialDirectories(),se.filesystems={MEMFS:_t}},init:(x,C,d)=>{se.init.initialized=!0,se.ensureErrnoError(),pe.stdin=x||pe.stdin,pe.stdout=C||pe.stdout,pe.stderr=d||pe.stderr,se.createStandardStreams()},quit:()=>{se.init.initialized=!1;for(var x=0;x<se.streams.length;x++){var C=se.streams[x];C&&se.close(C)}},getMode:(x,C)=>{var d=0;return x&&(d|=365),C&&(d|=146),d},findObject:(x,C)=>{var d=se.analyzePath(x,C);return d.exists?d.object:null},analyzePath:(x,C)=>{try{x=(k=se.lookupPath(x,{follow:!C})).path}catch{}var d={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var k=se.lookupPath(x,{parent:!0});d.parentExists=!0,d.parentPath=k.path,d.parentObject=k.node,d.name=Tr.basename(x),k=se.lookupPath(x,{follow:!C}),d.exists=!0,d.path=k.path,d.object=k.node,d.name=k.node.name,d.isRoot=k.path==="/"}catch(F){d.error=F.errno}return d},createPath:(x,C,d,k)=>{x=typeof x=="string"?x:se.getPath(x);for(var F=C.split("/").reverse();F.length;){var j=F.pop();if(j){var O=Tr.join2(x,j);try{se.mkdir(O)}catch{}x=O}}return O},createFile:(x,C,d,k,F)=>{var j=Tr.join2(typeof x=="string"?x:se.getPath(x),C),O=se.getMode(k,F);return se.create(j,O)},createDataFile:(x,C,d,k,F,j)=>{var O=C;x&&(x=typeof x=="string"?x:se.getPath(x),O=C?Tr.join2(x,C):x);var V=se.getMode(k,F),X=se.create(O,V);if(d){if(typeof d=="string"){for(var R=new Array(d.length),S=0,Z=d.length;S<Z;++S)R[S]=d.charCodeAt(S);d=R}se.chmod(X,146|V);var W=se.open(X,577);se.write(W,d,0,d.length,0,j),se.close(W),se.chmod(X,V)}return X},createDevice:(x,C,d,k)=>{var F=Tr.join2(typeof x=="string"?x:se.getPath(x),C),j=se.getMode(!!d,!!k);se.createDevice.major||(se.createDevice.major=64);var O=se.makedev(se.createDevice.major++,0);return se.registerDevice(O,{open:V=>{V.seekable=!1},close:V=>{k&&k.buffer&&k.buffer.length&&k(10)},read:(V,X,R,S,Z)=>{for(var W=0,te=0;te<S;te++){var me;try{me=d()}catch{throw new se.ErrnoError(29)}if(me===void 0&&W===0)throw new se.ErrnoError(6);if(me==null)break;W++,X[R+te]=me}return W&&(V.node.timestamp=Date.now()),W},write:(V,X,R,S,Z)=>{for(var W=0;W<S;W++)try{k(X[R+W])}catch{throw new se.ErrnoError(29)}return S&&(V.node.timestamp=Date.now()),W}}),se.mkdev(F,j,O)},forceLoadFile:x=>{if(x.isDevice||x.isFolder||x.link||x.contents)return!0;throw typeof XMLHttpRequest<"u"?new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread."):new Error("Cannot load without read() or XMLHttpRequest.")},createLazyFile:(x,C,d,k,F)=>{function j(){this.lengthKnown=!1,this.chunks=[]}if(j.prototype.get=function(Z){if(!(Z>this.length-1||Z<0)){var W=Z%this.chunkSize,te=Z/this.chunkSize|0;return this.getter(te)[W]}},j.prototype.setDataGetter=function(Z){this.getter=Z},j.prototype.cacheLength=function(){var Z=new XMLHttpRequest;if(Z.open("HEAD",d,!1),Z.send(null),!(Z.status>=200&&Z.status<300||Z.status===304))throw new Error("Couldn't load "+d+". Status: "+Z.status);var W,te=Number(Z.getResponseHeader("Content-length")),me=(W=Z.getResponseHeader("Accept-Ranges"))&&W==="bytes",Be=(W=Z.getResponseHeader("Content-Encoding"))&&W==="gzip",Ee=1048576;me||(Ee=te);var ie=this;ie.setDataGetter(ne=>{var ve=ne*Ee,g=(ne+1)*Ee-1;if(g=Math.min(g,te-1),ie.chunks[ne]===void 0&&(ie.chunks[ne]=((b,e)=>{if(b>e)throw new Error("invalid range ("+b+", "+e+") or no bytes requested!");if(e>te-1)throw new Error("only "+te+" bytes available! programmer error!");var l=new XMLHttpRequest;if(l.open("GET",d,!1),te!==Ee&&l.setRequestHeader("Range","bytes="+b+"-"+e),l.responseType="arraybuffer",l.overrideMimeType&&l.overrideMimeType("text/plain;
2737 charset=x-user-defined"),l.send(null),!(l.status>=200&&l.status<300||l.status===304))throw new Error("Couldn't load "+d+". Status: "+l.status);return l.response!==void 0?new Uint8Array(l.response||[]):id(l.responseText||"",!0)})(ve,g)),ie.chunks[ne]===void 0)throw new Error("doXHR failed!");return ie.chunks[ne]}),!Be&&te||(Ee=te=1,te=this.getter(0).length,Ee=te,Cc("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=te,this._chunkSize=Ee,this.lengthKnown=!0},typeof XMLHttpRequest<"u"){if(!Lp)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var O=new j;Object.defineProperties(O,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var V={isDevice:!1,contents:O}}else V={isDevice:!1,url:d};var X=se.createFile(x,C,V,k,F);V.contents?X.contents=V.contents:V.url&&(X.contents=null,X.url=V.url),Object.defineProperties(X,{usedBytes:{get:function(){return this.contents.length}}});var R={};function S(Z,W,te,me,Be){var Ee=Z.node.contents;if(Be>=Ee.length)return 0;var ie=Math.min(Ee.length-Be,me);if(Ee.slice)for(var ne=0;ne<ie;ne++)W[te+ne]=Ee[Be+ne];else for(ne=0;ne<ie;ne++)W[te+ne]=Ee.get(Be+ne);return ie}return Object.keys(X.stream_ops).forEach(Z=>{var W=X.stream_ops[Z];R[Z]=function(){return se.forceLoadFile(X),W.apply(null,arguments)}}),R.read=(Z,W,te,me,Be)=>(se.forceLoadFile(X),S(Z,W,te,me,Be)),R.mmap=(Z,W,te,me,Be)=>{se.forceLoadFile(X);var Ee=nd();if(!Ee)throw new se.ErrnoError(48);return S(Z,hs,Ee,W,te),{ptr:Ee,allocated:!0}},X.stream_ops=R,X},indexedDB:()=>window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB,DB_NAME:()=>"EM_FS_"+window.location.pathname,DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(x,C,d)=>{C=C||(()=>{}),d=d||(()=>{});var k=se.indexedDB();try{var F=k.open(se.DB_NAME(),se.DB_VERSION)}catch(j){return d(j)}F.onupgradeneeded=()=>{Cc("creating db"),F.result.createObjectStore(se.DB_STORE_NAME)},F.onsuccess=()=>{var j=F.result.transaction([se.DB_STORE_NAME],"readwrite"),O=j.objectStore(se.DB_STORE_NAME),V=0,X=0,R=x.length;function S(){X==0?C():d()}x.forEach(Z=>{var W=O.put(se.analyzePath(Z).object.contents,Z);W.onsuccess=()=>{++V+X==R&&S()},W.onerror=()=>{X++,V+X==R&&S()}}),j.onerror=d},F.onerror=d},loadFilesFromDB:(x,C,d)=>{C=C||(()=>{}),d=d||(()=>{});var k=se.indexedDB();try{var F=k.open(se.DB_NAME(),se.DB_VERSION)}catch(j){return d(j)}F.onupgradeneeded=d,F.onsuccess=()=>{var j=F.result;try{var O=j.transaction([se.DB_STORE_NAME],"readonly")}catch(W){return void d(W)}var V=O.objectStore(se.DB_STORE_NAME),X=0,R=0,S=x.length;function Z(){R==0?C():d()}x.forEach(W=>{var te=V.get(W);te.onsuccess=()=>{se.analyzePath(W).exists&&se.unlink(W),se.createDataFile(Tr.dirname(W),Tr.basename(W),te.result,!0,!0,!0),++X+R==S&&Z()},te.onerror=()=>{R++,X+R==S&&Z()}}),O.onerror=d},F.onerror=d}},Xr={DEFAULT_POLLMASK:5,calculateAt:function(x,C,d){if(Tr.isAbs(C))return C;var k;if(k=x===-100?se.cwd():Xr.getStreamFromFD(x).path,C.length==0){if(!d)throw new se.ErrnoError(44);return k}return Tr.join2(k,C)},doStat:function(x,C,d){try{var k=x(C)}catch(V){if(V&&V.node&&Tr.normalize(C)!==Tr.normalize(se.getPath(V.node)))return-54;throw V}Ir[d>>2]=k.dev,Ir[d+8>>2]=k.ino,Ir[d+12>>2]=k.mode,Ma[d+16>>2]=k.nlink,Ir[d+20>>2]=k.uid,Ir[d+24>>2]=k.gid,Ir[d+28>>2]=k.rdev,fa=[k.size>>>0,(Rt=k.size,+Math.abs(Rt)>=1?Rt>0?(0|Math.min(+Math.floor(Rt/4294967296),4294967295))>>>0:~~+Math.ceil((Rt-+(~~Rt>>>0))/4294967296)>>>0:0)],Ir[d+40>>2]=fa[0],Ir[d+44>>2]=fa[1],Ir[d+48>>2]=4096,Ir[d+52>>2]=k.blocks;var F=k.atime.getTime(),j=k.mtime.getTime(),O=k.ctime.getTime();return fa=[Math.floor(F/1e3)>>>0,(Rt=Math.floor(F/1e3),+Math.abs(Rt)>=1?Rt>0?(0|Math.min(+Math.floor(Rt/4294967296),4294967295))>>>0:~~+Math.ceil((Rt-+(~~Rt>>>0))/4294967296)>>>0:0)],Ir[d+56>>2]=fa[0],Ir[d+60>>2]=fa[1],Ma[d+64>>2]=F%1e3*1e3,fa=[Math.floor(j/1e3)>>>0,(Rt=Math.floor(j/1e3),+Math.abs(Rt)>=1?Rt>0?(0|Math.min(+Math.floor(Rt/4294967296),4294967295))>>>0:~~+Math.ceil((Rt-+(~~Rt>>>0))/4294967296)>>>0:0)],Ir[d+72>>2]=fa[0],Ir[d+76>>2]=fa[1],Ma[d+80>>2]=j%1e3*1e3,fa=[Math.floor(O/1e3)>>>0,(Rt=Math.floor(O/1e3),+Math.abs(Rt)>=1?Rt>0?(0|Math.min(+Math.floor(Rt/4294967296),4294967295))>>>0:~~+Math.ceil((Rt-+(~~Rt>>>0))/4294967296)>>>0:0)],Ir[d+88>>2]=fa[0],Ir[d+92>>2]=fa[1],Ma[d+96>>2]=O%1e3*1e3,fa=[k.ino>>>0,(Rt=k.ino,+Math.abs(Rt)>=1?Rt>0?(0|Math.min(+Math.floor(Rt/4294967296),4294967295))>>>0:~~+Math.ceil((Rt-+(~~Rt>>>0))/4294967296)>>>0:0)],Ir[d+104>>2]=fa[0],Ir[d+108>>2]=fa[1],0},doMsync:function(x,C,d,k,F){if(!se.isFile(C.node.mode))throw new se.ErrnoError(43);if(2&k)return 0;var j=h2.slice(x,x+d);se.msync(C,j,F,d,k)},varargs:void 0,get:function(){return Xr.varargs+=4,Ir[Xr.varargs-4>>2]},getStr:function(x){return m2(x)},getStreamFromFD:function(x){var C=se.getStream(x);if(!C)throw new se.ErrnoError(8);return C}},Ag={};function D1(){if(!D1.strings){var x={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:ag||"./this.program"};for(var C in Ag)Ag[C]===void 0?delete x[C]:x[C]=Ag[C];var d=[];for(var C in x)d.push(C+"="+x[C]);D1.strings=d}return D1.strings}var Uu=function(x,C,d,k){x||(x=this),this.parent=x,this.mount=x.mount,this.mounted=null,this.id=se.nextInode++,this.name=C,this.mode=d,this.node_ops={},this.stream_ops={},this.rdev=k};Object.defineProperties(Uu.prototype,{read:{get:function(){return!(365&~this.mode)}
2737,set:function(x){x?this.mode|=365:this.mode&=-366}},write:{get:function(){return!(146&~this.mode)},set:function(x){x?this.mode|=146:this.mode&=-147}},isFolder:{get:function(){return se.isDir(this.mode)}},isDevice:{get:function(){return se.isChrdev(this.mode)}}}),se.FSNode=Uu,se.staticInit(),pe.FS_createPath=se.createPath,pe.FS_createDataFile=se.createDataFile,pe.FS_unlink=se.unlink,pe.FS_createLazyFile=se.createLazyFile,pe.FS_createDevice=se.createDevice;var Wp={g:function(x,C,d,k){g0("Assertion failed: "+m2(x)+", at: "+[C?m2(C):"unknown filename",d,k?m2(k):"unknown function"])},u:function(x,C,d){throw new Rp(x).init(C,d),x},d:function(x,C,d){Xr.varargs=d;try{var k=Xr.getStreamFromFD(x);switch(C){case 0:return(F=Xr.get())<0?-28:se.createStream(k,F).fd;case 1:case 2:case 6:case 7:return 0;case 3:return k.flags;case 4:var F=Xr.get();return k.flags|=F,0;case 5:return F=Xr.get(),bc[F+0>>1]=2,0;case 16:case 8:default:return-28;case 9:return Ir[nf()>>2]=28,-1}}catch(j){if(se===void 0||!(j instanceof se.ErrnoError))throw j;return-j.errno}},q:function(x,C,d){try{var k=Xr.getStreamFromFD(x);k.getdents||(k.getdents=se.readdir(k.path));for(var F=280,j=0,O=se.llseek(k,0,1),V=Math.floor(O/F);V<k.getdents.length&&j+F<=d;){var X,R,S=k.getdents[V];if(S===".")X=k.node.id,R=4;else if(S==="..")X=se.lookupPath(k.path,{parent:!0}).node.id,R=4;else{var Z=se.lookupNode(k.node,S);X=Z.id,R=se.isChrdev(Z.mode)?2:se.isDir(Z.mode)?4:se.isLink(Z.mode)?10:8}fa=[X>>>0,(Rt=X,+Math.abs(Rt)>=1?Rt>0?(0|Math.min(+Math.floor(Rt/4294967296),4294967295))>>>0:~~+Math.ceil((Rt-+(~~Rt>>>0))/4294967296)>>>0:0)],Ir[C+j>>2]=fa[0],Ir[C+j+4>>2]=fa[1],fa=[(V+1)*F>>>0,(Rt=(V+1)*F,+Math.abs(Rt)>=1?Rt>0?(0|Math.min(+Math.floor(Rt/4294967296),4294967295))>>>0:~~+Math.ceil((Rt-+(~~Rt>>>0))/4294967296)>>>0:0)],Ir[C+j+8>>2]=fa[0],Ir[C+j+12>>2]=fa[1],bc[C+j+16>>1]=280,hs[C+j+18|0]=R,sg(S,h2,C+j+19,256),j+=F,V+=1}return se.llseek(k,V*F,0),j}catch(W){if(se===void 0||!(W instanceof se.ErrnoError))throw W;return-W.errno}},h:function(x,C,d){Xr.varargs=d;try{var k=Xr.getStreamFromFD(x);switch(C){case 21509:case 21505:case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:case 21523:case 21524:return k.tty?0:-59;case 21519:if(!k.tty)return-59;var F=Xr.get();return Ir[F>>2]=0,0;case 21520:return k.tty?-28:-59;case 21531:return F=Xr.get(),se.ioctl(k,C,F);default:return-28}}catch(j){if(se===void 0||!(j instanceof se.ErrnoError))throw j;return-j.errno}},e:function(x,C,d,k){Xr.varargs=k;try{C=Xr.getStr(C),C=Xr.calculateAt(x,C);var F=k?Xr.get():0;return se.open(C,d,F).fd}catch(j){if(se===void 0||!(j instanceof se.ErrnoError))throw j;return-j.errno}},o:function(x){try{return x=Xr.getStr(x),se.rmdir(x),0}catch(C){if(se===void 0||!(C instanceof se.ErrnoError))throw C;return-C.errno}},n:function(x,C){try{return x=Xr.getStr(x),Xr.doStat(se.stat,x,C)}catch(d){if(se===void 0||!(d instanceof se.ErrnoError))throw d;return-d.errno}},p:function(x,C,d){try{return C=Xr.getStr(C),C=Xr.calculateAt(x,C),d===0?se.unlink(C):d===512?se.rmdir(C):g0("Invalid flags passed to unlinkat"),0}catch(k){if(se===void 0||!(k instanceof se.ErrnoError))throw k;return-k.errno}},i:function(){return!0},l:function(){g0("")},f:function(){return Date.now()},j:function(x,C,d){h2.copyWithin(x,C,C+d)},m:function(x){h2.length,g0("OOM")},r:function(x,C){var d=0;return D1().forEach(function(k,F){var j=C+d;Ma[x+4*F>>2]=j,function(O,V){for(var X=0;X<O.length;++X)hs[0|V++]=O.charCodeAt(X);hs[0|V]=0}(k,j),d+=k.length+1}),0},s:function(x,C){var d=D1();Ma[x>>2]=d.length;var k=0;return d.forEach(function(F){k+=F.length+1}),Ma[C>>2]=k,0},b:function(x){try{var C=Xr.getStreamFromFD(x);return se.close(C),0}catch(d){if(se===void 0||!(d instanceof se.ErrnoError))throw d;return d.errno}},t:function(x,C,d,k){try{var F=function(j,O,V){for(var X=0,R=0;R<V;R++){var S=Ma[O>>2],Z=Ma[O+4>>2];O+=8;var W=se.read(j,hs,S,Z,void 0);if(W<0)return-1;if(X+=W,W<Z)break}return X}(Xr.getStreamFromFD(x),C,d);return Ma[k>>2]=F,0}catch(j){if(se===void 0||!(j instanceof se.ErrnoError))throw j;return j.errno}},k:function(x,C,d,k,F){try{var j=(X=d)+2097152>>>0<4194305-!!(V=C)?(V>>>0)+4294967296*X:NaN;if(isNaN(j))return 61;var O=Xr.getStreamFromFD(x);return se.llseek(O,j,k),fa=[O.position>>>0,(Rt=O.position,+Math.abs(Rt)>=1?Rt>0?(0|Math.min(+Math.floor(Rt/4294967296),4294967295))>>>0:~~+Math.ceil((Rt-+(~~Rt>>>0))/4294967296)>>>0:0)],Ir[F>>2]=fa[0],Ir[F+4>>2]=fa[1],O.getdents&&j===0&&k===0&&(O.getdents=null),0}catch(R){if(se===void 0||!(R instanceof se.ErrnoError))throw R;return R.errno}var V,X},c:function(x,C,d,k){try{var F=function(j,O,V){for(var X=0,R=0;R<V;R++){var S=Ma[O>>2],Z=Ma[O+4>>2];O+=8;var W=se.write(j,hs,S,Z,void 0);if(W<0)return-1;X+=W}return X}(Xr.getStreamFromFD(x),C,d);return Ma[k>>2]=F,0}catch(j){if(se===void 0||!(j instanceof se.ErrnoError))throw j;return j.errno}},a:rg};(function(){var x,C={a:Wp};function d(k,F){var j=k.exports;pe.asm=j,pe.asm.ua,rd(pe.asm.v),sd()}
2737if(ad(),pe.instantiateWasm)try{return pe.instantiateWasm(C,d)}catch(k){return I2("Module.instantiateWasm callback failed with error: "+k),!1}x=function(k){d(k.instance)},async function(){return[]}().then(function(k){return w2.instantiate(k,C)}).then(function(k){return k}).then(x,function(k){I2("failed to asynchronously prepare wasm: "+k),g0(k)})})(),pe.___wasm_call_ctors=function(){return(pe.___wasm_call_ctors=pe.asm.v).apply(null,arguments)};var od=pe._emscripten_bind_VoidPtr___destroy___0=function(){return(od=pe._emscripten_bind_VoidPtr___destroy___0=pe.asm.w).apply(null,arguments)},ld=pe._emscripten_bind_espeak_VOICE_get_name_0=function(){return(ld=pe._emscripten_bind_espeak_VOICE_get_name_0=pe.asm.x).apply(null,arguments)},cd=pe._emscripten_bind_espeak_VOICE_set_name_1=function(){return(cd=pe._emscripten_bind_espeak_VOICE_set_name_1=pe.asm.y).apply(null,arguments)},gd=pe._emscripten_bind_espeak_VOICE_get_languages_1=function(){return(gd=pe._emscripten_bind_espeak_VOICE_get_languages_1=pe.asm.z).apply(null,arguments)},ud=pe._emscripten_bind_espeak_VOICE_get_identifier_0=function(){return(ud=pe._emscripten_bind_espeak_VOICE_get_identifier_0=pe.asm.A).apply(null,arguments)},dd=pe._emscripten_bind_espeak_VOICE_set_identifier_1=function(){return(dd=pe._emscripten_bind_espeak_VOICE_set_identifier_1=pe.asm.B).apply(null,arguments)},fd=pe._emscripten_bind_espeak_VOICE_get_gender_0=function(){return(fd=pe._emscripten_bind_espeak_VOICE_get_gender_0=pe.asm.C).apply(null,arguments)},pd=pe._emscripten_bind_espeak_VOICE_set_gender_1=function(){return(pd=pe._emscripten_bind_espeak_VOICE_set_gender_1=pe.asm.D).apply(null,arguments)},hd=pe._emscripten_bind_espeak_VOICE_get_age_0=function(){return(hd=pe._emscripten_bind_espeak_VOICE_get_age_0=pe.asm.E).apply(null,arguments)},md=pe._emscripten_bind_espeak_VOICE_set_age_1=function(){return(md=pe._emscripten_bind_espeak_VOICE_set_age_1=pe.asm.F).apply(null,arguments)},Cd=pe._emscripten_bind_espeak_VOICE_get_variant_0=function(){return(Cd=pe._emscripten_bind_espeak_VOICE_get_variant_0=pe.asm.G).apply(null,arguments)},bd=pe._emscripten_bind_espeak_VOICE_set_variant_1=function(){return(bd=pe._emscripten_bind_espeak_VOICE_set_variant_1=pe.asm.H).apply(null,arguments)},Id=pe._emscripten_bind_espeak_VOICE_get_xx1_0=function(){return(Id=pe._emscripten_bind_espeak_VOICE_get_xx1_0=pe.asm.I).apply(null,arguments)},wd=pe._emscripten_bind_espeak_VOICE_set_xx1_1=function(){return(wd=pe._emscripten_bind_espeak_VOICE_set_xx1_1=pe.asm.J).apply(null,arguments)},kd=pe._emscripten_bind_espeak_VOICE_get_score_0=function(){return(kd=pe._emscripten_bind_espeak_VOICE_get_score_0=pe.asm.K).apply(null,arguments)},xd=pe._emscripten_bind_espeak_VOICE_set_score_1=function(){return(xd=pe._emscripten_bind_espeak_VOICE_set_score_1=pe.asm.L).apply(null,arguments)},Bd=pe._emscripten_bind_espeak_VOICE_get_spare_0=function(){return(Bd=pe._emscripten_bind_espeak_VOICE_get_spare_0=pe.asm.M).apply(null,arguments)},vd=pe._emscripten_bind_espeak_VOICE_set_spare_1=function(){return(vd=pe._emscripten_bind_espeak_VOICE_set_spare_1=pe.asm.N).apply(null,arguments)},yd=pe._emscripten_bind_espeak_VOICE___destroy___0=function(){return(yd=pe._emscripten_bind_espeak_VOICE___destroy___0=pe.asm.O).apply(null,arguments)},Ed=pe._emscripten_bind_espeak_EVENT_get_type_0=function(){return(Ed=pe._emscripten_bind_espeak_EVENT_get_type_0=pe.asm.P).apply(null,arguments)},Md=pe._emscripten_bind_espeak_EVENT_get_unique_identifier_0=function(){return(Md=pe._emscripten_bind_espeak_EVENT_get_unique_identifier_0=pe.asm.Q).apply(null,arguments)},Gd=pe._emscripten_bind_espeak_EVENT_get_text_position_0=function(){return(Gd=pe._emscripten_bind_espeak_EVENT_get_text_position_0=pe.asm.R).apply(null,arguments)},Dd=pe._emscripten_bind_espeak_EVENT_get_length_0=function(){return(Dd=pe._emscripten_bind_espeak_EVENT_get_length_0=pe.asm.S).apply(null,arguments)},Qd=pe._emscripten_bind_espeak_EVENT_get_audio_position_0=function(){return(Qd=pe._emscripten_bind_espeak_EVENT_get_audio_position_0=pe.asm.T).apply(null,arguments)},Td=pe._emscripten_bind_espeak_EVENT_get_sample_0=function(){return(Td=pe._emscripten_bind_espeak_EVENT_get_sample_0=pe.asm.U).apply(null,arguments)},Pd=pe._emscripten_bind_espeak_EVENT_get_user_data_0=function(){return(Pd=pe._emscripten_bind_espeak_EVENT_get_user_data_0=pe.asm.V).apply(null,arguments)},zd=pe._emscripten_bind_espeak_EVENT___destroy___0=function(){return(zd=pe._emscripten_bind_espeak_EVENT___destroy___0=pe.asm.W).apply(null,arguments)},Fd=pe._emscripten_bind_eSpeakNGWorker_eSpeakNGWorker_0=function(){return(Fd=pe._emscripten_bind_eSpeakNGWorker_eSpeakNGWorker_0=pe.asm.X).apply(null,arguments)},Sd=pe._emscripten_bind_eSpeakNGWorker_synth__2=function(){return(Sd=pe._emscripten_bind_eSpeakNGWorker_synth__2=pe.asm.Y).apply(null,arguments)},Nd=pe._emscripten_bind_eSpeakNGWorker_synth_ipa__2=function(){return(Nd=pe._emscripten_bind_eSpeakNGWorker_synth_ipa__2=pe.asm.Z).apply(null,arguments)}
2737,Od=pe._emscripten_bind_eSpeakNGWorker_getSizeOfEventStruct__0=function(){return(Od=pe._emscripten_bind_eSpeakNGWorker_getSizeOfEventStruct__0=pe.asm._).apply(null,arguments)},Ld=pe._emscripten_bind_eSpeakNGWorker_set_voice_2=function(){return(Ld=pe._emscripten_bind_eSpeakNGWorker_set_voice_2=pe.asm.$).apply(null,arguments)},Yd=pe._emscripten_bind_eSpeakNGWorker_set_voice_3=function(){return(Yd=pe._emscripten_bind_eSpeakNGWorker_set_voice_3=pe.asm.aa).apply(null,arguments)},Hd=pe._emscripten_bind_eSpeakNGWorker_set_voice_4=function(){return(Hd=pe._emscripten_bind_eSpeakNGWorker_set_voice_4=pe.asm.ba).apply(null,arguments)},Rd=pe._emscripten_bind_eSpeakNGWorker_set_voice_5=function(){return(Rd=pe._emscripten_bind_eSpeakNGWorker_set_voice_5=pe.asm.ca).apply(null,arguments)},Wd=pe._emscripten_bind_eSpeakNGWorker_get_voices_1=function(){return(Wd=pe._emscripten_bind_eSpeakNGWorker_get_voices_1=pe.asm.da).apply(null,arguments)},Vd=pe._emscripten_bind_eSpeakNGWorker_set_voices_2=function(){return(Vd=pe._emscripten_bind_eSpeakNGWorker_set_voices_2=pe.asm.ea).apply(null,arguments)},jd=pe._emscripten_bind_eSpeakNGWorker_get_samplerate_0=function(){return(jd=pe._emscripten_bind_eSpeakNGWorker_get_samplerate_0=pe.asm.fa).apply(null,arguments)},Ud=pe._emscripten_bind_eSpeakNGWorker_get_rate_0=function(){return(Ud=pe._emscripten_bind_eSpeakNGWorker_get_rate_0=pe.asm.ga).apply(null,arguments)},Kd=pe._emscripten_bind_eSpeakNGWorker_set_rate_1=function(){return(Kd=pe._emscripten_bind_eSpeakNGWorker_set_rate_1=pe.asm.ha).apply(null,arguments)},Zd=pe._emscripten_bind_eSpeakNGWorker_get_pitch_0=function(){return(Zd=pe._emscripten_bind_eSpeakNGWorker_get_pitch_0=pe.asm.ia).apply(null,arguments)},Xd=pe._emscripten_bind_eSpeakNGWorker_set_pitch_1=function(){return(Xd=pe._emscripten_bind_eSpeakNGWorker_set_pitch_1=pe.asm.ja).apply(null,arguments)},qd=pe._emscripten_bind_eSpeakNGWorker___destroy___0=function(){return(qd=pe._emscripten_bind_eSpeakNGWorker___destroy___0=pe.asm.ka).apply(null,arguments)},Jd=pe._emscripten_enum_espeak_EVENT_TYPE_espeakEVENT_LIST_TERMINATED=function(){return(Jd=pe._emscripten_enum_espeak_EVENT_TYPE_espeakEVENT_LIST_TERMINATED=pe.asm.la).apply(null,arguments)},_d=pe._emscripten_enum_espeak_EVENT_TYPE_espeakEVENT_WORD=function(){return(_d=pe._emscripten_enum_espeak_EVENT_TYPE_espeakEVENT_WORD=pe.asm.ma).apply(null,arguments)},$d=pe._emscripten_enum_espeak_EVENT_TYPE_espeakEVENT_SENTENCE=function(){return($d=pe._emscripten_enum_espeak_EVENT_TYPE_espeakEVENT_SENTENCE=pe.asm.na).apply(null,arguments)},ef=pe._emscripten_enum_espeak_EVENT_TYPE_espeakEVENT_MARK=function(){return(ef=pe._emscripten_enum_espeak_EVENT_TYPE_espeakEVENT_MARK=pe.asm.oa).apply(null,arguments)},Af=pe._emscripten_enum_espeak_EVENT_TYPE_espeakEVENT_PLAY=function(){return(Af=pe._emscripten_enum_espeak_EVENT_TYPE_espeakEVENT_PLAY=pe.asm.pa).apply(null,arguments)},tf=pe._emscripten_enum_espeak_EVENT_TYPE_espeakEVENT_END=function(){return(tf=pe._emscripten_enum_espeak_EVENT_TYPE_espeakEVENT_END=pe.asm.qa).apply(null,arguments)},rf=pe._emscripten_enum_espeak_EVENT_TYPE_espeakEVENT_MSG_TERMINATED=function(){return(rf=pe._emscripten_enum_espeak_EVENT_TYPE_espeakEVENT_MSG_TERMINATED=pe.asm.ra).apply(null,arguments)},af=pe._emscripten_enum_espeak_EVENT_TYPE_espeakEVENT_PHONEME=function(){return(af=pe._emscripten_enum_espeak_EVENT_TYPE_espeakEVENT_PHONEME=pe.asm.sa).apply(null,arguments)},sf=pe._emscripten_enum_espeak_EVENT_TYPE_espeakEVENT_SAMPLERATE=function(){return(sf=pe._emscripten_enum_espeak_EVENT_TYPE_espeakEVENT_SAMPLERATE=pe.asm.ta).apply(null,arguments)},nf=pe.___errno_location=function(){return(nf=pe.___errno_location=pe.asm.va).apply(null,arguments)};pe._free=function(){return(pe._free=pe.asm.wa).apply(null,arguments)},pe._malloc=function(){return(pe._malloc=pe.asm.xa).apply(null,arguments)};var Ic,of=pe.___cxa_is_pointer_type=function(){return(of=pe.___cxa_is_pointer_type=pe.asm.ya).apply(null,arguments)};function lf(x){function C(){Ic||(Ic=!0,pe.calledRun=!0,Ju||(td=!0,pe.noFSInit||se.init.initialized||se.init(),se.ignorePermissions=!1,eg(Ad),pe.onRuntimeInitialized&&pe.onRuntimeInitialized(),function(){if(pe.postRun)for(typeof pe.postRun=="function"&&(pe.postRun=[pe.postRun]);pe.postRun.length;)d=pe.postRun.shift(),ju.unshift(d);var d;eg(ju)}()))}Co>0||(function(){if(pe.preRun)for(typeof pe.preRun=="function"&&(pe.preRun=[pe.preRun]);pe.preRun.length;)d=pe.preRun.shift(),Vu.unshift(d);var d;eg(Vu)}(),Co>0||(pe.setStatus?(pe.setStatus("Running..."),setTimeout(function(){setTimeout(function(){pe.setStatus("")},1),C()},1)):C()))}if(pe.___start_em_js=132724,pe.___stop_em_js=132822,pe.addRunDependency=ad,pe.removeRunDependency=sd,pe.FS_createPath=se.createPath,pe.FS_createDataFile=se.createDataFile,pe.FS_createLazyFile=se.createLazyFile,pe.FS_createDevice=se.createDevice,pe.FS_unlink=se.unlink,G1=function x(){Ic||lf(),Ic||(G1=x)},pe.preInit)for(typeof pe.preInit=="function"&&(pe.preInit=[pe.preInit]);pe.preInit.length>0;)pe.preInit.pop()();function Os(){}function wc(x){return(x||Os).__cache__}function C2(x,C){var d=wc(C),k=d[x];return k||((k=Object.create((C||Os).prototype)).ptr=x,d[x]=k)}lf(),Os.prototype=Object.create(Os.prototype),Os.prototype.constructor=Os,Os.prototype.__class__=Os,Os.__c
2737ache__={},pe.WrapperObject=Os,pe.getCache=wc,pe.wrapPointer=C2,pe.castObject=function(x,C){return C2(x.ptr,C)},pe.NULL=C2(0),pe.destroy=function(x){if(!x.__destroy__)throw"Error: Cannot destroy object. (Did you create it yourself?)";x.__destroy__(),delete wc(x.__class__)[x.ptr]},pe.compare=function(x,C){return x.ptr===C.ptr},pe.getPointer=function(x){return x.ptr},pe.getClass=function(x){return x.__class__};var Er={buffer:0,size:0,pos:0,temps:[],needed:0,prepare:function(){if(Er.needed){for(var x=0;x<Er.temps.length;x++)pe._free(Er.temps[x]);Er.temps.length=0,pe._free(Er.buffer),Er.buffer=0,Er.size+=Er.needed,Er.needed=0}Er.buffer||(Er.size+=128,Er.buffer=pe._malloc(Er.size),_c(Er.buffer)),Er.pos=0},alloc:function(x,C){_c(Er.buffer);var d,k=C.BYTES_PER_ELEMENT,F=x.length*k;return F=F+7&-8,Er.pos+F>=Er.size?(_c(F>0),Er.needed+=F,d=pe._malloc(F),Er.temps.push(d)):(d=Er.buffer+Er.pos,Er.pos+=F),d},copy:function(x,C,d){switch(d>>>=0,C.BYTES_PER_ELEMENT){case 2:d>>>=1;break;case 4:d>>>=2;break;case 8:d>>>=3}for(var k=0;k<x.length;k++)C[d+k]=x[k]}};function ho(x){if(typeof x=="string"){var C=id(x),d=Er.alloc(C,hs);return Er.copy(C,hs,d),d}return x}function c0(){throw"cannot construct a VoidPtr, no constructor in IDL"}function ft(){throw"cannot construct a espeak_VOICE, no constructor in IDL"}function rr(){throw"cannot construct a espeak_EVENT, no constructor in IDL"}function Vt(){this.ptr=Fd(),wc(Vt)[this.ptr]=this}c0.prototype=Object.create(Os.prototype),c0.prototype.constructor=c0,c0.prototype.__class__=c0,c0.__cache__={},pe.VoidPtr=c0,c0.prototype.__destroy__=c0.prototype.__destroy__=function(){var x=this.ptr;od(x)},ft.prototype=Object.create(Os.prototype),ft.prototype.constructor=ft,ft.prototype.__class__=ft,ft.__cache__={},pe.espeak_VOICE=ft,ft.prototype.get_name=ft.prototype.get_name=function(){var x=this.ptr;return m2(ld(x))},ft.prototype.set_name=ft.prototype.set_name=function(x){var C=this.ptr;Er.prepare(),x=x&&typeof x=="object"?x.ptr:ho(x),cd(C,x)},Object.defineProperty(ft.prototype,"name",{get:ft.prototype.get_name,set:ft.prototype.set_name}),ft.prototype.get_languages=ft.prototype.get_languages=function(x){var C=this.ptr;return x&&typeof x=="object"&&(x=x.ptr),gd(C,x)},Object.defineProperty(ft.prototype,"languages",{get:ft.prototype.get_languages}),ft.prototype.get_identifier=ft.prototype.get_identifier=function(){var x=this.ptr;return m2(ud(x))},ft.prototype.set_identifier=ft.prototype.set_identifier=function(x){var C=this.ptr;Er.prepare(),x=x&&typeof x=="object"?x.ptr:ho(x),dd(C,x)},Object.defineProperty(ft.prototype,"identifier",{get:ft.prototype.get_identifier,set:ft.prototype.set_identifier}),ft.prototype.get_gender=ft.prototype.get_gender=function(){var x=this.ptr;return fd(x)},ft.prototype.set_gender=ft.prototype.set_gender=function(x){var C=this.ptr;x&&typeof x=="object"&&(x=x.ptr),pd(C,x)},Object.defineProperty(ft.prototype,"gender",{get:ft.prototype.get_gender,set:ft.prototype.set_gender}),ft.prototype.get_age=ft.prototype.get_age=function(){var x=this.ptr;return hd(x)},ft.prototype.set_age=ft.prototype.set_age=function(x){var C=this.ptr;x&&typeof x=="object"&&(x=x.ptr),md(C,x)},Object.defineProperty(ft.prototype,"age",{get:ft.prototype.get_age,set:ft.prototype.set_age}),ft.prototype.get_variant=ft.prototype.get_variant=function(){var x=this.ptr;return Cd(x)},ft.prototype.set_variant=ft.prototype.set_variant=function(x){var C=this.ptr;x&&typeof x=="object"&&(x=x.ptr),bd(C,x)},Object.defineProperty(ft.prototype,"variant",{get:ft.prototype.get_variant,set:ft.prototype.set_variant}),ft.prototype.get_xx1=ft.prototype.get_xx1=function(){var x=this.ptr;return Id(x)},ft.prototype.set_xx1=ft.prototype.set_xx1=function(x){var C=this.ptr;x&&typeof x=="object"&&(x=x.ptr),wd(C,x)},Object.defineProperty(ft.prototype,"xx1",{get:ft.prototype.get_xx1,set:ft.prototype.set_xx1}),ft.prototype.get_score=ft.prototype.get_score=function(){var x=this.ptr;return kd(x)},ft.prototype.set_score=ft.prototype.set_score=function(x){var C=this.ptr;x&&typeof x=="object"&&(x=x.ptr),xd(C,x)},Object.defineProperty(ft.prototype,"score",{get:ft.prototype.get_score,set:ft.prototype.set_score}),ft.prototype.get_spare=ft.prototype.get_spare=function(){var x=this.ptr;return Bd(x)},ft.prototype.set_spare=ft.prototype.set_spare=function(x){var C=this.ptr;x&&typeof x=="object"&&(x=x.ptr),vd(C,x)},Object.defineProperty(ft.prototype,"spare",{get:ft.prototype.get_spare,set:ft.prototype.set_spare}),ft.prototype.__destroy__=ft.prototype.__destroy__=function(){var x=this.ptr;yd(x)},rr.prototype=Object.create(Os.prototype),rr.prototype.constructor=rr,rr.prototype.__class__=rr,rr.__cache__={},pe.espeak_EVENT=rr,rr.prototype.get_type=rr.prototype.get_type=function(){var x=this.ptr;return Ed(x)}
2737,Object.defineProperty(rr.prototype,"type",{get:rr.prototype.get_type}),rr.prototype.get_unique_identifier=rr.prototype.get_unique_identifier=function(){var x=this.ptr;return Md(x)},Object.defineProperty(rr.prototype,"unique_identifier",{get:rr.prototype.get_unique_identifier}),rr.prototype.get_text_position=rr.prototype.get_text_position=function(){var x=this.ptr;return Gd(x)},Object.defineProperty(rr.prototype,"text_position",{get:rr.prototype.get_text_position}),rr.prototype.get_length=rr.prototype.get_length=function(){var x=this.ptr;return Dd(x)},Object.defineProperty(rr.prototype,"length",{get:rr.prototype.get_length}),rr.prototype.get_audio_position=rr.prototype.get_audio_position=function(){var x=this.ptr;return Qd(x)},Object.defineProperty(rr.prototype,"audio_position",{get:rr.prototype.get_audio_position}),rr.prototype.get_sample=rr.prototype.get_sample=function(){var x=this.ptr;return Td(x)},Object.defineProperty(rr.prototype,"sample",{get:rr.prototype.get_sample}),rr.prototype.get_user_data=rr.prototype.get_user_data=function(){var x=this.ptr;return Pd(x)},Object.defineProperty(rr.prototype,"user_data",{get:rr.prototype.get_user_data}),rr.prototype.__destroy__=rr.prototype.__destroy__=function(){var x=this.ptr;zd(x)},Vt.prototype=Object.create(Os.prototype),Vt.prototype.constructor=Vt,Vt.prototype.__class__=Vt,Vt.__cache__={},pe.eSpeakNGWorker=Vt,Vt.prototype.synth_=Vt.prototype.synth_=function(x,C){var d=this.ptr;Er.prepare(),x=x&&typeof x=="object"?x.ptr:ho(x),C&&typeof C=="object"&&(C=C.ptr),Sd(d,x,C)},Vt.prototype.synth_ipa_=Vt.prototype.synth_ipa_=function(x,C){var d=this.ptr;return Er.prepare(),x=x&&typeof x=="object"?x.ptr:ho(x),C=C&&typeof C=="object"?C.ptr:ho(C),Nd(d,x,C)},Vt.prototype.getSizeOfEventStruct_=Vt.prototype.getSizeOfEventStruct_=function(){var x=this.ptr;return Od(x)},Vt.prototype.set_voice=Vt.prototype.set_voice=function(x,C,d,k,F){var j=this.ptr;return Er.prepare(),x=x&&typeof x=="object"?x.ptr:ho(x),C=C&&typeof C=="object"?C.ptr:ho(C),d&&typeof d=="object"&&(d=d.ptr),k&&typeof k=="object"&&(k=k.ptr),F&&typeof F=="object"&&(F=F.ptr),d===void 0?Ld(j,x,C):k===void 0?Yd(j,x,C,d):F===void 0?Hd(j,x,C,d,k):Rd(j,x,C,d,k,F)},Vt.prototype.get_voices=Vt.prototype.get_voices=function(x){var C=this.ptr;return x&&typeof x=="object"&&(x=x.ptr),C2(Wd(C,x),ft)},Vt.prototype.set_voices=Vt.prototype.set_voices=function(x,C){var d=this.ptr;Er.prepare(),x&&typeof x=="object"&&(x=x.ptr),C&&typeof C=="object"&&(C=C.ptr),Vd(d,x,C)},Object.defineProperty(Vt.prototype,"voices",{get:Vt.prototype.get_voices,set:Vt.prototype.set_voices}),Vt.prototype.get_samplerate=Vt.prototype.get_samplerate=function(){var x=this.ptr;return jd(x)},Object.defineProperty(Vt.prototype,"samplerate",{get:Vt.prototype.get_samplerate}),Vt.prototype.get_rate=Vt.prototype.get_rate=function(){var x=this.ptr;return Ud(x)},Vt.prototype.set_rate=Vt.prototype.set_rate=function(x){var C=this.ptr;x&&typeof x=="object"&&(x=x.ptr),Kd(C,x)},Object.defineProperty(Vt.prototype,"rate",{get:Vt.prototype.get_rate,set:Vt.prototype.set_rate}),Vt.prototype.get_pitch=Vt.prototype.get_pitch=function(){var x=this.ptr;return Zd(x)},Vt.prototype.set_pitch=Vt.prototype.set_pitch=function(x){var C=this.ptr;x&&typeof x=="object"&&(x=x.ptr),Xd(C,x)},Object.defineProperty(Vt.prototype,"pitch",{get:Vt.prototype.get_pitch,set:Vt.prototype.set_pitch}),Vt.prototype.__destroy__=Vt.prototype.__destroy__=function(){var x=this.ptr;qd(x)},function(){function x(){pe.espeakEVENT_LIST_TERMINATED=Jd(),pe.espeakEVENT_WORD=_d(),pe.espeakEVENT_SENTENCE=$d(),pe.espeakEVENT_MARK=ef(),pe.espeakEVENT_PLAY=Af(),pe.espeakEVENT_END=tf(),pe.espeakEVENT_MSG_TERMINATED=rf(),pe.espeakEVENT_PHONEME=af(),pe.espeakEVENT_SAMPLERATE=sf()}td?x():rd(x)}(),Vt.prototype.list_voices=function(){for(var x,C=[],d=this.get_voices(x=0);d.ptr!=0;d=this.get_voices(++x)){let V=function(X){for(var R="",S=X,Z=d.get_languages(S++);Z!=0;)R+=String.fromCharCode(Z),Z=d.get_languages(S++);return R};for(var k={name:d.get_name(),identifier:d.get_identifier(),languages:[]},F=0,j=d.get_languages(F);j!=0;){var O={priority:j,name:V(++F)};k.languages.push(O),F+=O.name.length+1,j=d.get_languages(F)}C.push(k)}return C};var Vp=["list_terminated","word","sentence","mark","play","end","msg_terminated","phoneme","samplerate"];Vt.prototype.synthesize=function(x,C){var d=this.getSizeOfEventStruct_(),k=addFunction(function(F,j,O){for(var V=new Float32Array(2*j),X=0;X<j;X++)V[2*X]=Math.max(-1,Math.min(1,Hp(F+2*X,"i16")/32768)),V[2*X+1]=V[2*X];var R=[];for(F=O,ev=C2(F,rr);ev.get_type()!=pe.espeakEVENT_LIST_TERMINATED;ev=C2(F+=d,rr))R.push({type:Vp[ev.get_type()],text_position:ev.get_text_position(),word_length:ev.get_length(),audio_position:ev.get_audio_position()});return C(V,R)?1:0});this.synth_(x,k),removeFunction(k)},Vt.prototype.synthesize_ipa=function(x,C){var d="espeak-ng-ipa-tmp-"+Math.random().toString().substring(2),k="",F=this.synth_ipa_(x,d);return F==0&&(k=se.readFile(d,{encoding:"utf8"})),se.unlink(d),{code:F,ipa:k}};
2737const cf=new Promise(x=>{pe.calledRun?x(new pe.eSpeakNGWorker):pe.onRuntimeInitialized=()=>x(new pe.eSpeakNGWorker)}),jp=["en"],Up=cf.then(x=>{const C=x.list_voices().map(({name:k,identifier:F,languages:j})=>({name:k,identifier:F,languages:j.filter(O=>jp.includes(O.name.split("-")[0]))})).filter(k=>k.languages.length>0),d=new Set;for(const k of C){d.add(k.identifier);for(const F of k.languages)d.add(F.name)}return{voices:C,identifiers:d}});function Kp(x){if(x.includes("."))return x;if(x.includes(":")){let[j,O]=x.split(":").map(Number);return O===0?`${j} o'clock`:O<10?`${j} oh ${O}`:`${j} ${O}`}let C=parseInt(x.slice(0,4),10);if(C<1100||C%1e3<10)return x;let d=x.slice(0,2),k=parseInt(x.slice(2,4),10),F=x.endsWith("s")?"s":"";if(C%1e3>=100&&C%1e3<=999){if(k===0)return`${d} hundred${F}`;if(k<10)return`${d} oh ${k}${F}`}return`${d} ${k}${F}`}function Zp(x){const C=x[0]==="$"?"dollar":"pound";if(isNaN(Number(x.slice(1))))return`${x.slice(1)} ${C}s`;if(!x.includes(".")){let j=x.slice(1)==="1"?"":"s";return`${x.slice(1)} ${C}${j}`}const[d,k]=x.slice(1).split("."),F=parseInt(k.padEnd(2,"0"),10);return`${d} ${C}${d==="1"?"":"s"} and ${F} ${x[0]==="$"?F===1?"cent":"cents":F===1?"penny":"pence"}`}function Xp(x){let[C,d]=x.split(".");return`${C} point ${d.split("").join(" ")}`}const qp=new RegExp(`(\\s*[${Ku=';:,.!?¡¿—…"«»“”(){}[]',Ku.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}]+\\s*)+`,"g");var Ku;async function Jp(x,C="a",d=!0){d&&(x=function(V){return V.replace(/[‘’]/g,"'").replace(/«/g,"“").replace(/»/g,"”").replace(/[“”]/g,'"').replace(/\(/g,"«").replace(/\)/g,"»").replace(/、/g,", ").replace(/。/g,". ").replace(/!/g,"! ").replace(/,/g,", ").replace(/:/g,": ").replace(/;/g,"; ").replace(/?/g,"? ").replace(/[^\S \n]/g," ").replace(/  +/," ").replace(new RegExp("(?<=\\n) +(?=\\n)","g"),"").replace(/\bD[Rr]\.(?= [A-Z])/g,"Doctor").replace(/\b(?:Mr\.|MR\.(?= [A-Z]))/g,"Mister").replace(/\b(?:Ms\.|MS\.(?= [A-Z]))/g,"Miss").replace(/\b(?:Mrs\.|MRS\.(?= [A-Z]))/g,"Mrs").replace(/\betc\.(?! [A-Z])/gi,"etc").replace(/\b(y)eah?\b/gi,"$1e'a").replace(new RegExp("\\d*\\.\\d+|\\b\\d{4}s?\\b|(?<!:)\\b(?:[1-9]|1[0-2]):[0-5]\\d\\b(?!:)","g"),Kp).replace(new RegExp("(?<=\\d),(?=\\d)","g"),"").replace(/[$£]\d+(?:\.\d+)?(?: hundred| thousand| (?:[bm]|tr)illion)*\b|[$£]\d+\.\d\d?\b/gi,Zp).replace(/\d*\.\d+/g,Xp).replace(new RegExp("(?<=\\d)-(?=\\d)","g")," to ").replace(new RegExp("(?<=\\d)S","g")," S").replace(new RegExp("(?<=[BCDFGHJ-NP-TV-Z])'?s\\b","g"),"'S").replace(new RegExp("(?<=X')S\\b","g"),"s").replace(/(?:[A-Za-z]\.){2,} [a-z]/g,X=>X.replace(/\./g,"-")).replace(new RegExp("(?<=[A-Z])\\.(?=[A-Z])","gi"),"-").trim()}(x));const k=function(V,X){const R=[];let S=0;for(const Z of V.matchAll(X)){const W=Z[0];S<Z.index&&R.push({match:!1,text:V.slice(S,Z.index)}),W.length>0&&R.push({match:!0,text:W}),S=Z.index+W.length}return S<V.length&&R.push({match:!1,text:V.slice(S)}),R}(x,qp),F=C==="a"?"en-us":"en";let O=(await Promise.all(k.map(async({match:V,text:X})=>V?X:(await(async(R,S="en-us")=>{var te;const Z=await cf,{identifiers:W}=await Up;if(!W.has(S))throw new Error(`Invalid language identifier: "${S}". Should be one of: ${Array.from(W).toSorted().join(", ")}.`);return Z.set_voice(S),((te=Z.synthesize_ipa(R).ipa)==null?void 0:te.split(`
2738`).filter(me=>me.length>0))??[]})(X,F)).join(" ")))).join("").replace(/kəkˈoːɹoʊ/g,"kˈoʊkəɹoʊ").replace(/kəkˈɔːɹəʊ/g,"kˈəʊkəɹəʊ").replace(/ʲ/g,"j").replace(/r/g,"ɹ").replace(/x/g,"k").replace(/ɬ/g,"l").replace(new RegExp("(?<=[a-zɹː])(?=hˈʌndɹɪd)","g")," ").replace(/ z(?=[;:,.!?¡¿—…"«»“” ]|$)/g,"z");return C==="a"&&(O=O.replace(new RegExp("(?<=nˈaɪn)ti(?!ː)","g"),"di")),O.trim()}var y1={};const E1=Object.freeze({af_heart:{name:"Heart",language:"en-us",gender:"Female",traits:"❤️",targetQuality:"A",overallGrade:"A"},af_alloy:{name:"Alloy",language:"en-us",gender:"Female",targetQuality:"B",overallGrade:"C"},af_aoede:{name:"Aoede",language:"en-us",gender:"Female",targetQuality:"B",overallGrade:"C+"},af_bella:{name:"Bella",language:"en-us",gender:"Female",traits:"🔥",targetQuality:"A",overallGrade:"A-"}
2738,af_jessica:{name:"Jessica",language:"en-us",gender:"Female",targetQuality:"C",overallGrade:"D"},af_kore:{name:"Kore",language:"en-us",gender:"Female",targetQuality:"B",overallGrade:"C+"},af_nicole:{name:"Nicole",language:"en-us",gender:"Female",traits:"🎧",targetQuality:"B",overallGrade:"B-"},af_nova:{name:"Nova",language:"en-us",gender:"Female",targetQuality:"B",overallGrade:"C"},af_river:{name:"River",language:"en-us",gender:"Female",targetQuality:"C",overallGrade:"D"},af_sarah:{name:"Sarah",language:"en-us",gender:"Female",targetQuality:"B",overallGrade:"C+"},af_sky:{name:"Sky",language:"en-us",gender:"Female",targetQuality:"B",overallGrade:"C-"},am_adam:{name:"Adam",language:"en-us",gender:"Male",targetQuality:"D",overallGrade:"F+"},am_echo:{name:"Echo",language:"en-us",gender:"Male",targetQuality:"C",overallGrade:"D"},am_eric:{name:"Eric",language:"en-us",gender:"Male",targetQuality:"C",overallGrade:"D"},am_fenrir:{name:"Fenrir",language:"en-us",gender:"Male",targetQuality:"B",overallGrade:"C+"},am_liam:{name:"Liam",language:"en-us",gender:"Male",targetQuality:"C",overallGrade:"D"},am_michael:{name:"Michael",language:"en-us",gender:"Male",targetQuality:"B",overallGrade:"C+"},am_onyx:{name:"Onyx",language:"en-us",gender:"Male",targetQuality:"C",overallGrade:"D"},am_puck:{name:"Puck",language:"en-us",gender:"Male",targetQuality:"B",overallGrade:"C+"},am_santa:{name:"Santa",language:"en-us",gender:"Male",targetQuality:"C",overallGrade:"D-"},bf_emma:{name:"Emma",language:"en-gb",gender:"Female",traits:"🚺",targetQuality:"B",overallGrade:"B-"},bf_isabella:{name:"Isabella",language:"en-gb",gender:"Female",targetQuality:"B",overallGrade:"C"},bm_george:{name:"George",language:"en-gb",gender:"Male",targetQuality:"B",overallGrade:"C"},bm_lewis:{name:"Lewis",language:"en-gb",gender:"Male",targetQuality:"C",overallGrade:"D+"},bf_alice:{name:"Alice",language:"en-gb",gender:"Female",traits:"🚺",targetQuality:"C",overallGrade:"D"},bf_lily:{name:"Lily",language:"en-gb",gender:"Female",traits:"🚺",targetQuality:"C",overallGrade:"D"},bm_daniel:{name:"Daniel",language:"en-gb",gender:"Male",traits:"🚹",targetQuality:"C",overallGrade:"D"},bm_fable:{name:"Fable",language:"en-gb",gender:"Male",traits:"🚹",targetQuality:"B",overallGrade:"C"}}),tg=new Map;async function _p(x){if(tg.has(x))return tg.get(x);const C=new Float32Array(await async function(d){if(y1!=null&&y1.readFile){const V=typeof __dirname<"u"?__dirname:import.meta.dirname,X=y1.resolve(V,`../voices/${d}.bin`),{buffer:R}=await y1.readFile(X);return R}const k=`https://huggingface.co/onnx-community/Kokoro-82M-v1.0-ONNX/resolve/main/voices/${d}.bin`;let F;try{F=await caches.open("kokoro-voices");const V=await F.match(k);if(V)return await V.arrayBuffer()}catch(V){console.warn("Unable to open cache",V)}const j=await fetch(k),O=await j.arrayBuffer();if(F)try{await F.put(k,new Response(O,{headers:j.headers}))}catch(V){console.warn("Unable to cache file",V)}return O}(x));return tg.set(x,C),C}class gf{constructor(C,d){this.model=C,this.tokenizer=d}static async from_pretrained(C,{dtype:d="fp32",device:k=null,progress_callback:F=null}={}){const j=Op.from_pretrained(C,{progress_callback:F,dtype:d,device:k}),O=Sp.from_pretrained(C,{progress_callback:F}),V=await Promise.all([j,O]);return new gf(...V)}get voices(){return E1}list_voices(){console.table(E1)}_validate_voice(C){if(!E1.hasOwnProperty(C))throw`${C}`,console.table(E1),new Error(`Voice "${C}" not found. Should be one of: ${Object.keys(E1).join(", ")}.`)}async generate(C,{voice:d="af_heart",speed:k=1}={}){this._validate_voice(d);const F=d.at(0),j=await Jp(C,F),{input_ids:O}=this.tokenizer(j,{truncation:!0}),V=256*Math.min(Math.max(O.dims.at(-1)-2,0),509),X=(await _p(d)).slice(V,V+256),R={input_ids:O,style:new Yu("float32",X,[1,256]),speed:new Yu("float32",[k],[1])},{waveform:S}=await this.model(R);return new Np(S.data,24e3)}}export{gf as KokoroTTS};
2739//# sourceMappingURL=CCBafauW.js.map

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.