rip-lang 3.13.30 → 3.13.32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,16 +1,16 @@
1
- (()=>{var{defineProperty:V1,getOwnPropertyNames:i2,getOwnPropertyDescriptor:n2}=Object,p2=Object.prototype.hasOwnProperty;var s1=new WeakMap,d2=($)=>{var W=s1.get($),F;if(W)return W;if(W=V1({},"__esModule",{value:!0}),$&&typeof $==="object"||typeof $==="function")i2($).map((U)=>!p2.call(W,U)&&V1(W,U,{get:()=>$[U],enumerable:!(F=n2($,U))||F.enumerable}));return s1.set($,W),W};var t1=($,W)=>{for(var F in W)V1($,F,{get:W[F],enumerable:!0,configurable:!0,set:(U)=>W[F]=()=>U})};var n3={};t1(n3,{rip:()=>q2,processRipScripts:()=>H2,parser:()=>s,importRip:()=>t,getStdlibCode:()=>Z1,getReactiveRuntime:()=>R1,getComponentRuntime:()=>w1,formatSExpr:()=>x,compileToJS:()=>d,compile:()=>P1,VERSION:()=>M2,Lexer:()=>p,Compiler:()=>A1,CodeGenerator:()=>y,BUILD_DATE:()=>D2});function f2($){let W=$.prototype;W.rewriteTypes=function(){let F=this.tokens,U=(u,f,Y)=>{let _=[u,f];if(_.pre=0,_.data=null,_.loc=Y?.loc??{r:0,c:0,n:0},_.spaced=!1,_.newLine=!1,_.generated=!0,Y)_.origin=Y;return _};this.scanTokens((u,f,Y)=>{let _=u[0];if(_==="IDENTIFIER"){let A=Y[f+1];if(A&&A[0]==="COMPARE"&&A[1]==="<"&&!A.spaced){let J=Y[f-1]?.[0]==="DEF",R=r2(Y,f+1);if(R){let X=!J&&Y[f+1+R.length]?.[0]==="TYPE_ALIAS";if(J||X){if(!u.data)u.data={};if(u.data.typeParams=W1(R),Y.splice(f+1,R.length),J&&Y[f+1]?.[0]==="("){Y[f+1][0]="CALL_START";let z=1,Z=f+2;while(Z<Y.length&&z>0){if(Y[Z][0]==="("||Y[Z][0]==="CALL_START")z++;if(Y[Z][0]===")"||Y[Z][0]==="CALL_END")z--;if(z===0)Y[Z][0]="CALL_END";Z++}}}}}}if(_==="TYPE_ANNOTATION"){let A=Y[f-1];if(!A)return 1;let J=e1(Y,f+1),R=W1(J),X=A,z="type";if(A[0]==="CALL_END"||A[0]===")"){let K=1,w=f-2;while(w>=0&&K>0){let Q=Y[w][0];if(Q==="CALL_END"||Q===")")K++;if(Q==="CALL_START"||Q==="(")K--;w--}if(w>=0)X=Y[w];z="returnType"}else if(A[0]==="PARAM_END"){let K=f+1+J.length,w=Y[K];if(w&&(w[0]==="->"||w[0]==="=>"))X=w;z="returnType"}else if(A[0]==="IDENTIFIER"&&f>=2&&Y[f-2]?.[0]==="DEF")z="returnType";if(!X.data)X.data={};X.data[z]=R;let Z=1+J.length;return Y.splice(f,Z),0}if(_==="TYPE_ALIAS"){let A=Y[f-1];if(!A)return 1;let J=A[1],R=f>=2&&Y[f-2]?.[0]==="EXPORT",X=R?f-2:f-1,z=Y[f+1],Z=(w)=>{let Q=U("TYPE_DECL",J,A);if(Q.data={name:J,typeText:w,exported:R},A.data?.typeParams)Q.data.typeParams=A.data.typeParams;return Q};if(z&&z[0]==="IDENTIFIER"&&z[1]==="type"&&Y[f+2]?.[0]==="INDENT"){let w=h1(Y,f+2);return Y.splice(X,w-X+1,Z(u2(Y,f+2))),0}if(z&&(z[0]==="TERMINATOR"||z[0]==="INDENT")){let w=o2(Y,f+1);if(w)return Y.splice(X,w.endIdx-X+1,Z(w.typeText)),0}let K=e1(Y,f+1);return Y.splice(X,f+1+K.length-X,Z(W1(K))),0}if(_==="INTERFACE"){let A=f>=1&&Y[f-1]?.[0]==="EXPORT",J=f+1,R=Y[J];if(!R)return 1;let X=R[1],z=null,Z=J+1;if(Y[Z]?.[0]==="EXTENDS")z=Y[Z+1]?.[1],Z=Z+2;if(Y[Z]?.[0]==="INDENT"){let K=u2(Y,Z),w=h1(Y,Z),Q=U("TYPE_DECL",X,R);Q.data={name:X,kind:"interface",extends:z,typeText:K,exported:A};let M=A?f-1:f,H=w-M+1;return Y.splice(M,H,Q),0}return 1}return 1})}}function e1($,W){let F=[],U=0;while(W<$.length){let u=$[W],f=u[0],Y=f==="("||f==="["||f==="CALL_START"||f==="PARAM_START"||f==="INDEX_START"||f==="COMPARE"&&u[1]==="<",_=f===")"||f==="]"||f==="CALL_END"||f==="PARAM_END"||f==="INDEX_END"||f==="COMPARE"&&u[1]===">";if(f==="SHIFT"&&u[1]===">>"&&U>=2){U-=2,F.push(u),W++;continue}if(Y){U++,F.push(u),W++;continue}if(_){if(U>0){U--,F.push(u),W++;continue}break}if(U===0){if(f==="="||f==="REACTIVE_ASSIGN"||f==="COMPUTED_ASSIGN"||f==="READONLY_ASSIGN"||f==="EFFECT"||f==="TERMINATOR"||f==="INDENT"||f==="OUTDENT"||f==="->"||f===",")break}F.push(u),W++}return F}function W1($){if($.length===0)return"";if($[0]?.[0]==="=>")$.unshift(["","()"]);let W=$.map((F)=>F[1]).join(" ").replace(/\s+/g," ").trim();return W=W.replace(/\s*<\s*/g,"<").replace(/\s*>\s*/g,">").replace(/\s*\[\s*/g,"[").replace(/\s*\]\s*/g,"]").replace(/\s*\(\s*/g,"(").replace(/\s*\)\s*/g,")").replace(/\s*,\s*/g,", ").replace(/\s*=>\s*/g," => ").replace(/ :: /g,": ").replace(/:: /g,": "),W}function r2($,W){if(W>=$.length)return null;let F=$[W];if(F[0]!=="COMPARE"||F[1]!=="<")return null;let U=[F],u=1,f=W+1;while(f<$.length&&u>0){let Y=$[f];if(U.push(Y),Y[0]==="COMPARE"&&Y[1]==="<")u++;else if(Y[0]==="COMPARE"&&Y[1]===">")u--;f++}return u===0?U:null}function u2($,W){let F=[],U=W+1,u=1;while(U<$.length&&u>0){let f=$[U];if(f[0]==="INDENT"){u++,U++;continue}if(f[0]==="OUTDENT"){if(u--,u===0)break;U++;continue}if(f[0]==="TERMINATOR"){U++;continue}if(u===1&&(f[0]==="PROPERTY"||f[0]==="IDENTIFIER")){let Y=f[1],_=!1,A=!1;if(U++,Y==="readonly"&&($[U]?.[0]==="PROPERTY"||$[U]?.[0]==="IDENTIFIER")){if(A=!0,Y=$[U][1],$[U].data?.predicate)_=!0;U++}if(f.data?.predicate)_=!0;if($[U]?.[1]==="?"&&!$[U]?.spaced)_=!0,U++;if($[U]?.[1]===":"||$[U]?.[0]==="TYPE_ANNOTATION")U++;let J=[],R=0;while(U<$.length){let K=$[U];if(K[0]==="INDENT"){R++,U++;continue}if(K[0]==="OUTDENT"){if(R>0){R--,U++;continue}break}if(K[0]==="TERMINATOR"&&R===0)break;J.push(K),U++}let X=W1(J),z=A?"readonly ":"",Z=_?"?":"";F.push(`${z}${Y}${Z}: ${X}`)}else U++}return"{ "+F.join("; ")+" }"}function h1($,W){let F=0;for(let U=W;U<$.length;U++){if($[U][0]==="INDENT")F++;if($[U][0]==="OUTDENT"){if(F--,F===0)return U}}return $.length-1}function o2($,W){let F=W;if($[F]?.[0]==="TERMINATOR")F++;if($[F]?.[0]!=="INDENT")return null;let U=F;F++;while(F<$.length&&$[F][0]==="TERMINATOR")F++;if(!$[F]||$[F][1]!=="|")return null;let u=[],f=1;F=U+1;while(F<$.length&&f>0){let _=$[F];if(_[0]==="INDENT"){f++,F++;continue}if(_[0]==="OUTDENT"){if(f--,f===0)break;F++;continue}if(_[0]==="TERMINATOR"){F++;continue}if(_[1]==="|"&&f===1){F++;let A=[];while(F<$.length){let J=$[F];if(J[0]==="TERMINATOR"||J[0]==="OUTDENT"||J[1]==="|"&&f===1)break;A.push(J),F++}if(A.length>0)u.push(W1(A));continue}F++}if(u.length===0)return null;let Y=h1($,U);return{typeText:u.join(" | "),endIdx:Y}}function C1($,W=null){let F=[],U=0,u=" ",f=()=>u.repeat(U),Y=!1,_=!1,A=!1,J=(Z,K,w)=>{if(K.startsWith("{ ")&&K.endsWith(" }")){let Q=K.slice(2,-2).split("; ").filter((M)=>M.trim());if(Q.length>0){F.push(`${f()}${Z}{`),U++;for(let M of Q)F.push(`${f()}${M};`);U--,F.push(`${f()}}${w}`);return}}F.push(`${f()}${Z}${K}${w}`)},R=(Z,K)=>{let w=[],Q=K,M=Z[Q]?.[0];if(M!=="CALL_START"&&M!=="PARAM_START")return{params:w,endIdx:Q};let H=M==="CALL_START"?"CALL_END":"PARAM_END";Q++;let O=0;while(Q<Z.length&&!(Z[Q][0]===H&&O===0)){let q=Z[Q];if(q[1]===","&&O===0){Q++;continue}if(q[0]==="{"||q[0]==="["||q[0]==="CALL_START"||q[0]==="PARAM_START"||q[0]==="INDEX_START")O++;if(q[0]==="}"||q[0]==="]"||q[0]==="CALL_END"||q[0]==="PARAM_END"||q[0]==="INDEX_END"){O--,Q++;continue}if(q[0]==="@"){if(Q++,Z[Q]?.[0]==="PROPERTY"||Z[Q]?.[0]==="IDENTIFIER"){let E=Z[Q][1],I=Z[Q].data?.type;w.push(I?`${E}: ${v(I)}`:E),Q++}continue}if(q[0]==="SPREAD"||q[1]==="..."){if(Q++,Z[Q]?.[0]==="IDENTIFIER"){let E=Z[Q][1],I=Z[Q].data?.type;w.push(I?`...${E}: ${v(I)}`:`...${E}: any[]`),Q++}continue}if(q[0]==="{"){let E="{";Q++;let I=1;while(Q<Z.length&&I>0){if(Z[Q][0]==="{")I++;if(Z[Q][0]==="}")I--;if(I>0)E+=Z[Q][1]+(Z[Q+1]?.[0]==="}"?"":", ");Q++}E+="}";let D=Z[Q-1]?.data?.type;w.push(D?`${E}: ${v(D)}`:E);continue}if(q[0]==="IDENTIFIER"){let E=q[1],I=q.data?.type,D=!1;if(Z[Q+1]?.[0]==="=")D=!0;if(I)w.push(`${E}${D?"?":""}: ${v(I)}`);else w.push(E);if(Q++,D){Q++;let G=0;while(Q<Z.length){let P=Z[Q];if(P[0]==="("||P[0]==="["||P[0]==="{")G++;if(P[0]===")"||P[0]==="]"||P[0]==="}")G--;if(G===0&&(P[1]===","||P[0]==="CALL_END"))break;Q++}}continue}Q++}return{params:w,endIdx:Q}};for(let Z=0;Z<$.length;Z++){let K=$[Z],w=K[0],Q=!1;if(w==="EXPORT"){if(Q=!0,Z++,Z>=$.length)break;if(K=$[Z],w=K[0],w==="DEFAULT"){if(Z++,Z>=$.length)break;if(K=$[Z],w=K[0],w==="IDENTIFIER")F.push(`${f()}export default ${K[1]};`);continue}}if(w==="IMPORT"){let M=[],H=Z+1;while(H<$.length&&$[H][0]!=="TERMINATOR")M.push($[H]),H++;let O="import "+M.map((q)=>q[1]).join(" ");O=O.replace(/\s+/g," ").replace(/\s*,\s*/g,", ").replace(/\{\s*/g,"{ ").replace(/\s*\}/g," }").trim(),F.push(`${f()}${O};`),Z=H;continue}if(w==="TYPE_DECL"){let M=K.data;if(!M)continue;let H=Q||M.exported?"export ":"",O=M.typeParams||"";if(M.kind==="interface"){let q=M.extends?` extends ${M.extends}`:"";J(`${H}interface ${M.name}${O}${q} `,M.typeText||"{}","")}else{let q=v(M.typeText||"");J(`${H}type ${M.name}${O} = `,q,";")}continue}if(w==="ENUM"){let M=Q?"export ":"",H=$[Z+1];if(!H)continue;let O=H[1],q=Z+2;if($[q]?.[0]==="INDENT"){F.push(`${f()}${M}enum ${O} {`),U++,q++;let E=[];while(q<$.length&&$[q][0]!=="OUTDENT"){if($[q][0]==="TERMINATOR"){q++;continue}if($[q][0]==="IDENTIFIER"){let I=$[q][1];if(q++,$[q]?.[1]==="="){q++;let D=$[q]?.[1];E.push(`${I} = ${D}`),q++}else E.push(I)}else q++}for(let I=0;I<E.length;I++){let D=I<E.length-1?",":"";F.push(`${f()}${E[I]}${D}`)}U--,F.push(`${f()}}`)}continue}if(w==="CLASS"){let M=Q?"export ":"",H=$[Z+1];if(!H)continue;let O=H[1],q="",E=Z+2;if($[E]?.[0]==="EXTENDS")q=` extends ${$[E+1]?.[1]||""}`,E+=2;if($[E]?.[0]==="INDENT"){let I=!1,D=E+1;while(D<$.length&&$[D][0]!=="OUTDENT"){if($[D].data?.type||$[D].data?.returnType){I=!0;break}D++}if(I)F.push(`${f()}${M}declare class ${O}${q} {`),Y=!0,U++}continue}if(w==="DEF"){let M=$[Z+1];if(!M)continue;let H=M[1],O=M.data?.returnType,q=M.data?.typeParams||"",{params:E,endIdx:I}=R($,Z+2);if(O||E.some((D)=>D.includes(":"))){let D=Q?"export ":"",G=Y?"":Q?"":"declare ",P=O?`: ${v(O)}`:"",B=E.join(", ");if(Y)F.push(`${f()}${H}${q}(${B})${P};`);else F.push(`${f()}${D}${G}function ${H}${q}(${B})${P};`)}continue}if(w==="{"&&Y){let M=Z+1,H=1;while(M<$.length&&H>0){let O=$[M];if(O[0]==="{"){H++,M++;continue}if(O[0]==="}"){H--,M++;continue}if(O[0]==="TERMINATOR"){M++;continue}if(O[0]==="PROPERTY"&&H===1){let q=O[1],E=O.data?.returnType;if(M++,$[M]?.[1]===":")M++;let I=[];if($[M]?.[0]==="PARAM_START"){let D=R($,M);I=D.params,M=D.endIdx+1}if($[M]?.[0]==="->"||$[M]?.[0]==="=>")M++;if($[M]?.[0]==="INDENT"){let D=1;M++;while(M<$.length&&D>0){if($[M][0]==="INDENT")D++;if($[M][0]==="OUTDENT")D--;M++}}if(E||I.some((D)=>D.includes(":"))){let D=E?`: ${v(E)}`:"",G=I.join(", ");F.push(`${f()}${q}(${G})${D};`)}continue}M++}Z=M-1;continue}if(w==="INDENT")continue;if(w==="OUTDENT"){if(Y)U--,F.push(`${f()}}`),Y=!1;continue}if(w==="IDENTIFIER"&&!Y&&$[Z+1]?.[0]==="="&&($[Z+2]?.[0]==="PARAM_START"||$[Z+2]?.[0]==="(")){let M=K[1],H=Z+2,{params:O}=R($,H),q=H,E=0;while(q<$.length){if($[q][0]==="PARAM_START"||$[q][0]==="(")E++;if($[q][0]==="PARAM_END"||$[q][0]===")")E--;if(E===0&&($[q][0]==="->"||$[q][0]==="=>"))break;q++}let I=$[q]?.data?.returnType;if(I||O.some((D)=>D.includes(":"))){let D=Q?"export ":"",G=Q?"":"declare ",P=I?`: ${v(I)}`:"",B=O.join(", ");F.push(`${f()}${D}${G}function ${M}(${B})${P};`);continue}}if(w==="IDENTIFIER"&&K.data?.type){let M=K[1],H=v(K.data.type),O=$[Z+1];if(O){let q=Q?"export ":"",E=Q?"":"declare ";if(O[0]==="READONLY_ASSIGN")F.push(`${f()}${q}${E}const ${M}: ${H};`);else if(O[0]==="REACTIVE_ASSIGN")_=!0,F.push(`${f()}${q}${E}const ${M}: Signal<${H}>;`);else if(O[0]==="COMPUTED_ASSIGN")A=!0,F.push(`${f()}${q}${E}const ${M}: Computed<${H}>;`);else if(O[0]==="EFFECT")F.push(`${f()}${q}${E}const ${M}: () => void;`);else if(O[0]==="="){let I=Z+2;if($[I]?.[0]==="PARAM_START"){let G=1,P=I+1;while(P<$.length&&G>0){if($[P][0]==="PARAM_START")G++;if($[P][0]==="PARAM_END")G--;P++}I=P}let D=$[I];if(D&&(D[0]==="->"||D[0]==="=>")&&D.data?.returnType){let G=v(D.data.returnType),{params:P}=R($,Z+2),B=P.join(", ");F.push(`${f()}${q}${E}function ${M}(${B}): ${G};`)}else if(Y)F.push(`${f()}${M}: ${H};`);else F.push(`${f()}${q}let ${M}: ${H};`)}else if(Y)F.push(`${f()}${M}: ${H};`)}else if(Y)F.push(`${f()}${M}: ${H};`)}}let X=new Set;if(W){if(j1(W,F,f,U,X),X.size>0)for(let Z=F.length-1;Z>=0;Z--){let K=F[Z].match(/(?:declare |export )*(?:const|let) (\w+)/);if(K&&X.has(K[1]))F.splice(Z,1)}}if(F.length===0)return null;let z=[];if(_)z.push("interface Signal<T> { value: T; read(): T; lock(): Signal<T>; free(): Signal<T>; kill(): T; }");if(A)z.push("interface Computed<T> { readonly value: T; read(): T; lock(): Computed<T>; free(): Computed<T>; kill(): T; }");if(z.length>0)z.push("");return z.concat(F).join(`
1
+ (()=>{var{defineProperty:h1,getOwnPropertyNames:i2,getOwnPropertyDescriptor:n2}=Object,p2=Object.prototype.hasOwnProperty;var s1=new WeakMap,d2=($)=>{var W=s1.get($),F;if(W)return W;if(W=h1({},"__esModule",{value:!0}),$&&typeof $==="object"||typeof $==="function")i2($).map((U)=>!p2.call(W,U)&&h1(W,U,{get:()=>$[U],enumerable:!(F=n2($,U))||F.enumerable}));return s1.set($,W),W};var t1=($,W)=>{for(var F in W)h1($,F,{get:W[F],enumerable:!0,configurable:!0,set:(U)=>W[F]=()=>U})};var n3={};t1(n3,{rip:()=>q2,processRipScripts:()=>H2,parser:()=>s,importRip:()=>t,getStdlibCode:()=>Z1,getReactiveRuntime:()=>R1,getComponentRuntime:()=>w1,formatSExpr:()=>x,compileToJS:()=>d,compile:()=>P1,VERSION:()=>M2,Lexer:()=>p,Compiler:()=>A1,CodeGenerator:()=>y,BUILD_DATE:()=>D2});function f2($){let W=$.prototype;W.rewriteTypes=function(){let F=this.tokens,U=(u,f,Y)=>{let _=[u,f];if(_.pre=0,_.data=null,_.loc=Y?.loc??{r:0,c:0,n:0},_.spaced=!1,_.newLine=!1,_.generated=!0,Y)_.origin=Y;return _};this.scanTokens((u,f,Y)=>{let _=u[0];if(_==="IDENTIFIER"){let A=Y[f+1];if(A&&A[0]==="COMPARE"&&A[1]==="<"&&!A.spaced){let J=Y[f-1]?.[0]==="DEF",w=r2(Y,f+1);if(w){let z=!J&&Y[f+1+w.length]?.[0]==="TYPE_ALIAS";if(J||z){if(!u.data)u.data={};if(u.data.typeParams=W1(w),Y.splice(f+1,w.length),J&&Y[f+1]?.[0]==="("){Y[f+1][0]="CALL_START";let X=1,Z=f+2;while(Z<Y.length&&X>0){if(Y[Z][0]==="("||Y[Z][0]==="CALL_START")X++;if(Y[Z][0]===")"||Y[Z][0]==="CALL_END")X--;if(X===0)Y[Z][0]="CALL_END";Z++}}}}}}if(_==="TYPE_ANNOTATION"){let A=Y[f-1];if(!A)return 1;let J=e1(Y,f+1),w=W1(J),z=A,X="type";if(A[0]==="CALL_END"||A[0]===")"){let K=1,R=f-2;while(R>=0&&K>0){let Q=Y[R][0];if(Q==="CALL_END"||Q===")")K++;if(Q==="CALL_START"||Q==="(")K--;R--}if(R>=0)z=Y[R];X="returnType"}else if(A[0]==="PARAM_END"){let K=f+1+J.length,R=Y[K];if(R&&(R[0]==="->"||R[0]==="=>"))z=R;X="returnType"}else if(A[0]==="IDENTIFIER"&&f>=2&&Y[f-2]?.[0]==="DEF")X="returnType";if(!z.data)z.data={};z.data[X]=w;let Z=1+J.length;return Y.splice(f,Z),0}if(_==="TYPE_ALIAS"){let A=Y[f-1];if(!A)return 1;let J=A[1],w=f>=2&&Y[f-2]?.[0]==="EXPORT",z=w?f-2:f-1,X=Y[f+1],Z=(R)=>{let Q=U("TYPE_DECL",J,A);if(Q.data={name:J,typeText:R,exported:w},A.data?.typeParams)Q.data.typeParams=A.data.typeParams;return Q};if(X&&X[0]==="IDENTIFIER"&&X[1]==="type"&&Y[f+2]?.[0]==="INDENT"){let R=V1(Y,f+2);return Y.splice(z,R-z+1,Z(u2(Y,f+2))),0}if(X&&(X[0]==="TERMINATOR"||X[0]==="INDENT")){let R=o2(Y,f+1);if(R)return Y.splice(z,R.endIdx-z+1,Z(R.typeText)),0}let K=e1(Y,f+1);return Y.splice(z,f+1+K.length-z,Z(W1(K))),0}if(_==="INTERFACE"){let A=f>=1&&Y[f-1]?.[0]==="EXPORT",J=f+1,w=Y[J];if(!w)return 1;let z=w[1],X=null,Z=J+1;if(Y[Z]?.[0]==="EXTENDS")X=Y[Z+1]?.[1],Z=Z+2;if(Y[Z]?.[0]==="INDENT"){let K=u2(Y,Z),R=V1(Y,Z),Q=U("TYPE_DECL",z,w);Q.data={name:z,kind:"interface",extends:X,typeText:K,exported:A};let M=A?f-1:f,H=R-M+1;return Y.splice(M,H,Q),0}return 1}return 1})}}function e1($,W){let F=[],U=0;while(W<$.length){let u=$[W],f=u[0],Y=f==="("||f==="["||f==="CALL_START"||f==="PARAM_START"||f==="INDEX_START"||f==="COMPARE"&&u[1]==="<",_=f===")"||f==="]"||f==="CALL_END"||f==="PARAM_END"||f==="INDEX_END"||f==="COMPARE"&&u[1]===">";if(f==="SHIFT"&&u[1]===">>"&&U>=2){U-=2,F.push(u),W++;continue}if(Y){U++,F.push(u),W++;continue}if(_){if(U>0){U--,F.push(u),W++;continue}break}if(U===0){if(f==="="||f==="REACTIVE_ASSIGN"||f==="COMPUTED_ASSIGN"||f==="READONLY_ASSIGN"||f==="EFFECT"||f==="TERMINATOR"||f==="INDENT"||f==="OUTDENT"||f==="->"||f===",")break}F.push(u),W++}return F}function W1($){if($.length===0)return"";if($[0]?.[0]==="=>")$.unshift(["","()"]);let W=$.map((F)=>F[1]).join(" ").replace(/\s+/g," ").trim();return W=W.replace(/\s*<\s*/g,"<").replace(/\s*>\s*/g,">").replace(/\s*\[\s*/g,"[").replace(/\s*\]\s*/g,"]").replace(/\s*\(\s*/g,"(").replace(/\s*\)\s*/g,")").replace(/\s*,\s*/g,", ").replace(/\s*=>\s*/g," => ").replace(/ :: /g,": ").replace(/:: /g,": "),W}function r2($,W){if(W>=$.length)return null;let F=$[W];if(F[0]!=="COMPARE"||F[1]!=="<")return null;let U=[F],u=1,f=W+1;while(f<$.length&&u>0){let Y=$[f];if(U.push(Y),Y[0]==="COMPARE"&&Y[1]==="<")u++;else if(Y[0]==="COMPARE"&&Y[1]===">")u--;f++}return u===0?U:null}function u2($,W){let F=[],U=W+1,u=1;while(U<$.length&&u>0){let f=$[U];if(f[0]==="INDENT"){u++,U++;continue}if(f[0]==="OUTDENT"){if(u--,u===0)break;U++;continue}if(f[0]==="TERMINATOR"){U++;continue}if(u===1&&(f[0]==="PROPERTY"||f[0]==="IDENTIFIER")){let Y=f[1],_=!1,A=!1;if(U++,Y==="readonly"&&($[U]?.[0]==="PROPERTY"||$[U]?.[0]==="IDENTIFIER")){if(A=!0,Y=$[U][1],$[U].data?.predicate)_=!0;U++}if(f.data?.predicate)_=!0;if($[U]?.[1]==="?"&&!$[U]?.spaced)_=!0,U++;if($[U]?.[1]===":"||$[U]?.[0]==="TYPE_ANNOTATION")U++;let J=[],w=0;while(U<$.length){let K=$[U];if(K[0]==="INDENT"){w++,U++;continue}if(K[0]==="OUTDENT"){if(w>0){w--,U++;continue}break}if(K[0]==="TERMINATOR"&&w===0)break;J.push(K),U++}let z=W1(J),X=A?"readonly ":"",Z=_?"?":"";F.push(`${X}${Y}${Z}: ${z}`)}else U++}return"{ "+F.join("; ")+" }"}function V1($,W){let F=0;for(let U=W;U<$.length;U++){if($[U][0]==="INDENT")F++;if($[U][0]==="OUTDENT"){if(F--,F===0)return U}}return $.length-1}function o2($,W){let F=W;if($[F]?.[0]==="TERMINATOR")F++;if($[F]?.[0]!=="INDENT")return null;let U=F;F++;while(F<$.length&&$[F][0]==="TERMINATOR")F++;if(!$[F]||$[F][1]!=="|")return null;let u=[],f=1;F=U+1;while(F<$.length&&f>0){let _=$[F];if(_[0]==="INDENT"){f++,F++;continue}if(_[0]==="OUTDENT"){if(f--,f===0)break;F++;continue}if(_[0]==="TERMINATOR"){F++;continue}if(_[1]==="|"&&f===1){F++;let A=[];while(F<$.length){let J=$[F];if(J[0]==="TERMINATOR"||J[0]==="OUTDENT"||J[1]==="|"&&f===1)break;A.push(J),F++}if(A.length>0)u.push(W1(A));continue}F++}if(u.length===0)return null;let Y=V1($,U);return{typeText:u.join(" | "),endIdx:Y}}function C1($,W=null){let F=[],U=0,u=" ",f=()=>u.repeat(U),Y=!1,_=!1,A=!1,J=(Z,K,R)=>{if(K.startsWith("{ ")&&K.endsWith(" }")){let Q=K.slice(2,-2).split("; ").filter((M)=>M.trim());if(Q.length>0){F.push(`${f()}${Z}{`),U++;for(let M of Q)F.push(`${f()}${M};`);U--,F.push(`${f()}}${R}`);return}}F.push(`${f()}${Z}${K}${R}`)},w=(Z,K)=>{let R=[],Q=K,M=Z[Q]?.[0];if(M!=="CALL_START"&&M!=="PARAM_START")return{params:R,endIdx:Q};let H=M==="CALL_START"?"CALL_END":"PARAM_END";Q++;let O=0;while(Q<Z.length&&!(Z[Q][0]===H&&O===0)){let q=Z[Q];if(q[1]===","&&O===0){Q++;continue}if(q[0]==="{"||q[0]==="["||q[0]==="CALL_START"||q[0]==="PARAM_START"||q[0]==="INDEX_START")O++;if(q[0]==="}"||q[0]==="]"||q[0]==="CALL_END"||q[0]==="PARAM_END"||q[0]==="INDEX_END"){O--,Q++;continue}if(q[0]==="@"){if(Q++,Z[Q]?.[0]==="PROPERTY"||Z[Q]?.[0]==="IDENTIFIER"){let E=Z[Q][1],I=Z[Q].data?.type;R.push(I?`${E}: ${g(I)}`:E),Q++}continue}if(q[0]==="SPREAD"||q[1]==="..."){if(Q++,Z[Q]?.[0]==="IDENTIFIER"){let E=Z[Q][1],I=Z[Q].data?.type;R.push(I?`...${E}: ${g(I)}`:`...${E}: any[]`),Q++}continue}if(q[0]==="{"){let E="{";Q++;let I=1;while(Q<Z.length&&I>0){if(Z[Q][0]==="{")I++;if(Z[Q][0]==="}")I--;if(I>0)E+=Z[Q][1]+(Z[Q+1]?.[0]==="}"?"":", ");Q++}E+="}";let D=Z[Q-1]?.data?.type;R.push(D?`${E}: ${g(D)}`:E);continue}if(q[0]==="IDENTIFIER"){let E=q[1],I=q.data?.type,D=!1;if(Z[Q+1]?.[0]==="=")D=!0;if(I)R.push(`${E}${D?"?":""}: ${g(I)}`);else R.push(E);if(Q++,D){Q++;let G=0;while(Q<Z.length){let P=Z[Q];if(P[0]==="("||P[0]==="["||P[0]==="{")G++;if(P[0]===")"||P[0]==="]"||P[0]==="}")G--;if(G===0&&(P[1]===","||P[0]==="CALL_END"))break;Q++}}continue}Q++}return{params:R,endIdx:Q}};for(let Z=0;Z<$.length;Z++){let K=$[Z],R=K[0],Q=!1;if(R==="EXPORT"){if(Q=!0,Z++,Z>=$.length)break;if(K=$[Z],R=K[0],R==="DEFAULT"){if(Z++,Z>=$.length)break;if(K=$[Z],R=K[0],R==="IDENTIFIER")F.push(`${f()}export default ${K[1]};`);continue}}if(R==="IMPORT"){let M=[],H=Z+1;while(H<$.length&&$[H][0]!=="TERMINATOR")M.push($[H]),H++;let O="import "+M.map((q)=>q[1]).join(" ");O=O.replace(/\s+/g," ").replace(/\s*,\s*/g,", ").replace(/\{\s*/g,"{ ").replace(/\s*\}/g," }").trim(),F.push(`${f()}${O};`),Z=H;continue}if(R==="TYPE_DECL"){let M=K.data;if(!M)continue;let H=Q||M.exported?"export ":"",O=M.typeParams||"";if(M.kind==="interface"){let q=M.extends?` extends ${M.extends}`:"";J(`${H}interface ${M.name}${O}${q} `,M.typeText||"{}","")}else{let q=g(M.typeText||"");J(`${H}type ${M.name}${O} = `,q,";")}continue}if(R==="ENUM"){let M=Q?"export ":"",H=$[Z+1];if(!H)continue;let O=H[1],q=Z+2;if($[q]?.[0]==="INDENT"){F.push(`${f()}${M}enum ${O} {`),U++,q++;let E=[];while(q<$.length&&$[q][0]!=="OUTDENT"){if($[q][0]==="TERMINATOR"){q++;continue}if($[q][0]==="IDENTIFIER"){let I=$[q][1];if(q++,$[q]?.[1]==="="){q++;let D=$[q]?.[1];E.push(`${I} = ${D}`),q++}else E.push(I)}else q++}for(let I=0;I<E.length;I++){let D=I<E.length-1?",":"";F.push(`${f()}${E[I]}${D}`)}U--,F.push(`${f()}}`)}continue}if(R==="CLASS"){let M=Q?"export ":"",H=$[Z+1];if(!H)continue;let O=H[1],q="",E=Z+2;if($[E]?.[0]==="EXTENDS")q=` extends ${$[E+1]?.[1]||""}`,E+=2;if($[E]?.[0]==="INDENT"){let I=!1,D=E+1;while(D<$.length&&$[D][0]!=="OUTDENT"){if($[D].data?.type||$[D].data?.returnType){I=!0;break}D++}if(I)F.push(`${f()}${M}declare class ${O}${q} {`),Y=!0,U++}continue}if(R==="DEF"){let M=$[Z+1];if(!M)continue;let H=M[1],O=M.data?.returnType,q=M.data?.typeParams||"",{params:E,endIdx:I}=w($,Z+2);if(O||E.some((D)=>D.includes(":"))){let D=Q?"export ":"",G=Y?"":Q?"":"declare ",P=O?`: ${g(O)}`:"",B=E.join(", ");if(Y)F.push(`${f()}${H}${q}(${B})${P};`);else F.push(`${f()}${D}${G}function ${H}${q}(${B})${P};`)}continue}if(R==="{"&&Y){let M=Z+1,H=1;while(M<$.length&&H>0){let O=$[M];if(O[0]==="{"){H++,M++;continue}if(O[0]==="}"){H--,M++;continue}if(O[0]==="TERMINATOR"){M++;continue}if(O[0]==="PROPERTY"&&H===1){let q=O[1],E=O.data?.returnType;if(M++,$[M]?.[1]===":")M++;let I=[];if($[M]?.[0]==="PARAM_START"){let D=w($,M);I=D.params,M=D.endIdx+1}if($[M]?.[0]==="->"||$[M]?.[0]==="=>")M++;if($[M]?.[0]==="INDENT"){let D=1;M++;while(M<$.length&&D>0){if($[M][0]==="INDENT")D++;if($[M][0]==="OUTDENT")D--;M++}}if(E||I.some((D)=>D.includes(":"))){let D=E?`: ${g(E)}`:"",G=I.join(", ");F.push(`${f()}${q}(${G})${D};`)}continue}M++}Z=M-1;continue}if(R==="INDENT")continue;if(R==="OUTDENT"){if(Y)U--,F.push(`${f()}}`),Y=!1;continue}if(R==="IDENTIFIER"&&!Y&&$[Z+1]?.[0]==="="&&($[Z+2]?.[0]==="PARAM_START"||$[Z+2]?.[0]==="(")){let M=K[1],H=Z+2,{params:O}=w($,H),q=H,E=0;while(q<$.length){if($[q][0]==="PARAM_START"||$[q][0]==="(")E++;if($[q][0]==="PARAM_END"||$[q][0]===")")E--;if(E===0&&($[q][0]==="->"||$[q][0]==="=>"))break;q++}let I=$[q]?.data?.returnType;if(I||O.some((D)=>D.includes(":"))){let D=Q?"export ":"",G=Q?"":"declare ",P=I?`: ${g(I)}`:"",B=O.join(", ");F.push(`${f()}${D}${G}function ${M}(${B})${P};`);continue}}if(R==="IDENTIFIER"&&K.data?.type){let M=K[1],H=g(K.data.type),O=$[Z+1];if(O){let q=Q?"export ":"",E=Q?"":"declare ";if(O[0]==="READONLY_ASSIGN")F.push(`${f()}${q}${E}const ${M}: ${H};`);else if(O[0]==="REACTIVE_ASSIGN")_=!0,F.push(`${f()}${q}${E}const ${M}: Signal<${H}>;`);else if(O[0]==="COMPUTED_ASSIGN")A=!0,F.push(`${f()}${q}${E}const ${M}: Computed<${H}>;`);else if(O[0]==="EFFECT")F.push(`${f()}${q}${E}const ${M}: () => void;`);else if(O[0]==="="){let I=Z+2;if($[I]?.[0]==="PARAM_START"){let G=1,P=I+1;while(P<$.length&&G>0){if($[P][0]==="PARAM_START")G++;if($[P][0]==="PARAM_END")G--;P++}I=P}let D=$[I];if(D&&(D[0]==="->"||D[0]==="=>")&&D.data?.returnType){let G=g(D.data.returnType),{params:P}=w($,Z+2),B=P.join(", ");F.push(`${f()}${q}${E}function ${M}(${B}): ${G};`)}else if(Y)F.push(`${f()}${M}: ${H};`);else F.push(`${f()}${q}let ${M}: ${H};`)}else if(Y)F.push(`${f()}${M}: ${H};`)}else if(Y)F.push(`${f()}${M}: ${H};`)}}let z=new Set;if(W){if(j1(W,F,f,U,z),z.size>0)for(let Z=F.length-1;Z>=0;Z--){let K=F[Z].match(/(?:declare |export )*(?:const|let) (\w+)/);if(K&&z.has(K[1]))F.splice(Z,1)}}if(F.length===0)return null;let X=[];if(_)X.push("interface Signal<T> { value: T; read(): T; lock(): Signal<T>; free(): Signal<T>; kill(): T; }");if(A)X.push("interface Computed<T> { readonly value: T; read(): T; lock(): Computed<T>; free(): Computed<T>; kill(): T; }");if(X.length>0)X.push("");return X.concat(F).join(`
2
2
  `)+`
3
- `}function v($){if(!$)return $;return $=$.replace(/::/g,":"),$=$.replace(/(\w+(?:<[^>]+>)?)\?\?/g,"$1 | null | undefined"),$=$.replace(/(\w+(?:<[^>]+>)?)\?(?![.:])/g,"$1 | undefined"),$=$.replace(/(\w+(?:<[^>]+>)?)\!/g,"NonNullable<$1>"),$}function j1($,W,F,U,u){if(!Array.isArray($))return;let f=$[0]?.valueOf?.()??$[0],Y=!1,_=null,A=null;if(f==="export"&&Array.isArray($[1])){Y=!0;let J=$[1];if((J[0]?.valueOf?.()??J[0])==="="&&Array.isArray(J[2])&&(J[2][0]?.valueOf?.()??J[2][0])==="component")_=J[1]?.valueOf?.()??J[1],A=J[2]}else if(f==="="&&Array.isArray($[2])&&($[2][0]?.valueOf?.()??$[2][0])==="component")_=$[1]?.valueOf?.()??$[1],A=$[2];if(_&&A){let J=Y?"export ":"",R=A[2],X=Array.isArray(R)&&(R[0]?.valueOf?.()??R[0])==="block"?R.slice(1):R?[R]:[],z=[],Z=!1;for(let K of X){if(!Array.isArray(K))continue;let w=K[0]?.valueOf?.()??K[0],Q,M,H,O,q;if(w==="state"||w==="readonly"||w==="computed"){if(Q=K[1],H=Array.isArray(Q)&&(Q[0]?.valueOf?.()??Q[0])==="."&&(Q[1]?.valueOf?.()??Q[1])==="this",M=H?Q[2]?.valueOf?.()??Q[2]:Q?.valueOf?.()??Q,O=H?Q[2]?.type:Q?.type,q=!0,!H)u.add(M)}else if(w==="."){if(H=(K[1]?.valueOf?.()??K[1])==="this",M=H?K[2]?.valueOf?.()??K[2]:null,O=H?K[2]?.type:null,q=!1,!H&&M)u.add(M)}else continue;if(!H||!M)continue;let E=O?v(O):"any",I=q?"?":"";if(!q)Z=!0;z.push(` ${M}${I}: ${E};`)}if(W.push(`${J}declare class ${_} {`),z.length>0){let K=Z?"":"?";W.push(` constructor(props${K}: {`);for(let w of z)W.push(w);W.push(" });")}W.push("}")}if(f==="program"||f==="block"){for(let J=1;J<$.length;J++)if(Array.isArray($[J]))j1($[J],W,F,U,u)}if(f==="export"&&Array.isArray($[1])&&!A)j1($[1],W,F,U,u)}function $2($,W,F){let[U,u]=W,f=U?.valueOf?.()??U,Y=[];if(Array.isArray(u)){let J=u[0]==="block"?u.slice(1):[u];for(let R of J)if(Array.isArray(R)){if(R[0]?.valueOf?.()==="="){let X=R[1]?.valueOf?.()??R[1],z=R[2]?.valueOf?.()??R[2];Y.push([X,z])}}}if(Y.length===0)return`const ${f} = {}`;let _=Y.map(([J,R])=>`${J}: ${R}`).join(", "),A=Y.map(([J,R])=>`${R}: "${J}"`).join(", ");return`const ${f} = {${_}, ${A}}`}var U2=new Set(["true","false","null","this","new","delete","typeof","in","instanceof","return","throw","break","continue","debugger","yield","await","if","else","switch","for","while","do","try","catch","finally","class","extends","super","import","export","default"]),W2=new Set(["undefined","Infinity","NaN","then","unless","until","loop","of","by","when","def","component","render","enum","interface"]),b1={and:"&&",or:"||",is:"==",isnt:"!=",not:"!",yes:"true",no:"false",on:"true",off:"false"},F2=new Set(Object.keys(b1)),a2=new Set(["case","function","var","void","with","const","let","native","implements","package","private","protected","public","static"]),s2=new Set(["break","continue","debugger"]),t2=new Set(["NEW","TYPEOF","DELETE"]),e2=new Set(["IN","OF","INSTANCEOF"]),H1=new Set(["IDENTIFIER","PROPERTY",")","]","@","THIS","SUPER","DYNAMIC_IMPORT","?."]),X2=new Set([...H1,"NUMBER","INFINITY","NAN","STRING","STRING_END","REGEX","REGEX_END","BOOL","NULL","UNDEFINED","}"]),D1=new Set(["IDENTIFIER","PROPERTY","NUMBER","INFINITY","NAN","STRING","STRING_START","REGEX","REGEX_START","JS","NEW","PARAM_START","CLASS","IF","TRY","SWITCH","THIS","DYNAMIC_IMPORT","IMPORT_META","NEW_TARGET","UNDEFINED","NULL","BOOL","UNARY","DO","DO_IIFE","YIELD","AWAIT","UNARY_MATH","SUPER","THROW","@","->","=>","[","(","{","--","++"]),u3=new Set(["+","-"]),f3=new Set(["POST_IF","POST_UNLESS","FOR","WHILE","UNTIL","WHEN","BY","LOOP","TERMINATOR","||","&&","PIPE"]),$3=new Set(["STRING","STRING_END","REGEX","REGEX_END","NUMBER","BOOL","NULL","UNDEFINED","INFINITY","NAN","]","}"]),a=new Set(["(","[","{","INDENT","CALL_START","PARAM_START","INDEX_START","STRING_START","INTERPOLATION_START","REGEX_START"]),n=new Set([")","]","}","OUTDENT","CALL_END","PARAM_END","INDEX_END","STRING_END","INTERPOLATION_END","REGEX_END"]),U3={"(":")",")":"(","[":"]","]":"[","{":"}","}":"{",INDENT:"OUTDENT",OUTDENT:"INDENT",CALL_START:"CALL_END",CALL_END:"CALL_START",PARAM_START:"PARAM_END",PARAM_END:"PARAM_START",INDEX_START:"INDEX_END",INDEX_END:"INDEX_START",STRING_START:"STRING_END",STRING_END:"STRING_START",INTERPOLATION_START:"INTERPOLATION_END",INTERPOLATION_END:"INTERPOLATION_START",REGEX_START:"REGEX_END",REGEX_END:"REGEX_START"},Y2=new Set(["CATCH","THEN","ELSE","FINALLY",...n]),y1=new Set(["IDENTIFIER","PROPERTY","SUPER",")","CALL_END","]","INDEX_END","@","THIS"]),W3=new Set(["IF","TRY","FINALLY","CATCH","CLASS","SWITCH","COMPONENT"]),_2=new Set(["ELSE","->","=>","TRY","FINALLY","THEN"]),F3=new Set(["TERMINATOR","CATCH","FINALLY","ELSE","OUTDENT","LEADING_WHEN"]),F1=new Set(["INDENT","OUTDENT","TERMINATOR"]),A2=new Set([".","?."]),Z2=new Set(["\\",".","?.","UNARY","DO","DO_IIFE","MATH","UNARY_MATH","+","-","**","SHIFT","RELATION","COMPARE","&","^","|","&&","||","TERNARY","EXTENDS"]),Y3=new Set([...X2,"++","--"]),R2=new Set(["-=","+=","/=","*=","%=","||=","&&=","?=","??=","<<=",">>=",">>>=","&=","^=","|=","**=","//=","%%="]),_3=new Set(["*","/","%","//","%%"]),A3=new Set(["==","!=","===","!==","<",">","<=",">=","=~"]),Z3=new Set(["<<",">>",">>>"]),R3=new Set(["!","~"]),w3=/^(?!\d)((?:(?!\s)[$\w\x7f-\uffff])+(?:!(?!\?)|[?](?![.?![(]))?)([^\n\S]*:(?![=:]))?/,J3=/^0b[01](?:_?[01])*n?|^0o[0-7](?:_?[0-7])*n?|^0x[\da-f](?:_?[\da-f])*n?|^\d+(?:_\d+)*n|^(?:\d+(?:_\d+)*)?\.?\d+(?:_\d+)*(?:e[+-]?\d+(?:_\d+)*)?/i,Q3=/^(?:<=>|::=|::|[-=]>|~>|~=|:=|=!|===|!==|!\?|\?\!|\?\?|=~|\|>|[-+*\/%<>&|^!?=]=|>>>=?|([-+:])\1|([&|<>*\/%])\2=?|\?\.?|\.{2,3})/,X3=/^[^\n\S]+/,z3=/^(?:\n[^\n\S]*)+/,K3=/^(\s*)###([^#][\s\S]*?)(?:###([^\n\S]*)|###$)|^((?:\s*#(?!##[^#]).*)+)/,M3=/^[-=]>/,D3=/^(?:~[=>]|=!)/,H3=/^(?:'''\\|"""\\|'''|"""|'|")/,q3=/^(?:[^\\']|\\[\s\S])*/,O3=/^(?:[^\\"#$]|\\[\s\S]|\#(?!\{)|\$(?!\{))*/,G3=/^(?:[^\\']|\\[\s\S]|'(?!''))*/,P3=/^(?:[^\\"#$]|\\[\s\S]|"(?!"")|\#(?!\{)|\$(?!\{))*/,w2=/\n+([^\n\S]*)(?=\S)/g,I3=/^\/(?!\/)((?:[^[\/\n\\]|\\[^\n]|\[(?:\\[^\n]|[^\]\n\\])*\])*)(\/)?/,J2=/^\w*/,E3=/^(?!.*(.).*\1)[gimsuy]*$/,B3=/^(?:[^\\\/#\s]|\\[\s\S]|\/(?!\/\/)|\#(?!\{)|\s+(?:#(?!\{).*)?)*/,N3=/^`(?!``)((?:[^`\\]|\\[\s\S])*)`/,T3=/^```((?:[^`\\]|\\[\s\S]|`(?!``))*)```/,L3=/\s+$/,Q2=/^\s*(?:,|\??\.(?![.\d]))/,S3=65279;function q1($,W,{pre:F=0,row:U=0,col:u=0,len:f=0,data:Y=null}={}){let _=[$,W];return _.pre=F,_.data=Y,_.loc={r:U,c:u,n:f},_.spaced=F>0,_.newLine=!1,_}function i($,W,F){let U=q1($,W);if(U.generated=!0,F)U.origin=F;return U}function l($,{row:W=0,col:F=0,len:U=1}={}){let u=SyntaxError($);throw u.location={first_line:W,first_column:F,last_column:F+U-1},u}function V3($){if($==null)return NaN;switch($.charAt(1)){case"b":return parseInt($.slice(2).replace(/_/g,""),2);case"o":return parseInt($.slice(2).replace(/_/g,""),8);case"x":return parseInt($.slice(2).replace(/_/g,""),16);default:return parseFloat($.replace(/_/g,""))}}class p{tokenize($,W={}){this.code=$,this.tokens=[],this.ends=[],this.chunk="",this.pos=0,this.row=W.row||0,this.col=W.col||0,this.indent=0,this.indents=[],this.seenFor=!1,this.seenImport=!1,this.seenExport=!1,this.importSpecifierList=!1,this.exportSpecifierList=!1,this.inRenderBlock=!1,this.renderIndent=0,$=this.clean($),this.code=$;while(this.pos<$.length){this.chunk=$.slice(this.pos);let F=this.identifierToken()||this.commentToken()||this.whitespaceToken()||this.lineToken()||this.stringToken()||this.numberToken()||this.regexToken()||this.jsToken()||this.literalToken();if(F===0)l(`unexpected character: ${this.chunk.charAt(0)}`,{row:this.row,col:this.col});if(this.advance(F),W.untilBalanced&&this.ends.length===0)return{tokens:this.tokens,index:this.pos}}if(this.closeIndentation(),this.ends.length>0){let F=this.ends[this.ends.length-1];l(`missing ${F.tag}`,{row:this.row,col:this.col})}if(W.rewrite===!1)return this.tokens;return this.rewrite(this.tokens)}clean($){if($.charCodeAt(0)===S3)$=$.slice(1);if($=$.replace(/\r\n?/g,`
3
+ `}function g($){if(!$)return $;return $=$.replace(/::/g,":"),$=$.replace(/(\w+(?:<[^>]+>)?)\?\?/g,"$1 | null | undefined"),$=$.replace(/(\w+(?:<[^>]+>)?)\?(?![.:])/g,"$1 | undefined"),$=$.replace(/(\w+(?:<[^>]+>)?)\!/g,"NonNullable<$1>"),$}function j1($,W,F,U,u){if(!Array.isArray($))return;let f=$[0]?.valueOf?.()??$[0],Y=!1,_=null,A=null;if(f==="export"&&Array.isArray($[1])){Y=!0;let J=$[1];if((J[0]?.valueOf?.()??J[0])==="="&&Array.isArray(J[2])&&(J[2][0]?.valueOf?.()??J[2][0])==="component")_=J[1]?.valueOf?.()??J[1],A=J[2]}else if(f==="="&&Array.isArray($[2])&&($[2][0]?.valueOf?.()??$[2][0])==="component")_=$[1]?.valueOf?.()??$[1],A=$[2];if(_&&A){let J=Y?"export ":"",w=A[2],z=Array.isArray(w)&&(w[0]?.valueOf?.()??w[0])==="block"?w.slice(1):w?[w]:[],X=[],Z=!1;for(let K of z){if(!Array.isArray(K))continue;let R=K[0]?.valueOf?.()??K[0],Q,M,H,O,q;if(R==="state"||R==="readonly"||R==="computed"){if(Q=K[1],H=Array.isArray(Q)&&(Q[0]?.valueOf?.()??Q[0])==="."&&(Q[1]?.valueOf?.()??Q[1])==="this",M=H?Q[2]?.valueOf?.()??Q[2]:Q?.valueOf?.()??Q,O=H?Q[2]?.type:Q?.type,q=!0,!H)u.add(M)}else if(R==="."){if(H=(K[1]?.valueOf?.()??K[1])==="this",M=H?K[2]?.valueOf?.()??K[2]:null,O=H?K[2]?.type:null,q=!1,!H&&M)u.add(M)}else continue;if(!H||!M)continue;let E=O?g(O):"any",I=q?"?":"";if(!q)Z=!0;X.push(` ${M}${I}: ${E};`)}if(W.push(`${J}declare class ${_} {`),X.length>0){let K=Z?"":"?";W.push(` constructor(props${K}: {`);for(let R of X)W.push(R);W.push(" });")}W.push("}")}if(f==="program"||f==="block"){for(let J=1;J<$.length;J++)if(Array.isArray($[J]))j1($[J],W,F,U,u)}if(f==="export"&&Array.isArray($[1])&&!A)j1($[1],W,F,U,u)}function $2($,W,F){let[U,u]=W,f=U?.valueOf?.()??U,Y=[];if(Array.isArray(u)){let J=u[0]==="block"?u.slice(1):[u];for(let w of J)if(Array.isArray(w)){if(w[0]?.valueOf?.()==="="){let z=w[1]?.valueOf?.()??w[1],X=w[2]?.valueOf?.()??w[2];Y.push([z,X])}}}if(Y.length===0)return`const ${f} = {}`;let _=Y.map(([J,w])=>`${J}: ${w}`).join(", "),A=Y.map(([J,w])=>`${w}: "${J}"`).join(", ");return`const ${f} = {${_}, ${A}}`}var U2=new Set(["true","false","null","this","new","delete","typeof","in","instanceof","return","throw","break","continue","debugger","yield","await","if","else","switch","for","while","do","try","catch","finally","class","extends","super","import","export","default"]),W2=new Set(["undefined","Infinity","NaN","then","unless","until","loop","of","by","when","def","component","render","enum","interface"]),b1={and:"&&",or:"||",is:"==",isnt:"!=",not:"!",yes:"true",no:"false",on:"true",off:"false"},F2=new Set(Object.keys(b1)),a2=new Set(["case","function","var","void","with","const","let","native","implements","package","private","protected","public","static"]),s2=new Set(["break","continue","debugger"]),t2=new Set(["NEW","TYPEOF","DELETE"]),e2=new Set(["IN","OF","INSTANCEOF"]),H1=new Set(["IDENTIFIER","PROPERTY",")","]","@","THIS","SUPER","DYNAMIC_IMPORT","?."]),X2=new Set([...H1,"NUMBER","INFINITY","NAN","STRING","STRING_END","REGEX","REGEX_END","BOOL","NULL","UNDEFINED","}"]),D1=new Set(["IDENTIFIER","PROPERTY","NUMBER","INFINITY","NAN","STRING","STRING_START","REGEX","REGEX_START","JS","NEW","PARAM_START","CLASS","IF","TRY","SWITCH","THIS","DYNAMIC_IMPORT","IMPORT_META","NEW_TARGET","UNDEFINED","NULL","BOOL","UNARY","DO","DO_IIFE","YIELD","AWAIT","UNARY_MATH","SUPER","THROW","@","->","=>","[","(","{","--","++"]),u3=new Set(["+","-"]),f3=new Set(["POST_IF","POST_UNLESS","FOR","WHILE","UNTIL","WHEN","BY","LOOP","TERMINATOR","||","&&","PIPE"]),$3=new Set(["STRING","STRING_END","REGEX","REGEX_END","NUMBER","BOOL","NULL","UNDEFINED","INFINITY","NAN","]","}"]),a=new Set(["(","[","{","INDENT","CALL_START","PARAM_START","INDEX_START","STRING_START","INTERPOLATION_START","REGEX_START"]),n=new Set([")","]","}","OUTDENT","CALL_END","PARAM_END","INDEX_END","STRING_END","INTERPOLATION_END","REGEX_END"]),U3={"(":")",")":"(","[":"]","]":"[","{":"}","}":"{",INDENT:"OUTDENT",OUTDENT:"INDENT",CALL_START:"CALL_END",CALL_END:"CALL_START",PARAM_START:"PARAM_END",PARAM_END:"PARAM_START",INDEX_START:"INDEX_END",INDEX_END:"INDEX_START",STRING_START:"STRING_END",STRING_END:"STRING_START",INTERPOLATION_START:"INTERPOLATION_END",INTERPOLATION_END:"INTERPOLATION_START",REGEX_START:"REGEX_END",REGEX_END:"REGEX_START"},Y2=new Set(["CATCH","THEN","ELSE","FINALLY",...n]),y1=new Set(["IDENTIFIER","PROPERTY","SUPER",")","CALL_END","]","INDEX_END","@","THIS"]),W3=new Set(["IF","TRY","FINALLY","CATCH","CLASS","SWITCH","COMPONENT"]),_2=new Set(["ELSE","->","=>","TRY","FINALLY","THEN"]),F3=new Set(["TERMINATOR","CATCH","FINALLY","ELSE","OUTDENT","LEADING_WHEN"]),F1=new Set(["INDENT","OUTDENT","TERMINATOR"]),A2=new Set([".","?."]),Z2=new Set(["\\",".","?.","UNARY","DO","DO_IIFE","MATH","UNARY_MATH","+","-","**","SHIFT","RELATION","COMPARE","&","^","|","&&","||","TERNARY","EXTENDS"]),Y3=new Set([...X2,"++","--"]),R2=new Set(["-=","+=","/=","*=","%=","||=","&&=","?=","??=","<<=",">>=",">>>=","&=","^=","|=","**=","//=","%%="]),_3=new Set(["*","/","%","//","%%"]),A3=new Set(["==","!=","===","!==","<",">","<=",">=","=~"]),Z3=new Set(["<<",">>",">>>"]),R3=new Set(["!","~"]),w3=/^(?!\d)((?:(?!\s)[$\w\x7f-\uffff])+(?:!(?!\?)|[?](?![.?![(]))?)([^\n\S]*:(?![=:]))?/,J3=/^0b[01](?:_?[01])*n?|^0o[0-7](?:_?[0-7])*n?|^0x[\da-f](?:_?[\da-f])*n?|^\d+(?:_\d+)*n|^(?:\d+(?:_\d+)*)?\.?\d+(?:_\d+)*(?:e[+-]?\d+(?:_\d+)*)?/i,Q3=/^(?:<=>|::=|::|[-=]>|~>|~=|:=|=!|===|!==|!\?|\?\!|\?\?|=~|\|>|[-+*\/%<>&|^!?=]=|>>>=?|([-+:])\1|([&|<>*\/%])\2=?|\?\.?|\.{2,3})/,X3=/^[^\n\S]+/,z3=/^(?:\n[^\n\S]*)+/,K3=/^(\s*)###([^#][\s\S]*?)(?:###([^\n\S]*)|###$)|^((?:\s*#(?!##[^#]).*)+)/,M3=/^[-=]>/,D3=/^(?:~[=>]|=!)/,H3=/^(?:'''\\|"""\\|'''|"""|'|")/,q3=/^(?:[^\\']|\\[\s\S])*/,O3=/^(?:[^\\"#$]|\\[\s\S]|\#(?!\{)|\$(?!\{))*/,G3=/^(?:[^\\']|\\[\s\S]|'(?!''))*/,P3=/^(?:[^\\"#$]|\\[\s\S]|"(?!"")|\#(?!\{)|\$(?!\{))*/,w2=/\n+([^\n\S]*)(?=\S)/g,I3=/^\/(?!\/)((?:[^[\/\n\\]|\\[^\n]|\[(?:\\[^\n]|[^\]\n\\])*\])*)(\/)?/,J2=/^\w*/,E3=/^(?!.*(.).*\1)[gimsuy]*$/,B3=/^(?:[^\\\/#\s]|\\[\s\S]|\/(?!\/\/)|\#(?!\{)|\s+(?:#(?!\{).*)?)*/,N3=/^`(?!``)((?:[^`\\]|\\[\s\S])*)`/,T3=/^```((?:[^`\\]|\\[\s\S]|`(?!``))*)```/,L3=/\s+$/,Q2=/^\s*(?:,|\??\.(?![.\d]))/,S3=65279;function q1($,W,{pre:F=0,row:U=0,col:u=0,len:f=0,data:Y=null}={}){let _=[$,W];return _.pre=F,_.data=Y,_.loc={r:U,c:u,n:f},_.spaced=F>0,_.newLine=!1,_}function i($,W,F){let U=q1($,W);if(U.generated=!0,F)U.origin=F;return U}function l($,{row:W=0,col:F=0,len:U=1}={}){let u=SyntaxError($);throw u.location={first_line:W,first_column:F,last_column:F+U-1},u}function h3($){if($==null)return NaN;switch($.charAt(1)){case"b":return parseInt($.slice(2).replace(/_/g,""),2);case"o":return parseInt($.slice(2).replace(/_/g,""),8);case"x":return parseInt($.slice(2).replace(/_/g,""),16);default:return parseFloat($.replace(/_/g,""))}}class p{tokenize($,W={}){this.code=$,this.tokens=[],this.ends=[],this.chunk="",this.pos=0,this.row=W.row||0,this.col=W.col||0,this.indent=0,this.indents=[],this.seenFor=!1,this.seenImport=!1,this.seenExport=!1,this.importSpecifierList=!1,this.exportSpecifierList=!1,this.inRenderBlock=!1,this.renderIndent=0,$=this.clean($),this.code=$;while(this.pos<$.length){this.chunk=$.slice(this.pos);let F=this.identifierToken()||this.commentToken()||this.whitespaceToken()||this.lineToken()||this.stringToken()||this.numberToken()||this.regexToken()||this.jsToken()||this.literalToken();if(F===0)l(`unexpected character: ${this.chunk.charAt(0)}`,{row:this.row,col:this.col});if(this.advance(F),W.untilBalanced&&this.ends.length===0)return{tokens:this.tokens,index:this.pos}}if(this.closeIndentation(),this.ends.length>0){let F=this.ends[this.ends.length-1];l(`missing ${F.tag}`,{row:this.row,col:this.col})}if(W.rewrite===!1)return this.tokens;return this.rewrite(this.tokens)}clean($){if($.charCodeAt(0)===S3)$=$.slice(1);if($=$.replace(/\r\n?/g,`
4
4
  `),$=$.replace(L3,""),/^[^\n\S]/.test($))$=`
5
5
  `+$;return $}advance($){let W=this.code.slice(this.pos,this.pos+$);for(let F=0;F<W.length;F++)if(W[F]===`
6
- `)this.row++,this.col=0;else this.col++;this.pos+=$}emit($,W,{len:F,data:U,pre:u}={}){let f=q1($,W,{pre:u??0,row:this.row,col:this.col,len:F??(typeof W==="string"?W.length:0),data:U});return this.tokens.push(f),f}prev(){return this.tokens[this.tokens.length-1]}prevTag(){let $=this.prev();return $?$[0]:void 0}prevVal(){let $=this.prev();return $?$[1]:void 0}identifierToken(){if(D3.test(this.chunk))return 0;let $=w3.exec(this.chunk);if(!$)return 0;let[,W,F]=$,U=W.length,u={},f;if(W==="own"&&this.prevTag()==="FOR")return this.emit("OWN",W,{len:U}),U;if(W==="from"&&this.prevTag()==="YIELD")return this.emit("FROM",W,{len:U}),U;if(W==="as"&&!this.seenFor&&(this.seenImport||this.seenExport)){if(this.seenImport){if(this.prevVal()==="*")this.prev()[0]="IMPORT_ALL"}let R=this.prevTag();if(R==="DEFAULT"||R==="IMPORT_ALL"||R==="IDENTIFIER")return this.emit("AS",W,{len:U}),U}if((W==="as"||W==="as!")&&this.seenFor)return this.seenFor=!1,this.emit(W==="as!"?"FORASAWAIT":"FORAS","as",{len:U}),U;if(W==="default"&&this.seenExport&&(this.prevTag()==="EXPORT"||this.prevTag()==="AS"))return this.emit("DEFAULT",W,{len:U}),U;let Y;if(W==="do"&&(Y=/^(\s*super)(?!\(\))/.exec(this.chunk.slice(3))))return this.emit("SUPER","super"),this.emit("CALL_START","("),this.emit("CALL_END",")"),Y[1].length+3;let _=this.prev();if(F&&_&&_[0]==="TERNARY")F=null;if(F||_&&(_[0]==="."||_[0]==="?."||!_.spaced&&_[0]==="@")){if(f="PROPERTY",this.inRenderBlock&&_&&_[0]==="."&&!F){let R=this.chunk.slice(U);while(R[0]==="-"&&/^-[a-zA-Z]/.test(R)){let X=/^-([a-zA-Z][\w]*)/.exec(R);if(!X)break;W+="-"+X[1],U+=1+X[1].length,R=this.chunk.slice(U)}}}else f="IDENTIFIER";let A=W.endsWith("!")||W.endsWith("?")?W.slice(0,-1):W;if(f==="IDENTIFIER"&&!W.endsWith("!")&&!W.endsWith("?")&&(U2.has(W)||W2.has(W)||F2.has(W))&&!(this.exportSpecifierList&&F2.has(W))){if(b1[W]!==void 0)u.original=W,W=b1[W];f=this.classifyKeyword(W,f,u)}if(f==="IDENTIFIER"&&a2.has(A))l(`reserved word '${A}'`,{row:this.row,col:this.col,len:U});if(f==="PROPERTY"&&_){if(_[0]==="."&&this.tokens.length>1){let R=this.tokens[this.tokens.length-2];if(R[0]==="UNARY"&&R[1]==="new")R[0]="NEW_TARGET";if(R[0]==="IMPORT"&&R[1]==="import")this.seenImport=!1,R[0]="IMPORT_META"}}if(W.length>1&&W.endsWith("!"))u.await=!0,W=W.slice(0,-1);if(W.length>1&&W.endsWith("?"))u.predicate=!0,W=W.slice(0,-1);let J=this.emit(f,W,{len:U,data:Object.keys(u).length?u:null});if(f==="RENDER")this.inRenderBlock=!0,this.renderIndent=this.indent;if(F)return this.emit(":",":",{len:1}),U+F.length;return U}classifyKeyword($,W,F){switch($){case"!":return"UNARY";case"==":case"!=":return"COMPARE";case"true":case"false":return"BOOL";case"&&":case"||":return $}if(s2.has($))return"STATEMENT";let U=$.toUpperCase();if(U==="WHEN"&&F1.has(this.prevTag()))return"LEADING_WHEN";if(U==="FOR")return this.seenFor={endsLength:this.ends.length},"FOR";if(U==="UNLESS")return"UNLESS";if(U==="IMPORT")return this.seenImport=!0,"IMPORT";if(U==="EXPORT")return this.seenExport=!0,"EXPORT";if(t2.has(U))return"UNARY";if(e2.has(U)){if(U!=="INSTANCEOF"&&this.seenFor)return this.seenFor=!1,"FOR"+U;if(this.prevVal()==="!"){let u=this.tokens.pop();F.invert=u.data?.original||u[1]}return"RELATION"}if(U2.has($)||W2.has($))return U;return W}commentToken(){if(this.inRenderBlock){if(/^#[a-zA-Z_]/.test(this.chunk)){let W=this.prev();if(W&&(W[0]==="IDENTIFIER"||W[0]==="PROPERTY"))return 0;let F=/^#([a-zA-Z_][\w-]*)/.exec(this.chunk);if(F)return this.emit("IDENTIFIER",F[1]==="content"?"slot":"div#"+F[1]),F[0].length}if(/^\s+#[a-zA-Z_]/.test(this.chunk))return 0}let $=K3.exec(this.chunk);if(!$)return 0;return $[0].length}whitespaceToken(){let $=X3.exec(this.chunk);if(!$&&this.chunk[0]!==`
6
+ `)this.row++,this.col=0;else this.col++;this.pos+=$}emit($,W,{len:F,data:U,pre:u}={}){let f=q1($,W,{pre:u??0,row:this.row,col:this.col,len:F??(typeof W==="string"?W.length:0),data:U});return this.tokens.push(f),f}prev(){return this.tokens[this.tokens.length-1]}prevTag(){let $=this.prev();return $?$[0]:void 0}prevVal(){let $=this.prev();return $?$[1]:void 0}identifierToken(){if(D3.test(this.chunk))return 0;let $=w3.exec(this.chunk);if(!$)return 0;let[,W,F]=$,U=W.length,u={},f;if(W==="own"&&this.prevTag()==="FOR")return this.emit("OWN",W,{len:U}),U;if(W==="from"&&this.prevTag()==="YIELD")return this.emit("FROM",W,{len:U}),U;if(W==="as"&&!this.seenFor&&(this.seenImport||this.seenExport)){if(this.seenImport){if(this.prevVal()==="*")this.prev()[0]="IMPORT_ALL"}let w=this.prevTag();if(w==="DEFAULT"||w==="IMPORT_ALL"||w==="IDENTIFIER")return this.emit("AS",W,{len:U}),U}if((W==="as"||W==="as!")&&this.seenFor)return this.seenFor=!1,this.emit(W==="as!"?"FORASAWAIT":"FORAS","as",{len:U}),U;if(W==="default"&&this.seenExport&&(this.prevTag()==="EXPORT"||this.prevTag()==="AS"))return this.emit("DEFAULT",W,{len:U}),U;let Y;if(W==="do"&&(Y=/^(\s*super)(?!\(\))/.exec(this.chunk.slice(3))))return this.emit("SUPER","super"),this.emit("CALL_START","("),this.emit("CALL_END",")"),Y[1].length+3;let _=this.prev();if(F&&_&&_[0]==="TERNARY")F=null;if(F||_&&(_[0]==="."||_[0]==="?."||!_.spaced&&_[0]==="@")){if(f="PROPERTY",this.inRenderBlock&&_&&_[0]==="."&&!F){let w=this.chunk.slice(U);while(w[0]==="-"&&/^-[a-zA-Z]/.test(w)){let z=/^-([a-zA-Z][\w]*)/.exec(w);if(!z)break;W+="-"+z[1],U+=1+z[1].length,w=this.chunk.slice(U)}}}else f="IDENTIFIER";let A=W.endsWith("!")||W.endsWith("?")?W.slice(0,-1):W;if(f==="IDENTIFIER"&&!W.endsWith("!")&&!W.endsWith("?")&&(U2.has(W)||W2.has(W)||F2.has(W))&&!(this.exportSpecifierList&&F2.has(W))){if(b1[W]!==void 0)u.original=W,W=b1[W];f=this.classifyKeyword(W,f,u)}if(f==="IDENTIFIER"&&a2.has(A))l(`reserved word '${A}'`,{row:this.row,col:this.col,len:U});if(f==="PROPERTY"&&_){if(_[0]==="."&&this.tokens.length>1){let w=this.tokens[this.tokens.length-2];if(w[0]==="UNARY"&&w[1]==="new")w[0]="NEW_TARGET";if(w[0]==="IMPORT"&&w[1]==="import")this.seenImport=!1,w[0]="IMPORT_META"}}if(W.length>1&&W.endsWith("!"))u.await=!0,W=W.slice(0,-1);if(W.length>1&&W.endsWith("?"))u.predicate=!0,W=W.slice(0,-1);let J=this.emit(f,W,{len:U,data:Object.keys(u).length?u:null});if(f==="RENDER")this.inRenderBlock=!0,this.renderIndent=this.indent;if(F)return this.emit(":",":",{len:1}),U+F.length;return U}classifyKeyword($,W,F){switch($){case"!":return"UNARY";case"==":case"!=":return"COMPARE";case"true":case"false":return"BOOL";case"&&":case"||":return $}if(s2.has($))return"STATEMENT";let U=$.toUpperCase();if(U==="WHEN"&&F1.has(this.prevTag()))return"LEADING_WHEN";if(U==="FOR")return this.seenFor={endsLength:this.ends.length},"FOR";if(U==="UNLESS")return"UNLESS";if(U==="IMPORT")return this.seenImport=!0,"IMPORT";if(U==="EXPORT")return this.seenExport=!0,"EXPORT";if(t2.has(U))return"UNARY";if(e2.has(U)){if(U!=="INSTANCEOF"&&this.seenFor)return this.seenFor=!1,"FOR"+U;if(this.prevVal()==="!"){let u=this.tokens.pop();F.invert=u.data?.original||u[1]}return"RELATION"}if(U2.has($)||W2.has($))return U;return W}commentToken(){if(this.inRenderBlock){if(/^#[a-zA-Z_]/.test(this.chunk)){let W=this.prev();if(W&&(W[0]==="IDENTIFIER"||W[0]==="PROPERTY"))return 0;let F=/^#([a-zA-Z_][\w-]*)/.exec(this.chunk);if(F)return this.emit("IDENTIFIER",F[1]==="content"?"slot":"div#"+F[1]),F[0].length}if(/^\s+#[a-zA-Z_]/.test(this.chunk))return 0}let $=K3.exec(this.chunk);if(!$)return 0;return $[0].length}whitespaceToken(){let $=X3.exec(this.chunk);if(!$&&this.chunk[0]!==`
7
7
  `)return 0;let W=this.prev();if(W)if($)W.spaced=!0,W.pre=$[0].length;else W.newLine=!0;return $?$[0].length:0}lineToken(){let $=z3.exec(this.chunk);if(!$)return 0;let W=$[0],F=W.length-1-W.lastIndexOf(`
8
8
  `);if(this.isUnfinished()){if(F<this.indent&&/^\s*,/.test(this.chunk)&&!Z2.has(this.prevTag())){if(this.outdentTo(F,W.length),this.prevTag()==="TERMINATOR")this.tokens.pop();return W.length}return W.length}if(this.seenFor&&!(this.seenFor.endsLength<this.ends.length))this.seenFor=!1;if(!this.importSpecifierList)this.seenImport=!1;if(!this.exportSpecifierList)this.seenExport=!1;if(F===this.indent)return this.emitNewline(),W.length;if(F>this.indent){if(!this.tokens.length)return this.indent=F,W.length;let U=F-this.indent;return this.emit("INDENT",U,{len:F}),this.indents.push(U),this.ends.push({tag:"OUTDENT"}),this.indent=F,W.length}return this.outdentTo(F,W.length),W.length}outdentTo($,W=0){if(this.inRenderBlock&&$<=this.renderIndent)this.inRenderBlock=!1;let F=this.indent-$;while(F>0){let U=this.indents[this.indents.length-1];if(!U)F=0;else this.indents.pop(),this.pair("OUTDENT"),this.emit("OUTDENT",F,{len:W}),F-=U}this.emitNewline(),this.indent=$}closeIndentation(){this.outdentTo(0)}emitNewline(){if(this.prevTag()!=="TERMINATOR")this.emit("TERMINATOR",`
9
9
  `,{len:0})}isUnfinished(){if(this.inRenderBlock&&Q2.test(this.chunk)&&/^\s*\./.test(this.chunk))return!1;if(this.inRenderBlock&&this.prevTag()==="."){let W=this.tokens.length;if(W>=2){let F=this.tokens[W-2][0];if(F==="INDENT"||F==="TERMINATOR"||F==="OUTDENT")return!1}}let $=this.tokens[this.tokens.length-1];if($?.[0]==="COMPARE"&&$[1]===">"){let W=0;for(let F=this.tokens.length-1;F>=0;F--){let U=this.tokens[F];if(U[0]==="COMPARE"&&U[1]===">")W++;else if(U[0]==="COMPARE"&&U[1]==="<")W--;if(W===0&&U[0]==="TYPE_ANNOTATION")return!1;if(U[0]==="TERMINATOR"||U[0]==="INDENT"||U[0]==="OUTDENT")break}}return Q2.test(this.chunk)||Z2.has(this.prevTag())}pair($){let W=this.ends[this.ends.length-1];if(!W||$!==W.tag){if(W?.tag==="OUTDENT"){let F=this.indents[this.indents.length-1];if(F)this.outdentTo(this.indent-F);return this.pair($)}l(`unmatched ${$}`,{row:this.row,col:this.col})}return this.ends.pop()}stringToken(){let $=H3.exec(this.chunk);if(!$)return 0;let W=$[0],F=W.length>1&&W.endsWith("\\"),U=F?W.slice(0,-1):W,u=this.prev();if(u&&this.prevVal()==="from"&&(this.seenImport||this.seenExport))u[0]="FROM";let f;switch(U){case"'":f=q3;break;case'"':f=O3;break;case"'''":f=G3;break;case'"""':f=P3;break}let{tokens:Y,index:_}=this.matchWithInterpolations(f,W,U),A=U.length===3,J=null;if(A)J=this.processHeredocIndent(_,U,Y);return this.mergeInterpolationTokens(Y,{quote:U,indent:J,endOffset:_,raw:F}),_}processHeredocIndent($,W,F){let U=$-W.length,u=U-1;while(u>=0&&this.chunk[u]!==`
10
- `)u--;u++;let f=this.chunk.slice(u,U),Y=/^\s*$/.test(f)?f.length:null,_="";for(let R of F)if(R[0]==="NEOSTRING")_+=R[1];let A=null,J;w2.lastIndex=0;while(J=w2.exec(_))if(A===null||J[1].length>0&&J[1].length<A.length)A=J[1];if(Y===null)return A;if(A===null)return" ".repeat(Y);if(Y<=A.length)return" ".repeat(Y);return A}matchWithInterpolations($,W,F,U){if(!F)F=W;if(!U)U=/^[#$]\{/;let u=[],f=W.length;if(this.chunk.slice(0,f)!==W)return null;let Y=this.chunk.slice(f);while(!0){let[_]=$.exec(Y);u.push(["NEOSTRING",_,{offset:f}]),Y=Y.slice(_.length),f+=_.length;let A=U.exec(Y);if(!A)break;let R=A[0].length-1,X=Y.slice(R),z=new p().tokenize(X,{row:this.row,col:this.col+f+R,untilBalanced:!0,rewrite:!1}),Z=z.index+R;if(Y[Z-1]==="}"){let w=z.tokens[0],Q=z.tokens[z.tokens.length-1];w[0]="INTERPOLATION_START",w[1]="(",Q[0]="INTERPOLATION_END",Q[1]=")"}if(z.tokens[1]?.[0]==="TERMINATOR")z.tokens.splice(1,1);let K=z.tokens.length;if(K>2&&z.tokens[K-3]?.[0]==="INDENT"&&z.tokens[K-2]?.[0]==="OUTDENT")z.tokens.splice(K-3,2);u.push(["TOKENS",z.tokens]),Y=Y.slice(Z),f+=Z}if(Y.slice(0,F.length)!==F)l(`missing ${F}`,{row:this.row,col:this.col});return{tokens:u,index:f+F.length}}mergeInterpolationTokens($,{quote:W,indent:F,endOffset:U,raw:u}){if($.length>1)this.emit("STRING_START","(",{len:W?.length||0,data:{quote:W}});for(let f=0;f<$.length;f++){let[Y,_]=$[f];if(Y==="TOKENS")for(let A of _)this.tokens.push(A);else if(Y==="NEOSTRING"){let A=_;if(F){let J=new RegExp("\\n"+F,"g");A=A.replace(J,`
11
- `)}if(f===0&&W?.length===3)A=A.replace(/^\n/,"");if(f===$.length-1&&W?.length===3)A=A.replace(/\n[^\S\n]*$/,"");if(u)A=A.replace(/\\([nrtbfv0\\'"`xu])/g,"\\\\$1");this.emit("STRING",`"${A}"`,{len:_.length,data:{quote:W}})}}if($.length>1)this.emit("STRING_END",")",{len:W?.length||0});return U}numberToken(){let $=J3.exec(this.chunk);if(!$)return 0;let W=$[0],F=W.length,U={row:this.row,col:this.col};if(/^0[BOX]/.test(W))l(`radix prefix in '${W}' must be lowercase`,{...U,col:U.col+1});if(/^0\d*[89]/.test(W))l(`decimal literal '${W}' must not be prefixed with '0'`,{...U,len:F});if(/^0\d+/.test(W))l(`octal literal '${W}' must be prefixed with '0o'`,{...U,len:F});let u=V3(W),f=u===1/0?"INFINITY":"NUMBER",Y={parsedValue:u};if(f==="INFINITY")Y.original=W;return this.emit(f,W,{len:F,data:Y}),F}regexToken(){let $=this.matchWithInterpolations(B3,"///");if($){let{tokens:J,index:R}=$,[X]=J2.exec(this.chunk.slice(R)),z=R+X.length;if(J.length===1||!J.some((Z)=>Z[0]==="TOKENS")){let Z=(J[0]?.[1]||"").replace(/(?<!\\)\//g,"\\/");this.emit("REGEX",`/${Z}/${X}`,{len:z,data:{delimiter:"///",heregex:{flags:X}}})}else{if(this.emit("REGEX_START","(",{len:0}),this.emit("IDENTIFIER","RegExp",{len:0}),this.emit("CALL_START","(",{len:0}),this.mergeInterpolationTokens(J,{quote:"///",endOffset:z-X.length}),X)this.emit(",",",",{len:0}),this.emit("STRING",`"${X}"`,{len:X.length});this.emit(")",")",{len:0}),this.emit("REGEX_END",")",{len:0})}return z}let W=I3.exec(this.chunk);if(!W)return 0;let[F,U,u]=W,f=this.prev();if(f){if(f.spaced&&H1.has(f[0])&&(!u||/^\/=?\s/.test(F)))return 0;if(Y3.has(f[0])&&!(f.spaced&&H1.has(f[0])))return 0}if(!u)l("missing / (unclosed regex)",{row:this.row,col:this.col});let Y=F.length,[_]=J2.exec(this.chunk.slice(Y)),A=Y+_.length;if(!E3.test(_))l(`invalid regular expression flags ${_}`,{row:this.row,col:this.col+Y,len:_.length});return this.emit("REGEX",`/${U}/${_}`,{len:A,data:{delimiter:"/"}}),A}jsToken(){if(this.chunk[0]!=="`")return 0;let $=T3.exec(this.chunk)||N3.exec(this.chunk);if(!$)return 0;let W=$[1],F=$[0].length;return this.emit("JS",W,{len:F,data:{here:$[0].startsWith("```")}}),F}literalToken(){let $=Q3.exec(this.chunk),W=$?$[0]:this.chunk.charAt(0),F=W,U=this.prev();if(M3.test(W))this.tagParameters();if(W==="="&&U&&U[1]==="."&&!U.spaced){let u=this.tokens,f=u.length-2;while(f>=1&&u[f][0]==="PROPERTY"&&u[f-1]?.[1]===".")f-=2;if(f>=0&&(u[f][0]==="IDENTIFIER"||u[f][0]===")"||u[f][0]==="]")){let Y=u.slice(f,u.length-1);U[0]="=",U[1]="=";for(let _ of Y)this.tokens.push(q1(_[0],_[1],{pre:0,row:_[2],col:_[3],len:_[4]}));return this.tokens.push(q1(".",".",{pre:0,row:this.row,col:this.col,len:1})),W.length}}if(U&&(W==="="||R2.has(W))){if(W==="="&&(U[1]==="||"||U[1]==="&&"||U[1]==="??")&&!U.spaced)return U[0]="COMPOUND_ASSIGN",U[1]+="=",W.length}if(W==="("&&U?.[0]==="IMPORT")U[0]="DYNAMIC_IMPORT";if(W==="{"&&this.seenImport)this.importSpecifierList=!0;if(W==="}"&&this.importSpecifierList)this.importSpecifierList=!1;if(W==="{"&&U?.[0]==="EXPORT")this.exportSpecifierList=!0;if(W==="}"&&this.exportSpecifierList)this.exportSpecifierList=!1;if(W===";")this.seenFor=this.seenImport=this.seenExport=!1,F="TERMINATOR";else if(W==="|>")F="PIPE";else if(W==="::=")F="TYPE_ALIAS";else if(W==="::"&&/^[a-zA-Z_$]/.test(this.chunk[2]||""))return this.emit(".","."),this.emit("PROPERTY","prototype"),this.emit(".","."),2;else if(W==="::")F="TYPE_ANNOTATION";else if(W==="~=")F="COMPUTED_ASSIGN";else if(W===":=")F="REACTIVE_ASSIGN";else if(W==="<=>")F="BIND";else if(W==="~>")F="EFFECT";else if(W==="=!")F="READONLY_ASSIGN";else if(W==="*"&&(!U||U[0]==="TERMINATOR"||U[0]==="INDENT"||U[0]==="OUTDENT")&&(/^[a-zA-Z_$]/.test(this.chunk[1]||"")||this.chunk[1]==="@")){let u=this.chunk.slice(1),f=/^@(\s*)=(?!=)/.exec(u);if(f){let _=f[1];this.emit("IDENTIFIER","Object"),this.emit(".",".");let A=this.emit("PROPERTY","assign");return A.spaced=!0,this.emit("@","@"),this.emit(",",","),2+_.length+1}let Y=/^((?:(?!\s)[$\w\x7f-\uffff])+(?:\.[a-zA-Z_$][\w]*)*)(\s*)=(?!=)/.exec(u);if(Y){let _=Y[1],A=Y[2],J=_.split("."),R=()=>{this.emit("IDENTIFIER",J[0]);for(let z=1;z<J.length;z++)this.emit(".","."),this.emit("PROPERTY",J[z])};R(),this.emit("=","="),this.emit("IDENTIFIER","Object"),this.emit(".","."),this.emit("PROPERTY","assign"),this.emit("CALL_START","("),R(),this.emit("COMPOUND_ASSIGN","??="),this.emit("{","{"),this.emit("}","}"),this.emit(",",",");let X=this.prev();return X.mergeClose=!0,1+_.length+A.length+1}}else if(W==="*"&&U?.[0]==="EXPORT")F="EXPORT_ALL";else if(_3.has(W))F="MATH";else if(A3.has(W))F="COMPARE";else if(R2.has(W))F="COMPOUND_ASSIGN";else if(R3.has(W))F="UNARY_MATH";else if(Z3.has(W))F="SHIFT";else if(W==="?"&&U?.spaced)F="TERNARY";else if(W==="!?"&&U&&!U.spaced)F="DEFINED";else if(W==="?!"&&U&&!U.spaced)F="PRESENCE";else if(W==="?"&&(this.chunk[1]==="["||this.chunk[1]==="("))F="?.";else if(U){if(W==="("&&!U.spaced&&H1.has(U[0])){if(U[0]==="?.")U[0]="ES6_OPTIONAL_CALL";F="CALL_START"}if(W==="["&&!U.spaced&&X2.has(U[0])){if(F="INDEX_START",U[0]==="?.")U[0]="ES6_OPTIONAL_INDEX"}}if(W==="("||W==="{"||W==="[")this.ends.push({tag:U3[W],origin:[F,W]});else if(W===")"||W==="}"||W==="]")this.pair(W);return this.emit(F,W,{len:W.length}),W.length}tagParameters(){if(this.prevTag()!==")")return this.tagDoIife();let $=this.tokens.length-1,W=[];this.tokens[$][0]="PARAM_END";while($-- >0){let F=this.tokens[$];if(F[0]===")")W.push(F);else if(F[0]==="("||F[0]==="CALL_START")if(W.length)W.pop();else if(F[0]==="(")return F[0]="PARAM_START",this.tagDoIife($-1);else{this.tokens[this.tokens.length-1][0]="CALL_END";return}}}tagDoIife($){let W=this.tokens[$??this.tokens.length-1];if(W?.[0]==="DO")W[0]="DO_IIFE"}rewrite($){return this.tokens=$,this.removeLeadingNewlines(),this.closeOpenCalls(),this.closeOpenIndexes(),this.normalizeLines(),this.rewriteRender?.(),this.rewriteTypes(),this.tagPostfixConditionals(),this.addImplicitBracesAndParens(),this.addImplicitCallCommas(),this.closeMergeAssignments(),this.tokens}removeLeadingNewlines(){let $=0;while(this.tokens[$]?.[0]==="TERMINATOR")$++;if($>0)this.tokens.splice(0,$)}closeOpenCalls(){this.scanTokens(($,W)=>{if($[0]==="CALL_START")this.detectEnd(W+1,(F)=>F[0]===")"||F[0]==="CALL_END",(F)=>F[0]="CALL_END");return 1})}closeOpenIndexes(){this.scanTokens(($,W)=>{if($[0]==="INDEX_START")this.detectEnd(W+1,(F)=>F[0]==="]"||F[0]==="INDEX_END",(F,U)=>{if(this.tokens[U+1]?.[0]===":")$[0]="[",F[0]="]";else F[0]="INDEX_END"});return 1})}normalizeLines(){let $=null,W=null,F=null,U=(f,Y)=>{return f[1]!==";"&&F3.has(f[0])&&!(f[0]==="TERMINATOR"&&Y2.has(this.tokens[Y+1]?.[0]))&&!(f[0]==="ELSE"&&$!=="THEN")||f[0]==="INDENT"&&!f.generated&&($==="->"||$==="=>")||f[0]===","&&($==="->"||$==="=>")&&!this.commaInImplicitCall(Y)&&!this.commaInImplicitObject(Y)||A2.has(f[0])&&(this.tokens[Y-1]?.newLine||this.tokens[Y-1]?.[0]==="OUTDENT")},u=(f,Y)=>{let _=this.tokens[Y-1]?.[0]===","?Y-1:Y;this.tokens.splice(_,0,F)};this.scanTokens((f,Y,_)=>{let[A]=f;if(A==="TERMINATOR"){if(this.tokens[Y+1]?.[0]==="ELSE"&&this.tokens[Y-1]?.[0]!=="OUTDENT")return _.splice(Y,1,...this.makeIndentation()),1;if(Y2.has(this.tokens[Y+1]?.[0]))return _.splice(Y,1),0}if(A==="CATCH")for(let J=1;J<=2;J++){let R=this.tokens[Y+J]?.[0];if(R==="OUTDENT"||R==="TERMINATOR"||R==="FINALLY")return _.splice(Y+J,0,...this.makeIndentation()),2+J}if((A==="->"||A==="=>")&&(this.tokens[Y+1]?.[0]===","||this.tokens[Y+1]?.[0]==="]"))return[W,F]=this.makeIndentation(),_.splice(Y+1,0,W,F),1;if(_2.has(A)&&this.tokens[Y+1]?.[0]!=="INDENT"&&!(A==="ELSE"&&this.tokens[Y+1]?.[0]==="IF")&&!(A==="ELSE"&&this.tokens[Y-1]?.[0]!=="OUTDENT")){if($=A,[W,F]=this.makeIndentation(),A==="THEN")W.fromThen=!0;if(_.splice(Y+1,0,W),this.detectEnd(Y+2,U,u),A==="THEN")_.splice(Y,1);return 1}return 1})}tagPostfixConditionals(){let $=null,W=(U,u)=>{return U[0]==="TERMINATOR"||U[0]==="INDENT"&&!_2.has(this.tokens[u-1]?.[0])},F=(U)=>{if(U[0]!=="INDENT"||U.generated&&!U.fromThen)$[0]="POST_"+$[0]};this.scanTokens((U,u)=>{if(U[0]!=="IF"&&U[0]!=="UNLESS")return 1;if(this.tokens[u-1]?.[0]==="INTERPOLATION_START")return 1;return $=U,this.detectEnd(u+1,W,F),1})}addImplicitBracesAndParens(){let $=[],W=!1;this.scanTokens((F,U,u)=>{let[f]=F,Y=u[U-1]||[],_=u[U+1]||[],[A]=Y,[J]=_,R=U,X=(D)=>U-R+D,z=()=>$[$.length-1],Z=(D)=>D?.[2]?.ours,K=()=>Z(z())&&z()?.[0]==="(",w=()=>Z(z())&&z()?.[0]==="{",Q=(D)=>{$.push(["(",D,{ours:!0}]),u.splice(D,0,i("CALL_START","("))},M=()=>{$.pop(),u.splice(U,0,i("CALL_END",")")),U+=1},H=(D,G={})=>{$.push(["{",D,{sameLine:!0,startsLine:G.startsLine??!0,ours:!0}]);let P=i("{","{");if(!P.data)P.data={};P.data.generated=!0,u.splice(D,0,P)},O=(D)=>{D=D??U,$.pop(),u.splice(D,0,i("}","}")),U+=1};if((K()||w())&&W3.has(f))return $.push(["CONTROL",U,{ours:!0}]),X(1);if(f==="INDENT"&&Z(z())){if(A!=="=>"&&A!=="->"&&A!=="["&&A!=="("&&A!==","&&A!=="{"&&A!=="ELSE"&&A!=="=")while(K()||w()&&A!==":")if(K())M();else O();if(z()?.[2]?.ours&&z()[0]==="CONTROL")$.pop();return $.push([f,U]),X(1)}if(a.has(f))return $.push([f,U]),X(1);if(n.has(f)){while(Z(z()))if(K())M();else if(w())O();else $.pop();$.pop()}if(y1.has(f)&&F.spaced&&(D1.has(J)||J==="..."&&D1.has(u[U+2]?.[0])||u3.has(J)&&!_.spaced&&!_.newLine)&&!((f==="]"||f==="}")&&(J==="->"||J==="=>")))return Q(U+1),X(2);if(y1.has(f)&&this.tokens[U+1]?.[0]==="INDENT"&&this.looksObjectish(U+2)&&!this.findTagsBackwards(U,["CLASS","EXTENDS","IF","CATCH","SWITCH","LEADING_WHEN","FOR","WHILE","UNTIL"]))return Q(U+1),$.push(["INDENT",U+2]),X(3);if(f==="TERNARY")W=!0;if(f===":"){if(W)return W=!1,X(1);let D=n.has(this.tokens[U-1]?.[0])?$[$.length-1]?.[1]??U-1:U-1;if(this.tokens[U-2]?.[0]==="@")D=U-2;let G=D<=0||F1.has(this.tokens[D-1]?.[0])||this.tokens[D-1]?.newLine;if(z()){let[P,B]=z(),N=$[$.length-2];if((P==="{"||P==="INDENT"&&N?.[0]==="{"&&!Z(N))&&(G||this.tokens[D-1]?.[0]===","||this.tokens[D-1]?.[0]==="{"||this.tokens[D]?.[0]==="{"))return X(1)}return H(D,{startsLine:!!G}),X(2)}if(F1.has(f))for(let D=$.length-1;D>=0;D--){if(!Z($[D]))break;if($[D][0]==="{")$[D][2].sameLine=!1}let q=A==="OUTDENT"||Y.newLine,E=f==="||"||f==="&&",I=!1;if(E){let D=U+1,G=u[D]?.[0];if(G==="("||G==="["||G==="{"){for(let P=1;++D<u.length&&P>0;)if(G=u[D][0],G==="("||G==="["||G==="{")P++;else if(G===")"||G==="]"||G==="}")P--}else if(G&&G!=="TERMINATOR"&&G!=="OUTDENT"&&G!==",")D++;I=u[D]?.[0]===","}if(f3.has(f)&&!I||A2.has(f)&&q)while(Z(z())){let[D,,{sameLine:G,startsLine:P}]=z();if(K()&&A!==",")M();else if(w()&&!E&&G&&f!=="TERMINATOR"&&A!==":")O();else if(w()&&f==="TERMINATOR"&&A!==","&&!(P&&this.looksObjectish(U+1)))O();else if(z()?.[2]?.ours&&z()[0]==="CONTROL"&&u[z()[1]]?.[0]==="CLASS"&&f==="TERMINATOR")$.pop();else break}if(f===","&&!this.looksObjectish(U+1)&&w()&&(J!=="TERMINATOR"||!this.looksObjectish(U+2))){let D=J==="OUTDENT"?1:0;while(w())O(U+D)}return X(1)})}addImplicitCallCommas(){let $=0,W=0,F=this.tokens;while(W<F.length){let U=F[W][0],u=W>0?F[W-1][0]:null;if(U==="CALL_START"||U==="(")$++;if(U==="CALL_END"||U===")")$--;if($>0&&(U==="->"||U==="=>")&&$3.has(u))F.splice(W,0,i(",",",")),W++;W++}}scanTokens($){let W=0;while(W<this.tokens.length)W+=$.call(this,this.tokens[W],W,this.tokens)}detectEnd($,W,F,U={}){let u=0;while($<this.tokens.length){let f=this.tokens[$];if(u===0&&W.call(this,f,$))return F.call(this,f,$);if(a.has(f[0]))u++;if(n.has(f[0]))u--;if(u<0){if(U.returnOnNegativeLevel)return;return F.call(this,f,$)}$++}}closeMergeAssignments(){let $=this.tokens;for(let W=0;W<$.length;W++){if(!$[W].mergeClose)continue;let F=0;for(let U=W+1;U<$.length;U++){let u=$[U][0];if(u==="("||u==="["||u==="{"||u==="CALL_START"||u==="INDEX_START"||u==="INDENT")F++;if(u===")"||u==="]"||u==="}"||u==="CALL_END"||u==="INDEX_END"||u==="OUTDENT")F--;if(F<0||F===0&&u==="TERMINATOR"){$.splice(U,0,i("CALL_END",")",$[U-1]));break}if(U===$.length-1){$.splice(U+1,0,i("CALL_END",")",$[U]));break}}}}commaInImplicitCall($){let W=0;for(let F=$-1;F>=0;F--){let U=this.tokens[F][0];if(n.has(U)){W++;continue}if(a.has(U)){if(U==="INDENT")return!1;if(W--,W<0)return!1;continue}if(W>0)continue;if(y1.has(U)&&this.tokens[F].spaced){let u=this.tokens[F+1]?.[0];return D1.has(u)||u==="..."&&D1.has(this.tokens[F+2]?.[0])}}return!1}commaInImplicitObject($){let W=0;for(let F=$-1;F>=0;F--){let U=this.tokens[F][0];if(n.has(U)){W++;continue}if(a.has(U)){if(W--,W<0)return!1;continue}if(W>0)continue;if(U===":"&&F>0&&this.tokens[F-1][0]==="PROPERTY")return this.looksObjectish($+1);if(F1.has(U))return!1}return!1}looksObjectish($){if(!this.tokens[$])return!1;if(this.tokens[$]?.[0]==="@"&&this.tokens[$+2]?.[0]===":")return!0;if(this.tokens[$+1]?.[0]===":")return!0;if(a.has(this.tokens[$]?.[0])){let W=null;if(this.detectEnd($+1,(F)=>n.has(F[0]),(F,U)=>W=U),W&&this.tokens[W+1]?.[0]===":")return!0}return!1}findTagsBackwards($,W){let F=new Set(W),U=[];while($>=0){let u=this.tokens[$]?.[0];if(!U.length&&F.has(u))return!0;if(n.has(u))U.push(u);if(a.has(u)&&U.length)U.pop();if(!U.length&&(a.has(u)&&!this.tokens[$]?.generated||F1.has(u)))break;$--}return!1}makeIndentation($){let W=i("INDENT",2),F=i("OUTDENT",2);if($)W.generated=F.generated=!0,W.origin=F.origin=$;else W.explicit=F.explicit=!0;return[W,F]}}f2(p);var h3={symbolIds:{$accept:0,$end:1,error:2,Root:3,Body:4,Line:5,TERMINATOR:6,Expression:7,ExpressionLine:8,Statement:9,Return:10,STATEMENT:11,Import:12,Export:13,Value:14,Code:15,Operation:16,Assign:17,ReactiveAssign:18,ComputedAssign:19,ReadonlyAssign:20,Effect:21,If:22,Try:23,While:24,For:25,Switch:26,Class:27,Component:28,Render:29,Throw:30,Yield:31,Def:32,Enum:33,CodeLine:34,OperationLine:35,Assignable:36,Literal:37,Parenthetical:38,Range:39,Invocation:40,DoIife:41,This:42,Super:43,MetaProperty:44,AlphaNumeric:45,JS:46,Regex:47,UNDEFINED:48,NULL:49,BOOL:50,INFINITY:51,NAN:52,NUMBER:53,String:54,Identifier:55,IDENTIFIER:56,Property:57,PROPERTY:58,STRING:59,STRING_START:60,Interpolations:61,STRING_END:62,InterpolationChunk:63,INTERPOLATION_START:64,INTERPOLATION_END:65,INDENT:66,OUTDENT:67,REGEX:68,REGEX_START:69,REGEX_END:70,RegexWithIndex:71,",":72,"=":73,REACTIVE_ASSIGN:74,COMPUTED_ASSIGN:75,Block:76,READONLY_ASSIGN:77,EFFECT:78,SimpleAssignable:79,Array:80,Object:81,ThisProperty:82,".":83,"?.":84,INDEX_START:85,INDEX_END:86,Slice:87,ES6_OPTIONAL_INDEX:88,"{":89,ObjAssignable:90,":":91,FOR:92,ForVariables:93,FOROF:94,OptComma:95,"}":96,WHEN:97,OWN:98,AssignList:99,AssignObj:100,ObjRestValue:101,SimpleObjAssignable:102,"[":103,"]":104,"@":105,"...":106,ObjSpreadExpr:107,SUPER:108,Arguments:109,DYNAMIC_IMPORT:110,Elisions:111,ArgElisionList:112,OptElisions:113,ArgElision:114,Arg:115,Elision:116,RangeDots:117,"..":118,DEF:119,CALL_START:120,ParamList:121,CALL_END:122,PARAM_START:123,PARAM_END:124,FuncGlyph:125,"->":126,"=>":127,Param:128,ParamVar:129,Splat:130,ES6_OPTIONAL_CALL:131,ArgList:132,SimpleArgs:133,THIS:134,NEW_TARGET:135,IMPORT_META:136,"(":137,")":138,RETURN:139,THROW:140,YIELD:141,FROM:142,IfBlock:143,IF:144,ELSE:145,UnlessBlock:146,UNLESS:147,POST_IF:148,POST_UNLESS:149,TRY:150,Catch:151,FINALLY:152,CATCH:153,SWITCH:154,Whens:155,When:156,LEADING_WHEN:157,WhileSource:158,WHILE:159,UNTIL:160,Loop:161,LOOP:162,FORIN:163,BY:164,FORAS:165,AWAIT:166,FORASAWAIT:167,ForValue:168,CLASS:169,EXTENDS:170,ENUM:171,COMPONENT:172,ComponentBody:173,ComponentLine:174,RENDER:175,IMPORT:176,ImportDefaultSpecifier:177,ImportNamespaceSpecifier:178,ImportSpecifierList:179,ImportSpecifier:180,AS:181,DEFAULT:182,IMPORT_ALL:183,EXPORT:184,ExportSpecifierList:185,EXPORT_ALL:186,ExportSpecifier:187,UNARY:188,DO:189,DO_IIFE:190,UNARY_MATH:191,"-":192,"+":193,"?":194,DEFINED:195,PRESENCE:196,"--":197,"++":198,MATH:199,"**":200,SHIFT:201,COMPARE:202,"&":203,"^":204,"|":205,"||":206,"??":207,"&&":208,"!?":209,PIPE:210,RELATION:211,TERNARY:212,COMPOUND_ASSIGN:213},tokenNames:{2:"error",6:"TERMINATOR",11:"STATEMENT",46:"JS",48:"UNDEFINED",49:"NULL",50:"BOOL",51:"INFINITY",52:"NAN",53:"NUMBER",56:"IDENTIFIER",58:"PROPERTY",59:"STRING",60:"STRING_START",62:"STRING_END",64:"INTERPOLATION_START",65:"INTERPOLATION_END",66:"INDENT",67:"OUTDENT",68:"REGEX",69:"REGEX_START",70:"REGEX_END",72:",",73:"=",74:"REACTIVE_ASSIGN",75:"COMPUTED_ASSIGN",77:"READONLY_ASSIGN",78:"EFFECT",83:".",84:"?.",85:"INDEX_START",86:"INDEX_END",88:"ES6_OPTIONAL_INDEX",89:"{",91:":",92:"FOR",94:"FOROF",96:"}",97:"WHEN",98:"OWN",103:"[",104:"]",105:"@",106:"...",108:"SUPER",110:"DYNAMIC_IMPORT",118:"..",119:"DEF",120:"CALL_START",122:"CALL_END",123:"PARAM_START",124:"PARAM_END",126:"->",127:"=>",131:"ES6_OPTIONAL_CALL",134:"THIS",135:"NEW_TARGET",136:"IMPORT_META",137:"(",138:")",139:"RETURN",140:"THROW",141:"YIELD",142:"FROM",144:"IF",145:"ELSE",147:"UNLESS",148:"POST_IF",149:"POST_UNLESS",150:"TRY",152:"FINALLY",153:"CATCH",154:"SWITCH",157:"LEADING_WHEN",159:"WHILE",160:"UNTIL",162:"LOOP",163:"FORIN",164:"BY",165:"FORAS",166:"AWAIT",167:"FORASAWAIT",169:"CLASS",170:"EXTENDS",171:"ENUM",172:"COMPONENT",175:"RENDER",176:"IMPORT",181:"AS",182:"DEFAULT",183:"IMPORT_ALL",184:"EXPORT",186:"EXPORT_ALL",188:"UNARY",189:"DO",190:"DO_IIFE",191:"UNARY_MATH",192:"-",193:"+",194:"?",195:"DEFINED",196:"PRESENCE",197:"--",198:"++",199:"MATH",200:"**",201:"SHIFT",202:"COMPARE",203:"&",204:"^",205:"|",206:"||",207:"??",208:"&&",209:"!?",210:"PIPE",211:"RELATION",212:"TERNARY",213:"COMPOUND_ASSIGN"},parseTable:(()=>{let $=[107,1,2,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,-1,1,2,3,4,5,6,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,42,43,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,44,45,68,46,47,48,50,51,1,1,0,2,1,5,-2,107,5,1,5,59,2,71,-3,-3,-3,-3,-3,31,1,5,59,1,1,5,20,12,18,16,10,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-6,-6,-6,-6,-6,-6,127,-6,-6,-6,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,9,1,5,59,1,1,5,32,18,16,-7,-7,-7,-7,-7,-7,-7,-7,-7,14,1,5,59,1,1,5,32,18,16,10,1,9,1,1,-8,-8,-8,-8,-8,-8,-8,-8,-8,128,129,130,96,97,56,1,5,48,5,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,3,9,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-13,-13,134,105,106,-13,-13,-13,-13,137,138,139,-13,140,-13,-13,-13,-13,-13,-13,-13,135,-13,141,-13,-13,136,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,131,132,133,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,46,1,5,59,1,1,5,11,1,1,1,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-14,-14,-14,-14,-14,-14,142,143,144,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,9,1,5,59,1,1,5,32,18,16,-33,-33,-33,-33,-33,-33,-33,-33,-33,9,1,5,59,1,1,5,32,18,16,-34,-34,-34,-34,-34,-34,-34,-34,-34,13,1,5,59,1,1,5,32,18,16,10,1,10,1,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,13,1,5,59,1,1,5,32,18,16,10,1,10,1,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,13,1,5,59,1,1,5,32,18,16,10,1,10,1,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,13,1,5,59,1,1,5,32,18,16,10,1,10,1,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,59,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-35,-35,-35,-35,-35,-35,-35,-35,145,146,147,148,149,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,54,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,54,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,54,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,54,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,54,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,54,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,54,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,54,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,18,6,49,1,10,1,5,8,1,1,7,14,2,1,15,1,2,4,1,-173,154,104,-173,-173,-173,156,157,155,99,159,158,153,150,-173,-173,151,152,106,5,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,7,2,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,161,4,5,6,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,162,102,103,160,53,52,72,73,93,99,59,83,87,84,85,66,42,43,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,44,45,68,46,47,48,50,51,103,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,163,164,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,42,43,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,44,45,68,46,47,48,50,51,103,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,166,167,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,42,43,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,44,45,68,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,168,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,174,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,175,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,176,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,177,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,45,14,1,21,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,7,14,2,3,2,13,2,1,1,7,1,1,1,53,179,180,181,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,178,72,73,93,99,83,87,84,85,169,170,90,91,86,88,89,82,173,45,14,1,21,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,7,14,2,3,2,13,2,1,1,7,1,1,1,53,179,180,181,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,182,72,73,93,99,83,87,84,85,169,170,90,91,86,88,89,82,173,62,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,183,184,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,185,103,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,7,2,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,187,186,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,162,102,103,188,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,189,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,2,66,10,162,190,2,66,10,162,191,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,14,39,16,1,24,1,1,7,4,5,5,2,24,37,2,195,154,104,156,157,155,99,192,193,83,158,197,194,196,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,198,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,199,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,90,1,5,8,1,21,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,5,1,1,1,1,3,4,3,1,1,1,4,3,2,1,2,2,1,6,1,1,1,2,2,8,4,1,1,1,1,1,7,1,1,1,1,7,3,1,10,1,3,1,1,2,3,20,2,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-305,-305,179,180,181,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,-305,162,-305,102,103,-305,200,202,72,73,93,-305,99,-305,-305,-305,-305,-305,83,-305,87,-305,84,85,-305,-305,169,-305,170,90,91,86,88,89,82,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,201,173,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,1,66,203,2,66,10,162,204,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,205,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,206,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,139,1,5,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,5,1,1,1,1,3,6,1,1,1,1,4,3,2,1,2,2,1,6,1,1,1,2,2,8,1,3,1,1,1,1,1,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,4,4,1,1,1,1,1,1,1,1,1,2,2,1,3,1,8,4,1,1,1,1,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-224,-224,207,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,-224,208,-224,102,103,-224,53,52,72,73,93,-224,99,-224,-224,-224,-224,-224,83,-224,87,-224,84,85,-224,66,-224,169,-224,170,90,91,86,88,89,82,-224,69,64,65,209,54,94,-224,55,95,-224,-224,56,60,57,-224,-224,58,98,-224,-224,-224,49,-224,61,67,62,63,70,71,171,172,173,46,47,48,50,51,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,2,55,1,210,104,2,55,1,211,104,6,15,19,89,2,1,1,213,212,42,43,90,91,138,1,5,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,5,1,1,1,1,3,6,1,1,1,1,4,3,2,1,2,2,1,6,1,1,1,2,2,8,1,3,1,1,1,1,1,7,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,4,4,1,1,1,1,1,1,1,1,1,2,2,1,3,1,8,4,1,1,1,1,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-221,-221,214,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,-221,215,-221,102,103,-221,53,52,72,73,93,-221,99,-221,-221,-221,-221,-221,83,-221,87,-221,84,85,-221,66,-221,169,-221,170,90,91,86,88,89,82,-221,69,64,65,54,94,-221,55,95,-221,-221,56,60,57,-221,-221,58,98,-221,-221,-221,49,-221,61,67,62,63,70,71,171,172,173,46,47,48,50,51,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,9,54,1,1,3,1,29,88,1,5,216,220,104,105,106,219,217,218,221,60,14,1,3,1,1,1,6,1,4,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,14,2,3,2,9,4,2,1,1,7,1,1,1,32,2,1,10,4,4,179,180,228,229,230,231,223,224,225,226,234,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,227,104,105,106,102,103,53,235,72,73,93,222,83,87,84,85,66,169,170,90,91,86,88,89,82,61,67,62,232,233,173,59,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,59,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,54,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,54,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,54,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,54,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,54,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,54,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,54,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,54,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,106,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,236,3,4,5,6,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,237,102,103,53,52,72,73,93,99,59,83,87,84,85,66,42,43,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,44,45,68,46,47,48,50,51,113,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,3,6,1,1,1,1,7,3,11,1,1,1,2,2,1,1,2,1,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,238,247,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,244,102,103,245,53,52,72,73,93,99,59,83,239,87,249,84,85,240,241,243,246,242,66,42,43,90,91,248,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,44,45,68,46,47,48,50,51,4,83,2,24,11,251,252,250,141,2,109,11,253,141,54,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,56,1,5,51,1,1,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-206,-206,254,255,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,1,83,256,1,83,257,54,11,35,2,1,1,1,1,1,3,3,1,6,2,1,9,11,3,11,2,3,2,9,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,54,11,35,2,1,1,1,1,1,3,3,1,6,2,1,9,11,3,11,2,3,2,9,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,63,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,63,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,258,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,259,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,260,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,261,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,7,2,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,263,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,162,102,103,262,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,23,6,39,8,1,1,1,1,1,1,1,6,1,5,10,8,6,3,1,1,1,1,2,1,-109,269,100,101,271,104,272,255,105,106,-109,-109,-109,273,264,-109,265,270,274,266,267,268,275,54,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,54,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,54,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,45,14,1,21,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,7,14,2,3,2,13,2,1,1,7,1,1,1,53,179,180,181,34,35,36,276,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,235,72,73,93,99,83,87,84,85,169,170,90,91,86,88,89,82,173,65,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,4,3,3,1,10,1,3,1,1,2,3,11,11,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,57,1,5,53,1,2,2,1,1,1,3,2,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,6,54,5,1,1,2,1,280,105,106,277,278,279,109,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,5,2,1,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,1,1,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,-5,281,-5,4,5,6,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,-5,-5,102,103,53,52,72,73,93,99,59,83,87,84,85,66,42,43,90,91,86,88,89,82,-5,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,44,45,68,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,282,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,283,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,284,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,285,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,286,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,287,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,288,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,289,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,290,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,293,165,291,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,292,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,296,165,294,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,295,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,299,165,297,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,298,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,300,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,301,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,302,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,303,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,304,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,305,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,14,39,16,1,24,1,1,7,4,5,5,2,24,37,2,309,154,104,156,157,155,99,306,307,83,158,197,308,196,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,310,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,311,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,55,1,5,53,1,5,1,1,3,2,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,55,1,5,53,1,5,1,1,3,2,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,2,109,11,312,141,2,57,1,313,255,2,57,1,314,255,106,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,2,7,1,1,1,1,5,2,3,11,2,1,2,2,7,1,1,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,315,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,320,77,78,79,80,81,100,101,92,104,105,106,316,102,103,318,53,52,72,73,93,317,99,59,83,87,322,84,85,319,321,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,1,85,323,109,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,1,2,2,5,4,3,1,2,1,1,3,2,2,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,328,247,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,327,102,103,53,52,72,73,93,99,59,83,87,249,84,85,326,66,324,42,43,90,91,248,325,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,44,45,68,46,47,48,50,51,2,57,1,329,255,2,57,1,330,255,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,331,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,332,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,102,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,334,333,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,335,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,102,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,337,336,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,338,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,103,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,7,2,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,340,339,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,162,102,103,341,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,102,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,343,342,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,344,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,103,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,7,2,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,346,345,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,162,102,103,347,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,9,6,60,1,5,23,1,8,18,2,-217,-217,-217,349,350,-217,-217,-217,348,6,6,60,1,5,50,2,-174,-174,-174,-174,-174,-174,7,6,60,1,5,1,49,2,-178,-178,-178,-178,351,-178,-178,15,6,49,1,10,1,5,8,1,1,7,14,2,17,2,5,-181,154,104,-181,-181,-181,156,157,155,99,159,158,-181,-181,352,11,6,60,1,5,1,21,28,2,39,2,2,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,11,6,60,1,5,1,21,28,2,39,2,2,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,11,6,60,1,5,1,21,28,2,39,2,2,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,11,6,60,1,5,1,21,28,2,39,2,2,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,2,57,1,254,255,113,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,3,6,1,1,1,1,7,3,11,1,1,1,2,2,1,1,2,1,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,328,247,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,244,102,103,245,53,52,72,73,93,99,59,83,239,87,249,84,85,240,241,243,246,242,66,42,43,90,91,248,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,44,45,68,46,47,48,50,51,54,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,9,1,5,59,1,1,5,32,18,16,-170,-170,-170,-170,-170,-170,-170,-170,-170,106,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,7,1,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,354,3,4,5,6,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,353,102,103,53,52,72,73,93,99,59,83,87,84,85,66,42,43,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,44,45,68,46,47,48,50,51,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,125,126,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,118,-371,120,-371,-371,-371,9,1,5,59,1,1,5,32,18,16,-368,-368,-368,-368,-368,-368,-368,-368,-368,5,148,1,9,1,1,128,129,130,96,97,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,125,126,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,118,-372,120,-372,-372,-372,9,1,5,59,1,1,5,32,18,16,-369,-369,-369,-369,-369,-369,-369,-369,-369,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,125,126,-373,-373,-373,-373,-373,-373,-373,-373,-373,111,-373,-373,-373,-373,-373,-373,118,-373,120,-373,-373,-373,18,6,49,1,10,1,5,8,1,1,7,14,2,1,15,1,2,4,1,-173,154,104,-173,-173,-173,156,157,155,99,159,158,153,355,-173,-173,151,152,2,66,10,162,160,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,163,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,166,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,5,15,108,2,1,1,213,169,170,90,91,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,125,126,-374,-374,-374,-374,-374,-374,-374,-374,-374,111,-374,-374,-374,-374,-374,-374,118,-374,120,-374,-374,-374,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,125,126,-375,-375,-375,-375,-375,-375,-375,-375,-375,111,-375,-375,-375,-375,-375,-375,118,-375,120,-375,-375,-375,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,125,126,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,118,-379,120,-379,-379,-379,2,81,8,356,99,59,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-381,-381,-86,-86,-381,-381,-381,-381,-86,-86,-86,-86,-86,-86,-86,-86,-381,-86,-381,-381,-381,-381,-381,-381,-381,-381,-86,-381,-381,-86,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-86,-86,-86,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,10,54,5,1,23,1,1,3,21,11,11,134,105,106,137,138,139,140,135,141,136,3,83,1,1,142,143,144,54,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,59,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-382,-382,-86,-86,-382,-382,-382,-382,-86,-86,-86,-86,-86,-86,-86,-86,-382,-86,-382,-382,-382,-382,-382,-382,-382,-382,-86,-382,-382,-86,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-86,-86,-86,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,102,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,359,357,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,358,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-83,-83,-83,-83,-83,-83,-83,-83,127,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,124,125,126,96,97,-83,-83,-83,-83,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,360,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,3,66,10,68,162,361,362,46,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,2,1,1,6,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,363,364,365,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,4,94,69,2,2,367,366,368,369,11,55,1,24,1,1,7,4,10,2,24,39,154,104,156,157,155,99,370,159,158,197,196,11,55,1,24,1,1,7,4,10,2,24,39,154,104,156,157,155,99,371,159,158,197,196,3,66,10,88,162,372,373,5,72,22,69,2,2,374,-303,-303,-303,-303,6,72,1,21,69,2,2,-301,375,-301,-301,-301,-301,23,66,26,56,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,376,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,3,155,1,1,377,378,379,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,380,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,61,1,5,53,1,5,1,1,5,1,1,1,1,1,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,22,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-309,-309,-86,-86,-309,162,-309,-309,-86,-86,-86,381,-86,-86,-86,-86,-86,-309,-86,-309,-309,-309,-309,-309,-309,-309,-309,-86,-309,-309,-86,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,382,-309,-309,-86,-86,-86,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,105,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,1,1,1,1,8,4,1,1,1,1,1,4,1,385,386,387,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,42,43,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,383,384,63,70,71,44,45,68,46,47,48,50,51,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,125,126,-222,-222,-222,-222,-222,-222,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,2,81,8,388,99,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,125,126,-225,-225,-225,-225,-225,-225,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,2,81,8,389,99,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,390,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,3,66,10,44,162,392,391,2,66,10,162,393,9,1,5,59,1,1,5,32,18,16,-370,-370,-370,-370,-370,-370,-370,-370,-370,54,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,125,126,-219,-219,-219,-219,-219,-219,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,2,81,8,394,99,13,1,5,59,1,1,5,32,18,16,10,1,10,1,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,2,72,70,396,395,1,142,397,7,55,1,10,30,83,1,2,402,104,401,398,399,400,403,2,72,70,-338,-338,1,181,404,26,6,39,8,1,1,1,1,1,1,1,6,1,5,10,8,6,3,1,1,1,1,2,1,76,3,2,-109,269,100,101,409,104,272,255,105,106,408,-109,-109,273,264,405,265,270,274,266,267,268,275,410,406,407,13,1,5,59,1,1,5,32,18,16,10,1,10,1,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,13,1,5,59,1,1,5,32,18,16,10,1,10,1,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,13,1,5,59,1,1,5,32,18,16,10,1,10,1,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,13,1,5,59,1,1,5,32,18,16,10,1,10,1,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,63,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-89,-89,-89,-89,-89,-89,-89,-89,411,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,13,1,5,59,1,1,5,32,18,16,10,1,10,1,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,13,1,5,59,1,1,5,32,18,16,10,1,10,1,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,13,1,5,59,1,1,5,32,18,16,10,1,10,1,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,13,1,5,59,1,1,5,32,18,16,10,1,10,1,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,412,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,413,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,1,142,414,58,1,5,53,1,5,1,1,5,2,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-35,-35,-35,-35,-35,-35,-35,-35,146,147,148,149,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,59,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,2,6,132,107,415,105,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,416,3,4,5,6,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,42,43,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,44,45,68,46,47,48,50,51,31,6,60,1,5,20,12,2,11,1,4,26,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-199,-199,-199,-199,127,-199,322,417,321,-199,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,59,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,109,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,3,6,1,1,1,1,7,3,11,1,1,1,2,2,5,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,328,247,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,245,53,52,72,73,93,99,59,83,418,87,249,84,85,420,419,66,42,43,90,91,248,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,44,45,68,46,47,48,50,51,9,6,60,1,5,23,1,8,9,9,-217,-217,-217,422,423,-217,-217,421,-217,59,6,5,35,2,1,1,1,1,1,3,3,1,6,1,1,1,3,6,11,3,11,1,1,1,2,2,9,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,424,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,5,6,60,1,5,32,-145,-145,-145,-145,-145,112,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,3,6,1,1,1,1,7,3,11,2,1,2,2,1,1,2,1,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,328,247,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,244,102,103,245,53,52,72,73,93,99,59,83,87,249,84,85,426,425,243,246,242,66,42,43,90,91,248,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,44,45,68,46,47,48,50,51,59,6,5,35,2,1,1,1,1,1,3,3,1,6,1,1,1,3,6,11,3,11,1,1,1,2,2,9,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,5,6,60,1,5,32,-150,-150,-150,-150,-150,6,6,60,1,5,32,18,-200,-200,-200,-200,-200,-200,6,6,60,1,5,32,18,-201,-201,-201,-201,-201,-201,106,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,1,1,1,3,6,1,1,1,1,7,3,11,1,1,3,2,9,3,1,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,-202,427,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,-202,-202,102,103,-202,53,52,72,73,93,99,59,83,-202,87,84,85,66,-202,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,55,1,5,53,1,5,1,1,3,2,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,2,57,1,428,255,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,429,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,430,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,55,1,5,53,1,5,1,1,3,2,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,63,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,63,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,2,57,1,431,255,2,57,1,432,255,24,66,10,16,56,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,162,433,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,24,66,10,16,56,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,162,434,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-256,-256,-256,-256,-256,-256,-256,-256,127,-256,-256,435,-256,-256,-256,-256,-256,-256,-256,-256,125,126,96,97,-256,-256,-256,-256,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-258,-258,-258,-258,-258,-258,-258,-258,127,-258,-258,436,-258,-258,-258,-258,-258,-258,-258,-258,125,126,96,97,-258,-258,-258,-258,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,45,1,5,59,1,1,5,4,10,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-265,-265,-265,162,-265,-265,437,-265,-265,127,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,125,126,96,97,-265,-265,-265,-265,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,6,6,60,1,5,19,5,-114,-114,-114,-114,438,-114,8,6,60,1,5,23,1,8,18,-217,-217,-217,440,439,-217,-217,-217,7,6,60,1,5,1,18,5,-123,-123,-123,-123,441,-123,-123,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,442,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,3,57,1,45,254,255,443,6,6,60,1,5,19,5,-126,-126,-126,-126,-126,-126,5,6,60,1,5,24,-110,-110,-110,-110,-110,11,6,60,1,5,1,10,1,1,6,5,24,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,11,6,60,1,5,1,10,1,1,6,5,24,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,11,6,60,1,5,1,10,1,1,6,5,24,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,5,6,60,1,5,24,-115,-115,-115,-115,-115,17,38,4,1,12,1,1,1,23,1,7,13,3,2,1,2,24,3,447,449,448,271,104,272,255,446,273,99,444,87,445,450,451,86,82,55,1,5,53,1,5,1,1,3,2,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-39,-39,-39,-39,-39,-39,-39,452,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,6,54,5,1,2,1,1,280,105,106,453,454,279,4,59,1,2,2,-58,-58,-58,-58,107,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,5,1,2,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,455,3,4,5,6,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,457,456,102,103,53,52,72,73,93,99,59,83,87,84,85,66,42,43,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,44,45,68,46,47,48,50,51,4,59,1,2,2,-63,-63,-63,-63,5,1,5,59,2,71,-4,-4,-4,-4,-4,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,125,126,-385,-385,-385,-385,-385,-385,-385,-385,110,111,-385,-385,-385,-385,-385,-385,118,-385,120,-385,-385,-385,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,125,126,-386,-386,-386,-386,-386,-386,-386,-386,110,111,-386,-386,-386,-386,-386,-386,118,-386,120,-386,-386,-386,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,125,126,-387,-387,-387,-387,-387,-387,-387,-387,-387,111,-387,-387,-387,-387,-387,-387,118,-387,120,-387,-387,-387,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,125,126,-388,-388,-388,-388,-388,-388,-388,-388,-388,111,-388,-388,-388,-388,-388,-388,118,-388,120,-388,-388,-388,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,125,126,-389,-389,-389,-389,-389,-389,109,108,110,111,-389,-389,-389,-389,-389,-389,118,-389,120,-389,-389,-389,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,125,126,-390,-390,-390,-390,-390,-390,109,108,110,111,112,-390,-390,-390,-390,-390,118,-390,120,-390,122,-390,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,125,126,-391,-391,-391,-391,-391,-391,109,108,110,111,112,113,-391,-391,-391,-391,118,-391,120,-391,122,-391,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,125,126,-392,-392,-392,-392,-392,-392,109,108,110,111,112,113,114,-392,-392,-392,118,-392,120,-392,122,-392,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,125,126,-393,-393,-393,-393,-393,-393,109,108,110,111,112,113,114,115,-393,-393,118,-393,120,-393,122,-393,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,125,126,-401,-401,-401,-401,-401,-401,109,108,110,111,112,113,114,115,116,-401,118,119,120,-401,122,-401,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-402,-402,-402,-402,-402,-402,-402,-402,127,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,124,125,126,96,97,-402,-402,-402,-402,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,125,126,-400,-400,-400,-400,-400,-400,109,108,110,111,112,113,114,115,116,-400,118,-400,120,-400,122,-400,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-403,-403,-403,-403,-403,-403,-403,-403,127,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,124,125,126,96,97,-403,-403,-403,-403,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,125,126,-404,-404,-404,-404,-404,-404,109,108,110,111,112,113,114,115,116,117,118,119,120,-404,122,-404,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,125,126,-405,-405,-405,-405,-405,-405,109,108,110,111,112,-405,-405,-405,-405,-405,118,-405,120,-405,-405,-405,23,91,1,56,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,458,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-236,-236,-236,-236,-236,-236,-236,-236,127,-236,-236,-236,-236,-236,-236,-236,-236,-236,459,-236,125,126,96,97,-236,-236,-236,-236,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-240,-240,-240,-240,-240,-240,-240,-240,127,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,124,125,126,96,97,-240,-240,-240,-240,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,4,94,69,2,2,461,460,462,463,11,55,1,24,1,1,7,4,10,2,24,39,154,104,156,157,155,99,464,159,158,197,196,11,55,1,24,1,1,7,4,10,2,24,39,154,104,156,157,155,99,465,159,158,197,196,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,466,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-235,-235,-235,-235,-235,-235,-235,-235,127,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,125,126,96,97,-235,-235,-235,-235,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-239,-239,-239,-239,-239,-239,-239,-239,127,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,124,125,126,96,97,-239,-239,-239,-239,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,55,1,5,53,1,5,1,1,3,2,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,63,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,63,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,26,86,6,14,11,1,30,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,467,127,322,468,321,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,104,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,5,2,3,11,2,1,2,2,7,1,1,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,469,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,470,99,59,83,87,322,84,85,319,321,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,1,86,471,1,86,472,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,7,1,1,9,1,1,1,1,4,3,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,473,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,-164,102,103,53,52,72,73,93,-164,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,54,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-46,-46,-46,-46,-46,-46,-46,474,-46,-46,-46,-67,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,55,11,35,2,1,1,1,1,1,3,3,1,7,1,1,9,8,3,3,11,2,3,2,9,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,55,11,35,2,1,1,1,1,1,3,3,1,7,1,1,9,8,3,3,11,2,3,2,9,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,475,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,476,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,55,1,5,53,1,5,1,1,3,2,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,8,6,60,1,5,23,1,8,18,-217,-217,-217,478,477,-217,-217,-217,5,6,60,1,5,50,-194,-194,-194,-194,-194,108,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,1,2,2,5,4,4,2,1,1,3,2,2,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,328,247,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,327,102,103,53,52,72,73,93,99,59,83,87,249,84,85,326,66,42,43,90,91,248,479,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,44,45,68,46,47,48,50,51,28,6,60,1,5,20,12,18,26,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-199,-199,-199,-199,127,-199,-199,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,63,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,63,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,23,86,6,56,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,480,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,481,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,125,126,-68,-68,-68,-68,-68,-68,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,482,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,483,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-71,-71,-71,-71,-71,-71,-71,-71,127,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,124,125,126,96,97,-71,-71,-71,-71,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,484,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,485,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-74,-74,-74,-74,-74,-74,-74,-74,127,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,124,125,126,96,97,-74,-74,-74,-74,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,486,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-77,-77,-77,-77,-77,-77,-77,-77,127,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,124,125,126,96,97,-77,-77,-77,-77,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,487,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,488,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-80,-80,-80,-80,-80,-80,-80,-80,127,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,124,125,126,96,97,-80,-80,-80,-80,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,489,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,3,125,1,1,490,90,91,17,6,49,1,10,1,13,1,1,7,7,7,1,1,1,16,6,1,-218,154,104,-218,-218,156,157,155,99,-218,159,-218,158,153,-218,491,152,2,6,60,492,493,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,494,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,6,6,60,1,5,50,2,-180,-180,-180,-180,-180,-180,57,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,3,1,4,2,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,2,6,61,107,495,9,6,60,1,5,23,1,8,18,2,-217,-217,-217,349,350,-217,-217,-217,496,1,67,497,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,125,126,-407,-407,-407,-407,-407,-407,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,498,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,499,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-84,-84,-84,-84,-84,-84,-84,-84,127,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,124,125,126,96,97,-84,-84,-84,-84,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,500,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,3,7,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,501,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,2,66,10,162,502,6,55,1,10,10,5,8,503,104,162,505,504,99,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,506,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,507,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,508,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,509,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,1,94,510,1,165,511,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,512,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,10,55,1,24,1,1,7,14,2,24,39,154,104,156,157,155,99,159,158,197,513,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,514,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,3,155,1,1,515,378,379,4,67,78,11,1,516,517,518,379,3,67,78,12,-252,-252,-252,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,6,1,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,520,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,519,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,45,1,5,59,1,1,5,4,10,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-307,-307,-307,162,-307,-307,521,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,125,126,-307,-307,-307,-307,-307,-307,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,522,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,2,6,61,524,523,2,6,61,-315,-315,24,6,61,25,56,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-318,-318,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,2,6,61,-319,-319,7,6,61,81,1,9,1,1,-320,-320,128,129,130,96,97,1,67,525,1,67,526,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,125,126,-227,-227,-227,-227,-227,-227,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,18,6,49,1,10,1,5,8,1,1,7,14,2,1,15,1,2,4,1,-173,154,104,-173,-173,-173,156,157,155,99,159,158,153,527,-173,-173,151,152,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,1,67,528,3,54,5,1,529,105,106,3,89,89,5,531,530,221,3,54,5,1,532,105,106,1,142,533,8,6,60,1,5,23,1,8,18,-217,-217,-217,535,534,-217,-217,-217,5,6,60,1,5,24,-329,-329,-329,-329,-329,6,55,1,10,113,1,2,402,104,401,536,400,403,6,6,60,1,5,24,85,-334,-334,-334,-334,-334,537,6,6,60,1,5,24,85,-336,-336,-336,-336,-336,538,2,55,1,539,104,14,1,5,59,1,1,5,32,18,16,4,6,1,10,1,-340,-340,-340,-340,-340,-340,-340,-340,-340,540,-340,-340,-340,-340,8,6,60,1,5,23,1,8,18,-217,-217,-217,542,541,-217,-217,-217,5,6,60,1,5,24,-358,-358,-358,-358,-358,6,55,1,10,116,3,2,544,104,408,410,543,407,12,6,60,1,5,1,10,1,1,6,5,24,61,-363,-363,-363,-363,-120,-120,-120,-120,-120,-363,-120,545,6,6,60,1,5,24,85,-366,-366,-366,-366,-366,546,102,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,548,547,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,549,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,31,1,5,59,1,1,5,20,12,18,16,10,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-353,-353,-353,-353,-353,-353,127,-353,-353,-353,-353,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,2,81,8,550,99,3,54,5,1,551,105,106,54,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,2,6,61,107,552,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,553,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,59,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,59,6,5,35,2,1,1,1,1,1,3,3,1,6,1,1,1,3,6,11,3,11,1,1,1,2,2,9,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,424,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,5,6,60,1,5,32,-151,-151,-151,-151,-151,2,66,38,555,554,116,6,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,1,1,1,3,6,1,1,1,1,7,3,4,7,1,1,1,2,2,1,3,1,1,3,3,1,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,-218,328,247,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,-218,-218,102,103,245,53,52,72,73,93,99,59,-218,83,-218,87,249,84,85,557,556,246,242,66,-218,42,43,90,91,248,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,44,45,68,46,47,48,50,51,4,6,60,1,37,558,-152,-152,-152,59,6,5,35,2,1,1,1,1,1,3,3,1,6,1,1,1,3,6,11,3,11,1,1,1,2,2,9,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,9,6,60,1,5,23,1,8,9,9,-217,-217,-217,422,423,-217,-217,559,-217,108,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,3,6,1,1,1,1,7,3,11,2,1,2,2,5,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,328,247,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,245,53,52,72,73,93,99,59,83,87,249,84,85,420,419,66,42,43,90,91,248,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,44,45,68,46,47,48,50,51,28,6,60,1,5,20,12,18,26,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-186,-186,-186,-186,127,-186,-186,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,54,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,23,86,6,56,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,560,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,561,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,54,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,54,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,562,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,563,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,564,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,565,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,566,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,3,6,60,30,568,569,567,23,6,39,8,1,1,1,1,1,1,1,6,1,15,8,6,4,1,1,1,1,1,1,16,-218,269,100,101,271,104,272,255,105,106,-218,-218,273,571,-218,570,274,266,267,-218,268,275,-218,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,572,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,573,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,23,92,12,44,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,127,574,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,575,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,10,6,60,1,5,11,1,1,11,13,11,-127,-127,-127,-127,-129,-129,-129,-127,576,141,10,6,60,1,5,11,1,1,11,13,11,-128,-128,-128,-128,578,579,580,-128,577,141,9,6,60,1,5,11,1,1,11,24,-130,-130,-130,-130,-130,-130,-130,-130,-130,9,6,60,1,5,11,1,1,11,24,-131,-131,-131,-131,-131,-131,-131,-131,-131,9,6,60,1,5,11,1,1,11,24,-132,-132,-132,-132,-132,-132,-132,-132,-132,9,6,60,1,5,11,1,1,11,24,-133,-133,-133,-133,-133,-133,-133,-133,-133,4,83,2,24,11,251,252,581,141,2,109,11,582,141,54,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,57,1,5,53,1,2,2,1,1,1,3,2,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,4,59,1,2,2,-59,-59,-59,-59,2,6,59,107,583,105,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,584,3,4,5,6,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,42,43,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,44,45,68,46,47,48,50,51,4,59,1,2,2,-62,-62,-62,-62,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,585,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,587,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,586,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,588,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,589,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,590,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,591,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,1,94,592,1,165,593,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,594,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,63,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,7,1,1,9,1,1,1,1,4,3,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,595,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,-162,102,103,53,52,72,73,93,-162,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,26,67,25,14,11,1,30,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,596,127,322,468,321,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,1,67,597,63,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,63,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,24,67,19,6,56,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-163,-163,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,598,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,23,86,6,56,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,599,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,600,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,3,6,60,56,602,603,601,112,6,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,1,1,1,9,1,1,1,1,7,3,4,7,1,1,1,2,2,5,4,3,1,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,-218,328,247,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,-218,-218,102,103,53,52,72,73,93,99,59,-218,83,-218,87,249,84,85,604,66,-218,42,43,90,91,248,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,44,45,68,46,47,48,50,51,8,6,60,1,5,23,1,8,18,-217,-217,-217,478,605,-217,-217,-217,63,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,23,67,25,56,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,606,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,125,126,-69,-69,-69,-69,-69,-69,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,23,67,25,56,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,607,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-72,-72,-72,-72,-72,-72,-72,-72,127,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,124,125,126,96,97,-72,-72,-72,-72,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,23,67,25,56,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,608,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-75,-75,-75,-75,-75,-75,-75,-75,127,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,124,125,126,96,97,-75,-75,-75,-75,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-78,-78,-78,-78,-78,-78,-78,-78,127,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,124,125,126,96,97,-78,-78,-78,-78,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,23,67,25,56,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,609,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-81,-81,-81,-81,-81,-81,-81,-81,127,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,124,125,126,96,97,-81,-81,-81,-81,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,106,5,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,7,2,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,611,4,5,6,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,162,102,103,610,53,52,72,73,93,99,59,83,87,84,85,66,42,43,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,44,45,68,46,47,48,50,51,6,6,60,1,5,50,2,-175,-175,-175,-175,-175,-175,11,55,1,24,1,1,7,14,2,1,22,1,154,104,156,157,155,99,159,158,153,612,152,18,6,49,1,10,1,5,8,1,1,7,14,2,1,15,1,2,4,1,-173,154,104,-173,-173,-173,156,157,155,99,159,158,153,613,-173,-173,151,152,28,6,60,1,5,20,30,2,24,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-179,-179,-179,-179,127,-179,-179,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,57,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,3,1,4,2,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,3,125,1,1,614,90,91,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,23,67,25,56,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,615,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,125,126,-409,-409,-409,-409,-409,-409,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,24,66,10,16,56,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,162,616,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,2,66,10,162,617,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,2,66,10,162,618,2,66,10,162,619,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,3,7,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,26,66,10,16,5,51,1,9,1,1,4,28,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,162,620,127,621,124,125,126,96,97,622,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,25,66,10,16,5,51,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,162,623,127,624,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,25,66,10,16,5,51,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,162,625,127,626,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,25,66,10,16,5,51,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,162,627,127,628,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,629,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,630,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,24,66,10,16,56,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,162,631,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,4,94,69,2,2,-304,-304,-304,-304,27,72,20,2,54,1,9,1,1,3,2,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-302,127,-302,124,125,126,96,97,-302,-302,-302,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,4,67,78,11,1,632,633,518,379,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,2,66,10,162,634,3,67,78,12,-253,-253,-253,3,66,6,4,162,636,635,24,66,6,20,56,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-203,-203,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,45,1,5,59,1,1,5,4,10,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-311,-311,-311,162,-311,-311,637,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,125,126,-311,-311,-311,-311,-311,-311,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,106,6,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,7,1,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,1,1,8,4,1,1,1,1,1,4,1,-317,385,386,387,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,-317,102,103,53,52,72,73,93,99,59,83,87,84,85,66,42,43,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,638,63,70,71,44,45,68,46,47,48,50,51,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,8,6,60,1,5,23,1,8,18,-217,-217,-217,349,350,-217,-217,639,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,13,1,5,59,1,1,5,32,18,16,10,1,10,1,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,1,142,640,6,55,1,10,113,1,2,402,104,401,641,400,403,13,1,5,59,1,1,5,32,18,16,10,1,10,1,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,3,54,5,1,642,105,106,3,6,60,30,644,645,643,10,6,49,1,10,1,29,8,18,58,2,-218,402,104,-218,-218,-218,-218,-218,646,403,8,6,60,1,5,23,1,8,18,-217,-217,-217,535,647,-217,-217,-217,2,55,1,648,104,2,55,1,649,104,1,142,-339,3,54,5,1,650,105,106,3,6,60,30,652,653,651,10,6,49,1,10,1,29,8,18,60,5,-218,544,104,-218,-218,-218,-218,-218,410,654,8,6,60,1,5,23,1,8,18,-217,-217,-217,542,655,-217,-217,-217,6,6,60,1,5,24,85,-363,-363,-363,-363,-363,545,3,55,1,126,656,104,657,2,55,1,658,104,31,1,5,59,1,1,5,20,12,18,16,10,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-346,-346,-346,-346,-346,-346,127,-346,-346,-346,-346,125,126,-346,-346,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,659,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,660,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,1,67,661,13,1,5,59,1,1,5,32,18,16,10,1,10,1,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,1,138,662,23,92,12,44,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,127,663,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,59,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,112,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,3,6,1,1,1,1,7,3,11,2,1,2,2,1,1,2,1,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,328,247,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,244,102,103,245,53,52,72,73,93,99,59,83,87,249,84,85,426,664,243,246,242,66,42,43,90,91,248,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,44,45,68,46,47,48,50,51,5,6,60,1,5,32,-146,-146,-146,-146,-146,111,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,1,1,1,3,6,1,1,1,1,7,3,11,1,1,1,2,2,5,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,328,247,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,-153,-153,102,103,245,53,52,72,73,93,99,59,83,-153,87,249,84,85,420,419,66,42,43,90,91,248,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,44,45,68,46,47,48,50,51,110,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,3,6,1,1,1,1,7,3,11,2,1,2,2,1,3,1,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,328,247,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,245,53,52,72,73,93,99,59,83,87,249,84,85,426,665,246,242,66,42,43,90,91,248,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,44,45,68,46,47,48,50,51,2,66,1,555,666,54,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,23,67,25,56,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,667,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,2,66,10,162,668,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,125,126,-257,-257,-257,-257,-257,-257,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,125,126,-259,-259,-259,-259,-259,-259,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,27,6,60,1,5,20,4,52,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-116,-116,-116,-116,669,-116,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,670,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,59,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,17,45,8,1,1,1,1,1,1,1,22,8,10,1,1,1,2,1,269,100,101,271,104,272,255,105,106,273,571,671,274,266,267,268,275,23,6,39,8,1,1,1,1,1,1,1,6,1,5,10,8,6,3,1,1,1,1,2,1,-109,269,100,101,271,104,272,255,105,106,-109,-109,-109,273,571,-109,672,270,274,266,267,268,275,5,6,60,1,5,24,-111,-111,-111,-111,-111,6,6,60,1,5,19,5,-114,-114,-114,-114,673,-114,27,6,60,1,5,20,4,52,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-118,-118,-118,-118,127,-118,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,674,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,6,6,60,1,5,19,5,-124,-124,-124,-124,-124,-124,23,92,12,44,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,127,675,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,9,6,60,1,5,11,1,1,11,24,-136,-136,-136,-136,-136,-136,-136,-136,-136,9,6,60,1,5,11,1,1,11,24,-137,-137,-137,-137,-137,-137,-137,-137,-137,2,57,1,676,255,2,57,1,677,255,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,678,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,679,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,9,6,60,1,5,11,1,1,11,24,-134,-134,-134,-134,-134,-134,-134,-134,-134,9,6,60,1,5,11,1,1,11,24,-135,-135,-135,-135,-135,-135,-135,-135,-135,4,59,1,2,2,-60,-60,-60,-60,2,6,61,107,680,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,125,126,-406,-406,-406,-406,-406,-406,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,681,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-238,-238,-238,-238,-238,-238,-238,-238,127,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,125,126,96,97,-238,-238,-238,-238,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,682,-284,-284,-284,-284,-284,-284,-284,-284,125,126,-284,-284,-284,683,-284,-284,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,684,-289,-289,-289,-289,-289,-289,-289,-289,125,126,-289,-289,-289,-289,-289,-289,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,685,-293,-293,-293,-293,-293,-293,-293,-293,125,126,-293,-293,-293,-293,-293,-293,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,686,-297,-297,-297,-297,-297,-297,-297,-297,125,126,-297,-297,-297,-297,-297,-297,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,687,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,688,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,125,126,-300,-300,-300,-300,-300,-300,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,24,67,19,6,56,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-161,-161,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,1,86,689,1,86,690,23,86,6,56,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-66,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,63,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,23,67,25,56,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,691,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,55,1,5,53,1,5,1,1,3,2,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,106,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,1,2,2,5,4,4,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,328,247,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,249,84,85,692,66,42,43,90,91,248,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,44,45,68,46,47,48,50,51,108,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,1,2,2,5,4,4,2,1,1,3,2,2,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,328,247,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,327,102,103,53,52,72,73,93,99,59,83,87,249,84,85,326,66,42,43,90,91,248,693,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,44,45,68,46,47,48,50,51,5,6,60,1,5,50,-195,-195,-195,-195,-195,3,6,60,1,602,603,694,1,86,695,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,54,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,9,1,5,59,1,1,5,32,18,16,-169,-169,-169,-169,-169,-169,-169,-169,-169,6,6,60,1,5,50,2,-176,-176,-176,-176,-176,-176,8,6,60,1,5,23,1,8,18,-217,-217,-217,349,696,-217,-217,-217,2,66,10,162,610,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,3,7,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,3,7,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,697,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,698,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,699,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,700,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,701,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,25,66,10,16,5,51,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,162,702,127,703,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,25,66,10,16,5,51,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,162,704,127,705,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,2,66,10,162,706,1,67,707,4,6,61,78,12,708,-254,-254,-254,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,709,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,2,6,61,-316,-316,2,66,10,162,710,3,54,5,1,711,105,106,8,6,60,1,5,23,1,8,18,-217,-217,-217,535,712,-217,-217,-217,13,1,5,59,1,1,5,32,18,16,10,1,10,1,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,1,142,713,4,55,1,124,2,402,104,714,403,6,55,1,10,113,1,2,402,104,401,715,400,403,5,6,60,1,5,24,-330,-330,-330,-330,-330,3,6,60,1,644,645,716,5,6,60,1,5,24,-335,-335,-335,-335,-335,5,6,60,1,5,24,-337,-337,-337,-337,-337,13,1,5,59,1,1,5,32,18,16,10,1,10,1,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,14,1,5,59,1,1,5,32,18,16,4,6,1,10,1,-341,-341,-341,-341,-341,-341,-341,-341,-341,717,-341,-341,-341,-341,4,55,1,126,5,544,104,410,718,6,55,1,10,116,3,2,544,104,408,410,719,407,5,6,60,1,5,24,-359,-359,-359,-359,-359,3,6,60,1,652,653,720,5,6,60,1,5,24,-364,-364,-364,-364,-364,5,6,60,1,5,24,-365,-365,-365,-365,-365,5,6,60,1,5,24,-367,-367,-367,-367,-367,31,1,5,59,1,1,5,20,12,18,16,10,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-347,-347,-347,-347,-347,-347,127,-347,-347,-347,-347,125,126,-347,-347,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,23,67,25,56,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,721,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,13,1,5,59,1,1,5,32,18,16,10,1,10,1,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,54,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,54,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,9,6,60,1,5,23,1,8,9,9,-217,-217,-217,422,423,-217,-217,722,-217,5,6,60,1,5,32,-147,-147,-147,-147,-147,5,6,60,1,5,32,-148,-148,-148,-148,-148,1,86,723,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,14,39,16,1,24,1,1,7,4,5,5,2,24,37,2,309,154,104,156,157,155,99,724,725,83,158,197,308,196,23,67,25,56,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,726,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,5,6,60,1,5,24,-112,-112,-112,-112,-112,8,6,60,1,5,23,1,8,18,-217,-217,-217,440,727,-217,-217,-217,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,728,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,566,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,23,67,25,56,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,729,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,6,6,60,1,5,19,5,-125,-125,-125,-125,-125,-125,9,6,60,1,5,11,1,1,11,24,-138,-138,-138,-138,-138,-138,-138,-138,-138,9,6,60,1,5,11,1,1,11,24,-139,-139,-139,-139,-139,-139,-139,-139,-139,23,86,6,56,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,730,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,731,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,1,65,732,23,67,25,56,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,733,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,734,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,735,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,736,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,737,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,738,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,739,-291,-291,-291,-291,-291,-291,-291,-291,125,126,-291,-291,-291,-291,-291,-291,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,740,-295,-295,-295,-295,-295,-295,-295,-295,125,126,-295,-295,-295,-295,-295,-295,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,63,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,63,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,1,86,741,5,6,60,1,5,50,-196,-196,-196,-196,-196,8,6,60,1,5,23,1,8,18,-217,-217,-217,478,742,-217,-217,-217,5,6,60,1,5,50,-197,-197,-197,-197,-197,63,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,3,6,60,1,492,493,743,25,66,10,16,56,1,9,1,1,4,28,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,162,744,127,124,125,126,96,97,745,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,25,66,10,16,5,51,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,162,746,127,747,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,24,66,10,16,56,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,162,748,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,24,66,10,16,56,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,162,749,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,24,66,10,16,56,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,162,750,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,751,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,752,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,1,67,753,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,3,67,78,12,-255,-255,-255,24,66,6,20,56,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-204,-204,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,13,1,5,59,1,1,5,32,18,16,10,1,10,1,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,3,6,60,30,644,645,754,3,54,5,1,755,105,106,5,6,60,1,5,24,-331,-331,-331,-331,-331,8,6,60,1,5,23,1,8,18,-217,-217,-217,535,756,-217,-217,-217,5,6,60,1,5,24,-332,-332,-332,-332,-332,3,54,5,1,757,105,106,5,6,60,1,5,24,-360,-360,-360,-360,-360,8,6,60,1,5,23,1,8,18,-217,-217,-217,542,758,-217,-217,-217,5,6,60,1,5,24,-361,-361,-361,-361,-361,13,1,5,59,1,1,5,32,18,16,10,1,10,1,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,2,66,1,555,759,54,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,4,94,69,2,2,760,460,462,463,11,55,1,24,1,1,7,4,10,2,24,39,154,104,156,157,155,99,761,159,158,197,196,5,6,60,1,5,24,-117,-117,-117,-117,-117,3,6,60,1,568,569,762,27,6,60,1,5,20,4,52,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-116,-116,-116,-116,127,-116,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,5,6,60,1,5,24,-119,-119,-119,-119,-119,9,6,60,1,5,11,1,1,11,24,-140,-140,-140,-140,-140,-140,-140,-140,-140,23,67,25,56,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,763,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,4,59,1,2,2,-61,-61,-61,-61,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,125,126,-285,-285,-285,764,-285,-285,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,765,-286,-286,-286,-286,-286,-286,-286,-286,125,126,-286,-286,-286,-286,-286,-286,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,125,126,-290,-290,-290,-290,-290,-290,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,125,126,-294,-294,-294,-294,-294,-294,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,125,126,-298,-298,-298,-298,-298,-298,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,766,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,767,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,63,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,3,6,60,1,602,603,768,6,6,60,1,5,50,2,-177,-177,-177,-177,-177,-177,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,769,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,770,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,24,66,10,16,56,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,162,771,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,24,66,10,16,56,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,162,772,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,1,142,773,13,1,5,59,1,1,5,32,18,16,10,1,10,1,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,3,6,60,1,644,645,774,13,1,5,59,1,1,5,32,18,16,10,1,10,1,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,3,6,60,1,652,653,775,5,6,60,1,5,32,-149,-149,-149,-149,-149,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,776,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,1,94,777,5,6,60,1,5,24,-113,-113,-113,-113,-113,1,86,778,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,779,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,780,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,125,126,-292,-292,-292,-292,-292,-292,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,125,126,-296,-296,-296,-296,-296,-296,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,5,6,60,1,5,50,-198,-198,-198,-198,-198,24,66,10,16,56,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,162,781,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,24,66,10,16,56,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,162,782,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,3,54,5,1,783,105,106,5,6,60,1,5,24,-333,-333,-333,-333,-333,5,6,60,1,5,24,-362,-362,-362,-362,-362,45,1,5,59,1,1,5,14,5,1,2,1,1,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-289,-289,-289,-289,-289,786,-289,-289,-289,-289,784,-289,785,-289,-289,-289,-289,-289,-289,-289,-289,125,126,-289,-289,-289,-289,-289,-289,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,787,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,9,6,60,1,5,11,1,1,11,24,-141,-141,-141,-141,-141,-141,-141,-141,-141,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,125,126,-287,-287,-287,-287,-287,-287,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,125,126,-288,-288,-288,-288,-288,-288,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,13,1,5,59,1,1,5,32,18,16,10,1,10,1,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,1,96,788,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,789,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,6,6,60,1,29,8,18,-218,-218,-218,-218,-218,-218,45,1,5,59,1,1,5,14,5,1,2,1,1,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-291,-291,-291,-291,-291,786,-291,-291,-291,-291,790,-291,791,-291,-291,-291,-291,-291,-291,-291,-291,125,126,-291,-291,-291,-291,-291,-291,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,59,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,45,1,5,59,1,1,5,14,5,1,2,1,1,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-290,-290,-290,-290,-290,786,-290,-290,-290,-290,792,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,125,126,-290,-290,-290,-290,-290,-290,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,1,96,793,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,794,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,1,96,795,59,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,45,1,5,59,1,1,5,14,5,1,2,1,1,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-292,-292,-292,-292,-292,786,-292,-292,-292,-292,796,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,125,126,-292,-292,-292,-292,-292,-292,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,59,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,1,96,797,59,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107],W=[],F=0,U,u,f,Y;while(F<$.length){U=$[F++],u={},f=0,Y=[];while(U--)f+=$[F++],Y.push(f);for(f of Y)u[f]=$[F++];W.push(u)}return W})(),ruleTable:[0,0,3,0,3,1,4,1,4,3,4,2,5,1,5,1,5,1,9,1,9,1,9,1,9,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,8,1,8,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,45,1,45,1,55,1,57,1,54,1,54,3,61,1,61,2,63,3,63,5,63,2,63,1,47,1,47,3,71,3,71,1,17,3,17,4,17,5,18,3,18,4,18,5,19,3,19,4,19,3,20,3,20,4,20,5,21,3,21,4,21,3,21,2,21,3,21,2,36,1,36,1,36,1,79,1,79,1,79,3,79,3,79,4,79,6,79,4,79,6,79,4,79,5,79,7,79,3,79,3,79,4,79,6,81,10,81,12,81,11,81,13,81,4,99,0,99,1,99,3,99,4,99,6,100,1,100,1,100,3,100,5,100,3,100,5,102,1,102,1,102,1,90,1,90,3,90,4,90,1,101,2,101,2,107,1,107,1,107,1,107,1,107,1,107,2,107,2,107,2,107,2,107,3,107,3,107,4,107,6,80,2,80,3,80,4,112,1,112,3,112,4,112,4,112,6,114,1,114,2,113,1,113,2,111,1,111,2,116,1,116,2,117,1,117,1,39,5,87,3,87,2,87,2,87,1,32,6,32,3,15,5,15,2,34,5,34,2,125,1,125,1,121,0,121,1,121,3,121,4,121,6,128,1,128,3,128,2,128,1,129,1,129,1,129,1,129,1,130,2,40,2,40,2,40,3,40,2,40,2,109,2,109,4,132,1,132,3,132,4,132,4,132,6,115,1,115,1,115,1,115,1,133,1,133,3,42,1,42,1,82,2,43,3,43,4,43,6,44,3,44,3,76,2,76,3,38,3,38,5,95,0,95,1,10,2,10,4,10,1,30,2,30,4,31,1,31,2,31,4,31,3,143,3,143,5,146,3,146,5,22,1,22,3,22,1,22,3,22,3,22,7,22,5,22,3,22,3,23,2,23,3,23,4,23,5,151,3,151,3,151,2,26,5,26,7,26,4,26,6,155,1,155,2,156,3,156,4,158,2,158,4,158,2,158,4,24,2,24,2,24,2,24,1,161,2,161,2,161,3,25,5,25,7,25,7,25,9,25,9,25,5,25,7,25,6,25,8,25,5,25,7,25,6,25,8,25,5,25,7,25,3,25,5,25,5,25,7,25,7,25,9,25,9,25,5,25,7,25,6,25,8,25,5,25,7,25,6,25,8,25,5,25,7,25,3,25,5,168,1,168,3,93,1,93,3,27,1,27,2,27,3,27,4,27,2,27,3,27,4,27,5,33,3,28,4,173,1,173,3,173,2,174,1,174,1,174,1,29,2,12,2,12,4,12,4,12,5,12,7,12,6,12,9,179,1,179,3,179,4,179,4,179,6,180,1,180,3,180,1,180,3,177,1,178,3,13,3,13,5,13,2,13,2,13,2,13,2,13,4,13,5,13,6,13,2,13,2,13,2,13,2,13,3,13,5,13,4,13,5,13,7,185,1,185,3,185,4,185,4,185,6,187,1,187,3,187,3,187,1,187,3,35,2,35,2,35,2,16,2,16,2,16,2,16,2,16,2,16,2,16,2,16,2,16,2,16,4,16,2,16,2,16,2,16,2,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,5,16,3,16,5,16,4,41,2],ruleActions:($,W,F,U)=>{let u=W,f=W.length-1;switch($){case 1:return["program"];case 2:return["program",...u[f]];case 3:case 58:case 110:case 150:case 154:case 174:case 194:case 203:case 252:case 303:case 315:case 329:case 358:return[u[f]];case 4:case 111:case 175:case 195:case 204:case 316:case 330:case 359:return[...u[f-2],u[f]];case 5:case 60:case 157:case 317:return u[f-1];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:case 44:case 45:case 46:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 63:case 64:case 86:case 87:case 88:case 89:case 90:case 115:case 120:case 121:case 122:case 123:case 126:case 129:case 130:case 131:case 132:case 133:case 145:case 171:case 172:case 178:case 182:case 183:case 184:case 185:case 199:case 200:case 201:case 217:case 218:case 232:case 234:case 263:case 301:case 318:case 319:case 320:case 334:case 336:case 338:case 363:case 366:return u[f];case 47:return"undefined";case 48:return"null";case 57:return["str",...u[f-1]];case 59:case 151:case 155:case 253:return[...u[f-1],u[f]];case 61:case 193:case 197:case 332:case 361:return u[f-2];case 62:return"";case 65:return["regex",u[f-1]];case 66:return["regex-index",u[f-2],u[f]];case 67:return["regex-index",u[f],null];case 68:return["=",u[f-2],u[f]];case 69:return["=",u[f-3],u[f]];case 70:return["=",u[f-4],u[f-1]];case 71:return["state",u[f-2],u[f]];case 72:return["state",u[f-3],u[f]];case 73:return["state",u[f-4],u[f-1]];case 74:case 76:return["computed",u[f-2],u[f]];case 75:return["computed",u[f-3],u[f]];case 77:return["readonly",u[f-2],u[f]];case 78:return["readonly",u[f-3],u[f]];case 79:return["readonly",u[f-4],u[f-1]];case 80:case 82:return["effect",u[f-2],u[f]];case 81:return["effect",u[f-3],u[f]];case 83:case 84:case 85:return["effect",null,u[f]];case 91:case 100:case 138:return[".",u[f-2],u[f]];case 92:case 101:case 139:return["?.",u[f-2],u[f]];case 93:case 95:case 102:case 140:return["[]",u[f-3],u[f-1]];case 94:case 96:case 103:case 141:return["[]",u[f-5],u[f-2]];case 97:return[u[f-1][0],u[f-3],...u[f-1].slice(1)];case 98:return["optindex",u[f-4],u[f-1]];case 99:return["optindex",u[f-6],u[f-2]];case 104:return["object-comprehension",u[f-8],u[f-6],[["for-of",u[f-4],u[f-2],!1]],[]];case 105:return["object-comprehension",u[f-10],u[f-8],[["for-of",u[f-6],u[f-4],!1]],[u[f-2]]];case 106:return["object-comprehension",u[f-9],u[f-7],[["for-of",u[f-4],u[f-2],!0]],[]];case 107:return["object-comprehension",u[f-11],u[f-9],[["for-of",u[f-6],u[f-4],!0]],[u[f-2]]];case 108:return["object",...u[f-2]];case 109:case 152:case 173:case 192:return[];case 112:case 176:case 196:case 331:case 360:return[...u[f-3],u[f]];case 113:case 177:case 198:case 333:case 362:return[...u[f-5],...u[f-2]];case 114:return[u[f],u[f],null];case 116:return[u[f-2],u[f],":"];case 117:return[u[f-4],u[f-1],":"];case 118:return[u[f-2],u[f],"="];case 119:return[u[f-4],u[f-1],"="];case 124:return["dynamicKey",u[f-1]];case 125:return["[]","this",u[f-1]];case 127:case 128:case 186:return["...",u[f]];case 134:case 190:return["super",...u[f]];case 135:case 136:case 137:case 188:case 191:return[u[f-1],...u[f]];case 142:return["array"];case 143:return["array",...u[f-1]];case 144:return["array",...u[f-2],...u[f-1]];case 146:return[...u[f-2],...u[f]];case 147:return[...u[f-3],...u[f]];case 148:return[...u[f-2],...u[f-1]];case 149:return[...u[f-5],...u[f-4],...u[f-2],...u[f-1]];case 153:return[...u[f]];case 156:return null;case 158:return"..";case 159:case 202:return"...";case 160:return[u[f-2],u[f-3],u[f-1]];case 161:case 387:case 389:case 390:case 405:case 407:return[u[f-1],u[f-2],u[f]];case 162:return[u[f],u[f-1],null];case 163:return[u[f-1],null,u[f]];case 164:return[u[f],null,null];case 165:return["def",u[f-4],u[f-2],u[f]];case 166:return["def",u[f-1],[],u[f]];case 167:case 169:return[u[f-1],u[f-3],u[f]];case 168:case 170:return[u[f-1],[],u[f]];case 179:case 302:return["default",u[f-2],u[f]];case 180:return["rest",u[f]];case 181:return["expansion"];case 187:return["tagged-template",u[f-1],u[f]];case 189:return["optcall",u[f-2],...u[f]];case 205:case 206:return"this";case 207:return[".","this",u[f]];case 208:return[".","super",u[f]];case 209:return["[]","super",u[f-1]];case 210:return["[]","super",u[f-2]];case 211:return[".","new",u[f]];case 212:return[".","import",u[f]];case 213:return["block"];case 214:return["block",...u[f-1]];case 215:return u[f-1].length===1?u[f-1][0]:["block",...u[f-1]];case 216:return u[f-2].length===1?u[f-2][0]:["block",...u[f-2]];case 219:return["return",u[f]];case 220:return["return",u[f-1]];case 221:return["return"];case 222:return["throw",u[f]];case 223:return["throw",u[f-1]];case 224:return["yield"];case 225:return["yield",u[f]];case 226:return["yield",u[f-1]];case 227:return["yield-from",u[f]];case 228:return["if",u[f-1],u[f]];case 229:return u[f-4].length===3?["if",u[f-4][1],u[f-4][2],["if",u[f-1],u[f]]]:[...u[f-4],["if",u[f-1],u[f]]];case 230:return["if",["!",u[f-1]],u[f]];case 231:return["if",["!",u[f-3]],u[f-2],u[f]];case 233:return u[f-2].length===3?["if",u[f-2][1],u[f-2][2],u[f]]:[...u[f-2],u[f]];case 235:case 236:return["if",u[f],[u[f-2]]];case 237:return["?:",u[f-4],u[f-6],u[f-1]];case 238:return["?:",u[f-2],u[f-4],u[f]];case 239:case 240:return["if",["!",u[f]],[u[f-2]]];case 241:return["try",u[f]];case 242:return["try",u[f-1],u[f]];case 243:return["try",u[f-2],u[f]];case 244:return["try",u[f-3],u[f-2],u[f]];case 245:case 246:case 368:case 371:case 373:return[u[f-1],u[f]];case 247:return[null,u[f]];case 248:return["switch",u[f-3],u[f-1],null];case 249:return["switch",u[f-5],u[f-3],u[f-1]];case 250:return["switch",null,u[f-1],null];case 251:return["switch",null,u[f-3],u[f-1]];case 254:return["when",u[f-1],u[f]];case 255:return["when",u[f-2],u[f-1]];case 256:return["while",u[f]];case 257:return["while",u[f-2],u[f]];case 258:return["while",["!",u[f]]];case 259:return["while",["!",u[f-2]],u[f]];case 260:return u[f-1].length===2?[u[f-1][0],u[f-1][1],u[f]]:[u[f-1][0],u[f-1][1],u[f-1][2],u[f]];case 261:case 262:return u[f].length===2?[u[f][0],u[f][1],[u[f-1]]]:[u[f][0],u[f][1],u[f][2],[u[f-1]]];case 264:return["loop",u[f]];case 265:return["loop",[u[f]]];case 266:return["loop-n",u[f-1],u[f]];case 267:return["for-in",u[f-3],u[f-1],null,null,u[f]];case 268:return["for-in",u[f-5],u[f-3],null,u[f-1],u[f]];case 269:return["for-in",u[f-5],u[f-3],u[f-1],null,u[f]];case 270:return["for-in",u[f-7],u[f-5],u[f-1],u[f-3],u[f]];case 271:return["for-in",u[f-7],u[f-5],u[f-3],u[f-1],u[f]];case 272:return["for-of",u[f-3],u[f-1],!1,null,u[f]];case 273:return["for-of",u[f-5],u[f-3],!1,u[f-1],u[f]];case 274:return["for-of",u[f-3],u[f-1],!0,null,u[f]];case 275:return["for-of",u[f-5],u[f-3],!0,u[f-1],u[f]];case 276:return["for-as",u[f-3],u[f-1],!1,null,u[f]];case 277:return["for-as",u[f-5],u[f-3],!1,u[f-1],u[f]];case 278:case 280:return["for-as",u[f-3],u[f-1],!0,null,u[f]];case 279:case 281:return["for-as",u[f-5],u[f-3],!0,u[f-1],u[f]];case 282:return["for-in",[],u[f-1],null,null,u[f]];case 283:return["for-in",[],u[f-3],u[f-1],null,u[f]];case 284:return["comprehension",u[f-4],[["for-in",u[f-2],u[f],null]],[]];case 285:return["comprehension",u[f-6],[["for-in",u[f-4],u[f-2],null]],[u[f]]];case 286:return["comprehension",u[f-6],[["for-in",u[f-4],u[f-2],u[f]]],[]];case 287:return["comprehension",u[f-8],[["for-in",u[f-6],u[f-4],u[f]]],[u[f-2]]];case 288:return["comprehension",u[f-8],[["for-in",u[f-6],u[f-4],u[f-2]]],[u[f]]];case 289:return["comprehension",u[f-4],[["for-of",u[f-2],u[f],!1]],[]];case 290:return["comprehension",u[f-6],[["for-of",u[f-4],u[f-2],!1]],[u[f]]];case 291:return["comprehension",u[f-5],[["for-of",u[f-2],u[f],!0]],[]];case 292:return["comprehension",u[f-7],[["for-of",u[f-4],u[f-2],!0]],[u[f]]];case 293:return["comprehension",u[f-4],[["for-as",u[f-2],u[f],!1,null]],[]];case 294:return["comprehension",u[f-6],[["for-as",u[f-4],u[f-2],!1,null]],[u[f]]];case 295:return["comprehension",u[f-5],[["for-as",u[f-2],u[f],!0,null]],[]];case 296:return["comprehension",u[f-7],[["for-as",u[f-4],u[f-2],!0,null]],[u[f]]];case 297:return["comprehension",u[f-4],[["for-as",u[f-2],u[f],!0,null]],[]];case 298:return["comprehension",u[f-6],[["for-as",u[f-4],u[f-2],!0,null]],[u[f]]];case 299:return["comprehension",u[f-2],[["for-in",[],u[f],null]],[]];case 300:return["comprehension",u[f-4],[["for-in",[],u[f-2],u[f]]],[]];case 304:case 335:case 337:case 364:case 365:case 367:return[u[f-2],u[f]];case 305:return["class",null,null];case 306:return["class",null,null,u[f]];case 307:return["class",null,u[f]];case 308:return["class",null,u[f-1],u[f]];case 309:return["class",u[f],null];case 310:return["class",u[f-1],null,u[f]];case 311:return["class",u[f-2],u[f]];case 312:return["class",u[f-3],u[f-1],u[f]];case 313:return["enum",u[f-1],u[f]];case 314:return["component",null,["block",...u[f-1]]];case 321:return["render",u[f]];case 322:case 325:return["import","{}",u[f]];case 323:case 324:return["import",u[f-2],u[f]];case 326:return["import",u[f-4],u[f]];case 327:return["import",[u[f-4],u[f-2]],u[f]];case 328:return["import",[u[f-7],u[f-4]],u[f]];case 339:return["*",u[f]];case 340:return["export","{}"];case 341:return["export",u[f-2]];case 342:case 343:case 344:case 345:case 349:case 350:case 351:case 352:return["export",u[f]];case 346:return["export",["=",u[f-2],u[f]]];case 347:return["export",["=",u[f-3],u[f]]];case 348:return["export",["=",u[f-4],u[f-1]]];case 353:return["export-default",u[f]];case 354:return["export-default",u[f-1]];case 355:return["export-all",u[f]];case 356:return["export-from","{}",u[f]];case 357:return["export-from",u[f-4],u[f]];case 369:case 370:case 372:case 410:return["do-iife",u[f]];case 374:return["-",u[f]];case 375:return["+",u[f]];case 376:return["?",u[f-1]];case 377:return["defined",u[f-1]];case 378:return["presence",u[f-1]];case 379:return["await",u[f]];case 380:return["await",u[f-1]];case 381:return["--",u[f],!1];case 382:return["++",u[f],!1];case 383:return["--",u[f-1],!0];case 384:return["++",u[f-1],!0];case 385:return["+",u[f-2],u[f]];case 386:return["-",u[f-2],u[f]];case 388:return["**",u[f-2],u[f]];case 391:return["&",u[f-2],u[f]];case 392:return["^",u[f-2],u[f]];case 393:return["|",u[f-2],u[f]];case 394:case 395:case 396:case 397:case 398:case 399:return["control",u[f-1],u[f-2],u[f]];case 400:return["&&",u[f-2],u[f]];case 401:return["||",u[f-2],u[f]];case 402:return["??",u[f-2],u[f]];case 403:return["!?",u[f-2],u[f]];case 404:return["|>",u[f-2],u[f]];case 406:return["?:",u[f-4],u[f-2],u[f]];case 408:return[u[f-3],u[f-4],u[f-1]];case 409:return[u[f-2],u[f-3],u[f]]}},parseError($,W){let F,U,u,f,Y,_,A;if(W.recoverable)return this.trace($);else throw u=(W.line||0)+1,F=W.loc?.c||0,A=W.token?` (token: ${W.token})`:"",_=W.text?` near '${W.text}'`:"",f=`line ${u}, column ${F}`,Y=`Parse error at ${f}${A}${_}: ${$}`,U=Error(Y),U.hash=W,U},parse($){let W,F,U,u,f,Y,_,A,J,R,X,z,Z,K,w,Q,M,H,O,q,E,I,D,G,P,B;[q,B,R]=[[0],[null],[]],[Z,P,D,I,Q]=[this.parseTable,"",0,0,0],[F,W]=[2,1],A=Object.create(this.lexer),H={ctx:{}};for(let N in this.ctx){if(!Object.hasOwn(this.ctx,N))continue;let T=this.ctx[N];H.ctx[N]=T}if(A.setInput($,H.ctx),[H.ctx.lexer,H.ctx.parser]=[A,this],A.loc==null)A.loc={};G=A.loc,R.push(G),this.parseError=typeof H.ctx.parseError==="function"?H.ctx.parseError:Object.getPrototypeOf(this).parseError,_=()=>{let N;if(N=A.lex()||W,typeof N!=="number")N=this.symbolIds[N]||N;return N},E=K=O=U=w=z=Y=X=f=null,M={};while(!0){if(O=q[q.length-1],E==null)E=_();if(U=Z[O]?.[E],U==null){if(u="",!Q)f=(()=>{let N=[];for(let T in Z[O]){if(!Object.hasOwn(Z[O],T))continue;if(this.tokenNames[T]&&T>F)N.push(`'${this.tokenNames[T]}'`)}return N})();throw u=(()=>{if(A.showPosition)return`Parse error on line ${D+1}:
10
+ `)u--;u++;let f=this.chunk.slice(u,U),Y=/^\s*$/.test(f)?f.length:null,_="";for(let w of F)if(w[0]==="NEOSTRING")_+=w[1];let A=null,J;w2.lastIndex=0;while(J=w2.exec(_))if(A===null||J[1].length>0&&J[1].length<A.length)A=J[1];if(Y===null)return A;if(A===null)return" ".repeat(Y);if(Y<=A.length)return" ".repeat(Y);return A}matchWithInterpolations($,W,F,U){if(!F)F=W;if(!U)U=/^[#$]\{/;let u=[],f=W.length;if(this.chunk.slice(0,f)!==W)return null;let Y=this.chunk.slice(f);while(!0){let[_]=$.exec(Y);u.push(["NEOSTRING",_,{offset:f}]),Y=Y.slice(_.length),f+=_.length;let A=U.exec(Y);if(!A)break;let w=A[0].length-1,z=Y.slice(w),X=new p().tokenize(z,{row:this.row,col:this.col+f+w,untilBalanced:!0,rewrite:!1}),Z=X.index+w;if(Y[Z-1]==="}"){let R=X.tokens[0],Q=X.tokens[X.tokens.length-1];R[0]="INTERPOLATION_START",R[1]="(",Q[0]="INTERPOLATION_END",Q[1]=")"}if(X.tokens[1]?.[0]==="TERMINATOR")X.tokens.splice(1,1);let K=X.tokens.length;if(K>2&&X.tokens[K-3]?.[0]==="INDENT"&&X.tokens[K-2]?.[0]==="OUTDENT")X.tokens.splice(K-3,2);u.push(["TOKENS",X.tokens]),Y=Y.slice(Z),f+=Z}if(Y.slice(0,F.length)!==F)l(`missing ${F}`,{row:this.row,col:this.col});return{tokens:u,index:f+F.length}}mergeInterpolationTokens($,{quote:W,indent:F,endOffset:U,raw:u}){if($.length>1)this.emit("STRING_START","(",{len:W?.length||0,data:{quote:W}});for(let f=0;f<$.length;f++){let[Y,_]=$[f];if(Y==="TOKENS")for(let A of _)this.tokens.push(A);else if(Y==="NEOSTRING"){let A=_;if(F){let J=new RegExp("\\n"+F,"g");A=A.replace(J,`
11
+ `)}if(f===0&&W?.length===3)A=A.replace(/^\n/,"");if(f===$.length-1&&W?.length===3)A=A.replace(/\n[^\S\n]*$/,"");if(u)A=A.replace(/\\([nrtbfv0\\'"`xu])/g,"\\\\$1");this.emit("STRING",`"${A}"`,{len:_.length,data:{quote:W}})}}if($.length>1)this.emit("STRING_END",")",{len:W?.length||0});return U}numberToken(){let $=J3.exec(this.chunk);if(!$)return 0;let W=$[0],F=W.length,U={row:this.row,col:this.col};if(/^0[BOX]/.test(W))l(`radix prefix in '${W}' must be lowercase`,{...U,col:U.col+1});if(/^0\d*[89]/.test(W))l(`decimal literal '${W}' must not be prefixed with '0'`,{...U,len:F});if(/^0\d+/.test(W))l(`octal literal '${W}' must be prefixed with '0o'`,{...U,len:F});let u=h3(W),f=u===1/0?"INFINITY":"NUMBER",Y={parsedValue:u};if(f==="INFINITY")Y.original=W;return this.emit(f,W,{len:F,data:Y}),F}regexToken(){let $=this.matchWithInterpolations(B3,"///");if($){let{tokens:J,index:w}=$,[z]=J2.exec(this.chunk.slice(w)),X=w+z.length;if(J.length===1||!J.some((Z)=>Z[0]==="TOKENS")){let Z=(J[0]?.[1]||"").replace(/(?<!\\)\//g,"\\/");this.emit("REGEX",`/${Z}/${z}`,{len:X,data:{delimiter:"///",heregex:{flags:z}}})}else{if(this.emit("REGEX_START","(",{len:0}),this.emit("IDENTIFIER","RegExp",{len:0}),this.emit("CALL_START","(",{len:0}),this.mergeInterpolationTokens(J,{quote:"///",endOffset:X-z.length}),z)this.emit(",",",",{len:0}),this.emit("STRING",`"${z}"`,{len:z.length});this.emit(")",")",{len:0}),this.emit("REGEX_END",")",{len:0})}return X}let W=I3.exec(this.chunk);if(!W)return 0;let[F,U,u]=W,f=this.prev();if(f){if(f.spaced&&H1.has(f[0])&&(!u||/^\/=?\s/.test(F)))return 0;if(Y3.has(f[0])&&!(f.spaced&&H1.has(f[0])))return 0}if(!u)l("missing / (unclosed regex)",{row:this.row,col:this.col});let Y=F.length,[_]=J2.exec(this.chunk.slice(Y)),A=Y+_.length;if(!E3.test(_))l(`invalid regular expression flags ${_}`,{row:this.row,col:this.col+Y,len:_.length});return this.emit("REGEX",`/${U}/${_}`,{len:A,data:{delimiter:"/"}}),A}jsToken(){if(this.chunk[0]!=="`")return 0;let $=T3.exec(this.chunk)||N3.exec(this.chunk);if(!$)return 0;let W=$[1],F=$[0].length;return this.emit("JS",W,{len:F,data:{here:$[0].startsWith("```")}}),F}literalToken(){let $=Q3.exec(this.chunk),W=$?$[0]:this.chunk.charAt(0),F=W,U=this.prev();if(M3.test(W))this.tagParameters();if(W==="="&&U&&U[1]==="."&&!U.spaced){let u=this.tokens,f=u.length-2;while(f>=1&&u[f][0]==="PROPERTY"&&u[f-1]?.[1]===".")f-=2;if(f>=0&&(u[f][0]==="IDENTIFIER"||u[f][0]===")"||u[f][0]==="]")){let Y=u.slice(f,u.length-1);U[0]="=",U[1]="=";for(let _ of Y)this.tokens.push(q1(_[0],_[1],{pre:0,row:_[2],col:_[3],len:_[4]}));return this.tokens.push(q1(".",".",{pre:0,row:this.row,col:this.col,len:1})),W.length}}if(U&&(W==="="||R2.has(W))){if(W==="="&&(U[1]==="||"||U[1]==="&&"||U[1]==="??")&&!U.spaced)return U[0]="COMPOUND_ASSIGN",U[1]+="=",W.length}if(W==="("&&U?.[0]==="IMPORT")U[0]="DYNAMIC_IMPORT";if(W==="{"&&this.seenImport)this.importSpecifierList=!0;if(W==="}"&&this.importSpecifierList)this.importSpecifierList=!1;if(W==="{"&&U?.[0]==="EXPORT")this.exportSpecifierList=!0;if(W==="}"&&this.exportSpecifierList)this.exportSpecifierList=!1;if(W===";")this.seenFor=this.seenImport=this.seenExport=!1,F="TERMINATOR";else if(W==="|>")F="PIPE";else if(W==="::=")F="TYPE_ALIAS";else if(W==="::"&&/^[a-zA-Z_$]/.test(this.chunk[2]||""))return this.emit(".","."),this.emit("PROPERTY","prototype"),this.emit(".","."),2;else if(W==="::")F="TYPE_ANNOTATION";else if(W==="~=")F="COMPUTED_ASSIGN";else if(W===":=")F="REACTIVE_ASSIGN";else if(W==="<=>")F="BIND";else if(W==="~>")F="EFFECT";else if(W==="=!")F="READONLY_ASSIGN";else if(W==="*"&&(!U||U[0]==="TERMINATOR"||U[0]==="INDENT"||U[0]==="OUTDENT")&&(/^[a-zA-Z_$]/.test(this.chunk[1]||"")||this.chunk[1]==="@")){let u=this.chunk.slice(1),f=/^@(\s*)=(?!=)/.exec(u);if(f){let _=f[1];this.emit("IDENTIFIER","Object"),this.emit(".",".");let A=this.emit("PROPERTY","assign");return A.spaced=!0,this.emit("@","@"),this.emit(",",","),2+_.length+1}let Y=/^((?:(?!\s)[$\w\x7f-\uffff])+(?:\.[a-zA-Z_$][\w]*)*)(\s*)=(?!=)/.exec(u);if(Y){let _=Y[1],A=Y[2],J=_.split("."),w=()=>{this.emit("IDENTIFIER",J[0]);for(let X=1;X<J.length;X++)this.emit(".","."),this.emit("PROPERTY",J[X])};w(),this.emit("=","="),this.emit("IDENTIFIER","Object"),this.emit(".","."),this.emit("PROPERTY","assign"),this.emit("CALL_START","("),w(),this.emit("COMPOUND_ASSIGN","??="),this.emit("{","{"),this.emit("}","}"),this.emit(",",",");let z=this.prev();return z.mergeClose=!0,1+_.length+A.length+1}}else if(W==="*"&&U?.[0]==="EXPORT")F="EXPORT_ALL";else if(_3.has(W))F="MATH";else if(A3.has(W))F="COMPARE";else if(R2.has(W))F="COMPOUND_ASSIGN";else if(R3.has(W))F="UNARY_MATH";else if(Z3.has(W))F="SHIFT";else if(W==="?"&&U?.spaced)F="TERNARY";else if(W==="!?"&&U&&!U.spaced)F="DEFINED";else if(W==="?!"&&U&&!U.spaced)F="PRESENCE";else if(W==="?"&&(this.chunk[1]==="["||this.chunk[1]==="("))F="?.";else if(U){if(W==="("&&!U.spaced&&H1.has(U[0])){if(U[0]==="?.")U[0]="ES6_OPTIONAL_CALL";F="CALL_START"}if(W==="["&&!U.spaced&&X2.has(U[0])){if(F="INDEX_START",U[0]==="?.")U[0]="ES6_OPTIONAL_INDEX"}}if(W==="("||W==="{"||W==="[")this.ends.push({tag:U3[W],origin:[F,W]});else if(W===")"||W==="}"||W==="]")this.pair(W);return this.emit(F,W,{len:W.length}),W.length}tagParameters(){if(this.prevTag()!==")")return this.tagDoIife();let $=this.tokens.length-1,W=[];this.tokens[$][0]="PARAM_END";while($-- >0){let F=this.tokens[$];if(F[0]===")")W.push(F);else if(F[0]==="("||F[0]==="CALL_START")if(W.length)W.pop();else if(F[0]==="(")return F[0]="PARAM_START",this.tagDoIife($-1);else{this.tokens[this.tokens.length-1][0]="CALL_END";return}}}tagDoIife($){let W=this.tokens[$??this.tokens.length-1];if(W?.[0]==="DO")W[0]="DO_IIFE"}rewrite($){return this.tokens=$,this.removeLeadingNewlines(),this.closeOpenCalls(),this.closeOpenIndexes(),this.normalizeLines(),this.rewriteRender?.(),this.rewriteTypes(),this.tagPostfixConditionals(),this.addImplicitBracesAndParens(),this.addImplicitCallCommas(),this.closeMergeAssignments(),this.tokens}removeLeadingNewlines(){let $=0;while(this.tokens[$]?.[0]==="TERMINATOR")$++;if($>0)this.tokens.splice(0,$)}closeOpenCalls(){this.scanTokens(($,W)=>{if($[0]==="CALL_START")this.detectEnd(W+1,(F)=>F[0]===")"||F[0]==="CALL_END",(F)=>F[0]="CALL_END");return 1})}closeOpenIndexes(){this.scanTokens(($,W)=>{if($[0]==="INDEX_START")this.detectEnd(W+1,(F)=>F[0]==="]"||F[0]==="INDEX_END",(F,U)=>{if(this.tokens[U+1]?.[0]===":")$[0]="[",F[0]="]";else F[0]="INDEX_END"});return 1})}normalizeLines(){let $=null,W=null,F=null,U=(f,Y)=>{return f[1]!==";"&&F3.has(f[0])&&!(f[0]==="TERMINATOR"&&Y2.has(this.tokens[Y+1]?.[0]))&&!(f[0]==="ELSE"&&$!=="THEN")||f[0]==="INDENT"&&!f.generated&&($==="->"||$==="=>")||f[0]===","&&($==="->"||$==="=>")&&!this.commaInImplicitCall(Y)&&!this.commaInImplicitObject(Y)||A2.has(f[0])&&(this.tokens[Y-1]?.newLine||this.tokens[Y-1]?.[0]==="OUTDENT")},u=(f,Y)=>{let _=this.tokens[Y-1]?.[0]===","?Y-1:Y;this.tokens.splice(_,0,F)};this.scanTokens((f,Y,_)=>{let[A]=f;if(A==="TERMINATOR"){if(this.tokens[Y+1]?.[0]==="ELSE"&&this.tokens[Y-1]?.[0]!=="OUTDENT")return _.splice(Y,1,...this.makeIndentation()),1;if(Y2.has(this.tokens[Y+1]?.[0]))return _.splice(Y,1),0}if(A==="CATCH")for(let J=1;J<=2;J++){let w=this.tokens[Y+J]?.[0];if(w==="OUTDENT"||w==="TERMINATOR"||w==="FINALLY")return _.splice(Y+J,0,...this.makeIndentation()),2+J}if((A==="->"||A==="=>")&&(this.tokens[Y+1]?.[0]===","||this.tokens[Y+1]?.[0]==="]"))return[W,F]=this.makeIndentation(),_.splice(Y+1,0,W,F),1;if(_2.has(A)&&this.tokens[Y+1]?.[0]!=="INDENT"&&!(A==="ELSE"&&this.tokens[Y+1]?.[0]==="IF")&&!(A==="ELSE"&&this.tokens[Y-1]?.[0]!=="OUTDENT")){if($=A,[W,F]=this.makeIndentation(),A==="THEN")W.fromThen=!0;if(_.splice(Y+1,0,W),this.detectEnd(Y+2,U,u),A==="THEN")_.splice(Y,1);return 1}return 1})}tagPostfixConditionals(){let $=null,W=(U,u)=>{return U[0]==="TERMINATOR"||U[0]==="INDENT"&&!_2.has(this.tokens[u-1]?.[0])},F=(U)=>{if(U[0]!=="INDENT"||U.generated&&!U.fromThen)$[0]="POST_"+$[0]};this.scanTokens((U,u)=>{if(U[0]!=="IF"&&U[0]!=="UNLESS")return 1;if(this.tokens[u-1]?.[0]==="INTERPOLATION_START")return 1;return $=U,this.detectEnd(u+1,W,F),1})}addImplicitBracesAndParens(){let $=[],W=!1;this.scanTokens((F,U,u)=>{let[f]=F,Y=u[U-1]||[],_=u[U+1]||[],[A]=Y,[J]=_,w=U,z=(D)=>U-w+D,X=()=>$[$.length-1],Z=(D)=>D?.[2]?.ours,K=()=>Z(X())&&X()?.[0]==="(",R=()=>Z(X())&&X()?.[0]==="{",Q=(D)=>{$.push(["(",D,{ours:!0}]),u.splice(D,0,i("CALL_START","("))},M=()=>{$.pop(),u.splice(U,0,i("CALL_END",")")),U+=1},H=(D,G={})=>{$.push(["{",D,{sameLine:!0,startsLine:G.startsLine??!0,ours:!0}]);let P=i("{","{");if(!P.data)P.data={};P.data.generated=!0,u.splice(D,0,P)},O=(D)=>{D=D??U,$.pop(),u.splice(D,0,i("}","}")),U+=1};if((K()||R())&&W3.has(f))return $.push(["CONTROL",U,{ours:!0}]),z(1);if(f==="INDENT"&&Z(X())){if(A!=="=>"&&A!=="->"&&A!=="["&&A!=="("&&A!==","&&A!=="{"&&A!=="ELSE"&&A!=="=")while(K()||R()&&A!==":")if(K())M();else O();if(X()?.[2]?.ours&&X()[0]==="CONTROL")$.pop();return $.push([f,U]),z(1)}if(a.has(f))return $.push([f,U]),z(1);if(n.has(f)){while(Z(X()))if(K())M();else if(R())O();else $.pop();$.pop()}if(y1.has(f)&&F.spaced&&(D1.has(J)||J==="..."&&D1.has(u[U+2]?.[0])||u3.has(J)&&!_.spaced&&!_.newLine)&&!((f==="]"||f==="}")&&(J==="->"||J==="=>")))return Q(U+1),z(2);if(y1.has(f)&&this.tokens[U+1]?.[0]==="INDENT"&&this.looksObjectish(U+2)&&!this.findTagsBackwards(U,["CLASS","EXTENDS","IF","CATCH","SWITCH","LEADING_WHEN","FOR","WHILE","UNTIL"]))return Q(U+1),$.push(["INDENT",U+2]),z(3);if(f==="TERNARY")W=!0;if(f===":"){if(W)return W=!1,z(1);let D=n.has(this.tokens[U-1]?.[0])?$[$.length-1]?.[1]??U-1:U-1;if(this.tokens[U-2]?.[0]==="@")D=U-2;let G=D<=0||F1.has(this.tokens[D-1]?.[0])||this.tokens[D-1]?.newLine;if(X()){let[P,B]=X(),N=$[$.length-2];if((P==="{"||P==="INDENT"&&N?.[0]==="{"&&!Z(N))&&(G||this.tokens[D-1]?.[0]===","||this.tokens[D-1]?.[0]==="{"||this.tokens[D]?.[0]==="{"))return z(1)}return H(D,{startsLine:!!G}),z(2)}if(F1.has(f))for(let D=$.length-1;D>=0;D--){if(!Z($[D]))break;if($[D][0]==="{")$[D][2].sameLine=!1}let q=A==="OUTDENT"||Y.newLine,E=f==="||"||f==="&&",I=!1;if(E){let D=U+1,G=u[D]?.[0];if(G==="("||G==="["||G==="{"){for(let P=1;++D<u.length&&P>0;)if(G=u[D][0],G==="("||G==="["||G==="{")P++;else if(G===")"||G==="]"||G==="}")P--}else if(G&&G!=="TERMINATOR"&&G!=="OUTDENT"&&G!==",")D++;I=u[D]?.[0]===","}if(f3.has(f)&&!I||A2.has(f)&&q)while(Z(X())){let[D,,{sameLine:G,startsLine:P}]=X();if(K()&&A!==",")M();else if(R()&&!E&&G&&f!=="TERMINATOR"&&A!==":")O();else if(R()&&f==="TERMINATOR"&&A!==","&&!(P&&this.looksObjectish(U+1)))O();else if(X()?.[2]?.ours&&X()[0]==="CONTROL"&&u[X()[1]]?.[0]==="CLASS"&&f==="TERMINATOR")$.pop();else break}if(f===","&&!this.looksObjectish(U+1)&&R()&&(J!=="TERMINATOR"||!this.looksObjectish(U+2))){let D=J==="OUTDENT"?1:0;while(R())O(U+D)}return z(1)})}addImplicitCallCommas(){let $=0,W=0,F=this.tokens;while(W<F.length){let U=F[W][0],u=W>0?F[W-1][0]:null;if(U==="CALL_START"||U==="(")$++;if(U==="CALL_END"||U===")")$--;if($>0&&(U==="->"||U==="=>")&&$3.has(u))F.splice(W,0,i(",",",")),W++;W++}}scanTokens($){let W=0;while(W<this.tokens.length)W+=$.call(this,this.tokens[W],W,this.tokens)}detectEnd($,W,F,U={}){let u=0;while($<this.tokens.length){let f=this.tokens[$];if(u===0&&W.call(this,f,$))return F.call(this,f,$);if(a.has(f[0]))u++;if(n.has(f[0]))u--;if(u<0){if(U.returnOnNegativeLevel)return;return F.call(this,f,$)}$++}}closeMergeAssignments(){let $=this.tokens;for(let W=0;W<$.length;W++){if(!$[W].mergeClose)continue;let F=0;for(let U=W+1;U<$.length;U++){let u=$[U][0];if(u==="("||u==="["||u==="{"||u==="CALL_START"||u==="INDEX_START"||u==="INDENT")F++;if(u===")"||u==="]"||u==="}"||u==="CALL_END"||u==="INDEX_END"||u==="OUTDENT")F--;if(F<0||F===0&&u==="TERMINATOR"){$.splice(U,0,i("CALL_END",")",$[U-1]));break}if(U===$.length-1){$.splice(U+1,0,i("CALL_END",")",$[U]));break}}}}commaInImplicitCall($){let W=0;for(let F=$-1;F>=0;F--){let U=this.tokens[F][0];if(n.has(U)){W++;continue}if(a.has(U)){if(U==="INDENT")return!1;if(W--,W<0)return!1;continue}if(W>0)continue;if(y1.has(U)&&this.tokens[F].spaced){let u=this.tokens[F+1]?.[0];return D1.has(u)||u==="..."&&D1.has(this.tokens[F+2]?.[0])}}return!1}commaInImplicitObject($){let W=0;for(let F=$-1;F>=0;F--){let U=this.tokens[F][0];if(n.has(U)){W++;continue}if(a.has(U)){if(W--,W<0)return!1;continue}if(W>0)continue;if(U===":"&&F>0&&this.tokens[F-1][0]==="PROPERTY")return this.looksObjectish($+1);if(F1.has(U))return!1}return!1}looksObjectish($){if(!this.tokens[$])return!1;if(this.tokens[$]?.[0]==="@"&&this.tokens[$+2]?.[0]===":")return!0;if(this.tokens[$+1]?.[0]===":")return!0;if(a.has(this.tokens[$]?.[0])){let W=null;if(this.detectEnd($+1,(F)=>n.has(F[0]),(F,U)=>W=U),W&&this.tokens[W+1]?.[0]===":")return!0}return!1}findTagsBackwards($,W){let F=new Set(W),U=[];while($>=0){let u=this.tokens[$]?.[0];if(!U.length&&F.has(u))return!0;if(n.has(u))U.push(u);if(a.has(u)&&U.length)U.pop();if(!U.length&&(a.has(u)&&!this.tokens[$]?.generated||F1.has(u)))break;$--}return!1}makeIndentation($){let W=i("INDENT",2),F=i("OUTDENT",2);if($)W.generated=F.generated=!0,W.origin=F.origin=$;else W.explicit=F.explicit=!0;return[W,F]}}f2(p);var V3={symbolIds:{$accept:0,$end:1,error:2,Root:3,Body:4,Line:5,TERMINATOR:6,Expression:7,ExpressionLine:8,Statement:9,Return:10,STATEMENT:11,Import:12,Export:13,Value:14,Code:15,Operation:16,Assign:17,ReactiveAssign:18,ComputedAssign:19,ReadonlyAssign:20,Effect:21,If:22,Try:23,While:24,For:25,Switch:26,Class:27,Component:28,Render:29,Throw:30,Yield:31,Def:32,Enum:33,CodeLine:34,OperationLine:35,Assignable:36,Literal:37,Parenthetical:38,Range:39,Invocation:40,DoIife:41,This:42,Super:43,MetaProperty:44,AlphaNumeric:45,JS:46,Regex:47,UNDEFINED:48,NULL:49,BOOL:50,INFINITY:51,NAN:52,NUMBER:53,String:54,Identifier:55,IDENTIFIER:56,Property:57,PROPERTY:58,STRING:59,STRING_START:60,Interpolations:61,STRING_END:62,InterpolationChunk:63,INTERPOLATION_START:64,INTERPOLATION_END:65,INDENT:66,OUTDENT:67,REGEX:68,REGEX_START:69,REGEX_END:70,RegexWithIndex:71,",":72,"=":73,REACTIVE_ASSIGN:74,COMPUTED_ASSIGN:75,Block:76,READONLY_ASSIGN:77,EFFECT:78,SimpleAssignable:79,Array:80,Object:81,ThisProperty:82,".":83,"?.":84,INDEX_START:85,INDEX_END:86,Slice:87,ES6_OPTIONAL_INDEX:88,"{":89,ObjAssignable:90,":":91,FOR:92,ForVariables:93,FOROF:94,OptComma:95,"}":96,WHEN:97,OWN:98,AssignList:99,AssignObj:100,ObjRestValue:101,SimpleObjAssignable:102,"[":103,"]":104,"@":105,"...":106,ObjSpreadExpr:107,SUPER:108,Arguments:109,DYNAMIC_IMPORT:110,Elisions:111,ArgElisionList:112,OptElisions:113,ArgElision:114,Arg:115,Elision:116,RangeDots:117,"..":118,DEF:119,CALL_START:120,ParamList:121,CALL_END:122,PARAM_START:123,PARAM_END:124,FuncGlyph:125,"->":126,"=>":127,Param:128,ParamVar:129,Splat:130,ES6_OPTIONAL_CALL:131,ArgList:132,SimpleArgs:133,THIS:134,NEW_TARGET:135,IMPORT_META:136,"(":137,")":138,RETURN:139,THROW:140,YIELD:141,FROM:142,IfBlock:143,IF:144,ELSE:145,UnlessBlock:146,UNLESS:147,POST_IF:148,POST_UNLESS:149,TRY:150,Catch:151,FINALLY:152,CATCH:153,SWITCH:154,Whens:155,When:156,LEADING_WHEN:157,WhileSource:158,WHILE:159,UNTIL:160,Loop:161,LOOP:162,FORIN:163,BY:164,FORAS:165,AWAIT:166,FORASAWAIT:167,ForValue:168,CLASS:169,EXTENDS:170,ENUM:171,COMPONENT:172,ComponentBody:173,ComponentLine:174,RENDER:175,IMPORT:176,ImportDefaultSpecifier:177,ImportNamespaceSpecifier:178,ImportSpecifierList:179,ImportSpecifier:180,AS:181,DEFAULT:182,IMPORT_ALL:183,EXPORT:184,ExportSpecifierList:185,EXPORT_ALL:186,ExportSpecifier:187,UNARY:188,DO:189,DO_IIFE:190,UNARY_MATH:191,"-":192,"+":193,"?":194,DEFINED:195,PRESENCE:196,"--":197,"++":198,MATH:199,"**":200,SHIFT:201,COMPARE:202,"&":203,"^":204,"|":205,"||":206,"??":207,"&&":208,"!?":209,PIPE:210,RELATION:211,TERNARY:212,COMPOUND_ASSIGN:213},tokenNames:{2:"error",6:"TERMINATOR",11:"STATEMENT",46:"JS",48:"UNDEFINED",49:"NULL",50:"BOOL",51:"INFINITY",52:"NAN",53:"NUMBER",56:"IDENTIFIER",58:"PROPERTY",59:"STRING",60:"STRING_START",62:"STRING_END",64:"INTERPOLATION_START",65:"INTERPOLATION_END",66:"INDENT",67:"OUTDENT",68:"REGEX",69:"REGEX_START",70:"REGEX_END",72:",",73:"=",74:"REACTIVE_ASSIGN",75:"COMPUTED_ASSIGN",77:"READONLY_ASSIGN",78:"EFFECT",83:".",84:"?.",85:"INDEX_START",86:"INDEX_END",88:"ES6_OPTIONAL_INDEX",89:"{",91:":",92:"FOR",94:"FOROF",96:"}",97:"WHEN",98:"OWN",103:"[",104:"]",105:"@",106:"...",108:"SUPER",110:"DYNAMIC_IMPORT",118:"..",119:"DEF",120:"CALL_START",122:"CALL_END",123:"PARAM_START",124:"PARAM_END",126:"->",127:"=>",131:"ES6_OPTIONAL_CALL",134:"THIS",135:"NEW_TARGET",136:"IMPORT_META",137:"(",138:")",139:"RETURN",140:"THROW",141:"YIELD",142:"FROM",144:"IF",145:"ELSE",147:"UNLESS",148:"POST_IF",149:"POST_UNLESS",150:"TRY",152:"FINALLY",153:"CATCH",154:"SWITCH",157:"LEADING_WHEN",159:"WHILE",160:"UNTIL",162:"LOOP",163:"FORIN",164:"BY",165:"FORAS",166:"AWAIT",167:"FORASAWAIT",169:"CLASS",170:"EXTENDS",171:"ENUM",172:"COMPONENT",175:"RENDER",176:"IMPORT",181:"AS",182:"DEFAULT",183:"IMPORT_ALL",184:"EXPORT",186:"EXPORT_ALL",188:"UNARY",189:"DO",190:"DO_IIFE",191:"UNARY_MATH",192:"-",193:"+",194:"?",195:"DEFINED",196:"PRESENCE",197:"--",198:"++",199:"MATH",200:"**",201:"SHIFT",202:"COMPARE",203:"&",204:"^",205:"|",206:"||",207:"??",208:"&&",209:"!?",210:"PIPE",211:"RELATION",212:"TERNARY",213:"COMPOUND_ASSIGN"},parseTable:(()=>{let $=[107,1,2,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,-1,1,2,3,4,5,6,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,42,43,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,44,45,68,46,47,48,50,51,1,1,0,2,1,5,-2,107,5,1,5,59,2,71,-3,-3,-3,-3,-3,31,1,5,59,1,1,5,20,12,18,16,10,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-6,-6,-6,-6,-6,-6,127,-6,-6,-6,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,9,1,5,59,1,1,5,32,18,16,-7,-7,-7,-7,-7,-7,-7,-7,-7,14,1,5,59,1,1,5,32,18,16,10,1,9,1,1,-8,-8,-8,-8,-8,-8,-8,-8,-8,128,129,130,96,97,56,1,5,48,5,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,3,9,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-13,-13,134,105,106,-13,-13,-13,-13,137,138,139,-13,140,-13,-13,-13,-13,-13,-13,-13,135,-13,141,-13,-13,136,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,131,132,133,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,46,1,5,59,1,1,5,11,1,1,1,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-14,-14,-14,-14,-14,-14,142,143,144,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,9,1,5,59,1,1,5,32,18,16,-33,-33,-33,-33,-33,-33,-33,-33,-33,9,1,5,59,1,1,5,32,18,16,-34,-34,-34,-34,-34,-34,-34,-34,-34,13,1,5,59,1,1,5,32,18,16,10,1,10,1,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,13,1,5,59,1,1,5,32,18,16,10,1,10,1,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,13,1,5,59,1,1,5,32,18,16,10,1,10,1,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,13,1,5,59,1,1,5,32,18,16,10,1,10,1,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,59,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-35,-35,-35,-35,-35,-35,-35,-35,145,146,147,148,149,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,54,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,54,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,54,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,54,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,54,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,54,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,54,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,54,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,18,6,49,1,10,1,5,8,1,1,7,14,2,1,15,1,2,4,1,-173,154,104,-173,-173,-173,156,157,155,99,159,158,153,150,-173,-173,151,152,106,5,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,7,2,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,161,4,5,6,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,162,102,103,160,53,52,72,73,93,99,59,83,87,84,85,66,42,43,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,44,45,68,46,47,48,50,51,103,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,163,164,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,42,43,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,44,45,68,46,47,48,50,51,103,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,166,167,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,42,43,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,44,45,68,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,168,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,174,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,175,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,176,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,177,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,45,14,1,21,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,7,14,2,3,2,13,2,1,1,7,1,1,1,53,179,180,181,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,178,72,73,93,99,83,87,84,85,169,170,90,91,86,88,89,82,173,45,14,1,21,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,7,14,2,3,2,13,2,1,1,7,1,1,1,53,179,180,181,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,182,72,73,93,99,83,87,84,85,169,170,90,91,86,88,89,82,173,62,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,183,184,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,185,103,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,7,2,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,187,186,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,162,102,103,188,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,189,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,2,66,10,162,190,2,66,10,162,191,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,14,39,16,1,24,1,1,7,4,5,5,2,24,37,2,195,154,104,156,157,155,99,192,193,83,158,197,194,196,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,198,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,199,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,90,1,5,8,1,21,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,5,1,1,1,1,3,4,3,1,1,1,4,3,2,1,2,2,1,6,1,1,1,2,2,8,4,1,1,1,1,1,7,1,1,1,1,7,3,1,10,1,3,1,1,2,3,20,2,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-305,-305,179,180,181,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,-305,162,-305,102,103,-305,200,202,72,73,93,-305,99,-305,-305,-305,-305,-305,83,-305,87,-305,84,85,-305,-305,169,-305,170,90,91,86,88,89,82,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,201,173,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,1,66,203,2,66,10,162,204,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,205,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,206,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,139,1,5,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,5,1,1,1,1,3,6,1,1,1,1,4,3,2,1,2,2,1,6,1,1,1,2,2,8,1,3,1,1,1,1,1,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,4,4,1,1,1,1,1,1,1,1,1,2,2,1,3,1,8,4,1,1,1,1,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-224,-224,207,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,-224,208,-224,102,103,-224,53,52,72,73,93,-224,99,-224,-224,-224,-224,-224,83,-224,87,-224,84,85,-224,66,-224,169,-224,170,90,91,86,88,89,82,-224,69,64,65,209,54,94,-224,55,95,-224,-224,56,60,57,-224,-224,58,98,-224,-224,-224,49,-224,61,67,62,63,70,71,171,172,173,46,47,48,50,51,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,2,55,1,210,104,2,55,1,211,104,6,15,19,89,2,1,1,213,212,42,43,90,91,138,1,5,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,5,1,1,1,1,3,6,1,1,1,1,4,3,2,1,2,2,1,6,1,1,1,2,2,8,1,3,1,1,1,1,1,7,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,4,4,1,1,1,1,1,1,1,1,1,2,2,1,3,1,8,4,1,1,1,1,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-221,-221,214,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,-221,215,-221,102,103,-221,53,52,72,73,93,-221,99,-221,-221,-221,-221,-221,83,-221,87,-221,84,85,-221,66,-221,169,-221,170,90,91,86,88,89,82,-221,69,64,65,54,94,-221,55,95,-221,-221,56,60,57,-221,-221,58,98,-221,-221,-221,49,-221,61,67,62,63,70,71,171,172,173,46,47,48,50,51,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,9,54,1,1,3,1,29,88,1,5,216,220,104,105,106,219,217,218,221,60,14,1,3,1,1,1,6,1,4,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,14,2,3,2,9,4,2,1,1,7,1,1,1,32,2,1,10,4,4,179,180,228,229,230,231,223,224,225,226,234,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,227,104,105,106,102,103,53,235,72,73,93,222,83,87,84,85,66,169,170,90,91,86,88,89,82,61,67,62,232,233,173,59,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,59,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,54,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,54,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,54,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,54,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,54,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,54,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,54,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,54,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,106,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,236,3,4,5,6,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,237,102,103,53,52,72,73,93,99,59,83,87,84,85,66,42,43,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,44,45,68,46,47,48,50,51,113,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,3,6,1,1,1,1,7,3,11,1,1,1,2,2,1,1,2,1,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,238,247,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,244,102,103,245,53,52,72,73,93,99,59,83,239,87,249,84,85,240,241,243,246,242,66,42,43,90,91,248,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,44,45,68,46,47,48,50,51,4,83,2,24,11,251,252,250,141,2,109,11,253,141,54,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,56,1,5,51,1,1,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-206,-206,254,255,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,1,83,256,1,83,257,54,11,35,2,1,1,1,1,1,3,3,1,6,2,1,9,11,3,11,2,3,2,9,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,54,11,35,2,1,1,1,1,1,3,3,1,6,2,1,9,11,3,11,2,3,2,9,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,63,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,63,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,258,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,259,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,260,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,261,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,7,2,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,263,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,162,102,103,262,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,23,6,39,8,1,1,1,1,1,1,1,6,1,5,10,8,6,3,1,1,1,1,2,1,-109,269,100,101,271,104,272,255,105,106,-109,-109,-109,273,264,-109,265,270,274,266,267,268,275,54,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,54,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,54,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,-64,45,14,1,21,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,7,14,2,3,2,13,2,1,1,7,1,1,1,53,179,180,181,34,35,36,276,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,235,72,73,93,99,83,87,84,85,169,170,90,91,86,88,89,82,173,65,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,4,3,3,1,10,1,3,1,1,2,3,11,11,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,57,1,5,53,1,2,2,1,1,1,3,2,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,6,54,5,1,1,2,1,280,105,106,277,278,279,109,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,5,2,1,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,1,1,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,-5,281,-5,4,5,6,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,-5,-5,102,103,53,52,72,73,93,99,59,83,87,84,85,66,42,43,90,91,86,88,89,82,-5,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,44,45,68,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,282,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,283,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,284,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,285,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,286,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,287,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,288,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,289,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,290,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,293,165,291,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,292,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,296,165,294,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,295,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,299,165,297,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,298,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,300,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,301,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,302,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,303,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,304,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,305,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,-262,14,39,16,1,24,1,1,7,4,5,5,2,24,37,2,309,154,104,156,157,155,99,306,307,83,158,197,308,196,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,310,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,311,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,-261,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,55,1,5,53,1,5,1,1,3,2,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,55,1,5,53,1,5,1,1,3,2,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,2,109,11,312,141,2,57,1,313,255,2,57,1,314,255,106,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,2,7,1,1,1,1,5,2,3,11,2,1,2,2,7,1,1,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,315,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,320,77,78,79,80,81,100,101,92,104,105,106,316,102,103,318,53,52,72,73,93,317,99,59,83,87,322,84,85,319,321,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,1,85,323,109,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,1,2,2,5,4,3,1,2,1,1,3,2,2,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,328,247,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,327,102,103,53,52,72,73,93,99,59,83,87,249,84,85,326,66,324,42,43,90,91,248,325,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,44,45,68,46,47,48,50,51,2,57,1,329,255,2,57,1,330,255,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,331,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,332,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,102,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,334,333,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,335,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,102,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,337,336,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,338,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,103,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,7,2,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,340,339,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,162,102,103,341,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,102,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,343,342,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,344,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,103,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,7,2,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,346,345,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,162,102,103,347,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,9,6,60,1,5,23,1,8,18,2,-217,-217,-217,349,350,-217,-217,-217,348,6,6,60,1,5,50,2,-174,-174,-174,-174,-174,-174,7,6,60,1,5,1,49,2,-178,-178,-178,-178,351,-178,-178,15,6,49,1,10,1,5,8,1,1,7,14,2,17,2,5,-181,154,104,-181,-181,-181,156,157,155,99,159,158,-181,-181,352,11,6,60,1,5,1,21,28,2,39,2,2,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,11,6,60,1,5,1,21,28,2,39,2,2,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,11,6,60,1,5,1,21,28,2,39,2,2,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,11,6,60,1,5,1,21,28,2,39,2,2,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,2,57,1,254,255,113,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,3,6,1,1,1,1,7,3,11,1,1,1,2,2,1,1,2,1,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,328,247,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,244,102,103,245,53,52,72,73,93,99,59,83,239,87,249,84,85,240,241,243,246,242,66,42,43,90,91,248,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,44,45,68,46,47,48,50,51,54,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,9,1,5,59,1,1,5,32,18,16,-170,-170,-170,-170,-170,-170,-170,-170,-170,106,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,7,1,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,354,3,4,5,6,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,353,102,103,53,52,72,73,93,99,59,83,87,84,85,66,42,43,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,44,45,68,46,47,48,50,51,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,125,126,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,118,-371,120,-371,-371,-371,9,1,5,59,1,1,5,32,18,16,-368,-368,-368,-368,-368,-368,-368,-368,-368,5,148,1,9,1,1,128,129,130,96,97,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,125,126,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,118,-372,120,-372,-372,-372,9,1,5,59,1,1,5,32,18,16,-369,-369,-369,-369,-369,-369,-369,-369,-369,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,125,126,-373,-373,-373,-373,-373,-373,-373,-373,-373,111,-373,-373,-373,-373,-373,-373,118,-373,120,-373,-373,-373,18,6,49,1,10,1,5,8,1,1,7,14,2,1,15,1,2,4,1,-173,154,104,-173,-173,-173,156,157,155,99,159,158,153,355,-173,-173,151,152,2,66,10,162,160,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,163,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,166,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,5,15,108,2,1,1,213,169,170,90,91,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,125,126,-374,-374,-374,-374,-374,-374,-374,-374,-374,111,-374,-374,-374,-374,-374,-374,118,-374,120,-374,-374,-374,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,125,126,-375,-375,-375,-375,-375,-375,-375,-375,-375,111,-375,-375,-375,-375,-375,-375,118,-375,120,-375,-375,-375,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,125,126,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,118,-379,120,-379,-379,-379,2,81,8,356,99,59,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-381,-381,-86,-86,-381,-381,-381,-381,-86,-86,-86,-86,-86,-86,-86,-86,-381,-86,-381,-381,-381,-381,-381,-381,-381,-381,-86,-381,-381,-86,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-86,-86,-86,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,10,54,5,1,23,1,1,3,21,11,11,134,105,106,137,138,139,140,135,141,136,3,83,1,1,142,143,144,54,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,59,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-382,-382,-86,-86,-382,-382,-382,-382,-86,-86,-86,-86,-86,-86,-86,-86,-382,-86,-382,-382,-382,-382,-382,-382,-382,-382,-86,-382,-382,-86,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-86,-86,-86,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,102,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,359,357,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,358,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-83,-83,-83,-83,-83,-83,-83,-83,127,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,124,125,126,96,97,-83,-83,-83,-83,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,360,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,3,66,10,68,162,361,362,46,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,2,1,1,6,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,363,364,365,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,4,94,69,2,2,367,366,368,369,11,55,1,24,1,1,7,4,10,2,24,39,154,104,156,157,155,99,370,159,158,197,196,11,55,1,24,1,1,7,4,10,2,24,39,154,104,156,157,155,99,371,159,158,197,196,3,66,10,88,162,372,373,5,72,22,69,2,2,374,-303,-303,-303,-303,6,72,1,21,69,2,2,-301,375,-301,-301,-301,-301,23,66,26,56,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,376,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,3,155,1,1,377,378,379,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,380,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,61,1,5,53,1,5,1,1,5,1,1,1,1,1,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,22,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-309,-309,-86,-86,-309,162,-309,-309,-86,-86,-86,381,-86,-86,-86,-86,-86,-309,-86,-309,-309,-309,-309,-309,-309,-309,-309,-86,-309,-309,-86,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,382,-309,-309,-86,-86,-86,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,105,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,1,1,1,1,8,4,1,1,1,1,1,4,1,385,386,387,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,42,43,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,383,384,63,70,71,44,45,68,46,47,48,50,51,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,125,126,-222,-222,-222,-222,-222,-222,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,2,81,8,388,99,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,125,126,-225,-225,-225,-225,-225,-225,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,2,81,8,389,99,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,390,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,3,66,10,44,162,392,391,2,66,10,162,393,9,1,5,59,1,1,5,32,18,16,-370,-370,-370,-370,-370,-370,-370,-370,-370,54,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,125,126,-219,-219,-219,-219,-219,-219,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,2,81,8,394,99,13,1,5,59,1,1,5,32,18,16,10,1,10,1,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,2,72,70,396,395,1,142,397,7,55,1,10,30,83,1,2,402,104,401,398,399,400,403,2,72,70,-338,-338,1,181,404,26,6,39,8,1,1,1,1,1,1,1,6,1,5,10,8,6,3,1,1,1,1,2,1,76,3,2,-109,269,100,101,409,104,272,255,105,106,408,-109,-109,273,264,405,265,270,274,266,267,268,275,410,406,407,13,1,5,59,1,1,5,32,18,16,10,1,10,1,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,13,1,5,59,1,1,5,32,18,16,10,1,10,1,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,13,1,5,59,1,1,5,32,18,16,10,1,10,1,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,13,1,5,59,1,1,5,32,18,16,10,1,10,1,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,63,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-89,-89,-89,-89,-89,-89,-89,-89,411,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,13,1,5,59,1,1,5,32,18,16,10,1,10,1,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,13,1,5,59,1,1,5,32,18,16,10,1,10,1,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,13,1,5,59,1,1,5,32,18,16,10,1,10,1,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,13,1,5,59,1,1,5,32,18,16,10,1,10,1,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,412,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,413,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,1,142,414,58,1,5,53,1,5,1,1,5,2,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-35,-35,-35,-35,-35,-35,-35,-35,146,147,148,149,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,-35,59,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,2,6,132,107,415,105,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,416,3,4,5,6,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,42,43,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,44,45,68,46,47,48,50,51,31,6,60,1,5,20,12,2,11,1,4,26,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-199,-199,-199,-199,127,-199,322,417,321,-199,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,59,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,109,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,3,6,1,1,1,1,7,3,11,1,1,1,2,2,5,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,328,247,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,245,53,52,72,73,93,99,59,83,418,87,249,84,85,420,419,66,42,43,90,91,248,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,44,45,68,46,47,48,50,51,9,6,60,1,5,23,1,8,9,9,-217,-217,-217,422,423,-217,-217,421,-217,59,6,5,35,2,1,1,1,1,1,3,3,1,6,1,1,1,3,6,11,3,11,1,1,1,2,2,9,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,424,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,5,6,60,1,5,32,-145,-145,-145,-145,-145,112,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,3,6,1,1,1,1,7,3,11,2,1,2,2,1,1,2,1,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,328,247,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,244,102,103,245,53,52,72,73,93,99,59,83,87,249,84,85,426,425,243,246,242,66,42,43,90,91,248,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,44,45,68,46,47,48,50,51,59,6,5,35,2,1,1,1,1,1,3,3,1,6,1,1,1,3,6,11,3,11,1,1,1,2,2,9,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,-156,5,6,60,1,5,32,-150,-150,-150,-150,-150,6,6,60,1,5,32,18,-200,-200,-200,-200,-200,-200,6,6,60,1,5,32,18,-201,-201,-201,-201,-201,-201,106,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,1,1,1,3,6,1,1,1,1,7,3,11,1,1,3,2,9,3,1,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,-202,427,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,-202,-202,102,103,-202,53,52,72,73,93,99,59,83,-202,87,84,85,66,-202,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,55,1,5,53,1,5,1,1,3,2,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,-190,2,57,1,428,255,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,429,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,430,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,55,1,5,53,1,5,1,1,3,2,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,-191,63,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,-207,63,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,2,57,1,431,255,2,57,1,432,255,24,66,10,16,56,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,162,433,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,24,66,10,16,56,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,162,434,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-256,-256,-256,-256,-256,-256,-256,-256,127,-256,-256,435,-256,-256,-256,-256,-256,-256,-256,-256,125,126,96,97,-256,-256,-256,-256,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-258,-258,-258,-258,-258,-258,-258,-258,127,-258,-258,436,-258,-258,-258,-258,-258,-258,-258,-258,125,126,96,97,-258,-258,-258,-258,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,45,1,5,59,1,1,5,4,10,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-265,-265,-265,162,-265,-265,437,-265,-265,127,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,125,126,96,97,-265,-265,-265,-265,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,6,6,60,1,5,19,5,-114,-114,-114,-114,438,-114,8,6,60,1,5,23,1,8,18,-217,-217,-217,440,439,-217,-217,-217,7,6,60,1,5,1,18,5,-123,-123,-123,-123,441,-123,-123,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,442,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,3,57,1,45,254,255,443,6,6,60,1,5,19,5,-126,-126,-126,-126,-126,-126,5,6,60,1,5,24,-110,-110,-110,-110,-110,11,6,60,1,5,1,10,1,1,6,5,24,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,11,6,60,1,5,1,10,1,1,6,5,24,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,11,6,60,1,5,1,10,1,1,6,5,24,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,5,6,60,1,5,24,-115,-115,-115,-115,-115,17,38,4,1,12,1,1,1,23,1,7,13,3,2,1,2,24,3,447,449,448,271,104,272,255,446,273,99,444,87,445,450,451,86,82,55,1,5,53,1,5,1,1,3,2,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-39,-39,-39,-39,-39,-39,-39,452,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,6,54,5,1,2,1,1,280,105,106,453,454,279,4,59,1,2,2,-58,-58,-58,-58,107,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,5,1,2,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,455,3,4,5,6,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,457,456,102,103,53,52,72,73,93,99,59,83,87,84,85,66,42,43,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,44,45,68,46,47,48,50,51,4,59,1,2,2,-63,-63,-63,-63,5,1,5,59,2,71,-4,-4,-4,-4,-4,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,125,126,-385,-385,-385,-385,-385,-385,-385,-385,110,111,-385,-385,-385,-385,-385,-385,118,-385,120,-385,-385,-385,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,125,126,-386,-386,-386,-386,-386,-386,-386,-386,110,111,-386,-386,-386,-386,-386,-386,118,-386,120,-386,-386,-386,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,-387,125,126,-387,-387,-387,-387,-387,-387,-387,-387,-387,111,-387,-387,-387,-387,-387,-387,118,-387,120,-387,-387,-387,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,-388,125,126,-388,-388,-388,-388,-388,-388,-388,-388,-388,111,-388,-388,-388,-388,-388,-388,118,-388,120,-388,-388,-388,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,-389,125,126,-389,-389,-389,-389,-389,-389,109,108,110,111,-389,-389,-389,-389,-389,-389,118,-389,120,-389,-389,-389,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,-390,125,126,-390,-390,-390,-390,-390,-390,109,108,110,111,112,-390,-390,-390,-390,-390,118,-390,120,-390,122,-390,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,125,126,-391,-391,-391,-391,-391,-391,109,108,110,111,112,113,-391,-391,-391,-391,118,-391,120,-391,122,-391,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,125,126,-392,-392,-392,-392,-392,-392,109,108,110,111,112,113,114,-392,-392,-392,118,-392,120,-392,122,-392,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,125,126,-393,-393,-393,-393,-393,-393,109,108,110,111,112,113,114,115,-393,-393,118,-393,120,-393,122,-393,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,-395,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,125,126,-401,-401,-401,-401,-401,-401,109,108,110,111,112,113,114,115,116,-401,118,119,120,-401,122,-401,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-402,-402,-402,-402,-402,-402,-402,-402,127,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,124,125,126,96,97,-402,-402,-402,-402,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,125,126,-400,-400,-400,-400,-400,-400,109,108,110,111,112,113,114,115,116,-400,118,-400,120,-400,122,-400,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-403,-403,-403,-403,-403,-403,-403,-403,127,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,124,125,126,96,97,-403,-403,-403,-403,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,125,126,-404,-404,-404,-404,-404,-404,109,108,110,111,112,113,114,115,116,117,118,119,120,-404,122,-404,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,125,126,-405,-405,-405,-405,-405,-405,109,108,110,111,112,-405,-405,-405,-405,-405,118,-405,120,-405,-405,-405,23,91,1,56,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,458,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-236,-236,-236,-236,-236,-236,-236,-236,127,-236,-236,-236,-236,-236,-236,-236,-236,-236,459,-236,125,126,96,97,-236,-236,-236,-236,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-240,-240,-240,-240,-240,-240,-240,-240,127,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,124,125,126,96,97,-240,-240,-240,-240,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,4,94,69,2,2,461,460,462,463,11,55,1,24,1,1,7,4,10,2,24,39,154,104,156,157,155,99,464,159,158,197,196,11,55,1,24,1,1,7,4,10,2,24,39,154,104,156,157,155,99,465,159,158,197,196,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,466,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,-299,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-235,-235,-235,-235,-235,-235,-235,-235,127,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,125,126,96,97,-235,-235,-235,-235,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-239,-239,-239,-239,-239,-239,-239,-239,127,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,124,125,126,96,97,-239,-239,-239,-239,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,55,1,5,53,1,5,1,1,3,2,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,-189,63,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,63,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,26,86,6,14,11,1,30,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,467,127,322,468,321,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,104,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,5,2,3,11,2,1,2,2,7,1,1,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,469,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,470,99,59,83,87,322,84,85,319,321,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,1,86,471,1,86,472,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,7,1,1,9,1,1,1,1,4,3,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,473,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,-164,102,103,53,52,72,73,93,-164,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,54,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-46,-46,-46,-46,-46,-46,-46,474,-46,-46,-46,-67,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,55,11,35,2,1,1,1,1,1,3,3,1,7,1,1,9,8,3,3,11,2,3,2,9,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,-158,55,11,35,2,1,1,1,1,1,3,3,1,7,1,1,9,8,3,3,11,2,3,2,9,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,-159,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,475,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,476,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,55,1,5,53,1,5,1,1,3,2,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,-192,8,6,60,1,5,23,1,8,18,-217,-217,-217,478,477,-217,-217,-217,5,6,60,1,5,50,-194,-194,-194,-194,-194,108,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,1,2,2,5,4,4,2,1,1,3,2,2,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,328,247,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,327,102,103,53,52,72,73,93,99,59,83,87,249,84,85,326,66,42,43,90,91,248,479,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,44,45,68,46,47,48,50,51,28,6,60,1,5,20,12,18,26,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-199,-199,-199,-199,127,-199,-199,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,63,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,63,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,23,86,6,56,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,480,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,481,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,125,126,-68,-68,-68,-68,-68,-68,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,482,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,483,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-71,-71,-71,-71,-71,-71,-71,-71,127,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,124,125,126,96,97,-71,-71,-71,-71,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,484,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,485,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-74,-74,-74,-74,-74,-74,-74,-74,127,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,124,125,126,96,97,-74,-74,-74,-74,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,486,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-77,-77,-77,-77,-77,-77,-77,-77,127,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,124,125,126,96,97,-77,-77,-77,-77,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,487,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,488,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-80,-80,-80,-80,-80,-80,-80,-80,127,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,124,125,126,96,97,-80,-80,-80,-80,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,489,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,3,125,1,1,490,90,91,17,6,49,1,10,1,13,1,1,7,7,7,1,1,1,16,6,1,-218,154,104,-218,-218,156,157,155,99,-218,159,-218,158,153,-218,491,152,2,6,60,492,493,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,494,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,6,6,60,1,5,50,2,-180,-180,-180,-180,-180,-180,57,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,3,1,4,2,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,2,6,61,107,495,9,6,60,1,5,23,1,8,18,2,-217,-217,-217,349,350,-217,-217,-217,496,1,67,497,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,-407,125,126,-407,-407,-407,-407,-407,-407,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,498,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,499,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-84,-84,-84,-84,-84,-84,-84,-84,127,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,124,125,126,96,97,-84,-84,-84,-84,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,500,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,3,7,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,501,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,2,66,10,162,502,6,55,1,10,10,5,8,503,104,162,505,504,99,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,506,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,507,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,508,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,509,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,1,94,510,1,165,511,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,512,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,10,55,1,24,1,1,7,14,2,24,39,154,104,156,157,155,99,159,158,197,513,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,514,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,3,155,1,1,515,378,379,4,67,78,11,1,516,517,518,379,3,67,78,12,-252,-252,-252,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,6,1,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,520,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,519,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,45,1,5,59,1,1,5,4,10,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-307,-307,-307,162,-307,-307,521,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,125,126,-307,-307,-307,-307,-307,-307,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,522,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,2,6,61,524,523,2,6,61,-315,-315,24,6,61,25,56,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-318,-318,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,2,6,61,-319,-319,7,6,61,81,1,9,1,1,-320,-320,128,129,130,96,97,1,67,525,1,67,526,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,125,126,-227,-227,-227,-227,-227,-227,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,18,6,49,1,10,1,5,8,1,1,7,14,2,1,15,1,2,4,1,-173,154,104,-173,-173,-173,156,157,155,99,159,158,153,527,-173,-173,151,152,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,-166,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,1,67,528,3,54,5,1,529,105,106,3,89,89,5,531,530,221,3,54,5,1,532,105,106,1,142,533,8,6,60,1,5,23,1,8,18,-217,-217,-217,535,534,-217,-217,-217,5,6,60,1,5,24,-329,-329,-329,-329,-329,6,55,1,10,113,1,2,402,104,401,536,400,403,6,6,60,1,5,24,85,-334,-334,-334,-334,-334,537,6,6,60,1,5,24,85,-336,-336,-336,-336,-336,538,2,55,1,539,104,14,1,5,59,1,1,5,32,18,16,4,6,1,10,1,-340,-340,-340,-340,-340,-340,-340,-340,-340,540,-340,-340,-340,-340,8,6,60,1,5,23,1,8,18,-217,-217,-217,542,541,-217,-217,-217,5,6,60,1,5,24,-358,-358,-358,-358,-358,6,55,1,10,116,3,2,544,104,408,410,543,407,12,6,60,1,5,1,10,1,1,6,5,24,61,-363,-363,-363,-363,-120,-120,-120,-120,-120,-363,-120,545,6,6,60,1,5,24,85,-366,-366,-366,-366,-366,546,102,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,548,547,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,549,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,31,1,5,59,1,1,5,20,12,18,16,10,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-353,-353,-353,-353,-353,-353,127,-353,-353,-353,-353,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,2,81,8,550,99,3,54,5,1,551,105,106,54,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,2,6,61,107,552,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,553,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,59,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,59,6,5,35,2,1,1,1,1,1,3,3,1,6,1,1,1,3,6,11,3,11,1,1,1,2,2,9,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,424,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,-155,5,6,60,1,5,32,-151,-151,-151,-151,-151,2,66,38,555,554,116,6,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,1,1,1,3,6,1,1,1,1,7,3,4,7,1,1,1,2,2,1,3,1,1,3,3,1,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,-218,328,247,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,-218,-218,102,103,245,53,52,72,73,93,99,59,-218,83,-218,87,249,84,85,557,556,246,242,66,-218,42,43,90,91,248,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,44,45,68,46,47,48,50,51,4,6,60,1,37,558,-152,-152,-152,59,6,5,35,2,1,1,1,1,1,3,3,1,6,1,1,1,3,6,11,3,11,1,1,1,2,2,9,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,-157,9,6,60,1,5,23,1,8,9,9,-217,-217,-217,422,423,-217,-217,559,-217,108,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,3,6,1,1,1,1,7,3,11,2,1,2,2,5,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,328,247,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,245,53,52,72,73,93,99,59,83,87,249,84,85,420,419,66,42,43,90,91,248,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,44,45,68,46,47,48,50,51,28,6,60,1,5,20,12,18,26,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-186,-186,-186,-186,127,-186,-186,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,54,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,23,86,6,56,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,560,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,561,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,54,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,54,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,562,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,-230,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,563,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,564,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,565,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,566,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,3,6,60,30,568,569,567,23,6,39,8,1,1,1,1,1,1,1,6,1,15,8,6,4,1,1,1,1,1,1,16,-218,269,100,101,271,104,272,255,105,106,-218,-218,273,571,-218,570,274,266,267,-218,268,275,-218,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,572,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,573,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,23,92,12,44,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,127,574,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,575,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,10,6,60,1,5,11,1,1,11,13,11,-127,-127,-127,-127,-129,-129,-129,-127,576,141,10,6,60,1,5,11,1,1,11,13,11,-128,-128,-128,-128,578,579,580,-128,577,141,9,6,60,1,5,11,1,1,11,24,-130,-130,-130,-130,-130,-130,-130,-130,-130,9,6,60,1,5,11,1,1,11,24,-131,-131,-131,-131,-131,-131,-131,-131,-131,9,6,60,1,5,11,1,1,11,24,-132,-132,-132,-132,-132,-132,-132,-132,-132,9,6,60,1,5,11,1,1,11,24,-133,-133,-133,-133,-133,-133,-133,-133,-133,4,83,2,24,11,251,252,581,141,2,109,11,582,141,54,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,-65,57,1,5,53,1,2,2,1,1,1,3,2,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,4,59,1,2,2,-59,-59,-59,-59,2,6,59,107,583,105,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,584,3,4,5,6,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,42,43,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,44,45,68,46,47,48,50,51,4,59,1,2,2,-62,-62,-62,-62,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,585,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,587,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,586,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,588,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,589,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,590,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,591,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,1,94,592,1,165,593,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,594,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,63,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,102,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,7,1,1,9,1,1,1,1,4,3,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,595,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,-162,102,103,53,52,72,73,93,-162,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,26,67,25,14,11,1,30,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,596,127,322,468,321,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,1,67,597,63,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,63,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,24,67,19,6,56,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-163,-163,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,598,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,23,86,6,56,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,599,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,600,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,3,6,60,56,602,603,601,112,6,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,1,1,1,9,1,1,1,1,7,3,4,7,1,1,1,2,2,5,4,3,1,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,-218,328,247,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,-218,-218,102,103,53,52,72,73,93,99,59,-218,83,-218,87,249,84,85,604,66,-218,42,43,90,91,248,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,44,45,68,46,47,48,50,51,8,6,60,1,5,23,1,8,18,-217,-217,-217,478,605,-217,-217,-217,63,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,23,67,25,56,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,606,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,125,126,-69,-69,-69,-69,-69,-69,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,23,67,25,56,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,607,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-72,-72,-72,-72,-72,-72,-72,-72,127,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,124,125,126,96,97,-72,-72,-72,-72,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,23,67,25,56,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,608,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-75,-75,-75,-75,-75,-75,-75,-75,127,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,124,125,126,96,97,-75,-75,-75,-75,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-78,-78,-78,-78,-78,-78,-78,-78,127,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,124,125,126,96,97,-78,-78,-78,-78,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,23,67,25,56,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,609,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-81,-81,-81,-81,-81,-81,-81,-81,127,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,124,125,126,96,97,-81,-81,-81,-81,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,106,5,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,7,2,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,611,4,5,6,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,162,102,103,610,53,52,72,73,93,99,59,83,87,84,85,66,42,43,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,44,45,68,46,47,48,50,51,6,6,60,1,5,50,2,-175,-175,-175,-175,-175,-175,11,55,1,24,1,1,7,14,2,1,22,1,154,104,156,157,155,99,159,158,153,612,152,18,6,49,1,10,1,5,8,1,1,7,14,2,1,15,1,2,4,1,-173,154,104,-173,-173,-173,156,157,155,99,159,158,153,613,-173,-173,151,152,28,6,60,1,5,20,30,2,24,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-179,-179,-179,-179,127,-179,-179,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,57,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,3,1,4,2,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,3,125,1,1,614,90,91,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,23,67,25,56,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,615,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,125,126,-409,-409,-409,-409,-409,-409,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,24,66,10,16,56,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,162,616,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,2,66,10,162,617,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,-243,2,66,10,162,618,2,66,10,162,619,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,3,7,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,-247,26,66,10,16,5,51,1,9,1,1,4,28,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,162,620,127,621,124,125,126,96,97,622,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,25,66,10,16,5,51,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,162,623,127,624,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,25,66,10,16,5,51,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,162,625,127,626,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,25,66,10,16,5,51,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,162,627,127,628,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,629,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,630,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,24,66,10,16,56,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,162,631,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,4,94,69,2,2,-304,-304,-304,-304,27,72,20,2,54,1,9,1,1,3,2,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-302,127,-302,124,125,126,96,97,-302,-302,-302,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,4,67,78,11,1,632,633,518,379,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,2,66,10,162,634,3,67,78,12,-253,-253,-253,3,66,6,4,162,636,635,24,66,6,20,56,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-203,-203,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,45,1,5,59,1,1,5,4,10,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-311,-311,-311,162,-311,-311,637,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,125,126,-311,-311,-311,-311,-311,-311,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,106,6,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,7,1,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,1,1,8,4,1,1,1,1,1,4,1,-317,385,386,387,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,-317,102,103,53,52,72,73,93,99,59,83,87,84,85,66,42,43,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,638,63,70,71,44,45,68,46,47,48,50,51,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,8,6,60,1,5,23,1,8,18,-217,-217,-217,349,350,-217,-217,639,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,13,1,5,59,1,1,5,32,18,16,10,1,10,1,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,1,142,640,6,55,1,10,113,1,2,402,104,401,641,400,403,13,1,5,59,1,1,5,32,18,16,10,1,10,1,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,3,54,5,1,642,105,106,3,6,60,30,644,645,643,10,6,49,1,10,1,29,8,18,58,2,-218,402,104,-218,-218,-218,-218,-218,646,403,8,6,60,1,5,23,1,8,18,-217,-217,-217,535,647,-217,-217,-217,2,55,1,648,104,2,55,1,649,104,1,142,-339,3,54,5,1,650,105,106,3,6,60,30,652,653,651,10,6,49,1,10,1,29,8,18,60,5,-218,544,104,-218,-218,-218,-218,-218,410,654,8,6,60,1,5,23,1,8,18,-217,-217,-217,542,655,-217,-217,-217,6,6,60,1,5,24,85,-363,-363,-363,-363,-363,545,3,55,1,126,656,104,657,2,55,1,658,104,31,1,5,59,1,1,5,20,12,18,16,10,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-346,-346,-346,-346,-346,-346,127,-346,-346,-346,-346,125,126,-346,-346,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,659,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,660,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,1,67,661,13,1,5,59,1,1,5,32,18,16,10,1,10,1,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,1,138,662,23,92,12,44,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,127,663,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,59,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,112,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,3,6,1,1,1,1,7,3,11,2,1,2,2,1,1,2,1,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,328,247,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,244,102,103,245,53,52,72,73,93,99,59,83,87,249,84,85,426,664,243,246,242,66,42,43,90,91,248,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,44,45,68,46,47,48,50,51,5,6,60,1,5,32,-146,-146,-146,-146,-146,111,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,1,1,1,3,6,1,1,1,1,7,3,11,1,1,1,2,2,5,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,328,247,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,-153,-153,102,103,245,53,52,72,73,93,99,59,83,-153,87,249,84,85,420,419,66,42,43,90,91,248,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,44,45,68,46,47,48,50,51,110,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,3,6,1,1,1,1,7,3,11,2,1,2,2,1,3,1,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,328,247,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,245,53,52,72,73,93,99,59,83,87,249,84,85,426,665,246,242,66,42,43,90,91,248,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,44,45,68,46,47,48,50,51,2,66,1,555,666,54,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,23,67,25,56,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,667,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,2,66,10,162,668,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,125,126,-257,-257,-257,-257,-257,-257,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,125,126,-259,-259,-259,-259,-259,-259,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,27,6,60,1,5,20,4,52,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-116,-116,-116,-116,669,-116,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,670,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,59,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,17,45,8,1,1,1,1,1,1,1,22,8,10,1,1,1,2,1,269,100,101,271,104,272,255,105,106,273,571,671,274,266,267,268,275,23,6,39,8,1,1,1,1,1,1,1,6,1,5,10,8,6,3,1,1,1,1,2,1,-109,269,100,101,271,104,272,255,105,106,-109,-109,-109,273,571,-109,672,270,274,266,267,268,275,5,6,60,1,5,24,-111,-111,-111,-111,-111,6,6,60,1,5,19,5,-114,-114,-114,-114,673,-114,27,6,60,1,5,20,4,52,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-118,-118,-118,-118,127,-118,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,674,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,6,6,60,1,5,19,5,-124,-124,-124,-124,-124,-124,23,92,12,44,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,127,675,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,9,6,60,1,5,11,1,1,11,24,-136,-136,-136,-136,-136,-136,-136,-136,-136,9,6,60,1,5,11,1,1,11,24,-137,-137,-137,-137,-137,-137,-137,-137,-137,2,57,1,676,255,2,57,1,677,255,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,678,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,679,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,9,6,60,1,5,11,1,1,11,24,-134,-134,-134,-134,-134,-134,-134,-134,-134,9,6,60,1,5,11,1,1,11,24,-135,-135,-135,-135,-135,-135,-135,-135,-135,4,59,1,2,2,-60,-60,-60,-60,2,6,61,107,680,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,125,126,-406,-406,-406,-406,-406,-406,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,681,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-238,-238,-238,-238,-238,-238,-238,-238,127,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,125,126,96,97,-238,-238,-238,-238,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,682,-284,-284,-284,-284,-284,-284,-284,-284,125,126,-284,-284,-284,683,-284,-284,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,684,-289,-289,-289,-289,-289,-289,-289,-289,125,126,-289,-289,-289,-289,-289,-289,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,685,-293,-293,-293,-293,-293,-293,-293,-293,125,126,-293,-293,-293,-293,-293,-293,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,686,-297,-297,-297,-297,-297,-297,-297,-297,125,126,-297,-297,-297,-297,-297,-297,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,687,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,688,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,125,126,-300,-300,-300,-300,-300,-300,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,24,67,19,6,56,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-161,-161,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,1,86,689,1,86,690,23,86,6,56,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-66,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,63,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,23,67,25,56,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,691,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,55,1,5,53,1,5,1,1,3,2,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,-193,106,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,1,2,2,5,4,4,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,328,247,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,249,84,85,692,66,42,43,90,91,248,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,44,45,68,46,47,48,50,51,108,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,1,2,2,5,4,4,2,1,1,3,2,2,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,328,247,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,327,102,103,53,52,72,73,93,99,59,83,87,249,84,85,326,66,42,43,90,91,248,693,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,44,45,68,46,47,48,50,51,5,6,60,1,5,50,-195,-195,-195,-195,-195,3,6,60,1,602,603,694,1,86,695,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,-70,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,54,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,-167,9,1,5,59,1,1,5,32,18,16,-169,-169,-169,-169,-169,-169,-169,-169,-169,6,6,60,1,5,50,2,-176,-176,-176,-176,-176,-176,8,6,60,1,5,23,1,8,18,-217,-217,-217,349,696,-217,-217,-217,2,66,10,162,610,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,-244,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,3,7,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,-245,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,3,7,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,-246,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,697,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,698,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,699,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,700,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,701,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,25,66,10,16,5,51,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,162,702,127,703,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,25,66,10,16,5,51,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,162,704,127,705,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,-248,2,66,10,162,706,1,67,707,4,6,61,78,12,708,-254,-254,-254,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,709,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,2,6,61,-316,-316,2,66,10,162,710,3,54,5,1,711,105,106,8,6,60,1,5,23,1,8,18,-217,-217,-217,535,712,-217,-217,-217,13,1,5,59,1,1,5,32,18,16,10,1,10,1,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,1,142,713,4,55,1,124,2,402,104,714,403,6,55,1,10,113,1,2,402,104,401,715,400,403,5,6,60,1,5,24,-330,-330,-330,-330,-330,3,6,60,1,644,645,716,5,6,60,1,5,24,-335,-335,-335,-335,-335,5,6,60,1,5,24,-337,-337,-337,-337,-337,13,1,5,59,1,1,5,32,18,16,10,1,10,1,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,14,1,5,59,1,1,5,32,18,16,4,6,1,10,1,-341,-341,-341,-341,-341,-341,-341,-341,-341,717,-341,-341,-341,-341,4,55,1,126,5,544,104,410,718,6,55,1,10,116,3,2,544,104,408,410,719,407,5,6,60,1,5,24,-359,-359,-359,-359,-359,3,6,60,1,652,653,720,5,6,60,1,5,24,-364,-364,-364,-364,-364,5,6,60,1,5,24,-365,-365,-365,-365,-365,5,6,60,1,5,24,-367,-367,-367,-367,-367,31,1,5,59,1,1,5,20,12,18,16,10,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-347,-347,-347,-347,-347,-347,127,-347,-347,-347,-347,125,126,-347,-347,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,23,67,25,56,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,721,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,13,1,5,59,1,1,5,32,18,16,10,1,10,1,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,54,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,-216,54,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,-160,9,6,60,1,5,23,1,8,9,9,-217,-217,-217,422,423,-217,-217,722,-217,5,6,60,1,5,32,-147,-147,-147,-147,-147,5,6,60,1,5,32,-148,-148,-148,-148,-148,1,86,723,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,14,39,16,1,24,1,1,7,4,5,5,2,24,37,2,309,154,104,156,157,155,99,724,725,83,158,197,308,196,23,67,25,56,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,726,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,5,6,60,1,5,24,-112,-112,-112,-112,-112,8,6,60,1,5,23,1,8,18,-217,-217,-217,440,727,-217,-217,-217,101,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,728,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,566,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,23,67,25,56,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,729,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,6,6,60,1,5,19,5,-125,-125,-125,-125,-125,-125,9,6,60,1,5,11,1,1,11,24,-138,-138,-138,-138,-138,-138,-138,-138,-138,9,6,60,1,5,11,1,1,11,24,-139,-139,-139,-139,-139,-139,-139,-139,-139,23,86,6,56,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,730,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,731,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,1,65,732,23,67,25,56,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,733,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,734,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,735,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,736,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,737,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,738,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,739,-291,-291,-291,-291,-291,-291,-291,-291,125,126,-291,-291,-291,-291,-291,-291,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,740,-295,-295,-295,-295,-295,-295,-295,-295,125,126,-295,-295,-295,-295,-295,-295,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,63,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,63,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,1,86,741,5,6,60,1,5,50,-196,-196,-196,-196,-196,8,6,60,1,5,23,1,8,18,-217,-217,-217,478,742,-217,-217,-217,5,6,60,1,5,50,-197,-197,-197,-197,-197,63,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,3,6,60,1,492,493,743,25,66,10,16,56,1,9,1,1,4,28,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,162,744,127,124,125,126,96,97,745,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,25,66,10,16,5,51,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,162,746,127,747,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,24,66,10,16,56,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,162,748,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,24,66,10,16,56,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,162,749,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,24,66,10,16,56,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,162,750,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,751,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,752,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,1,67,753,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,3,67,78,12,-255,-255,-255,24,66,6,20,56,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-204,-204,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,-165,13,1,5,59,1,1,5,32,18,16,10,1,10,1,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,3,6,60,30,644,645,754,3,54,5,1,755,105,106,5,6,60,1,5,24,-331,-331,-331,-331,-331,8,6,60,1,5,23,1,8,18,-217,-217,-217,535,756,-217,-217,-217,5,6,60,1,5,24,-332,-332,-332,-332,-332,3,54,5,1,757,105,106,5,6,60,1,5,24,-360,-360,-360,-360,-360,8,6,60,1,5,23,1,8,18,-217,-217,-217,542,758,-217,-217,-217,5,6,60,1,5,24,-361,-361,-361,-361,-361,13,1,5,59,1,1,5,32,18,16,10,1,10,1,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,2,66,1,555,759,54,1,5,53,1,5,1,1,5,11,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,4,94,69,2,2,760,460,462,463,11,55,1,24,1,1,7,4,10,2,24,39,154,104,156,157,155,99,761,159,158,197,196,5,6,60,1,5,24,-117,-117,-117,-117,-117,3,6,60,1,568,569,762,27,6,60,1,5,20,4,52,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-116,-116,-116,-116,127,-116,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,5,6,60,1,5,24,-119,-119,-119,-119,-119,9,6,60,1,5,11,1,1,11,24,-140,-140,-140,-140,-140,-140,-140,-140,-140,23,67,25,56,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,763,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,4,59,1,2,2,-61,-61,-61,-61,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,125,126,-285,-285,-285,764,-285,-285,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,765,-286,-286,-286,-286,-286,-286,-286,-286,125,126,-286,-286,-286,-286,-286,-286,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,125,126,-290,-290,-290,-290,-290,-290,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,125,126,-294,-294,-294,-294,-294,-294,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,125,126,-298,-298,-298,-298,-298,-298,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,766,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,767,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,63,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,3,6,60,1,602,603,768,6,6,60,1,5,50,2,-177,-177,-177,-177,-177,-177,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,769,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,770,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,24,66,10,16,56,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,162,771,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,24,66,10,16,56,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,162,772,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,1,142,773,13,1,5,59,1,1,5,32,18,16,10,1,10,1,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,3,6,60,1,644,645,774,13,1,5,59,1,1,5,32,18,16,10,1,10,1,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,3,6,60,1,652,653,775,5,6,60,1,5,32,-149,-149,-149,-149,-149,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,776,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,1,94,777,5,6,60,1,5,24,-113,-113,-113,-113,-113,1,86,778,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,779,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,780,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,125,126,-292,-292,-292,-292,-292,-292,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,125,126,-296,-296,-296,-296,-296,-296,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,5,6,60,1,5,50,-198,-198,-198,-198,-198,24,66,10,16,56,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,162,781,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,24,66,10,16,56,1,9,1,1,32,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,162,782,127,124,125,126,96,97,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,3,54,5,1,783,105,106,5,6,60,1,5,24,-333,-333,-333,-333,-333,5,6,60,1,5,24,-362,-362,-362,-362,-362,45,1,5,59,1,1,5,14,5,1,2,1,1,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-289,-289,-289,-289,-289,786,-289,-289,-289,-289,784,-289,785,-289,-289,-289,-289,-289,-289,-289,-289,125,126,-289,-289,-289,-289,-289,-289,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,787,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,9,6,60,1,5,11,1,1,11,24,-141,-141,-141,-141,-141,-141,-141,-141,-141,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,125,126,-287,-287,-287,-287,-287,-287,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,44,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,125,126,-288,-288,-288,-288,-288,-288,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,43,1,5,59,1,1,5,14,5,1,2,2,1,7,2,12,4,2,14,7,3,1,10,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,13,1,5,59,1,1,5,32,18,16,10,1,10,1,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,1,96,788,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,789,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,6,6,60,1,29,8,18,-218,-218,-218,-218,-218,-218,45,1,5,59,1,1,5,14,5,1,2,1,1,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-291,-291,-291,-291,-291,786,-291,-291,-291,-291,790,-291,791,-291,-291,-291,-291,-291,-291,-291,-291,125,126,-291,-291,-291,-291,-291,-291,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,59,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,45,1,5,59,1,1,5,14,5,1,2,1,1,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-290,-290,-290,-290,-290,786,-290,-290,-290,-290,792,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,125,126,-290,-290,-290,-290,-290,-290,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,1,96,793,100,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,7,3,11,2,3,2,9,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,3,1,8,4,1,1,1,1,1,4,1,794,165,29,30,31,32,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,33,34,35,36,37,38,39,40,41,74,75,76,77,78,79,80,81,100,101,92,104,105,106,102,103,53,52,72,73,93,99,59,83,87,84,85,66,169,170,90,91,86,88,89,82,69,64,65,54,94,55,95,56,60,57,96,97,58,98,49,61,67,62,63,70,71,171,172,173,46,47,48,50,51,1,96,795,59,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,45,1,5,59,1,1,5,14,5,1,2,1,1,1,7,2,12,4,2,14,7,3,1,9,1,1,3,1,1,2,25,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,-292,-292,-292,-292,-292,786,-292,-292,-292,-292,796,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,125,126,-292,-292,-292,-292,-292,-292,109,108,110,111,112,113,114,115,116,117,118,119,120,121,122,123,59,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,1,96,797,59,1,5,53,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,2,2,1,7,2,12,2,2,2,7,7,7,3,1,10,1,3,1,1,2,25,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107],W=[],F=0,U,u,f,Y;while(F<$.length){U=$[F++],u={},f=0,Y=[];while(U--)f+=$[F++],Y.push(f);for(f of Y)u[f]=$[F++];W.push(u)}return W})(),ruleTable:[0,0,3,0,3,1,4,1,4,3,4,2,5,1,5,1,5,1,9,1,9,1,9,1,9,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,8,1,8,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1,45,1,45,1,55,1,57,1,54,1,54,3,61,1,61,2,63,3,63,5,63,2,63,1,47,1,47,3,71,3,71,1,17,3,17,4,17,5,18,3,18,4,18,5,19,3,19,4,19,3,20,3,20,4,20,5,21,3,21,4,21,3,21,2,21,3,21,2,36,1,36,1,36,1,79,1,79,1,79,3,79,3,79,4,79,6,79,4,79,6,79,4,79,5,79,7,79,3,79,3,79,4,79,6,81,10,81,12,81,11,81,13,81,4,99,0,99,1,99,3,99,4,99,6,100,1,100,1,100,3,100,5,100,3,100,5,102,1,102,1,102,1,90,1,90,3,90,4,90,1,101,2,101,2,107,1,107,1,107,1,107,1,107,1,107,2,107,2,107,2,107,2,107,3,107,3,107,4,107,6,80,2,80,3,80,4,112,1,112,3,112,4,112,4,112,6,114,1,114,2,113,1,113,2,111,1,111,2,116,1,116,2,117,1,117,1,39,5,87,3,87,2,87,2,87,1,32,6,32,3,15,5,15,2,34,5,34,2,125,1,125,1,121,0,121,1,121,3,121,4,121,6,128,1,128,3,128,2,128,1,129,1,129,1,129,1,129,1,130,2,40,2,40,2,40,3,40,2,40,2,109,2,109,4,132,1,132,3,132,4,132,4,132,6,115,1,115,1,115,1,115,1,133,1,133,3,42,1,42,1,82,2,43,3,43,4,43,6,44,3,44,3,76,2,76,3,38,3,38,5,95,0,95,1,10,2,10,4,10,1,30,2,30,4,31,1,31,2,31,4,31,3,143,3,143,5,146,3,146,5,22,1,22,3,22,1,22,3,22,3,22,7,22,5,22,3,22,3,23,2,23,3,23,4,23,5,151,3,151,3,151,2,26,5,26,7,26,4,26,6,155,1,155,2,156,3,156,4,158,2,158,4,158,2,158,4,24,2,24,2,24,2,24,1,161,2,161,2,161,3,25,5,25,7,25,7,25,9,25,9,25,5,25,7,25,6,25,8,25,5,25,7,25,6,25,8,25,5,25,7,25,3,25,5,25,5,25,7,25,7,25,9,25,9,25,5,25,7,25,6,25,8,25,5,25,7,25,6,25,8,25,5,25,7,25,3,25,5,168,1,168,3,93,1,93,3,27,1,27,2,27,3,27,4,27,2,27,3,27,4,27,5,33,3,28,4,173,1,173,3,173,2,174,1,174,1,174,1,29,2,12,2,12,4,12,4,12,5,12,7,12,6,12,9,179,1,179,3,179,4,179,4,179,6,180,1,180,3,180,1,180,3,177,1,178,3,13,3,13,5,13,2,13,2,13,2,13,2,13,4,13,5,13,6,13,2,13,2,13,2,13,2,13,3,13,5,13,4,13,5,13,7,185,1,185,3,185,4,185,4,185,6,187,1,187,3,187,3,187,1,187,3,35,2,35,2,35,2,16,2,16,2,16,2,16,2,16,2,16,2,16,2,16,2,16,2,16,4,16,2,16,2,16,2,16,2,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,5,16,3,16,5,16,4,41,2],ruleActions:($,W,F,U)=>{let u=W,f=W.length-1;switch($){case 1:return["program"];case 2:return["program",...u[f]];case 3:case 58:case 110:case 150:case 154:case 174:case 194:case 203:case 252:case 303:case 315:case 329:case 358:return[u[f]];case 4:case 111:case 175:case 195:case 204:case 316:case 330:case 359:return[...u[f-2],u[f]];case 5:case 60:case 157:case 317:return u[f-1];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:case 44:case 45:case 46:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 63:case 64:case 86:case 87:case 88:case 89:case 90:case 115:case 120:case 121:case 122:case 123:case 126:case 129:case 130:case 131:case 132:case 133:case 145:case 171:case 172:case 178:case 182:case 183:case 184:case 185:case 199:case 200:case 201:case 217:case 218:case 232:case 234:case 263:case 301:case 318:case 319:case 320:case 334:case 336:case 338:case 363:case 366:return u[f];case 47:return"undefined";case 48:return"null";case 57:return["str",...u[f-1]];case 59:case 151:case 155:case 253:return[...u[f-1],u[f]];case 61:case 193:case 197:case 332:case 361:return u[f-2];case 62:return"";case 65:return["regex",u[f-1]];case 66:return["regex-index",u[f-2],u[f]];case 67:return["regex-index",u[f],null];case 68:return["=",u[f-2],u[f]];case 69:return["=",u[f-3],u[f]];case 70:return["=",u[f-4],u[f-1]];case 71:return["state",u[f-2],u[f]];case 72:return["state",u[f-3],u[f]];case 73:return["state",u[f-4],u[f-1]];case 74:case 76:return["computed",u[f-2],u[f]];case 75:return["computed",u[f-3],u[f]];case 77:return["readonly",u[f-2],u[f]];case 78:return["readonly",u[f-3],u[f]];case 79:return["readonly",u[f-4],u[f-1]];case 80:case 82:return["effect",u[f-2],u[f]];case 81:return["effect",u[f-3],u[f]];case 83:case 84:case 85:return["effect",null,u[f]];case 91:case 100:case 138:return[".",u[f-2],u[f]];case 92:case 101:case 139:return["?.",u[f-2],u[f]];case 93:case 95:case 102:case 140:return["[]",u[f-3],u[f-1]];case 94:case 96:case 103:case 141:return["[]",u[f-5],u[f-2]];case 97:return[u[f-1][0],u[f-3],...u[f-1].slice(1)];case 98:return["optindex",u[f-4],u[f-1]];case 99:return["optindex",u[f-6],u[f-2]];case 104:return["object-comprehension",u[f-8],u[f-6],[["for-of",u[f-4],u[f-2],!1]],[]];case 105:return["object-comprehension",u[f-10],u[f-8],[["for-of",u[f-6],u[f-4],!1]],[u[f-2]]];case 106:return["object-comprehension",u[f-9],u[f-7],[["for-of",u[f-4],u[f-2],!0]],[]];case 107:return["object-comprehension",u[f-11],u[f-9],[["for-of",u[f-6],u[f-4],!0]],[u[f-2]]];case 108:return["object",...u[f-2]];case 109:case 152:case 173:case 192:return[];case 112:case 176:case 196:case 331:case 360:return[...u[f-3],u[f]];case 113:case 177:case 198:case 333:case 362:return[...u[f-5],...u[f-2]];case 114:return[u[f],u[f],null];case 116:return[u[f-2],u[f],":"];case 117:return[u[f-4],u[f-1],":"];case 118:return[u[f-2],u[f],"="];case 119:return[u[f-4],u[f-1],"="];case 124:return["dynamicKey",u[f-1]];case 125:return["[]","this",u[f-1]];case 127:case 128:case 186:return["...",u[f]];case 134:case 190:return["super",...u[f]];case 135:case 136:case 137:case 188:case 191:return[u[f-1],...u[f]];case 142:return["array"];case 143:return["array",...u[f-1]];case 144:return["array",...u[f-2],...u[f-1]];case 146:return[...u[f-2],...u[f]];case 147:return[...u[f-3],...u[f]];case 148:return[...u[f-2],...u[f-1]];case 149:return[...u[f-5],...u[f-4],...u[f-2],...u[f-1]];case 153:return[...u[f]];case 156:return null;case 158:return"..";case 159:case 202:return"...";case 160:return[u[f-2],u[f-3],u[f-1]];case 161:case 387:case 389:case 390:case 405:case 407:return[u[f-1],u[f-2],u[f]];case 162:return[u[f],u[f-1],null];case 163:return[u[f-1],null,u[f]];case 164:return[u[f],null,null];case 165:return["def",u[f-4],u[f-2],u[f]];case 166:return["def",u[f-1],[],u[f]];case 167:case 169:return[u[f-1],u[f-3],u[f]];case 168:case 170:return[u[f-1],[],u[f]];case 179:case 302:return["default",u[f-2],u[f]];case 180:return["rest",u[f]];case 181:return["expansion"];case 187:return["tagged-template",u[f-1],u[f]];case 189:return["optcall",u[f-2],...u[f]];case 205:case 206:return"this";case 207:return[".","this",u[f]];case 208:return[".","super",u[f]];case 209:return["[]","super",u[f-1]];case 210:return["[]","super",u[f-2]];case 211:return[".","new",u[f]];case 212:return[".","import",u[f]];case 213:return["block"];case 214:return["block",...u[f-1]];case 215:return u[f-1].length===1?u[f-1][0]:["block",...u[f-1]];case 216:return u[f-2].length===1?u[f-2][0]:["block",...u[f-2]];case 219:return["return",u[f]];case 220:return["return",u[f-1]];case 221:return["return"];case 222:return["throw",u[f]];case 223:return["throw",u[f-1]];case 224:return["yield"];case 225:return["yield",u[f]];case 226:return["yield",u[f-1]];case 227:return["yield-from",u[f]];case 228:return["if",u[f-1],u[f]];case 229:return u[f-4].length===3?["if",u[f-4][1],u[f-4][2],["if",u[f-1],u[f]]]:[...u[f-4],["if",u[f-1],u[f]]];case 230:return["if",["!",u[f-1]],u[f]];case 231:return["if",["!",u[f-3]],u[f-2],u[f]];case 233:return u[f-2].length===3?["if",u[f-2][1],u[f-2][2],u[f]]:[...u[f-2],u[f]];case 235:case 236:return["if",u[f],[u[f-2]]];case 237:return["?:",u[f-4],u[f-6],u[f-1]];case 238:return["?:",u[f-2],u[f-4],u[f]];case 239:case 240:return["if",["!",u[f]],[u[f-2]]];case 241:return["try",u[f]];case 242:return["try",u[f-1],u[f]];case 243:return["try",u[f-2],u[f]];case 244:return["try",u[f-3],u[f-2],u[f]];case 245:case 246:case 368:case 371:case 373:return[u[f-1],u[f]];case 247:return[null,u[f]];case 248:return["switch",u[f-3],u[f-1],null];case 249:return["switch",u[f-5],u[f-3],u[f-1]];case 250:return["switch",null,u[f-1],null];case 251:return["switch",null,u[f-3],u[f-1]];case 254:return["when",u[f-1],u[f]];case 255:return["when",u[f-2],u[f-1]];case 256:return["while",u[f]];case 257:return["while",u[f-2],u[f]];case 258:return["while",["!",u[f]]];case 259:return["while",["!",u[f-2]],u[f]];case 260:return u[f-1].length===2?[u[f-1][0],u[f-1][1],u[f]]:[u[f-1][0],u[f-1][1],u[f-1][2],u[f]];case 261:case 262:return u[f].length===2?[u[f][0],u[f][1],[u[f-1]]]:[u[f][0],u[f][1],u[f][2],[u[f-1]]];case 264:return["loop",u[f]];case 265:return["loop",[u[f]]];case 266:return["loop-n",u[f-1],u[f]];case 267:return["for-in",u[f-3],u[f-1],null,null,u[f]];case 268:return["for-in",u[f-5],u[f-3],null,u[f-1],u[f]];case 269:return["for-in",u[f-5],u[f-3],u[f-1],null,u[f]];case 270:return["for-in",u[f-7],u[f-5],u[f-1],u[f-3],u[f]];case 271:return["for-in",u[f-7],u[f-5],u[f-3],u[f-1],u[f]];case 272:return["for-of",u[f-3],u[f-1],!1,null,u[f]];case 273:return["for-of",u[f-5],u[f-3],!1,u[f-1],u[f]];case 274:return["for-of",u[f-3],u[f-1],!0,null,u[f]];case 275:return["for-of",u[f-5],u[f-3],!0,u[f-1],u[f]];case 276:return["for-as",u[f-3],u[f-1],!1,null,u[f]];case 277:return["for-as",u[f-5],u[f-3],!1,u[f-1],u[f]];case 278:case 280:return["for-as",u[f-3],u[f-1],!0,null,u[f]];case 279:case 281:return["for-as",u[f-5],u[f-3],!0,u[f-1],u[f]];case 282:return["for-in",[],u[f-1],null,null,u[f]];case 283:return["for-in",[],u[f-3],u[f-1],null,u[f]];case 284:return["comprehension",u[f-4],[["for-in",u[f-2],u[f],null]],[]];case 285:return["comprehension",u[f-6],[["for-in",u[f-4],u[f-2],null]],[u[f]]];case 286:return["comprehension",u[f-6],[["for-in",u[f-4],u[f-2],u[f]]],[]];case 287:return["comprehension",u[f-8],[["for-in",u[f-6],u[f-4],u[f]]],[u[f-2]]];case 288:return["comprehension",u[f-8],[["for-in",u[f-6],u[f-4],u[f-2]]],[u[f]]];case 289:return["comprehension",u[f-4],[["for-of",u[f-2],u[f],!1]],[]];case 290:return["comprehension",u[f-6],[["for-of",u[f-4],u[f-2],!1]],[u[f]]];case 291:return["comprehension",u[f-5],[["for-of",u[f-2],u[f],!0]],[]];case 292:return["comprehension",u[f-7],[["for-of",u[f-4],u[f-2],!0]],[u[f]]];case 293:return["comprehension",u[f-4],[["for-as",u[f-2],u[f],!1,null]],[]];case 294:return["comprehension",u[f-6],[["for-as",u[f-4],u[f-2],!1,null]],[u[f]]];case 295:return["comprehension",u[f-5],[["for-as",u[f-2],u[f],!0,null]],[]];case 296:return["comprehension",u[f-7],[["for-as",u[f-4],u[f-2],!0,null]],[u[f]]];case 297:return["comprehension",u[f-4],[["for-as",u[f-2],u[f],!0,null]],[]];case 298:return["comprehension",u[f-6],[["for-as",u[f-4],u[f-2],!0,null]],[u[f]]];case 299:return["comprehension",u[f-2],[["for-in",[],u[f],null]],[]];case 300:return["comprehension",u[f-4],[["for-in",[],u[f-2],u[f]]],[]];case 304:case 335:case 337:case 364:case 365:case 367:return[u[f-2],u[f]];case 305:return["class",null,null];case 306:return["class",null,null,u[f]];case 307:return["class",null,u[f]];case 308:return["class",null,u[f-1],u[f]];case 309:return["class",u[f],null];case 310:return["class",u[f-1],null,u[f]];case 311:return["class",u[f-2],u[f]];case 312:return["class",u[f-3],u[f-1],u[f]];case 313:return["enum",u[f-1],u[f]];case 314:return["component",null,["block",...u[f-1]]];case 321:return["render",u[f]];case 322:case 325:return["import","{}",u[f]];case 323:case 324:return["import",u[f-2],u[f]];case 326:return["import",u[f-4],u[f]];case 327:return["import",[u[f-4],u[f-2]],u[f]];case 328:return["import",[u[f-7],u[f-4]],u[f]];case 339:return["*",u[f]];case 340:return["export","{}"];case 341:return["export",u[f-2]];case 342:case 343:case 344:case 345:case 349:case 350:case 351:case 352:return["export",u[f]];case 346:return["export",["=",u[f-2],u[f]]];case 347:return["export",["=",u[f-3],u[f]]];case 348:return["export",["=",u[f-4],u[f-1]]];case 353:return["export-default",u[f]];case 354:return["export-default",u[f-1]];case 355:return["export-all",u[f]];case 356:return["export-from","{}",u[f]];case 357:return["export-from",u[f-4],u[f]];case 369:case 370:case 372:case 410:return["do-iife",u[f]];case 374:return["-",u[f]];case 375:return["+",u[f]];case 376:return["?",u[f-1]];case 377:return["defined",u[f-1]];case 378:return["presence",u[f-1]];case 379:return["await",u[f]];case 380:return["await",u[f-1]];case 381:return["--",u[f],!1];case 382:return["++",u[f],!1];case 383:return["--",u[f-1],!0];case 384:return["++",u[f-1],!0];case 385:return["+",u[f-2],u[f]];case 386:return["-",u[f-2],u[f]];case 388:return["**",u[f-2],u[f]];case 391:return["&",u[f-2],u[f]];case 392:return["^",u[f-2],u[f]];case 393:return["|",u[f-2],u[f]];case 394:case 395:case 396:case 397:case 398:case 399:return["control",u[f-1],u[f-2],u[f]];case 400:return["&&",u[f-2],u[f]];case 401:return["||",u[f-2],u[f]];case 402:return["??",u[f-2],u[f]];case 403:return["!?",u[f-2],u[f]];case 404:return["|>",u[f-2],u[f]];case 406:return["?:",u[f-4],u[f-2],u[f]];case 408:return[u[f-3],u[f-4],u[f-1]];case 409:return[u[f-2],u[f-3],u[f]]}},parseError($,W){let F,U,u,f,Y,_,A;if(W.recoverable)return this.trace($);else throw u=(W.line||0)+1,F=W.loc?.c||0,A=W.token?` (token: ${W.token})`:"",_=W.text?` near '${W.text}'`:"",f=`line ${u}, column ${F}`,Y=`Parse error at ${f}${A}${_}: ${$}`,U=Error(Y),U.hash=W,U},parse($){let W,F,U,u,f,Y,_,A,J,w,z,X,Z,K,R,Q,M,H,O,q,E,I,D,G,P,B;[q,B,w]=[[0],[null],[]],[Z,P,D,I,Q]=[this.parseTable,"",0,0,0],[F,W]=[2,1],A=Object.create(this.lexer),H={ctx:{}};for(let N in this.ctx){if(!Object.hasOwn(this.ctx,N))continue;let T=this.ctx[N];H.ctx[N]=T}if(A.setInput($,H.ctx),[H.ctx.lexer,H.ctx.parser]=[A,this],A.loc==null)A.loc={};G=A.loc,w.push(G),this.parseError=typeof H.ctx.parseError==="function"?H.ctx.parseError:Object.getPrototypeOf(this).parseError,_=()=>{let N;if(N=A.lex()||W,typeof N!=="number")N=this.symbolIds[N]||N;return N},E=K=O=U=R=X=Y=z=f=null,M={};while(!0){if(O=q[q.length-1],E==null)E=_();if(U=Z[O]?.[E],U==null){if(u="",!Q)f=(()=>{let N=[];for(let T in Z[O]){if(!Object.hasOwn(Z[O],T))continue;if(this.tokenNames[T]&&T>F)N.push(`'${this.tokenNames[T]}'`)}return N})();throw u=(()=>{if(A.showPosition)return`Parse error on line ${D+1}:
12
12
  ${A.showPosition()}
13
- Expecting ${f.join(", ")}, got '${this.tokenNames[E]||E}'`;else return`Parse error on line ${D+1}: Unexpected ${E===W?"end of input":`'${this.tokenNames[E]||E}'`}`,this.parseError(u,{text:A.match,token:this.tokenNames[E]||E,line:A.line,loc:G,expected:f})})(),Error(u)}if(U>0)if(q.push(E,U),B.push(A.text),R.push(A.loc),E=null,!K){if([I,P,D,G]=[A.len,A.text,A.line,A.loc],Q>0)Q--}else[E,K]=[K,null];else if(U<0){if(Y=this.ruleTable[-U*2+1],M.$=B[B.length-Y],J=R[R.length-(Y||1)],M._$={r:J.r,c:J.c},w=this.ruleActions.call(M,-U,B,R,H.ctx),w!=null)M.$=w;if(Array.isArray(M.$))M.$.loc=M._$;if(Y)q.length-=Y*2,B.length-=Y,R.length-=Y;q.push(this.ruleTable[-U*2]),B.push(M.$),R.push(M._$),X=Z[q[q.length-2]][q[q.length-1]],q.push(X)}else if(U===0)return B[B.length-1]}},trace(){},ctx:{}},j3=($={})=>{let W=Object.create(h3);return Object.defineProperty(W,"ctx",{value:{...$},enumerable:!1,writable:!0,configurable:!0}),W},s=j3();var a3=s.parse.bind(s);var C3=new Set(["html","head","title","base","link","meta","style","body","address","article","aside","footer","header","h1","h2","h3","h4","h5","h6","main","nav","section","blockquote","dd","div","dl","dt","figcaption","figure","hr","li","ol","p","pre","ul","a","abbr","b","bdi","bdo","br","cite","code","data","dfn","em","i","kbd","mark","q","rp","rt","ruby","s","samp","small","span","strong","sub","sup","time","u","var","wbr","area","audio","img","map","track","video","embed","iframe","object","param","picture","portal","source","svg","math","canvas","noscript","script","del","ins","caption","col","colgroup","table","tbody","td","tfoot","th","thead","tr","button","datalist","fieldset","form","input","label","legend","meter","optgroup","option","output","progress","select","textarea","details","dialog","menu","summary","slot","template"]),Y1=new Set(["svg","g","defs","symbol","use","marker","clipPath","mask","pattern","circle","ellipse","line","path","polygon","polyline","rect","text","textPath","tspan","linearGradient","radialGradient","stop","filter","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","animate","animateMotion","animateTransform","set","mpath","desc","foreignObject","image","metadata","switch","title","view"]),z2=new Set([...C3,...Y1]);var c1=new Set(["beforeMount","mounted","updated","beforeUnmount","unmounted","onError"]),y3=new Set(["disabled","hidden","readonly","required","checked","selected","autofocus","autoplay","controls","loop","muted","multiple","novalidate","open","reversed","defer","async","formnovalidate","allowfullscreen","inert"]);function b3($){for(let W of $){if(!Array.isArray(W))continue;let F=W[0]instanceof String?W[0].valueOf():W[0],U=W[1]instanceof String?W[1].valueOf():W[1];if(F==="type"&&typeof U==="string")return U.replace(/^["']|["']$/g,"")}return null}function O1($){if(typeof $==="string")return $;if(Array.isArray($)&&$[0]==="."&&$[1]==="this"&&typeof $[2]==="string")return $[2];return null}function v1($){return Array.isArray($)&&$[0]==="."&&$[1]==="this"}function K2($,W){W.prototype.rewriteRender=function(){let U=(Z,K,w)=>{let Q=[Z,K];if(Q.pre=0,Q.data=null,Q.loc=w?.loc??{r:0,c:0,n:0},Q.spaced=!1,Q.newLine=!1,Q.generated=!0,w)Q.origin=w;return Q},u=!1,f=0,Y=0,_=[],A=(Z)=>{let K=Z.split("#")[0];return z2.has(K)},J=(Z)=>{if(!Z||typeof Z!=="string")return!1;return/^[A-Z]/.test(Z)},R=(Z)=>{return A(Z)||J(Z)},X=(Z,K,w,Q)=>{let M=1,H=K;while(H>=0&&M>0){let O=Z[H][0];if(O===w)M++;else if(O===Q)M--;if(M>0)H--}return H},z=(Z,K)=>{let w=K;while(w>0){let Q=Z[w-1][0];if(Q==="TERMINATOR"||Q==="RENDER")break;if(Q==="INDENT"||Q==="OUTDENT"){let M=Z[w][0];if(M==="CALL_END"||M===")"){w=X(Z,w-1,M,M==="CALL_END"?"CALL_START":"(");continue}break}if(Q==="CALL_END"||Q===")"){w=X(Z,w-2,Q,Q==="CALL_END"?"CALL_START":"(");continue}if(Q==="INTERPOLATION_END"){w=X(Z,w-2,"INTERPOLATION_END","INTERPOLATION_START");continue}if(Q==="STRING_END"){w=X(Z,w-2,"STRING_END","STRING_START");continue}w--}return Z[w]&&Z[w][0]==="IDENTIFIER"&&R(Z[w][1])};this.scanTokens(function(Z,K,w){let Q=Z[0],M=K<w.length-1?w[K+1]:null;if(Q==="RENDER")return u=!0,f=Y+1,1;if(Q==="INDENT")return Y++,1;if(Q==="OUTDENT"){Y--;let H=0;while(_.length>0&&_[_.length-1]>Y){let O=U("CALL_END",")",Z);w.splice(K+1+H,0,O),_.pop(),H++}if(u&&Y<f)u=!1;return 1+H}if(!u)return 1;if(Q==="UNARY_MATH"&&Z[1]==="~"&&M&&M[0]==="IDENTIFIER"){Z[0]="PROPERTY",Z[1]="__transition__";let H=U(":",":",Z),O=U("STRING",`"${M[1]}"`,M);return w.splice(K+1,1,H,O),1}if(Q==="IDENTIFIER"&&!Z.spaced){let H=[Z[1]],O=K+1;while(O+1<w.length){let q=w[O],E=w[O+1];if(q[0]==="-"&&!q.spaced&&(E[0]==="IDENTIFIER"||E[0]==="PROPERTY")){if(H.push(E[1]),O+=2,E[0]==="PROPERTY")break}else break}if(H.length>1&&O>K+1&&w[O-1][0]==="PROPERTY")return Z[0]="STRING",Z[1]=`"${H.join("-")}"`,w.splice(K+1,O-K-1),1}if(Q==="."){let H=K>0?w[K-1]:null,O=H?H[0]:null;if(O==="INDENT"||O==="TERMINATOR"){if(M&&M[0]==="PROPERTY"){let q=K+2<w.length?w[K+2]:null;if(!q||q[0]!==":"){let E=U("IDENTIFIER","div",Z);return w.splice(K,0,E),2}}if(!M||M[0]!=="(")return Z[0]="IDENTIFIER",Z[1]="div",0}}if(Q==="IDENTIFIER"||Q==="PROPERTY"){let H=w[K+1],O=w[K+2];if(H&&H[0]==="#"&&O&&(O[0]==="PROPERTY"||O[0]==="IDENTIFIER")){if(Z[1]=Z[1]+"#"+O[1],O.spaced)Z.spaced=!0;return w.splice(K+1,2),0}}if(Q==="BIND"){let H=K>0?w[K-1]:null,O=w[K+1];if(H&&(H[0]==="IDENTIFIER"||H[0]==="PROPERTY")&&O&&O[0]==="IDENTIFIER")return H[1]=`__bind_${H[1]}__`,Z[0]=":",Z[1]=":",1}if(Q==="@"){let H=K+1;if(H<w.length&&w[H][0]==="PROPERTY"){H++;while(H+1<w.length&&w[H][0]==="."&&w[H+1][0]==="PROPERTY")H+=2;if(H>K+2&&H<w.length&&w[H][0]===":"){let O=U("[","[",Z);w.splice(K,0,O);let q=U("]","]",w[H+1]);return w.splice(H+1,0,q),2}}}if(Q==="."&&M&&M[0]==="("){let H=K>0?w[K-1]:null,O=H?H[0]:null,q=O==="INDENT"||O==="TERMINATOR",E=U("PROPERTY","__clsx",Z);M[0]="CALL_START";let I=1;for(let D=K+2;D<w.length&&I>0;D++)if(w[D][0]==="("||w[D][0]==="CALL_START")I++;else if(w[D][0]===")"){if(I--,I===0)w[D][0]="CALL_END"}else if(w[D][0]==="CALL_END")I--;if(q){let D=U("IDENTIFIER","div",Z);return w.splice(K,0,D),w.splice(K+2,0,E),3}else if(O===":")return w[K]=U("IDENTIFIER","__clsx",Z),1;else return w.splice(K+1,0,E),2}if(M&&M[0]==="INDENT"){if(M.fromThen)return 1;if(Q==="->"||Q==="=>"||Q==="CALL_START"||Q==="(")return 1;let H=!1,O=K>0?w[K-1][0]:null,q=O==="IF"||O==="UNLESS"||O==="WHILE"||O==="UNTIL"||O==="WHEN",E=!1;if(Q==="CALL_END"){let I=1;for(let D=K-1;D>=0&&I>0;D--)if(w[D][0]==="CALL_END")I++;else if(w[D][0]==="CALL_START"){if(I--,I===0&&D>0&&w[D-1][0]==="PROPERTY"&&w[D-1][1]==="__clsx")E=!0}}if(E)H=!0;else if(Q==="IDENTIFIER"&&R(Z[1])&&!q)H=!0;else if(Q==="IDENTIFIER"&&!q)H=z(w,K);else if(Q==="PROPERTY"||Q==="STRING"||Q==="STRING_END"||Q==="NUMBER"||Q==="BOOL"||Q==="CALL_END"||Q===")"||Q==="PRESENCE")H=z(w,K);if(H){let I=Q==="PROPERTY"&&K>0&&(w[K-1][0]==="."||w[K-1][0]==="#");if(E||Q==="IDENTIFIER"&&R(Z[1])||I){let G=U("CALL_START","(",Z),P=U("->","->",Z);return P.newLine=!0,w.splice(K+1,0,G,P),_.push(Y+1),3}else{let G=U(",",",",Z),P=U("->","->",Z);return P.newLine=!0,w.splice(K+1,0,G,P),3}}}if(Q==="IDENTIFIER"&&J(Z[1])&&M&&(M[0]==="OUTDENT"||M[0]==="TERMINATOR"))return w.splice(K+1,0,U("CALL_START","(",Z),U("CALL_END",")",Z)),3;return 1})};let F=$.prototype;F.isHtmlTag=function(U){let u=U.split("#")[0];return z2.has(u.toLowerCase())},F.isComponent=function(U){if(!U||typeof U!=="string")return!1;return/^[A-Z]/.test(U)},F.collectTemplateClasses=function(U){let u=[],f=U;while(this.is(f,".")){let J=f[2];if(typeof J==="string"||J instanceof String)u.unshift(J.valueOf());f=f[1]}let Y=typeof f==="string"?f:f instanceof String?f.valueOf():null;if(Y===null)return{tag:null,classes:u,id:void 0};let[_,A]=Y.split("#");if(!_)_="div";return{tag:_,classes:u,id:A}},F.transformComponentMembers=function(U){let u=this._self;if(!Array.isArray(U)){if(typeof U==="string"&&this.reactiveMembers&&this.reactiveMembers.has(U))return[".",[".",u,U],"value"];if(typeof U==="string"&&this.componentMembers&&this.componentMembers.has(U))return[".",u,U];return U}if(U[0]==="."&&U[1]==="this"&&typeof U[2]==="string"){let f=U[2];if(this.reactiveMembers&&this.reactiveMembers.has(f))return[".",[".",u,f],"value"];return this._factoryMode?[".",u,U[2]]:U}if(U[0]==="."||U[0]==="?.")return[U[0],this.transformComponentMembers(U[1]),U[2]];if(U[0]==="->")return["=>",...U.slice(1).map((f)=>this.transformComponentMembers(f))];if(U[0]==="object")return["object",...U.slice(1).map((f)=>{if(Array.isArray(f)&&f.length>=2){let Y=f[0],_=Array.isArray(Y)?this.transformComponentMembers(Y):Y,A=this.transformComponentMembers(f[1]);return[_,A,f[2]]}return this.transformComponentMembers(f)})];return U.map((f)=>this.transformComponentMembers(f))},F.generateComponent=function(U,u,f,Y){let[,_]=u;this.usesTemplates=!0,this.usesReactivity=!0;let A=this.is(_,"block")?_.slice(1):[],J=[],R=[],X=[],z=[],Z=[],K=[],w=null,Q=new Set,M=new Set;for(let G of A){if(!Array.isArray(G))continue;let[P]=G;if(P==="state"){let B=O1(G[1]);if(B)J.push({name:B,value:G[2],isPublic:v1(G[1])}),Q.add(B),M.add(B)}else if(P==="computed"){let B=O1(G[1]);if(B)R.push({name:B,expr:G[2]}),Q.add(B),M.add(B)}else if(P==="readonly"){let B=O1(G[1]);if(B)X.push({name:B,value:G[2],isPublic:v1(G[1])}),Q.add(B)}else if(P==="="){let B=O1(G[1]);if(B)if(c1.has(B))Z.push({name:B,value:G[2]});else{let N=G[2];if(Array.isArray(N)&&(N[0]==="->"||N[0]==="=>"))z.push({name:B,func:N}),Q.add(B);else J.push({name:B,value:N,isPublic:v1(G[1])}),Q.add(B),M.add(B)}}else if(P==="effect")K.push(G);else if(P==="render")w=G;else if(P==="object")for(let B=1;B<G.length;B++){let N=G[B];if(!Array.isArray(N))continue;let[T,S]=N;if(typeof T==="string"&&c1.has(T))Z.push({name:T,value:S});else if(typeof T==="string")z.push({name:T,func:S}),Q.add(T)}}let H=new Map;for(let{name:G}of z)if(/^on[A-Z]/.test(G)&&!c1.has(G))H.set(G[2].toLowerCase()+G.slice(3),G);let O=this.componentMembers,q=this.reactiveMembers,E=this._autoEventHandlers;this.componentMembers=Q,this.reactiveMembers=M,this._autoEventHandlers=H.size>0?H:null;let I=[],D="";I.push("class extends __Component {"),I.push(" _init(props) {");for(let{name:G,value:P,isPublic:B}of X){let N=this.generateInComponent(P,"value");I.push(B?` this.${G} = props.${G} ?? ${N};`:` this.${G} = ${N};`)}for(let{name:G,value:P,isPublic:B}of J){let N=this.generateInComponent(P,"value");I.push(B?` this.${G} = __state(props.${G} ?? ${N});`:` this.${G} = __state(${N});`)}for(let{name:G,expr:P}of R)if(this.is(P,"block")&&P.length>2){let B=this.transformComponentMembers(P),N=this.generateFunctionBody(B);I.push(` this.${G} = __computed(() => ${N});`)}else{let B=this.generateInComponent(P,"value");I.push(` this.${G} = __computed(() => ${B});`)}for(let G of K){let P=G[2],B=this.containsAwait(P)?"async ":"";if(this.is(P,"block")&&P.length>2){let N=this.transformComponentMembers(P),T=this.generateFunctionBody(N,[],!0);I.push(` __effect(${B}() => ${T});`)}else{let N=this.generateInComponent(P,"value");I.push(` __effect(${B}() => { ${N}; });`)}}I.push(" }");for(let{name:G,func:P}of z)if(Array.isArray(P)&&(P[0]==="->"||P[0]==="=>")){let[,B,N]=P,T=Array.isArray(B)?B.map((c)=>this.formatParam(c)).join(", "):"",S=this.reactiveMembers?this.transformComponentMembers(N):N,j=this.containsAwait(N),C=this.generateFunctionBody(S,B||[]);I.push(` ${j?"async ":""}${G}(${T}) ${C}`)}for(let{name:G,value:P}of Z)if(Array.isArray(P)&&(P[0]==="->"||P[0]==="=>")){let[,B,N]=P,T=Array.isArray(B)?B.map((c)=>this.formatParam(c)).join(", "):"",S=this.reactiveMembers?this.transformComponentMembers(N):N,j=this.containsAwait(N),C=this.generateFunctionBody(S,B||[]);I.push(` ${j?"async ":""}${G}(${T}) ${C}`)}if(w){let G=w[1],P=this.buildRender(G);if(P.blockFactories.length>0)D=P.blockFactories.join(`
13
+ Expecting ${f.join(", ")}, got '${this.tokenNames[E]||E}'`;else return`Parse error on line ${D+1}: Unexpected ${E===W?"end of input":`'${this.tokenNames[E]||E}'`}`,this.parseError(u,{text:A.match,token:this.tokenNames[E]||E,line:A.line,loc:G,expected:f})})(),Error(u)}if(U>0)if(q.push(E,U),B.push(A.text),w.push(A.loc),E=null,!K){if([I,P,D,G]=[A.len,A.text,A.line,A.loc],Q>0)Q--}else[E,K]=[K,null];else if(U<0){if(Y=this.ruleTable[-U*2+1],M.$=B[B.length-Y],J=w[w.length-(Y||1)],M._$={r:J.r,c:J.c},R=this.ruleActions.call(M,-U,B,w,H.ctx),R!=null)M.$=R;if(Array.isArray(M.$))M.$.loc=M._$;if(Y)q.length-=Y*2,B.length-=Y,w.length-=Y;q.push(this.ruleTable[-U*2]),B.push(M.$),w.push(M._$),z=Z[q[q.length-2]][q[q.length-1]],q.push(z)}else if(U===0)return B[B.length-1]}},trace(){},ctx:{}},j3=($={})=>{let W=Object.create(V3);return Object.defineProperty(W,"ctx",{value:{...$},enumerable:!1,writable:!0,configurable:!0}),W},s=j3();var a3=s.parse.bind(s);var C3=new Set(["html","head","title","base","link","meta","style","body","address","article","aside","footer","header","h1","h2","h3","h4","h5","h6","main","nav","section","blockquote","dd","div","dl","dt","figcaption","figure","hr","li","ol","p","pre","ul","a","abbr","b","bdi","bdo","br","cite","code","data","dfn","em","i","kbd","mark","q","rp","rt","ruby","s","samp","small","span","strong","sub","sup","time","u","var","wbr","area","audio","img","map","track","video","embed","iframe","object","param","picture","portal","source","svg","math","canvas","noscript","script","del","ins","caption","col","colgroup","table","tbody","td","tfoot","th","thead","tr","button","datalist","fieldset","form","input","label","legend","meter","optgroup","option","output","progress","select","textarea","details","dialog","menu","summary","slot","template"]),Y1=new Set(["svg","g","defs","symbol","use","marker","clipPath","mask","pattern","circle","ellipse","line","path","polygon","polyline","rect","text","textPath","tspan","linearGradient","radialGradient","stop","filter","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","animate","animateMotion","animateTransform","set","mpath","desc","foreignObject","image","metadata","switch","title","view"]),z2=new Set([...C3,...Y1]);var c1=new Set(["beforeMount","mounted","updated","beforeUnmount","unmounted","onError"]),y3=new Set(["disabled","hidden","readonly","required","checked","selected","autofocus","autoplay","controls","loop","muted","multiple","novalidate","open","reversed","defer","async","formnovalidate","allowfullscreen","inert"]);function b3($){for(let W of $){if(!Array.isArray(W))continue;let F=W[0]instanceof String?W[0].valueOf():W[0],U=W[1]instanceof String?W[1].valueOf():W[1];if(F==="type"&&typeof U==="string")return U.replace(/^["']|["']$/g,"")}return null}function O1($){if(typeof $==="string")return $;if(Array.isArray($)&&$[0]==="."&&$[1]==="this"&&typeof $[2]==="string")return $[2];return null}function g1($){return Array.isArray($)&&$[0]==="."&&$[1]==="this"}function K2($,W){W.prototype.rewriteRender=function(){let U=(Z,K,R)=>{let Q=[Z,K];if(Q.pre=0,Q.data=null,Q.loc=R?.loc??{r:0,c:0,n:0},Q.spaced=!1,Q.newLine=!1,Q.generated=!0,R)Q.origin=R;return Q},u=!1,f=0,Y=0,_=[],A=(Z)=>{let K=Z.split("#")[0];return z2.has(K)},J=(Z)=>{if(!Z||typeof Z!=="string")return!1;return/^[A-Z]/.test(Z)},w=(Z)=>{return A(Z)||J(Z)},z=(Z,K,R,Q)=>{let M=1,H=K;while(H>=0&&M>0){let O=Z[H][0];if(O===R)M++;else if(O===Q)M--;if(M>0)H--}return H},X=(Z,K)=>{let R=K;while(R>0){let Q=Z[R-1][0];if(Q==="TERMINATOR"||Q==="RENDER")break;if(Q==="INDENT"||Q==="OUTDENT"){let M=Z[R][0];if(M==="CALL_END"||M===")"){R=z(Z,R-1,M,M==="CALL_END"?"CALL_START":"(");continue}break}if(Q==="CALL_END"||Q===")"){R=z(Z,R-2,Q,Q==="CALL_END"?"CALL_START":"(");continue}if(Q==="INTERPOLATION_END"){R=z(Z,R-2,"INTERPOLATION_END","INTERPOLATION_START");continue}if(Q==="STRING_END"){R=z(Z,R-2,"STRING_END","STRING_START");continue}R--}return Z[R]&&Z[R][0]==="IDENTIFIER"&&w(Z[R][1])};this.scanTokens(function(Z,K,R){let Q=Z[0],M=K<R.length-1?R[K+1]:null;if(Q==="RENDER")return u=!0,f=Y+1,1;if(Q==="INDENT")return Y++,1;if(Q==="OUTDENT"){Y--;let H=0;while(_.length>0&&_[_.length-1]>Y){let O=U("CALL_END",")",Z);R.splice(K+1+H,0,O),_.pop(),H++}if(u&&Y<f)u=!1;return 1+H}if(!u)return 1;if(Q==="UNARY_MATH"&&Z[1]==="~"&&M&&M[0]==="IDENTIFIER"){Z[0]="PROPERTY",Z[1]="__transition__";let H=U(":",":",Z),O=U("STRING",`"${M[1]}"`,M);return R.splice(K+1,1,H,O),1}if(Q==="IDENTIFIER"&&!Z.spaced){let H=[Z[1]],O=K+1;while(O+1<R.length){let q=R[O],E=R[O+1];if(q[0]==="-"&&!q.spaced&&(E[0]==="IDENTIFIER"||E[0]==="PROPERTY")){if(H.push(E[1]),O+=2,E[0]==="PROPERTY")break}else break}if(H.length>1&&O>K+1&&R[O-1][0]==="PROPERTY")return Z[0]="STRING",Z[1]=`"${H.join("-")}"`,R.splice(K+1,O-K-1),1}if(Q==="."){let H=K>0?R[K-1]:null,O=H?H[0]:null;if(O==="INDENT"||O==="TERMINATOR"){if(M&&M[0]==="PROPERTY"){let q=K+2<R.length?R[K+2]:null;if(!q||q[0]!==":"){let E=U("IDENTIFIER","div",Z);return R.splice(K,0,E),2}}if(!M||M[0]!=="(")return Z[0]="IDENTIFIER",Z[1]="div",0}}if(Q==="IDENTIFIER"||Q==="PROPERTY"){let H=R[K+1],O=R[K+2];if(H&&H[0]==="#"&&O&&(O[0]==="PROPERTY"||O[0]==="IDENTIFIER")){if(Z[1]=Z[1]+"#"+O[1],O.spaced)Z.spaced=!0;return R.splice(K+1,2),0}}if(Q==="BIND"){let H=K>0?R[K-1]:null,O=R[K+1];if(H&&(H[0]==="IDENTIFIER"||H[0]==="PROPERTY")&&O&&O[0]==="IDENTIFIER")return H[1]=`__bind_${H[1]}__`,Z[0]=":",Z[1]=":",1}if(Q==="@"){let H=K+1;if(H<R.length&&R[H][0]==="PROPERTY"){H++;while(H+1<R.length&&R[H][0]==="."&&R[H+1][0]==="PROPERTY")H+=2;if(H>K+2&&H<R.length&&R[H][0]===":"){let O=U("[","[",Z);R.splice(K,0,O);let q=U("]","]",R[H+1]);return R.splice(H+1,0,q),2}}}if(Q==="."&&M&&M[0]==="("){let H=K>0?R[K-1]:null,O=H?H[0]:null,q=O==="INDENT"||O==="TERMINATOR",E=U("PROPERTY","__clsx",Z);M[0]="CALL_START";let I=1;for(let D=K+2;D<R.length&&I>0;D++)if(R[D][0]==="("||R[D][0]==="CALL_START")I++;else if(R[D][0]===")"){if(I--,I===0)R[D][0]="CALL_END"}else if(R[D][0]==="CALL_END")I--;if(q){let D=U("IDENTIFIER","div",Z);return R.splice(K,0,D),R.splice(K+2,0,E),3}else if(O===":")return R[K]=U("IDENTIFIER","__clsx",Z),1;else return R.splice(K+1,0,E),2}if(M&&M[0]==="INDENT"){if(M.fromThen)return 1;if(Q==="->"||Q==="=>"||Q==="CALL_START"||Q==="(")return 1;let H=!1,O=K>0?R[K-1][0]:null,q=O==="IF"||O==="UNLESS"||O==="WHILE"||O==="UNTIL"||O==="WHEN",E=!1;if(Q==="CALL_END"){let I=1;for(let D=K-1;D>=0&&I>0;D--)if(R[D][0]==="CALL_END")I++;else if(R[D][0]==="CALL_START"){if(I--,I===0&&D>0&&R[D-1][0]==="PROPERTY"&&R[D-1][1]==="__clsx")E=!0}}if(E)H=!0;else if(Q==="IDENTIFIER"&&w(Z[1])&&!q)H=!0;else if(Q==="IDENTIFIER"&&!q)H=X(R,K);else if(Q==="PROPERTY"||Q==="STRING"||Q==="STRING_END"||Q==="NUMBER"||Q==="BOOL"||Q==="CALL_END"||Q===")"||Q==="PRESENCE")H=X(R,K);if(H){let I=Q==="PROPERTY"&&K>0&&(R[K-1][0]==="."||R[K-1][0]==="#");if(E||Q==="IDENTIFIER"&&w(Z[1])||I){let G=U("CALL_START","(",Z),P=U("->","->",Z);return P.newLine=!0,R.splice(K+1,0,G,P),_.push(Y+1),3}else{let G=U(",",",",Z),P=U("->","->",Z);return P.newLine=!0,R.splice(K+1,0,G,P),3}}}if(Q==="IDENTIFIER"&&J(Z[1])&&M&&(M[0]==="OUTDENT"||M[0]==="TERMINATOR"))return R.splice(K+1,0,U("CALL_START","(",Z),U("CALL_END",")",Z)),3;return 1})};let F=$.prototype;F.isHtmlTag=function(U){let u=U.split("#")[0];return z2.has(u.toLowerCase())},F.isComponent=function(U){if(!U||typeof U!=="string")return!1;return/^[A-Z]/.test(U)},F.collectTemplateClasses=function(U){let u=[],f=U;while(this.is(f,".")){let J=f[2];if(typeof J==="string"||J instanceof String)u.unshift(J.valueOf());f=f[1]}let Y=typeof f==="string"?f:f instanceof String?f.valueOf():null;if(Y===null)return{tag:null,classes:u,id:void 0};let[_,A]=Y.split("#");if(!_)_="div";return{tag:_,classes:u,id:A}},F.transformComponentMembers=function(U){let u=this._self;if(!Array.isArray(U)){if(typeof U==="string"&&this.reactiveMembers&&this.reactiveMembers.has(U))return[".",[".",u,U],"value"];if(typeof U==="string"&&this.componentMembers&&this.componentMembers.has(U))return[".",u,U];return U}if(U[0]==="."&&U[1]==="this"&&typeof U[2]==="string"){let f=U[2];if(this.reactiveMembers&&this.reactiveMembers.has(f))return[".",[".",u,f],"value"];return this._factoryMode?[".",u,U[2]]:U}if(U[0]==="."||U[0]==="?.")return[U[0],this.transformComponentMembers(U[1]),U[2]];if(U[0]==="->")return["=>",...U.slice(1).map((f)=>this.transformComponentMembers(f))];if(U[0]==="object")return["object",...U.slice(1).map((f)=>{if(Array.isArray(f)&&f.length>=2){let Y=f[0],_=Array.isArray(Y)?this.transformComponentMembers(Y):Y,A=this.transformComponentMembers(f[1]);return[_,A,f[2]]}return this.transformComponentMembers(f)})];return U.map((f)=>this.transformComponentMembers(f))},F.generateComponent=function(U,u,f,Y){let[,_]=u;this.usesTemplates=!0,this.usesReactivity=!0;let A=this.is(_,"block")?_.slice(1):[],J=[],w=[],z=[],X=[],Z=[],K=[],R=null,Q=new Set,M=new Set;for(let G of A){if(!Array.isArray(G))continue;let[P]=G;if(P==="state"){let B=O1(G[1]);if(B)J.push({name:B,value:G[2],isPublic:g1(G[1])}),Q.add(B),M.add(B)}else if(P==="computed"){let B=O1(G[1]);if(B)w.push({name:B,expr:G[2]}),Q.add(B),M.add(B)}else if(P==="readonly"){let B=O1(G[1]);if(B)z.push({name:B,value:G[2],isPublic:g1(G[1])}),Q.add(B)}else if(P==="="){let B=O1(G[1]);if(B)if(c1.has(B))Z.push({name:B,value:G[2]});else{let N=G[2];if(Array.isArray(N)&&(N[0]==="->"||N[0]==="=>"))X.push({name:B,func:N}),Q.add(B);else J.push({name:B,value:N,isPublic:g1(G[1])}),Q.add(B),M.add(B)}}else if(P==="effect")K.push(G);else if(P==="render")R=G;else if(P==="object")for(let B=1;B<G.length;B++){let N=G[B];if(!Array.isArray(N))continue;let[T,S]=N;if(typeof T==="string"&&c1.has(T))Z.push({name:T,value:S});else if(typeof T==="string")X.push({name:T,func:S}),Q.add(T)}}let H=new Map;for(let{name:G}of X)if(/^on[A-Z]/.test(G)&&!c1.has(G))H.set(G[2].toLowerCase()+G.slice(3),G);let O=this.componentMembers,q=this.reactiveMembers,E=this._autoEventHandlers;this.componentMembers=Q,this.reactiveMembers=M,this._autoEventHandlers=H.size>0?H:null;let I=[],D="";I.push("class extends __Component {"),I.push(" _init(props) {");for(let{name:G,value:P,isPublic:B}of z){let N=this.generateInComponent(P,"value");I.push(B?` this.${G} = props.${G} ?? ${N};`:` this.${G} = ${N};`)}for(let{name:G,value:P,isPublic:B}of J){let N=this.generateInComponent(P,"value");I.push(B?` this.${G} = __state(props.__bind_${G}__ ?? props.${G} ?? ${N});`:` this.${G} = __state(${N});`)}for(let{name:G,expr:P}of w)if(this.is(P,"block")&&P.length>2){let B=this.transformComponentMembers(P),N=this.generateFunctionBody(B);I.push(` this.${G} = __computed(() => ${N});`)}else{let B=this.generateInComponent(P,"value");I.push(` this.${G} = __computed(() => ${B});`)}for(let G of K){let P=G[2],B=this.containsAwait(P)?"async ":"";if(this.is(P,"block")&&P.length>2){let N=this.transformComponentMembers(P),T=this.generateFunctionBody(N,[],!0);I.push(` __effect(${B}() => ${T});`)}else{let N=this.generateInComponent(P,"value");I.push(` __effect(${B}() => { ${N}; });`)}}I.push(" }");for(let{name:G,func:P}of X)if(Array.isArray(P)&&(P[0]==="->"||P[0]==="=>")){let[,B,N]=P,T=Array.isArray(B)?B.map((c)=>this.formatParam(c)).join(", "):"",S=this.reactiveMembers?this.transformComponentMembers(N):N,j=this.containsAwait(N),C=this.generateFunctionBody(S,B||[]);I.push(` ${j?"async ":""}${G}(${T}) ${C}`)}for(let{name:G,value:P}of Z)if(Array.isArray(P)&&(P[0]==="->"||P[0]==="=>")){let[,B,N]=P,T=Array.isArray(B)?B.map((c)=>this.formatParam(c)).join(", "):"",S=this.reactiveMembers?this.transformComponentMembers(N):N,j=this.containsAwait(N),C=this.generateFunctionBody(S,B||[]);I.push(` ${j?"async ":""}${G}(${T}) ${C}`)}if(R){let G=R[1],P=this.buildRender(G);if(P.blockFactories.length>0)D=P.blockFactories.join(`
14
14
 
15
15
  `)+`
16
16
 
@@ -18,10 +18,10 @@ Expecting ${f.join(", ")}, got '${this.tokenNames[E]||E}'`;else return`Parse err
18
18
  ${D}return ${I.join(`
19
19
  `)};
20
20
  })()`;return I.join(`
21
- `)},F.generateInComponent=function(U,u){if(typeof U==="string"&&this.reactiveMembers&&this.reactiveMembers.has(U))return`${this._self}.${U}.value`;if(typeof U==="string"&&this.componentMembers&&this.componentMembers.has(U))return`${this._self}.${U}`;if(Array.isArray(U)&&this.reactiveMembers){let f=this.transformComponentMembers(U);return this.generate(f,u)}return this.generate(U,u)},F.generateRender=function(U,u,f,Y){throw Error("render blocks can only be used inside a component")},F.buildRender=function(U){this._elementCount=0,this._textCount=0,this._blockCount=0,this._createLines=[],this._setupLines=[],this._blockFactories=[],this._loopVarStack=[],this._factoryMode=!1,this._factoryVars=null,this._fragChildren=new Map,this._pendingAutoWire=!1,this._autoWireEl=null,this._autoWireExplicit=null;let u=this.is(U,"block")?U.slice(1):[U],f;if(u.length===0)f="null";else if(u.length===1)this._pendingAutoWire=!!this._autoEventHandlers,f=this.generateNode(u[0]),this._pendingAutoWire=!1;else{f=this.newElementVar("frag"),this._createLines.push(`${f} = document.createDocumentFragment();`);let Y=[];for(let _ of u){let A=this.generateNode(_);this._createLines.push(`${f}.appendChild(${A});`),Y.push(A)}this._fragChildren.set(f,Y)}return{createLines:this._createLines,setupLines:this._setupLines,blockFactories:this._blockFactories,rootVar:f}},F.newBlockVar=function(){return`create_block_${this._blockCount++}`},F.newElementVar=function(U="el"){let u=`_${U}${this._elementCount++}`;if(this._factoryVars)this._factoryVars.add(u);return this._factoryMode?u:`this.${u}`},F.newTextVar=function(){let U=`_t${this._textCount++}`;if(this._factoryVars)this._factoryVars.add(U);return this._factoryMode?U:`this.${U}`},Object.defineProperty(F,"_self",{get(){return this._factoryMode?"ctx":"this"}}),F._pushEffect=function(U){if(this._factoryMode)this._setupLines.push(`disposers.push(__effect(() => { ${U} }));`);else this._setupLines.push(`__effect(() => { ${U} });`)},F.generateNode=function(U){if(typeof U==="string"||U instanceof String){let J=U.valueOf();if(J.startsWith('"')||J.startsWith("'")||J.startsWith("`")){let K=this.newTextVar();return this._createLines.push(`${K} = document.createTextNode(${J});`),K}if(this.reactiveMembers&&this.reactiveMembers.has(J)){let K=this.newTextVar();return this._createLines.push(`${K} = document.createTextNode('');`),this._pushEffect(`${K}.data = ${this._self}.${J}.value;`),K}let[R,X]=J.split("#"),z=this.newElementVar(),Z=R||"div";if(Y1.has(Z)||this._svgDepth>0)this._createLines.push(`${z} = document.createElementNS('http://www.w3.org/2000/svg', '${Z}');`);else this._createLines.push(`${z} = document.createElement('${Z}');`);if(X)this._createLines.push(`${z}.id = '${X}';`);return z}if(!Array.isArray(U)){let J=this.newElementVar("c");return this._createLines.push(`${J} = document.createComment('unknown');`),J}let[u,...f]=U,Y=typeof u==="string"?u:u instanceof String?u.valueOf():null;if(Y&&this.isComponent(Y))return this.generateChildComponent(Y,f);if(Y&&this.isHtmlTag(Y)){let[J,R]=Y.split("#");return this.generateTag(J||"div",[],f,R)}if(Y==="."){let[,J,R]=U;if(J==="this"&&typeof R==="string"){let Q=this._self;if(this.reactiveMembers&&this.reactiveMembers.has(R)){let H=this.newTextVar();return this._createLines.push(`${H} = document.createTextNode('');`),this._pushEffect(`${H}.data = ${Q}.${R}.value;`),H}let M=this.newElementVar("slot");return this._createLines.push(`${M} = ${Q}.${R} instanceof Node ? ${Q}.${R} : (${Q}.${R} != null ? document.createTextNode(String(${Q}.${R})) : document.createComment(''));`),M}let{tag:X,classes:z,id:Z}=this.collectTemplateClasses(U);if(X&&this.isHtmlTag(X))return this.generateTag(X,z,[],Z);let K=this.newTextVar(),w=this.generateInComponent(U,"value");return this._createLines.push(`${K} = document.createTextNode(String(${w}));`),K}if(Array.isArray(u)){if(Array.isArray(u[0])&&u[0][0]==="."&&(u[0][2]==="__clsx"||u[0][2]instanceof String&&u[0][2].valueOf()==="__clsx")){let z=typeof u[0][1]==="string"?u[0][1]:u[0][1].valueOf(),Z=u.slice(1);return this.generateDynamicTag(z,Z,f)}let{tag:J,classes:R,id:X}=this.collectTemplateClasses(u);if(J&&this.isHtmlTag(J)){if(R.length===1&&R[0]==="__clsx")return this.generateDynamicTag(J,f,[]);return this.generateTag(J,R,f,X)}}if(Y==="->"||Y==="=>")return this.generateTemplateBlock(f[1]);if(Y==="if")return this.generateConditional(U);if(Y==="for"||Y==="for-in"||Y==="for-of"||Y==="for-as")return this.generateTemplateLoop(U);let _=this.newTextVar(),A=this.generateInComponent(U,"value");if(this.hasReactiveDeps(U))this._createLines.push(`${_} = document.createTextNode('');`),this._pushEffect(`${_}.data = ${A};`);else this._createLines.push(`${_} = document.createTextNode(String(${A}));`);return _},F.appendChildren=function(U,u){for(let f of u)if(this.is(f,"->")||this.is(f,"=>")){let Y=f[2];if(this.is(Y,"block"))for(let _ of Y.slice(1))if(this.is(_,"object"))this.generateAttributes(U,_);else{let A=this.generateNode(_);this._createLines.push(`${U}.appendChild(${A});`)}else if(Y){let _=this.generateNode(Y);this._createLines.push(`${U}.appendChild(${_});`)}}else if(this.is(f,"object"))this.generateAttributes(U,f);else if(typeof f==="string"||f instanceof String){let Y=f.valueOf(),_=Y.split(/[#.]/)[0];if(this.isHtmlTag(_||"div")||this.isComponent(_)){let A=this.generateNode(f);this._createLines.push(`${U}.appendChild(${A});`)}else{let A=this.newTextVar();if(Y.startsWith('"')||Y.startsWith("'")||Y.startsWith("`"))this._createLines.push(`${A} = document.createTextNode(${Y});`);else if(this.reactiveMembers&&this.reactiveMembers.has(Y))this._createLines.push(`${A} = document.createTextNode('');`),this._pushEffect(`${A}.data = ${this._self}.${Y}.value;`);else if(this.componentMembers&&this.componentMembers.has(Y))this._createLines.push(`${A} = document.createTextNode(String(${this._self}.${Y}));`);else this._createLines.push(`${A} = document.createTextNode(${this.generateInComponent(f,"value")});`);this._createLines.push(`${U}.appendChild(${A});`)}}else if(f){let Y=this.generateNode(f);this._createLines.push(`${U}.appendChild(${Y});`)}},F._claimAutoWire=function(U){if(!this._pendingAutoWire||!this._autoEventHandlers?.size)return!1;return this._pendingAutoWire=!1,this._autoWireEl=U,this._autoWireExplicit=new Set,!0},F._emitAutoWire=function(U,u){if(!u)return;for(let[f,Y]of this._autoEventHandlers)if(!this._autoWireExplicit.has(f))this._createLines.push(`${U}.addEventListener('${f}', (e) => __batch(() => ${this._self}.${Y}(e)));`);this._autoWireEl=null,this._autoWireExplicit=null},F.generateTag=function(U,u,f,Y){let _=this.newElementVar(),A=Y1.has(U)||this._svgDepth>0;if(A)this._createLines.push(`${_} = document.createElementNS('http://www.w3.org/2000/svg', '${U}');`);else this._createLines.push(`${_} = document.createElement('${U}');`);if(Y)this._createLines.push(`${_}.id = '${Y}';`);let J=this._claimAutoWire(_),R=this._pendingClassArgs,X=this._pendingClassEl;if(u.length>0)this._pendingClassArgs=[`'${u.join(" ")}'`],this._pendingClassEl=_;if(U==="svg")this._svgDepth=(this._svgDepth||0)+1;if(this.appendChildren(_,f),U==="svg")this._svgDepth--;if(u.length>0){if(this._pendingClassArgs.length===1)if(A)this._createLines.push(`${_}.setAttribute('class', '${u.join(" ")}');`);else this._createLines.push(`${_}.className = '${u.join(" ")}';`);else{let z=this._pendingClassArgs.join(", ");if(A)this._pushEffect(`${_}.setAttribute('class', __clsx(${z}));`);else this._pushEffect(`${_}.className = __clsx(${z});`)}this._pendingClassArgs=R,this._pendingClassEl=X}return this._emitAutoWire(_,J),_},F.generateDynamicTag=function(U,u,f){let Y=this.newElementVar();if(Y1.has(U)||this._svgDepth>0)this._createLines.push(`${Y} = document.createElementNS('http://www.w3.org/2000/svg', '${U}');`);else this._createLines.push(`${Y} = document.createElement('${U}');`);let _=this._claimAutoWire(Y),A=u.map((X)=>this.generateInComponent(X,"value")),J=this._pendingClassArgs,R=this._pendingClassEl;if(this._pendingClassArgs=A,this._pendingClassEl=Y,U==="svg")this._svgDepth=(this._svgDepth||0)+1;if(this.appendChildren(Y,f),U==="svg")this._svgDepth--;if(this._pendingClassArgs.length>0){let X=this._pendingClassArgs.join(", ");if(Y1.has(U)||this._svgDepth>0)this._pushEffect(`${Y}.setAttribute('class', __clsx(${X}));`);else this._pushEffect(`${Y}.className = __clsx(${X});`)}return this._pendingClassArgs=J,this._pendingClassEl=R,this._emitAutoWire(Y,_),Y},F.generateAttributes=function(U,u){let f=b3(u.slice(1));for(let Y=1;Y<u.length;Y++){let[_,A]=u[Y];if(this.is(_,".")&&_[1]==="this"){let J=_[2];if(this._autoWireExplicit&&this._autoWireEl===U)this._autoWireExplicit.add(J);if(typeof A==="string"&&this.componentMembers?.has(A))this._createLines.push(`${U}.addEventListener('${J}', (e) => __batch(() => ${this._self}.${A}(e)));`);else{let R=this.generateInComponent(A,"value");this._createLines.push(`${U}.addEventListener('${J}', (e) => __batch(() => (${R})(e)));`)}continue}if(typeof _==="string"){if(_.startsWith('"')&&_.endsWith('"'))_=_.slice(1,-1);if(_==="class"||_==="className"){let R=this.generateInComponent(A,"value");if(this._pendingClassArgs&&this._pendingClassEl===U)this._pendingClassArgs.push(R);else if(this.hasReactiveDeps(A))if(this._svgDepth>0)this._pushEffect(`${U}.setAttribute('class', __clsx(${R}));`);else this._pushEffect(`${U}.className = __clsx(${R});`);else if(this._svgDepth>0)this._createLines.push(`${U}.setAttribute('class', ${R});`);else this._createLines.push(`${U}.className = ${R};`);continue}if(_==="__transition__"){let R=String(A).replace(/^["']|["']$/g,"");this._createLines.push(`this._t = "${R}";`);continue}if(_==="ref"){let R=String(A).replace(/^["']|["']$/g,"");this._createLines.push(`${this._self}.${R} = ${U};`);continue}if(_.startsWith("__bind_")&&_.endsWith("__")){let R=_.slice(7,-2),X=this.generateInComponent(A,"value"),z,Z;if(R==="checked")z="change",Z="e.target.checked";else z="input",Z=f==="number"||f==="range"?"e.target.valueAsNumber":"e.target.value";this._pushEffect(`${U}.${R} = ${X};`);let K=`${X} = ${Z}`,w=!this.isSimpleAssignable(A)&&this.findRootReactiveMember(A);if(w)K+=`; ${this._self}.${w}.touch?.()`;this._createLines.push(`${U}.addEventListener('${z}', (e) => { ${K}; });`);continue}let J=this.generateInComponent(A,"value");if((_==="value"||_==="checked")&&this.hasReactiveDeps(A)){this._pushEffect(`${U}.${_} = ${J};`);let R=!this.isSimpleAssignable(A)&&this.findRootReactiveMember(A);if(this.isSimpleAssignable(A)||R){let X=_==="checked"?"change":"input",Z=`${J} = ${_==="checked"?"e.target.checked":f==="number"||f==="range"?"e.target.valueAsNumber":"e.target.value"}`;if(R)Z+=`; ${this._self}.${R}.touch?.()`;this._createLines.push(`${U}.addEventListener('${X}', (e) => { ${Z}; });`)}continue}if(_==="innerHTML"||_==="textContent"||_==="innerText")if(this.hasReactiveDeps(A))this._pushEffect(`${U}.${_} = ${J};`);else this._createLines.push(`${U}.${_} = ${J};`);else if(y3.has(_))if(this.hasReactiveDeps(A))this._pushEffect(`${U}.toggleAttribute('${_}', !!${J});`);else this._createLines.push(`if (${J}) ${U}.setAttribute('${_}', '');`);else if(this.hasReactiveDeps(A))this._pushEffect(`${U}.setAttribute('${_}', ${J});`);else this._createLines.push(`${U}.setAttribute('${_}', ${J});`)}}},F.generateTemplateBlock=function(U){if(!Array.isArray(U)||U[0]!=="block")return this.generateNode(U);let u=U.slice(1);if(u.length===0){let _=this.newElementVar("empty");return this._createLines.push(`${_} = document.createComment('');`),_}if(u.length===1)return this.generateNode(u[0]);let f=this.newElementVar("frag");this._createLines.push(`${f} = document.createDocumentFragment();`);let Y=[];for(let _ of u){let A=this.generateNode(_);this._createLines.push(`${f}.appendChild(${A});`),Y.push(A)}return this._fragChildren.set(f,Y),f},F.generateConditional=function(U){this._pendingAutoWire=!1;let[,u,f,Y]=U,_=this.newElementVar("anchor");this._createLines.push(`${_} = document.createComment('if');`);let A=this.generateInComponent(u,"value"),J=this._loopVarStack.map((Q)=>`${Q.itemVar}, ${Q.indexVar}`).join(", "),R=J?`, ${J}`:"",X=this.newBlockVar();this.generateConditionBranch(X,f);let z=null;if(Y)z=this.newBlockVar(),this.generateConditionBranch(z,Y);let Z=[];Z.push(`// Conditional: ${X}${z?" / "+z:""}`),Z.push("{"),Z.push(` const anchor = ${_};`),Z.push(" let currentBlock = null;"),Z.push(" let showing = null;");let K=this._factoryMode?"disposers.push(__effect(() => {":"__effect(() => {",w=this._factoryMode?"}));":"});";if(Z.push(` ${K}`),Z.push(` const show = !!(${A});`),Z.push(` const want = show ? 'then' : ${Y?"'else'":"null"};`),Z.push(" if (want === showing) return;"),Z.push(""),Z.push(" if (currentBlock) {"),Z.push(" const leaving = currentBlock;"),Z.push(" if (leaving._t) { __transition(leaving._first, leaving._t, 'leave', () => leaving.d(true)); }"),Z.push(" else { leaving.d(true); }"),Z.push(" currentBlock = null;"),Z.push(" }"),Z.push(" showing = want;"),Z.push(""),Z.push(" if (want === 'then') {"),Z.push(` currentBlock = ${X}(${this._self}${R});`),Z.push(" currentBlock.c();"),Z.push(" if (anchor.parentNode) currentBlock.m(anchor.parentNode, anchor.nextSibling);"),Z.push(` currentBlock.p(${this._self}${R});`),Z.push(" if (currentBlock._t) __transition(currentBlock._first, currentBlock._t, 'enter');"),Z.push(" }"),Y)Z.push(" if (want === 'else') {"),Z.push(` currentBlock = ${z}(${this._self}${R});`),Z.push(" currentBlock.c();"),Z.push(" if (anchor.parentNode) currentBlock.m(anchor.parentNode, anchor.nextSibling);"),Z.push(` currentBlock.p(${this._self}${R});`),Z.push(" if (currentBlock._t) __transition(currentBlock._first, currentBlock._t, 'enter');"),Z.push(" }");return Z.push(` ${w}`),Z.push("}"),this._setupLines.push(Z.join(`
22
- `)),_},F.generateConditionBranch=function(U,u){let f=[this._createLines,this._setupLines,this._factoryMode,this._factoryVars];this._createLines=[],this._setupLines=[],this._factoryMode=!0,this._factoryVars=new Set;let Y=this.generateTemplateBlock(u),_=this._createLines,A=this._setupLines,J=this._factoryVars;[this._createLines,this._setupLines,this._factoryMode,this._factoryVars]=f;let R=this._loopVarStack.map((z)=>`${z.itemVar}, ${z.indexVar}`).join(", "),X=R?`, ${R}`:"";this.emitBlockFactory(U,`ctx${X}`,Y,_,A,J)},F.emitBlockFactory=function(U,u,f,Y,_,A,J){let R=[];if(R.push(`function ${U}(${u}) {`),A.size>0)R.push(` let ${[...A].join(", ")};`);let X=_.length>0;if(X)R.push(" let disposers = [];");if(R.push(" return {"),J)R.push(" _s: true,");let z=this._fragChildren.get(f),Z=z?z[0]:f;R.push(" c() {");for(let K of Y)R.push(` ${K}`);if(R.push(` this._first = ${Z};`),R.push(" },"),R.push(" m(target, anchor) {"),z)for(let K of z)R.push(` if (target) target.insertBefore(${K}, anchor);`);else R.push(` if (target) target.insertBefore(${f}, anchor);`);if(R.push(" },"),R.push(` p(${u}) {`),X){R.push(" disposers.forEach(d => d());"),R.push(" disposers = [];");for(let K of _)R.push(` ${K}`)}if(R.push(" },"),R.push(" d(detaching) {"),X)R.push(" disposers.forEach(d => d());");if(z)for(let K of z)R.push(` if (detaching && ${K}) ${K}.remove();`);else R.push(` if (detaching && ${f}) ${f}.remove();`);R.push(" }"),R.push(" };"),R.push("}"),this._blockFactories.push(R.join(`
23
- `))},F.generateTemplateLoop=function(U){this._pendingAutoWire=!1;let[u,f,Y,_,A,J]=U,R=this.newBlockVar(),X=this.newElementVar("anchor");this._createLines.push(`${X} = document.createComment('for');`);let z=Array.isArray(f)?f:[f],Z=z[0],K=z[1]||"i",w=this.generateInComponent(Y,"value"),Q=Z;if(this.is(J,"block")&&J.length>1){let c=J[1];if(Array.isArray(c))for(let o of c){if(this.is(o,"object"))for(let k=1;k<o.length;k++){let[z1,m]=o[k];if(z1==="key"){Q=this.generate(m,"value");break}}if(Q!==Z)break}}let M=[this._createLines,this._setupLines,this._factoryMode,this._factoryVars];this._createLines=[],this._setupLines=[],this._factoryMode=!0,this._factoryVars=new Set;let H=this._loopVarStack.map((c)=>`${c.itemVar}, ${c.indexVar}`).join(", "),O=H?`, ${H}`:"";this._loopVarStack.push({itemVar:Z,indexVar:K});let q=this.generateTemplateBlock(J);this._loopVarStack.pop();let E=this._createLines,I=this._setupLines,D=this._factoryVars;[this._createLines,this._setupLines,this._factoryMode,this._factoryVars]=M;let G=I.length===0,P=`ctx, ${Z}, ${K}${O}`;this.emitBlockFactory(R,P,q,E,I,D,G);let N=Q!==Z?`(${Z}, ${K}) => ${Q}`:"null",T=H?`, ${H}`:"",S=[];S.push(`// Loop: ${R}`),S.push("{"),S.push(" const __s = { blocks: [], keys: [] };");let j=this._factoryMode?"disposers.push(__effect(() => {":"__effect(() => {",C=this._factoryMode?"}));":"});";return S.push(` ${j}`),S.push(` __reconcile(${X}, __s, ${w}, ${this._self}, ${R}, ${N}${T});`),S.push(` ${C}`),S.push("}"),this._setupLines.push(S.join(`
24
- `)),X},F.generateChildComponent=function(U,u){this._pendingAutoWire=!1;let f=this.newElementVar("inst"),Y=this.newElementVar("el"),{propsCode:_,reactiveProps:A,childrenSetupLines:J}=this.buildComponentProps(u),R=this._self;this._createLines.push(`${f} = new ${U}(${_});`),this._createLines.push(`${Y} = ${f}._create();`),this._createLines.push(`(${R}._children || (${R}._children = [])).push(${f});`),this._setupLines.push(`try { if (${f}._setup) ${f}._setup(); if (${f}.mounted) ${f}.mounted(); } catch (__e) { __handleComponentError(__e, ${f}); }`);for(let{key:X,valueCode:z}of A)this._pushEffect(`if (${f}.${X}) ${f}.${X}.value = ${z};`);for(let X of J)this._setupLines.push(X);return Y},F.buildComponentProps=function(U){let u=[],f=[],Y=null,_=[],A=(X,z)=>{if(this.reactiveMembers&&(typeof z==="string"&&this.reactiveMembers.has(z)||Array.isArray(z)&&z[0]==="."&&z[1]==="this"&&typeof z[2]==="string"&&this.reactiveMembers.has(z[2]))){let K=typeof z==="string"?z:z[2];u.push(`${X}: ${this._self}.${K}`)}else{let K=this.generateInComponent(z,"value");if(u.push(`${X}: ${K}`),this.hasReactiveDeps(z))f.push({key:X,valueCode:K})}},J=(X)=>{for(let z=1;z<X.length;z++){let[Z,K]=X[z];if(typeof Z==="string")A(Z,K)}};for(let X of U)if(this.is(X,"object"))J(X);else if(Array.isArray(X)&&(X[0]==="->"||X[0]==="=>")){let z=X[2];if(z){if(this.is(z,"block")){let Z=[];for(let K of z.slice(1))if(this.is(K,"object"))J(K);else Z.push(K);z=Z.length>0?["block",...Z]:null}if(z){let Z=this._createLines,K=this._setupLines;this._createLines=[],this._setupLines=[],Y=this.generateTemplateBlock(z);let w=this._createLines,Q=this._setupLines;this._createLines=Z,this._setupLines=K;for(let M of w)this._createLines.push(M);_.push(...Q),u.push(`children: ${Y}`)}}}return{propsCode:u.length>0?`{ ${u.join(", ")} }`:"{}",reactiveProps:f,childrenSetupLines:_}},F.hasReactiveDeps=function(U){if(typeof U==="string")return!!(this.reactiveMembers&&this.reactiveMembers.has(U));if(!Array.isArray(U))return!1;if(U[0]==="."&&U[1]==="this"&&typeof U[2]==="string")return!!(this.reactiveMembers&&this.reactiveMembers.has(U[2]));if(U[0]==="."&&this._rootsAtThis(U[1]))return!0;for(let u of U)if(this.hasReactiveDeps(u))return!0;return!1},F.isSimpleAssignable=function(U){if(typeof U==="string")return!!(this.reactiveMembers&&this.reactiveMembers.has(U));if(Array.isArray(U)&&U[0]==="."&&U[1]==="this"&&typeof U[2]==="string")return!!(this.reactiveMembers&&this.reactiveMembers.has(U[2]));return!1},F.findRootReactiveMember=function(U){if(typeof U==="string")return this.reactiveMembers?.has(U)?U:null;if(!Array.isArray(U))return null;if(U[0]==="."&&U[1]==="this"&&typeof U[2]==="string")return this.reactiveMembers?.has(U[2])?U[2]:null;if(U[0]==="."||U[0]==="[]")return this.findRootReactiveMember(U[1]);return null},F._rootsAtThis=function(U){if(typeof U==="string")return U==="this";if(!Array.isArray(U)||U[0]!==".")return!1;return this._rootsAtThis(U[1])},F.getComponentRuntime=function(){return`
21
+ `)},F.generateInComponent=function(U,u){if(typeof U==="string"&&this.reactiveMembers&&this.reactiveMembers.has(U))return`${this._self}.${U}.value`;if(typeof U==="string"&&this.componentMembers&&this.componentMembers.has(U))return`${this._self}.${U}`;if(Array.isArray(U)&&this.reactiveMembers){let f=this.transformComponentMembers(U);return this.generate(f,u)}return this.generate(U,u)},F.generateRender=function(U,u,f,Y){throw Error("render blocks can only be used inside a component")},F.buildRender=function(U){this._elementCount=0,this._textCount=0,this._blockCount=0,this._createLines=[],this._setupLines=[],this._blockFactories=[],this._loopVarStack=[],this._factoryMode=!1,this._factoryVars=null,this._fragChildren=new Map,this._pendingAutoWire=!1,this._autoWireEl=null,this._autoWireExplicit=null;let u=this.is(U,"block")?U.slice(1):[U],f;if(u.length===0)f="null";else if(u.length===1)this._pendingAutoWire=!!this._autoEventHandlers,f=this.generateNode(u[0]),this._pendingAutoWire=!1;else{f=this.newElementVar("frag"),this._createLines.push(`${f} = document.createDocumentFragment();`);let Y=[];for(let _ of u){let A=this.generateNode(_);this._createLines.push(`${f}.appendChild(${A});`),Y.push(A)}this._fragChildren.set(f,Y)}return{createLines:this._createLines,setupLines:this._setupLines,blockFactories:this._blockFactories,rootVar:f}},F.newBlockVar=function(){return`create_block_${this._blockCount++}`},F.newElementVar=function(U="el"){let u=`_${U}${this._elementCount++}`;if(this._factoryVars)this._factoryVars.add(u);return this._factoryMode?u:`this.${u}`},F.newTextVar=function(){let U=`_t${this._textCount++}`;if(this._factoryVars)this._factoryVars.add(U);return this._factoryMode?U:`this.${U}`},Object.defineProperty(F,"_self",{get(){return this._factoryMode?"ctx":"this"}}),F._pushEffect=function(U){if(this._factoryMode)this._setupLines.push(`disposers.push(__effect(() => { ${U} }));`);else this._setupLines.push(`__effect(() => { ${U} });`)},F.generateNode=function(U){if(typeof U==="string"||U instanceof String){let J=U.valueOf();if(J.startsWith('"')||J.startsWith("'")||J.startsWith("`")){let K=this.newTextVar();return this._createLines.push(`${K} = document.createTextNode(${J});`),K}if(this.reactiveMembers&&this.reactiveMembers.has(J)){let K=this.newTextVar();return this._createLines.push(`${K} = document.createTextNode('');`),this._pushEffect(`${K}.data = ${this._self}.${J}.value;`),K}let[w,z]=J.split("#"),X=this.newElementVar(),Z=w||"div";if(Y1.has(Z)||this._svgDepth>0)this._createLines.push(`${X} = document.createElementNS('http://www.w3.org/2000/svg', '${Z}');`);else this._createLines.push(`${X} = document.createElement('${Z}');`);if(z)this._createLines.push(`${X}.id = '${z}';`);return X}if(!Array.isArray(U)){let J=this.newElementVar("c");return this._createLines.push(`${J} = document.createComment('unknown');`),J}let[u,...f]=U,Y=typeof u==="string"?u:u instanceof String?u.valueOf():null;if(Y&&this.isComponent(Y))return this.generateChildComponent(Y,f);if(Y==="slot"&&this.componentMembers){let J=this._self,w=this.newElementVar("slot");return this._createLines.push(`${w} = ${J}.children instanceof Node ? ${J}.children : (${J}.children != null ? document.createTextNode(String(${J}.children)) : document.createComment(''));`),w}if(Y&&this.isHtmlTag(Y)){let[J,w]=Y.split("#");return this.generateTag(J||"div",[],f,w)}if(Y==="."){let[,J,w]=U;if(J==="this"&&typeof w==="string"){let Q=this._self;if(this.reactiveMembers&&this.reactiveMembers.has(w)){let H=this.newTextVar();return this._createLines.push(`${H} = document.createTextNode('');`),this._pushEffect(`${H}.data = ${Q}.${w}.value;`),H}let M=this.newElementVar("slot");return this._createLines.push(`${M} = ${Q}.${w} instanceof Node ? ${Q}.${w} : (${Q}.${w} != null ? document.createTextNode(String(${Q}.${w})) : document.createComment(''));`),M}let{tag:z,classes:X,id:Z}=this.collectTemplateClasses(U);if(z&&this.isHtmlTag(z))return this.generateTag(z,X,[],Z);let K=this.newTextVar(),R=this.generateInComponent(U,"value");return this._createLines.push(`${K} = document.createTextNode(String(${R}));`),K}if(Array.isArray(u)){if(Array.isArray(u[0])&&u[0][0]==="."&&(u[0][2]==="__clsx"||u[0][2]instanceof String&&u[0][2].valueOf()==="__clsx")){let X=typeof u[0][1]==="string"?u[0][1]:u[0][1].valueOf(),Z=u.slice(1);return this.generateDynamicTag(X,Z,f)}let{tag:J,classes:w,id:z}=this.collectTemplateClasses(u);if(J&&this.isHtmlTag(J)){if(w.length===1&&w[0]==="__clsx")return this.generateDynamicTag(J,f,[]);return this.generateTag(J,w,f,z)}}if(Y==="->"||Y==="=>")return this.generateTemplateBlock(f[1]);if(Y==="if")return this.generateConditional(U);if(Y==="for"||Y==="for-in"||Y==="for-of"||Y==="for-as")return this.generateTemplateLoop(U);let _=this.newTextVar(),A=this.generateInComponent(U,"value");if(this.hasReactiveDeps(U))this._createLines.push(`${_} = document.createTextNode('');`),this._pushEffect(`${_}.data = ${A};`);else this._createLines.push(`${_} = document.createTextNode(String(${A}));`);return _},F.appendChildren=function(U,u){for(let f of u)if(this.is(f,"->")||this.is(f,"=>")){let Y=f[2];if(this.is(Y,"block"))for(let _ of Y.slice(1))if(this.is(_,"object"))this.generateAttributes(U,_);else{let A=this.generateNode(_);this._createLines.push(`${U}.appendChild(${A});`)}else if(Y){let _=this.generateNode(Y);this._createLines.push(`${U}.appendChild(${_});`)}}else if(this.is(f,"object"))this.generateAttributes(U,f);else if(typeof f==="string"||f instanceof String){let Y=f.valueOf(),_=Y.split(/[#.]/)[0];if(this.isHtmlTag(_||"div")||this.isComponent(_)){let A=this.generateNode(f);this._createLines.push(`${U}.appendChild(${A});`)}else{let A=this.newTextVar();if(Y.startsWith('"')||Y.startsWith("'")||Y.startsWith("`"))this._createLines.push(`${A} = document.createTextNode(${Y});`);else if(this.reactiveMembers&&this.reactiveMembers.has(Y))this._createLines.push(`${A} = document.createTextNode('');`),this._pushEffect(`${A}.data = ${this._self}.${Y}.value;`);else if(this.componentMembers&&this.componentMembers.has(Y))this._createLines.push(`${A} = document.createTextNode(String(${this._self}.${Y}));`);else this._createLines.push(`${A} = document.createTextNode(${this.generateInComponent(f,"value")});`);this._createLines.push(`${U}.appendChild(${A});`)}}else if(f){let Y=this.generateNode(f);this._createLines.push(`${U}.appendChild(${Y});`)}},F._claimAutoWire=function(U){if(!this._pendingAutoWire||!this._autoEventHandlers?.size)return!1;return this._pendingAutoWire=!1,this._autoWireEl=U,this._autoWireExplicit=new Set,!0},F._emitAutoWire=function(U,u){if(!u)return;for(let[f,Y]of this._autoEventHandlers)if(!this._autoWireExplicit.has(f))this._createLines.push(`${U}.addEventListener('${f}', (e) => __batch(() => ${this._self}.${Y}(e)));`);this._autoWireEl=null,this._autoWireExplicit=null},F.generateTag=function(U,u,f,Y){let _=this.newElementVar(),A=Y1.has(U)||this._svgDepth>0;if(A)this._createLines.push(`${_} = document.createElementNS('http://www.w3.org/2000/svg', '${U}');`);else this._createLines.push(`${_} = document.createElement('${U}');`);if(Y)this._createLines.push(`${_}.id = '${Y}';`);let J=this._claimAutoWire(_),w=this._pendingClassArgs,z=this._pendingClassEl;if(u.length>0)this._pendingClassArgs=[`'${u.join(" ")}'`],this._pendingClassEl=_;if(U==="svg")this._svgDepth=(this._svgDepth||0)+1;if(this.appendChildren(_,f),U==="svg")this._svgDepth--;if(u.length>0){if(this._pendingClassArgs.length===1)if(A)this._createLines.push(`${_}.setAttribute('class', '${u.join(" ")}');`);else this._createLines.push(`${_}.className = '${u.join(" ")}';`);else{let X=this._pendingClassArgs.join(", ");if(A)this._pushEffect(`${_}.setAttribute('class', __clsx(${X}));`);else this._pushEffect(`${_}.className = __clsx(${X});`)}this._pendingClassArgs=w,this._pendingClassEl=z}return this._emitAutoWire(_,J),_},F.generateDynamicTag=function(U,u,f){let Y=this.newElementVar();if(Y1.has(U)||this._svgDepth>0)this._createLines.push(`${Y} = document.createElementNS('http://www.w3.org/2000/svg', '${U}');`);else this._createLines.push(`${Y} = document.createElement('${U}');`);let _=this._claimAutoWire(Y),A=u.map((z)=>this.generateInComponent(z,"value")),J=this._pendingClassArgs,w=this._pendingClassEl;if(this._pendingClassArgs=A,this._pendingClassEl=Y,U==="svg")this._svgDepth=(this._svgDepth||0)+1;if(this.appendChildren(Y,f),U==="svg")this._svgDepth--;if(this._pendingClassArgs.length>0){let z=this._pendingClassArgs.join(", ");if(Y1.has(U)||this._svgDepth>0)this._pushEffect(`${Y}.setAttribute('class', __clsx(${z}));`);else this._pushEffect(`${Y}.className = __clsx(${z});`)}return this._pendingClassArgs=J,this._pendingClassEl=w,this._emitAutoWire(Y,_),Y},F.generateAttributes=function(U,u){let f=b3(u.slice(1));for(let Y=1;Y<u.length;Y++){let[_,A]=u[Y];if(this.is(_,".")&&_[1]==="this"){let J=_[2];if(this._autoWireExplicit&&this._autoWireEl===U)this._autoWireExplicit.add(J);if(typeof A==="string"&&this.componentMembers?.has(A))this._createLines.push(`${U}.addEventListener('${J}', (e) => __batch(() => ${this._self}.${A}(e)));`);else{let w=this.generateInComponent(A,"value");this._createLines.push(`${U}.addEventListener('${J}', (e) => __batch(() => (${w})(e)));`)}continue}if(typeof _==="string"){if(_.startsWith('"')&&_.endsWith('"'))_=_.slice(1,-1);if(_==="class"||_==="className"){let w=this.generateInComponent(A,"value");if(this._pendingClassArgs&&this._pendingClassEl===U)this._pendingClassArgs.push(w);else if(this.hasReactiveDeps(A))if(this._svgDepth>0)this._pushEffect(`${U}.setAttribute('class', __clsx(${w}));`);else this._pushEffect(`${U}.className = __clsx(${w});`);else if(this._svgDepth>0)this._createLines.push(`${U}.setAttribute('class', ${w});`);else this._createLines.push(`${U}.className = ${w};`);continue}if(_==="__transition__"){let w=String(A).replace(/^["']|["']$/g,"");this._createLines.push(`this._t = "${w}";`);continue}if(_==="ref"){let w=String(A).replace(/^["']|["']$/g,"");this._createLines.push(`${this._self}.${w} = ${U};`);continue}if(_.startsWith("__bind_")&&_.endsWith("__")){let w=_.slice(7,-2),z=this.generateInComponent(A,"value"),X,Z;if(w==="checked")X="change",Z="e.target.checked";else X="input",Z=f==="number"||f==="range"?"e.target.valueAsNumber":"e.target.value";this._pushEffect(`${U}.${w} = ${z};`);let K=`${z} = ${Z}`,R=!this.isSimpleAssignable(A)&&this.findRootReactiveMember(A);if(R)K+=`; ${this._self}.${R}.touch?.()`;this._createLines.push(`${U}.addEventListener('${X}', (e) => { ${K}; });`);continue}let J=this.generateInComponent(A,"value");if((_==="value"||_==="checked")&&this.hasReactiveDeps(A)){this._pushEffect(`${U}.${_} = ${J};`);let w=!this.isSimpleAssignable(A)&&this.findRootReactiveMember(A);if(this.isSimpleAssignable(A)||w){let z=_==="checked"?"change":"input",Z=`${J} = ${_==="checked"?"e.target.checked":f==="number"||f==="range"?"e.target.valueAsNumber":"e.target.value"}`;if(w)Z+=`; ${this._self}.${w}.touch?.()`;this._createLines.push(`${U}.addEventListener('${z}', (e) => { ${Z}; });`)}continue}if(_==="innerHTML"||_==="textContent"||_==="innerText")if(this.hasReactiveDeps(A))this._pushEffect(`${U}.${_} = ${J};`);else this._createLines.push(`${U}.${_} = ${J};`);else if(y3.has(_))if(this.hasReactiveDeps(A))this._pushEffect(`${U}.toggleAttribute('${_}', !!${J});`);else this._createLines.push(`if (${J}) ${U}.setAttribute('${_}', '');`);else if(this.hasReactiveDeps(A))this._pushEffect(`${U}.setAttribute('${_}', ${J});`);else this._createLines.push(`${U}.setAttribute('${_}', ${J});`)}}},F.generateTemplateBlock=function(U){if(!Array.isArray(U)||U[0]!=="block")return this.generateNode(U);let u=U.slice(1);if(u.length===0){let _=this.newElementVar("empty");return this._createLines.push(`${_} = document.createComment('');`),_}if(u.length===1)return this.generateNode(u[0]);let f=this.newElementVar("frag");this._createLines.push(`${f} = document.createDocumentFragment();`);let Y=[];for(let _ of u){let A=this.generateNode(_);this._createLines.push(`${f}.appendChild(${A});`),Y.push(A)}return this._fragChildren.set(f,Y),f},F.generateConditional=function(U){this._pendingAutoWire=!1;let[,u,f,Y]=U,_=this.newElementVar("anchor");this._createLines.push(`${_} = document.createComment('if');`);let A=this.generateInComponent(u,"value"),J=this._loopVarStack.map((Q)=>`${Q.itemVar}, ${Q.indexVar}`).join(", "),w=J?`, ${J}`:"",z=this.newBlockVar();this.generateConditionBranch(z,f);let X=null;if(Y)X=this.newBlockVar(),this.generateConditionBranch(X,Y);let Z=[];Z.push(`// Conditional: ${z}${X?" / "+X:""}`),Z.push("{"),Z.push(` const anchor = ${_};`),Z.push(" let currentBlock = null;"),Z.push(" let showing = null;");let K=this._factoryMode?"disposers.push(__effect(() => {":"__effect(() => {",R=this._factoryMode?"}));":"});";if(Z.push(` ${K}`),Z.push(` const show = !!(${A});`),Z.push(` const want = show ? 'then' : ${Y?"'else'":"null"};`),Z.push(" if (want === showing) return;"),Z.push(""),Z.push(" if (currentBlock) {"),Z.push(" const leaving = currentBlock;"),Z.push(" if (leaving._t) { __transition(leaving._first, leaving._t, 'leave', () => leaving.d(true)); }"),Z.push(" else { leaving.d(true); }"),Z.push(" currentBlock = null;"),Z.push(" }"),Z.push(" showing = want;"),Z.push(""),Z.push(" if (want === 'then') {"),Z.push(` currentBlock = ${z}(${this._self}${w});`),Z.push(" currentBlock.c();"),Z.push(" if (anchor.parentNode) currentBlock.m(anchor.parentNode, anchor.nextSibling);"),Z.push(` currentBlock.p(${this._self}${w});`),Z.push(" if (currentBlock._t) __transition(currentBlock._first, currentBlock._t, 'enter');"),Z.push(" }"),Y)Z.push(" if (want === 'else') {"),Z.push(` currentBlock = ${X}(${this._self}${w});`),Z.push(" currentBlock.c();"),Z.push(" if (anchor.parentNode) currentBlock.m(anchor.parentNode, anchor.nextSibling);"),Z.push(` currentBlock.p(${this._self}${w});`),Z.push(" if (currentBlock._t) __transition(currentBlock._first, currentBlock._t, 'enter');"),Z.push(" }");return Z.push(` ${R}`),Z.push("}"),this._setupLines.push(Z.join(`
22
+ `)),_},F.generateConditionBranch=function(U,u){let f=[this._createLines,this._setupLines,this._factoryMode,this._factoryVars];this._createLines=[],this._setupLines=[],this._factoryMode=!0,this._factoryVars=new Set;let Y=this.generateTemplateBlock(u),_=this._createLines,A=this._setupLines,J=this._factoryVars;[this._createLines,this._setupLines,this._factoryMode,this._factoryVars]=f;let w=this._loopVarStack.map((X)=>`${X.itemVar}, ${X.indexVar}`).join(", "),z=w?`, ${w}`:"";this.emitBlockFactory(U,`ctx${z}`,Y,_,A,J)},F.emitBlockFactory=function(U,u,f,Y,_,A,J){let w=[];if(w.push(`function ${U}(${u}) {`),A.size>0)w.push(` let ${[...A].join(", ")};`);let z=_.length>0;if(z)w.push(" let disposers = [];");if(w.push(" return {"),J)w.push(" _s: true,");let X=this._fragChildren.get(f),Z=X?X[0]:f;w.push(" c() {");for(let K of Y)w.push(` ${K}`);if(w.push(` this._first = ${Z};`),w.push(" },"),w.push(" m(target, anchor) {"),X)for(let K of X)w.push(` if (target) target.insertBefore(${K}, anchor);`);else w.push(` if (target) target.insertBefore(${f}, anchor);`);if(w.push(" },"),w.push(` p(${u}) {`),z){w.push(" disposers.forEach(d => d());"),w.push(" disposers = [];");for(let K of _)w.push(` ${K}`)}if(w.push(" },"),w.push(" d(detaching) {"),z)w.push(" disposers.forEach(d => d());");if(X)for(let K of X)w.push(` if (detaching && ${K}) ${K}.remove();`);else w.push(` if (detaching && ${f}) ${f}.remove();`);w.push(" }"),w.push(" };"),w.push("}"),this._blockFactories.push(w.join(`
23
+ `))},F.generateTemplateLoop=function(U){this._pendingAutoWire=!1;let[u,f,Y,_,A,J]=U,w=this.newBlockVar(),z=this.newElementVar("anchor");this._createLines.push(`${z} = document.createComment('for');`);let X=Array.isArray(f)?f:[f],Z=X[0],K=X[1]||"i",R=this.generateInComponent(Y,"value"),Q=Z;if(this.is(J,"block")&&J.length>1){let c=J[1];if(Array.isArray(c))for(let o of c){if(this.is(o,"object"))for(let k=1;k<o.length;k++){let[z1,m]=o[k];if(z1==="key"){Q=this.generate(m,"value");break}}if(Q!==Z)break}}let M=[this._createLines,this._setupLines,this._factoryMode,this._factoryVars];this._createLines=[],this._setupLines=[],this._factoryMode=!0,this._factoryVars=new Set;let H=this._loopVarStack.map((c)=>`${c.itemVar}, ${c.indexVar}`).join(", "),O=H?`, ${H}`:"";this._loopVarStack.push({itemVar:Z,indexVar:K});let q=this.generateTemplateBlock(J);this._loopVarStack.pop();let E=this._createLines,I=this._setupLines,D=this._factoryVars;[this._createLines,this._setupLines,this._factoryMode,this._factoryVars]=M;let G=I.length===0,P=`ctx, ${Z}, ${K}${O}`;this.emitBlockFactory(w,P,q,E,I,D,G);let N=Q!==Z?`(${Z}, ${K}) => ${Q}`:"null",T=H?`, ${H}`:"",S=[];S.push(`// Loop: ${w}`),S.push("{"),S.push(" const __s = { blocks: [], keys: [] };");let j=this._factoryMode?"disposers.push(__effect(() => {":"__effect(() => {",C=this._factoryMode?"}));":"});";return S.push(` ${j}`),S.push(` __reconcile(${z}, __s, ${R}, ${this._self}, ${w}, ${N}${T});`),S.push(` ${C}`),S.push("}"),this._setupLines.push(S.join(`
24
+ `)),z},F.generateChildComponent=function(U,u){this._pendingAutoWire=!1;let f=this.newElementVar("inst"),Y=this.newElementVar("el"),{propsCode:_,reactiveProps:A,eventBindings:J,childrenSetupLines:w}=this.buildComponentProps(u),z=this._self;this._createLines.push(`${f} = new ${U}(${_});`),this._createLines.push(`${Y} = ${f}._root = ${f}._create();`),this._createLines.push(`(${z}._children || (${z}._children = [])).push(${f});`);for(let{event:X,value:Z}of J){let K=this.generateInComponent(Z,"value");this._createLines.push(`${Y}.addEventListener('${X}', (e) => __batch(() => (${K})(e)));`)}this._setupLines.push(`try { if (${f}._setup) ${f}._setup(); if (${f}.mounted) ${f}.mounted(); } catch (__e) { __handleComponentError(__e, ${f}); }`);for(let{key:X,valueCode:Z}of A)this._pushEffect(`if (${f}.${X}) ${f}.${X}.value = ${Z};`);for(let X of w)this._setupLines.push(X);return Y},F.buildComponentProps=function(U){let u=[],f=[],Y=[],_=null,A=[],J=(X,Z)=>{if(X.startsWith("@")){Y.push({event:X.slice(1).split(".")[0],value:Z});return}if(this.reactiveMembers&&(typeof Z==="string"&&this.reactiveMembers.has(Z)||Array.isArray(Z)&&Z[0]==="."&&Z[1]==="this"&&typeof Z[2]==="string"&&this.reactiveMembers.has(Z[2]))){let R=typeof Z==="string"?Z:Z[2];u.push(`${X}: ${this._self}.${R}`)}else{let R=this.generateInComponent(Z,"value");if(u.push(`${X}: ${R}`),this.hasReactiveDeps(Z))f.push({key:X,valueCode:R})}},w=(X)=>{for(let Z=1;Z<X.length;Z++){let[K,R]=X[Z];if(typeof K==="string")J(K,R);else if(Array.isArray(K)&&K[0]==="."&&K[1]==="this"&&typeof K[2]==="string")Y.push({event:K[2],value:R})}};for(let X of U)if(this.is(X,"object"))w(X);else if(Array.isArray(X)&&(X[0]==="->"||X[0]==="=>")){let Z=X[2];if(Z){if(this.is(Z,"block")){let K=[];for(let R of Z.slice(1))if(this.is(R,"object"))w(R);else K.push(R);Z=K.length>0?["block",...K]:null}if(Z){let K=this._createLines,R=this._setupLines;this._createLines=[],this._setupLines=[],_=this.generateTemplateBlock(Z);let Q=this._createLines,M=this._setupLines;this._createLines=K,this._setupLines=R;for(let H of Q)this._createLines.push(H);A.push(...M),u.push(`children: ${_}`)}}}return{propsCode:u.length>0?`{ ${u.join(", ")} }`:"{}",reactiveProps:f,eventBindings:Y,childrenSetupLines:A}},F.hasReactiveDeps=function(U){if(typeof U==="string")return!!(this.reactiveMembers&&this.reactiveMembers.has(U));if(!Array.isArray(U))return!1;if(U[0]==="."&&U[1]==="this"&&typeof U[2]==="string")return!!(this.reactiveMembers&&this.reactiveMembers.has(U[2]));if(U[0]==="."&&this._rootsAtThis(U[1]))return!0;for(let u of U)if(this.hasReactiveDeps(u))return!0;return!1},F.isSimpleAssignable=function(U){if(typeof U==="string")return!!(this.reactiveMembers&&this.reactiveMembers.has(U));if(Array.isArray(U)&&U[0]==="."&&U[1]==="this"&&typeof U[2]==="string")return!!(this.reactiveMembers&&this.reactiveMembers.has(U[2]));return!1},F.findRootReactiveMember=function(U){if(typeof U==="string")return this.reactiveMembers?.has(U)?U:null;if(!Array.isArray(U))return null;if(U[0]==="."&&U[1]==="this"&&typeof U[2]==="string")return this.reactiveMembers?.has(U[2])?U[2]:null;if(U[0]==="."||U[0]==="[]")return this.findRootReactiveMember(U[1]);return null},F._rootsAtThis=function(U){if(typeof U==="string")return U==="this";if(!Array.isArray(U)||U[0]!==".")return!1;return this._rootsAtThis(U[1])},F.getComponentRuntime=function(){return`
25
25
  // ============================================================================
26
26
  // Rip Component Runtime
27
27
  // ============================================================================
@@ -277,6 +277,11 @@ class __Component {
277
277
  this._root.parentNode.removeChild(this._root);
278
278
  }
279
279
  }
280
+ emit(name, detail) {
281
+ if (this._root) {
282
+ this._root.dispatchEvent(new CustomEvent(name, { detail, bubbles: true }));
283
+ }
284
+ }
280
285
  static mount(target = 'body') {
281
286
  return new this().mount(target);
282
287
  }
@@ -287,25 +292,25 @@ if (typeof globalThis !== 'undefined') {
287
292
  globalThis.__ripComponent = { __pushComponent, __popComponent, setContext, getContext, hasContext, __clsx, __lis, __reconcile, __transition, __handleComponentError, __Component };
288
293
  }
289
294
 
290
- `}}function $1($){let W="",F=$<0?-$<<1|1:$<<1;do{let U=F&31;if(F>>>=5,F>0)U|=32;W+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[U]}while(F>0);return W}class g1{constructor($,W,F=null){this.file=$,this.source=W,this.sourceContent=F,this.names=[],this.nameIndex=new Map,this.lines=[],this.mappings=[],this.prevGenCol=0,this.prevOrigLine=0,this.prevOrigCol=0,this.prevNameIdx=0,this.currentLine=-1}ensureLine($){while(this.lines.length<=$)this.lines.push([])}addName($){if(this.nameIndex.has($))return this.nameIndex.get($);let W=this.names.length;return this.names.push($),this.nameIndex.set($,W),W}addMapping($,W,F,U,u){if(this.ensureLine($),this.currentLine!==$)this.prevGenCol=0,this.currentLine=$;if(F==null){this.lines[$].push($1(W-this.prevGenCol)),this.prevGenCol=W;return}this.mappings.push({genLine:$,genCol:W,origLine:F,origCol:U});let f=$1(W-this.prevGenCol);if(this.prevGenCol=W,f+=$1(0),f+=$1(F-this.prevOrigLine),this.prevOrigLine=F,f+=$1(U-this.prevOrigCol),this.prevOrigCol=U,u!=null){let Y=this.addName(u);f+=$1(Y-this.prevNameIdx),this.prevNameIdx=Y}this.lines[$].push(f)}toReverseMap(){let $=new Map;for(let W of this.mappings)if(!$.has(W.origLine))$.set(W.origLine,{genLine:W.genLine,genCol:W.genCol});return $}toJSON(){let $=this.lines.map((F)=>F.join(",")).join(";"),W={version:3,file:this.file,sources:[this.source],names:this.names,mappings:$};if(this.sourceContent!=null)W.sourcesContent=[this.sourceContent];return JSON.stringify(W)}}var V=($,W)=>$ instanceof String?$[W]:void 0,L=($)=>$ instanceof String?$.valueOf():$,c3=new Set(["+","-","*","/","%","//","%%","**","==","!=","<",">","<=",">=","===","!==","&&","||","??","!?","not","&","|","^","<<",">>",">>>","=",".","?.","[]","!","typeof","void","delete","new","...","rest","expansion","optindex","optcall"]);function G1($){if(!Array.isArray($)||$.length===0)return!1;let W=$[0]?.valueOf?.()??$[0];if(c3.has(W))return!0;return $.length<=4&&!$.some(Array.isArray)}function _1($){if(Array.isArray($))return"(???)";if(typeof $==="number")return String($);if($===null)return"null";if($==="")return'""';let W=String($);if(W[0]==="/"&&W.indexOf(`
295
+ `}}function $1($){let W="",F=$<0?-$<<1|1:$<<1;do{let U=F&31;if(F>>>=5,F>0)U|=32;W+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[U]}while(F>0);return W}class v1{constructor($,W,F=null){this.file=$,this.source=W,this.sourceContent=F,this.names=[],this.nameIndex=new Map,this.lines=[],this.mappings=[],this.prevGenCol=0,this.prevOrigLine=0,this.prevOrigCol=0,this.prevNameIdx=0,this.currentLine=-1}ensureLine($){while(this.lines.length<=$)this.lines.push([])}addName($){if(this.nameIndex.has($))return this.nameIndex.get($);let W=this.names.length;return this.names.push($),this.nameIndex.set($,W),W}addMapping($,W,F,U,u){if(this.ensureLine($),this.currentLine!==$)this.prevGenCol=0,this.currentLine=$;if(F==null){this.lines[$].push($1(W-this.prevGenCol)),this.prevGenCol=W;return}this.mappings.push({genLine:$,genCol:W,origLine:F,origCol:U});let f=$1(W-this.prevGenCol);if(this.prevGenCol=W,f+=$1(0),f+=$1(F-this.prevOrigLine),this.prevOrigLine=F,f+=$1(U-this.prevOrigCol),this.prevOrigCol=U,u!=null){let Y=this.addName(u);f+=$1(Y-this.prevNameIdx),this.prevNameIdx=Y}this.lines[$].push(f)}toReverseMap(){let $=new Map;for(let W of this.mappings)if(!$.has(W.origLine))$.set(W.origLine,{genLine:W.genLine,genCol:W.genCol});return $}toJSON(){let $=this.lines.map((F)=>F.join(",")).join(";"),W={version:3,file:this.file,sources:[this.source],names:this.names,mappings:$};if(this.sourceContent!=null)W.sourcesContent=[this.sourceContent];return JSON.stringify(W)}}var h=($,W)=>$ instanceof String?$[W]:void 0,L=($)=>$ instanceof String?$.valueOf():$,c3=new Set(["+","-","*","/","%","//","%%","**","==","!=","<",">","<=",">=","===","!==","&&","||","??","!?","not","&","|","^","<<",">>",">>>","=",".","?.","[]","!","typeof","void","delete","new","...","rest","expansion","optindex","optcall"]);function G1($){if(!Array.isArray($)||$.length===0)return!1;let W=$[0]?.valueOf?.()??$[0];if(c3.has(W))return!0;return $.length<=4&&!$.some(Array.isArray)}function _1($){if(Array.isArray($))return"(???)";if(typeof $==="number")return String($);if($===null)return"null";if($==="")return'""';let W=String($);if(W[0]==="/"&&W.indexOf(`
291
296
  `)>=0){let F=W.match(/\/([gimsuvy]*)$/),U=F?F[1]:"",u=W.slice(1);return u=U?u.slice(0,-U.length-1):u.slice(0,-1),`"/${u.split(`
292
- `).map((_)=>_.replace(/#.*$/,"").trim()).join("")}/${U}"`}return W}function x($,W=0,F=!1){if(!Array.isArray($))return _1($);if(F&&$[0]==="program"){let J=$[1],X=[Array.isArray(J)?"(program":"(program "+_1(J)],z=Array.isArray(J)?1:2;for(let Z=z;Z<$.length;Z++){let K=x($[Z],2,!1);X.push(K[0]==="("?" "+K:K)}return X.push(")"),X.join(`
293
- `)}let U=$[0];if(G1($)&&$.slice(1).every((J)=>!Array.isArray(J)||G1(J))){let R=`(${$.map((X)=>Array.isArray(X)?x(X,0,!1):_1(X)).join(" ")})`;if(!R.includes(`
294
- `))return" ".repeat(W)+R}let f=" ".repeat(W),Y;if(Array.isArray(U)){if(Y=x(U,0,!1),Y.includes(`
297
+ `).map((_)=>_.replace(/#.*$/,"").trim()).join("")}/${U}"`}return W}function x($,W=0,F=!1){if(!Array.isArray($))return _1($);if(F&&$[0]==="program"){let J=$[1],z=[Array.isArray(J)?"(program":"(program "+_1(J)],X=Array.isArray(J)?1:2;for(let Z=X;Z<$.length;Z++){let K=x($[Z],2,!1);z.push(K[0]==="("?" "+K:K)}return z.push(")"),z.join(`
298
+ `)}let U=$[0];if(G1($)&&$.slice(1).every((J)=>!Array.isArray(J)||G1(J))){let w=`(${$.map((z)=>Array.isArray(z)?x(z,0,!1):_1(z)).join(" ")})`;if(!w.includes(`
299
+ `))return" ".repeat(W)+w}let f=" ".repeat(W),Y;if(Array.isArray(U)){if(Y=x(U,0,!1),Y.includes(`
295
300
  `))Y=Y.split(`
296
- `).map((R,X)=>X===0?R:" ".repeat(W+2)+R).join(`
297
- `)}else Y=_1(U);let _=[`${f}(${Y}`],A=U==="block";for(let J=1;J<$.length;J++){let R=$[J];if(!Array.isArray(R))_[_.length-1]+=" "+_1(R);else{let X=G1(R)&&R.every((z)=>!Array.isArray(z)||G1(z));if(!A&&X){let z=x(R,0,!1);if(!z.includes(`
298
- `)){_[_.length-1]+=" "+z;continue}}_.push(x(R,W+2,!1))}}return _[_.length-1]+=")",_.join(`
301
+ `).map((w,z)=>z===0?w:" ".repeat(W+2)+w).join(`
302
+ `)}else Y=_1(U);let _=[`${f}(${Y}`],A=U==="block";for(let J=1;J<$.length;J++){let w=$[J];if(!Array.isArray(w))_[_.length-1]+=" "+_1(w);else{let z=G1(w)&&w.every((X)=>!Array.isArray(X)||G1(X));if(!A&&z){let X=x(w,0,!1);if(!X.includes(`
303
+ `)){_[_.length-1]+=" "+X;continue}}_.push(x(w,W+2,!1))}}return _[_.length-1]+=")",_.join(`
299
304
  `)}class y{static ASSIGNMENT_OPS=new Set(["=","+=","-=","*=","/=","?=","&=","|=","^=","%=","**=","??=","&&=","||=","<<=",">>=",">>>="]);static NUMBER_LITERAL_RE=/^-?\d+(\.\d+)?([eE][+-]?\d+)?$/;static NUMBER_START_RE=/^-?\d/;static GENERATORS={program:"generateProgram","&&":"generateLogicalAnd","||":"generateLogicalOr","+":"generateBinaryOp","-":"generateBinaryOp","*":"generateBinaryOp","/":"generateBinaryOp","%":"generateBinaryOp","**":"generateBinaryOp","==":"generateBinaryOp","===":"generateBinaryOp","!=":"generateBinaryOp","!==":"generateBinaryOp","<":"generateBinaryOp",">":"generateBinaryOp","<=":"generateBinaryOp",">=":"generateBinaryOp","??":"generateBinaryOp","!?":"generateBinaryOp","&":"generateBinaryOp","|":"generateBinaryOp","^":"generateBinaryOp","<<":"generateBinaryOp",">>":"generateBinaryOp",">>>":"generateBinaryOp","%%":"generateModulo","%%=":"generateModuloAssign","//":"generateFloorDiv","//=":"generateFloorDivAssign","..":"generateRange","=":"generateAssignment","+=":"generateAssignment","-=":"generateAssignment","*=":"generateAssignment","/=":"generateAssignment","%=":"generateAssignment","**=":"generateAssignment","&&=":"generateAssignment","||=":"generateAssignment","??=":"generateAssignment","?=":"generateAssignment","&=":"generateAssignment","|=":"generateAssignment","^=":"generateAssignment","<<=":"generateAssignment",">>=":"generateAssignment",">>>=":"generateAssignment","...":"generateRange","!":"generateNot","~":"generateBitwiseNot","++":"generateIncDec","--":"generateIncDec","=~":"generateRegexMatch",instanceof:"generateInstanceof",in:"generateIn",of:"generateOf",typeof:"generateTypeof",delete:"generateDelete",new:"generateNew",array:"generateArray",object:"generateObject",block:"generateBlock",".":"generatePropertyAccess","?.":"generateOptionalProperty","[]":"generateIndexAccess",optindex:"generateOptIndex",optcall:"generateOptCall","regex-index":"generateRegexIndex",def:"generateDef","->":"generateThinArrow","=>":"generateFatArrow",return:"generateReturn",state:"generateState",computed:"generateComputed",readonly:"generateReadonly",effect:"generateEffect",break:"generateBreak",continue:"generateContinue","?":"generateExistential",defined:"generateDefined",presence:"generatePresence","?:":"generateTernary","|>":"generatePipe",loop:"generateLoop","loop-n":"generateLoopN",await:"generateAwait",yield:"generateYield","yield-from":"generateYieldFrom",if:"generateIf","for-in":"generateForIn","for-of":"generateForOf","for-as":"generateForAs",while:"generateWhile",try:"generateTry",throw:"generateThrow",control:"generateControl",switch:"generateSwitch",when:"generateWhen",comprehension:"generateComprehension","object-comprehension":"generateObjectComprehension",class:"generateClass",super:"generateSuper",component:"generateComponent",render:"generateRender",enum:"generateEnum",import:"generateImport",export:"generateExport","export-default":"generateExportDefault","export-all":"generateExportAll","export-from":"generateExportFrom","do-iife":"generateDoIIFE",regex:"generateRegex","tagged-template":"generateTaggedTemplate",str:"generateString"};constructor($={}){if(this.options=$,this.indentLevel=0,this.indentString=" ",this.comprehensionDepth=0,this.dataSection=$.dataSection,this.sourceMap=$.sourceMap||null,$.reactiveVars)this.reactiveVars=new Set($.reactiveVars)}compile($){this.programVars=new Set,this.functionVars=new Map,this.helpers=new Set,this.scopeStack=[],this.collectProgramVariables($);let W=this.generate($);if(this.sourceMap)this.buildMappings();return W}buildMappings(){if(!this._stmtEntries)return;let $=this._preambleLines;for(let W of this._stmtEntries){if(W.loc)this.sourceMap.addMapping($,0,W.loc.r,W.loc.c);$+=W.code.split(`
300
- `).length}}collectProgramVariables($){if(!Array.isArray($))return;let[W,...F]=$;if(W=L(W),Array.isArray(W)){$.forEach((U)=>this.collectProgramVariables(U));return}if(W==="export"||W==="export-default"||W==="export-all"||W==="export-from")return;if(W==="state"||W==="computed"){let[U]=F,u=L(U)??U;if(!this.reactiveVars)this.reactiveVars=new Set;this.reactiveVars.add(u);return}if(W==="readonly")return;if(W==="component")return;if(y.ASSIGNMENT_OPS.has(W)){let[U,u]=F;if(typeof U==="string"||U instanceof String){let f=L(U);if(!this.reactiveVars?.has(f))this.programVars.add(f)}else if(this.is(U,"array"))this.collectVarsFromArray(U,this.programVars);else if(this.is(U,"object"))this.collectVarsFromObject(U,this.programVars);this.collectProgramVariables(u);return}if(W==="def"||W==="->"||W==="=>"||W==="effect")return;if(W==="if"){let[U,u,f]=F;if(this.collectProgramVariables(U),this.collectProgramVariables(u),f)this.collectProgramVariables(f);return}if(W==="try"){if(this.collectProgramVariables(F[0]),F.length>=2&&Array.isArray(F[1])&&F[1].length===2&&F[1][0]!=="block"){let[U,u]=F[1];if(U&&this.is(U,"object"))U.slice(1).forEach((f)=>{if(Array.isArray(f)&&f.length===2&&typeof f[1]==="string")this.programVars.add(f[1])});else if(U&&this.is(U,"array"))U.slice(1).forEach((f)=>{if(typeof f==="string")this.programVars.add(f)});this.collectProgramVariables(u)}if(F.length===3)this.collectProgramVariables(F[2]);else if(F.length===2&&(!Array.isArray(F[1])||F[1][0]==="block"))this.collectProgramVariables(F[1]);return}F.forEach((U)=>this.collectProgramVariables(U))}collectFunctionVariables($){let W=new Set,F=(U)=>{if(!Array.isArray(U))return;let[u,...f]=U;if(u=L(u),Array.isArray(u)){U.forEach((Y)=>F(Y));return}if(y.ASSIGNMENT_OPS.has(u)){let[Y,_]=f;if(typeof Y==="string")W.add(Y);else if(this.is(Y,"array"))this.collectVarsFromArray(Y,W);else if(this.is(Y,"object"))this.collectVarsFromObject(Y,W);F(_);return}if(u==="def"||u==="->"||u==="=>"||u==="effect")return;if(u==="try"){if(F(f[0]),f.length>=2&&Array.isArray(f[1])&&f[1].length===2&&f[1][0]!=="block"){let[Y,_]=f[1];if(Y&&this.is(Y,"object"))Y.slice(1).forEach((A)=>{if(Array.isArray(A)&&A.length===2&&typeof A[1]==="string")W.add(A[1])});else if(Y&&this.is(Y,"array"))Y.slice(1).forEach((A)=>{if(typeof A==="string")W.add(A)});F(_)}if(f.length===3)F(f[2]);else if(f.length===2&&(!Array.isArray(f[1])||f[1][0]==="block"))F(f[1]);return}f.forEach((Y)=>F(Y))};return F($),W}generate($,W="statement"){if($ instanceof String){if(V($,"await")===!0)return`await ${L($)}()`;if(V($,"predicate"))return`(${L($)} != null)`;if(V($,"delimiter")==="///"&&V($,"heregex")){let _=L($),A=_.match(/^\/(.*)\/([gimsuvy]*)$/s);if(A){let[,J,R]=A;return`/${this.processHeregex(J)}/${R}`}return _}let Y=V($,"quote");if(Y){let _=L($);if(Y==='"""'||Y==="'''"){let J=this.extractStringContent($);return J=J.replace(/`/g,"\\`").replace(/\${/g,"\\${"),`\`${J}\``}if(_[0]===Y)return _;let A=_.slice(1,-1);return`${Y}${A}${Y}`}$=L($)}if(typeof $==="string"){if($.startsWith('"')||$.startsWith("'")||$.startsWith("`")){if(this.options.debug)console.warn("[Rip] Unexpected quoted primitive:",$);let Y=$.slice(1,-1);if(Y.includes(`
301
- `))return`\`${Y.replace(/`/g,"\\`").replace(/\$\{/g,"\\${")}\``;let _=Y.includes("'")&&!Y.includes('"')?'"':"'",A=Y.replace(new RegExp(_,"g"),`\\${_}`);return`${_}${A}${_}`}if(this.reactiveVars?.has($)&&!this.suppressReactiveUnwrap)return`${$}.value`;return $}if(typeof $==="number")return String($);if($===null||$===void 0)return"null";if(!Array.isArray($))throw Error(`Invalid s-expression: ${JSON.stringify($)}`);let[F,...U]=$,u=V(F,"await");F=L(F);let f=y.GENERATORS[F];if(f)return this[f](F,U,W,$);if(typeof F==="string"&&!F.startsWith('"')&&!F.startsWith("'")){if(y.NUMBER_START_RE.test(F))return F;if(F==="super"&&this.currentMethodName&&this.currentMethodName!=="constructor"){let R=U.map((X)=>this.unwrap(this.generate(X,"value"))).join(", ");return`super.${this.currentMethodName}(${R})`}if(W==="statement"&&U.length===1){let R=this.findPostfixConditional(U[0]);if(R){let X=this.rebuildWithoutConditional(R),z=this.generate(F,"value"),Z=this.generate(R.condition,"value"),K=this.generate(X,"value"),w=`${z}(${K})`;return`if (${Z}) ${w}`}}let Y=u===!0,_=this.generate(F,"value"),A=U.map((R)=>this.unwrap(this.generate(R,"value"))).join(", "),J=`${_}(${A})`;return Y?`await ${J}`:J}if(Array.isArray(F)&&typeof F[0]==="string"){if(["=","+=","-=","*=","/=","%=","**=","&&=","||=","??=","if","return","throw"].includes(F[0]))return`(${$.map((A)=>this.generate(A,"value")).join(", ")})`}if(Array.isArray(F)){if(F[0]==="."&&(F[2]==="new"||L(F[2])==="new")){let R=F[1],X=this.generate(R,"value"),z=U.map((K)=>this.unwrap(this.generate(K,"value"))).join(", ");return`new ${Array.isArray(R)?`(${X})`:X}(${z})`}if(W==="statement"&&U.length===1){let R=this.findPostfixConditional(U[0]);if(R){let X=this.rebuildWithoutConditional(R),z=this.generate(F,"value"),Z=this.generate(R.condition,"value"),K=this.generate(X,"value"),w=`${z}(${K})`;return`if (${Z}) ${w}`}}let Y=!1,_;if(F[0]==="."&&V(F[2],"await")===!0){Y=!0;let[R,X]=F.slice(1),z=this.generate(R,"value");_=`${y.NUMBER_LITERAL_RE.test(z)||(this.is(R,"object")||this.is(R,"await")||this.is(R,"yield"))?`(${z})`:z}.${L(X)}`}else _=this.generate(F,"value");let A=U.map((R)=>this.unwrap(this.generate(R,"value"))).join(", "),J=`${_}(${A})`;return Y?`await ${J}`:J}throw Error(`Unknown s-expression type: ${F}`)}generateProgram($,W,F,U){let u="",f=[],Y=[],_=[];for(let w of W){if(!Array.isArray(w)){_.push(w);continue}let Q=w[0];if(Q==="import")f.push(w);else if(Q==="export"||Q==="export-default"||Q==="export-all"||Q==="export-from")Y.push(w);else _.push(w)}let A=["def","class","if","for-in","for-of","for-as","while","loop","switch","try"],J=_.map((w,Q)=>{let M=_.length===1&&f.length===0&&Y.length===0,H=this.is(w,"object"),O=H&&w.length===2&&Array.isArray(w[1])&&Array.isArray(w[1][1])&&w[1][1][0]==="comprehension",q=this.is(w,"comprehension")||this.is(w,"object-comprehension")||this.is(w,"do-iife"),E=this.programVars.size===0,I=M&&H&&E&&!q&&!O,G=Q===_.length-1&&q,P;if(I)P=`(${this.generate(w,"value")})`;else if(G)P=this.generate(w,"value");else P=this.generate(w,"statement");if(P&&!P.endsWith(";")){let N=Array.isArray(w)?w[0]:null;if(!A.includes(N)||!P.endsWith("}"))P+=";"}let B=Array.isArray(w)?w.loc:null;return{code:P,loc:B}}),R=J.map((w)=>w.code).join(`
302
- `),X=!1;if(f.length>0)u+=f.map((w)=>this.addSemicolon(w,this.generate(w,"statement"))).join(`
303
- `),X=!0;if(this.programVars.size>0){let w=Array.from(this.programVars).sort().join(", ");if(X)u+=`
304
- `;u+=`let ${w};
305
- `,X=!0}let z=this.options.skipPreamble,Z=this.options.skipRuntimes;if(!z){if(X)u+=`
306
- `;u+=Z1(),X=!0;let w=Z?"var":"const";if(this.helpers.has("slice"))u+=`${w} slice = [].slice;
307
- `,X=!0;if(this.helpers.has("modulo"))u+=`${w} modulo = (n, d) => { n = +n; d = +d; return (n % d + d) % d; };
308
- `,X=!0;if(this.helpers.has("toMatchable"))u+=`${w} toMatchable = (v, allowNewlines) => {
305
+ `).length}}collectProgramVariables($){if(!Array.isArray($))return;let[W,...F]=$;if(W=L(W),Array.isArray(W)){$.forEach((U)=>this.collectProgramVariables(U));return}if(W==="export"||W==="export-default"||W==="export-all"||W==="export-from")return;if(W==="state"||W==="computed"){let[U]=F,u=L(U)??U;if(!this.reactiveVars)this.reactiveVars=new Set;this.reactiveVars.add(u);return}if(W==="readonly")return;if(W==="component")return;if(y.ASSIGNMENT_OPS.has(W)){let[U,u]=F;if(typeof U==="string"||U instanceof String){let f=L(U);if(!this.reactiveVars?.has(f))this.programVars.add(f)}else if(this.is(U,"array"))this.collectVarsFromArray(U,this.programVars);else if(this.is(U,"object"))this.collectVarsFromObject(U,this.programVars);this.collectProgramVariables(u);return}if(W==="def"||W==="->"||W==="=>"||W==="effect")return;if(W==="if"){let[U,u,f]=F;if(this.collectProgramVariables(U),this.collectProgramVariables(u),f)this.collectProgramVariables(f);return}if(W==="try"){if(this.collectProgramVariables(F[0]),F.length>=2&&Array.isArray(F[1])&&F[1].length===2&&F[1][0]!=="block"){let[U,u]=F[1];if(U&&this.is(U,"object"))U.slice(1).forEach((f)=>{if(Array.isArray(f)&&f.length===2&&typeof f[1]==="string")this.programVars.add(f[1])});else if(U&&this.is(U,"array"))U.slice(1).forEach((f)=>{if(typeof f==="string")this.programVars.add(f)});this.collectProgramVariables(u)}if(F.length===3)this.collectProgramVariables(F[2]);else if(F.length===2&&(!Array.isArray(F[1])||F[1][0]==="block"))this.collectProgramVariables(F[1]);return}F.forEach((U)=>this.collectProgramVariables(U))}collectFunctionVariables($){let W=new Set,F=(U)=>{if(!Array.isArray(U))return;let[u,...f]=U;if(u=L(u),Array.isArray(u)){U.forEach((Y)=>F(Y));return}if(y.ASSIGNMENT_OPS.has(u)){let[Y,_]=f;if(typeof Y==="string")W.add(Y);else if(this.is(Y,"array"))this.collectVarsFromArray(Y,W);else if(this.is(Y,"object"))this.collectVarsFromObject(Y,W);F(_);return}if(u==="def"||u==="->"||u==="=>"||u==="effect")return;if(u==="try"){if(F(f[0]),f.length>=2&&Array.isArray(f[1])&&f[1].length===2&&f[1][0]!=="block"){let[Y,_]=f[1];if(Y&&this.is(Y,"object"))Y.slice(1).forEach((A)=>{if(Array.isArray(A)&&A.length===2&&typeof A[1]==="string")W.add(A[1])});else if(Y&&this.is(Y,"array"))Y.slice(1).forEach((A)=>{if(typeof A==="string")W.add(A)});F(_)}if(f.length===3)F(f[2]);else if(f.length===2&&(!Array.isArray(f[1])||f[1][0]==="block"))F(f[1]);return}f.forEach((Y)=>F(Y))};return F($),W}generate($,W="statement"){if($ instanceof String){if(h($,"await")===!0)return`await ${L($)}()`;if(h($,"predicate"))return`(${L($)} != null)`;if(h($,"delimiter")==="///"&&h($,"heregex")){let _=L($),A=_.match(/^\/(.*)\/([gimsuvy]*)$/s);if(A){let[,J,w]=A;return`/${this.processHeregex(J)}/${w}`}return _}let Y=h($,"quote");if(Y){let _=L($);if(Y==='"""'||Y==="'''"){let J=this.extractStringContent($);return J=J.replace(/`/g,"\\`").replace(/\${/g,"\\${"),`\`${J}\``}if(_[0]===Y)return _;let A=_.slice(1,-1);return`${Y}${A}${Y}`}$=L($)}if(typeof $==="string"){if($.startsWith('"')||$.startsWith("'")||$.startsWith("`")){if(this.options.debug)console.warn("[Rip] Unexpected quoted primitive:",$);let Y=$.slice(1,-1);if(Y.includes(`
306
+ `))return`\`${Y.replace(/`/g,"\\`").replace(/\$\{/g,"\\${")}\``;let _=Y.includes("'")&&!Y.includes('"')?'"':"'",A=Y.replace(new RegExp(_,"g"),`\\${_}`);return`${_}${A}${_}`}if(this.reactiveVars?.has($)&&!this.suppressReactiveUnwrap)return`${$}.value`;return $}if(typeof $==="number")return String($);if($===null||$===void 0)return"null";if(!Array.isArray($))throw Error(`Invalid s-expression: ${JSON.stringify($)}`);let[F,...U]=$,u=h(F,"await");F=L(F);let f=y.GENERATORS[F];if(f)return this[f](F,U,W,$);if(typeof F==="string"&&!F.startsWith('"')&&!F.startsWith("'")){if(y.NUMBER_START_RE.test(F))return F;if(F==="super"&&this.currentMethodName&&this.currentMethodName!=="constructor"){let w=U.map((z)=>this.unwrap(this.generate(z,"value"))).join(", ");return`super.${this.currentMethodName}(${w})`}if(W==="statement"&&U.length===1){let w=this.findPostfixConditional(U[0]);if(w){let z=this.rebuildWithoutConditional(w),X=this.generate(F,"value"),Z=this.generate(w.condition,"value"),K=this.generate(z,"value"),R=`${X}(${K})`;return`if (${Z}) ${R}`}}let Y=u===!0,_=this.generate(F,"value"),A=U.map((w)=>this.unwrap(this.generate(w,"value"))).join(", "),J=`${_}(${A})`;return Y?`await ${J}`:J}if(Array.isArray(F)&&typeof F[0]==="string"){if(["=","+=","-=","*=","/=","%=","**=","&&=","||=","??=","if","return","throw"].includes(F[0]))return`(${$.map((A)=>this.generate(A,"value")).join(", ")})`}if(Array.isArray(F)){if(F[0]==="."&&(F[2]==="new"||L(F[2])==="new")){let w=F[1],z=this.generate(w,"value"),X=U.map((K)=>this.unwrap(this.generate(K,"value"))).join(", ");return`new ${Array.isArray(w)?`(${z})`:z}(${X})`}if(W==="statement"&&U.length===1){let w=this.findPostfixConditional(U[0]);if(w){let z=this.rebuildWithoutConditional(w),X=this.generate(F,"value"),Z=this.generate(w.condition,"value"),K=this.generate(z,"value"),R=`${X}(${K})`;return`if (${Z}) ${R}`}}let Y=!1,_;if(F[0]==="."&&h(F[2],"await")===!0){Y=!0;let[w,z]=F.slice(1),X=this.generate(w,"value");_=`${y.NUMBER_LITERAL_RE.test(X)||(this.is(w,"object")||this.is(w,"await")||this.is(w,"yield"))?`(${X})`:X}.${L(z)}`}else _=this.generate(F,"value");let A=U.map((w)=>this.unwrap(this.generate(w,"value"))).join(", "),J=`${_}(${A})`;return Y?`await ${J}`:J}throw Error(`Unknown s-expression type: ${F}`)}generateProgram($,W,F,U){let u="",f=[],Y=[],_=[];for(let R of W){if(!Array.isArray(R)){_.push(R);continue}let Q=R[0];if(Q==="import")f.push(R);else if(Q==="export"||Q==="export-default"||Q==="export-all"||Q==="export-from")Y.push(R);else _.push(R)}let A=["def","class","if","for-in","for-of","for-as","while","loop","switch","try"],J=_.map((R,Q)=>{let M=_.length===1&&f.length===0&&Y.length===0,H=this.is(R,"object"),O=H&&R.length===2&&Array.isArray(R[1])&&Array.isArray(R[1][1])&&R[1][1][0]==="comprehension",q=this.is(R,"comprehension")||this.is(R,"object-comprehension")||this.is(R,"do-iife"),E=this.programVars.size===0,I=M&&H&&E&&!q&&!O,G=Q===_.length-1&&q,P;if(I)P=`(${this.generate(R,"value")})`;else if(G)P=this.generate(R,"value");else P=this.generate(R,"statement");if(P&&!P.endsWith(";")){let N=Array.isArray(R)?R[0]:null;if(!A.includes(N)||!P.endsWith("}"))P+=";"}let B=Array.isArray(R)?R.loc:null;return{code:P,loc:B}}),w=J.map((R)=>R.code).join(`
307
+ `),z=!1;if(f.length>0)u+=f.map((R)=>this.addSemicolon(R,this.generate(R,"statement"))).join(`
308
+ `),z=!0;if(this.programVars.size>0){let R=Array.from(this.programVars).sort().join(", ");if(z)u+=`
309
+ `;u+=`let ${R};
310
+ `,z=!0}let X=this.options.skipPreamble,Z=this.options.skipRuntimes;if(!X){if(z)u+=`
311
+ `;u+=Z1(),z=!0;let R=Z?"var":"const";if(this.helpers.has("slice"))u+=`${R} slice = [].slice;
312
+ `,z=!0;if(this.helpers.has("modulo"))u+=`${R} modulo = (n, d) => { n = +n; d = +d; return (n % d + d) % d; };
313
+ `,z=!0;if(this.helpers.has("toMatchable"))u+=`${R} toMatchable = (v, allowNewlines) => {
309
314
  `,u+=` if (typeof v === "string") return !allowNewlines && /[\\n\\r]/.test(v) ? null : v;
310
315
  `,u+=` if (v == null) return "";
311
316
  `,u+=` if (typeof v === "number" || typeof v === "bigint" || typeof v === "boolean") return String(v);
@@ -319,103 +324,103 @@ if (typeof globalThis !== 'undefined') {
319
324
  `,u+=` }
320
325
  `,u+=` return "";
321
326
  `,u+=`};
322
- `,X=!0}let K="";if(Y.length>0)K=`
323
- `+Y.map((w)=>this.addSemicolon(w,this.generate(w,"statement"))).join(`
324
- `);if(this.usesReactivity&&!z){if(Z)u+=`var { __state, __computed, __effect, __batch, __readonly, __setErrorHandler, __handleError, __catchErrors } = globalThis.__rip;
327
+ `,z=!0}let K="";if(Y.length>0)K=`
328
+ `+Y.map((R)=>this.addSemicolon(R,this.generate(R,"statement"))).join(`
329
+ `);if(this.usesReactivity&&!X){if(Z)u+=`var { __state, __computed, __effect, __batch, __readonly, __setErrorHandler, __handleError, __catchErrors } = globalThis.__rip;
325
330
  `;else if(typeof globalThis<"u"&&globalThis.__rip)u+=`const { __state, __computed, __effect, __batch, __readonly, __setErrorHandler, __handleError, __catchErrors } = globalThis.__rip;
326
- `;else u+=this.getReactiveRuntime();X=!0}if(this.usesTemplates&&!z){if(Z)u+=`var { __pushComponent, __popComponent, setContext, getContext, hasContext, __clsx, __lis, __reconcile, __transition, __handleComponentError, __Component } = globalThis.__ripComponent;
331
+ `;else u+=this.getReactiveRuntime();z=!0}if(this.usesTemplates&&!X){if(Z)u+=`var { __pushComponent, __popComponent, setContext, getContext, hasContext, __clsx, __lis, __reconcile, __transition, __handleComponentError, __Component } = globalThis.__ripComponent;
327
332
  `;else if(typeof globalThis<"u"&&globalThis.__ripComponent)u+=`const { __pushComponent, __popComponent, setContext, getContext, hasContext, __clsx, __lis, __reconcile, __transition, __handleComponentError, __Component } = globalThis.__ripComponent;
328
- `;else u+=this.getComponentRuntime();X=!0}if(this.dataSection!==null&&this.dataSection!==void 0&&!z)u+=`var DATA;
333
+ `;else u+=this.getComponentRuntime();z=!0}if(this.dataSection!==null&&this.dataSection!==void 0&&!X)u+=`var DATA;
329
334
  _setDataSection();
330
- `,X=!0;if(X&&u.length>0)u+=`
335
+ `,z=!0;if(z&&u.length>0)u+=`
331
336
  `;if(this._stmtEntries=J,this._preambleLines=u.length===0?0:u.split(`
332
- `).length-1,u+=R,u+=K,this.dataSection!==null&&this.dataSection!==void 0)u+=`
337
+ `).length-1,u+=w,u+=K,this.dataSection!==null&&this.dataSection!==void 0)u+=`
333
338
 
334
339
  function _setDataSection() {
335
340
  DATA = ${JSON.stringify(this.dataSection)};
336
- }`;return u}generateBinaryOp($,W,F,U){if(($==="+"||$==="-")&&W.length===1)return`(${$}${this.generate(W[0],"value")})`;let[u,f]=W;if($==="*"){let _=u?.valueOf?.()??u;if(typeof _==="string"&&/^["']/.test(_))return`${this.generate(u,"value")}.repeat(${this.generate(f,"value")})`}let Y=new Set(["<",">","<=",">="]);if(Y.has($)&&Array.isArray(u)){let _=u[0]?.valueOf?.()??u[0];if(Y.has(_)){let A=this.generate(u[1],"value"),J=this.generate(u[2],"value"),R=this.generate(f,"value");return`((${A} ${_} ${J}) && (${J} ${$} ${R}))`}}if($==="!?"){let _=this.generate(u,"value"),A=this.generate(f,"value");return`(${_} !== undefined ? ${_} : ${A})`}if($==="==")$="===";if($==="!=")$="!==";return`(${this.generate(u,"value")} ${$} ${this.generate(f,"value")})`}generateModulo($,W){let[F,U]=W;return this.helpers.add("modulo"),`modulo(${this.generate(F,"value")}, ${this.generate(U,"value")})`}generateModuloAssign($,W){let[F,U]=W;this.helpers.add("modulo");let u=this.generate(F,"value"),f=this.generate(U,"value");return`${u} = modulo(${u}, ${f})`}generateFloorDiv($,W){let[F,U]=W;return`Math.floor(${this.generate(F,"value")} / ${this.generate(U,"value")})`}generateFloorDivAssign($,W){let[F,U]=W,u=this.generate(F,"value"),f=this.generate(U,"value");return`${u} = Math.floor(${u} / ${f})`}generateAssignment($,W,F,U){let[u,f]=W,Y=$==="?="?"??=":$,_=this.is(f,"->")||this.is(f,"=>")||this.is(f,"def");if(u instanceof String&&V(u,"await")!==void 0&&!_){let w=V(u,"await")===!0?"!":"&";throw Error(`Cannot use ${w} sigil in variable declaration '${L(u)}'.`)}if(u instanceof String&&V(u,"await")===!0&&_)this.nextFunctionIsVoid=!0;let A=this.is(u,"array",0),J=this.is(u,"object",0);if(A||J){let w=this.generate(f,"value");return J&&F==="statement"?`(${w})`:w}if(Array.isArray(f)&&Y==="="&&f[0]==="control"){let[,w,Q,M]=f,H=L(w),O=M[0]==="return",q=this.generate(u,"value"),E=this.generate(Q,"value"),I=M.length>1?M[1]:null,D=O?I?`return ${this.generate(I,"value")}`:"return":I?`throw ${this.generate(I,"value")}`:"throw new Error()";if(F==="value"){if(H==="??")return`(() => { const __v = ${E}; if (__v == null) ${D}; return (${q} = __v); })()`;if(H==="||")return`(() => { const __v = ${E}; if (!__v) ${D}; return (${q} = __v); })()`;return`(() => { const __v = ${E}; if (__v) ${D}; return (${q} = __v); })()`}if(H==="??")return`if ((${q} = ${E}) == null) ${D}`;if(H==="||")return`if (!(${q} = ${E})) ${D}`;return`if ((${q} = ${E})) ${D}`}if(this.is(u,"array")){let w=u.slice(1).findIndex((Q)=>this.is(Q,"...")||Q==="...");if(w!==-1&&w<u.length-2){let Q=u.slice(1),M=Q.slice(w+1),H=M.length;if(H>0){let O=this.generate(f,"value"),E=Q.slice(0,w).map((B)=>B===","?"":typeof B==="string"?B:this.generate(B,"value")).join(", "),I=M.map((B)=>B===","?"":typeof B==="string"?B:this.generate(B,"value")).join(", ");this.helpers.add("slice"),Q.forEach((B)=>{if(B===","||B==="...")return;if(typeof B==="string")this.programVars.add(B);else if(this.is(B,"...")&&typeof B[1]==="string")this.programVars.add(B[1])});let D=Q[w],G=this.is(D,"...")?D[1]:null,P=[];if(E)P.push(`[${E}] = ${O}`);if(G)P.push(`[...${G}] = ${O}.slice(${w}, -${H})`);return P.push(`[${I}] = slice.call(${O}, -${H})`),P.join(", ")}}}if(F==="statement"&&$==="="&&Array.isArray(f)&&(f[0]==="||"||f[0]==="&&")&&f.length===3){let[w,Q,M]=f;if(this.is(M,"if")&&M.length===3){let[,H,O]=M,q=Array.isArray(O)&&O.length===1?O[0]:O,E=[w,Q,q],I=this.generate(u,"value"),D=this.generate(H,"value"),G=this.generate(E,"value");return`if (${D}) ${I} = ${G}`}}if(F==="statement"&&$==="="&&Array.isArray(f)&&f.length===3){let[w,Q,M]=f,H=Array.isArray(M)&&M.length===1&&(!Array.isArray(M[0])||M[0][0]!=="block");if(w==="if"&&H){let O=Array.isArray(M)&&M.length===1?M[0]:M,q=this.generate(u,"value"),E=this.unwrapLogical(this.generate(Q,"value")),I=this.generate(O,"value");return`if (${E}) ${q} = ${I}`}}let R;if(u instanceof String&&V(u,"await")!==void 0)R=L(u);else if(typeof u==="string"&&this.reactiveVars?.has(u))R=`${u}.value`;else R=this.generate(u,"value");let X=this.generate(f,"value");if(!this.is(f,"object"))X=this.unwrap(X);let Z=F==="value",K=F==="statement"&&this.is(u,"object");if(Z||K)return`(${R} ${Y} ${X})`;return`${R} ${Y} ${X}`}generatePropertyAccess($,W,F,U){let[u,f]=W;if(this._atParamMap&&u==="this"){let J=this._atParamMap.get(L(f));if(J)return J}let Y=this.generate(u,"value"),A=y.NUMBER_LITERAL_RE.test(Y)||Y.startsWith("await ")||(this.is(u,"object")||this.is(u,"yield"))?`(${Y})`:Y;if(V(f,"await")===!0)return`await ${A}.${L(f)}()`;if(V(f,"predicate"))return`(${A}.${L(f)} != null)`;return`${A}.${L(f)}`}generateOptionalProperty($,W){let[F,U]=W;return`${this.generate(F,"value")}?.${U}`}generateRegexIndex($,W){let[F,U,u]=W;this.helpers.add("toMatchable"),this.programVars.add("_");let f=this.generate(F,"value"),Y=this.generate(U,"value"),_=u!==null?this.generate(u,"value"):"0",A=Y.includes("/m")?", true":"";return`(_ = toMatchable(${f}${A}).match(${Y})) && _[${_}]`}generateIndexAccess($,W){let[F,U]=W;if(this.is(U,"..")||this.is(U,"...")){let u=U[0]==="..",f=this.generate(F,"value"),[Y,_]=U.slice(1),A=(z)=>{if(z===null)return null;let Z=L(z)??z;if(typeof Z==="number")return Z;if(typeof Z==="string"&&/^\d+$/.test(Z))return+Z;if(Array.isArray(z)&&z[0]==="-"&&z.length===2){let K=L(z[1])??z[1];if(typeof K==="number")return-K;if(typeof K==="string"&&/^\d+$/.test(K))return-K}return null},J=(z,Z,K)=>{let w=A(K);if(w!==null&&w!==-1)return`${f}.slice(${z}, ${w+1})`;return`${f}.slice(${z}, +${Z} + 1 || 9e9)`};if(Y===null&&_===null)return`${f}.slice()`;if(Y===null){if(u&&this.is(_,"-",1)&&(L(_[1])??_[1])==1)return`${f}.slice(0)`;let z=this.generate(_,"value");return u?J("0",z,_):`${f}.slice(0, ${z})`}if(_===null)return`${f}.slice(${this.generate(Y,"value")})`;let R=this.generate(Y,"value");if(u&&this.is(_,"-",1)&&(L(_[1])??_[1])==1)return`${f}.slice(${R})`;let X=this.generate(_,"value");return u?J(R,X,_):`${f}.slice(${R}, ${X})`}if(this.is(U,"-",1)){let u=L(U[1])??U[1];if(typeof u==="number"||typeof u==="string"&&/^\d+$/.test(u))return`${this.generate(F,"value")}.at(-${u})`}return`${this.generate(F,"value")}[${this.unwrap(this.generate(U,"value"))}]`}generateOptIndex($,W){let[F,U]=W;if(this.is(U,"-",1)){let u=L(U[1])??U[1];if(typeof u==="number"||typeof u==="string"&&/^\d+$/.test(u))return`${this.generate(F,"value")}?.at(-${u})`}return`${this.generate(F,"value")}?.[${this.generate(U,"value")}]`}generateOptCall($,W){let[F,...U]=W;return`${this.generate(F,"value")}?.(${U.map((u)=>this.generate(u,"value")).join(", ")})`}generateDef($,W,F,U){let[u,f,Y]=W,_=V(u,"await")===!0,A=L(u),J=this.generateParamList(f),R=this.generateFunctionBody(Y,f,_),X=this.containsAwait(Y),z=this.containsYield(Y);return`${X?"async ":""}function${z?"*":""} ${A}(${J}) ${R}`}generateThinArrow($,W,F,U){let[u,f]=W;if((!u||Array.isArray(u)&&u.length===0)&&this.containsIt(f))u=["it"];let Y=this.nextFunctionIsVoid||!1;this.nextFunctionIsVoid=!1;let _=this.generateParamList(u),A=this.generateFunctionBody(f,u,Y),J=this.containsAwait(f),R=this.containsYield(f),X=`${J?"async ":""}function${R?"*":""}(${_}) ${A}`;return F==="value"?`(${X})`:X}generateFatArrow($,W,F,U){let[u,f]=W;if((!u||Array.isArray(u)&&u.length===0)&&this.containsIt(f))u=["it"];let Y=this.nextFunctionIsVoid||!1;this.nextFunctionIsVoid=!1;let _=this.generateParamList(u),J=u.length===1&&typeof u[0]==="string"&&!_.includes("=")&&!_.includes("...")&&!_.includes("[")&&!_.includes("{")?_:`(${_})`,X=this.containsAwait(f)?"async ":"";if(!Y){if(this.is(f,"block")&&f.length===2){let Z=f[1];if(!Array.isArray(Z)||Z[0]!=="return"){let K=this.generate(Z,"value");if(K[0]==="{")K=`(${K})`;return`${X}${J} => ${K}`}}if(!Array.isArray(f)||f[0]!=="block"){let Z=this.generate(f,"value");if(Z[0]==="{")Z=`(${Z})`;return`${X}${J} => ${Z}`}}let z=this.generateFunctionBody(f,u,Y);return`${X}${J} => ${z}`}generateReturn($,W,F,U){if(W.length===0)return"return";let[u]=W;if(this.sideEffectOnly)return"return";if(this.is(u,"if")){let[,f,Y,..._]=u;if(_.length===0){let A=Array.isArray(Y)&&Y.length===1?Y[0]:Y;return`if (${this.generate(f,"value")}) return ${this.generate(A,"value")}`}}if(this.is(u,"new")&&Array.isArray(u[1])&&u[1][0]==="if"){let[,f,Y]=u[1],_=Array.isArray(Y)&&Y.length===1?Y[0]:Y;return`if (${this.generate(f,"value")}) return ${this.generate(["new",_],"value")}`}return`return ${this.generate(u,"value")}`}generateState($,W){let[F,U]=W;this.usesReactivity=!0;let u=L(F)??F;if(!this.reactiveVars)this.reactiveVars=new Set;return this.reactiveVars.add(u),`const ${u} = __state(${this.generate(U,"value")})`}generateComputed($,W){let[F,U]=W;if(this.usesReactivity=!0,!this.reactiveVars)this.reactiveVars=new Set;let u=L(F)??F;if(this.reactiveVars.add(u),this.is(U,"block")&&U.length>2)return`const ${u} = __computed(() => ${this.generateFunctionBody(U)})`;return`const ${u} = __computed(() => ${this.generate(U,"value")})`}generateReadonly($,W){let[F,U]=W;return`const ${L(F)??F} = ${this.generate(U,"value")}`}generateEffect($,W){let[F,U]=W;this.usesReactivity=!0;let u;if(this.is(U,"block"))u=this.generateFunctionBody(U);else if(this.is(U,"->")||this.is(U,"=>")){let Y=this.generate(U,"value");if(F)return`const ${L(F)??this.generate(F,"value")} = __effect(${Y})`;return`__effect(${Y})`}else u=`{ ${this.generate(U,"value")}; }`;let f=`__effect(() => ${u})`;if(F)return`const ${L(F)??this.generate(F,"value")} = ${f}`;return f}generateBreak(){return"break"}generateContinue(){return"continue"}generateExistential($,W){return`(${this.generate(W[0],"value")} != null)`}generateDefined($,W){return`(${this.generate(W[0],"value")} !== undefined)`}generatePresence($,W){return`(${this.generate(W[0],"value")} ? true : undefined)`}generateTernary($,W,F){let[U,u,f]=W;if((u?.[0]?.valueOf?.()??u?.[0])==="="&&Array.isArray(u)){let _=this.generate(u[1],"value"),A=this.generate(u[2],"value"),J=this.generate(f,"value");return`${_} = (${this.unwrap(this.generate(U,"value"))} ? ${A} : ${J})`}return`(${this.unwrap(this.generate(U,"value"))} ? ${this.generate(u,"value")} : ${this.generate(f,"value")})`}generatePipe($,W){let[F,U]=W,u=this.generate(F,"value");if(Array.isArray(U)&&U.length>1){let f=U[0];if(Array.isArray(f)||typeof f==="string"&&/^[a-zA-Z_$]/.test(f)){let _=this.generate(f,"value"),A=U.slice(1).map((J)=>this.generate(J,"value"));return`${_}(${u}, ${A.join(", ")})`}}return`${this.generate(U,"value")}(${u})`}generateLoop($,W){return`while (true) ${this.generateLoopBody(W[0])}`}generateLoopN($,W){let[F,U]=W;return`for (let it = 0; it < ${this.generate(F,"value")}; it++) ${this.generateLoopBody(U)}`}generateAwait($,W){return`await ${this.generate(W[0],"value")}`}generateYield($,W){return W.length===0?"yield":`yield ${this.generate(W[0],"value")}`}generateYieldFrom($,W){return`yield* ${this.generate(W[0],"value")}`}generateIf($,W,F,U){let[u,f,...Y]=W;return F==="value"?this.generateIfAsExpression(u,f,Y):this.generateIfAsStatement(u,f,Y)}generateForIn($,W,F,U){let[u,f,Y,_,A]=W;if(F==="value"&&this.comprehensionDepth===0){let Q=["for-in",u,f,Y];return this.generate(["comprehension",A,[Q],_?[_]:[]],F)}let J=Array.isArray(u)?u:[u],R=J.length===0,[X,z]=R?["_i",null]:J,Z=this.is(X,"array")||this.is(X,"object")?this.generateDestructuringPattern(X):X;if(Y&&Y!==null){let Q=this.generate(f,"value"),M=z||"_i",H=this.generate(Y,"value"),O=this.is(Y,"-",1),q=O&&(Y[1]==="1"||Y[1]===1||L(Y[1])==="1"),E=!O&&(Y==="1"||Y===1||L(Y)==="1"),I;if(q)I=`for (let ${M} = ${Q}.length - 1; ${M} >= 0; ${M}--) `;else if(E)I=`for (let ${M} = 0; ${M} < ${Q}.length; ${M}++) `;else if(O)I=`for (let ${M} = ${Q}.length - 1; ${M} >= 0; ${M} += ${H}) `;else I=`for (let ${M} = 0; ${M} < ${Q}.length; ${M} += ${H}) `;if(this.is(A,"block")){let D=A.slice(1);this.indentLevel++;let G=[];if(!R)G.push(`const ${Z} = ${Q}[${M}];`);if(_)G.push(`if (${this.generate(_,"value")}) {`),this.indentLevel++,G.push(...this.formatStatements(D)),this.indentLevel--,G.push(this.indent()+"}");else G.push(...D.map((P)=>this.addSemicolon(P,this.generate(P,"statement"))));return this.indentLevel--,I+`{
341
+ }`;return u}generateBinaryOp($,W,F,U){if(($==="+"||$==="-")&&W.length===1)return`(${$}${this.generate(W[0],"value")})`;let[u,f]=W;if($==="*"){let _=u?.valueOf?.()??u;if(typeof _==="string"&&/^["']/.test(_))return`${this.generate(u,"value")}.repeat(${this.generate(f,"value")})`}let Y=new Set(["<",">","<=",">="]);if(Y.has($)&&Array.isArray(u)){let _=u[0]?.valueOf?.()??u[0];if(Y.has(_)){let A=this.generate(u[1],"value"),J=this.generate(u[2],"value"),w=this.generate(f,"value");return`((${A} ${_} ${J}) && (${J} ${$} ${w}))`}}if($==="!?"){let _=this.generate(u,"value"),A=this.generate(f,"value");return`(${_} !== undefined ? ${_} : ${A})`}if($==="==")$="===";if($==="!=")$="!==";return`(${this.generate(u,"value")} ${$} ${this.generate(f,"value")})`}generateModulo($,W){let[F,U]=W;return this.helpers.add("modulo"),`modulo(${this.generate(F,"value")}, ${this.generate(U,"value")})`}generateModuloAssign($,W){let[F,U]=W;this.helpers.add("modulo");let u=this.generate(F,"value"),f=this.generate(U,"value");return`${u} = modulo(${u}, ${f})`}generateFloorDiv($,W){let[F,U]=W;return`Math.floor(${this.generate(F,"value")} / ${this.generate(U,"value")})`}generateFloorDivAssign($,W){let[F,U]=W,u=this.generate(F,"value"),f=this.generate(U,"value");return`${u} = Math.floor(${u} / ${f})`}generateAssignment($,W,F,U){let[u,f]=W,Y=$==="?="?"??=":$,_=this.is(f,"->")||this.is(f,"=>")||this.is(f,"def");if(u instanceof String&&h(u,"await")!==void 0&&!_){let R=h(u,"await")===!0?"!":"&";throw Error(`Cannot use ${R} sigil in variable declaration '${L(u)}'.`)}if(u instanceof String&&h(u,"await")===!0&&_)this.nextFunctionIsVoid=!0;let A=this.is(u,"array",0),J=this.is(u,"object",0);if(A||J){let R=this.generate(f,"value");return J&&F==="statement"?`(${R})`:R}if(Array.isArray(f)&&Y==="="&&f[0]==="control"){let[,R,Q,M]=f,H=L(R),O=M[0]==="return",q=this.generate(u,"value"),E=this.generate(Q,"value"),I=M.length>1?M[1]:null,D=O?I?`return ${this.generate(I,"value")}`:"return":I?`throw ${this.generate(I,"value")}`:"throw new Error()";if(F==="value"){if(H==="??")return`(() => { const __v = ${E}; if (__v == null) ${D}; return (${q} = __v); })()`;if(H==="||")return`(() => { const __v = ${E}; if (!__v) ${D}; return (${q} = __v); })()`;return`(() => { const __v = ${E}; if (__v) ${D}; return (${q} = __v); })()`}if(H==="??")return`if ((${q} = ${E}) == null) ${D}`;if(H==="||")return`if (!(${q} = ${E})) ${D}`;return`if ((${q} = ${E})) ${D}`}if(this.is(u,"array")){let R=u.slice(1).findIndex((Q)=>this.is(Q,"...")||Q==="...");if(R!==-1&&R<u.length-2){let Q=u.slice(1),M=Q.slice(R+1),H=M.length;if(H>0){let O=this.generate(f,"value"),E=Q.slice(0,R).map((B)=>B===","?"":typeof B==="string"?B:this.generate(B,"value")).join(", "),I=M.map((B)=>B===","?"":typeof B==="string"?B:this.generate(B,"value")).join(", ");this.helpers.add("slice"),Q.forEach((B)=>{if(B===","||B==="...")return;if(typeof B==="string")this.programVars.add(B);else if(this.is(B,"...")&&typeof B[1]==="string")this.programVars.add(B[1])});let D=Q[R],G=this.is(D,"...")?D[1]:null,P=[];if(E)P.push(`[${E}] = ${O}`);if(G)P.push(`[...${G}] = ${O}.slice(${R}, -${H})`);return P.push(`[${I}] = slice.call(${O}, -${H})`),P.join(", ")}}}if(F==="statement"&&$==="="&&Array.isArray(f)&&(f[0]==="||"||f[0]==="&&")&&f.length===3){let[R,Q,M]=f;if(this.is(M,"if")&&M.length===3){let[,H,O]=M,q=Array.isArray(O)&&O.length===1?O[0]:O,E=[R,Q,q],I=this.generate(u,"value"),D=this.generate(H,"value"),G=this.generate(E,"value");return`if (${D}) ${I} = ${G}`}}if(F==="statement"&&$==="="&&Array.isArray(f)&&f.length===3){let[R,Q,M]=f,H=Array.isArray(M)&&M.length===1&&(!Array.isArray(M[0])||M[0][0]!=="block");if(R==="if"&&H){let O=Array.isArray(M)&&M.length===1?M[0]:M,q=this.generate(u,"value"),E=this.unwrapLogical(this.generate(Q,"value")),I=this.generate(O,"value");return`if (${E}) ${q} = ${I}`}}let w;if(u instanceof String&&h(u,"await")!==void 0)w=L(u);else if(typeof u==="string"&&this.reactiveVars?.has(u))w=`${u}.value`;else w=this.generate(u,"value");let z=this.generate(f,"value");if(!this.is(f,"object"))z=this.unwrap(z);let Z=F==="value",K=F==="statement"&&this.is(u,"object");if(Z||K)return`(${w} ${Y} ${z})`;return`${w} ${Y} ${z}`}generatePropertyAccess($,W,F,U){let[u,f]=W;if(this._atParamMap&&u==="this"){let J=this._atParamMap.get(L(f));if(J)return J}let Y=this.generate(u,"value"),A=y.NUMBER_LITERAL_RE.test(Y)||Y.startsWith("await ")||(this.is(u,"object")||this.is(u,"yield"))?`(${Y})`:Y;if(h(f,"await")===!0)return`await ${A}.${L(f)}()`;if(h(f,"predicate"))return`(${A}.${L(f)} != null)`;return`${A}.${L(f)}`}generateOptionalProperty($,W){let[F,U]=W;return`${this.generate(F,"value")}?.${U}`}generateRegexIndex($,W){let[F,U,u]=W;this.helpers.add("toMatchable"),this.programVars.add("_");let f=this.generate(F,"value"),Y=this.generate(U,"value"),_=u!==null?this.generate(u,"value"):"0",A=Y.includes("/m")?", true":"";return`(_ = toMatchable(${f}${A}).match(${Y})) && _[${_}]`}generateIndexAccess($,W){let[F,U]=W;if(this.is(U,"..")||this.is(U,"...")){let u=U[0]==="..",f=this.generate(F,"value"),[Y,_]=U.slice(1),A=(X)=>{if(X===null)return null;let Z=L(X)??X;if(typeof Z==="number")return Z;if(typeof Z==="string"&&/^\d+$/.test(Z))return+Z;if(Array.isArray(X)&&X[0]==="-"&&X.length===2){let K=L(X[1])??X[1];if(typeof K==="number")return-K;if(typeof K==="string"&&/^\d+$/.test(K))return-K}return null},J=(X,Z,K)=>{let R=A(K);if(R!==null&&R!==-1)return`${f}.slice(${X}, ${R+1})`;return`${f}.slice(${X}, +${Z} + 1 || 9e9)`};if(Y===null&&_===null)return`${f}.slice()`;if(Y===null){if(u&&this.is(_,"-",1)&&(L(_[1])??_[1])==1)return`${f}.slice(0)`;let X=this.generate(_,"value");return u?J("0",X,_):`${f}.slice(0, ${X})`}if(_===null)return`${f}.slice(${this.generate(Y,"value")})`;let w=this.generate(Y,"value");if(u&&this.is(_,"-",1)&&(L(_[1])??_[1])==1)return`${f}.slice(${w})`;let z=this.generate(_,"value");return u?J(w,z,_):`${f}.slice(${w}, ${z})`}if(this.is(U,"-",1)){let u=L(U[1])??U[1];if(typeof u==="number"||typeof u==="string"&&/^\d+$/.test(u))return`${this.generate(F,"value")}.at(-${u})`}return`${this.generate(F,"value")}[${this.unwrap(this.generate(U,"value"))}]`}generateOptIndex($,W){let[F,U]=W;if(this.is(U,"-",1)){let u=L(U[1])??U[1];if(typeof u==="number"||typeof u==="string"&&/^\d+$/.test(u))return`${this.generate(F,"value")}?.at(-${u})`}return`${this.generate(F,"value")}?.[${this.generate(U,"value")}]`}generateOptCall($,W){let[F,...U]=W;return`${this.generate(F,"value")}?.(${U.map((u)=>this.generate(u,"value")).join(", ")})`}generateDef($,W,F,U){let[u,f,Y]=W,_=h(u,"await")===!0,A=L(u),J=this.generateParamList(f),w=this.generateFunctionBody(Y,f,_),z=this.containsAwait(Y),X=this.containsYield(Y);return`${z?"async ":""}function${X?"*":""} ${A}(${J}) ${w}`}generateThinArrow($,W,F,U){let[u,f]=W;if((!u||Array.isArray(u)&&u.length===0)&&this.containsIt(f))u=["it"];let Y=this.nextFunctionIsVoid||!1;this.nextFunctionIsVoid=!1;let _=this.generateParamList(u),A=this.generateFunctionBody(f,u,Y),J=this.containsAwait(f),w=this.containsYield(f),z=`${J?"async ":""}function${w?"*":""}(${_}) ${A}`;return F==="value"?`(${z})`:z}generateFatArrow($,W,F,U){let[u,f]=W;if((!u||Array.isArray(u)&&u.length===0)&&this.containsIt(f))u=["it"];let Y=this.nextFunctionIsVoid||!1;this.nextFunctionIsVoid=!1;let _=this.generateParamList(u),J=u.length===1&&typeof u[0]==="string"&&!_.includes("=")&&!_.includes("...")&&!_.includes("[")&&!_.includes("{")?_:`(${_})`,z=this.containsAwait(f)?"async ":"";if(!Y){if(this.is(f,"block")&&f.length===2){let Z=f[1];if(!Array.isArray(Z)||Z[0]!=="return"){let K=this.generate(Z,"value");if(K[0]==="{")K=`(${K})`;return`${z}${J} => ${K}`}}if(!Array.isArray(f)||f[0]!=="block"){let Z=this.generate(f,"value");if(Z[0]==="{")Z=`(${Z})`;return`${z}${J} => ${Z}`}}let X=this.generateFunctionBody(f,u,Y);return`${z}${J} => ${X}`}generateReturn($,W,F,U){if(W.length===0)return"return";let[u]=W;if(this.sideEffectOnly)return"return";if(this.is(u,"if")){let[,f,Y,..._]=u;if(_.length===0){let A=Array.isArray(Y)&&Y.length===1?Y[0]:Y;return`if (${this.generate(f,"value")}) return ${this.generate(A,"value")}`}}if(this.is(u,"new")&&Array.isArray(u[1])&&u[1][0]==="if"){let[,f,Y]=u[1],_=Array.isArray(Y)&&Y.length===1?Y[0]:Y;return`if (${this.generate(f,"value")}) return ${this.generate(["new",_],"value")}`}return`return ${this.generate(u,"value")}`}generateState($,W){let[F,U]=W;this.usesReactivity=!0;let u=L(F)??F;if(!this.reactiveVars)this.reactiveVars=new Set;return this.reactiveVars.add(u),`const ${u} = __state(${this.generate(U,"value")})`}generateComputed($,W){let[F,U]=W;if(this.usesReactivity=!0,!this.reactiveVars)this.reactiveVars=new Set;let u=L(F)??F;if(this.reactiveVars.add(u),this.is(U,"block")&&U.length>2)return`const ${u} = __computed(() => ${this.generateFunctionBody(U)})`;return`const ${u} = __computed(() => ${this.generate(U,"value")})`}generateReadonly($,W){let[F,U]=W;return`const ${L(F)??F} = ${this.generate(U,"value")}`}generateEffect($,W){let[F,U]=W;this.usesReactivity=!0;let u;if(this.is(U,"block"))u=this.generateFunctionBody(U);else if(this.is(U,"->")||this.is(U,"=>")){let Y=this.generate(U,"value");if(F)return`const ${L(F)??this.generate(F,"value")} = __effect(${Y})`;return`__effect(${Y})`}else u=`{ ${this.generate(U,"value")}; }`;let f=`__effect(() => ${u})`;if(F)return`const ${L(F)??this.generate(F,"value")} = ${f}`;return f}generateBreak(){return"break"}generateContinue(){return"continue"}generateExistential($,W){return`(${this.generate(W[0],"value")} != null)`}generateDefined($,W){return`(${this.generate(W[0],"value")} !== undefined)`}generatePresence($,W){return`(${this.generate(W[0],"value")} ? true : undefined)`}generateTernary($,W,F){let[U,u,f]=W;if((u?.[0]?.valueOf?.()??u?.[0])==="="&&Array.isArray(u)){let _=this.generate(u[1],"value"),A=this.generate(u[2],"value"),J=this.generate(f,"value");return`${_} = (${this.unwrap(this.generate(U,"value"))} ? ${A} : ${J})`}return`(${this.unwrap(this.generate(U,"value"))} ? ${this.generate(u,"value")} : ${this.generate(f,"value")})`}generatePipe($,W){let[F,U]=W,u=this.generate(F,"value");if(Array.isArray(U)&&U.length>1){let f=U[0];if(Array.isArray(f)||typeof f==="string"&&/^[a-zA-Z_$]/.test(f)){let _=this.generate(f,"value"),A=U.slice(1).map((J)=>this.generate(J,"value"));return`${_}(${u}, ${A.join(", ")})`}}return`${this.generate(U,"value")}(${u})`}generateLoop($,W){return`while (true) ${this.generateLoopBody(W[0])}`}generateLoopN($,W){let[F,U]=W;return`for (let it = 0; it < ${this.generate(F,"value")}; it++) ${this.generateLoopBody(U)}`}generateAwait($,W){return`await ${this.generate(W[0],"value")}`}generateYield($,W){return W.length===0?"yield":`yield ${this.generate(W[0],"value")}`}generateYieldFrom($,W){return`yield* ${this.generate(W[0],"value")}`}generateIf($,W,F,U){let[u,f,...Y]=W;return F==="value"?this.generateIfAsExpression(u,f,Y):this.generateIfAsStatement(u,f,Y)}generateForIn($,W,F,U){let[u,f,Y,_,A]=W;if(F==="value"&&this.comprehensionDepth===0){let Q=["for-in",u,f,Y];return this.generate(["comprehension",A,[Q],_?[_]:[]],F)}let J=Array.isArray(u)?u:[u],w=J.length===0,[z,X]=w?["_i",null]:J,Z=this.is(z,"array")||this.is(z,"object")?this.generateDestructuringPattern(z):z;if(Y&&Y!==null){let Q=this.generate(f,"value"),M=X||"_i",H=this.generate(Y,"value"),O=this.is(Y,"-",1),q=O&&(Y[1]==="1"||Y[1]===1||L(Y[1])==="1"),E=!O&&(Y==="1"||Y===1||L(Y)==="1"),I;if(q)I=`for (let ${M} = ${Q}.length - 1; ${M} >= 0; ${M}--) `;else if(E)I=`for (let ${M} = 0; ${M} < ${Q}.length; ${M}++) `;else if(O)I=`for (let ${M} = ${Q}.length - 1; ${M} >= 0; ${M} += ${H}) `;else I=`for (let ${M} = 0; ${M} < ${Q}.length; ${M} += ${H}) `;if(this.is(A,"block")){let D=A.slice(1);this.indentLevel++;let G=[];if(!w)G.push(`const ${Z} = ${Q}[${M}];`);if(_)G.push(`if (${this.generate(_,"value")}) {`),this.indentLevel++,G.push(...this.formatStatements(D)),this.indentLevel--,G.push(this.indent()+"}");else G.push(...D.map((P)=>this.addSemicolon(P,this.generate(P,"statement"))));return this.indentLevel--,I+`{
337
342
  ${G.map((P)=>this.indent()+P).join(`
338
343
  `)}
339
- ${this.indent()}}`}if(R)return _?I+`{ if (${this.generate(_,"value")}) ${this.generate(A,"statement")}; }`:I+`{ ${this.generate(A,"statement")}; }`;return _?I+`{ const ${Z} = ${Q}[${M}]; if (${this.generate(_,"value")}) ${this.generate(A,"statement")}; }`:I+`{ const ${Z} = ${Q}[${M}]; ${this.generate(A,"statement")}; }`}if(z){let Q=this.generate(f,"value"),M=`for (let ${z} = 0; ${z} < ${Q}.length; ${z}++) `;if(this.is(A,"block")){if(M+=`{
340
- `,this.indentLevel++,M+=this.indent()+`const ${Z} = ${Q}[${z}];
344
+ ${this.indent()}}`}if(w)return _?I+`{ if (${this.generate(_,"value")}) ${this.generate(A,"statement")}; }`:I+`{ ${this.generate(A,"statement")}; }`;return _?I+`{ const ${Z} = ${Q}[${M}]; if (${this.generate(_,"value")}) ${this.generate(A,"statement")}; }`:I+`{ const ${Z} = ${Q}[${M}]; ${this.generate(A,"statement")}; }`}if(X){let Q=this.generate(f,"value"),M=`for (let ${X} = 0; ${X} < ${Q}.length; ${X}++) `;if(this.is(A,"block")){if(M+=`{
345
+ `,this.indentLevel++,M+=this.indent()+`const ${Z} = ${Q}[${X}];
341
346
  `,_)M+=this.indent()+`if (${this.unwrap(this.generate(_,"value"))}) {
342
347
  `,this.indentLevel++,M+=this.formatStatements(A.slice(1)).join(`
343
348
  `)+`
344
349
  `,this.indentLevel--,M+=this.indent()+`}
345
350
  `;else M+=this.formatStatements(A.slice(1)).join(`
346
351
  `)+`
347
- `;this.indentLevel--,M+=this.indent()+"}"}else M+=_?`{ const ${Z} = ${Q}[${z}]; if (${this.unwrap(this.generate(_,"value"))}) ${this.generate(A,"statement")}; }`:`{ const ${Z} = ${Q}[${z}]; ${this.generate(A,"statement")}; }`;return M}let K=Array.isArray(f)&&f[0];if(K instanceof String)K=L(K);if(K===".."||K==="..."){let Q=K==="...",[M,H]=f.slice(1),O=(q)=>typeof q==="number"||typeof q==="string"&&!q.includes("(")||q instanceof String&&!L(q).includes("(")||this.is(q,".");if(O(M)&&O(H)){let q=this.generate(M,"value"),E=this.generate(H,"value"),I=Q?"<":"<=",D=Y?`${Z} += ${this.generate(Y,"value")}`:`${Z}++`,G=`for (let ${Z} = ${q}; ${Z} ${I} ${E}; ${D}) `;return G+=_?this.generateLoopBodyWithGuard(A,_):this.generateLoopBody(A),G}}let w=`for (const ${Z} of ${this.generate(f,"value")}) `;return w+=_?this.generateLoopBodyWithGuard(A,_):this.generateLoopBody(A),w}generateForOf($,W,F,U){let[u,f,Y,_,A]=W;if(F==="value"&&this.comprehensionDepth===0){let Z=["for-of",u,f,Y];return this.generate(["comprehension",A,[Z],_?[_]:[]],F)}let[J,R]=Array.isArray(u)?u:[u],X=this.generate(f,"value"),z=`for (const ${J} in ${X}) `;if(Y&&!R&&!_){if(this.is(A,"block")){this.indentLevel++;let Z=[`if (!Object.hasOwn(${X}, ${J})) continue;`,...A.slice(1).map((K)=>this.addSemicolon(K,this.generate(K,"statement")))];return this.indentLevel--,z+`{
352
+ `;this.indentLevel--,M+=this.indent()+"}"}else M+=_?`{ const ${Z} = ${Q}[${X}]; if (${this.unwrap(this.generate(_,"value"))}) ${this.generate(A,"statement")}; }`:`{ const ${Z} = ${Q}[${X}]; ${this.generate(A,"statement")}; }`;return M}let K=Array.isArray(f)&&f[0];if(K instanceof String)K=L(K);if(K===".."||K==="..."){let Q=K==="...",[M,H]=f.slice(1),O=(q)=>typeof q==="number"||typeof q==="string"&&!q.includes("(")||q instanceof String&&!L(q).includes("(")||this.is(q,".");if(O(M)&&O(H)){let q=this.generate(M,"value"),E=this.generate(H,"value"),I=Q?"<":"<=",D=Y?`${Z} += ${this.generate(Y,"value")}`:`${Z}++`,G=`for (let ${Z} = ${q}; ${Z} ${I} ${E}; ${D}) `;return G+=_?this.generateLoopBodyWithGuard(A,_):this.generateLoopBody(A),G}}let R=`for (const ${Z} of ${this.generate(f,"value")}) `;return R+=_?this.generateLoopBodyWithGuard(A,_):this.generateLoopBody(A),R}generateForOf($,W,F,U){let[u,f,Y,_,A]=W;if(F==="value"&&this.comprehensionDepth===0){let Z=["for-of",u,f,Y];return this.generate(["comprehension",A,[Z],_?[_]:[]],F)}let[J,w]=Array.isArray(u)?u:[u],z=this.generate(f,"value"),X=`for (const ${J} in ${z}) `;if(Y&&!w&&!_){if(this.is(A,"block")){this.indentLevel++;let Z=[`if (!Object.hasOwn(${z}, ${J})) continue;`,...A.slice(1).map((K)=>this.addSemicolon(K,this.generate(K,"statement")))];return this.indentLevel--,X+`{
348
353
  ${Z.map((K)=>this.indent()+K).join(`
349
354
  `)}
350
- ${this.indent()}}`}return z+`{ if (!Object.hasOwn(${X}, ${J})) continue; ${this.generate(A,"statement")}; }`}if(R){if(this.is(A,"block")){let K=A.slice(1);this.indentLevel++;let w=[];if(Y)w.push(`if (!Object.hasOwn(${X}, ${J})) continue;`);if(w.push(`const ${R} = ${X}[${J}];`),_)w.push(`if (${this.generate(_,"value")}) {`),this.indentLevel++,w.push(...K.map((Q)=>this.addSemicolon(Q,this.generate(Q,"statement")))),this.indentLevel--,w.push(this.indent()+"}");else w.push(...K.map((Q)=>this.addSemicolon(Q,this.generate(Q,"statement"))));return this.indentLevel--,z+`{
351
- ${w.map((Q)=>this.indent()+Q).join(`
355
+ ${this.indent()}}`}return X+`{ if (!Object.hasOwn(${z}, ${J})) continue; ${this.generate(A,"statement")}; }`}if(w){if(this.is(A,"block")){let K=A.slice(1);this.indentLevel++;let R=[];if(Y)R.push(`if (!Object.hasOwn(${z}, ${J})) continue;`);if(R.push(`const ${w} = ${z}[${J}];`),_)R.push(`if (${this.generate(_,"value")}) {`),this.indentLevel++,R.push(...K.map((Q)=>this.addSemicolon(Q,this.generate(Q,"statement")))),this.indentLevel--,R.push(this.indent()+"}");else R.push(...K.map((Q)=>this.addSemicolon(Q,this.generate(Q,"statement"))));return this.indentLevel--,X+`{
356
+ ${R.map((Q)=>this.indent()+Q).join(`
352
357
  `)}
353
- ${this.indent()}}`}let Z="";if(Y)Z+=`if (!Object.hasOwn(${X}, ${J})) continue; `;if(Z+=`const ${R} = ${X}[${J}]; `,_)Z+=`if (${this.generate(_,"value")}) `;return Z+=`${this.generate(A,"statement")};`,z+`{ ${Z} }`}return z+=_?this.generateLoopBodyWithGuard(A,_):this.generateLoopBody(A),z}generateForAs($,W,F,U){let u=Array.isArray(W[0])?W[0]:[W[0]],[f]=u,Y=W[1],_=W[2],A=W[3],J=W[4],R=!1,X=[];if(this.is(f,"array")){let Q=f.slice(1),M=Q.findIndex((H)=>this.is(H,"...")||H==="...");if(M!==-1&&M<Q.length-1){R=!0;let H=Q.slice(M+1),O=H.length,q=Q.slice(0,M),E=Q[M],I=this.is(E,"...")?E[1]:"_rest",D=q.map((B)=>B===","?"":typeof B==="string"?B:this.generate(B,"value")).join(", "),G=D?`${D}, ...${I}`:`...${I}`,P=H.map((B)=>B===","?"":typeof B==="string"?B:this.generate(B,"value")).join(", ");X.push(`[${G}] = _item`),X.push(`[${P}] = ${I}.splice(-${O})`),this.helpers.add("slice"),Q.forEach((B)=>{if(B===","||B==="...")return;if(typeof B==="string")this.programVars.add(B);else if(this.is(B,"...")&&typeof B[1]==="string")this.programVars.add(B[1])})}}let z=this.generate(Y,"value"),Z=_?"await ":"",K;if(R)K="_item";else if(this.is(f,"array")||this.is(f,"object"))K=this.generateDestructuringPattern(f);else K=f;let w=`for ${Z}(const ${K} of ${z}) `;if(R&&X.length>0){let Q=this.unwrapBlock(J),M=this.withIndent(()=>[...X.map((H)=>this.indent()+H+";"),...this.formatStatements(Q)]);w+=`{
358
+ ${this.indent()}}`}let Z="";if(Y)Z+=`if (!Object.hasOwn(${z}, ${J})) continue; `;if(Z+=`const ${w} = ${z}[${J}]; `,_)Z+=`if (${this.generate(_,"value")}) `;return Z+=`${this.generate(A,"statement")};`,X+`{ ${Z} }`}return X+=_?this.generateLoopBodyWithGuard(A,_):this.generateLoopBody(A),X}generateForAs($,W,F,U){let u=Array.isArray(W[0])?W[0]:[W[0]],[f]=u,Y=W[1],_=W[2],A=W[3],J=W[4],w=!1,z=[];if(this.is(f,"array")){let Q=f.slice(1),M=Q.findIndex((H)=>this.is(H,"...")||H==="...");if(M!==-1&&M<Q.length-1){w=!0;let H=Q.slice(M+1),O=H.length,q=Q.slice(0,M),E=Q[M],I=this.is(E,"...")?E[1]:"_rest",D=q.map((B)=>B===","?"":typeof B==="string"?B:this.generate(B,"value")).join(", "),G=D?`${D}, ...${I}`:`...${I}`,P=H.map((B)=>B===","?"":typeof B==="string"?B:this.generate(B,"value")).join(", ");z.push(`[${G}] = _item`),z.push(`[${P}] = ${I}.splice(-${O})`),this.helpers.add("slice"),Q.forEach((B)=>{if(B===","||B==="...")return;if(typeof B==="string")this.programVars.add(B);else if(this.is(B,"...")&&typeof B[1]==="string")this.programVars.add(B[1])})}}let X=this.generate(Y,"value"),Z=_?"await ":"",K;if(w)K="_item";else if(this.is(f,"array")||this.is(f,"object"))K=this.generateDestructuringPattern(f);else K=f;let R=`for ${Z}(const ${K} of ${X}) `;if(w&&z.length>0){let Q=this.unwrapBlock(J),M=this.withIndent(()=>[...z.map((H)=>this.indent()+H+";"),...this.formatStatements(Q)]);R+=`{
354
359
  ${M.join(`
355
360
  `)}
356
- ${this.indent()}}`}else w+=A?this.generateLoopBodyWithGuard(J,A):this.generateLoopBody(J);return w}generateWhile($,W){let F=W[0],U=W.length===3?W[1]:null,u=W[W.length-1];return`while (${this.unwrap(this.generate(F,"value"))}) `+(U?this.generateLoopBodyWithGuard(u,U):this.generateLoopBody(u))}generateRange($,W){if($==="..."){if(W.length===1)return`...${this.generate(W[0],"value")}`;let[Y,_]=W,A=this.generate(Y,"value"),J=this.generate(_,"value");return`((s, e) => Array.from({length: Math.max(0, Math.abs(e - s))}, (_, i) => s + (i * (s <= e ? 1 : -1))))(${A}, ${J})`}let[F,U]=W,u=this.generate(F,"value"),f=this.generate(U,"value");return`((s, e) => Array.from({length: Math.abs(e - s) + 1}, (_, i) => s + (i * (s <= e ? 1 : -1))))(${u}, ${f})`}generateNot($,W){let[F]=W;if(typeof F==="string"||F instanceof String)return`!${this.generate(F,"value")}`;if(Array.isArray(F)){if([".","?.","[]","optindex","optcall"].includes(F[0]))return`!${this.generate(F,"value")}`}let U=this.generate(F,"value");return U.startsWith("(")?`!${U}`:`(!${U})`}generateBitwiseNot($,W){return`(~${this.generate(W[0],"value")})`}generateIncDec($,W){let[F,U]=W,u=this.generate(F,"value");return U?`(${u}${$})`:`(${$}${u})`}generateTypeof($,W){return`typeof ${this.generate(W[0],"value")}`}generateDelete($,W){return`(delete ${this.generate(W[0],"value")})`}generateInstanceof($,W,F,U){let[u,f]=W,Y=V(U[0],"invert"),_=`(${this.generate(u,"value")} instanceof ${this.generate(f,"value")})`;return Y?`(!${_})`:_}generateIn($,W,F,U){let[u,f]=W,Y=this.generate(u,"value"),_=V(U[0],"invert");if(this.is(f,"object")){let R=`(${Y} in ${this.generate(f,"value")})`;return _?`(!${R})`:R}let A=this.generate(f,"value"),J=`(Array.isArray(${A}) || typeof ${A} === 'string' ? ${A}.includes(${Y}) : (${Y} in ${A}))`;return _?`(!${J})`:J}generateOf($,W,F,U){let[u,f]=W,Y=this.generate(u,"value"),_=this.generate(f,"value"),A=V(U[0],"invert"),J=`(${Y} in ${_})`;return A?`(!${J})`:J}generateRegexMatch($,W){let[F,U]=W;this.helpers.add("toMatchable"),this.programVars.add("_");let u=this.generate(U,"value"),f=u.includes("/m")?", true":"";return`(_ = toMatchable(${this.generate(F,"value")}${f}).match(${u}))`}generateNew($,W){let[F]=W;if(this.is(F,".")||this.is(F,"?.")){let[U,u,f]=F;if(Array.isArray(u)&&!u[0].startsWith)return`(${this.generate(["new",u],"value")}).${f}`;return`new ${this.generate(u,"value")}.${f}`}if(Array.isArray(F)){let[U,...u]=F;return`new ${this.generate(U,"value")}(${u.map((f)=>this.unwrap(this.generate(f,"value"))).join(", ")})`}return`new ${this.generate(F,"value")}()`}generateLogicalAnd($,W,F,U){let u=this.flattenBinaryChain(U).slice(1);if(u.length===0)return"true";if(u.length===1)return this.generate(u[0],"value");return`(${u.map((f)=>this.generate(f,"value")).join(" && ")})`}generateLogicalOr($,W,F,U){let u=this.flattenBinaryChain(U).slice(1);if(u.length===0)return"true";if(u.length===1)return this.generate(u[0],"value");return`(${u.map((f)=>this.generate(f,"value")).join(" || ")})`}generateArray($,W){let F=W.length>0&&W[W.length-1]===",",U=W.map((u)=>{if(u===",")return"";if(u==="...")return"";if(this.is(u,"..."))return`...${this.generate(u[1],"value")}`;return this.generate(u,"value")}).join(", ");return F?`[${U},]`:`[${U}]`}generateObject($,W,F){if(W.length===1&&Array.isArray(W[0])&&Array.isArray(W[0][1])&&W[0][1][0]==="comprehension"){let[u,f]=W[0],[,Y,_,A]=f;return this.generate(["object-comprehension",u,Y,_,A],F)}return`{${W.map((u)=>{if(this.is(u,"..."))return`...${this.generate(u[1],"value")}`;let[f,Y,_]=u,A;if(this.is(f,"dynamicKey"))A=`[${this.generate(f[1],"value")}]`;else if(this.is(f,"str"))A=`[${this.generate(f,"value")}]`;else this.suppressReactiveUnwrap=!0,A=this.generate(f,"value"),this.suppressReactiveUnwrap=!1;let J=this.generate(Y,"value");if(_==="=")return`${A} = ${J}`;if(_===":")return`${A}: ${J}`;if(A===J&&!Array.isArray(f))return A;return`${A}: ${J}`}).join(", ")}}`}generateBlock($,W,F){if(F==="statement")return`{
361
+ ${this.indent()}}`}else R+=A?this.generateLoopBodyWithGuard(J,A):this.generateLoopBody(J);return R}generateWhile($,W){let F=W[0],U=W.length===3?W[1]:null,u=W[W.length-1];return`while (${this.unwrap(this.generate(F,"value"))}) `+(U?this.generateLoopBodyWithGuard(u,U):this.generateLoopBody(u))}generateRange($,W){if($==="..."){if(W.length===1)return`...${this.generate(W[0],"value")}`;let[Y,_]=W,A=this.generate(Y,"value"),J=this.generate(_,"value");return`((s, e) => Array.from({length: Math.max(0, Math.abs(e - s))}, (_, i) => s + (i * (s <= e ? 1 : -1))))(${A}, ${J})`}let[F,U]=W,u=this.generate(F,"value"),f=this.generate(U,"value");return`((s, e) => Array.from({length: Math.abs(e - s) + 1}, (_, i) => s + (i * (s <= e ? 1 : -1))))(${u}, ${f})`}generateNot($,W){let[F]=W;if(typeof F==="string"||F instanceof String)return`!${this.generate(F,"value")}`;if(Array.isArray(F)){if([".","?.","[]","optindex","optcall"].includes(F[0]))return`!${this.generate(F,"value")}`}let U=this.generate(F,"value");return U.startsWith("(")?`!${U}`:`(!${U})`}generateBitwiseNot($,W){return`(~${this.generate(W[0],"value")})`}generateIncDec($,W){let[F,U]=W,u=this.generate(F,"value");return U?`(${u}${$})`:`(${$}${u})`}generateTypeof($,W){return`typeof ${this.generate(W[0],"value")}`}generateDelete($,W){return`(delete ${this.generate(W[0],"value")})`}generateInstanceof($,W,F,U){let[u,f]=W,Y=h(U[0],"invert"),_=`(${this.generate(u,"value")} instanceof ${this.generate(f,"value")})`;return Y?`(!${_})`:_}generateIn($,W,F,U){let[u,f]=W,Y=this.generate(u,"value"),_=h(U[0],"invert");if(this.is(f,"object")){let w=`(${Y} in ${this.generate(f,"value")})`;return _?`(!${w})`:w}let A=this.generate(f,"value"),J=`(Array.isArray(${A}) || typeof ${A} === 'string' ? ${A}.includes(${Y}) : (${Y} in ${A}))`;return _?`(!${J})`:J}generateOf($,W,F,U){let[u,f]=W,Y=this.generate(u,"value"),_=this.generate(f,"value"),A=h(U[0],"invert"),J=`(${Y} in ${_})`;return A?`(!${J})`:J}generateRegexMatch($,W){let[F,U]=W;this.helpers.add("toMatchable"),this.programVars.add("_");let u=this.generate(U,"value"),f=u.includes("/m")?", true":"";return`(_ = toMatchable(${this.generate(F,"value")}${f}).match(${u}))`}generateNew($,W){let[F]=W;if(this.is(F,".")||this.is(F,"?.")){let[U,u,f]=F;if(Array.isArray(u)&&!u[0].startsWith)return`(${this.generate(["new",u],"value")}).${f}`;return`new ${this.generate(u,"value")}.${f}`}if(Array.isArray(F)){let[U,...u]=F;return`new ${this.generate(U,"value")}(${u.map((f)=>this.unwrap(this.generate(f,"value"))).join(", ")})`}return`new ${this.generate(F,"value")}()`}generateLogicalAnd($,W,F,U){let u=this.flattenBinaryChain(U).slice(1);if(u.length===0)return"true";if(u.length===1)return this.generate(u[0],"value");return`(${u.map((f)=>this.generate(f,"value")).join(" && ")})`}generateLogicalOr($,W,F,U){let u=this.flattenBinaryChain(U).slice(1);if(u.length===0)return"true";if(u.length===1)return this.generate(u[0],"value");return`(${u.map((f)=>this.generate(f,"value")).join(" || ")})`}generateArray($,W){let F=W.length>0&&W[W.length-1]===",",U=W.map((u)=>{if(u===",")return"";if(u==="...")return"";if(this.is(u,"..."))return`...${this.generate(u[1],"value")}`;return this.generate(u,"value")}).join(", ");return F?`[${U},]`:`[${U}]`}generateObject($,W,F){if(W.length===1&&Array.isArray(W[0])&&Array.isArray(W[0][1])&&W[0][1][0]==="comprehension"){let[u,f]=W[0],[,Y,_,A]=f;return this.generate(["object-comprehension",u,Y,_,A],F)}return`{${W.map((u)=>{if(this.is(u,"..."))return`...${this.generate(u[1],"value")}`;let[f,Y,_]=u,A;if(this.is(f,"dynamicKey"))A=`[${this.generate(f[1],"value")}]`;else if(this.is(f,"str"))A=`[${this.generate(f,"value")}]`;else this.suppressReactiveUnwrap=!0,A=this.generate(f,"value"),this.suppressReactiveUnwrap=!1;let J=this.generate(Y,"value");if(_==="=")return`${A} = ${J}`;if(_===":")return`${A}: ${J}`;if(A===J&&!Array.isArray(f))return A;return`${A}: ${J}`}).join(", ")}}`}generateBlock($,W,F){if(F==="statement")return`{
357
362
  ${this.withIndent(()=>this.formatStatements(W)).join(`
358
363
  `)}
359
364
  ${this.indent()}}`;if(W.length===0)return"undefined";if(W.length===1)return this.generate(W[0],F);let U=W[W.length-1];if(Array.isArray(U)&&["break","continue","return","throw"].includes(U[0])){let f=W.map((Y)=>this.addSemicolon(Y,this.generate(Y,"statement")));return`{
360
365
  ${this.withIndent(()=>f.map((Y)=>this.indent()+Y).join(`
361
366
  `))}
362
- ${this.indent()}}`}return`(${W.map((f)=>this.generate(f,"value")).join(", ")})`}generateTry($,W,F){let U=F==="value",u="try ",f=W[0];if(u+=U&&this.is(f,"block")?this.generateBlockWithReturns(f):this.generate(f,"statement"),W.length>=2&&Array.isArray(W[1])&&W[1].length===2&&W[1][0]!=="block"){let[Y,_]=W[1];if(u+=" catch",Y&&(this.is(Y,"object")||this.is(Y,"array"))){u+=" (error)";let A=`(${this.generate(Y,"value")} = error)`;_=this.is(_,"block")?["block",A,..._.slice(1)]:["block",A,_]}else if(Y)u+=` (${Y})`;u+=" "+(U&&this.is(_,"block")?this.generateBlockWithReturns(_):this.generate(_,"statement"))}else if(W.length===2)u+=" finally "+this.generate(W[1],"statement");if(W.length===3)u+=" finally "+this.generate(W[2],"statement");if(W.length===1)u+=" catch {}";if(U)return`(${this.containsAwait(W[0])||W[1]&&this.containsAwait(W[1])?"async ":""}() => { ${u} })()`;return u}generateThrow($,W,F){let[U]=W;if(Array.isArray(U)){let f=U,Y=null;if(U[0]==="new"&&Array.isArray(U[1])&&U[1][0]==="if")Y="new",f=U[1];else if(U[0]==="if")f=U;if(f[0]==="if"){let[,_,A]=f,J=Array.isArray(A)&&A.length===1?A[0]:A;U=Y==="new"?["new",J]:J;let R=this.generate(_,"value"),X=`throw ${this.generate(U,"value")}`;return`if (${R}) {
363
- ${this.indent()} ${X};
364
- ${this.indent()}}`}}let u=`throw ${this.generate(U,"value")}`;return F==="value"?`(() => { ${u}; })()`:u}generateControl($,W,F){let[U,u,f]=W,Y=L(U),_=f[0]==="return",A=this.generate(u,"value"),J=f.length>1?f[1]:null,R=_?J?`return ${this.generate(J,"value")}`:"return":J?`throw ${this.generate(J,"value")}`:"throw new Error()",X=this.wrapForCondition(A);if(F==="value"){if(Y==="??")return`(() => { const __v = ${A}; if (__v == null) ${R}; return __v; })()`;if(Y==="||")return`(() => { const __v = ${A}; if (!__v) ${R}; return __v; })()`;return`(() => { const __v = ${A}; if (__v) ${R}; return __v; })()`}if(Y==="??")return`if (${X} == null) ${R}`;if(Y==="||")return`if (!${X}) ${R}`;return`if (${X}) ${R}`}generateSwitch($,W,F){let[U,u,f]=W;if(U===null)return this.generateSwitchAsIfChain(u,f,F);let Y=`switch (${this.generate(U,"value")}) {
365
- `;this.indentLevel++;for(let _ of u){let[,A,J]=_;for(let R of A){let X=L(R)??R,z;if(Array.isArray(X))z=this.generate(X,"value");else if(typeof X==="string"&&(X.startsWith('"')||X.startsWith("'")))z=`'${X.slice(1,-1)}'`;else z=this.generate(X,"value");Y+=this.indent()+`case ${z}:
367
+ ${this.indent()}}`}return`(${W.map((f)=>this.generate(f,"value")).join(", ")})`}generateTry($,W,F){let U=F==="value",u="try ",f=W[0];if(u+=U&&this.is(f,"block")?this.generateBlockWithReturns(f):this.generate(f,"statement"),W.length>=2&&Array.isArray(W[1])&&W[1].length===2&&W[1][0]!=="block"){let[Y,_]=W[1];if(u+=" catch",Y&&(this.is(Y,"object")||this.is(Y,"array"))){u+=" (error)";let A=`(${this.generate(Y,"value")} = error)`;_=this.is(_,"block")?["block",A,..._.slice(1)]:["block",A,_]}else if(Y)u+=` (${Y})`;u+=" "+(U&&this.is(_,"block")?this.generateBlockWithReturns(_):this.generate(_,"statement"))}else if(W.length===2)u+=" finally "+this.generate(W[1],"statement");if(W.length===3)u+=" finally "+this.generate(W[2],"statement");if(W.length===1)u+=" catch {}";if(U)return`(${this.containsAwait(W[0])||W[1]&&this.containsAwait(W[1])?"async ":""}() => { ${u} })()`;return u}generateThrow($,W,F){let[U]=W;if(Array.isArray(U)){let f=U,Y=null;if(U[0]==="new"&&Array.isArray(U[1])&&U[1][0]==="if")Y="new",f=U[1];else if(U[0]==="if")f=U;if(f[0]==="if"){let[,_,A]=f,J=Array.isArray(A)&&A.length===1?A[0]:A;U=Y==="new"?["new",J]:J;let w=this.generate(_,"value"),z=`throw ${this.generate(U,"value")}`;return`if (${w}) {
368
+ ${this.indent()} ${z};
369
+ ${this.indent()}}`}}let u=`throw ${this.generate(U,"value")}`;return F==="value"?`(() => { ${u}; })()`:u}generateControl($,W,F){let[U,u,f]=W,Y=L(U),_=f[0]==="return",A=this.generate(u,"value"),J=f.length>1?f[1]:null,w=_?J?`return ${this.generate(J,"value")}`:"return":J?`throw ${this.generate(J,"value")}`:"throw new Error()",z=this.wrapForCondition(A);if(F==="value"){if(Y==="??")return`(() => { const __v = ${A}; if (__v == null) ${w}; return __v; })()`;if(Y==="||")return`(() => { const __v = ${A}; if (!__v) ${w}; return __v; })()`;return`(() => { const __v = ${A}; if (__v) ${w}; return __v; })()`}if(Y==="??")return`if (${z} == null) ${w}`;if(Y==="||")return`if (!${z}) ${w}`;return`if (${z}) ${w}`}generateSwitch($,W,F){let[U,u,f]=W;if(U===null)return this.generateSwitchAsIfChain(u,f,F);let Y=`switch (${this.generate(U,"value")}) {
370
+ `;this.indentLevel++;for(let _ of u){let[,A,J]=_;for(let w of A){let z=L(w)??w,X;if(Array.isArray(z))X=this.generate(z,"value");else if(typeof z==="string"&&(z.startsWith('"')||z.startsWith("'")))X=`'${z.slice(1,-1)}'`;else X=this.generate(z,"value");Y+=this.indent()+`case ${X}:
366
371
  `}this.indentLevel++,Y+=this.generateSwitchCaseBody(J,F),this.indentLevel--}if(f)Y+=this.indent()+`default:
367
- `,this.indentLevel++,Y+=this.generateSwitchCaseBody(f,F),this.indentLevel--;if(this.indentLevel--,Y+=this.indent()+"}",F==="value")return`(${u.some((A)=>this.containsAwait(A[2]))||f&&this.containsAwait(f)?"async ":""}() => { ${Y} })()`;return Y}generateWhen(){throw Error("when clause should be handled by switch")}_forInHeader($,W,F){let U=Array.isArray($)?$:[$],u=U.length===0,[f,Y]=u?["_i",null]:U,_=this.is(f,"array")||this.is(f,"object")?this.generateDestructuringPattern(f):f;if(F&&F!==null){let A=Array.isArray(W)&&W[0];if(A instanceof String)A=L(A);if(A===".."||A==="..."){let H=A==="...",[O,q]=W.slice(1),E=this.generate(O,"value"),I=this.generate(q,"value"),D=this.generate(F,"value");return{header:`for (let ${_} = ${E}; ${_} ${H?"<":"<="} ${I}; ${_} += ${D})`,setup:null}}let R=this.generate(W,"value"),X=Y||"_i",z=this.generate(F,"value"),Z=this.is(F,"-",1),K=Z&&(F[1]==="1"||F[1]===1||L(F[1])==="1"),w=!Z&&(F==="1"||F===1||L(F)==="1"),Q=K?`${X}--`:w?`${X}++`:`${X} += ${z}`;return{header:Z?`for (let ${X} = ${R}.length - 1; ${X} >= 0; ${Q})`:`for (let ${X} = 0; ${X} < ${R}.length; ${Q})`,setup:u?null:`const ${_} = ${R}[${X}];`}}if(Y){let A=this.generate(W,"value");return{header:`for (let ${Y} = 0; ${Y} < ${A}.length; ${Y}++)`,setup:`const ${_} = ${A}[${Y}];`}}return{header:`for (const ${_} of ${this.generate(W,"value")})`,setup:null}}_forOfHeader($,W,F){let U=Array.isArray($)?$:[$],[u,f]=U,Y=this.is(u,"array")||this.is(u,"object")?this.generateDestructuringPattern(u):u,_=this.generate(W,"value");return{header:`for (const ${Y} in ${_})`,own:F,vv:f,oc:_,kvp:Y}}_forAsHeader($,W,F){let U=Array.isArray($)?$:[$],[u]=U,f=this.is(u,"array")||this.is(u,"object")?this.generateDestructuringPattern(u):u;return{header:`for ${F?"await ":""}(const ${f} of ${this.generate(W,"value")})`}}generateComprehension($,W,F){let[U,u,f]=W;if(F==="statement")return this.generateComprehensionAsLoop(U,u,f);if(this.comprehensionTarget)return this.generateComprehensionWithTarget(U,u,f,this.comprehensionTarget);let _=`(${this.containsAwait(U)?"async ":""}() => {
372
+ `,this.indentLevel++,Y+=this.generateSwitchCaseBody(f,F),this.indentLevel--;if(this.indentLevel--,Y+=this.indent()+"}",F==="value")return`(${u.some((A)=>this.containsAwait(A[2]))||f&&this.containsAwait(f)?"async ":""}() => { ${Y} })()`;return Y}generateWhen(){throw Error("when clause should be handled by switch")}_forInHeader($,W,F){let U=Array.isArray($)?$:[$],u=U.length===0,[f,Y]=u?["_i",null]:U,_=this.is(f,"array")||this.is(f,"object")?this.generateDestructuringPattern(f):f;if(F&&F!==null){let A=Array.isArray(W)&&W[0];if(A instanceof String)A=L(A);if(A===".."||A==="..."){let H=A==="...",[O,q]=W.slice(1),E=this.generate(O,"value"),I=this.generate(q,"value"),D=this.generate(F,"value");return{header:`for (let ${_} = ${E}; ${_} ${H?"<":"<="} ${I}; ${_} += ${D})`,setup:null}}let w=this.generate(W,"value"),z=Y||"_i",X=this.generate(F,"value"),Z=this.is(F,"-",1),K=Z&&(F[1]==="1"||F[1]===1||L(F[1])==="1"),R=!Z&&(F==="1"||F===1||L(F)==="1"),Q=K?`${z}--`:R?`${z}++`:`${z} += ${X}`;return{header:Z?`for (let ${z} = ${w}.length - 1; ${z} >= 0; ${Q})`:`for (let ${z} = 0; ${z} < ${w}.length; ${Q})`,setup:u?null:`const ${_} = ${w}[${z}];`}}if(Y){let A=this.generate(W,"value");return{header:`for (let ${Y} = 0; ${Y} < ${A}.length; ${Y}++)`,setup:`const ${_} = ${A}[${Y}];`}}return{header:`for (const ${_} of ${this.generate(W,"value")})`,setup:null}}_forOfHeader($,W,F){let U=Array.isArray($)?$:[$],[u,f]=U,Y=this.is(u,"array")||this.is(u,"object")?this.generateDestructuringPattern(u):u,_=this.generate(W,"value");return{header:`for (const ${Y} in ${_})`,own:F,vv:f,oc:_,kvp:Y}}_forAsHeader($,W,F){let U=Array.isArray($)?$:[$],[u]=U,f=this.is(u,"array")||this.is(u,"object")?this.generateDestructuringPattern(u):u;return{header:`for ${F?"await ":""}(const ${f} of ${this.generate(W,"value")})`}}generateComprehension($,W,F){let[U,u,f]=W;if(F==="statement")return this.generateComprehensionAsLoop(U,u,f);if(this.comprehensionTarget)return this.generateComprehensionWithTarget(U,u,f,this.comprehensionTarget);let _=`(${this.containsAwait(U)?"async ":""}() => {
368
373
  `;this.indentLevel++,this.comprehensionDepth++,_+=this.indent()+`const result = [];
369
- `;for(let R of u){let[X,z,Z,K]=R;if(X==="for-in"){let{header:w,setup:Q}=this._forInHeader(z,Z,K);if(_+=this.indent()+w+` {
374
+ `;for(let w of u){let[z,X,Z,K]=w;if(z==="for-in"){let{header:R,setup:Q}=this._forInHeader(X,Z,K);if(_+=this.indent()+R+` {
370
375
  `,this.indentLevel++,Q)_+=this.indent()+Q+`
371
- `}else if(X==="for-of"){let{header:w,own:Q,vv:M,oc:H,kvp:O}=this._forOfHeader(z,Z,K);if(_+=this.indent()+w+` {
376
+ `}else if(z==="for-of"){let{header:R,own:Q,vv:M,oc:H,kvp:O}=this._forOfHeader(X,Z,K);if(_+=this.indent()+R+` {
372
377
  `,this.indentLevel++,Q)_+=this.indent()+`if (!Object.hasOwn(${H}, ${O})) continue;
373
378
  `;if(M)_+=this.indent()+`const ${M} = ${H}[${O}];
374
- `}else if(X==="for-as"){let{header:w}=this._forAsHeader(z,Z,R[3]);_+=this.indent()+w+` {
375
- `,this.indentLevel++}}for(let R of f)_+=this.indent()+`if (${this.generate(R,"value")}) {
376
- `,this.indentLevel++;let A=(R)=>{if(typeof R==="string"&&(R==="break"||R==="continue"))return!0;if(!Array.isArray(R))return!1;if(["break","continue","return","throw"].includes(R[0]))return!0;if(R[0]==="if")return R.slice(1).some(A);return R.some(A)},J=["for-in","for-of","for-as","while","loop"];if(this.is(U,"block"))for(let R=0;R<U.length-1;R++){let X=U[R+1];if(R!==U.length-2||A(X))_+=this.indent()+this.generate(X,"statement")+`;
377
- `;else if(Array.isArray(X)&&J.includes(X[0]))_+=this.indent()+this.generate(X,"statement")+`;
378
- `;else _+=this.indent()+`result.push(${this.generate(X,"value")});
379
+ `}else if(z==="for-as"){let{header:R}=this._forAsHeader(X,Z,w[3]);_+=this.indent()+R+` {
380
+ `,this.indentLevel++}}for(let w of f)_+=this.indent()+`if (${this.generate(w,"value")}) {
381
+ `,this.indentLevel++;let A=(w)=>{if(typeof w==="string"&&(w==="break"||w==="continue"))return!0;if(!Array.isArray(w))return!1;if(["break","continue","return","throw"].includes(w[0]))return!0;if(w[0]==="if")return w.slice(1).some(A);return w.some(A)},J=["for-in","for-of","for-as","while","loop"];if(this.is(U,"block"))for(let w=0;w<U.length-1;w++){let z=U[w+1];if(w!==U.length-2||A(z))_+=this.indent()+this.generate(z,"statement")+`;
382
+ `;else if(Array.isArray(z)&&J.includes(z[0]))_+=this.indent()+this.generate(z,"statement")+`;
383
+ `;else _+=this.indent()+`result.push(${this.generate(z,"value")});
379
384
  `}else if(A(U))_+=this.indent()+this.generate(U,"statement")+`;
380
385
  `;else if(Array.isArray(U)&&J.includes(U[0]))_+=this.indent()+this.generate(U,"statement")+`;
381
386
  `;else _+=this.indent()+`result.push(${this.generate(U,"value")});
382
- `;for(let R=0;R<f.length;R++)this.indentLevel--,_+=this.indent()+`}
383
- `;for(let R=0;R<u.length;R++)this.indentLevel--,_+=this.indent()+`}
387
+ `;for(let w=0;w<f.length;w++)this.indentLevel--,_+=this.indent()+`}
388
+ `;for(let w=0;w<u.length;w++)this.indentLevel--,_+=this.indent()+`}
384
389
  `;return _+=this.indent()+`return result;
385
390
  `,this.indentLevel--,this.comprehensionDepth--,_+=this.indent()+"})()",_}generateObjectComprehension($,W,F){let[U,u,f,Y]=W,_=`(() => {
386
391
  `;this.indentLevel++,_+=this.indent()+`const result = {};
387
- `;for(let A of f){let[J,R,X,z]=A;if(J==="for-of"){let[Z,K]=R,w=this.generate(X,"value");if(_+=this.indent()+`for (const ${Z} in ${w}) {
388
- `,this.indentLevel++,z)_+=this.indent()+`if (!Object.hasOwn(${w}, ${Z})) continue;
389
- `;if(K)_+=this.indent()+`const ${K} = ${w}[${Z}];
392
+ `;for(let A of f){let[J,w,z,X]=A;if(J==="for-of"){let[Z,K]=w,R=this.generate(z,"value");if(_+=this.indent()+`for (const ${Z} in ${R}) {
393
+ `,this.indentLevel++,X)_+=this.indent()+`if (!Object.hasOwn(${R}, ${Z})) continue;
394
+ `;if(K)_+=this.indent()+`const ${K} = ${R}[${Z}];
390
395
  `}}for(let A of Y)_+=this.indent()+`if (${this.generate(A,"value")}) {
391
396
  `,this.indentLevel++;_+=this.indent()+`result[${this.generate(U,"value")}] = ${this.generate(u,"value")};
392
397
  `;for(let A=0;A<Y.length;A++)this.indentLevel--,_+=this.indent()+`}
393
398
  `;for(let A=0;A<f.length;A++)this.indentLevel--,_+=this.indent()+`}
394
399
  `;return _+=this.indent()+`return result;
395
400
  `,this.indentLevel--,_+=this.indent()+"})()",_}generateClass($,W,F){let[U,u,...f]=W,Y=U?`class ${U}`:"class";if(u)Y+=` extends ${this.generate(u,"value")}`;if(Y+=` {
396
- `,f.length>0&&Array.isArray(f[0])){let _=f[0];if(_[0]==="block"){let A=_.slice(1),J=A.length>0&&Array.isArray(A[0])&&A[0][0]==="object";if(J&&A.length===1){let R=A[0].slice(1);this.indentLevel++;let X=[];for(let[z,Z]of R){let K=this.is(z,".")&&z[1]==="this",w=this.is(z,"computed"),Q=this.extractMemberName(z);if(this.is(Z,"=>")&&!K&&!w&&Q!=="constructor")X.push(Q)}for(let[z,Z]of R){let K=this.is(z,".")&&z[1]==="this",w=this.is(z,"computed"),Q=this.extractMemberName(z);if(this.is(Z,"->")||this.is(Z,"=>")){let[,M,H]=Z,O=this.containsAwait(H),q=this.containsYield(H),E=M,I=[];if(Q==="constructor"){let P=!!u,B=P?new Map:null;E=M.map((N)=>{if(this.is(N,".")&&N[1]==="this"){let T=N[2],S=P?`_${T}`:T;if(I.push(`this.${T} = ${S}`),P)B.set(T,S);return S}if(this.is(N,"default")&&this.is(N[1],".")&&N[1][1]==="this"){let T=N[1][2],S=P?`_${T}`:T;if(I.push(`this.${T} = ${S}`),P)B.set(T,S);return["default",S,N[2]]}return N});for(let N of X)I.unshift(`this.${N} = this.${N}.bind(this)`);if(B?.size>0)this._atParamMap=B}let D=this.generateParamList(E),G=(K?"static ":"")+(O?"async ":"")+(q?"*":"");if(Y+=this.indent()+`${G}${Q}(${D}) `,!w)this.currentMethodName=Q;Y+=this.generateMethodBody(H,I,Q==="constructor",E),this._atParamMap=null,this.currentMethodName=null,Y+=`
401
+ `,f.length>0&&Array.isArray(f[0])){let _=f[0];if(_[0]==="block"){let A=_.slice(1),J=A.length>0&&Array.isArray(A[0])&&A[0][0]==="object";if(J&&A.length===1){let w=A[0].slice(1);this.indentLevel++;let z=[];for(let[X,Z]of w){let K=this.is(X,".")&&X[1]==="this",R=this.is(X,"computed"),Q=this.extractMemberName(X);if(this.is(Z,"=>")&&!K&&!R&&Q!=="constructor")z.push(Q)}for(let[X,Z]of w){let K=this.is(X,".")&&X[1]==="this",R=this.is(X,"computed"),Q=this.extractMemberName(X);if(this.is(Z,"->")||this.is(Z,"=>")){let[,M,H]=Z,O=this.containsAwait(H),q=this.containsYield(H),E=M,I=[];if(Q==="constructor"){let P=!!u,B=P?new Map:null;E=M.map((N)=>{if(this.is(N,".")&&N[1]==="this"){let T=N[2],S=P?`_${T}`:T;if(I.push(`this.${T} = ${S}`),P)B.set(T,S);return S}if(this.is(N,"default")&&this.is(N[1],".")&&N[1][1]==="this"){let T=N[1][2],S=P?`_${T}`:T;if(I.push(`this.${T} = ${S}`),P)B.set(T,S);return["default",S,N[2]]}return N});for(let N of z)I.unshift(`this.${N} = this.${N}.bind(this)`);if(B?.size>0)this._atParamMap=B}let D=this.generateParamList(E),G=(K?"static ":"")+(O?"async ":"")+(q?"*":"");if(Y+=this.indent()+`${G}${Q}(${D}) `,!R)this.currentMethodName=Q;Y+=this.generateMethodBody(H,I,Q==="constructor",E),this._atParamMap=null,this.currentMethodName=null,Y+=`
397
402
  `}else if(K)Y+=this.indent()+`static ${Q} = ${this.generate(Z,"value")};
398
403
  `;else Y+=this.indent()+`${Q} = ${this.generate(Z,"value")};
399
- `}this.indentLevel--}else if(J){let R=A[0].slice(1),X=A.slice(1);this.indentLevel++;for(let[z,Z]of R){let K=this.is(z,".")&&z[1]==="this",w=this.extractMemberName(z);if(this.is(Z,"->")||this.is(Z,"=>")){let[,Q,M]=Z,H=this.generateParamList(Q),O=(K?"static ":"")+(this.containsAwait(M)?"async ":"")+(this.containsYield(M)?"*":"");Y+=this.indent()+`${O}${w}(${H}) `,this.currentMethodName=w,Y+=this.generateMethodBody(M,[],w==="constructor",Q),this.currentMethodName=null,Y+=`
400
- `}else if(K)Y+=this.indent()+`static ${w} = ${this.generate(Z,"value")};
401
- `;else Y+=this.indent()+`${w} = ${this.generate(Z,"value")};
402
- `}for(let z of X)if(this.is(z,"class")){let[,Z,K,...w]=z;if(this.is(Z,".")&&Z[1]==="this")Y+=this.indent()+`static ${Z[2]} = ${this.generate(["class",null,K,...w],"value")};
403
- `}else Y+=this.indent()+this.generate(z,"statement")+`;
404
- `;this.indentLevel--}else{this.indentLevel++;for(let R of A)if(this.is(R,"=")&&Array.isArray(R[1])&&R[1][0]==="."&&R[1][1]==="this")Y+=this.indent()+`static ${R[1][2]} = ${this.generate(R[2],"value")};
405
- `;else Y+=this.indent()+this.generate(R,"statement")+`;
406
- `;this.indentLevel--}}}return Y+=this.indent()+"}",Y}generateSuper($,W){if(W.length===0){if(this.currentMethodName&&this.currentMethodName!=="constructor")return`super.${this.currentMethodName}()`;return"super"}let F=W.map((U)=>this.unwrap(this.generate(U,"value"))).join(", ");if(this.currentMethodName&&this.currentMethodName!=="constructor")return`super.${this.currentMethodName}(${F})`;return`super(${F})`}generateImport($,W,F,U){if(W.length===1){let _=`import(${this.generate(W[0],"value")})`;if(V(U[0],"await")===!0)return`(await ${_})`;return _}let[u,f]=W,Y=this.addJsExtensionAndAssertions(f);if(typeof u==="string")return`import ${u} from ${Y}`;if(Array.isArray(u)){if(u[0]==="*"&&u.length===2)return`import * as ${u[1]} from ${Y}`;if(typeof u[0]==="string"&&Array.isArray(u[1])){let A=u[0],J=u[1];if(J[0]==="*"&&J.length===2)return`import ${A}, * as ${J[1]} from ${Y}`;let R=(Array.isArray(J)?J:[J]).map((X)=>Array.isArray(X)&&X.length===2?`${X[0]} as ${X[1]}`:X).join(", ");return`import ${A}, { ${R} } from ${Y}`}return`import { ${u.map((A)=>Array.isArray(A)&&A.length===2?`${A[0]} as ${A[1]}`:A).join(", ")} } from ${Y}`}return`import ${this.generate(u,"value")} from ${Y}`}generateExport($,W){let[F]=W;if(this.options.skipExports){if(Array.isArray(F)&&F.every((U)=>typeof U==="string"))return"";if(this.is(F,"="))return`const ${F[1]} = ${this.generate(F[2],"value")}`;return this.generate(F,"statement")}if(Array.isArray(F)&&F.every((U)=>typeof U==="string"))return`export { ${F.join(", ")} }`;if(this.is(F,"="))return`export const ${F[1]} = ${this.generate(F[2],"value")}`;return`export ${this.generate(F,"statement")}`}generateExportDefault($,W){let[F]=W;if(this.options.skipExports){if(this.is(F,"="))return`const ${F[1]} = ${this.generate(F[2],"value")}`;return this.generate(F,"statement")}if(this.is(F,"="))return`const ${F[1]} = ${this.generate(F[2],"value")};
407
- export default ${F[1]}`;return`export default ${this.generate(F,"statement")}`}generateExportAll($,W){if(this.options.skipExports)return"";return`export * from ${this.addJsExtensionAndAssertions(W[0])}`}generateExportFrom($,W){if(this.options.skipExports)return"";let[F,U]=W,u=this.addJsExtensionAndAssertions(U);if(Array.isArray(F))return`export { ${F.map((Y)=>Array.isArray(Y)&&Y.length===2?`${Y[0]} as ${Y[1]}`:Y).join(", ")} } from ${u}`;return`export ${F} from ${u}`}generateDoIIFE($,W){return`(${this.generate(W[0],"statement")})()`}generateRegex($,W){return W.length===0?$:this.generate(W[0],"value")}generateTaggedTemplate($,W){let[F,U]=W,u=this.generate(F,"value"),f=this.generate(U,"value");if(f.startsWith("`"))return`${u}${f}`;if(f.startsWith('"')||f.startsWith("'"))return`${u}\`${f.slice(1,-1)}\``;return`${u}\`${f}\``}generateString($,W){let F="`";for(let U of W)if(U instanceof String)F+=this.extractStringContent(U);else if(typeof U==="string")if(U.startsWith('"')||U.startsWith("'")){if(this.options.debug)console.warn("[Rip] Unexpected quoted primitive in str:",U);F+=U.slice(1,-1)}else F+=U;else if(Array.isArray(U))if(U.length===1&&typeof U[0]==="string"&&!Array.isArray(U[0])){let u=U[0];F+=/^[\d"']/.test(u)?"${"+this.generate(u,"value")+"}":"${"+u+"}"}else{let u=U.length===1&&Array.isArray(U[0])?U[0]:U;F+="${"+this.generate(u,"value")+"}"}return F+"`"}findPostfixConditional($){if(!Array.isArray($))return null;let W=$[0];if(W==="if"&&$.length===3)return{type:W,condition:$[1],value:$[2]};if(W==="+"||W==="-"||W==="*"||W==="/")for(let F=1;F<$.length;F++){let U=this.findPostfixConditional($[F]);if(U)return U.parentOp=W,U.operandIndex=F,U.otherOperands=$.slice(1).filter((u,f)=>f!==F-1),U}return null}rebuildWithoutConditional($){let W=Array.isArray($.value)&&$.value.length===1?$.value[0]:$.value;if($.parentOp)return[$.parentOp,...$.otherOperands,W];return W}generateDestructuringPattern($){return this.formatParam($)}generateParamList($){let W=$.findIndex((U)=>this.is(U,"expansion"));if(W!==-1){let U=$.slice(0,W),u=$.slice(W+1),f=U.map((Y)=>this.formatParam(Y)).join(", ");return this.expansionAfterParams=u,f?`${f}, ..._rest`:"..._rest"}let F=$.findIndex((U)=>this.is(U,"rest"));if(F!==-1&&F<$.length-1){let U=$.slice(0,F),u=$[F],f=$.slice(F+1),Y=U.map((_)=>this.formatParam(_));return this.restMiddleParam={restName:u[1],afterParams:f,beforeCount:U.length},Y.length>0?`${Y.join(", ")}, ...${u[1]}`:`...${u[1]}`}return this.expansionAfterParams=null,this.restMiddleParam=null,$.map((U)=>this.formatParam(U)).join(", ")}formatParam($){if(typeof $==="string")return $;if($ instanceof String)return $.valueOf();if(this.is($,"rest"))return`...${$[1]}`;if(this.is($,"default"))return`${$[1]} = ${this.generate($[2],"value")}`;if(this.is($,".")&&$[1]==="this")return $[2];if(this.is($,"array"))return`[${$.slice(1).map((F)=>{if(F===",")return"";if(F==="...")return"";if(this.is(F,"..."))return`...${F[1]}`;if(this.is(F,"=")&&typeof F[1]==="string")return`${F[1]} = ${this.generate(F[2],"value")}`;if(typeof F==="string")return F;return this.formatParam(F)}).join(", ")}]`;if(this.is($,"object"))return`{${$.slice(1).map((F)=>{if(this.is(F,"..."))return`...${F[1]}`;if(this.is(F,"default"))return`${F[1]} = ${this.generate(F[2],"value")}`;let[U,u]=F;if(U===u)return U;return`${U}: ${u}`}).join(", ")}}`;return JSON.stringify($)}generateBodyWithReturns($,W=[],F={}){let{sideEffectOnly:U=!1,autoAssignments:u=[],isConstructor:f=!1,hasExpansionParams:Y=!1}=F,_=this.sideEffectOnly;this.sideEffectOnly=U;let A=new Set,J=(w)=>{if(typeof w==="string")A.add(w);else if(Array.isArray(w)){if(w[0]==="rest"||w[0]==="..."){if(typeof w[1]==="string")A.add(w[1])}else if(w[0]==="default"){if(typeof w[1]==="string")A.add(w[1])}else if(w[0]==="array"||w[0]==="object")this.collectVarsFromArray(w,A)}};if(Array.isArray(W))W.forEach(J);let R=this.collectFunctionVariables($),X=new Set([...R].filter((w)=>!this.programVars.has(w)&&!this.reactiveVars?.has(w)&&!A.has(w)&&!this.scopeStack.some((Q)=>Q.has(w)))),z=["return","throw","break","continue"],Z=["for-in","for-of","for-as","while","loop"];if(this.scopeStack.push(new Set([...X,...A])),this.is($,"block")){let w=this.unwrapBlock($);if(Y&&this.expansionAfterParams?.length>0)w=[...this.expansionAfterParams.map((q,E)=>{return`const ${typeof q==="string"?q:JSON.stringify(q)} = _rest[_rest.length - ${this.expansionAfterParams.length-E}]`}),...w],this.expansionAfterParams=null;if(this.restMiddleParam){let{restName:O,afterParams:q}=this.restMiddleParam,E=q.length,I=[];if(q.forEach((D,G)=>{let P=typeof D==="string"?D:this.is(D,"default")?D[1]:JSON.stringify(D);I.push(`const ${P} = ${O}[${O}.length - ${E-G}]`)}),E>0)I.push(`${O} = ${O}.slice(0, -${E})`);w=[...I,...w],this.restMiddleParam=null}this.indentLevel++;let Q=`{
408
- `;if(X.size>0)Q+=this.indent()+`let ${Array.from(X).sort().join(", ")};
409
- `;let M=u.length>0&&w.length>0&&Array.isArray(w[0])&&w[0][0]==="super",H=(O)=>{O.forEach((q,E)=>{let I=E===O.length-1,D=Array.isArray(q)?q[0]:null;if(!I&&D==="comprehension"){let[,N,T,S]=q;Q+=this.indent()+this.generateComprehensionAsLoop(N,T,S)+`
404
+ `}this.indentLevel--}else if(J){let w=A[0].slice(1),z=A.slice(1);this.indentLevel++;for(let[X,Z]of w){let K=this.is(X,".")&&X[1]==="this",R=this.extractMemberName(X);if(this.is(Z,"->")||this.is(Z,"=>")){let[,Q,M]=Z,H=this.generateParamList(Q),O=(K?"static ":"")+(this.containsAwait(M)?"async ":"")+(this.containsYield(M)?"*":"");Y+=this.indent()+`${O}${R}(${H}) `,this.currentMethodName=R,Y+=this.generateMethodBody(M,[],R==="constructor",Q),this.currentMethodName=null,Y+=`
405
+ `}else if(K)Y+=this.indent()+`static ${R} = ${this.generate(Z,"value")};
406
+ `;else Y+=this.indent()+`${R} = ${this.generate(Z,"value")};
407
+ `}for(let X of z)if(this.is(X,"class")){let[,Z,K,...R]=X;if(this.is(Z,".")&&Z[1]==="this")Y+=this.indent()+`static ${Z[2]} = ${this.generate(["class",null,K,...R],"value")};
408
+ `}else Y+=this.indent()+this.generate(X,"statement")+`;
409
+ `;this.indentLevel--}else{this.indentLevel++;for(let w of A)if(this.is(w,"=")&&Array.isArray(w[1])&&w[1][0]==="."&&w[1][1]==="this")Y+=this.indent()+`static ${w[1][2]} = ${this.generate(w[2],"value")};
410
+ `;else Y+=this.indent()+this.generate(w,"statement")+`;
411
+ `;this.indentLevel--}}}return Y+=this.indent()+"}",Y}generateSuper($,W){if(W.length===0){if(this.currentMethodName&&this.currentMethodName!=="constructor")return`super.${this.currentMethodName}()`;return"super"}let F=W.map((U)=>this.unwrap(this.generate(U,"value"))).join(", ");if(this.currentMethodName&&this.currentMethodName!=="constructor")return`super.${this.currentMethodName}(${F})`;return`super(${F})`}generateImport($,W,F,U){if(W.length===1){let _=`import(${this.generate(W[0],"value")})`;if(h(U[0],"await")===!0)return`(await ${_})`;return _}let[u,f]=W,Y=this.addJsExtensionAndAssertions(f);if(typeof u==="string")return`import ${u} from ${Y}`;if(Array.isArray(u)){if(u[0]==="*"&&u.length===2)return`import * as ${u[1]} from ${Y}`;if(typeof u[0]==="string"&&Array.isArray(u[1])){let A=u[0],J=u[1];if(J[0]==="*"&&J.length===2)return`import ${A}, * as ${J[1]} from ${Y}`;let w=(Array.isArray(J)?J:[J]).map((z)=>Array.isArray(z)&&z.length===2?`${z[0]} as ${z[1]}`:z).join(", ");return`import ${A}, { ${w} } from ${Y}`}return`import { ${u.map((A)=>Array.isArray(A)&&A.length===2?`${A[0]} as ${A[1]}`:A).join(", ")} } from ${Y}`}return`import ${this.generate(u,"value")} from ${Y}`}generateExport($,W){let[F]=W;if(this.options.skipExports){if(Array.isArray(F)&&F.every((U)=>typeof U==="string"))return"";if(this.is(F,"="))return`const ${F[1]} = ${this.generate(F[2],"value")}`;return this.generate(F,"statement")}if(Array.isArray(F)&&F.every((U)=>typeof U==="string"))return`export { ${F.join(", ")} }`;if(this.is(F,"="))return`export const ${F[1]} = ${this.generate(F[2],"value")}`;return`export ${this.generate(F,"statement")}`}generateExportDefault($,W){let[F]=W;if(this.options.skipExports){if(this.is(F,"="))return`const ${F[1]} = ${this.generate(F[2],"value")}`;return this.generate(F,"statement")}if(this.is(F,"="))return`const ${F[1]} = ${this.generate(F[2],"value")};
412
+ export default ${F[1]}`;return`export default ${this.generate(F,"statement")}`}generateExportAll($,W){if(this.options.skipExports)return"";return`export * from ${this.addJsExtensionAndAssertions(W[0])}`}generateExportFrom($,W){if(this.options.skipExports)return"";let[F,U]=W,u=this.addJsExtensionAndAssertions(U);if(Array.isArray(F))return`export { ${F.map((Y)=>Array.isArray(Y)&&Y.length===2?`${Y[0]} as ${Y[1]}`:Y).join(", ")} } from ${u}`;return`export ${F} from ${u}`}generateDoIIFE($,W){return`(${this.generate(W[0],"statement")})()`}generateRegex($,W){return W.length===0?$:this.generate(W[0],"value")}generateTaggedTemplate($,W){let[F,U]=W,u=this.generate(F,"value"),f=this.generate(U,"value");if(f.startsWith("`"))return`${u}${f}`;if(f.startsWith('"')||f.startsWith("'"))return`${u}\`${f.slice(1,-1)}\``;return`${u}\`${f}\``}generateString($,W){let F="`";for(let U of W)if(U instanceof String)F+=this.extractStringContent(U);else if(typeof U==="string")if(U.startsWith('"')||U.startsWith("'")){if(this.options.debug)console.warn("[Rip] Unexpected quoted primitive in str:",U);F+=U.slice(1,-1)}else F+=U;else if(Array.isArray(U))if(U.length===1&&typeof U[0]==="string"&&!Array.isArray(U[0])){let u=U[0];F+=/^[\d"']/.test(u)?"${"+this.generate(u,"value")+"}":"${"+u+"}"}else{let u=U.length===1&&Array.isArray(U[0])?U[0]:U;F+="${"+this.generate(u,"value")+"}"}return F+"`"}findPostfixConditional($){if(!Array.isArray($))return null;let W=$[0];if(W==="if"&&$.length===3)return{type:W,condition:$[1],value:$[2]};if(W==="+"||W==="-"||W==="*"||W==="/")for(let F=1;F<$.length;F++){let U=this.findPostfixConditional($[F]);if(U)return U.parentOp=W,U.operandIndex=F,U.otherOperands=$.slice(1).filter((u,f)=>f!==F-1),U}return null}rebuildWithoutConditional($){let W=Array.isArray($.value)&&$.value.length===1?$.value[0]:$.value;if($.parentOp)return[$.parentOp,...$.otherOperands,W];return W}generateDestructuringPattern($){return this.formatParam($)}generateParamList($){let W=$.findIndex((U)=>this.is(U,"expansion"));if(W!==-1){let U=$.slice(0,W),u=$.slice(W+1),f=U.map((Y)=>this.formatParam(Y)).join(", ");return this.expansionAfterParams=u,f?`${f}, ..._rest`:"..._rest"}let F=$.findIndex((U)=>this.is(U,"rest"));if(F!==-1&&F<$.length-1){let U=$.slice(0,F),u=$[F],f=$.slice(F+1),Y=U.map((_)=>this.formatParam(_));return this.restMiddleParam={restName:u[1],afterParams:f,beforeCount:U.length},Y.length>0?`${Y.join(", ")}, ...${u[1]}`:`...${u[1]}`}return this.expansionAfterParams=null,this.restMiddleParam=null,$.map((U)=>this.formatParam(U)).join(", ")}formatParam($){if(typeof $==="string")return $;if($ instanceof String)return $.valueOf();if(this.is($,"rest"))return`...${$[1]}`;if(this.is($,"default"))return`${$[1]} = ${this.generate($[2],"value")}`;if(this.is($,".")&&$[1]==="this")return $[2];if(this.is($,"array"))return`[${$.slice(1).map((F)=>{if(F===",")return"";if(F==="...")return"";if(this.is(F,"..."))return`...${F[1]}`;if(this.is(F,"=")&&typeof F[1]==="string")return`${F[1]} = ${this.generate(F[2],"value")}`;if(typeof F==="string")return F;return this.formatParam(F)}).join(", ")}]`;if(this.is($,"object"))return`{${$.slice(1).map((F)=>{if(this.is(F,"..."))return`...${F[1]}`;if(this.is(F,"default"))return`${F[1]} = ${this.generate(F[2],"value")}`;let[U,u]=F;if(U===u)return U;return`${U}: ${u}`}).join(", ")}}`;return JSON.stringify($)}generateBodyWithReturns($,W=[],F={}){let{sideEffectOnly:U=!1,autoAssignments:u=[],isConstructor:f=!1,hasExpansionParams:Y=!1}=F,_=this.sideEffectOnly;this.sideEffectOnly=U;let A=new Set,J=(R)=>{if(typeof R==="string")A.add(R);else if(Array.isArray(R)){if(R[0]==="rest"||R[0]==="..."){if(typeof R[1]==="string")A.add(R[1])}else if(R[0]==="default"){if(typeof R[1]==="string")A.add(R[1])}else if(R[0]==="array"||R[0]==="object")this.collectVarsFromArray(R,A)}};if(Array.isArray(W))W.forEach(J);let w=this.collectFunctionVariables($),z=new Set([...w].filter((R)=>!this.programVars.has(R)&&!this.reactiveVars?.has(R)&&!A.has(R)&&!this.scopeStack.some((Q)=>Q.has(R)))),X=["return","throw","break","continue"],Z=["for-in","for-of","for-as","while","loop"];if(this.scopeStack.push(new Set([...z,...A])),this.is($,"block")){let R=this.unwrapBlock($);if(Y&&this.expansionAfterParams?.length>0)R=[...this.expansionAfterParams.map((q,E)=>{return`const ${typeof q==="string"?q:JSON.stringify(q)} = _rest[_rest.length - ${this.expansionAfterParams.length-E}]`}),...R],this.expansionAfterParams=null;if(this.restMiddleParam){let{restName:O,afterParams:q}=this.restMiddleParam,E=q.length,I=[];if(q.forEach((D,G)=>{let P=typeof D==="string"?D:this.is(D,"default")?D[1]:JSON.stringify(D);I.push(`const ${P} = ${O}[${O}.length - ${E-G}]`)}),E>0)I.push(`${O} = ${O}.slice(0, -${E})`);R=[...I,...R],this.restMiddleParam=null}this.indentLevel++;let Q=`{
413
+ `;if(z.size>0)Q+=this.indent()+`let ${Array.from(z).sort().join(", ")};
414
+ `;let M=u.length>0&&R.length>0&&Array.isArray(R[0])&&R[0][0]==="super",H=(O)=>{O.forEach((q,E)=>{let I=E===O.length-1,D=Array.isArray(q)?q[0]:null;if(!I&&D==="comprehension"){let[,N,T,S]=q;Q+=this.indent()+this.generateComprehensionAsLoop(N,T,S)+`
410
415
  `;return}if(!f&&!U&&I&&D==="if"){let[N,T,...S]=q.slice(1),j=(C)=>this.is(C,"block")&&C.length>2;if(j(T)||S.some(j)){Q+=this.generateIfElseWithEarlyReturns(q);return}}if(!f&&!U&&I&&D==="="){let[N,T]=q.slice(1);if(typeof N==="string"&&Array.isArray(T)){let S=T[0];if(S==="comprehension"||S==="for-in"){this.comprehensionTarget=N,Q+=this.generate(T,"value"),this.comprehensionTarget=null,Q+=this.indent()+`return ${N};
411
- `;return}}}let G=!f&&!U&&I&&!z.includes(D)&&!Z.includes(D)&&!this.hasExplicitControlFlow(q),P=G?"value":"statement",B=this.generate(q,P);if(G)Q+=this.indent()+"return "+B+`;
416
+ `;return}}}let G=!f&&!U&&I&&!X.includes(D)&&!Z.includes(D)&&!this.hasExplicitControlFlow(q),P=G?"value":"statement",B=this.generate(q,P);if(G)Q+=this.indent()+"return "+B+`;
412
417
  `;else Q+=this.indent()+this.addSemicolon(q,B)+`
413
- `})};if(M){if(w.length===1&&!f)Q+=this.indent()+"return "+this.generate(w[0],"value")+`;
414
- `;else Q+=this.indent()+this.generate(w[0],"statement")+`;
418
+ `})};if(M){if(R.length===1&&!f)Q+=this.indent()+"return "+this.generate(R[0],"value")+`;
419
+ `;else Q+=this.indent()+this.generate(R[0],"statement")+`;
415
420
  `;for(let q of u)Q+=this.indent()+q+`;
416
- `;H(w.slice(1))}else{for(let O of u)Q+=this.indent()+O+`;
417
- `;H(w)}if(U&&w.length>0){let O=Array.isArray(w[w.length-1])?w[w.length-1][0]:null;if(!z.includes(O))Q+=this.indent()+`return;
418
- `}return this.indentLevel--,Q+=this.indent()+"}",this.scopeStack.pop(),this.sideEffectOnly=_,Q}this.sideEffectOnly=_;let K;if(f&&u.length>0){let w=Array.isArray($)&&$[0]==="super",Q=this.generate($,"statement"),M=u.map((H)=>`${H};`).join(" ");K=w?`{ ${Q}; ${M} }`:`{ ${M} ${Q}; }`}else if(f||this.hasExplicitControlFlow($))K=`{ ${this.generate($,"statement")}; }`;else if(Array.isArray($)&&(z.includes($[0])||Z.includes($[0])))K=`{ ${this.generate($,"statement")}; }`;else if(U)K=`{ ${this.generate($,"statement")}; return; }`;else K=`{ return ${this.generate($,"value")}; }`;return this.scopeStack.pop(),K}generateFunctionBody($,W=[],F=!1){return this.generateBodyWithReturns($,W,{sideEffectOnly:F,hasExpansionParams:this.expansionAfterParams?.length>0})}generateMethodBody($,W=[],F=!1,U=[]){return this.generateBodyWithReturns($,U,{autoAssignments:W,isConstructor:F})}generateBlockWithReturns($){if(!Array.isArray($)||$[0]!=="block")return this.generate($,"statement");let W=this.unwrapBlock($);return`{
421
+ `;H(R.slice(1))}else{for(let O of u)Q+=this.indent()+O+`;
422
+ `;H(R)}if(U&&R.length>0){let O=Array.isArray(R[R.length-1])?R[R.length-1][0]:null;if(!X.includes(O))Q+=this.indent()+`return;
423
+ `}return this.indentLevel--,Q+=this.indent()+"}",this.scopeStack.pop(),this.sideEffectOnly=_,Q}this.sideEffectOnly=_;let K;if(f&&u.length>0){let R=Array.isArray($)&&$[0]==="super",Q=this.generate($,"statement"),M=u.map((H)=>`${H};`).join(" ");K=R?`{ ${Q}; ${M} }`:`{ ${M} ${Q}; }`}else if(f||this.hasExplicitControlFlow($))K=`{ ${this.generate($,"statement")}; }`;else if(Array.isArray($)&&(X.includes($[0])||Z.includes($[0])))K=`{ ${this.generate($,"statement")}; }`;else if(U)K=`{ ${this.generate($,"statement")}; return; }`;else K=`{ return ${this.generate($,"value")}; }`;return this.scopeStack.pop(),K}generateFunctionBody($,W=[],F=!1){return this.generateBodyWithReturns($,W,{sideEffectOnly:F,hasExpansionParams:this.expansionAfterParams?.length>0})}generateMethodBody($,W=[],F=!1,U=[]){return this.generateBodyWithReturns($,U,{autoAssignments:W,isConstructor:F})}generateBlockWithReturns($){if(!Array.isArray($)||$[0]!=="block")return this.generate($,"statement");let W=this.unwrapBlock($);return`{
419
424
  ${this.withIndent(()=>W.map((U,u)=>{let f=u===W.length-1,Y=Array.isArray(U)?U[0]:null,_=f&&!["return","throw","break","continue"].includes(Y),A=this.generate(U,_?"value":"statement");return _?this.indent()+"return "+A+";":this.indent()+A+";"})).join(`
420
425
  `)}
421
426
  ${this.indent()}}`}generateLoopBody($){if(!Array.isArray($))return`{ ${this.generate($,"statement")}; }`;if($[0]==="block"||Array.isArray($[0])){let W=$[0]==="block"?$.slice(1):$;return`{
@@ -427,9 +432,9 @@ ${u}${f}${Y.join(`
427
432
  `)}
428
433
  ${_}
429
434
  ${this.indent()}}`}return`{ if (${this.generate(W,"value")}) ${this.generate($,"statement")}; }`}generateComprehensionWithTarget($,W,F,U){let u="";u+=this.indent()+`${U} = [];
430
- `;let f=this.is($,"block")&&$.length===2?$[1]:$;if(W.length===1){let[Y,_,A,J]=W[0];if(Y==="for-in"){let{header:R,setup:X}=this._forInHeader(_,A,J);if(u+=this.indent()+R+` {
431
- `,this.indentLevel++,X)u+=this.indent()+X+`
432
- `;if(F&&F.length>0)u+=this.indent()+`if (${F.map((z)=>this.generate(z,"value")).join(" && ")}) {
435
+ `;let f=this.is($,"block")&&$.length===2?$[1]:$;if(W.length===1){let[Y,_,A,J]=W[0];if(Y==="for-in"){let{header:w,setup:z}=this._forInHeader(_,A,J);if(u+=this.indent()+w+` {
436
+ `,this.indentLevel++,z)u+=this.indent()+z+`
437
+ `;if(F&&F.length>0)u+=this.indent()+`if (${F.map((X)=>this.generate(X,"value")).join(" && ")}) {
433
438
  `,this.indentLevel++;if(u+=this.indent()+`${U}.push(${this.unwrap(this.generate(f,"value"))});
434
439
  `,F&&F.length>0)this.indentLevel--,u+=this.indent()+`}
435
440
  `;return this.indentLevel--,u+=this.indent()+`}
@@ -438,19 +443,19 @@ ${this.indent()}}`}return`{ if (${this.generate(W,"value")}) ${this.generate($,"
438
443
  `,this.indentLevel++,U+=this.indent()+this.generate($,"statement")+`;
439
444
  `,this.indentLevel--,U+=this.indent()+`}
440
445
  `;else U+=this.indent()+this.generate($,"statement")+`;
441
- `};if(W.length===1){let[Y,_,A,J]=W[0];if(Y==="for-in"){let{header:R,setup:X}=this._forInHeader(_,A,J);if(U+=R+` {
442
- `,this.indentLevel++,X)U+=this.indent()+X+`
443
- `;return f(),this.indentLevel--,U+=this.indent()+"}",U}if(Y==="for-as"){let{header:R}=this._forAsHeader(_,A,J);return U+=R+` {
444
- `,this.indentLevel++,f(),this.indentLevel--,U+=this.indent()+"}",U}if(Y==="for-of"){let{header:R,own:X,vv:z,oc:Z,kvp:K}=this._forOfHeader(_,A,J);if(U+=R+` {
445
- `,this.indentLevel++,X)U+=this.indent()+`if (!Object.hasOwn(${Z}, ${K})) continue;
446
- `;if(z)U+=this.indent()+`const ${z} = ${Z}[${K}];
446
+ `};if(W.length===1){let[Y,_,A,J]=W[0];if(Y==="for-in"){let{header:w,setup:z}=this._forInHeader(_,A,J);if(U+=w+` {
447
+ `,this.indentLevel++,z)U+=this.indent()+z+`
448
+ `;return f(),this.indentLevel--,U+=this.indent()+"}",U}if(Y==="for-as"){let{header:w}=this._forAsHeader(_,A,J);return U+=w+` {
449
+ `,this.indentLevel++,f(),this.indentLevel--,U+=this.indent()+"}",U}if(Y==="for-of"){let{header:w,own:z,vv:X,oc:Z,kvp:K}=this._forOfHeader(_,A,J);if(U+=w+` {
450
+ `,this.indentLevel++,z)U+=this.indent()+`if (!Object.hasOwn(${Z}, ${K})) continue;
451
+ `;if(X)U+=this.indent()+`const ${X} = ${Z}[${K}];
447
452
  `;return f(),this.indentLevel--,U+=this.indent()+"}",U}}return this.generate(["comprehension",$,W,F],"value")}generateIfElseWithEarlyReturns($){let[W,F,U,...u]=$,f="",Y=this.generate(F,"value");f+=this.indent()+`if (${Y}) {
448
- `,f+=this.withIndent(()=>this.generateBranchWithReturn(U)),f+=this.indent()+"}";for(let _ of u)if(f+=" else ",this.is(_,"if")){let[,A,J,...R]=_;f+=`if (${this.generate(A,"value")}) {
449
- `,f+=this.withIndent(()=>this.generateBranchWithReturn(J)),f+=this.indent()+"}";for(let X of R)f+=` else {
450
- `,f+=this.withIndent(()=>this.generateBranchWithReturn(X)),f+=this.indent()+"}"}else f+=`{
453
+ `,f+=this.withIndent(()=>this.generateBranchWithReturn(U)),f+=this.indent()+"}";for(let _ of u)if(f+=" else ",this.is(_,"if")){let[,A,J,...w]=_;f+=`if (${this.generate(A,"value")}) {
454
+ `,f+=this.withIndent(()=>this.generateBranchWithReturn(J)),f+=this.indent()+"}";for(let z of w)f+=` else {
455
+ `,f+=this.withIndent(()=>this.generateBranchWithReturn(z)),f+=this.indent()+"}"}else f+=`{
451
456
  `,f+=this.withIndent(()=>this.generateBranchWithReturn(_)),f+=this.indent()+"}";return f}generateBranchWithReturn($){let W=this.unwrapBlock($),F="";for(let U=0;U<W.length;U++){let u=U===W.length-1,f=W[U],Y=Array.isArray(f)?f[0]:null;if(u&&!(Y==="return"||Y==="throw"||Y==="break"||Y==="continue"))F+=this.indent()+`return ${this.generate(f,"value")};
452
457
  `;else F+=this.indent()+this.generate(f,"statement")+`;
453
- `}return F}generateIfAsExpression($,W,F){if(this.is(W,"block")&&W.length>2||this.hasStatementInBranch(W)||F.some((_)=>this.is(_,"block")&&_.length>2||this.hasStatementInBranch(_)||this.hasNestedMultiStatement(_))){let _=this.containsAwait($)||this.containsAwait(W)||F.some((J)=>this.containsAwait(J)),A=`${_?"await ":""}(${_?"async ":""}() => { `;A+=`if (${this.generate($,"value")}) `,A+=this.generateBlockWithReturns(W);for(let J of F)if(A+=" else ",this.is(J,"if")){let[R,X,z,...Z]=J;A+=`if (${this.generate(X,"value")}) `,A+=this.generateBlockWithReturns(z);for(let K of Z)if(A+=" else ",this.is(K,"if")){let[w,Q,M,...H]=K;A+=`if (${this.generate(Q,"value")}) `,A+=this.generateBlockWithReturns(M),F.push(...H)}else A+=this.generateBlockWithReturns(K)}else A+=this.generateBlockWithReturns(J);return A+" })()"}let u=this.extractExpression(this.unwrapIfBranch(W)),f=this.buildTernaryChain(F),Y=this.generate($,"value");if(this.is($,"yield")||this.is($,"await"))Y=`(${Y})`;return`(${Y} ? ${u} : ${f})`}generateIfAsStatement($,W,F){let U=`if (${this.unwrap(this.generate($,"value"))}) `;U+=this.generate(this.unwrapIfBranch(W),"statement");for(let u of F)U+=" else "+this.generate(this.unwrapIfBranch(u),"statement");return U}generateSwitchCaseBody($,W){let F="";if(this.hasExplicitControlFlow($))for(let u of this.unwrapBlock($))F+=this.indent()+this.generate(u,"statement")+`;
458
+ `}return F}generateIfAsExpression($,W,F){if(this.is(W,"block")&&W.length>2||this.hasStatementInBranch(W)||F.some((_)=>this.is(_,"block")&&_.length>2||this.hasStatementInBranch(_)||this.hasNestedMultiStatement(_))){let _=this.containsAwait($)||this.containsAwait(W)||F.some((J)=>this.containsAwait(J)),A=`${_?"await ":""}(${_?"async ":""}() => { `;A+=`if (${this.generate($,"value")}) `,A+=this.generateBlockWithReturns(W);for(let J of F)if(A+=" else ",this.is(J,"if")){let[w,z,X,...Z]=J;A+=`if (${this.generate(z,"value")}) `,A+=this.generateBlockWithReturns(X);for(let K of Z)if(A+=" else ",this.is(K,"if")){let[R,Q,M,...H]=K;A+=`if (${this.generate(Q,"value")}) `,A+=this.generateBlockWithReturns(M),F.push(...H)}else A+=this.generateBlockWithReturns(K)}else A+=this.generateBlockWithReturns(J);return A+" })()"}let u=this.extractExpression(this.unwrapIfBranch(W)),f=this.buildTernaryChain(F),Y=this.generate($,"value");if(this.is($,"yield")||this.is($,"await"))Y=`(${Y})`;return`(${Y} ? ${u} : ${f})`}generateIfAsStatement($,W,F){let U=`if (${this.unwrap(this.generate($,"value"))}) `;U+=this.generate(this.unwrapIfBranch(W),"statement");for(let u of F)U+=" else "+this.generate(this.unwrapIfBranch(u),"statement");return U}generateSwitchCaseBody($,W){let F="";if(this.hasExplicitControlFlow($))for(let u of this.unwrapBlock($))F+=this.indent()+this.generate(u,"statement")+`;
454
459
  `;else if(W==="value")if(this.is($,"block")&&$.length>2){let u=$.slice(1);for(let f=0;f<u.length;f++)if(f===u.length-1)F+=this.indent()+`return ${this.generate(u[f],"value")};
455
460
  `;else F+=this.indent()+this.generate(u[f],"statement")+`;
456
461
  `}else F+=this.indent()+`return ${this.extractExpression($)};
@@ -463,11 +468,11 @@ ${this.indent()}}`}return`{ if (${this.generate(W,"value")}) ${this.generate($,"
463
468
  `;this.indentLevel--,U+=this.indent()+"}"}if(W){if(U+=` else {
464
469
  `,this.indentLevel++,F==="value")U+=this.indent()+`return ${this.extractExpression(W)};
465
470
  `;else for(let u of this.unwrapBlock(W))U+=this.indent()+this.generate(u,"statement")+`;
466
- `;this.indentLevel--,U+=this.indent()+"}"}return F==="value"?`(() => { ${U} })()`:U}extractExpression($){let W=this.unwrapBlock($);return W.length>0?this.generate(W[W.length-1],"value"):"undefined"}unwrapBlock($){if(!Array.isArray($))return[$];if($[0]==="block")return $.slice(1);if(Array.isArray($[0])){if(typeof $[0][0]==="string")return[$];return $}return[$]}indent(){return this.indentString.repeat(this.indentLevel)}needsSemicolon($,W){if(!W||W.endsWith(";"))return!1;if(!W.endsWith("}"))return!0;let F=Array.isArray($)?$[0]:null;return!["def","class","if","for-in","for-of","for-as","while","loop","switch","try"].includes(F)}addSemicolon($,W){return W+(this.needsSemicolon($,W)?";":"")}formatStatements($,W="statement"){return $.map((F)=>this.indent()+this.addSemicolon(F,this.generate(F,W)))}wrapForCondition($){if(/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test($))return $;if($.startsWith("(")&&$.endsWith(")"))return $;return`(${$})`}hasExplicitControlFlow($){if(!Array.isArray($))return!1;let W=$[0];if(W==="return"||W==="throw"||W==="break"||W==="continue")return!0;if(W==="block")return $.slice(1).some((F)=>Array.isArray(F)&&["return","throw","break","continue"].includes(F[0]));if(W==="switch"){let[,,F]=$;return F?.some((U)=>{return this.unwrapBlock(U[2]).some((f)=>Array.isArray(f)&&["return","throw","break","continue"].includes(f[0]))})}if(W==="if"){let[,,F,U]=$;return this.branchHasControlFlow(F)&&U&&this.branchHasControlFlow(U)}return!1}branchHasControlFlow($){if(!Array.isArray($))return!1;let W=this.unwrapBlock($);if(W.length===0)return!1;let F=W[W.length-1];return Array.isArray(F)&&["return","throw","break","continue"].includes(F[0])}withIndent($){this.indentLevel++;let W=$();return this.indentLevel--,W}is($,W,F){if(!Array.isArray($))return null;if((L($[0])??$[0])!==W)return null;let U=$.slice(1);if(F!=null&&U.length!==F)return null;return U}unwrap($){if(typeof $!=="string")return $;while($.startsWith("(")&&$.endsWith(")")){let W=0,F=0,U=!0,u=!1;for(let f=0;f<$.length;f++){if($[f]==="(")W++;if($[f]===")")W--;if($[f]==="["||$[f]==="{")F++;if($[f]==="]"||$[f]==="}")F--;if($[f]===","&&W===1&&F===0)u=!0;if(W===0&&f<$.length-1){U=!1;break}}if(u)U=!1;if(U)$=$.slice(1,-1);else break}return $}unwrapLogical($){if(typeof $!=="string")return $;while($.startsWith("(")&&$.endsWith(")")){let W=0,F=1/0;for(let U=1;U<$.length-1;U++){if($[U]==="(")W++;if($[U]===")")W--;F=Math.min(F,W)}if(F>=0)$=$.slice(1,-1);else break}return $}unwrapIfBranch($){if(Array.isArray($)&&$.length===1&&(!Array.isArray($[0])||$[0][0]!=="block"))return $[0];return $}flattenBinaryChain($){if(!Array.isArray($)||$.length<3)return $;let[W,...F]=$;if(W!=="&&"&&W!=="||")return $;let U=[],u=(f)=>{if(Array.isArray(f)&&f[0]===W)for(let Y=1;Y<f.length;Y++)u(f[Y]);else U.push(f)};for(let f of F)u(f);return[W,...U]}hasStatementInBranch($){if(!Array.isArray($))return!1;let W=$[0];if(W==="return"||W==="throw"||W==="break"||W==="continue")return!0;if(W==="block")return $.slice(1).some((F)=>this.hasStatementInBranch(F));return!1}hasNestedMultiStatement($){if(!Array.isArray($))return!1;if($[0]==="if"){let[W,F,U,...u]=$;return this.is(U,"block")&&U.length>2||u.some((f)=>this.hasNestedMultiStatement(f))}return!1}buildTernaryChain($){if($.length===0)return"undefined";if($.length===1)return this.extractExpression(this.unwrapIfBranch($[0]));let W=$[0];if(this.is(W,"if")){let[F,U,u,...f]=W,Y=this.extractExpression(this.unwrapIfBranch(u)),_=this.buildTernaryChain([...f,...$.slice(1)]);return`(${this.generate(U,"value")} ? ${Y} : ${_})`}return this.extractExpression(this.unwrapIfBranch(W))}collectVarsFromArray($,W){$.slice(1).forEach((F)=>{if(F===","||F==="...")return;if(typeof F==="string"){W.add(F);return}if(Array.isArray(F)){if(F[0]==="..."&&typeof F[1]==="string")W.add(F[1]);else if(F[0]==="array")this.collectVarsFromArray(F,W);else if(F[0]==="object")this.collectVarsFromObject(F,W)}})}collectVarsFromObject($,W){$.slice(1).forEach((F)=>{if(!Array.isArray(F))return;if(F[0]==="..."&&typeof F[1]==="string"){W.add(F[1]);return}if(F.length>=2){let[U,u,f]=F;if(f==="="){if(typeof U==="string")W.add(U)}else if(typeof u==="string")W.add(u);else if(Array.isArray(u)){if(u[0]==="array")this.collectVarsFromArray(u,W);else if(u[0]==="object")this.collectVarsFromObject(u,W)}}})}extractStringContent($){let W=L($).slice(1,-1),F=V($,"indent");if(F)W=W.replace(new RegExp(`\\n${F}`,"g"),`
467
- `);if(V($,"initialChunk")&&W.startsWith(`
468
- `))W=W.slice(1);if(V($,"finalChunk")&&W.endsWith(`
471
+ `;this.indentLevel--,U+=this.indent()+"}"}return F==="value"?`(() => { ${U} })()`:U}extractExpression($){let W=this.unwrapBlock($);return W.length>0?this.generate(W[W.length-1],"value"):"undefined"}unwrapBlock($){if(!Array.isArray($))return[$];if($[0]==="block")return $.slice(1);if(Array.isArray($[0])){if(typeof $[0][0]==="string")return[$];return $}return[$]}indent(){return this.indentString.repeat(this.indentLevel)}needsSemicolon($,W){if(!W||W.endsWith(";"))return!1;if(!W.endsWith("}"))return!0;let F=Array.isArray($)?$[0]:null;return!["def","class","if","for-in","for-of","for-as","while","loop","switch","try"].includes(F)}addSemicolon($,W){return W+(this.needsSemicolon($,W)?";":"")}formatStatements($,W="statement"){return $.map((F)=>this.indent()+this.addSemicolon(F,this.generate(F,W)))}wrapForCondition($){if(/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test($))return $;if($.startsWith("(")&&$.endsWith(")"))return $;return`(${$})`}hasExplicitControlFlow($){if(!Array.isArray($))return!1;let W=$[0];if(W==="return"||W==="throw"||W==="break"||W==="continue")return!0;if(W==="block")return $.slice(1).some((F)=>Array.isArray(F)&&["return","throw","break","continue"].includes(F[0]));if(W==="switch"){let[,,F]=$;return F?.some((U)=>{return this.unwrapBlock(U[2]).some((f)=>Array.isArray(f)&&["return","throw","break","continue"].includes(f[0]))})}if(W==="if"){let[,,F,U]=$;return this.branchHasControlFlow(F)&&U&&this.branchHasControlFlow(U)}return!1}branchHasControlFlow($){if(!Array.isArray($))return!1;let W=this.unwrapBlock($);if(W.length===0)return!1;let F=W[W.length-1];return Array.isArray(F)&&["return","throw","break","continue"].includes(F[0])}withIndent($){this.indentLevel++;let W=$();return this.indentLevel--,W}is($,W,F){if(!Array.isArray($))return null;if((L($[0])??$[0])!==W)return null;let U=$.slice(1);if(F!=null&&U.length!==F)return null;return U}unwrap($){if(typeof $!=="string")return $;while($.startsWith("(")&&$.endsWith(")")){let W=0,F=0,U=!0,u=!1;for(let f=0;f<$.length;f++){if($[f]==="(")W++;if($[f]===")")W--;if($[f]==="["||$[f]==="{")F++;if($[f]==="]"||$[f]==="}")F--;if($[f]===","&&W===1&&F===0)u=!0;if(W===0&&f<$.length-1){U=!1;break}}if(u)U=!1;if(U)$=$.slice(1,-1);else break}return $}unwrapLogical($){if(typeof $!=="string")return $;while($.startsWith("(")&&$.endsWith(")")){let W=0,F=1/0;for(let U=1;U<$.length-1;U++){if($[U]==="(")W++;if($[U]===")")W--;F=Math.min(F,W)}if(F>=0)$=$.slice(1,-1);else break}return $}unwrapIfBranch($){if(Array.isArray($)&&$.length===1&&(!Array.isArray($[0])||$[0][0]!=="block"))return $[0];return $}flattenBinaryChain($){if(!Array.isArray($)||$.length<3)return $;let[W,...F]=$;if(W!=="&&"&&W!=="||")return $;let U=[],u=(f)=>{if(Array.isArray(f)&&f[0]===W)for(let Y=1;Y<f.length;Y++)u(f[Y]);else U.push(f)};for(let f of F)u(f);return[W,...U]}hasStatementInBranch($){if(!Array.isArray($))return!1;let W=$[0];if(W==="return"||W==="throw"||W==="break"||W==="continue")return!0;if(W==="block")return $.slice(1).some((F)=>this.hasStatementInBranch(F));return!1}hasNestedMultiStatement($){if(!Array.isArray($))return!1;if($[0]==="if"){let[W,F,U,...u]=$;return this.is(U,"block")&&U.length>2||u.some((f)=>this.hasNestedMultiStatement(f))}return!1}buildTernaryChain($){if($.length===0)return"undefined";if($.length===1)return this.extractExpression(this.unwrapIfBranch($[0]));let W=$[0];if(this.is(W,"if")){let[F,U,u,...f]=W,Y=this.extractExpression(this.unwrapIfBranch(u)),_=this.buildTernaryChain([...f,...$.slice(1)]);return`(${this.generate(U,"value")} ? ${Y} : ${_})`}return this.extractExpression(this.unwrapIfBranch(W))}collectVarsFromArray($,W){$.slice(1).forEach((F)=>{if(F===","||F==="...")return;if(typeof F==="string"){W.add(F);return}if(Array.isArray(F)){if(F[0]==="..."&&typeof F[1]==="string")W.add(F[1]);else if(F[0]==="array")this.collectVarsFromArray(F,W);else if(F[0]==="object")this.collectVarsFromObject(F,W)}})}collectVarsFromObject($,W){$.slice(1).forEach((F)=>{if(!Array.isArray(F))return;if(F[0]==="..."&&typeof F[1]==="string"){W.add(F[1]);return}if(F.length>=2){let[U,u,f]=F;if(f==="="){if(typeof U==="string")W.add(U)}else if(typeof u==="string")W.add(u);else if(Array.isArray(u)){if(u[0]==="array")this.collectVarsFromArray(u,W);else if(u[0]==="object")this.collectVarsFromObject(u,W)}}})}extractStringContent($){let W=L($).slice(1,-1),F=h($,"indent");if(F)W=W.replace(new RegExp(`\\n${F}`,"g"),`
472
+ `);if(h($,"initialChunk")&&W.startsWith(`
473
+ `))W=W.slice(1);if(h($,"finalChunk")&&W.endsWith(`
469
474
  `))W=W.slice(0,-1);return W}processHeregex($){let W="",F=!1,U=0,u=()=>{let f=0,Y=U-1;while(Y>=0&&$[Y]==="\\")f++,Y--;return f%2===1};while(U<$.length){let f=$[U];if(f==="["&&!u()){F=!0,W+=f,U++;continue}if(f==="]"&&F&&!u()){F=!1,W+=f,U++;continue}if(F){W+=f,U++;continue}if(/\s/.test(f)){U++;continue}if(f==="#"){if(u()){W+=f,U++;continue}let Y=U-1;while(Y>=0&&$[Y]==="\\")Y--;if(Y<U-1){W+=f,U++;continue}while(U<$.length&&$[U]!==`
470
- `)U++;continue}W+=f,U++}return W}addJsExtensionAndAssertions($){if($ instanceof String)$=L($);if(typeof $!=="string")return $;let F=$.startsWith('"')||$.startsWith("'")?$.slice(1,-1):$,U=F.startsWith("./")||F.startsWith("../"),u=F,f="";if(U){let Y=F.lastIndexOf("/"),_=Y>=0?F.substring(Y+1):F;if(_.includes(".")){if(_.endsWith(".json"))f=" with { type: 'json' }"}else u=F+".js"}return`'${u}'`+f}containsIt($){if(!$)return!1;if($==="it"||$ instanceof String&&L($)==="it")return!0;if(typeof $!=="object")return!1;if(this.is($,"def")||this.is($,"->")||this.is($,"=>"))return!1;if(Array.isArray($))return $.some((W)=>this.containsIt(W));return!1}containsAwait($){if(!$)return!1;if($ instanceof String&&V($,"await")===!0)return!0;if(typeof $!=="object")return!1;if(this.is($,"await"))return!0;if(this.is($,"for-as")&&$[3]===!0)return!0;if(this.is($,"def")||this.is($,"->")||this.is($,"=>")||this.is($,"class"))return!1;if(Array.isArray($))return $.some((W)=>this.containsAwait(W));return!1}containsYield($){if(!$)return!1;if(typeof $!=="object")return!1;if(this.is($,"yield")||this.is($,"yield-from"))return!0;if(this.is($,"def")||this.is($,"->")||this.is($,"=>")||this.is($,"class"))return!1;if(Array.isArray($))return $.some((W)=>this.containsYield(W));return!1}extractMemberName($){if(this.is($,".")&&$[1]==="this")return $[2];if(this.is($,"computed"))return`[${this.generate($[1],"value")}]`;return $}getReactiveRuntime(){return`// ============================================================================
475
+ `)U++;continue}W+=f,U++}return W}addJsExtensionAndAssertions($){if($ instanceof String)$=L($);if(typeof $!=="string")return $;let F=$.startsWith('"')||$.startsWith("'")?$.slice(1,-1):$,U=F.startsWith("./")||F.startsWith("../"),u=F,f="";if(U){let Y=F.lastIndexOf("/"),_=Y>=0?F.substring(Y+1):F;if(_.includes(".")){if(_.endsWith(".json"))f=" with { type: 'json' }"}else u=F+".js"}return`'${u}'`+f}containsIt($){if(!$)return!1;if($==="it"||$ instanceof String&&L($)==="it")return!0;if(typeof $!=="object")return!1;if(this.is($,"def")||this.is($,"->")||this.is($,"=>"))return!1;if(Array.isArray($))return $.some((W)=>this.containsIt(W));return!1}containsAwait($){if(!$)return!1;if($ instanceof String&&h($,"await")===!0)return!0;if(typeof $!=="object")return!1;if(this.is($,"await"))return!0;if(this.is($,"for-as")&&$[3]===!0)return!0;if(this.is($,"def")||this.is($,"->")||this.is($,"=>")||this.is($,"class"))return!1;if(Array.isArray($))return $.some((W)=>this.containsAwait(W));return!1}containsYield($){if(!$)return!1;if(typeof $!=="object")return!1;if(this.is($,"yield")||this.is($,"yield-from"))return!0;if(this.is($,"def")||this.is($,"->")||this.is($,"=>")||this.is($,"class"))return!1;if(Array.isArray($))return $.some((W)=>this.containsYield(W));return!1}extractMemberName($){if(this.is($,".")&&$[1]==="this")return $[2];if(this.is($,"computed"))return`[${this.generate($[1],"value")}]`;return $}getReactiveRuntime(){return`// ============================================================================
471
476
  // Rip Reactive Runtime
472
477
  // A minimal, fine-grained reactivity system
473
478
  //
@@ -697,12 +702,12 @@ if (typeof globalThis !== 'undefined') {
697
702
 
698
703
  // === End Reactive Runtime ===
699
704
  `}}class A1{constructor($={}){this.options={showTokens:!1,showSExpr:!1,...$}}compile($,W){if(W)this.options={...this.options,...W};let F=null,U=$.split(`
700
- `),u=U.findIndex((w)=>w==="__DATA__");if(u!==-1){let w=U.slice(u+1);F=w.length>0?w.join(`
705
+ `),u=U.findIndex((R)=>R==="__DATA__");if(u!==-1){let R=U.slice(u+1);F=R.length>0?R.join(`
701
706
  `)+`
702
707
  `:"",$=U.slice(0,u).join(`
703
- `)}let Y=new p().tokenize($);if(this.options.showTokens)Y.forEach((w)=>console.log(`${w[0].padEnd(12)} ${JSON.stringify(w[1])}`)),console.log();let _=null,A=null;if(this.options.types==="emit"||this.options.types==="check"||this.options.types===!0)A=[...Y];Y=Y.filter((w)=>w[0]!=="TYPE_DECL");while(Y.length>0&&Y[0][0]==="TERMINATOR")Y.shift();if(Y.every((w)=>w[0]==="TERMINATOR")){if(A)_=C1(A,["program"]);return{tokens:Y,sexpr:["program"],code:"",dts:_,data:F,reactiveVars:{}}}s.lexer={tokens:Y,pos:0,setInput:function(){},lex:function(){if(this.pos>=this.tokens.length)return 1;let w=this.tokens[this.pos++],Q=w[1];if(w.data)Q=new String(Q),Object.assign(Q,w.data);return this.text=Q,this.loc=w.loc,w[0]}};let J;try{J=s.parse($)}catch(w){if(/\?\s*\([^)]*\?[^)]*:[^)]*\)\s*:/.test($)||/\?\s+\w+\s+\?\s+/.test($))throw Error("Nested ternary operators are not supported. Use if/else statements instead.");throw w}if(this.options.showSExpr)console.log(x(J,0,!0)),console.log();let R=null;if(this.options.sourceMap){let w=(this.options.filename||"output")+".js",Q=this.options.filename||"input.rip";R=new g1(w,Q,$)}let X=new y({dataSection:F,skipPreamble:this.options.skipPreamble,skipRuntimes:this.options.skipRuntimes,skipExports:this.options.skipExports,reactiveVars:this.options.reactiveVars,sourceMap:R}),z=X.compile(J),Z=R?R.toJSON():null,K=R?R.toReverseMap():null;if(Z&&this.options.sourceMap==="inline"){let w=typeof Buffer<"u"?Buffer.from(Z).toString("base64"):btoa(Z);z+=`
704
- //# sourceMappingURL=data:application/json;base64,${w}`}else if(Z&&this.options.filename)z+=`
705
- //# sourceMappingURL=${this.options.filename}.js.map`;if(A)_=C1(A,J);return{tokens:Y,sexpr:J,code:z,dts:_,map:Z,reverseMap:K,data:F,reactiveVars:X.reactiveVars}}compileToJS($){return this.compile($).code}compileToSExpr($){return this.compile($).sexpr}}K2(y,p);y.prototype.generateEnum=$2;function P1($,W={}){return new A1(W).compile($)}function d($,W={}){return new A1(W).compileToJS($)}function Z1(){return`globalThis.abort ??= (msg) => { if (msg) console.error(msg); process.exit(1); };
708
+ `)}let Y=new p().tokenize($);if(this.options.showTokens)Y.forEach((R)=>console.log(`${R[0].padEnd(12)} ${JSON.stringify(R[1])}`)),console.log();let _=null,A=null;if(this.options.types==="emit"||this.options.types==="check"||this.options.types===!0)A=[...Y];Y=Y.filter((R)=>R[0]!=="TYPE_DECL");while(Y.length>0&&Y[0][0]==="TERMINATOR")Y.shift();if(Y.every((R)=>R[0]==="TERMINATOR")){if(A)_=C1(A,["program"]);return{tokens:Y,sexpr:["program"],code:"",dts:_,data:F,reactiveVars:{}}}s.lexer={tokens:Y,pos:0,setInput:function(){},lex:function(){if(this.pos>=this.tokens.length)return 1;let R=this.tokens[this.pos++],Q=R[1];if(R.data)Q=new String(Q),Object.assign(Q,R.data);return this.text=Q,this.loc=R.loc,R[0]}};let J;try{J=s.parse($)}catch(R){if(/\?\s*\([^)]*\?[^)]*:[^)]*\)\s*:/.test($)||/\?\s+\w+\s+\?\s+/.test($))throw Error("Nested ternary operators are not supported. Use if/else statements instead.");throw R}if(this.options.showSExpr)console.log(x(J,0,!0)),console.log();let w=null;if(this.options.sourceMap){let R=(this.options.filename||"output")+".js",Q=this.options.filename||"input.rip";w=new v1(R,Q,$)}let z=new y({dataSection:F,skipPreamble:this.options.skipPreamble,skipRuntimes:this.options.skipRuntimes,skipExports:this.options.skipExports,reactiveVars:this.options.reactiveVars,sourceMap:w}),X=z.compile(J),Z=w?w.toJSON():null,K=w?w.toReverseMap():null;if(Z&&this.options.sourceMap==="inline"){let R=typeof Buffer<"u"?Buffer.from(Z).toString("base64"):btoa(Z);X+=`
709
+ //# sourceMappingURL=data:application/json;base64,${R}`}else if(Z&&this.options.filename)X+=`
710
+ //# sourceMappingURL=${this.options.filename}.js.map`;if(A)_=C1(A,J);return{tokens:Y,sexpr:J,code:X,dts:_,map:Z,reverseMap:K,data:F,reactiveVars:z.reactiveVars}}compileToJS($){return this.compile($).code}compileToSExpr($){return this.compile($).sexpr}}K2(y,p);y.prototype.generateEnum=$2;function P1($,W={}){return new A1(W).compile($)}function d($,W={}){return new A1(W).compileToJS($)}function Z1(){return`globalThis.abort ??= (msg) => { if (msg) console.error(msg); process.exit(1); };
706
711
  globalThis.assert ??= (v, msg) => { if (!v) throw new Error(msg || "Assertion failed"); };
707
712
  globalThis.exit ??= (code) => process.exit(code || 0);
708
713
  globalThis.kind ??= (v) => v != null ? (v.constructor?.name || Object.prototype.toString.call(v).slice(8, -1)).toLowerCase() : String(v);
@@ -715,12 +720,12 @@ globalThis.sleep ??= (ms) => new Promise(r => setTimeout(r, ms));
715
720
  globalThis.todo ??= (msg) => { throw new Error(msg || "Not implemented"); };
716
721
  globalThis.warn ??= console.warn;
717
722
  globalThis.zip ??= (...a) => a[0].map((_, i) => a.map(b => b[i]));
718
- `}function R1(){return new y({}).getReactiveRuntime()}function w1(){return new y({}).getComponentRuntime()}var M2="3.13.29",D2="2026-02-26@08:25:52GMT";if(typeof globalThis<"u"){if(!globalThis.__rip)Function(R1())();if(!globalThis.__ripComponent)Function(w1())()}var v3=($)=>{let W=$.match(/^[ \t]*(?=\S)/gm),F=Math.min(...(W||[]).map((U)=>U.length));return $.replace(RegExp(`^[ ]{${F}}`,"gm"),"").trim()};async function H2(){let $=[],W=document.querySelector('script[src$="rip.min.js"], script[src$="rip.js"]'),F=W?.getAttribute("data-src");if(F){for(let u of F.trim().split(/\s+/))if(u)$.push({url:u})}for(let u of document.querySelectorAll('script[type="text/rip"]'))if(u.src)$.push({url:u.src});else{let f=v3(u.textContent);if(f)$.push({code:f})}if($.length>0){await Promise.all($.map(async(Y)=>{if(!Y.url)return;try{let _=await fetch(Y.url);if(!_.ok){console.error(`Rip: failed to fetch ${Y.url} (${_.status})`);return}Y.code=await _.text()}catch(_){console.error(`Rip: failed to fetch ${Y.url}:`,_.message)}}));let u={skipRuntimes:!0,skipExports:!0},f=[];for(let Y of $){if(!Y.code)continue;try{f.push(d(Y.code,u))}catch(_){console.error("Rip compile error:",_.message)}}if(f.length>0){let Y=f.join(`
723
+ `}function R1(){return new y({}).getReactiveRuntime()}function w1(){return new y({}).getComponentRuntime()}var M2="3.13.32",D2="2026-02-26@09:33:18GMT";if(typeof globalThis<"u"){if(!globalThis.__rip)Function(R1())();if(!globalThis.__ripComponent)Function(w1())()}var g3=($)=>{let W=$.match(/^[ \t]*(?=\S)/gm),F=Math.min(...(W||[]).map((U)=>U.length));return $.replace(RegExp(`^[ ]{${F}}`,"gm"),"").trim()};async function H2(){let $=[],W=document.querySelector('script[src$="rip.min.js"], script[src$="rip.js"]'),F=W?.getAttribute("data-src");if(F){for(let u of F.trim().split(/\s+/))if(u)$.push({url:u})}for(let u of document.querySelectorAll('script[type="text/rip"]'))if(u.src)$.push({url:u.src});else{let f=g3(u.textContent);if(f)$.push({code:f})}if($.length>0){await Promise.all($.map(async(Y)=>{if(!Y.url)return;try{let _=await fetch(Y.url);if(!_.ok){console.error(`Rip: failed to fetch ${Y.url} (${_.status})`);return}Y.code=await _.text()}catch(_){console.error(`Rip: failed to fetch ${Y.url}:`,_.message)}}));let u={skipRuntimes:!0,skipExports:!0},f=[];for(let Y of $){if(!Y.code)continue;try{f.push(d(Y.code,u))}catch(_){console.error("Rip compile error:",_.message)}}if(f.length>0){let Y=f.join(`
719
724
  `),_=W?.getAttribute("data-mount");if(_){let A=W.getAttribute("data-target")||"body";Y+=`
720
725
  ${_}.mount(${JSON.stringify(A)});`}try{await(0,eval)(`(async()=>{
721
726
  ${Y}
722
727
  })()`)}catch(A){console.error("Rip runtime error:",A)}}}let U=document.querySelector("script[data-launch]");if(U&&!globalThis.__ripLaunched){let u=t.modules?.["app.rip"];if(u?.launch){let f=U.getAttribute("data-launch")||"",Y=U.getAttribute("data-hash"),_=U.getAttribute("data-persist"),A={hash:Y!=="false"};if(f)A.bundleUrl=f;if(_!=null)A.persist=_==="local"?"local":!0;await u.launch("",A)}}}async function t($){for(let[Y,_]of Object.entries(t.modules))if($.includes(Y))return _;let W=await fetch($).then((Y)=>{if(!Y.ok)throw Error(`importRip: ${$} (${Y.status})`);return Y.text()}),F=d(W),U=`// ${$}
723
728
  `,u=new Blob([U+F],{type:"application/javascript"});return await import(URL.createObjectURL(u))}t.modules={};function q2($){try{let W=$.replace(/^/gm," "),U=d(`do ->
724
- ${W}`).replace(/^let\s+[^;]+;\s*\n\s*/m,"");U=U.replace(/^const\s+(\w+)\s*=/gm,"globalThis.$1 =");let u=(0,eval)(U);if(u&&typeof u.then==="function")return u.then((f)=>{if(f!==void 0)globalThis._=f;return f});if(u!==void 0)globalThis._=u;return u}catch(W){console.error("Rip compilation error:",W.message);return}}if(typeof globalThis<"u")globalThis.rip=q2,globalThis.importRip=t,globalThis.compileToJS=d,globalThis.__ripExports={compile:P1,compileToJS:d,formatSExpr:x,getStdlibCode:Z1,VERSION:M2,BUILD_DATE:D2,getReactiveRuntime:R1,getComponentRuntime:w1};if(typeof document<"u")globalThis.__ripScriptsReady=new Promise(($)=>{let W=()=>H2().then($);if(document.readyState==="loading")document.addEventListener("DOMContentLoaded",()=>queueMicrotask(W));else queueMicrotask(W)});var N1={};t1(N1,{throttle:()=>k3,stash:()=>c2,setContext:()=>j2,raw:()=>v2,launch:()=>i3,isStash:()=>g3,hold:()=>m3,hasContext:()=>S2,getContext:()=>T2,delay:()=>g2,debounce:()=>x3,createRouter:()=>x2,createResource:()=>l3,createRenderer:()=>k2,createComponents:()=>l2});var O2,m1,U1,r,B1,G2,e,h,l1,Q1,X1,i1,P2,I2,I1,E1,E2,B2,N2,x1,k1,T2,L2,n1,S2,J1,p1,V2,h2,j2,C2,y2,d1,b2;globalThis.abort??=($)=>{if($)console.error($);process.exit(1)};globalThis.assert??=($,W)=>{if(!$)throw Error(W||"Assertion failed")};globalThis.exit??=($)=>process.exit($||0);globalThis.kind??=($)=>$!=null?($.constructor?.name||Object.prototype.toString.call($).slice(8,-1)).toLowerCase():String($);globalThis.noop??=()=>{};globalThis.p??=console.log;globalThis.pp??=($)=>{return console.log(JSON.stringify($,null,2)),$};globalThis.raise??=($,W)=>{throw W!==void 0?new $(W):Error($)};globalThis.rand??=($,W)=>W!==void 0?($>W&&([$,W]=[W,$]),Math.floor(Math.random()*(W-$+1)+$)):$?Math.floor(Math.random()*$):Math.random();globalThis.sleep??=($)=>new Promise((W)=>setTimeout(W,$));globalThis.todo??=($)=>{throw Error($||"Not implemented")};globalThis.warn??=console.warn;globalThis.zip??=(...$)=>$[0].map((W,F)=>$.map((U)=>U[F]));({__state:h,__effect:e,__batch:G2}=globalThis.__rip);({setContext:j2,getContext:T2,hasContext:S2}=globalThis.__ripComponent||{});B1=Symbol("stash");r=Symbol("signals");U1=Symbol("raw");m1=new WeakMap;l1=0;i1=h(0);n1=function($,W){let F;if(!$[r])Object.defineProperty($,r,{value:new Map,enumerable:!1});if(F=$[r].get(W),!F)F=h($[W]),$[r].set(W,F);return F};J1=function($){return n1($,Symbol.for("keys"))};b2=function($){let W;if(!($!=null&&typeof $==="object"))return $;if($[B1])return $;if($ instanceof Date||$ instanceof RegExp||$ instanceof Map||$ instanceof Set||$ instanceof Promise)return $;if(W=m1.get($),W)return W;return p1($)};p1=function($){let W,F;return F=null,W={get:function(U,u){let f,Y;if(u===B1)return!0;if(u===U1)return U;if(typeof u==="symbol")return Reflect.get(U,u);if(u==="length"&&Array.isArray(U))return J1(U).value,U.length;if(u==="get")return function(_){return C2(F,_)};if(u==="set")return function(_,A){return y2(F,_,A)};if(f=n1(U,u),Y=f.value,Y!=null&&typeof Y==="object")return b2(Y);return Y},set:function(U,u,f){let Y,_;if(Y=U[u],_=f?.[U1]?f[U1]:f,_===Y)return!0;if(U[u]=_,U[r]?.has(u))U[r].get(u).value=_;if(Y===void 0&&_!==void 0)J1(U).value=++l1;return i1.value++,!0},deleteProperty:function(U,u){let f;if(delete U[u],f=U[r]?.get(u),f)f.value=void 0;return J1(U).value=++l1,!0},ownKeys:function(U){return J1(U).value,Reflect.ownKeys(U)}},F=new Proxy($,W),m1.set($,F),F};O2=/([./][^./\[\s]+|\[[-+]?\d+\]|\[(?:"[^"]+"|'[^']+')\])/;d1=function($){let W,F,U,u,f;U=("."+$).split(O2),U.shift(),f=[],F=0;while(F<U.length){if(u=U[F],W=u[0],W==="."||W==="/")f.push(u.slice(1));else if(W==="[")if(u[1]==='"'||u[1]==="'")f.push(u.slice(2,-2));else f.push(+u.slice(1,-1));F+=2}return f};C2=function($,W){let F,U;U=d1(W),F=$;for(let u of U){if(F==null)return;F=F[u]}return F};y2=function($,W,F){let U,u;u=d1(W),U=$;for(let f=0;f<u.length;f++){let Y=u[f];if(f===u.length-1)U[Y]=F;else{if(U[Y]==null)U[Y]={};U=U[Y]}}return F};X1=function($){return typeof $==="function"?$:function(){return $.value}};Q1=function($,W){let F;return F={read:function(){return $.read()}},Object.defineProperty(F,"value",{get:function(){return $.value},set:function(U){return W.value=U}}),F};N2=function($){let W;if(W=$.replace(/\.rip$/,""),W=W.replace(/\[\.\.\.(\w+)\]/g,"*$1"),W=W.replace(/\[(\w+)\]/g,":$1"),W==="index")return"/";return W=W.replace(/\/index$/,""),"/"+W};h2=function($){let W,F;return W=[],F=$.replace(/\*(\w+)/g,function(U,u){return W.push(u),"(.+)"}).replace(/:(\w+)/g,function(U,u){return W.push(u),"([^/]+)"}),{regex:new RegExp("^"+F+"$"),names:W}};V2=function($,W){let F,U;for(let u of W)if(F=$.match(u.regex.regex),F){U={};for(let f=0;f<u.regex.names.length;f++){let Y=u.regex.names[f];U[Y]=decodeURIComponent(F[f+1])}return{route:u,params:U}}return null};I1=function($,W="components"){let F,U,u,f,Y,_,A,J,R;A=[],u=new Map,F=$.listAll(W);for(let X of F){if(_=X.slice(W.length+1),!_.endsWith(".rip"))continue;if(f=_.split("/").pop(),f==="_layout.rip"){U=_==="_layout.rip"?"":_.slice(0,-12),u.set(U,X);continue}if(f.startsWith("_"))continue;if(J=_.split("/"),J.length>1&&J.some(function(z,Z){return Z<J.length-1&&z.startsWith("_")}))continue;R=N2(_),Y=h2(R),A.push({pattern:R,regex:Y,file:X,rel:_})}return A.sort(function(X,z){let Z,K,w,Q;if(K=(X.pattern.match(/:/g)||[]).length,Q=(z.pattern.match(/:/g)||[]).length,Z=X.pattern.includes("*")?1:0,w=z.pattern.includes("*")?1:0,Z!==w)return Z-w;if(K!==Q)return K-Q;return X.pattern.localeCompare(z.pattern)}),{routes:A,layouts:u}};L2=function($,W,F){let U,u,f,Y;if(U=[],f=$.slice(W.length+1),Y=f.split("/"),u="",F.has(""))U.push(F.get(""));for(let _=0;_<Y.length;_++){let A=Y[_];if(_===Y.length-1)break;if(u=u?u+"/"+A:A,F.has(u))U.push(F.get(u))}return U};P2=function($,W){if($.length!==W.length)return!1;for(let F=0;F<$.length;F++)if($[F]!==W[F])return!1;return!0};k1=function($){for(let W in $){let F=$[W];if(typeof F==="function"&&(F.prototype?.mount||F.prototype?._create))return F}return typeof $.default==="function"?$.default:void 0};x1=function($){let W;W={};for(let F in $){let U=$[F];if(typeof U==="function"&&(U.prototype?.mount||U.prototype?._create))W[F]=U}return W};B2=function($){let W;return W=$.split("/").pop().replace(/\.rip$/,""),W.replace(/(^|[-_])([a-z])/g,function(F,U,u){return u.toUpperCase()})};I2=function($,W="components"){let F,U,u;U={};for(let f of $.listAll(W)){if(!f.endsWith(".rip"))continue;if(F=f.split("/").pop(),F.startsWith("_"))continue;if(u=B2(f),U[u])console.warn(`[Rip] Component name collision: ${u} (${U[u]} vs ${f})`);U[u]=f}return U};E1=async function($,W,F=null,U=null,u=null){let f,Y,_,A,J,R,X,z,Z,K,w,Q;if(F&&U){if(Y=F.getCompiled(U),Y)return Y}if(X=W($),u){K={};for(let M in u.map){let H=u.map[M];if(H!==U&&X.includes(`new ${M}(`)){if(!u.classes[M]){if(A=F.read(H),A){_=await E1(A,W,F,H,u),J=x1(_);for(let O in J){let q=J[O];u.classes[O]=q}}}if(u.classes[M])K[M]=!0}}if(Z=Object.keys(K),Z.length>0)w=`const {${Z.join(", ")}} = globalThis['${u.key}'];
725
- `,X=w+X}if(R=U?`// ${U}
726
- `:"",f=new Blob([R+X],{type:"application/javascript"}),Q=URL.createObjectURL(f),z=await import(Q),u){J=x1(z);for(let M in J){let H=J[M];u.classes[M]=H}}if(F&&U)F.setCompiled(U,z);return z};E2=function($){let W,F,U;return U=1000,F=30000,W=function(){let u;return u=new EventSource($),u.addEventListener("connected",function(){return U=1000,console.log("[Rip] Hot reload connected")}),u.addEventListener("reload",function(){return console.log("[Rip] Reloading..."),location.reload()}),u.addEventListener("css",function(){for(let f of document.querySelectorAll('link[rel="stylesheet"]'))$=new URL(f.href),$.searchParams.set("_t",Date.now()),f.href=$.toString()}),u.onerror=function(){return u.close(),setTimeout(W,U),U=Math.min(U*2,F)}},W()};var c2=function($={}){return p1($)},v2=function($){return $?.[U1]?$[U1]:$},g3=function($){return $?.[B1]===!0},l3=function($,W={}){let F,U,u,f,Y;if(F=h(W.initial||null),u=h(!1),U=h(null),f=async function(){let _;return u.value=!0,U.value=null,(async()=>{try{return _=await $(),F.value=_}catch(A){return U.value=A}finally{u.value=!1}})()},Y={data:void 0,loading:void 0,error:void 0,refetch:f},Object.defineProperty(Y,"data",{get:function(){return F.value}}),Object.defineProperty(Y,"loading",{get:function(){return u.value}}),Object.defineProperty(Y,"error",{get:function(){return U.value}}),!W.lazy)f();return Y},g2=function($,W){let F,U;return F=X1(W),U=h(!!F()),e(function(){let u;if(F())return u=setTimeout(function(){return U.value=!0},$),function(){return clearTimeout(u)};else return U.value=!1}),typeof W!=="function"?Q1(U,W):U},x3=function($,W){let F,U;return F=X1(W),U=h(F()),e(function(){let u,f;return f=F(),u=setTimeout(function(){return U.value=f},$),function(){return clearTimeout(u)}}),typeof W!=="function"?Q1(U,W):U},k3=function($,W){let F,U,u;return F=X1(W),u=h(F()),U=0,e(function(){let f,Y,_,A;if(A=F(),f=Date.now(),Y=$-(f-U),Y<=0)return u.value=A,U=f;else return _=setTimeout(function(){return u.value=F(),U=Date.now()},Y),function(){return clearTimeout(_)}}),typeof W!=="function"?Q1(u,W):u},m3=function($,W){let F,U;return F=X1(W),U=h(!!F()),e(function(){let u;if(F())return U.value=!0;else return u=setTimeout(function(){return U.value=!1},$),function(){return clearTimeout(u)}}),typeof W!=="function"?Q1(U,W):U},l2=function(){let $,W,F,U;return W=new Map,U=[],$=new Map,F=function(u,f){for(let Y of U)Y(u,f)},{read:function(u){return W.get(u)},write:function(u,f){let Y;return Y=!W.has(u),W.set(u,f),$.delete(u),F(Y?"create":"change",u)},del:function(u){return W.delete(u),$.delete(u),F("delete",u)},exists:function(u){return W.has(u)},size:function(){return W.size},list:function(u=""){let f,Y,_;_=[],f=u?u+"/":"";for(let[A]of W)if(A.startsWith(f)){if(Y=A.slice(f.length),Y.includes("/"))continue;_.push(A)}return _},listAll:function(u=""){let f,Y;Y=[],f=u?u+"/":"";for(let[_]of W)if(_.startsWith(f))Y.push(_);return Y},load:function(u){for(let f in u){let Y=u[f];W.set(f,Y)}},watch:function(u){return U.push(u),function(){return U.splice(U.indexOf(u),1)}},getCompiled:function(u){return $.get(u)},setCompiled:function(u,f){return $.set(u,f)}}},x2=function($,W={}){let F,U,u,f,Y,_,A,J,R,X,z,Z,K,w,Q,M,H,O,q,E,I;if(H=W.root||"components",R=W.base||"",X=W.hash||!1,K=W.onError||null,q=function(D){return R&&D.startsWith(R)?D.slice(R.length)||"/":D},J=function(D){return R?R+D:D},Q=function(){let D;if(X){if(D=location.hash.slice(1),!D)return"/";return D[0]==="/"?D:"/"+D}else return location.pathname+location.search+location.hash},I=function(D){return X?D==="/"?location.pathname:"#"+D.slice(1):J(D)},Y=h(q(X?Q():location.pathname)),f=h({}),A=h(null),U=h([]),_=h({}),F=h(""),u=g2(100,h(!1)),E=I1($,H),z=new Set,$.watch(function(D,G){if(!G.startsWith(H+"/"))return;return E=I1($,H)}),M=function(D){let G,P,B,N,T;if(N=D.split("?")[0].split("#")[0],P=q(N),P=P[0]==="/"?P:"/"+P,B=D.split("?")[1]?.split("#")[0]||"",G=D.includes("#")?D.split("#")[1]:"",T=V2(P,E.routes),T){G2(function(){return Y.value=P,f.value=T.params,A.value=T.route,U.value=L2(T.route.file,H,E.layouts),_.value=Object.fromEntries(new URLSearchParams(B)),F.value=G});for(let S of z)S(O.current);return!0}if(K)K({status:404,path:P});return!1},w=function(){return M(Q())},typeof window<"u")window.addEventListener("popstate",w);if(Z=function(D){let G,P,B;if(D.button!==0||D.metaKey||D.ctrlKey||D.shiftKey||D.altKey)return;P=D.target;while(P&&P.tagName!=="A")P=P.parentElement;if(!P?.href)return;if(B=new URL(P.href,location.origin),B.origin!==location.origin)return;if(P.target==="_blank"||P.hasAttribute("data-external"))return;return D.preventDefault(),G=X&&B.hash?B.hash.slice(1)||"/":B.pathname+B.search+B.hash,O.push(G)},typeof document<"u")document.addEventListener("click",Z);return O={push:function(D){return M(D)?history.pushState(null,"",I(Y.read())):void 0},replace:function(D){return M(D)?history.replaceState(null,"",I(Y.read())):void 0},back:function(){return history.back()},forward:function(){return history.forward()},current:void 0,path:void 0,params:void 0,route:void 0,layouts:void 0,query:void 0,hash:void 0,navigating:void 0,onNavigate:function(D){return z.add(D),function(){return z.delete(D)}},rebuild:function(){return E=I1($,H)},routes:void 0,init:function(){return M(Q()),O},destroy:function(){if(typeof window<"u")window.removeEventListener("popstate",w);if(typeof document<"u")document.removeEventListener("click",Z);return z.clear()}},Object.defineProperty(O,"current",{get:function(){return{path:Y.value,params:f.value,route:A.value,layouts:U.value,query:_.value,hash:F.value}}}),Object.defineProperty(O,"path",{get:function(){return Y.value}}),Object.defineProperty(O,"params",{get:function(){return f.value}}),Object.defineProperty(O,"route",{get:function(){return A.value}}),Object.defineProperty(O,"layouts",{get:function(){return U.value}}),Object.defineProperty(O,"query",{get:function(){return _.value}}),Object.defineProperty(O,"hash",{get:function(){return F.value}}),Object.defineProperty(O,"navigating",{get:function(){return u.value},set:function(D){return u.value=D}}),Object.defineProperty(O,"routes",{get:function(){return E.routes}}),O},k2=function($={}){let W,F,U,u,f,Y,_,A,J,R,X,z,Z,K,w,Q,M,H,O,q,E,I;if({router:q,app:W,components:f,resolver:O,compile:U,target:E,onError:M}=$,Y=typeof E==="string"?document.querySelector(E):E||document.getElementById("app"),!Y)Y=document.createElement("div"),Y.id="app",document.body.appendChild(Y);return Y.style.opacity="0",_=null,R=null,J=null,A=[],Z=[],w=Y,z=0,X=null,u=new Map,K=$.cacheSize||10,F=function(){let D,G;if(_&&R){if(_.beforeUnmount)_.beforeUnmount();if(u.set(R,_),u.size>K){if(G=u.keys().next().value,D=u.get(G),D.unmounted)D.unmounted();u.delete(G)}return _=null,R=null}},I=function(){F();for(let D=Z.length-1;D>=0;D--){let G=Z[D];if(G.beforeUnmount)G.beforeUnmount();if(G.unmounted)G.unmounted();G._target?.remove()}return Z=[],w=Y},f.watch(function(D,G){let P;if(u.has(G)){if(P=u.get(G),P.unmounted)P.unmounted();return u.delete(G)}}),Q=async function(D){let G,P,B,N,T,S,j,C,c,o,k,z1,m,r1,K1,u1,M1,T1,b,o1,L1,f1;if({route:b,params:u1,layouts:C,query:T1}=D,!b)return;if(b.file===R&&JSON.stringify(u1)===JSON.stringify(J))return;return J=u1,N=++z,q.navigating=!0,(async()=>{try{if(L1=f.read(b.file),!L1){if(M)M({status:404,message:`File not found: ${b.file}`});q.navigating=!1;return}if(z1=await E1(L1,U,f,b.file,O),N!==z){q.navigating=!1;return}if(G=k1(z1),!G){if(M)M({status:500,message:`No component found in ${b.file}`});q.navigating=!1;return}if(k=!P2(C,A),r1=_?._target,k)I();else F();if(m=k?Y:w,k&&C.length>0){Y.innerHTML="",m=Y;for(let g of C){if(o=f.read(g),!o)continue;if(c=await E1(o,U,f,g,O),N!==z){q.navigating=!1;return}if(P=k1(c),!P)continue;if(S=new P({app:W,params:u1,router:q}),S.beforeMount)S.beforeMount();f1=document.createElement("div"),f1.setAttribute("data-layout",g),m.appendChild(f1),S.mount(f1),Z.push(S),o1=f1.querySelector("slot")||f1,m=o1}A=[...C],w=m}else if(k)Y.innerHTML="",A=[],w=Y;if(B=u.get(b.file),B)u.delete(b.file),m.appendChild(B._target),_=B,R=b.file;else{if(K1=document.createElement("div"),K1.setAttribute("data-component",b.file),m.appendChild(K1),j=new G({app:W,params:u1,query:T1,router:q}),j.beforeMount)j.beforeMount();if(j.mount(K1),_=j,R=b.file,j.load)await j.load(u1,T1)}return r1?.remove(),q.navigating=!1,Y.style.opacity==="0"?document.fonts.ready.then(function(){return requestAnimationFrame(function(){return Y.style.transition="opacity 150ms ease-in",Y.style.opacity="1"})}):void 0}catch(g){if(q.navigating=!1,Y.style.opacity="1",console.error(`Renderer: error mounting ${b.file}:`,g),M)M({status:500,message:g.message,error:g});T=!1;for(let S1=Z.length-1;S1>=0;S1--){let a1=Z[S1];if(a1.onError)try{a1.onError(g),T=!0;break}catch(m2){console.error("Renderer: error boundary failed:",m2)}}return(()=>{if(!T)return M1=document.createElement("pre"),M1.style.cssText="color:red;padding:1em",M1.textContent=g.stack||g.message,Y.innerHTML="",Y.appendChild(M1)})()}})()},H={start:function(){return X=e(function(){let D;return D=q.current,D.route?Q(D):void 0}),q.init(),H},stop:function(){if(I(),X)X(),X=null;return Y.innerHTML=""},remount:function(){let D;return D=q.current,D.route?Q(D):void 0},cache:u},H},i3=async function($="",W={}){let F,U,u,f,Y,_,A,J,R,X,z,Z,K,w,Q,M,H,O,q,E,I,D;if(globalThis.__ripLaunched=!0,typeof $==="object")W=$,$="";if($=$.replace(/\/+$/,""),D=W.target||"#app",R=W.compile||null,Q=W.persist||!1,K=W.hash||!1,!R)R=globalThis?.compileToJS||null;if(typeof document<"u"&&!document.querySelector(D))X=document.createElement("div"),X.id=D.replace(/^#/,""),document.body.prepend(X);if(W.bundle)_=W.bundle;else if(W.bundleUrl){if(w={},Z=`__rip_etag_${W.bundleUrl}`,A=sessionStorage.getItem(Z),A)w["If-None-Match"]=A;if(H=await fetch(W.bundleUrl,{headers:w}),H.status===304)_=JSON.parse(sessionStorage.getItem(`${Z}_data`));else if(H.ok){if(_=await H.json(),z=H.headers.get("etag"),z)sessionStorage.setItem(Z,z),sessionStorage.setItem(`${Z}_data`,JSON.stringify(_))}else throw Error(`launch: ${W.bundleUrl} (${H.status})`)}else throw Error("launch: no bundle or bundleUrl provided");if(f=c2({components:{},routes:{},data:{}}),_.data)f.data=_.data;if(_.routes)f.routes=_.routes;if(Q&&typeof sessionStorage<"u"){u=`__rip_${$}`,U=Q==="local"?localStorage:sessionStorage;try{if(E=U.getItem(u),E){I=JSON.parse(E);for(let G in I){let P=I[G];f.data[G]=P}}}catch{}F=function(){return(()=>{try{return U.setItem(u,JSON.stringify(v2(f.data)))}catch{return null}})()},e(function(){let G;return i1.value,G=setTimeout(F,2000),function(){return clearTimeout(G)}}),window.addEventListener("beforeunload",F)}if(Y=l2(),_.components)Y.load(_.components);if(J=`__rip_${$.replace(/\//g,"_")||"app"}`,O={map:I2(Y),classes:{},key:J},typeof globalThis<"u")globalThis[J]=O.classes;if(f.data.title&&typeof document<"u")document.title=f.data.title;if(q=x2(Y,{root:"components",base:$,hash:K,onError:function(G){return console.error(`[Rip] Error ${G.status}: ${G.message||G.path}`)}}),M=k2({router:q,app:f,components:Y,resolver:O,compile:R,target:D,onError:function(G){return console.error(`[Rip] ${G.message}`,G.error)}}),M.start(),_.data?.watch)E2(`${$}/watch`);if(typeof window<"u")window.app=f,window.__RIP__={app:f,components:Y,router:q,renderer:M,cache:M.cache,version:"0.3.0"};return{app:f,components:Y,router:q,renderer:M}};t.modules["app.rip"]=N1;for(let[$,W]of Object.entries(N1))if(typeof W==="function")globalThis[$]=W;})();
729
+ ${W}`).replace(/^let\s+[^;]+;\s*\n\s*/m,"");U=U.replace(/^const\s+(\w+)\s*=/gm,"globalThis.$1 =");let u=(0,eval)(U);if(u&&typeof u.then==="function")return u.then((f)=>{if(f!==void 0)globalThis._=f;return f});if(u!==void 0)globalThis._=u;return u}catch(W){console.error("Rip compilation error:",W.message);return}}if(typeof globalThis<"u")globalThis.rip=q2,globalThis.importRip=t,globalThis.compileToJS=d,globalThis.__ripExports={compile:P1,compileToJS:d,formatSExpr:x,getStdlibCode:Z1,VERSION:M2,BUILD_DATE:D2,getReactiveRuntime:R1,getComponentRuntime:w1};if(typeof document<"u")globalThis.__ripScriptsReady=new Promise(($)=>{let W=()=>H2().then($);if(document.readyState==="loading")document.addEventListener("DOMContentLoaded",()=>queueMicrotask(W));else queueMicrotask(W)});var N1={};t1(N1,{throttle:()=>k3,stash:()=>c2,setContext:()=>j2,raw:()=>g2,launch:()=>i3,isStash:()=>v3,hold:()=>m3,hasContext:()=>S2,getContext:()=>T2,delay:()=>v2,debounce:()=>x3,createRouter:()=>x2,createResource:()=>l3,createRenderer:()=>k2,createComponents:()=>l2});var O2,m1,U1,r,B1,G2,e,V,l1,Q1,X1,i1,P2,I2,I1,E1,E2,B2,N2,x1,k1,T2,L2,n1,S2,J1,p1,h2,V2,j2,C2,y2,d1,b2;globalThis.abort??=($)=>{if($)console.error($);process.exit(1)};globalThis.assert??=($,W)=>{if(!$)throw Error(W||"Assertion failed")};globalThis.exit??=($)=>process.exit($||0);globalThis.kind??=($)=>$!=null?($.constructor?.name||Object.prototype.toString.call($).slice(8,-1)).toLowerCase():String($);globalThis.noop??=()=>{};globalThis.p??=console.log;globalThis.pp??=($)=>{return console.log(JSON.stringify($,null,2)),$};globalThis.raise??=($,W)=>{throw W!==void 0?new $(W):Error($)};globalThis.rand??=($,W)=>W!==void 0?($>W&&([$,W]=[W,$]),Math.floor(Math.random()*(W-$+1)+$)):$?Math.floor(Math.random()*$):Math.random();globalThis.sleep??=($)=>new Promise((W)=>setTimeout(W,$));globalThis.todo??=($)=>{throw Error($||"Not implemented")};globalThis.warn??=console.warn;globalThis.zip??=(...$)=>$[0].map((W,F)=>$.map((U)=>U[F]));({__state:V,__effect:e,__batch:G2}=globalThis.__rip);({setContext:j2,getContext:T2,hasContext:S2}=globalThis.__ripComponent||{});B1=Symbol("stash");r=Symbol("signals");U1=Symbol("raw");m1=new WeakMap;l1=0;i1=V(0);n1=function($,W){let F;if(!$[r])Object.defineProperty($,r,{value:new Map,enumerable:!1});if(F=$[r].get(W),!F)F=V($[W]),$[r].set(W,F);return F};J1=function($){return n1($,Symbol.for("keys"))};b2=function($){let W;if(!($!=null&&typeof $==="object"))return $;if($[B1])return $;if($ instanceof Date||$ instanceof RegExp||$ instanceof Map||$ instanceof Set||$ instanceof Promise)return $;if(W=m1.get($),W)return W;return p1($)};p1=function($){let W,F;return F=null,W={get:function(U,u){let f,Y;if(u===B1)return!0;if(u===U1)return U;if(typeof u==="symbol")return Reflect.get(U,u);if(u==="length"&&Array.isArray(U))return J1(U).value,U.length;if(u==="get")return function(_){return C2(F,_)};if(u==="set")return function(_,A){return y2(F,_,A)};if(f=n1(U,u),Y=f.value,Y!=null&&typeof Y==="object")return b2(Y);return Y},set:function(U,u,f){let Y,_;if(Y=U[u],_=f?.[U1]?f[U1]:f,_===Y)return!0;if(U[u]=_,U[r]?.has(u))U[r].get(u).value=_;if(Y===void 0&&_!==void 0)J1(U).value=++l1;return i1.value++,!0},deleteProperty:function(U,u){let f;if(delete U[u],f=U[r]?.get(u),f)f.value=void 0;return J1(U).value=++l1,!0},ownKeys:function(U){return J1(U).value,Reflect.ownKeys(U)}},F=new Proxy($,W),m1.set($,F),F};O2=/([./][^./\[\s]+|\[[-+]?\d+\]|\[(?:"[^"]+"|'[^']+')\])/;d1=function($){let W,F,U,u,f;U=("."+$).split(O2),U.shift(),f=[],F=0;while(F<U.length){if(u=U[F],W=u[0],W==="."||W==="/")f.push(u.slice(1));else if(W==="[")if(u[1]==='"'||u[1]==="'")f.push(u.slice(2,-2));else f.push(+u.slice(1,-1));F+=2}return f};C2=function($,W){let F,U;U=d1(W),F=$;for(let u of U){if(F==null)return;F=F[u]}return F};y2=function($,W,F){let U,u;u=d1(W),U=$;for(let f=0;f<u.length;f++){let Y=u[f];if(f===u.length-1)U[Y]=F;else{if(U[Y]==null)U[Y]={};U=U[Y]}}return F};X1=function($){return typeof $==="function"?$:function(){return $.value}};Q1=function($,W){let F;return F={read:function(){return $.read()}},Object.defineProperty(F,"value",{get:function(){return $.value},set:function(U){return W.value=U}}),F};N2=function($){let W;if(W=$.replace(/\.rip$/,""),W=W.replace(/\[\.\.\.(\w+)\]/g,"*$1"),W=W.replace(/\[(\w+)\]/g,":$1"),W==="index")return"/";return W=W.replace(/\/index$/,""),"/"+W};V2=function($){let W,F;return W=[],F=$.replace(/\*(\w+)/g,function(U,u){return W.push(u),"(.+)"}).replace(/:(\w+)/g,function(U,u){return W.push(u),"([^/]+)"}),{regex:new RegExp("^"+F+"$"),names:W}};h2=function($,W){let F,U;for(let u of W)if(F=$.match(u.regex.regex),F){U={};for(let f=0;f<u.regex.names.length;f++){let Y=u.regex.names[f];U[Y]=decodeURIComponent(F[f+1])}return{route:u,params:U}}return null};I1=function($,W="components"){let F,U,u,f,Y,_,A,J,w;A=[],u=new Map,F=$.listAll(W);for(let z of F){if(_=z.slice(W.length+1),!_.endsWith(".rip"))continue;if(f=_.split("/").pop(),f==="_layout.rip"){U=_==="_layout.rip"?"":_.slice(0,-12),u.set(U,z);continue}if(f.startsWith("_"))continue;if(J=_.split("/"),J.length>1&&J.some(function(X,Z){return Z<J.length-1&&X.startsWith("_")}))continue;w=N2(_),Y=V2(w),A.push({pattern:w,regex:Y,file:z,rel:_})}return A.sort(function(z,X){let Z,K,R,Q;if(K=(z.pattern.match(/:/g)||[]).length,Q=(X.pattern.match(/:/g)||[]).length,Z=z.pattern.includes("*")?1:0,R=X.pattern.includes("*")?1:0,Z!==R)return Z-R;if(K!==Q)return K-Q;return z.pattern.localeCompare(X.pattern)}),{routes:A,layouts:u}};L2=function($,W,F){let U,u,f,Y;if(U=[],f=$.slice(W.length+1),Y=f.split("/"),u="",F.has(""))U.push(F.get(""));for(let _=0;_<Y.length;_++){let A=Y[_];if(_===Y.length-1)break;if(u=u?u+"/"+A:A,F.has(u))U.push(F.get(u))}return U};P2=function($,W){if($.length!==W.length)return!1;for(let F=0;F<$.length;F++)if($[F]!==W[F])return!1;return!0};k1=function($){for(let W in $){let F=$[W];if(typeof F==="function"&&(F.prototype?.mount||F.prototype?._create))return F}return typeof $.default==="function"?$.default:void 0};x1=function($){let W;W={};for(let F in $){let U=$[F];if(typeof U==="function"&&(U.prototype?.mount||U.prototype?._create))W[F]=U}return W};B2=function($){let W;return W=$.split("/").pop().replace(/\.rip$/,""),W.replace(/(^|[-_])([a-z])/g,function(F,U,u){return u.toUpperCase()})};I2=function($,W="components"){let F,U,u;U={};for(let f of $.listAll(W)){if(!f.endsWith(".rip"))continue;if(F=f.split("/").pop(),F.startsWith("_"))continue;if(u=B2(f),U[u])console.warn(`[Rip] Component name collision: ${u} (${U[u]} vs ${f})`);U[u]=f}return U};E1=async function($,W,F=null,U=null,u=null){let f,Y,_,A,J,w,z,X,Z,K,R,Q;if(F&&U){if(Y=F.getCompiled(U),Y)return Y}if(z=W($),u){K={};for(let M in u.map){let H=u.map[M];if(H!==U&&z.includes(`new ${M}(`)){if(!u.classes[M]){if(A=F.read(H),A){_=await E1(A,W,F,H,u),J=x1(_);for(let O in J){let q=J[O];u.classes[O]=q}}}if(u.classes[M])K[M]=!0}}if(Z=Object.keys(K),Z.length>0)R=`const {${Z.join(", ")}} = globalThis['${u.key}'];
730
+ `,z=R+z}if(w=U?`// ${U}
731
+ `:"",f=new Blob([w+z],{type:"application/javascript"}),Q=URL.createObjectURL(f),X=await import(Q),u){J=x1(X);for(let M in J){let H=J[M];u.classes[M]=H}}if(F&&U)F.setCompiled(U,X);return X};E2=function($){let W,F,U;return U=1000,F=30000,W=function(){let u;return u=new EventSource($),u.addEventListener("connected",function(){return U=1000,console.log("[Rip] Hot reload connected")}),u.addEventListener("reload",function(){return console.log("[Rip] Reloading..."),location.reload()}),u.addEventListener("css",function(){for(let f of document.querySelectorAll('link[rel="stylesheet"]'))$=new URL(f.href),$.searchParams.set("_t",Date.now()),f.href=$.toString()}),u.onerror=function(){return u.close(),setTimeout(W,U),U=Math.min(U*2,F)}},W()};var c2=function($={}){return p1($)},g2=function($){return $?.[U1]?$[U1]:$},v3=function($){return $?.[B1]===!0},l3=function($,W={}){let F,U,u,f,Y;if(F=V(W.initial||null),u=V(!1),U=V(null),f=async function(){let _;return u.value=!0,U.value=null,(async()=>{try{return _=await $(),F.value=_}catch(A){return U.value=A}finally{u.value=!1}})()},Y={data:void 0,loading:void 0,error:void 0,refetch:f},Object.defineProperty(Y,"data",{get:function(){return F.value}}),Object.defineProperty(Y,"loading",{get:function(){return u.value}}),Object.defineProperty(Y,"error",{get:function(){return U.value}}),!W.lazy)f();return Y},v2=function($,W){let F,U;return F=X1(W),U=V(!!F()),e(function(){let u;if(F())return u=setTimeout(function(){return U.value=!0},$),function(){return clearTimeout(u)};else return U.value=!1}),typeof W!=="function"?Q1(U,W):U},x3=function($,W){let F,U;return F=X1(W),U=V(F()),e(function(){let u,f;return f=F(),u=setTimeout(function(){return U.value=f},$),function(){return clearTimeout(u)}}),typeof W!=="function"?Q1(U,W):U},k3=function($,W){let F,U,u;return F=X1(W),u=V(F()),U=0,e(function(){let f,Y,_,A;if(A=F(),f=Date.now(),Y=$-(f-U),Y<=0)return u.value=A,U=f;else return _=setTimeout(function(){return u.value=F(),U=Date.now()},Y),function(){return clearTimeout(_)}}),typeof W!=="function"?Q1(u,W):u},m3=function($,W){let F,U;return F=X1(W),U=V(!!F()),e(function(){let u;if(F())return U.value=!0;else return u=setTimeout(function(){return U.value=!1},$),function(){return clearTimeout(u)}}),typeof W!=="function"?Q1(U,W):U},l2=function(){let $,W,F,U;return W=new Map,U=[],$=new Map,F=function(u,f){for(let Y of U)Y(u,f)},{read:function(u){return W.get(u)},write:function(u,f){let Y;return Y=!W.has(u),W.set(u,f),$.delete(u),F(Y?"create":"change",u)},del:function(u){return W.delete(u),$.delete(u),F("delete",u)},exists:function(u){return W.has(u)},size:function(){return W.size},list:function(u=""){let f,Y,_;_=[],f=u?u+"/":"";for(let[A]of W)if(A.startsWith(f)){if(Y=A.slice(f.length),Y.includes("/"))continue;_.push(A)}return _},listAll:function(u=""){let f,Y;Y=[],f=u?u+"/":"";for(let[_]of W)if(_.startsWith(f))Y.push(_);return Y},load:function(u){for(let f in u){let Y=u[f];W.set(f,Y)}},watch:function(u){return U.push(u),function(){return U.splice(U.indexOf(u),1)}},getCompiled:function(u){return $.get(u)},setCompiled:function(u,f){return $.set(u,f)}}},x2=function($,W={}){let F,U,u,f,Y,_,A,J,w,z,X,Z,K,R,Q,M,H,O,q,E,I;if(H=W.root||"components",w=W.base||"",z=W.hash||!1,K=W.onError||null,q=function(D){return w&&D.startsWith(w)?D.slice(w.length)||"/":D},J=function(D){return w?w+D:D},Q=function(){let D;if(z){if(D=location.hash.slice(1),!D)return"/";return D[0]==="/"?D:"/"+D}else return location.pathname+location.search+location.hash},I=function(D){return z?D==="/"?location.pathname:"#"+D.slice(1):J(D)},Y=V(q(z?Q():location.pathname)),f=V({}),A=V(null),U=V([]),_=V({}),F=V(""),u=v2(100,V(!1)),E=I1($,H),X=new Set,$.watch(function(D,G){if(!G.startsWith(H+"/"))return;return E=I1($,H)}),M=function(D){let G,P,B,N,T;if(N=D.split("?")[0].split("#")[0],P=q(N),P=P[0]==="/"?P:"/"+P,B=D.split("?")[1]?.split("#")[0]||"",G=D.includes("#")?D.split("#")[1]:"",T=h2(P,E.routes),T){G2(function(){return Y.value=P,f.value=T.params,A.value=T.route,U.value=L2(T.route.file,H,E.layouts),_.value=Object.fromEntries(new URLSearchParams(B)),F.value=G});for(let S of X)S(O.current);return!0}if(K)K({status:404,path:P});return!1},R=function(){return M(Q())},typeof window<"u")window.addEventListener("popstate",R);if(Z=function(D){let G,P,B;if(D.button!==0||D.metaKey||D.ctrlKey||D.shiftKey||D.altKey)return;P=D.target;while(P&&P.tagName!=="A")P=P.parentElement;if(!P?.href)return;if(B=new URL(P.href,location.origin),B.origin!==location.origin)return;if(P.target==="_blank"||P.hasAttribute("data-external"))return;return D.preventDefault(),G=z&&B.hash?B.hash.slice(1)||"/":B.pathname+B.search+B.hash,O.push(G)},typeof document<"u")document.addEventListener("click",Z);return O={push:function(D){return M(D)?history.pushState(null,"",I(Y.read())):void 0},replace:function(D){return M(D)?history.replaceState(null,"",I(Y.read())):void 0},back:function(){return history.back()},forward:function(){return history.forward()},current:void 0,path:void 0,params:void 0,route:void 0,layouts:void 0,query:void 0,hash:void 0,navigating:void 0,onNavigate:function(D){return X.add(D),function(){return X.delete(D)}},rebuild:function(){return E=I1($,H)},routes:void 0,init:function(){return M(Q()),O},destroy:function(){if(typeof window<"u")window.removeEventListener("popstate",R);if(typeof document<"u")document.removeEventListener("click",Z);return X.clear()}},Object.defineProperty(O,"current",{get:function(){return{path:Y.value,params:f.value,route:A.value,layouts:U.value,query:_.value,hash:F.value}}}),Object.defineProperty(O,"path",{get:function(){return Y.value}}),Object.defineProperty(O,"params",{get:function(){return f.value}}),Object.defineProperty(O,"route",{get:function(){return A.value}}),Object.defineProperty(O,"layouts",{get:function(){return U.value}}),Object.defineProperty(O,"query",{get:function(){return _.value}}),Object.defineProperty(O,"hash",{get:function(){return F.value}}),Object.defineProperty(O,"navigating",{get:function(){return u.value},set:function(D){return u.value=D}}),Object.defineProperty(O,"routes",{get:function(){return E.routes}}),O},k2=function($={}){let W,F,U,u,f,Y,_,A,J,w,z,X,Z,K,R,Q,M,H,O,q,E,I;if({router:q,app:W,components:f,resolver:O,compile:U,target:E,onError:M}=$,Y=typeof E==="string"?document.querySelector(E):E||document.getElementById("app"),!Y)Y=document.createElement("div"),Y.id="app",document.body.appendChild(Y);return Y.style.opacity="0",_=null,w=null,J=null,A=[],Z=[],R=Y,X=0,z=null,u=new Map,K=$.cacheSize||10,F=function(){let D,G;if(_&&w){if(_.beforeUnmount)_.beforeUnmount();if(u.set(w,_),u.size>K){if(G=u.keys().next().value,D=u.get(G),D.unmounted)D.unmounted();u.delete(G)}return _=null,w=null}},I=function(){F();for(let D=Z.length-1;D>=0;D--){let G=Z[D];if(G.beforeUnmount)G.beforeUnmount();if(G.unmounted)G.unmounted();G._target?.remove()}return Z=[],R=Y},f.watch(function(D,G){let P;if(u.has(G)){if(P=u.get(G),P.unmounted)P.unmounted();return u.delete(G)}}),Q=async function(D){let G,P,B,N,T,S,j,C,c,o,k,z1,m,r1,K1,u1,M1,T1,b,o1,L1,f1;if({route:b,params:u1,layouts:C,query:T1}=D,!b)return;if(b.file===w&&JSON.stringify(u1)===JSON.stringify(J))return;return J=u1,N=++X,q.navigating=!0,(async()=>{try{if(L1=f.read(b.file),!L1){if(M)M({status:404,message:`File not found: ${b.file}`});q.navigating=!1;return}if(z1=await E1(L1,U,f,b.file,O),N!==X){q.navigating=!1;return}if(G=k1(z1),!G){if(M)M({status:500,message:`No component found in ${b.file}`});q.navigating=!1;return}if(k=!P2(C,A),r1=_?._target,k)I();else F();if(m=k?Y:R,k&&C.length>0){Y.innerHTML="",m=Y;for(let v of C){if(o=f.read(v),!o)continue;if(c=await E1(o,U,f,v,O),N!==X){q.navigating=!1;return}if(P=k1(c),!P)continue;if(S=new P({app:W,params:u1,router:q}),S.beforeMount)S.beforeMount();f1=document.createElement("div"),f1.setAttribute("data-layout",v),m.appendChild(f1),S.mount(f1),Z.push(S),o1=f1.querySelector("slot")||f1,m=o1}A=[...C],R=m}else if(k)Y.innerHTML="",A=[],R=Y;if(B=u.get(b.file),B)u.delete(b.file),m.appendChild(B._target),_=B,w=b.file;else{if(K1=document.createElement("div"),K1.setAttribute("data-component",b.file),m.appendChild(K1),j=new G({app:W,params:u1,query:T1,router:q}),j.beforeMount)j.beforeMount();if(j.mount(K1),_=j,w=b.file,j.load)await j.load(u1,T1)}return r1?.remove(),q.navigating=!1,Y.style.opacity==="0"?document.fonts.ready.then(function(){return requestAnimationFrame(function(){return Y.style.transition="opacity 150ms ease-in",Y.style.opacity="1"})}):void 0}catch(v){if(q.navigating=!1,Y.style.opacity="1",console.error(`Renderer: error mounting ${b.file}:`,v),M)M({status:500,message:v.message,error:v});T=!1;for(let S1=Z.length-1;S1>=0;S1--){let a1=Z[S1];if(a1.onError)try{a1.onError(v),T=!0;break}catch(m2){console.error("Renderer: error boundary failed:",m2)}}return(()=>{if(!T)return M1=document.createElement("pre"),M1.style.cssText="color:red;padding:1em",M1.textContent=v.stack||v.message,Y.innerHTML="",Y.appendChild(M1)})()}})()},H={start:function(){return z=e(function(){let D;return D=q.current,D.route?Q(D):void 0}),q.init(),H},stop:function(){if(I(),z)z(),z=null;return Y.innerHTML=""},remount:function(){let D;return D=q.current,D.route?Q(D):void 0},cache:u},H},i3=async function($="",W={}){let F,U,u,f,Y,_,A,J,w,z,X,Z,K,R,Q,M,H,O,q,E,I,D;if(globalThis.__ripLaunched=!0,typeof $==="object")W=$,$="";if($=$.replace(/\/+$/,""),D=W.target||"#app",w=W.compile||null,Q=W.persist||!1,K=W.hash||!1,!w)w=globalThis?.compileToJS||null;if(typeof document<"u"&&!document.querySelector(D))z=document.createElement("div"),z.id=D.replace(/^#/,""),document.body.prepend(z);if(W.bundle)_=W.bundle;else if(W.bundleUrl){if(R={},Z=`__rip_etag_${W.bundleUrl}`,A=sessionStorage.getItem(Z),A)R["If-None-Match"]=A;if(H=await fetch(W.bundleUrl,{headers:R}),H.status===304)_=JSON.parse(sessionStorage.getItem(`${Z}_data`));else if(H.ok){if(_=await H.json(),X=H.headers.get("etag"),X)sessionStorage.setItem(Z,X),sessionStorage.setItem(`${Z}_data`,JSON.stringify(_))}else throw Error(`launch: ${W.bundleUrl} (${H.status})`)}else throw Error("launch: no bundle or bundleUrl provided");if(f=c2({components:{},routes:{},data:{}}),_.data)f.data=_.data;if(_.routes)f.routes=_.routes;if(Q&&typeof sessionStorage<"u"){u=`__rip_${$}`,U=Q==="local"?localStorage:sessionStorage;try{if(E=U.getItem(u),E){I=JSON.parse(E);for(let G in I){let P=I[G];f.data[G]=P}}}catch{}F=function(){return(()=>{try{return U.setItem(u,JSON.stringify(g2(f.data)))}catch{return null}})()},e(function(){let G;return i1.value,G=setTimeout(F,2000),function(){return clearTimeout(G)}}),window.addEventListener("beforeunload",F)}if(Y=l2(),_.components)Y.load(_.components);if(J=`__rip_${$.replace(/\//g,"_")||"app"}`,O={map:I2(Y),classes:{},key:J},typeof globalThis<"u")globalThis[J]=O.classes;if(f.data.title&&typeof document<"u")document.title=f.data.title;if(q=x2(Y,{root:"components",base:$,hash:K,onError:function(G){return console.error(`[Rip] Error ${G.status}: ${G.message||G.path}`)}}),M=k2({router:q,app:f,components:Y,resolver:O,compile:w,target:D,onError:function(G){return console.error(`[Rip] ${G.message}`,G.error)}}),M.start(),_.data?.watch)E2(`${$}/watch`);if(typeof window<"u")window.app=f,window.__RIP__={app:f,components:Y,router:q,renderer:M,cache:M.cache,version:"0.3.0"};return{app:f,components:Y,router:q,renderer:M}};t.modules["app.rip"]=N1;for(let[$,W]of Object.entries(N1))if(typeof W==="function")globalThis[$]=W;})();