diff --git a/dist/@rip/rip.js b/dist/@rip/rip.js index 9c522473..aa58ce44 100644 --- a/dist/@rip/rip.js +++ b/dist/@rip/rip.js @@ -13161,19 +13161,27 @@ ${pad}`); this.patternNames(v, names, true); return names; } - rangedByHeader(node, markVar, vars, iter, step) { + rangedHeader(node, markVar, vars, iter, step) { const [dots, from, to] = iter; const cmpUp = dots === ".." ? "<=" : "<"; const cmpDown = dots === ".." ? ">=" : ">"; const numText = (s) => typeof s === "string" && /^[0-9.]/.test(s) ? s : null; - const posLit = numText(step) ?? (isNode(step) && step[0] === "+" && step.length === 2 ? numText(step[1]) : null); - const negLit = isNode(step) && step[0] === "-" && step.length === 2 ? numText(step[1]) : null; - if ((posLit ?? negLit) !== null && Number((posLit ?? negLit).replace(/_/g, "")) === 0) { + const signedText = (x) => numText(x) ?? (isNode(x) && (x[0] === "+" || x[0] === "-") && x.length === 2 && numText(x[1]) !== null ? `${x[0] === "-" ? "-" : ""}${numText(x[1])}` : null); + const literal = (x) => { + const text = signedText(x); + return text === null ? null : Number(text.replace(/_/g, "")); + }; + const stepLit = step === null ? null : literal(step); + if (stepLit === 0) { throw this.positionedError(node, "emitter: a BY step of 0 never advances the loop"); } + const fromLit = literal(from); + const toLit = literal(to); + const descends = step === null ? fromLit !== null && toLit !== null && fromLit > toLit : stepLit !== null && stepLit < 0; const v = vars[0]; - const toRef = this.singleReadIterable(to) ? null : this.loopTempName("_ref"); - const stepRef = posLit !== null || negLit !== null ? null : this.loopTempName("_step"); + const idx = vars.length === 2 ? vars[1] : null; + const toRef = toLit !== null || this.singleReadIterable(to) ? null : this.loopTempName("_ref"); + const stepRef = step === null || stepLit !== null ? null : this.loopTempName("_step"); this.b.emit("for (let "); markVar(v); this.b.emit(" = "); @@ -13186,32 +13194,42 @@ ${pad}`); this.b.emit(`, ${stepRef} = `); this.mark(node, "step", () => this.expr(step)); } + if (idx !== null) { + this.b.emit(", "); + markVar(idx); + this.b.emit(" = 0"); + } const toText = () => { if (toRef !== null) this.b.emit(toRef); else this.expr(to); }; + const advance = () => { + if (stepRef !== null) + this.b.emit(`${v} += ${stepRef}`); + else if (step === null) + this.b.emit(descends ? `${v}--` : `${v}++`); + else { + this.b.emit(`${v} ${descends ? "-=" : "+="} `); + this.mark(node, "step", () => this.b.emit(String(Math.abs(stepLit)))); + } + if (idx !== null) + this.b.emit(`, ${idx}++`); + }; this.b.emit("; "); if (stepRef !== null) { this.b.emit(`${stepRef} > 0 ? ${v} ${cmpUp} `); toText(); this.b.emit(` : ${v} ${cmpDown} `); toText(); - this.b.emit(`; ${v} += ${stepRef})`); - } else if (negLit !== null) { - this.b.emit(`${v} ${cmpDown} `); - toText(); - this.b.emit(`; ${v} -= `); - this.mark(node, "step", () => this.b.emit(negLit)); - this.b.emit(")"); } else { - this.b.emit(`${v} ${cmpUp} `); + this.b.emit(`${v} ${descends ? cmpDown : cmpUp} `); toText(); - this.b.emit(`; ${v} += `); - this.mark(node, "step", () => this.b.emit(posLit)); - this.b.emit(")"); } + this.b.emit("; "); + advance(); + this.b.emit(")"); } forIn(node, ind) { this.inCtrl(() => this.forInCtrl(node, ind)); @@ -13226,26 +13244,8 @@ ${pad}`); if (isNode(vars[0]) && (isRange(iter) || step !== null)) { throw this.positionedError(node, "emitter: pattern loop variables with ranges or BY steps are not supported yet"); } - if (isRange(iter) && step === null) { - const [dots, from, to] = iter; - const toRef = this.singleReadIterable(to) ? null : this.loopTempName("_ref"); - this.b.emit("for (let "); - markVar(vars[0]); - this.b.emit(" = "); - this.expr(from); - if (toRef) { - this.b.emit(`, ${toRef} = `); - this.expr(to); - } - this.b.emit(`; ${vars[0]} ${dots === ".." ? "<=" : "<"} `); - if (toRef) - this.b.emit(toRef); - else - this.expr(to); - this.b.emit(`; ${vars[0]}++) `); - this.guardedBlock(body, guard, ind); - } else if (isRange(iter)) { - this.rangedByHeader(node, markVar, vars, iter, step); + if (isRange(iter)) { + this.rangedHeader(node, markVar, vars, iter, step); this.b.emit(" "); this.guardedBlock(body, guard, ind); } else if (step !== null) { @@ -13568,8 +13568,8 @@ ${pad ?? ""}`); if (isNode(vars[0]) && (isRange(iter) || step !== null)) { throw this.positionedError(node, "emitter: pattern loop variables with ranges or BY steps are not supported yet"); } - if (isRange(iter) && step !== null) { - this.rangedByHeader(node, markVar, vars, iter, step); + if (isRange(iter)) { + this.rangedHeader(node, markVar, vars, iter, step); return setups; } if (step !== null) { @@ -30600,7 +30600,7 @@ var sha256 = function(input) { let w = new Uint32Array(64); let i = 0; while (i < padded.length) { - for (let j of ((s, e2) => Array.from({ length: Math.max(0, Math.abs(e2 - s)) }, (_, i2) => s + i2 * (s <= e2 ? 1 : -1)))(0, 16)) { + for (let j = 0;j < 16; j++) { w[j] = view.getUint32(i + j * 4, false); } for (let j = 16;j < 64; j++) { @@ -30637,7 +30637,7 @@ var sha256 = function(input) { } let digest = new Uint8Array(32); let out = new DataView(digest.buffer); - for (let i2 of ((s, e2) => Array.from({ length: Math.max(0, Math.abs(e2 - s)) }, (_, i3) => s + i3 * (s <= e2 ? 1 : -1)))(0, 8)) { + for (let i2 = 0;i2 < 8; i2++) { out.setUint32(i2 * 4, H[i2], false); } return digest; diff --git a/dist/@rip/rip.min.js b/dist/@rip/rip.min.js index ee0e6678..3b0bedb1 100644 --- a/dist/@rip/rip.min.js +++ b/dist/@rip/rip.min.js @@ -1,41 +1,41 @@ -var t2=Object.defineProperty;var r2=(e)=>e;function n2(e,t){this[e]=r2.bind(null,t)}var Ce=(e,t)=>{for(var r in t)t2(e,r,{get:t[r],enumerable:!0,configurable:!0,set:n2.bind(t,r)})};class de{constructor(e,t=""){this.path=t,this.text=e;let r=[0];for(let i=0;ithis.text.length)e=this.text.length;let t=this.lineStarts,r=0,i=t.length-1;while(r<=i){let n=r+i>>1;if(t[n]<=e)r=n+1;else i=n-1}return{line:i,col:e-t[i]}}offsetAt(e,t){if(e<0)return 0;if(e>=this.lineStarts.length)return this.text.length;let r=this.lineStarts[e],i=e+1r&&this.text.charCodeAt(i-1)===13)i--;let n=r+Math.max(0,t);return n>i?i:n}slice(e,t){return this.text.slice(e,t)}}var Y={on:!1,n:0},mi=()=>{if(Y.on=typeof process<"u"&&!!process.env.RIP_COUNT_OPS,Y.on)Y.n=0;return Y.on};class Kr extends Error{constructor(e){super(e);this.name="TypeTextError"}}var Ct=(e)=>String(e??"").trim(),Pe=(e)=>String(e??""),di=()=>{throw Error("rip: type-text rendering is unavailable in the browser")},pi=()=>{throw Error("rip: type-text rendering is unavailable in the browser")},gi=()=>()=>!1,bi=()=>new Set;function ne(e){return String(e).replace(/([a-z0-9])([A-Z])/g,"$1_$2").toLowerCase()}function Yr(e){return String(e).replace(/_([a-z])/g,(t,r)=>r.toUpperCase())}function zr(e){return ne(e)+"_id"}function Je(e){if(typeof e!=="string"||!/^[a-z][a-zA-Z0-9]*$/.test(e))return!1;if(/[A-Z]{2,}/.test(e))return!1;return!0}function qr(e){if(typeof e!=="string"||!/^[A-Z][a-zA-Z0-9]*$/.test(e))return!1;if(/[A-Z]{2,}/.test(e))return!1;return!0}function i2(e){return typeof e==="string"&&/^[a-z_][a-z0-9_]*$/.test(e)}function s2(e){return typeof e==="string"&&e.length>0&&!/[\u0000-\u001f\u007f".]/.test(e)}var Xr={__proto__:null,mixin:"target",times:"none",softDelete:"none",belongsTo:"target",hasOne:"target",hasMany:"target",index:"columns",unique:"columns",idStart:"int",table:"name",tableWas:"name",primary:"field"},yi=["idStart","table","tableWas","primary","times","softDelete"],Si=["belongsTo","hasOne","hasMany"],Jr={__proto__:null,column:"literal",was:"column"},Ri={__proto__:null,as:"property",foreignKey:"column",through:"model",targetKey:"column"};function Zr(e,t,r){if(typeof r!=="string"||!r.length)return"'"+t+"' requires a non-empty string";if(e==="property"&&!Je(r))return"'"+t+"' is a property name — canonical camelCase, e.g. {"+t+": author}";if(e==="model"&&!qr(r))return"'"+t+"' is a model name — canonical PascalCase, e.g. {"+t+": Membership}";if(e==="column"&&!i2(r))return"'"+t+"' is a column name Rip generates — lowercase, digits and underscores "+"only, e.g. {"+t+': "author_id"}';if(e==="literal"&&!s2(r))return"'"+t+"' is a database column name — any spelling the database uses, but with "+"no dots, double quotes, or control characters";return null}var a2=new Set(["input","shape","mixin","enum","union","model"]);var o2=new Set(["beforeValidation","afterValidation","beforeSave","afterSave","beforeCreate","afterCreate","beforeUpdate","afterUpdate","beforeDestroy","afterDestroy","afterCommit","afterRollback"]),Ei=new Set(["integer","number","boolean","date","datetime"]),l2={__proto__:null,id:"integer",int:"integer",whole:"integer",float:"number",money:"integer",money_even:"integer",cents:"integer",decimal:"string",bool:"boolean",truthy:"boolean",falsy:"boolean",json:"json",hash:"json",array:"json",ids:{type:"integer",array:!0},string:"string",text:"string",name:"string",address:"string",date:"string",time:"string",time12:"string",email:"email",state:"string",zip:"zip",zipplus4:"string",ssn:"string",sex:"string",phone:"string",username:"string",ip:"string",mac:"string",url:"url",color:"string",uuid:"uuid",semver:"string",slug:"string"},c2=new Set(["string","email","url","phone","zip"]),f2=new Set(["TERMINATOR","INDENT","OUTDENT","=","COMPOUND_ASSIGN","RETURN","THROW","YIELD","AWAIT","EXPORT",",","(","[","{","CALL_START","PARAM_START","INDEX_START","->","=>",":","WHEN","LEADING_WHEN","THEN","IF","UNLESS","UNARY","UNARY_MATH"]),ki=new Set(["defaultMaxString"]),P1=(e)=>e&&(e.kind==="IDENTIFIER"||e.kind==="PROPERTY"),Ze=(e)=>e&&typeof e.value==="string"&&/^[a-z]+$/.test(e.value)&&(e.kind===e.value.toUpperCase()||e.kind==="LEADING_WHEN"||e.kind==="RELATION"||e.kind==="STATEMENT"),h2=(e)=>`__${e}__behavior`,V1=(e,t,r=!1)=>{if(e[t]?.kind!==":")return null;let i=e[t+1];if(!i||i.spaced)return null;if(P1(i)||r&&/^[a-z]+$/.test(i.value)&&i.kind===i.value.toUpperCase())return i;return null};function u2(e,t){if(typeof e?.start!=="number")throw e;t(e)}function Ai(e,t,r,i,n=null){if(r.indexOf("schema")===-1)return;let s=[],a={defaultMaxString:null,tolerate:n},o=0,l=0;while(l0){l+=f;continue}if(p2(e,l,i)){l=g2(e,l,s,a,t,i,r);continue}s.push(c),l++}e.length=0;for(let c of s)e.push(c)}function m2(e,t,r,i,n){let s=e[t];if(!s||s.kind!=="IDENTIFIER"||s.value!=="schema")return 0;if(e[t+1]?.kind!==".")return 0;let a=e[t+2];if(!a||a.kind!=="PROPERTY")return 0;if(e[t+3]?.kind!=="=")return 0;let o=e[t-1];if(o&&o.kind!=="TERMINATOR"&&o.kind!=="INDENT"&&o.kind!=="OUTDENT")return 0;let l=a.value;if(!ki.has(l))n(`unknown schema pragma 'schema.${l}' — known pragmas: ${[...ki].join(", ")}`,a.start);if(i>0)n(`schema pragma 'schema.${l}' must be declared at file top level — inside a nested block it would leak into later top-level schemas`,a.start);let c=e[t+4];if(!c||c.kind!=="NUMBER")n(`pragma 'schema.${l}' requires a number literal — example: schema.${l} = 100`,(c??a).start);let f=Number(c.value);if(!Number.isFinite(f)||f<0||!Number.isInteger(f))n(`pragma 'schema.${l}' expects a non-negative integer (got ${c.value}); use 0 to disable`,c.start);r[l]=f===0?null:f;let h=t+5;if(e[h]?.kind==="TERMINATOR")h++;return h-t}var vi=(e,t)=>{if(e[t]?.kind==="SYMBOL")return e[t];return e[t]?.kind===":"&&e[t].spaced?V1(e,t,!0):null},Oi=(e,t)=>e[t]?.kind==="SYMBOL"?1:2,d2=(e,t)=>{if(e[t]?.kind!==","||!P1(e[t+1])||e[t+1].value!=="on")return t;let r=t+2;if(e[r]?.kind===":")r++;while(r")s("inline schema bodies do not support '->' (methods/hooks/scopes/transforms) — use the indented form",y.start);else if(_===0&&(p==="EFFECT"||p==="!>"))s(`inline schema bodies do not support '${y.value}' (${p==="EFFECT"?"computed getters":"eager-derived fields"}) — use the indented form`,y.start);b++}while(b>R&&e[b-1].kind==="TERMINATOR")b--;if(m=e.slice(R,b),S=b,!m.length)s("inline schema body is empty — add '; field; …' entries or switch to the indented form",o.start);g=m[m.length-1].end}else{if(e[f]?.kind==="TERMINATOR")f++;if(e[f]?.kind!=="INDENT")s(`expected an indented schema body after 'schema${c?" :"+l:""}'`,o.start);let R=f,b=0,_=-1;for(let y=R;yR.kind==="SYMBOL"?[{...R,kind:":",value:":",end:R.start+1},{...R,kind:"IDENTIFIER",start:R.start+1,spaced:!1}]:[R]);let d=b2(l,c,m,{schemaStart:o.start,defaultMaxString:i.defaultMaxString,tolerate:i.tolerate??null},s);if(u)d.adapterTokens=u;return d.start=(c??m[0]).start,d.end=g,d.primitiveSpans=[c,...m].filter((R)=>R&&typeof R.value==="string"&&/^[A-Za-z_$][\w$]*$/.test(R.value)).map((R)=>({value:R.value,sourceStart:R===c&&R.end-R.start===R.value.length+1?R.start+1:R.start,sourceEnd:R.end})),r.push({id:n(),kind:"SCHEMA",value:"schema",start:o.start,end:o.end,spaced:o.spaced}),r.push({id:n(),kind:"SCHEMA_BODY",value:d,start:d.start,end:d.end,spaced:!0}),S}function b2(e,t,r,i,n){let s=[],a=y2(r);if(e==="input"&&!t&&a.length>0&&V1(a[0],0))e="enum";if(e==="enum")for(let o of a)$2(o,s,n);else if(e==="union"){for(let c of a)I2(c,s,n);let o=s.filter((c)=>c.tag==="directive"&&c.name==="on").length,l=s.filter((c)=>c.tag==="union-member");if(o!==1)n(o===0?":union requires an '@on :field' discriminator — untagged unions are not supported":`:union takes exactly one '@on :field' discriminator (got ${o})`,i.schemaStart);if(l.length<2)n(`:union needs at least two constituent schemas (got ${l.length})`,i.schemaStart)}else{for(let o of a)S2(e,o,s,i,n);if(e==="model")T2(s,n);else for(let o of s){if(o.tag==="scope"||o.tag==="defaultScope")n(`:${e} schemas don't accept query scopes — '@${o.tag==="scope"?"scope":"defaultScope"}' is :model-only`,o.start);if(e==="mixin"&&(o.tag==="method"||o.tag==="computed"||o.tag==="derived"))n(`:mixin schemas are fields-only — '${o.name}' is a ${o.tag}; move it to a :shape or :model`,o.start);if(e==="mixin"&&o.tag==="ensure")n(":mixin schemas don't accept @ensure refinements — move the invariant to a :shape or :model that composes this mixin",o.start);if(e==="input"&&(o.tag==="method"||o.tag==="computed"))n(`:input schemas are fields-only — '${o.name}' is a ${o.tag}; use :shape or :model if you need behavior`,o.start);if(o.tag==="directive"&&o.name!=="mixin")n(`:${e} schemas only accept '@mixin Name'${e==="input"?" and '@ensure'":""} — '@${o.name}' is ${["times","softDelete","belongsTo","hasMany","hasOne","unique","index","idStart","table","tableWas","primary"].includes(o.name)?":model-only":"not a schema directive"}`,o.start)}}return{kind:e,entries:s,toJSON(){return this.kind}}}function y2(e){let t=[],r=[],i=0;for(let n of e){if(n.kind==="INDENT")i++;if(n.kind==="OUTDENT")i--;if(n.kind==="TERMINATOR"&&i===0){if(r.length)t.push(r),r=[];continue}r.push(n)}if(r.length)t.push(r);return t}function S2(e,t,r,i,n){let s=t[0];if(!s)return;if(s.kind==="@"){let C=t[1];if(!P1(C))n("expected a directive name after '@'",s.start);let w=C.value;if(w==="ensure"){let a1=2,h1=!1;if(t[2]?.kind==="DAMMIT"&&!t[2].spaced)h1=!0,a1=3;let f1=_2(t.slice(a1),s,n);for(let z of f1)r.push({tag:"ensure",name:"ensure",message:z.message,field:z.field,fieldStart:z.fieldStart,async:h1,paramTokens:z.paramTokens,bodyTokens:z.bodyTokens,start:s.start});return}if(w==="scope"){let a1=k2(t.slice(2),s,n);r.push({tag:"scope",name:a1.name,paramTokens:a1.paramTokens,bodyTokens:a1.bodyTokens,start:s.start});return}if(w==="defaultScope"){let a1=Ii(t.slice(2),s,"@defaultScope",n);if(a1.paramTokens.length)n("@defaultScope takes no parameters — write '@defaultScope -> @where(...)'",s.start);r.push({tag:"defaultScope",name:"defaultScope",paramTokens:[],bodyTokens:a1.bodyTokens,start:s.start});return}let D=null,B=t.slice(2);if(w==="mixin"){let a1=B[0];if(!P1(a1))n("@mixin requires a target name — '@mixin Timestamps'",s.start);if(B.length>1)n("@mixin takes exactly one schema name",B[1].start);D=[{target:a1.value}]}r.push({tag:"directive",name:w,args:D,argTokens:B,start:s.start,nameStart:C.start});return}if(s.kind==="PROPERTY"){if(i.tolerate){try{Ti(e,s,t,r,n)}catch(C){u2(C,i.tolerate)}return}Ti(e,s,t,r,n);return}if(s.kind!=="IDENTIFIER"&&!Ze(s))n(`unexpected ${s.kind} at schema top level — allowed: fields ('name! type'), directives ('@name'), methods ('name: -> body'), computed getters ('name: ~> body')`,s.start);let a=s.value;if(t[1]?.kind===":")n(`schema fields use 'name type' (space, no colon) — got '${a}:'`,t[1].start);let o=[],l=1;while(l{if(t[C]?.kind==="STRING"&&t[C].value.startsWith('"'))return{value:JSON.parse(t[C].value),bracketed:!1,start:t[C].start,end:t[C].end,next:C+1};if((t[C]?.kind==="["||t[C]?.kind==="INDEX_START")&&t[C+1]?.kind==="STRING"&&t[C+1].value.startsWith('"')&&(t[C+2]?.kind==="]"||t[C+2]?.kind==="INDEX_END"))return{value:JSON.parse(t[C+1].value),bracketed:!0,start:t[C].start,end:t[C+2].end,next:C+3};return null},b=void 0,_=null,y=R(l);if(g?.kind==="UNARY_MATH"&&g.value==="~"){let C=V1(t,l+1),w=t[l+1];if(C){h=!0,u=C.value;let D=l2[u];if(D&&typeof D==="object")c=D.type,m=!0;else c=D||"any";l+=3}else if(w?.kind==="IDENTIFIER"&&!w.spaced){if(!Ei.has(w.value))n(`'~${w.value}' is not coercible — built-in coercion exists for: ${[...Ei].join(", ")}; named coercers use a symbol ('~:${w.value}'); otherwise write a transform ('${a}, -> …')`,w.start);h=!0,c=w.value,l+=2}else n("'~' in the type slot marks coercion and needs a type name ('~integer', '~date', …) or a registered coercer symbol ('~:ssn', …)",g.start);S=!0}else if(g?.kind==="IDENTIFIER")c=g.value,S=!0,l++;else if(y&&(!y.bracketed||t[y.next]?.kind==="|")){f=[];let C=(w)=>{if(f.push(w.value),w.bracketed){if(_)n(`field '${a}' brackets more than one union member as its default — a field has one default`,w.start);b=w.value,_={start:w.start,end:w.end}}};C(y),l=y.next,S=!0;while(t[l]?.kind==="|"){let w=R(l+1);if(!w)n(`literal unions contain string literals only — '${t[l+1]?.kind??""}' is not allowed as a union member; use the '?' modifier for nullability`,t[l].start);C(w),l=w.next}c="literal-union"}let p=!1,k=(C)=>(t[C]?.kind==="["||t[C]?.kind==="INDEX_START")&&(t[C+1]?.kind==="]"||t[C+1]?.kind==="INDEX_END");if(k(l)){if(p=!0,l+=2,k(l))n(`field '${a}' — nested array types ('${c}[][]') are not supported: one '[]' validates element-wise; use 'json' or a '-> transform' for deeper nesting`,t[l].start)}if(h&&p)n(`coercion ('~${c}') does not apply to array types — coerce per-element with a transform instead`,g.start);if(m)p=!0;if(p&&f)n("array-of-literal-union is not supported — use 'string[]' for an array of strings",g.start);let I=g?.kind==="UNARY_MATH"&&g.value==="~"?t[d+1]:g,A=S?[I.start,t[l-1].end]:null,x=t.slice(l);if(S&&x[0]?.kind==="->")n(`field '${a}' has a transform after the type; a comma is required before '->' — write '${a} ${c}, -> …'`,x[0].start);let O=null,G=void 0,K=!1;if(_)G=b,K=!0;let V={};if(_)V.start=_.start,V.end=_.end;let Z=null,W=null,j=null,q=!1,t1=!1;if(x.length>0){if(x[0]?.kind===",")x=x.slice(1);if(x.length>=2&&x[0].kind==="INDENT"){let w=0,D=-1;for(let B=0;B"){let a1=L2(D),h1=D[0].kind==="@"&&a1===2;if(a1>0&&!h1)n(`field '${a}' has a transform after other content; a comma is required before '->'`,D[a1].start);if(!h1){while(D.length&&(D[D.length-1].kind==="OUTDENT"||D[D.length-1].kind==="TERMINATOR"))D=D.slice(0,-1);if(!D.length)continue}}let B=D[0];if(B.kind==="["||B.kind==="INDEX_START"){if(K)n(`field '${a}' has more than one '[…]' default bracket`,B.start);G=C2(D,a,n,V),K=!0}else if(B.kind==="{"){if(e!=="model"&&e!=="mixin")n(`field attrs ('{…}') are persistence metadata — :model/:mixin-only ('{was: "old_column"}' annotates a column rename)`,B.start);if(j)n(`field '${a}' has more than one '{…}' attrs bracket`,B.start);j=R2(D,a,n)}else if(D2(D)){if(O)n(`field '${a}' has more than one range constraint — one 'min..max' per field`,B.start);O=x2(D,a,n)}else if(B.kind==="REGEX"&&D.length===1){if(Z)n(`field '${a}' has more than one regex constraint`,B.start);Z=P2(B,n)}else if(B.kind==="->"){if(w!==C.length-1)n(`transform '-> …' must be the last element on the field line for '${a}'`,B.start);W=D.slice(1)}else if(B.kind==="@"){let a1=P1(D[1])?D[1].value:null;if(e!=="model"&&e!=="mixin")n(`inline '@${a1??""}' on field '${a}' is persistence metadata — :model/:mixin-only ('@unique' marks single-column uniqueness)`,B.start);if(D.length>2&&D[2].kind==="->"){if(w!==C.length-1)n(`transform '-> …' must be the last element on the field line for '${a}'`,D[2].start);W=D.slice(3),D=D.slice(0,2)}if(D.length===2&&a1==="unique"){if(q)n(`field '${a}' has more than one '@unique'`,B.start);q=!0}else if(D.length===2&&a1==="primary"){if(e!=="model")n(`inline '@primary' on field '${a}' is :model-only — a mixin cannot declare the primary key`,B.start);if(t1)n(`field '${a}' has more than one '@primary'`,B.start);t1=!0}else n(`unknown inline attribute '@${a1??""}' on field '${a}' — the inline attributes are '@unique' and '@primary'`,B.start)}else n(`unexpected trailer for field '${a}' — expected '[…]' default, '/regex/', 'min..max' range, or '-> transform'`,B.start)}}if(h&&W)n(`field '${a}' has both '~${c}' coercion and a '->' transform — a transform replaces coercion; coerce inside it instead`,s.start);let M={};if(O){if(O.min!==void 0)M.min=O.min;if(O.max!==void 0)M.max=O.max;if(O.min===void 0&&M.min===void 0&&o.includes("!"))M.min=1}if(Z)M.regex=Z;if(K)M.default=G;if(f&&M.default!==void 0&&!f.includes(M.default))n(`field '${a}' defaults to ${JSON.stringify(M.default)}, which is not a member of its literal union (${f.map((C)=>JSON.stringify(C)).join(" | ")})`,s.start);if(i.defaultMaxString!=null&&!Z&&!f&&c2.has(c)&&M.max===void 0)M.max=i.defaultMaxString;if(M.min!==void 0&&M.max!==void 0&&M.min>M.max)n(`field '${a}' would have impossible constraints min=${M.min} > max=${M.max} after sugar is applied — write an explicit range or drop the conflicting pragma`,s.start);let N=M.min!==void 0||M.max!==void 0||M.default!==void 0||M.regex!==void 0?M:null;r.push({tag:"field",name:a,modifiers:o,typeName:c,array:p,literals:f,coerce:h,coercer:u,constraints:N,transformTokens:W,unique:q,primary:t1,attrs:j,start:s.start,typeSpan:A,defaultSpan:V.start===void 0?null:[V.start,V.end]})}function Qr(e,t,r,i){if(e[e.length-1]?.kind!=="}")i(`${r} — the '{…}' options bracket never closes`,e[0].start);let n=e.slice(1,-1).filter((a)=>a.kind!=="TERMINATOR"&&a.kind!=="INDENT"&&a.kind!=="OUTDENT"),s={};for(let a of Ne(n)){if(!a.length)continue;let o=a[0];if(!P1(o))i(`${r} options must be '{key: value}' pairs — got ${o.kind}`,o.start);let l=o.value,c=t[l];if(c===void 0)i(`unknown ${r} option '${l}' — known options: ${Object.keys(t).join(", ")}`,o.start);if(l in s)i(`${r} repeats option '${l}'`,o.start);let f=1;if(a[f]?.kind===":")f++;let h=a.slice(f);if(h.length!==1)i(`${r} option '${l}' takes a single value`,(h[0]??o).start);let u=h[0],m=c==="property"||c==="model",S;if(m){if(!P1(u)&&!Ze(u)){let d=u.kind==="STRING"&&u.value.startsWith('"')?JSON.parse(u.value):null,R=d&&!Zr(c,l,d)?d:c==="model"?"Membership":"author";i(`${r} option '${l}' names ${c==="model"?"a model":"a property"}, `+`so it is written BARE — '{${l}: ${R}}', not ${u.kind==="STRING"?u.value:`a ${u.kind}`}. Quoting would name a database identifier, which is a different thing`,u.start)}S=u.value}else{if(u.kind!=="STRING"||!u.value.startsWith('"'))i(`${r} option '${l}' names a database column, so it is QUOTED — `+`'{${l}: "${P1(u)?ne(u.value):"author_id"}"}'. A bare name would be a Rip name, which is a different thing`,u.start);S=JSON.parse(u.value)}let g=Zr(c,l,S);if(g)i(`${r} option ${g}; got '${S}'`,o.start);s[l]=S}if(!Object.keys(s).length)i(`${r} has an empty '{…}' options bracket`,e[0].start);return s}function R2(e,t,r){return Qr(e,Jr,`field '${t}'`,r)}function E2(e,t,r){let i=Qr(e,Ri,`@${t}`,r);if(i.through&&t==="belongsTo")r("@belongsTo option 'through' is for @hasMany/@hasOne — a @belongsTo holds its key in its own row, so it has nothing to read through",e[0].start);if(i.targetKey&&!i.through)r(`@${t} option 'targetKey' names a column on the join model, so it requires 'through' — '{through: Membership, targetKey: "team_id"}'`,e[0].start);return i}function k2(e,t,r){if(!e.length)r("@scope requires ':name, -> body' (or ':name, (args) -> body')",t.start);let i=V1(e,0);if(!i)r("@scope name must be a :symbol — '@scope :active, -> @where(active: true)'",e[0].start);let n=i.value,s=e[2],a=s&&!s.spaced&&s.start===i.end&&(s.value==="!"||s.value==="?");if(a||!/^[a-z][a-zA-Z0-9]*$/.test(n))r(`@scope name ':${n}${a?s.value:""}' must be a lowercase-first alphanumeric identifier — scopes chain as query-builder methods`,i.start);let o=e.slice(2);if(o[0]?.kind===",")o=o.slice(1);if(!o.length)r(`@scope :${n} is missing its body — '@scope :${n}, -> @where(...)'`,i.start);let l=Ii(o,i,`@scope :${n}`,r);return{name:n,paramTokens:l.paramTokens,bodyTokens:l.bodyTokens}}function Ii(e,t,r,i){if(!e.length)i(`${r}: expected '-> body' or '(args) -> body'`,t.start);let n=[],s=0,a=e[0];if(a.kind==="("||a.kind==="PARAM_START"||a.kind==="CALL_START"){let c=1;s=1;while(s0){let f=e[s].kind;if(f==="("||f==="PARAM_START"||f==="CALL_START")c++;if(f===")"||f==="PARAM_END"||f==="CALL_END"){if(c--,c===0){s++;break}}n.push(e[s]),s++}if(c!==0)i(`${r}: unclosed '(' in parameters`,a.start)}let o=e[s];if(o?.kind!=="->")i(`${r}: expected '->' ${n.length?"after parameters":"to start the body"}`,(o??t).start);let l=e.slice(s+1);if(!l.length)i(`${r}: function body is empty`,o.start);return{paramTokens:n,bodyTokens:l}}function T2(e,t){let r=new Set;for(let g of e){if(g.tag!=="directive")continue;let d=Xr[g.name];if(d===void 0)t(`unknown directive '@${g.name}' on :model — legal: ${Object.keys(Xr).map((R)=>"@"+R).join(", ")}, @ensure, @scope, @defaultScope`,g.nameStart??g.start);if(yi.includes(g.name)){if(r.has(g.name))t(d==="none"?`duplicate '@${g.name}' — declared twice; a :model declares it once`:`duplicate '@${g.name}' — a :model declares it at most once (the second would silently override the first)`,g.nameStart??g.start);r.add(g.name)}if(g.name!=="mixin")g.args=w2(g,d,t)}if(e.some((g)=>g.tag==="directive"&&g.name==="mixin"))return;let n=new Set,s=new Map,a=new Map,o=new Map,l=(g,d,R,b)=>{if(n.has(d))t(`${s.get(d)} and ${R} both own column '${d}' — every table column has exactly one owner`,b);if(a.has(g))t(`${o.get(g)} and ${R} both own property '${g}' (columns '${a.get(g)}' and '${d}') — every property reads exactly one column`,b);n.add(d),s.set(d,R),a.set(g,d),o.set(g,R)},c=e.find((g)=>g.tag==="directive"&&g.name==="primary"),f=e.filter((g)=>g.tag==="field"&&g.primary);if(f.length>1)t(`both '${f[0].name}' and '${f[1].name}' declare '@primary' — a row has one identity`,f[1].start);if(f.length===1){if(c)t(`'@primary ${c.args[0].name}' and inline '@primary' on field '${f[0].name}' are two answers to one question — state it once`,c.start);c={tag:"directive",name:"primary",args:[{name:f[0].name}],start:f[0].start}}let h=c?c.args[0].column??ne(c.args[0].name):"id",u=c?c.args[0].name:"id",m=e.find((g)=>g.tag==="field"&&g.name===u)??null,S=!!(c&&m);if(!c&&m)t(`field '${u}' collides with the runtime-managed primary key — a :model's ${u} is sequence-assigned. Drop the declaration, or write '@primary ${u}' to make it a caller-supplied natural key instead`,m.start);if(S){if(!m.modifiers?.includes("!"))t(`the primary key '${u}' is declared optional — a row's identity is never absent; declare it required ('${u}! string')`,m.start);if(m.array)t(`the primary key '${u}' is declared as an array — a primary key is one value`,m.start);let g=e.find((d)=>d.tag==="directive"&&d.name==="idStart");if(g)t(`@idStart seeds the sequence behind a runtime-managed primary key, but '${u}' is declared as a field, which makes it caller-supplied — there is no sequence to seed. Drop @idStart, or drop the field declaration`,g.start);if(c.args[0].column!==void 0&&c.args[0].column!==(m.attrs?.column??ne(u)))t(`@primary names column '${c.args[0].column}' but field '${u}' reads a different one — state the column once, on the field`,c.start)}else l(u,h,"the primary key",c?.start??e[0]?.start??0);for(let g of e){if(g.tag!=="field")continue;l(g.name,g.attrs?.column??ne(g.name),`field '${g.name}'`,g.start)}for(let g of e){if(g.tag!=="directive")continue;if(g.name==="times")l("createdAt","created_at","@times",g.start),l("updatedAt","updated_at","@times",g.start);else if(g.name==="softDelete")l("deletedAt","deleted_at","@softDelete",g.start);else if(g.name==="belongsTo"){let d=g.args[0],R=d.foreignKey??zr(d.as??d.target);l(Yr(R),R,`the @belongsTo ${d.target}${d.as?` (as ${d.as})`:""} relation`,g.start)}}for(let g of e){if(g.tag!=="directive"||g.name!=="index"&&g.name!=="unique")continue;let d=g.args[0].fields.map((R)=>a.get(R)??(n.has(R)?R:ne(R)));d.forEach((R,b)=>{if(d.indexOf(R)!==b)t(`@${g.name} columns must be distinct after canonicalization: ${d.join(", ")}`,g.colTokens?.[b]?.start??g.start)}),d.forEach((R,b)=>{if(!n.has(R))t(`@${g.name}: unknown column '${g.args[0].fields[b]}' — the table has: ${[...n].sort().join(", ")}`,g.colTokens?.[b]?.start??g.start)})}}function w2(e,t,r){let i=e.argTokens??[],n=(s,a)=>r(`@${e.name}: ${a}`,s.start);switch(t){case"none":{if(i.length)n(i[0],"takes no arguments");return null}case"target":{let s=i[0];if(!P1(s))r(`@${e.name} requires a target name — '@${e.name} User'`,(s??{start:e.start}).start);let a=!1,o=1;if(i[o]?.kind==="?"&&!i[o].spaced)a=!0,o++;let l=null;if(i[o]?.kind===","&&i[o+1]?.kind==="{")l=E2(i.slice(o+1),e.name,r),o=i.length;if(oP1(c)||Ze(c),l=0;if(V1(i,0)){let c=V1(i,0);s.push(c.value),a.push(c),l=2}else if(o(i[0]))s.push(i[0].value),a.push(i[0]),l=1;else if(i[0]?.kind==="["||i[0]?.kind==="INDEX_START"){let c=1;l=1;let f=[];while(l0){let h=i[l];if(h.kind==="["||h.kind==="INDEX_START")c++;if(h.kind==="]"||h.kind==="INDEX_END"){if(c--,c===0){l++;break}}if(c>=1)f.push(h);l++}if(c!==0)n(i[0],"unclosed '[' in the column list");for(let h of Ne(f)){let u=V1(h,0),m=u??(o(h[0])?h[0]:null);if(!m||h.length>(u?2:1))n(h[u?2:1]??h[0]??i[0],`column names are bare identifiers or :symbols — '@${e.name} [:a, :b]'`);s.push(m.value),a.push(m)}}if(!s.length)r(`@${e.name} requires a field name or list — '@${e.name} :email' or '@${e.name} [:a, :b]'`,(i[0]??{start:e.start}).start);if(l1)n(i[1],`takes one table name — unexpected ${i[1].kind}`);if(o);else{if(/[A-Z]{2,}/.test(a))r(`@${e.name} ${a}: a bare name is a LOGICAL name that Rip snake_cases, and consecutive capitals convert surprisingly ('${a}' → '${ne(a)}'). Spell it 'MdmUser'-style, or name the table exactly by quoting it: '@${e.name} "${a}"'`,s.start);a=ne(a)}return[{name:a}]}case"field":{let s=i[0];if(!P1(s)&&!Ze(s))r(`@${e.name} requires a property name — '@${e.name} patientId'`,(s??{start:e.start}).start);let a=1,o=null;if(i[a]?.kind===","&&i[a+1]?.kind==="{")o=Qr(i.slice(a+1),Jr,`@${e.name}`,r),a=i.length;if(a0){let m=r[a].kind;if(m==="("||m==="PARAM_START"||m==="CALL_START")u++;if(m===")"||m==="PARAM_END"||m==="CALL_END"){if(u--,u===0){a++;break}}o.push(r[a]),a++}if(u!==0)n(`'${s}': unclosed '(' in parameters`,r[2].start)}let l=r[a],c=null,f=-1;if(l?.kind==="->"||l?.kind==="EFFECT"||l?.kind==="!>")c=l.kind==="EFFECT"?"~>":l.kind,f=a+1;else if(P1(l)||l?.kind==="STRING"||l?.kind==="NUMBER")n(`schema fields use 'name type' (space, no colon) — got '${s}:'; for methods/computed use 'name: -> body' or 'name: ~> body'`,r[1].start);else n(`schema top-level '${s}:' must be followed by '->' (method), '~>' (computed getter), or '!>' (eager derived)`,r[1].start);let h=c==="~>"?"computed":c==="!>"?"derived":e==="model"&&o2.has(s)?"hook":"method";if(o.length&&h!=="method")n(`'${s}': ${h==="computed"?"computed getters (~>)":h==="derived"?"eager-derived fields (!>)":"lifecycle hooks"} take no parameters — only methods do`,r[1].start);i.push({tag:h,name:s,paramTokens:o,bodyTokens:r.slice(f),start:t.start})}function _2(e,t,r){let i=e;if(!i.length)r("@ensure requires 'message, (x) -> body' or a '[…]' array of pairs",t.start);let n=i[0];if(n.kind==="["||n.kind==="INDEX_START"){let a=N2(i,n,r),o=A2(a);if(o.length===0)r("@ensure […] must contain at least one 'message, fn' pair",n.start);return wi(o,n,r)}let s=Ne(i);if(s.length<2)r("@ensure inline form must be 'message, (x) -> body' — did you forget the comma?",n.start);if(s.length>3||s.length===3&&!$i(s[1]))r(`@ensure inline form takes 'message[, :field], fn' (got ${s.length} comma-separated parts) — use '@ensure […]' for multiple refinements`,n.start);return wi(s,n,r)}var $i=(e)=>e&&e.length===2&&V1(e,0)!==null;function wi(e,t,r){let i=[],n=0;while(n=e.length)r(`@ensure: missing function after message${a?" and :field":""}`,(s[0]??t).start);i.push(v2(s,a,e[n++],t,r))}return i}function N2(e,t,r){let i=0,n=[];for(let s=0;s=2&&n[0].kind==="INDENT"&&n[n.length-1].kind==="OUTDENT"){let o=0,l=!1;for(let c=0;c=1)n.push(a)}r("@ensure: unclosed '['",t.start)}function A2(e){let t=[],r=[],i=0;for(let n of e){let s=n.kind;if(s==="("||s==="["||s==="{"||s==="CALL_START"||s==="INDEX_START"||s==="PARAM_START"||s==="INDENT")i++;if(s===")"||s==="]"||s==="}"||s==="CALL_END"||s==="INDEX_END"||s==="PARAM_END"||s==="OUTDENT")i--;if(i===0&&(s===","||s==="TERMINATOR")){if(r.length)t.push(r),r=[];continue}r.push(n)}if(r.length)t.push(r);return t}function v2(e,t,r,i,n){if(!e?.length)n("@ensure: missing message (expected a string literal)",i.start);if(e.length!==1||e[0].kind!=="STRING"||!e[0].value.startsWith('"'))n("@ensure: each refinement's first element must be a string literal message",(e[0]??i).start);let s=e[0],a=JSON.parse(s.value),o=t?V1(t,0):null,l=t?o.value:null,c=o?.start??null;if(!r?.length)n("@ensure: missing function after message",s.start);let f=r[0];if(f.kind!=="("&&f.kind!=="PARAM_START")n("@ensure: expected '(args) -> body' after the message — predicates declare their parameter explicitly ('(u) -> …')",f.start);let h=1,u=1,m=[];while(u0){let d=r[u].kind;if(d==="("||d==="PARAM_START")h++;if(d===")"||d==="PARAM_END"){if(h--,h===0){u++;break}}m.push(r[u]),u++}if(h!==0)n("@ensure: unclosed '(' in predicate parameters",f.start);let S=r[u];if(S?.kind!=="->")n("@ensure: expected '->' after predicate parameters",(S??s).start);let g=r.slice(u+1);if(!g.length)n("@ensure: predicate function body is empty",S.start);return{message:a,field:l,fieldStart:c,paramTokens:m,bodyTokens:g}}function Di(e,t,r,i=null){if(!e.length)return[];let n=O2(e,t,r,i);for(let s=n.length-1;s>=0&&n[s].type===null;s--)n[s].optional=!0;return n}function O2(e,t,r,i){let n=(s)=>s.kind!=="TERMINATOR"&&s.kind!=="INDENT"&&s.kind!=="OUTDENT";return Ne(e).map((s)=>{let a=s.filter((f)=>n(f)&&f.kind!=="TYPE"),o=a.length>=3&&(a[0].kind==="IDENTIFIER"||a[0].kind==="PROPERTY")&&a[1].kind===":";if(!o&&(a.length!==1||a[0].kind!=="IDENTIFIER"))r(`${t}: parameters must be plain identifiers, optionally typed ('name' or 'name: Type')`,(a[0]??s[0]).start);let l=o?[...s].filter(n).pop():null,c=o&&i!==null?Ct(i.slice(a[1].end,l.end)).trim():null;return{name:a[0].value,type:c,optional:!1}})}function I2(e,t,r){let i=e[0];if(!i)return;if(i.kind==="@"){let n=e[1];if(!n||n.value!=="on")r(`:union bodies accept only '@on :field' and constituent schema names — '@${n?.value??""}' is not allowed`,(n??i).start);let s=V1(e,2);if(!s)r("@on requires the discriminator field as a symbol — '@on :kind'",(e[2]??n).start);if(e.length>4)r("@on takes exactly one :field symbol",e[4].start);t.push({tag:"directive",name:"on",args:[{field:s.value}],start:i.start});return}if(i.kind==="IDENTIFIER"&&e.length===1){t.push({tag:"union-member",name:i.value,start:i.start});return}r(`:union bodies accept only '@on :field' and bare constituent schema names (one per line) — got ${i.kind}${e.length>1?" followed by "+e[1].kind:""}`,i.start)}function $2(e,t,r){let i=e[0];if(!i)return;if(i.kind==="@")r(`:enum schemas don't accept '@${e[1]?.value??"directive"}' — enums hold only :symbol members`,i.start);let n=V1(e,0);if(!n)r(`enum member must be a :symbol — use ':${i.value??"name"}' for a bare member or ':${i.value??"name"} value' for a valued one`,i.start);let s=n.value,a=e[2];if(!a){t.push({tag:"enum-member",name:s,value:void 0,start:i.start});return}if(a.kind===":")r(`enum member ':${s}' — drop the ':' before the value; use ':${s} value'`,a.start);if(e.length>3&&!(e.length===4&&a.kind==="-"&&e[3].kind==="NUMBER"))r(`extra tokens after enum member ':${s}' value`,e[3].start);let o=a.kind==="-"&&e[3]?.kind==="NUMBER"?-Number(e[3].value):xi(a,`enum member ':${s}' value`,r);t.push({tag:"enum-member",name:s,value:o,start:i.start})}function D2(e){return e.some((t)=>t.kind==="..")&&e.every((t)=>t.kind===".."||t.kind==="NUMBER"||t.kind==="-")}function x2(e,t,r){let i=0,n=()=>{let l=1;if(e[i]?.kind==="-")l=-1,i++;let c=e[i++];if(c?.kind!=="NUMBER")r("range endpoints must be numeric literals",(c??e[0]).start);return l*Number(c.value)},s;if(e[i]?.kind!=="..")s=n();i++;let a;if(ia)r(`range '${s}..${a}' is reversed — write the smaller endpoint first`,e[0].start);let o={};if(s!==void 0)o.min=s;if(a!==void 0)o.max=a;return o}function C2(e,t,r,i={}){let n=e.slice(1,-1);if(n.length)i.start=n[0].start,i.end=n[n.length-1].end;let s=Ne(n);if(s.length!==1)r(s.length===2?"size/value ranges use 'min..max' syntax, not brackets — replace the bracket pair with a range":`the constraint bracket takes a single default value (got ${s.length} elements)`,e[0].start);let a=s[0];if(a.length===1&&a[0].kind==="REGEX")r(`regex constraints are written bare, not in brackets — replace '[${a[0].value}]' with '${a[0].value}'`,e[0].start);if(a.length===2&&a[0].kind==="-"&&a[1].kind==="NUMBER")return-Number(a[1].value);let o=V1(a,0);if(o&&a.length===2)return o.value;if(a.length!==1)r(`default values must be literals (number, string, boolean, null, :symbol) — field '${t}'`,a[0].start);return xi(a[0],`field '${t}' default`,r)}function P2(e,t){let r=/^\/((?:\\.|[^\\/])+)\/([a-z]*)$/.exec(e.value);if(!r)t(`invalid regex literal ${JSON.stringify(e.value)}`,e.start);try{return new RegExp(r[1],r[2])}catch(i){t(`invalid regex '${e.value}': ${i.message}`,e.start)}}function xi(e,t,r){switch(e.kind){case"NUMBER":return Number(e.value);case"STRING":if(!e.value.startsWith('"'))r(`${t} must be a plain string literal (heredocs have no literal key form)`,e.start);return JSON.parse(e.value);case"BOOL":return e.value==="true";case"NULL":return null;case"UNDEFINED":return;default:r(`${t} must be a literal (number, string, boolean, null) — got ${e.kind}`,e.start)}}function Ne(e){let t=[],r=[],i=0;for(let n of e){let s=n.kind;if(s==="("||s==="["||s==="{"||s==="CALL_START"||s==="INDEX_START"||s==="PARAM_START"||s==="INDENT")i++;if(s===")"||s==="]"||s==="}"||s==="CALL_END"||s==="INDEX_END"||s==="PARAM_END"||s==="OUTDENT")i--;if(s===","&&i===0){if(r.length)t.push(r);r=[];continue}r.push(n)}if(r.length)t.push(r);return t}function L2(e){let t=0;for(let r=0;r")return r}return-1}function Ci(e,t,r,i=null,n=null,s=!1,a=null,o=null){let l=[],c=(u)=>{if(l.length&&typeof l[l.length-1]==="string")l[l.length-1]+=u;else l.push(u)},f=(u,m=null)=>l.push({ts:u,span:m}),h=(u)=>l.push({body:u});if(c(`{kind: ${JSON.stringify(e.kind)}`),t)c(`, name: ${JSON.stringify(t)}`);if(c(", entries: ["),e.entries.forEach((u,m)=>{if(m>0)c(", ");j2(u,r.get(m),n?.get(m)??null,c,f,s,a?.get(m)??null,o?.get(m)??null,h)}),c("]"),i)c(", adapter: "),h(i);return c("}"),l}var Le=(e)=>typeof e==="string"?e:e.code;function Pi(e,t,r,i){let n=[];return e.entries.forEach((s,a)=>{if(s.tag!=="derived"&&s.tag!=="computed"&&s.tag!=="method")return;let o=r.get(a);if(o===void 0)return;let l=i?.get(a)??null,c=Le(o);for(let[f,h]of Li(o,l).reverse())c=c.slice(0,f)+h+c.slice(f);n.push(`${s.name}: ${c}`)}),n.length?`const ${h2(t)} = {${n.join(", ")}};`:null}function Li(e,t,r=!0){if(typeof e==="string")return[];let i=r?(e.annots??[]).map(([n,s])=>[n,s]):[];if(t!==null){let{code:n,thisAt:s}=e;i.push([s,`this: ${t}${n[s]===")"?"":", "}`])}return i.sort((n,s)=>n[0]-s[0])}function M2(e,t,r,i,n=!1){let s=Li(e,t,n);if(s.length===0){r(Le(e));return}let{code:a}=e,o=0;for(let[l,c]of s)r(a.slice(o,l)),i(c),o=l;r(a.slice(o))}function j2(e,t,r,i,n,s=!1,a=null,o=null,l=i){switch(e.tag){case"computed":case"method":case"derived":case"hook":case"scope":case"defaultScope":i(`{tag: ${JSON.stringify(e.tag)}, name: ${JSON.stringify(e.name)}, fn: `),M2(t,r,l,n,s),i("}");return;default:let c={},f=F2(e,t,c),h=[];if(s&&a!==null&&c.defaultEnd!==void 0)h.push({at:c.defaultEnd,ts:` satisfies ${a}`,span:e.defaultSpan??null});if(s&&e.tag==="field"&&t!==void 0&&typeof t!=="string"&&Le(t).startsWith("it",t.thisAt)){let m=Le(t);h.push({at:f.length-1-m.length+t.thisAt+2,ts:": any"})}if(s&&e.tag==="ensure"&&o!==null&&c.fnAt!==void 0&&typeof t!=="string"&&t!==void 0){let m=/^[A-Za-z_$][\w$]*/.exec(Le(t).slice(t.thisAt))?.[0];if(m)h.push({at:c.fnAt+t.thisAt+m.length,ts:`: ${o}`})}let u=0;for(let m of h)i(f.slice(u,m.at)),n(m.ts,m.span??null),u=m.at;i(f.slice(u))}}function F2(e,t,r={}){if(t!==void 0)t=Le(t);switch(e.tag){case"field":{let i=['tag: "field"',`name: ${JSON.stringify(e.name)}`,`modifiers: ${JSON.stringify(e.modifiers)}`,`typeName: ${JSON.stringify(e.typeName)}`,`array: ${e.array?"true":"false"}`];if(e.unique)i.push("unique: true");if(e.primary)i.push("primary: true");if(e.literals)i.push(`literals: ${JSON.stringify(e.literals)}`);if(e.coerce){if(i.push("coerce: true"),e.coercer)i.push(`coercer: ${JSON.stringify(e.coercer)}`)}if(e.constraints){let n=[];if(e.constraints.min!==void 0)n.push(`min: ${Pt(e.constraints.min)}`);if(e.constraints.max!==void 0)n.push(`max: ${Pt(e.constraints.max)}`);let s=-1;if(e.constraints.default!==void 0)s=n.length,n.push(`default: ${Pt(e.constraints.default)}`);if(e.constraints.regex!==void 0)n.push(`regex: ${e.constraints.regex.toString()}`);if(n.length){if(s>=0){let a=`{${i.join(", ")}, constraints: {`;r.defaultEnd=a.length+n.slice(0,s+1).join(", ").length}i.push(`constraints: {${n.join(", ")}}`)}}if(e.attrs)i.push(`attrs: {${Object.keys(e.attrs).sort().map((n)=>`${n}: ${Pt(e.attrs[n])}`).join(", ")}}`);if(t)i.push(`transform: ${t}`);return`{${i.join(", ")}}`}case"directive":{let i=['tag: "directive"',`name: ${JSON.stringify(e.name)}`];if(e.args){if(e.name==="mixin"||Si.includes(e.name)){let n=e.args[0];i.push(`args: [{target: ${JSON.stringify(n.target)}${n.optional?", optional: true":""}${n.as?`, as: ${JSON.stringify(n.as)}`:""}${n.foreignKey?`, foreignKey: ${JSON.stringify(n.foreignKey)}`:""}${n.through?`, through: ${JSON.stringify(n.through)}`:""}${n.targetKey?`, targetKey: ${JSON.stringify(n.targetKey)}`:""}}]`)}else if(e.name==="primary")i.push(`args: [{name: ${JSON.stringify(e.args[0].name)}${e.args[0].column?`, column: ${JSON.stringify(e.args[0].column)}`:""}}]`);else if(e.name==="on")i.push(`args: [{field: ${JSON.stringify(e.args[0].field)}}]`);else if(e.name==="unique"||e.name==="index")i.push(`args: [{fields: ${JSON.stringify(e.args[0].fields)}}]`);else if(e.name==="idStart")i.push(`args: [{value: ${e.args[0].value}}]`);else if(e.name==="table"||e.name==="tableWas")i.push(`args: [{name: ${JSON.stringify(e.args[0].name)}}]`)}return`{${i.join(", ")}}`}case"ensure":{let i=['tag: "ensure"',`message: ${JSON.stringify(e.message)}`];r.fnAt=`{${i.join(", ")}, fn: `.length;let n=[...i,`fn: ${t}`];if(e.field)n.push(`field: ${JSON.stringify(e.field)}`);if(e.async)n.push("async: true");return`{${n.join(", ")}}`}case"enum-member":{let i=['tag: "enum-member"',`name: ${JSON.stringify(e.name)}`];if(e.value!==void 0)i.push(`value: ${JSON.stringify(e.value)}`);return`{${i.join(", ")}}`}case"union-member":return`{tag: "union-member", name: ${JSON.stringify(e.name)}}`;default:throw Error(`schema: unknown entry tag '${e.tag}'`)}}function Pt(e){if(e===null)return"null";if(e===void 0)return"undefined";if(typeof e==="string")return JSON.stringify(e);return String(e)}var B2=new Set(["pick","omit","partial","required","extend"]);function U1(e){return e&&e.valueOf?e.valueOf():e}function Mi(e){return e.entries.some((t)=>t.tag==="directive"&&t.name==="mixin")}function U2(e){return Yr(e.foreignKey??zr(e.as??e.target))}function V2(e){if(Mi(e))return null;let t=new Map;for(let a of e.entries)if(a.tag==="field")t.set(a.name,a);if(e.kind!=="model")return t;let r=(a,o,l)=>{if(!t.has(a))t.set(a,{tag:"field",name:a,modifiers:l?["!"]:["?"],typeName:o,array:!1})},i=!1,n=!1,s=[];for(let a of e.entries){if(a.tag!=="directive")continue;if(a.name==="times")i=!0;else if(a.name==="softDelete")n=!0;else if(a.name==="belongsTo"){let o=a.args&&a.args[0];if(o&&o.target)s.push({fk:U2(o),required:o.optional!==!0})}}if(r("id","integer",!0),i)r("createdAt","datetime",!0),r("updatedAt","datetime",!0);if(n)r("deletedAt","datetime",!1);for(let{fk:a,required:o}of s)r(a,"integer",o);return t}function W2(e){if(Mi(e))return null;let t=new Map;for(let r of e.entries)if(r.tag==="field")t.set(r.name,r);return t}function _i(e,t){let r=e.modifiers.filter((n)=>n!==(t==="partial"?"!":"?")),i=t==="partial"?"?":"!";if(!r.includes(i))r=[...r,i];return{...e,modifiers:r}}function H2(e,t,r){switch(t.method){case"pick":{let i=new Map;for(let n of t.keys){if(!e.has(n))return null;i.set(n,e.get(n))}return i}case"omit":{let i=new Set(t.keys),n=new Map;for(let[s,a]of e)if(!i.has(s))n.set(s,a);return n}case"partial":{let i=new Map;for(let[n,s]of e)i.set(n,_i(s,"partial"));return i}case"required":{let i=new Set(t.keys),n=new Map;for(let[s,a]of e)n.set(s,i.has(s)?_i(a,"required"):a);return n}case"extend":{let i=t.otherDescriptor||r.get(t.otherName);if(!i)return null;let n=W2(i);if(!n)return null;let s=new Map(e);for(let[a,o]of n){if(s.has(a))return null;s.set(a,o)}return s}default:return null}}function G2(e,t,r){let i=V2(e);if(!i)return null;for(let n of t)if(i=H2(i,n,r),!i)return null;return{kind:"shape",entries:[...i.values()]}}function K2(e){let t=[],r=e;while(!0){if(!Array.isArray(r))return null;let i=r[0];if(!Array.isArray(i))return null;if(U1(i[0])!==".")return null;let n=U1(i[2]);if(!B2.has(n))return null;let s=r.slice(1),a;if(n==="partial"){if(s.length)return null;a={method:n}}else if(n==="extend"){if(s.length!==1)return null;let c=s[0];if(Array.isArray(c)){let f=U1(c[0])==="schema"&&c.length===2&&c[1]&&typeof c[1]==="object"&&Array.isArray(c[1].entries)?c[1]:null;if(!f||f.kind!=="shape"&&f.kind!=="input")return null;a={method:n,otherDescriptor:f}}else{let f=U1(c);if(typeof f!=="string"||!/^[A-Za-z_$][\w$]*$/.test(f))return null;a={method:n,otherName:f}}}else{let c=Y2(s);if(!c||!c.length)return null;a={method:n,keys:c}}t.unshift(a);let o=i[1];if(Array.isArray(o)){r=o;continue}let l=U1(o);if(typeof l!=="string")return null;return{base:l,ops:t}}}function Y2(e){let t=[];for(let r of e)if(Array.isArray(r)){if(U1(r[0])!=="array")return null;for(let i=1;i{r[2]=["schema",t]})}var Lt=new Set(["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","link","main","map","mark","menu","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","script","search","section","select","slot","small","source","span","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","title","tr","track","u","ul","var","video","wbr"]),Me=new Set(["a","animate","animateMotion","animateTransform","circle","clipPath","defs","desc","ellipse","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","filter","foreignObject","g","image","line","linearGradient","marker","mask","metadata","mpath","path","pattern","polygon","polyline","radialGradient","rect","script","set","stop","style","svg","switch","symbol","text","textPath","title","tspan","use","view"]),Ae=new Set([...Lt,...Me]),en=new Set([...Me].filter((e)=>!Lt.has(e))),Mt=new Set(["abort","animationcancel","animationend","animationiteration","animationstart","auxclick","beforeinput","beforematch","beforetoggle","blur","cancel","canplay","canplaythrough","change","click","close","command","compositionend","compositionstart","compositionupdate","contextlost","contextmenu","contextrestored","copy","cuechange","cut","dblclick","drag","dragend","dragenter","dragleave","dragover","dragstart","drop","durationchange","emptied","ended","error","focus","focusin","focusout","formdata","fullscreenchange","fullscreenerror","gotpointercapture","input","invalid","keydown","keypress","keyup","load","loadeddata","loadedmetadata","loadstart","lostpointercapture","mousedown","mouseenter","mouseleave","mousemove","mouseout","mouseover","mouseup","paste","pause","play","playing","pointercancel","pointerdown","pointerenter","pointerleave","pointermove","pointerout","pointerover","pointerrawupdate","pointerup","progress","ratechange","reset","resize","scroll","scrollend","securitypolicyviolation","seeked","seeking","select","selectionchange","selectstart","slotchange","stalled","submit","suspend","timeupdate","toggle","touchcancel","touchend","touchmove","touchstart","transitioncancel","transitionend","transitionrun","transitionstart","volumechange","waiting","webkitanimationend","webkitanimationiteration","webkitanimationstart","webkittransitionend","wheel"]),Fi=new Set(["disabled","hidden","readonly","required","checked","selected","autofocus","autoplay","controls","loop","muted","multiple","novalidate","open","reversed","defer","async","formnovalidate","allowfullscreen","inert","ismap","nomodule","playsinline","default","itemscope","alpha","shadowrootdelegatesfocus","shadowrootclonable","shadowrootserializable"]),ve=new Set(["accesskey","autocapitalize","autocorrect","autofocus","class","contenteditable","dir","draggable","enterkeyhint","hidden","id","inert","inputmode","is","itemid","itemprop","itemref","itemscope","itemtype","lang","nonce","popover","role","slot","spellcheck","style","tabindex","title","translate","writingsuggestions"]),Qe={__proto__:null,a:["href","target","download","ping","rel","hreflang","type","referrerpolicy"],area:["alt","coords","shape","href","target","download","ping","rel","referrerpolicy"],audio:["src","crossorigin","preload","autoplay","loop","muted","controls"],base:["href","target"],blockquote:["cite"],button:["command","commandfor","disabled","form","formaction","formenctype","formmethod","formnovalidate","formtarget","name","popovertarget","popovertargetaction","type","value"],canvas:["width","height"],col:["span"],colgroup:["span"],data:["value"],del:["cite","datetime"],details:["name","open"],dialog:["open","closedby"],embed:["src","type","width","height"],fieldset:["disabled","form","name"],form:["accept-charset","action","autocomplete","enctype","method","name","novalidate","rel","target"],iframe:["src","srcdoc","name","sandbox","allow","allowfullscreen","width","height","referrerpolicy","loading"],img:["alt","src","srcset","sizes","crossorigin","usemap","ismap","width","height","referrerpolicy","decoding","loading","fetchpriority"],input:["accept","alpha","alt","autocomplete","checked","colorspace","dirname","disabled","form","formaction","formenctype","formmethod","formnovalidate","formtarget","height","list","max","maxlength","min","minlength","multiple","name","pattern","placeholder","popovertarget","popovertargetaction","readonly","required","size","src","step","type","value","width"],ins:["cite","datetime"],label:["for"],li:["value"],link:["href","crossorigin","rel","media","integrity","hreflang","type","referrerpolicy","sizes","imagesrcset","imagesizes","as","blocking","disabled","fetchpriority"],map:["name"],meta:["name","http-equiv","content","charset","media"],meter:["value","min","max","low","high","optimum"],object:["data","type","name","form","width","height"],ol:["reversed","start","type"],optgroup:["disabled","label"],option:["disabled","label","selected","value"],output:["for","form","name"],progress:["value","max"],q:["cite"],script:["src","type","nomodule","async","defer","crossorigin","integrity","referrerpolicy","blocking","fetchpriority"],select:["autocomplete","disabled","form","multiple","name","required","size"],slot:["name"],source:["type","media","src","srcset","sizes","width","height"],style:["media","blocking"],table:["align","bgcolor","border","cellpadding","cellspacing","width"],tbody:["align","valign"],td:["colspan","rowspan","headers","align","bgcolor","height","nowrap","valign","width"],template:["shadowrootmode","shadowrootdelegatesfocus","shadowrootclonable","shadowrootserializable"],tfoot:["align","valign"],textarea:["autocomplete","cols","dirname","disabled","form","maxlength","minlength","name","placeholder","readonly","required","rows","wrap"],th:["colspan","rowspan","headers","scope","abbr","align","bgcolor","height","nowrap","valign","width"],thead:["align","valign"],time:["datetime"],tr:["align","bgcolor","valign"],track:["default","kind","label","src","srclang"],video:["src","crossorigin","poster","preload","autoplay","playsinline","loop","muted","controls","width","height"]};for(let e in Qe)Qe[e]=new Set(Qe[e]);var et=new Set(["id","class","style","lang","tabindex","href","pathLength","crossorigin","transform","viewBox","preserveAspectRatio","xmlns","x","y","x1","y1","x2","y2","cx","cy","r","rx","ry","width","height","d","points","dx","dy","rotate","fill","fill-opacity","fill-rule","stroke","stroke-width","stroke-linecap","stroke-linejoin","stroke-dasharray","stroke-dashoffset","stroke-opacity","stroke-miterlimit","opacity","clip-path","clip-rule","mask","filter","color","display","visibility","pointer-events","vector-effect","dominant-baseline","text-anchor","font-family","font-size","font-weight","font-style","letter-spacing","offset","stop-color","stop-opacity","gradientUnits","gradientTransform","spreadMethod","patternUnits","patternContentUnits","patternTransform","markerWidth","markerHeight","refX","refY","orient","markerUnits","maskUnits","maskContentUnits","clipPathUnits","filterUnits","primitiveUnits","in","in2","result","stdDeviation","values","type","mode","operator","radius","scale","baseFrequency","numOctaves","seed","dur","repeatCount","begin","end","from","to","attributeName","keyTimes","keySplines","calcMode","restart","min","max"]);function tn(e){let t=String(e).toLowerCase(),r=new Set(ve),i=Qe[t];if(i)for(let n of i)r.add(n);if(Me.has(String(e)))for(let n of et)r.add(n);return[...r]}function q2(e,t){if(Math.abs(e.length-t.length)>2)return 3;let r=Array.from({length:t.length+1},(i,n)=>n);for(let i=1;i<=e.length;i++){let n=[i];for(let s=1;s<=t.length;s++)n[s]=Math.min(r[s]+1,n[s-1]+1,r[s-1]+(e[i-1]===t[s-1]?0:1));r=n}return r[t.length]}function Bi(e,t){let r=tn(e),i=String(t).toLowerCase(),n=r.find((l)=>l.toLowerCase()===i);if(n!==void 0&&n!==t)return n;if(String(t).length<3)return null;let s=null,a=3,o=!1;for(let l of r){if(l===String(t))continue;let c=q2(String(t),l);if(cAe.has(String(e).split("#")[0]),Hi=(e)=>typeof e==="string"&&X2.test(e),jt=(e)=>J2(e)||Hi(e);function Gi(e,t,r){let i=!1;for(let y of e)if(y.kind==="RENDER"){i=!0;break}if(!i)return e;let n=[],s=(y,p,k,I={})=>{let{at:A,...x}=I,O=A??k.end;return{id:t(),kind:y,value:p,start:O,end:O,spaced:!1,newLine:!1,generated:!0,origin:k.id,...x}},a=!1,o=0,l=0,c=[],f=[],h=[],u=(y,p,k)=>p{let x=1,O=p;while(O>=0&&x>0){if(Y.on)Y.n++;let G=u(y,O,A)?.kind;if(G===k)x++;else if(G===I)x--;if(x>0)O--}return O},S=(y)=>{let p=n.length;while(p>0&&u(n,p,y)?.kind==="OUTDENT")p=m(n,p-1,"OUTDENT","INDENT",y);while(p>0){if(Y.on)Y.n++;let I=n[p-1].kind;if(I==="TERMINATOR"||I==="RENDER")break;if(I==="OUTDENT"){p=m(n,p-2,"OUTDENT","INDENT",y);continue}if(I==="INDENT"){let A=u(n,p,y)?.kind;if(A==="CALL_END"||A===")"){p=m(n,p-1,A,A==="CALL_END"?"CALL_START":"(",y);continue}break}if(I==="CALL_END"||I===")"){p=m(n,p-2,I,I==="CALL_END"?"CALL_START":"(",y);continue}if(I==="INTERPOLATION_END"){p=m(n,p-2,"INTERPOLATION_END","INTERPOLATION_START",y);continue}if(I==="STRING_END"){p=m(n,p-2,"STRING_END","STRING_START",y);continue}p--}let k=u(n,p,y);return k?.kind==="IDENTIFIER"&&(jt(k.value)||(p===0||["INDENT","TERMINATOR","RENDER"].includes(n[p-1]?.kind)))},g=()=>{let y=0;for(let p=n.length-1;p>=0;p--){if(Y.on)Y.n++;let k=n[p].kind;if(Vi.has(k))y++;else if(Ui.has(k)){if(y===0)return 1;y--}else if(k==="TERMINATOR"||k==="RENDER"||k==="INDENT"||k==="OUTDENT")break}return 0},d=(y)=>{let p=n[n.length-1];if(!p)return!1;if(g()!==0)return!1;let k=p.kind;if((k===","||k==="IDENTIFIER"||k==="PROPERTY")&&S(y))return!0;if((k==="INDENT"||k==="TERMINATOR")&&f.includes(l))return!0;return!1},R=(y)=>{let p=1;for(let k=y+1;k0;k++){if(Y.on)Y.n++;let I=e[k].kind;if(I==="("||I==="CALL_START")p++;else if(I===")"){if(p--,p===0)e[k].kind="CALL_END"}else if(I==="CALL_END")p--}},b=(y)=>{let p=1;for(let k=n.length-1;k>=0&&p>0;k--){if(Y.on)Y.n++;if(n[k].kind==="CALL_END")p++;else if(n[k].kind==="CALL_START"){if(p--,p===0&&k>0&&n[k-1].kind==="PROPERTY"&&n[k-1].value==="__clsx")return!0}}return!1},_=(y)=>{while(h.length>0){let p=h[h.length-1];if(y.kind==="INDENT"||Ui.has(y.kind)){p.depth++;return}if(y.kind==="OUTDENT"||Vi.has(y.kind)){if(p.depth===0){n.push(s("CALL_END",")",n[n.length-1]??y)),h.pop();continue}p.depth--;return}if(y.kind==="TERMINATOR"&&p.depth===0){n.push(s("CALL_END",")",n[n.length-1]??y)),h.pop();continue}return}};for(let y=0;y0)_(p);if(p.kind==="RENDER"){a=!0,o=l+1,n.push(p);continue}if(p.kind==="INDENT"){l++,n.push(p);continue}if(p.kind==="OUTDENT"){l--;while(f.length>0&&f[f.length-1]>l)f.pop();n.push(p);while(c.length>0&&c[c.length-1]>l)n.push(s("CALL_END",")",p)),c.pop();if(a&&l0){let I=n[n.length-1].kind;if(I==="TERMINATOR"||I==="INDENT"||I==="RENDER"){n.push(s("IDENTIFIER","__text__",p,{at:p.start,spaced:p.spaced,newLine:p.newLine})),n.push(s("CALL_START","(",p,{at:p.start})),h.push({depth:0});continue}}if(p.kind==="UNARY_MATH"&&p.value==="~"&&k?.kind==="IDENTIFIER"){n.push(s("PROPERTY","__transition__",p,{spaced:p.spaced,newLine:p.newLine})),n.push(s(":",":",p)),k.kind="STRING",k.value=`"${k.value}"`,k.transitionValue=!0;continue}if(p.transitionValue&&k!==null&&Wi.has(k.kind)){n.push(p),n.push(s(",",",",p,{at:k.start}));continue}if(p.kind==="BIND"){let I=n[n.length-1];if(I!==void 0&&(I.kind==="IDENTIFIER"||I.kind==="PROPERTY")&&k!==null&&(k.kind==="IDENTIFIER"||k.kind==="@")){I.value=`__bind_${I.value}__`,n.push(s(":",":",p));continue}}if(p.kind==="PROPERTY"&&p.value[0]==="$"&&p.value.length>1&&![".","?.","@"].includes(n[n.length-1]?.kind)){n.push({...p,kind:"STRING",value:`"data-${p.value.slice(1)}"`});continue}if(p.kind==="IDENTIFIER"&&k?.kind==="-"&&!k.spaced){let I=[p.value],A=y+1,x=p.end;while(A+11&&e[A-1].kind==="PROPERTY"){let O=I.join("-");if(O[0]==="$")O=`data-${O.slice(1)}`;n.push({...p,kind:"STRING",value:`"${O}"`,end:x}),y=A-1;continue}}if(p.kind==="."){let I=n[n.length-1]?.kind;if(I==="INDENT"||I==="TERMINATOR"||I==="RENDER"){if(k?.kind==="PROPERTY"){let A=e[y+2];if(!A||A.kind!==":"){n.push(s("IDENTIFIER","div",p,{spaced:p.spaced,newLine:p.newLine})),n.push(p);continue}p={...p,kind:"IDENTIFIER",value:"div"}}else if(!k||k.kind!=="(")p={...p,kind:"IDENTIFIER",value:"div"}}}if(p.kind==="."&&k?.kind==="("){let I=n[n.length-1]?.kind,A=I==="INDENT"||I==="TERMINATOR"||I==="RENDER";if(k.kind="CALL_START",R(y+1),A)n.push(s("IDENTIFIER","div",p,{spaced:p.spaced,newLine:p.newLine})),n.push(p),n.push(s("PROPERTY","__clsx",p));else if(I===":")n.push(s("IDENTIFIER","__clsx",p,{spaced:p.spaced,newLine:p.newLine}));else n.push(p),n.push(s("PROPERTY","__clsx",p));continue}if(p.kind==="@"&&k?.kind==="PROPERTY"&&!k.spaced){let I=e[y+2],A=I?.kind===".",x=I?.kind===":";if(!A&&!x&&d(p)){let O=String(k.value),G=`on${O[0].toUpperCase()}${O.slice(1)}`;if(I?.kind==="=")r(`a \`=\` cannot follow a bare event directive on one line — \`@${O} = expr\` would assign to the minted handler and invoke the assignment as the listener; bind explicitly (\`@${O}: handler\`), or keep the bare \`@${O}\` and put the text on its own \`= expr\` line`,I.start);if(n.push(p),n.push(k),n.push(s(":",":",k)),n.push(s("@","@",k)),n.push(s("PROPERTY",G,k)),y++,e[y+1]?.kind==="INDENT")n.push(s(",",",",k,{at:e[y+1].start})),n.push(s("->","->",k,{at:e[y+1].start,newLine:!0})),f.push(l+1);else if(e[y+1]!==void 0&&Wi.has(e[y+1].kind))n.push(s(",",",",k,{at:e[y+1].start}));continue}}if(k?.kind==="INDENT"&&p.kind!=="->"&&p.kind!=="=>"&&p.kind!=="CALL_START"&&p.kind!=="("){let I=n[n.length-1]?.kind,A=["IF","UNLESS","WHILE","UNTIL","WHEN","FORIN","FOROF","FORAS","FORASAWAIT","BY"].includes(I),x=p.kind==="IDENTIFIER"&&(I==="INDENT"||I==="TERMINATOR"||I==="RENDER"),O=!1,G=!1;if(p.kind==="CALL_END")G=b(p);if(G)O=!0;else if(p.kind==="IDENTIFIER"&&jt(p.value)&&!A)O=!0;else if(p.kind==="IDENTIFIER"&&!A)O=x||S(p);else if(["PROPERTY","STRING","STRING_END","NUMBER","BOOL","CALL_END",")","]","INDEX_END","}","PRESENCE"].includes(p.kind))O=S(p);if(O){let K=!1;if(p.kind==="PROPERTY"&&n[n.length-1]?.kind==="."){let Z=n.length;while(Z>=2&&n[Z-1].kind==="."&&n[Z-2].kind==="PROPERTY")Z-=2;if(Z>=2&&n[Z-1].kind==="."&&n[Z-2].kind==="IDENTIFIER"&&jt(n[Z-2].value)){let W=n[Z-3]?.kind??null;if(W===null||["INDENT","OUTDENT","TERMINATOR","RENDER"].includes(W))K=!0}}let V=G||p.kind==="IDENTIFIER"&&(jt(p.value)||x)||K;if(n.push(p),V)n.push(s("CALL_START","(",p,{at:k.start})),n.push(s("->","->",p,{at:k.start,newLine:!0})),c.push(l+1);else n.push(s(",",",",p,{at:k.start})),n.push(s("->","->",p,{at:k.start,newLine:!0}));f.push(l+1);continue}}if(p.kind==="IDENTIFIER"&&Hi(p.value)&&(k?.kind==="OUTDENT"||k?.kind==="TERMINATOR")){n.push(p),n.push(s("CALL_START","(",p)),n.push(s("CALL_END",")",p));continue}n.push(p)}e.length=n.length;for(let y=0;y=e.length)return null;if(!F1.test(e[t]))return null;let r=t+1;while(r=0;a--){if(Y.on)Y.n++;if(s>=0&&(n<0||i[s].at>n))e[a]=i[s--].token;else e[a]=e[n--]}return e}var Z2=new Set(["IF","UNLESS","WHILE","UNTIL","WHEN","LEADING_WHEN","CATCH","FOR","LOOP","CLASS"]),Q2=new Set(["(","[","{","PICK_START","OPTPICK_START","CALL_START","INDEX_START","PARAM_START","STRING_START","INTERPOLATION_START","HEREGEX_START"]),el=new Set([")","]","}","PICK_END","CALL_END","INDEX_END","PARAM_END","STRING_END","INTERPOLATION_END","HEREGEX_END"]);function tl(e,t){let r=0;for(let i=t-1;i>=0;i--){if(Y.on)Y.n++;let n=e[i].kind;if(el.has(n)||n==="OUTDENT"){r++;continue}if(Q2.has(n)||n==="INDENT"){if(r===0)return!1;r--;continue}if(r>0)continue;if(Z2.has(n))return!0;if(n==="TERMINATOR")return!1}return!1}function rl(e,t){let r=new Set(["(","[","{","PICK_START","OPTPICK_START","CALL_START","INDEX_START","PARAM_START","STRING_START","INTERPOLATION_START","HEREGEX_START"]),i=new Set([")","]","}","PICK_END","CALL_END","INDEX_END","PARAM_END","STRING_END","INTERPOLATION_END","HEREGEX_END"]),n=[],s=[],a=(S,g)=>{let d=0;for(let R=g-1;R>=S;R--){if(Y.on)Y.n++;let b=e[R].kind;if(i.has(b)||b==="OUTDENT"){d++;continue}if(r.has(b)||b==="INDENT"){if(b==="INDENT")return!1;if(d--,d<0)return!1;continue}if(d>0)continue;if(Bt(e,R))return!0}return!1},o=(S,g)=>{let d=0;for(let R=g-1;R>=S;R--){if(Y.on)Y.n++;let b=e[R].kind;if(i.has(b)||b==="OUTDENT"){d++;continue}if(r.has(b)||b==="INDENT"){if(d--,d<0)return!1;continue}if(d>0)continue;if(b===":"&&e[R-1]?.kind==="PROPERTY")return Ji(e,g+1);if(b==="TERMINATOR")return!1}return!1},l=new Set(["IF","UNLESS","TRY","CATCH","FINALLY","SWITCH","FOR","CLASS"]),c=(S)=>{let g=0,d=0,R=0;for(let b=S;b({id:t(),kind:S,value:S,start:g,end:g,spaced:!1,newLine:!1,generated:!0,origin:d}),h=(S)=>{let g=c(S),d=null;for(let y=S;y=S;y--){if(Y.on)Y.n++;if(!e[y].generated){R=e[y];break}}let b=null;for(let y=g;y{while(s.length&&s[s.length-1].end===S){let g=s.pop();n.push({at:S,token:f("OUTDENT",g.closeAt,g.afterId)}),u=S}};for(let S=0;S"||g.kind==="=>")&&e[S+1]&&e[S+1].kind!=="INDENT"){let d=h(S+1);n.push({at:S+1,token:f("INDENT",d.openAt,d.firstReal?d.firstReal.id:null)}),s.push(d)}else if(g.kind==="THEN"&&tl(e,S)){let d=h(S+1);g.kind="INDENT",g.value="INDENT",g.generated=!0,g.start=g.end=d.firstReal?d.firstReal.start:g.end,g.origin=d.firstReal?d.firstReal.id:null,s.push(d)}else if(g.kind==="ELSE"&&e[S+1]&&e[S+1].kind!=="INDENT"&&e[S+1].kind!=="IF"&&(u===S||e[S-1]?.kind==="OUTDENT")){let d=h(S+1);n.push({at:S+1,token:f("INDENT",d.openAt,d.firstReal?d.firstReal.id:null)}),s.push(d)}}return m(e.length),n}var Ft=new Set(["IDENTIFIER","PROPERTY","SUPER",")","CALL_END","]","INDEX_END","@","THIS","DAMMIT","?","PRESENCE"]),Yi=new Set(["IDENTIFIER","PROPERTY","NUMBER","STRING","STRING_START","REGEX","HEREGEX_START","SYMBOL","MAP_START","PARAM_START","IF","TRY","SWITCH","CLASS","THIS","SUPER","UNDEFINED","NULL","BOOL","UNARY","NEW","DO","DO_IIFE","UNARY_MATH","AWAIT","YIELD","THROW","@","->","=>","[","(","{","--","++"]),zi=new Set(["POST_IF","POST_UNLESS","FOR","WHILE","UNTIL","WHEN","BY","LOOP","TERMINATOR","||","&&","??","THEN","ELSE"]),qi=new Set(["IF","TRY","FINALLY","CATCH","SWITCH","FOR","CLASS"]),Xi=new Set(["IDENTIFIER","PROPERTY","NUMBER","STRING","STRING_END","REGEX","HEREGEX_END",")","CALL_END","]","INDEX_END","}","PICK_END","BOOL","NULL","UNDEFINED","THIS","@"]),se=new Set(["(","[","{","PICK_START","OPTPICK_START","CALL_START","INDEX_START","PARAM_START","STRING_START","INTERPOLATION_START","HEREGEX_START","INDENT"]),ie=new Set([")","]","}","PICK_END","CALL_END","INDEX_END","PARAM_END","STRING_END","INTERPOLATION_END","HEREGEX_END","OUTDENT"]),Bt=(e,t)=>{let r=e[t],i=e[t+1];if(!r||!i||!i.spaced||!Ft.has(r.kind))return!1;if((r.kind==="]"||r.kind==="}")&&(i.kind==="->"||i.kind==="=>"))return!1;if(r.kind==="IDENTIFIER"&&(r.value==="Infinity"||r.value==="NaN")&&(i.kind==="->"||i.kind==="=>"))return!1;if(Yi.has(i.kind))return!0;return i.kind==="..."&&e[t+2]!=null&&Yi.has(e[t+2].kind)},Ji=(e,t)=>{if(!e[t])return!1;let r=(i)=>(e[i]?.kind==="DAMMIT"||e[i]?.kind==="VOID_MARKER")&&e[i+1]?.kind===":";if(e[t].kind==="@"&&(e[t+2]?.kind===":"||r(t+2)))return!0;if(e[t+1]?.kind===":"||r(t+1))return!0;if(se.has(e[t].kind)){let i=1,n=t;while(++n0){if(Y.on)Y.n++;if(se.has(e[n].kind))i++;else if(ie.has(e[n].kind))i--}if(i===0&&e[n]?.kind===":")return!0}return!1},Zi=new Set(["->","=>","[","(",",","{","ELSE","="]),nn=new Set(["INDENT","OUTDENT","TERMINATOR"]),nl=new Set(["CLASS","EXTENDS","IF","CATCH","SWITCH","LEADING_WHEN","FOR","WHILE","UNTIL","DEF"]),Qi=(e,t)=>{let r=0;for(;t>=0;t--){if(Y.on)Y.n++;let i=e[t].kind;if(r===0&&nl.has(i))return!0;if(ie.has(i)){r++;continue}if(se.has(i)){if(r>0){r--;continue}if(!e[t].generated||nn.has(i))return!1;continue}if(r===0&&nn.has(i))return!1}return!1};function il(e,t){let r=[],i=[],n=[0],s=null,a=-1,o=()=>r[r.length-1],l=(d,R,b,_={})=>({id:t(),kind:d,value:d,start:R,end:R,spaced:_.spaced??!1,newLine:_.newLine??!1,generated:!0,origin:b}),c=(d)=>{r.pop(),i.push({at:d,token:l("}",s?s.end:0,s?s.id:null)})},f=(d)=>Ji(e,d),h=()=>{for(let d=r.length-1;d>=0;d--){if(Y.on)Y.n++;let R=r[d];if(R.kind==="object")return R;if(!(R.kind==="INDENT"&&R.listContinuation))return null}return null},u=(d,R)=>{if(e[R]?.kind!=="...")return!1;let b=r[r.indexOf(d)-1];if(!b||!(b.kind==="["||b.kind==="CALL_START"))return!0;return S(b.at,d.at)},m=(d)=>{let R=e[d-1];return Boolean(R&&Ft.has(R.kind)&&f(d+1)&&!Qi(e,d-1))},S=(d,R)=>{let b=0;for(let _=R-1;_>d;_--){if(Y.on)Y.n++;let y=e[_].kind;if(ie.has(y)){b++;continue}if(se.has(y)){if(y==="INDENT"&&b===0)return m(_);if(b--,b<0)return!1;continue}if(b>0)continue;if(y==="TERMINATOR")return!1;if(Bt(e,_))return!0}return!1},g=(d)=>{for(let R=0;d1)n.pop();if(b==="OUTDENT")for(let y=r.length-1;y>=0;y--){let p=r[y];if(p.kind!=="object"&&p.kind!=="CONTROL")break;if(p.kind==="object")p.sameLine=!1}continue}if(b==="TERNARY")n[n.length-1]++;if(b===":"){let y=n.length-1;if(n[y]>0){n[y]--;continue}if(_?.kind==="DAMMIT")_.kind="VOID_MARKER";let p=_?.kind==="VOID_MARKER"?1:0,k=ie.has(_?.kind)?o()?.at??d-1:d-1-p;if(e[d-2-p]?.kind==="@")k=d-2-p;let I=e[k-1],x=!Bt(e,k-1)&&(k<=0||nn.has(I?.kind)||Boolean(I?.newLine)),O=o(),G=r[r.length-2],K=(q)=>q&&(q.kind==="{"||q.kind==="PICK_START"||q.kind==="OPTPICK_START"||q.kind==="object"),V=(q)=>q==="{"||q==="PICK_START"||q==="OPTPICK_START",Z=O?.kind==="INDENT"&&O.listContinuation?h():null,W=Boolean(Z),j=Z?Z.at:O?.kind==="INDENT"&&G?G.at:O?.at;if(O&&(K(O)||O.kind==="INDENT"&&(V(G?.kind)||W))&&!(j!=null&&S(j,k))&&(x||I?.kind===","||V(I?.kind)||e[k]?.kind==="{"))continue;r.push({kind:"object",at:k,sameLine:!0,startsLine:x}),i.push({at:k,token:l("{",e[k].start,e[k].id,{spaced:e[k].spaced,newLine:e[k].newLine})});continue}if(zi.has(b)||(b==="."||b==="?.")&&R.newLine){if(b==="||"||b==="&&"||b==="??"||b==="ELSE")continue;if(b==="TERMINATOR"){n[n.length-1]=0;for(let y=r.length-1;y>=0;y--){let p=r[y];if(p.kind!=="object"&&p.kind!=="CONTROL")break;if(p.kind==="object")p.sameLine=!1}}while(o()?.kind==="object"||b==="TERMINATOR"&&o()?.kind==="CONTROL"&&o()?.trigger==="CLASS"){let y=o();if(y.kind==="CONTROL"){r.pop();continue}if(b==="TERMINATOR")if(_?.kind!==","&&!(y.startsLine&&(f(d+1)||u(y,d+1))))c(d);else break;else if(y.sameLine&&_?.kind!==":"&&!((b==="POST_IF"||b==="POST_UNLESS")&&y.startsLine&&g(d+1)))c(d);else break}continue}if(b===","){let y=h(),p=(k)=>f(k)||u(y,k);if(y&&!S(y.at,d)&&!p(d+1)&&(e[d+1]?.kind!=="TERMINATOR"||!p(d+2))){if(e[d+1]?.kind==="INDENT"&&p(d+2))a=d;else if(o()?.kind==="object"){let k=e[d+1]?.kind==="OUTDENT"?1:0;while(o()?.kind==="object")c(d+k)}}}}if(e.length&&!e[e.length-1].generated)s=e[e.length-1];while(o()?.kind==="object"||o()?.kind==="CONTROL")if(o().kind==="object")c(e.length);else r.pop();return i}function sl(e,t){let r=[],i=[],n=-1,s=(l,c,f)=>({id:t(),kind:l,value:l==="CALL_START"?"(":")",start:c,end:c,spaced:!1,newLine:!1,generated:!0,origin:f}),a=null,o=(l)=>{r.pop(),i.push({at:l,token:s("CALL_END",a?a.end:0,a?a.id:null)})};for(let l=0;l0&&!e[l-1].generated)a=e[l-1];if(r[r.length-1]==="call"&&qi.has(h)&&!(h==="FOR"&&!c.newLine&&e[l-1]&&Xi.has(e[l-1].kind))){r.push(h==="CLASS"?"CONTROL_CLASS":"CONTROL");continue}if(h==="INDENT"){if(l===n){r.push("INDENT");continue}let u=e[l-1];if(!u||!Zi.has(u.kind))while(r[r.length-1]==="call")o(l);if(r[r.length-1]==="CONTROL"||r[r.length-1]==="CONTROL_CLASS")r.pop();r.push("INDENT");continue}if(se.has(h))r.push(h);else if(ie.has(h)){while(r[r.length-1]==="call"||r[r.length-1]==="CONTROL"||r[r.length-1]==="CONTROL_CLASS")if(r[r.length-1]==="call")o(l);else r.pop();r.pop()}if(zi.has(h)||(h==="."||h==="?.")&&c.newLine){if(h==="||"||h==="&&"||h==="??")continue;if(h==="ELSE"&&e[l-1]?.kind==="OUTDENT")continue;if(e[l-1]?.kind!==",")while(r[r.length-1]==="call"||h==="TERMINATOR"&&r[r.length-1]==="CONTROL_CLASS")if(r[r.length-1]==="call")o(l);else r.pop();continue}if(Bt(e,l)||Ft.has(h)&&f&&f.spaced&&(f.kind==="+"||f.kind==="-")&&e[l+2]&&!e[l+2].spaced&&!e[l+2].newLine)i.push({at:l+1,token:s("CALL_START",f.start,f.generated?f.origin:f.id)}),r.push("call");else if(Ft.has(h)&&f?.kind==="INDENT"&&e[l+2]?.kind==="{"&&e[l+2].generated&&!Qi(e,l))i.push({at:l+1,token:s("CALL_START",e[l+2].start,e[l+2].origin)}),r.push("call"),n=l+1}if(e.length&&!e[e.length-1].generated)a=e[e.length-1];while(r[r.length-1]==="call"||r[r.length-1]==="CONTROL"||r[r.length-1]==="CONTROL_CLASS")if(r[r.length-1]==="call")o(e.length);else r.pop();return i}var Ut=(e,t)=>sn(e,rl,t),Vt=(e,t)=>sn(e,il,t),Wt=(e,t)=>sn(e,sl,t);var is=new Set(["IDENTIFIER","PROPERTY","NUMBER","STRING","STRING_END","REGEX","HEREGEX_END","BOOL","NULL","UNDEFINED",")","CALL_END","PARAM_END","]","INDEX_END","}","PICK_END","THIS","@","SUPER","?","PRESENCE","DAMMIT","CAST","IMPORT_META"]),al=new Set(["IDENTIFIER","PROPERTY","(","CALL_START","PARAM_START","{","[","INDEX_START","STRING","NUMBER","BOOL","NULL","UNDEFINED","-","UNARY","NEW","RESERVED"]),ae=new Set(["(","CALL_START","PARAM_START","[","INDEX_START","{","PICK_START","OPTPICK_START"]),oe=new Set([")","CALL_END","PARAM_END","]","INDEX_END","}","PICK_END"]),ol=new Set(["TERMINATOR","INDENT","OUTDENT",",","=","COMPOUND_ASSIGN","REACTIVE_ASSIGN","COMPUTED_ASSIGN","READONLY_ASSIGN","GATE","EFFECT","->"]),ll=new Set(["+","-","MATH","**","SHIFT","COMPARE","MATCH","&&","||","??","^","RELATION","TERNARY","?","PRESENCE",":","?.","DAMMIT","EXTENDS","..","...","IF","UNLESS","ELSE","THEN","WHILE","UNTIL","LOOP","FOR","WHEN","BY","SWITCH","RETURN","THROW","CATCH","FINALLY"]),cl=new Set(["IF","UNLESS","ELSE","THEN","WHILE","UNTIL","LOOP","FOR","WHEN","BY","SWITCH","RETURN","THROW"]),fl=new Set(["IDENTIFIER","PROPERTY","RESERVED","NUMBER","STRING","TYPE_TEMPLATE","BOOL","NULL","UNDEFINED","THIS",".",",",":","?","TERNARY","...","|","&","=>","EXTENDS","(",")","PARAM_START","PARAM_END","[","]","INDEX_START","INDEX_END","{","}","INDENT","OUTDENT","TERMINATOR"]),hl=new Set(["IDENTIFIER","PROPERTY","RESERVED","NUMBER","STRING","TYPE_TEMPLATE","BOOL","NULL","UNDEFINED","THIS",")","PARAM_END","]","INDEX_END","}"]),ul=new Set(["TERMINATOR","INDENT","OUTDENT","{",","]),Kt=(e,t,r)=>{if(t-1{let s=0,a=[],o=(u=0)=>a[a.length-1-u],l=null,c=!1,f=[],h=(u,m)=>{s-=m;for(let S=0;S"){h(m,1),c=!0;continue}if(S==="SHIFT"&&m.value===">>"){h(m,2),c=!0;continue}if(S==="SHIFT"&&m.value===">>>"){h(m,3),c=!0;continue}if(S==="UNARY"&&m.value==="typeof"){c=!1;continue}if(m.word==="is"&&c&&u-2>=t&&(e[u-1].kind==="IDENTIFIER"||e[u-1].kind==="PROPERTY"||e[u-1].kind==="THIS")&&(e[u-2].kind==="=>"||e[u-2].value==="asserts"||e[u-2].kind===":"&&e[u-3]?.kind==="CALL_END")){c=!1;continue}if(S==="RELATION"&&m.value==="in"&&o()==="["&&o(1)==="{"&&u-2>=t&&(e[u-2].kind==="["||e[u-2].kind==="INDEX_START")&&(e[u-1].kind==="IDENTIFIER"||e[u-1].kind==="PROPERTY")&&Kt(e,u-2,t)){c=!1;continue}if(m.value==="?"&&c&&e[u+1]?.kind===":"){c=!1;continue}if(S==="-"&&e[u+1]?.kind==="NUMBER"&&!c){u++,c=!0;continue}if((S==="-"||S==="+")&&e[u+1]?.value==="readonly"&&(e[u+2]?.kind==="["||e[u+2]?.kind==="INDEX_START")&&o()==="{"&&Kt(e,u,t)){c=!1;continue}if((S==="-"||S==="+")&&e[u+1]?.value==="?"&&e[u+2]?.kind===":"&&o()==="{"&&(e[u-1]?.kind==="]"||e[u-1]?.kind==="INDEX_END")){c=!0;continue}if(S==="="&&s>0){c=!1;continue}if((o()==="{"||n.methods&&o()===void 0)&&S==="CALL_START"){let g=e[u-1],d=Kt(e,u-1,t);if(g&&(g.kind==="IDENTIFIER"||g.kind==="PROPERTY")&&d){let R=1,b=u+1;while(b0){if(e[b].kind==="CALL_START")R++;else if(e[b].kind==="CALL_END")R--;b++}if(R===0&&e[b]?.kind===":"){f.push(b-1),a.push("("),c=!1;continue}if(R===0)i(`an interface method shorthand needs a return type — \`${g.value}(…): T\``,g.start)}}if(S==="CALL_END"&&u===f[f.length-1]){f.pop(),a.pop(),c=!0;continue}if(fl.has(S)){if(es.has(S))a.push(es.get(S));else if(ml.has(S))a.pop();c=hl.has(S);continue}i(`code expression ('${m.word??m.value}') in a type body — types erase and cannot execute`,m.start)}if(s>0)i("unclosed '<' in a type body — the generic never closes",l.start)},dl=new Set(["=",":","COMPOUND_ASSIGN","REACTIVE_ASSIGN","COMPUTED_ASSIGN","READONLY_ASSIGN",",","[","(","{","CALL_START","INDEX_START","PARAM_START","PICK_START","OPTPICK_START","RETURN","THROW","AWAIT","YIELD"]),Z1=(e,t)=>{let r=e[t];if(!r)return!0;if(r.kind==="TERMINATOR"||r.kind==="EXPORT")return!0;if(r.kind!=="INDENT"&&r.kind!=="OUTDENT")return!1;let i=0;for(let n=t;n>=0;n--){if(Y.on)Y.n++;let s=e[n].kind;if(s==="OUTDENT")i++;else if(s==="INDENT"){if(i===0){let a=e[n-1];return!(a&&dl.has(a.kind))}i--}}return!0},on=(e,t,r)=>{if(r<=t)return!1;let i=new Set(["|","&",",",":","?","TERNARY",".","..."]),n=0,s=0,a=0,o=0,l=!1,c=[],f=null;for(let h=t;h"){let S=h>t?e[h-1].kind:null;if((S===")"||S==="PARAM_END")&&f&&(f.colon||f.empty)){l=!1;continue}return!1}if(u==="("||u==="PARAM_START"){c.push({colon:!1,open:h}),n++,l=!1;continue}if(u===")"||u==="PARAM_END"){if(--n<0)return!1;let S=c.pop();f=S?{colon:S.colon,empty:h===S.open+1}:null,l=!0;continue}if(u==="["||u==="INDEX_START"){s++,l=!1;continue}if(u==="]"||u==="INDEX_END"){if(--s<0)return!1;l=!0;continue}if(u==="{"){a++,l=!1;continue}if(u==="}"){if(--a<0)return!1;l=!0;continue}if(u==="COMPARE"){if(m==="<"){o++,l=!1;continue}if(m===">"){if(o<=0)return!1;o--,l=!0;continue}return!1}if(u==="SHIFT"){if(m===">>"){if(o<2)return!1;o-=2,l=!0;continue}if(m===">>>"){if(o<3)return!1;o-=3,l=!0;continue}return!1}if(u==="="){if(o>0){l=!1;continue}return!1}if(i.has(u)){if(u===":"&&c.length)c[c.length-1].colon=!0;l=!1;continue}if(u==="IDENTIFIER"||u==="PROPERTY"||u==="NUMBER"||u==="RESERVED"||u==="STRING"||u==="NULL"||u==="UNDEFINED"||u==="BOOL"){if(l)return!1;l=!0;continue}return!1}return n===0&&s===0&&a===0&&o===0&&l},ts=(e,t,r,i)=>{let n=[],s=[],a=[],o=0,l=t,c=e[t-1]?.end??0,f=(u)=>i("unclosed '<' in a type — the generic argument list never closes"+(r.cast?"; if the '<' was meant as a comparison, parenthesize the cast: '(x as T) < y'":""),u.start),h=(u,m)=>{for(let S=0;Sl&&u.newLine)break;if(m==="SHIFT"&&(u.value===">>"||u.value===">>>")&&a.length>0){h(u,u.value===">>"?2:3),n.push(u.value),c=u.end,t++;continue}if(m==="COMPARE"&&u.value===">"){if(o===0)break;h(u,1),n.push(u.value),c=u.end,t++;continue}if(ae.has(m)||m==="COMPARE"&&u.value==="<"){o++;let g=m==="{"?"{":m==="["||m==="INDEX_START"?"[":m==="COMPARE"?"<":"(";if(s.push(g),g==="<")a.push(u);n.push(u.value),c=u.end,t++;continue}if(oe.has(m)){if(o===0)break;if(s[s.length-1]==="<")f(a[a.length-1]);o--,s.pop(),n.push(u.value),c=u.end,t++;continue}if(m==="INTERPOLATION_END"||m==="STRING_END"||m==="HEREGEX_END")break;if(o===0){if(ol.has(m))break;if(r.stopAtFatArrow&&m==="=>")break;if(r.cast&&ll.has(m))if(t===l&&(m==="-"||m==="+")&&e[t+1]?.kind==="NUMBER"){if(m==="+")i("a numeric literal type spells its sign with '-' (TypeScript has no '+1' type)",u.start,e[t+1].end)}else break;if(r.alias&&cl.has(m))break}else{if(m==="INDENT"||m==="OUTDENT"){t++;continue}if(m==="TERMINATOR"){n.push(";"),c=u.end,t++;continue}if(m==="PROPERTY"&&s[s.length-1]==="{"){let g=n[n.length-1];if(g&&g!=="{"&&g!==","&&g!==";")n.push(";")}}if(m==="?"&&!u.spaced&&e[t+1]?.kind===":"&&n.length){n[n.length-1]+="?",c=u.end,t++;continue}n.push(u.word==="is"?u.word:u.value),c=u.end,t++}if(a.length)f(a[0]);return{parts:n,consumed:t-l,end:c}},pl=(e)=>e.join(" ").replace(/\s+/g," ").trim().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,": "),gl=(e,t,r)=>{let i=(l)=>l==="("||l==="PARAM_START"||l==="CALL_START",n=(l)=>l===")"||l==="PARAM_END"||l==="CALL_END";if(r-t<2||!i(e[t].kind))return!1;let s=0;for(let l=t;l{if(!(e[t]?.kind==="COMPARE"&&e[t].value==="<"&&!e[t].spaced))return t;let r=0;while(t")r--;else if(i.kind==="SHIFT"&&i.value===">>")r-=2;else if(i.kind==="SHIFT"&&i.value===">>>")r-=3;else if(i.kind==="TERMINATOR"||i.kind==="INDENT"||i.kind==="OUTDENT")return-1;if(t++,r===0)break}return r===0?t:-1},Yt=(e,t)=>{if(t<0||!e[t]||ln(e[t])>=0)return t;let r=0;while(t>=0){if(Y.on)Y.n++;let i=e[t];if(i.kind==="TERMINATOR"||i.kind==="INDENT"||i.kind==="OUTDENT")return-1;if(r+=ln(i),t--,r===0)break}return r===0?t:-1},zt=(e,t)=>{let r=Yt(e,t-1);if(r<0||e[r]?.kind!=="IDENTIFIER")return!1;let i=e[r-1];if(!(i?.kind==="IDENTIFIER"&&i.value==="type"))return!1;return Z1(e,r-2)},ln=(e)=>e.kind==="COMPARE"&&e.value==="<"?1:e.kind==="COMPARE"&&e.value===">"?-1:e.kind==="SHIFT"&&e.value===">>"?-2:e.kind==="SHIFT"&&e.value===">>>"?-3:0,J1=(e,t)=>{let r=e[t];if(!r||r.kind!=="IDENTIFIER"&&r.kind!=="PROPERTY")return!1;if(e[t-1]?.kind==="DEF")return!0;return r.kind==="PROPERTY"&&e[t-1]?.kind==="@"&&e[t-2]?.kind==="DEF"},bl=(e,t)=>{let r=e[t-1];if(!r)return!1;if(r.kind===")"||r.kind==="CALL_END"||r.kind==="PARAM_END")return!0;if(r.kind==="IDENTIFIER"||r.kind==="PROPERTY"){if(J1(e,t-1))return!0;let i=e[t-2]?.kind==="@"?t-3:t-2;if(Z1(e,i))return!0}if(r.kind==="VOID_MARKER"&&J1(e,t-2))return!0;return null},rs=(e)=>e.kind==="TERMINATOR"||e.kind==="INDENT"||e.kind==="OUTDENT",yl=(e,t)=>{if(t.upTo>e.length||t.upTo>0&&e[t.upTo-1]!==t.ref){t.answers.clear(),t.level=0;let r=e.length-1;while(r>=0&&!rs(e[r])){if(Y.on)Y.n++;r--}t.upTo=r+1}for(let r=t.upTo;r{let i=e[e.length-1];if(!i)return!1;if(!(i.kind==="COMPARE"&&i.value===">"||i.kind==="SHIFT"&&(i.value===">>"||i.value===">>>")))return!1;if(t)return!0;return yl(e,r),r.answers.get(r.level)??!1},Gt=(e,t)=>{let r=0,i=!1;for(let n=t+1;n")return-1;if(s==="=>")i=!0;else if(s==="="||s==="REACTIVE_ASSIGN"||s==="COMPUTED_ASSIGN"||s==="READONLY_ASSIGN"||s==="GATE"||s==="EFFECT"){if(!i||on(e,t+1,n))return n}}}return-1},Sl=(e)=>{let t=[new Map],r=Array(e.length),i=[{id:0,up:null}],n=0;for(let s=0;s"||l==="=>";i.push({id:o,up:c?null:i[i.length-1]})}else if(a==="OUTDENT"){if(i.length>1)i.pop()}else if(ae.has(a))n++;else if(oe.has(a))n--;else if(n===0&&(a==="IDENTIFIER"||a==="PROPERTY")&&e[s+1]?.kind==="=")for(let o=i[i.length-1];o;o=o.up){if(Y.on)Y.n++;t[o.id].set(e[s].value,s)}}return{blockMaps:t,blockIdAt:r}},Rl=(e,t)=>{let r=0;for(;t"||i==="=>")return!0;if(i==="TERMINATOR"||i==="INDENT"||i==="OUTDENT")return!1}}return!1},El=(e,t)=>{let r=0;for(let i=t+1;i{let i=0;for(let n=t;n{let r=0;for(let i=t;i","=>","DO","DO_IIFE","TRY","LOOP"]),_l=new Set(["IF","UNLESS","SWITCH","WHILE","UNTIL","FOR","CLASS"]),Nl=new Set(["->","=>","THEN","ELSE"]),Al=new Set(["TERMINATOR","INDENT","OUTDENT","THEN","ELSE","IF","UNLESS","POST_IF","POST_UNLESS","WHILE","UNTIL","LOOP","FOR","WHEN","BY","SWITCH","RETURN","THROW",",","=","COMPOUND_ASSIGN","&&","||","??","TERNARY","?",":","RELATION","+","-","MATH","**","SHIFT","&","|","^","STRING_START","STRING_END","INTERPOLATION_START","INTERPOLATION_END"]),vl=new Map([["yes","true"],["no","false"],["on","true"],["off","false"],["true","true"],["false","false"],["null","null"],["undefined","undefined"],["this","this"]]);function qt(e,t,r,i){let n=[],s=[],a=new WeakSet,o=()=>s[s.length-1]??null,l=!1,c=[],f=()=>c.length>0&&!!c[c.length-1],h=()=>c[c.length-1]??!1,u=(x)=>{let O=vl.get(x.value);if(O===void 0)return;i(`'${x.value}' cannot name a binding — every read of '${x.value}' lowers to \`${O}\`, so the binding would be unreachable`,x.start,x.end)},m=-1,S=0,g=!1,d=!1,R=null,b=(x,O)=>(R??=Sl(e),(R.blockMaps[R.blockIdAt[x]].get(O)??-1)>=x),_=null,y=(x)=>{let O=[],G=x,K=!0,V=-1;for(;;){if(Y.on)Y.n++;let q=El(e,G);if(q<0){if(Gt(e,G)>=0)break;O.push({colon:G,shaped:!1,assigned:!1}),K=!1,V=-1;break}if(Tl(e,G+1,q)){O.push({colon:G,shaped:!1,assigned:!1}),K=!1,V=-1;break}O.push({colon:G,shaped:q>G+1&&on(e,G+1,q),assigned:b(q+1,e[G-1].value)}),V=q;let t1=e[q+1];if(t1&&(t1.kind==="IDENTIFIER"||t1.kind==="PROPERTY")&&e[q+2]?.kind===":"){G=q+2;continue}break}let Z=V>=0?e[V+1]:null,W=K&&Z!=null&&Z.kind!=="OUTDENT",j=W&&O.every((q)=>q.shaped&&q.assigned);if(!j&&W&&O.some((q)=>q.shaped)&&O.some((q)=>q.assigned)){let q=O.find((N)=>!(N.shaped&&N.assigned)),t1=e[q.colon-1],M=q.shaped?`'${t1.value}' is never assigned in this block`:`the value after '${t1.value}:' is not a type`;i("these adjacent 'name:' lines are ambiguous — with every line a type and every "+`name assigned later they would all claim as typed forward declarations, but ${M}; for typed forwards, assign every name in this block or add an initializer ('${t1.value}: T = value'); for an implicit object, parenthesize the literal or assign it to a target`,t1.start)}_??=new Map;for(let q of O)_.set(q.colon,j);return j},p=(x,O,G,K,V)=>({id:t(),kind:x,value:O,start:G,end:K,spaced:V.spaced,newLine:V.newLine,generated:!1,origin:null}),k=(x,O,G,K)=>{if(e[G]?.kind===":")i("type annotations use a single ':' (e.g. `x: number`), not '::'",O.start,e[G].end);let V=ts(e,G,K,i);if(V.parts.length===0)return-1;for(let Z=G;Z R) => body`, not `(x): (a: T) => R => body`",e[G].start);return n.push(p(x,pl(V.parts),O.start,V.end,O)),G+V.consumed-1},I=(x)=>{let O=x+1;if(e[O]?.kind!=="IDENTIFIER")return-1;if(O++,O=Ht(e,O),O<0)return-1;if(e[O]?.kind!=="=")return-1;if(O++,e[O]?.kind==="INDENT"){let V=ns(e,O);return an(e,O+1,V,i,{methods:!0}),V}let G=ts(e,O,{alias:!0},i);if(G.parts.length===0)i("a type alias needs a type after '='",e[O-1].end);an(e,O,O+G.consumed,i);let K=e[O+G.consumed];if(K&&K.kind!=="TERMINATOR"&&K.kind!=="OUTDENT")i(`a type alias must fill its line — unexpected '${K.value}' after the type`,K.start);return O+G.consumed-1},A=(x)=>{let O=x+1;if(e[O]?.kind!=="IDENTIFIER")return-1;if(O++,O=Ht(e,O),O===-1)return-1;if(e[O]?.kind==="EXTENDS"){if(e[O+1]?.kind!=="IDENTIFIER")return-1;if(O+=2,O=Ht(e,O),O===-1)return-1}if(e[O]?.kind!=="INDENT")return-1;let G=ns(e,O);return an(e,O+1,G,i,{methods:!0}),G};for(let x=0;x=0){let Z=K?.kind==="EXPORT"?n.pop():O,W=e[V].end;n.push(p("TYPE_DECL",r.slice(Z.start,W).replace(/\r\n/g,` -`),Z.start,W,O)),x=V;continue}}if(G==="IDENTIFIER"&&O.value==="as"&&K&&K.kind!=="."&&K.kind!=="?."&&is.has(K.kind)&&e[x+1]&&(al.has(e[x+1].kind)||e[x+1].kind==="+"&&e[x+2]?.kind==="NUMBER")){let V=k("CAST",O,x+1,{cast:!0});if(V<0)i("'as' begins a cast and takes a type — `x as T`",O.start,O.end);if(V>=0){x=V;let Z=e[x+1],W=n[n.length-1];if(Z&&Z.newLine&&Z.kind!=="TERMINATOR"&&Z.kind!=="INDENT"&&Z.kind!=="OUTDENT"&&!(Z.kind==="IDENTIFIER"&&Z.value==="as")){let j=r.slice(W.end,Z.start),q=j.indexOf(` -`);if(q>=0){let t1=j[q-1]==="\r",M=W.end+q-(t1?1:0),N=t1?2:1;n.push({id:t(),kind:"TERMINATOR",value:r.slice(M,M+N),start:M,end:M+N,spaced:!1,newLine:!1,generated:!0,origin:null})}}continue}}if(G==="COMPARE"&&O.value==="<"&&!O.spaced&&K&&(K.kind==="IDENTIFIER"||J1(n,n.length-1))){let V=n[n.length-2]??null,Z=Ht(e,x);if(Z>x){let W=Z-1,j=e[W+1]?.kind,q=V?.kind==="DEF"||J1(n,n.length-1),t1=j==="="&&e[W+2]?.kind==="COMPONENT";if(q||t1){if(q&&j==="("){let M=0;for(let N=W+1;N=0){x=C;continue}}if(K.kind==="CALL_END"&&a.has(K)){let C=k("TYPE",O,x+1,{});if(C>=0){x=C;continue}}if(J1(n,n.length-1)){let C=k("TYPE",O,x+1,{});if(C>=0){if(K.kind==="PROPERTY"&&Z?.kind==="DEF")u(K),K.kind="IDENTIFIER";x=C;continue}}if(K.kind==="TYPE_PARAMS"&&J1(n,n.length-2)){let C=k("TYPE",O,x+1,{});if(C>=0){x=C;continue}}if(K.kind==="VOID_MARKER"&&J1(n,n.length-2)){let C=k("TYPE",O,x+1,{});if(C>=0){x=C;continue}}if(V&&(V.kind==="param"||V.kind==="defparam")&&!V.sawEq&&!V.sawType&&V.bodyDepth===0&&!V.inlineBody){let C=K.kind==="PROPERTY"||K.kind==="IDENTIFIER",w=K.kind==="}"||K.kind==="]",D=K.kind==="?"&&(Z?.kind==="PROPERTY"||Z?.kind==="IDENTIFIER");if(C||w||D){let B=k("TYPE",O,x+1,{});if(B>=0){if(D){if(K.kind="OPT_MARKER",Z.kind==="PROPERTY")Z.kind="IDENTIFIER"}else if(K.kind==="PROPERTY"&&e[x-2]?.kind!=="@")u(K),K.kind="IDENTIFIER";V.sawType=!0,x=B;continue}}}let W=K.kind==="OPT_MARKER"?1:0,j=W?n[n.length-2]??null:K,q=(n[n.length-2-W]??null)?.kind==="@",t1=n.length-(q?3:2)-W,M=j!==null&&(j.kind==="PROPERTY"||j.kind==="IDENTIFIER")&&Z1(n,t1),N=j!==null&&j.kind==="STRING"&&Z1(n,t1);if(s.length===0&&M&&!q)d=!0;if(s.length===0&&K.kind==="PROPERTY"&&n[n.length-2]?.kind==="."&&n[n.length-3]?.kind==="PROPERTY"&&n[n.length-3].value==="prototype"&&n[n.length-4]?.kind==="?."&&n[n.length-5]?.kind==="IDENTIFIER"&&Z1(n,n.length-6)&&Gt(e,x)>=0)i("an annotated prototype member requires the unconditional chain (`X::m: T = v`) — "+"the soak form cannot carry the annotation",O.start,O.end);if(s.length===0&&K.kind==="PROPERTY"&&n[n.length-2]?.kind==="."&&n[n.length-3]?.kind==="PROPERTY"&&n[n.length-3].value==="prototype"&&n[n.length-4]?.kind==="."&&n[n.length-5]?.kind==="IDENTIFIER"&&Z1(n,n.length-6)&&Gt(e,x)>=0){let C=k("TYPE",O,x+1,{});if(C>=0){x=C;continue}}if(s.length===0&&(M||N)&&Gt(e,x)>=0){let C=k("TYPE",O,x+1,{});if(C>=0){if(j.kind==="PROPERTY"&&!q){if(h()!=="class")u(j);j.kind="IDENTIFIER"}d=!1,x=C;continue}}if(s.length===0&&f()&&M&&!Rl(e,x+1)){let C=-1,w=0;for(let D=x+1;Dx+1&&on(e,x+1,C)){let D=k("TYPE",O,x+1,{});if(D>=0){if(j.kind==="PROPERTY"&&!q){if(h()==="component")u(j);j.kind="IDENTIFIER"}x=D;continue}}}if(s.length===0&&!f()&&M&&!q&&!W){let C=_?.get(x);if(C!==void 0?C:!g&&y(x)){let D=k("TYPE",O,x+1,{});if(D>=0){if(K.kind==="PROPERTY")u(K),K.kind="IDENTIFIER";d=!1,x=D;continue}}}}if(ae.has(G))S++;else if(oe.has(G)){if(S--,m>=0&&S=0&&S===m){if(G==="COMPARE"&&O.value==="<")i("class generics are not supported — the class head's '<' parses as a comparison "+"and the statement miscompiles silently (`class Box` compiles to "+"`(class Box {} < T) && …`); remove the generic list",O.start);if(Al.has(G))m=-1}if(G==="CLASS"||G==="COMPONENT")l=G==="CLASS"?"class":"component";else if(G==="THEN")l=!1;else if(G==="INDENT")c.push(l),l=!1;else if(G==="OUTDENT")c.pop();else if(G==="TERMINATOR")l=!1;if(s.length===0){if(G==="TERMINATOR")g=d,d=!1;else if(G==="INDENT"||G==="OUTDENT")g=!1,d=!1}if(ae.has(G)){let V="other";if(G==="PARAM_START")V="param";else if(G==="CALL_START"&&J1(n,n.length-1))V="defparam";else if(G==="CALL_START"&&K?.kind==="TYPE_PARAMS"&&J1(n,n.length-2))V="defparam";else if(G==="CALL_START"&&K?.kind==="VOID_MARKER"&&J1(n,n.length-2))V="defparam";s.push({kind:V,sawEq:!1,sawType:!1,bodyDepth:0,pendingImmediate:!1,pendingCond:!1,inlineBody:!1})}else if(oe.has(G)){if(s.pop()?.kind==="defparam"&&G==="CALL_END")a.add(O)}else{let V=o();if(V&&(V.kind==="param"||V.kind==="defparam")){let Z=()=>{V.sawEq=!1,V.sawType=!1,V.pendingImmediate=!1,V.pendingCond=!1,V.inlineBody=!1};if(V.bodyDepth>0){if(G==="INDENT")V.bodyDepth++;else if(G==="OUTDENT")V.bodyDepth--}else if(G==="INDENT")if(V.pendingImmediate||V.pendingCond)V.bodyDepth=1,V.pendingImmediate=!1,V.pendingCond=!1,V.inlineBody=!1;else Z();else if(G===","||G==="OUTDENT")Z();else if(G==="TERMINATOR")if(V.inlineBody&&O.value===";")V.pendingImmediate=!1,V.pendingCond=!1;else Z();else{if(V.pendingImmediate=wl.has(G),_l.has(G)&&K?.kind==="=")V.pendingCond=!0;else if(G==="THEN")V.pendingCond=!1;if(Nl.has(G))V.inlineBody=!0;if(G==="=")V.sawEq=!0}}}n.push(O)}e.length=n.length;for(let x=0;x"&&r!=="=>")continue;let i=t-1,n=e[i];if(!n)continue;if(n.kind==="DO"){n.kind="DO_IIFE";continue}if(n.kind!==")"){let a=0,o=-1;for(let l=t-1;l>=0;l--){if(Y.on)Y.n++;let c=e[l],f=c.kind;if(f===")"||f==="]"||f==="}"||f==="PICK_END"||f==="CALL_END"||f==="PARAM_END"||f==="INDEX_END"||f==="COMPARE"&&c.value===">")a++;else if(f==="("||f==="["||f==="{"||f==="PICK_START"||f==="OPTPICK_START"||f==="CALL_START"||f==="PARAM_START"||f==="INDEX_START"||f==="COMPARE"&&c.value==="<")a--;else if(f==="SHIFT"&&c.value===">>")a+=2;else if(f==="SHIFT"&&c.value===">>>")a+=3;else if(a===0){if(f===":"){if(e[l-1]?.kind===")")o=l-1;break}if(f==="TERMINATOR"||f==="INDENT"||f==="OUTDENT"||f==="="||f==="->"||f==="=>")break}}if(o<0)continue;i=o,n=e[i]}else{let a=0,o=-1;for(let l=t-1;l>=0;l--){if(Y.on)Y.n++;let c=e[l].kind;if(c===")"||c==="CALL_END"||c==="PARAM_END")a++;else if(c==="("||c==="CALL_START"||c==="PARAM_START"){if(--a===0){o=l;break}}}if(o>1&&e[o-1].kind===":"&&e[o-2]?.kind===")")i=o-2,n=e[i]}let s=0;for(let a=i-1;a>=0;a--){if(Y.on)Y.n++;let o=e[a];if(o.kind===")"||o.kind==="CALL_END"||o.kind==="INDEX_END"||o.kind==="]")s++;else if(o.kind==="("||o.kind==="CALL_START"||o.kind==="INDEX_START"||o.kind==="["){if(s>0){s--;continue}if(o.kind==="("){if(o.kind="PARAM_START",n.kind="PARAM_END",e[a-1]?.kind==="DO")e[a-1].kind="DO_IIFE"}break}}}return e}function Il(e){let t=new Set(["(","[","{","PICK_START","OPTPICK_START","CALL_START","INDEX_START","PARAM_START","STRING_START","INTERPOLATION_START","HEREGEX_START","INDENT"]),r=new Set([")","]","}","PICK_END","CALL_END","INDEX_END","PARAM_END","STRING_END","INTERPOLATION_END","HEREGEX_END","OUTDENT"]),i=[0];for(let n=0;n0)i[a]--}else if(s==="INDEX_START"&&i[i.length-1]===0){let a=1,o=n;while(++o0){if(Y.on)Y.n++;if(t.has(e[o].kind))a++;else if(r.has(e[o].kind))a--}if(a===0&&e[o]?.kind===":")e[n].kind="[",e[o-1].kind="]"}if(t.has(e[n].kind))i.push(0);else if(r.has(e[n].kind))i.pop()}return e}var $l=new Set(["STRING","STRING_END","REGEX","HEREGEX_END","NUMBER","BOOL","NULL","UNDEFINED","]","}","SYMBOL"]);function Dl(e){let t=0;for(let r=0;r0&&(i==="->"||i==="=>")&&r>0&&($l.has(e[r-1].kind)||e[r-1].kind==="IDENTIFIER"&&(e[r-1].value==="Infinity"||e[r-1].value==="NaN")))e.splice(r,0,{kind:",",value:",",start:e[r].start,end:e[r].start}),r++}return e}function xl(e){let t=new Set(["(","[","{","PICK_START","OPTPICK_START","CALL_START","INDEX_START","PARAM_START","STRING_START","INTERPOLATION_START","HEREGEX_START","INDENT"]),r=new Set([")","]","}","PICK_END","CALL_END","INDEX_END","PARAM_END","STRING_END","INTERPOLATION_END","HEREGEX_END","OUTDENT"]),i=(s)=>s!==void 0&&(s.kind==="IDENTIFIER"||s.kind==="PROPERTY"),n=[0];for(let s=0;s0)n[o]--}else if(i(e[s])&&n[n.length-1]===0&&e[s-1]?.kind!=="."&&e[s-1]?.kind!=="?."&&e[s-1]?.kind!=="@"){let o=s;for(;;){if(Y.on)Y.n++;let l=e[o+1],c=e[o+2];if(l===void 0||!i(c))break;if(l.kind==="."){o+=2;continue}if(l.kind==="-"&&l.start===e[o].end&&c.start===l.end){o+=2;continue}break}if(o>s&&e[o+1]?.kind===":"){let l="";for(let f=s;f<=o;f++)l+=e[f].value;let c={...e[s],kind:"STRING",value:JSON.stringify(l),end:e[o].end};e.splice(s,o-s+1,c)}}if(t.has(e[s].kind))n.push(0);else if(r.has(e[s].kind))n.pop()}return e}function Cl(e){for(let t=0;t>>=":"COMPOUND_ASSIGN"},cs={"**=":"COMPOUND_ASSIGN","&&=":"COMPOUND_ASSIGN","||=":"COMPOUND_ASSIGN","??=":"COMPOUND_ASSIGN","<<=":"COMPOUND_ASSIGN",">>=":"COMPOUND_ASSIGN","//=":"COMPOUND_ASSIGN","%%=":"COMPOUND_ASSIGN",">>>":"SHIFT","...":"...","<=>":"BIND"},fs={"==":"COMPARE","!=":"COMPARE","<=":"COMPARE",">=":"COMPARE","**":"**","&&":"&&","||":"||","??":"??","..":"..","+=":"COMPOUND_ASSIGN","-=":"COMPOUND_ASSIGN","*=":"COMPOUND_ASSIGN","/=":"COMPOUND_ASSIGN","%=":"COMPOUND_ASSIGN","&=":"COMPOUND_ASSIGN","^=":"COMPOUND_ASSIGN","|=":"COMPOUND_ASSIGN",":=":"REACTIVE_ASSIGN","~=":"COMPUTED_ASSIGN","<~":"GATE","=!":"READONLY_ASSIGN","<<":"SHIFT",">>":"SHIFT","//":"MATH","%%":"MATH","~>":"EFFECT","!>":"!>","=~":"MATCH","->":"->","=>":"=>","++":"++","--":"--","?.":"?.",".=":"METHOD_ASSIGN","*{":"MAP_START"},Ml=new Set([".","?.","UNARY","NEW","DO","DO_IIFE","MATH","UNARY_MATH","+","-","**","SHIFT","RELATION","COMPARE","&","^","|","&&","||","??","TERNARY","EXTENDS"]),Xt=new Set(["IDENTIFIER","PROPERTY",")","CALL_END","NUMBER","STRING","]","INDEX_END","SUPER","DAMMIT","PRESENCE","DYNAMIC_IMPORT"]),tt=new Set([...Xt,"BOOL","NULL","UNDEFINED","}","PICK_END","STRING_END","REGEX","HEREGEX_END","THIS","@"]);function jl(e,t){let r=t;while(r=e.length||Fl.test(e[r+1])))r++;return r}var Fl=/[\s,)\]};:]/,fn=/[0-9]/,Bl=/^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,Ul=/^\/(?!\/)((?:[^[\/\n\\]|\\[^\n]|\[(?:\\[^\n]|[^\]\n\\])*\])*)(\/)?/,Vl=/^\w*/,hs=/^(?!.*(.).*\1)[gimsuy]*$/,Wl=new Set([...tt,"++","--"]);function Hl(e,t="",{tolerant:r=!1}={}){mi();let i=new de(e,t),n=[],s=[],a=[],o=[""],l=[],c=0,f=0,h=!0,u=-1,m=!1,S=!1,g=null,d=!1,R=!1,b=!1,_=0,y=0,p=[],k=(v,P,H=P)=>{let{line:s1,col:L}=i.lineColAt(P),U=Error(`${t}:${s1+1}:${L+1}: ${v}`);throw U.reason=v,U.start=P,U.end=H,U},I=(v,P,H=P)=>{try{k(v,P,H)}catch(s1){throw s1.openAtEnd=!0,s1}},A=(v,P,H,s1,L={})=>{if((v==="STRING"||v==="STRING_START")&&(d||R)){let e1=n[n.length-1];if(e1?.kind==="IDENTIFIER"&&e1.value==="from")e1.kind="FROM"}if(v==="IDENTIFIER"&&P==="from"&&n[n.length-1]?.kind==="YIELD")v="FROM";if(v==="RELATION"){let e1=n[n.length-1];if(e1?.kind==="UNARY"&&e1.value==="!")n.pop(),P="!"+P,H=e1.start}let U={id:y++,kind:v,value:P,start:H,end:s1,spaced:m,newLine:S,generated:!1,origin:null,...L};if(n.push(U),!U.generated&&p.length>0){for(let e1 of p)e1.origin=U.id;p.length=0}m=!1,S=!1},x=(v,P)=>{let H={id:y++,kind:v,value:v,start:P,end:P,spaced:!1,newLine:!1,generated:!0,origin:null};p.push(H),n.push(H)},O=()=>n[n.length-1]??null,G=()=>{let v=n.length-1;while(v>=2&&n[v].kind==="."&&n[v-1].kind==="PROPERTY"&&n[v-2].kind===".")v-=2;let P=n[v-1];if(!P||P.kind==="INDENT"||P.kind==="TERMINATOR"||P.kind==="OUTDENT"||P.kind==="RENDER")return!0;return P.kind==="IDENTIFIER"&&Ae.has(String(P.value).split("#")[0])},K=()=>{let v=0,P=0;for(let H=n.length-1;H>=0;H--){let s1=n[H].kind;if(s1==="OUTDENT")v++;else if(s1==="INDENT"){if(v--,v=0;L--){let U=n[L].kind;if(U==="TERMINATOR"||U==="INDENT"||U==="OUTDENT")break;if(U==="COMPONENT")return!0}}}}return!1},V=()=>{if(!l[l.length-1]?.pickKeys)return!1;let P=O()?.kind;return P==="PICK_START"||P==="OPTPICK_START"||P===","||P===":"||P==="TERMINATOR"||P==="INDENT"||P==="OUTDENT"},Z=(v,P)=>{let H=c;while(c=e.length)I("unterminated string",P);let s1=e.slice(H,c);return c+=v.length,s1},W=(v)=>v.replace(/\\[\s\S]|`|\$\{/g,(P)=>P[0]==="\\"?P:`\\${P}`),j=(v)=>{let P=null,H=/\n+([^\S\n]*)(?=\S)/g,s1;while(s1=H.exec(v))if(P===null||s1[1].length>0&&s1[1].length{if(P===null)return v??"";if(v===null)return P;return P.length<=v.length?P:v},t1=(v,P)=>{if(P.length===1)return v;if(v=v.replace(/\r\n?/g,` +var t2=Object.defineProperty;var r2=(e)=>e;function n2(e,t){this[e]=r2.bind(null,t)}var xe=(e,t)=>{for(var r in t)t2(e,r,{get:t[r],enumerable:!0,configurable:!0,set:n2.bind(t,r)})};class me{constructor(e,t=""){this.path=t,this.text=e;let r=[0];for(let i=0;ithis.text.length)e=this.text.length;let t=this.lineStarts,r=0,i=t.length-1;while(r<=i){let n=r+i>>1;if(t[n]<=e)r=n+1;else i=n-1}return{line:i,col:e-t[i]}}offsetAt(e,t){if(e<0)return 0;if(e>=this.lineStarts.length)return this.text.length;let r=this.lineStarts[e],i=e+1r&&this.text.charCodeAt(i-1)===13)i--;let n=r+Math.max(0,t);return n>i?i:n}slice(e,t){return this.text.slice(e,t)}}var Y={on:!1,n:0},di=()=>{if(Y.on=typeof process<"u"&&!!process.env.RIP_COUNT_OPS,Y.on)Y.n=0;return Y.on};class Kr extends Error{constructor(e){super(e);this.name="TypeTextError"}}var Ct=(e)=>String(e??"").trim(),Ce=(e)=>String(e??""),mi=()=>{throw Error("rip: type-text rendering is unavailable in the browser")},pi=()=>{throw Error("rip: type-text rendering is unavailable in the browser")},gi=()=>()=>!1,bi=()=>new Set;function ne(e){return String(e).replace(/([a-z0-9])([A-Z])/g,"$1_$2").toLowerCase()}function Yr(e){return String(e).replace(/_([a-z])/g,(t,r)=>r.toUpperCase())}function zr(e){return ne(e)+"_id"}function Je(e){if(typeof e!=="string"||!/^[a-z][a-zA-Z0-9]*$/.test(e))return!1;if(/[A-Z]{2,}/.test(e))return!1;return!0}function qr(e){if(typeof e!=="string"||!/^[A-Z][a-zA-Z0-9]*$/.test(e))return!1;if(/[A-Z]{2,}/.test(e))return!1;return!0}function i2(e){return typeof e==="string"&&/^[a-z_][a-z0-9_]*$/.test(e)}function s2(e){return typeof e==="string"&&e.length>0&&!/[\u0000-\u001f\u007f".]/.test(e)}var Xr={__proto__:null,mixin:"target",times:"none",softDelete:"none",belongsTo:"target",hasOne:"target",hasMany:"target",index:"columns",unique:"columns",idStart:"int",table:"name",tableWas:"name",primary:"field"},yi=["idStart","table","tableWas","primary","times","softDelete"],Si=["belongsTo","hasOne","hasMany"],Jr={__proto__:null,column:"literal",was:"column"},Ri={__proto__:null,as:"property",foreignKey:"column",through:"model",targetKey:"column"};function Zr(e,t,r){if(typeof r!=="string"||!r.length)return"'"+t+"' requires a non-empty string";if(e==="property"&&!Je(r))return"'"+t+"' is a property name — canonical camelCase, e.g. {"+t+": author}";if(e==="model"&&!qr(r))return"'"+t+"' is a model name — canonical PascalCase, e.g. {"+t+": Membership}";if(e==="column"&&!i2(r))return"'"+t+"' is a column name Rip generates — lowercase, digits and underscores "+"only, e.g. {"+t+': "author_id"}';if(e==="literal"&&!s2(r))return"'"+t+"' is a database column name — any spelling the database uses, but with "+"no dots, double quotes, or control characters";return null}var a2=new Set(["input","shape","mixin","enum","union","model"]);var o2=new Set(["beforeValidation","afterValidation","beforeSave","afterSave","beforeCreate","afterCreate","beforeUpdate","afterUpdate","beforeDestroy","afterDestroy","afterCommit","afterRollback"]),Ei=new Set(["integer","number","boolean","date","datetime"]),l2={__proto__:null,id:"integer",int:"integer",whole:"integer",float:"number",money:"integer",money_even:"integer",cents:"integer",decimal:"string",bool:"boolean",truthy:"boolean",falsy:"boolean",json:"json",hash:"json",array:"json",ids:{type:"integer",array:!0},string:"string",text:"string",name:"string",address:"string",date:"string",time:"string",time12:"string",email:"email",state:"string",zip:"zip",zipplus4:"string",ssn:"string",sex:"string",phone:"string",username:"string",ip:"string",mac:"string",url:"url",color:"string",uuid:"uuid",semver:"string",slug:"string"},c2=new Set(["string","email","url","phone","zip"]),f2=new Set(["TERMINATOR","INDENT","OUTDENT","=","COMPOUND_ASSIGN","RETURN","THROW","YIELD","AWAIT","EXPORT",",","(","[","{","CALL_START","PARAM_START","INDEX_START","->","=>",":","WHEN","LEADING_WHEN","THEN","IF","UNLESS","UNARY","UNARY_MATH"]),ki=new Set(["defaultMaxString"]),P1=(e)=>e&&(e.kind==="IDENTIFIER"||e.kind==="PROPERTY"),Ze=(e)=>e&&typeof e.value==="string"&&/^[a-z]+$/.test(e.value)&&(e.kind===e.value.toUpperCase()||e.kind==="LEADING_WHEN"||e.kind==="RELATION"||e.kind==="STATEMENT"),h2=(e)=>`__${e}__behavior`,V1=(e,t,r=!1)=>{if(e[t]?.kind!==":")return null;let i=e[t+1];if(!i||i.spaced)return null;if(P1(i)||r&&/^[a-z]+$/.test(i.value)&&i.kind===i.value.toUpperCase())return i;return null};function u2(e,t){if(typeof e?.start!=="number")throw e;t(e)}function Ai(e,t,r,i,n=null){if(r.indexOf("schema")===-1)return;let s=[],a={defaultMaxString:null,tolerate:n},o=0,l=0;while(l0){l+=f;continue}if(p2(e,l,i)){l=g2(e,l,s,a,t,i,r);continue}s.push(c),l++}e.length=0;for(let c of s)e.push(c)}function d2(e,t,r,i,n){let s=e[t];if(!s||s.kind!=="IDENTIFIER"||s.value!=="schema")return 0;if(e[t+1]?.kind!==".")return 0;let a=e[t+2];if(!a||a.kind!=="PROPERTY")return 0;if(e[t+3]?.kind!=="=")return 0;let o=e[t-1];if(o&&o.kind!=="TERMINATOR"&&o.kind!=="INDENT"&&o.kind!=="OUTDENT")return 0;let l=a.value;if(!ki.has(l))n(`unknown schema pragma 'schema.${l}' — known pragmas: ${[...ki].join(", ")}`,a.start);if(i>0)n(`schema pragma 'schema.${l}' must be declared at file top level — inside a nested block it would leak into later top-level schemas`,a.start);let c=e[t+4];if(!c||c.kind!=="NUMBER")n(`pragma 'schema.${l}' requires a number literal — example: schema.${l} = 100`,(c??a).start);let f=Number(c.value);if(!Number.isFinite(f)||f<0||!Number.isInteger(f))n(`pragma 'schema.${l}' expects a non-negative integer (got ${c.value}); use 0 to disable`,c.start);r[l]=f===0?null:f;let h=t+5;if(e[h]?.kind==="TERMINATOR")h++;return h-t}var vi=(e,t)=>{if(e[t]?.kind==="SYMBOL")return e[t];return e[t]?.kind===":"&&e[t].spaced?V1(e,t,!0):null},Oi=(e,t)=>e[t]?.kind==="SYMBOL"?1:2,m2=(e,t)=>{if(e[t]?.kind!==","||!P1(e[t+1])||e[t+1].value!=="on")return t;let r=t+2;if(e[r]?.kind===":")r++;while(r")s("inline schema bodies do not support '->' (methods/hooks/scopes/transforms) — use the indented form",y.start);else if(_===0&&(m==="EFFECT"||m==="!>"))s(`inline schema bodies do not support '${y.value}' (${m==="EFFECT"?"computed getters":"eager-derived fields"}) — use the indented form`,y.start);b++}while(b>R&&e[b-1].kind==="TERMINATOR")b--;if(d=e.slice(R,b),S=b,!d.length)s("inline schema body is empty — add '; field; …' entries or switch to the indented form",o.start);g=d[d.length-1].end}else{if(e[f]?.kind==="TERMINATOR")f++;if(e[f]?.kind!=="INDENT")s(`expected an indented schema body after 'schema${c?" :"+l:""}'`,o.start);let R=f,b=0,_=-1;for(let y=R;yR.kind==="SYMBOL"?[{...R,kind:":",value:":",end:R.start+1},{...R,kind:"IDENTIFIER",start:R.start+1,spaced:!1}]:[R]);let p=b2(l,c,d,{schemaStart:o.start,defaultMaxString:i.defaultMaxString,tolerate:i.tolerate??null},s);if(u)p.adapterTokens=u;return p.start=(c??d[0]).start,p.end=g,p.primitiveSpans=[c,...d].filter((R)=>R&&typeof R.value==="string"&&/^[A-Za-z_$][\w$]*$/.test(R.value)).map((R)=>({value:R.value,sourceStart:R===c&&R.end-R.start===R.value.length+1?R.start+1:R.start,sourceEnd:R.end})),r.push({id:n(),kind:"SCHEMA",value:"schema",start:o.start,end:o.end,spaced:o.spaced}),r.push({id:n(),kind:"SCHEMA_BODY",value:p,start:p.start,end:p.end,spaced:!0}),S}function b2(e,t,r,i,n){let s=[],a=y2(r);if(e==="input"&&!t&&a.length>0&&V1(a[0],0))e="enum";if(e==="enum")for(let o of a)$2(o,s,n);else if(e==="union"){for(let c of a)I2(c,s,n);let o=s.filter((c)=>c.tag==="directive"&&c.name==="on").length,l=s.filter((c)=>c.tag==="union-member");if(o!==1)n(o===0?":union requires an '@on :field' discriminator — untagged unions are not supported":`:union takes exactly one '@on :field' discriminator (got ${o})`,i.schemaStart);if(l.length<2)n(`:union needs at least two constituent schemas (got ${l.length})`,i.schemaStart)}else{for(let o of a)S2(e,o,s,i,n);if(e==="model")T2(s,n);else for(let o of s){if(o.tag==="scope"||o.tag==="defaultScope")n(`:${e} schemas don't accept query scopes — '@${o.tag==="scope"?"scope":"defaultScope"}' is :model-only`,o.start);if(e==="mixin"&&(o.tag==="method"||o.tag==="computed"||o.tag==="derived"))n(`:mixin schemas are fields-only — '${o.name}' is a ${o.tag}; move it to a :shape or :model`,o.start);if(e==="mixin"&&o.tag==="ensure")n(":mixin schemas don't accept @ensure refinements — move the invariant to a :shape or :model that composes this mixin",o.start);if(e==="input"&&(o.tag==="method"||o.tag==="computed"))n(`:input schemas are fields-only — '${o.name}' is a ${o.tag}; use :shape or :model if you need behavior`,o.start);if(o.tag==="directive"&&o.name!=="mixin")n(`:${e} schemas only accept '@mixin Name'${e==="input"?" and '@ensure'":""} — '@${o.name}' is ${["times","softDelete","belongsTo","hasMany","hasOne","unique","index","idStart","table","tableWas","primary"].includes(o.name)?":model-only":"not a schema directive"}`,o.start)}}return{kind:e,entries:s,toJSON(){return this.kind}}}function y2(e){let t=[],r=[],i=0;for(let n of e){if(n.kind==="INDENT")i++;if(n.kind==="OUTDENT")i--;if(n.kind==="TERMINATOR"&&i===0){if(r.length)t.push(r),r=[];continue}r.push(n)}if(r.length)t.push(r);return t}function S2(e,t,r,i,n){let s=t[0];if(!s)return;if(s.kind==="@"){let C=t[1];if(!P1(C))n("expected a directive name after '@'",s.start);let w=C.value;if(w==="ensure"){let a1=2,h1=!1;if(t[2]?.kind==="DAMMIT"&&!t[2].spaced)h1=!0,a1=3;let f1=_2(t.slice(a1),s,n);for(let z of f1)r.push({tag:"ensure",name:"ensure",message:z.message,field:z.field,fieldStart:z.fieldStart,async:h1,paramTokens:z.paramTokens,bodyTokens:z.bodyTokens,start:s.start});return}if(w==="scope"){let a1=k2(t.slice(2),s,n);r.push({tag:"scope",name:a1.name,paramTokens:a1.paramTokens,bodyTokens:a1.bodyTokens,start:s.start});return}if(w==="defaultScope"){let a1=Ii(t.slice(2),s,"@defaultScope",n);if(a1.paramTokens.length)n("@defaultScope takes no parameters — write '@defaultScope -> @where(...)'",s.start);r.push({tag:"defaultScope",name:"defaultScope",paramTokens:[],bodyTokens:a1.bodyTokens,start:s.start});return}let D=null,B=t.slice(2);if(w==="mixin"){let a1=B[0];if(!P1(a1))n("@mixin requires a target name — '@mixin Timestamps'",s.start);if(B.length>1)n("@mixin takes exactly one schema name",B[1].start);D=[{target:a1.value}]}r.push({tag:"directive",name:w,args:D,argTokens:B,start:s.start,nameStart:C.start});return}if(s.kind==="PROPERTY"){if(i.tolerate){try{Ti(e,s,t,r,n)}catch(C){u2(C,i.tolerate)}return}Ti(e,s,t,r,n);return}if(s.kind!=="IDENTIFIER"&&!Ze(s))n(`unexpected ${s.kind} at schema top level — allowed: fields ('name! type'), directives ('@name'), methods ('name: -> body'), computed getters ('name: ~> body')`,s.start);let a=s.value;if(t[1]?.kind===":")n(`schema fields use 'name type' (space, no colon) — got '${a}:'`,t[1].start);let o=[],l=1;while(l{if(t[C]?.kind==="STRING"&&t[C].value.startsWith('"'))return{value:JSON.parse(t[C].value),bracketed:!1,start:t[C].start,end:t[C].end,next:C+1};if((t[C]?.kind==="["||t[C]?.kind==="INDEX_START")&&t[C+1]?.kind==="STRING"&&t[C+1].value.startsWith('"')&&(t[C+2]?.kind==="]"||t[C+2]?.kind==="INDEX_END"))return{value:JSON.parse(t[C+1].value),bracketed:!0,start:t[C].start,end:t[C+2].end,next:C+3};return null},b=void 0,_=null,y=R(l);if(g?.kind==="UNARY_MATH"&&g.value==="~"){let C=V1(t,l+1),w=t[l+1];if(C){h=!0,u=C.value;let D=l2[u];if(D&&typeof D==="object")c=D.type,d=!0;else c=D||"any";l+=3}else if(w?.kind==="IDENTIFIER"&&!w.spaced){if(!Ei.has(w.value))n(`'~${w.value}' is not coercible — built-in coercion exists for: ${[...Ei].join(", ")}; named coercers use a symbol ('~:${w.value}'); otherwise write a transform ('${a}, -> …')`,w.start);h=!0,c=w.value,l+=2}else n("'~' in the type slot marks coercion and needs a type name ('~integer', '~date', …) or a registered coercer symbol ('~:ssn', …)",g.start);S=!0}else if(g?.kind==="IDENTIFIER")c=g.value,S=!0,l++;else if(y&&(!y.bracketed||t[y.next]?.kind==="|")){f=[];let C=(w)=>{if(f.push(w.value),w.bracketed){if(_)n(`field '${a}' brackets more than one union member as its default — a field has one default`,w.start);b=w.value,_={start:w.start,end:w.end}}};C(y),l=y.next,S=!0;while(t[l]?.kind==="|"){let w=R(l+1);if(!w)n(`literal unions contain string literals only — '${t[l+1]?.kind??""}' is not allowed as a union member; use the '?' modifier for nullability`,t[l].start);C(w),l=w.next}c="literal-union"}let m=!1,k=(C)=>(t[C]?.kind==="["||t[C]?.kind==="INDEX_START")&&(t[C+1]?.kind==="]"||t[C+1]?.kind==="INDEX_END");if(k(l)){if(m=!0,l+=2,k(l))n(`field '${a}' — nested array types ('${c}[][]') are not supported: one '[]' validates element-wise; use 'json' or a '-> transform' for deeper nesting`,t[l].start)}if(h&&m)n(`coercion ('~${c}') does not apply to array types — coerce per-element with a transform instead`,g.start);if(d)m=!0;if(m&&f)n("array-of-literal-union is not supported — use 'string[]' for an array of strings",g.start);let O=g?.kind==="UNARY_MATH"&&g.value==="~"?t[p+1]:g,A=S?[O.start,t[l-1].end]:null,x=t.slice(l);if(S&&x[0]?.kind==="->")n(`field '${a}' has a transform after the type; a comma is required before '->' — write '${a} ${c}, -> …'`,x[0].start);let I=null,H=void 0,G=!1;if(_)H=b,G=!0;let K={};if(_)K.start=_.start,K.end=_.end;let Z=null,V=null,j=null,q=!1,t1=!1;if(x.length>0){if(x[0]?.kind===",")x=x.slice(1);if(x.length>=2&&x[0].kind==="INDENT"){let w=0,D=-1;for(let B=0;B"){let a1=L2(D),h1=D[0].kind==="@"&&a1===2;if(a1>0&&!h1)n(`field '${a}' has a transform after other content; a comma is required before '->'`,D[a1].start);if(!h1){while(D.length&&(D[D.length-1].kind==="OUTDENT"||D[D.length-1].kind==="TERMINATOR"))D=D.slice(0,-1);if(!D.length)continue}}let B=D[0];if(B.kind==="["||B.kind==="INDEX_START"){if(G)n(`field '${a}' has more than one '[…]' default bracket`,B.start);H=C2(D,a,n,K),G=!0}else if(B.kind==="{"){if(e!=="model"&&e!=="mixin")n(`field attrs ('{…}') are persistence metadata — :model/:mixin-only ('{was: "old_column"}' annotates a column rename)`,B.start);if(j)n(`field '${a}' has more than one '{…}' attrs bracket`,B.start);j=R2(D,a,n)}else if(D2(D)){if(I)n(`field '${a}' has more than one range constraint — one 'min..max' per field`,B.start);I=x2(D,a,n)}else if(B.kind==="REGEX"&&D.length===1){if(Z)n(`field '${a}' has more than one regex constraint`,B.start);Z=P2(B,n)}else if(B.kind==="->"){if(w!==C.length-1)n(`transform '-> …' must be the last element on the field line for '${a}'`,B.start);V=D.slice(1)}else if(B.kind==="@"){let a1=P1(D[1])?D[1].value:null;if(e!=="model"&&e!=="mixin")n(`inline '@${a1??""}' on field '${a}' is persistence metadata — :model/:mixin-only ('@unique' marks single-column uniqueness)`,B.start);if(D.length>2&&D[2].kind==="->"){if(w!==C.length-1)n(`transform '-> …' must be the last element on the field line for '${a}'`,D[2].start);V=D.slice(3),D=D.slice(0,2)}if(D.length===2&&a1==="unique"){if(q)n(`field '${a}' has more than one '@unique'`,B.start);q=!0}else if(D.length===2&&a1==="primary"){if(e!=="model")n(`inline '@primary' on field '${a}' is :model-only — a mixin cannot declare the primary key`,B.start);if(t1)n(`field '${a}' has more than one '@primary'`,B.start);t1=!0}else n(`unknown inline attribute '@${a1??""}' on field '${a}' — the inline attributes are '@unique' and '@primary'`,B.start)}else n(`unexpected trailer for field '${a}' — expected '[…]' default, '/regex/', 'min..max' range, or '-> transform'`,B.start)}}if(h&&V)n(`field '${a}' has both '~${c}' coercion and a '->' transform — a transform replaces coercion; coerce inside it instead`,s.start);let M={};if(I){if(I.min!==void 0)M.min=I.min;if(I.max!==void 0)M.max=I.max;if(I.min===void 0&&M.min===void 0&&o.includes("!"))M.min=1}if(Z)M.regex=Z;if(G)M.default=H;if(f&&M.default!==void 0&&!f.includes(M.default))n(`field '${a}' defaults to ${JSON.stringify(M.default)}, which is not a member of its literal union (${f.map((C)=>JSON.stringify(C)).join(" | ")})`,s.start);if(i.defaultMaxString!=null&&!Z&&!f&&c2.has(c)&&M.max===void 0)M.max=i.defaultMaxString;if(M.min!==void 0&&M.max!==void 0&&M.min>M.max)n(`field '${a}' would have impossible constraints min=${M.min} > max=${M.max} after sugar is applied — write an explicit range or drop the conflicting pragma`,s.start);let N=M.min!==void 0||M.max!==void 0||M.default!==void 0||M.regex!==void 0?M:null;r.push({tag:"field",name:a,modifiers:o,typeName:c,array:m,literals:f,coerce:h,coercer:u,constraints:N,transformTokens:V,unique:q,primary:t1,attrs:j,start:s.start,typeSpan:A,defaultSpan:K.start===void 0?null:[K.start,K.end]})}function Qr(e,t,r,i){if(e[e.length-1]?.kind!=="}")i(`${r} — the '{…}' options bracket never closes`,e[0].start);let n=e.slice(1,-1).filter((a)=>a.kind!=="TERMINATOR"&&a.kind!=="INDENT"&&a.kind!=="OUTDENT"),s={};for(let a of Ne(n)){if(!a.length)continue;let o=a[0];if(!P1(o))i(`${r} options must be '{key: value}' pairs — got ${o.kind}`,o.start);let l=o.value,c=t[l];if(c===void 0)i(`unknown ${r} option '${l}' — known options: ${Object.keys(t).join(", ")}`,o.start);if(l in s)i(`${r} repeats option '${l}'`,o.start);let f=1;if(a[f]?.kind===":")f++;let h=a.slice(f);if(h.length!==1)i(`${r} option '${l}' takes a single value`,(h[0]??o).start);let u=h[0],d=c==="property"||c==="model",S;if(d){if(!P1(u)&&!Ze(u)){let p=u.kind==="STRING"&&u.value.startsWith('"')?JSON.parse(u.value):null,R=p&&!Zr(c,l,p)?p:c==="model"?"Membership":"author";i(`${r} option '${l}' names ${c==="model"?"a model":"a property"}, `+`so it is written BARE — '{${l}: ${R}}', not ${u.kind==="STRING"?u.value:`a ${u.kind}`}. Quoting would name a database identifier, which is a different thing`,u.start)}S=u.value}else{if(u.kind!=="STRING"||!u.value.startsWith('"'))i(`${r} option '${l}' names a database column, so it is QUOTED — `+`'{${l}: "${P1(u)?ne(u.value):"author_id"}"}'. A bare name would be a Rip name, which is a different thing`,u.start);S=JSON.parse(u.value)}let g=Zr(c,l,S);if(g)i(`${r} option ${g}; got '${S}'`,o.start);s[l]=S}if(!Object.keys(s).length)i(`${r} has an empty '{…}' options bracket`,e[0].start);return s}function R2(e,t,r){return Qr(e,Jr,`field '${t}'`,r)}function E2(e,t,r){let i=Qr(e,Ri,`@${t}`,r);if(i.through&&t==="belongsTo")r("@belongsTo option 'through' is for @hasMany/@hasOne — a @belongsTo holds its key in its own row, so it has nothing to read through",e[0].start);if(i.targetKey&&!i.through)r(`@${t} option 'targetKey' names a column on the join model, so it requires 'through' — '{through: Membership, targetKey: "team_id"}'`,e[0].start);return i}function k2(e,t,r){if(!e.length)r("@scope requires ':name, -> body' (or ':name, (args) -> body')",t.start);let i=V1(e,0);if(!i)r("@scope name must be a :symbol — '@scope :active, -> @where(active: true)'",e[0].start);let n=i.value,s=e[2],a=s&&!s.spaced&&s.start===i.end&&(s.value==="!"||s.value==="?");if(a||!/^[a-z][a-zA-Z0-9]*$/.test(n))r(`@scope name ':${n}${a?s.value:""}' must be a lowercase-first alphanumeric identifier — scopes chain as query-builder methods`,i.start);let o=e.slice(2);if(o[0]?.kind===",")o=o.slice(1);if(!o.length)r(`@scope :${n} is missing its body — '@scope :${n}, -> @where(...)'`,i.start);let l=Ii(o,i,`@scope :${n}`,r);return{name:n,paramTokens:l.paramTokens,bodyTokens:l.bodyTokens}}function Ii(e,t,r,i){if(!e.length)i(`${r}: expected '-> body' or '(args) -> body'`,t.start);let n=[],s=0,a=e[0];if(a.kind==="("||a.kind==="PARAM_START"||a.kind==="CALL_START"){let c=1;s=1;while(s0){let f=e[s].kind;if(f==="("||f==="PARAM_START"||f==="CALL_START")c++;if(f===")"||f==="PARAM_END"||f==="CALL_END"){if(c--,c===0){s++;break}}n.push(e[s]),s++}if(c!==0)i(`${r}: unclosed '(' in parameters`,a.start)}let o=e[s];if(o?.kind!=="->")i(`${r}: expected '->' ${n.length?"after parameters":"to start the body"}`,(o??t).start);let l=e.slice(s+1);if(!l.length)i(`${r}: function body is empty`,o.start);return{paramTokens:n,bodyTokens:l}}function T2(e,t){let r=new Set;for(let g of e){if(g.tag!=="directive")continue;let p=Xr[g.name];if(p===void 0)t(`unknown directive '@${g.name}' on :model — legal: ${Object.keys(Xr).map((R)=>"@"+R).join(", ")}, @ensure, @scope, @defaultScope`,g.nameStart??g.start);if(yi.includes(g.name)){if(r.has(g.name))t(p==="none"?`duplicate '@${g.name}' — declared twice; a :model declares it once`:`duplicate '@${g.name}' — a :model declares it at most once (the second would silently override the first)`,g.nameStart??g.start);r.add(g.name)}if(g.name!=="mixin")g.args=w2(g,p,t)}if(e.some((g)=>g.tag==="directive"&&g.name==="mixin"))return;let n=new Set,s=new Map,a=new Map,o=new Map,l=(g,p,R,b)=>{if(n.has(p))t(`${s.get(p)} and ${R} both own column '${p}' — every table column has exactly one owner`,b);if(a.has(g))t(`${o.get(g)} and ${R} both own property '${g}' (columns '${a.get(g)}' and '${p}') — every property reads exactly one column`,b);n.add(p),s.set(p,R),a.set(g,p),o.set(g,R)},c=e.find((g)=>g.tag==="directive"&&g.name==="primary"),f=e.filter((g)=>g.tag==="field"&&g.primary);if(f.length>1)t(`both '${f[0].name}' and '${f[1].name}' declare '@primary' — a row has one identity`,f[1].start);if(f.length===1){if(c)t(`'@primary ${c.args[0].name}' and inline '@primary' on field '${f[0].name}' are two answers to one question — state it once`,c.start);c={tag:"directive",name:"primary",args:[{name:f[0].name}],start:f[0].start}}let h=c?c.args[0].column??ne(c.args[0].name):"id",u=c?c.args[0].name:"id",d=e.find((g)=>g.tag==="field"&&g.name===u)??null,S=!!(c&&d);if(!c&&d)t(`field '${u}' collides with the runtime-managed primary key — a :model's ${u} is sequence-assigned. Drop the declaration, or write '@primary ${u}' to make it a caller-supplied natural key instead`,d.start);if(S){if(!d.modifiers?.includes("!"))t(`the primary key '${u}' is declared optional — a row's identity is never absent; declare it required ('${u}! string')`,d.start);if(d.array)t(`the primary key '${u}' is declared as an array — a primary key is one value`,d.start);let g=e.find((p)=>p.tag==="directive"&&p.name==="idStart");if(g)t(`@idStart seeds the sequence behind a runtime-managed primary key, but '${u}' is declared as a field, which makes it caller-supplied — there is no sequence to seed. Drop @idStart, or drop the field declaration`,g.start);if(c.args[0].column!==void 0&&c.args[0].column!==(d.attrs?.column??ne(u)))t(`@primary names column '${c.args[0].column}' but field '${u}' reads a different one — state the column once, on the field`,c.start)}else l(u,h,"the primary key",c?.start??e[0]?.start??0);for(let g of e){if(g.tag!=="field")continue;l(g.name,g.attrs?.column??ne(g.name),`field '${g.name}'`,g.start)}for(let g of e){if(g.tag!=="directive")continue;if(g.name==="times")l("createdAt","created_at","@times",g.start),l("updatedAt","updated_at","@times",g.start);else if(g.name==="softDelete")l("deletedAt","deleted_at","@softDelete",g.start);else if(g.name==="belongsTo"){let p=g.args[0],R=p.foreignKey??zr(p.as??p.target);l(Yr(R),R,`the @belongsTo ${p.target}${p.as?` (as ${p.as})`:""} relation`,g.start)}}for(let g of e){if(g.tag!=="directive"||g.name!=="index"&&g.name!=="unique")continue;let p=g.args[0].fields.map((R)=>a.get(R)??(n.has(R)?R:ne(R)));p.forEach((R,b)=>{if(p.indexOf(R)!==b)t(`@${g.name} columns must be distinct after canonicalization: ${p.join(", ")}`,g.colTokens?.[b]?.start??g.start)}),p.forEach((R,b)=>{if(!n.has(R))t(`@${g.name}: unknown column '${g.args[0].fields[b]}' — the table has: ${[...n].sort().join(", ")}`,g.colTokens?.[b]?.start??g.start)})}}function w2(e,t,r){let i=e.argTokens??[],n=(s,a)=>r(`@${e.name}: ${a}`,s.start);switch(t){case"none":{if(i.length)n(i[0],"takes no arguments");return null}case"target":{let s=i[0];if(!P1(s))r(`@${e.name} requires a target name — '@${e.name} User'`,(s??{start:e.start}).start);let a=!1,o=1;if(i[o]?.kind==="?"&&!i[o].spaced)a=!0,o++;let l=null;if(i[o]?.kind===","&&i[o+1]?.kind==="{")l=E2(i.slice(o+1),e.name,r),o=i.length;if(oP1(c)||Ze(c),l=0;if(V1(i,0)){let c=V1(i,0);s.push(c.value),a.push(c),l=2}else if(o(i[0]))s.push(i[0].value),a.push(i[0]),l=1;else if(i[0]?.kind==="["||i[0]?.kind==="INDEX_START"){let c=1;l=1;let f=[];while(l0){let h=i[l];if(h.kind==="["||h.kind==="INDEX_START")c++;if(h.kind==="]"||h.kind==="INDEX_END"){if(c--,c===0){l++;break}}if(c>=1)f.push(h);l++}if(c!==0)n(i[0],"unclosed '[' in the column list");for(let h of Ne(f)){let u=V1(h,0),d=u??(o(h[0])?h[0]:null);if(!d||h.length>(u?2:1))n(h[u?2:1]??h[0]??i[0],`column names are bare identifiers or :symbols — '@${e.name} [:a, :b]'`);s.push(d.value),a.push(d)}}if(!s.length)r(`@${e.name} requires a field name or list — '@${e.name} :email' or '@${e.name} [:a, :b]'`,(i[0]??{start:e.start}).start);if(l1)n(i[1],`takes one table name — unexpected ${i[1].kind}`);if(o);else{if(/[A-Z]{2,}/.test(a))r(`@${e.name} ${a}: a bare name is a LOGICAL name that Rip snake_cases, and consecutive capitals convert surprisingly ('${a}' → '${ne(a)}'). Spell it 'MdmUser'-style, or name the table exactly by quoting it: '@${e.name} "${a}"'`,s.start);a=ne(a)}return[{name:a}]}case"field":{let s=i[0];if(!P1(s)&&!Ze(s))r(`@${e.name} requires a property name — '@${e.name} patientId'`,(s??{start:e.start}).start);let a=1,o=null;if(i[a]?.kind===","&&i[a+1]?.kind==="{")o=Qr(i.slice(a+1),Jr,`@${e.name}`,r),a=i.length;if(a0){let d=r[a].kind;if(d==="("||d==="PARAM_START"||d==="CALL_START")u++;if(d===")"||d==="PARAM_END"||d==="CALL_END"){if(u--,u===0){a++;break}}o.push(r[a]),a++}if(u!==0)n(`'${s}': unclosed '(' in parameters`,r[2].start)}let l=r[a],c=null,f=-1;if(l?.kind==="->"||l?.kind==="EFFECT"||l?.kind==="!>")c=l.kind==="EFFECT"?"~>":l.kind,f=a+1;else if(P1(l)||l?.kind==="STRING"||l?.kind==="NUMBER")n(`schema fields use 'name type' (space, no colon) — got '${s}:'; for methods/computed use 'name: -> body' or 'name: ~> body'`,r[1].start);else n(`schema top-level '${s}:' must be followed by '->' (method), '~>' (computed getter), or '!>' (eager derived)`,r[1].start);let h=c==="~>"?"computed":c==="!>"?"derived":e==="model"&&o2.has(s)?"hook":"method";if(o.length&&h!=="method")n(`'${s}': ${h==="computed"?"computed getters (~>)":h==="derived"?"eager-derived fields (!>)":"lifecycle hooks"} take no parameters — only methods do`,r[1].start);i.push({tag:h,name:s,paramTokens:o,bodyTokens:r.slice(f),start:t.start})}function _2(e,t,r){let i=e;if(!i.length)r("@ensure requires 'message, (x) -> body' or a '[…]' array of pairs",t.start);let n=i[0];if(n.kind==="["||n.kind==="INDEX_START"){let a=N2(i,n,r),o=A2(a);if(o.length===0)r("@ensure […] must contain at least one 'message, fn' pair",n.start);return wi(o,n,r)}let s=Ne(i);if(s.length<2)r("@ensure inline form must be 'message, (x) -> body' — did you forget the comma?",n.start);if(s.length>3||s.length===3&&!$i(s[1]))r(`@ensure inline form takes 'message[, :field], fn' (got ${s.length} comma-separated parts) — use '@ensure […]' for multiple refinements`,n.start);return wi(s,n,r)}var $i=(e)=>e&&e.length===2&&V1(e,0)!==null;function wi(e,t,r){let i=[],n=0;while(n=e.length)r(`@ensure: missing function after message${a?" and :field":""}`,(s[0]??t).start);i.push(v2(s,a,e[n++],t,r))}return i}function N2(e,t,r){let i=0,n=[];for(let s=0;s=2&&n[0].kind==="INDENT"&&n[n.length-1].kind==="OUTDENT"){let o=0,l=!1;for(let c=0;c=1)n.push(a)}r("@ensure: unclosed '['",t.start)}function A2(e){let t=[],r=[],i=0;for(let n of e){let s=n.kind;if(s==="("||s==="["||s==="{"||s==="CALL_START"||s==="INDEX_START"||s==="PARAM_START"||s==="INDENT")i++;if(s===")"||s==="]"||s==="}"||s==="CALL_END"||s==="INDEX_END"||s==="PARAM_END"||s==="OUTDENT")i--;if(i===0&&(s===","||s==="TERMINATOR")){if(r.length)t.push(r),r=[];continue}r.push(n)}if(r.length)t.push(r);return t}function v2(e,t,r,i,n){if(!e?.length)n("@ensure: missing message (expected a string literal)",i.start);if(e.length!==1||e[0].kind!=="STRING"||!e[0].value.startsWith('"'))n("@ensure: each refinement's first element must be a string literal message",(e[0]??i).start);let s=e[0],a=JSON.parse(s.value),o=t?V1(t,0):null,l=t?o.value:null,c=o?.start??null;if(!r?.length)n("@ensure: missing function after message",s.start);let f=r[0];if(f.kind!=="("&&f.kind!=="PARAM_START")n("@ensure: expected '(args) -> body' after the message — predicates declare their parameter explicitly ('(u) -> …')",f.start);let h=1,u=1,d=[];while(u0){let p=r[u].kind;if(p==="("||p==="PARAM_START")h++;if(p===")"||p==="PARAM_END"){if(h--,h===0){u++;break}}d.push(r[u]),u++}if(h!==0)n("@ensure: unclosed '(' in predicate parameters",f.start);let S=r[u];if(S?.kind!=="->")n("@ensure: expected '->' after predicate parameters",(S??s).start);let g=r.slice(u+1);if(!g.length)n("@ensure: predicate function body is empty",S.start);return{message:a,field:l,fieldStart:c,paramTokens:d,bodyTokens:g}}function Di(e,t,r,i=null){if(!e.length)return[];let n=O2(e,t,r,i);for(let s=n.length-1;s>=0&&n[s].type===null;s--)n[s].optional=!0;return n}function O2(e,t,r,i){let n=(s)=>s.kind!=="TERMINATOR"&&s.kind!=="INDENT"&&s.kind!=="OUTDENT";return Ne(e).map((s)=>{let a=s.filter((f)=>n(f)&&f.kind!=="TYPE"),o=a.length>=3&&(a[0].kind==="IDENTIFIER"||a[0].kind==="PROPERTY")&&a[1].kind===":";if(!o&&(a.length!==1||a[0].kind!=="IDENTIFIER"))r(`${t}: parameters must be plain identifiers, optionally typed ('name' or 'name: Type')`,(a[0]??s[0]).start);let l=o?[...s].filter(n).pop():null,c=o&&i!==null?Ct(i.slice(a[1].end,l.end)).trim():null;return{name:a[0].value,type:c,optional:!1}})}function I2(e,t,r){let i=e[0];if(!i)return;if(i.kind==="@"){let n=e[1];if(!n||n.value!=="on")r(`:union bodies accept only '@on :field' and constituent schema names — '@${n?.value??""}' is not allowed`,(n??i).start);let s=V1(e,2);if(!s)r("@on requires the discriminator field as a symbol — '@on :kind'",(e[2]??n).start);if(e.length>4)r("@on takes exactly one :field symbol",e[4].start);t.push({tag:"directive",name:"on",args:[{field:s.value}],start:i.start});return}if(i.kind==="IDENTIFIER"&&e.length===1){t.push({tag:"union-member",name:i.value,start:i.start});return}r(`:union bodies accept only '@on :field' and bare constituent schema names (one per line) — got ${i.kind}${e.length>1?" followed by "+e[1].kind:""}`,i.start)}function $2(e,t,r){let i=e[0];if(!i)return;if(i.kind==="@")r(`:enum schemas don't accept '@${e[1]?.value??"directive"}' — enums hold only :symbol members`,i.start);let n=V1(e,0);if(!n)r(`enum member must be a :symbol — use ':${i.value??"name"}' for a bare member or ':${i.value??"name"} value' for a valued one`,i.start);let s=n.value,a=e[2];if(!a){t.push({tag:"enum-member",name:s,value:void 0,start:i.start});return}if(a.kind===":")r(`enum member ':${s}' — drop the ':' before the value; use ':${s} value'`,a.start);if(e.length>3&&!(e.length===4&&a.kind==="-"&&e[3].kind==="NUMBER"))r(`extra tokens after enum member ':${s}' value`,e[3].start);let o=a.kind==="-"&&e[3]?.kind==="NUMBER"?-Number(e[3].value):xi(a,`enum member ':${s}' value`,r);t.push({tag:"enum-member",name:s,value:o,start:i.start})}function D2(e){return e.some((t)=>t.kind==="..")&&e.every((t)=>t.kind===".."||t.kind==="NUMBER"||t.kind==="-")}function x2(e,t,r){let i=0,n=()=>{let l=1;if(e[i]?.kind==="-")l=-1,i++;let c=e[i++];if(c?.kind!=="NUMBER")r("range endpoints must be numeric literals",(c??e[0]).start);return l*Number(c.value)},s;if(e[i]?.kind!=="..")s=n();i++;let a;if(ia)r(`range '${s}..${a}' is reversed — write the smaller endpoint first`,e[0].start);let o={};if(s!==void 0)o.min=s;if(a!==void 0)o.max=a;return o}function C2(e,t,r,i={}){let n=e.slice(1,-1);if(n.length)i.start=n[0].start,i.end=n[n.length-1].end;let s=Ne(n);if(s.length!==1)r(s.length===2?"size/value ranges use 'min..max' syntax, not brackets — replace the bracket pair with a range":`the constraint bracket takes a single default value (got ${s.length} elements)`,e[0].start);let a=s[0];if(a.length===1&&a[0].kind==="REGEX")r(`regex constraints are written bare, not in brackets — replace '[${a[0].value}]' with '${a[0].value}'`,e[0].start);if(a.length===2&&a[0].kind==="-"&&a[1].kind==="NUMBER")return-Number(a[1].value);let o=V1(a,0);if(o&&a.length===2)return o.value;if(a.length!==1)r(`default values must be literals (number, string, boolean, null, :symbol) — field '${t}'`,a[0].start);return xi(a[0],`field '${t}' default`,r)}function P2(e,t){let r=/^\/((?:\\.|[^\\/])+)\/([a-z]*)$/.exec(e.value);if(!r)t(`invalid regex literal ${JSON.stringify(e.value)}`,e.start);try{return new RegExp(r[1],r[2])}catch(i){t(`invalid regex '${e.value}': ${i.message}`,e.start)}}function xi(e,t,r){switch(e.kind){case"NUMBER":return Number(e.value);case"STRING":if(!e.value.startsWith('"'))r(`${t} must be a plain string literal (heredocs have no literal key form)`,e.start);return JSON.parse(e.value);case"BOOL":return e.value==="true";case"NULL":return null;case"UNDEFINED":return;default:r(`${t} must be a literal (number, string, boolean, null) — got ${e.kind}`,e.start)}}function Ne(e){let t=[],r=[],i=0;for(let n of e){let s=n.kind;if(s==="("||s==="["||s==="{"||s==="CALL_START"||s==="INDEX_START"||s==="PARAM_START"||s==="INDENT")i++;if(s===")"||s==="]"||s==="}"||s==="CALL_END"||s==="INDEX_END"||s==="PARAM_END"||s==="OUTDENT")i--;if(s===","&&i===0){if(r.length)t.push(r);r=[];continue}r.push(n)}if(r.length)t.push(r);return t}function L2(e){let t=0;for(let r=0;r")return r}return-1}function Ci(e,t,r,i=null,n=null,s=!1,a=null,o=null){let l=[],c=(u)=>{if(l.length&&typeof l[l.length-1]==="string")l[l.length-1]+=u;else l.push(u)},f=(u,d=null)=>l.push({ts:u,span:d}),h=(u)=>l.push({body:u});if(c(`{kind: ${JSON.stringify(e.kind)}`),t)c(`, name: ${JSON.stringify(t)}`);if(c(", entries: ["),e.entries.forEach((u,d)=>{if(d>0)c(", ");j2(u,r.get(d),n?.get(d)??null,c,f,s,a?.get(d)??null,o?.get(d)??null,h)}),c("]"),i)c(", adapter: "),h(i);return c("}"),l}var Pe=(e)=>typeof e==="string"?e:e.code;function Pi(e,t,r,i){let n=[];return e.entries.forEach((s,a)=>{if(s.tag!=="derived"&&s.tag!=="computed"&&s.tag!=="method")return;let o=r.get(a);if(o===void 0)return;let l=i?.get(a)??null,c=Pe(o);for(let[f,h]of Li(o,l).reverse())c=c.slice(0,f)+h+c.slice(f);n.push(`${s.name}: ${c}`)}),n.length?`const ${h2(t)} = {${n.join(", ")}};`:null}function Li(e,t,r=!0){if(typeof e==="string")return[];let i=r?(e.annots??[]).map(([n,s])=>[n,s]):[];if(t!==null){let{code:n,thisAt:s}=e;i.push([s,`this: ${t}${n[s]===")"?"":", "}`])}return i.sort((n,s)=>n[0]-s[0])}function M2(e,t,r,i,n=!1){let s=Li(e,t,n);if(s.length===0){r(Pe(e));return}let{code:a}=e,o=0;for(let[l,c]of s)r(a.slice(o,l)),i(c),o=l;r(a.slice(o))}function j2(e,t,r,i,n,s=!1,a=null,o=null,l=i){switch(e.tag){case"computed":case"method":case"derived":case"hook":case"scope":case"defaultScope":i(`{tag: ${JSON.stringify(e.tag)}, name: ${JSON.stringify(e.name)}, fn: `),M2(t,r,l,n,s),i("}");return;default:let c={},f=F2(e,t,c),h=[];if(s&&a!==null&&c.defaultEnd!==void 0)h.push({at:c.defaultEnd,ts:` satisfies ${a}`,span:e.defaultSpan??null});if(s&&e.tag==="field"&&t!==void 0&&typeof t!=="string"&&Pe(t).startsWith("it",t.thisAt)){let d=Pe(t);h.push({at:f.length-1-d.length+t.thisAt+2,ts:": any"})}if(s&&e.tag==="ensure"&&o!==null&&c.fnAt!==void 0&&typeof t!=="string"&&t!==void 0){let d=/^[A-Za-z_$][\w$]*/.exec(Pe(t).slice(t.thisAt))?.[0];if(d)h.push({at:c.fnAt+t.thisAt+d.length,ts:`: ${o}`})}let u=0;for(let d of h)i(f.slice(u,d.at)),n(d.ts,d.span??null),u=d.at;i(f.slice(u))}}function F2(e,t,r={}){if(t!==void 0)t=Pe(t);switch(e.tag){case"field":{let i=['tag: "field"',`name: ${JSON.stringify(e.name)}`,`modifiers: ${JSON.stringify(e.modifiers)}`,`typeName: ${JSON.stringify(e.typeName)}`,`array: ${e.array?"true":"false"}`];if(e.unique)i.push("unique: true");if(e.primary)i.push("primary: true");if(e.literals)i.push(`literals: ${JSON.stringify(e.literals)}`);if(e.coerce){if(i.push("coerce: true"),e.coercer)i.push(`coercer: ${JSON.stringify(e.coercer)}`)}if(e.constraints){let n=[];if(e.constraints.min!==void 0)n.push(`min: ${Pt(e.constraints.min)}`);if(e.constraints.max!==void 0)n.push(`max: ${Pt(e.constraints.max)}`);let s=-1;if(e.constraints.default!==void 0)s=n.length,n.push(`default: ${Pt(e.constraints.default)}`);if(e.constraints.regex!==void 0)n.push(`regex: ${e.constraints.regex.toString()}`);if(n.length){if(s>=0){let a=`{${i.join(", ")}, constraints: {`;r.defaultEnd=a.length+n.slice(0,s+1).join(", ").length}i.push(`constraints: {${n.join(", ")}}`)}}if(e.attrs)i.push(`attrs: {${Object.keys(e.attrs).sort().map((n)=>`${n}: ${Pt(e.attrs[n])}`).join(", ")}}`);if(t)i.push(`transform: ${t}`);return`{${i.join(", ")}}`}case"directive":{let i=['tag: "directive"',`name: ${JSON.stringify(e.name)}`];if(e.args){if(e.name==="mixin"||Si.includes(e.name)){let n=e.args[0];i.push(`args: [{target: ${JSON.stringify(n.target)}${n.optional?", optional: true":""}${n.as?`, as: ${JSON.stringify(n.as)}`:""}${n.foreignKey?`, foreignKey: ${JSON.stringify(n.foreignKey)}`:""}${n.through?`, through: ${JSON.stringify(n.through)}`:""}${n.targetKey?`, targetKey: ${JSON.stringify(n.targetKey)}`:""}}]`)}else if(e.name==="primary")i.push(`args: [{name: ${JSON.stringify(e.args[0].name)}${e.args[0].column?`, column: ${JSON.stringify(e.args[0].column)}`:""}}]`);else if(e.name==="on")i.push(`args: [{field: ${JSON.stringify(e.args[0].field)}}]`);else if(e.name==="unique"||e.name==="index")i.push(`args: [{fields: ${JSON.stringify(e.args[0].fields)}}]`);else if(e.name==="idStart")i.push(`args: [{value: ${e.args[0].value}}]`);else if(e.name==="table"||e.name==="tableWas")i.push(`args: [{name: ${JSON.stringify(e.args[0].name)}}]`)}return`{${i.join(", ")}}`}case"ensure":{let i=['tag: "ensure"',`message: ${JSON.stringify(e.message)}`];r.fnAt=`{${i.join(", ")}, fn: `.length;let n=[...i,`fn: ${t}`];if(e.field)n.push(`field: ${JSON.stringify(e.field)}`);if(e.async)n.push("async: true");return`{${n.join(", ")}}`}case"enum-member":{let i=['tag: "enum-member"',`name: ${JSON.stringify(e.name)}`];if(e.value!==void 0)i.push(`value: ${JSON.stringify(e.value)}`);return`{${i.join(", ")}}`}case"union-member":return`{tag: "union-member", name: ${JSON.stringify(e.name)}}`;default:throw Error(`schema: unknown entry tag '${e.tag}'`)}}function Pt(e){if(e===null)return"null";if(e===void 0)return"undefined";if(typeof e==="string")return JSON.stringify(e);return String(e)}var B2=new Set(["pick","omit","partial","required","extend"]);function U1(e){return e&&e.valueOf?e.valueOf():e}function Mi(e){return e.entries.some((t)=>t.tag==="directive"&&t.name==="mixin")}function U2(e){return Yr(e.foreignKey??zr(e.as??e.target))}function V2(e){if(Mi(e))return null;let t=new Map;for(let a of e.entries)if(a.tag==="field")t.set(a.name,a);if(e.kind!=="model")return t;let r=(a,o,l)=>{if(!t.has(a))t.set(a,{tag:"field",name:a,modifiers:l?["!"]:["?"],typeName:o,array:!1})},i=!1,n=!1,s=[];for(let a of e.entries){if(a.tag!=="directive")continue;if(a.name==="times")i=!0;else if(a.name==="softDelete")n=!0;else if(a.name==="belongsTo"){let o=a.args&&a.args[0];if(o&&o.target)s.push({fk:U2(o),required:o.optional!==!0})}}if(r("id","integer",!0),i)r("createdAt","datetime",!0),r("updatedAt","datetime",!0);if(n)r("deletedAt","datetime",!1);for(let{fk:a,required:o}of s)r(a,"integer",o);return t}function W2(e){if(Mi(e))return null;let t=new Map;for(let r of e.entries)if(r.tag==="field")t.set(r.name,r);return t}function _i(e,t){let r=e.modifiers.filter((n)=>n!==(t==="partial"?"!":"?")),i=t==="partial"?"?":"!";if(!r.includes(i))r=[...r,i];return{...e,modifiers:r}}function H2(e,t,r){switch(t.method){case"pick":{let i=new Map;for(let n of t.keys){if(!e.has(n))return null;i.set(n,e.get(n))}return i}case"omit":{let i=new Set(t.keys),n=new Map;for(let[s,a]of e)if(!i.has(s))n.set(s,a);return n}case"partial":{let i=new Map;for(let[n,s]of e)i.set(n,_i(s,"partial"));return i}case"required":{let i=new Set(t.keys),n=new Map;for(let[s,a]of e)n.set(s,i.has(s)?_i(a,"required"):a);return n}case"extend":{let i=t.otherDescriptor||r.get(t.otherName);if(!i)return null;let n=W2(i);if(!n)return null;let s=new Map(e);for(let[a,o]of n){if(s.has(a))return null;s.set(a,o)}return s}default:return null}}function G2(e,t,r){let i=V2(e);if(!i)return null;for(let n of t)if(i=H2(i,n,r),!i)return null;return{kind:"shape",entries:[...i.values()]}}function K2(e){let t=[],r=e;while(!0){if(!Array.isArray(r))return null;let i=r[0];if(!Array.isArray(i))return null;if(U1(i[0])!==".")return null;let n=U1(i[2]);if(!B2.has(n))return null;let s=r.slice(1),a;if(n==="partial"){if(s.length)return null;a={method:n}}else if(n==="extend"){if(s.length!==1)return null;let c=s[0];if(Array.isArray(c)){let f=U1(c[0])==="schema"&&c.length===2&&c[1]&&typeof c[1]==="object"&&Array.isArray(c[1].entries)?c[1]:null;if(!f||f.kind!=="shape"&&f.kind!=="input")return null;a={method:n,otherDescriptor:f}}else{let f=U1(c);if(typeof f!=="string"||!/^[A-Za-z_$][\w$]*$/.test(f))return null;a={method:n,otherName:f}}}else{let c=Y2(s);if(!c||!c.length)return null;a={method:n,keys:c}}t.unshift(a);let o=i[1];if(Array.isArray(o)){r=o;continue}let l=U1(o);if(typeof l!=="string")return null;return{base:l,ops:t}}}function Y2(e){let t=[];for(let r of e)if(Array.isArray(r)){if(U1(r[0])!=="array")return null;for(let i=1;i{r[2]=["schema",t]})}var Lt=new Set(["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","link","main","map","mark","menu","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","script","search","section","select","slot","small","source","span","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","title","tr","track","u","ul","var","video","wbr"]),Le=new Set(["a","animate","animateMotion","animateTransform","circle","clipPath","defs","desc","ellipse","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","filter","foreignObject","g","image","line","linearGradient","marker","mask","metadata","mpath","path","pattern","polygon","polyline","radialGradient","rect","script","set","stop","style","svg","switch","symbol","text","textPath","title","tspan","use","view"]),Ae=new Set([...Lt,...Le]),en=new Set([...Le].filter((e)=>!Lt.has(e))),Mt=new Set(["abort","animationcancel","animationend","animationiteration","animationstart","auxclick","beforeinput","beforematch","beforetoggle","blur","cancel","canplay","canplaythrough","change","click","close","command","compositionend","compositionstart","compositionupdate","contextlost","contextmenu","contextrestored","copy","cuechange","cut","dblclick","drag","dragend","dragenter","dragleave","dragover","dragstart","drop","durationchange","emptied","ended","error","focus","focusin","focusout","formdata","fullscreenchange","fullscreenerror","gotpointercapture","input","invalid","keydown","keypress","keyup","load","loadeddata","loadedmetadata","loadstart","lostpointercapture","mousedown","mouseenter","mouseleave","mousemove","mouseout","mouseover","mouseup","paste","pause","play","playing","pointercancel","pointerdown","pointerenter","pointerleave","pointermove","pointerout","pointerover","pointerrawupdate","pointerup","progress","ratechange","reset","resize","scroll","scrollend","securitypolicyviolation","seeked","seeking","select","selectionchange","selectstart","slotchange","stalled","submit","suspend","timeupdate","toggle","touchcancel","touchend","touchmove","touchstart","transitioncancel","transitionend","transitionrun","transitionstart","volumechange","waiting","webkitanimationend","webkitanimationiteration","webkitanimationstart","webkittransitionend","wheel"]),Fi=new Set(["disabled","hidden","readonly","required","checked","selected","autofocus","autoplay","controls","loop","muted","multiple","novalidate","open","reversed","defer","async","formnovalidate","allowfullscreen","inert","ismap","nomodule","playsinline","default","itemscope","alpha","shadowrootdelegatesfocus","shadowrootclonable","shadowrootserializable"]),ve=new Set(["accesskey","autocapitalize","autocorrect","autofocus","class","contenteditable","dir","draggable","enterkeyhint","hidden","id","inert","inputmode","is","itemid","itemprop","itemref","itemscope","itemtype","lang","nonce","popover","role","slot","spellcheck","style","tabindex","title","translate","writingsuggestions"]),Qe={__proto__:null,a:["href","target","download","ping","rel","hreflang","type","referrerpolicy"],area:["alt","coords","shape","href","target","download","ping","rel","referrerpolicy"],audio:["src","crossorigin","preload","autoplay","loop","muted","controls"],base:["href","target"],blockquote:["cite"],button:["command","commandfor","disabled","form","formaction","formenctype","formmethod","formnovalidate","formtarget","name","popovertarget","popovertargetaction","type","value"],canvas:["width","height"],col:["span"],colgroup:["span"],data:["value"],del:["cite","datetime"],details:["name","open"],dialog:["open","closedby"],embed:["src","type","width","height"],fieldset:["disabled","form","name"],form:["accept-charset","action","autocomplete","enctype","method","name","novalidate","rel","target"],iframe:["src","srcdoc","name","sandbox","allow","allowfullscreen","width","height","referrerpolicy","loading"],img:["alt","src","srcset","sizes","crossorigin","usemap","ismap","width","height","referrerpolicy","decoding","loading","fetchpriority"],input:["accept","alpha","alt","autocomplete","checked","colorspace","dirname","disabled","form","formaction","formenctype","formmethod","formnovalidate","formtarget","height","list","max","maxlength","min","minlength","multiple","name","pattern","placeholder","popovertarget","popovertargetaction","readonly","required","size","src","step","type","value","width"],ins:["cite","datetime"],label:["for"],li:["value"],link:["href","crossorigin","rel","media","integrity","hreflang","type","referrerpolicy","sizes","imagesrcset","imagesizes","as","blocking","disabled","fetchpriority"],map:["name"],meta:["name","http-equiv","content","charset","media"],meter:["value","min","max","low","high","optimum"],object:["data","type","name","form","width","height"],ol:["reversed","start","type"],optgroup:["disabled","label"],option:["disabled","label","selected","value"],output:["for","form","name"],progress:["value","max"],q:["cite"],script:["src","type","nomodule","async","defer","crossorigin","integrity","referrerpolicy","blocking","fetchpriority"],select:["autocomplete","disabled","form","multiple","name","required","size"],slot:["name"],source:["type","media","src","srcset","sizes","width","height"],style:["media","blocking"],table:["align","bgcolor","border","cellpadding","cellspacing","width"],tbody:["align","valign"],td:["colspan","rowspan","headers","align","bgcolor","height","nowrap","valign","width"],template:["shadowrootmode","shadowrootdelegatesfocus","shadowrootclonable","shadowrootserializable"],tfoot:["align","valign"],textarea:["autocomplete","cols","dirname","disabled","form","maxlength","minlength","name","placeholder","readonly","required","rows","wrap"],th:["colspan","rowspan","headers","scope","abbr","align","bgcolor","height","nowrap","valign","width"],thead:["align","valign"],time:["datetime"],tr:["align","bgcolor","valign"],track:["default","kind","label","src","srclang"],video:["src","crossorigin","poster","preload","autoplay","playsinline","loop","muted","controls","width","height"]};for(let e in Qe)Qe[e]=new Set(Qe[e]);var et=new Set(["id","class","style","lang","tabindex","href","pathLength","crossorigin","transform","viewBox","preserveAspectRatio","xmlns","x","y","x1","y1","x2","y2","cx","cy","r","rx","ry","width","height","d","points","dx","dy","rotate","fill","fill-opacity","fill-rule","stroke","stroke-width","stroke-linecap","stroke-linejoin","stroke-dasharray","stroke-dashoffset","stroke-opacity","stroke-miterlimit","opacity","clip-path","clip-rule","mask","filter","color","display","visibility","pointer-events","vector-effect","dominant-baseline","text-anchor","font-family","font-size","font-weight","font-style","letter-spacing","offset","stop-color","stop-opacity","gradientUnits","gradientTransform","spreadMethod","patternUnits","patternContentUnits","patternTransform","markerWidth","markerHeight","refX","refY","orient","markerUnits","maskUnits","maskContentUnits","clipPathUnits","filterUnits","primitiveUnits","in","in2","result","stdDeviation","values","type","mode","operator","radius","scale","baseFrequency","numOctaves","seed","dur","repeatCount","begin","end","from","to","attributeName","keyTimes","keySplines","calcMode","restart","min","max"]);function tn(e){let t=String(e).toLowerCase(),r=new Set(ve),i=Qe[t];if(i)for(let n of i)r.add(n);if(Le.has(String(e)))for(let n of et)r.add(n);return[...r]}function q2(e,t){if(Math.abs(e.length-t.length)>2)return 3;let r=Array.from({length:t.length+1},(i,n)=>n);for(let i=1;i<=e.length;i++){let n=[i];for(let s=1;s<=t.length;s++)n[s]=Math.min(r[s]+1,n[s-1]+1,r[s-1]+(e[i-1]===t[s-1]?0:1));r=n}return r[t.length]}function Bi(e,t){let r=tn(e),i=String(t).toLowerCase(),n=r.find((l)=>l.toLowerCase()===i);if(n!==void 0&&n!==t)return n;if(String(t).length<3)return null;let s=null,a=3,o=!1;for(let l of r){if(l===String(t))continue;let c=q2(String(t),l);if(cAe.has(String(e).split("#")[0]),Hi=(e)=>typeof e==="string"&&X2.test(e),jt=(e)=>J2(e)||Hi(e);function Gi(e,t,r){let i=!1;for(let y of e)if(y.kind==="RENDER"){i=!0;break}if(!i)return e;let n=[],s=(y,m,k,O={})=>{let{at:A,...x}=O,I=A??k.end;return{id:t(),kind:y,value:m,start:I,end:I,spaced:!1,newLine:!1,generated:!0,origin:k.id,...x}},a=!1,o=0,l=0,c=[],f=[],h=[],u=(y,m,k)=>m{let x=1,I=m;while(I>=0&&x>0){if(Y.on)Y.n++;let H=u(y,I,A)?.kind;if(H===k)x++;else if(H===O)x--;if(x>0)I--}return I},S=(y)=>{let m=n.length;while(m>0&&u(n,m,y)?.kind==="OUTDENT")m=d(n,m-1,"OUTDENT","INDENT",y);while(m>0){if(Y.on)Y.n++;let O=n[m-1].kind;if(O==="TERMINATOR"||O==="RENDER")break;if(O==="OUTDENT"){m=d(n,m-2,"OUTDENT","INDENT",y);continue}if(O==="INDENT"){let A=u(n,m,y)?.kind;if(A==="CALL_END"||A===")"){m=d(n,m-1,A,A==="CALL_END"?"CALL_START":"(",y);continue}break}if(O==="CALL_END"||O===")"){m=d(n,m-2,O,O==="CALL_END"?"CALL_START":"(",y);continue}if(O==="INTERPOLATION_END"){m=d(n,m-2,"INTERPOLATION_END","INTERPOLATION_START",y);continue}if(O==="STRING_END"){m=d(n,m-2,"STRING_END","STRING_START",y);continue}m--}let k=u(n,m,y);return k?.kind==="IDENTIFIER"&&(jt(k.value)||(m===0||["INDENT","TERMINATOR","RENDER"].includes(n[m-1]?.kind)))},g=()=>{let y=0;for(let m=n.length-1;m>=0;m--){if(Y.on)Y.n++;let k=n[m].kind;if(Vi.has(k))y++;else if(Ui.has(k)){if(y===0)return 1;y--}else if(k==="TERMINATOR"||k==="RENDER"||k==="INDENT"||k==="OUTDENT")break}return 0},p=(y)=>{let m=n[n.length-1];if(!m)return!1;if(g()!==0)return!1;let k=m.kind;if((k===","||k==="IDENTIFIER"||k==="PROPERTY")&&S(y))return!0;if((k==="INDENT"||k==="TERMINATOR")&&f.includes(l))return!0;return!1},R=(y)=>{let m=1;for(let k=y+1;k0;k++){if(Y.on)Y.n++;let O=e[k].kind;if(O==="("||O==="CALL_START")m++;else if(O===")"){if(m--,m===0)e[k].kind="CALL_END"}else if(O==="CALL_END")m--}},b=(y)=>{let m=1;for(let k=n.length-1;k>=0&&m>0;k--){if(Y.on)Y.n++;if(n[k].kind==="CALL_END")m++;else if(n[k].kind==="CALL_START"){if(m--,m===0&&k>0&&n[k-1].kind==="PROPERTY"&&n[k-1].value==="__clsx")return!0}}return!1},_=(y)=>{while(h.length>0){let m=h[h.length-1];if(y.kind==="INDENT"||Ui.has(y.kind)){m.depth++;return}if(y.kind==="OUTDENT"||Vi.has(y.kind)){if(m.depth===0){n.push(s("CALL_END",")",n[n.length-1]??y)),h.pop();continue}m.depth--;return}if(y.kind==="TERMINATOR"&&m.depth===0){n.push(s("CALL_END",")",n[n.length-1]??y)),h.pop();continue}return}};for(let y=0;y0)_(m);if(m.kind==="RENDER"){a=!0,o=l+1,n.push(m);continue}if(m.kind==="INDENT"){l++,n.push(m);continue}if(m.kind==="OUTDENT"){l--;while(f.length>0&&f[f.length-1]>l)f.pop();n.push(m);while(c.length>0&&c[c.length-1]>l)n.push(s("CALL_END",")",m)),c.pop();if(a&&l0){let O=n[n.length-1].kind;if(O==="TERMINATOR"||O==="INDENT"||O==="RENDER"){n.push(s("IDENTIFIER","__text__",m,{at:m.start,spaced:m.spaced,newLine:m.newLine})),n.push(s("CALL_START","(",m,{at:m.start})),h.push({depth:0});continue}}if(m.kind==="UNARY_MATH"&&m.value==="~"&&k?.kind==="IDENTIFIER"){n.push(s("PROPERTY","__transition__",m,{spaced:m.spaced,newLine:m.newLine})),n.push(s(":",":",m)),k.kind="STRING",k.value=`"${k.value}"`,k.transitionValue=!0;continue}if(m.transitionValue&&k!==null&&Wi.has(k.kind)){n.push(m),n.push(s(",",",",m,{at:k.start}));continue}if(m.kind==="BIND"){let O=n[n.length-1];if(O!==void 0&&(O.kind==="IDENTIFIER"||O.kind==="PROPERTY")&&k!==null&&(k.kind==="IDENTIFIER"||k.kind==="@")){O.value=`__bind_${O.value}__`,n.push(s(":",":",m));continue}}if(m.kind==="PROPERTY"&&m.value[0]==="$"&&m.value.length>1&&![".","?.","@"].includes(n[n.length-1]?.kind)){n.push({...m,kind:"STRING",value:`"data-${m.value.slice(1)}"`});continue}if(m.kind==="IDENTIFIER"&&k?.kind==="-"&&!k.spaced){let O=[m.value],A=y+1,x=m.end;while(A+11&&e[A-1].kind==="PROPERTY"){let I=O.join("-");if(I[0]==="$")I=`data-${I.slice(1)}`;n.push({...m,kind:"STRING",value:`"${I}"`,end:x}),y=A-1;continue}}if(m.kind==="."){let O=n[n.length-1]?.kind;if(O==="INDENT"||O==="TERMINATOR"||O==="RENDER"){if(k?.kind==="PROPERTY"){let A=e[y+2];if(!A||A.kind!==":"){n.push(s("IDENTIFIER","div",m,{spaced:m.spaced,newLine:m.newLine})),n.push(m);continue}m={...m,kind:"IDENTIFIER",value:"div"}}else if(!k||k.kind!=="(")m={...m,kind:"IDENTIFIER",value:"div"}}}if(m.kind==="."&&k?.kind==="("){let O=n[n.length-1]?.kind,A=O==="INDENT"||O==="TERMINATOR"||O==="RENDER";if(k.kind="CALL_START",R(y+1),A)n.push(s("IDENTIFIER","div",m,{spaced:m.spaced,newLine:m.newLine})),n.push(m),n.push(s("PROPERTY","__clsx",m));else if(O===":")n.push(s("IDENTIFIER","__clsx",m,{spaced:m.spaced,newLine:m.newLine}));else n.push(m),n.push(s("PROPERTY","__clsx",m));continue}if(m.kind==="@"&&k?.kind==="PROPERTY"&&!k.spaced){let O=e[y+2],A=O?.kind===".",x=O?.kind===":";if(!A&&!x&&p(m)){let I=String(k.value),H=`on${I[0].toUpperCase()}${I.slice(1)}`;if(O?.kind==="=")r(`a \`=\` cannot follow a bare event directive on one line — \`@${I} = expr\` would assign to the minted handler and invoke the assignment as the listener; bind explicitly (\`@${I}: handler\`), or keep the bare \`@${I}\` and put the text on its own \`= expr\` line`,O.start);if(n.push(m),n.push(k),n.push(s(":",":",k)),n.push(s("@","@",k)),n.push(s("PROPERTY",H,k)),y++,e[y+1]?.kind==="INDENT")n.push(s(",",",",k,{at:e[y+1].start})),n.push(s("->","->",k,{at:e[y+1].start,newLine:!0})),f.push(l+1);else if(e[y+1]!==void 0&&Wi.has(e[y+1].kind))n.push(s(",",",",k,{at:e[y+1].start}));continue}}if(k?.kind==="INDENT"&&m.kind!=="->"&&m.kind!=="=>"&&m.kind!=="CALL_START"&&m.kind!=="("){let O=n[n.length-1]?.kind,A=["IF","UNLESS","WHILE","UNTIL","WHEN","FORIN","FOROF","FORAS","FORASAWAIT","BY"].includes(O),x=m.kind==="IDENTIFIER"&&(O==="INDENT"||O==="TERMINATOR"||O==="RENDER"),I=!1,H=!1;if(m.kind==="CALL_END")H=b(m);if(H)I=!0;else if(m.kind==="IDENTIFIER"&&jt(m.value)&&!A)I=!0;else if(m.kind==="IDENTIFIER"&&!A)I=x||S(m);else if(["PROPERTY","STRING","STRING_END","NUMBER","BOOL","CALL_END",")","]","INDEX_END","}","PRESENCE"].includes(m.kind))I=S(m);if(I){let G=!1;if(m.kind==="PROPERTY"&&n[n.length-1]?.kind==="."){let Z=n.length;while(Z>=2&&n[Z-1].kind==="."&&n[Z-2].kind==="PROPERTY")Z-=2;if(Z>=2&&n[Z-1].kind==="."&&n[Z-2].kind==="IDENTIFIER"&&jt(n[Z-2].value)){let V=n[Z-3]?.kind??null;if(V===null||["INDENT","OUTDENT","TERMINATOR","RENDER"].includes(V))G=!0}}let K=H||m.kind==="IDENTIFIER"&&(jt(m.value)||x)||G;if(n.push(m),K)n.push(s("CALL_START","(",m,{at:k.start})),n.push(s("->","->",m,{at:k.start,newLine:!0})),c.push(l+1);else n.push(s(",",",",m,{at:k.start})),n.push(s("->","->",m,{at:k.start,newLine:!0}));f.push(l+1);continue}}if(m.kind==="IDENTIFIER"&&Hi(m.value)&&(k?.kind==="OUTDENT"||k?.kind==="TERMINATOR")){n.push(m),n.push(s("CALL_START","(",m)),n.push(s("CALL_END",")",m));continue}n.push(m)}e.length=n.length;for(let y=0;y=e.length)return null;if(!F1.test(e[t]))return null;let r=t+1;while(r=0;a--){if(Y.on)Y.n++;if(s>=0&&(n<0||i[s].at>n))e[a]=i[s--].token;else e[a]=e[n--]}return e}var Z2=new Set(["IF","UNLESS","WHILE","UNTIL","WHEN","LEADING_WHEN","CATCH","FOR","LOOP","CLASS"]),Q2=new Set(["(","[","{","PICK_START","OPTPICK_START","CALL_START","INDEX_START","PARAM_START","STRING_START","INTERPOLATION_START","HEREGEX_START"]),el=new Set([")","]","}","PICK_END","CALL_END","INDEX_END","PARAM_END","STRING_END","INTERPOLATION_END","HEREGEX_END"]);function tl(e,t){let r=0;for(let i=t-1;i>=0;i--){if(Y.on)Y.n++;let n=e[i].kind;if(el.has(n)||n==="OUTDENT"){r++;continue}if(Q2.has(n)||n==="INDENT"){if(r===0)return!1;r--;continue}if(r>0)continue;if(Z2.has(n))return!0;if(n==="TERMINATOR")return!1}return!1}function rl(e,t){let r=new Set(["(","[","{","PICK_START","OPTPICK_START","CALL_START","INDEX_START","PARAM_START","STRING_START","INTERPOLATION_START","HEREGEX_START"]),i=new Set([")","]","}","PICK_END","CALL_END","INDEX_END","PARAM_END","STRING_END","INTERPOLATION_END","HEREGEX_END"]),n=[],s=[],a=(S,g)=>{let p=0;for(let R=g-1;R>=S;R--){if(Y.on)Y.n++;let b=e[R].kind;if(i.has(b)||b==="OUTDENT"){p++;continue}if(r.has(b)||b==="INDENT"){if(b==="INDENT")return!1;if(p--,p<0)return!1;continue}if(p>0)continue;if(Bt(e,R))return!0}return!1},o=(S,g)=>{let p=0;for(let R=g-1;R>=S;R--){if(Y.on)Y.n++;let b=e[R].kind;if(i.has(b)||b==="OUTDENT"){p++;continue}if(r.has(b)||b==="INDENT"){if(p--,p<0)return!1;continue}if(p>0)continue;if(b===":"&&e[R-1]?.kind==="PROPERTY")return Ji(e,g+1);if(b==="TERMINATOR")return!1}return!1},l=new Set(["IF","UNLESS","TRY","CATCH","FINALLY","SWITCH","FOR","CLASS"]),c=(S)=>{let g=0,p=0,R=0;for(let b=S;b({id:t(),kind:S,value:S,start:g,end:g,spaced:!1,newLine:!1,generated:!0,origin:p}),h=(S)=>{let g=c(S),p=null;for(let y=S;y=S;y--){if(Y.on)Y.n++;if(!e[y].generated){R=e[y];break}}let b=null;for(let y=g;y{while(s.length&&s[s.length-1].end===S){let g=s.pop();n.push({at:S,token:f("OUTDENT",g.closeAt,g.afterId)}),u=S}};for(let S=0;S"||g.kind==="=>")&&e[S+1]&&e[S+1].kind!=="INDENT"){let p=h(S+1);n.push({at:S+1,token:f("INDENT",p.openAt,p.firstReal?p.firstReal.id:null)}),s.push(p)}else if(g.kind==="THEN"&&tl(e,S)){let p=h(S+1);g.kind="INDENT",g.value="INDENT",g.generated=!0,g.start=g.end=p.firstReal?p.firstReal.start:g.end,g.origin=p.firstReal?p.firstReal.id:null,s.push(p)}else if(g.kind==="ELSE"&&e[S+1]&&e[S+1].kind!=="INDENT"&&e[S+1].kind!=="IF"&&(u===S||e[S-1]?.kind==="OUTDENT")){let p=h(S+1);n.push({at:S+1,token:f("INDENT",p.openAt,p.firstReal?p.firstReal.id:null)}),s.push(p)}}return d(e.length),n}var Ft=new Set(["IDENTIFIER","PROPERTY","SUPER",")","CALL_END","]","INDEX_END","@","THIS","DAMMIT","?","PRESENCE"]),Yi=new Set(["IDENTIFIER","PROPERTY","NUMBER","STRING","STRING_START","REGEX","HEREGEX_START","SYMBOL","MAP_START","PARAM_START","IF","TRY","SWITCH","CLASS","THIS","SUPER","UNDEFINED","NULL","BOOL","UNARY","NEW","DO","DO_IIFE","UNARY_MATH","AWAIT","YIELD","THROW","@","->","=>","[","(","{","--","++"]),zi=new Set(["POST_IF","POST_UNLESS","FOR","WHILE","UNTIL","WHEN","BY","LOOP","TERMINATOR","||","&&","??","THEN","ELSE"]),qi=new Set(["IF","TRY","FINALLY","CATCH","SWITCH","FOR","CLASS"]),Xi=new Set(["IDENTIFIER","PROPERTY","NUMBER","STRING","STRING_END","REGEX","HEREGEX_END",")","CALL_END","]","INDEX_END","}","PICK_END","BOOL","NULL","UNDEFINED","THIS","@"]),se=new Set(["(","[","{","PICK_START","OPTPICK_START","CALL_START","INDEX_START","PARAM_START","STRING_START","INTERPOLATION_START","HEREGEX_START","INDENT"]),ie=new Set([")","]","}","PICK_END","CALL_END","INDEX_END","PARAM_END","STRING_END","INTERPOLATION_END","HEREGEX_END","OUTDENT"]),Bt=(e,t)=>{let r=e[t],i=e[t+1];if(!r||!i||!i.spaced||!Ft.has(r.kind))return!1;if((r.kind==="]"||r.kind==="}")&&(i.kind==="->"||i.kind==="=>"))return!1;if(r.kind==="IDENTIFIER"&&(r.value==="Infinity"||r.value==="NaN")&&(i.kind==="->"||i.kind==="=>"))return!1;if(Yi.has(i.kind))return!0;return i.kind==="..."&&e[t+2]!=null&&Yi.has(e[t+2].kind)},Ji=(e,t)=>{if(!e[t])return!1;let r=(i)=>(e[i]?.kind==="DAMMIT"||e[i]?.kind==="VOID_MARKER")&&e[i+1]?.kind===":";if(e[t].kind==="@"&&(e[t+2]?.kind===":"||r(t+2)))return!0;if(e[t+1]?.kind===":"||r(t+1))return!0;if(se.has(e[t].kind)){let i=1,n=t;while(++n0){if(Y.on)Y.n++;if(se.has(e[n].kind))i++;else if(ie.has(e[n].kind))i--}if(i===0&&e[n]?.kind===":")return!0}return!1},Zi=new Set(["->","=>","[","(",",","{","ELSE","="]),nn=new Set(["INDENT","OUTDENT","TERMINATOR"]),nl=new Set(["CLASS","EXTENDS","IF","CATCH","SWITCH","LEADING_WHEN","FOR","WHILE","UNTIL","DEF"]),Qi=(e,t)=>{let r=0;for(;t>=0;t--){if(Y.on)Y.n++;let i=e[t].kind;if(r===0&&nl.has(i))return!0;if(ie.has(i)){r++;continue}if(se.has(i)){if(r>0){r--;continue}if(!e[t].generated||nn.has(i))return!1;continue}if(r===0&&nn.has(i))return!1}return!1};function il(e,t){let r=[],i=[],n=[0],s=null,a=-1,o=()=>r[r.length-1],l=(p,R,b,_={})=>({id:t(),kind:p,value:p,start:R,end:R,spaced:_.spaced??!1,newLine:_.newLine??!1,generated:!0,origin:b}),c=(p)=>{r.pop(),i.push({at:p,token:l("}",s?s.end:0,s?s.id:null)})},f=(p)=>Ji(e,p),h=()=>{for(let p=r.length-1;p>=0;p--){if(Y.on)Y.n++;let R=r[p];if(R.kind==="object")return R;if(!(R.kind==="INDENT"&&R.listContinuation))return null}return null},u=(p,R)=>{if(e[R]?.kind!=="...")return!1;let b=r[r.indexOf(p)-1];if(!b||!(b.kind==="["||b.kind==="CALL_START"))return!0;return S(b.at,p.at)},d=(p)=>{let R=e[p-1];return Boolean(R&&Ft.has(R.kind)&&f(p+1)&&!Qi(e,p-1))},S=(p,R)=>{let b=0;for(let _=R-1;_>p;_--){if(Y.on)Y.n++;let y=e[_].kind;if(ie.has(y)){b++;continue}if(se.has(y)){if(y==="INDENT"&&b===0)return d(_);if(b--,b<0)return!1;continue}if(b>0)continue;if(y==="TERMINATOR")return!1;if(Bt(e,_))return!0}return!1},g=(p)=>{for(let R=0;p1)n.pop();if(b==="OUTDENT")for(let y=r.length-1;y>=0;y--){let m=r[y];if(m.kind!=="object"&&m.kind!=="CONTROL")break;if(m.kind==="object")m.sameLine=!1}continue}if(b==="TERNARY")n[n.length-1]++;if(b===":"){let y=n.length-1;if(n[y]>0){n[y]--;continue}if(_?.kind==="DAMMIT")_.kind="VOID_MARKER";let m=_?.kind==="VOID_MARKER"?1:0,k=ie.has(_?.kind)?o()?.at??p-1:p-1-m;if(e[p-2-m]?.kind==="@")k=p-2-m;let O=e[k-1],x=!Bt(e,k-1)&&(k<=0||nn.has(O?.kind)||Boolean(O?.newLine)),I=o(),H=r[r.length-2],G=(q)=>q&&(q.kind==="{"||q.kind==="PICK_START"||q.kind==="OPTPICK_START"||q.kind==="object"),K=(q)=>q==="{"||q==="PICK_START"||q==="OPTPICK_START",Z=I?.kind==="INDENT"&&I.listContinuation?h():null,V=Boolean(Z),j=Z?Z.at:I?.kind==="INDENT"&&H?H.at:I?.at;if(I&&(G(I)||I.kind==="INDENT"&&(K(H?.kind)||V))&&!(j!=null&&S(j,k))&&(x||O?.kind===","||K(O?.kind)||e[k]?.kind==="{"))continue;r.push({kind:"object",at:k,sameLine:!0,startsLine:x}),i.push({at:k,token:l("{",e[k].start,e[k].id,{spaced:e[k].spaced,newLine:e[k].newLine})});continue}if(zi.has(b)||(b==="."||b==="?.")&&R.newLine){if(b==="||"||b==="&&"||b==="??"||b==="ELSE")continue;if(b==="TERMINATOR"){n[n.length-1]=0;for(let y=r.length-1;y>=0;y--){let m=r[y];if(m.kind!=="object"&&m.kind!=="CONTROL")break;if(m.kind==="object")m.sameLine=!1}}while(o()?.kind==="object"||b==="TERMINATOR"&&o()?.kind==="CONTROL"&&o()?.trigger==="CLASS"){let y=o();if(y.kind==="CONTROL"){r.pop();continue}if(b==="TERMINATOR")if(_?.kind!==","&&!(y.startsLine&&(f(p+1)||u(y,p+1))))c(p);else break;else if(y.sameLine&&_?.kind!==":"&&!((b==="POST_IF"||b==="POST_UNLESS")&&y.startsLine&&g(p+1)))c(p);else break}continue}if(b===","){let y=h(),m=(k)=>f(k)||u(y,k);if(y&&!S(y.at,p)&&!m(p+1)&&(e[p+1]?.kind!=="TERMINATOR"||!m(p+2))){if(e[p+1]?.kind==="INDENT"&&m(p+2))a=p;else if(o()?.kind==="object"){let k=e[p+1]?.kind==="OUTDENT"?1:0;while(o()?.kind==="object")c(p+k)}}}}if(e.length&&!e[e.length-1].generated)s=e[e.length-1];while(o()?.kind==="object"||o()?.kind==="CONTROL")if(o().kind==="object")c(e.length);else r.pop();return i}function sl(e,t){let r=[],i=[],n=-1,s=(l,c,f)=>({id:t(),kind:l,value:l==="CALL_START"?"(":")",start:c,end:c,spaced:!1,newLine:!1,generated:!0,origin:f}),a=null,o=(l)=>{r.pop(),i.push({at:l,token:s("CALL_END",a?a.end:0,a?a.id:null)})};for(let l=0;l0&&!e[l-1].generated)a=e[l-1];if(r[r.length-1]==="call"&&qi.has(h)&&!(h==="FOR"&&!c.newLine&&e[l-1]&&Xi.has(e[l-1].kind))){r.push(h==="CLASS"?"CONTROL_CLASS":"CONTROL");continue}if(h==="INDENT"){if(l===n){r.push("INDENT");continue}let u=e[l-1];if(!u||!Zi.has(u.kind))while(r[r.length-1]==="call")o(l);if(r[r.length-1]==="CONTROL"||r[r.length-1]==="CONTROL_CLASS")r.pop();r.push("INDENT");continue}if(se.has(h))r.push(h);else if(ie.has(h)){while(r[r.length-1]==="call"||r[r.length-1]==="CONTROL"||r[r.length-1]==="CONTROL_CLASS")if(r[r.length-1]==="call")o(l);else r.pop();r.pop()}if(zi.has(h)||(h==="."||h==="?.")&&c.newLine){if(h==="||"||h==="&&"||h==="??")continue;if(h==="ELSE"&&e[l-1]?.kind==="OUTDENT")continue;if(e[l-1]?.kind!==",")while(r[r.length-1]==="call"||h==="TERMINATOR"&&r[r.length-1]==="CONTROL_CLASS")if(r[r.length-1]==="call")o(l);else r.pop();continue}if(Bt(e,l)||Ft.has(h)&&f&&f.spaced&&(f.kind==="+"||f.kind==="-")&&e[l+2]&&!e[l+2].spaced&&!e[l+2].newLine)i.push({at:l+1,token:s("CALL_START",f.start,f.generated?f.origin:f.id)}),r.push("call");else if(Ft.has(h)&&f?.kind==="INDENT"&&e[l+2]?.kind==="{"&&e[l+2].generated&&!Qi(e,l))i.push({at:l+1,token:s("CALL_START",e[l+2].start,e[l+2].origin)}),r.push("call"),n=l+1}if(e.length&&!e[e.length-1].generated)a=e[e.length-1];while(r[r.length-1]==="call"||r[r.length-1]==="CONTROL"||r[r.length-1]==="CONTROL_CLASS")if(r[r.length-1]==="call")o(e.length);else r.pop();return i}var Ut=(e,t)=>sn(e,rl,t),Vt=(e,t)=>sn(e,il,t),Wt=(e,t)=>sn(e,sl,t);var is=new Set(["IDENTIFIER","PROPERTY","NUMBER","STRING","STRING_END","REGEX","HEREGEX_END","BOOL","NULL","UNDEFINED",")","CALL_END","PARAM_END","]","INDEX_END","}","PICK_END","THIS","@","SUPER","?","PRESENCE","DAMMIT","CAST","IMPORT_META"]),al=new Set(["IDENTIFIER","PROPERTY","(","CALL_START","PARAM_START","{","[","INDEX_START","STRING","NUMBER","BOOL","NULL","UNDEFINED","-","UNARY","NEW","RESERVED"]),ae=new Set(["(","CALL_START","PARAM_START","[","INDEX_START","{","PICK_START","OPTPICK_START"]),oe=new Set([")","CALL_END","PARAM_END","]","INDEX_END","}","PICK_END"]),ol=new Set(["TERMINATOR","INDENT","OUTDENT",",","=","COMPOUND_ASSIGN","REACTIVE_ASSIGN","COMPUTED_ASSIGN","READONLY_ASSIGN","GATE","EFFECT","->"]),ll=new Set(["+","-","MATH","**","SHIFT","COMPARE","MATCH","&&","||","??","^","RELATION","TERNARY","?","PRESENCE",":","?.","DAMMIT","EXTENDS","..","...","IF","UNLESS","ELSE","THEN","WHILE","UNTIL","LOOP","FOR","WHEN","BY","SWITCH","RETURN","THROW","CATCH","FINALLY"]),cl=new Set(["IF","UNLESS","ELSE","THEN","WHILE","UNTIL","LOOP","FOR","WHEN","BY","SWITCH","RETURN","THROW"]),fl=new Set(["IDENTIFIER","PROPERTY","RESERVED","NUMBER","STRING","TYPE_TEMPLATE","BOOL","NULL","UNDEFINED","THIS",".",",",":","?","TERNARY","...","|","&","=>","EXTENDS","(",")","PARAM_START","PARAM_END","[","]","INDEX_START","INDEX_END","{","}","INDENT","OUTDENT","TERMINATOR"]),hl=new Set(["IDENTIFIER","PROPERTY","RESERVED","NUMBER","STRING","TYPE_TEMPLATE","BOOL","NULL","UNDEFINED","THIS",")","PARAM_END","]","INDEX_END","}"]),ul=new Set(["TERMINATOR","INDENT","OUTDENT","{",","]),Kt=(e,t,r)=>{if(t-1{let s=0,a=[],o=(u=0)=>a[a.length-1-u],l=null,c=!1,f=[],h=(u,d)=>{s-=d;for(let S=0;S"){h(d,1),c=!0;continue}if(S==="SHIFT"&&d.value===">>"){h(d,2),c=!0;continue}if(S==="SHIFT"&&d.value===">>>"){h(d,3),c=!0;continue}if(S==="UNARY"&&d.value==="typeof"){c=!1;continue}if(d.word==="is"&&c&&u-2>=t&&(e[u-1].kind==="IDENTIFIER"||e[u-1].kind==="PROPERTY"||e[u-1].kind==="THIS")&&(e[u-2].kind==="=>"||e[u-2].value==="asserts"||e[u-2].kind===":"&&e[u-3]?.kind==="CALL_END")){c=!1;continue}if(S==="RELATION"&&d.value==="in"&&o()==="["&&o(1)==="{"&&u-2>=t&&(e[u-2].kind==="["||e[u-2].kind==="INDEX_START")&&(e[u-1].kind==="IDENTIFIER"||e[u-1].kind==="PROPERTY")&&Kt(e,u-2,t)){c=!1;continue}if(d.value==="?"&&c&&e[u+1]?.kind===":"){c=!1;continue}if(S==="-"&&e[u+1]?.kind==="NUMBER"&&!c){u++,c=!0;continue}if((S==="-"||S==="+")&&e[u+1]?.value==="readonly"&&(e[u+2]?.kind==="["||e[u+2]?.kind==="INDEX_START")&&o()==="{"&&Kt(e,u,t)){c=!1;continue}if((S==="-"||S==="+")&&e[u+1]?.value==="?"&&e[u+2]?.kind===":"&&o()==="{"&&(e[u-1]?.kind==="]"||e[u-1]?.kind==="INDEX_END")){c=!0;continue}if(S==="="&&s>0){c=!1;continue}if((o()==="{"||n.methods&&o()===void 0)&&S==="CALL_START"){let g=e[u-1],p=Kt(e,u-1,t);if(g&&(g.kind==="IDENTIFIER"||g.kind==="PROPERTY")&&p){let R=1,b=u+1;while(b0){if(e[b].kind==="CALL_START")R++;else if(e[b].kind==="CALL_END")R--;b++}if(R===0&&e[b]?.kind===":"){f.push(b-1),a.push("("),c=!1;continue}if(R===0)i(`an interface method shorthand needs a return type — \`${g.value}(…): T\``,g.start)}}if(S==="CALL_END"&&u===f[f.length-1]){f.pop(),a.pop(),c=!0;continue}if(fl.has(S)){if(es.has(S))a.push(es.get(S));else if(dl.has(S))a.pop();c=hl.has(S);continue}i(`code expression ('${d.word??d.value}') in a type body — types erase and cannot execute`,d.start)}if(s>0)i("unclosed '<' in a type body — the generic never closes",l.start)},ml=new Set(["=",":","COMPOUND_ASSIGN","REACTIVE_ASSIGN","COMPUTED_ASSIGN","READONLY_ASSIGN",",","[","(","{","CALL_START","INDEX_START","PARAM_START","PICK_START","OPTPICK_START","RETURN","THROW","AWAIT","YIELD"]),Z1=(e,t)=>{let r=e[t];if(!r)return!0;if(r.kind==="TERMINATOR"||r.kind==="EXPORT")return!0;if(r.kind!=="INDENT"&&r.kind!=="OUTDENT")return!1;let i=0;for(let n=t;n>=0;n--){if(Y.on)Y.n++;let s=e[n].kind;if(s==="OUTDENT")i++;else if(s==="INDENT"){if(i===0){let a=e[n-1];return!(a&&ml.has(a.kind))}i--}}return!0},on=(e,t,r)=>{if(r<=t)return!1;let i=new Set(["|","&",",",":","?","TERNARY",".","..."]),n=0,s=0,a=0,o=0,l=!1,c=[],f=null;for(let h=t;h"){let S=h>t?e[h-1].kind:null;if((S===")"||S==="PARAM_END")&&f&&(f.colon||f.empty)){l=!1;continue}return!1}if(u==="("||u==="PARAM_START"){c.push({colon:!1,open:h}),n++,l=!1;continue}if(u===")"||u==="PARAM_END"){if(--n<0)return!1;let S=c.pop();f=S?{colon:S.colon,empty:h===S.open+1}:null,l=!0;continue}if(u==="["||u==="INDEX_START"){s++,l=!1;continue}if(u==="]"||u==="INDEX_END"){if(--s<0)return!1;l=!0;continue}if(u==="{"){a++,l=!1;continue}if(u==="}"){if(--a<0)return!1;l=!0;continue}if(u==="COMPARE"){if(d==="<"){o++,l=!1;continue}if(d===">"){if(o<=0)return!1;o--,l=!0;continue}return!1}if(u==="SHIFT"){if(d===">>"){if(o<2)return!1;o-=2,l=!0;continue}if(d===">>>"){if(o<3)return!1;o-=3,l=!0;continue}return!1}if(u==="="){if(o>0){l=!1;continue}return!1}if(i.has(u)){if(u===":"&&c.length)c[c.length-1].colon=!0;l=!1;continue}if(u==="IDENTIFIER"||u==="PROPERTY"||u==="NUMBER"||u==="RESERVED"||u==="STRING"||u==="NULL"||u==="UNDEFINED"||u==="BOOL"){if(l)return!1;l=!0;continue}return!1}return n===0&&s===0&&a===0&&o===0&&l},ts=(e,t,r,i)=>{let n=[],s=[],a=[],o=0,l=t,c=e[t-1]?.end??0,f=(u)=>i("unclosed '<' in a type — the generic argument list never closes"+(r.cast?"; if the '<' was meant as a comparison, parenthesize the cast: '(x as T) < y'":""),u.start),h=(u,d)=>{for(let S=0;Sl&&u.newLine)break;if(d==="SHIFT"&&(u.value===">>"||u.value===">>>")&&a.length>0){h(u,u.value===">>"?2:3),n.push(u.value),c=u.end,t++;continue}if(d==="COMPARE"&&u.value===">"){if(o===0)break;h(u,1),n.push(u.value),c=u.end,t++;continue}if(ae.has(d)||d==="COMPARE"&&u.value==="<"){o++;let g=d==="{"?"{":d==="["||d==="INDEX_START"?"[":d==="COMPARE"?"<":"(";if(s.push(g),g==="<")a.push(u);n.push(u.value),c=u.end,t++;continue}if(oe.has(d)){if(o===0)break;if(s[s.length-1]==="<")f(a[a.length-1]);o--,s.pop(),n.push(u.value),c=u.end,t++;continue}if(d==="INTERPOLATION_END"||d==="STRING_END"||d==="HEREGEX_END")break;if(o===0){if(ol.has(d))break;if(r.stopAtFatArrow&&d==="=>")break;if(r.cast&&ll.has(d))if(t===l&&(d==="-"||d==="+")&&e[t+1]?.kind==="NUMBER"){if(d==="+")i("a numeric literal type spells its sign with '-' (TypeScript has no '+1' type)",u.start,e[t+1].end)}else break;if(r.alias&&cl.has(d))break}else{if(d==="INDENT"||d==="OUTDENT"){t++;continue}if(d==="TERMINATOR"){n.push(";"),c=u.end,t++;continue}if(d==="PROPERTY"&&s[s.length-1]==="{"){let g=n[n.length-1];if(g&&g!=="{"&&g!==","&&g!==";")n.push(";")}}if(d==="?"&&!u.spaced&&e[t+1]?.kind===":"&&n.length){n[n.length-1]+="?",c=u.end,t++;continue}n.push(u.word==="is"?u.word:u.value),c=u.end,t++}if(a.length)f(a[0]);return{parts:n,consumed:t-l,end:c}},pl=(e)=>e.join(" ").replace(/\s+/g," ").trim().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,": "),gl=(e,t,r)=>{let i=(l)=>l==="("||l==="PARAM_START"||l==="CALL_START",n=(l)=>l===")"||l==="PARAM_END"||l==="CALL_END";if(r-t<2||!i(e[t].kind))return!1;let s=0;for(let l=t;l{if(!(e[t]?.kind==="COMPARE"&&e[t].value==="<"&&!e[t].spaced))return t;let r=0;while(t")r--;else if(i.kind==="SHIFT"&&i.value===">>")r-=2;else if(i.kind==="SHIFT"&&i.value===">>>")r-=3;else if(i.kind==="TERMINATOR"||i.kind==="INDENT"||i.kind==="OUTDENT")return-1;if(t++,r===0)break}return r===0?t:-1},Yt=(e,t)=>{if(t<0||!e[t]||ln(e[t])>=0)return t;let r=0;while(t>=0){if(Y.on)Y.n++;let i=e[t];if(i.kind==="TERMINATOR"||i.kind==="INDENT"||i.kind==="OUTDENT")return-1;if(r+=ln(i),t--,r===0)break}return r===0?t:-1},zt=(e,t)=>{let r=Yt(e,t-1);if(r<0||e[r]?.kind!=="IDENTIFIER")return!1;let i=e[r-1];if(!(i?.kind==="IDENTIFIER"&&i.value==="type"))return!1;return Z1(e,r-2)},ln=(e)=>e.kind==="COMPARE"&&e.value==="<"?1:e.kind==="COMPARE"&&e.value===">"?-1:e.kind==="SHIFT"&&e.value===">>"?-2:e.kind==="SHIFT"&&e.value===">>>"?-3:0,J1=(e,t)=>{let r=e[t];if(!r||r.kind!=="IDENTIFIER"&&r.kind!=="PROPERTY")return!1;if(e[t-1]?.kind==="DEF")return!0;return r.kind==="PROPERTY"&&e[t-1]?.kind==="@"&&e[t-2]?.kind==="DEF"},bl=(e,t)=>{let r=e[t-1];if(!r)return!1;if(r.kind===")"||r.kind==="CALL_END"||r.kind==="PARAM_END")return!0;if(r.kind==="IDENTIFIER"||r.kind==="PROPERTY"){if(J1(e,t-1))return!0;let i=e[t-2]?.kind==="@"?t-3:t-2;if(Z1(e,i))return!0}if(r.kind==="VOID_MARKER"&&J1(e,t-2))return!0;return null},rs=(e)=>e.kind==="TERMINATOR"||e.kind==="INDENT"||e.kind==="OUTDENT",yl=(e,t)=>{if(t.upTo>e.length||t.upTo>0&&e[t.upTo-1]!==t.ref){t.answers.clear(),t.level=0;let r=e.length-1;while(r>=0&&!rs(e[r])){if(Y.on)Y.n++;r--}t.upTo=r+1}for(let r=t.upTo;r{let i=e[e.length-1];if(!i)return!1;if(!(i.kind==="COMPARE"&&i.value===">"||i.kind==="SHIFT"&&(i.value===">>"||i.value===">>>")))return!1;if(t)return!0;return yl(e,r),r.answers.get(r.level)??!1},Gt=(e,t)=>{let r=0,i=!1;for(let n=t+1;n")return-1;if(s==="=>")i=!0;else if(s==="="||s==="REACTIVE_ASSIGN"||s==="COMPUTED_ASSIGN"||s==="READONLY_ASSIGN"||s==="GATE"||s==="EFFECT"){if(!i||on(e,t+1,n))return n}}}return-1},Sl=(e)=>{let t=[new Map],r=Array(e.length),i=[{id:0,up:null}],n=0;for(let s=0;s"||l==="=>";i.push({id:o,up:c?null:i[i.length-1]})}else if(a==="OUTDENT"){if(i.length>1)i.pop()}else if(ae.has(a))n++;else if(oe.has(a))n--;else if(n===0&&(a==="IDENTIFIER"||a==="PROPERTY")&&e[s+1]?.kind==="=")for(let o=i[i.length-1];o;o=o.up){if(Y.on)Y.n++;t[o.id].set(e[s].value,s)}}return{blockMaps:t,blockIdAt:r}},Rl=(e,t)=>{let r=0;for(;t"||i==="=>")return!0;if(i==="TERMINATOR"||i==="INDENT"||i==="OUTDENT")return!1}}return!1},El=(e,t)=>{let r=0;for(let i=t+1;i{let i=0;for(let n=t;n{let r=0;for(let i=t;i","=>","DO","DO_IIFE","TRY","LOOP"]),_l=new Set(["IF","UNLESS","SWITCH","WHILE","UNTIL","FOR","CLASS"]),Nl=new Set(["->","=>","THEN","ELSE"]),Al=new Set(["TERMINATOR","INDENT","OUTDENT","THEN","ELSE","IF","UNLESS","POST_IF","POST_UNLESS","WHILE","UNTIL","LOOP","FOR","WHEN","BY","SWITCH","RETURN","THROW",",","=","COMPOUND_ASSIGN","&&","||","??","TERNARY","?",":","RELATION","+","-","MATH","**","SHIFT","&","|","^","STRING_START","STRING_END","INTERPOLATION_START","INTERPOLATION_END"]),vl=new Map([["yes","true"],["no","false"],["on","true"],["off","false"],["true","true"],["false","false"],["null","null"],["undefined","undefined"],["this","this"]]);function qt(e,t,r,i){let n=[],s=[],a=new WeakSet,o=()=>s[s.length-1]??null,l=!1,c=[],f=()=>c.length>0&&!!c[c.length-1],h=()=>c[c.length-1]??!1,u=(x)=>{let I=vl.get(x.value);if(I===void 0)return;i(`'${x.value}' cannot name a binding — every read of '${x.value}' lowers to \`${I}\`, so the binding would be unreachable`,x.start,x.end)},d=-1,S=0,g=!1,p=!1,R=null,b=(x,I)=>(R??=Sl(e),(R.blockMaps[R.blockIdAt[x]].get(I)??-1)>=x),_=null,y=(x)=>{let I=[],H=x,G=!0,K=-1;for(;;){if(Y.on)Y.n++;let q=El(e,H);if(q<0){if(Gt(e,H)>=0)break;I.push({colon:H,shaped:!1,assigned:!1}),G=!1,K=-1;break}if(Tl(e,H+1,q)){I.push({colon:H,shaped:!1,assigned:!1}),G=!1,K=-1;break}I.push({colon:H,shaped:q>H+1&&on(e,H+1,q),assigned:b(q+1,e[H-1].value)}),K=q;let t1=e[q+1];if(t1&&(t1.kind==="IDENTIFIER"||t1.kind==="PROPERTY")&&e[q+2]?.kind===":"){H=q+2;continue}break}let Z=K>=0?e[K+1]:null,V=G&&Z!=null&&Z.kind!=="OUTDENT",j=V&&I.every((q)=>q.shaped&&q.assigned);if(!j&&V&&I.some((q)=>q.shaped)&&I.some((q)=>q.assigned)){let q=I.find((N)=>!(N.shaped&&N.assigned)),t1=e[q.colon-1],M=q.shaped?`'${t1.value}' is never assigned in this block`:`the value after '${t1.value}:' is not a type`;i("these adjacent 'name:' lines are ambiguous — with every line a type and every "+`name assigned later they would all claim as typed forward declarations, but ${M}; for typed forwards, assign every name in this block or add an initializer ('${t1.value}: T = value'); for an implicit object, parenthesize the literal or assign it to a target`,t1.start)}_??=new Map;for(let q of I)_.set(q.colon,j);return j},m=(x,I,H,G,K)=>({id:t(),kind:x,value:I,start:H,end:G,spaced:K.spaced,newLine:K.newLine,generated:!1,origin:null}),k=(x,I,H,G)=>{if(e[H]?.kind===":")i("type annotations use a single ':' (e.g. `x: number`), not '::'",I.start,e[H].end);let K=ts(e,H,G,i);if(K.parts.length===0)return-1;for(let Z=H;Z R) => body`, not `(x): (a: T) => R => body`",e[H].start);return n.push(m(x,pl(K.parts),I.start,K.end,I)),H+K.consumed-1},O=(x)=>{let I=x+1;if(e[I]?.kind!=="IDENTIFIER")return-1;if(I++,I=Ht(e,I),I<0)return-1;if(e[I]?.kind!=="=")return-1;if(I++,e[I]?.kind==="INDENT"){let K=ns(e,I);return an(e,I+1,K,i,{methods:!0}),K}let H=ts(e,I,{alias:!0},i);if(H.parts.length===0)i("a type alias needs a type after '='",e[I-1].end);an(e,I,I+H.consumed,i);let G=e[I+H.consumed];if(G&&G.kind!=="TERMINATOR"&&G.kind!=="OUTDENT")i(`a type alias must fill its line — unexpected '${G.value}' after the type`,G.start);return I+H.consumed-1},A=(x)=>{let I=x+1;if(e[I]?.kind!=="IDENTIFIER")return-1;if(I++,I=Ht(e,I),I===-1)return-1;if(e[I]?.kind==="EXTENDS"){if(e[I+1]?.kind!=="IDENTIFIER")return-1;if(I+=2,I=Ht(e,I),I===-1)return-1}if(e[I]?.kind!=="INDENT")return-1;let H=ns(e,I);return an(e,I+1,H,i,{methods:!0}),H};for(let x=0;x=0){let Z=G?.kind==="EXPORT"?n.pop():I,V=e[K].end;n.push(m("TYPE_DECL",r.slice(Z.start,V).replace(/\r\n/g,` +`),Z.start,V,I)),x=K;continue}}if(H==="IDENTIFIER"&&I.value==="as"&&G&&G.kind!=="."&&G.kind!=="?."&&is.has(G.kind)&&e[x+1]&&(al.has(e[x+1].kind)||e[x+1].kind==="+"&&e[x+2]?.kind==="NUMBER")){let K=k("CAST",I,x+1,{cast:!0});if(K<0)i("'as' begins a cast and takes a type — `x as T`",I.start,I.end);if(K>=0){x=K;let Z=e[x+1],V=n[n.length-1];if(Z&&Z.newLine&&Z.kind!=="TERMINATOR"&&Z.kind!=="INDENT"&&Z.kind!=="OUTDENT"&&!(Z.kind==="IDENTIFIER"&&Z.value==="as")){let j=r.slice(V.end,Z.start),q=j.indexOf(` +`);if(q>=0){let t1=j[q-1]==="\r",M=V.end+q-(t1?1:0),N=t1?2:1;n.push({id:t(),kind:"TERMINATOR",value:r.slice(M,M+N),start:M,end:M+N,spaced:!1,newLine:!1,generated:!0,origin:null})}}continue}}if(H==="COMPARE"&&I.value==="<"&&!I.spaced&&G&&(G.kind==="IDENTIFIER"||J1(n,n.length-1))){let K=n[n.length-2]??null,Z=Ht(e,x);if(Z>x){let V=Z-1,j=e[V+1]?.kind,q=K?.kind==="DEF"||J1(n,n.length-1),t1=j==="="&&e[V+2]?.kind==="COMPONENT";if(q||t1){if(q&&j==="("){let M=0;for(let N=V+1;N=0){x=C;continue}}if(G.kind==="CALL_END"&&a.has(G)){let C=k("TYPE",I,x+1,{});if(C>=0){x=C;continue}}if(J1(n,n.length-1)){let C=k("TYPE",I,x+1,{});if(C>=0){if(G.kind==="PROPERTY"&&Z?.kind==="DEF")u(G),G.kind="IDENTIFIER";x=C;continue}}if(G.kind==="TYPE_PARAMS"&&J1(n,n.length-2)){let C=k("TYPE",I,x+1,{});if(C>=0){x=C;continue}}if(G.kind==="VOID_MARKER"&&J1(n,n.length-2)){let C=k("TYPE",I,x+1,{});if(C>=0){x=C;continue}}if(K&&(K.kind==="param"||K.kind==="defparam")&&!K.sawEq&&!K.sawType&&K.bodyDepth===0&&!K.inlineBody){let C=G.kind==="PROPERTY"||G.kind==="IDENTIFIER",w=G.kind==="}"||G.kind==="]",D=G.kind==="?"&&(Z?.kind==="PROPERTY"||Z?.kind==="IDENTIFIER");if(C||w||D){let B=k("TYPE",I,x+1,{});if(B>=0){if(D){if(G.kind="OPT_MARKER",Z.kind==="PROPERTY")Z.kind="IDENTIFIER"}else if(G.kind==="PROPERTY"&&e[x-2]?.kind!=="@")u(G),G.kind="IDENTIFIER";K.sawType=!0,x=B;continue}}}let V=G.kind==="OPT_MARKER"?1:0,j=V?n[n.length-2]??null:G,q=(n[n.length-2-V]??null)?.kind==="@",t1=n.length-(q?3:2)-V,M=j!==null&&(j.kind==="PROPERTY"||j.kind==="IDENTIFIER")&&Z1(n,t1),N=j!==null&&j.kind==="STRING"&&Z1(n,t1);if(s.length===0&&M&&!q)p=!0;if(s.length===0&&G.kind==="PROPERTY"&&n[n.length-2]?.kind==="."&&n[n.length-3]?.kind==="PROPERTY"&&n[n.length-3].value==="prototype"&&n[n.length-4]?.kind==="?."&&n[n.length-5]?.kind==="IDENTIFIER"&&Z1(n,n.length-6)&&Gt(e,x)>=0)i("an annotated prototype member requires the unconditional chain (`X::m: T = v`) — "+"the soak form cannot carry the annotation",I.start,I.end);if(s.length===0&&G.kind==="PROPERTY"&&n[n.length-2]?.kind==="."&&n[n.length-3]?.kind==="PROPERTY"&&n[n.length-3].value==="prototype"&&n[n.length-4]?.kind==="."&&n[n.length-5]?.kind==="IDENTIFIER"&&Z1(n,n.length-6)&&Gt(e,x)>=0){let C=k("TYPE",I,x+1,{});if(C>=0){x=C;continue}}if(s.length===0&&(M||N)&&Gt(e,x)>=0){let C=k("TYPE",I,x+1,{});if(C>=0){if(j.kind==="PROPERTY"&&!q){if(h()!=="class")u(j);j.kind="IDENTIFIER"}p=!1,x=C;continue}}if(s.length===0&&f()&&M&&!Rl(e,x+1)){let C=-1,w=0;for(let D=x+1;Dx+1&&on(e,x+1,C)){let D=k("TYPE",I,x+1,{});if(D>=0){if(j.kind==="PROPERTY"&&!q){if(h()==="component")u(j);j.kind="IDENTIFIER"}x=D;continue}}}if(s.length===0&&!f()&&M&&!q&&!V){let C=_?.get(x);if(C!==void 0?C:!g&&y(x)){let D=k("TYPE",I,x+1,{});if(D>=0){if(G.kind==="PROPERTY")u(G),G.kind="IDENTIFIER";p=!1,x=D;continue}}}}if(ae.has(H))S++;else if(oe.has(H)){if(S--,d>=0&&S=0&&S===d){if(H==="COMPARE"&&I.value==="<")i("class generics are not supported — the class head's '<' parses as a comparison "+"and the statement miscompiles silently (`class Box` compiles to "+"`(class Box {} < T) && …`); remove the generic list",I.start);if(Al.has(H))d=-1}if(H==="CLASS"||H==="COMPONENT")l=H==="CLASS"?"class":"component";else if(H==="THEN")l=!1;else if(H==="INDENT")c.push(l),l=!1;else if(H==="OUTDENT")c.pop();else if(H==="TERMINATOR")l=!1;if(s.length===0){if(H==="TERMINATOR")g=p,p=!1;else if(H==="INDENT"||H==="OUTDENT")g=!1,p=!1}if(ae.has(H)){let K="other";if(H==="PARAM_START")K="param";else if(H==="CALL_START"&&J1(n,n.length-1))K="defparam";else if(H==="CALL_START"&&G?.kind==="TYPE_PARAMS"&&J1(n,n.length-2))K="defparam";else if(H==="CALL_START"&&G?.kind==="VOID_MARKER"&&J1(n,n.length-2))K="defparam";s.push({kind:K,sawEq:!1,sawType:!1,bodyDepth:0,pendingImmediate:!1,pendingCond:!1,inlineBody:!1})}else if(oe.has(H)){if(s.pop()?.kind==="defparam"&&H==="CALL_END")a.add(I)}else{let K=o();if(K&&(K.kind==="param"||K.kind==="defparam")){let Z=()=>{K.sawEq=!1,K.sawType=!1,K.pendingImmediate=!1,K.pendingCond=!1,K.inlineBody=!1};if(K.bodyDepth>0){if(H==="INDENT")K.bodyDepth++;else if(H==="OUTDENT")K.bodyDepth--}else if(H==="INDENT")if(K.pendingImmediate||K.pendingCond)K.bodyDepth=1,K.pendingImmediate=!1,K.pendingCond=!1,K.inlineBody=!1;else Z();else if(H===","||H==="OUTDENT")Z();else if(H==="TERMINATOR")if(K.inlineBody&&I.value===";")K.pendingImmediate=!1,K.pendingCond=!1;else Z();else{if(K.pendingImmediate=wl.has(H),_l.has(H)&&G?.kind==="=")K.pendingCond=!0;else if(H==="THEN")K.pendingCond=!1;if(Nl.has(H))K.inlineBody=!0;if(H==="=")K.sawEq=!0}}}n.push(I)}e.length=n.length;for(let x=0;x"&&r!=="=>")continue;let i=t-1,n=e[i];if(!n)continue;if(n.kind==="DO"){n.kind="DO_IIFE";continue}if(n.kind!==")"){let a=0,o=-1;for(let l=t-1;l>=0;l--){if(Y.on)Y.n++;let c=e[l],f=c.kind;if(f===")"||f==="]"||f==="}"||f==="PICK_END"||f==="CALL_END"||f==="PARAM_END"||f==="INDEX_END"||f==="COMPARE"&&c.value===">")a++;else if(f==="("||f==="["||f==="{"||f==="PICK_START"||f==="OPTPICK_START"||f==="CALL_START"||f==="PARAM_START"||f==="INDEX_START"||f==="COMPARE"&&c.value==="<")a--;else if(f==="SHIFT"&&c.value===">>")a+=2;else if(f==="SHIFT"&&c.value===">>>")a+=3;else if(a===0){if(f===":"){if(e[l-1]?.kind===")")o=l-1;break}if(f==="TERMINATOR"||f==="INDENT"||f==="OUTDENT"||f==="="||f==="->"||f==="=>")break}}if(o<0)continue;i=o,n=e[i]}else{let a=0,o=-1;for(let l=t-1;l>=0;l--){if(Y.on)Y.n++;let c=e[l].kind;if(c===")"||c==="CALL_END"||c==="PARAM_END")a++;else if(c==="("||c==="CALL_START"||c==="PARAM_START"){if(--a===0){o=l;break}}}if(o>1&&e[o-1].kind===":"&&e[o-2]?.kind===")")i=o-2,n=e[i]}let s=0;for(let a=i-1;a>=0;a--){if(Y.on)Y.n++;let o=e[a];if(o.kind===")"||o.kind==="CALL_END"||o.kind==="INDEX_END"||o.kind==="]")s++;else if(o.kind==="("||o.kind==="CALL_START"||o.kind==="INDEX_START"||o.kind==="["){if(s>0){s--;continue}if(o.kind==="("){if(o.kind="PARAM_START",n.kind="PARAM_END",e[a-1]?.kind==="DO")e[a-1].kind="DO_IIFE"}break}}}return e}function Il(e){let t=new Set(["(","[","{","PICK_START","OPTPICK_START","CALL_START","INDEX_START","PARAM_START","STRING_START","INTERPOLATION_START","HEREGEX_START","INDENT"]),r=new Set([")","]","}","PICK_END","CALL_END","INDEX_END","PARAM_END","STRING_END","INTERPOLATION_END","HEREGEX_END","OUTDENT"]),i=[0];for(let n=0;n0)i[a]--}else if(s==="INDEX_START"&&i[i.length-1]===0){let a=1,o=n;while(++o0){if(Y.on)Y.n++;if(t.has(e[o].kind))a++;else if(r.has(e[o].kind))a--}if(a===0&&e[o]?.kind===":")e[n].kind="[",e[o-1].kind="]"}if(t.has(e[n].kind))i.push(0);else if(r.has(e[n].kind))i.pop()}return e}var $l=new Set(["STRING","STRING_END","REGEX","HEREGEX_END","NUMBER","BOOL","NULL","UNDEFINED","]","}","SYMBOL"]);function Dl(e){let t=0;for(let r=0;r0&&(i==="->"||i==="=>")&&r>0&&($l.has(e[r-1].kind)||e[r-1].kind==="IDENTIFIER"&&(e[r-1].value==="Infinity"||e[r-1].value==="NaN")))e.splice(r,0,{kind:",",value:",",start:e[r].start,end:e[r].start}),r++}return e}function xl(e){let t=new Set(["(","[","{","PICK_START","OPTPICK_START","CALL_START","INDEX_START","PARAM_START","STRING_START","INTERPOLATION_START","HEREGEX_START","INDENT"]),r=new Set([")","]","}","PICK_END","CALL_END","INDEX_END","PARAM_END","STRING_END","INTERPOLATION_END","HEREGEX_END","OUTDENT"]),i=(s)=>s!==void 0&&(s.kind==="IDENTIFIER"||s.kind==="PROPERTY"),n=[0];for(let s=0;s0)n[o]--}else if(i(e[s])&&n[n.length-1]===0&&e[s-1]?.kind!=="."&&e[s-1]?.kind!=="?."&&e[s-1]?.kind!=="@"){let o=s;for(;;){if(Y.on)Y.n++;let l=e[o+1],c=e[o+2];if(l===void 0||!i(c))break;if(l.kind==="."){o+=2;continue}if(l.kind==="-"&&l.start===e[o].end&&c.start===l.end){o+=2;continue}break}if(o>s&&e[o+1]?.kind===":"){let l="";for(let f=s;f<=o;f++)l+=e[f].value;let c={...e[s],kind:"STRING",value:JSON.stringify(l),end:e[o].end};e.splice(s,o-s+1,c)}}if(t.has(e[s].kind))n.push(0);else if(r.has(e[s].kind))n.pop()}return e}function Cl(e){for(let t=0;t>>=":"COMPOUND_ASSIGN"},cs={"**=":"COMPOUND_ASSIGN","&&=":"COMPOUND_ASSIGN","||=":"COMPOUND_ASSIGN","??=":"COMPOUND_ASSIGN","<<=":"COMPOUND_ASSIGN",">>=":"COMPOUND_ASSIGN","//=":"COMPOUND_ASSIGN","%%=":"COMPOUND_ASSIGN",">>>":"SHIFT","...":"...","<=>":"BIND"},fs={"==":"COMPARE","!=":"COMPARE","<=":"COMPARE",">=":"COMPARE","**":"**","&&":"&&","||":"||","??":"??","..":"..","+=":"COMPOUND_ASSIGN","-=":"COMPOUND_ASSIGN","*=":"COMPOUND_ASSIGN","/=":"COMPOUND_ASSIGN","%=":"COMPOUND_ASSIGN","&=":"COMPOUND_ASSIGN","^=":"COMPOUND_ASSIGN","|=":"COMPOUND_ASSIGN",":=":"REACTIVE_ASSIGN","~=":"COMPUTED_ASSIGN","<~":"GATE","=!":"READONLY_ASSIGN","<<":"SHIFT",">>":"SHIFT","//":"MATH","%%":"MATH","~>":"EFFECT","!>":"!>","=~":"MATCH","->":"->","=>":"=>","++":"++","--":"--","?.":"?.",".=":"METHOD_ASSIGN","*{":"MAP_START"},Ml=new Set([".","?.","UNARY","NEW","DO","DO_IIFE","MATH","UNARY_MATH","+","-","**","SHIFT","RELATION","COMPARE","&","^","|","&&","||","??","TERNARY","EXTENDS"]),Xt=new Set(["IDENTIFIER","PROPERTY",")","CALL_END","NUMBER","STRING","]","INDEX_END","SUPER","DAMMIT","PRESENCE","DYNAMIC_IMPORT"]),tt=new Set([...Xt,"BOOL","NULL","UNDEFINED","}","PICK_END","STRING_END","REGEX","HEREGEX_END","THIS","@"]);function jl(e,t){let r=t;while(r=e.length||Fl.test(e[r+1])))r++;return r}var Fl=/[\s,)\]};:]/,fn=/[0-9]/,Bl=/^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,Ul=/^\/(?!\/)((?:[^[\/\n\\]|\\[^\n]|\[(?:\\[^\n]|[^\]\n\\])*\])*)(\/)?/,Vl=/^\w*/,hs=/^(?!.*(.).*\1)[gimsuy]*$/,Wl=new Set([...tt,"++","--"]);function Hl(e,t="",{tolerant:r=!1}={}){di();let i=new me(e,t),n=[],s=[],a=[],o=[""],l=[],c=0,f=0,h=!0,u=-1,d=!1,S=!1,g=null,p=!1,R=!1,b=!1,_=0,y=0,m=[],k=(v,P,W=P)=>{let{line:s1,col:L}=i.lineColAt(P),U=Error(`${t}:${s1+1}:${L+1}: ${v}`);throw U.reason=v,U.start=P,U.end=W,U},O=(v,P,W=P)=>{try{k(v,P,W)}catch(s1){throw s1.openAtEnd=!0,s1}},A=(v,P,W,s1,L={})=>{if((v==="STRING"||v==="STRING_START")&&(p||R)){let e1=n[n.length-1];if(e1?.kind==="IDENTIFIER"&&e1.value==="from")e1.kind="FROM"}if(v==="IDENTIFIER"&&P==="from"&&n[n.length-1]?.kind==="YIELD")v="FROM";if(v==="RELATION"){let e1=n[n.length-1];if(e1?.kind==="UNARY"&&e1.value==="!")n.pop(),P="!"+P,W=e1.start}let U={id:y++,kind:v,value:P,start:W,end:s1,spaced:d,newLine:S,generated:!1,origin:null,...L};if(n.push(U),!U.generated&&m.length>0){for(let e1 of m)e1.origin=U.id;m.length=0}d=!1,S=!1},x=(v,P)=>{let W={id:y++,kind:v,value:v,start:P,end:P,spaced:!1,newLine:!1,generated:!0,origin:null};m.push(W),n.push(W)},I=()=>n[n.length-1]??null,H=()=>{let v=n.length-1;while(v>=2&&n[v].kind==="."&&n[v-1].kind==="PROPERTY"&&n[v-2].kind===".")v-=2;let P=n[v-1];if(!P||P.kind==="INDENT"||P.kind==="TERMINATOR"||P.kind==="OUTDENT"||P.kind==="RENDER")return!0;return P.kind==="IDENTIFIER"&&Ae.has(String(P.value).split("#")[0])},G=()=>{let v=0,P=0;for(let W=n.length-1;W>=0;W--){let s1=n[W].kind;if(s1==="OUTDENT")v++;else if(s1==="INDENT"){if(v--,v=0;L--){let U=n[L].kind;if(U==="TERMINATOR"||U==="INDENT"||U==="OUTDENT")break;if(U==="COMPONENT")return!0}}}}return!1},K=()=>{if(!l[l.length-1]?.pickKeys)return!1;let P=I()?.kind;return P==="PICK_START"||P==="OPTPICK_START"||P===","||P===":"||P==="TERMINATOR"||P==="INDENT"||P==="OUTDENT"},Z=(v,P)=>{let W=c;while(c=e.length)O("unterminated string",P);let s1=e.slice(W,c);return c+=v.length,s1},V=(v)=>v.replace(/\\[\s\S]|`|\$\{/g,(P)=>P[0]==="\\"?P:`\\${P}`),j=(v)=>{let P=null,W=/\n+([^\S\n]*)(?=\S)/g,s1;while(s1=W.exec(v))if(P===null||s1[1].length>0&&s1[1].length{if(P===null)return v??"";if(v===null)return P;return P.length<=v.length?P:v},t1=(v,P)=>{if(P.length===1)return v;if(v=v.replace(/\r\n?/g,` `),!v.includes(` -`))return v;let H=v.slice(v.lastIndexOf(` -`)+1),s1=/^[^\S\n]*$/.test(H)?H:null,L=q(j(v),s1),U=L?v.split(` +`))return v;let W=v.slice(v.lastIndexOf(` +`)+1),s1=/^[^\S\n]*$/.test(W)?W:null,L=q(j(v),s1),U=L?v.split(` ${L}`).join(` -`):v;return U=U.replace(/^\n/,""),U.replace(/\n[^\S\n]*$/,"")},M=(v)=>{let P=c,H=-1;while(c=e.length)I("unterminated string",v.opener);let s1=e.slice(P,H===-1?c:H);if(H===-1&&!v.started){let L=c+v.delim.length,U=t1(s1,v.delim),e1=v.delim.length===3?`\`${W(U)}\``:`"${U}"`;A("STRING",e1,v.opener,L),c=L;return}if(!v.started)v.started=!0,A("STRING_START","(",v.opener,v.opener+v.delim.length);if(H===-1){v.chunkIdx.push(n.length),A("STRING",`"${s1}"`,P,c);let L=c+v.delim.length;if(A("STRING_END",")",c,L),c=L,v.delim.length===3)N(v);return}v.chunkIdx.push(n.length),A("STRING",`"${s1}"`,P,H),A("INTERPOLATION_START","(",H,H+2),B("interp",H,{ctx:v}),c=H+2},N=(v)=>{let P=n[n.length-1],H=P.start-1,s1=H<0?-1:Math.max(e.lastIndexOf(` -`,H),e.lastIndexOf("\r",H)),L=e.slice(s1+1,P.start),U=/^[^\S\n]*$/.test(L)?L:null,e1=v.chunkIdx.map((b1)=>n[b1].value.slice(1,-1).replace(/\r\n?/g,` -`)),d1=q(j(e1.join("")),U);v.chunkIdx.forEach((b1,m1)=>{let R1=e1[m1];if(d1)R1=R1.split(` -${d1}`).join(` -`);if(m1===0)R1=R1.replace(/^\n/,"");if(m1===v.chunkIdx.length-1)R1=R1.replace(/\n[^\S\n]*$/,"");n[b1].value=`"${R1}"`})},C=(v)=>{let P=c,H="",s1=-1;while(c=e.length)break;H+=e.slice(c,c+2),c+=2;continue}if(L==="#"&&e[c+1]==="{"){s1=c;break}if(v.inClass){if(L===` -`||L==="\r")k("newline inside a heregex character class (a regex literal cannot contain one)",c);if(L==="]")v.inClass=!1;H+=L,c++;continue}if(L==="["){v.inClass=!0,H+=L,c++;continue}if(/\s/.test(L)){while(c{let{out:P,chunkStart:H,interpAt:s1}=C(v);if(s1>=0){if(!v.started)v.started=!0,A("HEREGEX_START","///",v.opener,v.opener+3);A("STRING",`"${P}"`,H,s1),A("INTERPOLATION_START","(",s1,s1+2),B("interp",s1,{ctx:v,heregex:!0}),c=s1+2;return}if(!e.startsWith("///",c))I("missing /// (unclosed heregex)",v.opener);let L=c;c+=3;let U=/^\w*/.exec(e.slice(c))[0];if(!hs.test(U))k(`invalid regular expression flags ${U}`,c);let e1=c+U.length;if(!v.started)A("REGEX",`/${P===""?"(?:)":P}/${U}`,v.opener,e1);else A("STRING",`"${P}"`,H,L),A("HEREGEX_END",U,L,e1);c=e1},D=()=>{for(let v=n.length-1;v>=0;v--)if(!n[v].generated)return n[v].end;return 0},B=(v,P,H={})=>{l.push({kind:v,at:P,depth:o.length,...H})},a1=null,h1={upTo:0,ref:null,level:0,answers:new Map},f1=()=>a1!==null&&o.length>=a1,z=()=>{for(let v=n.length-1;v>=0;v--){let P=n[v].kind;if(P==="TERMINATOR"||P==="INDENT"||P==="OUTDENT")return!1;if(P==="=")return zt(n,v)}return!1},i1=()=>{if(a1!==null&&o.length{let v=n.length;if(n[v-1]?.kind==="=")return zt(n,v-1);let P=(s1)=>n[s1]?.kind==="RESERVED"&&n[s1].value==="interface",H=Yt(n,v-1);if(H<0||n[H]?.kind!=="IDENTIFIER")return!1;if(P(H-1))return Z1(n,H-2);if(n[H-1]?.kind==="EXTENDS"){let s1=Yt(n,H-2);if(s1>=0&&n[s1]?.kind==="IDENTIFIER"&&P(s1-1))return Z1(n,s1-2)}return!1},r1=(v)=>e[v]===` -`||e[v]==="\r",Q=(v)=>{let P=v+1;while(P{let P=v,H=1;while(P{let P=e[v],H=v+1;while(H{let v=l.pop();if(!v)return null;while(n.length&&n[n.length-1].kind==="TERMINATOR")n.pop();let P=D();while(o.length>v.depth)o.pop(),x("OUTDENT",P);return i1(),v},J=(v,P,H="")=>{let s1=D(),L=l.length>0?l[l.length-1].depth:1;while(o.length>1&&o[o.length-1].length>v.length){if(o.length<=L)k(`dedent to ${JSON.stringify(v)} crosses the enclosing bracket's indentation floor ${JSON.stringify(o[o.length-1])}`,P);o.pop(),x("OUTDENT",s1)}if(i1(),o[o.length-1]!==v)k(`inconsistent indentation: ${JSON.stringify(v)} neither extends the enclosing block's ${JSON.stringify(o[o.length-1])} nor matches any open block${H}`,P)};while(c=e.length)break;let e1=e[c]===` +`):v;return U=U.replace(/^\n/,""),U.replace(/\n[^\S\n]*$/,"")},M=(v)=>{let P=c,W=-1;while(c=e.length)O("unterminated string",v.opener);let s1=e.slice(P,W===-1?c:W);if(W===-1&&!v.started){let L=c+v.delim.length,U=t1(s1,v.delim),e1=v.delim.length===3?`\`${V(U)}\``:`"${U}"`;A("STRING",e1,v.opener,L),c=L;return}if(!v.started)v.started=!0,A("STRING_START","(",v.opener,v.opener+v.delim.length);if(W===-1){v.chunkIdx.push(n.length),A("STRING",`"${s1}"`,P,c);let L=c+v.delim.length;if(A("STRING_END",")",c,L),c=L,v.delim.length===3)N(v);return}v.chunkIdx.push(n.length),A("STRING",`"${s1}"`,P,W),A("INTERPOLATION_START","(",W,W+2),B("interp",W,{ctx:v}),c=W+2},N=(v)=>{let P=n[n.length-1],W=P.start-1,s1=W<0?-1:Math.max(e.lastIndexOf(` +`,W),e.lastIndexOf("\r",W)),L=e.slice(s1+1,P.start),U=/^[^\S\n]*$/.test(L)?L:null,e1=v.chunkIdx.map((b1)=>n[b1].value.slice(1,-1).replace(/\r\n?/g,` +`)),m1=q(j(e1.join("")),U);v.chunkIdx.forEach((b1,d1)=>{let R1=e1[d1];if(m1)R1=R1.split(` +${m1}`).join(` +`);if(d1===0)R1=R1.replace(/^\n/,"");if(d1===v.chunkIdx.length-1)R1=R1.replace(/\n[^\S\n]*$/,"");n[b1].value=`"${R1}"`})},C=(v)=>{let P=c,W="",s1=-1;while(c=e.length)break;W+=e.slice(c,c+2),c+=2;continue}if(L==="#"&&e[c+1]==="{"){s1=c;break}if(v.inClass){if(L===` +`||L==="\r")k("newline inside a heregex character class (a regex literal cannot contain one)",c);if(L==="]")v.inClass=!1;W+=L,c++;continue}if(L==="["){v.inClass=!0,W+=L,c++;continue}if(/\s/.test(L)){while(c{let{out:P,chunkStart:W,interpAt:s1}=C(v);if(s1>=0){if(!v.started)v.started=!0,A("HEREGEX_START","///",v.opener,v.opener+3);A("STRING",`"${P}"`,W,s1),A("INTERPOLATION_START","(",s1,s1+2),B("interp",s1,{ctx:v,heregex:!0}),c=s1+2;return}if(!e.startsWith("///",c))O("missing /// (unclosed heregex)",v.opener);let L=c;c+=3;let U=/^\w*/.exec(e.slice(c))[0];if(!hs.test(U))k(`invalid regular expression flags ${U}`,c);let e1=c+U.length;if(!v.started)A("REGEX",`/${P===""?"(?:)":P}/${U}`,v.opener,e1);else A("STRING",`"${P}"`,W,L),A("HEREGEX_END",U,L,e1);c=e1},D=()=>{for(let v=n.length-1;v>=0;v--)if(!n[v].generated)return n[v].end;return 0},B=(v,P,W={})=>{l.push({kind:v,at:P,depth:o.length,...W})},a1=null,h1={upTo:0,ref:null,level:0,answers:new Map},f1=()=>a1!==null&&o.length>=a1,z=()=>{for(let v=n.length-1;v>=0;v--){let P=n[v].kind;if(P==="TERMINATOR"||P==="INDENT"||P==="OUTDENT")return!1;if(P==="=")return zt(n,v)}return!1},i1=()=>{if(a1!==null&&o.length{let v=n.length;if(n[v-1]?.kind==="=")return zt(n,v-1);let P=(s1)=>n[s1]?.kind==="RESERVED"&&n[s1].value==="interface",W=Yt(n,v-1);if(W<0||n[W]?.kind!=="IDENTIFIER")return!1;if(P(W-1))return Z1(n,W-2);if(n[W-1]?.kind==="EXTENDS"){let s1=Yt(n,W-2);if(s1>=0&&n[s1]?.kind==="IDENTIFIER"&&P(s1-1))return Z1(n,s1-2)}return!1},r1=(v)=>e[v]===` +`||e[v]==="\r",Q=(v)=>{let P=v+1;while(P{let P=v,W=1;while(P{let P=e[v],W=v+1;while(W{let v=l.pop();if(!v)return null;while(n.length&&n[n.length-1].kind==="TERMINATOR")n.pop();let P=D();while(o.length>v.depth)o.pop(),x("OUTDENT",P);return i1(),v},J=(v,P,W="")=>{let s1=D(),L=l.length>0?l[l.length-1].depth:1;while(o.length>1&&o[o.length-1].length>v.length){if(o.length<=L)k(`dedent to ${JSON.stringify(v)} crosses the enclosing bracket's indentation floor ${JSON.stringify(o[o.length-1])}`,P);o.pop(),x("OUTDENT",s1)}if(i1(),o[o.length-1]!==v)k(`inconsistent indentation: ${JSON.stringify(v)} neither extends the enclosing block's ${JSON.stringify(o[o.length-1])} nor matches any open block${W}`,P)};while(c=e.length)break;let e1=e[c]===` `?1:e[c]==="\r"&&e[c+1]===` -`?2:0;if(e1){s.push({kind:"blank",start:L,end:c+e1,text:e.slice(L,c+e1)}),c+=e1;continue}let d1=b&&/^#[A-Za-z_]/.test(e.slice(c,c+2))&&U.length>(o[_-1]??"").length;if(e[c]==="#"&&!d1){let p1=c;if(e.startsWith("###",c)&&e[c+3]!=="#"){let y1=e.indexOf("###",c+3);if(y1<0)I("unclosed `###` block comment — close it with `###`",c,c+3);p1=y1+3;let S1=p1;while(e[S1]===" "||e[S1]==="\t")S1++;if(S1(o[_-1]??"").length;if(e[c]==="#"&&!m1){let p1=c;if(e.startsWith("###",c)&&e[c+3]!=="#"){let y1=e.indexOf("###",c+3);if(y1<0)O("unclosed `###` block comment — close it with `###`",c,c+3);p1=y1+3;let S1=p1;while(e[S1]===" "||e[S1]==="\t")S1++;if(S1{if(m1==null||m1.kind!=="."&&m1.kind!=="?.")return!1;if(l.length>0)return!1;if(b)return!1;if(U.length>b1.length)return!1;if(!F1.test(e[c]??""))return!1;let p1=c;while(p1=0&&e[k1+1]!=="."&&!fn.test(e[k1+1]??"")&&!b;if(A1&&!E1&&U.lengthe.startsWith(x1,c)&&!K1.test(e[c+x1.length]??""));if(n.length>0&&u>=0&&!p1&&O()?.kind!=="TERMINATOR"){let x1=e[u]==="\r"?2:1;A("TERMINATOR",e.slice(u,u+x1),u,u+x1,{generated:!0})}}if(b&&o.length<=_)b=!1;if(h=!1,S=!0,g!==null&&l.length<=g)g=null;if(l.length===0)d=!1,R=!1;continue}let v=e[c];if(v===" "||v==="\t"){m=!0,c++;continue}if(v==="\r"&&e[c+1]!==` +`))p1++;let x1=p1{if(d1==null||d1.kind!=="."&&d1.kind!=="?.")return!1;if(l.length>0)return!1;if(b)return!1;if(U.length>b1.length)return!1;if(!F1.test(e[c]??""))return!1;let p1=c;while(p1=0&&e[k1+1]!=="."&&!fn.test(e[k1+1]??"")&&!b;if(A1&&!E1&&U.lengthe.startsWith(x1,c)&&!K1.test(e[c+x1.length]??""));if(n.length>0&&u>=0&&!p1&&I()?.kind!=="TERMINATOR"){let x1=e[u]==="\r"?2:1;A("TERMINATOR",e.slice(u,u+x1),u,u+x1,{generated:!0})}}if(b&&o.length<=_)b=!1;if(h=!1,S=!0,g!==null&&l.length<=g)g=null;if(l.length===0)p=!1,R=!1;continue}let v=e[c];if(v===" "||v==="\t"){d=!0,c++;continue}if(v==="\r"&&e[c+1]!==` `)k("bare carriage return (not followed by a newline) is not supported",c);if(v===` -`||v==="\r"){u=c,h=!0,c+=v==="\r"?2:1;continue}if(v==="#"){if(b&&/[A-Za-z_]/.test(e[c+1]??"")){let U=/^#([A-Za-z_][\w-]*)/.exec(e.slice(c)),e1=O();if(e1&&(e1.kind==="IDENTIFIER"||e1.kind==="PROPERTY")&&!m&&!e1.generated){e1.value+=U[0],e1.end=c+U[0].length,c+=U[0].length;continue}if(e1&&(e1.kind==="TERMINATOR"||e1.kind==="INDENT"||e1.kind==="OUTDENT"||e1.kind==="RENDER")){A("IDENTIFIER",`div${U[0]}`,c,c+U[0].length),c+=U[0].length;continue}}let L=c;while(L{let A1=c;while(e[A1]===" "||e[A1]==="\t")A1++;let k1=e[A1]??"";if(k1==="{"||k1==="*")return!0;if(!F1.test(k1))return!1;let w1=A1+1;while(w1"}[L]??L,d1=e1!==L,b1=1,m1=c+3;while(m10){let w1=e[m1];if(w1==="\\"){m1+=2;continue}if(d1&&w1===L)b1++;if(w1===e1)b1--;if(b1>0)m1++}if(b1!==0)I(`unclosed %w${L} — never closed by '${e1}'`,c,c+3);A("[","[",c,c+3);let R1=/(?:\\\s|\S)+/g;R1.lastIndex=c+3;let E1,A1=!0,k1=c+3;while((E1=R1.exec(e))!==null&&E1.index=m1)break;R1.lastIndex=w1}A("]","]",m1,m1+1),c=m1+1;continue}}let P=e.slice(c,c+4);if(ls[P]){A(ls[P],P,c,c+4),c+=4;continue}let H=e.slice(c,c+3);if(H==="==="||H==="!=="){A("COMPARE",H.slice(0,2),c,c+3),c+=3;continue}if(cs[H]){A(cs[H],H,c,c+3),c+=3;continue}let s1=e.slice(c,c+2);if(s1==="?="&&e[c+2]!=="="){A("COMPOUND_ASSIGN","??=",c,c+2),c+=2;continue}if(s1==="*{"){A("MAP_START","*",c,c+1),c+=1;continue}if(fs[s1]){if(s1==="!="&&!m&&(O()?.kind==="IDENTIFIER"||O()?.kind==="PROPERTY"))k(`cannot use the '!' sigil in an assignment to '${O().value}' (write 'a != b' with a space for comparison)`,c);A(fs[s1],s1,c,c+2),c+=2;continue}if(v==="<"||v===">"){A("COMPARE",v,c,c+1),c++;continue}if(v==="*"||v==="/"||v==="%"){if(v==="*"&&d&&(O()?.kind==="IMPORT"||O()?.kind==="IMPORT_TYPE"||O()?.kind===","))A("IMPORT_ALL",v,c,c+1);else if(v==="*"&&O()?.kind==="EXPORT")A("EXPORT_ALL",v,c,c+1);else A("MATH",v,c,c+1);c++;continue}if(v==="!"||v==="~"){if(v==="!"&&!m&&(O()?.kind==="IDENTIFIER"||O()?.kind==="PROPERTY"||O()?.kind==="DYNAMIC_IMPORT")){A("DAMMIT","!",c,c+1),c++;continue}A("UNARY_MATH",v,c,c+1),c++;continue}if(v==="&"||v==="|"||v==="^"){A(v,v,c,c+1),c++;continue}if(v==="?"){if(!m){if(e[c+1]==="("||e[c+1]==="["){A("?.","?",c,c+1),c++;continue}let L=O();if(e[c+1]==="!"&&L&&!L.generated&&tt.has(L.kind)){A("PRESENCE","?!",c,c+2),c+=2;continue}if(L&&!L.generated&&tt.has(L.kind)){let e1=n[n.length-2]??null,d1=e1===null||e1.kind==="@"||e1.kind==="TERMINATOR"||e1.kind==="INDENT"||e1.kind==="OUTDENT";if((L.kind==="PROPERTY"||L.kind==="IDENTIFIER")&&d1&&/^[^\S\n]*(:=|~=|=!|=(?![=>!])|:(?![:=]))/.test(e.slice(c+1))){A("OPT_MARKER","?",c,c+1),c++;continue}A("?","?",c,c+1),c++;continue}let U=n[n.length-2]??null;if(L&&(L.kind==="-"||L.kind==="+")&&!L.spaced&&(U?.kind==="]"||U?.kind==="INDEX_END")&&e[c+1]===":"){A("?","?",c,c+1),c++;continue}k("unspaced '?' needs a value before it (postfix existence) — write ' ? ' for a ternary",c)}f++,A("TERNARY","?",c,c+1),c++;continue}if(v==="@"){A("@","@",c,c+1),c++;continue}if(v==="("){let L=O();if(L&&!m&&L.kind==="?."){L.kind="ES6_OPTIONAL_CALL",B("call",c),A("CALL_START","(",c,c+1),c++;continue}let U=L&&!m&&!L.generated&&Xt.has(L.kind);B(U?"call":"group",c),A(U?"CALL_START":"(","(",c,c+1),c++;continue}if(v===")"){let L=F();if(L?.kind!=="call"&&L?.kind!=="group")k("unmatched ')'",c);A(L.kind==="call"?"CALL_END":")",")",c,c+1),c++;continue}if(v==="["){let L=O();if(L&&!m&&L.kind==="?."){L.kind="ES6_OPTIONAL_INDEX",B("index",c),A("INDEX_START","[",c,c+1),c++;continue}let U=L&&!m&&!L.generated&&tt.has(L.kind);B(U?"index":"array",c),A(U?"INDEX_START":"[","[",c,c+1),c++;continue}if(v==="]"){let L=F();if(L?.kind!=="index"&&L?.kind!=="array")k("unmatched ']'",c);A(L.kind==="index"?"INDEX_END":"]","]",c,c+1),c++;continue}if(v==="{"){let L=O();if(L!=null&&(L.kind==="."||L.kind==="?.")&&!m&&!L.newLine&&n.length>=2&&tt.has(n[n.length-2].kind)&&n[n.length-2].kind!=="PICK_END")n.pop(),B("object",c,{pick:!0,pickKeys:e[c+1]!==" "&&e[c+1]!=="\t"}),A(L.kind==="?."?"OPTPICK_START":"PICK_START","{",c,c+1);else B("object",c),A("{","{",c,c+1);c++;continue}if(v==="}"){let L=F();if(L?.kind==="interp"){if(A("INTERPOLATION_END",")",c,c+1),c++,L.heregex)w(L.ctx);else M(L.ctx);continue}if(L?.kind!=="object")k("unmatched '}'",c);A(L.pick?"PICK_END":"}","}",c,c+1),c++;continue}if(v===":"&&e[c+1]===":"){if(!f1()&&!z()&&F1.test(e[c+2]??"")){let L=n[n.length-1];if(L?.kind==="?"&&L.end===c)L.kind="?.",L.value="?.",L.end=c+2,A("PROPERTY","prototype",c,c+2),A(".",".",c,c+2);else A(".",".",c,c+2),A("PROPERTY","prototype",c,c+2),A(".",".",c,c+2);c+=2;continue}k("type annotations use a single ':' (e.g. `x: number`), not '::'",c,c+2)}if(v===":"&&F1.test(e[c+1]??"")&&!f1()&&!z()){let L=n[n.length-1];if(!(L!==void 0&&(L.kind==="PROPERTY"||L.kind===")"||L.kind==="]"||L.kind==="}"||L.kind==="CALL_END"||L.kind==="INDEX_END"||L.kind==="PARAM_END"||L.kind==="PICK_END"||L.kind==="STRING"||L.kind==="STRING_END"||L.kind==="NUMBER"||L.kind==="REGEX"||L.kind==="HEREGEX_END"||L.kind==="BOOL"||L.kind==="NULL"||L.kind==="UNDEFINED"||L.kind==="DAMMIT"||L.kind==="?"||L.kind==="PRESENCE"||L.kind==="OPT_MARKER"||L.kind==="THIS"||L.kind==="@"||L.kind==="SYMBOL"||f>0&&L.kind==="IDENTIFIER"))){let e1=jl(e,c+1);A("SYMBOL",e.slice(c+1,e1),c,e1),c=e1;continue}}if(v==="="||v==="+"||v==="-"||v==="."||v===","||v===";"||v===":"){if(v===":"&&f>0)f--;A(v===";"?"TERMINATOR":v,v,c,c+1),c++;continue}if(v==="`"&&(f1()||z())){let L=Q(c);A("TYPE_TEMPLATE",e.slice(c,L),c,L),c=L;continue}k(`cannot tokenize '${v}'`,c)}if(l.length>0){if(!(r&&l.every((H)=>H.kind!=="interp"))){let H=l[0],s1={call:"(",group:"(",index:"[",array:"[",object:"{",interp:"#{"}[H.kind]??H.kind;I(`unclosed '${s1}' — never closed by end of input`,H.at,H.at+s1.length)}let P=e.length;while(P>0&&(e[P-1]===` -`||e[P-1]==="\r"))P--;while(l.length>0){let H=l[l.length-1],s1={call:"(",group:"(",index:"[",array:"[",object:"{"}[H.kind]??H.kind;a.push({message:`unclosed '${s1}' — never closed by end of input`,start:H.at,end:H.at+s1.length,expected:[],got:"end of input"});let L=H.kind==="call"?"CALL_END":H.kind==="group"?")":H.kind==="index"?"INDEX_END":H.kind==="array"?"]":H.pick?"PICK_END":"}";F();let U=n.length;while(U>0&&(n[U-1].kind==="OUTDENT"||n[U-1].kind==="INDENT"||n[U-1].kind==="TERMINATOR"))U--;let e1=n[U-1]?.kind,d1=H.kind==="call"&&e1==="CALL_START"||H.kind==="index"&&e1==="INDEX_START";if(e1===","||d1){let b1={id:y++,kind:"IDENTIFIER",value:"",start:P,end:P,spaced:!1,newLine:!1,generated:!0,origin:null};p.push(b1),n.splice(U,0,b1)}x(L,P)}}let o1=D();while(o.length>1)o.pop(),x("OUTDENT",o1);let n1=()=>y++;Ol(n),Il(n),Cl(n),Ai(n,n1,e,k,r?(v)=>a.push({message:v.reason??String(v.message),start:v.start??0,end:v.end??v.start??0,expected:[],got:""}):null),qt(n,n1,e,k);for(let v of n)if(v.kind==="RESERVED")k(`'${v.value}' is reserved and not supported yet`,v.start);return Gi(n,n1,k),xl(n),Ut(n,n1),hn(n),Vt(n,n1),Wt(n,n1),Dl(n),{tokens:n,trivia:s,source:i,lexDiagnostics:a}}function hn(e){for(let t=0;t"&&o!=="=>"&&o!=="ELSE"&&o!=="TRY"&&o!=="FINALLY"){i=!1;break}}}if(se.has(a))n++;else if(ie.has(a)){if(n--,n<0)break}}if(i)e[t].kind=r==="IF"?"POST_IF":"POST_UNLESS"}return e}function us(e="",{tolerant:t=!1}={}){return{setInput(r){let i=Hl(r,e,{tolerant:t});this.tokens=i.tokens,this.trivia=i.trivia,this.source=i.source,this.lexDiagnostics=i.lexDiagnostics??[],this.index=0,this.text="",this.loc=null,this.token=null},lex(){let r=this.tokens[this.index];if(!r)return null;return this.index++,this.text=r.value,this.loc={start:r.start,end:r.end},this.token=r,r.kind}}}var Gl={symbolIds:{$accept:0,$end:1,error:2,Root:3,Body:4,Line:5,TERMINATOR:6,Expression:7,Statement:8,Return:9,STATEMENT:10,Import:11,Export:12,TypeDecl:13,Enum:14,TYPE_DECL:15,Assignable:16,TYPE:17,OPT_MARKER:18,DEF:19,Identifier:20,OptParams:21,IMPORT:22,String:23,ImportDefaultSpecifier:24,FROM:25,ImportNamespaceSpecifier:26,"{":27,"}":28,ImportSpecifierList:29,OptComma:30,",":31,WITH:32,Object:33,IMPORT_TYPE:34,ImportSpecifier:35,INDENT:36,OUTDENT:37,AS:38,DEFAULT:39,IMPORT_ALL:40,EXPORT:41,ExportSpecifierList:42,Class:43,Def:44,ExportAssign:45,ReactiveAssign:46,ComputedAssign:47,Readonly:48,Effect:49,EXPORT_ALL:50,"=":51,TYPE_PARAMS:52,VOID_MARKER:53,REACTIVE_ASSIGN:54,COMPUTED_ASSIGN:55,Block:56,READONLY_ASSIGN:57,EFFECT:58,ExportSpecifier:59,Value:60,Code:61,Operation:62,Assign:63,Gate:64,If:65,Try:66,For:67,Switch:68,While:69,Throw:70,Schema:71,Component:72,Render:73,Literal:74,Parenthetical:75,Range:76,Invocation:77,DoIife:78,This:79,Super:80,DAMMIT:81,NewValue:82,TEMPLATE_TAG:83,Atom:84,Regex:85,UNDEFINED:86,NULL:87,BOOL:88,NUMBER:89,SYMBOL:90,STRING:91,STRING_START:92,Interpolations:93,STRING_END:94,InterpolationChunk:95,INTERPOLATION_START:96,INTERPOLATION_END:97,REGEX:98,HEREGEX_START:99,HEREGEX_END:100,IDENTIFIER:101,Property:102,PROPERTY:103,SimpleAssignable:104,COMPOUND_ASSIGN:105,METHOD_ASSIGN:106,Array:107,Rhs:108,BlockRhs:109,GATE:110,CALL_START:111,CALL_END:112,ArgList:113,ThisProperty:114,Subjectable:115,".":116,"?.":117,INDEX_START:118,INDEX_END:119,Slice:120,ES6_OPTIONAL_INDEX:121,PICK_START:122,PickList:123,PICK_END:124,OPTPICK_START:125,IMPORT_META:126,NEW_TARGET:127,NEW:128,NewSpine:129,NewCall:130,Arguments:131,PARAM_START:132,ParamList:133,PARAM_END:134,ArrowKind:135,"->":136,"=>":137,DO_IIFE:138,THIS:139,"@":140,"[":141,"]":142,Elisions:143,ArgElisionList:144,OptElisions:145,ArgElision:146,Arg:147,Elision:148,AssignList:149,MAP_START:150,AssignObj:151,ObjAssignable:152,ObjRestValue:153,":":154,SimpleObjAssignable:155,"...":156,ObjSpreadExpr:157,SUPER:158,DYNAMIC_IMPORT:159,PickItem:160,PickKey:161,RangeDots:162,"..":163,Param:164,TypedParamVar:165,ParamVar:166,Splat:167,ClassName:168,CLASS:169,EXTENDS:170,ENUM:171,SCHEMA:172,SCHEMA_BODY:173,COMPONENT:174,ComponentBlock:175,ComponentBody:176,ComponentLine:177,OFFER:178,ACCEPT:179,RENDER:180,ES6_OPTIONAL_CALL:181,"?":182,PRESENCE:183,"(":184,")":185,RETURN:186,WHILE:187,UNTIL:188,WHEN:189,Loop:190,IfBlock:191,IF:192,IfElseTail:193,ELSE:194,UnlessBlock:195,UNLESS:196,POST_IF:197,POST_UNLESS:198,TRY:199,Catch:200,Finalizer:201,FINALLY:202,CATCH:203,THROW:204,SWITCH:205,Cases:206,When:207,LEADING_WHEN:208,SimpleArgs:209,FOR:210,ForVariables:211,FORIN:212,BY:213,FOROF:214,OWN:215,FORAS:216,AWAIT:217,FORASAWAIT:218,ForValue:219,LOOP:220,"--":221,"++":222,CAST:223,TERNARY:224,UNARY:225,DO:226,UNARY_MATH:227,YIELD:228,"-":229,"+":230,"**":231,MATH:232,SHIFT:233,"&":234,"^":235,"|":236,COMPARE:237,MATCH:238,RELATION:239,"&&":240,"||":241,"??":242,THEN:243},tokenNames:{2:"error",6:"newline",10:"break/continue/debugger",15:"type/interface",17:"a type annotation",18:"?",19:"def",22:"import",25:"from",27:"{",28:"}",31:",",32:"with",34:"type",36:"indent",37:"dedent",38:"as",39:"default",40:"*",41:"export",50:"*",51:"=",52:"<…>",53:"!",54:":=",55:"~=",57:"=!",58:"~>",81:"!",83:"$",86:"undefined",87:"null",88:"true/false",89:"a number",90:"a :symbol",91:"a string",92:"a string",94:"the closing quote",96:"#{",97:"}",98:"a regex",99:"///",100:"///",101:"a name",103:"a property name",105:"a compound assignment",106:".=",110:"<~",111:"(",112:")",116:".",117:"?.",118:"[",119:"]",121:"?.[",122:".{",124:"}",125:"?.{",126:"import.meta",127:"new.target",128:"new",132:"(",134:")",136:"->",137:"=>",138:"do",139:"this",140:"@",141:"[",142:"]",150:"*{",154:":",156:"...",158:"super",159:"import(",163:"..",169:"class",170:"extends",171:"enum",172:"schema",173:"a schema body",174:"component",178:"offer",179:"accept",180:"render",181:"?.(",182:"?",183:"?!",184:"(",185:")",186:"return",187:"while",188:"until",189:"when",192:"if",194:"else",196:"unless",197:"if",198:"unless",199:"try",202:"finally",203:"catch",204:"throw",205:"switch",208:"when",210:"for",212:"in",213:"by",214:"of",215:"own",216:"as",217:"await",218:"as!",220:"loop",221:"--",222:"++",223:"as",224:"?",225:"not/typeof/delete",226:"do",227:"!/~",228:"yield",229:"-",230:"+",231:"**",232:"a math operator",233:"a shift operator",234:"&",235:"^",236:"|",237:"a comparison",238:"=~",239:"in/of/instanceof",240:"&&",241:"||",242:"??",243:"then"},semantics:{"1":{kind:"program",roles:[]},"2":{kind:"program",roles:[{name:"body",grammarRef:1,childSlot:1,spread:!0}]},"14":{kind:"typedecl",roles:[{name:"declaration",grammarRef:1,childSlot:1,spread:!1}]},"15":{kind:"typedvar",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"annotation",grammarRef:2,childSlot:2,spread:!1}]},"16":{kind:"typedvar",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"annotation",grammarRef:3,childSlot:2,spread:!1},{name:"optionalMarker",grammarRef:2,childSlot:null,spread:!1}]},"17":{kind:"defsig",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"params",grammarRef:3,childSlot:2,spread:!1},{name:"returnType",grammarRef:4,childSlot:3,spread:!1}]},"18":{kind:"import",roles:[{name:"source",grammarRef:2,childSlot:1,spread:!1}]},"19":{kind:"import",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1},{name:"source",grammarRef:4,childSlot:2,spread:!1}]},"20":{kind:"import",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1},{name:"source",grammarRef:4,childSlot:2,spread:!1}]},"21":{kind:"import",roles:[{name:"spec",grammarRef:null,childSlot:1,literal:"{}"},{name:"source",grammarRef:5,childSlot:2,spread:!1}]},"22":{kind:"import",roles:[{name:"spec",grammarRef:3,childSlot:1,spread:!1},{name:"source",grammarRef:7,childSlot:2,spread:!1}]},"23":{kind:"import",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1},{name:"extra",grammarRef:4,childSlot:2,spread:!1},{name:"source",grammarRef:6,childSlot:3,spread:!1}]},"24":{kind:"import",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1},{name:"extra",grammarRef:5,childSlot:2,spread:!1},{name:"source",grammarRef:9,childSlot:3,spread:!1}]},"25":{kind:"import",roles:[{name:"source",grammarRef:2,childSlot:2,spread:!1}],nested:[{role:"attributes",path:[1],kind:"withattrs",roles:[{name:"keyword",grammarRef:3,childSlot:0,spread:!1},{name:"value",grammarRef:4,childSlot:1,spread:!1}],nested:[]}]},"26":{kind:"import",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1},{name:"source",grammarRef:4,childSlot:3,spread:!1}],nested:[{role:"attributes",path:[2],kind:"withattrs",roles:[{name:"keyword",grammarRef:5,childSlot:0,spread:!1},{name:"value",grammarRef:6,childSlot:1,spread:!1}],nested:[]}]},"27":{kind:"import",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1},{name:"source",grammarRef:4,childSlot:3,spread:!1}],nested:[{role:"attributes",path:[2],kind:"withattrs",roles:[{name:"keyword",grammarRef:5,childSlot:0,spread:!1},{name:"value",grammarRef:6,childSlot:1,spread:!1}],nested:[]}]},"28":{kind:"import",roles:[{name:"spec",grammarRef:3,childSlot:1,spread:!1},{name:"source",grammarRef:7,childSlot:3,spread:!1}],nested:[{role:"attributes",path:[2],kind:"withattrs",roles:[{name:"keyword",grammarRef:8,childSlot:0,spread:!1},{name:"value",grammarRef:9,childSlot:1,spread:!1}],nested:[]}]},"29":{kind:"import",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1},{name:"extra",grammarRef:4,childSlot:2,spread:!1},{name:"source",grammarRef:6,childSlot:4,spread:!1}],nested:[{role:"attributes",path:[3],kind:"withattrs",roles:[{name:"keyword",grammarRef:7,childSlot:0,spread:!1},{name:"value",grammarRef:8,childSlot:1,spread:!1}],nested:[]}]},"30":{kind:"import",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1},{name:"extra",grammarRef:5,childSlot:2,spread:!1},{name:"source",grammarRef:9,childSlot:4,spread:!1}],nested:[{role:"attributes",path:[3],kind:"withattrs",roles:[{name:"keyword",grammarRef:10,childSlot:0,spread:!1},{name:"value",grammarRef:11,childSlot:1,spread:!1}],nested:[]}]},"31":{kind:"import",roles:[{name:"spec",grammarRef:3,childSlot:1,spread:!1},{name:"source",grammarRef:5,childSlot:2,spread:!1},{name:"typeOnly",grammarRef:2,childSlot:null,spread:!1}]},"32":{kind:"import",roles:[{name:"spec",grammarRef:3,childSlot:1,spread:!1},{name:"source",grammarRef:5,childSlot:2,spread:!1},{name:"typeOnly",grammarRef:2,childSlot:null,spread:!1}]},"33":{kind:"import",roles:[{name:"spec",grammarRef:null,childSlot:1,literal:"{}"},{name:"source",grammarRef:6,childSlot:2,spread:!1},{name:"typeOnly",grammarRef:2,childSlot:null,spread:!1}]},"34":{kind:"import",roles:[{name:"spec",grammarRef:4,childSlot:1,spread:!1},{name:"source",grammarRef:8,childSlot:2,spread:!1},{name:"typeOnly",grammarRef:2,childSlot:null,spread:!1}]},"41":{kind:"as",roles:[{name:"name",grammarRef:1,childSlot:0,spread:!1},{name:"alias",grammarRef:3,childSlot:1,spread:!1}]},"43":{kind:"as",roles:[{name:"name",grammarRef:1,childSlot:0,spread:!1},{name:"alias",grammarRef:3,childSlot:1,spread:!1}]},"45":{kind:"as",roles:[{name:"name",grammarRef:null,childSlot:0,literal:"*"},{name:"alias",grammarRef:3,childSlot:1,spread:!1}]},"46":{kind:"export",roles:[{name:"spec",grammarRef:null,childSlot:1,literal:"{}"}]},"47":{kind:"export",roles:[{name:"spec",grammarRef:3,childSlot:1,spread:!1}]},"48":{kind:"export",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1}]},"49":{kind:"export",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1}]},"50":{kind:"export",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1}]},"51":{kind:"export",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1}]},"52":{kind:"export",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1}]},"53":{kind:"export",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1}]},"54":{kind:"export",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1}]},"55":{kind:"export",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1}]},"56":{kind:"export",roles:[{name:"spec",grammarRef:3,childSlot:1,spread:!1}]},"57":{kind:"export",roles:[{name:"spec",grammarRef:4,childSlot:1,spread:!1}]},"58":{kind:"export",roles:[{name:"source",grammarRef:4,childSlot:1,spread:!1}]},"59":{kind:"export",roles:[{name:"source",grammarRef:6,childSlot:1,spread:!1},{name:"alias",grammarRef:4,childSlot:2,spread:!1}]},"60":{kind:"export",roles:[{name:"source",grammarRef:6,childSlot:1,spread:!1},{name:"alias",grammarRef:4,childSlot:2,spread:!1}]},"61":{kind:"export",roles:[{name:"spec",grammarRef:null,childSlot:1,literal:"{}"},{name:"source",grammarRef:5,childSlot:2,spread:!1}]},"62":{kind:"export",roles:[{name:"spec",grammarRef:3,childSlot:1,spread:!1},{name:"source",grammarRef:7,childSlot:2,spread:!1}]},"63":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:3,childSlot:2,spread:!1}]},"64":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1}]},"65":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1}]},"66":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1}]},"67":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1}]},"68":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1}]},"69":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"typeParams",grammarRef:2,childSlot:null,spread:!1}]},"70":{kind:"assign",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"voidMarker",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"71":{kind:"assign",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"voidMarker",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"72":{kind:"assign",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"voidMarker",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"73":{kind:"state",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"74":{kind:"state",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"75":{kind:"state",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"76":{kind:"computed",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"77":{kind:"computed",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"78":{kind:"computed",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"79":{kind:"readonly",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"80":{kind:"readonly",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"81":{kind:"readonly",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"82":{kind:"effect",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"83":{kind:"effect",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"84":{kind:"effect",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"91":{kind:"as",roles:[{name:"name",grammarRef:1,childSlot:0,spread:!1},{name:"alias",grammarRef:3,childSlot:1,spread:!1}]},"92":{kind:"as",roles:[{name:"name",grammarRef:1,childSlot:0,spread:!1},{name:"alias",grammarRef:3,childSlot:1,spread:!1}]},"94":{kind:"as",roles:[{name:"name",grammarRef:1,childSlot:0,spread:!1},{name:"alias",grammarRef:3,childSlot:1,spread:!1}]},"123":{kind:"dammit",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"operator",grammarRef:2,childSlot:null,spread:!1}]},"125":{kind:"tagged",roles:[{name:"tag",grammarRef:1,childSlot:1,spread:!1},{name:"str",grammarRef:3,childSlot:2,spread:!1}]},"133":{kind:"symbol",roles:[{name:"name",grammarRef:1,childSlot:1,spread:!1}]},"135":{kind:"str",roles:[{name:"parts",grammarRef:2,childSlot:1,spread:!0}]},"143":{kind:"heregex",roles:[{name:"flags",grammarRef:3,childSlot:1,spread:!1},{name:"parts",grammarRef:2,childSlot:2,spread:!0}]},"146":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:3,childSlot:2,spread:!1}]},"147":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1}]},"148":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1}]},"149":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1}]},"150":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1}]},"151":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1}]},"152":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"optionalMarker",grammarRef:2,childSlot:null,spread:!1}]},"153":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"optionalMarker",grammarRef:2,childSlot:null,spread:!1}]},"154":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"optionalMarker",grammarRef:2,childSlot:null,spread:!1}]},"155":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"optionalMarker",grammarRef:2,childSlot:null,spread:!1},{name:"annotation",grammarRef:3,childSlot:null,spread:!1}]},"156":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:6,childSlot:2,spread:!1},{name:"optionalMarker",grammarRef:2,childSlot:null,spread:!1},{name:"annotation",grammarRef:3,childSlot:null,spread:!1}]},"157":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:6,childSlot:2,spread:!1},{name:"optionalMarker",grammarRef:2,childSlot:null,spread:!1},{name:"annotation",grammarRef:3,childSlot:null,spread:!1}]},"158":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:3,childSlot:2,spread:!1}]},"159":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1}]},"160":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"typeParams",grammarRef:2,childSlot:null,spread:!1}]},"161":{kind:"assign",roles:[{name:"operator",grammarRef:2,childSlot:0,spread:!1},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:3,childSlot:2,spread:!1}]},"162":{kind:"assign",roles:[{name:"operator",grammarRef:2,childSlot:0,spread:!1},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1}]},"163":{kind:"assign",roles:[{name:"operator",grammarRef:2,childSlot:0,spread:!1},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1}]},"164":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:".="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:3,childSlot:2,spread:!1}]},"165":{kind:"assign",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"voidMarker",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"166":{kind:"assign",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"voidMarker",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"167":{kind:"assign",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"voidMarker",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"177":{kind:"state",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:3,childSlot:2,spread:!1},{name:"operator",grammarRef:2,childSlot:null,spread:!1}]},"178":{kind:"state",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"179":{kind:"state",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"optionalMarker",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"180":{kind:"state",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"optionalMarker",grammarRef:2,childSlot:null,spread:!1},{name:"annotation",grammarRef:3,childSlot:null,spread:!1},{name:"operator",grammarRef:4,childSlot:null,spread:!1}]},"181":{kind:"computed",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:3,childSlot:2,spread:!1},{name:"operator",grammarRef:2,childSlot:null,spread:!1}]},"182":{kind:"computed",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"183":{kind:"computed",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"optionalMarker",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"184":{kind:"computed",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"optionalMarker",grammarRef:2,childSlot:null,spread:!1},{name:"annotation",grammarRef:3,childSlot:null,spread:!1},{name:"operator",grammarRef:4,childSlot:null,spread:!1}]},"185":{kind:"gate",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"rhs",grammarRef:3,childSlot:2,spread:!1},{name:"operator",grammarRef:2,childSlot:null,spread:!1}]},"186":{kind:"gate",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"rhs",grammarRef:4,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"187":{kind:"gate",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"rhs",grammarRef:3,childSlot:2,spread:!1},{name:"operator",grammarRef:2,childSlot:null,spread:!1}]},"188":{kind:"gate",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"rhs",grammarRef:4,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"189":{kind:"gate",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"rhs",grammarRef:3,childSlot:2,spread:!1},{name:"key",grammarRef:5,childSlot:3,spread:!0},{name:"operator",grammarRef:2,childSlot:null,spread:!1}]},"190":{kind:"gate",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"rhs",grammarRef:4,childSlot:2,spread:!1},{name:"key",grammarRef:6,childSlot:3,spread:!0},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"191":{kind:"readonly",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:3,childSlot:2,spread:!1},{name:"operator",grammarRef:2,childSlot:null,spread:!1}]},"192":{kind:"readonly",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"193":{kind:"readonly",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"optionalMarker",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"194":{kind:"readonly",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"optionalMarker",grammarRef:2,childSlot:null,spread:!1},{name:"annotation",grammarRef:3,childSlot:null,spread:!1},{name:"operator",grammarRef:4,childSlot:null,spread:!1}]},"195":{kind:"effect",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:3,childSlot:2,spread:!1},{name:"operator",grammarRef:2,childSlot:null,spread:!1}]},"196":{kind:"effect",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"197":{kind:"effect",roles:[{name:"target",grammarRef:null,childSlot:1,literal:null},{name:"value",grammarRef:2,childSlot:2,spread:!1},{name:"operator",grammarRef:1,childSlot:null,spread:!1}]},"200":{kind:"member",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"."},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"property",grammarRef:3,childSlot:2,spread:!1}]},"201":{kind:"member",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"?."},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"property",grammarRef:3,childSlot:2,spread:!1}]},"202":{kind:"index",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"[]"},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"key",grammarRef:3,childSlot:2,spread:!1}]},"203":{kind:"index",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"[]"},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"key",grammarRef:4,childSlot:2,spread:!1}]},"204":{kind:"regexindex",roles:[{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"key",grammarRef:3,childSlot:2,spread:!1},{name:"capture",grammarRef:5,childSlot:3,spread:!1}]},"205":{kind:"index",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"[]"},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"key",grammarRef:3,childSlot:2,spread:!1}]},"206":{kind:"index",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"[]"},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"key",grammarRef:4,childSlot:2,spread:!1}]},"207":{kind:"optindex",roles:[{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"key",grammarRef:4,childSlot:2,spread:!1}]},"208":{kind:"optindex",roles:[{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"key",grammarRef:5,childSlot:2,spread:!1}]},"209":{kind:"pick",roles:[{name:"source",grammarRef:1,childSlot:1,spread:!1},{name:"items",grammarRef:3,childSlot:2,spread:!0}]},"210":{kind:"pick",roles:[{name:"source",grammarRef:1,childSlot:1,spread:!1},{name:"items",grammarRef:3,childSlot:2,spread:!0}]},"211":{kind:"pick",roles:[{name:"source",grammarRef:1,childSlot:1,spread:!1},{name:"items",grammarRef:4,childSlot:2,spread:!0}]},"212":{kind:"pick",roles:[{name:"source",grammarRef:1,childSlot:1,spread:!1},{name:"items",grammarRef:4,childSlot:2,spread:!0}]},"213":{kind:"member",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"."},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"property",grammarRef:3,childSlot:2,spread:!1}]},"214":{kind:"member",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"."},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"property",grammarRef:3,childSlot:2,spread:!1}]},"215":{kind:"unary",roles:[{name:"operator",grammarRef:1,childSlot:0,spread:!1},{name:"operand",grammarRef:2,childSlot:1,spread:!1}]},"216":{kind:"unary",roles:[{name:"operator",grammarRef:1,childSlot:0,spread:!1},{name:"operand",grammarRef:2,childSlot:1,spread:!1}]},"217":{kind:"unary",roles:[{name:"operator",grammarRef:1,childSlot:0,spread:!1},{name:"operand",grammarRef:2,childSlot:1,spread:!1}]},"218":{kind:"await",roles:[{name:"operator",grammarRef:3,childSlot:null,spread:!1}],nested:[{role:"value",path:[1],kind:"unary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"new"},{name:"operand",grammarRef:2,childSlot:1,spread:!1}],nested:[]}]},"219":{kind:"await",roles:[{name:"operator",grammarRef:3,childSlot:null,spread:!1}],nested:[{role:"value",path:[1],kind:"unary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"new"}],nested:[{role:"operand",path:[1],kind:"call",roles:[{name:"callee",grammarRef:2,childSlot:0,spread:!1},{name:"args",grammarRef:4,childSlot:1,spread:!0}],nested:[]}]}]},"220":{kind:"call",roles:[{name:"callee",grammarRef:1,childSlot:0,spread:!1},{name:"args",grammarRef:2,childSlot:1,spread:!0}]},"226":{kind:"member",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"."},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"property",grammarRef:3,childSlot:2,spread:!1}]},"227":{kind:"member",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"?."},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"property",grammarRef:3,childSlot:2,spread:!1}]},"228":{kind:"index",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"[]"},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"key",grammarRef:3,childSlot:2,spread:!1}]},"229":{kind:"tagged",roles:[{name:"tag",grammarRef:1,childSlot:1,spread:!1},{name:"str",grammarRef:3,childSlot:2,spread:!1}]},"232":{kind:"func",roles:[{name:"kind",grammarRef:4,childSlot:0,spread:!1},{name:"params",grammarRef:2,childSlot:1,spread:!1},{name:"body",grammarRef:5,childSlot:2,spread:!1}]},"233":{kind:"func",roles:[{name:"kind",grammarRef:5,childSlot:0,spread:!1},{name:"params",grammarRef:2,childSlot:1,spread:!1},{name:"body",grammarRef:6,childSlot:2,spread:!1},{name:"returnType",grammarRef:4,childSlot:null,spread:!1}]},"234":{kind:"func",roles:[{name:"kind",grammarRef:1,childSlot:0,spread:!1},{name:"body",grammarRef:2,childSlot:2,spread:!1}]},"237":{kind:"doiife",roles:[{name:"func",grammarRef:2,childSlot:1,spread:!1}]},"240":{kind:"member",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"."},{name:"property",grammarRef:2,childSlot:2,spread:!1}]},"241":{kind:"member",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"."},{name:"property",grammarRef:2,childSlot:2,spread:!1}]},"242":{kind:"array",roles:[]},"243":{kind:"array",roles:[{name:"elisions",grammarRef:2,childSlot:1,spread:!0}]},"244":{kind:"array",roles:[{name:"items",grammarRef:2,childSlot:1,spread:!0},{name:"elisions",grammarRef:3,childSlot:null,spread:!0}]},"258":{kind:"object",roles:[{name:"pairs",grammarRef:2,childSlot:1,spread:!0}]},"259":{kind:"map",roles:[{name:"pairs",grammarRef:3,childSlot:1,spread:!0}]},"265":{kind:"pair",roles:[{name:"key",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:1,childSlot:2,spread:!1}]},"267":{kind:"pair",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:":"},{name:"key",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:3,childSlot:2,spread:!1}]},"268":{kind:"pair",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:":"},{name:"key",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1}]},"269":{kind:"pair",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:":"},{name:"key",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:3,childSlot:2,spread:!1}]},"270":{kind:"pair",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"key",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:3,childSlot:2,spread:!1}]},"271":{kind:"pair",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"key",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1}]},"272":{kind:"pair",roles:[{name:"key",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"voidMarker",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"273":{kind:"pair",roles:[{name:"key",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"voidMarker",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"274":{kind:"splat",roles:[{name:"value",grammarRef:2,childSlot:1,spread:!1}]},"275":{kind:"splat",roles:[{name:"value",grammarRef:2,childSlot:1,spread:!1}]},"281":{kind:"super",roles:[{name:"args",grammarRef:2,childSlot:1,spread:!0}]},"282":{kind:"dynimport",roles:[{name:"keyword",grammarRef:1,childSlot:0,spread:!1},{name:"args",grammarRef:2,childSlot:1,spread:!0}]},"283":{kind:"call",roles:[{name:"callee",grammarRef:1,childSlot:0,spread:!1},{name:"args",grammarRef:2,childSlot:1,spread:!0}]},"284":{kind:"call",roles:[{name:"callee",grammarRef:1,childSlot:0,spread:!1},{name:"args",grammarRef:2,childSlot:1,spread:!0}]},"285":{kind:"member",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"."},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"property",grammarRef:3,childSlot:2,spread:!1}]},"286":{kind:"member",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"?."},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"property",grammarRef:3,childSlot:2,spread:!1}]},"287":{kind:"index",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"[]"},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"key",grammarRef:3,childSlot:2,spread:!1}]},"288":{kind:"index",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"[]"},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"key",grammarRef:4,childSlot:2,spread:!1}]},"289":{kind:"dammit",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"operator",grammarRef:2,childSlot:null,spread:!1}]},"290":{kind:"pick",roles:[{name:"source",grammarRef:1,childSlot:1,spread:!1},{name:"items",grammarRef:3,childSlot:2,spread:!0}]},"291":{kind:"pick",roles:[{name:"source",grammarRef:1,childSlot:1,spread:!1},{name:"items",grammarRef:3,childSlot:2,spread:!0}]},"292":{kind:"pick",roles:[{name:"source",grammarRef:1,childSlot:1,spread:!1},{name:"items",grammarRef:4,childSlot:2,spread:!0}]},"293":{kind:"pick",roles:[{name:"source",grammarRef:1,childSlot:1,spread:!1},{name:"items",grammarRef:4,childSlot:2,spread:!0}]},"298":{kind:"pickitem",roles:[{name:"key",grammarRef:1,childSlot:0,spread:!1},{name:"target",grammarRef:1,childSlot:1,spread:!1}]},"299":{kind:"pickitem",roles:[{name:"key",grammarRef:1,childSlot:0,spread:!1},{name:"target",grammarRef:3,childSlot:1,spread:!1}]},"300":{kind:"pickitem",roles:[{name:"key",grammarRef:1,childSlot:0,spread:!1},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"default",grammarRef:3,childSlot:2,spread:!1}]},"301":{kind:"pickitem",roles:[{name:"key",grammarRef:1,childSlot:0,spread:!1},{name:"target",grammarRef:3,childSlot:1,spread:!1},{name:"default",grammarRef:5,childSlot:2,spread:!1}]},"309":{kind:"dynamicKey",roles:[{name:"key",grammarRef:2,childSlot:1,spread:!1}]},"310":{kind:"index",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"[]"},{name:"object",grammarRef:null,childSlot:1,literal:"this"},{name:"key",grammarRef:3,childSlot:2,spread:!1}]},"313":{kind:"range",roles:[{name:"operator",grammarRef:3,childSlot:0,spread:!1},{name:"from",grammarRef:2,childSlot:1,spread:!1},{name:"to",grammarRef:4,childSlot:2,spread:!1}]},"314":{kind:"range",roles:[{name:"operator",grammarRef:2,childSlot:0,spread:!1},{name:"from",grammarRef:1,childSlot:1,spread:!1},{name:"to",grammarRef:3,childSlot:2,spread:!1}]},"315":{kind:"range",roles:[{name:"operator",grammarRef:2,childSlot:0,spread:!1},{name:"from",grammarRef:1,childSlot:1,spread:!1},{name:"to",grammarRef:null,childSlot:2,literal:null}]},"316":{kind:"range",roles:[{name:"operator",grammarRef:1,childSlot:0,spread:!1},{name:"from",grammarRef:null,childSlot:1,literal:null},{name:"to",grammarRef:2,childSlot:2,spread:!1}]},"317":{kind:"range",roles:[{name:"operator",grammarRef:1,childSlot:0,spread:!1},{name:"from",grammarRef:null,childSlot:1,literal:null},{name:"to",grammarRef:null,childSlot:2,literal:null}]},"318":{kind:"def",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"params",grammarRef:3,childSlot:2,spread:!1},{name:"body",grammarRef:4,childSlot:3,spread:!1}]},"319":{kind:"def",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"params",grammarRef:3,childSlot:2,spread:!1},{name:"body",grammarRef:5,childSlot:3,spread:!1},{name:"returnType",grammarRef:4,childSlot:null,spread:!1}]},"320":{kind:"def",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"params",grammarRef:4,childSlot:2,spread:!1},{name:"body",grammarRef:5,childSlot:3,spread:!1},{name:"typeParams",grammarRef:3,childSlot:null,spread:!1}]},"321":{kind:"def",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"params",grammarRef:4,childSlot:2,spread:!1},{name:"body",grammarRef:6,childSlot:3,spread:!1},{name:"typeParams",grammarRef:3,childSlot:null,spread:!1},{name:"returnType",grammarRef:5,childSlot:null,spread:!1}]},"322":{kind:"def",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"params",grammarRef:4,childSlot:2,spread:!1},{name:"body",grammarRef:5,childSlot:3,spread:!1},{name:"voidMarker",grammarRef:3,childSlot:null,spread:!1}]},"323":{kind:"def",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"params",grammarRef:4,childSlot:2,spread:!1},{name:"body",grammarRef:6,childSlot:3,spread:!1},{name:"voidMarker",grammarRef:3,childSlot:null,spread:!1},{name:"returnType",grammarRef:5,childSlot:null,spread:!1}]},"324":{kind:"def",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"params",grammarRef:3,childSlot:2,spread:!1},{name:"body",grammarRef:4,childSlot:3,spread:!1}]},"325":{kind:"def",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"params",grammarRef:3,childSlot:2,spread:!1},{name:"body",grammarRef:5,childSlot:3,spread:!1},{name:"returnType",grammarRef:4,childSlot:null,spread:!1}]},"326":{kind:"def",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"params",grammarRef:4,childSlot:2,spread:!1},{name:"body",grammarRef:5,childSlot:3,spread:!1},{name:"typeParams",grammarRef:3,childSlot:null,spread:!1}]},"327":{kind:"def",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"params",grammarRef:4,childSlot:2,spread:!1},{name:"body",grammarRef:6,childSlot:3,spread:!1},{name:"typeParams",grammarRef:3,childSlot:null,spread:!1},{name:"returnType",grammarRef:5,childSlot:null,spread:!1}]},"328":{kind:"def",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"params",grammarRef:4,childSlot:2,spread:!1},{name:"body",grammarRef:5,childSlot:3,spread:!1},{name:"voidMarker",grammarRef:3,childSlot:null,spread:!1}]},"329":{kind:"def",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"params",grammarRef:4,childSlot:2,spread:!1},{name:"body",grammarRef:6,childSlot:3,spread:!1},{name:"voidMarker",grammarRef:3,childSlot:null,spread:!1},{name:"returnType",grammarRef:5,childSlot:null,spread:!1}]},"338":{kind:"default",roles:[{name:"name",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:3,childSlot:2,spread:!1}]},"339":{kind:"rest",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1}]},"340":{kind:"expansion",roles:[]},"342":{kind:"typedvar",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"annotation",grammarRef:2,childSlot:2,spread:!1}]},"343":{kind:"typedvar",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"annotation",grammarRef:3,childSlot:2,spread:!1},{name:"optionalMarker",grammarRef:2,childSlot:null,spread:!1}]},"344":{kind:"typedvar",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"annotation",grammarRef:null,childSlot:2,literal:""},{name:"optionalMarker",grammarRef:2,childSlot:null,spread:!1}]},"349":{kind:"splat",roles:[{name:"value",grammarRef:2,childSlot:1,spread:!1}]},"351":{kind:"class",roles:[{name:"name",grammarRef:null,childSlot:1,literal:null},{name:"parent",grammarRef:null,childSlot:2,literal:null}]},"352":{kind:"class",roles:[{name:"name",grammarRef:null,childSlot:1,literal:null},{name:"parent",grammarRef:null,childSlot:2,literal:null},{name:"body",grammarRef:2,childSlot:3,spread:!1}]},"353":{kind:"class",roles:[{name:"name",grammarRef:null,childSlot:1,literal:null},{name:"parent",grammarRef:3,childSlot:2,spread:!1}]},"354":{kind:"class",roles:[{name:"name",grammarRef:null,childSlot:1,literal:null},{name:"parent",grammarRef:3,childSlot:2,spread:!1},{name:"body",grammarRef:4,childSlot:3,spread:!1}]},"355":{kind:"class",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"parent",grammarRef:null,childSlot:2,literal:null}]},"356":{kind:"class",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"parent",grammarRef:null,childSlot:2,literal:null},{name:"body",grammarRef:3,childSlot:3,spread:!1}]},"357":{kind:"class",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"parent",grammarRef:4,childSlot:2,spread:!1}]},"358":{kind:"class",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"parent",grammarRef:4,childSlot:2,spread:!1},{name:"body",grammarRef:5,childSlot:3,spread:!1}]},"359":{kind:"class",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"parent",grammarRef:null,childSlot:2,literal:null},{name:"body",grammarRef:3,childSlot:3,spread:!1}]},"360":{kind:"class",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"parent",grammarRef:4,childSlot:2,spread:!1},{name:"body",grammarRef:5,childSlot:3,spread:!1}]},"361":{kind:"enum",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"body",grammarRef:3,childSlot:2,spread:!1}]},"362":{kind:"schema",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1}]},"363":{kind:"component",roles:[{name:"parent",grammarRef:null,childSlot:1,literal:null},{name:"body",grammarRef:2,childSlot:2,spread:!1}]},"364":{kind:"component",roles:[{name:"parent",grammarRef:3,childSlot:1,spread:!1},{name:"body",grammarRef:4,childSlot:2,spread:!1}]},"365":{kind:"block",roles:[{name:"statements",grammarRef:2,childSlot:1,spread:!0}]},"371":{kind:"offer",roles:[{name:"value",grammarRef:2,childSlot:1,spread:!1}]},"372":{kind:"accept",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1}]},"373":{kind:"render",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1}]},"374":{kind:"render",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1}]},"375":{kind:"member",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"."},{name:"object",grammarRef:null,childSlot:1,literal:"super"},{name:"property",grammarRef:3,childSlot:2,spread:!1}]},"376":{kind:"index",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"[]"},{name:"object",grammarRef:null,childSlot:1,literal:"super"},{name:"key",grammarRef:3,childSlot:2,spread:!1}]},"377":{kind:"index",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"[]"},{name:"object",grammarRef:null,childSlot:1,literal:"super"},{name:"key",grammarRef:4,childSlot:2,spread:!1}]},"378":{kind:"call",roles:[{name:"callee",grammarRef:1,childSlot:0,spread:!1},{name:"args",grammarRef:2,childSlot:1,spread:!0}]},"379":{kind:"super",roles:[{name:"args",grammarRef:2,childSlot:1,spread:!0}]},"380":{kind:"optcall",roles:[{name:"callee",grammarRef:1,childSlot:1,spread:!1},{name:"args",grammarRef:3,childSlot:2,spread:!0}]},"381":{kind:"optcall",roles:[{name:"callee",grammarRef:1,childSlot:1,spread:!1},{name:"args",grammarRef:3,childSlot:2,spread:!0}]},"382":{kind:"maybe-dammit",roles:[{name:"callee",grammarRef:1,childSlot:1,spread:!1},{name:"args",grammarRef:3,childSlot:2,spread:!0},{name:"operator",grammarRef:2,childSlot:null,spread:!1}]},"383":{kind:"dynimport",roles:[{name:"keyword",grammarRef:1,childSlot:0,spread:!1},{name:"args",grammarRef:2,childSlot:1,spread:!0}]},"384":{kind:"await",roles:[{name:"operator",grammarRef:2,childSlot:null,spread:!1}],nested:[{role:"value",path:[1],kind:"dynimport",roles:[{name:"keyword",grammarRef:null,childSlot:0,literal:"import"},{name:"args",grammarRef:3,childSlot:1,spread:!0}],nested:[]}]},"396":{kind:"block",roles:[]},"397":{kind:"block",roles:[{name:"statements",grammarRef:2,childSlot:1,spread:!0}]},"400":{kind:"return",roles:[{name:"value",grammarRef:2,childSlot:1,spread:!1}]},"401":{kind:"return",roles:[{name:"value",grammarRef:3,childSlot:1,spread:!1}]},"402":{kind:"return",roles:[]},"403":{kind:"while",roles:[{name:"condition",grammarRef:2,childSlot:1,spread:!1},{name:"body",grammarRef:3,childSlot:2,spread:!1}]},"404":{kind:"while",roles:[{name:"body",grammarRef:3,childSlot:2,spread:!1}],nested:[{role:"condition",path:[1],kind:"unary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"!"},{name:"operand",grammarRef:2,childSlot:1,spread:!1}],nested:[]}]},"405":{kind:"while",roles:[{name:"condition",grammarRef:2,childSlot:1,spread:!1},{name:"guard",grammarRef:4,childSlot:2,spread:!1},{name:"body",grammarRef:5,childSlot:3,spread:!1}]},"406":{kind:"while",roles:[{name:"guard",grammarRef:4,childSlot:2,spread:!1},{name:"body",grammarRef:5,childSlot:3,spread:!1}],nested:[{role:"condition",path:[1],kind:"unary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"!"},{name:"operand",grammarRef:2,childSlot:1,spread:!1}],nested:[]}]},"407":{kind:"while",roles:[{name:"condition",grammarRef:3,childSlot:1,spread:!1},{name:"body",grammarRef:1,childSlot:null,spread:!1}]},"408":{kind:"while",roles:[{name:"condition",grammarRef:3,childSlot:1,spread:!1},{name:"body",grammarRef:1,childSlot:null,spread:!1}]},"409":{kind:"while",roles:[{name:"body",grammarRef:1,childSlot:null,spread:!1}],nested:[{role:"condition",path:[1],kind:"unary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"!"},{name:"operand",grammarRef:3,childSlot:1,spread:!1}],nested:[]}]},"410":{kind:"while",roles:[{name:"body",grammarRef:1,childSlot:null,spread:!1}],nested:[{role:"condition",path:[1],kind:"unary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"!"},{name:"operand",grammarRef:3,childSlot:1,spread:!1}],nested:[]}]},"411":{kind:"while",roles:[{name:"condition",grammarRef:3,childSlot:1,spread:!1},{name:"guard",grammarRef:5,childSlot:2,spread:!1},{name:"body",grammarRef:1,childSlot:null,spread:!1}]},"412":{kind:"while",roles:[{name:"condition",grammarRef:3,childSlot:1,spread:!1},{name:"guard",grammarRef:5,childSlot:2,spread:!1},{name:"body",grammarRef:1,childSlot:null,spread:!1}]},"413":{kind:"while",roles:[{name:"guard",grammarRef:5,childSlot:2,spread:!1},{name:"body",grammarRef:1,childSlot:null,spread:!1}],nested:[{role:"condition",path:[1],kind:"unary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"!"},{name:"operand",grammarRef:3,childSlot:1,spread:!1}],nested:[]}]},"414":{kind:"while",roles:[{name:"guard",grammarRef:5,childSlot:2,spread:!1},{name:"body",grammarRef:1,childSlot:null,spread:!1}],nested:[{role:"condition",path:[1],kind:"unary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"!"},{name:"operand",grammarRef:3,childSlot:1,spread:!1}],nested:[]}]},"416":{kind:"if",roles:[{name:"condition",grammarRef:2,childSlot:1,spread:!1},{name:"then",grammarRef:3,childSlot:2,spread:!1}]},"417":{kind:"if",roles:[{name:"condition",grammarRef:2,childSlot:1,spread:!1},{name:"then",grammarRef:3,childSlot:2,spread:!1},{name:"else",grammarRef:4,childSlot:3,spread:!1}]},"418":{kind:"if",roles:[{name:"condition",grammarRef:3,childSlot:1,spread:!1},{name:"then",grammarRef:4,childSlot:2,spread:!1}]},"419":{kind:"if",roles:[{name:"condition",grammarRef:3,childSlot:1,spread:!1},{name:"then",grammarRef:4,childSlot:2,spread:!1},{name:"else",grammarRef:5,childSlot:3,spread:!1}]},"421":{kind:"if",roles:[{name:"then",grammarRef:3,childSlot:2,spread:!1}],nested:[{role:"condition",path:[1],kind:"unary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"!"},{name:"operand",grammarRef:2,childSlot:1,spread:!1}],nested:[]}]},"422":{kind:"if",roles:[{name:"then",grammarRef:3,childSlot:2,spread:!1},{name:"else",grammarRef:5,childSlot:3,spread:!1}],nested:[{role:"condition",path:[1],kind:"unary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"!"},{name:"operand",grammarRef:2,childSlot:1,spread:!1}],nested:[]}]},"425":{kind:"if",roles:[{name:"condition",grammarRef:3,childSlot:1,spread:!1},{name:"then",grammarRef:1,childSlot:null,spread:!1}]},"426":{kind:"if",roles:[{name:"condition",grammarRef:3,childSlot:1,spread:!1},{name:"then",grammarRef:1,childSlot:null,spread:!1}]},"427":{kind:"if",roles:[{name:"then",grammarRef:1,childSlot:null,spread:!1}],nested:[{role:"condition",path:[1],kind:"unary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"!"},{name:"operand",grammarRef:3,childSlot:1,spread:!1}],nested:[]}]},"428":{kind:"if",roles:[{name:"then",grammarRef:1,childSlot:null,spread:!1}],nested:[{role:"condition",path:[1],kind:"unary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"!"},{name:"operand",grammarRef:3,childSlot:1,spread:!1}],nested:[]}]},"429":{kind:"ternary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"?:"},{name:"condition",grammarRef:3,childSlot:1,spread:!1},{name:"then",grammarRef:1,childSlot:2,spread:!1},{name:"else",grammarRef:6,childSlot:3,spread:!1}]},"430":{kind:"ternary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"?:"},{name:"condition",grammarRef:3,childSlot:1,spread:!1},{name:"then",grammarRef:1,childSlot:2,spread:!1},{name:"else",grammarRef:5,childSlot:3,spread:!1}]},"431":{kind:"try",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1}]},"432":{kind:"try",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1}]},"433":{kind:"try",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1},{name:"handler",grammarRef:3,childSlot:2,spread:!1}]},"434":{kind:"try",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1}]},"435":{kind:"try",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1},{name:"handler",grammarRef:3,childSlot:2,spread:!1}]},"436":{kind:"try",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1},{name:"handler",grammarRef:3,childSlot:2,spread:!1}]},"437":{kind:"try",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1},{name:"finalizer",grammarRef:3,childSlot:2,spread:!1}]},"438":{kind:"try",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1},{name:"handler",grammarRef:3,childSlot:2,spread:!1},{name:"finalizer",grammarRef:4,childSlot:3,spread:!1}]},"439":{kind:"try",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1},{name:"finalizer",grammarRef:3,childSlot:2,spread:!1}]},"440":{kind:"try",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1},{name:"handler",grammarRef:3,childSlot:2,spread:!1},{name:"finalizer",grammarRef:4,childSlot:3,spread:!1}]},"441":{kind:"try",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1},{name:"finalizer",grammarRef:3,childSlot:2,spread:!1}]},"442":{kind:"try",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1},{name:"handler",grammarRef:3,childSlot:2,spread:!1},{name:"finalizer",grammarRef:4,childSlot:3,spread:!1}]},"444":{kind:"block",roles:[{name:"statements",grammarRef:2,childSlot:1,spread:!1}]},"445":{kind:"catch",roles:[{name:"binding",grammarRef:2,childSlot:0,spread:!1},{name:"body",grammarRef:3,childSlot:1,spread:!1}]},"446":{kind:"catch",roles:[{name:"binding",grammarRef:2,childSlot:0,spread:!1},{name:"body",grammarRef:3,childSlot:1,spread:!1}]},"447":{kind:"catch",roles:[{name:"binding",grammarRef:2,childSlot:0,spread:!1},{name:"body",grammarRef:3,childSlot:1,spread:!1}]},"448":{kind:"catch",roles:[{name:"binding",grammarRef:null,childSlot:0,literal:null},{name:"body",grammarRef:2,childSlot:1,spread:!1}]},"449":{kind:"throw",roles:[{name:"value",grammarRef:2,childSlot:1,spread:!1}]},"450":{kind:"throw",roles:[{name:"value",grammarRef:3,childSlot:1,spread:!1}]},"451":{kind:"switch",roles:[{name:"subject",grammarRef:2,childSlot:1,spread:!1},{name:"cases",grammarRef:4,childSlot:2,spread:!1},{name:"default",grammarRef:null,childSlot:3,literal:null}]},"452":{kind:"switch",roles:[{name:"subject",grammarRef:2,childSlot:1,spread:!1},{name:"cases",grammarRef:4,childSlot:2,spread:!1},{name:"default",grammarRef:6,childSlot:3,spread:!1}]},"453":{kind:"switch",roles:[{name:"subject",grammarRef:null,childSlot:1,literal:null},{name:"cases",grammarRef:3,childSlot:2,spread:!1},{name:"default",grammarRef:null,childSlot:3,literal:null}]},"454":{kind:"switch",roles:[{name:"subject",grammarRef:null,childSlot:1,literal:null},{name:"cases",grammarRef:3,childSlot:2,spread:!1},{name:"default",grammarRef:5,childSlot:3,spread:!1}]},"457":{kind:"when",roles:[{name:"conditions",grammarRef:2,childSlot:1,spread:!1},{name:"body",grammarRef:3,childSlot:2,spread:!1}]},"458":{kind:"when",roles:[{name:"conditions",grammarRef:2,childSlot:1,spread:!1},{name:"body",grammarRef:3,childSlot:2,spread:!1}]},"461":{kind:"forin",roles:[{name:"vars",grammarRef:2,childSlot:1,spread:!1},{name:"iterable",grammarRef:4,childSlot:2,spread:!1},{name:"step",grammarRef:null,childSlot:3,literal:null},{name:"guard",grammarRef:null,childSlot:4,literal:null},{name:"body",grammarRef:5,childSlot:5,spread:!1}]},"462":{kind:"forin",roles:[{name:"vars",grammarRef:2,childSlot:1,spread:!1},{name:"iterable",grammarRef:4,childSlot:2,spread:!1},{name:"step",grammarRef:6,childSlot:3,spread:!1},{name:"guard",grammarRef:null,childSlot:4,literal:null},{name:"body",grammarRef:7,childSlot:5,spread:!1}]},"463":{kind:"forin",roles:[{name:"vars",grammarRef:2,childSlot:1,spread:!1},{name:"iterable",grammarRef:4,childSlot:2,spread:!1},{name:"step",grammarRef:null,childSlot:3,literal:null},{name:"guard",grammarRef:6,childSlot:4,spread:!1},{name:"body",grammarRef:7,childSlot:5,spread:!1}]},"464":{kind:"forin",roles:[{name:"vars",grammarRef:2,childSlot:1,spread:!1},{name:"iterable",grammarRef:4,childSlot:2,spread:!1},{name:"step",grammarRef:8,childSlot:3,spread:!1},{name:"guard",grammarRef:6,childSlot:4,spread:!1},{name:"body",grammarRef:9,childSlot:5,spread:!1}]},"465":{kind:"forin",roles:[{name:"vars",grammarRef:2,childSlot:1,spread:!1},{name:"iterable",grammarRef:4,childSlot:2,spread:!1},{name:"step",grammarRef:6,childSlot:3,spread:!1},{name:"guard",grammarRef:8,childSlot:4,spread:!1},{name:"body",grammarRef:9,childSlot:5,spread:!1}]},"466":{kind:"forof",roles:[{name:"vars",grammarRef:2,childSlot:1,spread:!1},{name:"object",grammarRef:4,childSlot:2,spread:!1},{name:"own",grammarRef:null,childSlot:3,literal:!1},{name:"guard",grammarRef:null,childSlot:4,literal:null},{name:"body",grammarRef:5,childSlot:5,spread:!1}]},"467":{kind:"forof",roles:[{name:"vars",grammarRef:2,childSlot:1,spread:!1},{name:"object",grammarRef:4,childSlot:2,spread:!1},{name:"own",grammarRef:null,childSlot:3,literal:!1},{name:"guard",grammarRef:6,childSlot:4,spread:!1},{name:"body",grammarRef:7,childSlot:5,spread:!1}]},"468":{kind:"forof",roles:[{name:"vars",grammarRef:3,childSlot:1,spread:!1},{name:"object",grammarRef:5,childSlot:2,spread:!1},{name:"own",grammarRef:null,childSlot:3,literal:!0},{name:"guard",grammarRef:null,childSlot:4,literal:null},{name:"body",grammarRef:6,childSlot:5,spread:!1}]},"469":{kind:"forof",roles:[{name:"vars",grammarRef:3,childSlot:1,spread:!1},{name:"object",grammarRef:5,childSlot:2,spread:!1},{name:"own",grammarRef:null,childSlot:3,literal:!0},{name:"guard",grammarRef:7,childSlot:4,spread:!1},{name:"body",grammarRef:8,childSlot:5,spread:!1}]},"470":{kind:"foras",roles:[{name:"vars",grammarRef:2,childSlot:1,spread:!1},{name:"iterable",grammarRef:4,childSlot:2,spread:!1},{name:"await",grammarRef:null,childSlot:3,literal:!1},{name:"guard",grammarRef:null,childSlot:4,literal:null},{name:"body",grammarRef:5,childSlot:5,spread:!1}]},"471":{kind:"foras",roles:[{name:"vars",grammarRef:2,childSlot:1,spread:!1},{name:"iterable",grammarRef:4,childSlot:2,spread:!1},{name:"await",grammarRef:null,childSlot:3,literal:!1},{name:"guard",grammarRef:6,childSlot:4,spread:!1},{name:"body",grammarRef:7,childSlot:5,spread:!1}]},"472":{kind:"foras",roles:[{name:"vars",grammarRef:3,childSlot:1,spread:!1},{name:"iterable",grammarRef:5,childSlot:2,spread:!1},{name:"await",grammarRef:null,childSlot:3,literal:!0},{name:"guard",grammarRef:null,childSlot:4,literal:null},{name:"body",grammarRef:6,childSlot:5,spread:!1}]},"473":{kind:"foras",roles:[{name:"vars",grammarRef:3,childSlot:1,spread:!1},{name:"iterable",grammarRef:5,childSlot:2,spread:!1},{name:"await",grammarRef:null,childSlot:3,literal:!0},{name:"guard",grammarRef:7,childSlot:4,spread:!1},{name:"body",grammarRef:8,childSlot:5,spread:!1}]},"474":{kind:"foras",roles:[{name:"vars",grammarRef:2,childSlot:1,spread:!1},{name:"iterable",grammarRef:4,childSlot:2,spread:!1},{name:"await",grammarRef:null,childSlot:3,literal:!0},{name:"guard",grammarRef:null,childSlot:4,literal:null},{name:"body",grammarRef:5,childSlot:5,spread:!1}]},"475":{kind:"foras",roles:[{name:"vars",grammarRef:2,childSlot:1,spread:!1},{name:"iterable",grammarRef:4,childSlot:2,spread:!1},{name:"await",grammarRef:null,childSlot:3,literal:!0},{name:"guard",grammarRef:6,childSlot:4,spread:!1},{name:"body",grammarRef:7,childSlot:5,spread:!1}]},"476":{kind:"forin",roles:[{name:"iterable",grammarRef:2,childSlot:2,spread:!1},{name:"step",grammarRef:null,childSlot:3,literal:null},{name:"guard",grammarRef:null,childSlot:4,literal:null},{name:"body",grammarRef:3,childSlot:5,spread:!1}]},"477":{kind:"forin",roles:[{name:"iterable",grammarRef:2,childSlot:2,spread:!1},{name:"step",grammarRef:4,childSlot:3,spread:!1},{name:"guard",grammarRef:null,childSlot:4,literal:null},{name:"body",grammarRef:5,childSlot:5,spread:!1}]},"478":{kind:"comprehension",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1}],nested:[{role:"loop",path:[2,0],kind:"forin",roles:[{name:"vars",grammarRef:3,childSlot:1,spread:!1},{name:"iterable",grammarRef:5,childSlot:2,spread:!1},{name:"step",grammarRef:null,childSlot:3,literal:null}],nested:[]}]},"479":{kind:"comprehension",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1},{name:"guard",grammarRef:7,childSlot:null,spread:!1}],nested:[{role:"loop",path:[2,0],kind:"forin",roles:[{name:"vars",grammarRef:3,childSlot:1,spread:!1},{name:"iterable",grammarRef:5,childSlot:2,spread:!1},{name:"step",grammarRef:null,childSlot:3,literal:null}],nested:[]}]},"480":{kind:"comprehension",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1}],nested:[{role:"loop",path:[2,0],kind:"forin",roles:[{name:"vars",grammarRef:3,childSlot:1,spread:!1},{name:"iterable",grammarRef:5,childSlot:2,spread:!1},{name:"step",grammarRef:7,childSlot:3,spread:!1}],nested:[]}]},"481":{kind:"comprehension",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1},{name:"guard",grammarRef:7,childSlot:null,spread:!1}],nested:[{role:"loop",path:[2,0],kind:"forin",roles:[{name:"vars",grammarRef:3,childSlot:1,spread:!1},{name:"iterable",grammarRef:5,childSlot:2,spread:!1},{name:"step",grammarRef:9,childSlot:3,spread:!1}],nested:[]}]},"482":{kind:"comprehension",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1},{name:"guard",grammarRef:9,childSlot:null,spread:!1}],nested:[{role:"loop",path:[2,0],kind:"forin",roles:[{name:"vars",grammarRef:3,childSlot:1,spread:!1},{name:"iterable",grammarRef:5,childSlot:2,spread:!1},{name:"step",grammarRef:7,childSlot:3,spread:!1}],nested:[]}]},"483":{kind:"comprehension",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1}],nested:[{role:"loop",path:[2,0],kind:"forof",roles:[{name:"vars",grammarRef:3,childSlot:1,spread:!1},{name:"object",grammarRef:5,childSlot:2,spread:!1},{name:"own",grammarRef:null,childSlot:3,literal:!1}],nested:[]}]},"484":{kind:"comprehension",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1},{name:"guard",grammarRef:7,childSlot:null,spread:!1}],nested:[{role:"loop",path:[2,0],kind:"forof",roles:[{name:"vars",grammarRef:3,childSlot:1,spread:!1},{name:"object",grammarRef:5,childSlot:2,spread:!1},{name:"own",grammarRef:null,childSlot:3,literal:!1}],nested:[]}]},"485":{kind:"comprehension",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1}],nested:[{role:"loop",path:[2,0],kind:"forof",roles:[{name:"vars",grammarRef:4,childSlot:1,spread:!1},{name:"object",grammarRef:6,childSlot:2,spread:!1},{name:"own",grammarRef:null,childSlot:3,literal:!0}],nested:[]}]},"486":{kind:"comprehension",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1},{name:"guard",grammarRef:8,childSlot:null,spread:!1}],nested:[{role:"loop",path:[2,0],kind:"forof",roles:[{name:"vars",grammarRef:4,childSlot:1,spread:!1},{name:"object",grammarRef:6,childSlot:2,spread:!1},{name:"own",grammarRef:null,childSlot:3,literal:!0}],nested:[]}]},"487":{kind:"comprehension",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1}],nested:[{role:"loop",path:[2,0],kind:"foras",roles:[{name:"vars",grammarRef:3,childSlot:1,spread:!1},{name:"iterable",grammarRef:5,childSlot:2,spread:!1},{name:"await",grammarRef:null,childSlot:3,literal:!1}],nested:[]}]},"488":{kind:"comprehension",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1},{name:"guard",grammarRef:7,childSlot:null,spread:!1}],nested:[{role:"loop",path:[2,0],kind:"foras",roles:[{name:"vars",grammarRef:3,childSlot:1,spread:!1},{name:"iterable",grammarRef:5,childSlot:2,spread:!1},{name:"await",grammarRef:null,childSlot:3,literal:!1}],nested:[]}]},"489":{kind:"comprehension",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1}],nested:[{role:"loop",path:[2,0],kind:"foras",roles:[{name:"vars",grammarRef:4,childSlot:1,spread:!1},{name:"iterable",grammarRef:6,childSlot:2,spread:!1},{name:"await",grammarRef:null,childSlot:3,literal:!0}],nested:[]}]},"490":{kind:"comprehension",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1},{name:"guard",grammarRef:8,childSlot:null,spread:!1}],nested:[{role:"loop",path:[2,0],kind:"foras",roles:[{name:"vars",grammarRef:4,childSlot:1,spread:!1},{name:"iterable",grammarRef:6,childSlot:2,spread:!1},{name:"await",grammarRef:null,childSlot:3,literal:!0}],nested:[]}]},"491":{kind:"comprehension",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1}],nested:[{role:"loop",path:[2,0],kind:"foras",roles:[{name:"vars",grammarRef:3,childSlot:1,spread:!1},{name:"iterable",grammarRef:5,childSlot:2,spread:!1},{name:"await",grammarRef:null,childSlot:3,literal:!0}],nested:[]}]},"492":{kind:"comprehension",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1},{name:"guard",grammarRef:7,childSlot:null,spread:!1}],nested:[{role:"loop",path:[2,0],kind:"foras",roles:[{name:"vars",grammarRef:3,childSlot:1,spread:!1},{name:"iterable",grammarRef:5,childSlot:2,spread:!1},{name:"await",grammarRef:null,childSlot:3,literal:!0}],nested:[]}]},"496":{kind:"loop",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1}]},"497":{kind:"loop",roles:[{name:"count",grammarRef:2,childSlot:1,spread:!1},{name:"body",grammarRef:3,childSlot:2,spread:!1}]},"498":{kind:"update",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"--"},{name:"target",grammarRef:2,childSlot:1,spread:!1},{name:"prefix",grammarRef:null,childSlot:2,literal:!1}]},"499":{kind:"update",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"++"},{name:"target",grammarRef:2,childSlot:1,spread:!1},{name:"prefix",grammarRef:null,childSlot:2,literal:!1}]},"500":{kind:"update",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"--"},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"prefix",grammarRef:null,childSlot:2,literal:!0}]},"501":{kind:"update",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"++"},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"prefix",grammarRef:null,childSlot:2,literal:!0}]},"502":{kind:"existence",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"?"},{name:"value",grammarRef:1,childSlot:1,spread:!1}]},"503":{kind:"presence",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1}]},"504":{kind:"cast",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1},{name:"annotation",grammarRef:2,childSlot:2,spread:!1}]},"505":{kind:"ternary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"?:"},{name:"condition",grammarRef:1,childSlot:1,spread:!1},{name:"then",grammarRef:3,childSlot:2,spread:!1},{name:"else",grammarRef:5,childSlot:3,spread:!1}]},"506":{kind:"unary",roles:[{name:"operator",grammarRef:1,childSlot:0,spread:!1},{name:"operand",grammarRef:2,childSlot:1,spread:!1}]},"507":{kind:"doiife",roles:[{name:"func",grammarRef:2,childSlot:1,spread:!1}]},"508":{kind:"unary",roles:[{name:"operator",grammarRef:1,childSlot:0,spread:!1},{name:"operand",grammarRef:2,childSlot:1,spread:!1}]},"509":{kind:"await",roles:[{name:"value",grammarRef:2,childSlot:1,spread:!1},{name:"operator",grammarRef:1,childSlot:null,spread:!1}]},"510":{kind:"await",roles:[{name:"value",grammarRef:3,childSlot:1,spread:!1},{name:"operator",grammarRef:1,childSlot:null,spread:!1}]},"511":{kind:"yield",roles:[]},"512":{kind:"yield",roles:[{name:"value",grammarRef:2,childSlot:1,spread:!1}]},"513":{kind:"yield",roles:[{name:"value",grammarRef:3,childSlot:1,spread:!1}]},"514":{kind:"yieldfrom",roles:[{name:"value",grammarRef:3,childSlot:1,spread:!1}]},"515":{kind:"unary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"-"},{name:"operand",grammarRef:2,childSlot:1,spread:!1}]},"516":{kind:"unary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"+"},{name:"operand",grammarRef:2,childSlot:1,spread:!1}]},"517":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"**"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"518":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"+"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"519":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"-"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"520":{kind:"binary",roles:[{name:"operator",grammarRef:2,childSlot:0,spread:!1},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"521":{kind:"binary",roles:[{name:"operator",grammarRef:2,childSlot:0,spread:!1},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"522":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"&"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"523":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"^"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"524":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"|"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"525":{kind:"binary",roles:[{name:"operator",grammarRef:2,childSlot:0,spread:!1},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"526":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"=~"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"527":{kind:"relation",roles:[{name:"operator",grammarRef:2,childSlot:0,spread:!1},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"528":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"&&"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"529":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"||"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"530":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"??"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"531":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"&&"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"532":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"||"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"533":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"??"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"534":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"&&"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"535":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"||"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"536":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"??"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"537":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"&&"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"538":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"||"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"539":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"&&"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"540":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"||"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"541":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"&&"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"542":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"||"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]}},primitiveRefs:{"1":[],"2":[1],"3":[1],"4":[1,3],"5":[1],"6":[1],"7":[1],"8":[1],"9":[1],"10":[1],"11":[1],"12":[1],"13":[1],"14":[1],"15":[1,2],"16":[1,3],"17":[2,3,4],"18":[2],"19":[2,4],"20":[2,4],"21":[5],"22":[3,7],"23":[2,4,6],"24":[2,5,9],"25":[3,4,2],"26":[2,5,6,4],"27":[2,5,6,4],"28":[3,8,9,7],"29":[2,4,7,8,6],"30":[2,5,10,11,9],"31":[3,5],"32":[3,5],"33":[6],"34":[4,8],"35":[1],"36":[1,3],"37":[1,4],"38":[2],"39":[1,4],"40":[1],"41":[1,3],"42":[1],"43":[1,3],"44":[1],"45":[3],"46":[],"47":[3],"48":[2],"49":[2],"50":[2],"51":[2],"52":[2],"53":[2],"54":[2],"55":[2],"56":[3],"57":[4],"58":[4],"59":[6,4],"60":[6,4],"61":[5],"62":[3,7],"63":[1,3],"64":[1,4],"65":[1,4],"66":[1,4],"67":[1,5],"68":[1,5],"69":[1,4],"70":[1,4],"71":[1,5],"72":[1,5],"73":[1,4],"74":[1,5],"75":[1,5],"76":[1,4],"77":[1,5],"78":[1,4],"79":[1,4],"80":[1,5],"81":[1,5],"82":[1,4],"83":[1,5],"84":[1,4],"85":[1],"86":[1,3],"87":[1,4],"88":[2],"89":[1,4],"90":[1],"91":[1,3],"92":[1,3],"93":[1],"94":[1,3],"95":[1],"96":[1],"97":[1],"98":[1],"99":[1],"100":[1],"101":[1],"102":[1],"103":[1],"104":[1],"105":[1],"106":[1],"107":[1],"108":[1],"109":[1],"110":[1],"111":[1],"112":[1],"113":[1],"114":[1],"115":[1],"116":[1],"117":[1],"118":[1],"119":[1],"120":[1],"121":[1],"122":[1],"123":[1],"124":[1],"125":[1,3],"126":[1],"127":[1],"128":[],"129":[],"130":[1],"131":[1],"132":[1],"133":[1],"134":[1],"135":[2],"136":[1],"137":[1,2],"138":[2],"139":[3],"140":[],"141":[1],"142":[1],"143":[3,2],"144":[1],"145":[1],"146":[1,3],"147":[1,4],"148":[1,4],"149":[1,4],"150":[1,5],"151":[1,5],"152":[1,4],"153":[1,5],"154":[1,5],"155":[1,5],"156":[1,6],"157":[1,6],"158":[1,3],"159":[1,4],"160":[1,4],"161":[2,1,3],"162":[2,1,4],"163":[2,1,4],"164":[1,3],"165":[1,4],"166":[1,5],"167":[1,5],"168":[1],"169":[1],"170":[1],"171":[1],"172":[2],"173":[2],"174":[1],"175":[2],"176":[1],"177":[1,3],"178":[1,4],"179":[1,4],"180":[1,5],"181":[1,3],"182":[1,4],"183":[1,4],"184":[1,5],"185":[1,3],"186":[1,4],"187":[1,3],"188":[1,4],"189":[1,3,5],"190":[1,4,6],"191":[1,3],"192":[1,4],"193":[1,4],"194":[1,5],"195":[1,3],"196":[1,4],"197":[2],"198":[1],"199":[1],"200":[1,3],"201":[1,3],"202":[1,3],"203":[1,4],"204":[1,3,5],"205":[1,3],"206":[1,4],"207":[1,4],"208":[1,5],"209":[1,3],"210":[1,3],"211":[1,4],"212":[1,4],"213":[1,3],"214":[1,3],"215":[1,2],"216":[1,2],"217":[1,2],"218":[2],"219":[2,4],"220":[1,2],"221":[1],"222":[1],"223":[1],"224":[1],"225":[1],"226":[1,3],"227":[1,3],"228":[1,3],"229":[1,3],"230":[1],"231":[1],"232":[4,2,5],"233":[5,2,6],"234":[1,2],"235":[1],"236":[1],"237":[2],"238":[],"239":[],"240":[2],"241":[2],"242":[],"243":[2],"244":[2,3],"245":[1],"246":[1,3],"247":[1,4],"248":[2,3],"249":[1,2,4,5],"250":[1],"251":[1,2],"252":[],"253":[2],"254":[1],"255":[1,2],"256":[],"257":[1],"258":[2],"259":[3],"260":[],"261":[1],"262":[1,3],"263":[1,4],"264":[1,4],"265":[1,1],"266":[1],"267":[1,3],"268":[1,4],"269":[1,3],"270":[1,3],"271":[1,4],"272":[1,4],"273":[1,5],"274":[2],"275":[2],"276":[1],"277":[1],"278":[1],"279":[1],"280":[1],"281":[2],"282":[1,2],"283":[1,2],"284":[1,2],"285":[1,3],"286":[1,3],"287":[1,3],"288":[1,4],"289":[1],"290":[1,3],"291":[1,3],"292":[1,4],"293":[1,4],"294":[1],"295":[1,3],"296":[1,4],"297":[1,4],"298":[1,1],"299":[1,3],"300":[1,1,3],"301":[1,3,5],"302":[1],"303":[1],"304":[1],"305":[1],"306":[1],"307":[1],"308":[1],"309":[2],"310":[3],"311":[],"312":[],"313":[3,2,4],"314":[2,1,3],"315":[2,1],"316":[1,2],"317":[1],"318":[2,3,4],"319":[2,3,5],"320":[2,4,5],"321":[2,4,6],"322":[2,4,5],"323":[2,4,6],"324":[2,3,4],"325":[2,3,5],"326":[2,4,5],"327":[2,4,6],"328":[2,4,5],"329":[2,4,6],"330":[],"331":[2],"332":[],"333":[1],"334":[1,3],"335":[1,4],"336":[1,4],"337":[1],"338":[1,3],"339":[2],"340":[],"341":[1],"342":[1,2],"343":[1,3],"344":[1],"345":[1],"346":[1],"347":[1],"348":[1],"349":[2],"350":[1],"351":[],"352":[2],"353":[3],"354":[3,4],"355":[2],"356":[2,3],"357":[2,4],"358":[2,4,5],"359":[2,3],"360":[2,4,5],"361":[2,3],"362":[2],"363":[2],"364":[3,4],"365":[2],"366":[1],"367":[1,3],"368":[1],"369":[1],"370":[1],"371":[2],"372":[2],"373":[2],"374":[2],"375":[3],"376":[3],"377":[4],"378":[1,2],"379":[2],"380":[1,3],"381":[1,3],"382":[1,3],"383":[1,2],"384":[3],"385":[],"386":[2],"387":[1],"388":[1,3],"389":[1,4],"390":[2],"391":[1,4],"392":[1],"393":[1],"394":[1],"395":[1],"396":[],"397":[2],"398":[2],"399":[3],"400":[2],"401":[3],"402":[],"403":[2,3],"404":[2,3],"405":[2,4,5],"406":[2,4,5],"407":[3,1],"408":[3,1],"409":[3,1],"410":[3,1],"411":[3,5,1],"412":[3,5,1],"413":[3,5,1],"414":[3,5,1],"415":[1],"416":[2,3],"417":[2,3,4],"418":[3,4],"419":[3,4,5],"420":[2],"421":[2,3],"422":[2,3,5],"423":[1],"424":[1],"425":[3,1],"426":[3,1],"427":[3,1],"428":[3,1],"429":[3,1,6],"430":[3,1,5],"431":[2],"432":[2],"433":[2,3],"434":[2],"435":[2,3],"436":[2,3],"437":[2,3],"438":[2,3,4],"439":[2,3],"440":[2,3,4],"441":[2,3],"442":[2,3,4],"443":[2],"444":[2],"445":[2,3],"446":[2,3],"447":[2,3],"448":[2],"449":[2],"450":[3],"451":[2,4],"452":[2,4,6],"453":[3],"454":[3,5],"455":[1],"456":[1,2],"457":[2,3],"458":[2,3],"459":[1],"460":[1,3],"461":[2,4,5],"462":[2,4,6,7],"463":[2,4,6,7],"464":[2,4,8,6,9],"465":[2,4,6,8,9],"466":[2,4,5],"467":[2,4,6,7],"468":[3,5,6],"469":[3,5,7,8],"470":[2,4,5],"471":[2,4,6,7],"472":[3,5,6],"473":[3,5,7,8],"474":[2,4,5],"475":[2,4,6,7],"476":[2,3],"477":[2,4,5],"478":[1,3,5],"479":[1,3,5,7],"480":[1,3,5,7],"481":[1,3,5,9,7],"482":[1,3,5,7,9],"483":[1,3,5],"484":[1,3,5,7],"485":[1,4,6],"486":[1,4,6,8],"487":[1,3,5],"488":[1,3,5,7],"489":[1,4,6],"490":[1,4,6,8],"491":[1,3,5],"492":[1,3,5,7],"493":[1],"494":[1],"495":[1,3],"496":[2],"497":[2,3],"498":[2],"499":[2],"500":[1],"501":[1],"502":[1],"503":[1],"504":[1,2],"505":[1,3,5],"506":[1,2],"507":[2],"508":[1,2],"509":[2],"510":[3],"511":[],"512":[2],"513":[3],"514":[3],"515":[2],"516":[2],"517":[1,3],"518":[1,3],"519":[1,3],"520":[2,1,3],"521":[2,1,3],"522":[1,3],"523":[1,3],"524":[1,3],"525":[2,1,3],"526":[1,3],"527":[2,1,3],"528":[1,3],"529":[1,3],"530":[1,3],"531":[1,3],"532":[1,3],"533":[1,3],"534":[1,3],"535":[1,3],"536":[1,3],"537":[1,3],"538":[1,3],"539":[1,3],"540":[1,3],"541":[1,3],"542":[1,3]},accumulators:{"4":!0,"36":!0,"37":!0,"39":!0,"86":!0,"87":!0,"89":!0,"137":!0,"246":!0,"247":!0,"249":!0,"255":!0,"262":!0,"263":!0,"264":!0,"295":!0,"296":!0,"297":!0,"334":!0,"335":!0,"336":!0,"367":!0,"388":!0,"389":!0,"391":!0,"456":!0},parseTable:(()=>{let e=[108,1,2,1,1,2,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,-1,1,2,3,4,5,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,1,1,0,2,1,5,-2,108,5,1,5,31,60,88,-3,-3,-3,-3,-3,28,1,5,31,60,88,2,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-6,-6,-6,-6,-6,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,9,1,5,31,60,88,2,1,9,1,-7,-7,-7,-7,-7,134,135,132,133,56,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,6,3,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-95,-95,-95,-95,-95,-95,136,137,-95,142,-95,-230,-230,-230,-95,-230,-230,-95,-230,140,-95,-95,-95,-95,-95,141,138,139,-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,49,1,5,22,3,5,1,60,15,4,1,1,1,2,1,2,1,9,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-96,-96,-96,-96,-96,-96,-96,-96,-231,-231,-231,-96,-231,-231,-96,-231,-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,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,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,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,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,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,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,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,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,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,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,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,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,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,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,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,64,1,5,11,1,10,3,5,1,14,1,2,1,2,1,23,2,14,13,1,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-115,-115,144,145,-115,-115,-115,-115,143,146,147,148,150,151,-115,-115,-115,149,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,18,6,14,7,4,2,3,65,6,7,19,1,6,1,9,6,8,1,1,-332,157,100,-332,159,-332,96,158,160,152,-332,162,161,101,155,153,154,156,2,36,20,164,163,46,16,4,3,4,6,27,1,13,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,25,169,166,103,100,76,167,168,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,170,107,105,106,96,165,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,82,46,16,4,3,4,6,27,1,13,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,25,169,166,103,100,76,167,168,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,170,107,105,106,96,171,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,82,68,1,5,11,1,10,3,5,1,14,1,2,1,2,1,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,8,1,1,1,5,1,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,174,175,-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,172,173,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,176,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,178,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,179,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,105,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,180,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,181,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,143,1,5,1,1,1,1,1,1,1,1,1,1,3,1,2,1,2,2,1,3,2,3,1,4,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,5,1,1,2,3,3,5,2,1,4,5,2,1,1,4,2,1,1,1,1,1,1,1,1,8,4,2,2,1,4,6,2,1,2,6,4,1,1,1,1,1,1,1,1,2,1,1,1,1,1,3,1,1,1,5,3,4,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-511,-511,182,177,26,27,28,29,30,31,73,32,65,54,71,103,184,100,-511,-511,76,183,-511,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,-511,105,106,96,45,75,-511,92,93,-511,-511,94,95,89,41,-511,42,90,91,86,87,88,83,-511,101,-511,-511,84,85,-511,66,74,67,68,69,82,-511,70,-511,-511,-511,63,56,97,-511,57,98,-511,-511,58,-511,-511,64,60,-511,-511,49,99,43,44,-511,-511,46,47,48,50,51,52,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,185,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,186,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,57,1,5,11,11,3,5,1,14,30,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-134,-134,188,-134,-134,-134,-134,187,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,69,1,5,11,1,10,3,5,1,14,1,1,1,1,2,1,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,8,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,189,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,108,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,7,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,2,5,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,192,191,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,164,72,22,21,10,11,13,14,193,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,190,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,106,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,7,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,195,196,26,27,28,29,30,31,73,32,65,54,71,103,100,76,164,72,22,21,10,11,13,14,194,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,15,20,7,6,43,25,6,7,26,1,9,16,45,4,2,2,157,100,159,200,96,158,160,162,83,101,202,197,198,199,201,105,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,203,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,204,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,205,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,206,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,105,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,207,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,208,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,4,20,81,13,26,209,96,210,162,50,1,5,14,8,3,5,1,19,41,4,11,2,5,5,10,6,2,12,2,7,5,2,15,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-351,-351,215,-351,-351,164,-351,211,-351,96,-351,214,-351,-351,-351,162,-351,-351,-351,-351,213,212,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,1,173,216,3,36,134,5,219,218,217,106,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,7,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,221,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,164,72,22,21,10,11,13,14,220,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,142,1,5,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,1,3,2,3,1,4,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,5,1,1,2,3,3,5,2,1,4,5,2,1,1,4,2,1,1,1,1,1,1,1,1,8,4,2,2,1,4,6,2,1,2,6,4,1,1,1,1,1,1,1,1,2,1,1,1,1,1,3,1,1,1,5,3,4,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-402,-402,222,177,26,27,28,29,30,31,73,32,65,54,71,103,100,-402,-402,76,223,-402,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,-402,105,106,96,45,75,-402,92,93,-402,-402,94,95,89,41,-402,42,90,91,86,87,88,83,-402,101,-402,-402,84,85,-402,66,74,67,68,69,82,-402,70,-402,-402,-402,63,56,97,-402,57,98,-402,-402,58,-402,-402,64,60,-402,-402,49,99,43,44,-402,-402,46,47,48,50,51,52,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,10,20,3,1,2,1,7,6,51,1,9,229,224,225,226,227,228,230,170,107,96,60,14,2,3,1,3,4,6,6,4,1,1,1,1,1,1,1,8,2,1,13,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,13,234,244,242,243,103,231,76,240,232,233,235,236,237,238,239,241,55,167,168,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,170,107,105,106,96,245,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,82,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-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,-14,-14,-14,-14,-14,-14,2,20,81,246,96,64,1,5,11,1,10,3,5,1,14,1,2,1,2,1,23,2,14,13,1,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,64,1,5,11,1,10,3,5,1,14,1,2,1,2,1,23,2,14,13,1,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,107,4,1,2,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,247,3,4,5,26,27,28,29,30,31,73,32,65,54,71,103,100,76,248,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,114,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,4,2,3,5,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,1,1,1,2,1,1,2,6,2,1,8,2,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,249,177,26,27,28,29,30,31,73,32,65,54,71,103,100,256,76,255,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,250,251,252,254,257,253,101,259,84,85,258,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,4,111,5,2,13,142,261,262,260,3,81,30,20,264,142,263,5,61,71,3,1,1,265,41,42,90,91,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,58,1,5,22,3,5,1,44,2,8,6,5,1,8,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-239,-239,-239,-239,-239,-239,-239,-239,267,-239,266,268,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,14,20,55,4,1,2,19,13,14,1,1,9,1,18,26,272,275,274,276,270,96,273,89,269,271,87,88,277,82,1,36,-235,1,36,-236,68,1,5,11,1,10,3,5,1,14,1,2,1,2,1,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,8,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,6,116,1,1,3,1,3,278,279,280,281,282,283,1,116,284,1,116,285,76,1,5,11,1,7,3,3,5,1,1,13,1,1,1,1,2,1,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,7,7,11,1,1,2,2,1,1,5,3,1,4,1,7,2,1,1,2,2,3,1,1,1,5,1,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,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,286,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,287,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,106,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,7,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,289,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,164,72,22,21,10,11,13,14,288,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,26,6,14,3,5,3,5,48,1,4,1,1,1,6,1,2,1,1,11,26,1,8,2,1,1,2,1,-260,300,103,-260,-260,-260,296,294,102,104,170,107,105,106,96,301,268,302,298,297,290,291,292,293,295,299,1,27,303,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,6,23,68,1,1,2,1,307,170,107,304,305,306,6,23,68,1,1,2,1,307,170,107,308,305,306,110,1,4,1,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,4,4,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,5,1,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,1,1,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,-5,309,-5,4,5,26,27,28,29,30,31,73,32,65,54,71,103,100,76,-5,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,-5,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,-5,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,310,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,311,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,312,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,313,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,314,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,315,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,316,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,317,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,318,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,319,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,320,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,321,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,322,177,323,324,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,325,177,326,327,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,328,177,329,330,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,331,177,332,333,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,334,177,335,336,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,337,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,338,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,14,20,7,6,68,6,7,26,1,9,16,45,4,2,2,157,100,159,96,158,160,162,161,101,202,339,340,341,201,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,342,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,343,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,344,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,345,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,346,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,347,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,3,23,68,1,348,170,107,45,1,5,22,3,5,1,60,14,1,7,5,7,3,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-502,-502,-502,-502,-502,-502,-502,142,-502,-502,-502,349,-502,-502,-502,-502,-502,-502,-502,-502,-502,-502,-502,-502,-502,-502,-502,-502,-502,-502,-502,-502,-502,-502,-502,-502,-502,-502,-502,-502,-502,-502,-502,-502,-502,45,1,5,22,3,5,1,60,14,1,7,5,7,3,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-503,-503,-503,-503,-503,-503,-503,142,-503,-503,-503,350,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,2,111,20,142,351,110,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,5,1,1,1,11,1,1,4,3,1,1,1,1,1,1,6,3,6,2,1,8,2,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,356,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,355,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,352,353,92,93,94,95,89,41,42,90,91,86,87,88,83,354,101,259,84,85,258,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,106,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,358,357,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,359,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,49,1,5,22,3,5,1,14,3,1,2,1,39,13,2,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-15,-15,-15,-15,-15,-15,360,361,362,364,365,-15,363,-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,5,17,34,3,1,2,367,366,368,369,370,1,51,371,107,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,1,6,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,374,373,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,375,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,372,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,108,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,7,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,2,5,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,192,191,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,164,72,22,21,10,11,13,14,193,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,376,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,46,16,4,3,4,6,27,1,13,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,25,169,166,103,100,76,377,168,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,170,107,105,106,96,245,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,82,107,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,1,6,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,374,373,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,375,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,378,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,108,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,7,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,2,5,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,192,191,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,164,72,22,21,10,11,13,14,193,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,379,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,5,6,24,1,5,98,-394,382,381,-394,380,6,6,25,5,1,75,22,-333,-333,-333,-333,-333,-333,7,6,25,5,1,14,61,22,-337,-337,-337,-337,383,-337,-337,17,6,14,7,4,2,3,1,64,6,5,2,20,6,1,9,15,1,-340,157,100,-340,159,-340,-340,96,158,-340,160,-340,162,161,101,384,156,9,6,11,1,13,5,1,14,61,22,-341,385,386,-341,-341,-341,-341,-341,-341,13,6,11,1,13,5,1,14,61,22,78,2,2,2,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,13,6,11,1,13,5,1,14,61,22,78,2,2,2,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,13,6,11,1,13,5,1,14,61,22,78,2,2,2,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,13,6,11,1,13,5,1,14,61,22,78,2,2,2,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,114,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,4,2,3,5,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,1,1,1,2,1,1,2,6,2,1,8,2,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,356,177,26,27,28,29,30,31,73,32,65,54,71,103,100,256,76,255,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,250,251,252,254,257,253,101,259,84,85,258,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,3,91,11,1,267,266,268,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,107,4,1,2,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,4,4,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,388,3,4,5,26,27,28,29,30,31,73,32,65,54,71,103,100,76,387,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-498,-498,-498,-498,-498,-498,-168,-168,-498,-168,-498,-168,-168,-168,-498,-168,-168,-498,-168,-498,-498,-498,-498,-498,-168,-168,-168,-498,-498,-498,-498,-498,-498,-498,-498,-498,-498,-498,-498,-498,-498,-498,-498,-498,-498,-498,-498,-498,-498,-498,-498,-498,-498,-498,-498,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,13,81,2,28,5,1,1,3,1,3,6,50,1,1,136,137,142,-230,-230,-230,-230,-230,-230,140,141,389,390,6,116,1,1,3,1,3,-231,-231,-231,-231,-231,-231,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,61,1,5,22,3,1,4,1,44,2,8,1,2,2,1,3,11,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-499,-499,-499,-499,-499,-499,-168,-168,-499,-168,-499,-168,-168,-168,-499,-168,-168,-499,-168,-499,-499,-499,-499,-499,-168,-168,-168,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,106,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,393,391,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,392,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,394,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-506,-506,-506,-506,-506,-506,-506,-506,-506,-506,-506,-506,-506,-506,-506,-506,-506,-506,-506,-506,-506,-506,-506,-506,-506,-506,-506,-506,-506,-506,-506,-506,-506,-506,-506,-506,-506,-506,-506,-506,-506,-506,-506,4,187,1,9,1,134,135,132,133,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-508,-508,-508,-508,-508,-508,-508,-508,-508,-508,-508,-508,-508,-508,-508,-508,-508,-508,-508,-508,-508,-508,-508,-508,-508,-508,-508,-508,-508,-508,111,-508,-508,-508,-508,-508,-508,-508,-508,-508,-508,-508,-508,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,3,27,6,117,100,395,101,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-512,3,27,6,117,100,396,101,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,397,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,111,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,111,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,398,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,1,51,399,1,51,400,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,130,131,-174,126,127,128,-174,-174,129,-174,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,401,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,45,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,2,1,1,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,402,403,405,404,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,45,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,2,1,1,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,130,131,-432,126,127,128,406,407,405,404,129,-432,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,45,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,2,1,1,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,134,135,-434,-434,132,133,408,409,405,404,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,4,212,2,2,2,410,411,412,413,12,20,7,6,68,6,7,26,1,9,16,45,8,157,100,159,96,158,160,162,161,101,202,414,201,12,20,7,6,68,6,7,26,1,9,16,45,8,157,100,159,96,158,160,162,161,101,202,415,201,3,36,20,157,164,416,417,5,31,181,2,2,2,418,-494,-494,-494,-494,5,31,181,2,2,2,-493,-493,-493,-493,-493,24,36,151,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,419,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,3,206,1,1,420,421,422,26,36,20,131,1,1,5,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,164,423,130,131,424,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,26,36,20,131,1,1,5,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,164,425,130,131,426,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-449,3,27,6,117,100,427,101,6,17,4,15,16,1,58,-330,428,-330,429,430,431,6,17,4,15,16,1,58,-330,432,-330,433,434,431,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,435,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,45,1,5,22,3,5,1,19,41,15,7,5,10,8,12,2,7,7,15,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-355,-355,-355,-355,164,-355,436,-355,-355,-355,-355,-355,-355,-355,-355,-355,437,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,3,36,20,114,164,438,439,44,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,7,15,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,440,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,108,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,2,1,1,1,1,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,443,444,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,441,442,445,446,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,130,131,-374,126,-374,-374,-374,-374,129,-374,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-374,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,-400,-400,-400,-400,-400,-400,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-400,3,27,6,117,100,447,101,44,1,5,22,3,1,4,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-18,-18,-18,-18,448,-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,2,25,6,449,450,1,25,451,7,20,8,1,6,1,3,62,456,452,453,454,455,457,96,6,20,4,2,1,13,61,229,458,459,460,230,96,2,25,6,-44,-44,1,38,461,29,6,14,3,5,3,5,3,3,17,25,1,4,1,1,1,6,1,2,1,1,11,26,1,8,2,1,1,2,1,-260,466,103,462,-260,465,467,463,464,296,294,102,104,170,107,105,106,96,301,268,302,298,297,290,291,292,293,295,299,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,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,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,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,105,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,468,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,469,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,2,25,13,470,471,4,20,81,13,26,472,96,210,162,21,17,1,33,1,1,1,1,2,1,23,2,28,5,1,1,3,1,3,56,1,1,474,-198,473,475,476,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,18,17,1,36,1,2,1,23,2,28,5,1,1,3,1,3,56,1,1,477,478,147,148,150,151,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,61,1,5,11,1,10,3,5,1,17,1,2,1,23,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,-168,-168,-168,-168,-168,-168,-168,2,36,20,164,479,2,6,179,108,480,106,4,1,2,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,481,3,4,5,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,30,6,25,5,106,14,6,1,24,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-392,-392,-392,-392,484,482,483,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,68,1,5,11,1,10,3,5,1,14,1,2,1,2,1,23,2,14,13,1,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,2,1,1,2,2,5,1,5,1,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,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,110,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,4,2,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,1,5,1,2,6,2,1,8,2,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,356,177,26,27,28,29,30,31,73,32,65,54,71,103,100,256,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,485,487,486,101,259,84,85,258,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,6,6,24,1,5,106,3,-394,490,489,-394,-394,488,61,6,4,5,4,3,5,4,5,1,4,17,28,1,1,1,1,1,1,6,1,2,25,1,1,4,4,1,1,1,1,1,1,8,6,2,1,10,2,1,2,6,4,2,1,1,4,4,3,5,1,5,7,3,1,1,3,1,1,1,1,1,491,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,5,6,25,5,1,105,-245,-245,-245,-245,-245,113,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,4,2,3,5,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,2,1,2,1,1,2,6,2,1,8,2,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,356,177,26,27,28,29,30,31,73,32,65,54,71,103,100,256,76,255,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,493,492,254,257,253,101,259,84,85,258,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,61,6,4,5,4,3,5,4,5,1,4,17,28,1,1,1,1,1,1,6,1,2,25,1,1,4,4,1,1,1,1,1,1,8,6,2,1,10,2,1,2,6,4,2,1,1,4,4,3,5,1,5,7,3,1,1,3,1,1,1,1,1,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,5,6,25,5,1,105,-250,-250,-250,-250,-250,6,6,25,5,1,75,30,-393,-393,-393,-393,-393,-393,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,494,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,2,102,1,495,268,105,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,496,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,497,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,2,111,20,142,498,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,74,1,5,11,1,10,3,5,1,14,1,1,1,1,2,1,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,7,7,11,1,1,2,2,1,1,5,3,1,4,1,7,2,1,1,2,2,3,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,74,1,5,11,1,10,3,5,1,14,1,1,1,1,2,1,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,7,7,11,1,1,2,2,1,1,5,3,1,4,1,7,2,1,1,2,2,3,1,1,1,5,1,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,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,74,1,5,11,1,10,3,5,1,14,1,1,1,1,2,1,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,7,7,11,1,1,2,2,1,1,5,3,1,4,1,7,2,1,1,2,2,3,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,56,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,6,3,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-215,-215,-215,-215,-215,-215,499,503,-215,142,-215,500,501,502,-215,-215,-215,-215,-215,504,-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,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,-216,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,2,116,2,261,262,2,102,1,505,268,2,102,1,506,268,109,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,5,6,1,1,4,3,1,1,1,1,1,1,9,6,2,1,3,1,6,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,507,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,508,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,509,94,95,89,41,42,90,91,86,87,88,83,101,484,84,85,510,483,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,1,118,511,8,20,16,65,1,1,20,37,1,516,513,96,517,268,512,514,515,8,20,16,65,1,1,20,37,1,516,519,96,517,268,518,514,515,2,102,1,520,268,2,102,1,521,268,25,36,20,131,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,164,522,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,25,36,20,131,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,164,523,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,25,36,20,131,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,164,524,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,5,6,22,2,1,5,-394,-394,525,526,-394,5,6,22,3,5,1,-261,-261,-261,-261,-261,6,6,22,3,5,1,117,-265,-265,-265,-265,-265,527,5,6,22,3,5,1,-266,-266,-266,-266,-266,1,154,528,8,6,22,3,5,1,14,2,101,-307,-307,-307,-307,-307,529,530,-307,6,6,22,3,5,1,117,-308,-308,-308,-308,-308,-308,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,531,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,4,91,11,1,38,267,266,268,532,18,20,7,6,42,4,1,21,1,1,11,25,1,10,5,2,1,1,25,300,100,535,536,538,537,96,301,268,302,87,88,101,533,534,539,540,82,15,6,22,3,5,1,14,2,28,30,5,1,1,4,3,29,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,15,6,22,3,5,1,14,2,28,30,5,1,1,4,3,29,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,15,6,22,3,5,1,14,2,28,30,5,1,1,4,3,29,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,26,6,14,3,5,3,5,48,1,4,1,1,1,6,1,2,1,1,11,26,1,8,2,1,1,2,1,-260,300,103,-260,-260,-260,296,294,102,104,170,107,105,106,96,301,268,302,298,297,541,291,292,293,295,299,6,23,68,1,3,1,4,307,170,107,543,306,542,5,91,1,2,2,4,-136,-136,-136,-136,-136,108,4,1,2,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,5,1,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,544,3,4,5,26,27,28,29,30,31,73,32,65,54,71,103,100,76,545,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,546,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,5,91,1,2,2,4,-141,-141,-141,-141,-141,6,23,68,1,2,1,1,307,170,107,547,543,306,5,1,5,31,60,88,-4,-4,-4,-4,-4,24,154,33,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,548,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,111,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,111,114,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,111,114,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,111,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,113,112,111,114,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,109,-522,113,112,111,114,115,-522,-522,-522,119,120,121,-522,-522,-522,-522,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,109,-523,113,112,111,114,115,116,-523,-523,119,120,121,-523,-523,-523,-523,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,109,-524,113,112,111,114,115,116,117,-524,119,120,121,-524,-524,-524,-524,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,109,-525,113,112,111,114,115,-525,-525,-525,-525,-525,121,-525,-525,-525,-525,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,109,-526,113,112,111,114,115,-526,-526,-526,-526,-526,121,-526,-526,-526,-526,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,109,-527,113,112,111,114,115,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,109,-528,113,112,111,114,115,116,117,118,119,120,121,-528,-528,-528,-528,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,109,-529,113,112,111,114,115,116,117,118,119,120,121,122,-529,-529,-529,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,109,-530,113,112,111,114,115,116,117,118,119,120,121,122,-530,-530,-530,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-537,-537,-537,-537,-537,-537,-537,-537,-537,-537,-537,-537,-537,-537,-537,-537,130,131,-537,126,-537,-537,-537,-537,129,-537,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-537,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-538,-538,-538,-538,-538,-538,-538,-538,-538,-538,-538,-538,-538,-538,-538,-538,130,131,-538,126,-538,-538,-538,-538,129,-538,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-538,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,130,131,-426,549,-426,-426,-426,-426,129,-426,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,130,131,-428,126,-428,-428,-428,-428,129,-428,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,4,212,2,2,2,550,551,552,553,12,20,7,6,68,6,7,26,1,9,16,45,8,157,100,159,96,158,160,162,161,101,202,554,201,12,20,7,6,68,6,7,26,1,9,16,45,8,157,100,159,96,158,160,162,161,101,202,555,201,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,130,131,556,126,-407,-407,-407,-407,129,-407,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-407,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,130,131,557,126,-409,-409,-409,-409,129,-409,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-409,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,130,131,-425,126,-425,-425,-425,-425,129,-425,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,130,131,-427,126,-427,-427,-427,-427,129,-427,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,130,131,558,126,-408,-408,-408,-408,129,-408,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-408,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,130,131,559,126,-410,-410,-410,-410,129,-410,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-410,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,5,6,24,1,5,76,-394,560,561,-394,-394,5,6,25,5,1,75,-387,-387,-387,-387,-387,109,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,6,1,1,11,1,1,4,3,1,1,1,1,1,1,6,3,6,2,1,8,2,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,356,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,355,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,562,92,93,94,95,89,41,42,90,91,86,87,88,83,354,101,259,84,85,258,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,29,6,25,5,1,75,30,45,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-392,-392,-392,-392,-392,-392,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-146,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,563,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,564,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,106,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,566,565,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,567,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,107,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,1,6,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,374,373,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,375,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,568,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,108,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,7,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,2,5,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,192,191,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,164,72,22,21,10,11,13,14,193,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,569,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,46,16,4,3,4,6,27,1,13,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,25,169,166,103,100,76,570,168,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,170,107,105,106,96,245,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,82,107,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,1,6,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,374,373,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,375,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,571,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,108,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,7,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,2,5,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,192,191,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,164,72,22,21,10,11,13,14,193,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,572,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,106,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,574,573,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,575,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,47,1,5,22,3,5,1,14,3,1,2,40,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-16,-16,-16,-16,-16,-16,576,577,578,579,-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,107,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,1,6,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,374,373,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,375,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,580,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,108,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,7,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,2,5,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,192,191,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,164,72,22,21,10,11,13,14,193,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,581,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,107,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,1,6,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,374,373,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,375,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,582,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,583,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,130,131,-171,126,127,128,-171,-171,129,-171,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,584,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,585,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,56,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,6,3,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-185,-185,-185,-185,-185,-185,136,137,-185,586,-185,-230,-230,-230,-185,-230,-230,-185,-230,140,-185,-185,-185,-185,-185,141,389,390,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,4,17,118,1,1,588,587,90,91,16,6,14,7,6,3,1,64,6,7,26,1,9,6,8,1,1,-395,157,100,159,-395,-395,96,158,160,162,161,101,155,589,154,156,2,6,30,590,591,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,592,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,6,6,25,5,1,75,22,-339,-339,-339,-339,-339,-339,7,6,25,5,1,14,61,22,-342,-342,-342,-342,-342,-342,-342,8,6,11,14,5,1,14,61,22,-344,593,-344,-344,-344,-344,-344,-344,56,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,5,2,3,10,1,5,1,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,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,2,6,31,108,594,2,111,20,142,349,2,111,20,142,350,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-161,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,595,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,596,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-164,1,37,597,1,37,598,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-514,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,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,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-158,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,599,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,106,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,601,600,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,602,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,130,131,-175,126,127,128,-175,-175,129,-175,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,44,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,3,1,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,603,405,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,9,20,7,6,3,20,45,6,34,9,604,100,605,164,607,96,606,161,101,106,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,7,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,609,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,164,72,22,21,10,11,13,14,608,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,3,1,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,610,405,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,44,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,3,1,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,611,405,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,612,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,613,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,614,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,615,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,1,214,616,1,216,617,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,618,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,11,20,7,6,68,6,7,26,1,9,16,53,157,100,159,96,158,160,162,161,101,202,619,3,206,1,1,620,421,422,4,37,157,13,1,621,622,623,422,3,37,157,14,-455,-455,-455,105,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,4,1,7,3,1,1,3,1,1,1,1,1,625,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,624,59,49,99,43,44,46,47,48,50,51,52,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,626,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,627,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,1,37,628,3,17,19,20,630,164,629,4,17,4,15,75,-330,631,-330,431,4,17,4,15,75,-330,632,-330,431,18,6,14,7,4,2,3,65,6,5,2,19,7,1,9,6,8,1,1,-332,157,100,-332,159,-332,96,158,-332,160,633,162,161,101,155,153,154,156,3,17,19,20,635,164,634,4,17,4,15,75,-330,636,-330,431,4,17,4,15,75,-330,637,-330,431,44,1,5,22,3,5,1,19,41,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-353,-353,-353,-353,164,-353,638,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-353,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,639,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,640,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,25,36,139,12,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,219,641,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,2,6,31,643,642,2,6,31,-366,-366,25,6,31,150,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-369,-369,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,6,6,31,150,1,9,1,-370,-370,134,135,132,133,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,644,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,1,101,645,1,37,646,3,27,6,117,100,647,101,3,23,68,1,648,170,107,3,26,1,13,649,650,230,3,23,68,1,651,170,107,1,25,652,5,6,22,2,1,5,-394,-394,653,654,-394,5,6,22,3,5,1,-35,-35,-35,-35,-35,6,20,9,6,1,3,62,456,655,454,455,457,96,6,6,22,3,5,1,1,-40,-40,-40,-40,-40,656,6,6,22,3,5,1,1,-42,-42,-42,-42,-42,657,1,25,658,1,25,659,7,20,8,1,6,1,3,62,456,660,661,454,455,457,96,2,20,81,662,96,44,1,5,19,3,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-46,-46,663,-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,5,6,22,2,1,5,-394,-394,664,665,-394,5,6,22,3,5,1,-85,-85,-85,-85,-85,6,20,16,3,3,17,42,667,465,467,666,464,96,8,6,22,3,5,2,13,2,101,-90,-90,-90,-90,668,-304,-304,-304,6,6,22,3,5,1,1,-93,-93,-93,-93,-93,669,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,130,131,-56,126,127,128,-56,-56,129,-56,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,3,27,6,117,100,670,101,3,23,68,1,671,170,107,3,20,19,62,672,673,96,6,17,4,15,16,1,58,-330,674,-330,429,430,431,106,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,676,675,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,677,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,5,51,3,1,2,1,678,679,680,681,682,1,51,683,1,51,684,4,54,1,2,1,361,362,364,365,4,17,37,1,2,685,368,369,370,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,2,6,31,108,686,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,687,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,57,10,5,4,3,5,10,4,17,28,1,1,1,1,1,1,6,1,2,18,7,1,1,4,4,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,4,4,3,5,1,5,7,3,1,1,3,1,1,1,1,1,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,57,10,5,4,3,5,10,4,17,28,1,1,1,1,1,1,6,1,2,18,7,1,1,4,4,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,4,4,3,5,1,5,7,3,1,1,3,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,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,68,1,5,11,1,10,3,5,1,14,1,2,1,2,1,23,2,14,13,1,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,2,1,1,2,2,5,1,5,1,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,-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,61,6,4,5,4,3,5,4,5,1,4,17,28,1,1,1,1,1,1,6,1,2,25,1,1,4,4,1,1,1,1,1,1,8,6,2,1,10,2,1,2,6,4,2,1,1,4,4,3,5,1,5,7,3,1,1,3,1,1,1,1,1,491,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,5,6,25,5,1,105,-251,-251,-251,-251,-251,2,36,106,689,688,115,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,4,2,3,1,4,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,1,1,3,1,1,2,6,2,1,8,2,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,-395,356,177,26,27,28,29,30,31,73,32,65,54,71,103,100,256,76,-395,-395,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,-395,691,690,257,253,101,259,84,85,258,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,4,6,30,1,105,692,-252,-252,-252,61,6,4,5,4,3,5,4,5,1,4,17,28,1,1,1,1,1,1,6,1,2,25,1,1,4,4,1,1,1,1,1,1,8,6,2,1,10,2,1,2,6,4,2,1,1,4,4,3,5,1,5,7,3,1,1,3,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,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,6,6,24,1,5,1,108,-394,490,489,-394,-394,693,109,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,4,2,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,6,1,2,6,2,1,8,2,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,356,177,26,27,28,29,30,31,73,32,65,54,71,103,100,256,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,487,486,101,259,84,85,258,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,29,6,25,5,1,75,30,45,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-349,-349,-349,-349,-349,-349,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,24,119,68,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,694,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,695,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,56,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,6,3,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-218,-218,-218,-218,-218,-218,-218,-218,-218,142,-218,-218,-218,-218,-218,-218,-218,-218,-218,696,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,2,102,1,697,268,2,102,1,698,268,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,699,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,3,23,68,1,700,170,107,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,68,1,5,11,1,10,3,5,1,14,1,2,1,2,1,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,8,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,68,1,5,11,1,10,3,5,1,14,1,2,1,2,1,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,8,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,28,31,88,37,6,1,24,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,702,701,484,703,483,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,108,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,5,6,1,1,4,3,1,1,1,1,1,1,9,6,2,1,3,1,6,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,704,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,705,94,95,89,41,42,90,91,86,87,88,83,101,484,84,85,510,483,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,1,119,706,106,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,4,4,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,4,7,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,707,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,-317,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,-317,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,105,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,708,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,709,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,5,6,24,1,5,88,-394,710,711,-394,-394,7,20,81,1,1,20,37,1,516,96,517,268,712,514,515,5,6,25,5,1,87,-294,-294,-294,-294,-294,7,6,25,5,1,14,73,30,-298,-298,-298,-298,714,-298,713,7,6,25,5,1,14,73,30,-302,-302,-302,-302,-302,-302,-302,7,6,25,5,1,14,73,30,-303,-303,-303,-303,-303,-303,-303,5,6,24,1,5,88,-394,715,711,-394,-394,7,20,81,1,1,20,37,1,516,96,517,268,716,514,515,68,1,5,11,1,10,3,5,1,14,1,2,1,2,1,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,8,1,1,1,5,1,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,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,68,1,5,11,1,10,3,5,1,14,1,2,1,2,1,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,8,1,1,1,5,1,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,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,44,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,4,1,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,717,718,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,719,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,3,6,22,8,721,720,722,25,6,14,3,5,8,1,47,1,4,1,1,1,6,1,2,1,1,11,26,1,10,1,1,2,1,-395,300,103,-395,-395,-395,296,294,102,104,170,107,105,106,96,301,268,302,298,297,723,292,293,295,299,105,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,724,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,725,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,726,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,105,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,727,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,728,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,1,154,729,24,142,45,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,730,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,731,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,13,6,22,3,5,1,44,30,5,1,1,4,3,6,-274,-274,-274,-274,-274,-276,142,-276,-276,-276,-276,-276,732,13,6,22,3,5,1,44,30,5,1,1,4,3,6,-275,-275,-275,-275,-275,737,142,734,735,736,738,739,733,12,6,22,3,5,1,44,30,5,1,1,4,3,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,12,6,22,3,5,1,44,30,5,1,1,4,3,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,12,6,22,3,5,1,44,30,5,1,1,4,3,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,12,6,22,3,5,1,44,30,5,1,1,4,3,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,4,111,5,2,13,142,261,262,740,2,111,20,142,741,5,6,22,2,1,5,-394,-394,742,526,-394,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,5,91,1,2,2,4,-137,-137,-137,-137,-137,2,6,91,108,743,106,4,1,2,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,744,3,4,5,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,5,91,1,2,2,4,-140,-140,-140,-140,-140,61,1,5,22,3,1,4,1,44,2,8,1,2,2,1,3,11,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,745,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,105,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,747,177,335,336,28,29,30,31,73,32,65,54,71,103,100,76,746,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,748,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,749,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,750,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,751,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,1,214,752,1,216,753,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,754,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,755,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,756,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,757,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,3,6,30,76,759,760,758,111,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,1,4,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,5,2,1,11,1,1,4,3,1,1,1,1,1,1,6,3,6,2,1,8,2,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,-395,356,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,-395,-395,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,-395,92,93,94,95,89,41,42,90,91,86,87,88,83,761,101,259,84,85,258,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,5,6,24,1,5,1,-394,762,561,-394,-394,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-147,24,37,150,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,763,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-149,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,764,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,765,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,56,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,6,3,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-186,-186,-186,-186,-186,-186,136,137,-186,766,-186,-230,-230,-230,-186,-230,-230,-186,-230,140,-186,-186,-186,-186,-186,141,389,390,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-152,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,767,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,768,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,106,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,770,769,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,771,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,107,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,1,6,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,374,373,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,375,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,772,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,108,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,7,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,2,5,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,192,191,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,164,72,22,21,10,11,13,14,193,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,773,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,107,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,1,6,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,374,373,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,375,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,774,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-160,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,130,131,-172,126,127,128,-172,-172,129,-172,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,24,37,150,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,775,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,110,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,5,1,1,1,11,1,1,4,3,1,1,1,1,1,1,6,3,6,2,1,8,2,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,356,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,355,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,776,777,92,93,94,95,89,41,42,90,91,86,87,88,83,354,101,259,84,85,258,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,2,36,20,164,778,3,135,1,1,779,90,91,6,6,25,5,1,75,22,-334,-334,-334,-334,-334,-334,13,20,7,6,68,6,7,26,1,9,6,8,1,1,157,100,159,96,158,160,162,161,101,155,780,154,156,18,6,14,7,4,2,3,1,64,6,7,19,7,1,9,6,8,1,1,-332,157,100,-332,159,-332,-332,96,158,160,781,162,161,101,155,153,154,156,29,6,25,5,1,75,22,53,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-338,-338,-338,-338,-338,-338,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,7,6,25,5,1,14,61,22,-343,-343,-343,-343,-343,-343,-343,56,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,5,2,3,10,1,5,1,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,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,24,37,150,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,782,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-163,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,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,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-159,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-165,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,783,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,784,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,2,36,20,164,785,2,36,20,164,786,2,36,20,164,787,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,130,131,-444,126,127,128,-444,-444,129,-444,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,27,36,20,131,1,1,5,3,1,12,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,164,788,130,131,790,126,127,128,129,789,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,26,36,20,131,1,1,5,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,164,791,130,131,792,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,26,36,20,131,1,1,5,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,164,793,130,131,794,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,26,36,20,131,1,1,5,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,164,795,130,131,796,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,797,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,798,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,25,36,20,131,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,164,799,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,4,212,2,2,2,-495,-495,-495,-495,4,37,157,13,1,800,801,623,422,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,2,36,20,164,802,3,37,157,14,-456,-456,-456,3,31,5,20,804,164,803,25,31,5,151,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-459,-459,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,25,36,20,131,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,164,805,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,25,36,20,131,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,164,806,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,44,1,5,22,3,5,1,19,41,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-17,-17,-17,-17,164,-17,807,-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,3,17,19,20,809,164,808,3,17,19,20,811,164,810,5,6,24,1,5,76,-394,382,381,-394,812,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,2,36,20,164,813,3,17,19,20,815,164,814,3,17,19,20,817,164,816,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,44,1,5,22,3,5,1,19,41,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-357,-357,-357,-357,164,-357,818,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-357,25,36,20,131,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,164,819,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,109,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,4,4,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,3,1,1,1,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,-368,443,444,26,27,28,29,30,31,73,32,65,54,71,103,100,76,-368,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,820,445,446,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,25,6,31,150,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-371,-371,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,2,6,31,-372,-372,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,44,1,5,22,3,1,4,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-19,-19,-19,-19,821,-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,1,25,822,6,20,9,6,1,3,62,456,823,454,455,457,96,44,1,5,22,3,1,4,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-20,-20,-20,-20,824,-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,3,23,68,1,825,170,107,3,6,22,8,827,826,828,8,6,14,8,7,1,1,2,62,-395,456,-395,829,-395,-395,457,96,5,6,24,1,5,1,-394,830,654,-394,-394,2,20,81,831,96,2,20,81,832,96,3,23,68,1,833,170,107,3,23,68,1,834,170,107,1,25,835,5,6,22,2,1,5,-394,-394,836,654,-394,1,25,-45,3,23,68,1,837,170,107,3,6,22,8,839,838,840,8,6,14,8,8,1,2,20,42,-395,667,-395,-395,-395,467,841,96,5,6,24,1,5,1,-394,842,665,-394,-394,6,6,22,3,5,1,1,-90,-90,-90,-90,-90,668,3,20,19,62,843,844,96,2,20,81,845,96,1,37,846,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,1,25,847,1,25,848,3,17,19,20,849,164,629,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,130,131,-63,126,127,128,-63,-63,129,-63,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,850,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,851,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,106,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,853,852,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,854,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,106,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,856,855,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,857,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,107,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,7,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,859,858,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,164,72,22,21,10,11,13,14,860,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,106,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,862,861,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,863,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,107,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,7,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,865,864,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,164,72,22,21,10,11,13,14,866,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,867,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,106,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,869,868,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,870,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,3,54,1,2,577,578,579,1,185,871,24,142,45,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,872,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,68,1,5,11,1,10,3,5,1,14,1,2,1,2,1,23,2,14,13,1,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,2,1,1,2,2,5,1,5,1,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,-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,113,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,4,2,3,5,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,2,1,2,1,1,2,6,2,1,8,2,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,356,177,26,27,28,29,30,31,73,32,65,54,71,103,100,256,76,255,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,493,873,254,257,253,101,259,84,85,258,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,5,6,25,5,1,105,-246,-246,-246,-246,-246,112,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,4,2,3,1,4,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,1,5,1,2,6,2,1,8,2,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,356,177,26,27,28,29,30,31,73,32,65,54,71,103,100,256,76,-253,-253,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,-253,487,486,101,259,84,85,258,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,111,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,4,2,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,2,3,1,1,2,6,2,1,8,2,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,356,177,26,27,28,29,30,31,73,32,65,54,71,103,100,256,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,493,874,257,253,101,259,84,85,258,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,2,36,1,689,875,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,24,37,150,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,876,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,24,119,68,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,877,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,68,1,5,11,1,10,3,5,1,14,1,2,1,2,1,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,8,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,878,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,106,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,4,4,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,4,7,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,879,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,-315,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,-315,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,27,37,119,6,1,24,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,880,484,703,483,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,1,37,881,68,1,5,11,1,10,3,5,1,14,1,2,1,2,1,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,8,1,1,1,5,1,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,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,25,37,82,68,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-316,-316,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,24,119,68,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,882,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,883,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,3,6,30,88,885,886,884,10,6,14,16,1,64,1,1,21,36,1,-395,516,-395,-395,96,517,268,-395,887,515,5,6,24,1,5,1,-394,888,711,-394,-394,5,20,81,1,1,58,516,96,517,268,889,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,890,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,3,6,30,88,885,886,891,5,6,24,1,5,1,-394,892,711,-394,-394,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,3,36,20,136,164,894,893,2,36,20,164,895,68,1,5,11,1,10,3,5,1,14,1,2,1,2,1,23,2,14,13,1,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,2,1,1,2,2,5,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,21,20,3,61,1,4,1,1,1,6,1,2,1,1,11,26,1,10,1,1,2,1,300,103,296,294,102,104,170,107,105,106,96,301,268,302,298,297,896,292,293,295,299,26,6,14,3,8,5,1,47,1,4,1,1,1,6,1,2,1,1,11,26,1,8,2,1,1,2,1,-260,300,103,-260,-260,-260,296,294,102,104,170,107,105,106,96,301,268,302,298,297,897,291,292,293,295,299,5,6,22,3,5,1,-262,-262,-262,-262,-262,28,6,22,3,5,1,150,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-267,-267,-267,-267,-267,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,898,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,28,6,22,3,5,1,150,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-269,-269,-269,-269,-269,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,28,6,22,3,5,1,150,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-270,-270,-270,-270,-270,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,899,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,105,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,900,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,901,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,6,6,22,3,5,1,117,-309,-309,-309,-309,-309,-309,24,142,45,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,902,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,12,6,22,3,5,1,44,30,5,1,1,4,3,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,12,6,22,3,5,1,44,30,5,1,1,4,3,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,2,102,1,903,268,2,102,1,904,268,105,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,905,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,906,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,12,6,22,3,5,1,44,30,5,1,1,4,3,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,8,20,16,65,1,1,20,37,1,516,908,96,517,268,907,514,515,8,20,16,65,1,1,20,37,1,516,910,96,517,268,909,514,515,12,6,22,3,5,1,44,30,5,1,1,4,3,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,12,6,22,3,5,1,44,30,5,1,1,4,3,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,3,6,22,8,721,911,722,5,91,1,2,2,4,-138,-138,-138,-138,-138,2,6,31,108,912,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-505,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,913,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,130,131,-430,126,-430,-430,-430,-430,129,-430,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-430,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,914,-478,-478,-478,-478,-478,-478,915,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-478,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,916,-483,-483,-483,-483,-483,-483,-483,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-483,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,917,-487,-487,-487,-487,-487,-487,-487,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-487,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,918,-491,-491,-491,-491,-491,-491,-491,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-491,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,919,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,920,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-411,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-413,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-412,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-414,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,107,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,6,3,6,2,1,8,2,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,356,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,921,101,259,84,85,258,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,109,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,6,1,1,11,1,1,4,3,1,1,1,1,1,1,6,3,6,2,1,8,2,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,356,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,355,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,922,92,93,94,95,89,41,42,90,91,86,87,88,83,354,101,259,84,85,258,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,5,6,25,5,1,75,-388,-388,-388,-388,-388,3,6,30,1,759,760,923,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-150,24,37,150,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,924,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,110,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,5,1,1,1,11,1,1,4,3,1,1,1,1,1,1,6,3,6,2,1,8,2,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,356,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,355,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,925,926,92,93,94,95,89,41,42,90,91,86,87,88,83,354,101,259,84,85,258,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-153,24,37,150,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,927,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-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,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-155,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,928,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,929,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-187,-187,-187,-187,-187,-187,-385,-385,-187,-385,-187,-385,-385,-385,-187,-385,-385,-187,-385,-187,-187,-187,-187,-187,-385,-385,-385,-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,5,6,24,1,5,76,-394,930,561,-394,-394,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,2,36,20,164,931,6,6,25,5,1,75,22,-335,-335,-335,-335,-335,-335,5,6,24,1,5,1,-394,932,381,-394,-394,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-166,24,37,150,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,933,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,934,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,935,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,936,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-470,-470,-470,-470,-470,-470,-470,-470,-470,-470,-470,-470,-470,-470,-470,-470,-470,-470,-470,-470,-470,-470,-470,-470,-470,-470,-470,-470,-470,-470,-470,-470,-470,-470,-470,-470,-470,-470,-470,-470,-470,-470,-470,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,937,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,938,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,26,36,20,131,1,1,5,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,164,939,130,131,940,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,26,36,20,131,1,1,5,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,164,941,130,131,942,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,2,36,20,164,943,1,37,944,4,6,31,157,14,945,-457,-457,-457,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,946,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,2,36,20,164,947,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,2,36,20,164,948,2,17,19,-331,-331,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,2,36,20,164,949,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,2,36,20,164,950,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,2,6,31,-367,-367,3,27,6,117,100,951,101,3,23,68,1,952,170,107,5,6,22,2,1,5,-394,-394,953,654,-394,3,27,6,117,100,954,101,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,1,25,955,4,20,15,4,62,456,956,457,96,6,20,9,6,1,3,62,456,957,454,455,457,96,5,6,22,3,5,1,-36,-36,-36,-36,-36,3,6,30,1,827,828,958,5,6,22,3,5,1,-41,-41,-41,-41,-41,5,6,22,3,5,1,-43,-43,-43,-43,-43,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,3,23,68,1,959,170,107,3,6,22,8,827,960,828,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,44,1,5,19,3,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-47,-47,961,-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,4,20,19,20,42,667,467,962,96,6,20,16,3,3,17,42,667,465,467,963,464,96,5,6,22,3,5,1,-86,-86,-86,-86,-86,3,6,30,1,839,840,964,5,6,22,3,5,1,-91,-91,-91,-91,-91,5,6,22,3,5,1,-92,-92,-92,-92,-92,5,6,22,3,5,1,-94,-94,-94,-94,-94,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,3,23,68,1,965,170,107,3,23,68,1,966,170,107,2,36,20,164,807,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,130,131,-64,126,127,128,-64,-64,129,-64,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,24,37,150,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,967,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,130,131,-66,126,127,128,-66,-66,129,-66,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,968,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,969,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,130,131,-73,126,127,128,-73,-73,129,-73,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,970,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,971,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,130,131,-76,126,127,128,-76,-76,129,-76,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,972,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,130,131,-79,126,127,128,-79,-79,129,-79,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,973,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,974,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,130,131,-82,126,127,128,-82,-82,129,-82,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,975,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,130,131,-69,126,127,128,-69,-69,129,-69,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,130,131,-70,126,127,128,-70,-70,129,-70,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,976,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,977,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,6,6,24,1,5,1,108,-394,490,489,-394,-394,978,5,6,25,5,1,105,-247,-247,-247,-247,-247,5,6,25,5,1,105,-248,-248,-248,-248,-248,1,119,979,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,24,119,68,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,980,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,25,37,82,68,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-314,-314,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,1,119,981,1,119,982,68,1,5,11,1,10,3,5,1,14,1,2,1,2,1,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,8,1,1,1,5,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,-207,-207,-207,-207,-207,24,37,150,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,983,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,68,1,5,11,1,10,3,5,1,14,1,2,1,2,1,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,8,1,1,1,5,1,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,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,6,20,81,1,1,57,1,516,96,517,268,984,515,7,20,81,1,1,20,37,1,516,96,517,268,985,514,515,5,6,25,5,1,87,-295,-295,-295,-295,-295,3,6,30,1,885,886,986,6,6,25,5,1,14,73,-299,-299,-299,-299,987,-299,28,6,25,5,1,87,63,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-300,-300,-300,-300,-300,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,68,1,5,11,1,10,3,5,1,14,1,2,1,2,1,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,8,1,1,1,5,1,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,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,3,6,30,1,885,886,988,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,989,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,5,6,22,3,5,1,-263,-263,-263,-263,-263,5,6,24,1,5,1,-394,990,526,-394,-394,24,37,150,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,991,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,24,37,150,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,992,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,28,6,22,3,5,1,150,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-272,-272,-272,-272,-272,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,993,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,6,6,22,3,5,1,117,-310,-310,-310,-310,-310,-310,12,6,22,3,5,1,44,30,5,1,1,4,3,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,12,6,22,3,5,1,44,30,5,1,1,4,3,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,24,119,68,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,994,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,995,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,5,6,24,1,5,88,-394,996,711,-394,-394,7,20,81,1,1,20,37,1,516,96,517,268,997,514,515,5,6,24,1,5,88,-394,998,711,-394,-394,7,20,81,1,1,20,37,1,516,96,517,268,999,514,515,68,1,5,11,1,10,3,5,1,14,1,2,1,2,1,23,2,14,13,1,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,2,1,1,2,2,5,1,5,1,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,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,1,97,1000,24,37,150,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1001,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,1002,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,1003,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,1004,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,1005,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,1006,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,1007,-485,-485,-485,-485,-485,-485,-485,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-485,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,1008,-489,-489,-489,-489,-489,-489,-489,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-489,5,6,25,5,1,75,-389,-389,-389,-389,-389,5,6,24,1,5,1,-394,1009,561,-394,-394,5,6,25,5,1,75,-390,-390,-390,-390,-390,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-188,-188,-188,-188,-188,-188,-385,-385,-188,-385,-188,-385,-385,-385,-188,-385,-385,-188,-385,-188,-188,-188,-188,-188,-385,-385,-385,-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,5,6,24,1,5,76,-394,1010,561,-394,-394,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-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,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,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,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-156,24,37,150,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1011,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,3,6,30,76,759,760,1012,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,3,6,30,1,590,591,1013,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,26,36,20,131,1,1,5,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,164,1014,130,131,1015,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,26,36,20,131,1,6,3,1,12,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,164,1016,130,131,126,127,128,129,1017,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,25,36,20,131,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,164,1018,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,25,36,20,131,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,164,1019,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,25,36,20,131,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,164,1020,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,1021,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-472,-472,-472,-472,-472,-472,-472,-472,-472,-472,-472,-472,-472,-472,-472,-472,-472,-472,-472,-472,-472,-472,-472,-472,-472,-472,-472,-472,-472,-472,-472,-472,-472,-472,-472,-472,-472,-472,-472,-472,-472,-472,-472,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,1022,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,1,37,1023,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,3,37,157,14,-458,-458,-458,25,31,5,151,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-460,-460,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,44,1,5,22,3,1,4,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-23,-23,-23,-23,1024,-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,3,6,22,8,827,1025,828,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,3,23,68,1,1026,170,107,5,6,22,3,5,1,-37,-37,-37,-37,-37,5,6,24,1,5,1,-394,1027,654,-394,-394,5,6,22,3,5,1,-38,-38,-38,-38,-38,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,1,25,1028,3,23,68,1,1029,170,107,5,6,22,3,5,1,-87,-87,-87,-87,-87,5,6,24,1,5,1,-394,1030,665,-394,-394,5,6,22,3,5,1,-88,-88,-88,-88,-88,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,130,131,-67,126,127,128,-67,-67,129,-67,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,24,37,150,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1031,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,130,131,-74,126,127,128,-74,-74,129,-74,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,24,37,150,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1032,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,130,131,-77,126,127,128,-77,-77,129,-77,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,130,131,-80,126,127,128,-80,-80,129,-80,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,24,37,150,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1033,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,130,131,-83,126,127,128,-83,-83,129,-83,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,130,131,-71,126,127,128,-71,-71,129,-71,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,24,37,150,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1034,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,2,36,1,689,1035,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,68,1,5,11,1,10,3,5,1,14,1,2,1,2,1,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,8,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,68,1,5,11,1,10,3,5,1,14,1,2,1,2,1,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,8,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,68,1,5,11,1,10,3,5,1,14,1,2,1,2,1,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,8,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-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,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,1,119,1036,5,6,25,5,1,87,-296,-296,-296,-296,-296,5,6,24,1,5,1,-394,1037,711,-394,-394,1,124,1038,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,1039,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,1,124,1040,25,36,20,131,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,164,1041,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,3,6,30,1,721,722,1042,5,6,22,3,5,1,-268,-268,-268,-268,-268,5,6,22,3,5,1,-271,-271,-271,-271,-271,24,37,150,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1043,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,12,6,22,3,5,1,44,30,5,1,1,4,3,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,24,37,150,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1044,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,3,6,30,88,885,886,1045,5,6,24,1,5,1,-394,1046,711,-394,-394,3,6,30,88,885,886,1047,5,6,24,1,5,1,-394,1048,711,-394,-394,5,91,1,2,2,4,-139,-139,-139,-139,-139,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,1049,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-479,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,1050,-480,-480,-480,-480,-480,-480,-480,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-480,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-484,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-488,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-492,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,1051,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,1052,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,3,6,30,1,759,760,1053,3,6,30,76,759,760,1054,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,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,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-189,-189,-189,-189,-189,-189,-386,-386,-189,-386,-189,-386,-386,-386,-189,-386,-386,-189,-386,-189,-189,-189,-189,-189,-386,-386,-386,-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,6,6,25,5,1,75,22,-336,-336,-336,-336,-336,-336,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,1055,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,1056,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-471,-471,-471,-471,-471,-471,-471,-471,-471,-471,-471,-471,-471,-471,-471,-471,-471,-471,-471,-471,-471,-471,-471,-471,-471,-471,-471,-471,-471,-471,-471,-471,-471,-471,-471,-471,-471,-471,-471,-471,-471,-471,-471,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,25,36,20,131,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,164,1057,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,25,36,20,131,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,164,1058,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,3,27,6,117,100,1059,101,1,25,1060,44,1,5,22,3,1,4,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-22,-22,-22,-22,1061,-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,3,6,30,1,827,828,1062,3,23,68,1,1063,170,107,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,3,6,30,1,839,840,1064,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,5,6,25,5,1,105,-249,-249,-249,-249,-249,68,1,5,11,1,10,3,5,1,14,1,2,1,2,1,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,8,1,1,1,5,1,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,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,3,6,30,1,885,886,1065,68,1,5,11,1,10,3,5,1,14,1,2,1,2,1,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,8,1,1,1,5,1,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,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,28,6,25,5,1,87,63,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-301,-301,-301,-301,-301,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,68,1,5,11,1,10,3,5,1,14,1,2,1,2,1,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,8,1,1,1,5,1,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,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,44,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,4,1,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,1066,718,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,5,6,22,3,5,1,-264,-264,-264,-264,-264,5,6,22,3,5,1,-273,-273,-273,-273,-273,1,119,1067,12,6,22,3,5,1,44,30,5,1,1,4,3,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,3,6,30,1,885,886,1068,12,6,22,3,5,1,44,30,5,1,1,4,3,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,3,6,30,1,885,886,1069,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,1070,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,1071,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-486,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-490,5,6,25,5,1,75,-391,-391,-391,-391,-391,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-190,-190,-190,-190,-190,-190,-386,-386,-190,-386,-190,-386,-386,-386,-190,-386,-386,-190,-386,-190,-190,-190,-190,-190,-386,-386,-386,-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,25,36,20,131,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,164,1072,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,25,36,20,131,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,164,1073,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-473,-473,-473,-473,-473,-473,-473,-473,-473,-473,-473,-473,-473,-473,-473,-473,-473,-473,-473,-473,-473,-473,-473,-473,-473,-473,-473,-473,-473,-473,-473,-473,-473,-473,-473,-473,-473,-473,-473,-473,-473,-473,-473,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,3,23,68,1,1074,170,107,3,27,6,117,100,1075,101,5,6,22,3,5,1,-39,-39,-39,-39,-39,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,5,6,22,3,5,1,-89,-89,-89,-89,-89,5,6,25,5,1,87,-297,-297,-297,-297,-297,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,12,6,22,3,5,1,44,30,5,1,1,4,3,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,1,124,1076,1,124,1077,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-481,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-482,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,44,1,5,22,3,1,4,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-24,-24,-24,-24,1078,-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,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,12,6,22,3,5,1,44,30,5,1,1,4,3,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,12,6,22,3,5,1,44,30,5,1,1,4,3,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,3,27,6,117,100,1079,101,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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],t=[],r=0,i,n,s,a;while(r","ArrowKind → =>","DoIife → DO_IIFE Code","This → THIS","This → @","ThisProperty → @ Property","ThisProperty → @ STRING","Array → [ ]","Array → [ Elisions ]","Array → [ ArgElisionList OptElisions ]","ArgElisionList → ArgElision","ArgElisionList → ArgElisionList , ArgElision","ArgElisionList → ArgElisionList OptComma TERMINATOR ArgElision","ArgElisionList → INDENT ArgElisionList OptElisions OUTDENT","ArgElisionList → ArgElisionList OptElisions INDENT ArgElisionList OptElisions OUTDENT","ArgElision → Arg","ArgElision → Elisions Arg","OptElisions → OptComma","OptElisions → , Elisions","Elisions → Elision","Elisions → Elisions Elision","Elision → ,","Elision → Elision TERMINATOR","Object → { AssignList OptComma }","Object → MAP_START { AssignList OptComma }","AssignList → ε","AssignList → AssignObj","AssignList → AssignList , AssignObj","AssignList → AssignList OptComma TERMINATOR AssignObj","AssignList → AssignList OptComma INDENT AssignList OptComma OUTDENT","AssignObj → ObjAssignable","AssignObj → ObjRestValue","AssignObj → ObjAssignable : Expression","AssignObj → ObjAssignable : INDENT Expression OUTDENT","AssignObj → Regex : Expression","AssignObj → SimpleObjAssignable = Expression","AssignObj → SimpleObjAssignable = INDENT Expression OUTDENT","AssignObj → SimpleObjAssignable VOID_MARKER : Expression","AssignObj → SimpleObjAssignable VOID_MARKER : INDENT Expression OUTDENT","ObjRestValue → ... SimpleObjAssignable","ObjRestValue → ... ObjSpreadExpr","ObjSpreadExpr → SimpleObjAssignable","ObjSpreadExpr → Object","ObjSpreadExpr → Parenthetical","ObjSpreadExpr → Super","ObjSpreadExpr → This","ObjSpreadExpr → SUPER Arguments","ObjSpreadExpr → DYNAMIC_IMPORT Arguments","ObjSpreadExpr → SimpleObjAssignable Arguments","ObjSpreadExpr → ObjSpreadExpr Arguments","ObjSpreadExpr → ObjSpreadExpr . Property","ObjSpreadExpr → ObjSpreadExpr ?. Property","ObjSpreadExpr → ObjSpreadExpr INDEX_START Expression INDEX_END","ObjSpreadExpr → ObjSpreadExpr INDEX_START INDENT Expression OUTDENT INDEX_END","ObjSpreadExpr → ObjSpreadExpr DAMMIT","ObjSpreadExpr → ObjSpreadExpr PICK_START PickList OptComma PICK_END","ObjSpreadExpr → ObjSpreadExpr OPTPICK_START PickList OptComma PICK_END","ObjSpreadExpr → ObjSpreadExpr PICK_START INDENT PickList OptComma OUTDENT PICK_END","ObjSpreadExpr → ObjSpreadExpr OPTPICK_START INDENT PickList OptComma OUTDENT PICK_END","PickList → PickItem","PickList → PickList , PickItem","PickList → PickList OptComma TERMINATOR PickItem","PickList → PickList OptComma INDENT PickList OptComma OUTDENT","PickItem → PickKey","PickItem → PickKey : PickKey","PickItem → PickKey = Expression","PickItem → PickKey : PickKey = Expression","PickKey → Identifier","PickKey → Property","SimpleObjAssignable → Identifier","SimpleObjAssignable → Property","SimpleObjAssignable → ThisProperty","ObjAssignable → SimpleObjAssignable","ObjAssignable → Atom","ObjAssignable → [ Expression ]","ObjAssignable → @ [ Expression ]","RangeDots → ..","RangeDots → ...","Range → [ Expression RangeDots Expression ]","Slice → Expression RangeDots Expression","Slice → Expression RangeDots","Slice → RangeDots Expression","Slice → RangeDots","Def → DEF Identifier OptParams Block","Def → DEF Identifier OptParams TYPE Block","Def → DEF Identifier TYPE_PARAMS OptParams Block","Def → DEF Identifier TYPE_PARAMS OptParams TYPE Block","Def → DEF Identifier VOID_MARKER OptParams Block","Def → DEF Identifier VOID_MARKER OptParams TYPE Block","Def → DEF ThisProperty OptParams Block","Def → DEF ThisProperty OptParams TYPE Block","Def → DEF ThisProperty TYPE_PARAMS OptParams Block","Def → DEF ThisProperty TYPE_PARAMS OptParams TYPE Block","Def → DEF ThisProperty VOID_MARKER OptParams Block","Def → DEF ThisProperty VOID_MARKER OptParams TYPE Block","OptParams → ε","OptParams → CALL_START ParamList CALL_END","ParamList → ε","ParamList → Param","ParamList → ParamList , Param","ParamList → ParamList OptComma TERMINATOR Param","ParamList → ParamList OptComma INDENT ParamList OptComma OUTDENT","Param → TypedParamVar","Param → TypedParamVar = Expression","Param → ... TypedParamVar","Param → ...","TypedParamVar → ParamVar","TypedParamVar → ParamVar TYPE","TypedParamVar → ParamVar OPT_MARKER TYPE","TypedParamVar → ParamVar OPT_MARKER","ParamVar → Identifier","ParamVar → Array","ParamVar → Object","ParamVar → ThisProperty","Splat → ... Expression","ClassName → Identifier","Class → CLASS","Class → CLASS Block","Class → CLASS EXTENDS Expression","Class → CLASS EXTENDS Expression Block","Class → CLASS ClassName","Class → CLASS ClassName Block","Class → CLASS ClassName EXTENDS Expression","Class → CLASS ClassName EXTENDS Expression Block","Class → CLASS ThisProperty Block","Class → CLASS ThisProperty EXTENDS Expression Block","Enum → ENUM Identifier Block","Schema → SCHEMA SCHEMA_BODY","Component → COMPONENT ComponentBlock","Component → COMPONENT EXTENDS Expression ComponentBlock","ComponentBlock → INDENT ComponentBody OUTDENT","ComponentBody → ComponentLine","ComponentBody → ComponentBody TERMINATOR ComponentLine","ComponentBody → ComponentBody TERMINATOR","ComponentLine → Expression","ComponentLine → Statement","ComponentLine → OFFER Expression","ComponentLine → ACCEPT IDENTIFIER","Render → RENDER Block","Render → RENDER Expression","Super → SUPER . Property","Super → SUPER INDEX_START Expression INDEX_END","Super → SUPER INDEX_START INDENT Expression OUTDENT INDEX_END","Invocation → Value Arguments","Invocation → SUPER Arguments","Invocation → Value ES6_OPTIONAL_CALL Arguments","Invocation → Value ? Arguments","Invocation → Value PRESENCE Arguments","Invocation → DYNAMIC_IMPORT Arguments","Invocation → DYNAMIC_IMPORT DAMMIT Arguments","Arguments → CALL_START CALL_END","Arguments → CALL_START ArgList OptComma CALL_END","ArgList → Arg","ArgList → ArgList , Arg","ArgList → ArgList OptComma TERMINATOR Arg","ArgList → INDENT ArgList OptComma OUTDENT","ArgList → ArgList OptComma INDENT ArgList OptComma OUTDENT","Arg → Expression","Arg → Splat","OptComma → ε","OptComma → ,","Block → INDENT OUTDENT","Block → INDENT Body OUTDENT","Parenthetical → ( Body )","Parenthetical → ( INDENT Body OUTDENT )","Return → RETURN Expression","Return → RETURN INDENT Object OUTDENT","Return → RETURN","While → WHILE Expression Block","While → UNTIL Expression Block","While → WHILE Expression WHEN Expression Block","While → UNTIL Expression WHEN Expression Block","While → Expression WHILE Expression","While → Statement WHILE Expression","While → Expression UNTIL Expression","While → Statement UNTIL Expression","While → Expression WHILE Expression WHEN Expression","While → Statement WHILE Expression WHEN Expression","While → Expression UNTIL Expression WHEN Expression","While → Statement UNTIL Expression WHEN Expression","While → Loop","IfBlock → IF Expression Block","IfBlock → IF Expression Block IfElseTail","IfElseTail → ELSE IF Expression Block","IfElseTail → ELSE IF Expression Block IfElseTail","IfElseTail → ELSE Block","UnlessBlock → UNLESS Expression Block","UnlessBlock → UNLESS Expression Block ELSE Block","If → IfBlock","If → UnlessBlock","If → Statement POST_IF Expression","If → Expression POST_IF Expression","If → Statement POST_UNLESS Expression","If → Expression POST_UNLESS Expression","If → Expression POST_IF Expression ELSE INDENT Expression OUTDENT","If → Expression POST_IF Expression ELSE Expression","Try → TRY Block","Try → TRY Expression","Try → TRY Expression Catch","Try → TRY Statement","Try → TRY Statement Catch","Try → TRY Block Catch","Try → TRY Block Finalizer","Try → TRY Block Catch Finalizer","Try → TRY Expression Finalizer","Try → TRY Expression Catch Finalizer","Try → TRY Statement Finalizer","Try → TRY Statement Catch Finalizer","Finalizer → FINALLY Block","Finalizer → FINALLY Expression","Catch → CATCH Identifier Block","Catch → CATCH Object Block","Catch → CATCH Array Block","Catch → CATCH Block","Throw → THROW Expression","Throw → THROW INDENT Object OUTDENT","Switch → SWITCH Expression INDENT Cases OUTDENT","Switch → SWITCH Expression INDENT Cases ELSE Block OUTDENT","Switch → SWITCH INDENT Cases OUTDENT","Switch → SWITCH INDENT Cases ELSE Block OUTDENT","Cases → When","Cases → Cases When","When → LEADING_WHEN SimpleArgs Block","When → LEADING_WHEN SimpleArgs Block TERMINATOR","SimpleArgs → Expression","SimpleArgs → SimpleArgs , Expression","For → FOR ForVariables FORIN Expression Block","For → FOR ForVariables FORIN Expression BY Expression Block","For → FOR ForVariables FORIN Expression WHEN Expression Block","For → FOR ForVariables FORIN Expression WHEN Expression BY Expression Block","For → FOR ForVariables FORIN Expression BY Expression WHEN Expression Block","For → FOR ForVariables FOROF Expression Block","For → FOR ForVariables FOROF Expression WHEN Expression Block","For → FOR OWN ForVariables FOROF Expression Block","For → FOR OWN ForVariables FOROF Expression WHEN Expression Block","For → FOR ForVariables FORAS Expression Block","For → FOR ForVariables FORAS Expression WHEN Expression Block","For → FOR AWAIT ForVariables FORAS Expression Block","For → FOR AWAIT ForVariables FORAS Expression WHEN Expression Block","For → FOR ForVariables FORASAWAIT Expression Block","For → FOR ForVariables FORASAWAIT Expression WHEN Expression Block","For → FOR Range Block","For → FOR Range BY Expression Block","For → Expression FOR ForVariables FORIN Expression","For → Expression FOR ForVariables FORIN Expression WHEN Expression","For → Expression FOR ForVariables FORIN Expression BY Expression","For → Expression FOR ForVariables FORIN Expression WHEN Expression BY Expression","For → Expression FOR ForVariables FORIN Expression BY Expression WHEN Expression","For → Expression FOR ForVariables FOROF Expression","For → Expression FOR ForVariables FOROF Expression WHEN Expression","For → Expression FOR OWN ForVariables FOROF Expression","For → Expression FOR OWN ForVariables FOROF Expression WHEN Expression","For → Expression FOR ForVariables FORAS Expression","For → Expression FOR ForVariables FORAS Expression WHEN Expression","For → Expression FOR AWAIT ForVariables FORAS Expression","For → Expression FOR AWAIT ForVariables FORAS Expression WHEN Expression","For → Expression FOR ForVariables FORASAWAIT Expression","For → Expression FOR ForVariables FORASAWAIT Expression WHEN Expression","ForValue → ParamVar","ForVariables → ForValue","ForVariables → ForValue , ForValue","Loop → LOOP Block","Loop → LOOP Expression Block","Operation → -- SimpleAssignable","Operation → ++ SimpleAssignable","Operation → SimpleAssignable --","Operation → SimpleAssignable ++","Operation → Value ?","Operation → Value PRESENCE","Operation → Expression CAST","Operation → Expression TERNARY Expression : Expression","Operation → UNARY Expression","Operation → DO Expression","Operation → UNARY_MATH Expression","Operation → AWAIT Expression","Operation → AWAIT INDENT Object OUTDENT","Operation → YIELD","Operation → YIELD Expression","Operation → YIELD INDENT Object OUTDENT","Operation → YIELD FROM Expression","Operation → - Expression","Operation → + Expression","Operation → Expression ** Expression","Operation → Expression + Expression","Operation → Expression - Expression","Operation → Expression MATH Expression","Operation → Expression SHIFT Expression","Operation → Expression & Expression","Operation → Expression ^ Expression","Operation → Expression | Expression","Operation → Expression COMPARE Expression","Operation → Expression MATCH Expression","Operation → Expression RELATION Expression","Operation → Expression && Expression","Operation → Expression || Expression","Operation → Expression ?? Expression","Operation → Expression && Return","Operation → Expression || Return","Operation → Expression ?? Return","Operation → Expression && STATEMENT","Operation → Expression || STATEMENT","Operation → Expression ?? STATEMENT","Operation → Expression THEN Expression","Operation → Expression ELSE Expression","Operation → Expression THEN Return","Operation → Expression ELSE Return","Operation → Expression THEN STATEMENT","Operation → Expression ELSE STATEMENT"],ruleActions:(e,t,r,i)=>{let n=t,s=t.length-1;switch(e){case 1:return["program"];case 2:return["program",...n[s]];case 3:case 35:case 85:case 136:case 250:case 254:case 261:case 294:case 333:case 366:case 387:case 455:case 459:case 494:return[n[s]];case 4:case 36:case 86:case 262:case 295:case 334:case 367:case 388:{let a=n[s-2];return a.push(n[s]),a}break;case 5:case 138:case 173:case 257:case 331:case 368:return n[s-1];case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 40:case 42:case 44:case 90:case 93:case 95:case 96:case 97:case 98:case 99:case 100:case 101:case 102:case 103:case 104:case 105:case 106:case 107:case 108:case 109:case 110:case 111:case 112:case 113:case 114:case 115:case 116:case 117:case 118:case 119:case 120:case 121:case 122:case 124:case 126:case 127:case 130:case 131:case 132:case 134:case 141:case 142:case 144:case 145:case 168:case 169:case 170:case 171:case 172:case 174:case 175:case 176:case 198:case 199:case 221:case 222:case 223:case 224:case 225:case 230:case 231:case 235:case 236:case 245:case 266:case 276:case 277:case 278:case 279:case 280:case 302:case 303:case 304:case 305:case 306:case 307:case 308:case 337:case 341:case 345:case 346:case 347:case 348:case 350:case 369:case 370:case 392:case 393:case 394:case 395:case 415:case 420:case 423:case 424:case 443:case 493:return n[s];case 14:return["type-decl",n[s]];case 15:case 342:return["typed-var",n[s-1],n[s]];case 16:case 343:return["typed-var",n[s-2],n[s]];case 17:return["def-sig",n[s-2],n[s-1],n[s]];case 18:return["import",n[s]];case 19:case 20:case 31:case 32:return["import",n[s-2],n[s]];case 21:case 33:return["import","{}",n[s]];case 22:case 34:return["import",n[s-4],n[s]];case 23:return["import",n[s-4],n[s-2],n[s]];case 24:return["import",n[s-7],n[s-4],n[s]];case 25:return["import",[n[s-1],n[s]],n[s-2]];case 26:case 27:return["import",n[s-4],[n[s-1],n[s]],n[s-2]];case 28:return["import",n[s-6],[n[s-1],n[s]],n[s-2]];case 29:return["import",n[s-6],n[s-4],[n[s-1],n[s]],n[s-2]];case 30:return["import",n[s-9],n[s-6],[n[s-1],n[s]],n[s-2]];case 37:case 87:case 263:case 296:case 335:case 389:{let a=n[s-3];return a.push(n[s]),a}break;case 38:case 88:case 139:case 386:case 390:return n[s-2];case 39:case 89:case 264:case 297:case 336:case 391:{let a=n[s-5];return a.push(...n[s-2]),a}break;case 41:case 43:case 91:case 92:case 94:case 495:return[n[s-2],n[s]];case 45:return["*",n[s]];case 46:return["export","{}"];case 47:return["export",n[s-2]];case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:return["export",n[s]];case 56:return["export-default",n[s]];case 57:return["export-default",n[s-1]];case 58:return["export-all",n[s]];case 59:case 60:return["export-all",n[s],n[s-2]];case 61:return["export-from","{}",n[s]];case 62:return["export-from",n[s-4],n[s]];case 63:case 146:case 158:case 270:return["=",n[s-2],n[s]];case 64:case 66:case 69:case 147:case 149:case 152:case 159:case 160:return["=",n[s-3],n[s]];case 65:case 148:case 271:return["=",n[s-4],n[s-1]];case 67:case 150:case 153:case 155:return["=",n[s-4],n[s]];case 68:case 151:case 154:return["=",n[s-5],n[s-1]];case 70:case 165:return["void-assign",n[s-3],n[s]];case 71:case 166:return["void-assign",n[s-4],n[s]];case 72:case 167:return["void-assign",n[s-5],n[s-1]];case 73:case 178:case 179:return["state",n[s-3],n[s]];case 74:case 180:return["state",n[s-4],n[s]];case 75:return["state",n[s-5],n[s-1]];case 76:case 78:case 182:case 183:return["computed",n[s-3],n[s]];case 77:case 184:return["computed",n[s-4],n[s]];case 79:case 192:case 193:return["readonly",n[s-3],n[s]];case 80:case 194:return["readonly",n[s-4],n[s]];case 81:return["readonly",n[s-5],n[s-1]];case 82:case 84:case 196:return["effect",n[s-3],n[s]];case 83:return["effect",n[s-4],n[s]];case 123:case 289:return["dammit!",n[s-1]];case 125:case 229:return["tagged-template",n[s-2],n[s]];case 128:return"undefined";case 129:return"null";case 133:return["symbol",n[s]];case 135:return["str",...n[s-1]];case 137:case 255:case 456:{let a=n[s-1];return a.push(n[s]),a}break;case 140:return"";case 143:return["here-regex",n[s],...n[s-1]];case 156:return["=",n[s-5],n[s]];case 157:return["=",n[s-6],n[s-1]];case 161:case 314:case 520:case 521:case 525:case 527:return[n[s-1],n[s-2],n[s]];case 162:return[n[s-3],n[s-4],n[s-1]];case 163:return[n[s-2],n[s-3],n[s]];case 164:return[".=",n[s-2],n[s]];case 177:return["state",n[s-2],n[s]];case 181:return["computed",n[s-2],n[s]];case 185:return["gate",n[s-2],n[s]];case 186:return["gate",n[s-3],n[s]];case 187:return["gate",n[s-4],n[s-2]];case 188:return["gate",n[s-5],n[s-2]];case 189:return["gate",n[s-6],n[s-4],...n[s-2]];case 190:return["gate",n[s-7],n[s-4],...n[s-2]];case 191:return["readonly",n[s-2],n[s]];case 195:return["effect",n[s-2],n[s]];case 197:return["effect",null,n[s]];case 200:case 213:case 214:case 226:case 285:return[".",n[s-2],n[s]];case 201:case 227:case 286:return["?.",n[s-2],n[s]];case 202:case 205:case 228:case 287:return["[]",n[s-3],n[s-1]];case 203:case 206:case 288:return["[]",n[s-5],n[s-2]];case 204:return["regex-index",n[s-5],n[s-3],n[s-1]];case 207:return["optindex",n[s-4],n[s-1]];case 208:return["optindex",n[s-6],n[s-2]];case 209:case 290:return[".{}",n[s-4],...n[s-2]];case 210:case 291:return["?.{}",n[s-4],...n[s-2]];case 211:case 292:return[".{}",n[s-6],...n[s-3]];case 212:case 293:return["?.{}",n[s-6],...n[s-3]];case 215:case 216:case 217:case 445:case 446:case 447:case 506:case 508:return[n[s-1],n[s]];case 218:return["await",["new",n[s-1]]];case 219:return["await",["new",[n[s-2],...n[s]]]];case 220:case 282:case 283:case 284:case 378:case 383:return[n[s-1],...n[s]];case 232:return[n[s-1],n[s-3],n[s]];case 233:return[n[s-1],n[s-4],n[s]];case 234:return[n[s-1],[],n[s]];case 237:case 507:return["do-iife",n[s]];case 238:case 239:return"this";case 240:case 241:return[".","this",n[s]];case 242:return["array"];case 243:return["array",...n[s-1]];case 244:return["array",...n[s-2],...n[s-1]];case 246:{let a=n[s-2];return a.push(...n[s]),a}break;case 247:{let a=n[s-3];return a.push(...n[s]),a}break;case 248:return[...n[s-2],...n[s-1]];case 249:{let a=n[s-5];return a.push(...n[s-4],...n[s-2],...n[s-1]),a}break;case 251:return[...n[s-1],n[s]];case 252:case 260:case 330:case 332:case 385:return[];case 253:return[...n[s]];case 256:return null;case 258:return["object",...n[s-2]];case 259:return["map",...n[s-2]];case 265:return[null,n[s],n[s]];case 267:case 269:return[":",n[s-2],n[s]];case 268:return[":",n[s-4],n[s-1]];case 272:return["void-pair",n[s-3],n[s]];case 273:return["void-pair",n[s-5],n[s-1]];case 274:case 275:case 349:return["...",n[s]];case 281:case 379:return["super",...n[s]];case 298:return[n[s],n[s],null];case 299:return[n[s-2],n[s],null];case 300:return[n[s-2],n[s-2],n[s]];case 301:return[n[s-4],n[s-2],n[s]];case 309:return["dynamicKey",n[s-1]];case 310:return["[]","this",n[s-1]];case 311:return"..";case 312:return"...";case 313:return[n[s-2],n[s-3],n[s-1]];case 315:return[n[s],n[s-1],null];case 316:return[n[s-1],null,n[s]];case 317:return[n[s],null,null];case 318:case 324:return["def",n[s-2],n[s-1],n[s]];case 319:case 325:return["def",n[s-3],n[s-2],n[s]];case 320:case 326:return["def",n[s-3],n[s-1],n[s]];case 321:case 327:return["def",n[s-4],n[s-2],n[s]];case 322:case 328:return["void-def",n[s-3],n[s-1],n[s]];case 323:case 329:return["void-def",n[s-4],n[s-2],n[s]];case 338:return["default",n[s-2],n[s]];case 339:return["rest",n[s]];case 340:return["expansion"];case 344:return["typed-var",n[s-1],""];case 351:return["class",null,null];case 352:return["class",null,null,n[s]];case 353:return["class",null,n[s]];case 354:return["class",null,n[s-1],n[s]];case 355:return["class",n[s],null];case 356:case 359:return["class",n[s-1],null,n[s]];case 357:return["class",n[s-2],n[s]];case 358:case 360:return["class",n[s-3],n[s-1],n[s]];case 361:return["enum",n[s-1],n[s]];case 362:return["schema",n[s]];case 363:return["component",null,n[s]];case 364:return["component",n[s-1],n[s]];case 365:case 397:return["block",...n[s-1]];case 371:return["offer",n[s]];case 372:return["accept",n[s]];case 373:case 374:return["render",n[s]];case 375:return[".","super",n[s]];case 376:return["[]","super",n[s-1]];case 377:return["[]","super",n[s-2]];case 380:case 381:return["optcall",n[s-2],...n[s]];case 382:return["dammit?",n[s-2],...n[s]];case 384:return["await",["import",...n[s]]];case 396:return["block"];case 398:return n[s-1].length===1?(Array.isArray(n[s-1][0])&&(n[s-1][0].parenthesized=!0),n[s-1][0]):["block",...n[s-1]];case 399:return n[s-2].length===1?(Array.isArray(n[s-2][0])&&(n[s-2][0].parenthesized=!0),n[s-2][0]):["block",...n[s-2]];case 400:return["return",n[s]];case 401:return["return",n[s-1]];case 402:return["return"];case 403:return["while",n[s-1],n[s]];case 404:return["while",["!",n[s-1]],n[s]];case 405:return["while",n[s-3],n[s-1],n[s]];case 406:return["while",["!",n[s-3]],n[s-1],n[s]];case 407:case 408:return["while",n[s],[n[s-2]]];case 409:case 410:return["while",["!",n[s]],[n[s-2]]];case 411:case 412:return["while",n[s-2],n[s],[n[s-4]]];case 413:case 414:return["while",["!",n[s-2]],n[s],[n[s-4]]];case 416:case 418:return["if",n[s-1],n[s]];case 417:case 419:return["if",n[s-2],n[s-1],n[s]];case 421:return["if",["!",n[s-1]],n[s]];case 422:return["if",["!",n[s-3]],n[s-2],n[s]];case 425:case 426:return["if",n[s],[n[s-2]]];case 427:case 428:return["if",["!",n[s]],[n[s-2]]];case 429:return["?:",n[s-4],n[s-6],n[s-1]];case 430:return["?:",n[s-2],n[s-4],n[s]];case 431:case 432:case 434:return["try",n[s]];case 433:case 435:case 436:case 437:case 439:case 441:return["try",n[s-1],n[s]];case 438:case 440:case 442:return["try",n[s-2],n[s-1],n[s]];case 444:return["block",n[s]];case 448:return[null,n[s]];case 449:return["throw",n[s]];case 450:return["throw",n[s-1]];case 451:return["switch",n[s-3],n[s-1],null];case 452:return["switch",n[s-5],n[s-3],n[s-1]];case 453:return["switch",null,n[s-1],null];case 454:return["switch",null,n[s-3],n[s-1]];case 457:return["when",n[s-1],n[s]];case 458:return["when",n[s-2],n[s-1]];case 460:return[...n[s-2],n[s]];case 461:return["for-in",n[s-3],n[s-1],null,null,n[s]];case 462:return["for-in",n[s-5],n[s-3],n[s-1],null,n[s]];case 463:return["for-in",n[s-5],n[s-3],null,n[s-1],n[s]];case 464:return["for-in",n[s-7],n[s-5],n[s-1],n[s-3],n[s]];case 465:return["for-in",n[s-7],n[s-5],n[s-3],n[s-1],n[s]];case 466:return["for-of",n[s-3],n[s-1],!1,null,n[s]];case 467:return["for-of",n[s-5],n[s-3],!1,n[s-1],n[s]];case 468:return["for-of",n[s-3],n[s-1],!0,null,n[s]];case 469:return["for-of",n[s-5],n[s-3],!0,n[s-1],n[s]];case 470:return["for-as",n[s-3],n[s-1],!1,null,n[s]];case 471:return["for-as",n[s-5],n[s-3],!1,n[s-1],n[s]];case 472:case 474:return["for-as",n[s-3],n[s-1],!0,null,n[s]];case 473:case 475:return["for-as",n[s-5],n[s-3],!0,n[s-1],n[s]];case 476:return["for-in",[],n[s-1],null,null,n[s]];case 477:return["for-in",[],n[s-3],n[s-1],null,n[s]];case 478:return["comprehension",n[s-4],[["for-in",n[s-2],n[s],null]],[]];case 479:return["comprehension",n[s-6],[["for-in",n[s-4],n[s-2],null]],[n[s]]];case 480:return["comprehension",n[s-6],[["for-in",n[s-4],n[s-2],n[s]]],[]];case 481:return["comprehension",n[s-8],[["for-in",n[s-6],n[s-4],n[s]]],[n[s-2]]];case 482:return["comprehension",n[s-8],[["for-in",n[s-6],n[s-4],n[s-2]]],[n[s]]];case 483:return["comprehension",n[s-4],[["for-of",n[s-2],n[s],!1]],[]];case 484:return["comprehension",n[s-6],[["for-of",n[s-4],n[s-2],!1]],[n[s]]];case 485:return["comprehension",n[s-5],[["for-of",n[s-2],n[s],!0]],[]];case 486:return["comprehension",n[s-7],[["for-of",n[s-4],n[s-2],!0]],[n[s]]];case 487:return["comprehension",n[s-4],[["for-as",n[s-2],n[s],!1,null]],[]];case 488:return["comprehension",n[s-6],[["for-as",n[s-4],n[s-2],!1,null]],[n[s]]];case 489:return["comprehension",n[s-5],[["for-as",n[s-2],n[s],!0,null]],[]];case 490:return["comprehension",n[s-7],[["for-as",n[s-4],n[s-2],!0,null]],[n[s]]];case 491:return["comprehension",n[s-4],[["for-as",n[s-2],n[s],!0,null]],[]];case 492:return["comprehension",n[s-6],[["for-as",n[s-4],n[s-2],!0,null]],[n[s]]];case 496:return["loop",n[s]];case 497:return["loop-n",n[s-1],n[s]];case 498:return["--",n[s],!1];case 499:return["++",n[s],!1];case 500:return["--",n[s-1],!0];case 501:return["++",n[s-1],!0];case 502:return["?",n[s-1]];case 503:return["presence",n[s-1]];case 504:return["cast",n[s-1],n[s]];case 505:return["?:",n[s-4],n[s-2],n[s]];case 509:return["await",n[s]];case 510:return["await",n[s-1]];case 511:return["yield"];case 512:return["yield",n[s]];case 513:return["yield",n[s-1]];case 514:return["yield-from",n[s]];case 515:return["-",n[s]];case 516:return["+",n[s]];case 517:return["**",n[s-2],n[s]];case 518:return["+",n[s-2],n[s]];case 519:return["-",n[s-2],n[s]];case 522:return["&",n[s-2],n[s]];case 523:return["^",n[s-2],n[s]];case 524:return["|",n[s-2],n[s]];case 526:return["=~",n[s-2],n[s]];case 528:case 531:case 534:case 537:case 539:case 541:return["&&",n[s-2],n[s]];case 529:case 532:case 535:case 538:case 540:case 542:return["||",n[s-2],n[s]];case 530:case 533:case 536:return["??",n[s-2],n[s]]}},parse(e,{primitives:t=!1,tolerant:r=!1}={}){let i,n,s,a,o,l,c,f,h,u,m,S,g,d,R,b,_,y,p,k,I,A,x,O,G,K,[V,Z,W,j]=[[0],[null],[null],[[]]],q=this.parseTable,t1=1,M=[],N=[],C=24,w=e.length;if(r)while(w>0&&(e[w-1]===` -`||e[w-1]==="\r"))w--;let D=new Set,B=!1,a1=[],h1=[],f1=[],z=new WeakMap,i1=1,X=Object.create(this.lexer),r1={ctx:{}},Q=this.ctx;for(let P in Q){if(!Object.hasOwn(Q,P))continue;let H=Q[P];r1.ctx[P]=H}if(X.setInput(e,r1.ctx),r&&Array.isArray(X.lexDiagnostics))M.push(...X.lexDiagnostics);[r1.ctx.lexer,r1.ctx.parser]=[X,this];let l1=()=>{let P=X.lex()||t1;if(typeof P!=="number")P=this.symbolIds[P]||P;return P},c1=null,F=null,J={},o1=()=>{f=[];let P=q[K];for(let H in P){if(!Object.hasOwn(P,H))continue;if(this.tokenNames[H]&&+H>2){if(!f.includes(this.tokenNames[H]))f.push(this.tokenNames[H])}}return f},n1=[this.symbolIds.INDENT,this.symbolIds.OUTDENT,this.symbolIds.TERMINATOR],v=()=>{if(c1===t1)return"end of input";let P=this.tokenNames[c1]||c1,H=X.text,s1=typeof H==="string"&&H.trim().length>0&&H.length<=24&&!n1.includes(c1)&&!/^["'`]/.test(H);if(s1&&X.token?.generated)return`implicit '${H}'`;return s1?`'${H}'`:`'${P}'`};while(!0){if(K=V[V.length-1],c1==null)if(N.length>0)y=N.shift(),c1=y.symbol,F=y.loc,X.text=y.text,X.loc=y.loc,X.token=y.token;else c1=l1(),F=c1===t1?{start:e.length,end:e.length}:X.loc??null;if(i=q[K]?.[c1],i==null&&r&&C>0){a=c1===t1?w:F?.start??w,k=(P=null)=>{if(B)return;if(B=!0,u=v(),f=P!=null?[this.tokenNames[P]||P]:o1(),R=`Unexpected ${u}`,f.length)R+=` — expected ${f.join(", ")}`;return M.push({message:R,start:a,end:F?.end??a,expected:f,got:u})},n=c1===t1||X.token?.generated,m=function(P){return`${V.length}:${K}:${P}`},S=null;for(let P of this.repairTable[K]??[]){if(D.has(m(P)))continue;if(n||P===this.symbolIds.TERMINATOR){S=P;break}}if(S!=null)k(S),C--,D.add(m(S)),N.unshift({symbol:c1,loc:F,text:X.text,token:X.token}),c1=S,F={start:a,end:a},X.text="",X.loc=F,X.token={generated:!0,hole:!0},i=q[K]?.[c1];else if(c1!==t1){if(k(),C--,!X.token?.hole)D.clear();c1=null;continue}}if(i==null){if(f=o1(),u=v(),G=F?.start??0,c=F?.end??G,R=`Unexpected ${u}`,f.length)R+=` — expected ${f.join(", ")}`;return M.push({message:R,start:G,end:c,expected:f,got:u}),{sexpr:null,stores:null,diagnostics:M,trivia:X.trivia??null,tokens:X.tokens??null}}if(i>0){if(r&&!X.token?.hole)D.clear();if(V.push(c1,i),Z.push(X.text),W.push(X.loc??null),t)j.push(Array.isArray(X.text?.primitiveSpans)?X.text.primitiveSpans:X.loc!=null?[{value:X.text,sourceStart:X.loc.start,sourceEnd:X.loc.end}]:[]);c1=null}else if(i<0){if(this.ctx?.onReduce)this.ctx.onReduce(-i);if(d=this.ruleTable[-i*2+1],O=(()=>{if(d)return h=W[W.length-d],g=W[W.length-1],{start:h?.start??0,end:g?.end??(h?.end??0)};else return s=F?.start??(W[W.length-1]?.end??0),{start:s,end:s}})(),J.$=Z[Z.length-(d||1)],J._$=O,p=this.ruleActions.call(J,-i,Z,W,r1.ctx),p!=null)J.$=p;if(o=Z.length-d,l=[],t)for(let P of this.primitiveRefs[-i])l.push(...j[o+P-1]??[]);if(b=J.$,Array.isArray(b)&&z.has(b)&&this.accumulators[-i])A=a1[z.get(b)-1],A.sourceStart=O.start,A.sourceEnd=O.end;if(Array.isArray(b)&&!z.has(b))x=this.semantics[-i],o=Z.length-d,I=(P,H,s1,L,U)=>{let e1,d1,b1,m1,R1,E1,A1=[],k1=1/0,w1=-1/0;for(let y1 of L){e1=P;for(let S1 of y1.path)e1=e1[S1];if(!(Array.isArray(e1)&&!z.has(e1)))throw Error(`parse: nested annotation '${y1.role}' of rule ${-i} does not address a fresh array`);d1=I(e1,y1.kind,y1.roles,y1.nested,null),A1.push(d1),k1=Math.min(k1,a1[d1-1].sourceStart),w1=Math.max(w1,a1[d1-1].sourceEnd)}for(let y1 of s1)if(y1.grammarRef!=null){if(R1=W[o+y1.grammarRef-1],R1==null)throw Error(`parse: missing loc for grammarRef ${y1.grammarRef} of rule ${-i} — lexer protocol violation`);k1=Math.min(k1,R1.start),w1=Math.max(w1,R1.end)}let p1=U??(k1===1/0?O:{start:k1,end:w1}),x1=i1++;z.set(P,x1),a1.push({nodeId:x1,fileId:0,semanticKind:H,ruleId:-i,sourceStart:p1.start,sourceEnd:p1.end});for(let y1 of s1)if(y1.grammarRef!=null){if(m1=o+y1.grammarRef-1,R1=W[m1],E1={nodeId:x1,role:y1.name,grammarRef:y1.grammarRef,childSlot:y1.childSlot,sourceStart:R1.start,sourceEnd:R1.end,childNodeId:null,fileId:0},y1.spread)E1.spread=!0;else E1.childNodeId=z.get(Z[m1])??null;h1.push(E1)}else h1.push({nodeId:x1,role:y1.name,grammarRef:null,childSlot:y1.childSlot,literal:y1.literal,fileId:0});for(let y1=0;y1{let t=Object.create(Gl);return Object.defineProperty(t,"ctx",{value:{...e},enumerable:!1,writable:!0,configurable:!0}),t},ms=ds();var Jt=ds,u4=ms.parse.bind(ms);var ps=()=>{throw Error("rip: filesystem access is unavailable in the browser")};class Qt{constructor({nodes:e,roles:t,primitives:r=[],nodeIds:i=null}){this.nodes=e,this.roles=t,this.primitives=r,this.nodeIds=i,this.byId=new Map(e.map((n)=>[n.nodeId,n])),this.rolesByNode=new Map,this.primitivesByValue=new Map;for(let n of t){let s=this.rolesByNode.get(n.nodeId);if(!s)s={list:[],byName:new Map},this.rolesByNode.set(n.nodeId,s);s.list.push(n),s.byName.set(n.role,n)}for(let n of r){let s=this.primitivesByValue.get(n.value);if(!s)this.primitivesByValue.set(n.value,s=[]);s.push(n)}for(let n of this.primitivesByValue.values())n.sort((s,a)=>s.sourceStart-a.sourceStart)}idOf(e){return this.nodeIds?.get(e)??null}alias(e,t){let r=this.nodeIds?.get(t);if(r!=null)this.nodeIds.set(e,r);return e}node(e){return this.byId.get(e)??null}nodesByKind(e){return this.nodes.filter((t)=>t.semanticKind===e)}rolesOf(e){return this.rolesByNode.get(e)?.list??[]}role(e,t){return this.rolesByNode.get(e)?.byName.get(t)??null}primitiveSpans(e,t,r){return(this.primitivesByValue.get(e)??[]).filter((i)=>t<=i.sourceStart&&i.sourceEnd<=r)}selfSpan(e){let t=this.byId.get(e);return t?[t.sourceStart,t.sourceEnd]:null}}var Zt=(e)=>{if(e.length===0)return null;let t=e[e.length>>1].start,r=[],i=[],n=[];for(let s of e){if(Y.on)Y.n++;if(s.end<=t)i.push(s);else if(s.start>t)n.push(s);else r.push(s)}return{center:t,byStart:r,byEnd:[...r].sort((s,a)=>a.end-s.end),left:Zt(i),right:Zt(n)}},Kl=(e,t,r)=>{let i=e;while(i!==null){if(Y.on)Y.n++;if(tt)break;r.push(n)}i=i.left}else if(t>i.center){for(let n of i.byEnd){if(Y.on)Y.n++;if(n.end<=t)break;r.push(n)}i=i.right}else{for(let n of i.byStart){if(Y.on)Y.n++;r.push(n)}break}}return r},un=new Set(["tsDirective","shorthandProp","identifier","literal"]);class pe{constructor(e){this.rows=e,this._genTree=null,this._srcTree=null,this._genCount=-1,this._srcCount=-1}_tree(e){let t=e==="generated";if((t?this._genCount:this._srcCount)!==this.rows.length){let r=[];if(this.rows.forEach((i,n)=>{if(Y.on)Y.n++;let s=t?i.generatedStart:i.sourceStart,a=t?i.generatedEnd:i.sourceEnd;if(s!=null&&si.start-n.start||i.i-n.i),t)this._genTree=Zt(r),this._genCount=this.rows.length;else this._srcTree=Zt(r),this._srcCount=this.rows.length}return t?this._genTree:this._srcTree}_stab(e,t){let r=Kl(this._tree(e),t,[]);return r.sort((i,n)=>i.width-n.width||i.i-n.i),r.map((i)=>this.rows[i.i])}of(e,t){return this.rows.filter((r)=>r.nodeId===e&&r.role===t).sort((r,i)=>r.generatedStart-i.generatedStart)}atGenerated(e){return this._stab("generated",e)}atSource(e){return this._stab("source",e)}static isDirect(e){return e.mappingKind==="exact"||e.mappingKind==="synthetic"}directAtGenerated(e){return this.atGenerated(e).find(pe.isDirect)??null}directAtSource(e){let t=this.atSource(e).filter(pe.isDirect);if(t.length===0)return null;let r=(n)=>n.sourceEnd-n.sourceStart;return t.filter((n)=>r(n)===r(t[0])).find((n)=>!un.has(n.role))??t[0]}zeroWidthExactAtSource(e){if(this._zeroSrcCount!==this.rows.length){this._zeroSrc=new Map;for(let t of this.rows){if(t.mappingKind!=="exact"||t.sourceStart!==t.sourceEnd)continue;let r=this._zeroSrc.get(t.sourceStart);if(r===void 0||t.generatedStarts.mappingKind==="exact"||s.mappingKind==="cover"&&s.role==="$self"&&s.generatedStart!==s.generatedEnd,t=(s)=>s.mappingKind==="exact"?0:1,r=(s)=>s.generatedEnd-s.generatedStart,i=(s)=>s.sourceEnd-s.sourceStart,n=new Map;for(let s of this.rows){if(!e(s))continue;let a=n.get(s.generatedStart);if(!a||t(s)s.generatedStart-a.generatedStart)}}class ge{constructor(e,{source:t=null,primitives:r=!1}={}){this.stores=e,this.source=t,this.trackPrimitives=r,this.chunks=[],this.length=0,this.openMarks=0,this.rows=[],this.exactSourceSpans=new Set,this.markStack=[],this.exactRanges=new Map,this.tsRegions=[],this.tsDepth=0,this.echoSpans=[]}tsOnly(e){let t=this.length;if(this.tsDepth++,e(),this.tsDepth--,this.tsDepth===0&&this.length>t)this.tsRegions.push([t,this.length])}echo(e){let t=this.length;if(e(),this.length>t)this.echoSpans.push([t,this.length])}get currentMark(){return this.markStack[this.markStack.length-1]??null}get offset(){return this.length}get code(){if(this.openMarks>0)return this.chunks.join("");if(this.chunks.length!==1)this.chunks=[this.chunks.join("")],this.exactRanges.clear();return this.chunks[0]}emit(e){return this.chunks.push(e),this.length+=e.length,this}beginMark(e,t){let r,i,n=null;if(t==="$self"){let s=this.stores.node(e);r=s.sourceStart,i=s.sourceEnd}else{let s=this.stores.role(e,t);if("literal"in s)n="synthetic",r=i=this.stores.node(e).sourceStart;else r=s.sourceStart,i=s.sourceEnd}this.openMarks++,this.markStack.push({nodeId:e,role:t,sourceStart:r,sourceEnd:i,mappingKind:n,generatedStart:this.length,chunkStart:this.chunks.length})}endMark(){let e=this.markStack.pop();this.openMarks--;let{mappingKind:t}=e;if(t===null){if(t=this.matchesSource(e)?"exact":"cover",t==="cover"&&ge.NORMALIZED_ROLES.has(e.role))this.layoutTwinSegments(e)}if(this.rows.push({nodeId:e.nodeId,role:e.role,mappingKind:t,sourceStart:e.sourceStart,sourceEnd:e.sourceEnd,generatedStart:e.generatedStart,generatedEnd:this.length,fileId:0}),this.trackPrimitives&&t==="exact")this.exactSourceSpans.add(`${e.sourceStart}:${e.sourceEnd}`)}static NORMALIZED_ROLES=new Set(["annotation","returnType"]);layoutTwinSegments(e){if(this.source===null)return;let t=e.sourceEnd-e.sourceStart,r=this.length-e.generatedStart;if(t===0||r===0||t>256||r>256)return;let i=this.source.slice(e.sourceStart,e.sourceEnd),n=this.chunks.slice(e.chunkStart).join("");if(i.replace(/\s+/g," ")!==n.replace(/\s+/g," "))return;let s=0,a=0;while(s0)i=i.filter((h)=>!t.some(([u,m])=>h.sourceStart>=u&&h.sourceEnd<=m));if(i.length===0)return null;let n=r.primitiveClaims??(r.primitiveClaims=new Map),s=n.get(e);if(s===void 0)n.set(e,s=new Set);let a=i.filter((h)=>!s.has(h.sourceStart)),o=a.filter((h)=>!this.exactSourceSpans.has(`${h.sourceStart}:${h.sourceEnd}`)),l=o.length>0?o:a,c=l.filter((h)=>h.nodeId===r.nodeId),f=(c.length>0?c:l)[0];if(f===void 0){let h=[...s].pop();if(f=h===void 0?void 0:i.find((u)=>u.sourceStart===h),f===void 0){let u=i.filter((m)=>this.exactSourceSpans.has(`${m.sourceStart}:${m.sourceEnd}`));f=u[u.length-1]}if(f===void 0)return null}if(s.add(f.sourceStart),this.source!==null){let h=this.source.slice(f.sourceStart,f.sourceEnd);if(h!==e&&h.endsWith(e)&&!/[\w$]/.test(h[h.length-e.length-1]??""))return[f.sourceEnd-e.length,f.sourceEnd]}return[f.sourceStart,f.sourceEnd]}matchesSource(e){if(this.source===null)return!1;if(e.sourceStart<0||e.sourceEnd>this.source.length)throw Error(`builder: mark (nodeId ${e.nodeId}, role '${e.role}') has source span [${e.sourceStart}, ${e.sourceEnd}) outside the source text [0, ${this.source.length}) — store-protocol violation`);let t=this.length;if(t-e.generatedStart!==e.sourceEnd-e.sourceStart)return!1;let r=e.sourceStart-e.generatedStart,i=this.exactRanges.get(r),n=i!==void 0&&i.genEnd<=t,s=this.chunks.length,a=e.generatedStart,o=e.chunkStart;while(o=i.genStart&&a{throw Error("rip: schema type story is unavailable in the browser")},bs=()=>!1;var Yl={__proto__:null,maxlength:"maxLength",minlength:"minLength",readonly:"readOnly",tabindex:"tabIndex",colspan:"colSpan",rowspan:"rowSpan",contenteditable:"contentEditable",formaction:"formAction",formenctype:"formEnctype",formmethod:"formMethod",formnovalidate:"formNoValidate",formtarget:"formTarget",novalidate:"noValidate",crossorigin:"crossOrigin",usemap:"useMap",srclang:"srcLang",inputmode:"inputMode",cellpadding:"cellPadding",cellspacing:"cellSpacing",bgcolor:"bgColor",valign:"vAlign",nowrap:"noWrap",for:"htmlFor",datetime:"dateTime",ismap:"isMap",nomodule:"noModule",playsinline:"playsInline",dirname:"dirName",accesskey:"accessKey",enterkeyhint:"enterKeyHint",referrerpolicy:"referrerPolicy",fetchpriority:"fetchPriority",imagesrcset:"imageSrcset",imagesizes:"imageSizes",popovertargetaction:"popoverTargetAction",allowfullscreen:"allowFullscreen"},zl="type __RipClassValue = string | boolean | null | undefined | Record | __RipClassValue[];",ql="/** What a component projects through `slot`: the DOM its parent built for it — an element, a fragment, or a text node — or a value rendered as text. */\n"+"type __RipChildren = Node | string | number | boolean | null;",ys="(...args: (__RipClassValue | __RipClassValue[])[]) => string",Xl=`type __RipAV = E extends Record ? V | string : F; +`))L++;s.push({kind:"comment",start:c,end:L,text:e.slice(c,L)}),c=L;continue}if(v==="$"&&(e[c+1]==='"'||e[c+1]==="'")){let L=n[n.length-1];if(L&&os.has(L.kind)){A("TEMPLATE_TAG","$",c,c+1),c+=1;continue}}if(F1.test(v)){let L=c;while(c{let A1=c;while(e[A1]===" "||e[A1]==="\t")A1++;let k1=e[A1]??"";if(k1==="{"||k1==="*")return!0;if(!F1.test(k1))return!1;let w1=A1+1;while(w1"}[L]??L,m1=e1!==L,b1=1,d1=c+3;while(d10){let w1=e[d1];if(w1==="\\"){d1+=2;continue}if(m1&&w1===L)b1++;if(w1===e1)b1--;if(b1>0)d1++}if(b1!==0)O(`unclosed %w${L} — never closed by '${e1}'`,c,c+3);A("[","[",c,c+3);let R1=/(?:\\\s|\S)+/g;R1.lastIndex=c+3;let E1,A1=!0,k1=c+3;while((E1=R1.exec(e))!==null&&E1.index=d1)break;R1.lastIndex=w1}A("]","]",d1,d1+1),c=d1+1;continue}}let P=e.slice(c,c+4);if(ls[P]){A(ls[P],P,c,c+4),c+=4;continue}let W=e.slice(c,c+3);if(W==="==="||W==="!=="){A("COMPARE",W.slice(0,2),c,c+3),c+=3;continue}if(cs[W]){A(cs[W],W,c,c+3),c+=3;continue}let s1=e.slice(c,c+2);if(s1==="?="&&e[c+2]!=="="){A("COMPOUND_ASSIGN","??=",c,c+2),c+=2;continue}if(s1==="*{"){A("MAP_START","*",c,c+1),c+=1;continue}if(fs[s1]){if(s1==="!="&&!d&&(I()?.kind==="IDENTIFIER"||I()?.kind==="PROPERTY"))k(`cannot use the '!' sigil in an assignment to '${I().value}' (write 'a != b' with a space for comparison)`,c);A(fs[s1],s1,c,c+2),c+=2;continue}if(v==="<"||v===">"){A("COMPARE",v,c,c+1),c++;continue}if(v==="*"||v==="/"||v==="%"){if(v==="*"&&p&&(I()?.kind==="IMPORT"||I()?.kind==="IMPORT_TYPE"||I()?.kind===","))A("IMPORT_ALL",v,c,c+1);else if(v==="*"&&I()?.kind==="EXPORT")A("EXPORT_ALL",v,c,c+1);else A("MATH",v,c,c+1);c++;continue}if(v==="!"||v==="~"){if(v==="!"&&!d&&(I()?.kind==="IDENTIFIER"||I()?.kind==="PROPERTY"||I()?.kind==="DYNAMIC_IMPORT")){A("DAMMIT","!",c,c+1),c++;continue}A("UNARY_MATH",v,c,c+1),c++;continue}if(v==="&"||v==="|"||v==="^"){A(v,v,c,c+1),c++;continue}if(v==="?"){if(!d){if(e[c+1]==="("||e[c+1]==="["){A("?.","?",c,c+1),c++;continue}let L=I();if(e[c+1]==="!"&&L&&!L.generated&&tt.has(L.kind)){A("PRESENCE","?!",c,c+2),c+=2;continue}if(L&&!L.generated&&tt.has(L.kind)){let e1=n[n.length-2]??null,m1=e1===null||e1.kind==="@"||e1.kind==="TERMINATOR"||e1.kind==="INDENT"||e1.kind==="OUTDENT";if((L.kind==="PROPERTY"||L.kind==="IDENTIFIER")&&m1&&/^[^\S\n]*(:=|~=|=!|=(?![=>!])|:(?![:=]))/.test(e.slice(c+1))){A("OPT_MARKER","?",c,c+1),c++;continue}A("?","?",c,c+1),c++;continue}let U=n[n.length-2]??null;if(L&&(L.kind==="-"||L.kind==="+")&&!L.spaced&&(U?.kind==="]"||U?.kind==="INDEX_END")&&e[c+1]===":"){A("?","?",c,c+1),c++;continue}k("unspaced '?' needs a value before it (postfix existence) — write ' ? ' for a ternary",c)}f++,A("TERNARY","?",c,c+1),c++;continue}if(v==="@"){A("@","@",c,c+1),c++;continue}if(v==="("){let L=I();if(L&&!d&&L.kind==="?."){L.kind="ES6_OPTIONAL_CALL",B("call",c),A("CALL_START","(",c,c+1),c++;continue}let U=L&&!d&&!L.generated&&Xt.has(L.kind);B(U?"call":"group",c),A(U?"CALL_START":"(","(",c,c+1),c++;continue}if(v===")"){let L=F();if(L?.kind!=="call"&&L?.kind!=="group")k("unmatched ')'",c);A(L.kind==="call"?"CALL_END":")",")",c,c+1),c++;continue}if(v==="["){let L=I();if(L&&!d&&L.kind==="?."){L.kind="ES6_OPTIONAL_INDEX",B("index",c),A("INDEX_START","[",c,c+1),c++;continue}let U=L&&!d&&!L.generated&&tt.has(L.kind);B(U?"index":"array",c),A(U?"INDEX_START":"[","[",c,c+1),c++;continue}if(v==="]"){let L=F();if(L?.kind!=="index"&&L?.kind!=="array")k("unmatched ']'",c);A(L.kind==="index"?"INDEX_END":"]","]",c,c+1),c++;continue}if(v==="{"){let L=I();if(L!=null&&(L.kind==="."||L.kind==="?.")&&!d&&!L.newLine&&n.length>=2&&tt.has(n[n.length-2].kind)&&n[n.length-2].kind!=="PICK_END")n.pop(),B("object",c,{pick:!0,pickKeys:e[c+1]!==" "&&e[c+1]!=="\t"}),A(L.kind==="?."?"OPTPICK_START":"PICK_START","{",c,c+1);else B("object",c),A("{","{",c,c+1);c++;continue}if(v==="}"){let L=F();if(L?.kind==="interp"){if(A("INTERPOLATION_END",")",c,c+1),c++,L.heregex)w(L.ctx);else M(L.ctx);continue}if(L?.kind!=="object")k("unmatched '}'",c);A(L.pick?"PICK_END":"}","}",c,c+1),c++;continue}if(v===":"&&e[c+1]===":"){if(!f1()&&!z()&&F1.test(e[c+2]??"")){let L=n[n.length-1];if(L?.kind==="?"&&L.end===c)L.kind="?.",L.value="?.",L.end=c+2,A("PROPERTY","prototype",c,c+2),A(".",".",c,c+2);else A(".",".",c,c+2),A("PROPERTY","prototype",c,c+2),A(".",".",c,c+2);c+=2;continue}k("type annotations use a single ':' (e.g. `x: number`), not '::'",c,c+2)}if(v===":"&&F1.test(e[c+1]??"")&&!f1()&&!z()){let L=n[n.length-1];if(!(L!==void 0&&(L.kind==="PROPERTY"||L.kind===")"||L.kind==="]"||L.kind==="}"||L.kind==="CALL_END"||L.kind==="INDEX_END"||L.kind==="PARAM_END"||L.kind==="PICK_END"||L.kind==="STRING"||L.kind==="STRING_END"||L.kind==="NUMBER"||L.kind==="REGEX"||L.kind==="HEREGEX_END"||L.kind==="BOOL"||L.kind==="NULL"||L.kind==="UNDEFINED"||L.kind==="DAMMIT"||L.kind==="?"||L.kind==="PRESENCE"||L.kind==="OPT_MARKER"||L.kind==="THIS"||L.kind==="@"||L.kind==="SYMBOL"||f>0&&L.kind==="IDENTIFIER"))){let e1=jl(e,c+1);A("SYMBOL",e.slice(c+1,e1),c,e1),c=e1;continue}}if(v==="="||v==="+"||v==="-"||v==="."||v===","||v===";"||v===":"){if(v===":"&&f>0)f--;A(v===";"?"TERMINATOR":v,v,c,c+1),c++;continue}if(v==="`"&&(f1()||z())){let L=Q(c);A("TYPE_TEMPLATE",e.slice(c,L),c,L),c=L;continue}k(`cannot tokenize '${v}'`,c)}if(l.length>0){if(!(r&&l.every((W)=>W.kind!=="interp"))){let W=l[0],s1={call:"(",group:"(",index:"[",array:"[",object:"{",interp:"#{"}[W.kind]??W.kind;O(`unclosed '${s1}' — never closed by end of input`,W.at,W.at+s1.length)}let P=e.length;while(P>0&&(e[P-1]===` +`||e[P-1]==="\r"))P--;while(l.length>0){let W=l[l.length-1],s1={call:"(",group:"(",index:"[",array:"[",object:"{"}[W.kind]??W.kind;a.push({message:`unclosed '${s1}' — never closed by end of input`,start:W.at,end:W.at+s1.length,expected:[],got:"end of input"});let L=W.kind==="call"?"CALL_END":W.kind==="group"?")":W.kind==="index"?"INDEX_END":W.kind==="array"?"]":W.pick?"PICK_END":"}";F();let U=n.length;while(U>0&&(n[U-1].kind==="OUTDENT"||n[U-1].kind==="INDENT"||n[U-1].kind==="TERMINATOR"))U--;let e1=n[U-1]?.kind,m1=W.kind==="call"&&e1==="CALL_START"||W.kind==="index"&&e1==="INDEX_START";if(e1===","||m1){let b1={id:y++,kind:"IDENTIFIER",value:"",start:P,end:P,spaced:!1,newLine:!1,generated:!0,origin:null};m.push(b1),n.splice(U,0,b1)}x(L,P)}}let o1=D();while(o.length>1)o.pop(),x("OUTDENT",o1);let n1=()=>y++;Ol(n),Il(n),Cl(n),Ai(n,n1,e,k,r?(v)=>a.push({message:v.reason??String(v.message),start:v.start??0,end:v.end??v.start??0,expected:[],got:""}):null),qt(n,n1,e,k);for(let v of n)if(v.kind==="RESERVED")k(`'${v.value}' is reserved and not supported yet`,v.start);return Gi(n,n1,k),xl(n),Ut(n,n1),hn(n),Vt(n,n1),Wt(n,n1),Dl(n),{tokens:n,trivia:s,source:i,lexDiagnostics:a}}function hn(e){for(let t=0;t"&&o!=="=>"&&o!=="ELSE"&&o!=="TRY"&&o!=="FINALLY"){i=!1;break}}}if(se.has(a))n++;else if(ie.has(a)){if(n--,n<0)break}}if(i)e[t].kind=r==="IF"?"POST_IF":"POST_UNLESS"}return e}function us(e="",{tolerant:t=!1}={}){return{setInput(r){let i=Hl(r,e,{tolerant:t});this.tokens=i.tokens,this.trivia=i.trivia,this.source=i.source,this.lexDiagnostics=i.lexDiagnostics??[],this.index=0,this.text="",this.loc=null,this.token=null},lex(){let r=this.tokens[this.index];if(!r)return null;return this.index++,this.text=r.value,this.loc={start:r.start,end:r.end},this.token=r,r.kind}}}var Gl={symbolIds:{$accept:0,$end:1,error:2,Root:3,Body:4,Line:5,TERMINATOR:6,Expression:7,Statement:8,Return:9,STATEMENT:10,Import:11,Export:12,TypeDecl:13,Enum:14,TYPE_DECL:15,Assignable:16,TYPE:17,OPT_MARKER:18,DEF:19,Identifier:20,OptParams:21,IMPORT:22,String:23,ImportDefaultSpecifier:24,FROM:25,ImportNamespaceSpecifier:26,"{":27,"}":28,ImportSpecifierList:29,OptComma:30,",":31,WITH:32,Object:33,IMPORT_TYPE:34,ImportSpecifier:35,INDENT:36,OUTDENT:37,AS:38,DEFAULT:39,IMPORT_ALL:40,EXPORT:41,ExportSpecifierList:42,Class:43,Def:44,ExportAssign:45,ReactiveAssign:46,ComputedAssign:47,Readonly:48,Effect:49,EXPORT_ALL:50,"=":51,TYPE_PARAMS:52,VOID_MARKER:53,REACTIVE_ASSIGN:54,COMPUTED_ASSIGN:55,Block:56,READONLY_ASSIGN:57,EFFECT:58,ExportSpecifier:59,Value:60,Code:61,Operation:62,Assign:63,Gate:64,If:65,Try:66,For:67,Switch:68,While:69,Throw:70,Schema:71,Component:72,Render:73,Literal:74,Parenthetical:75,Range:76,Invocation:77,DoIife:78,This:79,Super:80,DAMMIT:81,NewValue:82,TEMPLATE_TAG:83,Atom:84,Regex:85,UNDEFINED:86,NULL:87,BOOL:88,NUMBER:89,SYMBOL:90,STRING:91,STRING_START:92,Interpolations:93,STRING_END:94,InterpolationChunk:95,INTERPOLATION_START:96,INTERPOLATION_END:97,REGEX:98,HEREGEX_START:99,HEREGEX_END:100,IDENTIFIER:101,Property:102,PROPERTY:103,SimpleAssignable:104,COMPOUND_ASSIGN:105,METHOD_ASSIGN:106,Array:107,Rhs:108,BlockRhs:109,GATE:110,CALL_START:111,CALL_END:112,ArgList:113,ThisProperty:114,Subjectable:115,".":116,"?.":117,INDEX_START:118,INDEX_END:119,Slice:120,ES6_OPTIONAL_INDEX:121,PICK_START:122,PickList:123,PICK_END:124,OPTPICK_START:125,IMPORT_META:126,NEW_TARGET:127,NEW:128,NewSpine:129,NewCall:130,Arguments:131,PARAM_START:132,ParamList:133,PARAM_END:134,ArrowKind:135,"->":136,"=>":137,DO_IIFE:138,THIS:139,"@":140,"[":141,"]":142,Elisions:143,ArgElisionList:144,OptElisions:145,ArgElision:146,Arg:147,Elision:148,AssignList:149,MAP_START:150,AssignObj:151,ObjAssignable:152,ObjRestValue:153,":":154,SimpleObjAssignable:155,"...":156,ObjSpreadExpr:157,SUPER:158,DYNAMIC_IMPORT:159,PickItem:160,PickKey:161,RangeDots:162,"..":163,Param:164,TypedParamVar:165,ParamVar:166,Splat:167,ClassName:168,CLASS:169,EXTENDS:170,ENUM:171,SCHEMA:172,SCHEMA_BODY:173,COMPONENT:174,ComponentBlock:175,ComponentBody:176,ComponentLine:177,OFFER:178,ACCEPT:179,RENDER:180,ES6_OPTIONAL_CALL:181,"?":182,PRESENCE:183,"(":184,")":185,RETURN:186,WHILE:187,UNTIL:188,WHEN:189,Loop:190,IfBlock:191,IF:192,IfElseTail:193,ELSE:194,UnlessBlock:195,UNLESS:196,POST_IF:197,POST_UNLESS:198,TRY:199,Catch:200,Finalizer:201,FINALLY:202,CATCH:203,THROW:204,SWITCH:205,Cases:206,When:207,LEADING_WHEN:208,SimpleArgs:209,FOR:210,ForVariables:211,FORIN:212,BY:213,FOROF:214,OWN:215,FORAS:216,AWAIT:217,FORASAWAIT:218,ForValue:219,LOOP:220,"--":221,"++":222,CAST:223,TERNARY:224,UNARY:225,DO:226,UNARY_MATH:227,YIELD:228,"-":229,"+":230,"**":231,MATH:232,SHIFT:233,"&":234,"^":235,"|":236,COMPARE:237,MATCH:238,RELATION:239,"&&":240,"||":241,"??":242,THEN:243},tokenNames:{2:"error",6:"newline",10:"break/continue/debugger",15:"type/interface",17:"a type annotation",18:"?",19:"def",22:"import",25:"from",27:"{",28:"}",31:",",32:"with",34:"type",36:"indent",37:"dedent",38:"as",39:"default",40:"*",41:"export",50:"*",51:"=",52:"<…>",53:"!",54:":=",55:"~=",57:"=!",58:"~>",81:"!",83:"$",86:"undefined",87:"null",88:"true/false",89:"a number",90:"a :symbol",91:"a string",92:"a string",94:"the closing quote",96:"#{",97:"}",98:"a regex",99:"///",100:"///",101:"a name",103:"a property name",105:"a compound assignment",106:".=",110:"<~",111:"(",112:")",116:".",117:"?.",118:"[",119:"]",121:"?.[",122:".{",124:"}",125:"?.{",126:"import.meta",127:"new.target",128:"new",132:"(",134:")",136:"->",137:"=>",138:"do",139:"this",140:"@",141:"[",142:"]",150:"*{",154:":",156:"...",158:"super",159:"import(",163:"..",169:"class",170:"extends",171:"enum",172:"schema",173:"a schema body",174:"component",178:"offer",179:"accept",180:"render",181:"?.(",182:"?",183:"?!",184:"(",185:")",186:"return",187:"while",188:"until",189:"when",192:"if",194:"else",196:"unless",197:"if",198:"unless",199:"try",202:"finally",203:"catch",204:"throw",205:"switch",208:"when",210:"for",212:"in",213:"by",214:"of",215:"own",216:"as",217:"await",218:"as!",220:"loop",221:"--",222:"++",223:"as",224:"?",225:"not/typeof/delete",226:"do",227:"!/~",228:"yield",229:"-",230:"+",231:"**",232:"a math operator",233:"a shift operator",234:"&",235:"^",236:"|",237:"a comparison",238:"=~",239:"in/of/instanceof",240:"&&",241:"||",242:"??",243:"then"},semantics:{"1":{kind:"program",roles:[]},"2":{kind:"program",roles:[{name:"body",grammarRef:1,childSlot:1,spread:!0}]},"14":{kind:"typedecl",roles:[{name:"declaration",grammarRef:1,childSlot:1,spread:!1}]},"15":{kind:"typedvar",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"annotation",grammarRef:2,childSlot:2,spread:!1}]},"16":{kind:"typedvar",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"annotation",grammarRef:3,childSlot:2,spread:!1},{name:"optionalMarker",grammarRef:2,childSlot:null,spread:!1}]},"17":{kind:"defsig",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"params",grammarRef:3,childSlot:2,spread:!1},{name:"returnType",grammarRef:4,childSlot:3,spread:!1}]},"18":{kind:"import",roles:[{name:"source",grammarRef:2,childSlot:1,spread:!1}]},"19":{kind:"import",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1},{name:"source",grammarRef:4,childSlot:2,spread:!1}]},"20":{kind:"import",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1},{name:"source",grammarRef:4,childSlot:2,spread:!1}]},"21":{kind:"import",roles:[{name:"spec",grammarRef:null,childSlot:1,literal:"{}"},{name:"source",grammarRef:5,childSlot:2,spread:!1}]},"22":{kind:"import",roles:[{name:"spec",grammarRef:3,childSlot:1,spread:!1},{name:"source",grammarRef:7,childSlot:2,spread:!1}]},"23":{kind:"import",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1},{name:"extra",grammarRef:4,childSlot:2,spread:!1},{name:"source",grammarRef:6,childSlot:3,spread:!1}]},"24":{kind:"import",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1},{name:"extra",grammarRef:5,childSlot:2,spread:!1},{name:"source",grammarRef:9,childSlot:3,spread:!1}]},"25":{kind:"import",roles:[{name:"source",grammarRef:2,childSlot:2,spread:!1}],nested:[{role:"attributes",path:[1],kind:"withattrs",roles:[{name:"keyword",grammarRef:3,childSlot:0,spread:!1},{name:"value",grammarRef:4,childSlot:1,spread:!1}],nested:[]}]},"26":{kind:"import",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1},{name:"source",grammarRef:4,childSlot:3,spread:!1}],nested:[{role:"attributes",path:[2],kind:"withattrs",roles:[{name:"keyword",grammarRef:5,childSlot:0,spread:!1},{name:"value",grammarRef:6,childSlot:1,spread:!1}],nested:[]}]},"27":{kind:"import",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1},{name:"source",grammarRef:4,childSlot:3,spread:!1}],nested:[{role:"attributes",path:[2],kind:"withattrs",roles:[{name:"keyword",grammarRef:5,childSlot:0,spread:!1},{name:"value",grammarRef:6,childSlot:1,spread:!1}],nested:[]}]},"28":{kind:"import",roles:[{name:"spec",grammarRef:3,childSlot:1,spread:!1},{name:"source",grammarRef:7,childSlot:3,spread:!1}],nested:[{role:"attributes",path:[2],kind:"withattrs",roles:[{name:"keyword",grammarRef:8,childSlot:0,spread:!1},{name:"value",grammarRef:9,childSlot:1,spread:!1}],nested:[]}]},"29":{kind:"import",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1},{name:"extra",grammarRef:4,childSlot:2,spread:!1},{name:"source",grammarRef:6,childSlot:4,spread:!1}],nested:[{role:"attributes",path:[3],kind:"withattrs",roles:[{name:"keyword",grammarRef:7,childSlot:0,spread:!1},{name:"value",grammarRef:8,childSlot:1,spread:!1}],nested:[]}]},"30":{kind:"import",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1},{name:"extra",grammarRef:5,childSlot:2,spread:!1},{name:"source",grammarRef:9,childSlot:4,spread:!1}],nested:[{role:"attributes",path:[3],kind:"withattrs",roles:[{name:"keyword",grammarRef:10,childSlot:0,spread:!1},{name:"value",grammarRef:11,childSlot:1,spread:!1}],nested:[]}]},"31":{kind:"import",roles:[{name:"spec",grammarRef:3,childSlot:1,spread:!1},{name:"source",grammarRef:5,childSlot:2,spread:!1},{name:"typeOnly",grammarRef:2,childSlot:null,spread:!1}]},"32":{kind:"import",roles:[{name:"spec",grammarRef:3,childSlot:1,spread:!1},{name:"source",grammarRef:5,childSlot:2,spread:!1},{name:"typeOnly",grammarRef:2,childSlot:null,spread:!1}]},"33":{kind:"import",roles:[{name:"spec",grammarRef:null,childSlot:1,literal:"{}"},{name:"source",grammarRef:6,childSlot:2,spread:!1},{name:"typeOnly",grammarRef:2,childSlot:null,spread:!1}]},"34":{kind:"import",roles:[{name:"spec",grammarRef:4,childSlot:1,spread:!1},{name:"source",grammarRef:8,childSlot:2,spread:!1},{name:"typeOnly",grammarRef:2,childSlot:null,spread:!1}]},"41":{kind:"as",roles:[{name:"name",grammarRef:1,childSlot:0,spread:!1},{name:"alias",grammarRef:3,childSlot:1,spread:!1}]},"43":{kind:"as",roles:[{name:"name",grammarRef:1,childSlot:0,spread:!1},{name:"alias",grammarRef:3,childSlot:1,spread:!1}]},"45":{kind:"as",roles:[{name:"name",grammarRef:null,childSlot:0,literal:"*"},{name:"alias",grammarRef:3,childSlot:1,spread:!1}]},"46":{kind:"export",roles:[{name:"spec",grammarRef:null,childSlot:1,literal:"{}"}]},"47":{kind:"export",roles:[{name:"spec",grammarRef:3,childSlot:1,spread:!1}]},"48":{kind:"export",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1}]},"49":{kind:"export",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1}]},"50":{kind:"export",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1}]},"51":{kind:"export",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1}]},"52":{kind:"export",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1}]},"53":{kind:"export",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1}]},"54":{kind:"export",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1}]},"55":{kind:"export",roles:[{name:"spec",grammarRef:2,childSlot:1,spread:!1}]},"56":{kind:"export",roles:[{name:"spec",grammarRef:3,childSlot:1,spread:!1}]},"57":{kind:"export",roles:[{name:"spec",grammarRef:4,childSlot:1,spread:!1}]},"58":{kind:"export",roles:[{name:"source",grammarRef:4,childSlot:1,spread:!1}]},"59":{kind:"export",roles:[{name:"source",grammarRef:6,childSlot:1,spread:!1},{name:"alias",grammarRef:4,childSlot:2,spread:!1}]},"60":{kind:"export",roles:[{name:"source",grammarRef:6,childSlot:1,spread:!1},{name:"alias",grammarRef:4,childSlot:2,spread:!1}]},"61":{kind:"export",roles:[{name:"spec",grammarRef:null,childSlot:1,literal:"{}"},{name:"source",grammarRef:5,childSlot:2,spread:!1}]},"62":{kind:"export",roles:[{name:"spec",grammarRef:3,childSlot:1,spread:!1},{name:"source",grammarRef:7,childSlot:2,spread:!1}]},"63":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:3,childSlot:2,spread:!1}]},"64":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1}]},"65":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1}]},"66":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1}]},"67":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1}]},"68":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1}]},"69":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"typeParams",grammarRef:2,childSlot:null,spread:!1}]},"70":{kind:"assign",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"voidMarker",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"71":{kind:"assign",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"voidMarker",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"72":{kind:"assign",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"voidMarker",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"73":{kind:"state",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"74":{kind:"state",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"75":{kind:"state",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"76":{kind:"computed",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"77":{kind:"computed",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"78":{kind:"computed",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"79":{kind:"readonly",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"80":{kind:"readonly",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"81":{kind:"readonly",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"82":{kind:"effect",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"83":{kind:"effect",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"84":{kind:"effect",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"91":{kind:"as",roles:[{name:"name",grammarRef:1,childSlot:0,spread:!1},{name:"alias",grammarRef:3,childSlot:1,spread:!1}]},"92":{kind:"as",roles:[{name:"name",grammarRef:1,childSlot:0,spread:!1},{name:"alias",grammarRef:3,childSlot:1,spread:!1}]},"94":{kind:"as",roles:[{name:"name",grammarRef:1,childSlot:0,spread:!1},{name:"alias",grammarRef:3,childSlot:1,spread:!1}]},"123":{kind:"dammit",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"operator",grammarRef:2,childSlot:null,spread:!1}]},"125":{kind:"tagged",roles:[{name:"tag",grammarRef:1,childSlot:1,spread:!1},{name:"str",grammarRef:3,childSlot:2,spread:!1}]},"133":{kind:"symbol",roles:[{name:"name",grammarRef:1,childSlot:1,spread:!1}]},"135":{kind:"str",roles:[{name:"parts",grammarRef:2,childSlot:1,spread:!0}]},"143":{kind:"heregex",roles:[{name:"flags",grammarRef:3,childSlot:1,spread:!1},{name:"parts",grammarRef:2,childSlot:2,spread:!0}]},"146":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:3,childSlot:2,spread:!1}]},"147":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1}]},"148":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1}]},"149":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1}]},"150":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1}]},"151":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1}]},"152":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"optionalMarker",grammarRef:2,childSlot:null,spread:!1}]},"153":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"optionalMarker",grammarRef:2,childSlot:null,spread:!1}]},"154":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"optionalMarker",grammarRef:2,childSlot:null,spread:!1}]},"155":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"optionalMarker",grammarRef:2,childSlot:null,spread:!1},{name:"annotation",grammarRef:3,childSlot:null,spread:!1}]},"156":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:6,childSlot:2,spread:!1},{name:"optionalMarker",grammarRef:2,childSlot:null,spread:!1},{name:"annotation",grammarRef:3,childSlot:null,spread:!1}]},"157":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:6,childSlot:2,spread:!1},{name:"optionalMarker",grammarRef:2,childSlot:null,spread:!1},{name:"annotation",grammarRef:3,childSlot:null,spread:!1}]},"158":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:3,childSlot:2,spread:!1}]},"159":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1}]},"160":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"typeParams",grammarRef:2,childSlot:null,spread:!1}]},"161":{kind:"assign",roles:[{name:"operator",grammarRef:2,childSlot:0,spread:!1},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:3,childSlot:2,spread:!1}]},"162":{kind:"assign",roles:[{name:"operator",grammarRef:2,childSlot:0,spread:!1},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1}]},"163":{kind:"assign",roles:[{name:"operator",grammarRef:2,childSlot:0,spread:!1},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1}]},"164":{kind:"assign",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:".="},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:3,childSlot:2,spread:!1}]},"165":{kind:"assign",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"voidMarker",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"166":{kind:"assign",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"voidMarker",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"167":{kind:"assign",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"voidMarker",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"177":{kind:"state",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:3,childSlot:2,spread:!1},{name:"operator",grammarRef:2,childSlot:null,spread:!1}]},"178":{kind:"state",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"179":{kind:"state",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"optionalMarker",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"180":{kind:"state",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"optionalMarker",grammarRef:2,childSlot:null,spread:!1},{name:"annotation",grammarRef:3,childSlot:null,spread:!1},{name:"operator",grammarRef:4,childSlot:null,spread:!1}]},"181":{kind:"computed",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:3,childSlot:2,spread:!1},{name:"operator",grammarRef:2,childSlot:null,spread:!1}]},"182":{kind:"computed",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"183":{kind:"computed",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"optionalMarker",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"184":{kind:"computed",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"optionalMarker",grammarRef:2,childSlot:null,spread:!1},{name:"annotation",grammarRef:3,childSlot:null,spread:!1},{name:"operator",grammarRef:4,childSlot:null,spread:!1}]},"185":{kind:"gate",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"rhs",grammarRef:3,childSlot:2,spread:!1},{name:"operator",grammarRef:2,childSlot:null,spread:!1}]},"186":{kind:"gate",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"rhs",grammarRef:4,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"187":{kind:"gate",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"rhs",grammarRef:3,childSlot:2,spread:!1},{name:"operator",grammarRef:2,childSlot:null,spread:!1}]},"188":{kind:"gate",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"rhs",grammarRef:4,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"189":{kind:"gate",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"rhs",grammarRef:3,childSlot:2,spread:!1},{name:"key",grammarRef:5,childSlot:3,spread:!0},{name:"operator",grammarRef:2,childSlot:null,spread:!1}]},"190":{kind:"gate",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"rhs",grammarRef:4,childSlot:2,spread:!1},{name:"key",grammarRef:6,childSlot:3,spread:!0},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"191":{kind:"readonly",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:3,childSlot:2,spread:!1},{name:"operator",grammarRef:2,childSlot:null,spread:!1}]},"192":{kind:"readonly",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"193":{kind:"readonly",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"optionalMarker",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"194":{kind:"readonly",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"optionalMarker",grammarRef:2,childSlot:null,spread:!1},{name:"annotation",grammarRef:3,childSlot:null,spread:!1},{name:"operator",grammarRef:4,childSlot:null,spread:!1}]},"195":{kind:"effect",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:3,childSlot:2,spread:!1},{name:"operator",grammarRef:2,childSlot:null,spread:!1}]},"196":{kind:"effect",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"annotation",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"197":{kind:"effect",roles:[{name:"target",grammarRef:null,childSlot:1,literal:null},{name:"value",grammarRef:2,childSlot:2,spread:!1},{name:"operator",grammarRef:1,childSlot:null,spread:!1}]},"200":{kind:"member",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"."},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"property",grammarRef:3,childSlot:2,spread:!1}]},"201":{kind:"member",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"?."},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"property",grammarRef:3,childSlot:2,spread:!1}]},"202":{kind:"index",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"[]"},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"key",grammarRef:3,childSlot:2,spread:!1}]},"203":{kind:"index",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"[]"},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"key",grammarRef:4,childSlot:2,spread:!1}]},"204":{kind:"regexindex",roles:[{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"key",grammarRef:3,childSlot:2,spread:!1},{name:"capture",grammarRef:5,childSlot:3,spread:!1}]},"205":{kind:"index",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"[]"},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"key",grammarRef:3,childSlot:2,spread:!1}]},"206":{kind:"index",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"[]"},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"key",grammarRef:4,childSlot:2,spread:!1}]},"207":{kind:"optindex",roles:[{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"key",grammarRef:4,childSlot:2,spread:!1}]},"208":{kind:"optindex",roles:[{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"key",grammarRef:5,childSlot:2,spread:!1}]},"209":{kind:"pick",roles:[{name:"source",grammarRef:1,childSlot:1,spread:!1},{name:"items",grammarRef:3,childSlot:2,spread:!0}]},"210":{kind:"pick",roles:[{name:"source",grammarRef:1,childSlot:1,spread:!1},{name:"items",grammarRef:3,childSlot:2,spread:!0}]},"211":{kind:"pick",roles:[{name:"source",grammarRef:1,childSlot:1,spread:!1},{name:"items",grammarRef:4,childSlot:2,spread:!0}]},"212":{kind:"pick",roles:[{name:"source",grammarRef:1,childSlot:1,spread:!1},{name:"items",grammarRef:4,childSlot:2,spread:!0}]},"213":{kind:"member",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"."},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"property",grammarRef:3,childSlot:2,spread:!1}]},"214":{kind:"member",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"."},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"property",grammarRef:3,childSlot:2,spread:!1}]},"215":{kind:"unary",roles:[{name:"operator",grammarRef:1,childSlot:0,spread:!1},{name:"operand",grammarRef:2,childSlot:1,spread:!1}]},"216":{kind:"unary",roles:[{name:"operator",grammarRef:1,childSlot:0,spread:!1},{name:"operand",grammarRef:2,childSlot:1,spread:!1}]},"217":{kind:"unary",roles:[{name:"operator",grammarRef:1,childSlot:0,spread:!1},{name:"operand",grammarRef:2,childSlot:1,spread:!1}]},"218":{kind:"await",roles:[{name:"operator",grammarRef:3,childSlot:null,spread:!1}],nested:[{role:"value",path:[1],kind:"unary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"new"},{name:"operand",grammarRef:2,childSlot:1,spread:!1}],nested:[]}]},"219":{kind:"await",roles:[{name:"operator",grammarRef:3,childSlot:null,spread:!1}],nested:[{role:"value",path:[1],kind:"unary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"new"}],nested:[{role:"operand",path:[1],kind:"call",roles:[{name:"callee",grammarRef:2,childSlot:0,spread:!1},{name:"args",grammarRef:4,childSlot:1,spread:!0}],nested:[]}]}]},"220":{kind:"call",roles:[{name:"callee",grammarRef:1,childSlot:0,spread:!1},{name:"args",grammarRef:2,childSlot:1,spread:!0}]},"226":{kind:"member",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"."},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"property",grammarRef:3,childSlot:2,spread:!1}]},"227":{kind:"member",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"?."},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"property",grammarRef:3,childSlot:2,spread:!1}]},"228":{kind:"index",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"[]"},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"key",grammarRef:3,childSlot:2,spread:!1}]},"229":{kind:"tagged",roles:[{name:"tag",grammarRef:1,childSlot:1,spread:!1},{name:"str",grammarRef:3,childSlot:2,spread:!1}]},"232":{kind:"func",roles:[{name:"kind",grammarRef:4,childSlot:0,spread:!1},{name:"params",grammarRef:2,childSlot:1,spread:!1},{name:"body",grammarRef:5,childSlot:2,spread:!1}]},"233":{kind:"func",roles:[{name:"kind",grammarRef:5,childSlot:0,spread:!1},{name:"params",grammarRef:2,childSlot:1,spread:!1},{name:"body",grammarRef:6,childSlot:2,spread:!1},{name:"returnType",grammarRef:4,childSlot:null,spread:!1}]},"234":{kind:"func",roles:[{name:"kind",grammarRef:1,childSlot:0,spread:!1},{name:"body",grammarRef:2,childSlot:2,spread:!1}]},"237":{kind:"doiife",roles:[{name:"func",grammarRef:2,childSlot:1,spread:!1}]},"240":{kind:"member",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"."},{name:"property",grammarRef:2,childSlot:2,spread:!1}]},"241":{kind:"member",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"."},{name:"property",grammarRef:2,childSlot:2,spread:!1}]},"242":{kind:"array",roles:[]},"243":{kind:"array",roles:[{name:"elisions",grammarRef:2,childSlot:1,spread:!0}]},"244":{kind:"array",roles:[{name:"items",grammarRef:2,childSlot:1,spread:!0},{name:"elisions",grammarRef:3,childSlot:null,spread:!0}]},"258":{kind:"object",roles:[{name:"pairs",grammarRef:2,childSlot:1,spread:!0}]},"259":{kind:"map",roles:[{name:"pairs",grammarRef:3,childSlot:1,spread:!0}]},"265":{kind:"pair",roles:[{name:"key",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:1,childSlot:2,spread:!1}]},"267":{kind:"pair",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:":"},{name:"key",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:3,childSlot:2,spread:!1}]},"268":{kind:"pair",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:":"},{name:"key",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1}]},"269":{kind:"pair",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:":"},{name:"key",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:3,childSlot:2,spread:!1}]},"270":{kind:"pair",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"key",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:3,childSlot:2,spread:!1}]},"271":{kind:"pair",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"="},{name:"key",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1}]},"272":{kind:"pair",roles:[{name:"key",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:4,childSlot:2,spread:!1},{name:"voidMarker",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"273":{kind:"pair",roles:[{name:"key",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:5,childSlot:2,spread:!1},{name:"voidMarker",grammarRef:2,childSlot:null,spread:!1},{name:"operator",grammarRef:3,childSlot:null,spread:!1}]},"274":{kind:"splat",roles:[{name:"value",grammarRef:2,childSlot:1,spread:!1}]},"275":{kind:"splat",roles:[{name:"value",grammarRef:2,childSlot:1,spread:!1}]},"281":{kind:"super",roles:[{name:"args",grammarRef:2,childSlot:1,spread:!0}]},"282":{kind:"dynimport",roles:[{name:"keyword",grammarRef:1,childSlot:0,spread:!1},{name:"args",grammarRef:2,childSlot:1,spread:!0}]},"283":{kind:"call",roles:[{name:"callee",grammarRef:1,childSlot:0,spread:!1},{name:"args",grammarRef:2,childSlot:1,spread:!0}]},"284":{kind:"call",roles:[{name:"callee",grammarRef:1,childSlot:0,spread:!1},{name:"args",grammarRef:2,childSlot:1,spread:!0}]},"285":{kind:"member",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"."},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"property",grammarRef:3,childSlot:2,spread:!1}]},"286":{kind:"member",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"?."},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"property",grammarRef:3,childSlot:2,spread:!1}]},"287":{kind:"index",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"[]"},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"key",grammarRef:3,childSlot:2,spread:!1}]},"288":{kind:"index",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"[]"},{name:"object",grammarRef:1,childSlot:1,spread:!1},{name:"key",grammarRef:4,childSlot:2,spread:!1}]},"289":{kind:"dammit",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"operator",grammarRef:2,childSlot:null,spread:!1}]},"290":{kind:"pick",roles:[{name:"source",grammarRef:1,childSlot:1,spread:!1},{name:"items",grammarRef:3,childSlot:2,spread:!0}]},"291":{kind:"pick",roles:[{name:"source",grammarRef:1,childSlot:1,spread:!1},{name:"items",grammarRef:3,childSlot:2,spread:!0}]},"292":{kind:"pick",roles:[{name:"source",grammarRef:1,childSlot:1,spread:!1},{name:"items",grammarRef:4,childSlot:2,spread:!0}]},"293":{kind:"pick",roles:[{name:"source",grammarRef:1,childSlot:1,spread:!1},{name:"items",grammarRef:4,childSlot:2,spread:!0}]},"298":{kind:"pickitem",roles:[{name:"key",grammarRef:1,childSlot:0,spread:!1},{name:"target",grammarRef:1,childSlot:1,spread:!1}]},"299":{kind:"pickitem",roles:[{name:"key",grammarRef:1,childSlot:0,spread:!1},{name:"target",grammarRef:3,childSlot:1,spread:!1}]},"300":{kind:"pickitem",roles:[{name:"key",grammarRef:1,childSlot:0,spread:!1},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"default",grammarRef:3,childSlot:2,spread:!1}]},"301":{kind:"pickitem",roles:[{name:"key",grammarRef:1,childSlot:0,spread:!1},{name:"target",grammarRef:3,childSlot:1,spread:!1},{name:"default",grammarRef:5,childSlot:2,spread:!1}]},"309":{kind:"dynamicKey",roles:[{name:"key",grammarRef:2,childSlot:1,spread:!1}]},"310":{kind:"index",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"[]"},{name:"object",grammarRef:null,childSlot:1,literal:"this"},{name:"key",grammarRef:3,childSlot:2,spread:!1}]},"313":{kind:"range",roles:[{name:"operator",grammarRef:3,childSlot:0,spread:!1},{name:"from",grammarRef:2,childSlot:1,spread:!1},{name:"to",grammarRef:4,childSlot:2,spread:!1}]},"314":{kind:"range",roles:[{name:"operator",grammarRef:2,childSlot:0,spread:!1},{name:"from",grammarRef:1,childSlot:1,spread:!1},{name:"to",grammarRef:3,childSlot:2,spread:!1}]},"315":{kind:"range",roles:[{name:"operator",grammarRef:2,childSlot:0,spread:!1},{name:"from",grammarRef:1,childSlot:1,spread:!1},{name:"to",grammarRef:null,childSlot:2,literal:null}]},"316":{kind:"range",roles:[{name:"operator",grammarRef:1,childSlot:0,spread:!1},{name:"from",grammarRef:null,childSlot:1,literal:null},{name:"to",grammarRef:2,childSlot:2,spread:!1}]},"317":{kind:"range",roles:[{name:"operator",grammarRef:1,childSlot:0,spread:!1},{name:"from",grammarRef:null,childSlot:1,literal:null},{name:"to",grammarRef:null,childSlot:2,literal:null}]},"318":{kind:"def",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"params",grammarRef:3,childSlot:2,spread:!1},{name:"body",grammarRef:4,childSlot:3,spread:!1}]},"319":{kind:"def",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"params",grammarRef:3,childSlot:2,spread:!1},{name:"body",grammarRef:5,childSlot:3,spread:!1},{name:"returnType",grammarRef:4,childSlot:null,spread:!1}]},"320":{kind:"def",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"params",grammarRef:4,childSlot:2,spread:!1},{name:"body",grammarRef:5,childSlot:3,spread:!1},{name:"typeParams",grammarRef:3,childSlot:null,spread:!1}]},"321":{kind:"def",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"params",grammarRef:4,childSlot:2,spread:!1},{name:"body",grammarRef:6,childSlot:3,spread:!1},{name:"typeParams",grammarRef:3,childSlot:null,spread:!1},{name:"returnType",grammarRef:5,childSlot:null,spread:!1}]},"322":{kind:"def",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"params",grammarRef:4,childSlot:2,spread:!1},{name:"body",grammarRef:5,childSlot:3,spread:!1},{name:"voidMarker",grammarRef:3,childSlot:null,spread:!1}]},"323":{kind:"def",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"params",grammarRef:4,childSlot:2,spread:!1},{name:"body",grammarRef:6,childSlot:3,spread:!1},{name:"voidMarker",grammarRef:3,childSlot:null,spread:!1},{name:"returnType",grammarRef:5,childSlot:null,spread:!1}]},"324":{kind:"def",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"params",grammarRef:3,childSlot:2,spread:!1},{name:"body",grammarRef:4,childSlot:3,spread:!1}]},"325":{kind:"def",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"params",grammarRef:3,childSlot:2,spread:!1},{name:"body",grammarRef:5,childSlot:3,spread:!1},{name:"returnType",grammarRef:4,childSlot:null,spread:!1}]},"326":{kind:"def",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"params",grammarRef:4,childSlot:2,spread:!1},{name:"body",grammarRef:5,childSlot:3,spread:!1},{name:"typeParams",grammarRef:3,childSlot:null,spread:!1}]},"327":{kind:"def",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"params",grammarRef:4,childSlot:2,spread:!1},{name:"body",grammarRef:6,childSlot:3,spread:!1},{name:"typeParams",grammarRef:3,childSlot:null,spread:!1},{name:"returnType",grammarRef:5,childSlot:null,spread:!1}]},"328":{kind:"def",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"params",grammarRef:4,childSlot:2,spread:!1},{name:"body",grammarRef:5,childSlot:3,spread:!1},{name:"voidMarker",grammarRef:3,childSlot:null,spread:!1}]},"329":{kind:"def",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"params",grammarRef:4,childSlot:2,spread:!1},{name:"body",grammarRef:6,childSlot:3,spread:!1},{name:"voidMarker",grammarRef:3,childSlot:null,spread:!1},{name:"returnType",grammarRef:5,childSlot:null,spread:!1}]},"338":{kind:"default",roles:[{name:"name",grammarRef:1,childSlot:1,spread:!1},{name:"value",grammarRef:3,childSlot:2,spread:!1}]},"339":{kind:"rest",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1}]},"340":{kind:"expansion",roles:[]},"342":{kind:"typedvar",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"annotation",grammarRef:2,childSlot:2,spread:!1}]},"343":{kind:"typedvar",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"annotation",grammarRef:3,childSlot:2,spread:!1},{name:"optionalMarker",grammarRef:2,childSlot:null,spread:!1}]},"344":{kind:"typedvar",roles:[{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"annotation",grammarRef:null,childSlot:2,literal:""},{name:"optionalMarker",grammarRef:2,childSlot:null,spread:!1}]},"349":{kind:"splat",roles:[{name:"value",grammarRef:2,childSlot:1,spread:!1}]},"351":{kind:"class",roles:[{name:"name",grammarRef:null,childSlot:1,literal:null},{name:"parent",grammarRef:null,childSlot:2,literal:null}]},"352":{kind:"class",roles:[{name:"name",grammarRef:null,childSlot:1,literal:null},{name:"parent",grammarRef:null,childSlot:2,literal:null},{name:"body",grammarRef:2,childSlot:3,spread:!1}]},"353":{kind:"class",roles:[{name:"name",grammarRef:null,childSlot:1,literal:null},{name:"parent",grammarRef:3,childSlot:2,spread:!1}]},"354":{kind:"class",roles:[{name:"name",grammarRef:null,childSlot:1,literal:null},{name:"parent",grammarRef:3,childSlot:2,spread:!1},{name:"body",grammarRef:4,childSlot:3,spread:!1}]},"355":{kind:"class",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"parent",grammarRef:null,childSlot:2,literal:null}]},"356":{kind:"class",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"parent",grammarRef:null,childSlot:2,literal:null},{name:"body",grammarRef:3,childSlot:3,spread:!1}]},"357":{kind:"class",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"parent",grammarRef:4,childSlot:2,spread:!1}]},"358":{kind:"class",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"parent",grammarRef:4,childSlot:2,spread:!1},{name:"body",grammarRef:5,childSlot:3,spread:!1}]},"359":{kind:"class",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"parent",grammarRef:null,childSlot:2,literal:null},{name:"body",grammarRef:3,childSlot:3,spread:!1}]},"360":{kind:"class",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"parent",grammarRef:4,childSlot:2,spread:!1},{name:"body",grammarRef:5,childSlot:3,spread:!1}]},"361":{kind:"enum",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1},{name:"body",grammarRef:3,childSlot:2,spread:!1}]},"362":{kind:"schema",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1}]},"363":{kind:"component",roles:[{name:"parent",grammarRef:null,childSlot:1,literal:null},{name:"body",grammarRef:2,childSlot:2,spread:!1}]},"364":{kind:"component",roles:[{name:"parent",grammarRef:3,childSlot:1,spread:!1},{name:"body",grammarRef:4,childSlot:2,spread:!1}]},"365":{kind:"block",roles:[{name:"statements",grammarRef:2,childSlot:1,spread:!0}]},"371":{kind:"offer",roles:[{name:"value",grammarRef:2,childSlot:1,spread:!1}]},"372":{kind:"accept",roles:[{name:"name",grammarRef:2,childSlot:1,spread:!1}]},"373":{kind:"render",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1}]},"374":{kind:"render",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1}]},"375":{kind:"member",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"."},{name:"object",grammarRef:null,childSlot:1,literal:"super"},{name:"property",grammarRef:3,childSlot:2,spread:!1}]},"376":{kind:"index",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"[]"},{name:"object",grammarRef:null,childSlot:1,literal:"super"},{name:"key",grammarRef:3,childSlot:2,spread:!1}]},"377":{kind:"index",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"[]"},{name:"object",grammarRef:null,childSlot:1,literal:"super"},{name:"key",grammarRef:4,childSlot:2,spread:!1}]},"378":{kind:"call",roles:[{name:"callee",grammarRef:1,childSlot:0,spread:!1},{name:"args",grammarRef:2,childSlot:1,spread:!0}]},"379":{kind:"super",roles:[{name:"args",grammarRef:2,childSlot:1,spread:!0}]},"380":{kind:"optcall",roles:[{name:"callee",grammarRef:1,childSlot:1,spread:!1},{name:"args",grammarRef:3,childSlot:2,spread:!0}]},"381":{kind:"optcall",roles:[{name:"callee",grammarRef:1,childSlot:1,spread:!1},{name:"args",grammarRef:3,childSlot:2,spread:!0}]},"382":{kind:"maybe-dammit",roles:[{name:"callee",grammarRef:1,childSlot:1,spread:!1},{name:"args",grammarRef:3,childSlot:2,spread:!0},{name:"operator",grammarRef:2,childSlot:null,spread:!1}]},"383":{kind:"dynimport",roles:[{name:"keyword",grammarRef:1,childSlot:0,spread:!1},{name:"args",grammarRef:2,childSlot:1,spread:!0}]},"384":{kind:"await",roles:[{name:"operator",grammarRef:2,childSlot:null,spread:!1}],nested:[{role:"value",path:[1],kind:"dynimport",roles:[{name:"keyword",grammarRef:null,childSlot:0,literal:"import"},{name:"args",grammarRef:3,childSlot:1,spread:!0}],nested:[]}]},"396":{kind:"block",roles:[]},"397":{kind:"block",roles:[{name:"statements",grammarRef:2,childSlot:1,spread:!0}]},"400":{kind:"return",roles:[{name:"value",grammarRef:2,childSlot:1,spread:!1}]},"401":{kind:"return",roles:[{name:"value",grammarRef:3,childSlot:1,spread:!1}]},"402":{kind:"return",roles:[]},"403":{kind:"while",roles:[{name:"condition",grammarRef:2,childSlot:1,spread:!1},{name:"body",grammarRef:3,childSlot:2,spread:!1}]},"404":{kind:"while",roles:[{name:"body",grammarRef:3,childSlot:2,spread:!1}],nested:[{role:"condition",path:[1],kind:"unary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"!"},{name:"operand",grammarRef:2,childSlot:1,spread:!1}],nested:[]}]},"405":{kind:"while",roles:[{name:"condition",grammarRef:2,childSlot:1,spread:!1},{name:"guard",grammarRef:4,childSlot:2,spread:!1},{name:"body",grammarRef:5,childSlot:3,spread:!1}]},"406":{kind:"while",roles:[{name:"guard",grammarRef:4,childSlot:2,spread:!1},{name:"body",grammarRef:5,childSlot:3,spread:!1}],nested:[{role:"condition",path:[1],kind:"unary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"!"},{name:"operand",grammarRef:2,childSlot:1,spread:!1}],nested:[]}]},"407":{kind:"while",roles:[{name:"condition",grammarRef:3,childSlot:1,spread:!1},{name:"body",grammarRef:1,childSlot:null,spread:!1}]},"408":{kind:"while",roles:[{name:"condition",grammarRef:3,childSlot:1,spread:!1},{name:"body",grammarRef:1,childSlot:null,spread:!1}]},"409":{kind:"while",roles:[{name:"body",grammarRef:1,childSlot:null,spread:!1}],nested:[{role:"condition",path:[1],kind:"unary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"!"},{name:"operand",grammarRef:3,childSlot:1,spread:!1}],nested:[]}]},"410":{kind:"while",roles:[{name:"body",grammarRef:1,childSlot:null,spread:!1}],nested:[{role:"condition",path:[1],kind:"unary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"!"},{name:"operand",grammarRef:3,childSlot:1,spread:!1}],nested:[]}]},"411":{kind:"while",roles:[{name:"condition",grammarRef:3,childSlot:1,spread:!1},{name:"guard",grammarRef:5,childSlot:2,spread:!1},{name:"body",grammarRef:1,childSlot:null,spread:!1}]},"412":{kind:"while",roles:[{name:"condition",grammarRef:3,childSlot:1,spread:!1},{name:"guard",grammarRef:5,childSlot:2,spread:!1},{name:"body",grammarRef:1,childSlot:null,spread:!1}]},"413":{kind:"while",roles:[{name:"guard",grammarRef:5,childSlot:2,spread:!1},{name:"body",grammarRef:1,childSlot:null,spread:!1}],nested:[{role:"condition",path:[1],kind:"unary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"!"},{name:"operand",grammarRef:3,childSlot:1,spread:!1}],nested:[]}]},"414":{kind:"while",roles:[{name:"guard",grammarRef:5,childSlot:2,spread:!1},{name:"body",grammarRef:1,childSlot:null,spread:!1}],nested:[{role:"condition",path:[1],kind:"unary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"!"},{name:"operand",grammarRef:3,childSlot:1,spread:!1}],nested:[]}]},"416":{kind:"if",roles:[{name:"condition",grammarRef:2,childSlot:1,spread:!1},{name:"then",grammarRef:3,childSlot:2,spread:!1}]},"417":{kind:"if",roles:[{name:"condition",grammarRef:2,childSlot:1,spread:!1},{name:"then",grammarRef:3,childSlot:2,spread:!1},{name:"else",grammarRef:4,childSlot:3,spread:!1}]},"418":{kind:"if",roles:[{name:"condition",grammarRef:3,childSlot:1,spread:!1},{name:"then",grammarRef:4,childSlot:2,spread:!1}]},"419":{kind:"if",roles:[{name:"condition",grammarRef:3,childSlot:1,spread:!1},{name:"then",grammarRef:4,childSlot:2,spread:!1},{name:"else",grammarRef:5,childSlot:3,spread:!1}]},"421":{kind:"if",roles:[{name:"then",grammarRef:3,childSlot:2,spread:!1}],nested:[{role:"condition",path:[1],kind:"unary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"!"},{name:"operand",grammarRef:2,childSlot:1,spread:!1}],nested:[]}]},"422":{kind:"if",roles:[{name:"then",grammarRef:3,childSlot:2,spread:!1},{name:"else",grammarRef:5,childSlot:3,spread:!1}],nested:[{role:"condition",path:[1],kind:"unary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"!"},{name:"operand",grammarRef:2,childSlot:1,spread:!1}],nested:[]}]},"425":{kind:"if",roles:[{name:"condition",grammarRef:3,childSlot:1,spread:!1},{name:"then",grammarRef:1,childSlot:null,spread:!1}]},"426":{kind:"if",roles:[{name:"condition",grammarRef:3,childSlot:1,spread:!1},{name:"then",grammarRef:1,childSlot:null,spread:!1}]},"427":{kind:"if",roles:[{name:"then",grammarRef:1,childSlot:null,spread:!1}],nested:[{role:"condition",path:[1],kind:"unary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"!"},{name:"operand",grammarRef:3,childSlot:1,spread:!1}],nested:[]}]},"428":{kind:"if",roles:[{name:"then",grammarRef:1,childSlot:null,spread:!1}],nested:[{role:"condition",path:[1],kind:"unary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"!"},{name:"operand",grammarRef:3,childSlot:1,spread:!1}],nested:[]}]},"429":{kind:"ternary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"?:"},{name:"condition",grammarRef:3,childSlot:1,spread:!1},{name:"then",grammarRef:1,childSlot:2,spread:!1},{name:"else",grammarRef:6,childSlot:3,spread:!1}]},"430":{kind:"ternary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"?:"},{name:"condition",grammarRef:3,childSlot:1,spread:!1},{name:"then",grammarRef:1,childSlot:2,spread:!1},{name:"else",grammarRef:5,childSlot:3,spread:!1}]},"431":{kind:"try",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1}]},"432":{kind:"try",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1}]},"433":{kind:"try",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1},{name:"handler",grammarRef:3,childSlot:2,spread:!1}]},"434":{kind:"try",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1}]},"435":{kind:"try",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1},{name:"handler",grammarRef:3,childSlot:2,spread:!1}]},"436":{kind:"try",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1},{name:"handler",grammarRef:3,childSlot:2,spread:!1}]},"437":{kind:"try",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1},{name:"finalizer",grammarRef:3,childSlot:2,spread:!1}]},"438":{kind:"try",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1},{name:"handler",grammarRef:3,childSlot:2,spread:!1},{name:"finalizer",grammarRef:4,childSlot:3,spread:!1}]},"439":{kind:"try",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1},{name:"finalizer",grammarRef:3,childSlot:2,spread:!1}]},"440":{kind:"try",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1},{name:"handler",grammarRef:3,childSlot:2,spread:!1},{name:"finalizer",grammarRef:4,childSlot:3,spread:!1}]},"441":{kind:"try",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1},{name:"finalizer",grammarRef:3,childSlot:2,spread:!1}]},"442":{kind:"try",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1},{name:"handler",grammarRef:3,childSlot:2,spread:!1},{name:"finalizer",grammarRef:4,childSlot:3,spread:!1}]},"444":{kind:"block",roles:[{name:"statements",grammarRef:2,childSlot:1,spread:!1}]},"445":{kind:"catch",roles:[{name:"binding",grammarRef:2,childSlot:0,spread:!1},{name:"body",grammarRef:3,childSlot:1,spread:!1}]},"446":{kind:"catch",roles:[{name:"binding",grammarRef:2,childSlot:0,spread:!1},{name:"body",grammarRef:3,childSlot:1,spread:!1}]},"447":{kind:"catch",roles:[{name:"binding",grammarRef:2,childSlot:0,spread:!1},{name:"body",grammarRef:3,childSlot:1,spread:!1}]},"448":{kind:"catch",roles:[{name:"binding",grammarRef:null,childSlot:0,literal:null},{name:"body",grammarRef:2,childSlot:1,spread:!1}]},"449":{kind:"throw",roles:[{name:"value",grammarRef:2,childSlot:1,spread:!1}]},"450":{kind:"throw",roles:[{name:"value",grammarRef:3,childSlot:1,spread:!1}]},"451":{kind:"switch",roles:[{name:"subject",grammarRef:2,childSlot:1,spread:!1},{name:"cases",grammarRef:4,childSlot:2,spread:!1},{name:"default",grammarRef:null,childSlot:3,literal:null}]},"452":{kind:"switch",roles:[{name:"subject",grammarRef:2,childSlot:1,spread:!1},{name:"cases",grammarRef:4,childSlot:2,spread:!1},{name:"default",grammarRef:6,childSlot:3,spread:!1}]},"453":{kind:"switch",roles:[{name:"subject",grammarRef:null,childSlot:1,literal:null},{name:"cases",grammarRef:3,childSlot:2,spread:!1},{name:"default",grammarRef:null,childSlot:3,literal:null}]},"454":{kind:"switch",roles:[{name:"subject",grammarRef:null,childSlot:1,literal:null},{name:"cases",grammarRef:3,childSlot:2,spread:!1},{name:"default",grammarRef:5,childSlot:3,spread:!1}]},"457":{kind:"when",roles:[{name:"conditions",grammarRef:2,childSlot:1,spread:!1},{name:"body",grammarRef:3,childSlot:2,spread:!1}]},"458":{kind:"when",roles:[{name:"conditions",grammarRef:2,childSlot:1,spread:!1},{name:"body",grammarRef:3,childSlot:2,spread:!1}]},"461":{kind:"forin",roles:[{name:"vars",grammarRef:2,childSlot:1,spread:!1},{name:"iterable",grammarRef:4,childSlot:2,spread:!1},{name:"step",grammarRef:null,childSlot:3,literal:null},{name:"guard",grammarRef:null,childSlot:4,literal:null},{name:"body",grammarRef:5,childSlot:5,spread:!1}]},"462":{kind:"forin",roles:[{name:"vars",grammarRef:2,childSlot:1,spread:!1},{name:"iterable",grammarRef:4,childSlot:2,spread:!1},{name:"step",grammarRef:6,childSlot:3,spread:!1},{name:"guard",grammarRef:null,childSlot:4,literal:null},{name:"body",grammarRef:7,childSlot:5,spread:!1}]},"463":{kind:"forin",roles:[{name:"vars",grammarRef:2,childSlot:1,spread:!1},{name:"iterable",grammarRef:4,childSlot:2,spread:!1},{name:"step",grammarRef:null,childSlot:3,literal:null},{name:"guard",grammarRef:6,childSlot:4,spread:!1},{name:"body",grammarRef:7,childSlot:5,spread:!1}]},"464":{kind:"forin",roles:[{name:"vars",grammarRef:2,childSlot:1,spread:!1},{name:"iterable",grammarRef:4,childSlot:2,spread:!1},{name:"step",grammarRef:8,childSlot:3,spread:!1},{name:"guard",grammarRef:6,childSlot:4,spread:!1},{name:"body",grammarRef:9,childSlot:5,spread:!1}]},"465":{kind:"forin",roles:[{name:"vars",grammarRef:2,childSlot:1,spread:!1},{name:"iterable",grammarRef:4,childSlot:2,spread:!1},{name:"step",grammarRef:6,childSlot:3,spread:!1},{name:"guard",grammarRef:8,childSlot:4,spread:!1},{name:"body",grammarRef:9,childSlot:5,spread:!1}]},"466":{kind:"forof",roles:[{name:"vars",grammarRef:2,childSlot:1,spread:!1},{name:"object",grammarRef:4,childSlot:2,spread:!1},{name:"own",grammarRef:null,childSlot:3,literal:!1},{name:"guard",grammarRef:null,childSlot:4,literal:null},{name:"body",grammarRef:5,childSlot:5,spread:!1}]},"467":{kind:"forof",roles:[{name:"vars",grammarRef:2,childSlot:1,spread:!1},{name:"object",grammarRef:4,childSlot:2,spread:!1},{name:"own",grammarRef:null,childSlot:3,literal:!1},{name:"guard",grammarRef:6,childSlot:4,spread:!1},{name:"body",grammarRef:7,childSlot:5,spread:!1}]},"468":{kind:"forof",roles:[{name:"vars",grammarRef:3,childSlot:1,spread:!1},{name:"object",grammarRef:5,childSlot:2,spread:!1},{name:"own",grammarRef:null,childSlot:3,literal:!0},{name:"guard",grammarRef:null,childSlot:4,literal:null},{name:"body",grammarRef:6,childSlot:5,spread:!1}]},"469":{kind:"forof",roles:[{name:"vars",grammarRef:3,childSlot:1,spread:!1},{name:"object",grammarRef:5,childSlot:2,spread:!1},{name:"own",grammarRef:null,childSlot:3,literal:!0},{name:"guard",grammarRef:7,childSlot:4,spread:!1},{name:"body",grammarRef:8,childSlot:5,spread:!1}]},"470":{kind:"foras",roles:[{name:"vars",grammarRef:2,childSlot:1,spread:!1},{name:"iterable",grammarRef:4,childSlot:2,spread:!1},{name:"await",grammarRef:null,childSlot:3,literal:!1},{name:"guard",grammarRef:null,childSlot:4,literal:null},{name:"body",grammarRef:5,childSlot:5,spread:!1}]},"471":{kind:"foras",roles:[{name:"vars",grammarRef:2,childSlot:1,spread:!1},{name:"iterable",grammarRef:4,childSlot:2,spread:!1},{name:"await",grammarRef:null,childSlot:3,literal:!1},{name:"guard",grammarRef:6,childSlot:4,spread:!1},{name:"body",grammarRef:7,childSlot:5,spread:!1}]},"472":{kind:"foras",roles:[{name:"vars",grammarRef:3,childSlot:1,spread:!1},{name:"iterable",grammarRef:5,childSlot:2,spread:!1},{name:"await",grammarRef:null,childSlot:3,literal:!0},{name:"guard",grammarRef:null,childSlot:4,literal:null},{name:"body",grammarRef:6,childSlot:5,spread:!1}]},"473":{kind:"foras",roles:[{name:"vars",grammarRef:3,childSlot:1,spread:!1},{name:"iterable",grammarRef:5,childSlot:2,spread:!1},{name:"await",grammarRef:null,childSlot:3,literal:!0},{name:"guard",grammarRef:7,childSlot:4,spread:!1},{name:"body",grammarRef:8,childSlot:5,spread:!1}]},"474":{kind:"foras",roles:[{name:"vars",grammarRef:2,childSlot:1,spread:!1},{name:"iterable",grammarRef:4,childSlot:2,spread:!1},{name:"await",grammarRef:null,childSlot:3,literal:!0},{name:"guard",grammarRef:null,childSlot:4,literal:null},{name:"body",grammarRef:5,childSlot:5,spread:!1}]},"475":{kind:"foras",roles:[{name:"vars",grammarRef:2,childSlot:1,spread:!1},{name:"iterable",grammarRef:4,childSlot:2,spread:!1},{name:"await",grammarRef:null,childSlot:3,literal:!0},{name:"guard",grammarRef:6,childSlot:4,spread:!1},{name:"body",grammarRef:7,childSlot:5,spread:!1}]},"476":{kind:"forin",roles:[{name:"iterable",grammarRef:2,childSlot:2,spread:!1},{name:"step",grammarRef:null,childSlot:3,literal:null},{name:"guard",grammarRef:null,childSlot:4,literal:null},{name:"body",grammarRef:3,childSlot:5,spread:!1}]},"477":{kind:"forin",roles:[{name:"iterable",grammarRef:2,childSlot:2,spread:!1},{name:"step",grammarRef:4,childSlot:3,spread:!1},{name:"guard",grammarRef:null,childSlot:4,literal:null},{name:"body",grammarRef:5,childSlot:5,spread:!1}]},"478":{kind:"comprehension",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1}],nested:[{role:"loop",path:[2,0],kind:"forin",roles:[{name:"vars",grammarRef:3,childSlot:1,spread:!1},{name:"iterable",grammarRef:5,childSlot:2,spread:!1},{name:"step",grammarRef:null,childSlot:3,literal:null}],nested:[]}]},"479":{kind:"comprehension",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1},{name:"guard",grammarRef:7,childSlot:null,spread:!1}],nested:[{role:"loop",path:[2,0],kind:"forin",roles:[{name:"vars",grammarRef:3,childSlot:1,spread:!1},{name:"iterable",grammarRef:5,childSlot:2,spread:!1},{name:"step",grammarRef:null,childSlot:3,literal:null}],nested:[]}]},"480":{kind:"comprehension",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1}],nested:[{role:"loop",path:[2,0],kind:"forin",roles:[{name:"vars",grammarRef:3,childSlot:1,spread:!1},{name:"iterable",grammarRef:5,childSlot:2,spread:!1},{name:"step",grammarRef:7,childSlot:3,spread:!1}],nested:[]}]},"481":{kind:"comprehension",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1},{name:"guard",grammarRef:7,childSlot:null,spread:!1}],nested:[{role:"loop",path:[2,0],kind:"forin",roles:[{name:"vars",grammarRef:3,childSlot:1,spread:!1},{name:"iterable",grammarRef:5,childSlot:2,spread:!1},{name:"step",grammarRef:9,childSlot:3,spread:!1}],nested:[]}]},"482":{kind:"comprehension",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1},{name:"guard",grammarRef:9,childSlot:null,spread:!1}],nested:[{role:"loop",path:[2,0],kind:"forin",roles:[{name:"vars",grammarRef:3,childSlot:1,spread:!1},{name:"iterable",grammarRef:5,childSlot:2,spread:!1},{name:"step",grammarRef:7,childSlot:3,spread:!1}],nested:[]}]},"483":{kind:"comprehension",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1}],nested:[{role:"loop",path:[2,0],kind:"forof",roles:[{name:"vars",grammarRef:3,childSlot:1,spread:!1},{name:"object",grammarRef:5,childSlot:2,spread:!1},{name:"own",grammarRef:null,childSlot:3,literal:!1}],nested:[]}]},"484":{kind:"comprehension",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1},{name:"guard",grammarRef:7,childSlot:null,spread:!1}],nested:[{role:"loop",path:[2,0],kind:"forof",roles:[{name:"vars",grammarRef:3,childSlot:1,spread:!1},{name:"object",grammarRef:5,childSlot:2,spread:!1},{name:"own",grammarRef:null,childSlot:3,literal:!1}],nested:[]}]},"485":{kind:"comprehension",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1}],nested:[{role:"loop",path:[2,0],kind:"forof",roles:[{name:"vars",grammarRef:4,childSlot:1,spread:!1},{name:"object",grammarRef:6,childSlot:2,spread:!1},{name:"own",grammarRef:null,childSlot:3,literal:!0}],nested:[]}]},"486":{kind:"comprehension",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1},{name:"guard",grammarRef:8,childSlot:null,spread:!1}],nested:[{role:"loop",path:[2,0],kind:"forof",roles:[{name:"vars",grammarRef:4,childSlot:1,spread:!1},{name:"object",grammarRef:6,childSlot:2,spread:!1},{name:"own",grammarRef:null,childSlot:3,literal:!0}],nested:[]}]},"487":{kind:"comprehension",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1}],nested:[{role:"loop",path:[2,0],kind:"foras",roles:[{name:"vars",grammarRef:3,childSlot:1,spread:!1},{name:"iterable",grammarRef:5,childSlot:2,spread:!1},{name:"await",grammarRef:null,childSlot:3,literal:!1}],nested:[]}]},"488":{kind:"comprehension",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1},{name:"guard",grammarRef:7,childSlot:null,spread:!1}],nested:[{role:"loop",path:[2,0],kind:"foras",roles:[{name:"vars",grammarRef:3,childSlot:1,spread:!1},{name:"iterable",grammarRef:5,childSlot:2,spread:!1},{name:"await",grammarRef:null,childSlot:3,literal:!1}],nested:[]}]},"489":{kind:"comprehension",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1}],nested:[{role:"loop",path:[2,0],kind:"foras",roles:[{name:"vars",grammarRef:4,childSlot:1,spread:!1},{name:"iterable",grammarRef:6,childSlot:2,spread:!1},{name:"await",grammarRef:null,childSlot:3,literal:!0}],nested:[]}]},"490":{kind:"comprehension",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1},{name:"guard",grammarRef:8,childSlot:null,spread:!1}],nested:[{role:"loop",path:[2,0],kind:"foras",roles:[{name:"vars",grammarRef:4,childSlot:1,spread:!1},{name:"iterable",grammarRef:6,childSlot:2,spread:!1},{name:"await",grammarRef:null,childSlot:3,literal:!0}],nested:[]}]},"491":{kind:"comprehension",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1}],nested:[{role:"loop",path:[2,0],kind:"foras",roles:[{name:"vars",grammarRef:3,childSlot:1,spread:!1},{name:"iterable",grammarRef:5,childSlot:2,spread:!1},{name:"await",grammarRef:null,childSlot:3,literal:!0}],nested:[]}]},"492":{kind:"comprehension",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1},{name:"guard",grammarRef:7,childSlot:null,spread:!1}],nested:[{role:"loop",path:[2,0],kind:"foras",roles:[{name:"vars",grammarRef:3,childSlot:1,spread:!1},{name:"iterable",grammarRef:5,childSlot:2,spread:!1},{name:"await",grammarRef:null,childSlot:3,literal:!0}],nested:[]}]},"496":{kind:"loop",roles:[{name:"body",grammarRef:2,childSlot:1,spread:!1}]},"497":{kind:"loop",roles:[{name:"count",grammarRef:2,childSlot:1,spread:!1},{name:"body",grammarRef:3,childSlot:2,spread:!1}]},"498":{kind:"update",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"--"},{name:"target",grammarRef:2,childSlot:1,spread:!1},{name:"prefix",grammarRef:null,childSlot:2,literal:!1}]},"499":{kind:"update",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"++"},{name:"target",grammarRef:2,childSlot:1,spread:!1},{name:"prefix",grammarRef:null,childSlot:2,literal:!1}]},"500":{kind:"update",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"--"},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"prefix",grammarRef:null,childSlot:2,literal:!0}]},"501":{kind:"update",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"++"},{name:"target",grammarRef:1,childSlot:1,spread:!1},{name:"prefix",grammarRef:null,childSlot:2,literal:!0}]},"502":{kind:"existence",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"?"},{name:"value",grammarRef:1,childSlot:1,spread:!1}]},"503":{kind:"presence",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1}]},"504":{kind:"cast",roles:[{name:"value",grammarRef:1,childSlot:1,spread:!1},{name:"annotation",grammarRef:2,childSlot:2,spread:!1}]},"505":{kind:"ternary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"?:"},{name:"condition",grammarRef:1,childSlot:1,spread:!1},{name:"then",grammarRef:3,childSlot:2,spread:!1},{name:"else",grammarRef:5,childSlot:3,spread:!1}]},"506":{kind:"unary",roles:[{name:"operator",grammarRef:1,childSlot:0,spread:!1},{name:"operand",grammarRef:2,childSlot:1,spread:!1}]},"507":{kind:"doiife",roles:[{name:"func",grammarRef:2,childSlot:1,spread:!1}]},"508":{kind:"unary",roles:[{name:"operator",grammarRef:1,childSlot:0,spread:!1},{name:"operand",grammarRef:2,childSlot:1,spread:!1}]},"509":{kind:"await",roles:[{name:"value",grammarRef:2,childSlot:1,spread:!1},{name:"operator",grammarRef:1,childSlot:null,spread:!1}]},"510":{kind:"await",roles:[{name:"value",grammarRef:3,childSlot:1,spread:!1},{name:"operator",grammarRef:1,childSlot:null,spread:!1}]},"511":{kind:"yield",roles:[]},"512":{kind:"yield",roles:[{name:"value",grammarRef:2,childSlot:1,spread:!1}]},"513":{kind:"yield",roles:[{name:"value",grammarRef:3,childSlot:1,spread:!1}]},"514":{kind:"yieldfrom",roles:[{name:"value",grammarRef:3,childSlot:1,spread:!1}]},"515":{kind:"unary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"-"},{name:"operand",grammarRef:2,childSlot:1,spread:!1}]},"516":{kind:"unary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"+"},{name:"operand",grammarRef:2,childSlot:1,spread:!1}]},"517":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"**"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"518":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"+"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"519":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"-"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"520":{kind:"binary",roles:[{name:"operator",grammarRef:2,childSlot:0,spread:!1},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"521":{kind:"binary",roles:[{name:"operator",grammarRef:2,childSlot:0,spread:!1},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"522":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"&"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"523":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"^"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"524":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"|"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"525":{kind:"binary",roles:[{name:"operator",grammarRef:2,childSlot:0,spread:!1},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"526":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"=~"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"527":{kind:"relation",roles:[{name:"operator",grammarRef:2,childSlot:0,spread:!1},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"528":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"&&"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"529":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"||"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"530":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"??"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"531":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"&&"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"532":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"||"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"533":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"??"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"534":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"&&"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"535":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"||"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"536":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"??"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"537":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"&&"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"538":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"||"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"539":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"&&"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"540":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"||"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"541":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"&&"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]},"542":{kind:"binary",roles:[{name:"operator",grammarRef:null,childSlot:0,literal:"||"},{name:"left",grammarRef:1,childSlot:1,spread:!1},{name:"right",grammarRef:3,childSlot:2,spread:!1}]}},primitiveRefs:{"1":[],"2":[1],"3":[1],"4":[1,3],"5":[1],"6":[1],"7":[1],"8":[1],"9":[1],"10":[1],"11":[1],"12":[1],"13":[1],"14":[1],"15":[1,2],"16":[1,3],"17":[2,3,4],"18":[2],"19":[2,4],"20":[2,4],"21":[5],"22":[3,7],"23":[2,4,6],"24":[2,5,9],"25":[3,4,2],"26":[2,5,6,4],"27":[2,5,6,4],"28":[3,8,9,7],"29":[2,4,7,8,6],"30":[2,5,10,11,9],"31":[3,5],"32":[3,5],"33":[6],"34":[4,8],"35":[1],"36":[1,3],"37":[1,4],"38":[2],"39":[1,4],"40":[1],"41":[1,3],"42":[1],"43":[1,3],"44":[1],"45":[3],"46":[],"47":[3],"48":[2],"49":[2],"50":[2],"51":[2],"52":[2],"53":[2],"54":[2],"55":[2],"56":[3],"57":[4],"58":[4],"59":[6,4],"60":[6,4],"61":[5],"62":[3,7],"63":[1,3],"64":[1,4],"65":[1,4],"66":[1,4],"67":[1,5],"68":[1,5],"69":[1,4],"70":[1,4],"71":[1,5],"72":[1,5],"73":[1,4],"74":[1,5],"75":[1,5],"76":[1,4],"77":[1,5],"78":[1,4],"79":[1,4],"80":[1,5],"81":[1,5],"82":[1,4],"83":[1,5],"84":[1,4],"85":[1],"86":[1,3],"87":[1,4],"88":[2],"89":[1,4],"90":[1],"91":[1,3],"92":[1,3],"93":[1],"94":[1,3],"95":[1],"96":[1],"97":[1],"98":[1],"99":[1],"100":[1],"101":[1],"102":[1],"103":[1],"104":[1],"105":[1],"106":[1],"107":[1],"108":[1],"109":[1],"110":[1],"111":[1],"112":[1],"113":[1],"114":[1],"115":[1],"116":[1],"117":[1],"118":[1],"119":[1],"120":[1],"121":[1],"122":[1],"123":[1],"124":[1],"125":[1,3],"126":[1],"127":[1],"128":[],"129":[],"130":[1],"131":[1],"132":[1],"133":[1],"134":[1],"135":[2],"136":[1],"137":[1,2],"138":[2],"139":[3],"140":[],"141":[1],"142":[1],"143":[3,2],"144":[1],"145":[1],"146":[1,3],"147":[1,4],"148":[1,4],"149":[1,4],"150":[1,5],"151":[1,5],"152":[1,4],"153":[1,5],"154":[1,5],"155":[1,5],"156":[1,6],"157":[1,6],"158":[1,3],"159":[1,4],"160":[1,4],"161":[2,1,3],"162":[2,1,4],"163":[2,1,4],"164":[1,3],"165":[1,4],"166":[1,5],"167":[1,5],"168":[1],"169":[1],"170":[1],"171":[1],"172":[2],"173":[2],"174":[1],"175":[2],"176":[1],"177":[1,3],"178":[1,4],"179":[1,4],"180":[1,5],"181":[1,3],"182":[1,4],"183":[1,4],"184":[1,5],"185":[1,3],"186":[1,4],"187":[1,3],"188":[1,4],"189":[1,3,5],"190":[1,4,6],"191":[1,3],"192":[1,4],"193":[1,4],"194":[1,5],"195":[1,3],"196":[1,4],"197":[2],"198":[1],"199":[1],"200":[1,3],"201":[1,3],"202":[1,3],"203":[1,4],"204":[1,3,5],"205":[1,3],"206":[1,4],"207":[1,4],"208":[1,5],"209":[1,3],"210":[1,3],"211":[1,4],"212":[1,4],"213":[1,3],"214":[1,3],"215":[1,2],"216":[1,2],"217":[1,2],"218":[2],"219":[2,4],"220":[1,2],"221":[1],"222":[1],"223":[1],"224":[1],"225":[1],"226":[1,3],"227":[1,3],"228":[1,3],"229":[1,3],"230":[1],"231":[1],"232":[4,2,5],"233":[5,2,6],"234":[1,2],"235":[1],"236":[1],"237":[2],"238":[],"239":[],"240":[2],"241":[2],"242":[],"243":[2],"244":[2,3],"245":[1],"246":[1,3],"247":[1,4],"248":[2,3],"249":[1,2,4,5],"250":[1],"251":[1,2],"252":[],"253":[2],"254":[1],"255":[1,2],"256":[],"257":[1],"258":[2],"259":[3],"260":[],"261":[1],"262":[1,3],"263":[1,4],"264":[1,4],"265":[1,1],"266":[1],"267":[1,3],"268":[1,4],"269":[1,3],"270":[1,3],"271":[1,4],"272":[1,4],"273":[1,5],"274":[2],"275":[2],"276":[1],"277":[1],"278":[1],"279":[1],"280":[1],"281":[2],"282":[1,2],"283":[1,2],"284":[1,2],"285":[1,3],"286":[1,3],"287":[1,3],"288":[1,4],"289":[1],"290":[1,3],"291":[1,3],"292":[1,4],"293":[1,4],"294":[1],"295":[1,3],"296":[1,4],"297":[1,4],"298":[1,1],"299":[1,3],"300":[1,1,3],"301":[1,3,5],"302":[1],"303":[1],"304":[1],"305":[1],"306":[1],"307":[1],"308":[1],"309":[2],"310":[3],"311":[],"312":[],"313":[3,2,4],"314":[2,1,3],"315":[2,1],"316":[1,2],"317":[1],"318":[2,3,4],"319":[2,3,5],"320":[2,4,5],"321":[2,4,6],"322":[2,4,5],"323":[2,4,6],"324":[2,3,4],"325":[2,3,5],"326":[2,4,5],"327":[2,4,6],"328":[2,4,5],"329":[2,4,6],"330":[],"331":[2],"332":[],"333":[1],"334":[1,3],"335":[1,4],"336":[1,4],"337":[1],"338":[1,3],"339":[2],"340":[],"341":[1],"342":[1,2],"343":[1,3],"344":[1],"345":[1],"346":[1],"347":[1],"348":[1],"349":[2],"350":[1],"351":[],"352":[2],"353":[3],"354":[3,4],"355":[2],"356":[2,3],"357":[2,4],"358":[2,4,5],"359":[2,3],"360":[2,4,5],"361":[2,3],"362":[2],"363":[2],"364":[3,4],"365":[2],"366":[1],"367":[1,3],"368":[1],"369":[1],"370":[1],"371":[2],"372":[2],"373":[2],"374":[2],"375":[3],"376":[3],"377":[4],"378":[1,2],"379":[2],"380":[1,3],"381":[1,3],"382":[1,3],"383":[1,2],"384":[3],"385":[],"386":[2],"387":[1],"388":[1,3],"389":[1,4],"390":[2],"391":[1,4],"392":[1],"393":[1],"394":[1],"395":[1],"396":[],"397":[2],"398":[2],"399":[3],"400":[2],"401":[3],"402":[],"403":[2,3],"404":[2,3],"405":[2,4,5],"406":[2,4,5],"407":[3,1],"408":[3,1],"409":[3,1],"410":[3,1],"411":[3,5,1],"412":[3,5,1],"413":[3,5,1],"414":[3,5,1],"415":[1],"416":[2,3],"417":[2,3,4],"418":[3,4],"419":[3,4,5],"420":[2],"421":[2,3],"422":[2,3,5],"423":[1],"424":[1],"425":[3,1],"426":[3,1],"427":[3,1],"428":[3,1],"429":[3,1,6],"430":[3,1,5],"431":[2],"432":[2],"433":[2,3],"434":[2],"435":[2,3],"436":[2,3],"437":[2,3],"438":[2,3,4],"439":[2,3],"440":[2,3,4],"441":[2,3],"442":[2,3,4],"443":[2],"444":[2],"445":[2,3],"446":[2,3],"447":[2,3],"448":[2],"449":[2],"450":[3],"451":[2,4],"452":[2,4,6],"453":[3],"454":[3,5],"455":[1],"456":[1,2],"457":[2,3],"458":[2,3],"459":[1],"460":[1,3],"461":[2,4,5],"462":[2,4,6,7],"463":[2,4,6,7],"464":[2,4,8,6,9],"465":[2,4,6,8,9],"466":[2,4,5],"467":[2,4,6,7],"468":[3,5,6],"469":[3,5,7,8],"470":[2,4,5],"471":[2,4,6,7],"472":[3,5,6],"473":[3,5,7,8],"474":[2,4,5],"475":[2,4,6,7],"476":[2,3],"477":[2,4,5],"478":[1,3,5],"479":[1,3,5,7],"480":[1,3,5,7],"481":[1,3,5,9,7],"482":[1,3,5,7,9],"483":[1,3,5],"484":[1,3,5,7],"485":[1,4,6],"486":[1,4,6,8],"487":[1,3,5],"488":[1,3,5,7],"489":[1,4,6],"490":[1,4,6,8],"491":[1,3,5],"492":[1,3,5,7],"493":[1],"494":[1],"495":[1,3],"496":[2],"497":[2,3],"498":[2],"499":[2],"500":[1],"501":[1],"502":[1],"503":[1],"504":[1,2],"505":[1,3,5],"506":[1,2],"507":[2],"508":[1,2],"509":[2],"510":[3],"511":[],"512":[2],"513":[3],"514":[3],"515":[2],"516":[2],"517":[1,3],"518":[1,3],"519":[1,3],"520":[2,1,3],"521":[2,1,3],"522":[1,3],"523":[1,3],"524":[1,3],"525":[2,1,3],"526":[1,3],"527":[2,1,3],"528":[1,3],"529":[1,3],"530":[1,3],"531":[1,3],"532":[1,3],"533":[1,3],"534":[1,3],"535":[1,3],"536":[1,3],"537":[1,3],"538":[1,3],"539":[1,3],"540":[1,3],"541":[1,3],"542":[1,3]},accumulators:{"4":!0,"36":!0,"37":!0,"39":!0,"86":!0,"87":!0,"89":!0,"137":!0,"246":!0,"247":!0,"249":!0,"255":!0,"262":!0,"263":!0,"264":!0,"295":!0,"296":!0,"297":!0,"334":!0,"335":!0,"336":!0,"367":!0,"388":!0,"389":!0,"391":!0,"456":!0},parseTable:(()=>{let e=[108,1,2,1,1,2,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,-1,1,2,3,4,5,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,1,1,0,2,1,5,-2,108,5,1,5,31,60,88,-3,-3,-3,-3,-3,28,1,5,31,60,88,2,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-6,-6,-6,-6,-6,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,9,1,5,31,60,88,2,1,9,1,-7,-7,-7,-7,-7,134,135,132,133,56,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,6,3,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-95,-95,-95,-95,-95,-95,136,137,-95,142,-95,-230,-230,-230,-95,-230,-230,-95,-230,140,-95,-95,-95,-95,-95,141,138,139,-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,49,1,5,22,3,5,1,60,15,4,1,1,1,2,1,2,1,9,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-96,-96,-96,-96,-96,-96,-96,-96,-231,-231,-231,-96,-231,-231,-96,-231,-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,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,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,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,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,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,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,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,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,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,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,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,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,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,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,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,-8,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,64,1,5,11,1,10,3,5,1,14,1,2,1,2,1,23,2,14,13,1,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-115,-115,144,145,-115,-115,-115,-115,143,146,147,148,150,151,-115,-115,-115,149,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,-116,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,-117,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,-118,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,-119,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,-120,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,-121,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,-122,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,-124,18,6,14,7,4,2,3,65,6,7,19,1,6,1,9,6,8,1,1,-332,157,100,-332,159,-332,96,158,160,152,-332,162,161,101,155,153,154,156,2,36,20,164,163,46,16,4,3,4,6,27,1,13,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,25,169,166,103,100,76,167,168,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,170,107,105,106,96,165,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,82,46,16,4,3,4,6,27,1,13,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,25,169,166,103,100,76,167,168,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,170,107,105,106,96,171,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,82,68,1,5,11,1,10,3,5,1,14,1,2,1,2,1,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,8,1,1,1,5,1,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,174,175,-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,172,173,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,-168,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,176,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,178,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,179,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,105,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,180,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,181,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,143,1,5,1,1,1,1,1,1,1,1,1,1,3,1,2,1,2,2,1,3,2,3,1,4,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,5,1,1,2,3,3,5,2,1,4,5,2,1,1,4,2,1,1,1,1,1,1,1,1,8,4,2,2,1,4,6,2,1,2,6,4,1,1,1,1,1,1,1,1,2,1,1,1,1,1,3,1,1,1,5,3,4,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-511,-511,182,177,26,27,28,29,30,31,73,32,65,54,71,103,184,100,-511,-511,76,183,-511,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,-511,105,106,96,45,75,-511,92,93,-511,-511,94,95,89,41,-511,42,90,91,86,87,88,83,-511,101,-511,-511,84,85,-511,66,74,67,68,69,82,-511,70,-511,-511,-511,63,56,97,-511,57,98,-511,-511,58,-511,-511,64,60,-511,-511,49,99,43,44,-511,-511,46,47,48,50,51,52,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,-511,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,185,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,186,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,57,1,5,11,11,3,5,1,14,30,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-134,-134,188,-134,-134,-134,-134,187,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,69,1,5,11,1,10,3,5,1,14,1,1,1,1,2,1,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,8,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,189,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,108,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,7,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,2,5,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,192,191,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,164,72,22,21,10,11,13,14,193,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,190,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,106,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,7,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,195,196,26,27,28,29,30,31,73,32,65,54,71,103,100,76,164,72,22,21,10,11,13,14,194,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,15,20,7,6,43,25,6,7,26,1,9,16,45,4,2,2,157,100,159,200,96,158,160,162,83,101,202,197,198,199,201,105,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,203,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,204,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,205,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,206,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,-415,105,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,207,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,208,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,4,20,81,13,26,209,96,210,162,50,1,5,14,8,3,5,1,19,41,4,11,2,5,5,10,6,2,12,2,7,5,2,15,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-351,-351,215,-351,-351,164,-351,211,-351,96,-351,214,-351,-351,-351,162,-351,-351,-351,-351,213,212,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,1,173,216,3,36,134,5,219,218,217,106,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,7,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,221,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,164,72,22,21,10,11,13,14,220,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,142,1,5,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,1,3,2,3,1,4,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,5,1,1,2,3,3,5,2,1,4,5,2,1,1,4,2,1,1,1,1,1,1,1,1,8,4,2,2,1,4,6,2,1,2,6,4,1,1,1,1,1,1,1,1,2,1,1,1,1,1,3,1,1,1,5,3,4,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-402,-402,222,177,26,27,28,29,30,31,73,32,65,54,71,103,100,-402,-402,76,223,-402,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,-402,105,106,96,45,75,-402,92,93,-402,-402,94,95,89,41,-402,42,90,91,86,87,88,83,-402,101,-402,-402,84,85,-402,66,74,67,68,69,82,-402,70,-402,-402,-402,63,56,97,-402,57,98,-402,-402,58,-402,-402,64,60,-402,-402,49,99,43,44,-402,-402,46,47,48,50,51,52,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,10,20,3,1,2,1,7,6,51,1,9,229,224,225,226,227,228,230,170,107,96,60,14,2,3,1,3,4,6,6,4,1,1,1,1,1,1,1,8,2,1,13,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,13,234,244,242,243,103,231,76,240,232,233,235,236,237,238,239,241,55,167,168,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,170,107,105,106,96,245,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,82,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-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,-14,-14,-14,-14,-14,-14,2,20,81,246,96,64,1,5,11,1,10,3,5,1,14,1,2,1,2,1,23,2,14,13,1,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,-169,64,1,5,11,1,10,3,5,1,14,1,2,1,2,1,23,2,14,13,1,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,-170,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,-126,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,-130,107,4,1,2,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,247,3,4,5,26,27,28,29,30,31,73,32,65,54,71,103,100,76,248,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,114,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,4,2,3,5,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,1,1,1,2,1,1,2,6,2,1,8,2,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,249,177,26,27,28,29,30,31,73,32,65,54,71,103,100,256,76,255,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,250,251,252,254,257,253,101,259,84,85,258,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,4,111,5,2,13,142,261,262,260,3,81,30,20,264,142,263,5,61,71,3,1,1,265,41,42,90,91,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,-238,58,1,5,22,3,5,1,44,2,8,6,5,1,8,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-239,-239,-239,-239,-239,-239,-239,-239,267,-239,266,268,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,-239,14,20,55,4,1,2,19,13,14,1,1,9,1,18,26,272,275,274,276,270,96,273,89,269,271,87,88,277,82,1,36,-235,1,36,-236,68,1,5,11,1,10,3,5,1,14,1,2,1,2,1,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,8,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,-199,6,116,1,1,3,1,3,278,279,280,281,282,283,1,116,284,1,116,285,76,1,5,11,1,7,3,3,5,1,1,13,1,1,1,1,2,1,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,7,7,11,1,1,2,2,1,1,5,3,1,4,1,7,2,1,1,2,2,3,1,1,1,5,1,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,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,286,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,287,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,106,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,7,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,289,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,164,72,22,21,10,11,13,14,288,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,26,6,14,3,5,3,5,48,1,4,1,1,1,6,1,2,1,1,11,26,1,8,2,1,1,2,1,-260,300,103,-260,-260,-260,296,294,102,104,170,107,105,106,96,301,268,302,298,297,290,291,292,293,295,299,1,27,303,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,-131,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,-132,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,-133,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,6,23,68,1,1,2,1,307,170,107,304,305,306,6,23,68,1,1,2,1,307,170,107,308,305,306,110,1,4,1,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,4,4,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,5,1,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,1,1,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,-5,309,-5,4,5,26,27,28,29,30,31,73,32,65,54,71,103,100,76,-5,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,-5,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,-5,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,-504,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,310,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,311,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,312,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,313,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,314,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,315,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,316,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,317,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,318,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,319,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,320,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,321,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,322,177,323,324,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,325,177,326,327,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,328,177,329,330,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,331,177,332,333,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,334,177,335,336,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,337,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,338,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,14,20,7,6,68,6,7,26,1,9,16,45,4,2,2,157,100,159,96,158,160,162,161,101,202,339,340,341,201,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,342,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,343,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,344,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,345,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,346,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,347,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,-123,3,23,68,1,348,170,107,45,1,5,22,3,5,1,60,14,1,7,5,7,3,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-502,-502,-502,-502,-502,-502,-502,142,-502,-502,-502,349,-502,-502,-502,-502,-502,-502,-502,-502,-502,-502,-502,-502,-502,-502,-502,-502,-502,-502,-502,-502,-502,-502,-502,-502,-502,-502,-502,-502,-502,-502,-502,-502,-502,45,1,5,22,3,5,1,60,14,1,7,5,7,3,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-503,-503,-503,-503,-503,-503,-503,142,-503,-503,-503,350,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,-503,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,2,111,20,142,351,110,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,5,1,1,1,11,1,1,4,3,1,1,1,1,1,1,6,3,6,2,1,8,2,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,356,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,355,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,352,353,92,93,94,95,89,41,42,90,91,86,87,88,83,354,101,259,84,85,258,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,106,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,358,357,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,359,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,49,1,5,22,3,5,1,14,3,1,2,1,39,13,2,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-15,-15,-15,-15,-15,-15,360,361,362,364,365,-15,363,-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,5,17,34,3,1,2,367,366,368,369,370,1,51,371,107,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,1,6,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,374,373,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,375,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,372,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,108,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,7,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,2,5,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,192,191,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,164,72,22,21,10,11,13,14,193,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,376,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,46,16,4,3,4,6,27,1,13,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,25,169,166,103,100,76,377,168,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,170,107,105,106,96,245,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,82,107,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,1,6,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,374,373,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,375,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,378,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,108,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,7,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,2,5,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,192,191,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,164,72,22,21,10,11,13,14,193,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,379,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,5,6,24,1,5,98,-394,382,381,-394,380,6,6,25,5,1,75,22,-333,-333,-333,-333,-333,-333,7,6,25,5,1,14,61,22,-337,-337,-337,-337,383,-337,-337,17,6,14,7,4,2,3,1,64,6,5,2,20,6,1,9,15,1,-340,157,100,-340,159,-340,-340,96,158,-340,160,-340,162,161,101,384,156,9,6,11,1,13,5,1,14,61,22,-341,385,386,-341,-341,-341,-341,-341,-341,13,6,11,1,13,5,1,14,61,22,78,2,2,2,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,13,6,11,1,13,5,1,14,61,22,78,2,2,2,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,13,6,11,1,13,5,1,14,61,22,78,2,2,2,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,13,6,11,1,13,5,1,14,61,22,78,2,2,2,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,-348,114,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,4,2,3,5,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,1,1,1,2,1,1,2,6,2,1,8,2,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,356,177,26,27,28,29,30,31,73,32,65,54,71,103,100,256,76,255,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,250,251,252,254,257,253,101,259,84,85,258,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,3,91,11,1,267,266,268,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,107,4,1,2,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,4,4,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,388,3,4,5,26,27,28,29,30,31,73,32,65,54,71,103,100,76,387,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-498,-498,-498,-498,-498,-498,-168,-168,-498,-168,-498,-168,-168,-168,-498,-168,-168,-498,-168,-498,-498,-498,-498,-498,-168,-168,-168,-498,-498,-498,-498,-498,-498,-498,-498,-498,-498,-498,-498,-498,-498,-498,-498,-498,-498,-498,-498,-498,-498,-498,-498,-498,-498,-498,-498,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,13,81,2,28,5,1,1,3,1,3,6,50,1,1,136,137,142,-230,-230,-230,-230,-230,-230,140,141,389,390,6,116,1,1,3,1,3,-231,-231,-231,-231,-231,-231,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,61,1,5,22,3,1,4,1,44,2,8,1,2,2,1,3,11,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,-134,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-499,-499,-499,-499,-499,-499,-168,-168,-499,-168,-499,-168,-168,-168,-499,-168,-168,-499,-168,-499,-499,-499,-499,-499,-168,-168,-168,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,-499,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,-500,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,-501,106,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,393,391,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,392,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,394,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-506,-506,-506,-506,-506,-506,-506,-506,-506,-506,-506,-506,-506,-506,-506,-506,-506,-506,-506,-506,-506,-506,-506,-506,-506,-506,-506,-506,-506,-506,-506,-506,-506,-506,-506,-506,-506,-506,-506,-506,-506,-506,-506,4,187,1,9,1,134,135,132,133,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,-507,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-508,-508,-508,-508,-508,-508,-508,-508,-508,-508,-508,-508,-508,-508,-508,-508,-508,-508,-508,-508,-508,-508,-508,-508,-508,-508,-508,-508,-508,-508,111,-508,-508,-508,-508,-508,-508,-508,-508,-508,-508,-508,-508,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,-509,3,27,6,117,100,395,101,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,-512,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-512,3,27,6,117,100,396,101,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,397,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,111,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,-515,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,111,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,-516,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,398,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,1,51,399,1,51,400,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,-197,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,-174,130,131,-174,126,127,128,-174,-174,129,-174,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,401,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,-176,45,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,2,1,1,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,402,403,405,404,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,45,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,2,1,1,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,130,131,-432,126,127,128,406,407,405,404,129,-432,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,45,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,2,1,1,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,134,135,-434,-434,132,133,408,409,405,404,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,4,212,2,2,2,410,411,412,413,12,20,7,6,68,6,7,26,1,9,16,45,8,157,100,159,96,158,160,162,161,101,202,414,201,12,20,7,6,68,6,7,26,1,9,16,45,8,157,100,159,96,158,160,162,161,101,202,415,201,3,36,20,157,164,416,417,5,31,181,2,2,2,418,-494,-494,-494,-494,5,31,181,2,2,2,-493,-493,-493,-493,-493,24,36,151,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,419,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,3,206,1,1,420,421,422,26,36,20,131,1,1,5,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,164,423,130,131,424,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,26,36,20,131,1,1,5,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,164,425,130,131,426,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-449,3,27,6,117,100,427,101,6,17,4,15,16,1,58,-330,428,-330,429,430,431,6,17,4,15,16,1,58,-330,432,-330,433,434,431,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,435,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,45,1,5,22,3,5,1,19,41,15,7,5,10,8,12,2,7,7,15,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-355,-355,-355,-355,164,-355,436,-355,-355,-355,-355,-355,-355,-355,-355,-355,437,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,3,36,20,114,164,438,439,44,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,7,15,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,-362,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,-363,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,440,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,108,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,2,1,1,1,1,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,443,444,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,441,442,445,446,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,130,131,-374,126,-374,-374,-374,-374,129,-374,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-374,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,-400,-400,-400,-400,-400,-400,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-400,3,27,6,117,100,447,101,44,1,5,22,3,1,4,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-18,-18,-18,-18,448,-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,2,25,6,449,450,1,25,451,7,20,8,1,6,1,3,62,456,452,453,454,455,457,96,6,20,4,2,1,13,61,229,458,459,460,230,96,2,25,6,-44,-44,1,38,461,29,6,14,3,5,3,5,3,3,17,25,1,4,1,1,1,6,1,2,1,1,11,26,1,8,2,1,1,2,1,-260,466,103,462,-260,465,467,463,464,296,294,102,104,170,107,105,106,96,301,268,302,298,297,290,291,292,293,295,299,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,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,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,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,105,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,468,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,469,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,2,25,13,470,471,4,20,81,13,26,472,96,210,162,21,17,1,33,1,1,1,1,2,1,23,2,28,5,1,1,3,1,3,56,1,1,474,-198,473,475,476,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,18,17,1,36,1,2,1,23,2,28,5,1,1,3,1,3,56,1,1,477,478,147,148,150,151,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,61,1,5,11,1,10,3,5,1,17,1,2,1,23,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,-168,-168,-168,-168,-168,-168,-168,2,36,20,164,479,2,6,179,108,480,106,4,1,2,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,481,3,4,5,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,30,6,25,5,106,14,6,1,24,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-392,-392,-392,-392,484,482,483,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,68,1,5,11,1,10,3,5,1,14,1,2,1,2,1,23,2,14,13,1,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,2,1,1,2,2,5,1,5,1,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,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,-242,110,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,4,2,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,1,5,1,2,6,2,1,8,2,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,356,177,26,27,28,29,30,31,73,32,65,54,71,103,100,256,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,485,487,486,101,259,84,85,258,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,6,6,24,1,5,106,3,-394,490,489,-394,-394,488,61,6,4,5,4,3,5,4,5,1,4,17,28,1,1,1,1,1,1,6,1,2,25,1,1,4,4,1,1,1,1,1,1,8,6,2,1,10,2,1,2,6,4,2,1,1,4,4,3,5,1,5,7,3,1,1,3,1,1,1,1,1,491,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,-254,5,6,25,5,1,105,-245,-245,-245,-245,-245,113,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,4,2,3,5,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,2,1,2,1,1,2,6,2,1,8,2,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,356,177,26,27,28,29,30,31,73,32,65,54,71,103,100,256,76,255,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,493,492,254,257,253,101,259,84,85,258,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,61,6,4,5,4,3,5,4,5,1,4,17,28,1,1,1,1,1,1,6,1,2,25,1,1,4,4,1,1,1,1,1,1,8,6,2,1,10,2,1,2,6,4,2,1,1,4,4,3,5,1,5,7,3,1,1,3,1,1,1,1,1,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,-256,5,6,25,5,1,105,-250,-250,-250,-250,-250,6,6,25,5,1,75,30,-393,-393,-393,-393,-393,-393,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,494,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,2,102,1,495,268,105,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,496,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,497,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,-383,2,111,20,142,498,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,74,1,5,11,1,10,3,5,1,14,1,1,1,1,2,1,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,7,7,11,1,1,2,2,1,1,5,3,1,4,1,7,2,1,1,2,2,3,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,-240,74,1,5,11,1,10,3,5,1,14,1,1,1,1,2,1,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,7,7,11,1,1,2,2,1,1,5,3,1,4,1,7,2,1,1,2,2,3,1,1,1,5,1,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,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,-241,74,1,5,11,1,10,3,5,1,14,1,1,1,1,2,1,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,7,7,11,1,1,2,2,1,1,5,3,1,4,1,7,2,1,1,2,2,3,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,56,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,6,3,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-215,-215,-215,-215,-215,-215,499,503,-215,142,-215,500,501,502,-215,-215,-215,-215,-215,504,-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,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,-216,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,-217,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,-221,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,-222,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,-223,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,-224,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,-225,2,116,2,261,262,2,102,1,505,268,2,102,1,506,268,109,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,5,6,1,1,4,3,1,1,1,1,1,1,9,6,2,1,3,1,6,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,507,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,508,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,509,94,95,89,41,42,90,91,86,87,88,83,101,484,84,85,510,483,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,1,118,511,8,20,16,65,1,1,20,37,1,516,513,96,517,268,512,514,515,8,20,16,65,1,1,20,37,1,516,519,96,517,268,518,514,515,2,102,1,520,268,2,102,1,521,268,25,36,20,131,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,164,522,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,25,36,20,131,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,164,523,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,-496,25,36,20,131,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,164,524,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,5,6,22,2,1,5,-394,-394,525,526,-394,5,6,22,3,5,1,-261,-261,-261,-261,-261,6,6,22,3,5,1,117,-265,-265,-265,-265,-265,527,5,6,22,3,5,1,-266,-266,-266,-266,-266,1,154,528,8,6,22,3,5,1,14,2,101,-307,-307,-307,-307,-307,529,530,-307,6,6,22,3,5,1,117,-308,-308,-308,-308,-308,-308,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,531,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,4,91,11,1,38,267,266,268,532,18,20,7,6,42,4,1,21,1,1,11,25,1,10,5,2,1,1,25,300,100,535,536,538,537,96,301,268,302,87,88,101,533,534,539,540,82,15,6,22,3,5,1,14,2,28,30,5,1,1,4,3,29,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,15,6,22,3,5,1,14,2,28,30,5,1,1,4,3,29,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,15,6,22,3,5,1,14,2,28,30,5,1,1,4,3,29,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,26,6,14,3,5,3,5,48,1,4,1,1,1,6,1,2,1,1,11,26,1,8,2,1,1,2,1,-260,300,103,-260,-260,-260,296,294,102,104,170,107,105,106,96,301,268,302,298,297,541,291,292,293,295,299,6,23,68,1,3,1,4,307,170,107,543,306,542,5,91,1,2,2,4,-136,-136,-136,-136,-136,108,4,1,2,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,5,1,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,544,3,4,5,26,27,28,29,30,31,73,32,65,54,71,103,100,76,545,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,546,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,5,91,1,2,2,4,-141,-141,-141,-141,-141,6,23,68,1,2,1,1,307,170,107,547,543,306,5,1,5,31,60,88,-4,-4,-4,-4,-4,24,154,33,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,548,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,111,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,-517,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,111,114,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,-518,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,111,114,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,-519,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,111,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,-520,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,113,112,111,114,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,-521,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,-522,109,-522,113,112,111,114,115,-522,-522,-522,119,120,121,-522,-522,-522,-522,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,-523,109,-523,113,112,111,114,115,116,-523,-523,119,120,121,-523,-523,-523,-523,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,-524,109,-524,113,112,111,114,115,116,117,-524,119,120,121,-524,-524,-524,-524,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,-525,109,-525,113,112,111,114,115,-525,-525,-525,-525,-525,121,-525,-525,-525,-525,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,-526,109,-526,113,112,111,114,115,-526,-526,-526,-526,-526,121,-526,-526,-526,-526,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,109,-527,113,112,111,114,115,-527,-527,-527,-527,-527,-527,-527,-527,-527,-527,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,-528,109,-528,113,112,111,114,115,116,117,118,119,120,121,-528,-528,-528,-528,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,-531,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,-534,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,-529,109,-529,113,112,111,114,115,116,117,118,119,120,121,122,-529,-529,-529,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,-532,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,-535,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,-530,109,-530,113,112,111,114,115,116,117,118,119,120,121,122,-530,-530,-530,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,-533,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,-536,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-537,-537,-537,-537,-537,-537,-537,-537,-537,-537,-537,-537,-537,-537,-537,-537,130,131,-537,126,-537,-537,-537,-537,129,-537,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-537,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,-539,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,-541,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-538,-538,-538,-538,-538,-538,-538,-538,-538,-538,-538,-538,-538,-538,-538,-538,130,131,-538,126,-538,-538,-538,-538,129,-538,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-538,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,-540,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,-542,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,130,131,-426,549,-426,-426,-426,-426,129,-426,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,130,131,-428,126,-428,-428,-428,-428,129,-428,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,4,212,2,2,2,550,551,552,553,12,20,7,6,68,6,7,26,1,9,16,45,8,157,100,159,96,158,160,162,161,101,202,554,201,12,20,7,6,68,6,7,26,1,9,16,45,8,157,100,159,96,158,160,162,161,101,202,555,201,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,130,131,556,126,-407,-407,-407,-407,129,-407,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-407,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,130,131,557,126,-409,-409,-409,-409,129,-409,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-409,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,130,131,-425,126,-425,-425,-425,-425,129,-425,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,130,131,-427,126,-427,-427,-427,-427,129,-427,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,130,131,558,126,-408,-408,-408,-408,129,-408,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-408,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,130,131,559,126,-410,-410,-410,-410,129,-410,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-410,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,-125,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,-385,5,6,24,1,5,76,-394,560,561,-394,-394,5,6,25,5,1,75,-387,-387,-387,-387,-387,109,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,6,1,1,11,1,1,4,3,1,1,1,1,1,1,6,3,6,2,1,8,2,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,356,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,355,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,562,92,93,94,95,89,41,42,90,91,86,87,88,83,354,101,259,84,85,258,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,29,6,25,5,1,75,30,45,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-392,-392,-392,-392,-392,-392,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-146,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,563,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,564,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,106,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,566,565,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,567,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,107,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,1,6,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,374,373,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,375,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,568,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,108,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,7,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,2,5,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,192,191,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,164,72,22,21,10,11,13,14,193,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,569,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,46,16,4,3,4,6,27,1,13,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,25,169,166,103,100,76,570,168,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,170,107,105,106,96,245,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,82,107,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,1,6,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,374,373,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,375,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,571,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,108,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,7,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,2,5,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,192,191,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,164,72,22,21,10,11,13,14,193,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,572,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,106,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,574,573,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,575,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,47,1,5,22,3,5,1,14,3,1,2,40,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-16,-16,-16,-16,-16,-16,576,577,578,579,-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,107,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,1,6,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,374,373,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,375,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,580,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,108,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,7,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,2,5,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,192,191,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,164,72,22,21,10,11,13,14,193,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,581,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,107,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,1,6,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,374,373,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,375,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,582,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,583,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,-177,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,-171,130,131,-171,126,127,128,-171,-171,129,-171,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,584,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,585,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,-181,56,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,6,3,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-185,-185,-185,-185,-185,-185,136,137,-185,586,-185,-230,-230,-230,-185,-230,-230,-185,-230,140,-185,-185,-185,-185,-185,141,389,390,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,-185,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,-195,4,17,118,1,1,588,587,90,91,16,6,14,7,6,3,1,64,6,7,26,1,9,6,8,1,1,-395,157,100,159,-395,-395,96,158,160,162,161,101,155,589,154,156,2,6,30,590,591,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,592,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,6,6,25,5,1,75,22,-339,-339,-339,-339,-339,-339,7,6,25,5,1,14,61,22,-342,-342,-342,-342,-342,-342,-342,8,6,11,14,5,1,14,61,22,-344,593,-344,-344,-344,-344,-344,-344,56,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,5,2,3,10,1,5,1,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,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,2,6,31,108,594,2,111,20,142,349,2,111,20,142,350,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,-161,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-161,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,595,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,596,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,-164,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-164,1,37,597,1,37,598,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,-514,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-514,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,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,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-158,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,599,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,106,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,601,600,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,602,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,-175,130,131,-175,126,127,128,-175,-175,129,-175,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,44,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,3,1,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,603,405,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,9,20,7,6,3,20,45,6,34,9,604,100,605,164,607,96,606,161,101,106,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,7,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,609,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,164,72,22,21,10,11,13,14,608,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,44,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,3,1,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,610,405,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,44,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,3,1,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,611,405,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,612,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,613,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,614,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,615,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,1,214,616,1,216,617,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,-476,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,618,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,11,20,7,6,68,6,7,26,1,9,16,53,157,100,159,96,158,160,162,161,101,202,619,3,206,1,1,620,421,422,4,37,157,13,1,621,622,623,422,3,37,157,14,-455,-455,-455,105,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,4,1,7,3,1,1,3,1,1,1,1,1,625,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,624,59,49,99,43,44,46,47,48,50,51,52,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,626,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,627,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,1,37,628,3,17,19,20,630,164,629,4,17,4,15,75,-330,631,-330,431,4,17,4,15,75,-330,632,-330,431,18,6,14,7,4,2,3,65,6,5,2,19,7,1,9,6,8,1,1,-332,157,100,-332,159,-332,96,158,-332,160,633,162,161,101,155,153,154,156,3,17,19,20,635,164,634,4,17,4,15,75,-330,636,-330,431,4,17,4,15,75,-330,637,-330,431,44,1,5,22,3,5,1,19,41,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-353,-353,-353,-353,164,-353,638,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-353,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,639,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,640,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,25,36,139,12,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,219,641,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,2,6,31,643,642,2,6,31,-366,-366,25,6,31,150,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-369,-369,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,6,6,31,150,1,9,1,-370,-370,134,135,132,133,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,644,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,1,101,645,1,37,646,3,27,6,117,100,647,101,3,23,68,1,648,170,107,3,26,1,13,649,650,230,3,23,68,1,651,170,107,1,25,652,5,6,22,2,1,5,-394,-394,653,654,-394,5,6,22,3,5,1,-35,-35,-35,-35,-35,6,20,9,6,1,3,62,456,655,454,455,457,96,6,6,22,3,5,1,1,-40,-40,-40,-40,-40,656,6,6,22,3,5,1,1,-42,-42,-42,-42,-42,657,1,25,658,1,25,659,7,20,8,1,6,1,3,62,456,660,661,454,455,457,96,2,20,81,662,96,44,1,5,19,3,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-46,-46,663,-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,5,6,22,2,1,5,-394,-394,664,665,-394,5,6,22,3,5,1,-85,-85,-85,-85,-85,6,20,16,3,3,17,42,667,465,467,666,464,96,8,6,22,3,5,2,13,2,101,-90,-90,-90,-90,668,-304,-304,-304,6,6,22,3,5,1,1,-93,-93,-93,-93,-93,669,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,130,131,-56,126,127,128,-56,-56,129,-56,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,3,27,6,117,100,670,101,3,23,68,1,671,170,107,3,20,19,62,672,673,96,6,17,4,15,16,1,58,-330,674,-330,429,430,431,106,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,676,675,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,677,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,5,51,3,1,2,1,678,679,680,681,682,1,51,683,1,51,684,4,54,1,2,1,361,362,364,365,4,17,37,1,2,685,368,369,370,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,-361,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,2,6,31,108,686,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,687,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,57,10,5,4,3,5,10,4,17,28,1,1,1,1,1,1,6,1,2,18,7,1,1,4,4,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,4,4,3,5,1,5,7,3,1,1,3,1,1,1,1,1,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,-311,57,10,5,4,3,5,10,4,17,28,1,1,1,1,1,1,6,1,2,18,7,1,1,4,4,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,4,4,3,5,1,5,7,3,1,1,3,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,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,68,1,5,11,1,10,3,5,1,14,1,2,1,2,1,23,2,14,13,1,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,2,1,1,2,2,5,1,5,1,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,-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,61,6,4,5,4,3,5,4,5,1,4,17,28,1,1,1,1,1,1,6,1,2,25,1,1,4,4,1,1,1,1,1,1,8,6,2,1,10,2,1,2,6,4,2,1,1,4,4,3,5,1,5,7,3,1,1,3,1,1,1,1,1,491,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,-255,5,6,25,5,1,105,-251,-251,-251,-251,-251,2,36,106,689,688,115,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,4,2,3,1,4,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,1,1,3,1,1,2,6,2,1,8,2,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,-395,356,177,26,27,28,29,30,31,73,32,65,54,71,103,100,256,76,-395,-395,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,-395,691,690,257,253,101,259,84,85,258,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,4,6,30,1,105,692,-252,-252,-252,61,6,4,5,4,3,5,4,5,1,4,17,28,1,1,1,1,1,1,6,1,2,25,1,1,4,4,1,1,1,1,1,1,8,6,2,1,10,2,1,2,6,4,2,1,1,4,4,3,5,1,5,7,3,1,1,3,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,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,6,6,24,1,5,1,108,-394,490,489,-394,-394,693,109,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,4,2,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,6,1,2,6,2,1,8,2,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,356,177,26,27,28,29,30,31,73,32,65,54,71,103,100,256,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,487,486,101,259,84,85,258,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,29,6,25,5,1,75,30,45,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-349,-349,-349,-349,-349,-349,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,24,119,68,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,694,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,695,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,-384,56,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,6,3,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-218,-218,-218,-218,-218,-218,-218,-218,-218,142,-218,-218,-218,-218,-218,-218,-218,-218,-218,696,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,-218,2,102,1,697,268,2,102,1,698,268,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,699,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,3,23,68,1,700,170,107,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,-220,68,1,5,11,1,10,3,5,1,14,1,2,1,2,1,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,8,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,-200,68,1,5,11,1,10,3,5,1,14,1,2,1,2,1,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,8,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,-201,28,31,88,37,6,1,24,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,702,701,484,703,483,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,108,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,5,6,1,1,4,3,1,1,1,1,1,1,9,6,2,1,3,1,6,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,704,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,705,94,95,89,41,42,90,91,86,87,88,83,101,484,84,85,510,483,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,1,119,706,106,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,4,4,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,4,7,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,707,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,-317,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,-317,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,105,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,708,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,709,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,5,6,24,1,5,88,-394,710,711,-394,-394,7,20,81,1,1,20,37,1,516,96,517,268,712,514,515,5,6,25,5,1,87,-294,-294,-294,-294,-294,7,6,25,5,1,14,73,30,-298,-298,-298,-298,714,-298,713,7,6,25,5,1,14,73,30,-302,-302,-302,-302,-302,-302,-302,7,6,25,5,1,14,73,30,-303,-303,-303,-303,-303,-303,-303,5,6,24,1,5,88,-394,715,711,-394,-394,7,20,81,1,1,20,37,1,516,96,517,268,716,514,515,68,1,5,11,1,10,3,5,1,14,1,2,1,2,1,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,8,1,1,1,5,1,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,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,-213,68,1,5,11,1,10,3,5,1,14,1,2,1,2,1,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,8,1,1,1,5,1,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,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,-214,44,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,4,1,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,717,718,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,-416,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,719,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,-497,3,6,22,8,721,720,722,25,6,14,3,5,8,1,47,1,4,1,1,1,6,1,2,1,1,11,26,1,10,1,1,2,1,-395,300,103,-395,-395,-395,296,294,102,104,170,107,105,106,96,301,268,302,298,297,723,292,293,295,299,105,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,724,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,725,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,726,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,105,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,727,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,728,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,1,154,729,24,142,45,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,730,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,731,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,13,6,22,3,5,1,44,30,5,1,1,4,3,6,-274,-274,-274,-274,-274,-276,142,-276,-276,-276,-276,-276,732,13,6,22,3,5,1,44,30,5,1,1,4,3,6,-275,-275,-275,-275,-275,737,142,734,735,736,738,739,733,12,6,22,3,5,1,44,30,5,1,1,4,3,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,12,6,22,3,5,1,44,30,5,1,1,4,3,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,12,6,22,3,5,1,44,30,5,1,1,4,3,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,12,6,22,3,5,1,44,30,5,1,1,4,3,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,4,111,5,2,13,142,261,262,740,2,111,20,142,741,5,6,22,2,1,5,-394,-394,742,526,-394,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,5,91,1,2,2,4,-137,-137,-137,-137,-137,2,6,91,108,743,106,4,1,2,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,744,3,4,5,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,5,91,1,2,2,4,-140,-140,-140,-140,-140,61,1,5,22,3,1,4,1,44,2,8,1,2,2,1,3,11,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,-135,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,745,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,105,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,747,177,335,336,28,29,30,31,73,32,65,54,71,103,100,76,746,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,748,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,749,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,750,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,751,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,1,214,752,1,216,753,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,754,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,755,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,756,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,757,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,3,6,30,76,759,760,758,111,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,1,4,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,5,2,1,11,1,1,4,3,1,1,1,1,1,1,6,3,6,2,1,8,2,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,-395,356,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,-395,-395,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,-395,92,93,94,95,89,41,42,90,91,86,87,88,83,761,101,259,84,85,258,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,5,6,24,1,5,1,-394,762,561,-394,-394,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-147,24,37,150,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,763,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-149,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,764,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,765,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,-178,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,-182,56,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,6,3,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-186,-186,-186,-186,-186,-186,136,137,-186,766,-186,-230,-230,-230,-186,-230,-230,-186,-230,140,-186,-186,-186,-186,-186,141,389,390,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,-186,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,-196,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-152,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,767,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,768,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,106,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,770,769,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,771,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,107,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,1,6,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,374,373,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,375,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,772,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,108,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,7,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,2,5,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,192,191,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,164,72,22,21,10,11,13,14,193,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,773,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,107,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,1,6,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,374,373,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,375,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,774,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,-179,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,-183,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-160,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,-172,130,131,-172,126,127,128,-172,-172,129,-172,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,24,37,150,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,775,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,110,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,5,1,1,1,11,1,1,4,3,1,1,1,1,1,1,6,3,6,2,1,8,2,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,356,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,355,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,776,777,92,93,94,95,89,41,42,90,91,86,87,88,83,354,101,259,84,85,258,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,2,36,20,164,778,3,135,1,1,779,90,91,6,6,25,5,1,75,22,-334,-334,-334,-334,-334,-334,13,20,7,6,68,6,7,26,1,9,6,8,1,1,157,100,159,96,158,160,162,161,101,155,780,154,156,18,6,14,7,4,2,3,1,64,6,7,19,7,1,9,6,8,1,1,-332,157,100,-332,159,-332,-332,96,158,160,781,162,161,101,155,153,154,156,29,6,25,5,1,75,22,53,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-338,-338,-338,-338,-338,-338,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,7,6,25,5,1,14,61,22,-343,-343,-343,-343,-343,-343,-343,56,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,5,2,3,10,1,5,1,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,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,24,37,150,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,782,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,-163,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-163,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,-510,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,-513,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,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,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-159,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-165,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,783,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,784,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,2,36,20,164,785,2,36,20,164,786,2,36,20,164,787,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,130,131,-444,126,127,128,-444,-444,129,-444,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,27,36,20,131,1,1,5,3,1,12,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,164,788,130,131,790,126,127,128,129,789,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,26,36,20,131,1,1,5,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,164,791,130,131,792,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,26,36,20,131,1,1,5,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,164,793,130,131,794,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,26,36,20,131,1,1,5,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,164,795,130,131,796,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,797,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,798,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,25,36,20,131,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,164,799,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,4,212,2,2,2,-495,-495,-495,-495,4,37,157,13,1,800,801,623,422,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,2,36,20,164,802,3,37,157,14,-456,-456,-456,3,31,5,20,804,164,803,25,31,5,151,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-459,-459,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,25,36,20,131,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,164,805,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,25,36,20,131,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,164,806,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,44,1,5,22,3,5,1,19,41,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-17,-17,-17,-17,164,-17,807,-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,3,17,19,20,809,164,808,3,17,19,20,811,164,810,5,6,24,1,5,76,-394,382,381,-394,812,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,2,36,20,164,813,3,17,19,20,815,164,814,3,17,19,20,817,164,816,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,44,1,5,22,3,5,1,19,41,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-357,-357,-357,-357,164,-357,818,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-357,25,36,20,131,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,164,819,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,-364,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,-365,109,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,4,4,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,3,1,1,1,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,-368,443,444,26,27,28,29,30,31,73,32,65,54,71,103,100,76,-368,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,820,445,446,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,25,6,31,150,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-371,-371,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,2,6,31,-372,-372,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,44,1,5,22,3,1,4,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-19,-19,-19,-19,821,-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,1,25,822,6,20,9,6,1,3,62,456,823,454,455,457,96,44,1,5,22,3,1,4,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-20,-20,-20,-20,824,-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,3,23,68,1,825,170,107,3,6,22,8,827,826,828,8,6,14,8,7,1,1,2,62,-395,456,-395,829,-395,-395,457,96,5,6,24,1,5,1,-394,830,654,-394,-394,2,20,81,831,96,2,20,81,832,96,3,23,68,1,833,170,107,3,23,68,1,834,170,107,1,25,835,5,6,22,2,1,5,-394,-394,836,654,-394,1,25,-45,3,23,68,1,837,170,107,3,6,22,8,839,838,840,8,6,14,8,8,1,2,20,42,-395,667,-395,-395,-395,467,841,96,5,6,24,1,5,1,-394,842,665,-394,-394,6,6,22,3,5,1,1,-90,-90,-90,-90,-90,668,3,20,19,62,843,844,96,2,20,81,845,96,1,37,846,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,-58,1,25,847,1,25,848,3,17,19,20,849,164,629,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,-63,130,131,-63,126,127,128,-63,-63,129,-63,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,850,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,851,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,106,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,853,852,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,854,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,106,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,856,855,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,857,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,107,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,7,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,859,858,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,164,72,22,21,10,11,13,14,860,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,106,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,862,861,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,863,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,107,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,7,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,865,864,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,164,72,22,21,10,11,13,14,866,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,867,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,106,6,1,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,869,868,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,870,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,3,54,1,2,577,578,579,1,185,871,24,142,45,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,872,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,68,1,5,11,1,10,3,5,1,14,1,2,1,2,1,23,2,14,13,1,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,2,1,1,2,2,5,1,5,1,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,-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,113,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,4,2,3,5,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,2,1,2,1,1,2,6,2,1,8,2,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,356,177,26,27,28,29,30,31,73,32,65,54,71,103,100,256,76,255,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,493,873,254,257,253,101,259,84,85,258,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,5,6,25,5,1,105,-246,-246,-246,-246,-246,112,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,4,2,3,1,4,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,1,5,1,2,6,2,1,8,2,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,356,177,26,27,28,29,30,31,73,32,65,54,71,103,100,256,76,-253,-253,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,-253,487,486,101,259,84,85,258,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,111,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,4,2,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,2,3,1,1,2,6,2,1,8,2,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,356,177,26,27,28,29,30,31,73,32,65,54,71,103,100,256,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,493,874,257,253,101,259,84,85,258,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,2,36,1,689,875,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,24,37,150,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,876,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,-219,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,24,119,68,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,877,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,68,1,5,11,1,10,3,5,1,14,1,2,1,2,1,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,8,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,-202,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,878,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,106,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,4,4,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,4,7,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,879,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,-315,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,-315,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,27,37,119,6,1,24,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,880,484,703,483,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,1,37,881,68,1,5,11,1,10,3,5,1,14,1,2,1,2,1,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,8,1,1,1,5,1,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,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,-205,25,37,82,68,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-316,-316,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,24,119,68,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,882,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,883,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,3,6,30,88,885,886,884,10,6,14,16,1,64,1,1,21,36,1,-395,516,-395,-395,96,517,268,-395,887,515,5,6,24,1,5,1,-394,888,711,-394,-394,5,20,81,1,1,58,516,96,517,268,889,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,890,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,3,6,30,88,885,886,891,5,6,24,1,5,1,-394,892,711,-394,-394,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,-417,3,36,20,136,164,894,893,2,36,20,164,895,68,1,5,11,1,10,3,5,1,14,1,2,1,2,1,23,2,14,13,1,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,2,1,1,2,2,5,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,21,20,3,61,1,4,1,1,1,6,1,2,1,1,11,26,1,10,1,1,2,1,300,103,296,294,102,104,170,107,105,106,96,301,268,302,298,297,896,292,293,295,299,26,6,14,3,8,5,1,47,1,4,1,1,1,6,1,2,1,1,11,26,1,8,2,1,1,2,1,-260,300,103,-260,-260,-260,296,294,102,104,170,107,105,106,96,301,268,302,298,297,897,291,292,293,295,299,5,6,22,3,5,1,-262,-262,-262,-262,-262,28,6,22,3,5,1,150,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-267,-267,-267,-267,-267,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,898,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,28,6,22,3,5,1,150,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-269,-269,-269,-269,-269,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,28,6,22,3,5,1,150,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-270,-270,-270,-270,-270,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,899,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,105,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,900,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,901,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,6,6,22,3,5,1,117,-309,-309,-309,-309,-309,-309,24,142,45,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,902,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,12,6,22,3,5,1,44,30,5,1,1,4,3,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,12,6,22,3,5,1,44,30,5,1,1,4,3,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,2,102,1,903,268,2,102,1,904,268,105,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,905,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,906,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,12,6,22,3,5,1,44,30,5,1,1,4,3,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,8,20,16,65,1,1,20,37,1,516,908,96,517,268,907,514,515,8,20,16,65,1,1,20,37,1,516,910,96,517,268,909,514,515,12,6,22,3,5,1,44,30,5,1,1,4,3,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,12,6,22,3,5,1,44,30,5,1,1,4,3,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,3,6,22,8,721,911,722,5,91,1,2,2,4,-138,-138,-138,-138,-138,2,6,31,108,912,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,-505,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-505,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,913,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,130,131,-430,126,-430,-430,-430,-430,129,-430,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-430,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,-478,914,-478,-478,-478,-478,-478,-478,915,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-478,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,-483,916,-483,-483,-483,-483,-483,-483,-483,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-483,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,-487,917,-487,-487,-487,-487,-487,-487,-487,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-487,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,-491,918,-491,-491,-491,-491,-491,-491,-491,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-491,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,919,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,920,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-411,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,-413,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-413,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,-412,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-412,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,-414,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-414,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,-386,107,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,6,3,6,2,1,8,2,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,356,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,921,101,259,84,85,258,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,109,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,6,1,1,11,1,1,4,3,1,1,1,1,1,1,6,3,6,2,1,8,2,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,356,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,355,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,922,92,93,94,95,89,41,42,90,91,86,87,88,83,354,101,259,84,85,258,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,5,6,25,5,1,75,-388,-388,-388,-388,-388,3,6,30,1,759,760,923,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-150,24,37,150,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,924,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,110,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,3,5,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,5,1,1,1,11,1,1,4,3,1,1,1,1,1,1,6,3,6,2,1,8,2,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,356,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,355,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,925,926,92,93,94,95,89,41,42,90,91,86,87,88,83,354,101,259,84,85,258,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-153,24,37,150,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,927,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-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,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-155,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,928,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,929,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,-180,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,-184,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,-194,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,-173,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-187,-187,-187,-187,-187,-187,-385,-385,-187,-385,-187,-385,-385,-385,-187,-385,-385,-187,-385,-187,-187,-187,-187,-187,-385,-385,-385,-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,5,6,24,1,5,76,-394,930,561,-394,-394,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,2,36,20,164,931,6,6,25,5,1,75,22,-335,-335,-335,-335,-335,-335,5,6,24,1,5,1,-394,932,381,-394,-394,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,-162,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-166,24,37,150,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,933,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,934,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,935,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,-466,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,936,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-470,-470,-470,-470,-470,-470,-470,-470,-470,-470,-470,-470,-470,-470,-470,-470,-470,-470,-470,-470,-470,-470,-470,-470,-470,-470,-470,-470,-470,-470,-470,-470,-470,-470,-470,-470,-470,-470,-470,-470,-470,-470,-470,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,937,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,-474,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,938,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,26,36,20,131,1,1,5,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,164,939,130,131,940,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,26,36,20,131,1,1,5,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,164,941,130,131,942,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,-477,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,2,36,20,164,943,1,37,944,4,6,31,157,14,945,-457,-457,-457,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,946,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,2,36,20,164,947,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,2,36,20,164,948,2,17,19,-331,-331,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,2,36,20,164,949,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,2,36,20,164,950,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,2,6,31,-367,-367,3,27,6,117,100,951,101,3,23,68,1,952,170,107,5,6,22,2,1,5,-394,-394,953,654,-394,3,27,6,117,100,954,101,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,1,25,955,4,20,15,4,62,456,956,457,96,6,20,9,6,1,3,62,456,957,454,455,457,96,5,6,22,3,5,1,-36,-36,-36,-36,-36,3,6,30,1,827,828,958,5,6,22,3,5,1,-41,-41,-41,-41,-41,5,6,22,3,5,1,-43,-43,-43,-43,-43,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,3,23,68,1,959,170,107,3,6,22,8,827,960,828,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,44,1,5,19,3,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-47,-47,961,-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,4,20,19,20,42,667,467,962,96,6,20,16,3,3,17,42,667,465,467,963,464,96,5,6,22,3,5,1,-86,-86,-86,-86,-86,3,6,30,1,839,840,964,5,6,22,3,5,1,-91,-91,-91,-91,-91,5,6,22,3,5,1,-92,-92,-92,-92,-92,5,6,22,3,5,1,-94,-94,-94,-94,-94,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,3,23,68,1,965,170,107,3,23,68,1,966,170,107,2,36,20,164,807,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,130,131,-64,126,127,128,-64,-64,129,-64,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,24,37,150,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,967,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,-66,130,131,-66,126,127,128,-66,-66,129,-66,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,968,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,969,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,130,131,-73,126,127,128,-73,-73,129,-73,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,970,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,971,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,130,131,-76,126,127,128,-76,-76,129,-76,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,972,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,130,131,-79,126,127,128,-79,-79,129,-79,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,973,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,974,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,130,131,-82,126,127,128,-82,-82,129,-82,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,975,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,130,131,-69,126,127,128,-69,-69,129,-69,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,130,131,-70,126,127,128,-70,-70,129,-70,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,976,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,977,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,6,6,24,1,5,1,108,-394,490,489,-394,-394,978,5,6,25,5,1,105,-247,-247,-247,-247,-247,5,6,25,5,1,105,-248,-248,-248,-248,-248,1,119,979,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,24,119,68,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,980,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,25,37,82,68,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-314,-314,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,1,119,981,1,119,982,68,1,5,11,1,10,3,5,1,14,1,2,1,2,1,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,8,1,1,1,5,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,-207,-207,-207,-207,-207,24,37,150,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,983,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,68,1,5,11,1,10,3,5,1,14,1,2,1,2,1,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,8,1,1,1,5,1,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,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,6,20,81,1,1,57,1,516,96,517,268,984,515,7,20,81,1,1,20,37,1,516,96,517,268,985,514,515,5,6,25,5,1,87,-295,-295,-295,-295,-295,3,6,30,1,885,886,986,6,6,25,5,1,14,73,-299,-299,-299,-299,987,-299,28,6,25,5,1,87,63,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-300,-300,-300,-300,-300,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,68,1,5,11,1,10,3,5,1,14,1,2,1,2,1,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,8,1,1,1,5,1,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,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,3,6,30,1,885,886,988,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,989,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,5,6,22,3,5,1,-263,-263,-263,-263,-263,5,6,24,1,5,1,-394,990,526,-394,-394,24,37,150,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,991,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,24,37,150,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,992,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,28,6,22,3,5,1,150,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-272,-272,-272,-272,-272,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,993,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,6,6,22,3,5,1,117,-310,-310,-310,-310,-310,-310,12,6,22,3,5,1,44,30,5,1,1,4,3,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,12,6,22,3,5,1,44,30,5,1,1,4,3,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,24,119,68,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,994,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,995,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,5,6,24,1,5,88,-394,996,711,-394,-394,7,20,81,1,1,20,37,1,516,96,517,268,997,514,515,5,6,24,1,5,88,-394,998,711,-394,-394,7,20,81,1,1,20,37,1,516,96,517,268,999,514,515,68,1,5,11,1,10,3,5,1,14,1,2,1,2,1,23,2,14,13,1,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,2,1,1,2,2,5,1,5,1,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,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,1,97,1000,24,37,150,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1001,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,1002,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,1003,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,1004,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,1005,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,1006,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,-485,1007,-485,-485,-485,-485,-485,-485,-485,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-485,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,-489,1008,-489,-489,-489,-489,-489,-489,-489,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-489,5,6,25,5,1,75,-389,-389,-389,-389,-389,5,6,24,1,5,1,-394,1009,561,-394,-394,5,6,25,5,1,75,-390,-390,-390,-390,-390,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-188,-188,-188,-188,-188,-188,-385,-385,-188,-385,-188,-385,-385,-385,-188,-385,-385,-188,-385,-188,-188,-188,-188,-188,-385,-385,-385,-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,5,6,24,1,5,76,-394,1010,561,-394,-394,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-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,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,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,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-156,24,37,150,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1011,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,3,6,30,76,759,760,1012,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,3,6,30,1,590,591,1013,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,26,36,20,131,1,1,5,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,164,1014,130,131,1015,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,26,36,20,131,1,6,3,1,12,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,164,1016,130,131,126,127,128,129,1017,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,25,36,20,131,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,164,1018,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,25,36,20,131,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,164,1019,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,25,36,20,131,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,164,1020,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,-468,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,1021,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-472,-472,-472,-472,-472,-472,-472,-472,-472,-472,-472,-472,-472,-472,-472,-472,-472,-472,-472,-472,-472,-472,-472,-472,-472,-472,-472,-472,-472,-472,-472,-472,-472,-472,-472,-472,-472,-472,-472,-472,-472,-472,-472,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,1022,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,1,37,1023,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,3,37,157,14,-458,-458,-458,25,31,5,151,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-460,-460,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,44,1,5,22,3,1,4,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-23,-23,-23,-23,1024,-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,3,6,22,8,827,1025,828,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,3,23,68,1,1026,170,107,5,6,22,3,5,1,-37,-37,-37,-37,-37,5,6,24,1,5,1,-394,1027,654,-394,-394,5,6,22,3,5,1,-38,-38,-38,-38,-38,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,1,25,1028,3,23,68,1,1029,170,107,5,6,22,3,5,1,-87,-87,-87,-87,-87,5,6,24,1,5,1,-394,1030,665,-394,-394,5,6,22,3,5,1,-88,-88,-88,-88,-88,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,130,131,-67,126,127,128,-67,-67,129,-67,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,24,37,150,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1031,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,130,131,-74,126,127,128,-74,-74,129,-74,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,24,37,150,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1032,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,130,131,-77,126,127,128,-77,-77,129,-77,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,130,131,-80,126,127,128,-80,-80,129,-80,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,24,37,150,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1033,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,130,131,-83,126,127,128,-83,-83,129,-83,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,130,131,-71,126,127,128,-71,-71,129,-71,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,24,37,150,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1034,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,2,36,1,689,1035,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,68,1,5,11,1,10,3,5,1,14,1,2,1,2,1,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,8,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,68,1,5,11,1,10,3,5,1,14,1,2,1,2,1,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,8,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,-203,68,1,5,11,1,10,3,5,1,14,1,2,1,2,1,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,8,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-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,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,-206,1,119,1036,5,6,25,5,1,87,-296,-296,-296,-296,-296,5,6,24,1,5,1,-394,1037,711,-394,-394,1,124,1038,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,1039,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,1,124,1040,25,36,20,131,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,164,1041,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,3,6,30,1,721,722,1042,5,6,22,3,5,1,-268,-268,-268,-268,-268,5,6,22,3,5,1,-271,-271,-271,-271,-271,24,37,150,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1043,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,12,6,22,3,5,1,44,30,5,1,1,4,3,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,24,37,150,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1044,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,3,6,30,88,885,886,1045,5,6,24,1,5,1,-394,1046,711,-394,-394,3,6,30,88,885,886,1047,5,6,24,1,5,1,-394,1048,711,-394,-394,5,91,1,2,2,4,-139,-139,-139,-139,-139,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,-479,1049,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-479,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,-480,1050,-480,-480,-480,-480,-480,-480,-480,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-480,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,-484,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-484,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,-488,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-488,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,-492,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-492,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,1051,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,1052,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,3,6,30,1,759,760,1053,3,6,30,76,759,760,1054,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,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,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-189,-189,-189,-189,-189,-189,-386,-386,-189,-386,-189,-386,-386,-386,-189,-386,-386,-189,-386,-189,-189,-189,-189,-189,-386,-386,-386,-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,6,6,25,5,1,75,22,-336,-336,-336,-336,-336,-336,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,-462,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,1055,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,-463,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,1056,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,-467,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-471,-471,-471,-471,-471,-471,-471,-471,-471,-471,-471,-471,-471,-471,-471,-471,-471,-471,-471,-471,-471,-471,-471,-471,-471,-471,-471,-471,-471,-471,-471,-471,-471,-471,-471,-471,-471,-471,-471,-471,-471,-471,-471,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,-475,25,36,20,131,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,164,1057,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,25,36,20,131,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,164,1058,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,3,27,6,117,100,1059,101,1,25,1060,44,1,5,22,3,1,4,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-22,-22,-22,-22,1061,-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,3,6,30,1,827,828,1062,3,23,68,1,1063,170,107,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,-62,3,6,30,1,839,840,1064,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,5,6,25,5,1,105,-249,-249,-249,-249,-249,68,1,5,11,1,10,3,5,1,14,1,2,1,2,1,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,8,1,1,1,5,1,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,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,-208,3,6,30,1,885,886,1065,68,1,5,11,1,10,3,5,1,14,1,2,1,2,1,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,8,1,1,1,5,1,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,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,28,6,25,5,1,87,63,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-301,-301,-301,-301,-301,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,68,1,5,11,1,10,3,5,1,14,1,2,1,2,1,23,2,14,8,1,4,1,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,8,1,1,1,5,1,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,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,44,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,4,1,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,1066,718,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,-418,5,6,22,3,5,1,-264,-264,-264,-264,-264,5,6,22,3,5,1,-273,-273,-273,-273,-273,1,119,1067,12,6,22,3,5,1,44,30,5,1,1,4,3,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,3,6,30,1,885,886,1068,12,6,22,3,5,1,44,30,5,1,1,4,3,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,3,6,30,1,885,886,1069,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,1070,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,104,7,1,1,1,1,1,1,1,1,1,3,1,2,1,4,6,8,2,1,2,1,1,1,9,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,6,1,2,3,3,7,1,11,1,1,4,3,1,1,1,1,1,1,9,8,1,10,2,1,2,6,4,2,1,1,2,1,1,3,1,3,5,1,5,7,3,1,1,3,1,1,1,1,1,1071,177,26,27,28,29,30,31,73,32,65,54,71,103,100,76,72,22,21,10,11,13,14,55,6,7,8,9,12,15,16,17,18,19,20,23,24,25,33,34,35,36,37,38,39,40,77,78,79,80,81,102,104,53,107,105,106,96,45,75,92,93,94,95,89,41,42,90,91,86,87,88,83,101,84,85,66,74,67,68,69,82,70,61,62,63,56,97,57,98,58,64,60,59,49,99,43,44,46,47,48,50,51,52,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,-486,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-486,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,-490,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-490,5,6,25,5,1,75,-391,-391,-391,-391,-391,55,1,5,22,3,5,1,44,2,14,14,1,4,1,1,1,2,1,2,1,9,8,12,2,7,18,1,1,2,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-190,-190,-190,-190,-190,-190,-386,-386,-190,-386,-190,-386,-386,-386,-190,-386,-386,-190,-386,-190,-190,-190,-190,-190,-386,-386,-386,-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,25,36,20,131,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,164,1072,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,25,36,20,131,1,6,3,1,12,13,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,164,1073,130,131,126,127,128,129,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,125,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,-469,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-473,-473,-473,-473,-473,-473,-473,-473,-473,-473,-473,-473,-473,-473,-473,-473,-473,-473,-473,-473,-473,-473,-473,-473,-473,-473,-473,-473,-473,-473,-473,-473,-473,-473,-473,-473,-473,-473,-473,-473,-473,-473,-473,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,3,23,68,1,1074,170,107,3,27,6,117,100,1075,101,5,6,22,3,5,1,-39,-39,-39,-39,-39,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,-34,5,6,22,3,5,1,-89,-89,-89,-89,-89,5,6,25,5,1,87,-297,-297,-297,-297,-297,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,-419,12,6,22,3,5,1,44,30,5,1,1,4,3,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,1,124,1076,1,124,1077,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,-481,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-481,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,-482,109,110,113,112,111,114,115,116,117,118,119,120,121,122,123,124,-482,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,-465,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,-464,44,1,5,22,3,1,4,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-24,-24,-24,-24,1078,-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,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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,12,6,22,3,5,1,44,30,5,1,1,4,3,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,12,6,22,3,5,1,44,30,5,1,1,4,3,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,3,27,6,117,100,1079,101,43,1,5,22,3,5,1,60,15,7,5,10,8,12,2,7,22,2,1,1,5,3,1,4,1,7,3,10,1,5,1,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],t=[],r=0,i,n,s,a;while(r","ArrowKind → =>","DoIife → DO_IIFE Code","This → THIS","This → @","ThisProperty → @ Property","ThisProperty → @ STRING","Array → [ ]","Array → [ Elisions ]","Array → [ ArgElisionList OptElisions ]","ArgElisionList → ArgElision","ArgElisionList → ArgElisionList , ArgElision","ArgElisionList → ArgElisionList OptComma TERMINATOR ArgElision","ArgElisionList → INDENT ArgElisionList OptElisions OUTDENT","ArgElisionList → ArgElisionList OptElisions INDENT ArgElisionList OptElisions OUTDENT","ArgElision → Arg","ArgElision → Elisions Arg","OptElisions → OptComma","OptElisions → , Elisions","Elisions → Elision","Elisions → Elisions Elision","Elision → ,","Elision → Elision TERMINATOR","Object → { AssignList OptComma }","Object → MAP_START { AssignList OptComma }","AssignList → ε","AssignList → AssignObj","AssignList → AssignList , AssignObj","AssignList → AssignList OptComma TERMINATOR AssignObj","AssignList → AssignList OptComma INDENT AssignList OptComma OUTDENT","AssignObj → ObjAssignable","AssignObj → ObjRestValue","AssignObj → ObjAssignable : Expression","AssignObj → ObjAssignable : INDENT Expression OUTDENT","AssignObj → Regex : Expression","AssignObj → SimpleObjAssignable = Expression","AssignObj → SimpleObjAssignable = INDENT Expression OUTDENT","AssignObj → SimpleObjAssignable VOID_MARKER : Expression","AssignObj → SimpleObjAssignable VOID_MARKER : INDENT Expression OUTDENT","ObjRestValue → ... SimpleObjAssignable","ObjRestValue → ... ObjSpreadExpr","ObjSpreadExpr → SimpleObjAssignable","ObjSpreadExpr → Object","ObjSpreadExpr → Parenthetical","ObjSpreadExpr → Super","ObjSpreadExpr → This","ObjSpreadExpr → SUPER Arguments","ObjSpreadExpr → DYNAMIC_IMPORT Arguments","ObjSpreadExpr → SimpleObjAssignable Arguments","ObjSpreadExpr → ObjSpreadExpr Arguments","ObjSpreadExpr → ObjSpreadExpr . Property","ObjSpreadExpr → ObjSpreadExpr ?. Property","ObjSpreadExpr → ObjSpreadExpr INDEX_START Expression INDEX_END","ObjSpreadExpr → ObjSpreadExpr INDEX_START INDENT Expression OUTDENT INDEX_END","ObjSpreadExpr → ObjSpreadExpr DAMMIT","ObjSpreadExpr → ObjSpreadExpr PICK_START PickList OptComma PICK_END","ObjSpreadExpr → ObjSpreadExpr OPTPICK_START PickList OptComma PICK_END","ObjSpreadExpr → ObjSpreadExpr PICK_START INDENT PickList OptComma OUTDENT PICK_END","ObjSpreadExpr → ObjSpreadExpr OPTPICK_START INDENT PickList OptComma OUTDENT PICK_END","PickList → PickItem","PickList → PickList , PickItem","PickList → PickList OptComma TERMINATOR PickItem","PickList → PickList OptComma INDENT PickList OptComma OUTDENT","PickItem → PickKey","PickItem → PickKey : PickKey","PickItem → PickKey = Expression","PickItem → PickKey : PickKey = Expression","PickKey → Identifier","PickKey → Property","SimpleObjAssignable → Identifier","SimpleObjAssignable → Property","SimpleObjAssignable → ThisProperty","ObjAssignable → SimpleObjAssignable","ObjAssignable → Atom","ObjAssignable → [ Expression ]","ObjAssignable → @ [ Expression ]","RangeDots → ..","RangeDots → ...","Range → [ Expression RangeDots Expression ]","Slice → Expression RangeDots Expression","Slice → Expression RangeDots","Slice → RangeDots Expression","Slice → RangeDots","Def → DEF Identifier OptParams Block","Def → DEF Identifier OptParams TYPE Block","Def → DEF Identifier TYPE_PARAMS OptParams Block","Def → DEF Identifier TYPE_PARAMS OptParams TYPE Block","Def → DEF Identifier VOID_MARKER OptParams Block","Def → DEF Identifier VOID_MARKER OptParams TYPE Block","Def → DEF ThisProperty OptParams Block","Def → DEF ThisProperty OptParams TYPE Block","Def → DEF ThisProperty TYPE_PARAMS OptParams Block","Def → DEF ThisProperty TYPE_PARAMS OptParams TYPE Block","Def → DEF ThisProperty VOID_MARKER OptParams Block","Def → DEF ThisProperty VOID_MARKER OptParams TYPE Block","OptParams → ε","OptParams → CALL_START ParamList CALL_END","ParamList → ε","ParamList → Param","ParamList → ParamList , Param","ParamList → ParamList OptComma TERMINATOR Param","ParamList → ParamList OptComma INDENT ParamList OptComma OUTDENT","Param → TypedParamVar","Param → TypedParamVar = Expression","Param → ... TypedParamVar","Param → ...","TypedParamVar → ParamVar","TypedParamVar → ParamVar TYPE","TypedParamVar → ParamVar OPT_MARKER TYPE","TypedParamVar → ParamVar OPT_MARKER","ParamVar → Identifier","ParamVar → Array","ParamVar → Object","ParamVar → ThisProperty","Splat → ... Expression","ClassName → Identifier","Class → CLASS","Class → CLASS Block","Class → CLASS EXTENDS Expression","Class → CLASS EXTENDS Expression Block","Class → CLASS ClassName","Class → CLASS ClassName Block","Class → CLASS ClassName EXTENDS Expression","Class → CLASS ClassName EXTENDS Expression Block","Class → CLASS ThisProperty Block","Class → CLASS ThisProperty EXTENDS Expression Block","Enum → ENUM Identifier Block","Schema → SCHEMA SCHEMA_BODY","Component → COMPONENT ComponentBlock","Component → COMPONENT EXTENDS Expression ComponentBlock","ComponentBlock → INDENT ComponentBody OUTDENT","ComponentBody → ComponentLine","ComponentBody → ComponentBody TERMINATOR ComponentLine","ComponentBody → ComponentBody TERMINATOR","ComponentLine → Expression","ComponentLine → Statement","ComponentLine → OFFER Expression","ComponentLine → ACCEPT IDENTIFIER","Render → RENDER Block","Render → RENDER Expression","Super → SUPER . Property","Super → SUPER INDEX_START Expression INDEX_END","Super → SUPER INDEX_START INDENT Expression OUTDENT INDEX_END","Invocation → Value Arguments","Invocation → SUPER Arguments","Invocation → Value ES6_OPTIONAL_CALL Arguments","Invocation → Value ? Arguments","Invocation → Value PRESENCE Arguments","Invocation → DYNAMIC_IMPORT Arguments","Invocation → DYNAMIC_IMPORT DAMMIT Arguments","Arguments → CALL_START CALL_END","Arguments → CALL_START ArgList OptComma CALL_END","ArgList → Arg","ArgList → ArgList , Arg","ArgList → ArgList OptComma TERMINATOR Arg","ArgList → INDENT ArgList OptComma OUTDENT","ArgList → ArgList OptComma INDENT ArgList OptComma OUTDENT","Arg → Expression","Arg → Splat","OptComma → ε","OptComma → ,","Block → INDENT OUTDENT","Block → INDENT Body OUTDENT","Parenthetical → ( Body )","Parenthetical → ( INDENT Body OUTDENT )","Return → RETURN Expression","Return → RETURN INDENT Object OUTDENT","Return → RETURN","While → WHILE Expression Block","While → UNTIL Expression Block","While → WHILE Expression WHEN Expression Block","While → UNTIL Expression WHEN Expression Block","While → Expression WHILE Expression","While → Statement WHILE Expression","While → Expression UNTIL Expression","While → Statement UNTIL Expression","While → Expression WHILE Expression WHEN Expression","While → Statement WHILE Expression WHEN Expression","While → Expression UNTIL Expression WHEN Expression","While → Statement UNTIL Expression WHEN Expression","While → Loop","IfBlock → IF Expression Block","IfBlock → IF Expression Block IfElseTail","IfElseTail → ELSE IF Expression Block","IfElseTail → ELSE IF Expression Block IfElseTail","IfElseTail → ELSE Block","UnlessBlock → UNLESS Expression Block","UnlessBlock → UNLESS Expression Block ELSE Block","If → IfBlock","If → UnlessBlock","If → Statement POST_IF Expression","If → Expression POST_IF Expression","If → Statement POST_UNLESS Expression","If → Expression POST_UNLESS Expression","If → Expression POST_IF Expression ELSE INDENT Expression OUTDENT","If → Expression POST_IF Expression ELSE Expression","Try → TRY Block","Try → TRY Expression","Try → TRY Expression Catch","Try → TRY Statement","Try → TRY Statement Catch","Try → TRY Block Catch","Try → TRY Block Finalizer","Try → TRY Block Catch Finalizer","Try → TRY Expression Finalizer","Try → TRY Expression Catch Finalizer","Try → TRY Statement Finalizer","Try → TRY Statement Catch Finalizer","Finalizer → FINALLY Block","Finalizer → FINALLY Expression","Catch → CATCH Identifier Block","Catch → CATCH Object Block","Catch → CATCH Array Block","Catch → CATCH Block","Throw → THROW Expression","Throw → THROW INDENT Object OUTDENT","Switch → SWITCH Expression INDENT Cases OUTDENT","Switch → SWITCH Expression INDENT Cases ELSE Block OUTDENT","Switch → SWITCH INDENT Cases OUTDENT","Switch → SWITCH INDENT Cases ELSE Block OUTDENT","Cases → When","Cases → Cases When","When → LEADING_WHEN SimpleArgs Block","When → LEADING_WHEN SimpleArgs Block TERMINATOR","SimpleArgs → Expression","SimpleArgs → SimpleArgs , Expression","For → FOR ForVariables FORIN Expression Block","For → FOR ForVariables FORIN Expression BY Expression Block","For → FOR ForVariables FORIN Expression WHEN Expression Block","For → FOR ForVariables FORIN Expression WHEN Expression BY Expression Block","For → FOR ForVariables FORIN Expression BY Expression WHEN Expression Block","For → FOR ForVariables FOROF Expression Block","For → FOR ForVariables FOROF Expression WHEN Expression Block","For → FOR OWN ForVariables FOROF Expression Block","For → FOR OWN ForVariables FOROF Expression WHEN Expression Block","For → FOR ForVariables FORAS Expression Block","For → FOR ForVariables FORAS Expression WHEN Expression Block","For → FOR AWAIT ForVariables FORAS Expression Block","For → FOR AWAIT ForVariables FORAS Expression WHEN Expression Block","For → FOR ForVariables FORASAWAIT Expression Block","For → FOR ForVariables FORASAWAIT Expression WHEN Expression Block","For → FOR Range Block","For → FOR Range BY Expression Block","For → Expression FOR ForVariables FORIN Expression","For → Expression FOR ForVariables FORIN Expression WHEN Expression","For → Expression FOR ForVariables FORIN Expression BY Expression","For → Expression FOR ForVariables FORIN Expression WHEN Expression BY Expression","For → Expression FOR ForVariables FORIN Expression BY Expression WHEN Expression","For → Expression FOR ForVariables FOROF Expression","For → Expression FOR ForVariables FOROF Expression WHEN Expression","For → Expression FOR OWN ForVariables FOROF Expression","For → Expression FOR OWN ForVariables FOROF Expression WHEN Expression","For → Expression FOR ForVariables FORAS Expression","For → Expression FOR ForVariables FORAS Expression WHEN Expression","For → Expression FOR AWAIT ForVariables FORAS Expression","For → Expression FOR AWAIT ForVariables FORAS Expression WHEN Expression","For → Expression FOR ForVariables FORASAWAIT Expression","For → Expression FOR ForVariables FORASAWAIT Expression WHEN Expression","ForValue → ParamVar","ForVariables → ForValue","ForVariables → ForValue , ForValue","Loop → LOOP Block","Loop → LOOP Expression Block","Operation → -- SimpleAssignable","Operation → ++ SimpleAssignable","Operation → SimpleAssignable --","Operation → SimpleAssignable ++","Operation → Value ?","Operation → Value PRESENCE","Operation → Expression CAST","Operation → Expression TERNARY Expression : Expression","Operation → UNARY Expression","Operation → DO Expression","Operation → UNARY_MATH Expression","Operation → AWAIT Expression","Operation → AWAIT INDENT Object OUTDENT","Operation → YIELD","Operation → YIELD Expression","Operation → YIELD INDENT Object OUTDENT","Operation → YIELD FROM Expression","Operation → - Expression","Operation → + Expression","Operation → Expression ** Expression","Operation → Expression + Expression","Operation → Expression - Expression","Operation → Expression MATH Expression","Operation → Expression SHIFT Expression","Operation → Expression & Expression","Operation → Expression ^ Expression","Operation → Expression | Expression","Operation → Expression COMPARE Expression","Operation → Expression MATCH Expression","Operation → Expression RELATION Expression","Operation → Expression && Expression","Operation → Expression || Expression","Operation → Expression ?? Expression","Operation → Expression && Return","Operation → Expression || Return","Operation → Expression ?? Return","Operation → Expression && STATEMENT","Operation → Expression || STATEMENT","Operation → Expression ?? STATEMENT","Operation → Expression THEN Expression","Operation → Expression ELSE Expression","Operation → Expression THEN Return","Operation → Expression ELSE Return","Operation → Expression THEN STATEMENT","Operation → Expression ELSE STATEMENT"],ruleActions:(e,t,r,i)=>{let n=t,s=t.length-1;switch(e){case 1:return["program"];case 2:return["program",...n[s]];case 3:case 35:case 85:case 136:case 250:case 254:case 261:case 294:case 333:case 366:case 387:case 455:case 459:case 494:return[n[s]];case 4:case 36:case 86:case 262:case 295:case 334:case 367:case 388:{let a=n[s-2];return a.push(n[s]),a}break;case 5:case 138:case 173:case 257:case 331:case 368:return n[s-1];case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 40:case 42:case 44:case 90:case 93:case 95:case 96:case 97:case 98:case 99:case 100:case 101:case 102:case 103:case 104:case 105:case 106:case 107:case 108:case 109:case 110:case 111:case 112:case 113:case 114:case 115:case 116:case 117:case 118:case 119:case 120:case 121:case 122:case 124:case 126:case 127:case 130:case 131:case 132:case 134:case 141:case 142:case 144:case 145:case 168:case 169:case 170:case 171:case 172:case 174:case 175:case 176:case 198:case 199:case 221:case 222:case 223:case 224:case 225:case 230:case 231:case 235:case 236:case 245:case 266:case 276:case 277:case 278:case 279:case 280:case 302:case 303:case 304:case 305:case 306:case 307:case 308:case 337:case 341:case 345:case 346:case 347:case 348:case 350:case 369:case 370:case 392:case 393:case 394:case 395:case 415:case 420:case 423:case 424:case 443:case 493:return n[s];case 14:return["type-decl",n[s]];case 15:case 342:return["typed-var",n[s-1],n[s]];case 16:case 343:return["typed-var",n[s-2],n[s]];case 17:return["def-sig",n[s-2],n[s-1],n[s]];case 18:return["import",n[s]];case 19:case 20:case 31:case 32:return["import",n[s-2],n[s]];case 21:case 33:return["import","{}",n[s]];case 22:case 34:return["import",n[s-4],n[s]];case 23:return["import",n[s-4],n[s-2],n[s]];case 24:return["import",n[s-7],n[s-4],n[s]];case 25:return["import",[n[s-1],n[s]],n[s-2]];case 26:case 27:return["import",n[s-4],[n[s-1],n[s]],n[s-2]];case 28:return["import",n[s-6],[n[s-1],n[s]],n[s-2]];case 29:return["import",n[s-6],n[s-4],[n[s-1],n[s]],n[s-2]];case 30:return["import",n[s-9],n[s-6],[n[s-1],n[s]],n[s-2]];case 37:case 87:case 263:case 296:case 335:case 389:{let a=n[s-3];return a.push(n[s]),a}break;case 38:case 88:case 139:case 386:case 390:return n[s-2];case 39:case 89:case 264:case 297:case 336:case 391:{let a=n[s-5];return a.push(...n[s-2]),a}break;case 41:case 43:case 91:case 92:case 94:case 495:return[n[s-2],n[s]];case 45:return["*",n[s]];case 46:return["export","{}"];case 47:return["export",n[s-2]];case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:return["export",n[s]];case 56:return["export-default",n[s]];case 57:return["export-default",n[s-1]];case 58:return["export-all",n[s]];case 59:case 60:return["export-all",n[s],n[s-2]];case 61:return["export-from","{}",n[s]];case 62:return["export-from",n[s-4],n[s]];case 63:case 146:case 158:case 270:return["=",n[s-2],n[s]];case 64:case 66:case 69:case 147:case 149:case 152:case 159:case 160:return["=",n[s-3],n[s]];case 65:case 148:case 271:return["=",n[s-4],n[s-1]];case 67:case 150:case 153:case 155:return["=",n[s-4],n[s]];case 68:case 151:case 154:return["=",n[s-5],n[s-1]];case 70:case 165:return["void-assign",n[s-3],n[s]];case 71:case 166:return["void-assign",n[s-4],n[s]];case 72:case 167:return["void-assign",n[s-5],n[s-1]];case 73:case 178:case 179:return["state",n[s-3],n[s]];case 74:case 180:return["state",n[s-4],n[s]];case 75:return["state",n[s-5],n[s-1]];case 76:case 78:case 182:case 183:return["computed",n[s-3],n[s]];case 77:case 184:return["computed",n[s-4],n[s]];case 79:case 192:case 193:return["readonly",n[s-3],n[s]];case 80:case 194:return["readonly",n[s-4],n[s]];case 81:return["readonly",n[s-5],n[s-1]];case 82:case 84:case 196:return["effect",n[s-3],n[s]];case 83:return["effect",n[s-4],n[s]];case 123:case 289:return["dammit!",n[s-1]];case 125:case 229:return["tagged-template",n[s-2],n[s]];case 128:return"undefined";case 129:return"null";case 133:return["symbol",n[s]];case 135:return["str",...n[s-1]];case 137:case 255:case 456:{let a=n[s-1];return a.push(n[s]),a}break;case 140:return"";case 143:return["here-regex",n[s],...n[s-1]];case 156:return["=",n[s-5],n[s]];case 157:return["=",n[s-6],n[s-1]];case 161:case 314:case 520:case 521:case 525:case 527:return[n[s-1],n[s-2],n[s]];case 162:return[n[s-3],n[s-4],n[s-1]];case 163:return[n[s-2],n[s-3],n[s]];case 164:return[".=",n[s-2],n[s]];case 177:return["state",n[s-2],n[s]];case 181:return["computed",n[s-2],n[s]];case 185:return["gate",n[s-2],n[s]];case 186:return["gate",n[s-3],n[s]];case 187:return["gate",n[s-4],n[s-2]];case 188:return["gate",n[s-5],n[s-2]];case 189:return["gate",n[s-6],n[s-4],...n[s-2]];case 190:return["gate",n[s-7],n[s-4],...n[s-2]];case 191:return["readonly",n[s-2],n[s]];case 195:return["effect",n[s-2],n[s]];case 197:return["effect",null,n[s]];case 200:case 213:case 214:case 226:case 285:return[".",n[s-2],n[s]];case 201:case 227:case 286:return["?.",n[s-2],n[s]];case 202:case 205:case 228:case 287:return["[]",n[s-3],n[s-1]];case 203:case 206:case 288:return["[]",n[s-5],n[s-2]];case 204:return["regex-index",n[s-5],n[s-3],n[s-1]];case 207:return["optindex",n[s-4],n[s-1]];case 208:return["optindex",n[s-6],n[s-2]];case 209:case 290:return[".{}",n[s-4],...n[s-2]];case 210:case 291:return["?.{}",n[s-4],...n[s-2]];case 211:case 292:return[".{}",n[s-6],...n[s-3]];case 212:case 293:return["?.{}",n[s-6],...n[s-3]];case 215:case 216:case 217:case 445:case 446:case 447:case 506:case 508:return[n[s-1],n[s]];case 218:return["await",["new",n[s-1]]];case 219:return["await",["new",[n[s-2],...n[s]]]];case 220:case 282:case 283:case 284:case 378:case 383:return[n[s-1],...n[s]];case 232:return[n[s-1],n[s-3],n[s]];case 233:return[n[s-1],n[s-4],n[s]];case 234:return[n[s-1],[],n[s]];case 237:case 507:return["do-iife",n[s]];case 238:case 239:return"this";case 240:case 241:return[".","this",n[s]];case 242:return["array"];case 243:return["array",...n[s-1]];case 244:return["array",...n[s-2],...n[s-1]];case 246:{let a=n[s-2];return a.push(...n[s]),a}break;case 247:{let a=n[s-3];return a.push(...n[s]),a}break;case 248:return[...n[s-2],...n[s-1]];case 249:{let a=n[s-5];return a.push(...n[s-4],...n[s-2],...n[s-1]),a}break;case 251:return[...n[s-1],n[s]];case 252:case 260:case 330:case 332:case 385:return[];case 253:return[...n[s]];case 256:return null;case 258:return["object",...n[s-2]];case 259:return["map",...n[s-2]];case 265:return[null,n[s],n[s]];case 267:case 269:return[":",n[s-2],n[s]];case 268:return[":",n[s-4],n[s-1]];case 272:return["void-pair",n[s-3],n[s]];case 273:return["void-pair",n[s-5],n[s-1]];case 274:case 275:case 349:return["...",n[s]];case 281:case 379:return["super",...n[s]];case 298:return[n[s],n[s],null];case 299:return[n[s-2],n[s],null];case 300:return[n[s-2],n[s-2],n[s]];case 301:return[n[s-4],n[s-2],n[s]];case 309:return["dynamicKey",n[s-1]];case 310:return["[]","this",n[s-1]];case 311:return"..";case 312:return"...";case 313:return[n[s-2],n[s-3],n[s-1]];case 315:return[n[s],n[s-1],null];case 316:return[n[s-1],null,n[s]];case 317:return[n[s],null,null];case 318:case 324:return["def",n[s-2],n[s-1],n[s]];case 319:case 325:return["def",n[s-3],n[s-2],n[s]];case 320:case 326:return["def",n[s-3],n[s-1],n[s]];case 321:case 327:return["def",n[s-4],n[s-2],n[s]];case 322:case 328:return["void-def",n[s-3],n[s-1],n[s]];case 323:case 329:return["void-def",n[s-4],n[s-2],n[s]];case 338:return["default",n[s-2],n[s]];case 339:return["rest",n[s]];case 340:return["expansion"];case 344:return["typed-var",n[s-1],""];case 351:return["class",null,null];case 352:return["class",null,null,n[s]];case 353:return["class",null,n[s]];case 354:return["class",null,n[s-1],n[s]];case 355:return["class",n[s],null];case 356:case 359:return["class",n[s-1],null,n[s]];case 357:return["class",n[s-2],n[s]];case 358:case 360:return["class",n[s-3],n[s-1],n[s]];case 361:return["enum",n[s-1],n[s]];case 362:return["schema",n[s]];case 363:return["component",null,n[s]];case 364:return["component",n[s-1],n[s]];case 365:case 397:return["block",...n[s-1]];case 371:return["offer",n[s]];case 372:return["accept",n[s]];case 373:case 374:return["render",n[s]];case 375:return[".","super",n[s]];case 376:return["[]","super",n[s-1]];case 377:return["[]","super",n[s-2]];case 380:case 381:return["optcall",n[s-2],...n[s]];case 382:return["dammit?",n[s-2],...n[s]];case 384:return["await",["import",...n[s]]];case 396:return["block"];case 398:return n[s-1].length===1?(Array.isArray(n[s-1][0])&&(n[s-1][0].parenthesized=!0),n[s-1][0]):["block",...n[s-1]];case 399:return n[s-2].length===1?(Array.isArray(n[s-2][0])&&(n[s-2][0].parenthesized=!0),n[s-2][0]):["block",...n[s-2]];case 400:return["return",n[s]];case 401:return["return",n[s-1]];case 402:return["return"];case 403:return["while",n[s-1],n[s]];case 404:return["while",["!",n[s-1]],n[s]];case 405:return["while",n[s-3],n[s-1],n[s]];case 406:return["while",["!",n[s-3]],n[s-1],n[s]];case 407:case 408:return["while",n[s],[n[s-2]]];case 409:case 410:return["while",["!",n[s]],[n[s-2]]];case 411:case 412:return["while",n[s-2],n[s],[n[s-4]]];case 413:case 414:return["while",["!",n[s-2]],n[s],[n[s-4]]];case 416:case 418:return["if",n[s-1],n[s]];case 417:case 419:return["if",n[s-2],n[s-1],n[s]];case 421:return["if",["!",n[s-1]],n[s]];case 422:return["if",["!",n[s-3]],n[s-2],n[s]];case 425:case 426:return["if",n[s],[n[s-2]]];case 427:case 428:return["if",["!",n[s]],[n[s-2]]];case 429:return["?:",n[s-4],n[s-6],n[s-1]];case 430:return["?:",n[s-2],n[s-4],n[s]];case 431:case 432:case 434:return["try",n[s]];case 433:case 435:case 436:case 437:case 439:case 441:return["try",n[s-1],n[s]];case 438:case 440:case 442:return["try",n[s-2],n[s-1],n[s]];case 444:return["block",n[s]];case 448:return[null,n[s]];case 449:return["throw",n[s]];case 450:return["throw",n[s-1]];case 451:return["switch",n[s-3],n[s-1],null];case 452:return["switch",n[s-5],n[s-3],n[s-1]];case 453:return["switch",null,n[s-1],null];case 454:return["switch",null,n[s-3],n[s-1]];case 457:return["when",n[s-1],n[s]];case 458:return["when",n[s-2],n[s-1]];case 460:return[...n[s-2],n[s]];case 461:return["for-in",n[s-3],n[s-1],null,null,n[s]];case 462:return["for-in",n[s-5],n[s-3],n[s-1],null,n[s]];case 463:return["for-in",n[s-5],n[s-3],null,n[s-1],n[s]];case 464:return["for-in",n[s-7],n[s-5],n[s-1],n[s-3],n[s]];case 465:return["for-in",n[s-7],n[s-5],n[s-3],n[s-1],n[s]];case 466:return["for-of",n[s-3],n[s-1],!1,null,n[s]];case 467:return["for-of",n[s-5],n[s-3],!1,n[s-1],n[s]];case 468:return["for-of",n[s-3],n[s-1],!0,null,n[s]];case 469:return["for-of",n[s-5],n[s-3],!0,n[s-1],n[s]];case 470:return["for-as",n[s-3],n[s-1],!1,null,n[s]];case 471:return["for-as",n[s-5],n[s-3],!1,n[s-1],n[s]];case 472:case 474:return["for-as",n[s-3],n[s-1],!0,null,n[s]];case 473:case 475:return["for-as",n[s-5],n[s-3],!0,n[s-1],n[s]];case 476:return["for-in",[],n[s-1],null,null,n[s]];case 477:return["for-in",[],n[s-3],n[s-1],null,n[s]];case 478:return["comprehension",n[s-4],[["for-in",n[s-2],n[s],null]],[]];case 479:return["comprehension",n[s-6],[["for-in",n[s-4],n[s-2],null]],[n[s]]];case 480:return["comprehension",n[s-6],[["for-in",n[s-4],n[s-2],n[s]]],[]];case 481:return["comprehension",n[s-8],[["for-in",n[s-6],n[s-4],n[s]]],[n[s-2]]];case 482:return["comprehension",n[s-8],[["for-in",n[s-6],n[s-4],n[s-2]]],[n[s]]];case 483:return["comprehension",n[s-4],[["for-of",n[s-2],n[s],!1]],[]];case 484:return["comprehension",n[s-6],[["for-of",n[s-4],n[s-2],!1]],[n[s]]];case 485:return["comprehension",n[s-5],[["for-of",n[s-2],n[s],!0]],[]];case 486:return["comprehension",n[s-7],[["for-of",n[s-4],n[s-2],!0]],[n[s]]];case 487:return["comprehension",n[s-4],[["for-as",n[s-2],n[s],!1,null]],[]];case 488:return["comprehension",n[s-6],[["for-as",n[s-4],n[s-2],!1,null]],[n[s]]];case 489:return["comprehension",n[s-5],[["for-as",n[s-2],n[s],!0,null]],[]];case 490:return["comprehension",n[s-7],[["for-as",n[s-4],n[s-2],!0,null]],[n[s]]];case 491:return["comprehension",n[s-4],[["for-as",n[s-2],n[s],!0,null]],[]];case 492:return["comprehension",n[s-6],[["for-as",n[s-4],n[s-2],!0,null]],[n[s]]];case 496:return["loop",n[s]];case 497:return["loop-n",n[s-1],n[s]];case 498:return["--",n[s],!1];case 499:return["++",n[s],!1];case 500:return["--",n[s-1],!0];case 501:return["++",n[s-1],!0];case 502:return["?",n[s-1]];case 503:return["presence",n[s-1]];case 504:return["cast",n[s-1],n[s]];case 505:return["?:",n[s-4],n[s-2],n[s]];case 509:return["await",n[s]];case 510:return["await",n[s-1]];case 511:return["yield"];case 512:return["yield",n[s]];case 513:return["yield",n[s-1]];case 514:return["yield-from",n[s]];case 515:return["-",n[s]];case 516:return["+",n[s]];case 517:return["**",n[s-2],n[s]];case 518:return["+",n[s-2],n[s]];case 519:return["-",n[s-2],n[s]];case 522:return["&",n[s-2],n[s]];case 523:return["^",n[s-2],n[s]];case 524:return["|",n[s-2],n[s]];case 526:return["=~",n[s-2],n[s]];case 528:case 531:case 534:case 537:case 539:case 541:return["&&",n[s-2],n[s]];case 529:case 532:case 535:case 538:case 540:case 542:return["||",n[s-2],n[s]];case 530:case 533:case 536:return["??",n[s-2],n[s]]}},parse(e,{primitives:t=!1,tolerant:r=!1}={}){let i,n,s,a,o,l,c,f,h,u,d,S,g,p,R,b,_,y,m,k,O,A,x,I,H,G,[K,Z,V,j]=[[0],[null],[null],[[]]],q=this.parseTable,t1=1,M=[],N=[],C=24,w=e.length;if(r)while(w>0&&(e[w-1]===` +`||e[w-1]==="\r"))w--;let D=new Set,B=!1,a1=[],h1=[],f1=[],z=new WeakMap,i1=1,X=Object.create(this.lexer),r1={ctx:{}},Q=this.ctx;for(let P in Q){if(!Object.hasOwn(Q,P))continue;let W=Q[P];r1.ctx[P]=W}if(X.setInput(e,r1.ctx),r&&Array.isArray(X.lexDiagnostics))M.push(...X.lexDiagnostics);[r1.ctx.lexer,r1.ctx.parser]=[X,this];let l1=()=>{let P=X.lex()||t1;if(typeof P!=="number")P=this.symbolIds[P]||P;return P},c1=null,F=null,J={},o1=()=>{f=[];let P=q[G];for(let W in P){if(!Object.hasOwn(P,W))continue;if(this.tokenNames[W]&&+W>2){if(!f.includes(this.tokenNames[W]))f.push(this.tokenNames[W])}}return f},n1=[this.symbolIds.INDENT,this.symbolIds.OUTDENT,this.symbolIds.TERMINATOR],v=()=>{if(c1===t1)return"end of input";let P=this.tokenNames[c1]||c1,W=X.text,s1=typeof W==="string"&&W.trim().length>0&&W.length<=24&&!n1.includes(c1)&&!/^["'`]/.test(W);if(s1&&X.token?.generated)return`implicit '${W}'`;return s1?`'${W}'`:`'${P}'`};while(!0){if(G=K[K.length-1],c1==null)if(N.length>0)y=N.shift(),c1=y.symbol,F=y.loc,X.text=y.text,X.loc=y.loc,X.token=y.token;else c1=l1(),F=c1===t1?{start:e.length,end:e.length}:X.loc??null;if(i=q[G]?.[c1],i==null&&r&&C>0){a=c1===t1?w:F?.start??w,k=(P=null)=>{if(B)return;if(B=!0,u=v(),f=P!=null?[this.tokenNames[P]||P]:o1(),R=`Unexpected ${u}`,f.length)R+=` — expected ${f.join(", ")}`;return M.push({message:R,start:a,end:F?.end??a,expected:f,got:u})},n=c1===t1||X.token?.generated,d=function(P){return`${K.length}:${G}:${P}`},S=null;for(let P of this.repairTable[G]??[]){if(D.has(d(P)))continue;if(n||P===this.symbolIds.TERMINATOR){S=P;break}}if(S!=null)k(S),C--,D.add(d(S)),N.unshift({symbol:c1,loc:F,text:X.text,token:X.token}),c1=S,F={start:a,end:a},X.text="",X.loc=F,X.token={generated:!0,hole:!0},i=q[G]?.[c1];else if(c1!==t1){if(k(),C--,!X.token?.hole)D.clear();c1=null;continue}}if(i==null){if(f=o1(),u=v(),H=F?.start??0,c=F?.end??H,R=`Unexpected ${u}`,f.length)R+=` — expected ${f.join(", ")}`;return M.push({message:R,start:H,end:c,expected:f,got:u}),{sexpr:null,stores:null,diagnostics:M,trivia:X.trivia??null,tokens:X.tokens??null}}if(i>0){if(r&&!X.token?.hole)D.clear();if(K.push(c1,i),Z.push(X.text),V.push(X.loc??null),t)j.push(Array.isArray(X.text?.primitiveSpans)?X.text.primitiveSpans:X.loc!=null?[{value:X.text,sourceStart:X.loc.start,sourceEnd:X.loc.end}]:[]);c1=null}else if(i<0){if(this.ctx?.onReduce)this.ctx.onReduce(-i);if(p=this.ruleTable[-i*2+1],I=(()=>{if(p)return h=V[V.length-p],g=V[V.length-1],{start:h?.start??0,end:g?.end??(h?.end??0)};else return s=F?.start??(V[V.length-1]?.end??0),{start:s,end:s}})(),J.$=Z[Z.length-(p||1)],J._$=I,m=this.ruleActions.call(J,-i,Z,V,r1.ctx),m!=null)J.$=m;if(o=Z.length-p,l=[],t)for(let P of this.primitiveRefs[-i])l.push(...j[o+P-1]??[]);if(b=J.$,Array.isArray(b)&&z.has(b)&&this.accumulators[-i])A=a1[z.get(b)-1],A.sourceStart=I.start,A.sourceEnd=I.end;if(Array.isArray(b)&&!z.has(b))x=this.semantics[-i],o=Z.length-p,O=(P,W,s1,L,U)=>{let e1,m1,b1,d1,R1,E1,A1=[],k1=1/0,w1=-1/0;for(let y1 of L){e1=P;for(let S1 of y1.path)e1=e1[S1];if(!(Array.isArray(e1)&&!z.has(e1)))throw Error(`parse: nested annotation '${y1.role}' of rule ${-i} does not address a fresh array`);m1=O(e1,y1.kind,y1.roles,y1.nested,null),A1.push(m1),k1=Math.min(k1,a1[m1-1].sourceStart),w1=Math.max(w1,a1[m1-1].sourceEnd)}for(let y1 of s1)if(y1.grammarRef!=null){if(R1=V[o+y1.grammarRef-1],R1==null)throw Error(`parse: missing loc for grammarRef ${y1.grammarRef} of rule ${-i} — lexer protocol violation`);k1=Math.min(k1,R1.start),w1=Math.max(w1,R1.end)}let p1=U??(k1===1/0?I:{start:k1,end:w1}),x1=i1++;z.set(P,x1),a1.push({nodeId:x1,fileId:0,semanticKind:W,ruleId:-i,sourceStart:p1.start,sourceEnd:p1.end});for(let y1 of s1)if(y1.grammarRef!=null){if(d1=o+y1.grammarRef-1,R1=V[d1],E1={nodeId:x1,role:y1.name,grammarRef:y1.grammarRef,childSlot:y1.childSlot,sourceStart:R1.start,sourceEnd:R1.end,childNodeId:null,fileId:0},y1.spread)E1.spread=!0;else E1.childNodeId=z.get(Z[d1])??null;h1.push(E1)}else h1.push({nodeId:x1,role:y1.name,grammarRef:null,childSlot:y1.childSlot,literal:y1.literal,fileId:0});for(let y1=0;y1{let t=Object.create(Gl);return Object.defineProperty(t,"ctx",{value:{...e},enumerable:!1,writable:!0,configurable:!0}),t},ds=ms();var Jt=ms,u4=ds.parse.bind(ds);var ps=()=>{throw Error("rip: filesystem access is unavailable in the browser")};class Qt{constructor({nodes:e,roles:t,primitives:r=[],nodeIds:i=null}){this.nodes=e,this.roles=t,this.primitives=r,this.nodeIds=i,this.byId=new Map(e.map((n)=>[n.nodeId,n])),this.rolesByNode=new Map,this.primitivesByValue=new Map;for(let n of t){let s=this.rolesByNode.get(n.nodeId);if(!s)s={list:[],byName:new Map},this.rolesByNode.set(n.nodeId,s);s.list.push(n),s.byName.set(n.role,n)}for(let n of r){let s=this.primitivesByValue.get(n.value);if(!s)this.primitivesByValue.set(n.value,s=[]);s.push(n)}for(let n of this.primitivesByValue.values())n.sort((s,a)=>s.sourceStart-a.sourceStart)}idOf(e){return this.nodeIds?.get(e)??null}alias(e,t){let r=this.nodeIds?.get(t);if(r!=null)this.nodeIds.set(e,r);return e}node(e){return this.byId.get(e)??null}nodesByKind(e){return this.nodes.filter((t)=>t.semanticKind===e)}rolesOf(e){return this.rolesByNode.get(e)?.list??[]}role(e,t){return this.rolesByNode.get(e)?.byName.get(t)??null}primitiveSpans(e,t,r){return(this.primitivesByValue.get(e)??[]).filter((i)=>t<=i.sourceStart&&i.sourceEnd<=r)}selfSpan(e){let t=this.byId.get(e);return t?[t.sourceStart,t.sourceEnd]:null}}var Zt=(e)=>{if(e.length===0)return null;let t=e[e.length>>1].start,r=[],i=[],n=[];for(let s of e){if(Y.on)Y.n++;if(s.end<=t)i.push(s);else if(s.start>t)n.push(s);else r.push(s)}return{center:t,byStart:r,byEnd:[...r].sort((s,a)=>a.end-s.end),left:Zt(i),right:Zt(n)}},Kl=(e,t,r)=>{let i=e;while(i!==null){if(Y.on)Y.n++;if(tt)break;r.push(n)}i=i.left}else if(t>i.center){for(let n of i.byEnd){if(Y.on)Y.n++;if(n.end<=t)break;r.push(n)}i=i.right}else{for(let n of i.byStart){if(Y.on)Y.n++;r.push(n)}break}}return r},un=new Set(["tsDirective","shorthandProp","identifier","literal"]);class pe{constructor(e){this.rows=e,this._genTree=null,this._srcTree=null,this._genCount=-1,this._srcCount=-1}_tree(e){let t=e==="generated";if((t?this._genCount:this._srcCount)!==this.rows.length){let r=[];if(this.rows.forEach((i,n)=>{if(Y.on)Y.n++;let s=t?i.generatedStart:i.sourceStart,a=t?i.generatedEnd:i.sourceEnd;if(s!=null&&si.start-n.start||i.i-n.i),t)this._genTree=Zt(r),this._genCount=this.rows.length;else this._srcTree=Zt(r),this._srcCount=this.rows.length}return t?this._genTree:this._srcTree}_stab(e,t){let r=Kl(this._tree(e),t,[]);return r.sort((i,n)=>i.width-n.width||i.i-n.i),r.map((i)=>this.rows[i.i])}of(e,t){return this.rows.filter((r)=>r.nodeId===e&&r.role===t).sort((r,i)=>r.generatedStart-i.generatedStart)}atGenerated(e){return this._stab("generated",e)}atSource(e){return this._stab("source",e)}static isDirect(e){return e.mappingKind==="exact"||e.mappingKind==="synthetic"}directAtGenerated(e){return this.atGenerated(e).find(pe.isDirect)??null}directAtSource(e){let t=this.atSource(e).filter(pe.isDirect);if(t.length===0)return null;let r=(n)=>n.sourceEnd-n.sourceStart;return t.filter((n)=>r(n)===r(t[0])).find((n)=>!un.has(n.role))??t[0]}zeroWidthExactAtSource(e){if(this._zeroSrcCount!==this.rows.length){this._zeroSrc=new Map;for(let t of this.rows){if(t.mappingKind!=="exact"||t.sourceStart!==t.sourceEnd)continue;let r=this._zeroSrc.get(t.sourceStart);if(r===void 0||t.generatedStarts.mappingKind==="exact"||s.mappingKind==="cover"&&s.role==="$self"&&s.generatedStart!==s.generatedEnd,t=(s)=>s.mappingKind==="exact"?0:1,r=(s)=>s.generatedEnd-s.generatedStart,i=(s)=>s.sourceEnd-s.sourceStart,n=new Map;for(let s of this.rows){if(!e(s))continue;let a=n.get(s.generatedStart);if(!a||t(s)s.generatedStart-a.generatedStart)}}class ge{constructor(e,{source:t=null,primitives:r=!1}={}){this.stores=e,this.source=t,this.trackPrimitives=r,this.chunks=[],this.length=0,this.openMarks=0,this.rows=[],this.exactSourceSpans=new Set,this.markStack=[],this.exactRanges=new Map,this.tsRegions=[],this.tsDepth=0,this.echoSpans=[]}tsOnly(e){let t=this.length;if(this.tsDepth++,e(),this.tsDepth--,this.tsDepth===0&&this.length>t)this.tsRegions.push([t,this.length])}echo(e){let t=this.length;if(e(),this.length>t)this.echoSpans.push([t,this.length])}get currentMark(){return this.markStack[this.markStack.length-1]??null}get offset(){return this.length}get code(){if(this.openMarks>0)return this.chunks.join("");if(this.chunks.length!==1)this.chunks=[this.chunks.join("")],this.exactRanges.clear();return this.chunks[0]}emit(e){return this.chunks.push(e),this.length+=e.length,this}beginMark(e,t){let r,i,n=null;if(t==="$self"){let s=this.stores.node(e);r=s.sourceStart,i=s.sourceEnd}else{let s=this.stores.role(e,t);if("literal"in s)n="synthetic",r=i=this.stores.node(e).sourceStart;else r=s.sourceStart,i=s.sourceEnd}this.openMarks++,this.markStack.push({nodeId:e,role:t,sourceStart:r,sourceEnd:i,mappingKind:n,generatedStart:this.length,chunkStart:this.chunks.length})}endMark(){let e=this.markStack.pop();this.openMarks--;let{mappingKind:t}=e;if(t===null){if(t=this.matchesSource(e)?"exact":"cover",t==="cover"&&ge.NORMALIZED_ROLES.has(e.role))this.layoutTwinSegments(e)}if(this.rows.push({nodeId:e.nodeId,role:e.role,mappingKind:t,sourceStart:e.sourceStart,sourceEnd:e.sourceEnd,generatedStart:e.generatedStart,generatedEnd:this.length,fileId:0}),this.trackPrimitives&&t==="exact")this.exactSourceSpans.add(`${e.sourceStart}:${e.sourceEnd}`)}static NORMALIZED_ROLES=new Set(["annotation","returnType"]);layoutTwinSegments(e){if(this.source===null)return;let t=e.sourceEnd-e.sourceStart,r=this.length-e.generatedStart;if(t===0||r===0||t>256||r>256)return;let i=this.source.slice(e.sourceStart,e.sourceEnd),n=this.chunks.slice(e.chunkStart).join("");if(i.replace(/\s+/g," ")!==n.replace(/\s+/g," "))return;let s=0,a=0;while(s0)i=i.filter((h)=>!t.some(([u,d])=>h.sourceStart>=u&&h.sourceEnd<=d));if(i.length===0)return null;let n=r.primitiveClaims??(r.primitiveClaims=new Map),s=n.get(e);if(s===void 0)n.set(e,s=new Set);let a=i.filter((h)=>!s.has(h.sourceStart)),o=a.filter((h)=>!this.exactSourceSpans.has(`${h.sourceStart}:${h.sourceEnd}`)),l=o.length>0?o:a,c=l.filter((h)=>h.nodeId===r.nodeId),f=(c.length>0?c:l)[0];if(f===void 0){let h=[...s].pop();if(f=h===void 0?void 0:i.find((u)=>u.sourceStart===h),f===void 0){let u=i.filter((d)=>this.exactSourceSpans.has(`${d.sourceStart}:${d.sourceEnd}`));f=u[u.length-1]}if(f===void 0)return null}if(s.add(f.sourceStart),this.source!==null){let h=this.source.slice(f.sourceStart,f.sourceEnd);if(h!==e&&h.endsWith(e)&&!/[\w$]/.test(h[h.length-e.length-1]??""))return[f.sourceEnd-e.length,f.sourceEnd]}return[f.sourceStart,f.sourceEnd]}matchesSource(e){if(this.source===null)return!1;if(e.sourceStart<0||e.sourceEnd>this.source.length)throw Error(`builder: mark (nodeId ${e.nodeId}, role '${e.role}') has source span [${e.sourceStart}, ${e.sourceEnd}) outside the source text [0, ${this.source.length}) — store-protocol violation`);let t=this.length;if(t-e.generatedStart!==e.sourceEnd-e.sourceStart)return!1;let r=e.sourceStart-e.generatedStart,i=this.exactRanges.get(r),n=i!==void 0&&i.genEnd<=t,s=this.chunks.length,a=e.generatedStart,o=e.chunkStart;while(o=i.genStart&&a{throw Error("rip: schema type story is unavailable in the browser")},bs=()=>!1;var Yl={__proto__:null,maxlength:"maxLength",minlength:"minLength",readonly:"readOnly",tabindex:"tabIndex",colspan:"colSpan",rowspan:"rowSpan",contenteditable:"contentEditable",formaction:"formAction",formenctype:"formEnctype",formmethod:"formMethod",formnovalidate:"formNoValidate",formtarget:"formTarget",novalidate:"noValidate",crossorigin:"crossOrigin",usemap:"useMap",srclang:"srcLang",inputmode:"inputMode",cellpadding:"cellPadding",cellspacing:"cellSpacing",bgcolor:"bgColor",valign:"vAlign",nowrap:"noWrap",for:"htmlFor",datetime:"dateTime",ismap:"isMap",nomodule:"noModule",playsinline:"playsInline",dirname:"dirName",accesskey:"accessKey",enterkeyhint:"enterKeyHint",referrerpolicy:"referrerPolicy",fetchpriority:"fetchPriority",imagesrcset:"imageSrcset",imagesizes:"imageSizes",popovertargetaction:"popoverTargetAction",allowfullscreen:"allowFullscreen"},zl="type __RipClassValue = string | boolean | null | undefined | Record | __RipClassValue[];",ql="/** What a component projects through `slot`: the DOM its parent built for it — an element, a fragment, or a text node — or a value rendered as text. */\n"+"type __RipChildren = Node | string | number | boolean | null;",ys="(...args: (__RipClassValue | __RipClassValue[])[]) => string",Xl=`type __RipAV = E extends Record ? V | string : F; type __RipProp = E extends Record ? V : any;`,Jl=["animationIterationCount","aspectRatio","borderImageOutset","borderImageSlice","borderImageWidth","columnCount","columns","flex","flexGrow","flexShrink","fontWeight","gridArea","gridColumn","gridColumnEnd","gridColumnStart","gridRow","gridRowEnd","gridRowStart","lineHeight","opacity","order","orphans","scale","tabSize","widows","zIndex","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","webkitLineClamp"],Ss=Jl.map((e)=>`'${e}'`).join(" | "),Rs=(e)=>`{ [K in Exclude]?: K extends ${e} ? string | number : string | 0 } & { [k: \`--\${string}\`]: string | number }`,Zl=`type __RipUnitless = ${Ss}; -`+"/** An inline style as an object: CSS property names, camelCased, plus `--custom` properties. Values are written as given — no unit is appended — so a number is admitted only where CSS reads one bare: the unitless properties, and 0 anywhere. */\n"+`type __RipCSSProperties = ${Rs("__RipUnitless")};`,k4=`(${Rs(Ss)})`,dn="__RipCSSProperties | string",Es="(el: object, value: __RipCSSProperties | string | null | undefined) => void",er="__RipClassValue | __RipClassValue[]",ks=" [k: `data-${string}`]: string | number | boolean;\n [k: `aria-${string}`]: string | number | boolean;",pn=(e)=>/^[A-Za-z_$][\w$]*$/.test(e)?e:`'${e}'`,tr=(e,t)=>`__RipAttrVals_${t?"svg_":""}${e}`,gn=(e,t)=>`__RipEl_${t?"svg_":""}${e}`,Oe=(e,t)=>`${t?"SVGElementTagNameMap":"HTMLElementTagNameMap"}['${e}']`,rt=(e,t)=>typeof e==="string"&&(t?Me.has(e):Lt.has(e));function Ts(e,t){let r=Yl[e]??e,i=e==="class"?er:e==="style"?dn:`__RipAV<${t}, '${r}'>`;return[` ${pn(e)}: ${i};`]}function Ql(){let e=[];for(let t of ve)e.push(...Ts(t,"HTMLElement"));return`interface __RipGlobalAttrVals { +`+"/** An inline style as an object: CSS property names, camelCased, plus `--custom` properties. Values are written as given — no unit is appended — so a number is admitted only where CSS reads one bare: the unitless properties, and 0 anywhere. */\n"+`type __RipCSSProperties = ${Rs("__RipUnitless")};`,k4=`(${Rs(Ss)})`,mn="__RipCSSProperties | string",Es="(el: object, value: __RipCSSProperties | string | null | undefined) => void",er="__RipClassValue | __RipClassValue[]",ks=" [k: `data-${string}`]: string | number | boolean;\n [k: `aria-${string}`]: string | number | boolean;",pn=(e)=>/^[A-Za-z_$][\w$]*$/.test(e)?e:`'${e}'`,tr=(e,t)=>`__RipAttrVals_${t?"svg_":""}${e}`,gn=(e,t)=>`__RipEl_${t?"svg_":""}${e}`,Oe=(e,t)=>`${t?"SVGElementTagNameMap":"HTMLElementTagNameMap"}['${e}']`,rt=(e,t)=>typeof e==="string"&&(t?Le.has(e):Lt.has(e));function Ts(e,t){let r=Yl[e]??e,i=e==="class"?er:e==="style"?mn:`__RipAV<${t}, '${r}'>`;return[` ${pn(e)}: ${i};`]}function Ql(){let e=[];for(let t of ve)e.push(...Ts(t,"HTMLElement"));return`interface __RipGlobalAttrVals { ${e.join(` `)} ${ks} -}`}function e3(){let e=[];for(let t of new Set([...ve,...et]))e.push(` ${pn(t)}: ${t==="class"?er:t==="style"?dn:"string | number"};`);return`interface __RipSvgAttrVals { +}`}function e3(){let e=[];for(let t of new Set([...ve,...et]))e.push(` ${pn(t)}: ${t==="class"?er:t==="style"?mn:"string | number"};`);return`interface __RipSvgAttrVals { ${e.join(` `)} ${ks} -}`}function t3(e,t){let r=t?"__RipSvgAttrVals":"__RipGlobalAttrVals",i=t?new Set([...ve,...et]):ve,n=[];for(let a of tn(e)){if(i.has(a))continue;if(t)n.push(` ${pn(a)}: ${a==="class"?er:a==="style"?dn:"string | number"};`);else n.push(...Ts(a,Oe(e,t)))}let s=n.length?` +}`}function t3(e,t){let r=t?"__RipSvgAttrVals":"__RipGlobalAttrVals",i=t?new Set([...ve,...et]):ve,n=[];for(let a of tn(e)){if(i.has(a))continue;if(t)n.push(` ${pn(a)}: ${a==="class"?er:a==="style"?mn:"string | number"};`);else n.push(...Ts(a,Oe(e,t)))}let s=n.length?` ${n.join(` `)} `:"";return`interface ${tr(e,t)} extends ${r} {${s}}`}function r3(e,t){let r=tr(e,t),i=Oe(e,t),n=`keyof ${r} & string`,s=[` setAttribute(name: A, value: ${r}[A]): void;`,` toggleAttribute(name: ${n}, force?: boolean): boolean;`,` removeAttribute(name: ${n}): void;`,` addEventListener(type: K, listener: (e: HTMLElementEventMap[K] & { target: ${i}; currentTarget: ${i} }) => unknown, options?: boolean | AddEventListenerOptions): void;`," addEventListener(type: string, listener: (e: any) => unknown, options?: boolean | AddEventListenerOptions): void;"];if(!t)s.push(` className: ${er};`);for(let a of["value","checked","innerHTML","textContent","innerText"])s.push(` ${a}: __RipProp<${i}, '${a}'>;`);return`interface ${gn(e,t)} { @@ -46,8 +46,8 @@ ${o.join(` `)} `:""}var n3=["type __RipEqEl = (() => T extends A ? 1 : 2) extends (() => T extends B ? 1 : 2) ? true : false;","type __RipBaseEl = __RipEqEl extends true ? true : __RipEqEl extends true ? true : __RipEqEl extends true ? true : __RipEqEl extends true ? true : __RipEqEl extends true ? true : __RipEqEl extends true ? true : __RipEqEl extends true ? true : false;","type __RipRefOk = 0 extends (1 & V) ? unknown : [V] extends [null] ? unknown : null extends V ? ([E] extends [Extract, E>] ? unknown : __RipBaseEl> extends true ? ([E] extends [NonNullable] ? unknown : never) : never) : never;","declare function __ripRefCell(tag: K, cell: { value: V } & __RipRefOk): { value: HTMLElementTagNameMap[K] | null };","declare function __ripRefCellSvg(tag: K, cell: { value: V } & __RipRefOk): { value: SVGElementTagNameMap[K] | null };"].join(` `);var bn=()=>{throw Error("rip: component type story is unavailable in the browser")},_s=()=>{throw Error("rip: component type story is unavailable in the browser")},Ns=()=>!1,As=()=>!1,vs=()=>{throw Error("rip: component type story is unavailable in the browser")},Os=()=>{throw Error("rip: component type story is unavailable in the browser")},yn=()=>!0,Is=()=>{throw Error("rip: component type story is unavailable in the browser")},Sn=()=>{throw Error("rip: component type story is unavailable in the browser")},$s=()=>{throw Error("rip: component type story is unavailable in the browser")},Rn="",Ds=()=>null,xs=()=>"",Cs=()=>"",Ps=()=>{throw Error("rip: component type story is unavailable in the browser")},Ls=()=>"string",Ms="",js=()=>[],Fs=()=>!1,Bs=()=>[],Us=()=>[],En=()=>{throw Error("rip: component type story is unavailable in the browser")},Vs=()=>{throw Error("rip: component type story is unavailable in the browser")},Ws=()=>[];var i3=new Set(["beforeMount","mounted","beforeUnmount","unmounted","onError"]),s3=new Set(["_state","_frame","_parent","_children","_root","_nodes","_target","_context","_rest","_restWriters","_restHandlers","_inheritedEl","_refCleanups","_initFailed","_hmrOrphans","_hmrReleasing","_hmrPropKeys"]),a3=new Set(["+","-","*","/","%","**","<",">","<=",">=","==","!=","&&","||","??","<<",">>",">>>","&","^","|"]),M1=new Set(["=","void-assign","+=","-=","*=","/=","%=","**=","&&=","||=","??=","<<=",">>=",">>>=","&=","^=","|="]),nt=(e)=>M1.has(e)||e==="//="||e==="%%=",it=new Set(["=","void-assign"]),Hs=new Set(["=","+=","-=","*=","/=","%=","**=","&&=","||=","??="]),st=/^[A-Za-z_$][\w$]*$/,kn={"==":"===","!=":"!=="},o3=new Set(["true","false","null","undefined","this"]),Tn=(e,t=0)=>{let r=[],i=null;for(let n=0;nArray.isArray(e),at=(e)=>E(e)&&a3.has(e[0])&&e.length===3,Gs=new Set([".","?.","[]","optindex"]),wn=(e)=>E(e)&&e[0]==="."&&e.length===3&&e[2]==="new",l3={__proto__:null,Array:"",ReadonlyArray:"",Map:"",Set:"",WeakMap:"",WeakSet:"",Promise:"",WeakRef:""};function c3(e){if(e[0]!=="="||e.length!==3)return null;let t=e[1];if(!E(t)||t[0]!=="."||typeof t[2]!=="string")return null;let r=t[1];if(!E(r)||r[0]!=="."||r[2]!=="prototype"||typeof r[1]!=="string")return null;return{head:r[1],member:t[2]}}function ht(e){let t=e;if(E(t)&&t[0]==="typed-var"&&t.length===3)t=t[1];if(E(t)&&t[0]==="."&&t[1]==="this"&&typeof t[2]==="string")return t[2];return null}function f3(e){let t=e;if(E(t)&&t[0]==="default"&&t.length===3)t=t[1];let r=ht(t);if(r===null)return null;return{name:r,typed:E(t)&&t[0]==="typed-var"&&t.length===3?t:null}}function h3(e){let t=[],r=new Map,i=(n,s)=>{if(!E(n))return;let a=n[0];if(a==="->"||a==="def"||a==="void-def"||a==="class"||a==="component"||a==="schema")return;if((a==="="||a==="void-assign")&&n.length===3&&E(n[1])&&n[1][0]==="."&&n[1][1]==="this"&&typeof n[1][2]==="string"){let o=n[1][2],l=r.get(o);if(l===void 0){let c={name:o,node:n,nodes:[n],viaArrow:s};r.set(o,c),t.push(c)}else if(l.nodes.push(n),l.viaArrow&&!s)l.viaArrow=!1}for(let o of n.slice(1))i(o,s||a==="=>")};for(let n of e)if(n!==null&&n!==void 0)i(n,!1);return t}var Ks=new Set(["<",">","<=",">=","==","!="]),ot=(e)=>E(e)&&Ks.has(e[0])&&e.length===3&&E(e[1])&&Ks.has(e[1][0])&&e[1].length===3&&!e[1].parenthesized,Ys=(e)=>E(e)&&(e[0]==="-"||e[0]==="+"||e[0]==="!"||e[0]==="~"||e[0]==="typeof"||e[0]==="delete")&&e.length===2,u3=(e)=>E(e)&&M1.has(e[0])&&e.length===3,zs=(e)=>E(e)&&(e[0]==="in"||e[0]==="of"||e[0]==="instanceof"||e[0]==="!in"||e[0]==="!of"||e[0]==="!instanceof")&&e.length===3,qs=(e)=>E(e)&&e[0]==="if",Ie=(e)=>E(e)&&(e[0]===".."||e[0]==="...")&&e.length===3,O1=(e)=>E(e)&&e[0]==="object",T1=(e)=>E(e)&&(e[0]==="->"||e[0]==="=>")&&e.length===3,m3=new Set(["break","continue","return"]),d3=new Set(["break"]),g1=(e)=>e==="def"||e==="void-def";function Zs(e){if(!E(e))return!1;let t=e[0];if(t==="await"||t==="dammit!"||t==="dammit?")return!0;if(t==="for-as"&&e[3]===!0)return!0;if(t==="->"||t==="=>"||g1(t)||t==="class")return!1;return e.some((r)=>Zs(r))}function Qs(e){if(!E(e))return!1;let t=e[0];if(t==="yield"||t==="yield-from")return!0;if(t==="->"||t==="=>"||g1(t)||t==="class")return!1;return e.some((r)=>Qs(r))}var W1=(e)=>E(e)&&(e[0]==="++"||e[0]==="--")&&e.length===3,rr=/^[A-Za-z_$][A-Za-z0-9_$]*$/,nr=(e,t="",r=[])=>{if(!E(e))return r;if(e[0]==="object"){for(let i of e.slice(1)){if(!E(i)||i.length!==3)continue;let n=i[0];if(n!==":"&&n!==null)continue;let s=i[1];if(typeof s!=="string")continue;let a=rr.test(s)?`.${s}`:`[${s}]`,o=i[2];if(typeof o==="string"){if(rr.test(o))r.push([o,t+a])}else nr(o,t+a,r)}return r}if(e[0]==="array")return e.slice(1).forEach((i,n)=>{if(E(i)&&i[0]==="...")return;if(typeof i==="string"){if(rr.test(i))r.push([i,`${t}[${n}]`])}else nr(i,`${t}[${n}]`,r)}),r;return r},_n=(e)=>E(e)&&e[0]==="?:"&&e.length===4,u1=(e)=>E(e)&&e[0]==="block",Q1=(e)=>Ae.has(String(e).split("#")[0]),lt=(e)=>typeof e==="string"&&/^[A-Z][A-Za-z0-9]*[a-z][A-Za-z0-9]*$/.test(e),be=(e)=>E(e)&&e[0]==="comprehension"&&e.length===4&&Array.isArray(e[2])&&e[2].length>0&&Array.isArray(e[2][0])&&String(e[2][0][0]).startsWith("for-");var ct=(e)=>E(e)&&((e[0]==="for-in"||e[0]==="for-of"||e[0]==="for-as")&&e.length===6||e[0]==="while"&&(e.length===3||e.length===4)||e[0]==="loop"&&e.length===2||e[0]==="loop-n"&&e.length===3);function p3(e){let t=0,r=!0,i=(n)=>Array.isArray(n);return e.map((n)=>{if(typeof n==="string"){if(!r)return{item:n,name:n,value:null};return{item:n,name:n,value:String(t++)}}if(i(n)&&n[0]==="="&&n.length===3){let s=n[2],a=typeof s==="string"&&/^[0-9]/.test(s)?Number(s.replace(/_/g,"")):i(s)&&s[0]==="-"&&typeof s[1]==="string"?-Number(s[1].replace(/_/g,"")):null;if(a!==null&&Number.isFinite(a))t=a+1,r=!0;else if(typeof s==="string"&&s.startsWith('"'))r=!1;return{item:n,name:n[1],value:s}}return{item:n,name:null,value:void 0}})}function je(e){return`'${String(e).slice(1,-1).replace(/\\/g,"\\\\").replace(/'/g,"\\'")}'`}function Nn(e,t){if(!E(t)||t[0]!=="import"||t.length<2)return!1;let r=e.idOf(t);return(r!==null?e.node(r)?.semanticKind:null)==="import"}class T{constructor(e,t,{face:r="js",pins:i=null,strict:n=!1,script:s=!1,browserModule:a=!1,repl:o=!1,hmr:l=!1,tolerant:c=!1,modulePath:f=null,appStashSpec:h=null,routesUnion:u=null,routeParams:m=null}={}){this.stores=e,this.b=t,this.repl=o,this.tolerant=c,this.replResultName=null,this.replImportResolver=null,this.script=s,this.appStashSpec=h,this.routesUnion=typeof u==="string"&&u.length>0?u:null,this.routeParams=typeof m==="string"&&m.length>0?m:null,this.appAccessors={stash:null,router:null},this.routeWrapSpans=[],this.memberInitSites=[],this.sourceKeySpans=[],this.stashMemberSpans=[],this.domSurfaces=new Map,this._needsClassValue=!1,this._needsCssProperties=!1,this._needsChildren=!1,this._restTags=new Set,this._needsRefCellHelper=!1,this.intrinsics=[],this.renderPairs=[],this.browserModule=a,this.hmr=l===!0,this.modulePath=typeof f==="string"&&f.length>0?f:null,this.importSpans=[],this.typeOnlyImports=new Set,this.pins=i,this.pinnables=[],this.pinnedWrites=new Set,this.mutables=[],this.enums=[],this.classDecls=[],this.pinSpans=[],this.loopVars=[],this.attrNames=[],this.importedRefs=[],this.strict=n,this.ts=r==="ts",this.pendingHoistTypes=new Map,this.tsDirectiveMap=new Map,this.tsNocheck=null,this.pendingHoistDirectives=[],this.tsDirectivesArmed=!1,this.pendingSigs=new WeakMap,this.pendingTypeDecls=[],this.primitiveAvoid=null,this.primitiveReuse=null,this.declaringName=!1,this.vocabulary=[],this.silences=[],this.memberDecls=[],this.kinds=[],this.componentInfo=new Map,this.schemaFns=new Map,this.moduleComponentNames=new Map,this.ind=0,this.methodName=null,this.scopes=[],this.lastProgramStmt=null,this.inPattern=!1,this.bindingPattern=!1,this.deopt=!1,this.inTarget=!1,this.voidFuncs=new WeakSet,this.sideEffectOnly=!1,this.voidReason=null,this.usesSchema=!1,this.exprDepth=0,this.renderRecord=null,this.postfixGuardDepth=0,this._schemaName=null,this.subParses=new Map,this.runtimeAliases=new Map,this.temps={used:new Set,n:0,byNode:new WeakMap},this.refPlans=new WeakMap,this.ctrlDepth=0,this.tailReturnOk=!1,this.rframes=[],this.cframes=[],this._componentName=null,this.moduleBound=new Set,this.renderSelf=null}isReactiveDecl(e){return T.isReactiveDeclIn(this.stores,e)}static isReactiveDeclIn(e,t){if(!E(t)||t[0]!=="state"&&t[0]!=="computed"||t.length!==3)return!1;let r=e.idOf(t),i=r!==null?e.node(r)?.semanticKind:null;return i==="state"||i==="computed"}isGateDecl(e){return T.isGateDeclIn(this.stores,e)}static isGateDeclIn(e,t){if(!E(t)||t[0]!=="gate"||t.length<3)return!1;let r=e.idOf(t);return(r!==null?e.node(r)?.semanticKind:null)==="gate"}isEffectDecl(e){return T.isEffectDeclIn(this.stores,e)}static isEffectDeclIn(e,t){if(!E(t)||t[0]!=="effect"||t.length!==3)return!1;let r=e.idOf(t);return(r!==null?e.node(r)?.semanticKind:null)==="effect"}isReadonlyDecl(e){return T.isReadonlyDeclIn(this.stores,e)}static isReadonlyDeclIn(e,t){if(!E(t)||t[0]!=="readonly"||t.length!==3)return!1;let r=e.idOf(t);return(r!==null?e.node(r)?.semanticKind:null)==="readonly"}lockedHead(e,t){let r=this.stores.idOf(e);if(r===null)return!0;return this.stores.node(r)?.semanticKind===t}isModuleImport(e){return T.isModuleImportIn(this.stores,e)}static isModuleImportIn(e,t){return Nn(e,t)}static BLOCK_HEADS=new Set(["if","while","loop","for-in","for-of","for-as","switch","when","try","block","comprehension"]);collectReactiveNames(e){let t=new Set,r=(i,n)=>{if(!E(i)||g1(i[0])||T1(i)||i[0]==="class"||i[0]==="enum")return;if(i[0]==="component"&&i.length===3)return;if(this.isReactiveDecl(i)){if(n){let a=i[0]==="state"?":=":"~=";throw this.positionedError(i,`emitter: a reactive declaration ('${typeof i[1]==="string"?i[1]:"…"} ${a} …') must sit at module or function scope — `+"inside a statement block it lowers to a block-scoped const, and any later read would unwrap '.value' off a binding that no longer exists")}if(typeof i[1]==="string")t.add(i[1]);return}if(this.isEffectDecl(i))return;let s=n||T.BLOCK_HEADS.has(i[0]);for(let a of i)r(a,s)};for(let i of e)r(i,!1);return t}collectEffectHandles(e){let t=new Set,r=(i,n)=>{if(!E(i)||g1(i[0])||T1(i)||i[0]==="class"||i[0]==="enum")return;if(i[0]==="component"&&i.length===3)return;if(this.isReactiveDecl(i))return;if(this.isEffectDecl(i)){if(i[1]!==null){if(n)throw this.positionedError(i,`emitter: a bound effect ('${typeof i[1]==="string"?i[1]:"…"} ~> …') must sit at module or function scope — `+"inside a statement block its dispose handle would be a block-scoped const, dead to every later read "+"; a BARE '~> …' stays legal here");if(typeof i[1]==="string")t.add(i[1])}return}let s=n||T.BLOCK_HEADS.has(i[0]);for(let a of i)r(a,s)};for(let i of e)r(i,!1);return t}collectReadonlyNames(e){let t=new Set,r=(i,n)=>{if(!E(i)||g1(i[0])||T1(i)||i[0]==="class"||i[0]==="enum")return;if(i[0]==="component"&&i.length===3)return;if(this.isReactiveDecl(i)||this.isEffectDecl(i))return;if(this.isReadonlyDecl(i)){if(n)throw this.positionedError(i,`emitter: a readonly declaration ('${typeof i[1]==="string"?i[1]:"…"} =! …') must sit at module or function scope — `+"inside a statement block it lowers to a block-scoped const, dead to every later read ");if(typeof i[1]==="string")t.add(i[1]);r(i[2],n);return}let s=n||T.BLOCK_HEADS.has(i[0]);for(let a of i)r(a,s)};for(let i of e)r(i,!1);return t}static exportedConstNames(e){let t=new Set;for(let r of e){if(!E(r)||r[0]!=="export")continue;for(let i of r.slice(1))if(E(i)&&(i[0]==="="||i[0]==="void-assign")&&i.length===3&&typeof i[1]==="string")t.add(i[1])}return t}isExportedConst(e){for(let t=this.rframes.length-1;t>=0;t--){let r=this.rframes[t];if(r.reactive.has(e))return!1;if(r.exportedConst!==void 0&&r.exportedConst.has(e))return!0;if(r.bound.has(e))return!1;if(r.members!==void 0&&r.members.has(e))return!1}return!1}checkExportedConstWrite(e,t){let r=typeof t==="string"?[t]:T.isPattern(t)?this.patternNames(t):[];for(let i of r){if(!this.isExportedConst(i))continue;throw this.positionedError(e,`emitter: cannot assign to exported '${i}' — an exported binding lowers to `+`'export const', which never changes after its declaration; declare it as state ('export ${i} := …') to write it, or drop the export`)}}positionedError(e,t,...r){let i=Error(t);for(let n of[e,...r]){let s=this.stores.idOf(n),a=s!==null?this.stores.selfSpan(s):null;if(a){i.start=a[0],i.end=a[1];break}}return i}positionedErrorAt(e,t,r){let i=Error(r);return i.start=e,i.end=t,i}static declaredNames(e){let t=[],r=(i)=>{if(!E(i))return;if((i[0]==="enum"||i[0]==="class")&&typeof i[1]==="string")t.push(i[1]);if(g1(i[0])&&i.length===4&&typeof i[1]==="string")t.push(i[1])};for(let i of e)if(r(i),E(i)&&i[0]==="export"&&E(i[1]))r(i[1]);return t}static declaredClassNames(e){let t=new Set,r=(i)=>{if(!E(i)||!it.has(i[0])||i.length!==3)return;if(typeof i[1]!=="string")return;let n=i[2];if(E(n)&&(n[0]==="class"||n[0]==="component"))t.add(i[1])};for(let i of e)if(r(i),E(i)&&i[0]==="export"&&E(i[1]))r(i[1]);return t}static declaredEnumNames(e){let t=new Set,r=(i)=>{if(E(i)&&i[0]==="enum"&&typeof i[1]==="string")t.add(i[1])};for(let i of e)if(r(i),E(i)&&i[0]==="export"&&E(i[1]))r(i[1]);return t}nodeLine(e){let t=this.stores.idOf(e),r=t!==null?this.stores.selfSpan(t):null;if(!r||typeof this.b.source!=="string")return null;let i=1;for(let n=0;n{if(typeof f==="string")i.push({name:f,kind:h,node:u,auth:!0})},s=(f,h)=>{if(typeof f==="string")i.push({name:f,kind:"plain",node:h,auth:!1})},a=(f,h,u)=>{let m=new Set;for(let S of f){if(m.has(S))throw this.positionedError(h,`emitter: '${S}' is bound twice in one ${u} — one binding per name; rename or drop the duplicate`,...r!==null?[r]:[]);m.add(S)}return f};{let f=[],h=[];for(let u of t??[]){this.patternNames(u,f,!0);let m=E(u)?u:t;while(h.lengthn(u,"parameter",h[m]))}let o=(f,h)=>{if(!E(f))return;if(this.isModuleImport(f)){for(let m of T.importedNames([f]))n(m,"import",f);return}if(T1(f))return;if(g1(f[0])){if(!h&&f.length===4&&typeof f[1]==="string")n(f[1],"def",f);return}if(f[0]==="enum"){if(!h)n(f[1],"enum",f);return}if(f[0]==="component"&&f.length===3)return;if(f[0]==="class"){if(!h)n(f[1],"class",f);if(f[2]!=null)o(f[2],!0);let m=f[3];if(u1(m)){for(let S of m.slice(1))if(E(S)&&M1.has(S[0])&&S.length===3)o(S[2],!0);else if(!T.isTypedWrapper(S))o(S,!0)}return}if(this.isReactiveDecl(f)){if(n(f[1],f[0]==="computed"?"computed":"state",f),!(f[0]==="computed"&&u1(f[2])&&f[2].length>2))o(f[2],h);return}if(this.isEffectDecl(f)){if(f[1]!==null)n(f[1],"effect",f);return}if(this.isReadonlyDecl(f)){n(f[1],"readonly",f),o(f[2],h);return}if(f[0]==="export"){for(let m of f.slice(1)){if(!E(m))continue;if((m[0]==="="||m[0]==="void-assign")&&m.length===3&&typeof m[1]==="string")n(m[1],"plain",m),o(m[2],h);else o(m,h)}return}if(f[0]==="for-in"||f[0]==="for-of"||f[0]==="for-as"){if(E(f[1])){let m=[];for(let S of f[1])this.patternNames(S,m,!0);a(m,f,"loop head")}for(let m of f.slice(2))o(m,!0);return}if(be(f)){o(f[1],!0);for(let m of f[2]??[]){let S=[];if(E(m[1]))for(let g of m[1])this.patternNames(g,S,!0);a(S,f,"comprehension clause"),o(m[2],!0)}for(let m of f[3]??[])o(m,!0);return}if(f[0]==="try"){for(let m of f.slice(2))if(E(m)&&m.length===2&&T.isPattern(m[0])){for(let S of a(this.patternNames(m[0]),m[0],"catch pattern"))s(S,f);o(m[1],!0)}else o(m,!0);o(f[1],!0);return}if(M1.has(f[0])&&f.length===3){if(typeof f[1]==="string")s(f[1],f);else if(f[0]==="="&&T.isPattern(f[1]))for(let m of a(this.patternNames(f[1]),f,"destructuring pattern"))s(m,f)}let u=h||T.BLOCK_HEADS.has(f[0]);for(let m of f)o(m,u)};for(let f of e)o(f,!1);i.forEach((f,h)=>{f.order=h});let l=(f,h)=>{let u=h.node!==null?this.nodeLine(h.node):null,m=h.kind==="state"||h.kind==="parameter"||h.kind==="plain"?` — assign with '${f.name} = …' to update it, or choose a different name`:" — choose a different name";throw this.positionedError(f.node,`emitter: '${f.name}' was already declared as ${h.kind}${u!==null?` on line ${u}`:""}${m}`,...r!==null?[r]:[])},c=new Map;for(let f of i){if(!f.auth)continue;let h=c.get(f.name);if(h!==void 0)l(f,h);c.set(f.name,f)}for(let f of i){if(f.auth)continue;let h=c.get(f.name);if(h!==void 0){if(h.auth&&f.orderu.members.has(f.name)))continue;c.set(f.name,f)}}pushReactiveFrame(e,t,r=[],i=null){let n=this.collectReactiveNames(e),s=this.collectEffectHandles(e),a=this.collectReadonlyNames(e);return this.checkScopeRedeclarations(e,r,i),this.rframes.push({reactive:n,computed:this.collectComputedNames(e),readonly:a,handles:s,bound:new Set([...t,...T.declaredNames(e),...s,...a]),enums:T.declaredEnumNames(e),classes:T.declaredClassNames(e),importSpecs:T.importedSpecs(e),exportedConst:T.exportedConstNames(e)}),new Set([...n,...s,...a])}withBindings(e,t){this.rframes.push({reactive:new Set,bound:new Set(e)}),t(),this.rframes.pop()}resolveBareRead(e){for(let t=this.rframes.length-1;t>=0;t--){let r=this.rframes[t];if(r.reactive.has(e))return"reactive";if(r.bound.has(e))return null;if(r.members!==void 0&&r.members.has(e))return r.memberReactive.has(e)?"member-reactive":"member"}return null}kindOfName(e){for(let t=this.rframes.length-1;t>=0;t--){let r=this.rframes[t];if(r.reactive?.has(e))return r.computed?.has(e)?"computed":"state";if(r.readonly?.has(e))return"readonly";if(r.handles?.has(e))return"effect";if(r.bound?.has(e))return null;if(r.members!==void 0&&r.members.has(e))return r.memberKinds?.get(e)??null}return null}isReactiveName(e){return this.resolveBareRead(e)==="reactive"}isEnumName(e){for(let t=this.rframes.length-1;t>=0;t--){let r=this.rframes[t];if(r.enums!==void 0&&r.enums.has(e))return!0;if(r.reactive.has(e)||r.bound.has(e))return!1;if(r.members!==void 0&&r.members.has(e))return!1}return!1}isClassName(e){for(let t=this.rframes.length-1;t>=0;t--){let r=this.rframes[t];if(r.classes!==void 0&&r.classes.has(e))return!0;if(r.reactive.has(e)||r.bound.has(e))return!1;if(r.members!==void 0&&r.members.has(e))return!1}return!1}isRenderLoopName(e){for(let t=this.rframes.length-1;t>=0;t--){let r=this.rframes[t];if(r.loopVars!==void 0&&r.loopVars.has(e))return!0;if(r.reactive.has(e)||r.bound.has(e))return!1;if(r.members!==void 0&&r.members.has(e))return!1}return!1}importSpecOf(e){for(let t=this.rframes.length-1;t>=0;t--){let r=this.rframes[t],i=r.importSpecs?.get(e);if(i!==void 0)return i;if(r.reactive.has(e)||r.bound.has(e))return null;if(r.members!==void 0&&r.members.has(e))return null}return null}isComputedName(e){for(let t=this.rframes.length-1;t>=0;t--){let r=this.rframes[t];if(r.reactive.has(e))return r.computed!==void 0&&r.computed.has(e);if(r.bound.has(e))return!1;if(r.members!==void 0&&r.members.has(e))return!1}return!1}isAmbientReadonly(e){for(let t=this.rframes.length-1;t>=0;t--){let r=this.rframes[t];if(r.reactive.has(e))return!1;if(r.ambientReadonly!==void 0&&r.ambientReadonly.has(e))return!0;if(r.readonly!==void 0&&r.readonly.has(e))return!0;if(r.bound.has(e))return!1;if(r.members!==void 0&&r.members.has(e))return!1}return!1}memberKindOf(e){for(let t=this.rframes.length-1;t>=0;t--){let r=this.rframes[t];if(r.reactive.has(e))return null;if(r.bound.has(e))return null;if(r.members!==void 0&&r.members.has(e))return r.members.get(e)}return null}thisMemberKindOf(e){for(let t=this.rframes.length-1;t>=0;t--){let r=this.rframes[t];if(r.members!==void 0)return r.members.has(e)?r.members.get(e):null}return null}static targetsRestView(e){if(!E(e))return!1;if(e[0]==="array")return e.slice(1).some((r)=>T.targetsRestView(r));if(e[0]==="object")return e.slice(1).some((r)=>E(r)&&T.targetsRestView(r[2]??r[1]));if(e[0]==="default"||e[0]==="rest")return T.targetsRestView(e[1]);let t=e;while(E(t)&&(t[0]==="."||t[0]==="[]"||t[0]==="?."||t[0]==="optindex")&&t.length===3){if(t[0]==="."&&t[1]==="this"&&t[2]==="rest")return!0;t=t[1]}return!1}checkBareRest(e,t){if(t!=="rest"||this.memberKindOf(t)!=="rest")return;let r=this.positionedError(e,"emitter: `rest` is provided by `extends`, not declared here — spell it `@rest`, as with `@stash` and `@router`");if(typeof r.start!=="number"&&this.b.currentMark)r.start=this.b.currentMark.sourceStart,r.end=this.b.currentMark.sourceEnd;throw r}checkMemberWrite(e,t){if(this.cframes.length===0)return;if(this.thisMemberKindOf("rest")==="rest"&&T.targetsRestView(t))throw this.positionedError(e,"emitter: `@rest` is the runtime-owned view of the caller's undeclared props and is never assigned — "+"set the attribute on the element in render, or declare the name as a prop the caller supplies");let r=null,i=null;if(typeof t==="string")this.checkBareRest(e,t),r=t,i=this.memberKindOf(t);else if(E(t)&&t[0]==="."&&t[1]==="this"&&typeof t[2]==="string")r=t[2],i=this.thisMemberKindOf(r);if(i===null)return;if(i==="readonly")throw this.positionedError(e,`emitter: cannot assign to readonly member '${r}' — a '=!' member never changes after _init; `+"a member that changes is state (':=')");if(i==="plain"){let n=this.cframes[this.cframes.length-1];if(!n.plainWrites.has(r))n.plainWrites.set(r,e)}}notePlainRenderRead(e,t=!1){if(this.rstate==null||this.cframes.length===0)return;if((t?this.thisMemberKindOf(e):this.memberKindOf(e))!=="plain")return;this.cframes[this.cframes.length-1].renderPlainReads.add(e)}collectComputedNames(e){let t=new Set,r=(i,n)=>{if(!E(i)||g1(i[0])||T1(i)||i[0]==="class"||i[0]==="enum")return;if(i[0]==="component"&&i.length===3)return;if(this.isReactiveDecl(i)){if(!n&&i[0]==="computed"&&typeof i[1]==="string")t.add(i[1]);return}if(this.isEffectDecl(i))return;let s=n||T.BLOCK_HEADS.has(i[0]);for(let a of i)r(a,s)};for(let i of e)r(i,!1);return t}bareRewrite(e){if(this.inPattern&&this.bindingPattern)return null;return this.resolveBareRead(e)}isReactiveRead(e){return this.bareRewrite(e)==="reactive"}memberIsReactive(e){let t=this.cframes[this.cframes.length-1];return t!==void 0&&t.memberReactive.has(e)}inComponent(){return this.cframes.length>0}reactiveRead(e){let t=this.b.currentMark,r=this.b.source;if(this.ts)this.emitPrimitive(e);else if(t!==null&&r!==null&&r.slice(t.sourceStart,t.sourceEnd)===e)this.b.mark(t.nodeId,t.role,()=>this.b.emit(e));else this.b.emit(e);this.b.emit(".value")}memberRead(e,t){let r=this.b.currentMark,i=this.b.source;if(this.b.emit((this.renderSelf??"this")+"."),this.ts){let n=this.emitPrimitive(e);if(t&&n!==null)this.memberDecls.push({start:n[0],end:n[1]})}else if(r!==null&&i!==null&&i.slice(r.sourceStart,r.sourceEnd)===e)this.b.mark(r.nodeId,r.role,()=>this.b.emit(e));else this.b.emit(e);if(t)this.b.emit(".value")}emitPrimitive(e){let t=this.b.currentMark,r=this.ts&&typeof e==="string"?this.b.claimPrimitiveSpan(e,this.primitiveAvoid):null;if(r===null&&this.primitiveReuse!==null&&this.primitiveReuse.name===e)r=this.primitiveReuse.span,this.primitiveReuse=null;if(r!==null&&X1(e)){let i=this.kindOfName(e),n=typeof i==="string"?{label:i,optional:!1}:i;if(n!==null)this.kinds.push({start:r[0],end:r[1],label:n.label,name:e,optional:n.optional})}if(t!==null&&r!==null){let i=X1(e)?"identifier":"literal";this.b.markSpan(t.nodeId,i,r[0],r[1],()=>this.noteNameSpan(e))}else this.noteNameSpan(e);return r}noteNameSpan(e){if(!this.ts||this.declaringName||typeof e!=="string"||!X1(e)){this.b.emit(e);return}let t=this.b.offset;if(this.b.emit(e),this.isEnumName(e)){this.enums.push([t,this.b.offset]);return}if(this.isReactiveName(e)&&!this.isComputedName(e)){this.mutables.push([t,this.b.offset]);return}if(this.isClassName(e)){this.classDecls.push([t,this.b.offset]);return}if(this.isRenderLoopName(e)){this.loopVars.push([t,this.b.offset]);return}let r=this.importSpecOf(e);if(r!==null)this.importedRefs.push([t,this.b.offset,r.importedName,r.specifier])}withDeclaredName(e){let t=this.declaringName;this.declaringName=!0;try{return e()}finally{this.declaringName=t}}noteVocabulary(e,t,r){let i=this.wordSpanIn(t,r);if(i!==null)this.vocabulary.push({kind:e,start:i[0],end:i[1]})}noteShorthandClasses(e,t){for(let r of e)this.noteVocabulary("render-channel",r,t)}noteHeadKeyword(e,t,r){if(!this.ts)return;let i=E(r)?this.stores.idOf(r):null,n=i!==null?this.stores.selfSpan(i):null;if(n===null||this.b.source===null)return;let s=n[0]+t.length;if(s>n[1]||this.b.source.slice(n[0],s)!==t)return;this.vocabulary.push({kind:e,start:n[0],end:s})}noteKind(e,t,r){let i=this.stores.idOf(e),n=i!==null?this.stores.role(i,t):null;if(n?.sourceStart!=null&&n.sourceEnd>n.sourceStart){let s=this.b.source?.slice(n.sourceStart,n.sourceEnd)??null;this.kinds.push({start:n.sourceStart,end:n.sourceEnd,label:r,name:s})}}noteSilence(e,t){let r=this.wordSpanIn(e,t);if(r!==null)this.silences.push([r[0],r[1]])}static MEMBER_KINDS={state:"state",computed:"computed",readonly:"readonly",gate:"gate"};static memberLabel(e){if(e.isPublic&&(e.kind==="prop"||e.kind==="state"))return"prop";return T.MEMBER_KINDS[e.kind]??null}noteMemberDecl(e){if(!this.ts)return;let t=E(e.nameNode)?this.stores.idOf(e.nameNode):null,r=t!==null?this.stores.role(t,e.nameRole):null;if(!r||typeof r.sourceStart!=="number")return;let i=T.memberLabel(e);if(i!==null)this.kinds.push({start:r.sourceStart,end:r.sourceEnd,label:i,name:e.name,optional:e.optional===!0});if(!As(e))return;this.memberDecls.push({start:r.sourceStart,end:r.sourceEnd})}wordSpanIn(e,t){if(!this.ts)return null;let r=E(t)?this.stores.idOf(t):null,i=r!==null?this.stores.selfSpan(r):null;if(i===null)return null;let n=this.stores.primitiveSpans(e,i[0],i[1]);if(n.length!==1)return null;return[n[0].sourceStart,n[0].sourceEnd]}bareChildSpan(e,t,r){let i=(l)=>{let c=E(l)?this.stores.idOf(l):null;return c!==null?this.stores.selfSpan(c):null},n=i(r)??i(this.rstate?.node??null);if(n===null)return null;let[s,a]=n;for(let l=t-1;l>=0;l--){let c=i(e[l]);if(c){s=c[1];break}}for(let l=t+1;l — did you mean '${n}'?`;if(r)return`'${t}' is not a known attribute of <${e}> — a bare word sets the boolean attribute it `+`names; render a value with \`= ${t}\`, or spell \`name: value\``;return`'${t}' is not a known attribute of <${e}> — `+(i?"SVG attribute names are the spec's own, case-sensitive (`viewBox`)":"HTML attribute names are the spec's own, lowercase")+"; `data-`/`aria-` names take any suffix"}emitRewrittenPrimitive(e,t){let r=this.b.currentMark,i=this.ts?this.b.claimPrimitiveSpan(e):null;if(r!==null&&i!==null)this.b.markSpan(r.nodeId,"identifier",i[0],i[1],()=>this.b.emit(t));else this.b.emit(t);return i}emitQuotedPrimitive(e,t="'"){this.b.emit(t);let r=this.emitPrimitive(e);return this.b.emit(t),r}emitKeyAs(e,t){return e===t?this.emitPrimitive(e):this.emitRewrittenPrimitive(e,t)}emitPropertyRoadKey(e){let t=this.b.offset;if(e(),this.ts)this.attrNames.push([t,this.b.offset])}emitSchemaText(e,t=!1){let r=0,i=null;while(r0){let c=e[o];if(l!==null){if(c==="\\")o++;else if(c===l)l=null}else if(c==='"'||c==="'"||c==="`")l=c;else if(c==="{")a++;else if(c==="}")a--;o++}if(this.b.emit("${"),this.emitSchemaText(e.slice(s+2,a===0?o-1:o),t),a===0)this.b.emit("}");s=o;continue}this.b.emit(e[s]),s++}if(sthis.b.emit(a));else if(X1(a))this.emitPrimitive(a);else this.b.emit(a);if(sS.value===o[g].value),h=null;if(!f){h=Array.from({length:l+1},()=>Array(c+1).fill(0));for(let S=l-1;S>=0;S--)for(let g=c-1;g>=0;g--)h[S][g]=a[S].value===o[g].value?h[S+1][g+1]+1:Math.max(h[S][g+1],h[S+1][g])}let u=0,m=0;for(let S=0;Sthis.noteNameSpan(g.value)),u++}else this.noteNameSpan(g.value);m=g.end}this.b.emit(r.slice(m))}registerVoidValue(e,t){if(T1(e)){this.voidFuncs.add(e);return}if(!(E(e)&&g1(e[0])))throw this.positionedError(e,"emitter: the void marker (a trailing '!' on the defined name) requires a function value — `save! = ->`, `save! = =>`, `fn!: ->`",t)}withTarget(e){let t=this.inTarget;this.inTarget=!0,e(),this.inTarget=t}withPattern(e,t=!1){let r=this.inPattern,i=this.bindingPattern;this.inPattern=!0,this.bindingPattern=t,e(),this.inPattern=r,this.bindingPattern=i}withExpression(e){let t=this.inPattern,r=this.bindingPattern;this.inPattern=!1,this.bindingPattern=!1,e(),this.inPattern=t,this.bindingPattern=r}withDeopt(e){let t=this.deopt;this.deopt=!0,e(),this.deopt=t}mark(e,t,r){let i=this.stores.idOf(e);if(i!==null&&(t==="$self"||this.stores.role(i,t)!==null))this.b.mark(i,t,r);else r()}beginMark(e,t){let r=this.stores.idOf(e);if(r!==null&&(t==="$self"||this.stores.role(r,t)!==null))return this.b.beginMark(r,t),!0;return!1}endMark(e){if(e)this.b.endMark()}annotationText(e,t="annotation"){let r=this.stores.idOf(e);if(r===null)return null;let i=this.stores.role(r,t);if(!i||i.sourceStart==null||this.b.source===null)return null;return Ct(this.b.source.slice(i.sourceStart,i.sourceEnd).replace(/^\s*:\s*/,""))}tsAnnotate(e,t,r){this.b.tsOnly(()=>this.mark(e,t,()=>this.emitTypeText(e,t,`: ${r}`)))}tsReturnAnnotation(e,t,r,i,n=e){if(!this.ts)return;let s=this.annotationText(e,"returnType");if(s!==null){let a=t&&!i&&!/^Promise\s*`:s;this.b.tsOnly(()=>this.mark(e,"returnType",()=>this.emitTypeText(e,"returnType",`: ${a}`)));return}if(r&&!i){let a=t?"Promise":"void";this.b.tsOnly(()=>this.mark(n,"voidMarker",()=>this.b.emit(`: ${a}`)))}}tsRendered(e,t){try{return t()}catch(r){if(r instanceof Kr)throw this.positionedError(e,`emitter: ${r.message}`);throw r}}emitTsTypeDecls(e,t){if(!this.ts)return;for(let r of e){if(!E(r)||r[0]!=="type-decl")continue;this.tsTypeDeclLine(r,t)}}tsTypeDeclLine(e,t){let r=this.tsRendered(e,()=>di(e[1])),i=this.tsDirectiveMap.get(e);if(i!==void 0){if(this.tsDirectiveMap.delete(e),r.length===1)for(let n of i)this.tsDirectiveLine(n,t,!0)}this.b.tsOnly(()=>{this.b.emit(t),this.mark(e,"$self",()=>this.mark(e,"declaration",()=>{this.emitTypeText(e,"declaration",r.join(` +`)n++;continue}let a=Ki(e,n);if(a!==null){r.push({value:a.value,start:t+a.start,end:t+a.end}),n=a.end;continue}n++}return r},E=(e)=>Array.isArray(e),at=(e)=>E(e)&&a3.has(e[0])&&e.length===3,Gs=new Set([".","?.","[]","optindex"]),wn=(e)=>E(e)&&e[0]==="."&&e.length===3&&e[2]==="new",l3={__proto__:null,Array:"",ReadonlyArray:"",Map:"",Set:"",WeakMap:"",WeakSet:"",Promise:"",WeakRef:""};function c3(e){if(e[0]!=="="||e.length!==3)return null;let t=e[1];if(!E(t)||t[0]!=="."||typeof t[2]!=="string")return null;let r=t[1];if(!E(r)||r[0]!=="."||r[2]!=="prototype"||typeof r[1]!=="string")return null;return{head:r[1],member:t[2]}}function ht(e){let t=e;if(E(t)&&t[0]==="typed-var"&&t.length===3)t=t[1];if(E(t)&&t[0]==="."&&t[1]==="this"&&typeof t[2]==="string")return t[2];return null}function f3(e){let t=e;if(E(t)&&t[0]==="default"&&t.length===3)t=t[1];let r=ht(t);if(r===null)return null;return{name:r,typed:E(t)&&t[0]==="typed-var"&&t.length===3?t:null}}function h3(e){let t=[],r=new Map,i=(n,s)=>{if(!E(n))return;let a=n[0];if(a==="->"||a==="def"||a==="void-def"||a==="class"||a==="component"||a==="schema")return;if((a==="="||a==="void-assign")&&n.length===3&&E(n[1])&&n[1][0]==="."&&n[1][1]==="this"&&typeof n[1][2]==="string"){let o=n[1][2],l=r.get(o);if(l===void 0){let c={name:o,node:n,nodes:[n],viaArrow:s};r.set(o,c),t.push(c)}else if(l.nodes.push(n),l.viaArrow&&!s)l.viaArrow=!1}for(let o of n.slice(1))i(o,s||a==="=>")};for(let n of e)if(n!==null&&n!==void 0)i(n,!1);return t}var Ks=new Set(["<",">","<=",">=","==","!="]),ot=(e)=>E(e)&&Ks.has(e[0])&&e.length===3&&E(e[1])&&Ks.has(e[1][0])&&e[1].length===3&&!e[1].parenthesized,Ys=(e)=>E(e)&&(e[0]==="-"||e[0]==="+"||e[0]==="!"||e[0]==="~"||e[0]==="typeof"||e[0]==="delete")&&e.length===2,u3=(e)=>E(e)&&M1.has(e[0])&&e.length===3,zs=(e)=>E(e)&&(e[0]==="in"||e[0]==="of"||e[0]==="instanceof"||e[0]==="!in"||e[0]==="!of"||e[0]==="!instanceof")&&e.length===3,qs=(e)=>E(e)&&e[0]==="if",Me=(e)=>E(e)&&(e[0]===".."||e[0]==="...")&&e.length===3,O1=(e)=>E(e)&&e[0]==="object",T1=(e)=>E(e)&&(e[0]==="->"||e[0]==="=>")&&e.length===3,d3=new Set(["break","continue","return"]),m3=new Set(["break"]),g1=(e)=>e==="def"||e==="void-def";function Zs(e){if(!E(e))return!1;let t=e[0];if(t==="await"||t==="dammit!"||t==="dammit?")return!0;if(t==="for-as"&&e[3]===!0)return!0;if(t==="->"||t==="=>"||g1(t)||t==="class")return!1;return e.some((r)=>Zs(r))}function Qs(e){if(!E(e))return!1;let t=e[0];if(t==="yield"||t==="yield-from")return!0;if(t==="->"||t==="=>"||g1(t)||t==="class")return!1;return e.some((r)=>Qs(r))}var W1=(e)=>E(e)&&(e[0]==="++"||e[0]==="--")&&e.length===3,rr=/^[A-Za-z_$][A-Za-z0-9_$]*$/,nr=(e,t="",r=[])=>{if(!E(e))return r;if(e[0]==="object"){for(let i of e.slice(1)){if(!E(i)||i.length!==3)continue;let n=i[0];if(n!==":"&&n!==null)continue;let s=i[1];if(typeof s!=="string")continue;let a=rr.test(s)?`.${s}`:`[${s}]`,o=i[2];if(typeof o==="string"){if(rr.test(o))r.push([o,t+a])}else nr(o,t+a,r)}return r}if(e[0]==="array")return e.slice(1).forEach((i,n)=>{if(E(i)&&i[0]==="...")return;if(typeof i==="string"){if(rr.test(i))r.push([i,`${t}[${n}]`])}else nr(i,`${t}[${n}]`,r)}),r;return r},_n=(e)=>E(e)&&e[0]==="?:"&&e.length===4,u1=(e)=>E(e)&&e[0]==="block",Q1=(e)=>Ae.has(String(e).split("#")[0]),lt=(e)=>typeof e==="string"&&/^[A-Z][A-Za-z0-9]*[a-z][A-Za-z0-9]*$/.test(e),be=(e)=>E(e)&&e[0]==="comprehension"&&e.length===4&&Array.isArray(e[2])&&e[2].length>0&&Array.isArray(e[2][0])&&String(e[2][0][0]).startsWith("for-");var ct=(e)=>E(e)&&((e[0]==="for-in"||e[0]==="for-of"||e[0]==="for-as")&&e.length===6||e[0]==="while"&&(e.length===3||e.length===4)||e[0]==="loop"&&e.length===2||e[0]==="loop-n"&&e.length===3);function p3(e){let t=0,r=!0,i=(n)=>Array.isArray(n);return e.map((n)=>{if(typeof n==="string"){if(!r)return{item:n,name:n,value:null};return{item:n,name:n,value:String(t++)}}if(i(n)&&n[0]==="="&&n.length===3){let s=n[2],a=typeof s==="string"&&/^[0-9]/.test(s)?Number(s.replace(/_/g,"")):i(s)&&s[0]==="-"&&typeof s[1]==="string"?-Number(s[1].replace(/_/g,"")):null;if(a!==null&&Number.isFinite(a))t=a+1,r=!0;else if(typeof s==="string"&&s.startsWith('"'))r=!1;return{item:n,name:n[1],value:s}}return{item:n,name:null,value:void 0}})}function je(e){return`'${String(e).slice(1,-1).replace(/\\/g,"\\\\").replace(/'/g,"\\'")}'`}function Nn(e,t){if(!E(t)||t[0]!=="import"||t.length<2)return!1;let r=e.idOf(t);return(r!==null?e.node(r)?.semanticKind:null)==="import"}class T{constructor(e,t,{face:r="js",pins:i=null,strict:n=!1,script:s=!1,browserModule:a=!1,repl:o=!1,hmr:l=!1,tolerant:c=!1,modulePath:f=null,appStashSpec:h=null,routesUnion:u=null,routeParams:d=null}={}){this.stores=e,this.b=t,this.repl=o,this.tolerant=c,this.replResultName=null,this.replImportResolver=null,this.script=s,this.appStashSpec=h,this.routesUnion=typeof u==="string"&&u.length>0?u:null,this.routeParams=typeof d==="string"&&d.length>0?d:null,this.appAccessors={stash:null,router:null},this.routeWrapSpans=[],this.memberInitSites=[],this.sourceKeySpans=[],this.stashMemberSpans=[],this.domSurfaces=new Map,this._needsClassValue=!1,this._needsCssProperties=!1,this._needsChildren=!1,this._restTags=new Set,this._needsRefCellHelper=!1,this.intrinsics=[],this.renderPairs=[],this.browserModule=a,this.hmr=l===!0,this.modulePath=typeof f==="string"&&f.length>0?f:null,this.importSpans=[],this.typeOnlyImports=new Set,this.pins=i,this.pinnables=[],this.pinnedWrites=new Set,this.mutables=[],this.enums=[],this.classDecls=[],this.pinSpans=[],this.loopVars=[],this.attrNames=[],this.importedRefs=[],this.strict=n,this.ts=r==="ts",this.pendingHoistTypes=new Map,this.tsDirectiveMap=new Map,this.tsNocheck=null,this.pendingHoistDirectives=[],this.tsDirectivesArmed=!1,this.pendingSigs=new WeakMap,this.pendingTypeDecls=[],this.primitiveAvoid=null,this.primitiveReuse=null,this.declaringName=!1,this.vocabulary=[],this.silences=[],this.memberDecls=[],this.kinds=[],this.componentInfo=new Map,this.schemaFns=new Map,this.moduleComponentNames=new Map,this.ind=0,this.methodName=null,this.scopes=[],this.lastProgramStmt=null,this.inPattern=!1,this.bindingPattern=!1,this.deopt=!1,this.inTarget=!1,this.voidFuncs=new WeakSet,this.sideEffectOnly=!1,this.voidReason=null,this.usesSchema=!1,this.exprDepth=0,this.renderRecord=null,this.postfixGuardDepth=0,this._schemaName=null,this.subParses=new Map,this.runtimeAliases=new Map,this.temps={used:new Set,n:0,byNode:new WeakMap},this.refPlans=new WeakMap,this.ctrlDepth=0,this.tailReturnOk=!1,this.rframes=[],this.cframes=[],this._componentName=null,this.moduleBound=new Set,this.renderSelf=null}isReactiveDecl(e){return T.isReactiveDeclIn(this.stores,e)}static isReactiveDeclIn(e,t){if(!E(t)||t[0]!=="state"&&t[0]!=="computed"||t.length!==3)return!1;let r=e.idOf(t),i=r!==null?e.node(r)?.semanticKind:null;return i==="state"||i==="computed"}isGateDecl(e){return T.isGateDeclIn(this.stores,e)}static isGateDeclIn(e,t){if(!E(t)||t[0]!=="gate"||t.length<3)return!1;let r=e.idOf(t);return(r!==null?e.node(r)?.semanticKind:null)==="gate"}isEffectDecl(e){return T.isEffectDeclIn(this.stores,e)}static isEffectDeclIn(e,t){if(!E(t)||t[0]!=="effect"||t.length!==3)return!1;let r=e.idOf(t);return(r!==null?e.node(r)?.semanticKind:null)==="effect"}isReadonlyDecl(e){return T.isReadonlyDeclIn(this.stores,e)}static isReadonlyDeclIn(e,t){if(!E(t)||t[0]!=="readonly"||t.length!==3)return!1;let r=e.idOf(t);return(r!==null?e.node(r)?.semanticKind:null)==="readonly"}lockedHead(e,t){let r=this.stores.idOf(e);if(r===null)return!0;return this.stores.node(r)?.semanticKind===t}isModuleImport(e){return T.isModuleImportIn(this.stores,e)}static isModuleImportIn(e,t){return Nn(e,t)}static BLOCK_HEADS=new Set(["if","while","loop","for-in","for-of","for-as","switch","when","try","block","comprehension"]);collectReactiveNames(e){let t=new Set,r=(i,n)=>{if(!E(i)||g1(i[0])||T1(i)||i[0]==="class"||i[0]==="enum")return;if(i[0]==="component"&&i.length===3)return;if(this.isReactiveDecl(i)){if(n){let a=i[0]==="state"?":=":"~=";throw this.positionedError(i,`emitter: a reactive declaration ('${typeof i[1]==="string"?i[1]:"…"} ${a} …') must sit at module or function scope — `+"inside a statement block it lowers to a block-scoped const, and any later read would unwrap '.value' off a binding that no longer exists")}if(typeof i[1]==="string")t.add(i[1]);return}if(this.isEffectDecl(i))return;let s=n||T.BLOCK_HEADS.has(i[0]);for(let a of i)r(a,s)};for(let i of e)r(i,!1);return t}collectEffectHandles(e){let t=new Set,r=(i,n)=>{if(!E(i)||g1(i[0])||T1(i)||i[0]==="class"||i[0]==="enum")return;if(i[0]==="component"&&i.length===3)return;if(this.isReactiveDecl(i))return;if(this.isEffectDecl(i)){if(i[1]!==null){if(n)throw this.positionedError(i,`emitter: a bound effect ('${typeof i[1]==="string"?i[1]:"…"} ~> …') must sit at module or function scope — `+"inside a statement block its dispose handle would be a block-scoped const, dead to every later read "+"; a BARE '~> …' stays legal here");if(typeof i[1]==="string")t.add(i[1])}return}let s=n||T.BLOCK_HEADS.has(i[0]);for(let a of i)r(a,s)};for(let i of e)r(i,!1);return t}collectReadonlyNames(e){let t=new Set,r=(i,n)=>{if(!E(i)||g1(i[0])||T1(i)||i[0]==="class"||i[0]==="enum")return;if(i[0]==="component"&&i.length===3)return;if(this.isReactiveDecl(i)||this.isEffectDecl(i))return;if(this.isReadonlyDecl(i)){if(n)throw this.positionedError(i,`emitter: a readonly declaration ('${typeof i[1]==="string"?i[1]:"…"} =! …') must sit at module or function scope — `+"inside a statement block it lowers to a block-scoped const, dead to every later read ");if(typeof i[1]==="string")t.add(i[1]);r(i[2],n);return}let s=n||T.BLOCK_HEADS.has(i[0]);for(let a of i)r(a,s)};for(let i of e)r(i,!1);return t}static exportedConstNames(e){let t=new Set;for(let r of e){if(!E(r)||r[0]!=="export")continue;for(let i of r.slice(1))if(E(i)&&(i[0]==="="||i[0]==="void-assign")&&i.length===3&&typeof i[1]==="string")t.add(i[1])}return t}isExportedConst(e){for(let t=this.rframes.length-1;t>=0;t--){let r=this.rframes[t];if(r.reactive.has(e))return!1;if(r.exportedConst!==void 0&&r.exportedConst.has(e))return!0;if(r.bound.has(e))return!1;if(r.members!==void 0&&r.members.has(e))return!1}return!1}checkExportedConstWrite(e,t){let r=typeof t==="string"?[t]:T.isPattern(t)?this.patternNames(t):[];for(let i of r){if(!this.isExportedConst(i))continue;throw this.positionedError(e,`emitter: cannot assign to exported '${i}' — an exported binding lowers to `+`'export const', which never changes after its declaration; declare it as state ('export ${i} := …') to write it, or drop the export`)}}positionedError(e,t,...r){let i=Error(t);for(let n of[e,...r]){let s=this.stores.idOf(n),a=s!==null?this.stores.selfSpan(s):null;if(a){i.start=a[0],i.end=a[1];break}}return i}positionedErrorAt(e,t,r){let i=Error(r);return i.start=e,i.end=t,i}static declaredNames(e){let t=[],r=(i)=>{if(!E(i))return;if((i[0]==="enum"||i[0]==="class")&&typeof i[1]==="string")t.push(i[1]);if(g1(i[0])&&i.length===4&&typeof i[1]==="string")t.push(i[1])};for(let i of e)if(r(i),E(i)&&i[0]==="export"&&E(i[1]))r(i[1]);return t}static declaredClassNames(e){let t=new Set,r=(i)=>{if(!E(i)||!it.has(i[0])||i.length!==3)return;if(typeof i[1]!=="string")return;let n=i[2];if(E(n)&&(n[0]==="class"||n[0]==="component"))t.add(i[1])};for(let i of e)if(r(i),E(i)&&i[0]==="export"&&E(i[1]))r(i[1]);return t}static declaredEnumNames(e){let t=new Set,r=(i)=>{if(E(i)&&i[0]==="enum"&&typeof i[1]==="string")t.add(i[1])};for(let i of e)if(r(i),E(i)&&i[0]==="export"&&E(i[1]))r(i[1]);return t}nodeLine(e){let t=this.stores.idOf(e),r=t!==null?this.stores.selfSpan(t):null;if(!r||typeof this.b.source!=="string")return null;let i=1;for(let n=0;n{if(typeof f==="string")i.push({name:f,kind:h,node:u,auth:!0})},s=(f,h)=>{if(typeof f==="string")i.push({name:f,kind:"plain",node:h,auth:!1})},a=(f,h,u)=>{let d=new Set;for(let S of f){if(d.has(S))throw this.positionedError(h,`emitter: '${S}' is bound twice in one ${u} — one binding per name; rename or drop the duplicate`,...r!==null?[r]:[]);d.add(S)}return f};{let f=[],h=[];for(let u of t??[]){this.patternNames(u,f,!0);let d=E(u)?u:t;while(h.lengthn(u,"parameter",h[d]))}let o=(f,h)=>{if(!E(f))return;if(this.isModuleImport(f)){for(let d of T.importedNames([f]))n(d,"import",f);return}if(T1(f))return;if(g1(f[0])){if(!h&&f.length===4&&typeof f[1]==="string")n(f[1],"def",f);return}if(f[0]==="enum"){if(!h)n(f[1],"enum",f);return}if(f[0]==="component"&&f.length===3)return;if(f[0]==="class"){if(!h)n(f[1],"class",f);if(f[2]!=null)o(f[2],!0);let d=f[3];if(u1(d)){for(let S of d.slice(1))if(E(S)&&M1.has(S[0])&&S.length===3)o(S[2],!0);else if(!T.isTypedWrapper(S))o(S,!0)}return}if(this.isReactiveDecl(f)){if(n(f[1],f[0]==="computed"?"computed":"state",f),!(f[0]==="computed"&&u1(f[2])&&f[2].length>2))o(f[2],h);return}if(this.isEffectDecl(f)){if(f[1]!==null)n(f[1],"effect",f);return}if(this.isReadonlyDecl(f)){n(f[1],"readonly",f),o(f[2],h);return}if(f[0]==="export"){for(let d of f.slice(1)){if(!E(d))continue;if((d[0]==="="||d[0]==="void-assign")&&d.length===3&&typeof d[1]==="string")n(d[1],"plain",d),o(d[2],h);else o(d,h)}return}if(f[0]==="for-in"||f[0]==="for-of"||f[0]==="for-as"){if(E(f[1])){let d=[];for(let S of f[1])this.patternNames(S,d,!0);a(d,f,"loop head")}for(let d of f.slice(2))o(d,!0);return}if(be(f)){o(f[1],!0);for(let d of f[2]??[]){let S=[];if(E(d[1]))for(let g of d[1])this.patternNames(g,S,!0);a(S,f,"comprehension clause"),o(d[2],!0)}for(let d of f[3]??[])o(d,!0);return}if(f[0]==="try"){for(let d of f.slice(2))if(E(d)&&d.length===2&&T.isPattern(d[0])){for(let S of a(this.patternNames(d[0]),d[0],"catch pattern"))s(S,f);o(d[1],!0)}else o(d,!0);o(f[1],!0);return}if(M1.has(f[0])&&f.length===3){if(typeof f[1]==="string")s(f[1],f);else if(f[0]==="="&&T.isPattern(f[1]))for(let d of a(this.patternNames(f[1]),f,"destructuring pattern"))s(d,f)}let u=h||T.BLOCK_HEADS.has(f[0]);for(let d of f)o(d,u)};for(let f of e)o(f,!1);i.forEach((f,h)=>{f.order=h});let l=(f,h)=>{let u=h.node!==null?this.nodeLine(h.node):null,d=h.kind==="state"||h.kind==="parameter"||h.kind==="plain"?` — assign with '${f.name} = …' to update it, or choose a different name`:" — choose a different name";throw this.positionedError(f.node,`emitter: '${f.name}' was already declared as ${h.kind}${u!==null?` on line ${u}`:""}${d}`,...r!==null?[r]:[])},c=new Map;for(let f of i){if(!f.auth)continue;let h=c.get(f.name);if(h!==void 0)l(f,h);c.set(f.name,f)}for(let f of i){if(f.auth)continue;let h=c.get(f.name);if(h!==void 0){if(h.auth&&f.orderu.members.has(f.name)))continue;c.set(f.name,f)}}pushReactiveFrame(e,t,r=[],i=null){let n=this.collectReactiveNames(e),s=this.collectEffectHandles(e),a=this.collectReadonlyNames(e);return this.checkScopeRedeclarations(e,r,i),this.rframes.push({reactive:n,computed:this.collectComputedNames(e),readonly:a,handles:s,bound:new Set([...t,...T.declaredNames(e),...s,...a]),enums:T.declaredEnumNames(e),classes:T.declaredClassNames(e),importSpecs:T.importedSpecs(e),exportedConst:T.exportedConstNames(e)}),new Set([...n,...s,...a])}withBindings(e,t){this.rframes.push({reactive:new Set,bound:new Set(e)}),t(),this.rframes.pop()}resolveBareRead(e){for(let t=this.rframes.length-1;t>=0;t--){let r=this.rframes[t];if(r.reactive.has(e))return"reactive";if(r.bound.has(e))return null;if(r.members!==void 0&&r.members.has(e))return r.memberReactive.has(e)?"member-reactive":"member"}return null}kindOfName(e){for(let t=this.rframes.length-1;t>=0;t--){let r=this.rframes[t];if(r.reactive?.has(e))return r.computed?.has(e)?"computed":"state";if(r.readonly?.has(e))return"readonly";if(r.handles?.has(e))return"effect";if(r.bound?.has(e))return null;if(r.members!==void 0&&r.members.has(e))return r.memberKinds?.get(e)??null}return null}isReactiveName(e){return this.resolveBareRead(e)==="reactive"}isEnumName(e){for(let t=this.rframes.length-1;t>=0;t--){let r=this.rframes[t];if(r.enums!==void 0&&r.enums.has(e))return!0;if(r.reactive.has(e)||r.bound.has(e))return!1;if(r.members!==void 0&&r.members.has(e))return!1}return!1}isClassName(e){for(let t=this.rframes.length-1;t>=0;t--){let r=this.rframes[t];if(r.classes!==void 0&&r.classes.has(e))return!0;if(r.reactive.has(e)||r.bound.has(e))return!1;if(r.members!==void 0&&r.members.has(e))return!1}return!1}isRenderLoopName(e){for(let t=this.rframes.length-1;t>=0;t--){let r=this.rframes[t];if(r.loopVars!==void 0&&r.loopVars.has(e))return!0;if(r.reactive.has(e)||r.bound.has(e))return!1;if(r.members!==void 0&&r.members.has(e))return!1}return!1}importSpecOf(e){for(let t=this.rframes.length-1;t>=0;t--){let r=this.rframes[t],i=r.importSpecs?.get(e);if(i!==void 0)return i;if(r.reactive.has(e)||r.bound.has(e))return null;if(r.members!==void 0&&r.members.has(e))return null}return null}isComputedName(e){for(let t=this.rframes.length-1;t>=0;t--){let r=this.rframes[t];if(r.reactive.has(e))return r.computed!==void 0&&r.computed.has(e);if(r.bound.has(e))return!1;if(r.members!==void 0&&r.members.has(e))return!1}return!1}isAmbientReadonly(e){for(let t=this.rframes.length-1;t>=0;t--){let r=this.rframes[t];if(r.reactive.has(e))return!1;if(r.ambientReadonly!==void 0&&r.ambientReadonly.has(e))return!0;if(r.readonly!==void 0&&r.readonly.has(e))return!0;if(r.bound.has(e))return!1;if(r.members!==void 0&&r.members.has(e))return!1}return!1}memberKindOf(e){for(let t=this.rframes.length-1;t>=0;t--){let r=this.rframes[t];if(r.reactive.has(e))return null;if(r.bound.has(e))return null;if(r.members!==void 0&&r.members.has(e))return r.members.get(e)}return null}thisMemberKindOf(e){for(let t=this.rframes.length-1;t>=0;t--){let r=this.rframes[t];if(r.members!==void 0)return r.members.has(e)?r.members.get(e):null}return null}static targetsRestView(e){if(!E(e))return!1;if(e[0]==="array")return e.slice(1).some((r)=>T.targetsRestView(r));if(e[0]==="object")return e.slice(1).some((r)=>E(r)&&T.targetsRestView(r[2]??r[1]));if(e[0]==="default"||e[0]==="rest")return T.targetsRestView(e[1]);let t=e;while(E(t)&&(t[0]==="."||t[0]==="[]"||t[0]==="?."||t[0]==="optindex")&&t.length===3){if(t[0]==="."&&t[1]==="this"&&t[2]==="rest")return!0;t=t[1]}return!1}checkBareRest(e,t){if(t!=="rest"||this.memberKindOf(t)!=="rest")return;let r=this.positionedError(e,"emitter: `rest` is provided by `extends`, not declared here — spell it `@rest`, as with `@stash` and `@router`");if(typeof r.start!=="number"&&this.b.currentMark)r.start=this.b.currentMark.sourceStart,r.end=this.b.currentMark.sourceEnd;throw r}checkMemberWrite(e,t){if(this.cframes.length===0)return;if(this.thisMemberKindOf("rest")==="rest"&&T.targetsRestView(t))throw this.positionedError(e,"emitter: `@rest` is the runtime-owned view of the caller's undeclared props and is never assigned — "+"set the attribute on the element in render, or declare the name as a prop the caller supplies");let r=null,i=null;if(typeof t==="string")this.checkBareRest(e,t),r=t,i=this.memberKindOf(t);else if(E(t)&&t[0]==="."&&t[1]==="this"&&typeof t[2]==="string")r=t[2],i=this.thisMemberKindOf(r);if(i===null)return;if(i==="readonly")throw this.positionedError(e,`emitter: cannot assign to readonly member '${r}' — a '=!' member never changes after _init; `+"a member that changes is state (':=')");if(i==="plain"){let n=this.cframes[this.cframes.length-1];if(!n.plainWrites.has(r))n.plainWrites.set(r,e)}}notePlainRenderRead(e,t=!1){if(this.rstate==null||this.cframes.length===0)return;if((t?this.thisMemberKindOf(e):this.memberKindOf(e))!=="plain")return;this.cframes[this.cframes.length-1].renderPlainReads.add(e)}collectComputedNames(e){let t=new Set,r=(i,n)=>{if(!E(i)||g1(i[0])||T1(i)||i[0]==="class"||i[0]==="enum")return;if(i[0]==="component"&&i.length===3)return;if(this.isReactiveDecl(i)){if(!n&&i[0]==="computed"&&typeof i[1]==="string")t.add(i[1]);return}if(this.isEffectDecl(i))return;let s=n||T.BLOCK_HEADS.has(i[0]);for(let a of i)r(a,s)};for(let i of e)r(i,!1);return t}bareRewrite(e){if(this.inPattern&&this.bindingPattern)return null;return this.resolveBareRead(e)}isReactiveRead(e){return this.bareRewrite(e)==="reactive"}memberIsReactive(e){let t=this.cframes[this.cframes.length-1];return t!==void 0&&t.memberReactive.has(e)}inComponent(){return this.cframes.length>0}reactiveRead(e){let t=this.b.currentMark,r=this.b.source;if(this.ts)this.emitPrimitive(e);else if(t!==null&&r!==null&&r.slice(t.sourceStart,t.sourceEnd)===e)this.b.mark(t.nodeId,t.role,()=>this.b.emit(e));else this.b.emit(e);this.b.emit(".value")}memberRead(e,t){let r=this.b.currentMark,i=this.b.source;if(this.b.emit((this.renderSelf??"this")+"."),this.ts){let n=this.emitPrimitive(e);if(t&&n!==null)this.memberDecls.push({start:n[0],end:n[1]})}else if(r!==null&&i!==null&&i.slice(r.sourceStart,r.sourceEnd)===e)this.b.mark(r.nodeId,r.role,()=>this.b.emit(e));else this.b.emit(e);if(t)this.b.emit(".value")}emitPrimitive(e){let t=this.b.currentMark,r=this.ts&&typeof e==="string"?this.b.claimPrimitiveSpan(e,this.primitiveAvoid):null;if(r===null&&this.primitiveReuse!==null&&this.primitiveReuse.name===e)r=this.primitiveReuse.span,this.primitiveReuse=null;if(r!==null&&X1(e)){let i=this.kindOfName(e),n=typeof i==="string"?{label:i,optional:!1}:i;if(n!==null)this.kinds.push({start:r[0],end:r[1],label:n.label,name:e,optional:n.optional})}if(t!==null&&r!==null){let i=X1(e)?"identifier":"literal";this.b.markSpan(t.nodeId,i,r[0],r[1],()=>this.noteNameSpan(e))}else this.noteNameSpan(e);return r}noteNameSpan(e){if(!this.ts||this.declaringName||typeof e!=="string"||!X1(e)){this.b.emit(e);return}let t=this.b.offset;if(this.b.emit(e),this.isEnumName(e)){this.enums.push([t,this.b.offset]);return}if(this.isReactiveName(e)&&!this.isComputedName(e)){this.mutables.push([t,this.b.offset]);return}if(this.isClassName(e)){this.classDecls.push([t,this.b.offset]);return}if(this.isRenderLoopName(e)){this.loopVars.push([t,this.b.offset]);return}let r=this.importSpecOf(e);if(r!==null)this.importedRefs.push([t,this.b.offset,r.importedName,r.specifier])}withDeclaredName(e){let t=this.declaringName;this.declaringName=!0;try{return e()}finally{this.declaringName=t}}noteVocabulary(e,t,r){let i=this.wordSpanIn(t,r);if(i!==null)this.vocabulary.push({kind:e,start:i[0],end:i[1]})}noteShorthandClasses(e,t){for(let r of e)this.noteVocabulary("render-channel",r,t)}noteHeadKeyword(e,t,r){if(!this.ts)return;let i=E(r)?this.stores.idOf(r):null,n=i!==null?this.stores.selfSpan(i):null;if(n===null||this.b.source===null)return;let s=n[0]+t.length;if(s>n[1]||this.b.source.slice(n[0],s)!==t)return;this.vocabulary.push({kind:e,start:n[0],end:s})}noteKind(e,t,r){let i=this.stores.idOf(e),n=i!==null?this.stores.role(i,t):null;if(n?.sourceStart!=null&&n.sourceEnd>n.sourceStart){let s=this.b.source?.slice(n.sourceStart,n.sourceEnd)??null;this.kinds.push({start:n.sourceStart,end:n.sourceEnd,label:r,name:s})}}noteSilence(e,t){let r=this.wordSpanIn(e,t);if(r!==null)this.silences.push([r[0],r[1]])}static MEMBER_KINDS={state:"state",computed:"computed",readonly:"readonly",gate:"gate"};static memberLabel(e){if(e.isPublic&&(e.kind==="prop"||e.kind==="state"))return"prop";return T.MEMBER_KINDS[e.kind]??null}noteMemberDecl(e){if(!this.ts)return;let t=E(e.nameNode)?this.stores.idOf(e.nameNode):null,r=t!==null?this.stores.role(t,e.nameRole):null;if(!r||typeof r.sourceStart!=="number")return;let i=T.memberLabel(e);if(i!==null)this.kinds.push({start:r.sourceStart,end:r.sourceEnd,label:i,name:e.name,optional:e.optional===!0});if(!As(e))return;this.memberDecls.push({start:r.sourceStart,end:r.sourceEnd})}wordSpanIn(e,t){if(!this.ts)return null;let r=E(t)?this.stores.idOf(t):null,i=r!==null?this.stores.selfSpan(r):null;if(i===null)return null;let n=this.stores.primitiveSpans(e,i[0],i[1]);if(n.length!==1)return null;return[n[0].sourceStart,n[0].sourceEnd]}bareChildSpan(e,t,r){let i=(l)=>{let c=E(l)?this.stores.idOf(l):null;return c!==null?this.stores.selfSpan(c):null},n=i(r)??i(this.rstate?.node??null);if(n===null)return null;let[s,a]=n;for(let l=t-1;l>=0;l--){let c=i(e[l]);if(c){s=c[1];break}}for(let l=t+1;l — did you mean '${n}'?`;if(r)return`'${t}' is not a known attribute of <${e}> — a bare word sets the boolean attribute it `+`names; render a value with \`= ${t}\`, or spell \`name: value\``;return`'${t}' is not a known attribute of <${e}> — `+(i?"SVG attribute names are the spec's own, case-sensitive (`viewBox`)":"HTML attribute names are the spec's own, lowercase")+"; `data-`/`aria-` names take any suffix"}emitRewrittenPrimitive(e,t){let r=this.b.currentMark,i=this.ts?this.b.claimPrimitiveSpan(e):null;if(r!==null&&i!==null)this.b.markSpan(r.nodeId,"identifier",i[0],i[1],()=>this.b.emit(t));else this.b.emit(t);return i}emitQuotedPrimitive(e,t="'"){this.b.emit(t);let r=this.emitPrimitive(e);return this.b.emit(t),r}emitKeyAs(e,t){return e===t?this.emitPrimitive(e):this.emitRewrittenPrimitive(e,t)}emitPropertyRoadKey(e){let t=this.b.offset;if(e(),this.ts)this.attrNames.push([t,this.b.offset])}emitSchemaText(e,t=!1){let r=0,i=null;while(r0){let c=e[o];if(l!==null){if(c==="\\")o++;else if(c===l)l=null}else if(c==='"'||c==="'"||c==="`")l=c;else if(c==="{")a++;else if(c==="}")a--;o++}if(this.b.emit("${"),this.emitSchemaText(e.slice(s+2,a===0?o-1:o),t),a===0)this.b.emit("}");s=o;continue}this.b.emit(e[s]),s++}if(sthis.b.emit(a));else if(X1(a))this.emitPrimitive(a);else this.b.emit(a);if(sS.value===o[g].value),h=null;if(!f){h=Array.from({length:l+1},()=>Array(c+1).fill(0));for(let S=l-1;S>=0;S--)for(let g=c-1;g>=0;g--)h[S][g]=a[S].value===o[g].value?h[S+1][g+1]+1:Math.max(h[S][g+1],h[S+1][g])}let u=0,d=0;for(let S=0;Sthis.noteNameSpan(g.value)),u++}else this.noteNameSpan(g.value);d=g.end}this.b.emit(r.slice(d))}registerVoidValue(e,t){if(T1(e)){this.voidFuncs.add(e);return}if(!(E(e)&&g1(e[0])))throw this.positionedError(e,"emitter: the void marker (a trailing '!' on the defined name) requires a function value — `save! = ->`, `save! = =>`, `fn!: ->`",t)}withTarget(e){let t=this.inTarget;this.inTarget=!0,e(),this.inTarget=t}withPattern(e,t=!1){let r=this.inPattern,i=this.bindingPattern;this.inPattern=!0,this.bindingPattern=t,e(),this.inPattern=r,this.bindingPattern=i}withExpression(e){let t=this.inPattern,r=this.bindingPattern;this.inPattern=!1,this.bindingPattern=!1,e(),this.inPattern=t,this.bindingPattern=r}withDeopt(e){let t=this.deopt;this.deopt=!0,e(),this.deopt=t}mark(e,t,r){let i=this.stores.idOf(e);if(i!==null&&(t==="$self"||this.stores.role(i,t)!==null))this.b.mark(i,t,r);else r()}beginMark(e,t){let r=this.stores.idOf(e);if(r!==null&&(t==="$self"||this.stores.role(r,t)!==null))return this.b.beginMark(r,t),!0;return!1}endMark(e){if(e)this.b.endMark()}annotationText(e,t="annotation"){let r=this.stores.idOf(e);if(r===null)return null;let i=this.stores.role(r,t);if(!i||i.sourceStart==null||this.b.source===null)return null;return Ct(this.b.source.slice(i.sourceStart,i.sourceEnd).replace(/^\s*:\s*/,""))}tsAnnotate(e,t,r){this.b.tsOnly(()=>this.mark(e,t,()=>this.emitTypeText(e,t,`: ${r}`)))}tsReturnAnnotation(e,t,r,i,n=e){if(!this.ts)return;let s=this.annotationText(e,"returnType");if(s!==null){let a=t&&!i&&!/^Promise\s*`:s;this.b.tsOnly(()=>this.mark(e,"returnType",()=>this.emitTypeText(e,"returnType",`: ${a}`)));return}if(r&&!i){let a=t?"Promise":"void";this.b.tsOnly(()=>this.mark(n,"voidMarker",()=>this.b.emit(`: ${a}`)))}}tsRendered(e,t){try{return t()}catch(r){if(r instanceof Kr)throw this.positionedError(e,`emitter: ${r.message}`);throw r}}emitTsTypeDecls(e,t){if(!this.ts)return;for(let r of e){if(!E(r)||r[0]!=="type-decl")continue;this.tsTypeDeclLine(r,t)}}tsTypeDeclLine(e,t){let r=this.tsRendered(e,()=>mi(e[1])),i=this.tsDirectiveMap.get(e);if(i!==void 0){if(this.tsDirectiveMap.delete(e),r.length===1)for(let n of i)this.tsDirectiveLine(n,t,!0)}this.b.tsOnly(()=>{this.b.emit(t),this.mark(e,"$self",()=>this.mark(e,"declaration",()=>{this.emitTypeText(e,"declaration",r.join(` `+t))})),this.b.emit(` `)})}flushPendingTypeDecls(e,t=!1){if(!this.ts||this.pendingTypeDecls.length===0)return;let r=this.pendingTypeDecls;if(this.pendingTypeDecls=[],t)this.b.tsOnly(()=>this.b.emit(` `));for(let i of r)this.tsTypeDeclLine(i,e)}emitSegments(e){for(let t of e)if(t.node!==void 0)this.mark(t.node,t.role,()=>this.emitAnnotationWords(t));else this.emitDeclaredTypeCopies(t.text)}emitDeclaredTypeCopies(e,t=null){let r=t??this.b.currentMark?.nodeId??null;if(r===null||!this.ts){this.b.emit(e);return}this.emitNamedCopies(e,null,r,null)}emitNamedCopies(e,t,r,i){if(r===null||!this.ts){this.b.emit(e);return}let n=this.moduleTypeDeclarationSpans();if(t!==null&&i!==null)n.set(t,i);if(n.size===0){this.b.emit(e);return}let s=0;for(let a of e.matchAll(/[A-Za-z_$][\w$]*/g)){let o=n.get(a[0]);if(o===void 0||a.indexthis.b.emit(a[0])),s=a.index+a[0].length}this.b.emit(e.slice(s))}moduleTypeDeclarationSpans(){if(this._typeDeclSpans===void 0){let e=new Map;if(this.b.source!==null){let t=/^(?:export\s+)?(?:(?:type|interface|enum)\s+([A-Za-z_$][\w$]*)|([A-Za-z_$][\w$]*)\s*=\s*schema\b|([A-Za-z_$][\w$]*)\s*=\s*[A-Za-z_$][\w$]*\s*\.\s*(?:pick|omit|partial|required|extend)\b)/gmd;for(let i of this.b.source.matchAll(t)){let n=i.indices[1]??i.indices[2]??i.indices[3],s=this.b.source.slice(n[0],n[1]);if(e.has(s))continue;e.set(s,[n[0],n[1]])}let r=/(?:^|,)\s*(?:type\s+)?(?:[A-Za-z_$][\w$]*\s+as\s+)?([A-Za-z_$][\w$]*)/gd;for(let i of this.b.source.matchAll(/^import\s+(?:type\s+)?\{([^}]*)\}/gmd)){let[n]=i.indices[1],s=i.index+i[0].length;for(let a of i[1].matchAll(r)){let[o,l]=a.indices[1],c=i[1].slice(o,l);if(e.has(c))continue;let f=new RegExp(`(?0){let o=this.b.source.lastIndexOf(r,a-1);if(o<0)break;if(!/[\w$]/.test(this.b.source[o-1]??" ")&&!/[\w$]/.test(this.b.source[o+r.length]??" "))return{id:i,span:[o,o+r.length]};a=o}return null}emitAnnotationWords(e){if(e.role!=="annotation"||!this.ts){this.b.emit(e.text);return}let t=this.stores.idOf(e.node),r=t!==null?this.stores.role(t,"annotation"):null,i=r?.sourceStart!=null&&this.b.source!==null?this.b.source.slice(r.sourceStart,r.sourceEnd):null;if(i===null||e.text.includes(i)){this.b.emit(e.text);return}let n=new Map;for(let a of i.matchAll(/[A-Za-z_$][\w$]*/g))if(!n.has(a[0]))n.set(a[0],[r.sourceStart+a.index,r.sourceStart+a.index+a[0].length]);let s=0;for(let a of e.text.matchAll(/[A-Za-z_$][\w$]*/g)){let o=n.get(a[0]);if(!o)continue;this.b.emit(e.text.slice(s,a.index)),this.b.markSpan(t,"identifier",o[0],o[1],()=>this.b.emit(a[0])),s=a.index+a[0].length}this.b.emit(e.text.slice(s))}tsComponentMemberDeclares(e,t){let r=(s)=>this.b.tsOnly(()=>{this.b.emit(t),s(),this.b.emit(` @@ -57,14 +57,14 @@ ${o.join(` `));else this.b.tsOnly(()=>this.b.emit(`${t}declare static mount: (target?: any) => any; `));this.b.tsOnly(()=>{this.b.emit(`${t}constructor(props${yn(e)?"?":""}: `),this.emitSegments(vs(e,{road:"face"})),this.b.emit(`) { super(props); } `)})}tsComponentCompanion(e,t,r,i=null){if(!this.ts)return;let n=this.componentInfo.get(e);if(n===void 0)return;let s=" ".repeat(this.ind),a=xs(i);this.b.tsOnly(()=>{this.b.emit(` -`+s),this.mark(e,"$self",()=>{let c=this.stores.idOf(e),f=c!==null?this.stores.selfSpan(c):null,h=-1;if(f!==null&&this.b.source!==null){let S=f[0];while(S>0){let g=this.b.source.lastIndexOf(t,S-1);if(g<0)break;let d=this.b.source[g-1]??" ",R=this.b.source[g+t.length]??" ";if(!/[\w$]/.test(d)&&!/[\w$]/.test(R)){h=g;break}S=g}}let u=this.moduleTypeDeclarationSpans();if(h>=0)u.set(t,[h,h+t.length]);let m=(S)=>{if(u.size===0){this.b.emit(S);return}let g=0;for(let d of S.matchAll(/[A-Za-z_$][\w$]*/g)){let R=u.get(d[0]);if(!R)continue;this.b.emit(S.slice(g,d.index)),this.b.markSpan(c,"identifier",R[0],R[1],()=>this.b.emit(d[0])),g=d.index+d[0].length}this.b.emit(S.slice(g))};this.b.emit(`${r?"export ":""}interface `),m(t),this.b.emit(`${i??""} {`);for(let S of Is(n,`${t}${a}`,{road:"face"})){this.b.emit(` -`+s+" ");let g=()=>{for(let d of S.segs)if(d.node!==void 0)this.mark(d.node,d.role,()=>this.emitAnnotationWords(d));else m(d.text)};if(S.node!==void 0)this.mark(S.node,S.role,g);else g()}this.b.emit(` +`+s),this.mark(e,"$self",()=>{let c=this.stores.idOf(e),f=c!==null?this.stores.selfSpan(c):null,h=-1;if(f!==null&&this.b.source!==null){let S=f[0];while(S>0){let g=this.b.source.lastIndexOf(t,S-1);if(g<0)break;let p=this.b.source[g-1]??" ",R=this.b.source[g+t.length]??" ";if(!/[\w$]/.test(p)&&!/[\w$]/.test(R)){h=g;break}S=g}}let u=this.moduleTypeDeclarationSpans();if(h>=0)u.set(t,[h,h+t.length]);let d=(S)=>{if(u.size===0){this.b.emit(S);return}let g=0;for(let p of S.matchAll(/[A-Za-z_$][\w$]*/g)){let R=u.get(p[0]);if(!R)continue;this.b.emit(S.slice(g,p.index)),this.b.markSpan(c,"identifier",R[0],R[1],()=>this.b.emit(p[0])),g=p.index+p[0].length}this.b.emit(S.slice(g))};this.b.emit(`${r?"export ":""}interface `),d(t),this.b.emit(`${i??""} {`);for(let S of Is(n,`${t}${a}`,{road:"face"})){this.b.emit(` +`+s+" ");let g=()=>{for(let p of S.segs)if(p.node!==void 0)this.mark(p.node,p.role,()=>this.emitAnnotationWords(p));else d(p.text)};if(S.node!==void 0)this.mark(S.node,S.role,g);else g()}this.b.emit(` `+s+"}")})});let o=n.computedBodies??[];if(n.behavior===null||o.length===0)return;if(this.scopes[0]?.has(n.behavior)||this.moduleBound?.has(n.behavior))throw this.positionedError(e,`emitter: the module binds '${n.behavior}', the face-only name this component's `+"computed types read through — rename the binding");let l=`${t}${Cs(i)}`;this.b.tsOnly(()=>this.b.echo(()=>{this.b.emit(` -`+s),this.mark(e,"$self",()=>{this.b.emit(`const ${n.behavior} = {`);let c=this.stores.idOf(e),f=c!==null?this.stores.selfSpan(c):null,h=-1;if(f!==null&&this.b.source!==null){let u=f[0];while(u>0){let m=this.b.source.lastIndexOf(t,u-1);if(m<0)break;if(!/[\w$]/.test(this.b.source[m-1]??" ")&&!/[\w$]/.test(this.b.source[m+t.length]??" ")){h=m;break}u=m}}o.forEach(({name:u,code:m,block:S},g)=>{this.b.emit(`${g>0?",":""} ${u}: function (this: `),this.emitNamedCopies(l,t,h>=0?c:null,h>=0?[h,h+t.length]:null),this.b.emit(`) ${S?m:`{ return ${m}; }`}`)}),this.b.emit(" };")})}))}static TS_DIRECTIVE=/^#[ \t]*@ts-(expect-error|ignore|nocheck)(?=\s|$)/;collectTypeOnlyImports(e,t){let r=new Set,i=[],n=(a)=>{if(typeof a==="string"){r.add(a);return}if(!E(a))return;if(Nn(this.stores,a)){let o=this.stores.idOf(a);if(o===null||this.stores.role(o,"typeOnly")===null)i.push(...T.importedNames([a]));return}if(a[0]==="typed-var"&&a.length===3){n(a[1]);return}if(a[0]==="def-sig"){n(a[2]);return}if(a[0]==="type-decl")return;for(let o of a)n(o)};if(n(e),i.length===0||!t)return;let s=new Set;for(let a of this.stores.nodes??[])for(let o of this.stores.rolesOf(a.nodeId)){if(!T.TYPE_ROLES.has(o.role)||typeof o.sourceStart!=="number")continue;for(let l of t.slice(o.sourceStart,o.sourceEnd).matchAll(/[A-Za-z_$][\w$]*/g))s.add(l[0])}for(let a of i)if(s.has(a)&&!r.has(a))this.typeOnlyImports.add(a)}collectAppAccessors(e){this.appAccessors={stash:null,router:null};for(let t of e.slice(1)){if(!Nn(this.stores,t))continue;let r=t[t.length-1];if(typeof r!=="string"||r.slice(1,-1)!=="rip/app")continue;let i=this.stores.idOf(t);if(i!==null&&this.stores.role(i,"typeOnly")!==null)continue;for(let n of T.importSpecs(t)){if(!E(n)||n[0]==="*")continue;for(let s of n){let a=E(s)?s[0]:s,o=E(s)?s[1]:s;if(a==="currentStash")this.appAccessors.stash=o;else if(a==="currentRouter")this.appAccessors.router=o}}}}isAccessorCall(e,t){if(t===null||!E(e)||e.length!==1||e[0]!==t)return!1;return!this.scopes.slice(1).some((r)=>r.has(t))}collectTsDirectives(e,t,r){if(this.tsDirectiveMap=new Map,this.tsNocheck=null,this.pendingHoistDirectives=[],t.length===0)return;let i=[0];for(let h=0;h{let u=0,m=i.length-1;while(u>1;if(i[S]<=h)u=S;else m=S-1}return u},s=[],a=[];for(let h of t){if(h.kind!=="comment")continue;let u=T.TS_DIRECTIVE.exec(h.text);if(u===null)continue;if(!/^[ \t]*$/.test(r.slice(i[n(h.start)],h.start)))continue;(u[1]==="nocheck"?a:s).push(h)}if(s.length===0&&a.length===0)return;let o=[],l=(h)=>{for(let u of h){if(!E(u))continue;let m=this.stores.idOf(u);if(m===null)continue;let S=this.stores.node(m);o.push({el:u,id:m,start:S.sourceStart,end:S.sourceEnd})}};l(e.slice(1));let c=(h)=>{if(!E(h))return;if(u1(h)){l(h.slice(1));for(let u of h.slice(1))if(E(u)&&O1(u))l(u.slice(1))}for(let u of h)c(u)};c(e),o.sort((h,u)=>h.start-u.start||u.end-h.end);for(let h of s){let u=o.find((S)=>S.start>=h.end);if(u===void 0||n(u.start)!==n(h.start)+1)continue;let m=this.tsDirectiveMap.get(u.el)??[];m.push({t:h,nodeId:u.id}),this.tsDirectiveMap.set(u.el,m)}let f=o.length>0?o[0].start:1/0;this.tsNocheck=this.ts?a.find((h)=>h.end<=f)??null:null}tsDirectiveLine(e,t,r=!1){this.b.tsOnly(()=>{if(r)this.b.emit(t);this.b.markSpan(e.nodeId,"tsDirective",e.t.start,e.t.end,()=>{this.b.emit("//"+e.t.text.slice(1))}),this.b.emit(r?` +`+s),this.mark(e,"$self",()=>{this.b.emit(`const ${n.behavior} = {`);let c=this.stores.idOf(e),f=c!==null?this.stores.selfSpan(c):null,h=-1;if(f!==null&&this.b.source!==null){let u=f[0];while(u>0){let d=this.b.source.lastIndexOf(t,u-1);if(d<0)break;if(!/[\w$]/.test(this.b.source[d-1]??" ")&&!/[\w$]/.test(this.b.source[d+t.length]??" ")){h=d;break}u=d}}o.forEach(({name:u,code:d,block:S},g)=>{this.b.emit(`${g>0?",":""} ${u}: function (this: `),this.emitNamedCopies(l,t,h>=0?c:null,h>=0?[h,h+t.length]:null),this.b.emit(`) ${S?d:`{ return ${d}; }`}`)}),this.b.emit(" };")})}))}static TS_DIRECTIVE=/^#[ \t]*@ts-(expect-error|ignore|nocheck)(?=\s|$)/;collectTypeOnlyImports(e,t){let r=new Set,i=[],n=(a)=>{if(typeof a==="string"){r.add(a);return}if(!E(a))return;if(Nn(this.stores,a)){let o=this.stores.idOf(a);if(o===null||this.stores.role(o,"typeOnly")===null)i.push(...T.importedNames([a]));return}if(a[0]==="typed-var"&&a.length===3){n(a[1]);return}if(a[0]==="def-sig"){n(a[2]);return}if(a[0]==="type-decl")return;for(let o of a)n(o)};if(n(e),i.length===0||!t)return;let s=new Set;for(let a of this.stores.nodes??[])for(let o of this.stores.rolesOf(a.nodeId)){if(!T.TYPE_ROLES.has(o.role)||typeof o.sourceStart!=="number")continue;for(let l of t.slice(o.sourceStart,o.sourceEnd).matchAll(/[A-Za-z_$][\w$]*/g))s.add(l[0])}for(let a of i)if(s.has(a)&&!r.has(a))this.typeOnlyImports.add(a)}collectAppAccessors(e){this.appAccessors={stash:null,router:null};for(let t of e.slice(1)){if(!Nn(this.stores,t))continue;let r=t[t.length-1];if(typeof r!=="string"||r.slice(1,-1)!=="rip/app")continue;let i=this.stores.idOf(t);if(i!==null&&this.stores.role(i,"typeOnly")!==null)continue;for(let n of T.importSpecs(t)){if(!E(n)||n[0]==="*")continue;for(let s of n){let a=E(s)?s[0]:s,o=E(s)?s[1]:s;if(a==="currentStash")this.appAccessors.stash=o;else if(a==="currentRouter")this.appAccessors.router=o}}}}isAccessorCall(e,t){if(t===null||!E(e)||e.length!==1||e[0]!==t)return!1;return!this.scopes.slice(1).some((r)=>r.has(t))}collectTsDirectives(e,t,r){if(this.tsDirectiveMap=new Map,this.tsNocheck=null,this.pendingHoistDirectives=[],t.length===0)return;let i=[0];for(let h=0;h{let u=0,d=i.length-1;while(u>1;if(i[S]<=h)u=S;else d=S-1}return u},s=[],a=[];for(let h of t){if(h.kind!=="comment")continue;let u=T.TS_DIRECTIVE.exec(h.text);if(u===null)continue;if(!/^[ \t]*$/.test(r.slice(i[n(h.start)],h.start)))continue;(u[1]==="nocheck"?a:s).push(h)}if(s.length===0&&a.length===0)return;let o=[],l=(h)=>{for(let u of h){if(!E(u))continue;let d=this.stores.idOf(u);if(d===null)continue;let S=this.stores.node(d);o.push({el:u,id:d,start:S.sourceStart,end:S.sourceEnd})}};l(e.slice(1));let c=(h)=>{if(!E(h))return;if(u1(h)){l(h.slice(1));for(let u of h.slice(1))if(E(u)&&O1(u))l(u.slice(1))}for(let u of h)c(u)};c(e),o.sort((h,u)=>h.start-u.start||u.end-h.end);for(let h of s){let u=o.find((S)=>S.start>=h.end);if(u===void 0||n(u.start)!==n(h.start)+1)continue;let d=this.tsDirectiveMap.get(u.el)??[];d.push({t:h,nodeId:u.id}),this.tsDirectiveMap.set(u.el,d)}let f=o.length>0?o[0].start:1/0;this.tsNocheck=this.ts?a.find((h)=>h.end<=f)??null:null}tsDirectiveLine(e,t,r=!1){this.b.tsOnly(()=>{if(r)this.b.emit(t);this.b.markSpan(e.nodeId,"tsDirective",e.t.start,e.t.end,()=>{this.b.emit("//"+e.t.text.slice(1))}),this.b.emit(r?` `:` -`+t)})}withTsDirectives(e,t,r,i=!1){let n=this.ts&&this.tsDirectivesArmed&&E(e)?this.tsDirectiveMap.get(e):void 0;if(n===void 0)return r();this.tsDirectiveMap.delete(e);for(let s of n)this.tsDirectiveLine(s,t,i);r()}tsForwardDirectives(e){if(!this.ts||!this.tsDirectivesArmed)return;let t=this.tsDirectiveMap?.get(e);if(t===void 0)return;this.tsDirectiveMap.delete(e);for(let r of t)r.forwardOwner=e;this.pendingHoistDirectives.push(...t)}tsOverloadSigs(e,t){if(!this.ts)return;let r=this.pendingSigs.get(e);if(!r)return;for(let i of r){let n=this.tsRendered(i,()=>pi(i[2],gi(this.stores))),s=this.tsDirectiveMap.get(i);if(s!==void 0){this.tsDirectiveMap.delete(i);for(let a of s)this.tsDirectiveLine(a," ".repeat(t))}this.b.tsOnly(()=>{this.mark(i,"$self",()=>{this.b.emit("function "),this.mark(i,"name",()=>this.b.emit(i[1])),this.mark(i,"params",()=>this.b.emit(n)),this.mark(i,"returnType",()=>this.emitTypeText(i,"returnType",`: ${Pe(i[3])}`)),this.b.emit(";")}),this.b.emit(` -`+" ".repeat(t))})}}patternNames(e,t=[],r=!1,i=null){if(!E(e)){if(typeof e==="string"&&e!==","){if(o3.has(e))throw this.positionedError(i,`emitter: \`${e}\` cannot be a destructuring target — a value word lowers to its literal before scope exists, so the binding would be unreachable`);t.push(e)}return t}if(e[0]==="array")for(let n of e.slice(1))this.patternNames(n,t,r,e);else if(e[0]==="object"){for(let n of e.slice(1))if(n[0]===null)this.patternNames(n[1],t,r,e);else if(n[0]===":")this.patternNames(n[2],t,r,e);else if(n[0]==="=")this.patternNames(n[1],t,r,e);else if(n[0]==="...")this.patternNames(n[1],t,r,e)}else if(e[0]==="rest"){if(!r)throw this.positionedError(e,"emitter: Cannot use 'rest' expression as a destructuring target (destructuring rest is spelled '...name')");this.patternNames(e[1],t,r,e)}else if(e[0]==="...")this.patternNames(e[1],t,r,e);else if(e[0]==="default")this.patternNames(e[1],t,r,e);else if(e[0]==="=")this.patternNames(e[1],t,r,e);else if(e[0]==="cast")this.patternNames(e[1],t,r,e);else if(e[0]==="typed-var")this.patternNames(e[1],t,r,e);return t}static isPattern(e){return O1(e)||E(e)&&e[0]==="array"}static declarablePattern(e){let t=(r)=>typeof r==="string"||(E(r)&&r[0]==="="?t(r[1]):T.declarablePattern(r));if(E(e)&&e[0]==="array"){let r=e.slice(1);return r.every((i,n)=>E(i)&&i[0]==="..."?n===r.length-1&&typeof i[1]==="string":t(i))}if(O1(e)){let r=e.slice(1);return r.every((i,n)=>{if(!E(i))return!1;if(i[0]===null)return typeof i[2]==="string";if(i[0]==="=")return typeof i[1]==="string";if(i[0]==="...")return n===r.length-1&&typeof i[1]==="string";return i[0]===":"&&t(i[2])})}return!1}rejectDuplicateDefault(e){let t=null;for(let r of e){if(!E(r)||r[0]!=="export-default")continue;if(t!==null)throw this.positionedError(r,"emitter: duplicate 'export default' — a module has exactly one default export",t);t=r}}static classDeclNames(e){let t=new Set;for(let r of e){if(!E(r))continue;let i=r[0]==="export"&&E(r[1])?r[1]:r;if(E(i)&&i[0]==="class"&&typeof i[1]==="string")t.add(i[1])}return t}static isTypedWrapper(e){return E(e)&&e[0]==="typed-var"&&e.length===3}static isErasedStmt(e){return E(e)&&(e[0]==="type-decl"||T.isTypedWrapper(e)||e[0]==="def-sig"&&e.length===4)}static stripErased(e){return e.filter((t)=>!T.isErasedStmt(t))}liveStmts(e,{forwards:t=!1}={}){let r=[];for(let i=0;iE(o)&&g1(o[0])&&o.length===4&&o[1]===s);if(!a)throw this.positionedError(n,`emitter: overload signature 'def ${s}' has no implementation — `+`a bodiless typed def must be followed by 'def ${s}' with a body in the same block`);if(this.ts){let o=this.pendingSigs.get(a)??[];if(!o.includes(n))o.push(n),this.pendingSigs.set(a,o)}}if(this.ts&&t&&T.isTypedWrapper(n)&&typeof n[1]==="string"&&!this.pendingHoistTypes.has(n[1]))this.pendingHoistTypes.set(n[1],n);if(t&&T.isTypedWrapper(n))this.tsForwardDirectives(n);this.erasedRows(n)}else r.push(n)}return r}erasedRows(e){this.mark(e,"$self",()=>{});let t=e[0]==="type-decl"?["declaration"]:e[0]==="def-sig"?["name","params","returnType"]:["target","annotation"];for(let r of t)this.mark(e,r,()=>{})}inScope(e){return this.scopes.some((t)=>t.has(e))}scopedHoist(e,t=[],{declareInPlace:r=!0}={}){for(let a of t){let o=T.paramMatchWrite(a);if(o!==null)throw this.positionedError(o,"emitter: a parameter default cannot write the last-match binding — "+"`_` lives in the enclosing body, which a default cannot reach (move the match into the body)")}let i=this.hoistTargets(e,t),n=i.filter(([a,o])=>{if(E(o)&&M1.has(o[0])&&!it.has(o[0])&&typeof o[1]==="string"&&this.isExportedConst(o[1]))return!1;return!this.inScope(a)||a==="_"&&i.matchWrite});n.annotations=i.annotations,n.directives=i.directives;let s=new Set(n.map(([a])=>a));for(let a of t)for(let o of this.patternNames(a,[],!0))s.add(o);if(r)n=this.applyDeclareInPlace(n,e,{tailIsExpression:!0});return{entries:n,names:s}}hoistTargets(e,t=[],r=[]){let i=new Map,n=!1,s=new Set,a=[],o=new Map,l=(d,R)=>{if(this.ts&&!o.has(d)&&this.annotationText(R)!==null)o.set(d,R)},c=(d,R)=>{if(!i.has(d))i.set(d,R)},f=(d)=>{if(this.scopeBoundary(d)==="skip")return;if(T.isMatchWrite(d))c("_",d),n=!0;for(let R of d)f(R)},h=(d)=>{let R=this.scopeBoundary(d);if(R==="skip")return;if(this.ts&&T.isTypedWrapper(d)){if(typeof d[1]==="string")l(d[1],d);this.tsForwardDirectives(d)}if(ot(d)&&E(d[1][2]))a.push([this.chainTemp(d),d[1][2],"$self"]);if(R==="reactive"){if(typeof d[1]==="string")s.add(d[1]);if(!(d[0]==="computed"&&u1(d[2])&&d[2].length>2))h(d[2]);return}if(R==="effect"){if(typeof d[1]==="string")s.add(d[1]);return}if(R==="readonly"){if(typeof d[1]==="string")s.add(d[1]);h(d[2]);return}if(d[0]==="export"&&E(d[1])){let b=d[1];if((this.isReactiveDecl(b)||this.isEffectDecl(b)||this.isReadonlyDecl(b))&&typeof b[1]==="string"){if(s.add(b[1]),!this.isEffectDecl(b)&&!(b[0]==="computed"&&u1(b[2])&&b[2].length>2))h(b[2]);return}if(M1.has(b[0])&&b.length===3)h(b[2]);return}if(R==="loop"){f(d[1]);for(let b of d.slice(2))h(b);return}if(R==="comprehension"){h(d[1]);for(let b of d[2]??[])f(b[1]),h(b[2]);for(let b of d[3]??[])h(b);return}if(d[0]==="export")return;if(R==="class"){if(d[2]!=null)h(d[2]);let b=d[3];if(u1(b)){for(let _ of b.slice(1))if(E(_)&&M1.has(_[0])&&_.length===3)h(_[2]);else if(!T.isTypedWrapper(_))h(_)}return}if(T.isMatchWrite(d))c("_",d),n=!0;if(M1.has(d[0])&&d.length===3){if(typeof d[1]==="string")c(d[1],d),l(d[1],d);else if(d[0]==="="&&T.isPattern(d[1]))for(let b of this.patternNames(d[1]))c(b,d)}if(d[0]==="try"){for(let b of d.slice(2))if(E(b)&&b.length===2&&T.isPattern(b[0]))for(let _ of this.patternNames(b[0]))c(_,d)}for(let b of d)h(b)};for(let d of e)h(d);let u=[];for(let d of t)this.patternNames(d,u,!0);for(let d of u)i.delete(d);for(let d of s)i.delete(d);let m=e.length===1&&u1(e[0])?e[0].slice(1):e;for(let d of T.declaredNames(m))i.delete(d);for(let d of r)i.delete(d);for(let d of m)if(this.isModuleImport(d))for(let R of T.importedNames([d]))i.delete(R);for(let d of this.cframes)for(let R of d.members.keys())i.delete(R);let S=[...i.entries()].map(([d,R])=>[d,R,"target"]);S.matchWrite=n,S.push(...a);let g=new Set([...i.keys(),...u,...s]);if(S.push(...this.planReferenceTemps(e,g)),S.sort(([d],[R])=>dR?1:0),this.ts){for(let[d,R]of this.pendingHoistTypes)if(!o.has(d))o.set(d,R);this.pendingHoistTypes.clear(),S.annotations=o,S.directives=this.pendingHoistDirectives,this.pendingHoistDirectives=[]}return S}static declaresInPlace=new WeakSet;static inlineOwners=new WeakMap;captureScan(e){let t=e.length===1&&u1(e[0])?e[0].slice(1):e,r=new Set(t.filter(E)),i=new Map,n=(o,l,c=!1,f=null,h=null,u="")=>{if(typeof o!=="string"||!rr.test(o))return;let m=i.get(o);if(m===void 0)i.set(o,m={decl:null,seen:!1,nested:!1,nestedWrite:!1,inDef:!1,annotated:null,firstWrite:null,firstWritePath:""});if(!m.seen)m.seen=!0,m.decl=f;if(c&&m.firstWrite===null&&h!==null)m.firstWrite=h,m.firstWritePath=u;if(l>0){if(m.nested=!0,c)m.nestedWrite=!0;if(l===2)m.inDef=!0}},s=(o,l,c)=>{let f=(h)=>{if(typeof h==="string"){if(h!==",")c(h);return}if(h[0]==="="){a(h[2],l),f(h[1]);return}if(h[0]==="..."){c(h[1]);return}s(h,l,c)};if(o[0]==="array"){for(let h of o.slice(1))f(h);return}for(let h of o.slice(1))if(h[0]===null)c(h[2]);else if(h[0]==="=")a(h[2],l),c(h[1]);else if(h[0]==="...")c(h[1]);else if(h[0]===":"){if(E(h[1]))a(h[1],l);f(h[2])}},a=(o,l)=>{if(typeof o==="string")return n(o,l);if(!E(o))return;if(T.isTypedWrapper(o)){if(typeof o[1]==="string"){let f=i.get(o[1]);if(f!==void 0&&f.annotated===null)f.annotated=o}return}let c=o[0];if(T1(o)){for(let f of o.slice(1))a(f,Math.max(l,1));return}if(g1(c)||c==="class"||c==="component"||c==="enum"){let f=g1(c)?2:Math.max(l,1);if(c==="class"){for(let h of o.slice(2)){let u=E(h)&&h[0]==="block"?h.slice(1):[h];for(let m of u)if(E(m)&&g1(m[0])&&m.length===4)for(let S of m.slice(2))a(S,f);else a(m,f)}return}for(let h of o.slice(typeof o[1]==="string"?2:1))a(h,f);return}if(T.isMatchWrite(o)){for(let f of o.slice(1))a(f,l);n("_",l,!0);return}if(M1.has(c)&&o.length===3){if(a(o[2],l),typeof o[1]==="string"){let f=it.has(c);if(!f)n(o[1],l);if(n(o[1],l,!0,f&&!l&&r.has(o)?o:null,f?o:null),f&&this.annotationText(o)!==null){let h=i.get(o[1]);if(h!==void 0&&h.annotated===null)h.annotated=o}}else if(c==="="&&T.declarablePattern(o[1])){let f=!l&&r.has(o)?o:null,h=new Map(nr(o[1]));s(o[1],l,(u)=>n(u,l,!0,f,h.has(u)?o:null,h.get(u)??""))}else if(a(o[1],l),it.has(c))for(let[f,h]of nr(o[1]))n(f,l,!0,null,o,h);return}if(W1(o)){if(typeof o[1]==="string")n(o[1],l,!0);else a(o[1],l);return}if((c==="."||c==="?.")&&o.length===3){if(a(o[1],l),typeof o[2]!=="string")a(o[2],l);return}if(c==="object"){for(let f of o.slice(1))if(E(f)&&f[0]===":"&&f.length===3){if(typeof f[1]!=="string")a(f[1],l);a(f[2],l)}else a(f,l);return}for(let f of o)a(f,l)};for(let o of t)a(o,0);return i}applyDeclareInPlace(e,t,{tailIsExpression:r=!1}={}){if(!e.some(([,,f])=>f==="target"))return e;let i=this.captureScan(t),n=null;if(r){let f=t.length===1&&u1(t[0])?t[0].slice(1):t;for(let h=f.length-1;h>=0;h--)if(!T.isErasedStmt(f[h])){n=f[h];break}}let s=new Map,a=new Set(e.filter(([,,f])=>f==="target").map(([f])=>f)),o=new Map,l=(f)=>{let h=o.get(f);if(h===void 0){let u=this.patternNames(f[1]);if(h=u.every((m)=>{let S=i.get(m);return a.has(m)&&S!==void 0&&S.decl===f&&!S.inDef}),h){let m=u.find((S)=>i.get(S).annotated!==null);if(m!==void 0)throw this.positionedError(i.get(m).annotated,`emitter: '${m}' is declared by a destructuring pattern, which cannot carry this annotation — `+`rename the element in the pattern (\`${m}: raw\`) and declare \`${m}: T\` from it, or annotate the pattern's source`)}o.set(f,h)}return h},c=e.filter(([f,,h])=>{if(h!=="target")return!0;let u=i.get(f);if(!u||u.decl===null||u.inDef||u.decl===n)return!0;if(E(u.decl)&&it.has(u.decl[0])&&T.controlGuard(u.decl[2]))return!0;if(T.isPattern(u.decl[1])){if(!l(u.decl))return!0;return T.declaresInPlace.add(u.decl),!1}let m=e.annotations?.get(f);if(m!==void 0&&m!==u.decl)T.inlineOwners.set(u.decl,m),s.set(m,u.decl);return T.declaresInPlace.add(u.decl),!1});if(c.annotations=e.annotations,c.schemaConsts=e.schemaConsts,e.directives?.length&&s.size){c.directives=[];for(let f of e.directives){let h=f.forwardOwner!==void 0?s.get(f.forwardOwner):void 0;if(h!==void 0){let u=this.tsDirectiveMap.get(h)??[];u.push(f),this.tsDirectiveMap.set(h,u)}else c.directives.push(f)}}else c.directives=e.directives;c.classBindings=new Set,c.componentTypes=new Map;for(let[f,,h]of c){if(h!=="target")continue;let u=i.get(f)?.firstWrite??null,m=u?.[2];if(!E(m))continue;if(m[0]==="class"||m[0]==="component")c.classBindings.add(f);if(!this.ts||!this.isComponentDecl(m))continue;if(this.annotationText(u,"typeParams")!==null)continue;let S=bn(this.stores,this.b.source,m,`__${f}__computed`);S.appStashSpec=this.appStashSpec,S.routesUnion=this.routesUnion,S.routeParams=this.routeParams,c.componentTypes.set(f,`{ ${Bs(S,f,"",f,{road:"face"}).join(" ")} }`),(c.componentInfos??=new Map).set(f,S)}c.pinnable=new Map;for(let[f,,h]of c){if(h!=="target")continue;let u=i.get(f);if(!u?.nested||u.firstWrite===null)continue;if(c.annotations?.has(f)||c.schemaConsts?.has(f))continue;if(c.componentTypes.has(f))continue;let m=this.pinKey(f,u.firstWrite,u.firstWritePath);c.pinnable.set(f,{node:u.firstWrite,key:m}),this.pinnables?.push({name:f,node:u.firstWrite,path:u.firstWritePath,key:m})}return c}pinKey(e,t,r=""){let i=this.stores.idOf(t),n=i!==null?this.stores.role(i,"value"):null;if(!n||n.sourceStart==null||this.b.source===null)return null;let s=r+"\x00"+this.b.source.slice(n.sourceStart,n.sourceEnd),a=5381;for(let o=0;o>>0;return`${e}@${a.toString(36)}`}chainTemp(e){let t=this.temps.byNode.get(e);if(t===void 0)t=this.freshTempName(),this.temps.byNode.set(e,t);return t}freshTempName(){let e;do e=this.temps.n===0?"_ref":`_ref${this.temps.n}`,this.temps.n++;while(this.temps.used.has(e));return e}inCtrl(e){this.ctrlDepth++;try{e()}finally{this.ctrlDepth--}}loopTempName(e){let t=e;for(let r=1;this.temps.used.has(t);r++)t=`${e}${r}`;return t}runtimeName(e){let t=this.runtimeAliases.get(e);if(t===void 0)throw Error(`emitter invariant: generated runtime name '${e}' is not registered`);return t}hoistLine(e,t=""){if(e.length===1)for(let r of e.directives??[])this.tsDirectiveLine(r,t);this.b.emit("let "),e.forEach(([r,i,n],s)=>{if(s>0)this.b.emit(", ");let a=this.ts&&n==="target"?e.annotations?.get(r)??null:null,o=a!==null?this.stores.idOf(a):null,l=o!==null&&T.isTypedWrapper(a)&&this.stores.role(o,"target")!==null,c=this.b.offset;if(l)this.mark(a,"target",()=>this.b.emit(r));else{let f=this.stores.idOf(i),h=f!==null?this.stores.role(f,n):null,u=h?.sourceStart!=null&&this.b.source!==null?this.b.source.slice(h.sourceStart,h.sourceEnd):null,m=u!==null&&u!==r?this.stores.primitiveSpans(r,h.sourceStart,h.sourceEnd)[0]??null:null;if(m)this.b.markSpan(f,"identifier",m.sourceStart,m.sourceEnd,()=>this.b.emit(r));else this.mark(i,n,()=>this.b.emit(r))}if(this.ts&&n==="target"&&e.classBindings?.has(r))this.classDecls.push([c,this.b.offset]);if(this.ts&&n==="target")if(a!==null)this.b.tsOnly(()=>{if(T.isTypedWrapper(a)&&!this.strict)this.b.emit("!");this.mark(a,"annotation",()=>this.b.emit(`: ${this.annotationText(a)}`))});else{let f=e.schemaConsts?.get(r)??null,h=e.componentTypes?.get(r)??null;if(f!==null){let u=this.bindingNameSpan(i,n,r);this.b.tsOnly(()=>{this.b.emit(": "),this.emitNamedCopies(f,r,u?.id??null,u?.span??null)})}else if(h!==null){let u=e.componentInfos?.get(r)??null,m=this.stores.idOf(i),S=m!==null?this.stores.role(m,n):null,g=S?.sourceStart!=null&&this.b.source?.slice(S.sourceStart,S.sourceEnd)===r?[S.sourceStart,S.sourceEnd]:null;this.b.tsOnly(()=>{if(this.b.emit(`${this.strict?"":"!"}: `),u!==null)for(let d of Ws(u,r,"",r,{road:"face"})){if(d.node!==void 0){this.mark(d.node,d.role,()=>this.b.emit(d.text));continue}this.emitNamedCopies(d.text,r,m,g)}else this.b.emit(h)})}else{let u=e.pinnable?.get(r)?.key??null,m=u!==null?this.pins?.get(u):void 0;if(m!==void 0)this.b.tsOnly(()=>{this.pinnedWrites.add(e.pinnable.get(r).node);let S=this.b.offset;this.b.emit(`${this.strict?"":"!"}: `),this.emitDeclaredTypeCopies(m,this.stores.idOf(i)),this.pinSpans.push([S,this.b.offset])})}}}),this.b.emit(";")}program(e){return this.programWith(e)}ambientHoistFilter(e){if(this.scopes.length===0)return e;let t=e.filter(([r])=>!this.inScope(r)||r==="_"&&e.matchWrite);return t.matchWrite=e.matchWrite,t.annotations=e.annotations,t.directives=e.directives,t}attachSchemaConsts(e){if(!this.schemaStories)return;let t=new Map;for(let r of this.schemaStories.values())if(!r.decl.exported&&r.constType!==null)t.set(r.decl.name,r.constType);if(t.size)e.schemaConsts=t}programWith(e){let t=this.liveStmts(e.slice(1),{forwards:!0}),r=0;while(r0){this.mark(e,"$self",()=>{for(let a of t.slice(0,r))this.statement(a,0);this.emitDataConst();let i=t.slice(r),n=this.ambientHoistFilter(this.hoistTargets(i,[],T.importedNames(t.slice(0,r))));this.attachSchemaConsts(n);let s=new Set([...n.map(([a])=>a),...T.importedNames(t.slice(0,r))]);for(let a of this.pushReactiveFrame(t,s))s.add(a);if(this.moduleBound=T.moduleBoundNames(i),this.moduleClassNames=T.classDeclNames(i),this.rejectDuplicateDefault(i),this.scopes.push(s),n=this.applyDeclareInPlace(n,e.slice(1),{tailIsExpression:this.repl}),n.length)this.hoistLine(n),this.b.emit(` +`+t)})}withTsDirectives(e,t,r,i=!1){let n=this.ts&&this.tsDirectivesArmed&&E(e)?this.tsDirectiveMap.get(e):void 0;if(n===void 0)return r();this.tsDirectiveMap.delete(e);for(let s of n)this.tsDirectiveLine(s,t,i);r()}tsForwardDirectives(e){if(!this.ts||!this.tsDirectivesArmed)return;let t=this.tsDirectiveMap?.get(e);if(t===void 0)return;this.tsDirectiveMap.delete(e);for(let r of t)r.forwardOwner=e;this.pendingHoistDirectives.push(...t)}tsOverloadSigs(e,t){if(!this.ts)return;let r=this.pendingSigs.get(e);if(!r)return;for(let i of r){let n=this.tsRendered(i,()=>pi(i[2],gi(this.stores))),s=this.tsDirectiveMap.get(i);if(s!==void 0){this.tsDirectiveMap.delete(i);for(let a of s)this.tsDirectiveLine(a," ".repeat(t))}this.b.tsOnly(()=>{this.mark(i,"$self",()=>{this.b.emit("function "),this.mark(i,"name",()=>this.b.emit(i[1])),this.mark(i,"params",()=>this.b.emit(n)),this.mark(i,"returnType",()=>this.emitTypeText(i,"returnType",`: ${Ce(i[3])}`)),this.b.emit(";")}),this.b.emit(` +`+" ".repeat(t))})}}patternNames(e,t=[],r=!1,i=null){if(!E(e)){if(typeof e==="string"&&e!==","){if(o3.has(e))throw this.positionedError(i,`emitter: \`${e}\` cannot be a destructuring target — a value word lowers to its literal before scope exists, so the binding would be unreachable`);t.push(e)}return t}if(e[0]==="array")for(let n of e.slice(1))this.patternNames(n,t,r,e);else if(e[0]==="object"){for(let n of e.slice(1))if(n[0]===null)this.patternNames(n[1],t,r,e);else if(n[0]===":")this.patternNames(n[2],t,r,e);else if(n[0]==="=")this.patternNames(n[1],t,r,e);else if(n[0]==="...")this.patternNames(n[1],t,r,e)}else if(e[0]==="rest"){if(!r)throw this.positionedError(e,"emitter: Cannot use 'rest' expression as a destructuring target (destructuring rest is spelled '...name')");this.patternNames(e[1],t,r,e)}else if(e[0]==="...")this.patternNames(e[1],t,r,e);else if(e[0]==="default")this.patternNames(e[1],t,r,e);else if(e[0]==="=")this.patternNames(e[1],t,r,e);else if(e[0]==="cast")this.patternNames(e[1],t,r,e);else if(e[0]==="typed-var")this.patternNames(e[1],t,r,e);return t}static isPattern(e){return O1(e)||E(e)&&e[0]==="array"}static declarablePattern(e){let t=(r)=>typeof r==="string"||(E(r)&&r[0]==="="?t(r[1]):T.declarablePattern(r));if(E(e)&&e[0]==="array"){let r=e.slice(1);return r.every((i,n)=>E(i)&&i[0]==="..."?n===r.length-1&&typeof i[1]==="string":t(i))}if(O1(e)){let r=e.slice(1);return r.every((i,n)=>{if(!E(i))return!1;if(i[0]===null)return typeof i[2]==="string";if(i[0]==="=")return typeof i[1]==="string";if(i[0]==="...")return n===r.length-1&&typeof i[1]==="string";return i[0]===":"&&t(i[2])})}return!1}rejectDuplicateDefault(e){let t=null;for(let r of e){if(!E(r)||r[0]!=="export-default")continue;if(t!==null)throw this.positionedError(r,"emitter: duplicate 'export default' — a module has exactly one default export",t);t=r}}static classDeclNames(e){let t=new Set;for(let r of e){if(!E(r))continue;let i=r[0]==="export"&&E(r[1])?r[1]:r;if(E(i)&&i[0]==="class"&&typeof i[1]==="string")t.add(i[1])}return t}static isTypedWrapper(e){return E(e)&&e[0]==="typed-var"&&e.length===3}static isErasedStmt(e){return E(e)&&(e[0]==="type-decl"||T.isTypedWrapper(e)||e[0]==="def-sig"&&e.length===4)}static stripErased(e){return e.filter((t)=>!T.isErasedStmt(t))}liveStmts(e,{forwards:t=!1}={}){let r=[];for(let i=0;iE(o)&&g1(o[0])&&o.length===4&&o[1]===s);if(!a)throw this.positionedError(n,`emitter: overload signature 'def ${s}' has no implementation — `+`a bodiless typed def must be followed by 'def ${s}' with a body in the same block`);if(this.ts){let o=this.pendingSigs.get(a)??[];if(!o.includes(n))o.push(n),this.pendingSigs.set(a,o)}}if(this.ts&&t&&T.isTypedWrapper(n)&&typeof n[1]==="string"&&!this.pendingHoistTypes.has(n[1]))this.pendingHoistTypes.set(n[1],n);if(t&&T.isTypedWrapper(n))this.tsForwardDirectives(n);this.erasedRows(n)}else r.push(n)}return r}erasedRows(e){this.mark(e,"$self",()=>{});let t=e[0]==="type-decl"?["declaration"]:e[0]==="def-sig"?["name","params","returnType"]:["target","annotation"];for(let r of t)this.mark(e,r,()=>{})}inScope(e){return this.scopes.some((t)=>t.has(e))}scopedHoist(e,t=[],{declareInPlace:r=!0}={}){for(let a of t){let o=T.paramMatchWrite(a);if(o!==null)throw this.positionedError(o,"emitter: a parameter default cannot write the last-match binding — "+"`_` lives in the enclosing body, which a default cannot reach (move the match into the body)")}let i=this.hoistTargets(e,t),n=i.filter(([a,o])=>{if(E(o)&&M1.has(o[0])&&!it.has(o[0])&&typeof o[1]==="string"&&this.isExportedConst(o[1]))return!1;return!this.inScope(a)||a==="_"&&i.matchWrite});n.annotations=i.annotations,n.directives=i.directives;let s=new Set(n.map(([a])=>a));for(let a of t)for(let o of this.patternNames(a,[],!0))s.add(o);if(r)n=this.applyDeclareInPlace(n,e,{tailIsExpression:!0});return{entries:n,names:s}}hoistTargets(e,t=[],r=[]){let i=new Map,n=!1,s=new Set,a=[],o=new Map,l=(p,R)=>{if(this.ts&&!o.has(p)&&this.annotationText(R)!==null)o.set(p,R)},c=(p,R)=>{if(!i.has(p))i.set(p,R)},f=(p)=>{if(this.scopeBoundary(p)==="skip")return;if(T.isMatchWrite(p))c("_",p),n=!0;for(let R of p)f(R)},h=(p)=>{let R=this.scopeBoundary(p);if(R==="skip")return;if(this.ts&&T.isTypedWrapper(p)){if(typeof p[1]==="string")l(p[1],p);this.tsForwardDirectives(p)}if(ot(p)&&E(p[1][2]))a.push([this.chainTemp(p),p[1][2],"$self"]);if(R==="reactive"){if(typeof p[1]==="string")s.add(p[1]);if(!(p[0]==="computed"&&u1(p[2])&&p[2].length>2))h(p[2]);return}if(R==="effect"){if(typeof p[1]==="string")s.add(p[1]);return}if(R==="readonly"){if(typeof p[1]==="string")s.add(p[1]);h(p[2]);return}if(p[0]==="export"&&E(p[1])){let b=p[1];if((this.isReactiveDecl(b)||this.isEffectDecl(b)||this.isReadonlyDecl(b))&&typeof b[1]==="string"){if(s.add(b[1]),!this.isEffectDecl(b)&&!(b[0]==="computed"&&u1(b[2])&&b[2].length>2))h(b[2]);return}if(M1.has(b[0])&&b.length===3)h(b[2]);return}if(R==="loop"){f(p[1]);for(let b of p.slice(2))h(b);return}if(R==="comprehension"){h(p[1]);for(let b of p[2]??[])f(b[1]),h(b[2]);for(let b of p[3]??[])h(b);return}if(p[0]==="export")return;if(R==="class"){if(p[2]!=null)h(p[2]);let b=p[3];if(u1(b)){for(let _ of b.slice(1))if(E(_)&&M1.has(_[0])&&_.length===3)h(_[2]);else if(!T.isTypedWrapper(_))h(_)}return}if(T.isMatchWrite(p))c("_",p),n=!0;if(M1.has(p[0])&&p.length===3){if(typeof p[1]==="string")c(p[1],p),l(p[1],p);else if(p[0]==="="&&T.isPattern(p[1]))for(let b of this.patternNames(p[1]))c(b,p)}if(p[0]==="try"){for(let b of p.slice(2))if(E(b)&&b.length===2&&T.isPattern(b[0]))for(let _ of this.patternNames(b[0]))c(_,p)}for(let b of p)h(b)};for(let p of e)h(p);let u=[];for(let p of t)this.patternNames(p,u,!0);for(let p of u)i.delete(p);for(let p of s)i.delete(p);let d=e.length===1&&u1(e[0])?e[0].slice(1):e;for(let p of T.declaredNames(d))i.delete(p);for(let p of r)i.delete(p);for(let p of d)if(this.isModuleImport(p))for(let R of T.importedNames([p]))i.delete(R);for(let p of this.cframes)for(let R of p.members.keys())i.delete(R);let S=[...i.entries()].map(([p,R])=>[p,R,"target"]);S.matchWrite=n,S.push(...a);let g=new Set([...i.keys(),...u,...s]);if(S.push(...this.planReferenceTemps(e,g)),S.sort(([p],[R])=>pR?1:0),this.ts){for(let[p,R]of this.pendingHoistTypes)if(!o.has(p))o.set(p,R);this.pendingHoistTypes.clear(),S.annotations=o,S.directives=this.pendingHoistDirectives,this.pendingHoistDirectives=[]}return S}static declaresInPlace=new WeakSet;static inlineOwners=new WeakMap;captureScan(e){let t=e.length===1&&u1(e[0])?e[0].slice(1):e,r=new Set(t.filter(E)),i=new Map,n=(o,l,c=!1,f=null,h=null,u="")=>{if(typeof o!=="string"||!rr.test(o))return;let d=i.get(o);if(d===void 0)i.set(o,d={decl:null,seen:!1,nested:!1,nestedWrite:!1,inDef:!1,annotated:null,firstWrite:null,firstWritePath:""});if(!d.seen)d.seen=!0,d.decl=f;if(c&&d.firstWrite===null&&h!==null)d.firstWrite=h,d.firstWritePath=u;if(l>0){if(d.nested=!0,c)d.nestedWrite=!0;if(l===2)d.inDef=!0}},s=(o,l,c)=>{let f=(h)=>{if(typeof h==="string"){if(h!==",")c(h);return}if(h[0]==="="){a(h[2],l),f(h[1]);return}if(h[0]==="..."){c(h[1]);return}s(h,l,c)};if(o[0]==="array"){for(let h of o.slice(1))f(h);return}for(let h of o.slice(1))if(h[0]===null)c(h[2]);else if(h[0]==="=")a(h[2],l),c(h[1]);else if(h[0]==="...")c(h[1]);else if(h[0]===":"){if(E(h[1]))a(h[1],l);f(h[2])}},a=(o,l)=>{if(typeof o==="string")return n(o,l);if(!E(o))return;if(T.isTypedWrapper(o)){if(typeof o[1]==="string"){let f=i.get(o[1]);if(f!==void 0&&f.annotated===null)f.annotated=o}return}let c=o[0];if(T1(o)){for(let f of o.slice(1))a(f,Math.max(l,1));return}if(g1(c)||c==="class"||c==="component"||c==="enum"){let f=g1(c)?2:Math.max(l,1);if(c==="class"){for(let h of o.slice(2)){let u=E(h)&&h[0]==="block"?h.slice(1):[h];for(let d of u)if(E(d)&&g1(d[0])&&d.length===4)for(let S of d.slice(2))a(S,f);else a(d,f)}return}for(let h of o.slice(typeof o[1]==="string"?2:1))a(h,f);return}if(T.isMatchWrite(o)){for(let f of o.slice(1))a(f,l);n("_",l,!0);return}if(M1.has(c)&&o.length===3){if(a(o[2],l),typeof o[1]==="string"){let f=it.has(c);if(!f)n(o[1],l);if(n(o[1],l,!0,f&&!l&&r.has(o)?o:null,f?o:null),f&&this.annotationText(o)!==null){let h=i.get(o[1]);if(h!==void 0&&h.annotated===null)h.annotated=o}}else if(c==="="&&T.declarablePattern(o[1])){let f=!l&&r.has(o)?o:null,h=new Map(nr(o[1]));s(o[1],l,(u)=>n(u,l,!0,f,h.has(u)?o:null,h.get(u)??""))}else if(a(o[1],l),it.has(c))for(let[f,h]of nr(o[1]))n(f,l,!0,null,o,h);return}if(W1(o)){if(typeof o[1]==="string")n(o[1],l,!0);else a(o[1],l);return}if((c==="."||c==="?.")&&o.length===3){if(a(o[1],l),typeof o[2]!=="string")a(o[2],l);return}if(c==="object"){for(let f of o.slice(1))if(E(f)&&f[0]===":"&&f.length===3){if(typeof f[1]!=="string")a(f[1],l);a(f[2],l)}else a(f,l);return}for(let f of o)a(f,l)};for(let o of t)a(o,0);return i}applyDeclareInPlace(e,t,{tailIsExpression:r=!1}={}){if(!e.some(([,,f])=>f==="target"))return e;let i=this.captureScan(t),n=null;if(r){let f=t.length===1&&u1(t[0])?t[0].slice(1):t;for(let h=f.length-1;h>=0;h--)if(!T.isErasedStmt(f[h])){n=f[h];break}}let s=new Map,a=new Set(e.filter(([,,f])=>f==="target").map(([f])=>f)),o=new Map,l=(f)=>{let h=o.get(f);if(h===void 0){let u=this.patternNames(f[1]);if(h=u.every((d)=>{let S=i.get(d);return a.has(d)&&S!==void 0&&S.decl===f&&!S.inDef}),h){let d=u.find((S)=>i.get(S).annotated!==null);if(d!==void 0)throw this.positionedError(i.get(d).annotated,`emitter: '${d}' is declared by a destructuring pattern, which cannot carry this annotation — `+`rename the element in the pattern (\`${d}: raw\`) and declare \`${d}: T\` from it, or annotate the pattern's source`)}o.set(f,h)}return h},c=e.filter(([f,,h])=>{if(h!=="target")return!0;let u=i.get(f);if(!u||u.decl===null||u.inDef||u.decl===n)return!0;if(E(u.decl)&&it.has(u.decl[0])&&T.controlGuard(u.decl[2]))return!0;if(T.isPattern(u.decl[1])){if(!l(u.decl))return!0;return T.declaresInPlace.add(u.decl),!1}let d=e.annotations?.get(f);if(d!==void 0&&d!==u.decl)T.inlineOwners.set(u.decl,d),s.set(d,u.decl);return T.declaresInPlace.add(u.decl),!1});if(c.annotations=e.annotations,c.schemaConsts=e.schemaConsts,e.directives?.length&&s.size){c.directives=[];for(let f of e.directives){let h=f.forwardOwner!==void 0?s.get(f.forwardOwner):void 0;if(h!==void 0){let u=this.tsDirectiveMap.get(h)??[];u.push(f),this.tsDirectiveMap.set(h,u)}else c.directives.push(f)}}else c.directives=e.directives;c.classBindings=new Set,c.componentTypes=new Map;for(let[f,,h]of c){if(h!=="target")continue;let u=i.get(f)?.firstWrite??null,d=u?.[2];if(!E(d))continue;if(d[0]==="class"||d[0]==="component")c.classBindings.add(f);if(!this.ts||!this.isComponentDecl(d))continue;if(this.annotationText(u,"typeParams")!==null)continue;let S=bn(this.stores,this.b.source,d,`__${f}__computed`);S.appStashSpec=this.appStashSpec,S.routesUnion=this.routesUnion,S.routeParams=this.routeParams,c.componentTypes.set(f,`{ ${Bs(S,f,"",f,{road:"face"}).join(" ")} }`),(c.componentInfos??=new Map).set(f,S)}c.pinnable=new Map;for(let[f,,h]of c){if(h!=="target")continue;let u=i.get(f);if(!u?.nested||u.firstWrite===null)continue;if(c.annotations?.has(f)||c.schemaConsts?.has(f))continue;if(c.componentTypes.has(f))continue;let d=this.pinKey(f,u.firstWrite,u.firstWritePath);c.pinnable.set(f,{node:u.firstWrite,key:d}),this.pinnables?.push({name:f,node:u.firstWrite,path:u.firstWritePath,key:d})}return c}pinKey(e,t,r=""){let i=this.stores.idOf(t),n=i!==null?this.stores.role(i,"value"):null;if(!n||n.sourceStart==null||this.b.source===null)return null;let s=r+"\x00"+this.b.source.slice(n.sourceStart,n.sourceEnd),a=5381;for(let o=0;o>>0;return`${e}@${a.toString(36)}`}chainTemp(e){let t=this.temps.byNode.get(e);if(t===void 0)t=this.freshTempName(),this.temps.byNode.set(e,t);return t}freshTempName(){let e;do e=this.temps.n===0?"_ref":`_ref${this.temps.n}`,this.temps.n++;while(this.temps.used.has(e));return e}inCtrl(e){this.ctrlDepth++;try{e()}finally{this.ctrlDepth--}}loopTempName(e){let t=e;for(let r=1;this.temps.used.has(t);r++)t=`${e}${r}`;return t}runtimeName(e){let t=this.runtimeAliases.get(e);if(t===void 0)throw Error(`emitter invariant: generated runtime name '${e}' is not registered`);return t}hoistLine(e,t=""){if(e.length===1)for(let r of e.directives??[])this.tsDirectiveLine(r,t);this.b.emit("let "),e.forEach(([r,i,n],s)=>{if(s>0)this.b.emit(", ");let a=this.ts&&n==="target"?e.annotations?.get(r)??null:null,o=a!==null?this.stores.idOf(a):null,l=o!==null&&T.isTypedWrapper(a)&&this.stores.role(o,"target")!==null,c=this.b.offset;if(l)this.mark(a,"target",()=>this.b.emit(r));else{let f=this.stores.idOf(i),h=f!==null?this.stores.role(f,n):null,u=h?.sourceStart!=null&&this.b.source!==null?this.b.source.slice(h.sourceStart,h.sourceEnd):null,d=u!==null&&u!==r?this.stores.primitiveSpans(r,h.sourceStart,h.sourceEnd)[0]??null:null;if(d)this.b.markSpan(f,"identifier",d.sourceStart,d.sourceEnd,()=>this.b.emit(r));else this.mark(i,n,()=>this.b.emit(r))}if(this.ts&&n==="target"&&e.classBindings?.has(r))this.classDecls.push([c,this.b.offset]);if(this.ts&&n==="target")if(a!==null)this.b.tsOnly(()=>{if(T.isTypedWrapper(a)&&!this.strict)this.b.emit("!");this.mark(a,"annotation",()=>this.b.emit(`: ${this.annotationText(a)}`))});else{let f=e.schemaConsts?.get(r)??null,h=e.componentTypes?.get(r)??null;if(f!==null){let u=this.bindingNameSpan(i,n,r);this.b.tsOnly(()=>{this.b.emit(": "),this.emitNamedCopies(f,r,u?.id??null,u?.span??null)})}else if(h!==null){let u=e.componentInfos?.get(r)??null,d=this.stores.idOf(i),S=d!==null?this.stores.role(d,n):null,g=S?.sourceStart!=null&&this.b.source?.slice(S.sourceStart,S.sourceEnd)===r?[S.sourceStart,S.sourceEnd]:null;this.b.tsOnly(()=>{if(this.b.emit(`${this.strict?"":"!"}: `),u!==null)for(let p of Ws(u,r,"",r,{road:"face"})){if(p.node!==void 0){this.mark(p.node,p.role,()=>this.b.emit(p.text));continue}this.emitNamedCopies(p.text,r,d,g)}else this.b.emit(h)})}else{let u=e.pinnable?.get(r)?.key??null,d=u!==null?this.pins?.get(u):void 0;if(d!==void 0)this.b.tsOnly(()=>{this.pinnedWrites.add(e.pinnable.get(r).node);let S=this.b.offset;this.b.emit(`${this.strict?"":"!"}: `),this.emitDeclaredTypeCopies(d,this.stores.idOf(i)),this.pinSpans.push([S,this.b.offset])})}}}),this.b.emit(";")}program(e){return this.programWith(e)}ambientHoistFilter(e){if(this.scopes.length===0)return e;let t=e.filter(([r])=>!this.inScope(r)||r==="_"&&e.matchWrite);return t.matchWrite=e.matchWrite,t.annotations=e.annotations,t.directives=e.directives,t}attachSchemaConsts(e){if(!this.schemaStories)return;let t=new Map;for(let r of this.schemaStories.values())if(!r.decl.exported&&r.constType!==null)t.set(r.decl.name,r.constType);if(t.size)e.schemaConsts=t}programWith(e){let t=this.liveStmts(e.slice(1),{forwards:!0}),r=0;while(r0){this.mark(e,"$self",()=>{for(let a of t.slice(0,r))this.statement(a,0);this.emitDataConst();let i=t.slice(r),n=this.ambientHoistFilter(this.hoistTargets(i,[],T.importedNames(t.slice(0,r))));this.attachSchemaConsts(n);let s=new Set([...n.map(([a])=>a),...T.importedNames(t.slice(0,r))]);for(let a of this.pushReactiveFrame(t,s))s.add(a);if(this.moduleBound=T.moduleBoundNames(i),this.moduleClassNames=T.classDeclNames(i),this.rejectDuplicateDefault(i),this.scopes.push(s),n=this.applyDeclareInPlace(n,e.slice(1),{tailIsExpression:this.repl}),n.length)this.hoistLine(n),this.b.emit(` `);if(this.emitTsTypeDecls(e.slice(1),""),i.length)this.mark(e,"body",()=>this.statements(i,0,"program"));this.scopes.pop(),this.rframes.pop()});return}this.programPlain(e,t)}static moduleBoundNames(e){let t=new Set,r=(i)=>{if(!E(i))return;if(M1.has(i[0])&&i.length===3&&typeof i[1]==="string")t.add(i[1]);else if((i[0]==="class"||i[0]==="enum")&&typeof i[1]==="string")t.add(i[1]);else if(g1(i[0])&&typeof i[1]==="string")t.add(i[1])};for(let i of e){if(!E(i))continue;if(i[0]==="export")for(let n of i.slice(1))r(n);else r(i)}return t}static importAttributes(e){let t=e.length>2?e[e.length-2]:null;return E(t)&&t[0]==="with"&&t.length===2?t:null}static importSpecs(e){return e.slice(1,-1).filter((t)=>!(E(t)&&t[0]==="with"))}static importedSpecs(e){let t=new Map;for(let r of e){if(!E(r)||r[0]!=="import"||r.length<3)continue;let i=r[r.length-1];if(typeof i!=="string")continue;let n=i.replace(/^['"`]|['"`]$/g,"");for(let s of T.importSpecs(r)){if(s==="{}")continue;if(typeof s==="string")t.set(s,{specifier:n,importedName:"default"});else if(s[0]==="*")t.set(s[1],{specifier:n,importedName:"*"});else for(let a of s){let o=E(a)?a[0]:a,l=E(a)?a[1]:a;t.set(l,{specifier:n,importedName:o})}}}return t}static TYPE_ROLES=new Set(["annotation","returnType","typeParams","declaration"]);static importedNames(e){let t=[];for(let r of e)for(let i of T.importSpecs(r)){if(i==="{}")continue;if(typeof i==="string")t.push(i);else if(i[0]==="*")t.push(i[1]);else for(let n of i)t.push(E(n)?n[1]:n)}return t}emitDataConst(){if(this.dataPayload==null)return;this.b.emit(`const DATA = ${JSON.stringify(this.dataPayload)}; @@ -75,10 +75,10 @@ ${o.join(` `)});return}if(this.repl)return this.replImportStatement(e);this.mark(e,"$self",()=>{this.b.emit("import ");let s=r.length>0&&r.every((a)=>a!=="{}"&&(typeof a==="string"||a[0]==="*"?this.typeOnlyImports.has(typeof a==="string"?a:a[1]):a.every((o)=>this.typeOnlyImports.has(T.specifierLocal(o)))));if(r.length>0){if(!s)this.emitImportClause(r,e);else if(this.ts)this.b.tsOnly(()=>this.emitImportClause(r,e))}{let a=this.b.offset;this.mark(e,"source",()=>this.b.emit(this.moduleSource(t))),this.importSpans.push({start:a,end:this.b.offset,specifier:je(t)})}this.emitImportAttributes(i)}),this.b.emit(`; `)}emitImportAttributes(e){if(e===null)return;for(let t of e[1].slice(1))if(!(t[0]===":"&&typeof t[2]==="string"&&(t[2][0]==='"'||t[2][0]==="'")))throw this.positionedError(t,'emitter: an import attribute is a string-literal pair (`with { type: "json" }`) — the module loader reads it before any code runs');this.b.emit(" "),this.mark(e,"$self",()=>{this.mark(e,"keyword",()=>this.b.emit("with")),this.b.emit(" "),this.mark(e,"value",()=>this.expr(e[1]))})}replImportStatement(e){let t=e[e.length-1],r=T.importSpecs(e),i=T.importAttributes(e),n=[],s=null;for(let a of r){if(a==="{}")continue;if(typeof a==="string")n.push(`default: ${a}`);else if(a[0]==="*")s=a[1];else for(let o of a)n.push(E(o)?`${o[0]}: ${o[1]}`:o)}this.mark(e,"$self",()=>{if(s!==null)this.b.emit(`const ${s} = `);else if(n.length>0)this.b.emit(`const { ${n.join(", ")} } = `);this.b.emit(`await import(${this.replResolver()}(`);{let a=this.b.offset;this.mark(e,"source",()=>this.b.emit(this.moduleSource(t))),this.importSpans.push({start:a,end:this.b.offset,specifier:je(t)})}if(this.b.emit(")"),i!==null)this.b.emit(", { with: "),this.mark(i,"value",()=>this.expr(i[1])),this.b.emit(" }");if(this.b.emit(")"),s!==null&&n.length>0)this.b.emit(`, { ${n.join(", ")} } = ${s}`)}),this.b.emit(`; `)}exportStatement(e,t){if(this.script)throw this.positionedError(e,"emitter: exports are not available in a script tag — drop the export keyword; script sources share one scope");if(this.repl)throw this.positionedError(e,"emitter: 'export' has no meaning in a REPL entry — every top-level binding already persists to later lines; drop the export keyword");if(t>0||this.postfixGuardDepth>0)throw this.positionedError(e,"emitter: 'export' must be a top-level statement — a module's exports are static, so a guarded or block-nested export has no form; "+"move it to the top level, or guard the exported value instead (`export x = v if c`)");let r=e[0];this.mark(e,"$self",()=>{if(r==="export-all"){if(e.length===3)this.b.emit("export * as "),this.mark(e,"alias",()=>this.b.emit(e[2])),this.b.emit(" from ");else this.b.emit("export * from ");{let i=this.b.offset;this.mark(e,"source",()=>this.b.emit(this.moduleSource(e[1]))),this.importSpans.push({start:i,end:this.b.offset,specifier:je(e[1])})}this.b.emit(";")}else if(r==="export-from"){if(this.b.emit("export "),e[1]==="{}")this.b.emit("{}");else this.b.emit("{ "),this.emitSpecifiers(e[1]),this.b.emit(" }");this.b.emit(" from ");{let i=this.b.offset;this.mark(e,"source",()=>this.b.emit(this.moduleSource(e[2]))),this.importSpans.push({start:i,end:this.b.offset,specifier:je(e[2])})}this.b.emit(";")}else if(r==="export-default"){if(this.b.emit("export default "),E(e[1])&&g1(e[1][0])&&e[1].length===4)this.mark(e,"spec",()=>this.defStatement(e[1],t));else this.mark(e,"spec",()=>this.expr(e[1]));this.b.emit(";")}else{let i=e[1];if(i==="{}")this.b.emit("export {};");else if(E(i)&&i[0]==="class")this.b.emit("export "),this.classStatement(i,t),this.b.emit(";");else if(E(i)&&g1(i[0]))this.b.emit("export "),this.defStatement(i,t),this.b.emit(";");else if(E(i)&&i[0]==="enum")this.b.emit("export "),this.enumCode(i),this.b.emit(";"),this.tsEnumCompanion(i,!0);else if(this.isReactiveDecl(i))this.b.emit("export "),this.reactiveDecl(i,t);else if(this.isReadonlyDecl(i))this.b.emit("export "),this.readonlyDecl(i,t);else if(this.isEffectDecl(i)){if(i[1]===null)throw this.positionedError(e,"emitter: a bare effect ('export ~> …') binds nothing to export — bind a dispose handle (`export h ~> …`) or drop the export (`export __effect(…)` would be invalid JS)");this.b.emit("export "),this.effectStatement(i,t)}else if(E(i)&&(i[0]==="="||i[0]==="void-assign")){if(i[0]==="void-assign")this.registerVoidValue(i[2],i);if(this.b.emit("export "),this.mark(i,"voidMarker",()=>this.mark(i,"annotation",()=>this.mark(i,"$self",()=>{if(this.b.emit("const "),this.mark(i,"target",()=>this.b.emit(i[1])),this.ts&&this.annotationText(i)!==null)this.tsAnnotate(i,"annotation",this.annotationText(i));this.b.emit(" "),this.mark(i,"operator",()=>this.b.emit("=")),this.b.emit(" ");let n=this._schemaName,s=this._componentName,a=this._componentTypeParams;if(this._componentTypeParams=null,E(i[2])&&i[2][0]==="schema")this._schemaName=i[1];if(this.isComponentDecl(i[2])&&typeof i[1]==="string"){this._componentName=i[1];let o=this.annotationText(i,"typeParams");this._componentTypeParams=o===null?null:{text:o,owner:i}}this.mark(i,"value",()=>this.withExpression(()=>this.expr(i[2]))),this._schemaName=n,this._componentName=s,this._componentTypeParams=a}))),this.b.emit(";"),this.ts&&typeof i[1]==="string"&&this.componentInfo.has(i[2]))this.tsComponentCompanion(i[2],i[1],!0,this.annotationText(i,"typeParams"));if(this.ts)this.tsSchemaBehavior(i[2])}else this.b.emit("export { "),this.emitSpecifiers(i),this.b.emit(" };")}})}enumValue(e,t,r,i){if(typeof e==="string"){if(e.startsWith('"'))try{return[e,JSON.parse(e)]}catch{let n=/\\u(?![0-9a-fA-F]{4})|\\[^"\\/bfnrtu]/.exec(e)?.[0]??"\\";throw this.positionedError(i,`emitter: enum '${t}' member '${r}' — its string value uses the `+`'${n}' escape, which enum values do not support (JSON escapes only; '\\uXXXX' spells the same character)`)}if(/^[\d.]/.test(e)){let n=e.replace(/_/g,"").replace(/n$/,"");return[e,String(Number(n))]}return null}if(E(e)&&e[0]==="-"&&e.length===2){let n=this.enumValue(e[1],t,r,i);if(n===null||e[1].startsWith('"'))return null;return[`-${e[1]}`,`-${n[1]}`]}return null}enumStatement(e){this.enumCode(e),this.b.emit(";"),this.tsEnumCompanion(e,!1)}tsEnumCompanion(e,t){if(!this.ts||typeof e[1]!=="string")return;let r=e[1];this.b.tsOnly(()=>{this.b.emit(` -`),this.mark(e,"$self",()=>{let i=this.stores.idOf(e),n=i!==null?this.stores.selfSpan(i):null,s=n!==null?this.stores.primitiveSpans(r,n[0],n[1])[0]??null:null,a=()=>s?this.b.markSpan(i,"identifier",s.sourceStart,s.sourceEnd,()=>this.b.emit(r)):this.b.emit(r);this.b.emit(`${t?"export ":""}type `),a(),this.b.emit(" = (typeof "),a(),this.b.emit(")[keyof typeof "),a(),this.b.emit("];")})})}enumCode(e){let[,t,r]=e,i=u1(r)?r.slice(1):[r],n=[],s=new Set,a=(f,h,u)=>{if(s.has(f))throw this.positionedError(u,`emitter: enum '${t}' key '${f}' is used more than once (${h}) — `+"forward and reverse entries share one object, so every member name and value must be distinct ",e);s.add(f)},o=p3(i),l=(f)=>{let h=this.b.source,u=this.stores.idOf(r),m=u!==null?this.stores.selfSpan(u)?.[0]??null:null;if(h===null||m===null||typeof i[f]!=="string")return null;for(let g=0;g=0)m=_+d.length}}let S=h.indexOf(i[f],m);return S>=0?[S,S+i[f].length]:null};for(let f=0;f' lines — `+"a bare or computed member has no enum form here",d=l(f);if(d)throw this.positionedErrorAt(d[0],d[1],g);throw this.positionedError(h,g,e)}let u=this.enumValue(h[2],t,h[1],h);if(u===null)throw this.positionedError(h,`emitter: enum '${t}' member '${h[1]}' needs a number or string literal value — `+"the reverse mapping uses the value as an object key, so expressions have no enum form ",e);let[m,S]=u;a(h[1],`member '${h[1]}'`,h),a(S,`value of '${h[1]}'`,h),n.push([h,h[1],m,S])}let c=T.ownKeyText;this.mark(e,"$self",()=>{this.b.emit("const "),this.mark(e,"name",()=>this.noteNameSpan(t)),this.b.emit(" = "),this.mark(e,"body",()=>{this.b.emit("{"),n.forEach(([f,h,u],m)=>{if(m>0)this.b.emit(", ");this.mark(f,"$self",()=>{this.mark(f,"target",()=>{let S=c(h,h);if(S===h)this.emitPrimitive(h);else this.b.emit(S)}),this.b.emit(": "),this.mark(f,"value",()=>this.b.emit(u))})}),n.forEach(([f,h,u,m])=>{this.b.emit(", "),this.mark(f,"$self",()=>{this.b.emit(u.startsWith("-")?JSON.stringify(m):c(u,m)),this.b.emit(`: "${h}"`)})}),this.b.emit("}")})})}schemaExpr(e){let t=e[1];if(!t||typeof t!=="object"||!Array.isArray(t.entries))throw this.positionedError(e,"emitter: schema node without a descriptor — the lexer pass owns SCHEMA_BODY values");if(this.scopes.slice(1).some((o)=>o.has("__schema")))throw this.positionedError(e,"emitter: a function-scope binding of '__schema' shadows the schema runtime where this "+"schema declaration needs it — rename the local, or bind '__schema' at MODULE scope to "+"supply your own factory (the suppression hatch)");this.usesSchema=!0;let r=this._schemaName??null,i=new Map;for(let{entry:o,index:l,tokens:c,value:f}of T.schemaBodies(t)){if(f){i.set(l,this.schemaValueCode(c));continue}let h=this.schemaBodyParams(o);i.set(l,this.schemaFnCode(h,c))}let n=this.schemaStories?.get(e)??null,s=this.stores.idOf(e);if(this.ts&&n!==null)this.schemaFns.set(e,i);this.schemaPins=this.ts?new Map:null,this.schemaPinNode=s;let a=(o,l,c)=>{if(l===null||l===void 0)return;let f=`${o}:${c}`;if(!this.schemaPins.has(f))this.schemaPins.set(f,[]);this.schemaPins.get(f).push([l[0],l[1]])};if(this.ts&&r!==null)a("name",this.moduleTypeDeclarationSpans().get(r)??null,r);for(let o of this.ts?t.entries:[]){let l=(c,f,h)=>{if(typeof h!=="number"||typeof f!=="string")return;a(c,[h,h+f.length],f)};if(o.tag==="union-member")l("name",o.name,o.start);else if(o.tag==="directive"&&o.name==="mixin"&&o.argTokens?.[0]?.kind==="IDENTIFIER")l("target",o.argTokens[0].value,o.argTokens[0].start);else if(o.tag==="ensure")l("field",o.field,o.fieldStart);else if((On[o.tag]??null)!==null){if(l("name",o.name,o.start),o.tag==="field"&&Array.isArray(o.typeSpan)&&this.b.source!==null){let c=/[A-Za-z_$][\w$]*/.exec(this.b.source.slice(o.typeSpan[0],o.typeSpan[1]));if(c!==null&&c[0]===o.typeName)l("typeName",c[0],o.typeSpan[0]+c.index)}}}for(let o of this.schemaPins?.values()??[])for(let[l,c]of o)this.b.exactSourceSpans.add(`${l}:${c}`);this.mark(e,"$self",()=>{if(this.b.emit("__schema("),this.mark(e,"body",()=>{let o=Ci(t,r,i,i.get("adapter")??null,n?.thisTypes??null,this.ts,n?.defaultTypes??null,n?.ensureTypes??null);for(let l of o)if(typeof l==="string")this.emitSchemaText(l);else if(l.body!==void 0)this.emitSchemaText(l.body,!0);else if(l.span!==null&&l.span!==void 0&&s!==null)this.b.tsOnly(()=>this.b.markSpan(s,"literal",l.span[0],l.span[1],()=>this.b.emit(l.ts)));else if(n!==null){let c=this.bindingNameSpan(n.decl.node,"target",n.decl.name);this.b.tsOnly(()=>this.emitNamedCopies(l.ts,n.decl.name,c?.id??null,c?.span??null))}else this.b.tsOnly(()=>this.b.emit(l.ts))}),this.b.emit(")"),n!==null&&n.constType!==null){let o=this.bindingNameSpan(n.decl.node,"target",n.decl.name);this.b.tsOnly(()=>{this.b.emit(" as unknown as "),this.emitNamedCopies(n.constType,n.decl.name,o?.id??null,o?.span??null)})}}),this.schemaPins=null,this.schemaPinNode=null}static schemaFail(e,t){let r=Error(`schema: ${e}`);throw r.start=t,r}static schemaBodies(e){let t=[];if(e.entries.forEach((r,i)=>{if(r.tag==="method"||r.tag==="computed"||r.tag==="derived"||r.tag==="ensure"||r.tag==="hook"||r.tag==="scope"||r.tag==="defaultScope")t.push({entry:r,index:i,tokens:r.bodyTokens});else if(r.tag==="field"&&r.transformTokens)t.push({entry:r,index:i,tokens:r.transformTokens})}),e.adapterTokens)t.push({entry:{tag:"adapter"},index:"adapter",tokens:e.adapterTokens,value:!0});return t}schemaBodyParams(e){if(e.tag==="adapter")return[];if(e.tag==="field")return[{name:"it",type:null}];return Di(e.paramTokens??[],e.tag==="ensure"?"@ensure":`'${e.name}'`,T.schemaFail,this.b.source)}schemaFnCode(e,t){let r=e.map((m)=>m.name),{stmts:i,stores:n}=this.subParse(t);if(i.length===0)return{code:"(function() {})",thisAt:10,annots:[]};let s=i.length===1?i[0]:["block",...i],a=T.containsAwait(s),o=T.containsYield(s),l=this.subEmitter(n),c;if(i.length===1){let m=i[0],{entries:S,names:g}=l.scopedHoist([m],r);for(let d of l.pushReactiveFrame(i,g,r))g.add(d);if(l.scopes.push(g),S.length)l.hoistLine(S),l.b.emit(" ");if(ct(m)||be(m))l.statement(m,0);else l.implicitReturn(m,0);c=`{ ${l.b.code} }`}else{let{entries:m,names:S}=l.scopedHoist([s],r);for(let g of l.pushReactiveFrame(i,S,r))S.add(g);if(l.scopes.push(S),l.b.emit(`{ -`),m.length)l.b.emit(" "),l.hoistLine(m," "),l.b.emit(` -`);i.forEach((g,d)=>{if(l.b.emit(" "),d===i.length-1)l.implicitReturn(g,1);else l.statement(g,1,!0);l.b.emit(` -`)}),l.b.emit("}"),c=l.b.code}let f=`(${a?"async ":""}function${o?"*":""}(`,h=[],u=f.length;return e.forEach((m,S)=>{if(u+=m.name.length,m.type!==null)h.push([u,`: ${m.type}`]);else if(m.optional)h.push([u,"?"]);if(Si++;qt(r,n,t??"",(l,c)=>{let f=Error(`schema: ${l}`);throw f.start=c,f.end=c,f}),Ut(r,n),hn(r),Vt(r,n),Wt(r,n);let a=Jt();a.lexer={tokens:r,index:0,text:"",loc:null,setInput(){this.index=0},lex(){let l=this.tokens[this.index];if(!l)return null;return this.index++,this.text=l.value,this.loc={start:l.start,end:l.end},l.kind}};let o=a.parse("");if(o.diagnostics.length>0){let l=o.diagnostics[0],c=Error(`schema: failed to compile a schema function body: ${l.message}`);throw c.start=l.start,c.end=l.end,c}return{stmts:o.sexpr.slice(1),stores:new Qt(o.stores)}}bareBlockStatement(e,t){this.mark(e,"$self",()=>{this.b.emit(`{ +`),this.mark(e,"$self",()=>{let i=this.stores.idOf(e),n=i!==null?this.stores.selfSpan(i):null,s=n!==null?this.stores.primitiveSpans(r,n[0],n[1])[0]??null:null,a=()=>s?this.b.markSpan(i,"identifier",s.sourceStart,s.sourceEnd,()=>this.b.emit(r)):this.b.emit(r);this.b.emit(`${t?"export ":""}type `),a(),this.b.emit(" = (typeof "),a(),this.b.emit(")[keyof typeof "),a(),this.b.emit("];")})})}enumCode(e){let[,t,r]=e,i=u1(r)?r.slice(1):[r],n=[],s=new Set,a=(f,h,u)=>{if(s.has(f))throw this.positionedError(u,`emitter: enum '${t}' key '${f}' is used more than once (${h}) — `+"forward and reverse entries share one object, so every member name and value must be distinct ",e);s.add(f)},o=p3(i),l=(f)=>{let h=this.b.source,u=this.stores.idOf(r),d=u!==null?this.stores.selfSpan(u)?.[0]??null:null;if(h===null||d===null||typeof i[f]!=="string")return null;for(let g=0;g=0)d=_+p.length}}let S=h.indexOf(i[f],d);return S>=0?[S,S+i[f].length]:null};for(let f=0;f' lines — `+"a bare or computed member has no enum form here",p=l(f);if(p)throw this.positionedErrorAt(p[0],p[1],g);throw this.positionedError(h,g,e)}let u=this.enumValue(h[2],t,h[1],h);if(u===null)throw this.positionedError(h,`emitter: enum '${t}' member '${h[1]}' needs a number or string literal value — `+"the reverse mapping uses the value as an object key, so expressions have no enum form ",e);let[d,S]=u;a(h[1],`member '${h[1]}'`,h),a(S,`value of '${h[1]}'`,h),n.push([h,h[1],d,S])}let c=T.ownKeyText;this.mark(e,"$self",()=>{this.b.emit("const "),this.mark(e,"name",()=>this.noteNameSpan(t)),this.b.emit(" = "),this.mark(e,"body",()=>{this.b.emit("{"),n.forEach(([f,h,u],d)=>{if(d>0)this.b.emit(", ");this.mark(f,"$self",()=>{this.mark(f,"target",()=>{let S=c(h,h);if(S===h)this.emitPrimitive(h);else this.b.emit(S)}),this.b.emit(": "),this.mark(f,"value",()=>this.b.emit(u))})}),n.forEach(([f,h,u,d])=>{this.b.emit(", "),this.mark(f,"$self",()=>{this.b.emit(u.startsWith("-")?JSON.stringify(d):c(u,d)),this.b.emit(`: "${h}"`)})}),this.b.emit("}")})})}schemaExpr(e){let t=e[1];if(!t||typeof t!=="object"||!Array.isArray(t.entries))throw this.positionedError(e,"emitter: schema node without a descriptor — the lexer pass owns SCHEMA_BODY values");if(this.scopes.slice(1).some((o)=>o.has("__schema")))throw this.positionedError(e,"emitter: a function-scope binding of '__schema' shadows the schema runtime where this "+"schema declaration needs it — rename the local, or bind '__schema' at MODULE scope to "+"supply your own factory (the suppression hatch)");this.usesSchema=!0;let r=this._schemaName??null,i=new Map;for(let{entry:o,index:l,tokens:c,value:f}of T.schemaBodies(t)){if(f){i.set(l,this.schemaValueCode(c));continue}let h=this.schemaBodyParams(o);i.set(l,this.schemaFnCode(h,c))}let n=this.schemaStories?.get(e)??null,s=this.stores.idOf(e);if(this.ts&&n!==null)this.schemaFns.set(e,i);this.schemaPins=this.ts?new Map:null,this.schemaPinNode=s;let a=(o,l,c)=>{if(l===null||l===void 0)return;let f=`${o}:${c}`;if(!this.schemaPins.has(f))this.schemaPins.set(f,[]);this.schemaPins.get(f).push([l[0],l[1]])};if(this.ts&&r!==null)a("name",this.moduleTypeDeclarationSpans().get(r)??null,r);for(let o of this.ts?t.entries:[]){let l=(c,f,h)=>{if(typeof h!=="number"||typeof f!=="string")return;a(c,[h,h+f.length],f)};if(o.tag==="union-member")l("name",o.name,o.start);else if(o.tag==="directive"&&o.name==="mixin"&&o.argTokens?.[0]?.kind==="IDENTIFIER")l("target",o.argTokens[0].value,o.argTokens[0].start);else if(o.tag==="ensure")l("field",o.field,o.fieldStart);else if((On[o.tag]??null)!==null){if(l("name",o.name,o.start),o.tag==="field"&&Array.isArray(o.typeSpan)&&this.b.source!==null){let c=/[A-Za-z_$][\w$]*/.exec(this.b.source.slice(o.typeSpan[0],o.typeSpan[1]));if(c!==null&&c[0]===o.typeName)l("typeName",c[0],o.typeSpan[0]+c.index)}}}for(let o of this.schemaPins?.values()??[])for(let[l,c]of o)this.b.exactSourceSpans.add(`${l}:${c}`);this.mark(e,"$self",()=>{if(this.b.emit("__schema("),this.mark(e,"body",()=>{let o=Ci(t,r,i,i.get("adapter")??null,n?.thisTypes??null,this.ts,n?.defaultTypes??null,n?.ensureTypes??null);for(let l of o)if(typeof l==="string")this.emitSchemaText(l);else if(l.body!==void 0)this.emitSchemaText(l.body,!0);else if(l.span!==null&&l.span!==void 0&&s!==null)this.b.tsOnly(()=>this.b.markSpan(s,"literal",l.span[0],l.span[1],()=>this.b.emit(l.ts)));else if(n!==null){let c=this.bindingNameSpan(n.decl.node,"target",n.decl.name);this.b.tsOnly(()=>this.emitNamedCopies(l.ts,n.decl.name,c?.id??null,c?.span??null))}else this.b.tsOnly(()=>this.b.emit(l.ts))}),this.b.emit(")"),n!==null&&n.constType!==null){let o=this.bindingNameSpan(n.decl.node,"target",n.decl.name);this.b.tsOnly(()=>{this.b.emit(" as unknown as "),this.emitNamedCopies(n.constType,n.decl.name,o?.id??null,o?.span??null)})}}),this.schemaPins=null,this.schemaPinNode=null}static schemaFail(e,t){let r=Error(`schema: ${e}`);throw r.start=t,r}static schemaBodies(e){let t=[];if(e.entries.forEach((r,i)=>{if(r.tag==="method"||r.tag==="computed"||r.tag==="derived"||r.tag==="ensure"||r.tag==="hook"||r.tag==="scope"||r.tag==="defaultScope")t.push({entry:r,index:i,tokens:r.bodyTokens});else if(r.tag==="field"&&r.transformTokens)t.push({entry:r,index:i,tokens:r.transformTokens})}),e.adapterTokens)t.push({entry:{tag:"adapter"},index:"adapter",tokens:e.adapterTokens,value:!0});return t}schemaBodyParams(e){if(e.tag==="adapter")return[];if(e.tag==="field")return[{name:"it",type:null}];return Di(e.paramTokens??[],e.tag==="ensure"?"@ensure":`'${e.name}'`,T.schemaFail,this.b.source)}schemaFnCode(e,t){let r=e.map((d)=>d.name),{stmts:i,stores:n}=this.subParse(t);if(i.length===0)return{code:"(function() {})",thisAt:10,annots:[]};let s=i.length===1?i[0]:["block",...i],a=T.containsAwait(s),o=T.containsYield(s),l=this.subEmitter(n),c;if(i.length===1){let d=i[0],{entries:S,names:g}=l.scopedHoist([d],r);for(let p of l.pushReactiveFrame(i,g,r))g.add(p);if(l.scopes.push(g),S.length)l.hoistLine(S),l.b.emit(" ");if(ct(d)||be(d))l.statement(d,0);else l.implicitReturn(d,0);c=`{ ${l.b.code} }`}else{let{entries:d,names:S}=l.scopedHoist([s],r);for(let g of l.pushReactiveFrame(i,S,r))S.add(g);if(l.scopes.push(S),l.b.emit(`{ +`),d.length)l.b.emit(" "),l.hoistLine(d," "),l.b.emit(` +`);i.forEach((g,p)=>{if(l.b.emit(" "),p===i.length-1)l.implicitReturn(g,1);else l.statement(g,1,!0);l.b.emit(` +`)}),l.b.emit("}"),c=l.b.code}let f=`(${a?"async ":""}function${o?"*":""}(`,h=[],u=f.length;return e.forEach((d,S)=>{if(u+=d.name.length,d.type!==null)h.push([u,`: ${d.type}`]);else if(d.optional)h.push([u,"?"]);if(Si++;qt(r,n,t??"",(l,c)=>{let f=Error(`schema: ${l}`);throw f.start=c,f.end=c,f}),Ut(r,n),hn(r),Vt(r,n),Wt(r,n);let a=Jt();a.lexer={tokens:r,index:0,text:"",loc:null,setInput(){this.index=0},lex(){let l=this.tokens[this.index];if(!l)return null;return this.index++,this.text=l.value,this.loc={start:l.start,end:l.end},l.kind}};let o=a.parse("");if(o.diagnostics.length>0){let l=o.diagnostics[0],c=Error(`schema: failed to compile a schema function body: ${l.message}`);throw c.start=l.start,c.end=l.end,c}return{stmts:o.sexpr.slice(1),stores:new Qt(o.stores)}}bareBlockStatement(e,t){this.mark(e,"$self",()=>{this.b.emit(`{ `),this.statements(e.slice(1),t+1,"block"),this.b.emit(" ".repeat(t)+"}")}),this.b.emit(";")}statement(e,t,r=!1){this.withTsDirectives(e," ".repeat(t),()=>this.statementCore(e,t,r))}statementCore(e,t,r){if(this.ind=t,this.funcBodyStmt=r,E(e)){let n=T.STATEMENT_FORMS[e[0]];if(n&&n(this,e,t)){this.replDeclEcho(e);return}if(T.controlGuard(e))return this.returnGuardStatement(e,null);if(e[0]==="="&&e.length===3&&typeof e[1]==="string"&&T.controlGuard(e[2]))return this.returnGuardStatement(e[2],e);if(e[0]==="="&&e.length===3&&T.middleRestPattern(e[1])){this.middleRestAssign(e,t),this.b.emit(";");return}if(e[0]===".="&&e.length===3){this.methodAssignStatement(e,t),this.b.emit(";");return}if(e[0]==="="&&e.length===3&&T.sliceTarget(e[1])!==null){this.sliceAssignStatement(e),this.b.emit(";");return}if(nt(e[0])&&e.length===3&&T.sliceTarget(e[1])!==null)throw this.sliceAssignError(e);if(nt(e[0])&&e.length===3){let s=T.optionalGuard(e[1]);if(s!==null){this.optionalAssign(e,s,"statement"),this.b.emit(";");return}}}if(this.replCapture(e))return;if(T.needsGrouping(e,"statement"))this.mark(e,"$self",()=>{this.b.emit("("),this.expr(e),this.b.emit(")")}),this.b.emit(";");else this.expr(e),this.b.emit(";");if(this.ts&&E(e)&&e[0]==="="&&e.length===3&&typeof e[1]==="string"&&this.componentInfo.has(e[2]))this.tsComponentCompanion(e[2],e[1],!1,this.annotationText(e,"typeParams"));if(this.ts&&E(e)&&e[0]==="="&&e.length===3)this.tsSchemaBehavior(e[2])}tsSchemaBehavior(e){let t=this.schemaStories?.get(e)??null,r=this.schemaFns.get(e);if(t===null||r===void 0)return;let i=Pi(e[1],t.decl.name,r,t.thisTypes);if(i===null)return;if(this.scopes[0]?.has(t.behaviorName)||this.moduleBound?.has(t.behaviorName))throw this.positionedError(e,`emitter: the module binds '${t.behaviorName}', the face-only name this schema's `+"callable types read through — rename the binding");let n=this.stores.idOf(e);this.b.tsOnly(()=>this.b.echo(()=>{if(this.b.emit(` `+" ".repeat(this.ind)),n!==null)this.b.mark(n,"$self",()=>{let s=this.bindingNameSpan(t.decl.node,"target",t.decl.name);this.emitNamedCopies(i,t.decl.name,s?.id??null,s?.span??null)});else this.b.emit(i)}))}replSlot(){if(this.replResultName===null)this.replResultName=T.mintName("__result",this.temps.used);return this.replResultName}replResolver(){if(this.replImportResolver===null)this.replImportResolver=T.mintName("__resolveImport",this.temps.used);return this.replImportResolver}replCapture(e){if(!this.repl||e!==this.lastProgramStmt)return!1;return this.b.emit(`const ${this.replSlot()} = `),this.expr(e),this.b.emit(";"),!0}replDeclEcho(e){if(!this.repl||e!==this.lastProgramStmt||!E(e))return;let t=null,r=!1;if(this.isReactiveDecl(e)&&typeof e[1]==="string")t=e[1],r=!0;else if(this.isReadonlyDecl(e)&&typeof e[1]==="string")t=e[1];else if(this.isEffectDecl(e)&&typeof e[1]==="string")t=e[1];if(t===null)return;this.b.emit(` const ${this.replSlot()} = ${t}${r?".value":""};`)}whileStatement(e,t){this.inCtrl(()=>this.whileStatementCtrl(e,t))}whileStatementCtrl(e,t){let r=e.length===4?e[2]:null,i=e[e.length-1];this.mark(e,"$self",()=>{if(this.b.emit("while ("),this.mark(e,"condition",()=>this.expr(e[1])),this.b.emit(") "),r!==null){let n=u1(i)?i.slice(1):i;this.b.emit(`{ @@ -90,13 +90,13 @@ const ${this.replSlot()} = ${t}${r?".value":""};`)}whileStatement(e,t){this.inCt `+" ".repeat(t+1)),this.statement(r,t+1),this.b.emit(` `+" ".repeat(t)+"}");else this.statement(r,t);this.postfixGuardDepth--});return}this.mark(e,"$self",()=>this.ifChain(e,t))}static LOOP_HEADS=new Set(["for-in","for-of","for-as","while","loop","comprehension"]);loopStatement(e,t){this.withBindings(this.loopBindingNames(e),()=>this.inCtrl(()=>this.loopStatementCtrl(e,t)))}loopStatementCtrl(e,t){this.mark(e,"$self",()=>{let{body:r}=this.loopHeader(e);this.b.emit(" "),this.mark(e,"body",()=>this.braceBlock(r,t))})}throwStatement(e){this.mark(e,"$self",()=>{this.b.emit("throw "),this.mark(e,"value",()=>this.expr(e[1]))}),this.b.emit(";")}tryStatement(e,t){this.mark(e,"$self",()=>{this.b.emit("try ");let r=u1(e[1])?e[1]:["block",e[1]];if(this.mark(e,"body",()=>this.braceBlock(r,t)),e.length===2)this.b.emit(" catch {}");for(let i of e.slice(2)){if(!E(i))continue;if(u1(i))this.b.emit(" finally "),this.braceBlock(i,t);else{let[n,s]=i;if(n===null)this.b.emit(" catch "),this.braceBlock(s,t);else if(T.isPattern(n)){this.checkExportedConstWrite(i,n);let a=this.loopTempName("_err");this.b.emit(` catch (${a}`),this.tsScaffoldAny(),this.b.emit(`) { `);let o=" ".repeat(t+1);this.b.emit(o+"("),this.mark(i,"binding",()=>this.withPattern(()=>this.expr(n))),this.b.emit(` = ${a}); -`),this.statements(u1(s)?s.slice(1):[s],t+1,"block"),this.b.emit(" ".repeat(t)+"}")}else this.b.emit(" catch ("),this.mark(i,"binding",()=>this.b.emit(n)),this.b.emit(") "),this.withBindings([n],()=>this.braceBlock(s,t))}}})}static isMatchArm(e){if(typeof e==="string")return e.startsWith("/");if(!E(e))return!1;return e[0]==="here-regex"||(e[0]===".."||e[0]==="...")&&e.length===3}static hasMatchArms(e){return e.some((t)=>t[1].some((r)=>T.isMatchArm(r)))}checkMatchSwitch(e){let[,t,r,i]=e;if(t===null)throw this.positionedError(e,"emitter: a regex or range `when` tests the switch subject, and this switch has none — give it one (`switch x`) or spell the test out (`when /re/.test(x)`)");for(let n of[...r.map((s)=>s[2]),i])if(n!==null&&T.findCapturedCtrl(n,d3)!==null)throw this.positionedError(e,"emitter: `break` in an arm of a switch with a regex or range `when` has nothing to leave — the switch is an if-chain and each arm ends on its own; drop the `break`")}static matchArmSexpr(e,t){if(!T.isMatchArm(t))return["==",e,t];if(E(t)&&(t[0]===".."||t[0]==="..."))return["&&",[">=",e,t[1]],[t[0]===".."?"<=":"<",e,t[2]]];return[[".",t,"test"],e]}matchArmTest(e,t){if(typeof e==="string"&&e.startsWith("/"))this.expr(e),this.b.emit(".test("),t(),this.b.emit(")");else if(E(e)&&e[0]==="here-regex")this.b.emit("("),this.expr(e),this.b.emit(").test("),t(),this.b.emit(")");else if(E(e)&&(e[0]===".."||e[0]==="...")&&e.length===3)this.b.emit("("),t(),this.b.emit(" >= "),this.expr(e[1]),this.b.emit(" && "),t(),this.b.emit(e[0]===".."?" <= ":" < "),this.expr(e[2]),this.b.emit(")");else t(),this.b.emit(" === "),this.expr(e)}matchChain(e,t,r){let[,i,n,s]=e,a=" ".repeat(t),l=typeof i==="string"&&/^[A-Za-z_$][\w$]*$/.test(i)&&!this.isReactiveName(i)?null:this.loopTempName("_switch"),c=()=>l!==null?this.b.emit(l):this.mark(e,"subject",()=>this.expr(i));if(l!==null)this.temps.used.add(l),this.b.emit(`const ${l} = `),this.mark(e,"subject",()=>this.expr(i)),this.b.emit(`; -${a}`);if(this.mark(e,"cases",()=>{n.forEach((f,h)=>{this.mark(f,"$self",()=>{let[,u,m]=f;if(h>0)this.b.emit(" else ");this.b.emit("if ("),u.forEach((S,g)=>{if(g>0)this.b.emit(" || ");this.matchArmTest(S,c)}),this.b.emit(") "),r(m)})})}),s!==null)this.b.emit(" else "),r(s)}switchStatement(e,t){let[,r,i,n]=e,s=" ".repeat(t);if(T.hasMatchArms(i)){this.checkMatchSwitch(e),this.mark(e,"$self",()=>this.matchChain(e,t,(a)=>this.braceBlock(a,t)));return}this.mark(e,"$self",()=>{if(r!==null){if(this.b.emit("switch ("),this.mark(e,"subject",()=>this.expr(r)),this.b.emit(`) { +`),this.statements(u1(s)?s.slice(1):[s],t+1,"block"),this.b.emit(" ".repeat(t)+"}")}else this.b.emit(" catch ("),this.mark(i,"binding",()=>this.b.emit(n)),this.b.emit(") "),this.withBindings([n],()=>this.braceBlock(s,t))}}})}static isMatchArm(e){if(typeof e==="string")return e.startsWith("/");if(!E(e))return!1;return e[0]==="here-regex"||(e[0]===".."||e[0]==="...")&&e.length===3}static hasMatchArms(e){return e.some((t)=>t[1].some((r)=>T.isMatchArm(r)))}checkMatchSwitch(e){let[,t,r,i]=e;if(t===null)throw this.positionedError(e,"emitter: a regex or range `when` tests the switch subject, and this switch has none — give it one (`switch x`) or spell the test out (`when /re/.test(x)`)");for(let n of[...r.map((s)=>s[2]),i])if(n!==null&&T.findCapturedCtrl(n,m3)!==null)throw this.positionedError(e,"emitter: `break` in an arm of a switch with a regex or range `when` has nothing to leave — the switch is an if-chain and each arm ends on its own; drop the `break`")}static matchArmSexpr(e,t){if(!T.isMatchArm(t))return["==",e,t];if(E(t)&&(t[0]===".."||t[0]==="..."))return["&&",[">=",e,t[1]],[t[0]===".."?"<=":"<",e,t[2]]];return[[".",t,"test"],e]}matchArmTest(e,t){if(typeof e==="string"&&e.startsWith("/"))this.expr(e),this.b.emit(".test("),t(),this.b.emit(")");else if(E(e)&&e[0]==="here-regex")this.b.emit("("),this.expr(e),this.b.emit(").test("),t(),this.b.emit(")");else if(E(e)&&(e[0]===".."||e[0]==="...")&&e.length===3)this.b.emit("("),t(),this.b.emit(" >= "),this.expr(e[1]),this.b.emit(" && "),t(),this.b.emit(e[0]===".."?" <= ":" < "),this.expr(e[2]),this.b.emit(")");else t(),this.b.emit(" === "),this.expr(e)}matchChain(e,t,r){let[,i,n,s]=e,a=" ".repeat(t),l=typeof i==="string"&&/^[A-Za-z_$][\w$]*$/.test(i)&&!this.isReactiveName(i)?null:this.loopTempName("_switch"),c=()=>l!==null?this.b.emit(l):this.mark(e,"subject",()=>this.expr(i));if(l!==null)this.temps.used.add(l),this.b.emit(`const ${l} = `),this.mark(e,"subject",()=>this.expr(i)),this.b.emit(`; +${a}`);if(this.mark(e,"cases",()=>{n.forEach((f,h)=>{this.mark(f,"$self",()=>{let[,u,d]=f;if(h>0)this.b.emit(" else ");this.b.emit("if ("),u.forEach((S,g)=>{if(g>0)this.b.emit(" || ");this.matchArmTest(S,c)}),this.b.emit(") "),r(d)})})}),s!==null)this.b.emit(" else "),r(s)}switchStatement(e,t){let[,r,i,n]=e,s=" ".repeat(t);if(T.hasMatchArms(i)){this.checkMatchSwitch(e),this.mark(e,"$self",()=>this.matchChain(e,t,(a)=>this.braceBlock(a,t)));return}this.mark(e,"$self",()=>{if(r!==null){if(this.b.emit("switch ("),this.mark(e,"subject",()=>this.expr(r)),this.b.emit(`) { `),this.mark(e,"cases",()=>{for(let a of i)this.mark(a,"$self",()=>{let[,o,l]=a;for(let c of o)this.b.emit(`${s} case `),this.expr(c),this.b.emit(`: `);this.caseBody(l,t)})}),n!==null)this.b.emit(`${s} default: `),this.caseBody(n,t);this.b.emit(`${s}}`)}else if(i.forEach((a,o)=>{let[,l,c]=a;if(o>0)this.b.emit(" else ");this.b.emit("if (("),l.forEach((f,h)=>{if(h>0)this.b.emit(") || (");this.expr(f)}),this.b.emit(")) "),this.braceBlock(c,t)}),n!==null)this.b.emit(" else "),this.braceBlock(n,t)})}caseBody(e,t){this.inCtrl(()=>this.caseBodyCtrl(e,t))}caseBodyCtrl(e,t){let r=this.liveStmts(u1(e)?e.slice(1):[e]);this.emitTsTypeDecls(u1(e)?e.slice(1):[e]," ".repeat(t+2));for(let i of r)this.b.emit(" ".repeat(t+2)),this.statement(i,t+2),this.b.emit(` `);this.b.emit(" ".repeat(t+2)+`break; -`)}loopBindingNames(e){let t=E(e)?e[0]:null,r=null;if(t==="loop-n")return["it"];if(t==="for-in"||t==="for-of"||t==="for-as")r=e[1];else if(be(e))r=e[2][0][1];if(r===null)return[];if(r.length===0)throw this.positionedError(e,"emitter: a for loop binds no variable — spell a bare repeat with a binding (`for i in [1...3]`)");let i=[];for(let n of r)this.patternNames(n,i,!0);return i}rangedByHeader(e,t,r,i,n){let[s,a,o]=i,l=s===".."?"<=":"<",c=s===".."?">=":">",f=(R)=>typeof R==="string"&&/^[0-9.]/.test(R)?R:null,h=f(n)??(E(n)&&n[0]==="+"&&n.length===2?f(n[1]):null),u=E(n)&&n[0]==="-"&&n.length===2?f(n[1]):null;if((h??u)!==null&&Number((h??u).replace(/_/g,""))===0)throw this.positionedError(e,"emitter: a BY step of 0 never advances the loop");let m=r[0],S=this.singleReadIterable(o)?null:this.loopTempName("_ref"),g=h!==null||u!==null?null:this.loopTempName("_step");if(this.b.emit("for (let "),t(m),this.b.emit(" = "),this.expr(a),S!==null)this.b.emit(`, ${S} = `),this.expr(o);if(g!==null)this.b.emit(`, ${g} = `),this.mark(e,"step",()=>this.expr(n));let d=()=>{if(S!==null)this.b.emit(S);else this.expr(o)};if(this.b.emit("; "),g!==null)this.b.emit(`${g} > 0 ? ${m} ${l} `),d(),this.b.emit(` : ${m} ${c} `),d(),this.b.emit(`; ${m} += ${g})`);else if(u!==null)this.b.emit(`${m} ${c} `),d(),this.b.emit(`; ${m} -= `),this.mark(e,"step",()=>this.b.emit(u)),this.b.emit(")");else this.b.emit(`${m} ${l} `),d(),this.b.emit(`; ${m} += `),this.mark(e,"step",()=>this.b.emit(h)),this.b.emit(")")}forIn(e,t){this.inCtrl(()=>this.forInCtrl(e,t))}forInCtrl(e,t){let[,r,i,n,s,a]=e;this.withBindings(this.loopBindingNames(e),()=>this.forInCore(e,r,i,n,s,a,t))}forInCore(e,t,r,i,n,s,a){this.mark(e,"$self",()=>{let o=(l)=>this.mark(e,"vars",()=>typeof l==="string"?this.emitPrimitive(l):this.withPattern(()=>this.expr(l),!0));if(E(t[0])&&(Ie(r)||i!==null))throw this.positionedError(e,"emitter: pattern loop variables with ranges or BY steps are not supported yet");if(Ie(r)&&i===null){let[l,c,f]=r,h=this.singleReadIterable(f)?null:this.loopTempName("_ref");if(this.b.emit("for (let "),o(t[0]),this.b.emit(" = "),this.expr(c),h)this.b.emit(`, ${h} = `),this.expr(f);if(this.b.emit(`; ${t[0]} ${l===".."?"<=":"<"} `),h)this.b.emit(h);else this.expr(f);this.b.emit(`; ${t[0]}++) `),this.guardedBlock(s,n,a)}else if(Ie(r))this.rangedByHeader(e,o,t,r,i),this.b.emit(" "),this.guardedBlock(s,n,a);else if(i!==null){let l=t.length===2?t[1]:this.loopTempName("_i"),c=()=>{if(t.length===2)o(l);else this.b.emit(l)},f=(d)=>typeof d==="string"&&/^[0-9.]/.test(d)?d:null,h=f(i)??(E(i)&&i[0]==="+"&&i.length===2?f(i[1]):null),u=E(i)&&i[0]==="-"&&i.length===2?f(i[1]):null;if((h??u)!==null&&Number((h??u).replace(/_/g,""))===0)throw this.positionedError(e,"emitter: a BY step of 0 never advances the loop");let m=this.singleReadIterable(r)?null:this.loopTempName("_ref"),S=()=>{if(m)this.b.emit(`${m} = `),this.expr(r),this.b.emit(", ")},g=()=>{if(m)this.b.emit(m);else this.expr(r)};if(u!==null)if(this.b.emit("for (let "),S(),c(),this.b.emit(" = "),g(),this.b.emit(`.length - 1; ${l} >= 0; `),u==="1")this.mark(e,"step",()=>this.b.emit(`${l}--`));else this.b.emit(`${l} += `),this.mark(e,"step",()=>{this.b.emit("(-"),this.expr(i[1]),this.b.emit(")")});else if(h!==null)if(this.b.emit("for (let "),S(),c(),this.b.emit(` = 0; ${l} < `),g(),this.b.emit(".length; "),i==="1")this.mark(e,"step",()=>this.b.emit(`${l}++`));else this.b.emit(`${l} += `),this.grouped(e,"step",i,T.needsGrouping(i,"operand"));else{let d=this.loopTempName("_step");this.b.emit(`for (let ${d} = `),this.mark(e,"step",()=>this.expr(i)),this.b.emit(", "),S(),c(),this.b.emit(` = ${d} > 0 ? 0 : `),g(),this.b.emit(`.length - 1; ${d} > 0 ? ${l} < `),g(),this.b.emit(`.length : ${d} < 0 && ${l} >= 0; ${l} += ${d}`)}this.b.emit(`) { +`)}loopBindingNames(e){let t=E(e)?e[0]:null,r=null;if(t==="loop-n")return["it"];if(t==="for-in"||t==="for-of"||t==="for-as")r=e[1];else if(be(e))r=e[2][0][1];if(r===null)return[];if(r.length===0)throw this.positionedError(e,"emitter: a for loop binds no variable — spell a bare repeat with a binding (`for i in [1...3]`)");let i=[];for(let n of r)this.patternNames(n,i,!0);return i}rangedHeader(e,t,r,i,n){let[s,a,o]=i,l=s===".."?"<=":"<",c=s===".."?">=":">",f=(O)=>typeof O==="string"&&/^[0-9.]/.test(O)?O:null,h=(O)=>f(O)??(E(O)&&(O[0]==="+"||O[0]==="-")&&O.length===2&&f(O[1])!==null?`${O[0]==="-"?"-":""}${f(O[1])}`:null),u=(O)=>{let A=h(O);return A===null?null:Number(A.replace(/_/g,""))},d=n===null?null:u(n);if(d===0)throw this.positionedError(e,"emitter: a BY step of 0 never advances the loop");let S=u(a),g=u(o),p=n===null?S!==null&&g!==null&&S>g:d!==null&&d<0,R=r[0],b=r.length===2?r[1]:null,_=g!==null||this.singleReadIterable(o)?null:this.loopTempName("_ref"),y=n===null||d!==null?null:this.loopTempName("_step");if(this.b.emit("for (let "),t(R),this.b.emit(" = "),this.expr(a),_!==null)this.b.emit(`, ${_} = `),this.expr(o);if(y!==null)this.b.emit(`, ${y} = `),this.mark(e,"step",()=>this.expr(n));if(b!==null)this.b.emit(", "),t(b),this.b.emit(" = 0");let m=()=>{if(_!==null)this.b.emit(_);else this.expr(o)},k=()=>{if(y!==null)this.b.emit(`${R} += ${y}`);else if(n===null)this.b.emit(p?`${R}--`:`${R}++`);else this.b.emit(`${R} ${p?"-=":"+="} `),this.mark(e,"step",()=>this.b.emit(String(Math.abs(d))));if(b!==null)this.b.emit(`, ${b}++`)};if(this.b.emit("; "),y!==null)this.b.emit(`${y} > 0 ? ${R} ${l} `),m(),this.b.emit(` : ${R} ${c} `),m();else this.b.emit(`${R} ${p?c:l} `),m();this.b.emit("; "),k(),this.b.emit(")")}forIn(e,t){this.inCtrl(()=>this.forInCtrl(e,t))}forInCtrl(e,t){let[,r,i,n,s,a]=e;this.withBindings(this.loopBindingNames(e),()=>this.forInCore(e,r,i,n,s,a,t))}forInCore(e,t,r,i,n,s,a){this.mark(e,"$self",()=>{let o=(l)=>this.mark(e,"vars",()=>typeof l==="string"?this.emitPrimitive(l):this.withPattern(()=>this.expr(l),!0));if(E(t[0])&&(Me(r)||i!==null))throw this.positionedError(e,"emitter: pattern loop variables with ranges or BY steps are not supported yet");if(Me(r))this.rangedHeader(e,o,t,r,i),this.b.emit(" "),this.guardedBlock(s,n,a);else if(i!==null){let l=t.length===2?t[1]:this.loopTempName("_i"),c=()=>{if(t.length===2)o(l);else this.b.emit(l)},f=(p)=>typeof p==="string"&&/^[0-9.]/.test(p)?p:null,h=f(i)??(E(i)&&i[0]==="+"&&i.length===2?f(i[1]):null),u=E(i)&&i[0]==="-"&&i.length===2?f(i[1]):null;if((h??u)!==null&&Number((h??u).replace(/_/g,""))===0)throw this.positionedError(e,"emitter: a BY step of 0 never advances the loop");let d=this.singleReadIterable(r)?null:this.loopTempName("_ref"),S=()=>{if(d)this.b.emit(`${d} = `),this.expr(r),this.b.emit(", ")},g=()=>{if(d)this.b.emit(d);else this.expr(r)};if(u!==null)if(this.b.emit("for (let "),S(),c(),this.b.emit(" = "),g(),this.b.emit(`.length - 1; ${l} >= 0; `),u==="1")this.mark(e,"step",()=>this.b.emit(`${l}--`));else this.b.emit(`${l} += `),this.mark(e,"step",()=>{this.b.emit("(-"),this.expr(i[1]),this.b.emit(")")});else if(h!==null)if(this.b.emit("for (let "),S(),c(),this.b.emit(` = 0; ${l} < `),g(),this.b.emit(".length; "),i==="1")this.mark(e,"step",()=>this.b.emit(`${l}++`));else this.b.emit(`${l} += `),this.grouped(e,"step",i,T.needsGrouping(i,"operand"));else{let p=this.loopTempName("_step");this.b.emit(`for (let ${p} = `),this.mark(e,"step",()=>this.expr(i)),this.b.emit(", "),S(),c(),this.b.emit(` = ${p} > 0 ? 0 : `),g(),this.b.emit(`.length - 1; ${p} > 0 ? ${l} < `),g(),this.b.emit(`.length : ${p} < 0 && ${l} >= 0; ${l} += ${p}`)}this.b.emit(`) { let `),o(t[0]),this.b.emit(" = "),g(),this.b.emit(`[${l}]; `),this.flatBody(s,n," "),this.b.emit("}")}else if(t.length===2){let l=this.singleReadIterable(r)?null:this.loopTempName("_ref");if(this.b.emit("for (let "),l)this.b.emit(`${l} = `),this.expr(r),this.b.emit(", ");if(o(t[1]),this.b.emit(` = 0; ${t[1]} < `),l)this.b.emit(l);else this.expr(r);if(this.b.emit(`.length; ${t[1]}++) { `),this.b.emit(" ".repeat(a+1)+"let "),o(t[0]),this.b.emit(" = "),l)this.b.emit(l);else this.expr(r);if(this.b.emit(`[${t[1]}]; @@ -113,21 +113,21 @@ ${" ".repeat(a)}`);let f=()=>{if(c)this.b.emit(c);else this.expr(r)};if(this.b. `);return}for(let n of i)this.statement(n,0),this.b.emit(` `)}bodyLines(e,t){let r=this.liveStmts(u1(e)?e.slice(1):[e]);this.emitTsTypeDecls(u1(e)?e.slice(1):[e]," ".repeat(t+1));for(let i of r)this.b.emit(" ".repeat(t+1)),this.statement(i,t+1),this.b.emit(` `)}clauseHeader(e,t,r,i,n,s=null){let a=(c)=>this.mark(e,"vars",()=>typeof c==="string"?this.emitPrimitive(c):this.withPattern(()=>this.expr(c),!0)),o=[];if(t==="for-of"){this.checkForOfPatternKey(r,n===!0);let f=(n===!0||r.length===2)&&!this.singleReadIterable(i)?this.loopTempName("_ref"):null;if(f!==null)this.temps.used.add(f),this.b.emit(`const ${f} = `),this.mark(e,"object",()=>this.expr(i)),this.b.emit(`; -${s??""}`);let h=()=>{if(f)this.b.emit(f);else this.expr(i)};if(this.b.emit("for (let "),a(r[0]),this.b.emit(" in "),f)this.b.emit(f);else this.mark(e,"object",()=>this.expr(i));if(this.b.emit(")"),n===!0)o.push(()=>{this.b.emit("if (!Object.hasOwn("),h(),this.b.emit(`, ${r[0]})) continue;`)});if(r.length===2)o.push(()=>{this.b.emit("let "),a(r[1]),this.b.emit(" = "),h(),this.b.emit(`[${r[0]}];`)});return o}if(t==="for-as"){if(r.length!==1)throw this.positionedError(e,"emitter: for-as takes ONE loop variable — the iterator protocol yields single values (destructure with a pattern instead)");return this.b.emit(n===!0?"for await (let ":"for (let "),a(r[0]),this.b.emit(" of "),this.mark(e,"iterable",()=>this.expr(i)),this.b.emit(")"),o}let l=n;if(E(r[0])&&(Ie(i)||l!==null))throw this.positionedError(e,"emitter: pattern loop variables with ranges or BY steps are not supported yet");if(Ie(i)&&l!==null)return this.rangedByHeader(e,a,r,i,l),o;if(l!==null){let c=r.length===2?r[1]:this.loopTempName("_i"),f=()=>{if(r.length===2)a(c);else this.b.emit(c)},h=(R)=>typeof R==="string"&&/^[0-9.]/.test(R)?R:null,u=h(l)??(E(l)&&l[0]==="+"&&l.length===2?h(l[1]):null),m=E(l)&&l[0]==="-"&&l.length===2?h(l[1]):null;if((u??m)!==null&&Number((u??m).replace(/_/g,""))===0)throw this.positionedError(e,"emitter: a BY step of 0 never advances the loop");let S=this.singleReadIterable(i)?null:this.loopTempName("_ref"),g=()=>{if(S)this.b.emit(`${S} = `),this.expr(i),this.b.emit(", ")},d=()=>{if(S)this.b.emit(S);else this.expr(i)};if(m!==null)if(this.b.emit("for (let "),g(),f(),this.b.emit(" = "),d(),this.b.emit(`.length - 1; ${c} >= 0; `),m==="1")this.mark(e,"step",()=>this.b.emit(`${c}--`));else this.b.emit(`${c} += `),this.mark(e,"step",()=>{this.b.emit("(-"),this.expr(l[1]),this.b.emit(")")});else if(u!==null)if(this.b.emit("for (let "),g(),f(),this.b.emit(` = 0; ${c} < `),d(),this.b.emit(".length; "),l==="1")this.mark(e,"step",()=>this.b.emit(`${c}++`));else this.b.emit(`${c} += `),this.grouped(e,"step",l,T.needsGrouping(l,"operand"));else{let R=this.loopTempName("_step");this.b.emit(`for (let ${R} = `),this.mark(e,"step",()=>this.expr(l)),this.b.emit(", "),g(),f(),this.b.emit(` = ${R} > 0 ? 0 : `),d(),this.b.emit(`.length - 1; ${R} > 0 ? ${c} < `),d(),this.b.emit(`.length : ${R} < 0 && ${c} >= 0; ${c} += ${R}`)}return this.b.emit(")"),o.push(()=>{this.b.emit("let "),a(r[0]),this.b.emit(" = "),d(),this.b.emit(`[${c}];`)}),o}if(r.length===2){let c=this.singleReadIterable(i)?null:this.loopTempName("_ref");if(this.b.emit("for (let "),c)this.b.emit(`${c} = `),this.expr(i),this.b.emit(", ");if(a(r[1]),this.b.emit(` = 0; ${r[1]} < `),c)this.b.emit(c);else this.expr(i);return this.b.emit(`.length; ${r[1]}++)`),o.push(()=>{if(this.b.emit("let "),a(r[0]),this.b.emit(" = "),c)this.b.emit(c);else this.expr(i);this.b.emit(`[${r[1]}];`)}),o}return this.b.emit("for (let "),a(r[0]),this.b.emit(" of "),this.mark(e,"iterable",()=>this.expr(i)),this.b.emit(")"),o}guardOpen(e){this.b.emit("if (");let t=T.needsGrouping(e,"operand")||W1(e);if(t)this.b.emit("(");if(this.expr(e),t)this.b.emit(")");this.b.emit(`) { +${s??""}`);let h=()=>{if(f)this.b.emit(f);else this.expr(i)};if(this.b.emit("for (let "),a(r[0]),this.b.emit(" in "),f)this.b.emit(f);else this.mark(e,"object",()=>this.expr(i));if(this.b.emit(")"),n===!0)o.push(()=>{this.b.emit("if (!Object.hasOwn("),h(),this.b.emit(`, ${r[0]})) continue;`)});if(r.length===2)o.push(()=>{this.b.emit("let "),a(r[1]),this.b.emit(" = "),h(),this.b.emit(`[${r[0]}];`)});return o}if(t==="for-as"){if(r.length!==1)throw this.positionedError(e,"emitter: for-as takes ONE loop variable — the iterator protocol yields single values (destructure with a pattern instead)");return this.b.emit(n===!0?"for await (let ":"for (let "),a(r[0]),this.b.emit(" of "),this.mark(e,"iterable",()=>this.expr(i)),this.b.emit(")"),o}let l=n;if(E(r[0])&&(Me(i)||l!==null))throw this.positionedError(e,"emitter: pattern loop variables with ranges or BY steps are not supported yet");if(Me(i))return this.rangedHeader(e,a,r,i,l),o;if(l!==null){let c=r.length===2?r[1]:this.loopTempName("_i"),f=()=>{if(r.length===2)a(c);else this.b.emit(c)},h=(R)=>typeof R==="string"&&/^[0-9.]/.test(R)?R:null,u=h(l)??(E(l)&&l[0]==="+"&&l.length===2?h(l[1]):null),d=E(l)&&l[0]==="-"&&l.length===2?h(l[1]):null;if((u??d)!==null&&Number((u??d).replace(/_/g,""))===0)throw this.positionedError(e,"emitter: a BY step of 0 never advances the loop");let S=this.singleReadIterable(i)?null:this.loopTempName("_ref"),g=()=>{if(S)this.b.emit(`${S} = `),this.expr(i),this.b.emit(", ")},p=()=>{if(S)this.b.emit(S);else this.expr(i)};if(d!==null)if(this.b.emit("for (let "),g(),f(),this.b.emit(" = "),p(),this.b.emit(`.length - 1; ${c} >= 0; `),d==="1")this.mark(e,"step",()=>this.b.emit(`${c}--`));else this.b.emit(`${c} += `),this.mark(e,"step",()=>{this.b.emit("(-"),this.expr(l[1]),this.b.emit(")")});else if(u!==null)if(this.b.emit("for (let "),g(),f(),this.b.emit(` = 0; ${c} < `),p(),this.b.emit(".length; "),l==="1")this.mark(e,"step",()=>this.b.emit(`${c}++`));else this.b.emit(`${c} += `),this.grouped(e,"step",l,T.needsGrouping(l,"operand"));else{let R=this.loopTempName("_step");this.b.emit(`for (let ${R} = `),this.mark(e,"step",()=>this.expr(l)),this.b.emit(", "),g(),f(),this.b.emit(` = ${R} > 0 ? 0 : `),p(),this.b.emit(`.length - 1; ${R} > 0 ? ${c} < `),p(),this.b.emit(`.length : ${R} < 0 && ${c} >= 0; ${c} += ${R}`)}return this.b.emit(")"),o.push(()=>{this.b.emit("let "),a(r[0]),this.b.emit(" = "),p(),this.b.emit(`[${c}];`)}),o}if(r.length===2){let c=this.singleReadIterable(i)?null:this.loopTempName("_ref");if(this.b.emit("for (let "),c)this.b.emit(`${c} = `),this.expr(i),this.b.emit(", ");if(a(r[1]),this.b.emit(` = 0; ${r[1]} < `),c)this.b.emit(c);else this.expr(i);return this.b.emit(`.length; ${r[1]}++)`),o.push(()=>{if(this.b.emit("let "),a(r[0]),this.b.emit(" = "),c)this.b.emit(c);else this.expr(i);this.b.emit(`[${r[1]}];`)}),o}return this.b.emit("for (let "),a(r[0]),this.b.emit(" of "),this.mark(e,"iterable",()=>this.expr(i)),this.b.emit(")"),o}guardOpen(e){this.b.emit("if (");let t=T.needsGrouping(e,"operand")||W1(e);if(t)this.b.emit("(");if(this.expr(e),t)this.b.emit(")");this.b.emit(`) { `)}comprehension(e,t,r=null){this.withBindings(this.loopBindingNames(e),()=>this.comprehensionCore(e,t,r))}comprehensionCore(e,t,r){this.inCtrl(()=>this.comprehensionCoreCtrl(e,t,r))}comprehensionCoreCtrl(e,t,r){let[,i,[n],s]=e,a=()=>this.mark(e,"value",()=>this.expr(i)),o=r?.expr??r,l=" ".repeat(t);this.rejectYieldInIIFE(e),this.mark(e,"$self",()=>{this.b.emit(T.containsAwait(e)?`await (async () => { `:`(() => { `);let c=this.loopTempName("result");this.b.emit(`${l} const ${c} = ${o===null?"[]":"{}"}; -`),this.b.emit(`${l} `);let[f,h,u,m]=n,S=[],g=this.stores.idOf(e),d=g!==null?this.stores.role(g,"value"):null;if(d!==null&&d.sourceStart!=null)S.push([d.sourceStart,d.sourceEnd]);for(let p of s){let k=E(p)?this.stores.idOf(p):null,I=k!==null?this.stores.selfSpan(k):null;if(I!==null)S.push(I)}let R=S.length>0?()=>{this.primitiveAvoid=null}:()=>{},b=S.length>0?()=>{this.primitiveAvoid=S}:()=>{};b();let _=this.clauseHeader(e,f,h,u,m??null,`${l} `);R(),this.b.emit(` { -`);let y=`${l} `;for(let p of _)this.b.emit(y),b(),p(),R(),this.b.emit(` -`);if(s.length>0)this.b.emit(y),this.guardOpen(s[0]),y+=" ";if(o===null){this.b.emit(`${y}${c}.push(`);let p=T.needsGrouping(i,"operand")||W1(i);if(p)this.b.emit("(");if(a(),p)this.b.emit(")");this.b.emit(`); -`)}else{let p=this.loopTempName("_k"),k=this.loopTempName("_v");this.b.emit(`${y}const ${p} = ${this.runtimeName("__toPropertyKey")}(`);let I=E(o)&&(T.needsGrouping(o,"operand")||W1(o)),A=()=>{if(I)this.b.emit("(");if(this.expr(o),I)this.b.emit(")")};if(r?.pair!==void 0)if(r.keyNode!==null)this.mark(r.pair,"key",()=>this.mark(r.keyNode,"$self",()=>this.mark(r.keyNode,"key",A)));else this.mark(r.pair,"key",A);else A();this.b.emit(`), ${k} = `);let x=T.needsGrouping(i,"operand")||W1(i);if(x)this.b.emit("(");if(a(),x)this.b.emit(")");this.b.emit(`; -`),this.b.emit(`${y}${this.runtimeName("__defineOwnDataProperty")}(${c}, ${p}, ${k}); +`),this.b.emit(`${l} `);let[f,h,u,d]=n,S=[],g=this.stores.idOf(e),p=g!==null?this.stores.role(g,"value"):null;if(p!==null&&p.sourceStart!=null)S.push([p.sourceStart,p.sourceEnd]);for(let m of s){let k=E(m)?this.stores.idOf(m):null,O=k!==null?this.stores.selfSpan(k):null;if(O!==null)S.push(O)}let R=S.length>0?()=>{this.primitiveAvoid=null}:()=>{},b=S.length>0?()=>{this.primitiveAvoid=S}:()=>{};b();let _=this.clauseHeader(e,f,h,u,d??null,`${l} `);R(),this.b.emit(` { +`);let y=`${l} `;for(let m of _)this.b.emit(y),b(),m(),R(),this.b.emit(` +`);if(s.length>0)this.b.emit(y),this.guardOpen(s[0]),y+=" ";if(o===null){this.b.emit(`${y}${c}.push(`);let m=T.needsGrouping(i,"operand")||W1(i);if(m)this.b.emit("(");if(a(),m)this.b.emit(")");this.b.emit(`); +`)}else{let m=this.loopTempName("_k"),k=this.loopTempName("_v");this.b.emit(`${y}const ${m} = ${this.runtimeName("__toPropertyKey")}(`);let O=E(o)&&(T.needsGrouping(o,"operand")||W1(o)),A=()=>{if(O)this.b.emit("(");if(this.expr(o),O)this.b.emit(")")};if(r?.pair!==void 0)if(r.keyNode!==null)this.mark(r.pair,"key",()=>this.mark(r.keyNode,"$self",()=>this.mark(r.keyNode,"key",A)));else this.mark(r.pair,"key",A);else A();this.b.emit(`), ${k} = `);let x=T.needsGrouping(i,"operand")||W1(i);if(x)this.b.emit("(");if(a(),x)this.b.emit(")");this.b.emit(`; +`),this.b.emit(`${y}${this.runtimeName("__defineOwnDataProperty")}(${c}, ${m}, ${k}); `)}if(s.length>0)this.b.emit(`${l} } `);this.b.emit(`${l} } `),this.b.emit(`${l} return ${c}; `),this.b.emit(`${l}})()`)})}static objectComprehension(e){if(e.length!==2)return null;let t=e[1];if(!E(t)||t[0]!==":")return null;if(!(typeof t[1]==="string"||E(t[1])&&t[1][0]==="dynamicKey"))return null;if(!be(t[2]))return null;if(t[2][2][0][0]!=="for-of")return null;return t}static ifArms(e){let t=[],r=e,i=null;while(!0){if(t.push(r),r.length<4)break;if(E(r[3])&&r[3][0]==="if"){r=r[3];continue}i=r[3];break}return{arms:t,elseBlock:i}}static branchStmts(e){return T.stripErased(u1(e)?e.slice(1):[e[0]])}branchLive(e,t=!1){let r=u1(e)?e.slice(1):[e[0]];if(this.ts&&t){for(let i of r)if(E(i)&&i[0]==="type-decl")this.pendingTypeDecls.push(i)}return this.liveStmts(r)}static statementOnly(e){if(typeof e==="string"&&(e==="break"||e==="continue"||e==="debugger"))return!0;return E(e)&&(e[0]==="return"||e[0]==="throw"||g1(e[0]))}static containsReturn(e){if(!E(e))return!1;let t=e[0];if(t==="return")return!0;if(t==="->"||t==="=>"||g1(t)||t==="class")return!1;return e.some((r)=>T.containsReturn(r))}static containsCtrl(e){if(typeof e==="string")return e==="break"||e==="continue";if(!E(e))return!1;let t=e[0];if(t==="break"||t==="continue"||t==="return"||t==="throw")return!0;if(t==="->"||t==="=>"||g1(t)||t==="class")return!1;return e.some((r)=>T.containsCtrl(r))}static ifIsSimple(e){let{arms:t,elseBlock:r}=T.ifArms(e),i=(n)=>{let s=T.branchStmts(n);return s.length===1&&!T.statementOnly(s[0])};return t.every((n)=>i(n[2]))&&(r===null||i(r))}valueIf(e){if(!T.ifIsSimple(e)){let t=this.ind;this.rejectYieldInIIFE(e);let r=T.containsAwait(e);this.b.emit(r?"await (async () => { ":"(() => { "),this.mark(e,"$self",()=>this.returnifyIf(e,t)),this.b.emit(" })()");return}this.mark(e,"$self",()=>this.ifTernary(e))}ifTernary(e){if(this.grouped(e,"condition",e[1],T.needsGrouping(e[1],"operand")||E(e[1])&&(e[1][0]==="await"||e[1][0]==="yield")),this.b.emit(" ? "),this.ternaryArm(e,"then",this.branchLive(e[2],!0)[0]),this.b.emit(" : "),e.length<4)this.b.emit("undefined");else if(E(e[3])&&e[3][0]==="if")this.mark(e,"else",()=>{this.b.emit("("),this.ifTernary(e[3]),this.b.emit(")")});else this.ternaryArm(e,"else",this.branchLive(e[3],!0)[0])}ternaryArm(e,t,r){this.mark(e,t,()=>{let i=T.needsGrouping(r,"operand")||W1(r);if(i)this.b.emit("(");if(this.expr(r),i)this.b.emit(")")})}returnBlock(e,t){let r=this.branchLive(e);this.b.emit(`{ `),this.emitTsTypeDecls(u1(e)?e.slice(1):[e[0]]," ".repeat(t+1)),r.forEach((i,n)=>{if(this.b.emit(" ".repeat(t+1)),n===r.length-1)this.implicitReturn(i,t+1);else this.statement(i,t+1);this.b.emit(` -`)}),this.b.emit(" ".repeat(t)+"}")}returnifyIf(e,t){if(this.b.emit("if ("),this.grouped(e,"condition",e[1],T.needsGrouping(e[1],"operand")),this.b.emit(") "),this.mark(e,"then",()=>this.returnBlock(e[2],t)),e.length>=4)if(this.b.emit(" else "),E(e[3])&&e[3][0]==="if")this.returnifyIf(e[3],t);else this.mark(e,"else",()=>this.returnBlock(e[3],t))}rejectYieldInIIFE(e){if(T.containsYield(e))throw this.positionedError(e,"emitter: yield inside an expression-lowered construct cannot cross the IIFE boundary; restructure as statements");this.rejectCapturedCtrl(e)}static findCapturedCtrl(e,t=m3){let r=null,i=(n,s,a)=>{if(r!==null||!E(n))return;let o=n[0];if(T1(n)||g1(o)||o==="class")return;if(o==="return"){if(t.has("return"))r={kind:"return",node:n};return}let l=ct(n)||be(n)?s+1:s,c=o==="switch"?a+1:a,f=o==="block"||o==="program"||o==="try";for(let h=1;h { ":"(() => { "),this.mark(e,"$self",()=>{this.b.emit("try ");let r=u1(e[1])?e[1]:["block",e[1]];if(this.mark(e,"body",()=>this.returnBlock(r,t)),e.length===2)this.b.emit(" catch {}");for(let i of e.slice(2)){if(!E(i))continue;if(u1(i))this.b.emit(" finally "),this.braceBlock(i,t);else{let[n,s]=i;if(n===null)this.b.emit(" catch "),this.returnBlock(s,t);else if(T.isPattern(n)){this.checkExportedConstWrite(i,n);let a=this.loopTempName("_err");this.b.emit(` catch (${a}`),this.tsScaffoldAny(),this.b.emit(`) { +`)}),this.b.emit(" ".repeat(t)+"}")}returnifyIf(e,t){if(this.b.emit("if ("),this.grouped(e,"condition",e[1],T.needsGrouping(e[1],"operand")),this.b.emit(") "),this.mark(e,"then",()=>this.returnBlock(e[2],t)),e.length>=4)if(this.b.emit(" else "),E(e[3])&&e[3][0]==="if")this.returnifyIf(e[3],t);else this.mark(e,"else",()=>this.returnBlock(e[3],t))}rejectYieldInIIFE(e){if(T.containsYield(e))throw this.positionedError(e,"emitter: yield inside an expression-lowered construct cannot cross the IIFE boundary; restructure as statements");this.rejectCapturedCtrl(e)}static findCapturedCtrl(e,t=d3){let r=null,i=(n,s,a)=>{if(r!==null||!E(n))return;let o=n[0];if(T1(n)||g1(o)||o==="class")return;if(o==="return"){if(t.has("return"))r={kind:"return",node:n};return}let l=ct(n)||be(n)?s+1:s,c=o==="switch"?a+1:a,f=o==="block"||o==="program"||o==="try";for(let h=1;h { ":"(() => { "),this.mark(e,"$self",()=>{this.b.emit("try ");let r=u1(e[1])?e[1]:["block",e[1]];if(this.mark(e,"body",()=>this.returnBlock(r,t)),e.length===2)this.b.emit(" catch {}");for(let i of e.slice(2)){if(!E(i))continue;if(u1(i))this.b.emit(" finally "),this.braceBlock(i,t);else{let[n,s]=i;if(n===null)this.b.emit(" catch "),this.returnBlock(s,t);else if(T.isPattern(n)){this.checkExportedConstWrite(i,n);let a=this.loopTempName("_err");this.b.emit(` catch (${a}`),this.tsScaffoldAny(),this.b.emit(`) { `),this.b.emit(" ".repeat(t+1)+"("),this.mark(i,"binding",()=>this.withPattern(()=>this.expr(n))),this.b.emit(` = ${a}); `);let o=this.branchLive(s);this.emitTsTypeDecls(u1(s)?s.slice(1):[s[0]]," ".repeat(t+1)),o.forEach((l,c)=>{if(this.b.emit(" ".repeat(t+1)),c===o.length-1)this.implicitReturn(l,t+1);else this.statement(l,t+1);this.b.emit(` `)}),this.b.emit(" ".repeat(t)+"}")}else this.b.emit(" catch ("),this.mark(i,"binding",()=>this.b.emit(n)),this.b.emit(") "),this.withBindings([n],()=>this.returnBlock(s,t))}}}),this.b.emit(" })()")}valueSwitch(e){let[,t,r,i]=e,n=this.ind,s=" ".repeat(n);this.rejectYieldInIIFE(e),this.b.emit(T.containsAwait(e)?"await (async () => { ":"(() => { "),this.mark(e,"$self",()=>{if(T.hasMatchArms(r))this.checkMatchSwitch(e),this.matchChain(e,n,(a)=>this.returnBlock(a,n));else if(t!==null){this.b.emit("switch ("),this.mark(e,"subject",()=>this.expr(t)),this.b.emit(`) { @@ -156,28 +156,28 @@ ${s??""}`);let h=()=>{if(f)this.b.emit(f);else this.expr(i)};if(this.b.emit("for `);else this.accumulateBody(n,t,i);this.b.emit(`${r}}`)}),this.b.emit(` `),this.b.emit(`${r}return ${i};`)}ifChain(e,t){if(this.b.emit("if ("),this.mark(e,"condition",()=>this.expr(e[1])),this.b.emit(") "),this.mark(e,"then",()=>this.braceBlock(e[2],t)),e.length===4)this.b.emit(" "),this.mark(e,"else",()=>{this.b.emit("else ");let r=e[3];if(qs(r))this.mark(r,"$self",()=>this.ifChain(r,t));else this.braceBlock(r,t)})}defStatement(e,t){let r=e[0]==="void-def";if(typeof e[1]!=="string")throw this.positionedError(e,"emitter: `def @name` declares a static class method — spell it inside a class body");let i=T.containsAwait(e[3]),n=T.containsYield(e[3]);this.tsOverloadSigs(e,t),this.mark(e,"voidMarker",()=>this.mark(e,"returnType",()=>this.mark(e,"$self",()=>{if(i)this.b.emit("async ");if(this.b.emit(n?"function* ":"function "),this.mark(e,"name",()=>this.b.emit(e[1])),this.ts){let l=this.annotationText(e,"typeParams");if(l!==null)this.b.tsOnly(()=>this.mark(e,"typeParams",()=>this.emitTypeText(e,"typeParams",l)))}this.mark(e,"params",()=>{this.b.emit("("),this.mark(e[2],"$self",()=>this.emitParams(e[2])),this.b.emit(")")}),this.tsReturnAnnotation(e,i,r,n),this.b.emit(" ");let s=this.liveStmts(u1(e[3])?e[3].slice(1):[e[3]],{forwards:!0}),{entries:a,names:o}=this.scopedHoist([e[3]],e[2]);for(let l of this.pushReactiveFrame(s,o,e[2],e))o.add(l);this.scopes.push(o),this.funcBlock(e,e[3],s,t,a,r),this.scopes.pop(),this.rframes.pop()})))}returnStatement(e){if(this.scopes.length<=1)throw this.positionedError(e,"emitter: 'return' outside a function");if(e.length===2&&this.sideEffectOnly)throw this.positionedError(e,`emitter: cannot return a value from a void function (${this.voidReason??"the trailing '!' on its definition suppresses returns"})`);this.mark(e,"$self",()=>{if(this.b.emit("return"),e.length===2)this.b.emit(" "),this.grouped(e,"value",e[1],T.needsGrouping(e[1],"return"))}),this.b.emit(";")}braceBlock(e,t,r=[]){let i=E(e)&&e[0]==="block"?e.slice(1):[e];this.mark(e,"$self",()=>{if(this.b.emit(`{ `),r.length)this.b.emit(" ".repeat(t+1)),this.hoistLine(r," ".repeat(t+1)),this.b.emit(` -`);this.mark(e,"statements",()=>this.statements(i,t+1,"block")),this.b.emit(" ".repeat(t)+"}")})}static containsAwait(e){return Zs(e)}static containsBareIt(e){if(e==="it")return!0;if(!E(e))return!1;let t=e[0];if(t==="->"||t==="=>"||g1(t))return!1;if((t==="."||t==="?.")&&e.length===3)return T.containsBareIt(e[1])||typeof e[2]!=="string"&&T.containsBareIt(e[2]);if(t==="object")return e.slice(1).some((r)=>E(r)&&r[0]===":"&&r.length===3?T.containsBareIt(r[2])||typeof r[1]!=="string"&&T.containsBareIt(r[1]):T.containsBareIt(r));return e.some((r)=>T.containsBareIt(r))}static containsYield(e){return Qs(e)}static jsTier(e){if(!E(e))return"primary";if(e[0]==="cast"&&e.length===3)return T.jsTier(e[1]);if(u3(e))return"assign";if(_n(e)||qs(e)&&e.length<=4&&T.ifIsSimple(e))return"ternary";if(e[0]==="?"&&e.length===2)return"binary";if(e[0]==="presence"&&e.length===2)return"ternary";if(T.isStrRepeat(e))return"primary";if(at(e)||zs(e))return"binary";if(Ys(e))return"unary";if((e[0]==="await"||e[0]==="dammit!")&&e.length===2)return"unary";if(e[0]==="dammit?")return"unary";if(E(e[0])&&e[0][0]==="dammit!")return"unary";if((e[0]==="yield"||e[0]==="yield-from")&&e.length<=2)return"yield";if(T1(e))return"function";if(O1(e))return"object";return"primary"}static needsGrouping(e,t){let r=T.jsTier(e);if(t==="operand"||t==="return"){if(r==="unary")return!(e[0]==="!"||e[0]==="typeof"||e[0]==="await"||e[0]==="dammit!"||e[0]==="dammit?"||E(e[0])&&e[0][0]==="dammit!");if(r==="yield")return t==="operand";return r==="binary"||r==="ternary"||r==="assign"||r==="function"}if(t==="head")return r!=="primary";if(T.leadsWithObject(e))return!0;return r==="object"||W1(e)||r==="function"&&e[0]==="->"||E(e)&&(e[0]==="class"||e[0]==="component")||_n(e)&&!T.ternaryHoists(e)||E(e)&&e[0]==="presence"&&e.length===2||r==="unary"&&e[0]==="delete"}operand(e,t,r){this.grouped(e,t,r,T.needsGrouping(r,"operand"))}head(e,t,r){this.grouped(e,t,r,T.needsGrouping(r,"head"))}static isIntegerLiteral(e){return typeof e==="string"&&e.charCodeAt(0)>=48&&e.charCodeAt(0)<=57&&/^[0-9][0-9_]*$/.test(e)}grouped(e,t,r,i){if(i)this.b.emit("(");if(this.mark(e,t,()=>this.expr(r)),i)this.b.emit(")")}static escapeTemplate(e){return e.replace(/\\[^]|`|\$\{/g,(t)=>t==="`"||t==="${"?`\\${t}`:t)}static MAX_EXPR_DEPTH=1024;expr(e){if(++this.exprDepth>T.MAX_EXPR_DEPTH){let t=this.positionedError(e,`emitter: expression nesting exceeds ${T.MAX_EXPR_DEPTH} levels — restructure the expression (the compile-time nesting bound)`);if(typeof t.start!=="number"&&this.b.currentMark)t.start=this.b.currentMark.sourceStart,t.end=this.b.currentMark.sourceEnd;throw t}try{this.exprCore(e)}finally{this.exprDepth--}}exprCore(e){if(!E(e)){if(typeof e==="string"){let r=this.bareRewrite(e);if(r==="reactive")return this.reactiveRead(e);if(r==="member")this.notePlainRenderRead(e);if(r!==null)this.checkBareRest(e,e);if(r!==null)return this.memberRead(e,r==="member-reactive");if(e==="this"&&this.renderSelf!==null)return this.b.emit(this.renderSelf)}if((e==="break"||e==="continue")&&this.ctrlDepth===0){let r=this.positionedError(e,`emitter: '${e}' outside a loop${e==="break"?" or switch":""}`);if(typeof r.start!=="number"&&this.b.currentMark)r.start=this.b.currentMark.sourceStart,r.end=this.b.currentMark.sourceEnd;throw r}if(typeof e==="string")this.emitPrimitive(e);else this.b.emit(e);return}let t=e[0];if(t==="str"&&this.lockedHead(e,"str"))return this.strTemplate(e);if(t==="tagged-template"&&e.length===3)return this.taggedTemplate(e);if(t==="here-regex")return this.heregex(e);if(E(t))return this.call(e);if(nt(t)&&e.length===3&&!this.inPattern&&T.sliceTarget(e[1])!==null)throw this.sliceAssignError(e);if(nt(t)&&e.length===3&&!this.inPattern){let r=T.optionalGuard(e[1]);if(r!==null)return this.optionalAssign(e,r,"value")}if(M1.has(t)&&e.length===3)return this.assign(e);if((t==="."||t==="?.")&&e.length===3)return this.member(e);if((t===".{}"||t==="?.{}")&&e.length>=3)return this.pick(e);if(t==="[]"&&e.length===3)return this.index(e);if(t==="optindex"&&e.length===3&&this.lockedHead(e,"optindex"))return this.optIndex(e);if(t==="optcall"&&this.lockedHead(e,"optcall"))return this.optCall(e);if(T1(e))return this.func(e);if(W1(e))return this.update(e);if(_n(e))return this.ternary(e);if(t==="array"&&this.lockedHead(e,"array"))return this.array(e);if(t==="object"&&this.lockedHead(e,"object"))return this.object(e);if(Ie(e))return this.range(e);if((t==="in"||t==="of"||t==="!in"||t==="!of"||t==="!instanceof")&&e.length===3)return this.relation(e);if(t==="instanceof"&&e.length===3){this.mark(e,"$self",()=>{this.operand(e,"left",e[1]),this.b.emit(" "),this.mark(e,"operator",()=>this.b.emit("instanceof")),this.b.emit(" "),this.operand(e,"right",e[2])});return}if(t==="//"&&e.length===3)return this.floorDiv(e);if(t==="%%"&&e.length===3)return this.modulo(e);if(t==="//="&&e.length===3)return this.floorDivAssign(e);if(t==="=~"&&e.length===3)return this.matchOp(e);if(t==="map"&&this.lockedHead(e,"map"))return this.mapLiteral(e);if(t==="regex-index"&&e.length===4){if(!(typeof e[2]==="string"&&e[2][0]==="/"))throw this.positionedError(e,"emitter: a two-part index is the regex-capture form (`text[/re/, n]`) — its key must be a regex literal");return this.regexIndex(e,e[1],e[2],e[3])}if(t==="symbol"&&e.length===2&&this.lockedHead(e,"symbol"))return this.mark(e,"$self",()=>{let r=JSON.stringify(e[1]);if(r===`"${e[1]}"`)this.b.emit('Symbol.for("'),this.emitPrimitive(e[1]),this.b.emit('")');else this.b.emit(`Symbol.for(${r})`)});if(t===".="&&e.length===3)throw this.positionedError(e,`emitter: ${t} is a statement — its target is spelled twice (write + read), which has no single-expression form`);if(t==="%%="&&e.length===3)return this.moduloAssign(e);if(be(e))return this.comprehension(e,this.ind);if(t==="do-iife"&&e.length===2)return this.doIife(e);if(t==="cast"&&e.length===3)return this.cast(e);if(t==="?"&&e.length===2)return this.existence(e);if(t==="presence"&&e.length===2&&this.lockedHead(e,"presence"))return this.presence(e);if(t==="await"&&e.length===2)return this.awaitExpr(e);if(t==="dammit!"&&e.length===2)return this.dammit(e);if(t==="dammit?")return this.maybeDammit(e);if((t==="yield"||t==="yield-from")&&e.length<=2)return this.yieldExpr(e);if(t==="class")return this.classExpr(e);if(this.isReactiveDecl(e)){let r=t==="state"?":=":"~=";throw this.positionedError(e,`emitter: a reactive declaration ('${typeof e[1]==="string"?e[1]:"…"} ${r} …') is a statement — it lowers to a const declaration, which has no expression form`)}if(this.isGateDecl(e))throw this.positionedError(e,"emitter: a render gate ('<~') can only be used as a direct component body line");if(this.isReadonlyDecl(e))throw this.positionedError(e,`emitter: a readonly declaration ('${typeof e[1]==="string"?e[1]:"…"} =! …') is a statement — it lowers to a const declaration, which has no expression form`);if(this.isEffectDecl(e)){if(e[1]!==null)throw this.positionedError(e,`emitter: a bound effect ('${typeof e[1]==="string"?e[1]:"…"} ~> …') is a statement — it lowers to a const declaration, which has no expression form ; a BARE '~> …' is the expression form`);this.mark(e,"$self",()=>this.effectValue(e,e[2],this.ind,!0));return}if(t==="schema"&&e.length===2)return this.schemaExpr(e);if(this.isComponentDecl(e))return this.componentExpr(e);if(this.isRenderNode(e))throw this.positionedError(e,"emitter: render blocks can only be used inside a component (as a direct body line)");if(this.isOfferNode(e))throw this.positionedError(e,"emitter: offer can only be used as a direct component body line");if(this.isAcceptNode(e))throw this.positionedError(e,"emitter: accept can only be used as a direct component body line");if(t==="super")return this.superCall(e);if(t==="new"&&e.length===2)return this.newExpr(e);if(t==="..."&&e.length===2)return this.spread(e);if(at(e))return this.binary(e);if(Ys(e))return this.unary(e);if(t==="block"){this.mark(e,"$self",()=>{this.b.emit("("),e.slice(1).forEach((r,i)=>{if(i>0)this.b.emit(", ");this.expr(r)}),this.b.emit(")")});return}if(t==="if"&&e.length>=3&&e.length<=4)return this.valueIf(e);if(t==="try")return this.valueTry(e);if(t==="switch"&&e.length===4)return this.valueSwitch(e);if(t==="while"&&(e.length===3||e.length===4))return this.accumulatorIIFE(e);if(t==="loop"&&e.length===2)return this.accumulatorIIFE(e);if(t==="loop-n"&&e.length===3)return this.accumulatorIIFE(e);if((t==="for-in"||t==="for-of"||t==="for-as")&&e.length===6)return this.accumulatorIIFE(e);if(t==="throw"&&e.length===2){this.rejectYieldInIIFE(e),this.mark(e,"$self",()=>{this.b.emit(T.containsAwait(e)?"await (async () => { throw ":"(() => { throw "),this.mark(e,"value",()=>this.expr(e[1])),this.b.emit("; })()")});return}if(g1(t)||t==="return"||t==="program"&&this.lockedHead(e,"program"))throw this.positionedError(e,`emitter: '${t}' is not supported in expression position`);if(t==="type-decl"||T.isTypedWrapper(e))throw this.positionedError(e,"emitter: an erased type statement reached expression position — a statement list missed its filter");return this.call(e)}static optionalGuard(e){if(!E(e)||e.length!==3)return null;if(e[0]==="?."||e[0]==="optindex")return e;if(e[0]==="."||e[0]==="[]")return T.optionalGuard(e[1]);return null}repeatSafeValue(e,t=null){if(typeof e!=="string")return!1;if(e==="this")return!0;if(e[0]==="/")return!1;if(!X1(e))return!0;if(T.LITERAL_WORDS.has(e))return!0;if(t!==null&&t.has(e))return!0;return this.lexicallyBound(e)}lexicallyBound(e){for(let t=this.rframes.length-1;t>=0;t--){let r=this.rframes[t];if(r.reactive.has(e)||r.bound.has(e))return!0;if(r.members!==void 0&&r.members.has(e))return!0}return this.inScope(e)||this.moduleBound.has(e)}singleReadIterable(e,t=null){if(this.repeatSafeValue(e,t))return!0;if(!E(e))return!1;if(e[0]==="array")return e.slice(1).every((r)=>this.singleReadIterable(r,t));return!1}scopeBoundary(e){if(!E(e)||g1(e[0])||T1(e))return"skip";if(e[0]==="component"&&e.length===3)return"skip";if(e[0]==="enum")return"skip";if(this.isEffectDecl(e))return"effect";if(this.isReactiveDecl(e))return"reactive";if(this.isReadonlyDecl(e))return"readonly";if(e[0]==="class")return"class";if(e[0]==="for-in"||e[0]==="for-of"||e[0]==="for-as")return"loop";if(be(e))return"comprehension";if(e[0]==="try")return"try";return null}static planNeedsFor(e){if(!E(e)||e.length!==3)return null;let t=e[0],r=t==="//="||t==="%%=";if(!r&&!M1.has(t))return null;let i=T.optionalGuard(e[1]);if(i===null&&!r)return null;if(i===null&&!(E(e[1])&&(e[1][0]==="."||e[1][0]==="[]")&&e[1].length===3))return null;return{synth:r,optLink:i}}planReferenceTemps(e,t){let r=[],i=(o)=>{let l=this.loopTempName(o);return this.temps.used.add(l),l},n=(o,l,c)=>{let f=this.refPlans.get(o);if(f!==void 0){for(let m of[f.recv,f.obj,f.key])if(m!==null)r.push([m,o,"$self"]);return}let h=(m)=>this.repeatSafeValue(m,c)||t.has(m),u={recv:null,obj:null,key:null};if(l.optLink!==null&&!h(l.optLink[1]))u.recv=i("_ref");if(l.synth){let m=s(o,l,u),S=m[1];if(!(typeof S==="string"&&(S===u.recv||h(S))))u.obj=i("_o");if((m[0]==="[]"||m[0]==="optindex")&&!h(m[2]))u.key=i("_k")}if(u.recv===null&&u.obj===null&&u.key===null)return;this.refPlans.set(o,u);for(let m of[u.recv,u.obj,u.key])if(m!==null)r.push([m,o,"$self"])},s=(o,l,c)=>{let f=o[1];if(l.optLink!==null&&f===l.optLink)return[f[0],c.recv??f[1],f[2]];return f},a=(o,l)=>{let c=this.scopeBoundary(o);if(c==="skip"||c==="effect")return;if(c==="reactive"){if(!(o[0]==="computed"&&u1(o[2])&&o[2].length>2))a(o[2],l);return}if(c==="readonly"){a(o[2],l);return}if(c==="class"){if(o[2]!=null)a(o[2],l);return}if(c==="loop"){let h=new Set(l);for(let u of this.patternNames(o[1],[],!0))h.add(u);for(let u of o.slice(2))a(u,h);return}if(c==="comprehension"){let h=new Set(l);for(let u of o[2]??[])for(let m of this.patternNames(u[1],[],!0))h.add(m);a(o[1],h);for(let u of o[2]??[])a(u[2],h);for(let u of o[3]??[])a(u,h);return}if(c==="try"){for(let h of o.slice(2)){if(E(h)&&h.length===2&&T.isPattern(h[0])){let u=new Set(l);for(let m of this.patternNames(h[0]))u.add(m);a(h[1],u);continue}a(h,l)}a(o[1],l);return}let f=T.planNeedsFor(o);if(f!==null)n(o,f,l);for(let h of o)a(h,l)};for(let o of e)a(o,new Set);return r}optionalAssign(e,t,r){this.checkMemberWrite(e,e[1]);let i=e[0],n=i==="//="||i==="%%=",s=this.refPlans.get(e)??{recv:null,obj:null,key:null};if(s.recv===null&&!this.repeatSafeValue(t[1]))throw this.positionedError(e,"emitter: reference plan missing for an optional assignment with an impure receiver — a capture site the planner walk did not reach");let a=(h)=>{if(h===t)return this.stores.alias([h[0],s.recv??h[1],h[2]],h);return E(h)?this.stores.alias(h.map(a),h):h},o=a(e[1]),l=()=>{if(s.recv!==null)this.b.emit(`(${s.recv} = `),this.mark(t,"object",()=>this.withExpression(()=>this.expr(t[1]))),this.b.emit(")");else this.mark(t,"object",()=>this.expr(t[1]))},c=()=>this.mark(e,"value",()=>this.withExpression(()=>this.expr(e[2]))),f=()=>{if(!n){(()=>this.mark(e,"target",()=>this.withTarget(()=>this.withDeopt(()=>this.expr(o)))))(),this.b.emit(" "),this.mark(e,"operator",()=>this.b.emit(i)),this.b.emit(" "),c();return}let h=null;if(s.obj!==null)this.b.emit(`${s.obj} = `),this.mark(o,"object",()=>this.withDeopt(()=>this.expr(o[1]))),this.b.emit(", "),h=s.obj;if(s.key!==null)this.b.emit(`${s.key} = `),this.mark(o,"key",()=>this.withExpression(()=>this.expr(o[2]))),this.b.emit(", ");let u=["[]","."].includes(o[0])||o[0]==="?."||o[0]==="optindex"?this.stores.alias([o[0],h??o[1],s.key??o[2]],e[1]):o,m=()=>this.mark(e,"target",()=>this.withTarget(()=>this.withDeopt(()=>this.expr(u))));m(),this.b.emit(" "),this.mark(e,"operator",()=>this.b.emit("=")),this.b.emit(" "),this.mark(e,"operator",()=>{this.b.emit(i==="//="?"Math.floor(":T.MODULO+"("),m(),this.b.emit(i==="//="?" / ":", "),this.operand(e,"value",e[2]),this.b.emit(")")})};this.mark(e,"$self",()=>{if(r==="statement")this.b.emit("if ("),l(),this.b.emit(" != null) "),f();else l(),this.b.emit(" != null ? ("),f(),this.b.emit(") : undefined")})}sliceAssignError(e){if(e[0]==="=")return this.positionedError(e,"emitter: a slice assignment (`a[i..j] = v`) is a statement — it splices the range in place and has no value form; move it to its own line");return this.positionedError(e,`emitter: a slice takes plain assignment only (\`a[i..j] = v\`) — '${e[0]}' has no in-place reading`)}assign(e){if(typeof e[1]==="string"&&e[1][0]==='"')throw this.positionedError(e,'emitter: a string is not an assignment target — a string-NAMED member (`"data-src" = v`) lives in a class body');let t=T.isPattern(e[1]),r=T.declaresInPlace.has(e),i=O1(e[1])&&!this.inPattern&&!r;if(typeof e[1]==="string"&&this.isComputedName(e[1]))throw this.positionedError(e,`emitter: cannot assign to computed '${e[1]}' — a '~=' binding derives from its dependencies; write to those instead`);if(typeof e[1]==="string"&&this.isAmbientReadonly(e[1]))throw this.positionedError(e,`emitter: cannot assign to readonly '${e[1]}' — a '=!' binding never changes after its declaration`);if(T.middleRestPattern(e[1]))throw this.positionedError(e,"emitter: a middle-rest pattern (`[a, ...mid, b]`) assigns only as a STATEMENT — "+"it binds its source once and reads by index, which has no expression form; move the assignment to its own line");if(!this.inPattern)this.checkExportedConstWrite(e,e[1]);if(this.checkMemberWrite(e,e[1]),e[0]==="void-assign")this.registerVoidValue(e[2],e);{let n=c3(e),s=n!==null?this.annotationText(e):null;if(s!==null){let a=(c)=>{let f=this.stores.idOf(e),h=f!==null?this.stores.role(f,"annotation"):null;return h!==null&&h.sourceStart!=null?this.positionedErrorAt(h.sourceStart,h.sourceEnd,c):this.positionedError(e,c)};if(e!==this.moduleTopStmt)throw a("emitter: an annotated prototype member must be a module top-level statement — "+"the annotation manifests as an interface augmentation, which TypeScript admits only at a module's top level; move the write there or drop the annotation");let o=(()=>{let c=this.stores.idOf(e),f=c!==null?this.stores.selfSpan(c):null,h=f!==null?this.stores.primitiveSpans(n.member,f[0],f[1])[0]??null:null;return h===null?null:{id:c,start:h.sourceStart,end:h.sourceEnd}})(),l=(c,f)=>{if(this.b.emit(c),o!==null)this.b.markSpan(o.id,"identifier",o.start,o.end,()=>this.b.emit(n.member));else this.b.emit(n.member);this.emitTypeText(e,"annotation",f)};if(this.moduleClassNames?.has(n.head)){if(this.ts)this.b.tsOnly(()=>this.mark(e,"annotation",()=>l(`interface ${n.head} { `,`: ${s} } +`);this.mark(e,"statements",()=>this.statements(i,t+1,"block")),this.b.emit(" ".repeat(t)+"}")})}static containsAwait(e){return Zs(e)}static containsBareIt(e){if(e==="it")return!0;if(!E(e))return!1;let t=e[0];if(t==="->"||t==="=>"||g1(t))return!1;if((t==="."||t==="?.")&&e.length===3)return T.containsBareIt(e[1])||typeof e[2]!=="string"&&T.containsBareIt(e[2]);if(t==="object")return e.slice(1).some((r)=>E(r)&&r[0]===":"&&r.length===3?T.containsBareIt(r[2])||typeof r[1]!=="string"&&T.containsBareIt(r[1]):T.containsBareIt(r));return e.some((r)=>T.containsBareIt(r))}static containsYield(e){return Qs(e)}static jsTier(e){if(!E(e))return"primary";if(e[0]==="cast"&&e.length===3)return T.jsTier(e[1]);if(u3(e))return"assign";if(_n(e)||qs(e)&&e.length<=4&&T.ifIsSimple(e))return"ternary";if(e[0]==="?"&&e.length===2)return"binary";if(e[0]==="presence"&&e.length===2)return"ternary";if(T.isStrRepeat(e))return"primary";if(at(e)||zs(e))return"binary";if(Ys(e))return"unary";if((e[0]==="await"||e[0]==="dammit!")&&e.length===2)return"unary";if(e[0]==="dammit?")return"unary";if(E(e[0])&&e[0][0]==="dammit!")return"unary";if((e[0]==="yield"||e[0]==="yield-from")&&e.length<=2)return"yield";if(T1(e))return"function";if(O1(e))return"object";return"primary"}static needsGrouping(e,t){let r=T.jsTier(e);if(t==="operand"||t==="return"){if(r==="unary")return!(e[0]==="!"||e[0]==="typeof"||e[0]==="await"||e[0]==="dammit!"||e[0]==="dammit?"||E(e[0])&&e[0][0]==="dammit!");if(r==="yield")return t==="operand";return r==="binary"||r==="ternary"||r==="assign"||r==="function"}if(t==="head")return r!=="primary";if(T.leadsWithObject(e))return!0;return r==="object"||W1(e)||r==="function"&&e[0]==="->"||E(e)&&(e[0]==="class"||e[0]==="component")||_n(e)&&!T.ternaryHoists(e)||E(e)&&e[0]==="presence"&&e.length===2||r==="unary"&&e[0]==="delete"}operand(e,t,r){this.grouped(e,t,r,T.needsGrouping(r,"operand"))}head(e,t,r){this.grouped(e,t,r,T.needsGrouping(r,"head"))}static isIntegerLiteral(e){return typeof e==="string"&&e.charCodeAt(0)>=48&&e.charCodeAt(0)<=57&&/^[0-9][0-9_]*$/.test(e)}grouped(e,t,r,i){if(i)this.b.emit("(");if(this.mark(e,t,()=>this.expr(r)),i)this.b.emit(")")}static escapeTemplate(e){return e.replace(/\\[^]|`|\$\{/g,(t)=>t==="`"||t==="${"?`\\${t}`:t)}static MAX_EXPR_DEPTH=1024;expr(e){if(++this.exprDepth>T.MAX_EXPR_DEPTH){let t=this.positionedError(e,`emitter: expression nesting exceeds ${T.MAX_EXPR_DEPTH} levels — restructure the expression (the compile-time nesting bound)`);if(typeof t.start!=="number"&&this.b.currentMark)t.start=this.b.currentMark.sourceStart,t.end=this.b.currentMark.sourceEnd;throw t}try{this.exprCore(e)}finally{this.exprDepth--}}exprCore(e){if(!E(e)){if(typeof e==="string"){let r=this.bareRewrite(e);if(r==="reactive")return this.reactiveRead(e);if(r==="member")this.notePlainRenderRead(e);if(r!==null)this.checkBareRest(e,e);if(r!==null)return this.memberRead(e,r==="member-reactive");if(e==="this"&&this.renderSelf!==null)return this.b.emit(this.renderSelf)}if((e==="break"||e==="continue")&&this.ctrlDepth===0){let r=this.positionedError(e,`emitter: '${e}' outside a loop${e==="break"?" or switch":""}`);if(typeof r.start!=="number"&&this.b.currentMark)r.start=this.b.currentMark.sourceStart,r.end=this.b.currentMark.sourceEnd;throw r}if(typeof e==="string")this.emitPrimitive(e);else this.b.emit(e);return}let t=e[0];if(t==="str"&&this.lockedHead(e,"str"))return this.strTemplate(e);if(t==="tagged-template"&&e.length===3)return this.taggedTemplate(e);if(t==="here-regex")return this.heregex(e);if(E(t))return this.call(e);if(nt(t)&&e.length===3&&!this.inPattern&&T.sliceTarget(e[1])!==null)throw this.sliceAssignError(e);if(nt(t)&&e.length===3&&!this.inPattern){let r=T.optionalGuard(e[1]);if(r!==null)return this.optionalAssign(e,r,"value")}if(M1.has(t)&&e.length===3)return this.assign(e);if((t==="."||t==="?.")&&e.length===3)return this.member(e);if((t===".{}"||t==="?.{}")&&e.length>=3)return this.pick(e);if(t==="[]"&&e.length===3)return this.index(e);if(t==="optindex"&&e.length===3&&this.lockedHead(e,"optindex"))return this.optIndex(e);if(t==="optcall"&&this.lockedHead(e,"optcall"))return this.optCall(e);if(T1(e))return this.func(e);if(W1(e))return this.update(e);if(_n(e))return this.ternary(e);if(t==="array"&&this.lockedHead(e,"array"))return this.array(e);if(t==="object"&&this.lockedHead(e,"object"))return this.object(e);if(Me(e))return this.range(e);if((t==="in"||t==="of"||t==="!in"||t==="!of"||t==="!instanceof")&&e.length===3)return this.relation(e);if(t==="instanceof"&&e.length===3){this.mark(e,"$self",()=>{this.operand(e,"left",e[1]),this.b.emit(" "),this.mark(e,"operator",()=>this.b.emit("instanceof")),this.b.emit(" "),this.operand(e,"right",e[2])});return}if(t==="//"&&e.length===3)return this.floorDiv(e);if(t==="%%"&&e.length===3)return this.modulo(e);if(t==="//="&&e.length===3)return this.floorDivAssign(e);if(t==="=~"&&e.length===3)return this.matchOp(e);if(t==="map"&&this.lockedHead(e,"map"))return this.mapLiteral(e);if(t==="regex-index"&&e.length===4){if(!(typeof e[2]==="string"&&e[2][0]==="/"))throw this.positionedError(e,"emitter: a two-part index is the regex-capture form (`text[/re/, n]`) — its key must be a regex literal");return this.regexIndex(e,e[1],e[2],e[3])}if(t==="symbol"&&e.length===2&&this.lockedHead(e,"symbol"))return this.mark(e,"$self",()=>{let r=JSON.stringify(e[1]);if(r===`"${e[1]}"`)this.b.emit('Symbol.for("'),this.emitPrimitive(e[1]),this.b.emit('")');else this.b.emit(`Symbol.for(${r})`)});if(t===".="&&e.length===3)throw this.positionedError(e,`emitter: ${t} is a statement — its target is spelled twice (write + read), which has no single-expression form`);if(t==="%%="&&e.length===3)return this.moduloAssign(e);if(be(e))return this.comprehension(e,this.ind);if(t==="do-iife"&&e.length===2)return this.doIife(e);if(t==="cast"&&e.length===3)return this.cast(e);if(t==="?"&&e.length===2)return this.existence(e);if(t==="presence"&&e.length===2&&this.lockedHead(e,"presence"))return this.presence(e);if(t==="await"&&e.length===2)return this.awaitExpr(e);if(t==="dammit!"&&e.length===2)return this.dammit(e);if(t==="dammit?")return this.maybeDammit(e);if((t==="yield"||t==="yield-from")&&e.length<=2)return this.yieldExpr(e);if(t==="class")return this.classExpr(e);if(this.isReactiveDecl(e)){let r=t==="state"?":=":"~=";throw this.positionedError(e,`emitter: a reactive declaration ('${typeof e[1]==="string"?e[1]:"…"} ${r} …') is a statement — it lowers to a const declaration, which has no expression form`)}if(this.isGateDecl(e))throw this.positionedError(e,"emitter: a render gate ('<~') can only be used as a direct component body line");if(this.isReadonlyDecl(e))throw this.positionedError(e,`emitter: a readonly declaration ('${typeof e[1]==="string"?e[1]:"…"} =! …') is a statement — it lowers to a const declaration, which has no expression form`);if(this.isEffectDecl(e)){if(e[1]!==null)throw this.positionedError(e,`emitter: a bound effect ('${typeof e[1]==="string"?e[1]:"…"} ~> …') is a statement — it lowers to a const declaration, which has no expression form ; a BARE '~> …' is the expression form`);this.mark(e,"$self",()=>this.effectValue(e,e[2],this.ind,!0));return}if(t==="schema"&&e.length===2)return this.schemaExpr(e);if(this.isComponentDecl(e))return this.componentExpr(e);if(this.isRenderNode(e))throw this.positionedError(e,"emitter: render blocks can only be used inside a component (as a direct body line)");if(this.isOfferNode(e))throw this.positionedError(e,"emitter: offer can only be used as a direct component body line");if(this.isAcceptNode(e))throw this.positionedError(e,"emitter: accept can only be used as a direct component body line");if(t==="super")return this.superCall(e);if(t==="new"&&e.length===2)return this.newExpr(e);if(t==="..."&&e.length===2)return this.spread(e);if(at(e))return this.binary(e);if(Ys(e))return this.unary(e);if(t==="block"){this.mark(e,"$self",()=>{this.b.emit("("),e.slice(1).forEach((r,i)=>{if(i>0)this.b.emit(", ");this.expr(r)}),this.b.emit(")")});return}if(t==="if"&&e.length>=3&&e.length<=4)return this.valueIf(e);if(t==="try")return this.valueTry(e);if(t==="switch"&&e.length===4)return this.valueSwitch(e);if(t==="while"&&(e.length===3||e.length===4))return this.accumulatorIIFE(e);if(t==="loop"&&e.length===2)return this.accumulatorIIFE(e);if(t==="loop-n"&&e.length===3)return this.accumulatorIIFE(e);if((t==="for-in"||t==="for-of"||t==="for-as")&&e.length===6)return this.accumulatorIIFE(e);if(t==="throw"&&e.length===2){this.rejectYieldInIIFE(e),this.mark(e,"$self",()=>{this.b.emit(T.containsAwait(e)?"await (async () => { throw ":"(() => { throw "),this.mark(e,"value",()=>this.expr(e[1])),this.b.emit("; })()")});return}if(g1(t)||t==="return"||t==="program"&&this.lockedHead(e,"program"))throw this.positionedError(e,`emitter: '${t}' is not supported in expression position`);if(t==="type-decl"||T.isTypedWrapper(e))throw this.positionedError(e,"emitter: an erased type statement reached expression position — a statement list missed its filter");return this.call(e)}static optionalGuard(e){if(!E(e)||e.length!==3)return null;if(e[0]==="?."||e[0]==="optindex")return e;if(e[0]==="."||e[0]==="[]")return T.optionalGuard(e[1]);return null}repeatSafeValue(e,t=null){if(typeof e!=="string")return!1;if(e==="this")return!0;if(e[0]==="/")return!1;if(!X1(e))return!0;if(T.LITERAL_WORDS.has(e))return!0;if(t!==null&&t.has(e))return!0;return this.lexicallyBound(e)}lexicallyBound(e){for(let t=this.rframes.length-1;t>=0;t--){let r=this.rframes[t];if(r.reactive.has(e)||r.bound.has(e))return!0;if(r.members!==void 0&&r.members.has(e))return!0}return this.inScope(e)||this.moduleBound.has(e)}singleReadIterable(e,t=null){if(this.repeatSafeValue(e,t))return!0;if(!E(e))return!1;if(e[0]==="array")return e.slice(1).every((r)=>this.singleReadIterable(r,t));return!1}scopeBoundary(e){if(!E(e)||g1(e[0])||T1(e))return"skip";if(e[0]==="component"&&e.length===3)return"skip";if(e[0]==="enum")return"skip";if(this.isEffectDecl(e))return"effect";if(this.isReactiveDecl(e))return"reactive";if(this.isReadonlyDecl(e))return"readonly";if(e[0]==="class")return"class";if(e[0]==="for-in"||e[0]==="for-of"||e[0]==="for-as")return"loop";if(be(e))return"comprehension";if(e[0]==="try")return"try";return null}static planNeedsFor(e){if(!E(e)||e.length!==3)return null;let t=e[0],r=t==="//="||t==="%%=";if(!r&&!M1.has(t))return null;let i=T.optionalGuard(e[1]);if(i===null&&!r)return null;if(i===null&&!(E(e[1])&&(e[1][0]==="."||e[1][0]==="[]")&&e[1].length===3))return null;return{synth:r,optLink:i}}planReferenceTemps(e,t){let r=[],i=(o)=>{let l=this.loopTempName(o);return this.temps.used.add(l),l},n=(o,l,c)=>{let f=this.refPlans.get(o);if(f!==void 0){for(let d of[f.recv,f.obj,f.key])if(d!==null)r.push([d,o,"$self"]);return}let h=(d)=>this.repeatSafeValue(d,c)||t.has(d),u={recv:null,obj:null,key:null};if(l.optLink!==null&&!h(l.optLink[1]))u.recv=i("_ref");if(l.synth){let d=s(o,l,u),S=d[1];if(!(typeof S==="string"&&(S===u.recv||h(S))))u.obj=i("_o");if((d[0]==="[]"||d[0]==="optindex")&&!h(d[2]))u.key=i("_k")}if(u.recv===null&&u.obj===null&&u.key===null)return;this.refPlans.set(o,u);for(let d of[u.recv,u.obj,u.key])if(d!==null)r.push([d,o,"$self"])},s=(o,l,c)=>{let f=o[1];if(l.optLink!==null&&f===l.optLink)return[f[0],c.recv??f[1],f[2]];return f},a=(o,l)=>{let c=this.scopeBoundary(o);if(c==="skip"||c==="effect")return;if(c==="reactive"){if(!(o[0]==="computed"&&u1(o[2])&&o[2].length>2))a(o[2],l);return}if(c==="readonly"){a(o[2],l);return}if(c==="class"){if(o[2]!=null)a(o[2],l);return}if(c==="loop"){let h=new Set(l);for(let u of this.patternNames(o[1],[],!0))h.add(u);for(let u of o.slice(2))a(u,h);return}if(c==="comprehension"){let h=new Set(l);for(let u of o[2]??[])for(let d of this.patternNames(u[1],[],!0))h.add(d);a(o[1],h);for(let u of o[2]??[])a(u[2],h);for(let u of o[3]??[])a(u,h);return}if(c==="try"){for(let h of o.slice(2)){if(E(h)&&h.length===2&&T.isPattern(h[0])){let u=new Set(l);for(let d of this.patternNames(h[0]))u.add(d);a(h[1],u);continue}a(h,l)}a(o[1],l);return}let f=T.planNeedsFor(o);if(f!==null)n(o,f,l);for(let h of o)a(h,l)};for(let o of e)a(o,new Set);return r}optionalAssign(e,t,r){this.checkMemberWrite(e,e[1]);let i=e[0],n=i==="//="||i==="%%=",s=this.refPlans.get(e)??{recv:null,obj:null,key:null};if(s.recv===null&&!this.repeatSafeValue(t[1]))throw this.positionedError(e,"emitter: reference plan missing for an optional assignment with an impure receiver — a capture site the planner walk did not reach");let a=(h)=>{if(h===t)return this.stores.alias([h[0],s.recv??h[1],h[2]],h);return E(h)?this.stores.alias(h.map(a),h):h},o=a(e[1]),l=()=>{if(s.recv!==null)this.b.emit(`(${s.recv} = `),this.mark(t,"object",()=>this.withExpression(()=>this.expr(t[1]))),this.b.emit(")");else this.mark(t,"object",()=>this.expr(t[1]))},c=()=>this.mark(e,"value",()=>this.withExpression(()=>this.expr(e[2]))),f=()=>{if(!n){(()=>this.mark(e,"target",()=>this.withTarget(()=>this.withDeopt(()=>this.expr(o)))))(),this.b.emit(" "),this.mark(e,"operator",()=>this.b.emit(i)),this.b.emit(" "),c();return}let h=null;if(s.obj!==null)this.b.emit(`${s.obj} = `),this.mark(o,"object",()=>this.withDeopt(()=>this.expr(o[1]))),this.b.emit(", "),h=s.obj;if(s.key!==null)this.b.emit(`${s.key} = `),this.mark(o,"key",()=>this.withExpression(()=>this.expr(o[2]))),this.b.emit(", ");let u=["[]","."].includes(o[0])||o[0]==="?."||o[0]==="optindex"?this.stores.alias([o[0],h??o[1],s.key??o[2]],e[1]):o,d=()=>this.mark(e,"target",()=>this.withTarget(()=>this.withDeopt(()=>this.expr(u))));d(),this.b.emit(" "),this.mark(e,"operator",()=>this.b.emit("=")),this.b.emit(" "),this.mark(e,"operator",()=>{this.b.emit(i==="//="?"Math.floor(":T.MODULO+"("),d(),this.b.emit(i==="//="?" / ":", "),this.operand(e,"value",e[2]),this.b.emit(")")})};this.mark(e,"$self",()=>{if(r==="statement")this.b.emit("if ("),l(),this.b.emit(" != null) "),f();else l(),this.b.emit(" != null ? ("),f(),this.b.emit(") : undefined")})}sliceAssignError(e){if(e[0]==="=")return this.positionedError(e,"emitter: a slice assignment (`a[i..j] = v`) is a statement — it splices the range in place and has no value form; move it to its own line");return this.positionedError(e,`emitter: a slice takes plain assignment only (\`a[i..j] = v\`) — '${e[0]}' has no in-place reading`)}assign(e){if(typeof e[1]==="string"&&e[1][0]==='"')throw this.positionedError(e,'emitter: a string is not an assignment target — a string-NAMED member (`"data-src" = v`) lives in a class body');let t=T.isPattern(e[1]),r=T.declaresInPlace.has(e),i=O1(e[1])&&!this.inPattern&&!r;if(typeof e[1]==="string"&&this.isComputedName(e[1]))throw this.positionedError(e,`emitter: cannot assign to computed '${e[1]}' — a '~=' binding derives from its dependencies; write to those instead`);if(typeof e[1]==="string"&&this.isAmbientReadonly(e[1]))throw this.positionedError(e,`emitter: cannot assign to readonly '${e[1]}' — a '=!' binding never changes after its declaration`);if(T.middleRestPattern(e[1]))throw this.positionedError(e,"emitter: a middle-rest pattern (`[a, ...mid, b]`) assigns only as a STATEMENT — "+"it binds its source once and reads by index, which has no expression form; move the assignment to its own line");if(!this.inPattern)this.checkExportedConstWrite(e,e[1]);if(this.checkMemberWrite(e,e[1]),e[0]==="void-assign")this.registerVoidValue(e[2],e);{let n=c3(e),s=n!==null?this.annotationText(e):null;if(s!==null){let a=(c)=>{let f=this.stores.idOf(e),h=f!==null?this.stores.role(f,"annotation"):null;return h!==null&&h.sourceStart!=null?this.positionedErrorAt(h.sourceStart,h.sourceEnd,c):this.positionedError(e,c)};if(e!==this.moduleTopStmt)throw a("emitter: an annotated prototype member must be a module top-level statement — "+"the annotation manifests as an interface augmentation, which TypeScript admits only at a module's top level; move the write there or drop the annotation");let o=(()=>{let c=this.stores.idOf(e),f=c!==null?this.stores.selfSpan(c):null,h=f!==null?this.stores.primitiveSpans(n.member,f[0],f[1])[0]??null:null;return h===null?null:{id:c,start:h.sourceStart,end:h.sourceEnd}})(),l=(c,f)=>{if(this.b.emit(c),o!==null)this.b.markSpan(o.id,"identifier",o.start,o.end,()=>this.b.emit(n.member));else this.b.emit(n.member);this.emitTypeText(e,"annotation",f)};if(this.moduleClassNames?.has(n.head)){if(this.ts)this.b.tsOnly(()=>this.mark(e,"annotation",()=>l(`interface ${n.head} { `,`: ${s} } `)))}else if(!this.scopes[0].has(n.head)){let c=l3[n.head]??"";if(this.ts)this.b.tsOnly(()=>this.mark(e,"annotation",()=>l(`declare global { interface ${n.head}${c} { `,`: ${s} } } -`)))}else throw a(`emitter: the annotation on \`${n.head}::${n.member}\` cannot augment — `+`\`${n.head}\` is a module binding, not a class declaration, so the interface has nothing to merge with; declare \`class ${n.head}\`, drop the annotation, or describe the member in a workspace .d.ts`)}}if(r)this.b.emit("let ");this.mark(e,"voidMarker",()=>this.mark(e,"annotation",()=>this.mark(e,"$self",()=>{if(i)this.b.emit("(");if(this.mark(e,"target",()=>{if(t)this.withPattern(()=>this.expr(e[1]));else this.withTarget(()=>this.expr(e[1]))}),this.ts&&r){let l=T.inlineOwners.get(e),c=this.annotationText(e)??(l!==void 0?this.annotationText(l):null);if(c!==null)this.tsAnnotate(l??e,"annotation",c);else{let f=this.schemaStories?.get(e);if(f&&!f.decl.exported&&f.constType!==null){let h=this.bindingNameSpan(e,"target",f.decl.name);this.b.tsOnly(()=>{this.b.emit(": "),this.emitNamedCopies(f.constType,f.decl.name,h?.id??null,h?.span??null)})}}}this.b.emit(" "),this.mark(e,"operator",()=>this.b.emit(e[0]==="void-assign"?"=":e[0])),this.b.emit(" ");let n=this._schemaName,s=this._componentName,a=this._componentTypeParams;if(this._componentTypeParams=null,E(e[2])&&e[2][0]==="schema"&&typeof e[1]==="string")this._schemaName=e[1];if(this.isComponentDecl(e[2])&&typeof e[1]==="string"){this._componentName=e[1];let l=this.annotationText(e,"typeParams");this._componentTypeParams=l===null?null:{text:l,owner:e}}let o=this.ts&&this.strict&&this.pinnedWrites.has(e);if(o)this.b.tsOnly(()=>this.b.emit("("));if(this.mark(e,"value",()=>this.withExpression(()=>this.expr(e[2]))),o)this.b.tsOnly(()=>this.b.emit(") satisfies unknown"));if(this._schemaName=n,this._componentName=s,this._componentTypeParams=a,i)this.b.emit(")")})))}reactiveDecl(e,t){let[r,i,n]=e,s=r==="state"?":=":"~=";if(typeof i!=="string")throw this.positionedError(e,`emitter: a reactive declaration takes a plain name — ' ${s} …' cannot declare a ${E(i)&&i[0]==="object"?"destructuring pattern":E(i)&&i[0]==="array"?"destructuring pattern":"member or index target"}`);if(r==="state"&&i==="__state"||r==="computed"&&i==="__computed")throw this.positionedError(e,`emitter: '${i} ${s} …' would bind the very runtime name its own lowering calls (const ${i} = ${i}(…) — a TDZ self-reference); rename the variable`);if(r==="computed"&&T.containsAwait(n))throw this.positionedError(e,"emitter: a computed ('~=') body cannot await — computeds evaluate synchronously (make it a state written by an effect)");if(r==="computed"&&T.containsYield(n))throw this.positionedError(e,"emitter: a computed ('~=') body cannot yield — computeds evaluate synchronously");this.mark(e,"annotation",()=>this.mark(e,"$self",()=>{this.b.emit("const ");let a=this.b.offset;if(this.mark(e,"target",()=>this.b.emit(i)),r==="state"&&this.ts)this.mutables.push([a,this.b.offset]);if(this.ts)this.noteKind(e,"target",r==="state"?"state":"computed");if(this.ts&&this.annotationText(e)!==null){let c=r==="computed"?"readonly ":"";this.tsAnnotate(e,"annotation",Sn(this.annotationText(e),c,Rn))}else if(this.ts){let c=Ds(n);if(c!==null){let f=r==="computed"?"readonly ":"";this.b.tsOnly(()=>this.b.emit(`: ${Sn(c,f,Rn)}`))}}this.b.emit(" "),this.mark(e,"operator",()=>this.b.emit("=")),this.b.emit(" ");let o=this.ts?this.annotationText(e):null,l=()=>{if(o===null)return;this.b.tsOnly(()=>this.mark(e,"annotation",()=>this.emitTypeText(e,"annotation",`<${o}>`)))};if(r==="state")this.b.emit(this.runtimeName("__state")),l(),this.b.emit("("),this.mark(e,"value",()=>this.withExpression(()=>{let c=T.needsGrouping(n,"operand");if(c)this.b.emit("(");if(this.expr(n),c)this.b.emit(")")})),this.b.emit(")");else this.b.emit(this.runtimeName("__computed")),l(),this.b.emit("(() => "),this.mark(e,"value",()=>this.withExpression(()=>this.computedBody(e,n,t))),this.b.emit(")")})),this.b.emit(";")}computedBody(e,t,r){if(u1(t)&&t.length>2){let n=this.liveStmts(t.slice(1),{forwards:!0}),{entries:s,names:a}=this.scopedHoist(n,[]);for(let o of this.pushReactiveFrame(n,a))a.add(o);this.scopes.push(a),this.funcBlock(e,t,n,r,s),this.scopes.pop(),this.rframes.pop();return}let i=T.needsGrouping(t,"operand")||O1(t);if(i)this.b.emit("(");if(this.expr(t),i)this.b.emit(")")}readonlyDecl(e,t){let[,r,i]=e;if(typeof r!=="string")throw this.positionedError(e,`emitter: a readonly declaration takes a plain name — ' =! …' cannot declare a ${E(r)&&(r[0]==="object"||r[0]==="array")?"destructuring pattern":"member or index target"}`);this.mark(e,"annotation",()=>this.mark(e,"$self",()=>{if(this.b.emit("const "),this.mark(e,"target",()=>this.b.emit(r)),this.ts)this.noteKind(e,"target","readonly");if(this.ts&&this.annotationText(e)!==null)this.tsAnnotate(e,"annotation",this.annotationText(e));this.b.emit(" "),this.mark(e,"operator",()=>this.b.emit("=")),this.b.emit(" "),this.mark(e,"value",()=>this.withExpression(()=>{let n=T.needsGrouping(i,"operand");if(n)this.b.emit("(");if(this.expr(i),n)this.b.emit(")")}))})),this.b.emit(";")}effectStatement(e,t){let[,r,i]=e;if(r!==null&&typeof r!=="string")throw this.positionedError(e,`emitter: an effect handle takes a plain name — ' ~> …' cannot bind a ${E(r)&&(r[0]==="object"||r[0]==="array")?"destructuring pattern":"member or index target"}`);if(r==="__effect")throw this.positionedError(e,"emitter: '__effect ~> …' would bind the very runtime name its own lowering calls (const __effect = __effect(…) — a TDZ self-reference); rename the handle");this.mark(e,"annotation",()=>this.mark(e,"$self",()=>{if(r!==null){if(this.b.emit("const "),this.mark(e,"target",()=>this.b.emit(r)),this.ts)this.noteKind(e,"target","effect");if(this.ts&&this.annotationText(e)!==null)this.tsAnnotate(e,"annotation",this.annotationText(e));this.b.emit(" "),this.mark(e,"operator",()=>this.b.emit("=")),this.b.emit(" "),this.effectValue(e,i,t,!1)}else this.effectValue(e,i,t,!0)})),this.b.emit(";")}static findRenderControl(e){if(!E(e))return null;let t=e[0];if(t==="await"||t==="dammit!"||t==="dammit?"||t==="yield"||t==="yield-from")return e;if(t==="for-as"&&e[3]===!0)return e;if(t==="->"||t==="=>"||g1(t)||t==="class")return null;for(let r of e){let i=T.findRenderControl(r);if(i!==null)return i}return null}effectValue(e,t,r,i){if(T.effectBodyYields(t))throw this.positionedError(e,"emitter: an effect ('~>') body cannot yield — the runtime calls the effect function (make the generator a named function the effect calls)");let n=()=>{let l=this.runtimeName("__effect");if(i)this.mark(e,"operator",()=>this.b.emit(l));else this.b.emit(l)};if(T1(t)){n(),this.b.emit("("),this.mark(e,"value",()=>this.withExpression(()=>{let l=t[0]==="->";if(l)this.b.emit("(");if(this.expr(t),l)this.b.emit(")")})),this.b.emit(")");return}let s=T.containsAwait(t);if(n(),this.b.emit(s?"(async () => ":"(() => "),u1(t)){this.mark(e,"value",()=>this.withExpression(()=>{let l=this.liveStmts(t.slice(1),{forwards:!0}),{entries:c,names:f}=this.scopedHoist(l,[]);for(let h of this.pushReactiveFrame(l,f))f.add(h);this.scopes.push(f),this.funcBlock(e,t,l,r,c),this.scopes.pop(),this.rframes.pop()})),this.b.emit(")");return}let{entries:a,names:o}=this.scopedHoist([t],[]);if(this.checkScopeRedeclarations([t],[],e),this.scopes.push(o),this.rframes.push({reactive:new Set,bound:o}),this.b.emit("{ "),a.length)this.hoistLine(a),this.b.emit(" ");this.mark(e,"value",()=>this.withExpression(()=>{let l=T.needsGrouping(t,"operand")||O1(t);if(l)this.b.emit("(");if(this.expr(t),l)this.b.emit(")")})),this.b.emit("; })"),this.scopes.pop(),this.rframes.pop()}static effectBodyYields(e){return T1(e)?T.containsYield(e[2]):T.containsYield(e)}static COMPONENT_HOOKS=i3;static BOOLEAN_ATTRS=Fi;static SVG_NS="http://www.w3.org/2000/svg";isComponentDecl(e){return T.isComponentDeclIn(this.stores,e)}static isComponentDeclIn(e,t){if(!E(t)||t[0]!=="component"||t.length!==3)return!1;let r=e.idOf(t);return(r!==null?e.node(r)?.semanticKind:null)==="component"}componentKindOf(e,t,r){if(!E(e)||e[0]!==t||e.length!==r)return!1;let i=this.stores.idOf(e);return(i!==null?this.stores.node(i)?.semanticKind:null)===t}isRenderNode(e){return this.componentKindOf(e,"render",2)}isOfferNode(e){return this.componentKindOf(e,"offer",2)}isAcceptNode(e){return this.componentKindOf(e,"accept",2)}static memberTarget(e){if(typeof e==="string")return{name:e,isPublic:!1};if(E(e)&&e[0]==="."&&e[1]==="this"&&e.length===3&&typeof e[2]==="string")return{name:e[2],isPublic:!0};return null}static gateChain(e){let t=[],r=e;while(E(r)&&r[0]==="."&&r.length===3&&typeof r[2]==="string")t.unshift(r[2]),r=r[1];if(typeof r!=="string")return null;return t.unshift(r),t}static gateSource(e){let t=e[2],r=e.slice(3);if(r.length>1)return{error:"arity",node:e};let i=r[0]??null,n=T.gateChain(t);if(n===null||n.length<3||n[0]!=="this"||n[1]!=="stash")return{error:"path",node:t};let s=n.slice(2).join(".");if(i===null)return{path:s,pathNode:t,key:null,keyCode:null,keyParts:null};if(typeof i==="string"&&(/^-?(?:\d+(?:\.\d+)?|\.\d+)$/.test(i.replace(/_/g,""))||/^["'][^]*["']$/.test(i)||i==="true"||i==="false"))return{path:s,pathNode:t,key:i,keyCode:i,keyParts:null};let a=T.gateChain(i);if(a===null)return{error:"key",node:i};if(a[0]==="this")a.shift();if(a[0]!=="params"&&a[0]!=="query"||a.length<2)return{error:"key",node:i};return{path:s,pathNode:t,key:i,keyCode:a.join("."),keyParts:a}}static hmrFingerprint(e){let t=JSON.stringify(e),r=2166136261;for(let i=0;i>>0).toString(16).padStart(8,"0")}emitComponentHmrMeta(e,{bindingName:t,declaredProps:r,stateVars:i,derivedVars:n,gateVars:s,extendsTag:a,methods:o,hooks:l,hasRender:c}){let f=(p)=>[...p].sort(),h=f(r),u=f(i.map((p)=>p.name)),m=f(n.map((p)=>p.name)),S=f(o.map((p)=>p.name)),g=f(l.map((p)=>p.name)),d=s.length,R=T.hmrFingerprint({props:h,state:u,computed:m,gates:d,extends:a}),b=T.hmrFingerprint({methods:S,hooks:g,render:c}),_=`${this.modulePath}#${t}`,y={shape:R,impl:b,state:u,computed:m,props:h,gates:d,extends:a};this.b.emit(`${e}static __hmrId = ${JSON.stringify(_)}; +`)))}else throw a(`emitter: the annotation on \`${n.head}::${n.member}\` cannot augment — `+`\`${n.head}\` is a module binding, not a class declaration, so the interface has nothing to merge with; declare \`class ${n.head}\`, drop the annotation, or describe the member in a workspace .d.ts`)}}if(r)this.b.emit("let ");this.mark(e,"voidMarker",()=>this.mark(e,"annotation",()=>this.mark(e,"$self",()=>{if(i)this.b.emit("(");if(this.mark(e,"target",()=>{if(t)this.withPattern(()=>this.expr(e[1]));else this.withTarget(()=>this.expr(e[1]))}),this.ts&&r){let l=T.inlineOwners.get(e),c=this.annotationText(e)??(l!==void 0?this.annotationText(l):null);if(c!==null)this.tsAnnotate(l??e,"annotation",c);else{let f=this.schemaStories?.get(e);if(f&&!f.decl.exported&&f.constType!==null){let h=this.bindingNameSpan(e,"target",f.decl.name);this.b.tsOnly(()=>{this.b.emit(": "),this.emitNamedCopies(f.constType,f.decl.name,h?.id??null,h?.span??null)})}}}this.b.emit(" "),this.mark(e,"operator",()=>this.b.emit(e[0]==="void-assign"?"=":e[0])),this.b.emit(" ");let n=this._schemaName,s=this._componentName,a=this._componentTypeParams;if(this._componentTypeParams=null,E(e[2])&&e[2][0]==="schema"&&typeof e[1]==="string")this._schemaName=e[1];if(this.isComponentDecl(e[2])&&typeof e[1]==="string"){this._componentName=e[1];let l=this.annotationText(e,"typeParams");this._componentTypeParams=l===null?null:{text:l,owner:e}}let o=this.ts&&this.strict&&this.pinnedWrites.has(e);if(o)this.b.tsOnly(()=>this.b.emit("("));if(this.mark(e,"value",()=>this.withExpression(()=>this.expr(e[2]))),o)this.b.tsOnly(()=>this.b.emit(") satisfies unknown"));if(this._schemaName=n,this._componentName=s,this._componentTypeParams=a,i)this.b.emit(")")})))}reactiveDecl(e,t){let[r,i,n]=e,s=r==="state"?":=":"~=";if(typeof i!=="string")throw this.positionedError(e,`emitter: a reactive declaration takes a plain name — ' ${s} …' cannot declare a ${E(i)&&i[0]==="object"?"destructuring pattern":E(i)&&i[0]==="array"?"destructuring pattern":"member or index target"}`);if(r==="state"&&i==="__state"||r==="computed"&&i==="__computed")throw this.positionedError(e,`emitter: '${i} ${s} …' would bind the very runtime name its own lowering calls (const ${i} = ${i}(…) — a TDZ self-reference); rename the variable`);if(r==="computed"&&T.containsAwait(n))throw this.positionedError(e,"emitter: a computed ('~=') body cannot await — computeds evaluate synchronously (make it a state written by an effect)");if(r==="computed"&&T.containsYield(n))throw this.positionedError(e,"emitter: a computed ('~=') body cannot yield — computeds evaluate synchronously");this.mark(e,"annotation",()=>this.mark(e,"$self",()=>{this.b.emit("const ");let a=this.b.offset;if(this.mark(e,"target",()=>this.b.emit(i)),r==="state"&&this.ts)this.mutables.push([a,this.b.offset]);if(this.ts)this.noteKind(e,"target",r==="state"?"state":"computed");if(this.ts&&this.annotationText(e)!==null){let c=r==="computed"?"readonly ":"";this.tsAnnotate(e,"annotation",Sn(this.annotationText(e),c,Rn))}else if(this.ts){let c=Ds(n);if(c!==null){let f=r==="computed"?"readonly ":"";this.b.tsOnly(()=>this.b.emit(`: ${Sn(c,f,Rn)}`))}}this.b.emit(" "),this.mark(e,"operator",()=>this.b.emit("=")),this.b.emit(" ");let o=this.ts?this.annotationText(e):null,l=()=>{if(o===null)return;this.b.tsOnly(()=>this.mark(e,"annotation",()=>this.emitTypeText(e,"annotation",`<${o}>`)))};if(r==="state")this.b.emit(this.runtimeName("__state")),l(),this.b.emit("("),this.mark(e,"value",()=>this.withExpression(()=>{let c=T.needsGrouping(n,"operand");if(c)this.b.emit("(");if(this.expr(n),c)this.b.emit(")")})),this.b.emit(")");else this.b.emit(this.runtimeName("__computed")),l(),this.b.emit("(() => "),this.mark(e,"value",()=>this.withExpression(()=>this.computedBody(e,n,t))),this.b.emit(")")})),this.b.emit(";")}computedBody(e,t,r){if(u1(t)&&t.length>2){let n=this.liveStmts(t.slice(1),{forwards:!0}),{entries:s,names:a}=this.scopedHoist(n,[]);for(let o of this.pushReactiveFrame(n,a))a.add(o);this.scopes.push(a),this.funcBlock(e,t,n,r,s),this.scopes.pop(),this.rframes.pop();return}let i=T.needsGrouping(t,"operand")||O1(t);if(i)this.b.emit("(");if(this.expr(t),i)this.b.emit(")")}readonlyDecl(e,t){let[,r,i]=e;if(typeof r!=="string")throw this.positionedError(e,`emitter: a readonly declaration takes a plain name — ' =! …' cannot declare a ${E(r)&&(r[0]==="object"||r[0]==="array")?"destructuring pattern":"member or index target"}`);this.mark(e,"annotation",()=>this.mark(e,"$self",()=>{if(this.b.emit("const "),this.mark(e,"target",()=>this.b.emit(r)),this.ts)this.noteKind(e,"target","readonly");if(this.ts&&this.annotationText(e)!==null)this.tsAnnotate(e,"annotation",this.annotationText(e));this.b.emit(" "),this.mark(e,"operator",()=>this.b.emit("=")),this.b.emit(" "),this.mark(e,"value",()=>this.withExpression(()=>{let n=T.needsGrouping(i,"operand");if(n)this.b.emit("(");if(this.expr(i),n)this.b.emit(")")}))})),this.b.emit(";")}effectStatement(e,t){let[,r,i]=e;if(r!==null&&typeof r!=="string")throw this.positionedError(e,`emitter: an effect handle takes a plain name — ' ~> …' cannot bind a ${E(r)&&(r[0]==="object"||r[0]==="array")?"destructuring pattern":"member or index target"}`);if(r==="__effect")throw this.positionedError(e,"emitter: '__effect ~> …' would bind the very runtime name its own lowering calls (const __effect = __effect(…) — a TDZ self-reference); rename the handle");this.mark(e,"annotation",()=>this.mark(e,"$self",()=>{if(r!==null){if(this.b.emit("const "),this.mark(e,"target",()=>this.b.emit(r)),this.ts)this.noteKind(e,"target","effect");if(this.ts&&this.annotationText(e)!==null)this.tsAnnotate(e,"annotation",this.annotationText(e));this.b.emit(" "),this.mark(e,"operator",()=>this.b.emit("=")),this.b.emit(" "),this.effectValue(e,i,t,!1)}else this.effectValue(e,i,t,!0)})),this.b.emit(";")}static findRenderControl(e){if(!E(e))return null;let t=e[0];if(t==="await"||t==="dammit!"||t==="dammit?"||t==="yield"||t==="yield-from")return e;if(t==="for-as"&&e[3]===!0)return e;if(t==="->"||t==="=>"||g1(t)||t==="class")return null;for(let r of e){let i=T.findRenderControl(r);if(i!==null)return i}return null}effectValue(e,t,r,i){if(T.effectBodyYields(t))throw this.positionedError(e,"emitter: an effect ('~>') body cannot yield — the runtime calls the effect function (make the generator a named function the effect calls)");let n=()=>{let l=this.runtimeName("__effect");if(i)this.mark(e,"operator",()=>this.b.emit(l));else this.b.emit(l)};if(T1(t)){n(),this.b.emit("("),this.mark(e,"value",()=>this.withExpression(()=>{let l=t[0]==="->";if(l)this.b.emit("(");if(this.expr(t),l)this.b.emit(")")})),this.b.emit(")");return}let s=T.containsAwait(t);if(n(),this.b.emit(s?"(async () => ":"(() => "),u1(t)){this.mark(e,"value",()=>this.withExpression(()=>{let l=this.liveStmts(t.slice(1),{forwards:!0}),{entries:c,names:f}=this.scopedHoist(l,[]);for(let h of this.pushReactiveFrame(l,f))f.add(h);this.scopes.push(f),this.funcBlock(e,t,l,r,c),this.scopes.pop(),this.rframes.pop()})),this.b.emit(")");return}let{entries:a,names:o}=this.scopedHoist([t],[]);if(this.checkScopeRedeclarations([t],[],e),this.scopes.push(o),this.rframes.push({reactive:new Set,bound:o}),this.b.emit("{ "),a.length)this.hoistLine(a),this.b.emit(" ");this.mark(e,"value",()=>this.withExpression(()=>{let l=T.needsGrouping(t,"operand")||O1(t);if(l)this.b.emit("(");if(this.expr(t),l)this.b.emit(")")})),this.b.emit("; })"),this.scopes.pop(),this.rframes.pop()}static effectBodyYields(e){return T1(e)?T.containsYield(e[2]):T.containsYield(e)}static COMPONENT_HOOKS=i3;static BOOLEAN_ATTRS=Fi;static SVG_NS="http://www.w3.org/2000/svg";isComponentDecl(e){return T.isComponentDeclIn(this.stores,e)}static isComponentDeclIn(e,t){if(!E(t)||t[0]!=="component"||t.length!==3)return!1;let r=e.idOf(t);return(r!==null?e.node(r)?.semanticKind:null)==="component"}componentKindOf(e,t,r){if(!E(e)||e[0]!==t||e.length!==r)return!1;let i=this.stores.idOf(e);return(i!==null?this.stores.node(i)?.semanticKind:null)===t}isRenderNode(e){return this.componentKindOf(e,"render",2)}isOfferNode(e){return this.componentKindOf(e,"offer",2)}isAcceptNode(e){return this.componentKindOf(e,"accept",2)}static memberTarget(e){if(typeof e==="string")return{name:e,isPublic:!1};if(E(e)&&e[0]==="."&&e[1]==="this"&&e.length===3&&typeof e[2]==="string")return{name:e[2],isPublic:!0};return null}static gateChain(e){let t=[],r=e;while(E(r)&&r[0]==="."&&r.length===3&&typeof r[2]==="string")t.unshift(r[2]),r=r[1];if(typeof r!=="string")return null;return t.unshift(r),t}static gateSource(e){let t=e[2],r=e.slice(3);if(r.length>1)return{error:"arity",node:e};let i=r[0]??null,n=T.gateChain(t);if(n===null||n.length<3||n[0]!=="this"||n[1]!=="stash")return{error:"path",node:t};let s=n.slice(2).join(".");if(i===null)return{path:s,pathNode:t,key:null,keyCode:null,keyParts:null};if(typeof i==="string"&&(/^-?(?:\d+(?:\.\d+)?|\.\d+)$/.test(i.replace(/_/g,""))||/^["'][^]*["']$/.test(i)||i==="true"||i==="false"))return{path:s,pathNode:t,key:i,keyCode:i,keyParts:null};let a=T.gateChain(i);if(a===null)return{error:"key",node:i};if(a[0]==="this")a.shift();if(a[0]!=="params"&&a[0]!=="query"||a.length<2)return{error:"key",node:i};return{path:s,pathNode:t,key:i,keyCode:a.join("."),keyParts:a}}static hmrFingerprint(e){let t=JSON.stringify(e),r=2166136261;for(let i=0;i>>0).toString(16).padStart(8,"0")}emitComponentHmrMeta(e,{bindingName:t,declaredProps:r,stateVars:i,derivedVars:n,gateVars:s,extendsTag:a,methods:o,hooks:l,hasRender:c}){let f=(m)=>[...m].sort(),h=f(r),u=f(i.map((m)=>m.name)),d=f(n.map((m)=>m.name)),S=f(o.map((m)=>m.name)),g=f(l.map((m)=>m.name)),p=s.length,R=T.hmrFingerprint({props:h,state:u,computed:d,gates:p,extends:a}),b=T.hmrFingerprint({methods:S,hooks:g,render:c}),_=`${this.modulePath}#${t}`,y={shape:R,impl:b,state:u,computed:d,props:h,gates:p,extends:a};this.b.emit(`${e}static __hmrId = ${JSON.stringify(_)}; `),this.b.emit(`${e}static __hmrSig = ${JSON.stringify(y)}; -`)}componentExpr(e){let[,t,r]=e,i=null;if(t!==null){let N=typeof t==="string"?t:null;if(N===null||!Q1(N)||N.includes("#"))throw this.positionedError(e,"emitter: 'component extends' takes an HTML tag — rest props forward onto the first '' element the "+`render creates; '${typeof t==="string"?t:"…"}' is not one (component-to-component inheritance is not a surface)`);i=N}if(this.ts){let N=this.stores.idOf(e)??null,C=N!==null?this.stores.selfSpan(N):null,w=this.b.source;if(C!==null&&w!==null&&w.startsWith("component",C[0])){if(this.silences.push([C[0],C[0]+9]),i!==null){let D=/^component(\s+)extends(\s+)/.exec(w.slice(C[0],C[1]));if(D!==null&&w.startsWith(i,C[0]+D[0].length)){let B=C[0]+9+D[1].length;this.silences.push([B,B+7]);let a1=C[0]+D[0].length;this.intrinsics.push({start:a1,end:a1+i.length,kind:"tag",tag:i,svg:!1})}}}}let n=u1(r)?r.slice(1):[],s=[],a=[],o=[],l=[],c=[],f=[],h=[],u=[],m=[],S=[],g=null,d=new Map,R=new Set,b=new Map,_=(N,C,w,D)=>{if(b.has(N))throw this.positionedError(w,`emitter: duplicate component member '${N}' — it is already declared in this component body; `+"duplicates clobber silently across kinds",e);if(s3.has(N))throw this.positionedError(w,`emitter: component member '${N}' collides with component runtime state — `+"the runtime owns this exact instance field; rename the member",e);if(N==="_init"||N==="_create"||N==="_setup"||/^create_block_\d+$/.test(N))throw this.positionedError(w,`emitter: component member '${N}' collides with the generated lifecycle machinery — '_init', `+"'_create', '_setup', and 'create_block_N' are the class methods the component lowering emits (a same-named member would silently replace the generated one at runtime); rename the member",e);if(N==="mount"||N==="unmount"||N==="emit")throw this.positionedError(w,`emitter: component member '${N}' collides with the component runtime API — 'mount', 'unmount', `+"and 'emit' are __Component's own methods, and the machinery calls them on every instance (a same-named member would silently shadow them); rename the member",e);if(b.set(N,w),C!=="hook"){if(d.set(N,C),D)R.add(N)}},y=(N)=>{let C="emitter: a component body line must be a member declaration — state (`x := v`, `@x := v`), a prop (`@x`, `@x?`), "+"computed (`x ~= e`), readonly (`x =! v`), a plain field (`x = v`), a method (`save = (e) ->`), a lifecycle hook "+"(beforeMount/mounted/beforeUnmount/unmounted/onError), an effect (`~> …`), `offer`/`accept`, or `render` — "+"this statement matches no category",w=this.b.source;if((!E(N)||this.stores.idOf(N)===null)&&w!==null){let D=(f1)=>{let z=E(f1)?this.stores.idOf(f1):null;return z!==null?this.stores.selfSpan(z):null},B=n.indexOf(N),a1=D(r),h1=null;for(let f1=B-1;f1>=0&&h1===null;f1--)h1=D(n[f1])?.[1]??null;if(h1===null)h1=a1?.[0]??null;if(h1!==null){while(h1h1&&/\s/.test(w[f1-1]))f1--;throw this.positionedErrorAt(h1,f1,C)}}throw this.positionedError(N,C,e)},p=(N,C,w,D)=>{let B=this.stores.idOf(N),a1=B!==null?this.stores.role(B,C):null;if(a1?.sourceStart!=null)throw this.positionedErrorAt(a1.sourceStart,a1.sourceEnd,D);throw this.positionedError(w,D,N,e)},k=(N,C)=>{if(this.isRenderNode(N)){if(C)I(N);if(g!==null)throw this.positionedError(N,"emitter: duplicate render block — a component takes exactly one",e);let w=T.findRenderControl(N);if(w!==null)throw this.positionedError(w,"emitter: a render body evaluates synchronously — 'await'/'yield' cannot appear in a render expression "+"(text, attributes, props, and event listeners emit into non-async generated scopes); compute the value into a member (a state written by an effect), or make the handler a function ('-> await ...')",N);g=N;return}if(this.isAcceptNode(N)){if(C)I(N);this.noteHeadKeyword("context-channel","accept",N),_(N[1],"accept",N,!0),S.push(N[1]);return}if(this.isGateDecl(N)){if(C)I(N);let w=T.memberTarget(N[1]);if(w===null)p(N,"target",N[1],"emitter: a render gate ('<~') target must be one private component name — patterns and member chains cannot name a gate");if(w.isPublic)p(N,"target",N[1],`emitter: render gate '${w.name}' must be private — '@${w.name} <~ …' would expose route-prefetched state as a caller prop; remove '@' and pass an explicit prop where public input is intended`);let D=T.gateSource(N);if(D.error==="arity")p(N,"key",D.node,"emitter: a keyed render gate takes exactly one key argument — use @stash.name(params.id)");if(D.error==="path")p(N,"rhs",D.node,"emitter: '<~' requires a literal @stash. on the right-hand side, optionally called with one key");if(D.error==="key")p(N,"key",D.node,"emitter: a keyed render gate key may only be a literal or a params/query path (for example params.id or @query.tab)");_(w.name,"gate",N,!0),c.push({name:w.name,...D,node:N});return}if(this.isReactiveDecl(N)){let w=T.memberTarget(N[1]);if(w===null)throw this.positionedError(N,`emitter: a component ${N[0]==="state"?"state":"computed"} member takes a plain name or '@name' — `+"patterns and member chains have no member reading ",e);if(N[0]==="state"){if(T.containsAwait(N[2])||T.containsYield(N[2]))throw this.positionedError(N,"emitter: a component state initializer cannot await or yield — _init runs synchronously during construction",e);_(w.name,"state",N,!0),o.push({name:w.name,value:N[2],isPublic:w.isPublic,required:!1,node:N})}else{if(T.containsAwait(N[2]))throw this.positionedError(N,"emitter: a computed ('~=') body cannot await — computeds evaluate synchronously (make it a state written by an effect)",e);if(T.containsYield(N[2]))throw this.positionedError(N,"emitter: a computed ('~=') body cannot yield — computeds evaluate synchronously",e);_(w.name,"computed",N,!0),l.push({name:w.name,value:N[2],node:N})}return}if(this.isReadonlyDecl(N)){let w=T.memberTarget(N[1]);if(w===null)throw this.positionedError(N,"emitter: a component readonly member takes a plain name or '@name' — patterns and member chains have no member reading ",e);_(w.name,"readonly",N,!1),s.push({name:w.name,value:N[2],isPublic:w.isPublic,node:N});return}if(this.isEffectDecl(N)){if(C)I(N);if(N[1]!==null)throw this.positionedError(N,`emitter: a bound effect ('${typeof N[1]==="string"?N[1]:"…"} ~> …') has no component-body reading — `+"the handle would bind nothing; use a bare `~> …` effect, or bind the handle inside a method",e);if(T.effectBodyYields(N[2]))throw this.positionedError(N,"emitter: an effect ('~>') body cannot yield — the runtime calls the effect function (make the generator a named function the effect calls)",N);u.push(N);return}if(E(N)&&N[0]==="?"&&N.length===2){let w=T.memberTarget(N[1]);if(w!==null&&w.isPublic){_(w.name,"prop",N,!0),o.push({name:w.name,value:void 0,isPublic:!0,required:!1,optional:!0,node:N});return}y(N)}if(T.isTypedWrapper(N)){let w=T.memberTarget(N[1]);if(w!==null&&w.isPublic){_(w.name,"prop",N,!0),o.push({name:w.name,value:void 0,isPublic:!0,required:!0,node:N});return}y(N)}if(E(N)&&N[0]==="."&&N[1]==="this"&&N.length===3&&typeof N[2]==="string"){_(N[2],"prop",N,!0),o.push({name:N[2],value:void 0,isPublic:!0,required:!0,node:N});return}if(E(N)&&(N[0]==="="||N[0]==="void-assign")&&N.length===3){let w=T.memberTarget(N[1]);if(w===null)y(N);let D=N[0]==="void-assign";if(T.COMPONENT_HOOKS.has(w.name)){if(C)I(N);if(!T1(N[2]))throw this.positionedError(N,`emitter: the lifecycle hook '${w.name}' takes a function value — \`${w.name} = -> …\``,e);_(w.name,"hook",N,!1),h.push({name:w.name,func:N[2],isVoid:D,node:N});return}if(T1(N[2])){_(w.name,"method",N,!1),f.push({name:w.name,func:N[2],isVoid:D,node:N});return}if(D)throw this.positionedError(N,"emitter: the void marker (a trailing '!' on the defined name) requires a function value — `save! = ->`",e);_(w.name,"plain",N,!1),a.push({name:w.name,value:N[2],isPublic:w.isPublic,node:N});return}if(O1(N)){if(C)I(N);for(let w of N.slice(1)){if(!E(w)||w[0]!==":"&&w[0]!=="void-pair"||typeof w[1]!=="string"||!T1(w[2]))y(N);let D=w[0]==="void-pair";if(T.COMPONENT_HOOKS.has(w[1]))_(w[1],"hook",N,!1),h.push({name:w[1],func:w[2],isVoid:D,node:w});else _(w[1],"method",N,!1),f.push({name:w[1],func:w[2],isVoid:D,node:w})}return}y(N)},I=(N)=>{throw this.positionedError(N,"emitter: offer takes a member DECLARATION — `offer theme := v`, `offer limit =! v`, `offer total ~= e`, "+"`offer save = (e) ->` — anything else has no context key to publish",e)};for(let N of n){if(this.isOfferNode(N)){let C=N[1];if(!(this.isReactiveDecl(C)||this.isReadonlyDecl(C)||E(C)&&(C[0]==="="||C[0]==="void-assign")&&C.length===3&&T.memberTarget(C[1])!==null))I(N);this.noteHeadKeyword("context-channel","offer",N),k(C,!0);let D=T.memberTarget(C[1]);m.push(D.name);continue}k(N,!1)}let A=[];for(let{name:N,isPublic:C}of[...o,...s,...a])if(C)A.push(N);if(i!==null){if(b.has("rest"))throw this.positionedError(b.get("rest"),"emitter: a component that extends a tag cannot declare a member named 'rest' — `@rest` is the reactive "+"view of the undeclared caller props (the rest-forwarding seam)",e);d.set("rest","rest"),R.add("rest")}if(this.scopes.length===1&&typeof this._componentName==="string"){let N=this.moduleComponentNames.get(this._componentName);if(N!==void 0&&N!==e)throw this.positionedError(e,`emitter: component '${this._componentName}' is bound more than once at module scope — rebinding `+"clobbers the first class silently (existing instances keep the old identity) and the typed artifacts would merge two same-named companion interfaces; give each component its own name");this.moduleComponentNames.set(this._componentName,e)}let x=this.ts&&this.scopes.length===1&&typeof this._componentName==="string"?`__${this._componentName}__computed`:null,O=this.ts?bn(this.stores,this.b.source,e,x):null;if(O)O.appStashSpec=this.appStashSpec,O.routesUnion=this.routesUnion,O.routeParams=this.routeParams;if(O!==null)this.componentInfo.set(e,O);let G=new Map;for(let N of O?.members??[]){let C=T.memberLabel(N);if(C!==null)G.set(N.name,{label:C,optional:N.optional===!0})}if(i!==null)G.set("rest",{label:"rest",optional:!1});let K={members:d,memberReactive:R,memberKinds:G,name:this._componentName,extendsTag:i,plainWrites:new Map,renderPlainReads:new Set},V=this.ind,Z=" ".repeat(V+1),W=Z+" ";this.cframes.push(K),this.rframes.push({reactive:new Set,bound:new Set,members:d,memberReactive:R,memberKinds:G});let j=this.methodName;this.methodName=null;let q=[...[...s,...a,...o].map((N)=>N.value),...l.map((N)=>N.value).filter((N)=>!(u1(N)&&N.length>2))].filter((N)=>N!==void 0),{entries:t1,names:M}=this.scopedHoist(q,[],{declareInPlace:!1});this.mark(e,"$self",()=>{if(this.b.emit("class"),this.ts&&this._componentTypeParams){let{text:F,owner:J}=this._componentTypeParams;this.b.tsOnly(()=>this.mark(J,"typeParams",()=>this.emitTypeText(J,"typeParams",F)))}if(this.b.emit(` extends ${this.runtimeName("__Component")} { -`),O!==null)this.tsComponentMemberDeclares(O,Z);if(c.length>0)this.b.emit(`${Z}static __gates = [`),c.forEach((F,J)=>{if(J>0)this.b.emit(", ");if(!(this.ts&&O!==null&&O.members.some((n1)=>n1.node===F.node&&this.gateTwinSource(n1,O)!==null))){this.noteVocabulary("gate-prefix","stash",F.pathNode);for(let n1 of F.keyParts??[])this.noteSilence(n1,F.key)}this.mark(F.node,"$self",()=>{this.mark(F.node,"operator",()=>{}),this.mark(F.node,"rhs",()=>{if(F.key===null)this.emitQuotedPrimitive(F.path);else{if(this.b.emit("{ path: "),this.emitQuotedPrimitive(F.path),this.b.emit(", key: (params"),this.ts)this.b.tsOnly(()=>this.b.emit(": Record"));if(this.b.emit(", query"),this.ts)this.b.tsOnly(()=>this.b.emit(": Record"));this.b.emit(") => "),this.mark(F.node,"key",()=>{this.mark(F.key,"$self",()=>{if(F.keyParts===null){this.b.emit(F.keyCode);return}F.keyParts.forEach((n1,v)=>{if(v>0)this.b.emit(".");this.emitPrimitive(n1)})})}),this.b.emit(" }")}})})}),this.b.emit(`]; +`)}componentExpr(e){let[,t,r]=e,i=null;if(t!==null){let N=typeof t==="string"?t:null;if(N===null||!Q1(N)||N.includes("#"))throw this.positionedError(e,"emitter: 'component extends' takes an HTML tag — rest props forward onto the first '' element the "+`render creates; '${typeof t==="string"?t:"…"}' is not one (component-to-component inheritance is not a surface)`);i=N}if(this.ts){let N=this.stores.idOf(e)??null,C=N!==null?this.stores.selfSpan(N):null,w=this.b.source;if(C!==null&&w!==null&&w.startsWith("component",C[0])){if(this.silences.push([C[0],C[0]+9]),i!==null){let D=/^component(\s+)extends(\s+)/.exec(w.slice(C[0],C[1]));if(D!==null&&w.startsWith(i,C[0]+D[0].length)){let B=C[0]+9+D[1].length;this.silences.push([B,B+7]);let a1=C[0]+D[0].length;this.intrinsics.push({start:a1,end:a1+i.length,kind:"tag",tag:i,svg:!1})}}}}let n=u1(r)?r.slice(1):[],s=[],a=[],o=[],l=[],c=[],f=[],h=[],u=[],d=[],S=[],g=null,p=new Map,R=new Set,b=new Map,_=(N,C,w,D)=>{if(b.has(N))throw this.positionedError(w,`emitter: duplicate component member '${N}' — it is already declared in this component body; `+"duplicates clobber silently across kinds",e);if(s3.has(N))throw this.positionedError(w,`emitter: component member '${N}' collides with component runtime state — `+"the runtime owns this exact instance field; rename the member",e);if(N==="_init"||N==="_create"||N==="_setup"||/^create_block_\d+$/.test(N))throw this.positionedError(w,`emitter: component member '${N}' collides with the generated lifecycle machinery — '_init', `+"'_create', '_setup', and 'create_block_N' are the class methods the component lowering emits (a same-named member would silently replace the generated one at runtime); rename the member",e);if(N==="mount"||N==="unmount"||N==="emit")throw this.positionedError(w,`emitter: component member '${N}' collides with the component runtime API — 'mount', 'unmount', `+"and 'emit' are __Component's own methods, and the machinery calls them on every instance (a same-named member would silently shadow them); rename the member",e);if(b.set(N,w),C!=="hook"){if(p.set(N,C),D)R.add(N)}},y=(N)=>{let C="emitter: a component body line must be a member declaration — state (`x := v`, `@x := v`), a prop (`@x`, `@x?`), "+"computed (`x ~= e`), readonly (`x =! v`), a plain field (`x = v`), a method (`save = (e) ->`), a lifecycle hook "+"(beforeMount/mounted/beforeUnmount/unmounted/onError), an effect (`~> …`), `offer`/`accept`, or `render` — "+"this statement matches no category",w=this.b.source;if((!E(N)||this.stores.idOf(N)===null)&&w!==null){let D=(f1)=>{let z=E(f1)?this.stores.idOf(f1):null;return z!==null?this.stores.selfSpan(z):null},B=n.indexOf(N),a1=D(r),h1=null;for(let f1=B-1;f1>=0&&h1===null;f1--)h1=D(n[f1])?.[1]??null;if(h1===null)h1=a1?.[0]??null;if(h1!==null){while(h1h1&&/\s/.test(w[f1-1]))f1--;throw this.positionedErrorAt(h1,f1,C)}}throw this.positionedError(N,C,e)},m=(N,C,w,D)=>{let B=this.stores.idOf(N),a1=B!==null?this.stores.role(B,C):null;if(a1?.sourceStart!=null)throw this.positionedErrorAt(a1.sourceStart,a1.sourceEnd,D);throw this.positionedError(w,D,N,e)},k=(N,C)=>{if(this.isRenderNode(N)){if(C)O(N);if(g!==null)throw this.positionedError(N,"emitter: duplicate render block — a component takes exactly one",e);let w=T.findRenderControl(N);if(w!==null)throw this.positionedError(w,"emitter: a render body evaluates synchronously — 'await'/'yield' cannot appear in a render expression "+"(text, attributes, props, and event listeners emit into non-async generated scopes); compute the value into a member (a state written by an effect), or make the handler a function ('-> await ...')",N);g=N;return}if(this.isAcceptNode(N)){if(C)O(N);this.noteHeadKeyword("context-channel","accept",N),_(N[1],"accept",N,!0),S.push(N[1]);return}if(this.isGateDecl(N)){if(C)O(N);let w=T.memberTarget(N[1]);if(w===null)m(N,"target",N[1],"emitter: a render gate ('<~') target must be one private component name — patterns and member chains cannot name a gate");if(w.isPublic)m(N,"target",N[1],`emitter: render gate '${w.name}' must be private — '@${w.name} <~ …' would expose route-prefetched state as a caller prop; remove '@' and pass an explicit prop where public input is intended`);let D=T.gateSource(N);if(D.error==="arity")m(N,"key",D.node,"emitter: a keyed render gate takes exactly one key argument — use @stash.name(params.id)");if(D.error==="path")m(N,"rhs",D.node,"emitter: '<~' requires a literal @stash. on the right-hand side, optionally called with one key");if(D.error==="key")m(N,"key",D.node,"emitter: a keyed render gate key may only be a literal or a params/query path (for example params.id or @query.tab)");_(w.name,"gate",N,!0),c.push({name:w.name,...D,node:N});return}if(this.isReactiveDecl(N)){let w=T.memberTarget(N[1]);if(w===null)throw this.positionedError(N,`emitter: a component ${N[0]==="state"?"state":"computed"} member takes a plain name or '@name' — `+"patterns and member chains have no member reading ",e);if(N[0]==="state"){if(T.containsAwait(N[2])||T.containsYield(N[2]))throw this.positionedError(N,"emitter: a component state initializer cannot await or yield — _init runs synchronously during construction",e);_(w.name,"state",N,!0),o.push({name:w.name,value:N[2],isPublic:w.isPublic,required:!1,node:N})}else{if(T.containsAwait(N[2]))throw this.positionedError(N,"emitter: a computed ('~=') body cannot await — computeds evaluate synchronously (make it a state written by an effect)",e);if(T.containsYield(N[2]))throw this.positionedError(N,"emitter: a computed ('~=') body cannot yield — computeds evaluate synchronously",e);_(w.name,"computed",N,!0),l.push({name:w.name,value:N[2],node:N})}return}if(this.isReadonlyDecl(N)){let w=T.memberTarget(N[1]);if(w===null)throw this.positionedError(N,"emitter: a component readonly member takes a plain name or '@name' — patterns and member chains have no member reading ",e);_(w.name,"readonly",N,!1),s.push({name:w.name,value:N[2],isPublic:w.isPublic,node:N});return}if(this.isEffectDecl(N)){if(C)O(N);if(N[1]!==null)throw this.positionedError(N,`emitter: a bound effect ('${typeof N[1]==="string"?N[1]:"…"} ~> …') has no component-body reading — `+"the handle would bind nothing; use a bare `~> …` effect, or bind the handle inside a method",e);if(T.effectBodyYields(N[2]))throw this.positionedError(N,"emitter: an effect ('~>') body cannot yield — the runtime calls the effect function (make the generator a named function the effect calls)",N);u.push(N);return}if(E(N)&&N[0]==="?"&&N.length===2){let w=T.memberTarget(N[1]);if(w!==null&&w.isPublic){_(w.name,"prop",N,!0),o.push({name:w.name,value:void 0,isPublic:!0,required:!1,optional:!0,node:N});return}y(N)}if(T.isTypedWrapper(N)){let w=T.memberTarget(N[1]);if(w!==null&&w.isPublic){_(w.name,"prop",N,!0),o.push({name:w.name,value:void 0,isPublic:!0,required:!0,node:N});return}y(N)}if(E(N)&&N[0]==="."&&N[1]==="this"&&N.length===3&&typeof N[2]==="string"){_(N[2],"prop",N,!0),o.push({name:N[2],value:void 0,isPublic:!0,required:!0,node:N});return}if(E(N)&&(N[0]==="="||N[0]==="void-assign")&&N.length===3){let w=T.memberTarget(N[1]);if(w===null)y(N);let D=N[0]==="void-assign";if(T.COMPONENT_HOOKS.has(w.name)){if(C)O(N);if(!T1(N[2]))throw this.positionedError(N,`emitter: the lifecycle hook '${w.name}' takes a function value — \`${w.name} = -> …\``,e);_(w.name,"hook",N,!1),h.push({name:w.name,func:N[2],isVoid:D,node:N});return}if(T1(N[2])){_(w.name,"method",N,!1),f.push({name:w.name,func:N[2],isVoid:D,node:N});return}if(D)throw this.positionedError(N,"emitter: the void marker (a trailing '!' on the defined name) requires a function value — `save! = ->`",e);_(w.name,"plain",N,!1),a.push({name:w.name,value:N[2],isPublic:w.isPublic,node:N});return}if(O1(N)){if(C)O(N);for(let w of N.slice(1)){if(!E(w)||w[0]!==":"&&w[0]!=="void-pair"||typeof w[1]!=="string"||!T1(w[2]))y(N);let D=w[0]==="void-pair";if(T.COMPONENT_HOOKS.has(w[1]))_(w[1],"hook",N,!1),h.push({name:w[1],func:w[2],isVoid:D,node:w});else _(w[1],"method",N,!1),f.push({name:w[1],func:w[2],isVoid:D,node:w})}return}y(N)},O=(N)=>{throw this.positionedError(N,"emitter: offer takes a member DECLARATION — `offer theme := v`, `offer limit =! v`, `offer total ~= e`, "+"`offer save = (e) ->` — anything else has no context key to publish",e)};for(let N of n){if(this.isOfferNode(N)){let C=N[1];if(!(this.isReactiveDecl(C)||this.isReadonlyDecl(C)||E(C)&&(C[0]==="="||C[0]==="void-assign")&&C.length===3&&T.memberTarget(C[1])!==null))O(N);this.noteHeadKeyword("context-channel","offer",N),k(C,!0);let D=T.memberTarget(C[1]);d.push(D.name);continue}k(N,!1)}let A=[];for(let{name:N,isPublic:C}of[...o,...s,...a])if(C)A.push(N);if(i!==null){if(b.has("rest"))throw this.positionedError(b.get("rest"),"emitter: a component that extends a tag cannot declare a member named 'rest' — `@rest` is the reactive "+"view of the undeclared caller props (the rest-forwarding seam)",e);p.set("rest","rest"),R.add("rest")}if(this.scopes.length===1&&typeof this._componentName==="string"){let N=this.moduleComponentNames.get(this._componentName);if(N!==void 0&&N!==e)throw this.positionedError(e,`emitter: component '${this._componentName}' is bound more than once at module scope — rebinding `+"clobbers the first class silently (existing instances keep the old identity) and the typed artifacts would merge two same-named companion interfaces; give each component its own name");this.moduleComponentNames.set(this._componentName,e)}let x=this.ts&&this.scopes.length===1&&typeof this._componentName==="string"?`__${this._componentName}__computed`:null,I=this.ts?bn(this.stores,this.b.source,e,x):null;if(I)I.appStashSpec=this.appStashSpec,I.routesUnion=this.routesUnion,I.routeParams=this.routeParams;if(I!==null)this.componentInfo.set(e,I);let H=new Map;for(let N of I?.members??[]){let C=T.memberLabel(N);if(C!==null)H.set(N.name,{label:C,optional:N.optional===!0})}if(i!==null)H.set("rest",{label:"rest",optional:!1});let G={members:p,memberReactive:R,memberKinds:H,name:this._componentName,extendsTag:i,plainWrites:new Map,renderPlainReads:new Set},K=this.ind,Z=" ".repeat(K+1),V=Z+" ";this.cframes.push(G),this.rframes.push({reactive:new Set,bound:new Set,members:p,memberReactive:R,memberKinds:H});let j=this.methodName;this.methodName=null;let q=[...[...s,...a,...o].map((N)=>N.value),...l.map((N)=>N.value).filter((N)=>!(u1(N)&&N.length>2))].filter((N)=>N!==void 0),{entries:t1,names:M}=this.scopedHoist(q,[],{declareInPlace:!1});this.mark(e,"$self",()=>{if(this.b.emit("class"),this.ts&&this._componentTypeParams){let{text:F,owner:J}=this._componentTypeParams;this.b.tsOnly(()=>this.mark(J,"typeParams",()=>this.emitTypeText(J,"typeParams",F)))}if(this.b.emit(` extends ${this.runtimeName("__Component")} { +`),I!==null)this.tsComponentMemberDeclares(I,Z);if(c.length>0)this.b.emit(`${Z}static __gates = [`),c.forEach((F,J)=>{if(J>0)this.b.emit(", ");if(!(this.ts&&I!==null&&I.members.some((n1)=>n1.node===F.node&&this.gateTwinSource(n1,I)!==null))){this.noteVocabulary("gate-prefix","stash",F.pathNode);for(let n1 of F.keyParts??[])this.noteSilence(n1,F.key)}this.mark(F.node,"$self",()=>{this.mark(F.node,"operator",()=>{}),this.mark(F.node,"rhs",()=>{if(F.key===null)this.emitQuotedPrimitive(F.path);else{if(this.b.emit("{ path: "),this.emitQuotedPrimitive(F.path),this.b.emit(", key: (params"),this.ts)this.b.tsOnly(()=>this.b.emit(": Record"));if(this.b.emit(", query"),this.ts)this.b.tsOnly(()=>this.b.emit(": Record"));this.b.emit(") => "),this.mark(F.node,"key",()=>{this.mark(F.key,"$self",()=>{if(F.keyParts===null){this.b.emit(F.keyCode);return}F.keyParts.forEach((n1,v)=>{if(v>0)this.b.emit(".");this.emitPrimitive(n1)})})}),this.b.emit(" }")}})})}),this.b.emit(`]; `);if(A.length>0)this.b.emit(`${Z}static __props = [${A.map((F)=>`'${F}'`).join(", ")}]; `);if(i!==null)this.b.emit(`${Z}static __extends = `),this.emitQuotedPrimitive(i),this.b.emit(`; -`);if(this.hmr&&this.modulePath&&this.scopes.length===1&&typeof this._componentName==="string")this.emitComponentHmrMeta(Z,{bindingName:this._componentName,declaredProps:A,stateVars:o,derivedVars:l,gateVars:c,extendsTag:i,methods:f,hooks:h,hasRender:g!==null});if(O!==null)this.tsComponentCtor(O,Z);if(this.b.emit(`${Z}_init(props`),O!==null)this.b.tsOnly(()=>{this.b.emit(": "),this.emitDeclaredTypeCopies(Os(O,{road:"face"}))});if(this.b.emit(`) { -`),this.scopes.push(M),this.rframes.push({reactive:new Set,bound:M}),t1.length)this.b.emit(W),this.hoistLine(t1,W),this.b.emit(` -`);let N=(F,J)=>{this.renderDirectives(F,W),this.b.emit(W),this.mark(F,"$self",J),this.b.emit(`; -`)},C=(F,J)=>{this.mark(F,"value",()=>this.withExpression(()=>{let o1=T.needsGrouping(J,"operand");if(o1)this.b.emit("(");if(this.expr(J),o1)this.b.emit(")")}))},w=(F,J,o1="target")=>{let n1=this.b.offset;if(this.b.emit("this."),this.mark(F,o1,()=>this.b.emit(J)),this.ts){let v=this.stores.idOf(F),P=v!==null?this.stores.role(v,o1):null;if(P&&typeof P.sourceStart==="number")this.memberInitSites.push({key:[P.sourceStart,P.sourceEnd],site:[n1,this.b.offset]})}},D=new Set(s),B=[];if(O!==null)O.computedBodies=B;let a1=(F)=>{if(N(F.node,()=>{if(D.has(F)&&this.ts){let o1=O?.members.find((n1)=>n1.node===F.node&&n1.kind==="readonly");this.b.tsOnly(()=>this.b.emit("(")),this.b.emit("this"),this.b.tsOnly(()=>{this.b.emit(" as "),this.emitDeclaredTypeCopies(o1?Ps(o1):"any"),this.b.emit(")")}),this.b.emit("."),this.mark(F.node,"target",()=>this.b.emit(F.name))}else w(F.node,F.name);if(this.b.emit(" = "),F.isPublic)this.b.emit(`props.${F.name} ?? `);let J=this._componentName;if(this.isComponentDecl(F.value))this._componentName=F.name;C(F.node,F.value),this._componentName=J}),x!==null&&O!==null){let J=O.members.find((o1)=>o1.node===F.node&&o1.kind==="plain");if(J!==void 0&&Fs(J)){let o1=this.capturedExprText(()=>C(F.node,F.value));B.push({name:F.name,code:o1,block:!1})}}},h1=(F)=>{let J=b.get(F);N(J,()=>{w(J,F,"name"),this.b.emit(` = ${this.runtimeName("getContext")}('${F}')`)})},f1=(F)=>{N(F.node,()=>{if(w(F.node,F.name,F.value===void 0?"property":"target"),this.b.emit(` = ${this.runtimeName("__state")}(`),F.isPublic&&(F.required||F.value===void 0)){if(this.b.emit(`props.__bind_${F.name}__ ?? props.${F.name}`),F.required&&this.ts)this.b.tsOnly(()=>this.b.emit("!"))}else if(F.isPublic)this.b.emit(`props.__bind_${F.name}__ ?? props.${F.name} ?? `),C(F.node,F.value);else C(F.node,F.value);this.b.emit(")")})},z=(F)=>{if(N(F.node,()=>{w(F.node,F.name),this.b.emit(` = ${this.runtimeName("__computed")}(() => `),this.mark(F.node,"value",()=>this.withExpression(()=>this.computedBody(F.node,F.value,V+2))),this.b.emit(")")}),x===null||O===null)return;let J=O.members.find((n1)=>n1.node===F.node&&n1.kind==="computed");if(J===void 0||J.annotation!=null)return;let o1=this.capturedExprText(()=>this.computedBody(F.node,F.value,0));B.push({name:F.name,code:o1,block:u1(F.value)&&F.value.length>2})},i1=(F,J)=>{N(F.node,()=>{w(F.node,F.name),this.b.emit(` = ${this.runtimeName("__gateBind")}(`),this.mark(F.node,"operator",()=>{}),this.mark(F.node,"rhs",()=>{this.b.emit(`this, ${J}`)}),this.b.emit(")")})},X=new Map;n.forEach((F,J)=>{if(X.set(F,J),this.isOfferNode(F))X.set(F[1],J)});let r1=[...[...s,...a].map((F)=>({at:X.get(F.node)??0,run:()=>a1(F)})),...S.map((F)=>({at:X.get(b.get(F))??0,run:()=>h1(F)})),...o.map((F)=>({at:X.get(F.node)??0,run:()=>f1(F)})),...l.map((F)=>({at:X.get(F.node)??0,run:()=>z(F)}))].sort((F,J)=>F.at-J.at);for(let[F,J]of c.entries())i1(J,F);for(let F of r1)F.run();for(let F of m)N(b.get(F),()=>this.b.emit(`${this.runtimeName("setContext")}('${F}', this.${F})`));let Q=(F)=>{for(let J of u){let o1=J[2],n1=T.containsAwait(o1);this.b.emit(F),this.mark(J,"$self",()=>{if(this.mark(J,"operator",()=>this.b.emit(this.runtimeName("__effect"))),this.b.emit(n1?"(async () => ":"(() => "),u1(o1)&&o1.length>2)this.mark(J,"value",()=>this.withExpression(()=>{let v=this.liveStmts(o1.slice(1),{forwards:!0}),{entries:P,names:H}=this.scopedHoist(v,[]);for(let s1 of this.pushReactiveFrame(v,H))H.add(s1);this.scopes.push(H),this.funcBlock(J,o1,v,V+2,P),this.scopes.pop(),this.rframes.pop()}));else{let v=u1(o1)?o1[1]:o1,{entries:P,names:H}=this.scopedHoist([v],[]);if(this.scopes.push(H),this.rframes.push({reactive:new Set,bound:H}),this.b.emit("{ "),P.length)this.hoistLine(P),this.b.emit(" ");this.b.emit("return "),this.mark(J,"value",()=>this.withExpression(()=>{let s1=T.needsGrouping(v,"operand")||O1(v);if(s1)this.b.emit("(");if(this.expr(v),s1)this.b.emit(")")})),this.b.emit("; }"),this.scopes.pop(),this.rframes.pop()}this.b.emit(")")}),this.b.emit(`; -`)}};if(this.hmr&&u.length>0)this.b.emit(`${W}this._hmrBindEffects(); -`);else Q(W);if(this.rframes.pop(),this.scopes.pop(),this.b.emit(`${Z}} +`);if(this.hmr&&this.modulePath&&this.scopes.length===1&&typeof this._componentName==="string")this.emitComponentHmrMeta(Z,{bindingName:this._componentName,declaredProps:A,stateVars:o,derivedVars:l,gateVars:c,extendsTag:i,methods:f,hooks:h,hasRender:g!==null});if(I!==null)this.tsComponentCtor(I,Z);if(this.b.emit(`${Z}_init(props`),I!==null)this.b.tsOnly(()=>{this.b.emit(": "),this.emitDeclaredTypeCopies(Os(I,{road:"face"}))});if(this.b.emit(`) { +`),this.scopes.push(M),this.rframes.push({reactive:new Set,bound:M}),t1.length)this.b.emit(V),this.hoistLine(t1,V),this.b.emit(` +`);let N=(F,J)=>{this.renderDirectives(F,V),this.b.emit(V),this.mark(F,"$self",J),this.b.emit(`; +`)},C=(F,J)=>{this.mark(F,"value",()=>this.withExpression(()=>{let o1=T.needsGrouping(J,"operand");if(o1)this.b.emit("(");if(this.expr(J),o1)this.b.emit(")")}))},w=(F,J,o1="target")=>{let n1=this.b.offset;if(this.b.emit("this."),this.mark(F,o1,()=>this.b.emit(J)),this.ts){let v=this.stores.idOf(F),P=v!==null?this.stores.role(v,o1):null;if(P&&typeof P.sourceStart==="number")this.memberInitSites.push({key:[P.sourceStart,P.sourceEnd],site:[n1,this.b.offset]})}},D=new Set(s),B=[];if(I!==null)I.computedBodies=B;let a1=(F)=>{if(N(F.node,()=>{if(D.has(F)&&this.ts){let o1=I?.members.find((n1)=>n1.node===F.node&&n1.kind==="readonly");this.b.tsOnly(()=>this.b.emit("(")),this.b.emit("this"),this.b.tsOnly(()=>{this.b.emit(" as "),this.emitDeclaredTypeCopies(o1?Ps(o1):"any"),this.b.emit(")")}),this.b.emit("."),this.mark(F.node,"target",()=>this.b.emit(F.name))}else w(F.node,F.name);if(this.b.emit(" = "),F.isPublic)this.b.emit(`props.${F.name} ?? `);let J=this._componentName;if(this.isComponentDecl(F.value))this._componentName=F.name;C(F.node,F.value),this._componentName=J}),x!==null&&I!==null){let J=I.members.find((o1)=>o1.node===F.node&&o1.kind==="plain");if(J!==void 0&&Fs(J)){let o1=this.capturedExprText(()=>C(F.node,F.value));B.push({name:F.name,code:o1,block:!1})}}},h1=(F)=>{let J=b.get(F);N(J,()=>{w(J,F,"name"),this.b.emit(` = ${this.runtimeName("getContext")}('${F}')`)})},f1=(F)=>{N(F.node,()=>{if(w(F.node,F.name,F.value===void 0?"property":"target"),this.b.emit(` = ${this.runtimeName("__state")}(`),F.isPublic&&(F.required||F.value===void 0)){if(this.b.emit(`props.__bind_${F.name}__ ?? props.${F.name}`),F.required&&this.ts)this.b.tsOnly(()=>this.b.emit("!"))}else if(F.isPublic)this.b.emit(`props.__bind_${F.name}__ ?? props.${F.name} ?? `),C(F.node,F.value);else C(F.node,F.value);this.b.emit(")")})},z=(F)=>{if(N(F.node,()=>{w(F.node,F.name),this.b.emit(` = ${this.runtimeName("__computed")}(() => `),this.mark(F.node,"value",()=>this.withExpression(()=>this.computedBody(F.node,F.value,K+2))),this.b.emit(")")}),x===null||I===null)return;let J=I.members.find((n1)=>n1.node===F.node&&n1.kind==="computed");if(J===void 0||J.annotation!=null)return;let o1=this.capturedExprText(()=>this.computedBody(F.node,F.value,0));B.push({name:F.name,code:o1,block:u1(F.value)&&F.value.length>2})},i1=(F,J)=>{N(F.node,()=>{w(F.node,F.name),this.b.emit(` = ${this.runtimeName("__gateBind")}(`),this.mark(F.node,"operator",()=>{}),this.mark(F.node,"rhs",()=>{this.b.emit(`this, ${J}`)}),this.b.emit(")")})},X=new Map;n.forEach((F,J)=>{if(X.set(F,J),this.isOfferNode(F))X.set(F[1],J)});let r1=[...[...s,...a].map((F)=>({at:X.get(F.node)??0,run:()=>a1(F)})),...S.map((F)=>({at:X.get(b.get(F))??0,run:()=>h1(F)})),...o.map((F)=>({at:X.get(F.node)??0,run:()=>f1(F)})),...l.map((F)=>({at:X.get(F.node)??0,run:()=>z(F)}))].sort((F,J)=>F.at-J.at);for(let[F,J]of c.entries())i1(J,F);for(let F of r1)F.run();for(let F of d)N(b.get(F),()=>this.b.emit(`${this.runtimeName("setContext")}('${F}', this.${F})`));let Q=(F)=>{for(let J of u){let o1=J[2],n1=T.containsAwait(o1);this.b.emit(F),this.mark(J,"$self",()=>{if(this.mark(J,"operator",()=>this.b.emit(this.runtimeName("__effect"))),this.b.emit(n1?"(async () => ":"(() => "),u1(o1)&&o1.length>2)this.mark(J,"value",()=>this.withExpression(()=>{let v=this.liveStmts(o1.slice(1),{forwards:!0}),{entries:P,names:W}=this.scopedHoist(v,[]);for(let s1 of this.pushReactiveFrame(v,W))W.add(s1);this.scopes.push(W),this.funcBlock(J,o1,v,K+2,P),this.scopes.pop(),this.rframes.pop()}));else{let v=u1(o1)?o1[1]:o1,{entries:P,names:W}=this.scopedHoist([v],[]);if(this.scopes.push(W),this.rframes.push({reactive:new Set,bound:W}),this.b.emit("{ "),P.length)this.hoistLine(P),this.b.emit(" ");this.b.emit("return "),this.mark(J,"value",()=>this.withExpression(()=>{let s1=T.needsGrouping(v,"operand")||O1(v);if(s1)this.b.emit("(");if(this.expr(v),s1)this.b.emit(")")})),this.b.emit("; }"),this.scopes.pop(),this.rframes.pop()}this.b.emit(")")}),this.b.emit(`; +`)}};if(this.hmr&&u.length>0)this.b.emit(`${V}this._hmrBindEffects(); +`);else Q(V);if(this.rframes.pop(),this.scopes.pop(),this.b.emit(`${Z}} `),this.hmr&&u.length>0)this.b.emit(`${Z}_hmrBindEffects() { -`),this.scopes.push(M),this.rframes.push({reactive:new Set,bound:M}),Q(W),this.rframes.pop(),this.scopes.pop(),this.b.emit(`${Z}} +`),this.scopes.push(M),this.rframes.push({reactive:new Set,bound:M}),Q(V),this.rframes.pop(),this.scopes.pop(),this.b.emit(`${Z}} `);if(this.hmr&&l.length>0){this.b.emit(`${Z}_hmrRefreshComputeds() { -`),this.scopes.push(M),this.rframes.push({reactive:new Set,bound:M});for(let F of l)this.b.emit(`${W}this.${F.name}?.kill?.(); -`),this.b.emit(W),w(F.node,F.name),this.b.emit(` = ${this.runtimeName("__computed")}(() => `),this.mark(F.node,"value",()=>this.withExpression(()=>this.computedBody(F.node,F.value,V+2))),this.b.emit(`); +`),this.scopes.push(M),this.rframes.push({reactive:new Set,bound:M});for(let F of l)this.b.emit(`${V}this.${F.name}?.kill?.(); +`),this.b.emit(V),w(F.node,F.name),this.b.emit(` = ${this.runtimeName("__computed")}(() => `),this.mark(F.node,"value",()=>this.withExpression(()=>this.computedBody(F.node,F.value,K+2))),this.b.emit(`); `);this.rframes.pop(),this.scopes.pop(),this.b.emit(`${Z}} -`)}let l1=new Map;if(this.ts&&g!==null){let F=(J,o1)=>{if(!E(J))return;let n1=o1,v=J[0]==="switch"&&J.length===4?null:T.templateHeadTag(J);if(v==="object")n1=O1(J)&&J.slice(1).some((P)=>E(P)&&P[0]===":")?o1:null;else if(v!==null&&Ae.has(v))n1={tag:v,svg:o1?.svg===!0||en.has(v)};else if(typeof J[0]==="string"&&/^[A-Z]/.test(J[0]))n1=null;if(J[0]===":"&&J.length===3&&E(J[1])&&J[1][0]==="."&&J[1][1]==="this"&&typeof J[1][2]==="string"&&Mt.has(J[1][2])){let P=J[2],H=typeof P==="string"&&d.has(P)?P:E(P)&&P[0]==="."&&P[1]==="this"&&P.length===3&&typeof P[2]==="string"&&d.has(P[2])?P[2]:null;if(H!==null){if(!l1.has(H))l1.set(H,{events:new Set,hosts:new Set,unknownHost:!1});let s1=l1.get(H);if(s1.events.add(J[1][2]),o1!==null&&rt(o1.tag,o1.svg))s1.hosts.add(Oe(o1.tag,o1.svg));else s1.unknownHost=!0}}for(let P of J)F(P,n1)};F(g,null)}let c1=({name:F,func:J,isVoid:o1,node:n1})=>{let[,v,P]=J,H=l1.get(F),s1=H!==void 0&&!H.unknownHost&&H.hosts.size>0?[...H.hosts].join(" | "):null,L=H!==void 0?this.tsEventTypeText([...H.events],s1):F==="onError"?Ms:null;this.b.emit(Z),this.mark(n1,"$self",()=>{if(T.containsAwait(P))this.b.emit("async ");if(T.containsYield(P))this.b.emit("*");this.mark(n1,"target",()=>this.mark(n1,"key",()=>this.b.emit(F))),this.b.emit("("),this.emitParams(v,L),this.b.emit(")"),this.tsReturnAnnotation(J,T.containsAwait(P),o1,T.containsYield(P),n1),this.b.emit(" "),this.mark(n1,"value",()=>{this.methodBlock(J,P,V+1,{isConstructor:!1,binds:[],methodName:F,voidBody:o1})})}),this.b.emit(` -`)};for(let F of f)c1(F);for(let F of h)c1(F);if(g!==null)this.renderBody(g,V,K);if(i!==null&&K.inheritedBound!==!0)throw this.positionedError(e,`emitter: this component extends '${i}' but its render never creates a '<${i}>' element `+"at class scope — rest props forward onto the FIRST class-scope element of the extended tag (at any "+"nesting depth; conditional branches and loop rows never bind it), and without one every caller prop lands nowhere");this.b.emit(" ".repeat(V)+"}")}),this.methodName=j;for(let[N,C]of K.plainWrites)if(K.renderPlainReads.has(N))throw this.positionedError(C,`emitter: writing to '${N}' silently freezes the render — it is a plain ('=') member and render `+"reads it, but render never re-runs for a non-reactive field; declare it with ':=' (state) if it changes");this.rframes.pop(),this.cframes.pop(),this.ind=V}renderBody(e,t,r){let i=" ".repeat(t+1),n=i+" ",s=this.rstate,a={kind:"class",name:null,parent:null,self:null,creates:[],setups:[],vars:null,locals:new Set,localDecls:new Map,bindings:new Set,refs:[],loopStack:[],stmts:[],forceNonStatic:!1,root:null,originNode:e,renameHazardNames:new Set};this.rstate={elCount:0,textCount:0,blockCount:0,svgDepth:0,fragChildren:new Map,tags:new Map,svgEls:new Set,pendingClassArgs:null,pendingClassEl:null,pad:n,frame:r,node:e,records:[],sink:a,classRecord:a,transitionSlot:null,suppressedPairs:new Set,slotSeen:!1};let o=e[1],l=u1(o)?o.slice(1):[o];a.stmts=l,this.rframes.push({reactive:new Set,bound:a.bindings});let c;try{c=this.walkRenderRoot(l,a)}finally{this.rframes.pop()}if(this.closeRenderScope(a),this.b.emit(`${i}_create() { +`)}let l1=new Map;if(this.ts&&g!==null){let F=(J,o1)=>{if(!E(J))return;let n1=o1,v=J[0]==="switch"&&J.length===4?null:T.templateHeadTag(J);if(v==="object")n1=O1(J)&&J.slice(1).some((P)=>E(P)&&P[0]===":")?o1:null;else if(v!==null&&Ae.has(v))n1={tag:v,svg:o1?.svg===!0||en.has(v)};else if(typeof J[0]==="string"&&/^[A-Z]/.test(J[0]))n1=null;if(J[0]===":"&&J.length===3&&E(J[1])&&J[1][0]==="."&&J[1][1]==="this"&&typeof J[1][2]==="string"&&Mt.has(J[1][2])){let P=J[2],W=typeof P==="string"&&p.has(P)?P:E(P)&&P[0]==="."&&P[1]==="this"&&P.length===3&&typeof P[2]==="string"&&p.has(P[2])?P[2]:null;if(W!==null){if(!l1.has(W))l1.set(W,{events:new Set,hosts:new Set,unknownHost:!1});let s1=l1.get(W);if(s1.events.add(J[1][2]),o1!==null&&rt(o1.tag,o1.svg))s1.hosts.add(Oe(o1.tag,o1.svg));else s1.unknownHost=!0}}for(let P of J)F(P,n1)};F(g,null)}let c1=({name:F,func:J,isVoid:o1,node:n1})=>{let[,v,P]=J,W=l1.get(F),s1=W!==void 0&&!W.unknownHost&&W.hosts.size>0?[...W.hosts].join(" | "):null,L=W!==void 0?this.tsEventTypeText([...W.events],s1):F==="onError"?Ms:null;this.b.emit(Z),this.mark(n1,"$self",()=>{if(T.containsAwait(P))this.b.emit("async ");if(T.containsYield(P))this.b.emit("*");this.mark(n1,"target",()=>this.mark(n1,"key",()=>this.b.emit(F))),this.b.emit("("),this.emitParams(v,L),this.b.emit(")"),this.tsReturnAnnotation(J,T.containsAwait(P),o1,T.containsYield(P),n1),this.b.emit(" "),this.mark(n1,"value",()=>{this.methodBlock(J,P,K+1,{isConstructor:!1,binds:[],methodName:F,voidBody:o1})})}),this.b.emit(` +`)};for(let F of f)c1(F);for(let F of h)c1(F);if(g!==null)this.renderBody(g,K,G);if(i!==null&&G.inheritedBound!==!0)throw this.positionedError(e,`emitter: this component extends '${i}' but its render never creates a '<${i}>' element `+"at class scope — rest props forward onto the FIRST class-scope element of the extended tag (at any "+"nesting depth; conditional branches and loop rows never bind it), and without one every caller prop lands nowhere");this.b.emit(" ".repeat(K)+"}")}),this.methodName=j;for(let[N,C]of G.plainWrites)if(G.renderPlainReads.has(N))throw this.positionedError(C,`emitter: writing to '${N}' silently freezes the render — it is a plain ('=') member and render `+"reads it, but render never re-runs for a non-reactive field; declare it with ':=' (state) if it changes");this.rframes.pop(),this.cframes.pop(),this.ind=K}renderBody(e,t,r){let i=" ".repeat(t+1),n=i+" ",s=this.rstate,a={kind:"class",name:null,parent:null,self:null,creates:[],setups:[],vars:null,locals:new Set,localDecls:new Map,bindings:new Set,refs:[],loopStack:[],stmts:[],forceNonStatic:!1,root:null,originNode:e,renameHazardNames:new Set};this.rstate={elCount:0,textCount:0,blockCount:0,svgDepth:0,fragChildren:new Map,tags:new Map,svgEls:new Set,pendingClassArgs:null,pendingClassEl:null,pad:n,frame:r,node:e,records:[],sink:a,classRecord:a,transitionSlot:null,suppressedPairs:new Set,slotSeen:!1};let o=e[1],l=u1(o)?o.slice(1):[o];a.stmts=l,this.rframes.push({reactive:new Set,bound:a.bindings});let c;try{c=this.walkRenderRoot(l,a)}finally{this.rframes.pop()}if(this.closeRenderScope(a),this.b.emit(`${i}_create() { `),this.mark(e,"$self",()=>this.mark(e,"body",()=>{this.withRecordContext(a,()=>{if(a.locals.size>0)this.b.emit(`${n}let ${[...a.locals].join(", ")}; `);this.replayCreates(a,n)}),this.b.emit(`${n}return ${c}; `)})),this.b.emit(`${i}} @@ -186,26 +186,26 @@ ${s??""}`);let h=()=>{if(f)this.b.emit(f);else this.expr(i)};if(this.b.emit("for `);for(let f of this.rstate.records)this.emitFactory(f,t,e);this.rstate=s}walkRenderRoot(e,t){if(e.length===0||e.length===1&&e[0]==="null")return"null";let r=this.walkChildStmts(e);if(t.kind==="class"&&this.rstate.fragChildren.has(r))this.renderLine(null,()=>this.b.emit(`this._nodes = [...${r}.childNodes]`));return r}walkChildStmts(e){let t=this.rstate,r=()=>{if(t.transitionSlot!==null&&t.transitionSlot.record===t.sink)t.transitionSlot=null},i=e.reduce((a,o)=>a+(this.isRenderBinding(o)?0:1),0);if(i===0){for(let o of e)this.renderNode(o);let a=this.newRenderVar("empty");return this.renderLine(null,()=>this.b.emit(`${a} = document.createComment('')`)),a}if(i===1){let a=null;for(let o of e){let l=this.renderNode(o);if(l!=null)a=l,r()}return a}let n=this.newRenderVar("frag");this.renderLine(null,()=>this.b.emit(`${n} = document.createDocumentFragment()`));let s=[];for(let a of e){let o=this.renderNode(a);if(o==null)continue;r(),this.renderLine(null,()=>this.b.emit(`${n}.appendChild(${o})`)),s.push(o)}return this.rstate.fragChildren.set(n,s),n}withRecordContext(e,t){let r=this.renderSelf,i=this.renderRecord;this.renderSelf=e.self,this.renderRecord=e,this.rframes.push({reactive:new Set,bound:e.bindings,loopVars:e.bindings});try{t()}finally{this.rframes.pop(),this.renderSelf=r,this.renderRecord=i}}renderDirectives(e,t){if(!this.ts||!this.tsDirectivesArmed||e==null||!E(e))return;let r=this.tsDirectiveMap.get(e);if(r===void 0)return;this.tsDirectiveMap.delete(e);for(let i of r)this.tsDirectiveLine(i,t,!0)}replayCreates(e,t){let r=this.replayPad;this.replayPad=t;try{for(let{node:i,fn:n,semi:s}of e.creates){if(this.renderDirectives(i,t),this.b.emit(t),i!=null)this.mark(i,"$self",n);else n();this.b.emit(s?`; `:` `)}}finally{this.replayPad=r}}replaySetups(e,t){for(let r of e.setups)if(r.kind==="effect"){this.renderDirectives(r.node,t),this.b.emit(t);let i=()=>{this.b.emit(`${this.runtimeName("__effect")}(() => { `),this.narrowGuard(),r.fn(),this.b.emit(" })")};if(r.node!=null)this.mark(r.node,"$self",i);else i();this.b.emit(`; -`)}else{if(r.node!=null)this.renderDirectives(r.node,t);r.fn(t)}}renderLine(e,t,r=!0){this.rstate.sink.creates.push({node:e,fn:t,semi:r})}newRenderVar(e="el"){let t=this.rstate.elCount++,r=this.rstate.sink;if(r.kind==="class")return`this._${e}${t}`;let i=`_${e}${t}`;return r.vars.add(i),i}newRenderText(){let e=this.rstate.textCount++,t=this.rstate.sink;if(t.kind==="class")return`this._t${e}`;let r=`_t${e}`;return t.vars.add(r),r}newBlockName(){let e;do e=`create_block_${this.rstate.blockCount++}`;while(this.rstate.frame.members.has(e));return e}renderEffect(e,t,r){if(r!==void 0)this.checkSetupLocalRefs(r,e);this.rstate.sink.setups.push({kind:"effect",node:e,fn:t})}checkSetupLocalRefs(e,t){let r=this.rstate.sink;if(r.kind!=="class"||r.locals.size===0)return;if($e(e,r.locals))throw this.positionedError(t??e,"emitter: a render local cannot appear in a LIVE binding or a dynamic block head at the render top level — "+"locals live in _create() and reactive machinery lives in _setup() (a compiled read here would be a mount-time ReferenceError); bind the value to a member instead",E(e)?e:this.rstate.node)}renderExpr(e){let t=null;return this.withExpression(()=>{let r=T.needsGrouping(e,"operand");if(r)this.b.emit("(");let i=this.b.offset;if(this.expr(e),t=[i,this.b.offset],r)this.b.emit(")")}),t}renderVarKind(e,t){let r=this.rstate;if(!r)return null;if(r.sink.locals.has(e))return"local";for(let i=r.sink.loopStack.length-1;i>=0;i--){let n=r.sink.loopStack[i];if(n.itemVar===e||n.indexVar===e)return n.reactiveSource?"loop-reactive":"loop"}if(t!==void 0){for(let i=r.sink.parent;i;i=i.parent)if(i.locals.has(e))throw this.positionedError(t,`emitter: render local '${e}' is not visible here — each dynamic block (a conditional branch, a loop body) `+"is its own factory function, and render locals never cross that boundary; declare the local inside this block, or use a member",this.rstate.node)}return null}renderReactive(e){if(typeof e==="string"){let n=this.renderVarKind(e);if(n!==null)return n==="loop-reactive";let s=this.resolveBareRead(e);return s==="reactive"||s==="member-reactive"}if(!E(e))return!1;if(e[0]==="."&&e[1]==="this"&&e.length===3&&typeof e[2]==="string")return this.memberIsReactive(e[2]);let t=(n)=>{if(typeof n!=="string"||n==="this"||this.renderVarKind(n)!==null)return!1;let s=this.resolveBareRead(n);return s==="member"||s===null&&(this.inScope(n)||this.moduleBound!==void 0&&this.moduleBound.has(n))},r=(n)=>{while(E(n)&&(n[0]==="."||n[0]==="[]")&&n.length===3)n=n[1];return n==="this"||t(n)},i=(n)=>{while(E(n)&&(n[0]==="."||n[0]==="[]"||n[0]==="?."||n[0]==="optindex")&&n.length===3)n=n[1];return typeof n==="string"&&this.renderVarKind(n)==="loop-reactive"};if(e[0]==="."&&e.length===3&&r(e[1]))return!0;if((e[0]==="."||e[0]==="[]")&&e.length===3&&i(e))return!0;if(E(e[0])&&e[0][0]==="."&&e[0][1]==="this"&&typeof e[0][2]==="string"&&this.cframes.length>0&&this.cframes[this.cframes.length-1].members.has(e[0][2]))return!0;return e.some((n)=>this.renderReactive(n))}isRenderBinding(e){return E(e)&&Hs.has(e[0])&&e.length===3&&typeof e[1]==="string"&&st.test(e[1])}renderNode(e){if(this.isRenderBinding(e))return this.renderBinding(e);if(E(e)&&nt(e[0])&&e.length===3)throw this.positionedError(e,"emitter: an assignment at a render child position must declare a render local (`name = expr` / compound forms "+"on a plain name) — member and chain writes have no render reading here; put the write in a handler or method");if(typeof e==="string"){if(e.startsWith('"')||e.startsWith("'")||e.startsWith("`")){let o=this.newRenderText();return this.renderLine(null,()=>this.b.emit(`${o} = document.createTextNode(${e})`)),o}let i=this.renderVarKind(e,e);if(i!==null){let o=this.newRenderText();if(i==="loop-reactive")this.renderLine(null,()=>this.b.emit(`${o} = document.createTextNode('')`)),this.renderEffect(null,()=>this.b.emit(`${o}.data = ${e};`));else this.renderLine(null,()=>this.b.emit(`${o} = document.createTextNode(String(${e}))`));return o}let n=this.resolveBareRead(e);if(n==="reactive"||n==="member-reactive"){let o=this.newRenderText();return this.renderLine(null,()=>this.b.emit(`${o} = document.createTextNode('')`)),this.renderEffect(null,()=>{this.b.emit(`${o}.data = `),this.expr(e),this.b.emit(";")}),o}if(e==="slot")return this.renderSlot(e,[]);if(lt(e))return this.renderChildComponent(e,e,[]);if(n==="member"){let o=this.newRenderText();return this.renderLine(null,()=>{this.b.emit(`${o} = document.createTextNode(String(`),this.expr(e),this.b.emit("))")}),o}let[s,a]=e.split("#");return this.renderTag(e,s||"div",[],[],a)}if(!E(e))throw this.positionedError(e,"emitter: unsupported render child");let t=e[0],r=typeof t==="string"?t:null;if(r==="if"&&e.length>=3)return this.renderCond(e);if(r==="switch"&&e.length===4)return this.renderSwitch(e);if(r==="for-in"&&e.length===6)return this.renderLoop(e);if(r==="for-of"&&e.length===6)throw this.positionedError(e,"emitter: `for … of` (object iteration) has no reconcile reading inside render — "+"__reconcile expects an array and crashes at mount; iterate entries instead: `for pair in Object.entries(obj)`");if(r==="for-as"&&e.length===6)throw this.positionedError(e,"emitter: an async loop has no render reading — reconciliation is synchronous; collect the items into a state "+"member and loop over it");if(r==="comprehension"||r==="while"||r==="loop")throw this.positionedError(e,"emitter: only `for … in` drives list rendering — while/loop/comprehensions have no reconcile reading inside "+"render");if(this.isEffectDecl(e)||this.isReactiveDecl(e)||this.isReadonlyDecl(e))throw this.positionedError(e,"emitter: declarations and effects have no render-body reading — declare members in the component body, above render");if(r==="slot")return this.renderSlot(e,e.slice(1));if(r!==null&<(r))return this.renderChildComponent(e,r,e.slice(1));if(r==="."&&e[1]==="this"&&typeof e[2]==="string")throw this.positionedError(e,`emitter: bare \`@${e[2]}\` is not rendered as text — use \`= @${e[2]}\` to render it`);if(r==="."){let{tag:i,classes:n,id:s}=T.collectTemplateClasses(e);if(i!==null&&Q1(i)&&this.renderVarKind(i)===null)return this.renderTag(e,i,n,[],s);return this.renderTextExpr(e)}if(r==="__text__"){if(e.length>2)throw this.positionedError(e,"emitter: the `= expr` text form takes ONE expression — an indented continuation under the `=` line has no "+"render reading (inside render a leading `.` starts a NEW element, so the continuation cannot be a method chain; put the whole expression on the `=` line, or bind it in a method)",this.rstate.node);return this.renderTextExpr(e[1]??"undefined",e,!0)}if(r!==null&&Q1(r.split("#")[0])&&e.length>=1&&this.renderVarKind(r)===null){let[i,n]=r.split("#");return this.renderTag(e,i||"div",[],e.slice(1),n)}if(E(t)){if(E(t[0])&&t[0][0]==="."&&t[0][2]==="__clsx"){let a=t[0][1],o=t.slice(1);if(E(a)){let{tag:l,classes:c,id:f}=T.collectTemplateClasses(a);if(l!==null&&Q1(l))return this.renderDynamicTag(e,l,o,e.slice(1),c,f)}else if(typeof a==="string"&&Q1(a.split("#")[0])){let[l,c]=a.split("#");return this.renderDynamicTag(e,l||"div",o,e.slice(1),[],c)}}let{tag:i,classes:n,id:s}=T.collectTemplateClasses(t);if(i!==null&&Q1(i)&&this.renderVarKind(i)===null){if(n.length>0&&n[n.length-1]==="__clsx")return this.renderDynamicTag(e,i,e.slice(1),[],n.slice(0,-1),s);return this.renderTag(e,i,n,e.slice(1),s)}}if(r==="->"||r==="=>")return this.renderChildBlock(e[2]);return this.renderTextExpr(e)}renderTextExpr(e,t=null,r=!1){let i=this.newRenderText(),n=t??(E(e)?e:null);this.checkCrossScopeLocals(e,n??this.rstate.node);let s=(a)=>{if(r&&t!==null)this.mark(t,"args",a);else a()};if(this.renderReactive(e))this.renderLine(n,()=>this.b.emit(`${i} = document.createTextNode('')`)),this.renderEffect(n,()=>{if(this.b.emit(`${i}.data = `),r)this.b.emit("String("),s(()=>this.renderExpr(e)),this.b.emit(")");else this.renderExpr(e);this.b.emit(";")},e);else this.renderLine(n,()=>{this.b.emit(`${i} = document.createTextNode(String(`),s(()=>this.withExpression(()=>this.expr(e))),this.b.emit("))")});return i}bindInheritedTarget(e,t,r){let i=this.rstate;if(i.frame.extendsTag!==t||i.sink.kind!=="class"||i.frame.inheritedBound===!0)return;i.frame.inheritedBound=!0,this.renderLine(e,()=>this.b.emit(`this._inheritedEl = ${r}`)),this.renderLine(e,()=>this.b.emit("this._applyRestToInheritedEl()"))}renderElementPrologue(e,t){let r=this.rstate,i=this.newRenderVar();if(r.tags.set(i,t),r.transitionSlot!==null&&r.transitionSlot.record===r.sink&&r.transitionSlot.el===null)r.transitionSlot.el=i;let n=r.svgDepth>0||en.has(t);if(n)r.svgEls.add(i);return this.renderLine(e,()=>{if(n)this.b.emit(`${i} = document.createElementNS('${T.SVG_NS}', `);else this.b.emit(`${i} = document.createElement(`);let s=this.emitQuotedPrimitive(t);if(s!==null&&rt(t,n))this.intrinsics.push({start:s[0],end:s[1],kind:"tag",tag:t,svg:n});this.b.emit(")")}),{el:i,isSvg:n}}renderElementBasics(e,t,r,i){let n=this.rstate;if(i)this.renderLine(e,()=>this.b.emit(`${r}.id = '${i}'`));if(this.bindInheritedTarget(e,t,r),n.frame.name!==null&&n.elCount===1&&n.sink.kind==="class")this.renderLine(e,()=>this.b.emit(`${r}.setAttribute('data-part', '${n.frame.name}')`))}renderTag(e,t,r,i,n){this.noteShorthandClasses(r,e);let s=this.rstate,{el:a,isSvg:o}=this.renderElementPrologue(e,t);this.renderElementBasics(e,t,a,n);let{pendingClassArgs:l,pendingClassEl:c,pendingClassKeys:f}=s;if(r.length>0)s.pendingClassArgs=[`'${r.join(" ")}'`],s.pendingClassEl=a,s.pendingClassKeys=null;if(o)s.svgDepth++;if(this.renderChildren(a,i,e),o)s.svgDepth--;if(r.length>0){if(s.pendingClassArgs.length===1)this.renderLine(e,()=>this.b.emit(o?`${a}.setAttribute('class', '${r.join(" ")}')`:`${a}.className = '${r.join(" ")}'`));else{let h=s.pendingClassArgs.slice(1),u=s.pendingClassKeys??[],m=this.tsElReceiver(a);this.renderEffect(e,()=>{let S=this.runtimeName("__clsx");if(o){m.emit();let g=this.b.offset+1;this.b.emit(`.setAttribute('class', ${S}('${r.join(" ")}', `);for(let d of u)this.intrinsics.push({start:d[0],end:d[1],kind:"attr",name:"class",gen:g})}else{m.emit(),this.b.emit(".");let g=this.b.offset;this.b.emit(`className = ${S}('${r.join(" ")}', `);for(let d of u)this.intrinsics.push({start:d[0],end:d[1],kind:"classkey",gen:g})}h.forEach((g,d)=>{if(d>0)this.b.emit(", ");g()}),this.b.emit(o?"));":");")})}s.pendingClassKeys=f,s.pendingClassArgs=l,s.pendingClassEl=c}return a}renderDynamicTag(e,t,r,i,n,s){this.noteShorthandClasses(n,e);let a=this.rstate,{el:o,isSvg:l}=this.renderElementPrologue(e,t);this.renderElementBasics(e,t,o,s);for(let S of r)this.checkCrossScopeLocals(S,e);let{pendingClassArgs:c,pendingClassEl:f,pendingClassKeys:h}=a;if(a.pendingClassArgs=[...n.map((S)=>`'${S}'`),...r.map((S)=>()=>this.renderExpr(S))],a.pendingClassEl=o,a.pendingClassKeys=null,l)a.svgDepth++;if(this.renderChildren(o,i,e),l)a.svgDepth--;let u=a.pendingClassArgs,m=a.pendingClassKeys??[];if(u.length>0)this.renderEffect(e,()=>{let S=this.runtimeName("__clsx");this.b.emit(`${o}`);let g=this.b.offset+1;this.b.emit(l?`.setAttribute('class', ${S}(`:`.className = ${S}(`);for(let d of m)this.intrinsics.push(l?{start:d[0],end:d[1],kind:"attr",name:"class",gen:g}:{start:d[0],end:d[1],kind:"classkey",gen:g});u.forEach((d,R)=>{if(R>0)this.b.emit(", ");if(typeof d==="string")this.b.emit(d);else d()}),this.b.emit(l?"));":");")});return a.pendingClassKeys=h,a.pendingClassArgs=c,a.pendingClassEl=f,o}renderChildBlock(e){if(!u1(e)){let r=this.renderNode(e);if(r!=null)return r;let i=this.newRenderVar("empty");return this.renderLine(null,()=>this.b.emit(`${i} = document.createComment('')`)),i}let t=e.slice(1);if(t.length===0){let r=this.newRenderVar("empty");return this.renderLine(null,()=>this.b.emit(`${r} = document.createComment('')`)),r}return this.walkChildStmts(t)}renderChildren(e,t,r=null){for(let i=0;i0)throw this.positionedError(n,"emitter: a parameterized function is not a render child — element children arrows carry no parameters "+"(an indented `.method (v) -> …` continuation re-reads as a NEW element inside render; put the chain on one "+"line or bind it in a method)",this.rstate.node);let s=n[2];if(u1(s))for(let a=1;athis.b.emit(`${e}.appendChild(${l})`))}}else if(s){if(!this.renderOwnLineWord(e,s,[s],0,r)){let a=this.renderNode(s);if(a!=null)this.renderLine(null,()=>this.b.emit(`${e}.appendChild(${a})`))}}continue}if(O1(n)){this.renderAttributes(e,n);continue}if(typeof n==="string"){let s=n.split(/[#.]/)[0],a=s===n?this.renderVarKind(n,n):null;if(a!==null){let l=this.newRenderText();if(a==="loop-reactive")this.renderLine(null,()=>this.b.emit(`${l} = document.createTextNode('')`)),this.renderEffect(null,()=>{this.b.emit(`${l}.data = `),this.emitPrimitive(n),this.b.emit(";")});else this.renderLine(null,()=>{this.b.emit(`${l} = document.createTextNode(`),this.emitPrimitive(n),this.b.emit(")")});this.renderLine(null,()=>this.b.emit(`${e}.appendChild(${l})`));continue}if(Q1(s||"div")){let l=this.renderNode(n);this.renderLine(null,()=>this.b.emit(`${e}.appendChild(${l})`));continue}if(lt(s)&&s===n){let l=this.renderChildComponent(n,n,[]);this.renderLine(null,()=>this.b.emit(`${e}.appendChild(${l})`));continue}if(/^[A-Za-z_$][\w$]*$/.test(n)&&this.resolveBareRead(n)===null&&!this.inScope(n)){this.renderBareAttribute(e,n,t,i,r);continue}let o=this.newRenderText();if(n.startsWith('"')||n.startsWith("'")||n.startsWith("`"))this.renderLine(null,()=>this.b.emit(`${o} = document.createTextNode(${n})`));else{let l=this.resolveBareRead(n);if(l==="reactive"||l==="member-reactive")this.renderLine(null,()=>this.b.emit(`${o} = document.createTextNode('')`)),this.renderEffect(null,()=>{this.b.emit(`${o}.data = `),this.expr(n),this.b.emit(";")});else if(l==="member")this.renderLine(null,()=>{this.b.emit(`${o} = document.createTextNode(String(`),this.expr(n),this.b.emit("))")});else this.renderLine(null,()=>{this.b.emit(`${o} = document.createTextNode(`),this.expr(n),this.b.emit(")")})}this.renderLine(null,()=>this.b.emit(`${e}.appendChild(${o})`));continue}if(n!=null){let s=this.renderNode(n);this.renderLine(null,()=>this.b.emit(`${e}.appendChild(${s})`))}}}renderTagOf(e){return this.rstate.tags?.get(e)??"div"}renderBareAttribute(e,t,r,i,n){let s=this.renderTagOf(e),a=null;if(this.ts&&!rn(s,t)){let c=this.bareChildSpan(r,i,n);if(c!==null)a=c,this.intrinsics.push({start:c[0],end:c[1],kind:"unknown-attr",tag:s,name:t,message:this.unknownAttrMessage(s,t,{bare:!0,svg:this.rstate?.svgEls?.has(e)===!0})})}let o=this.tsElReceiver(e),l=a===null?null:this.stores.idOf(n);this.renderLine(null,()=>{if(o.emit(),this.b.emit(".setAttribute("),l!==null)this.b.markSpan(l,"identifier",a[0],a[1],()=>this.emitQuotedPrimitive(t));else this.emitQuotedPrimitive(t);this.b.emit(", '')")})}renderOwnLineWord(e,t,r,i,n){if(typeof t!=="string"||!/^[A-Za-z_$][\w$]*$/.test(t))return!1;if(Q1(t)||lt(t))return!1;if(this.renderVarKind(t,t)!==null)return!1;if(this.resolveBareRead(t)!==null||this.inScope(t))return!1;return this.renderBareAttribute(e,t,r,i,n),!0}claimSlot(e){let t=this.rstate,r=e??this.rstate.node;if(t.sink.loopStack.length>0)throw this.positionedError(r,"emitter: `slot` inside a loop row has no working reading — `children` is ONE node, and every row would fight "+"over it; project it once, outside the loop",this.rstate.node);if(t.slotSeen)throw this.positionedError(r,"emitter: a second `slot` in one render — `children` is ONE node, and a second projection point MOVES it "+"",this.rstate.node);t.slotSeen=!0,this.noteVocabulary("render-channel","slot",r)}childrenReadText(){return`${this.renderSelf??"this"}.children${this.memberIsReactive("children")?".value":""}`}emitChildrenRead(e){if(this.b.emit(`${this.renderSelf??"this"}.`),e!==null)this.intrinsics.push({start:e[0],end:e[1],kind:"slot",gen:this.b.offset});if(this.b.emit("children"),this.memberIsReactive("children"))this.b.emit(".value")}renderSlot(e,t){let r=E(e)?e:null;if(t.length>0)throw this.positionedError(r??e,"emitter: `slot` takes no arguments — fallback content has no "+"reading here (render it through a conditional around the slot)",this.rstate.node);this.claimSlot(r);let i=this.newRenderVar("slot"),n=this.ts?this.wordSpanIn("slot",r??this.rstate.node):null;return this.renderLine(r,()=>{let s=this.childrenReadText();this.b.emit(`${i} = `),this.emitChildrenRead(n),this.b.emit(` instanceof Node ? ${s} : (${s} != null ? document.createTextNode(String(${s})) : document.createComment(''))`)}),i}renderChildComponent(e,t,r){let i=this.rstate,n=i.sink,s=E(e)?e:null,a;if(this.renderVarKind(t)!==null)a=()=>this.emitPrimitive(t);else{let w=this.resolveBareRead(t);if(w==="member"||w==="member-reactive")a=()=>{if(this.b.emit(`${this.renderSelf??"this"}.`),this.emitPrimitive(t),w==="member-reactive")this.b.emit(".value")};else if(w==="reactive")a=()=>{this.emitPrimitive(t),this.b.emit(".value")};else if(this.inScope(t)||this.moduleBound!==void 0&&this.moduleBound.has(t))a=()=>this.emitPrimitive(t);else throw this.positionedError(s??e,`emitter: component '${t}' is not defined in this module — a child component must be a module binding, `+"an import, or a component member (an undefined name would degrade to a comment placeholder at mount)",this.rstate.node)}let o=this.newRenderVar("inst"),l=this.newRenderVar("el"),c=[],f=[],h=[],u=[],m=new Map,S={prop:"an explicit `children:` prop",body:"element body content",slot:"a nested `slot`"},g=null,d=(w,D,B="prop")=>{let a1=w.startsWith("__bind_")&&w.endsWith("__")?w.slice(7,-2):w;if(m.has(a1)){if(a1==="children")throw this.positionedError(D??s??e,`emitter: this child component receives \`children\` TWICE — ${S[g]} beside ${S[B]}; give the children ONE spelling: the element body (indented or inline), the explicit \`children:\` prop, or a nested \`slot\` forwarding the received children`,this.rstate.node);throw this.positionedError(D??s??e,`emitter: duplicate prop '${a1}' on a child component — duplicate keys emit one object literal where the `+"last silently wins, and on an extends child the pair leaves two live writers racing over the inherited element; pass one value per prop",this.rstate.node)}if(m.set(a1,D??null),a1==="children")g=B},R=(w)=>{if(!E(w)||w.length!==3)throw this.positionedError(w,"emitter: unsupported attribute form on a child component",s??this.rstate.node);if(i.suppressedPairs.has(w))return;let[,D,B]=w;if(E(D)&&D[0]==="."&&D[1]==="this"&&typeof D[2]==="string"){this.checkBareEventHandler(w,B),this.checkCrossScopeLocals(B,w),h.push({pair:w,event:D[2],value:B});return}if(x(w),typeof D!=="string")throw this.positionedError(w,"emitter: computed prop keys are not supported on a child component",s??this.rstate.node);let a1=D.startsWith('"')&&D.endsWith('"')?D.slice(1,-1):D;if(a1==="__transition__")throw this.positionedError(w,"emitter: a transition directive has no child-component reading — the enter/leave phases animate ELEMENTS "+"; put it on the branch's first element, inside the child's own render",this.rstate.node);if(a1==="ref")throw this.positionedError(w,"emitter: `ref:` captures ELEMENTS — on a child component it has no reading "+"(a dead prop, silently); put the ref on an element inside the child, or emit the instance through an event",this.rstate.node);if(a1==="key")throw this.positionedError(w,"emitter: `key:` identifies loop rows — it is read only on the FIRST element of a `for` body inside render; "+"anywhere else it would leak into the DOM as an attribute",this.rstate.node);if(d(a1,w),a1.startsWith("__bind_")&&a1.endsWith("__")){this.checkUserSpelledBind(w),this.noteVocabulary("render-channel",a1,w);let f1=a1.slice(7,-2),z=this.childContainerRef(B);if(z!==null){c.push({pair:w,key:D,fn:z});return}let i1=(X,r1)=>this.positionedError(w,`emitter: \`${f1} <=> …\` on a child component shares a reactive CONTAINER, and ${X} ; ${r1}`,this.rstate.node);if(typeof B==="string"&&this.renderVarKind(B)===null){let X=this.resolveBareRead(B);if(X==="member")throw i1(`'${B}' is a plain member`,"declare it with ':=' to share it");if(X===null&&!this.inScope(B))throw i1(`'${B}' is not declared`,"bind a reactive member or module reactive name")}if(E(B)&&B[0]==="."&&B[1]==="this"&&B.length===3&&typeof B[2]==="string")throw i1(`'@${B[2]}' is not a reactive member`,"declare it with ':=' to share it");if(typeof B!=="string"&&!T.isChainNode(B))throw i1("this expression is never a container","bind a reactive member or module reactive name");this.checkCrossScopeLocals(B,w),c.push({pair:w,key:D,fn:()=>this.renderExpr(B)});return}this.addChildProp(c,f,w,D,a1,B)},b=(w,D)=>{throw this.positionedError(w,`emitter: bare '${D}' under a child component is ambiguous — it names an HTML element AND a `+`value in scope, and the value would win silently; render the value with \`= ${D}\`, or give the element content or attributes`,this.rstate.node)},_=(w,D)=>{d(D,null),c.push({pair:null,key:D,span:I(D),fn:()=>this.b.emit("true")})},y=s!==null&&this.stores.idOf(s)!==null?this.stores.selfSpan(this.stores.idOf(s)):null,p=y!==null&&this.b.source!==null?y[0]:null,k=(w)=>{if(p===null||w==null)return;if(E(w)){let D=this.stores.idOf(w),B=D!==null?this.stores.selfSpan(D):null;p=B!==null?Math.max(p,B[1]):null;return}if(typeof w==="string"){let D=this.b.source.indexOf(w,p);p=D>=0&&D+w.length<=y[1]?D+w.length:null;return}p=null},I=(w)=>{if(p===null)return null;let D=new RegExp(`(?y[1])return null;return p=B.index+w.length,[B.index,B.index+w.length]},A=new Map,x=(w)=>{if(!this.tsDirectivesArmed)return;let D=this.tsDirectiveMap.get(w);if(D===void 0)return;this.tsDirectiveMap.delete(w),A.set(w,[...A.get(w)??[],...D])},O=(w)=>{if(!this.tsDirectivesArmed)return;let D=this.tsDirectiveMap.get(w);if(D===void 0)return;let B=w.slice(1).find((a1)=>E(a1));if(B===void 0||i.suppressedPairs.has(B))return;this.tsDirectiveMap.delete(w),this.tsDirectiveMap.set(B,[...D,...this.tsDirectiveMap.get(B)??[]])},G=[],K=!1,V=(w)=>!E(w)&&!(typeof w==="string"&&((Q1(w.split(/[#.]/)[0])||lt(w.split(/[#.]/)[0]))&&this.renderVarKind(w)===null&&this.resolveBareRead(w)===null)),Z=(w)=>{if(w==null)return;let D=typeof w==="string"&&st.test(w)&&this.renderVarKind(w)===null&&this.resolveBareRead(w)===null;if(D&&(Q1(w)||w==="slot")&&(this.inScope(w)||this.moduleBound.has(w)))b(s??this.rstate.node,w);if(D&&w==="slot"){K=!0,k(w),G.push(w);return}if(D&&!this.inScope(w)&&!this.moduleBound.has(w)){_(s??this.rstate.node,w);return}k(w),G.push(w)};for(let w of r)if(O1(w)){O(w);for(let D of w.slice(1))R(D);k(w)}else if(T1(w)){let D=w[2],B=u1(D)?D.slice(1):D!=null?[D]:[];for(let a1 of B)if(O1(a1)){O(a1);for(let h1 of a1.slice(1))R(h1);k(a1)}else Z(a1)}else Z(w);let W=(w)=>{if(!V(w))return this.renderNode(w);this.checkCrossScopeLocals(w,s??this.rstate.node);let D=this.newRenderText();if(this.renderReactive(w))this.renderLine(s,()=>this.b.emit(`${D} = document.createTextNode('')`)),this.renderEffect(s,()=>{this.b.emit(`${D}.data = `),this.renderExpr(w),this.b.emit(";")},w);else this.renderLine(s,()=>{this.b.emit(`${D} = document.createTextNode(`),this.renderExpr(w),this.b.emit(")")});return D},j=G.filter((w)=>!this.isRenderBinding(w));if(j.length===1&&K){d("children",null,"slot"),this.claimSlot(s);let w=this.ts?this.wordSpanIn("slot",s??this.rstate.node):null;for(let D of G)if(D!=="slot")W(D);c.push({pair:null,key:"children",fn:()=>this.emitChildrenRead(w)})}else if(j.length===1){d("children",null,"body");let w=null;for(let D of G){let B=W(D);if(B!=null)w=B}c.push({pair:null,key:"children",fn:()=>this.b.emit(w)})}else if(j.length>1){d("children",null,"body");let w=this.newRenderVar("frag");this.renderLine(null,()=>this.b.emit(`${w} = document.createDocumentFragment()`));for(let D of G){let B=W(D);if(B!=null)this.renderLine(null,()=>this.b.emit(`${w}.appendChild(${B})`))}c.push({pair:null,key:"children",fn:()=>this.b.emit(w)})}else for(let w of G)W(w);let q=new Set([...n.bindings,...n.locals]);if(n.vars!==null)for(let w of n.vars)q.add(w);if(E(e))T.collectLeafNames(e,q);let t1=T.mintName("__prev",q),M=T.mintName("__childErr",q);if(n.kind!=="class")n.hasKids=!0;let N=(w)=>this.renderLine(s,w,!1),C=()=>this.renderSelf??"this";if(N(()=>this.b.emit(`{ const ${t1} = ${this.runtimeName("__pushComponent")}(${C()}); try {`)),N(()=>this.b.emit("try {")),N(()=>{if(this.b.emit(`${o} = new `),a(),this.b.emit("("),c.length===0)this.b.emit("{}");else{let w=A.size>0,D=this.replayPad+" ";this.b.emit(w?"{":"{ "),c.forEach((B,a1)=>{if(w){if(a1>0)this.b.emit(",");this.b.emit(` +`)}else{if(r.node!=null)this.renderDirectives(r.node,t);r.fn(t)}}renderLine(e,t,r=!0){this.rstate.sink.creates.push({node:e,fn:t,semi:r})}newRenderVar(e="el"){let t=this.rstate.elCount++,r=this.rstate.sink;if(r.kind==="class")return`this._${e}${t}`;let i=`_${e}${t}`;return r.vars.add(i),i}newRenderText(){let e=this.rstate.textCount++,t=this.rstate.sink;if(t.kind==="class")return`this._t${e}`;let r=`_t${e}`;return t.vars.add(r),r}newBlockName(){let e;do e=`create_block_${this.rstate.blockCount++}`;while(this.rstate.frame.members.has(e));return e}renderEffect(e,t,r){if(r!==void 0)this.checkSetupLocalRefs(r,e);this.rstate.sink.setups.push({kind:"effect",node:e,fn:t})}checkSetupLocalRefs(e,t){let r=this.rstate.sink;if(r.kind!=="class"||r.locals.size===0)return;if(Ie(e,r.locals))throw this.positionedError(t??e,"emitter: a render local cannot appear in a LIVE binding or a dynamic block head at the render top level — "+"locals live in _create() and reactive machinery lives in _setup() (a compiled read here would be a mount-time ReferenceError); bind the value to a member instead",E(e)?e:this.rstate.node)}renderExpr(e){let t=null;return this.withExpression(()=>{let r=T.needsGrouping(e,"operand");if(r)this.b.emit("(");let i=this.b.offset;if(this.expr(e),t=[i,this.b.offset],r)this.b.emit(")")}),t}renderVarKind(e,t){let r=this.rstate;if(!r)return null;if(r.sink.locals.has(e))return"local";for(let i=r.sink.loopStack.length-1;i>=0;i--){let n=r.sink.loopStack[i];if(n.itemVar===e||n.indexVar===e)return n.reactiveSource?"loop-reactive":"loop"}if(t!==void 0){for(let i=r.sink.parent;i;i=i.parent)if(i.locals.has(e))throw this.positionedError(t,`emitter: render local '${e}' is not visible here — each dynamic block (a conditional branch, a loop body) `+"is its own factory function, and render locals never cross that boundary; declare the local inside this block, or use a member",this.rstate.node)}return null}renderReactive(e){if(typeof e==="string"){let n=this.renderVarKind(e);if(n!==null)return n==="loop-reactive";let s=this.resolveBareRead(e);return s==="reactive"||s==="member-reactive"}if(!E(e))return!1;if(e[0]==="."&&e[1]==="this"&&e.length===3&&typeof e[2]==="string")return this.memberIsReactive(e[2]);let t=(n)=>{if(typeof n!=="string"||n==="this"||this.renderVarKind(n)!==null)return!1;let s=this.resolveBareRead(n);return s==="member"||s===null&&(this.inScope(n)||this.moduleBound!==void 0&&this.moduleBound.has(n))},r=(n)=>{while(E(n)&&(n[0]==="."||n[0]==="[]")&&n.length===3)n=n[1];return n==="this"||t(n)},i=(n)=>{while(E(n)&&(n[0]==="."||n[0]==="[]"||n[0]==="?."||n[0]==="optindex")&&n.length===3)n=n[1];return typeof n==="string"&&this.renderVarKind(n)==="loop-reactive"};if(e[0]==="."&&e.length===3&&r(e[1]))return!0;if((e[0]==="."||e[0]==="[]")&&e.length===3&&i(e))return!0;if(E(e[0])&&e[0][0]==="."&&e[0][1]==="this"&&typeof e[0][2]==="string"&&this.cframes.length>0&&this.cframes[this.cframes.length-1].members.has(e[0][2]))return!0;return e.some((n)=>this.renderReactive(n))}isRenderBinding(e){return E(e)&&Hs.has(e[0])&&e.length===3&&typeof e[1]==="string"&&st.test(e[1])}renderNode(e){if(this.isRenderBinding(e))return this.renderBinding(e);if(E(e)&&nt(e[0])&&e.length===3)throw this.positionedError(e,"emitter: an assignment at a render child position must declare a render local (`name = expr` / compound forms "+"on a plain name) — member and chain writes have no render reading here; put the write in a handler or method");if(typeof e==="string"){if(e.startsWith('"')||e.startsWith("'")||e.startsWith("`")){let o=this.newRenderText();return this.renderLine(null,()=>this.b.emit(`${o} = document.createTextNode(${e})`)),o}let i=this.renderVarKind(e,e);if(i!==null){let o=this.newRenderText();if(i==="loop-reactive")this.renderLine(null,()=>this.b.emit(`${o} = document.createTextNode('')`)),this.renderEffect(null,()=>this.b.emit(`${o}.data = ${e};`));else this.renderLine(null,()=>this.b.emit(`${o} = document.createTextNode(String(${e}))`));return o}let n=this.resolveBareRead(e);if(n==="reactive"||n==="member-reactive"){let o=this.newRenderText();return this.renderLine(null,()=>this.b.emit(`${o} = document.createTextNode('')`)),this.renderEffect(null,()=>{this.b.emit(`${o}.data = `),this.expr(e),this.b.emit(";")}),o}if(e==="slot")return this.renderSlot(e,[]);if(lt(e))return this.renderChildComponent(e,e,[]);if(n==="member"){let o=this.newRenderText();return this.renderLine(null,()=>{this.b.emit(`${o} = document.createTextNode(String(`),this.expr(e),this.b.emit("))")}),o}let[s,a]=e.split("#");return this.renderTag(e,s||"div",[],[],a)}if(!E(e))throw this.positionedError(e,"emitter: unsupported render child");let t=e[0],r=typeof t==="string"?t:null;if(r==="if"&&e.length>=3)return this.renderCond(e);if(r==="switch"&&e.length===4)return this.renderSwitch(e);if(r==="for-in"&&e.length===6)return this.renderLoop(e);if(r==="for-of"&&e.length===6)throw this.positionedError(e,"emitter: `for … of` (object iteration) has no reconcile reading inside render — "+"__reconcile expects an array and crashes at mount; iterate entries instead: `for pair in Object.entries(obj)`");if(r==="for-as"&&e.length===6)throw this.positionedError(e,"emitter: an async loop has no render reading — reconciliation is synchronous; collect the items into a state "+"member and loop over it");if(r==="comprehension"||r==="while"||r==="loop")throw this.positionedError(e,"emitter: only `for … in` drives list rendering — while/loop/comprehensions have no reconcile reading inside "+"render");if(this.isEffectDecl(e)||this.isReactiveDecl(e)||this.isReadonlyDecl(e))throw this.positionedError(e,"emitter: declarations and effects have no render-body reading — declare members in the component body, above render");if(r==="slot")return this.renderSlot(e,e.slice(1));if(r!==null&<(r))return this.renderChildComponent(e,r,e.slice(1));if(r==="."&&e[1]==="this"&&typeof e[2]==="string")throw this.positionedError(e,`emitter: bare \`@${e[2]}\` is not rendered as text — use \`= @${e[2]}\` to render it`);if(r==="."){let{tag:i,classes:n,id:s}=T.collectTemplateClasses(e);if(i!==null&&Q1(i)&&this.renderVarKind(i)===null)return this.renderTag(e,i,n,[],s);return this.renderTextExpr(e)}if(r==="__text__"){if(e.length>2)throw this.positionedError(e,"emitter: the `= expr` text form takes ONE expression — an indented continuation under the `=` line has no "+"render reading (inside render a leading `.` starts a NEW element, so the continuation cannot be a method chain; put the whole expression on the `=` line, or bind it in a method)",this.rstate.node);return this.renderTextExpr(e[1]??"undefined",e,!0)}if(r!==null&&Q1(r.split("#")[0])&&e.length>=1&&this.renderVarKind(r)===null){let[i,n]=r.split("#");return this.renderTag(e,i||"div",[],e.slice(1),n)}if(E(t)){if(E(t[0])&&t[0][0]==="."&&t[0][2]==="__clsx"){let a=t[0][1],o=t.slice(1);if(E(a)){let{tag:l,classes:c,id:f}=T.collectTemplateClasses(a);if(l!==null&&Q1(l))return this.renderDynamicTag(e,l,o,e.slice(1),c,f)}else if(typeof a==="string"&&Q1(a.split("#")[0])){let[l,c]=a.split("#");return this.renderDynamicTag(e,l||"div",o,e.slice(1),[],c)}}let{tag:i,classes:n,id:s}=T.collectTemplateClasses(t);if(i!==null&&Q1(i)&&this.renderVarKind(i)===null){if(n.length>0&&n[n.length-1]==="__clsx")return this.renderDynamicTag(e,i,e.slice(1),[],n.slice(0,-1),s);return this.renderTag(e,i,n,e.slice(1),s)}}if(r==="->"||r==="=>")return this.renderChildBlock(e[2]);return this.renderTextExpr(e)}renderTextExpr(e,t=null,r=!1){let i=this.newRenderText(),n=t??(E(e)?e:null);this.checkCrossScopeLocals(e,n??this.rstate.node);let s=(a)=>{if(r&&t!==null)this.mark(t,"args",a);else a()};if(this.renderReactive(e))this.renderLine(n,()=>this.b.emit(`${i} = document.createTextNode('')`)),this.renderEffect(n,()=>{if(this.b.emit(`${i}.data = `),r)this.b.emit("String("),s(()=>this.renderExpr(e)),this.b.emit(")");else this.renderExpr(e);this.b.emit(";")},e);else this.renderLine(n,()=>{this.b.emit(`${i} = document.createTextNode(String(`),s(()=>this.withExpression(()=>this.expr(e))),this.b.emit("))")});return i}bindInheritedTarget(e,t,r){let i=this.rstate;if(i.frame.extendsTag!==t||i.sink.kind!=="class"||i.frame.inheritedBound===!0)return;i.frame.inheritedBound=!0,this.renderLine(e,()=>this.b.emit(`this._inheritedEl = ${r}`)),this.renderLine(e,()=>this.b.emit("this._applyRestToInheritedEl()"))}renderElementPrologue(e,t){let r=this.rstate,i=this.newRenderVar();if(r.tags.set(i,t),r.transitionSlot!==null&&r.transitionSlot.record===r.sink&&r.transitionSlot.el===null)r.transitionSlot.el=i;let n=r.svgDepth>0||en.has(t);if(n)r.svgEls.add(i);return this.renderLine(e,()=>{if(n)this.b.emit(`${i} = document.createElementNS('${T.SVG_NS}', `);else this.b.emit(`${i} = document.createElement(`);let s=this.emitQuotedPrimitive(t);if(s!==null&&rt(t,n))this.intrinsics.push({start:s[0],end:s[1],kind:"tag",tag:t,svg:n});this.b.emit(")")}),{el:i,isSvg:n}}renderElementBasics(e,t,r,i){let n=this.rstate;if(i)this.renderLine(e,()=>this.b.emit(`${r}.id = '${i}'`));if(this.bindInheritedTarget(e,t,r),n.frame.name!==null&&n.elCount===1&&n.sink.kind==="class")this.renderLine(e,()=>this.b.emit(`${r}.setAttribute('data-part', '${n.frame.name}')`))}renderTag(e,t,r,i,n){this.noteShorthandClasses(r,e);let s=this.rstate,{el:a,isSvg:o}=this.renderElementPrologue(e,t);this.renderElementBasics(e,t,a,n);let{pendingClassArgs:l,pendingClassEl:c,pendingClassKeys:f}=s;if(r.length>0)s.pendingClassArgs=[`'${r.join(" ")}'`],s.pendingClassEl=a,s.pendingClassKeys=null;if(o)s.svgDepth++;if(this.renderChildren(a,i,e),o)s.svgDepth--;if(r.length>0){if(s.pendingClassArgs.length===1)this.renderLine(e,()=>this.b.emit(o?`${a}.setAttribute('class', '${r.join(" ")}')`:`${a}.className = '${r.join(" ")}'`));else{let h=s.pendingClassArgs.slice(1),u=s.pendingClassKeys??[],d=this.tsElReceiver(a);this.renderEffect(e,()=>{let S=this.runtimeName("__clsx");if(o){d.emit();let g=this.b.offset+1;this.b.emit(`.setAttribute('class', ${S}('${r.join(" ")}', `);for(let p of u)this.intrinsics.push({start:p[0],end:p[1],kind:"attr",name:"class",gen:g})}else{d.emit(),this.b.emit(".");let g=this.b.offset;this.b.emit(`className = ${S}('${r.join(" ")}', `);for(let p of u)this.intrinsics.push({start:p[0],end:p[1],kind:"classkey",gen:g})}h.forEach((g,p)=>{if(p>0)this.b.emit(", ");g()}),this.b.emit(o?"));":");")})}s.pendingClassKeys=f,s.pendingClassArgs=l,s.pendingClassEl=c}return a}renderDynamicTag(e,t,r,i,n,s){this.noteShorthandClasses(n,e);let a=this.rstate,{el:o,isSvg:l}=this.renderElementPrologue(e,t);this.renderElementBasics(e,t,o,s);for(let S of r)this.checkCrossScopeLocals(S,e);let{pendingClassArgs:c,pendingClassEl:f,pendingClassKeys:h}=a;if(a.pendingClassArgs=[...n.map((S)=>`'${S}'`),...r.map((S)=>()=>this.renderExpr(S))],a.pendingClassEl=o,a.pendingClassKeys=null,l)a.svgDepth++;if(this.renderChildren(o,i,e),l)a.svgDepth--;let u=a.pendingClassArgs,d=a.pendingClassKeys??[];if(u.length>0)this.renderEffect(e,()=>{let S=this.runtimeName("__clsx");this.b.emit(`${o}`);let g=this.b.offset+1;this.b.emit(l?`.setAttribute('class', ${S}(`:`.className = ${S}(`);for(let p of d)this.intrinsics.push(l?{start:p[0],end:p[1],kind:"attr",name:"class",gen:g}:{start:p[0],end:p[1],kind:"classkey",gen:g});u.forEach((p,R)=>{if(R>0)this.b.emit(", ");if(typeof p==="string")this.b.emit(p);else p()}),this.b.emit(l?"));":");")});return a.pendingClassKeys=h,a.pendingClassArgs=c,a.pendingClassEl=f,o}renderChildBlock(e){if(!u1(e)){let r=this.renderNode(e);if(r!=null)return r;let i=this.newRenderVar("empty");return this.renderLine(null,()=>this.b.emit(`${i} = document.createComment('')`)),i}let t=e.slice(1);if(t.length===0){let r=this.newRenderVar("empty");return this.renderLine(null,()=>this.b.emit(`${r} = document.createComment('')`)),r}return this.walkChildStmts(t)}renderChildren(e,t,r=null){for(let i=0;i0)throw this.positionedError(n,"emitter: a parameterized function is not a render child — element children arrows carry no parameters "+"(an indented `.method (v) -> …` continuation re-reads as a NEW element inside render; put the chain on one "+"line or bind it in a method)",this.rstate.node);let s=n[2];if(u1(s))for(let a=1;athis.b.emit(`${e}.appendChild(${l})`))}}else if(s){if(!this.renderOwnLineWord(e,s,[s],0,r)){let a=this.renderNode(s);if(a!=null)this.renderLine(null,()=>this.b.emit(`${e}.appendChild(${a})`))}}continue}if(O1(n)){this.renderAttributes(e,n);continue}if(typeof n==="string"){let s=n.split(/[#.]/)[0],a=s===n?this.renderVarKind(n,n):null;if(a!==null){let l=this.newRenderText();if(a==="loop-reactive")this.renderLine(null,()=>this.b.emit(`${l} = document.createTextNode('')`)),this.renderEffect(null,()=>{this.b.emit(`${l}.data = `),this.emitPrimitive(n),this.b.emit(";")});else this.renderLine(null,()=>{this.b.emit(`${l} = document.createTextNode(`),this.emitPrimitive(n),this.b.emit(")")});this.renderLine(null,()=>this.b.emit(`${e}.appendChild(${l})`));continue}if(Q1(s||"div")){let l=this.renderNode(n);this.renderLine(null,()=>this.b.emit(`${e}.appendChild(${l})`));continue}if(lt(s)&&s===n){let l=this.renderChildComponent(n,n,[]);this.renderLine(null,()=>this.b.emit(`${e}.appendChild(${l})`));continue}if(/^[A-Za-z_$][\w$]*$/.test(n)&&this.resolveBareRead(n)===null&&!this.inScope(n)){this.renderBareAttribute(e,n,t,i,r);continue}let o=this.newRenderText();if(n.startsWith('"')||n.startsWith("'")||n.startsWith("`"))this.renderLine(null,()=>this.b.emit(`${o} = document.createTextNode(${n})`));else{let l=this.resolveBareRead(n);if(l==="reactive"||l==="member-reactive")this.renderLine(null,()=>this.b.emit(`${o} = document.createTextNode('')`)),this.renderEffect(null,()=>{this.b.emit(`${o}.data = `),this.expr(n),this.b.emit(";")});else if(l==="member")this.renderLine(null,()=>{this.b.emit(`${o} = document.createTextNode(String(`),this.expr(n),this.b.emit("))")});else this.renderLine(null,()=>{this.b.emit(`${o} = document.createTextNode(`),this.expr(n),this.b.emit(")")})}this.renderLine(null,()=>this.b.emit(`${e}.appendChild(${o})`));continue}if(n!=null){let s=this.renderNode(n);this.renderLine(null,()=>this.b.emit(`${e}.appendChild(${s})`))}}}renderTagOf(e){return this.rstate.tags?.get(e)??"div"}renderBareAttribute(e,t,r,i,n){let s=this.renderTagOf(e),a=null;if(this.ts&&!rn(s,t)){let c=this.bareChildSpan(r,i,n);if(c!==null)a=c,this.intrinsics.push({start:c[0],end:c[1],kind:"unknown-attr",tag:s,name:t,message:this.unknownAttrMessage(s,t,{bare:!0,svg:this.rstate?.svgEls?.has(e)===!0})})}let o=this.tsElReceiver(e),l=a===null?null:this.stores.idOf(n);this.renderLine(null,()=>{if(o.emit(),this.b.emit(".setAttribute("),l!==null)this.b.markSpan(l,"identifier",a[0],a[1],()=>this.emitQuotedPrimitive(t));else this.emitQuotedPrimitive(t);this.b.emit(", '')")})}renderOwnLineWord(e,t,r,i,n){if(typeof t!=="string"||!/^[A-Za-z_$][\w$]*$/.test(t))return!1;if(Q1(t)||lt(t))return!1;if(this.renderVarKind(t,t)!==null)return!1;if(this.resolveBareRead(t)!==null||this.inScope(t))return!1;return this.renderBareAttribute(e,t,r,i,n),!0}claimSlot(e){let t=this.rstate,r=e??this.rstate.node;if(t.sink.loopStack.length>0)throw this.positionedError(r,"emitter: `slot` inside a loop row has no working reading — `children` is ONE node, and every row would fight "+"over it; project it once, outside the loop",this.rstate.node);if(t.slotSeen)throw this.positionedError(r,"emitter: a second `slot` in one render — `children` is ONE node, and a second projection point MOVES it "+"",this.rstate.node);t.slotSeen=!0,this.noteVocabulary("render-channel","slot",r)}childrenReadText(){return`${this.renderSelf??"this"}.children${this.memberIsReactive("children")?".value":""}`}emitChildrenRead(e){if(this.b.emit(`${this.renderSelf??"this"}.`),e!==null)this.intrinsics.push({start:e[0],end:e[1],kind:"slot",gen:this.b.offset});if(this.b.emit("children"),this.memberIsReactive("children"))this.b.emit(".value")}renderSlot(e,t){let r=E(e)?e:null;if(t.length>0)throw this.positionedError(r??e,"emitter: `slot` takes no arguments — fallback content has no "+"reading here (render it through a conditional around the slot)",this.rstate.node);this.claimSlot(r);let i=this.newRenderVar("slot"),n=this.ts?this.wordSpanIn("slot",r??this.rstate.node):null;return this.renderLine(r,()=>{let s=this.childrenReadText();this.b.emit(`${i} = `),this.emitChildrenRead(n),this.b.emit(` instanceof Node ? ${s} : (${s} != null ? document.createTextNode(String(${s})) : document.createComment(''))`)}),i}renderChildComponent(e,t,r){let i=this.rstate,n=i.sink,s=E(e)?e:null,a;if(this.renderVarKind(t)!==null)a=()=>this.emitPrimitive(t);else{let w=this.resolveBareRead(t);if(w==="member"||w==="member-reactive")a=()=>{if(this.b.emit(`${this.renderSelf??"this"}.`),this.emitPrimitive(t),w==="member-reactive")this.b.emit(".value")};else if(w==="reactive")a=()=>{this.emitPrimitive(t),this.b.emit(".value")};else if(this.inScope(t)||this.moduleBound!==void 0&&this.moduleBound.has(t))a=()=>this.emitPrimitive(t);else throw this.positionedError(s??e,`emitter: component '${t}' is not defined in this module — a child component must be a module binding, `+"an import, or a component member (an undefined name would degrade to a comment placeholder at mount)",this.rstate.node)}let o=this.newRenderVar("inst"),l=this.newRenderVar("el"),c=[],f=[],h=[],u=[],d=new Map,S={prop:"an explicit `children:` prop",body:"element body content",slot:"a nested `slot`"},g=null,p=(w,D,B="prop")=>{let a1=w.startsWith("__bind_")&&w.endsWith("__")?w.slice(7,-2):w;if(d.has(a1)){if(a1==="children")throw this.positionedError(D??s??e,`emitter: this child component receives \`children\` TWICE — ${S[g]} beside ${S[B]}; give the children ONE spelling: the element body (indented or inline), the explicit \`children:\` prop, or a nested \`slot\` forwarding the received children`,this.rstate.node);throw this.positionedError(D??s??e,`emitter: duplicate prop '${a1}' on a child component — duplicate keys emit one object literal where the `+"last silently wins, and on an extends child the pair leaves two live writers racing over the inherited element; pass one value per prop",this.rstate.node)}if(d.set(a1,D??null),a1==="children")g=B},R=(w)=>{if(!E(w)||w.length!==3)throw this.positionedError(w,"emitter: unsupported attribute form on a child component",s??this.rstate.node);if(i.suppressedPairs.has(w))return;let[,D,B]=w;if(E(D)&&D[0]==="."&&D[1]==="this"&&typeof D[2]==="string"){this.checkBareEventHandler(w,B),this.checkCrossScopeLocals(B,w),h.push({pair:w,event:D[2],value:B});return}if(x(w),typeof D!=="string")throw this.positionedError(w,"emitter: computed prop keys are not supported on a child component",s??this.rstate.node);let a1=D.startsWith('"')&&D.endsWith('"')?D.slice(1,-1):D;if(a1==="__transition__")throw this.positionedError(w,"emitter: a transition directive has no child-component reading — the enter/leave phases animate ELEMENTS "+"; put it on the branch's first element, inside the child's own render",this.rstate.node);if(a1==="ref")throw this.positionedError(w,"emitter: `ref:` captures ELEMENTS — on a child component it has no reading "+"(a dead prop, silently); put the ref on an element inside the child, or emit the instance through an event",this.rstate.node);if(a1==="key")throw this.positionedError(w,"emitter: `key:` identifies loop rows — it is read only on the FIRST element of a `for` body inside render; "+"anywhere else it would leak into the DOM as an attribute",this.rstate.node);if(p(a1,w),a1.startsWith("__bind_")&&a1.endsWith("__")){this.checkUserSpelledBind(w),this.noteVocabulary("render-channel",a1,w);let f1=a1.slice(7,-2),z=this.childContainerRef(B);if(z!==null){c.push({pair:w,key:D,fn:z});return}let i1=(X,r1)=>this.positionedError(w,`emitter: \`${f1} <=> …\` on a child component shares a reactive CONTAINER, and ${X} ; ${r1}`,this.rstate.node);if(typeof B==="string"&&this.renderVarKind(B)===null){let X=this.resolveBareRead(B);if(X==="member")throw i1(`'${B}' is a plain member`,"declare it with ':=' to share it");if(X===null&&!this.inScope(B))throw i1(`'${B}' is not declared`,"bind a reactive member or module reactive name")}if(E(B)&&B[0]==="."&&B[1]==="this"&&B.length===3&&typeof B[2]==="string")throw i1(`'@${B[2]}' is not a reactive member`,"declare it with ':=' to share it");if(typeof B!=="string"&&!T.isChainNode(B))throw i1("this expression is never a container","bind a reactive member or module reactive name");this.checkCrossScopeLocals(B,w),c.push({pair:w,key:D,fn:()=>this.renderExpr(B)});return}this.addChildProp(c,f,w,D,a1,B)},b=(w,D)=>{throw this.positionedError(w,`emitter: bare '${D}' under a child component is ambiguous — it names an HTML element AND a `+`value in scope, and the value would win silently; render the value with \`= ${D}\`, or give the element content or attributes`,this.rstate.node)},_=(w,D)=>{p(D,null),c.push({pair:null,key:D,span:O(D),fn:()=>this.b.emit("true")})},y=s!==null&&this.stores.idOf(s)!==null?this.stores.selfSpan(this.stores.idOf(s)):null,m=y!==null&&this.b.source!==null?y[0]:null,k=(w)=>{if(m===null||w==null)return;if(E(w)){let D=this.stores.idOf(w),B=D!==null?this.stores.selfSpan(D):null;m=B!==null?Math.max(m,B[1]):null;return}if(typeof w==="string"){let D=this.b.source.indexOf(w,m);m=D>=0&&D+w.length<=y[1]?D+w.length:null;return}m=null},O=(w)=>{if(m===null)return null;let D=new RegExp(`(?y[1])return null;return m=B.index+w.length,[B.index,B.index+w.length]},A=new Map,x=(w)=>{if(!this.tsDirectivesArmed)return;let D=this.tsDirectiveMap.get(w);if(D===void 0)return;this.tsDirectiveMap.delete(w),A.set(w,[...A.get(w)??[],...D])},I=(w)=>{if(!this.tsDirectivesArmed)return;let D=this.tsDirectiveMap.get(w);if(D===void 0)return;let B=w.slice(1).find((a1)=>E(a1));if(B===void 0||i.suppressedPairs.has(B))return;this.tsDirectiveMap.delete(w),this.tsDirectiveMap.set(B,[...D,...this.tsDirectiveMap.get(B)??[]])},H=[],G=!1,K=(w)=>!E(w)&&!(typeof w==="string"&&((Q1(w.split(/[#.]/)[0])||lt(w.split(/[#.]/)[0]))&&this.renderVarKind(w)===null&&this.resolveBareRead(w)===null)),Z=(w)=>{if(w==null)return;let D=typeof w==="string"&&st.test(w)&&this.renderVarKind(w)===null&&this.resolveBareRead(w)===null;if(D&&(Q1(w)||w==="slot")&&(this.inScope(w)||this.moduleBound.has(w)))b(s??this.rstate.node,w);if(D&&w==="slot"){G=!0,k(w),H.push(w);return}if(D&&!this.inScope(w)&&!this.moduleBound.has(w)){_(s??this.rstate.node,w);return}k(w),H.push(w)};for(let w of r)if(O1(w)){I(w);for(let D of w.slice(1))R(D);k(w)}else if(T1(w)){let D=w[2],B=u1(D)?D.slice(1):D!=null?[D]:[];for(let a1 of B)if(O1(a1)){I(a1);for(let h1 of a1.slice(1))R(h1);k(a1)}else Z(a1)}else Z(w);let V=(w)=>{if(!K(w))return this.renderNode(w);this.checkCrossScopeLocals(w,s??this.rstate.node);let D=this.newRenderText();if(this.renderReactive(w))this.renderLine(s,()=>this.b.emit(`${D} = document.createTextNode('')`)),this.renderEffect(s,()=>{this.b.emit(`${D}.data = `),this.renderExpr(w),this.b.emit(";")},w);else this.renderLine(s,()=>{this.b.emit(`${D} = document.createTextNode(`),this.renderExpr(w),this.b.emit(")")});return D},j=H.filter((w)=>!this.isRenderBinding(w));if(j.length===1&&G){p("children",null,"slot"),this.claimSlot(s);let w=this.ts?this.wordSpanIn("slot",s??this.rstate.node):null;for(let D of H)if(D!=="slot")V(D);c.push({pair:null,key:"children",fn:()=>this.emitChildrenRead(w)})}else if(j.length===1){p("children",null,"body");let w=null;for(let D of H){let B=V(D);if(B!=null)w=B}c.push({pair:null,key:"children",fn:()=>this.b.emit(w)})}else if(j.length>1){p("children",null,"body");let w=this.newRenderVar("frag");this.renderLine(null,()=>this.b.emit(`${w} = document.createDocumentFragment()`));for(let D of H){let B=V(D);if(B!=null)this.renderLine(null,()=>this.b.emit(`${w}.appendChild(${B})`))}c.push({pair:null,key:"children",fn:()=>this.b.emit(w)})}else for(let w of H)V(w);let q=new Set([...n.bindings,...n.locals]);if(n.vars!==null)for(let w of n.vars)q.add(w);if(E(e))T.collectLeafNames(e,q);let t1=T.mintName("__prev",q),M=T.mintName("__childErr",q);if(n.kind!=="class")n.hasKids=!0;let N=(w)=>this.renderLine(s,w,!1),C=()=>this.renderSelf??"this";if(N(()=>this.b.emit(`{ const ${t1} = ${this.runtimeName("__pushComponent")}(${C()}); try {`)),N(()=>this.b.emit("try {")),N(()=>{if(this.b.emit(`${o} = new `),a(),this.b.emit("("),c.length===0)this.b.emit("{}");else{let w=A.size>0,D=this.replayPad+" ";this.b.emit(w?"{":"{ "),c.forEach((B,a1)=>{if(w){if(a1>0)this.b.emit(",");this.b.emit(` `);let f1=B.pair!==null?A.get(B.pair):void 0;if(this.ts&&f1!==void 0)for(let z of f1)this.tsDirectiveLine(z,D,!0);this.b.emit(D)}else if(a1>0)this.b.emit(", ");let h1=()=>{let f1=(i1)=>{let X=this.b.offset,r1=i1();if(this.ts)this.attrNames.push([X,this.b.offset]);if("routeKey"in B)B.routeKey=[X,this.b.offset];if(this.ts&&r1!=null){let Q=B.pair!==null?this.stores.idOf(B.pair):null,l1=Q!==null?this.stores.selfSpan(Q):null,c1=[r1[0],r1[1]];this.renderPairs.push({key:c1,pair:l1??c1,sites:[[X,this.b.offset]]})}},z=E(s)?this.stores.idOf(s):null;if(this.ts&&B.span!=null&&z!==null){f1(()=>(this.b.markSpan(z,"shorthandProp",B.span[0],B.span[1],()=>this.b.emit(B.key)),[B.span[0],B.span[1]])),this.b.emit(": "),B.fn();return}if(B.key.startsWith("__bind_")&&B.key.endsWith("__"))f1(()=>{let i1=this.b.offset;this.b.emit("__bind_");let X=this.emitRewrittenPrimitive(B.key,B.key.slice(7,-2));if(this.ts&&X!==null)this.intrinsics.push({start:X[0],end:X[1],kind:"bind",name:B.key.slice(7,-2),gen:i1});return this.b.emit("__"),X});else f1(()=>this.emitPrimitive(B.key));this.b.emit(": "),B.fn()};if(B.pair!==null&&this.stores.idOf(B.pair)!==null)this.mark(B.pair,"$self",h1);else h1()}),this.b.emit(w?` ${this.replayPad}}`:" }")}this.b.emit(");")}),N(()=>this.b.emit(`if (${o} && ${o}._initFailed) {`)),N(()=>this.b.emit(` ${o} = null;`)),N(()=>this.b.emit(` ${l} = document.createComment('rip:child-init-failed: ${t}');`)),N(()=>{this.b.emit("} else if (");let w=()=>this.b.emit(`${o}._mountCreate()`);if(s!==null)this.mark(s,"$self",w);else w();this.b.emit(") {")}),N(()=>this.b.emit(` ${l} = ${o}._root;`)),n.kind==="class")N(()=>this.b.emit(` (this._children || (this._children = [])).push(${o});`));else N(()=>this.b.emit(` ${n.kidsVar}.push(${o});`));N(()=>this.b.emit("} else {")),N(()=>this.b.emit(` ${o} = null;`)),N(()=>this.b.emit(` ${l} = document.createComment('rip:child-error: ${t}');`)),N(()=>this.b.emit("}")),N(()=>this.b.emit(`} catch (${M}) {`)),N(()=>this.b.emit(` console.error('[Rip] ${t} construction failed:', ${M});`)),N(()=>this.b.emit(` ${o} = null;`)),N(()=>this.b.emit(` ${l} = document.createComment('rip:child-error: ${t}');`)),N(()=>this.b.emit("}")),N(()=>this.b.emit(`} finally { ${this.runtimeName("__popComponent")}(${t1}); } }`));for(let{pair:w,event:D,value:B}of h){if(this.ts){let f1=E(w)&&E(w[1])?w[1]:null,z=f1!==null?this.stores.idOf(f1)??null:null,i1=z!==null?this.stores.selfSpan(z):null;if(i1!==null)this.intrinsics.push({start:i1[0],end:i1[1],kind:"event",name:D,type:this.tsEventTypeText([D])!==null?`HTMLElementEventMap['${D}']`:null,child:t})}let a1=new Set;T.collectLeafNames(B,a1);let h1=T.mintName("e",a1);this.renderLine(w,()=>{let f1=`(${o}._nodes?.[0] ?? ${l})`;if(!this.ts)this.b.emit(`if (${o}) ${f1}.addEventListener('${D}', (${h1}`);else this.b.emit(`if (${o}) ${f1}.addEventListener(`),this.emitQuotedPrimitive(D),this.b.emit(`, (${h1}`);this.tsScaffoldAny(),this.b.emit(`) => ${this.runtimeName("__batch")}(() => (`),this.tsHandlerCast(()=>this.withExpression(()=>this.expr(B))),this.b.emit(`)(${h1})))`)})}n.setups.push({kind:"raw",fn:(w)=>{this.b.emit(w);let D=()=>{this.b.emit(`if (${o} && ${o}._state === 'mounting') { ${w} ${l} = ${o}._mountSetup(document.createComment('rip:child-error: ${t}')); `);let B=this.rstate.fragChildren.get(n.root),a1=B!==void 0?B[0]:n.root;if(n.kind!=="class"&&a1===l){if(this.b.emit(`${w} `),this.ts)this.b.tsOnly(()=>this.b.emit("("));if(this.b.emit("this"),this.ts)this.b.tsOnly(()=>this.b.emit(" as any)"));this.b.emit(`._first = ${l}; `)}this.b.emit(`${w}}`)};if(s!==null)this.mark(s,"$self",D);else D();this.b.emit(` -`)}});for(let{pair:w,key:D,value:B}of f){let a1=D.startsWith('"')&&D.endsWith('"')?D.slice(1,-1):D;this.renderEffect(w,()=>{this.b.emit(`if (${o}) ${o}._updateProp('${a1}', `),this.renderExpr(B),this.b.emit(");")},B)}return l}addChildProp(e,t,r,i,n,s){let a=this.childContainerRef(s);if(a!==null){e.push({pair:r,key:i,fn:a});return}if(this.checkCrossScopeLocals(s,r),this.ts&&this.routesUnion!==null&&n==="href"&&this.isRouteLiteralValue(s)){this._needsRouteHelper=!0;let l={pair:r,key:i,routeKey:null};l.fn=()=>{this.b.tsOnly(()=>this.b.emit("__ripRoute("));let c=this.b.offset;this.renderExpr(s);let f=this.b.offset;if(this.b.tsOnly(()=>this.b.emit(")")),l.routeKey!==null)this.routeWrapSpans.push({key:l.routeKey,value:[c,f]})},e.push(l)}else e.push({pair:r,key:i,fn:()=>this.renderExpr(s)});if(!T1(s)&&this.renderReactive(s))t.push({pair:r,key:i,value:s})}childContainerRef(e){if(typeof e==="string"){if(this.renderVarKind(e)!==null)return null;let t=this.resolveBareRead(e);if(t==="member-reactive")return()=>{this.b.emit(`${this.renderSelf??"this"}.`);let r=this.emitPrimitive(e);if(this.ts&&r!==null)this.memberDecls.push({start:r[0],end:r[1]})};if(t==="reactive")return()=>this.emitPrimitive(e);return null}if(E(e)&&e[0]==="."&&e[1]==="this"&&e.length===3&&typeof e[2]==="string"&&this.memberIsReactive(e[2]))return()=>{this.b.emit(`${this.renderSelf??"this"}.`),this.emitPrimitive(e[2])};return null}isRouteLiteralValue(e){let t=(r)=>typeof r==="string"&&/^["'`]\//.test(r);return t(e)||E(e)&&e[0]==="str"&&t(e[1])}renderAttributes(e,t){let r=this.rstate;if(this.ts&&this.tsDirectivesArmed&&this.tsDirectiveMap.has(t)){let i=t.slice(1).find((s)=>E(s));if(i!==void 0&&i.length===3&&!r.suppressedPairs.has(i)&&(()=>{let s=i[1];if(typeof s!=="string")return!0;if(s.startsWith('"')&&s.endsWith('"'))s=s.slice(1,-1);if((s==="class"||s==="className")&&r.pendingClassArgs!==null&&r.pendingClassEl===e)return!1;if(s==="ref"&&this.rstate.sink.kind!=="class")return!1;return!0})()){let s=this.tsDirectiveMap.get(t);this.tsDirectiveMap.delete(t),this.tsDirectiveMap.set(i,[...s,...this.tsDirectiveMap.get(i)??[]])}}for(let i of t.slice(1)){if(!E(i)||i.length!==3)throw this.positionedError(i,"emitter: unsupported attribute form in render",t);if(r.suppressedPairs.has(i))continue;let[,n,s]=i;this.checkCrossScopeLocals(s,i);let a=null;if(this.ts){let y=this.stores.idOf(i),p=y!==null?this.stores.selfSpan(y):null,k=this.b.source;if(p!==null&&k!==null){let I=p[0];while(Ip[0])a={key:[p[0],I],pair:[p[0],p[1]],sites:[]},this.renderPairs.push(a)}}let o=(y)=>{if(a!==null&&y!==null&&y[1]>y[0])a.sites.push(y)};if(E(n)&&n[0]==="."&&n[1]==="this"&&typeof n[2]==="string"){let y=n[2];if(this.checkBareEventHandler(i,s),this.rstate.sink.kind==="loop"&&this.loopVarNames().size>0&&$e(s,this.loopVarNames()))this.rstate.sink.forceNonStatic=!0;let p=new Set;T.collectLeafNames(s,p);let k=T.mintName("e",p),I=this.tsElReceiver(e),A=this.ts?this.tsEventTypeText([y],I.hostText):null;if(this.ts){let x=this.stores.idOf(n)??null,O=x!==null?this.stores.selfSpan(x):null;if(O!==null)this.intrinsics.push({start:O[0],end:O[1],kind:"event",name:y,type:A,tag:this.rstate?.tags?.get(e)??null,svg:this.rstate?.svgEls?.has(e)===!0})}this.renderLine(i,()=>{let x=this.renderSelf??"this";if(!this.ts)this.b.emit(`${e}.addEventListener('${y}', (${k}`);else I.emit(),this.b.emit(".addEventListener("),this.emitQuotedPrimitive(y),this.b.emit(`, (${k}`);if(this.tsScaffoldAny(),this.b.emit(`) => ${this.runtimeName("__batch")}(() => `),typeof s==="string"&&this.renderVarKind(s)===null&&this.cframes[this.cframes.length-1].members.has(s)){if(this.ts)this.b.tsOnly(()=>this.b.emit("("));let O=this.b.offset;if(this.b.emit(`${x}.`),this.emitPrimitive(s),this.ts)this.b.tsOnly(()=>this.b.emit(A!==null?` as (e: ${A}) => unknown)`:" as any)"));if(this.ts&&A!==null)o([O,this.b.offset-1]);this.b.emit(`(${k})`)}else{let O=!this.ts?null:T1(s)&&(s[1].length===0||s[1].length===1&&typeof s[1][0]==="string")?A??"any":T1(s)?null:A;this.b.emit("("),o(this.tsHandlerCast(()=>this.withExpression(()=>this.expr(s)),O)),this.b.emit(`)(${k})`)}this.b.emit("))")});continue}if(typeof n!=="string")throw this.positionedError(i,"emitter: computed attribute keys are not supported in render",t);let l=n;if(n.startsWith('"')&&n.endsWith('"'))n=n.slice(1,-1);if(n==="__transition__"){this.noteVocabulary("render-channel",n,i),this.renderTransition(e,i,s,t);continue}if(n==="ref"){this.noteVocabulary("render-channel",n,i),this.renderRef(e,i,s,t,o);continue}if(n.startsWith("__bind_")&&n.endsWith("__")){this.noteVocabulary("render-channel",n,i),this.checkUserSpelledBind(i);let y=n.slice(7,-2);this.renderBind(e,i,y,s,t,o);continue}if(n==="key")throw this.positionedError(i,"emitter: `key:` identifies loop rows — it is read only on the FIRST element of a `for` body inside render; "+"anywhere else it would leak into the DOM as an attribute",t);if(n==="class"||n==="className"){let y=(p,k)=>{if(this.ts&&p!==null)this.intrinsics.push({start:p[0],end:p[1],kind:"attr",name:"class",gen:k})};if(r.pendingClassArgs!==null&&r.pendingClassEl===e){this.checkSetupLocalRefs(s,i);let p=this.stores.idOf(i),k=p!==null?this.stores.selfSpan(p):null;if(this.ts&&k!==null)(r.pendingClassKeys??=[]).push([k[0],k[0]+n.length]);r.pendingClassArgs.push(()=>o(this.renderExpr(s)))}else if(this.renderReactive(s)){let p=r.svgDepth>0,k=this.tsElReceiver(e);this.renderEffect(i,()=>{let I=this.runtimeName("__clsx");if(k.emit(),p){let A=this.b.offset+1;this.b.emit(".setAttribute('"),y(this.emitKeyAs(n,"class"),A),this.b.emit(`', ${I}(`)}else this.b.emit("."),this.emitPropertyRoadKey(()=>this.emitKeyAs(n,"className")),this.b.emit(` = ${I}(`);o(this.renderExpr(s)),this.b.emit(p?"));":");")},s)}else{let p=r.svgDepth>0,k=E(s),I=this.tsElReceiver(e);this.renderLine(i,()=>{let A=this.b.offset;if(I.emit(),p){let O=this.b.offset+1;this.b.emit(".setAttribute('"),y(this.emitKeyAs(n,"class"),O),this.b.emit("', ")}else{if(this.b.emit("."),this.emitPropertyRoadKey(()=>this.emitKeyAs(n,"className")),!k)o([A,this.b.offset]);this.b.emit(" = ")}if(k)this.b.emit(`${this.runtimeName("__clsx")}(`);let x=this.renderExpr(s);if(p||k)o(x);if(k)this.b.emit(")");if(p)this.b.emit(")")})}continue}if((n==="value"||n==="checked")&&this.renderReactive(s)){let y=this.tsElReceiver(e);this.renderEffect(i,()=>{let p=this.b.offset;y.emit(),this.b.emit("."),this.emitPropertyRoadKey(()=>this.emitPrimitive(n)),o([p,this.b.offset]),this.b.emit(" = "),this.renderExpr(s),this.b.emit(";")},s);continue}if(n==="innerHTML"||n==="textContent"||n==="innerText"){let y=this.tsElReceiver(e),p=()=>{let k=this.b.offset;y.emit(),this.b.emit("."),this.emitPropertyRoadKey(()=>this.emitPrimitive(n)),o([k,this.b.offset]),this.b.emit(" = "),this.renderExpr(s)};if(this.renderReactive(s))this.renderEffect(i,()=>{p(),this.b.emit(";")},s);else this.renderLine(i,p);continue}if(T.BOOLEAN_ATTRS.has(n)){let y=this.tsElReceiver(e),p=()=>{let k=this.emitKeyAs(l,n);if(this.ts&&y.surfaced&&k!==null)this.intrinsics.push({start:k[0],end:k[1],kind:"attr",name:n,type:"boolean | undefined"})};if(this.renderReactive(s))this.renderEffect(i,()=>{if(y.emit(),this.b.emit(".toggleAttribute('"),p(),this.b.emit("', !!"),this.ts)this.b.tsOnly(()=>this.b.emit("("));this.renderExpr(s);let k=this.b.offset+1;if(this.ts)this.b.tsOnly(()=>this.b.emit(" satisfies boolean | undefined)"));if(this.ts)o([k,k+9]);this.b.emit(");")},s);else this.renderLine(i,()=>{this.b.emit("if ("),this.withExpression(()=>this.expr(s));let k=this.b.offset+1;if(this.ts)this.b.tsOnly(()=>this.b.emit(" satisfies boolean | undefined"));if(this.ts)o([k,k+9]);this.b.emit(") "),y.emit(),this.b.emit(".setAttribute('"),p(),this.b.emit("', '')")});continue}let c=E(s)&&s[0]==="presence"&&s.length===2;if(n==="style"&&!c){let y=this.tsElReceiver(e),p=()=>{if(this.b.emit("{ const __v"),o([this.b.offset-3,this.b.offset]),this.ts)this.b.tsOnly(()=>this.b.emit(y.surfaced?`: ${y.valsName}['style'] | undefined`:": any"));this.b.emit(" = "),this.renderExpr(s),this.b.emit(`; ${this.runtimeName("__style")}(`),y.emit(),this.b.emit(", __v); }")};if(this.renderReactive(s))this.renderEffect(i,p,s);else this.renderLine(i,p,!1);if(this.ts&&y.surfaced&&a!==null)this.intrinsics.push({start:a.key[0],end:a.key[1],kind:"attr",name:n,type:"string | __RipCSSProperties | undefined"});continue}let f=this.ts&&this.routesUnion!==null&&n==="href"&&this.rstate.tags?.get(e)==="a"&&this.isRouteLiteralValue(s);if(f)this._needsRouteHelper=!0;let h=this.tsElReceiver(e),u=!(typeof s==="string"&&(!X1(s)||s==="true"||s==="false")||E(s)&&s[0]==="str"),m=null,S=null,g=!1,d=()=>{if(g||!this.ts||!h.surfaced||m===null||S===null)return;g=!0,this.intrinsics.push(f?{start:m[0],end:m[1],kind:"attr",name:n,type:this.routesUnion,route:!0}:{start:m[0],end:m[1],kind:"attr",name:n,gen:S});let y=this.renderTagOf(e);if(!rn(y,n))this.intrinsics.push({start:m[0],end:m[1],kind:"unknown-attr",tag:y,name:n,message:this.unknownAttrMessage(y,n,{bare:!1,svg:this.rstate?.svgEls?.has(e)===!0})})},R=()=>{S=this.b.offset+1,this.b.emit(".setAttribute('"),d()},b=()=>{let y=this.emitKeyAs(l,n);if(m===null)m=y;d()},_=()=>{if(!this.ts)return;this.b.tsOnly(()=>this.b.emit(h.surfaced?`: ${h.valsName}['${n}'] | undefined`:": any"))};if(this.renderReactive(s))if(c||u)this.renderEffect(i,()=>{this.b.emit("{ const __v"),o([this.b.offset-3,this.b.offset]),_(),this.b.emit(" = "),this.renderExpr(s),this.b.emit("; __v == null ? "),h.emit(),this.b.emit(".removeAttribute('"),b(),this.b.emit("') : "),h.emit(),R(),b(),this.b.emit("', __v); }")},s);else this.renderEffect(i,()=>{h.emit(),R();let y=this.b.offset;b();let p=this.b.offset;if(this.b.emit("', "),f)this.b.tsOnly(()=>this.b.emit("__ripRoute("));let k=this.b.offset;o(this.renderExpr(s));let I=this.b.offset;if(this.ts){if(f)this.b.tsOnly(()=>this.b.emit(")"));else if(!h.surfaced)this.b.tsOnly(()=>this.b.emit(" as any"))}if(this.b.emit(");"),f)this.routeWrapSpans.push({key:[y,p],value:[k,I]})},s);else if(c||u)this.renderLine(i,()=>{this.b.emit("{ const __v"),o([this.b.offset-3,this.b.offset]),_(),this.b.emit(" = "),this.renderExpr(s),this.b.emit("; if (__v != null) "),h.emit(),R(),b(),this.b.emit("', __v); }")},!1);else this.renderLine(i,()=>{h.emit(),R();let y=this.b.offset;b();let p=this.b.offset;if(this.b.emit("', "),f)this.b.tsOnly(()=>this.b.emit("__ripRoute("));let k=this.b.offset;o(this.renderExpr(s));let I=this.b.offset;if(this.ts){if(f)this.b.tsOnly(()=>this.b.emit(")"));else if(!h.surfaced)this.b.tsOnly(()=>this.b.emit(" as any"))}if(this.b.emit(")"),f)this.routeWrapSpans.push({key:[y,p],value:[k,I]})})}}loopVarNames(){let e=new Set;for(let t of this.rstate.sink.loopStack)e.add(t.itemVar),e.add(t.indexVar);return e}checkCrossScopeLocals(e,t){let r=this.rstate;if(!r)return;let i=this.loopVarNames(),n=(s)=>r.sink.locals.has(s)||i.has(s);for(let s=r.sink.parent;s!==null;s=s.parent){if(s.locals.size===0)continue;let a=new Set([...s.locals].filter((o)=>!n(o)));if(a.size>0&&$e(e,a))throw this.positionedError(t,"emitter: this expression reads a render local of an ENCLOSING render scope — each dynamic block (a "+"conditional branch, a loop body) is its own factory function, and render locals never cross that boundary ; declare the local inside this block, or use a member",this.rstate.node)}}renderBinding(e){let[t,r,i]=e,n=this.rstate.sink;if(r.startsWith("__"))throw this.positionedError(e,`emitter: render local '${r}' — double-underscore names are the compiler/runtime namespace inside render `+"(factory scaffolding and injected helpers live there)");if(n.loopStack.some((s)=>s.itemVar===r||s.indexVar===r))throw this.positionedError(e,`emitter: '${r}' is a loop variable — a render local cannot re-declare or assign it `);if(t==="="){if(!n.locals.has(r)){if(n.locals.add(r),n.bindings.add(r),n.localDecls.set(r,e),n.kind!=="class")n.vars.add(r)}}else if(!n.locals.has(r))throw this.positionedError(e,`emitter: compound assignment to '${r}' — no render local of that name is declared in this render scope `+"(`name = expr` declares one)");return this.checkCrossScopeLocals(i,e),this.renderLine(e,()=>{this.mark(e,"target",()=>this.b.emit(r)),this.b.emit(` ${t} `),this.mark(e,"value",()=>this.withExpression(()=>this.expr(i)))}),null}closeRenderScope(e){for(let[t,r]of e.localDecls){let i=0,n=(s)=>{if(typeof s==="string"){if(s===t)i++;return}if(!E(s))return;if(Hs.has(s[0])&&s.length===3&&s[1]===t){n(s[2]);return}if((s[0]===":"||s[0]==="void-pair")&&s.length===3&&typeof s[1]==="string"){n(s[2]);return}if((s[0]==="."||s[0]==="?.")&&s.length===3&&typeof s[2]==="string"){n(s[1]);return}for(let a of s)n(a)};for(let s of e.stmts)n(s);if(i===0)throw this.positionedError(r,`emitter: render local '${t}' is never read — a dead local renders NOTHING (if this line meant an `+`element with expression text, spell it \`${t}\` + indented \`= expr\`: inside render \`${t} = expr\` declares a local named the tag)`,this.rstate.node)}}static collectLeafNames(e,t){if(typeof e==="string"){if(st.test(e))t.add(e);return}if(!E(e))return;if((e[0]===":"||e[0]==="void-pair")&&e.length===3&&typeof e[1]==="string"){T.collectLeafNames(e[2],t);return}if((e[0]==="."||e[0]==="?.")&&e.length===3&&typeof e[2]==="string"){T.collectLeafNames(e[1],t);return}for(let r of e)T.collectLeafNames(r,t)}static mintName(e,t){let r=e;while(t.has(r))r=`${r}_`;return t.add(r),r}walkFactory(e,t,r,i=null){let n=this.rstate,s=n.sink,a=this.newBlockName(),o=i!==null?[i.itemVar,i.indexVar]:[],l=new Set(o),c=new Set;T.collectLeafNames(e,c);let f=new Set(s.renameHazardNames??[]),h=(b)=>{if(!l.has(b))return l.add(b),b;let _=`${b}_`;while(l.has(_)||c.has(_))_+="_";return l.add(_),f.add(b),f.add(_),_},u=s.loopStack.map((b)=>({...b,itemVar:h(b.itemVar),indexVar:h(b.indexVar)})),m=u.flatMap((b)=>[b.itemVar,b.indexVar]),S=i!==null?[...u,i]:u,g={kind:t,name:a,parent:s,self:"ctx",paramNames:[...o,...m],frameVar:"__fr",ownerVar:"__o",creates:[],setups:[],vars:new Set,locals:new Set,localDecls:new Map,bindings:new Set([...m,...o]),refs:[],loopStack:S,stmts:[],forceNonStatic:!1,root:null,isStatic:!1,originNode:r,hasKids:!1,kidsVar:null,renameHazardNames:f,narrowed:[...s.narrowed??[],...this._narrowNext??[]]};this._narrowNext=null,n.records.push(g);let d=n.transitionSlot;n.transitionSlot=t==="branch"?{record:g,el:null}:null,n.sink=g,this.rframes.push({reactive:new Set,bound:g.bindings,loopVars:g.bindings});try{let b;if(u1(e))b=e.slice(1);else if(E(e)&&e.length===1&&E(e[0])&&this.stores.idOf(e)===null)b=[e[0]];else b=[e];if(g.stmts=b,g.root=b.length===0?null:this.walkChildStmts(b),g.root===null)g.root=this.newRenderVar("empty"),this.renderLine(null,()=>this.b.emit(`${g.root} = document.createComment('')`))}finally{this.rframes.pop(),n.sink=s,n.transitionSlot=d}this.closeRenderScope(g),g.isStatic=t==="loop"&&g.setups.length===0&&!g.forceNonStatic;let R=new Set([...g.bindings,...g.locals,...g.vars]);if(T.collectLeafNames(g.stmts,R),g.self=T.mintName("ctx",R),g.frameVar=T.mintName("__fr",R),g.ownerVar=T.mintName("__o",R),g.hasKids)g.kidsVar=T.mintName("_factoryChildren",R);return g}narrowConjuncts(e){if(E(e)&&e[0]==="&&"&&e.length===3)return[...this.narrowConjuncts(e[1]),...this.narrowConjuncts(e[2])];if(!T.isDotChain(e))return[];let t=e;while(E(t))t=t[1];if(t==="this")return[e];if(this.renderVarKind(t)!==null||this.bareRewrite(t)===null)return[];return[e]}static isDotChain(e){if(!E(e)||e[0]!=="."||e.length!==3||typeof e[2]!=="string"||e[2][0]==='"')return!1;let t=e[1];if(t==="this")return!0;if(typeof t==="string")return/^[A-Za-z_$][\w$]*$/.test(t);return T.isDotChain(t)}activeNarrowed(){let e=this.renderRecord;if(!this.ts||!e||!(e.narrowed?.length>0))return[];return e.narrowed.filter((t)=>{let r=t;while(E(r))r=r[1];return r==="this"||!(e.bindings.has(r)||e.locals.has(r))})}hasNarrow(){return this.activeNarrowed().length>0}narrowGuard(e="statement",{trailing:t=!0}={}){let r=this.activeNarrowed();if(r.length===0)return!1;return this._needsNarrowHelper=!0,this.b.tsOnly(()=>this.b.echo(()=>{if(r.forEach((i,n)=>{if(n>0)this.b.emit(" ");this.b.emit(e==="statement"?"__ripNarrow(":"(__ripNarrow("),this.renderExpr(i),this.b.emit(e==="statement"?");":"),")}),t)this.b.emit(" ")})),!0}narrowGuardClose(e){if(e)this.b.tsOnly(()=>this.b.emit(")".repeat(this.activeNarrowed().length)))}renderCond(e,t=e){if(e.length>4)throw this.positionedError(e,"emitter: unexpected flat conditional chain shape in render (internal)");if(this.stores.idOf(t)===null&&this._chainMarkNode)t=this._chainMarkNode;let[,r,i]=e,n=e.length===4?e[3]:null;this.checkSetupLocalRefs(r,t),this.checkCrossScopeLocals(r,t);let s=this.newRenderVar("anchor");this.renderLine(null,()=>this.b.emit(`${s} = document.createComment('if')`)),this._narrowNext=this.narrowConjuncts(r);let a=this.walkFactory(i,"branch",t),o=this._chainMarkNode;if(n!==null&&E(n)&&n[0]==="if"&&this.stores.idOf(n)===null)this._chainMarkNode=t;let l=n!==null?this.walkFactory(n,"branch",t):null;this._chainMarkNode=o;let c=a.refs.length>0||l!==null&&l.refs.length>0,f=this.rstate.sink,h=f.loopStack.flatMap((u)=>[u.itemVar,u.indexVar]);return f.setups.push({kind:"raw",node:t,fn:(u)=>this.emitCondSetup(u,t,e,s,a,l,c,h)}),s}renderSwitch(e){let[,t,r,i]=e;if(T.hasMatchArms(r))this.checkMatchSwitch(e);let n=i;for(let s=r.length-1;s>=0;s--){let[,a,o]=r[s],l;if(t===null)l=a.reduce((c,f)=>c===null?f:["||",c,f],null);else l=a.map((c)=>T.matchArmSexpr(t,c)).reduce((c,f)=>c===null?f:["||",c,f],null);n=n!==null?["if",l,o,n]:["if",l,o]}if(n===null||n[0]!=="if")return n===null?this.renderNode("null"):this.renderChildBlock(n);return this.renderCond(n,e)}renderLoop(e){let[,t,r,i,n,s]=e;if(i!==null)throw this.positionedError(e,"emitter: a `by` step has no render reading — the reconciler patches whole collections; step the collection itself: `items.filter((x, i) -> i % 2 == 0)`");if(n!==null)throw this.positionedError(e,"emitter: a `when` guard has no render reading — the reconciler patches whole collections; filter the collection itself: `for x in items.filter((x) -> cond)`");if(t.length>2||t.some((_)=>typeof _!=="string"))throw this.positionedError(e,"emitter: a render loop takes plain item and index variables (`for item, i in items`) — destructuring loop "+"variables have no factory-parameter reading here; destructure inside the body");if(t.length===2&&t[0]===t[1])throw this.positionedError(e,`emitter: a render loop cannot bind '${t[0]}' as BOTH item and index — one name cannot hold two row facts `);for(let _ of t)if(_.startsWith("__"))throw this.positionedError(e,`emitter: render loop variable '${_}' — double-underscore names are the compiler/runtime namespace inside `+"render (factory scaffolding and injected helpers live there)");this.checkSetupLocalRefs(r,e),this.checkCrossScopeLocals(r,e);let a=t[0],o=t[1]??null;if(o===null){let _=new Set(this.loopVarNames());_.add(a),T.collectRenderBodyBindings(s,_);let y=(p,k)=>{if(typeof p==="string")return p===k;return E(p)&&p.some((I)=>y(I,k))};for(let p of["i","j","k","l","m","n"])if(!_.has(p)&&!y(s,p)){o=p;break}o=o??`__rip_idx${this.rstate.sink.loopStack.length}`}let l=this.newRenderVar("anchor");this.renderLine(null,()=>this.b.emit(`${l} = document.createComment('for')`));let c=this.renderReactive(r),f=this.extractLoopKey(s,e),h=f!==null?this.rstate.keySpan??null:null;if(f!==null)this.checkSetupLocalRefs(f,e),this.checkCrossScopeLocals(f,e);let u=this.stores.idOf(e),m=u!==null?this.stores.role(u,"vars"):null,S=this.primitiveAvoid;if(m?.sourceStart!=null)this.primitiveAvoid=[...S??[],[m.sourceStart,m.sourceEnd]];let g;try{g=this.walkFactory(s,"loop",e,{itemVar:a,indexVar:o,reactiveSource:c,iter:r,node:e})}finally{this.primitiveAvoid=S}if(f!==null){if(g.locals.size>0&&$e(f,g.locals))throw this.positionedError(e,"emitter: a `key:` expression must be evaluable in the loop HEADER scope — it reads a render local declared "+"inside the loop body, which lives in the row factory (derive the key from the item inline: `key: item.id`)");if(!$e(f,new Set([a,o])))throw this.positionedError(e,`emitter: a loop key must derive from the row — this \`key:\` expression never reads '${a}'${t.length===2?` or '${o}'`:""} (a row-independent key cannot identify rows)`)}let d=g.refs.length>0,R=this.rstate.sink,b=R.loopStack.flatMap((_)=>[_.itemVar,_.indexVar]);return R.setups.push({kind:"raw",node:e,fn:(_)=>this.emitLoopSetup(_,e,l,r,g,f,a,o,d,b,h)}),l}static collectRenderBodyBindings(e,t){if(!E(e))return;if((e[0]==="for-in"||e[0]==="for-of"||e[0]==="for-as")&&E(e[1])){for(let r of e[1])if(typeof r==="string")t.add(r)}else if(e[0]==="="&&e.length===3&&typeof e[1]==="string")t.add(e[1]);for(let r of e)T.collectRenderBodyBindings(r,t)}extractLoopKey(e,t){let i=(u1(e)?e.slice(1):[e]).find((s)=>!this.isRenderBinding(s));if(!E(i))return null;let n=(s)=>{for(let a=1;a0?`, ${o.join(", ")}`:"",f=e+" ",h=f+" ",u=new Set([l,...o]);T.collectLeafNames(r[1],u);let m=T.mintName("anchor",u),S=T.mintName("currentBlock",u),g=T.mintName("showing",u),d=T.mintName("show",u),R=T.mintName("want",u),b=T.mintName("leaving",u),_=this.runtimeName("__transition"),y=(k)=>{this.b.emit(`${h} ${S} = ${l}.${k.name}(${l}${c}); +`)}});for(let{pair:w,key:D,value:B}of f){let a1=D.startsWith('"')&&D.endsWith('"')?D.slice(1,-1):D;this.renderEffect(w,()=>{this.b.emit(`if (${o}) ${o}._updateProp('${a1}', `),this.renderExpr(B),this.b.emit(");")},B)}return l}addChildProp(e,t,r,i,n,s){let a=this.childContainerRef(s);if(a!==null){e.push({pair:r,key:i,fn:a});return}if(this.checkCrossScopeLocals(s,r),this.ts&&this.routesUnion!==null&&n==="href"&&this.isRouteLiteralValue(s)){this._needsRouteHelper=!0;let l={pair:r,key:i,routeKey:null};l.fn=()=>{this.b.tsOnly(()=>this.b.emit("__ripRoute("));let c=this.b.offset;this.renderExpr(s);let f=this.b.offset;if(this.b.tsOnly(()=>this.b.emit(")")),l.routeKey!==null)this.routeWrapSpans.push({key:l.routeKey,value:[c,f]})},e.push(l)}else e.push({pair:r,key:i,fn:()=>this.renderExpr(s)});if(!T1(s)&&this.renderReactive(s))t.push({pair:r,key:i,value:s})}childContainerRef(e){if(typeof e==="string"){if(this.renderVarKind(e)!==null)return null;let t=this.resolveBareRead(e);if(t==="member-reactive")return()=>{this.b.emit(`${this.renderSelf??"this"}.`);let r=this.emitPrimitive(e);if(this.ts&&r!==null)this.memberDecls.push({start:r[0],end:r[1]})};if(t==="reactive")return()=>this.emitPrimitive(e);return null}if(E(e)&&e[0]==="."&&e[1]==="this"&&e.length===3&&typeof e[2]==="string"&&this.memberIsReactive(e[2]))return()=>{this.b.emit(`${this.renderSelf??"this"}.`),this.emitPrimitive(e[2])};return null}isRouteLiteralValue(e){let t=(r)=>typeof r==="string"&&/^["'`]\//.test(r);return t(e)||E(e)&&e[0]==="str"&&t(e[1])}renderAttributes(e,t){let r=this.rstate;if(this.ts&&this.tsDirectivesArmed&&this.tsDirectiveMap.has(t)){let i=t.slice(1).find((s)=>E(s));if(i!==void 0&&i.length===3&&!r.suppressedPairs.has(i)&&(()=>{let s=i[1];if(typeof s!=="string")return!0;if(s.startsWith('"')&&s.endsWith('"'))s=s.slice(1,-1);if((s==="class"||s==="className")&&r.pendingClassArgs!==null&&r.pendingClassEl===e)return!1;if(s==="ref"&&this.rstate.sink.kind!=="class")return!1;return!0})()){let s=this.tsDirectiveMap.get(t);this.tsDirectiveMap.delete(t),this.tsDirectiveMap.set(i,[...s,...this.tsDirectiveMap.get(i)??[]])}}for(let i of t.slice(1)){if(!E(i)||i.length!==3)throw this.positionedError(i,"emitter: unsupported attribute form in render",t);if(r.suppressedPairs.has(i))continue;let[,n,s]=i;this.checkCrossScopeLocals(s,i);let a=null;if(this.ts){let y=this.stores.idOf(i),m=y!==null?this.stores.selfSpan(y):null,k=this.b.source;if(m!==null&&k!==null){let O=m[0];while(Om[0])a={key:[m[0],O],pair:[m[0],m[1]],sites:[]},this.renderPairs.push(a)}}let o=(y)=>{if(a!==null&&y!==null&&y[1]>y[0])a.sites.push(y)};if(E(n)&&n[0]==="."&&n[1]==="this"&&typeof n[2]==="string"){let y=n[2];if(this.checkBareEventHandler(i,s),this.rstate.sink.kind==="loop"&&this.loopVarNames().size>0&&Ie(s,this.loopVarNames()))this.rstate.sink.forceNonStatic=!0;let m=new Set;T.collectLeafNames(s,m);let k=T.mintName("e",m),O=this.tsElReceiver(e),A=this.ts?this.tsEventTypeText([y],O.hostText):null;if(this.ts){let x=this.stores.idOf(n)??null,I=x!==null?this.stores.selfSpan(x):null;if(I!==null)this.intrinsics.push({start:I[0],end:I[1],kind:"event",name:y,type:A,tag:this.rstate?.tags?.get(e)??null,svg:this.rstate?.svgEls?.has(e)===!0})}this.renderLine(i,()=>{let x=this.renderSelf??"this";if(!this.ts)this.b.emit(`${e}.addEventListener('${y}', (${k}`);else O.emit(),this.b.emit(".addEventListener("),this.emitQuotedPrimitive(y),this.b.emit(`, (${k}`);if(this.tsScaffoldAny(),this.b.emit(`) => ${this.runtimeName("__batch")}(() => `),typeof s==="string"&&this.renderVarKind(s)===null&&this.cframes[this.cframes.length-1].members.has(s)){if(this.ts)this.b.tsOnly(()=>this.b.emit("("));let I=this.b.offset;if(this.b.emit(`${x}.`),this.emitPrimitive(s),this.ts)this.b.tsOnly(()=>this.b.emit(A!==null?` as (e: ${A}) => unknown)`:" as any)"));if(this.ts&&A!==null)o([I,this.b.offset-1]);this.b.emit(`(${k})`)}else{let I=!this.ts?null:T1(s)&&(s[1].length===0||s[1].length===1&&typeof s[1][0]==="string")?A??"any":T1(s)?null:A;this.b.emit("("),o(this.tsHandlerCast(()=>this.withExpression(()=>this.expr(s)),I)),this.b.emit(`)(${k})`)}this.b.emit("))")});continue}if(typeof n!=="string")throw this.positionedError(i,"emitter: computed attribute keys are not supported in render",t);let l=n;if(n.startsWith('"')&&n.endsWith('"'))n=n.slice(1,-1);if(n==="__transition__"){this.noteVocabulary("render-channel",n,i),this.renderTransition(e,i,s,t);continue}if(n==="ref"){this.noteVocabulary("render-channel",n,i),this.renderRef(e,i,s,t,o);continue}if(n.startsWith("__bind_")&&n.endsWith("__")){this.noteVocabulary("render-channel",n,i),this.checkUserSpelledBind(i);let y=n.slice(7,-2);this.renderBind(e,i,y,s,t,o);continue}if(n==="key")throw this.positionedError(i,"emitter: `key:` identifies loop rows — it is read only on the FIRST element of a `for` body inside render; "+"anywhere else it would leak into the DOM as an attribute",t);if(n==="class"||n==="className"){let y=(m,k)=>{if(this.ts&&m!==null)this.intrinsics.push({start:m[0],end:m[1],kind:"attr",name:"class",gen:k})};if(r.pendingClassArgs!==null&&r.pendingClassEl===e){this.checkSetupLocalRefs(s,i);let m=this.stores.idOf(i),k=m!==null?this.stores.selfSpan(m):null;if(this.ts&&k!==null)(r.pendingClassKeys??=[]).push([k[0],k[0]+n.length]);r.pendingClassArgs.push(()=>o(this.renderExpr(s)))}else if(this.renderReactive(s)){let m=r.svgDepth>0,k=this.tsElReceiver(e);this.renderEffect(i,()=>{let O=this.runtimeName("__clsx");if(k.emit(),m){let A=this.b.offset+1;this.b.emit(".setAttribute('"),y(this.emitKeyAs(n,"class"),A),this.b.emit(`', ${O}(`)}else this.b.emit("."),this.emitPropertyRoadKey(()=>this.emitKeyAs(n,"className")),this.b.emit(` = ${O}(`);o(this.renderExpr(s)),this.b.emit(m?"));":");")},s)}else{let m=r.svgDepth>0,k=E(s),O=this.tsElReceiver(e);this.renderLine(i,()=>{let A=this.b.offset;if(O.emit(),m){let I=this.b.offset+1;this.b.emit(".setAttribute('"),y(this.emitKeyAs(n,"class"),I),this.b.emit("', ")}else{if(this.b.emit("."),this.emitPropertyRoadKey(()=>this.emitKeyAs(n,"className")),!k)o([A,this.b.offset]);this.b.emit(" = ")}if(k)this.b.emit(`${this.runtimeName("__clsx")}(`);let x=this.renderExpr(s);if(m||k)o(x);if(k)this.b.emit(")");if(m)this.b.emit(")")})}continue}if((n==="value"||n==="checked")&&this.renderReactive(s)){let y=this.tsElReceiver(e);this.renderEffect(i,()=>{let m=this.b.offset;y.emit(),this.b.emit("."),this.emitPropertyRoadKey(()=>this.emitPrimitive(n)),o([m,this.b.offset]),this.b.emit(" = "),this.renderExpr(s),this.b.emit(";")},s);continue}if(n==="innerHTML"||n==="textContent"||n==="innerText"){let y=this.tsElReceiver(e),m=()=>{let k=this.b.offset;y.emit(),this.b.emit("."),this.emitPropertyRoadKey(()=>this.emitPrimitive(n)),o([k,this.b.offset]),this.b.emit(" = "),this.renderExpr(s)};if(this.renderReactive(s))this.renderEffect(i,()=>{m(),this.b.emit(";")},s);else this.renderLine(i,m);continue}if(T.BOOLEAN_ATTRS.has(n)){let y=this.tsElReceiver(e),m=()=>{let k=this.emitKeyAs(l,n);if(this.ts&&y.surfaced&&k!==null)this.intrinsics.push({start:k[0],end:k[1],kind:"attr",name:n,type:"boolean | undefined"})};if(this.renderReactive(s))this.renderEffect(i,()=>{if(y.emit(),this.b.emit(".toggleAttribute('"),m(),this.b.emit("', !!"),this.ts)this.b.tsOnly(()=>this.b.emit("("));this.renderExpr(s);let k=this.b.offset+1;if(this.ts)this.b.tsOnly(()=>this.b.emit(" satisfies boolean | undefined)"));if(this.ts)o([k,k+9]);this.b.emit(");")},s);else this.renderLine(i,()=>{this.b.emit("if ("),this.withExpression(()=>this.expr(s));let k=this.b.offset+1;if(this.ts)this.b.tsOnly(()=>this.b.emit(" satisfies boolean | undefined"));if(this.ts)o([k,k+9]);this.b.emit(") "),y.emit(),this.b.emit(".setAttribute('"),m(),this.b.emit("', '')")});continue}let c=E(s)&&s[0]==="presence"&&s.length===2;if(n==="style"&&!c){let y=this.tsElReceiver(e),m=()=>{if(this.b.emit("{ const __v"),o([this.b.offset-3,this.b.offset]),this.ts)this.b.tsOnly(()=>this.b.emit(y.surfaced?`: ${y.valsName}['style'] | undefined`:": any"));this.b.emit(" = "),this.renderExpr(s),this.b.emit(`; ${this.runtimeName("__style")}(`),y.emit(),this.b.emit(", __v); }")};if(this.renderReactive(s))this.renderEffect(i,m,s);else this.renderLine(i,m,!1);if(this.ts&&y.surfaced&&a!==null)this.intrinsics.push({start:a.key[0],end:a.key[1],kind:"attr",name:n,type:"string | __RipCSSProperties | undefined"});continue}let f=this.ts&&this.routesUnion!==null&&n==="href"&&this.rstate.tags?.get(e)==="a"&&this.isRouteLiteralValue(s);if(f)this._needsRouteHelper=!0;let h=this.tsElReceiver(e),u=!(typeof s==="string"&&(!X1(s)||s==="true"||s==="false")||E(s)&&s[0]==="str"),d=null,S=null,g=!1,p=()=>{if(g||!this.ts||!h.surfaced||d===null||S===null)return;g=!0,this.intrinsics.push(f?{start:d[0],end:d[1],kind:"attr",name:n,type:this.routesUnion,route:!0}:{start:d[0],end:d[1],kind:"attr",name:n,gen:S});let y=this.renderTagOf(e);if(!rn(y,n))this.intrinsics.push({start:d[0],end:d[1],kind:"unknown-attr",tag:y,name:n,message:this.unknownAttrMessage(y,n,{bare:!1,svg:this.rstate?.svgEls?.has(e)===!0})})},R=()=>{S=this.b.offset+1,this.b.emit(".setAttribute('"),p()},b=()=>{let y=this.emitKeyAs(l,n);if(d===null)d=y;p()},_=()=>{if(!this.ts)return;this.b.tsOnly(()=>this.b.emit(h.surfaced?`: ${h.valsName}['${n}'] | undefined`:": any"))};if(this.renderReactive(s))if(c||u)this.renderEffect(i,()=>{this.b.emit("{ const __v"),o([this.b.offset-3,this.b.offset]),_(),this.b.emit(" = "),this.renderExpr(s),this.b.emit("; __v == null ? "),h.emit(),this.b.emit(".removeAttribute('"),b(),this.b.emit("') : "),h.emit(),R(),b(),this.b.emit("', __v); }")},s);else this.renderEffect(i,()=>{h.emit(),R();let y=this.b.offset;b();let m=this.b.offset;if(this.b.emit("', "),f)this.b.tsOnly(()=>this.b.emit("__ripRoute("));let k=this.b.offset;o(this.renderExpr(s));let O=this.b.offset;if(this.ts){if(f)this.b.tsOnly(()=>this.b.emit(")"));else if(!h.surfaced)this.b.tsOnly(()=>this.b.emit(" as any"))}if(this.b.emit(");"),f)this.routeWrapSpans.push({key:[y,m],value:[k,O]})},s);else if(c||u)this.renderLine(i,()=>{this.b.emit("{ const __v"),o([this.b.offset-3,this.b.offset]),_(),this.b.emit(" = "),this.renderExpr(s),this.b.emit("; if (__v != null) "),h.emit(),R(),b(),this.b.emit("', __v); }")},!1);else this.renderLine(i,()=>{h.emit(),R();let y=this.b.offset;b();let m=this.b.offset;if(this.b.emit("', "),f)this.b.tsOnly(()=>this.b.emit("__ripRoute("));let k=this.b.offset;o(this.renderExpr(s));let O=this.b.offset;if(this.ts){if(f)this.b.tsOnly(()=>this.b.emit(")"));else if(!h.surfaced)this.b.tsOnly(()=>this.b.emit(" as any"))}if(this.b.emit(")"),f)this.routeWrapSpans.push({key:[y,m],value:[k,O]})})}}loopVarNames(){let e=new Set;for(let t of this.rstate.sink.loopStack)e.add(t.itemVar),e.add(t.indexVar);return e}checkCrossScopeLocals(e,t){let r=this.rstate;if(!r)return;let i=this.loopVarNames(),n=(s)=>r.sink.locals.has(s)||i.has(s);for(let s=r.sink.parent;s!==null;s=s.parent){if(s.locals.size===0)continue;let a=new Set([...s.locals].filter((o)=>!n(o)));if(a.size>0&&Ie(e,a))throw this.positionedError(t,"emitter: this expression reads a render local of an ENCLOSING render scope — each dynamic block (a "+"conditional branch, a loop body) is its own factory function, and render locals never cross that boundary ; declare the local inside this block, or use a member",this.rstate.node)}}renderBinding(e){let[t,r,i]=e,n=this.rstate.sink;if(r.startsWith("__"))throw this.positionedError(e,`emitter: render local '${r}' — double-underscore names are the compiler/runtime namespace inside render `+"(factory scaffolding and injected helpers live there)");if(n.loopStack.some((s)=>s.itemVar===r||s.indexVar===r))throw this.positionedError(e,`emitter: '${r}' is a loop variable — a render local cannot re-declare or assign it `);if(t==="="){if(!n.locals.has(r)){if(n.locals.add(r),n.bindings.add(r),n.localDecls.set(r,e),n.kind!=="class")n.vars.add(r)}}else if(!n.locals.has(r))throw this.positionedError(e,`emitter: compound assignment to '${r}' — no render local of that name is declared in this render scope `+"(`name = expr` declares one)");return this.checkCrossScopeLocals(i,e),this.renderLine(e,()=>{this.mark(e,"target",()=>this.b.emit(r)),this.b.emit(` ${t} `),this.mark(e,"value",()=>this.withExpression(()=>this.expr(i)))}),null}closeRenderScope(e){for(let[t,r]of e.localDecls){let i=0,n=(s)=>{if(typeof s==="string"){if(s===t)i++;return}if(!E(s))return;if(Hs.has(s[0])&&s.length===3&&s[1]===t){n(s[2]);return}if((s[0]===":"||s[0]==="void-pair")&&s.length===3&&typeof s[1]==="string"){n(s[2]);return}if((s[0]==="."||s[0]==="?.")&&s.length===3&&typeof s[2]==="string"){n(s[1]);return}for(let a of s)n(a)};for(let s of e.stmts)n(s);if(i===0)throw this.positionedError(r,`emitter: render local '${t}' is never read — a dead local renders NOTHING (if this line meant an `+`element with expression text, spell it \`${t}\` + indented \`= expr\`: inside render \`${t} = expr\` declares a local named the tag)`,this.rstate.node)}}static collectLeafNames(e,t){if(typeof e==="string"){if(st.test(e))t.add(e);return}if(!E(e))return;if((e[0]===":"||e[0]==="void-pair")&&e.length===3&&typeof e[1]==="string"){T.collectLeafNames(e[2],t);return}if((e[0]==="."||e[0]==="?.")&&e.length===3&&typeof e[2]==="string"){T.collectLeafNames(e[1],t);return}for(let r of e)T.collectLeafNames(r,t)}static mintName(e,t){let r=e;while(t.has(r))r=`${r}_`;return t.add(r),r}walkFactory(e,t,r,i=null){let n=this.rstate,s=n.sink,a=this.newBlockName(),o=i!==null?[i.itemVar,i.indexVar]:[],l=new Set(o),c=new Set;T.collectLeafNames(e,c);let f=new Set(s.renameHazardNames??[]),h=(b)=>{if(!l.has(b))return l.add(b),b;let _=`${b}_`;while(l.has(_)||c.has(_))_+="_";return l.add(_),f.add(b),f.add(_),_},u=s.loopStack.map((b)=>({...b,itemVar:h(b.itemVar),indexVar:h(b.indexVar)})),d=u.flatMap((b)=>[b.itemVar,b.indexVar]),S=i!==null?[...u,i]:u,g={kind:t,name:a,parent:s,self:"ctx",paramNames:[...o,...d],frameVar:"__fr",ownerVar:"__o",creates:[],setups:[],vars:new Set,locals:new Set,localDecls:new Map,bindings:new Set([...d,...o]),refs:[],loopStack:S,stmts:[],forceNonStatic:!1,root:null,isStatic:!1,originNode:r,hasKids:!1,kidsVar:null,renameHazardNames:f,narrowed:[...s.narrowed??[],...this._narrowNext??[]]};this._narrowNext=null,n.records.push(g);let p=n.transitionSlot;n.transitionSlot=t==="branch"?{record:g,el:null}:null,n.sink=g,this.rframes.push({reactive:new Set,bound:g.bindings,loopVars:g.bindings});try{let b;if(u1(e))b=e.slice(1);else if(E(e)&&e.length===1&&E(e[0])&&this.stores.idOf(e)===null)b=[e[0]];else b=[e];if(g.stmts=b,g.root=b.length===0?null:this.walkChildStmts(b),g.root===null)g.root=this.newRenderVar("empty"),this.renderLine(null,()=>this.b.emit(`${g.root} = document.createComment('')`))}finally{this.rframes.pop(),n.sink=s,n.transitionSlot=p}this.closeRenderScope(g),g.isStatic=t==="loop"&&g.setups.length===0&&!g.forceNonStatic;let R=new Set([...g.bindings,...g.locals,...g.vars]);if(T.collectLeafNames(g.stmts,R),g.self=T.mintName("ctx",R),g.frameVar=T.mintName("__fr",R),g.ownerVar=T.mintName("__o",R),g.hasKids)g.kidsVar=T.mintName("_factoryChildren",R);return g}narrowConjuncts(e){if(E(e)&&e[0]==="&&"&&e.length===3)return[...this.narrowConjuncts(e[1]),...this.narrowConjuncts(e[2])];if(!T.isDotChain(e))return[];let t=e;while(E(t))t=t[1];if(t==="this")return[e];if(this.renderVarKind(t)!==null||this.bareRewrite(t)===null)return[];return[e]}static isDotChain(e){if(!E(e)||e[0]!=="."||e.length!==3||typeof e[2]!=="string"||e[2][0]==='"')return!1;let t=e[1];if(t==="this")return!0;if(typeof t==="string")return/^[A-Za-z_$][\w$]*$/.test(t);return T.isDotChain(t)}activeNarrowed(){let e=this.renderRecord;if(!this.ts||!e||!(e.narrowed?.length>0))return[];return e.narrowed.filter((t)=>{let r=t;while(E(r))r=r[1];return r==="this"||!(e.bindings.has(r)||e.locals.has(r))})}hasNarrow(){return this.activeNarrowed().length>0}narrowGuard(e="statement",{trailing:t=!0}={}){let r=this.activeNarrowed();if(r.length===0)return!1;return this._needsNarrowHelper=!0,this.b.tsOnly(()=>this.b.echo(()=>{if(r.forEach((i,n)=>{if(n>0)this.b.emit(" ");this.b.emit(e==="statement"?"__ripNarrow(":"(__ripNarrow("),this.renderExpr(i),this.b.emit(e==="statement"?");":"),")}),t)this.b.emit(" ")})),!0}narrowGuardClose(e){if(e)this.b.tsOnly(()=>this.b.emit(")".repeat(this.activeNarrowed().length)))}renderCond(e,t=e){if(e.length>4)throw this.positionedError(e,"emitter: unexpected flat conditional chain shape in render (internal)");if(this.stores.idOf(t)===null&&this._chainMarkNode)t=this._chainMarkNode;let[,r,i]=e,n=e.length===4?e[3]:null;this.checkSetupLocalRefs(r,t),this.checkCrossScopeLocals(r,t);let s=this.newRenderVar("anchor");this.renderLine(null,()=>this.b.emit(`${s} = document.createComment('if')`)),this._narrowNext=this.narrowConjuncts(r);let a=this.walkFactory(i,"branch",t),o=this._chainMarkNode;if(n!==null&&E(n)&&n[0]==="if"&&this.stores.idOf(n)===null)this._chainMarkNode=t;let l=n!==null?this.walkFactory(n,"branch",t):null;this._chainMarkNode=o;let c=a.refs.length>0||l!==null&&l.refs.length>0,f=this.rstate.sink,h=f.loopStack.flatMap((u)=>[u.itemVar,u.indexVar]);return f.setups.push({kind:"raw",node:t,fn:(u)=>this.emitCondSetup(u,t,e,s,a,l,c,h)}),s}renderSwitch(e){let[,t,r,i]=e;if(T.hasMatchArms(r))this.checkMatchSwitch(e);let n=i;for(let s=r.length-1;s>=0;s--){let[,a,o]=r[s],l;if(t===null)l=a.reduce((c,f)=>c===null?f:["||",c,f],null);else l=a.map((c)=>T.matchArmSexpr(t,c)).reduce((c,f)=>c===null?f:["||",c,f],null);n=n!==null?["if",l,o,n]:["if",l,o]}if(n===null||n[0]!=="if")return n===null?this.renderNode("null"):this.renderChildBlock(n);return this.renderCond(n,e)}renderLoop(e){let[,t,r,i,n,s]=e;if(i!==null)throw this.positionedError(e,"emitter: a `by` step has no render reading — the reconciler patches whole collections; step the collection itself: `items.filter((x, i) -> i % 2 == 0)`");if(n!==null)throw this.positionedError(e,"emitter: a `when` guard has no render reading — the reconciler patches whole collections; filter the collection itself: `for x in items.filter((x) -> cond)`");if(t.length>2||t.some((_)=>typeof _!=="string"))throw this.positionedError(e,"emitter: a render loop takes plain item and index variables (`for item, i in items`) — destructuring loop "+"variables have no factory-parameter reading here; destructure inside the body");if(t.length===2&&t[0]===t[1])throw this.positionedError(e,`emitter: a render loop cannot bind '${t[0]}' as BOTH item and index — one name cannot hold two row facts `);for(let _ of t)if(_.startsWith("__"))throw this.positionedError(e,`emitter: render loop variable '${_}' — double-underscore names are the compiler/runtime namespace inside `+"render (factory scaffolding and injected helpers live there)");this.checkSetupLocalRefs(r,e),this.checkCrossScopeLocals(r,e);let a=t[0],o=t[1]??null;if(o===null){let _=new Set(this.loopVarNames());_.add(a),T.collectRenderBodyBindings(s,_);let y=(m,k)=>{if(typeof m==="string")return m===k;return E(m)&&m.some((O)=>y(O,k))};for(let m of["i","j","k","l","m","n"])if(!_.has(m)&&!y(s,m)){o=m;break}o=o??`__rip_idx${this.rstate.sink.loopStack.length}`}let l=this.newRenderVar("anchor");this.renderLine(null,()=>this.b.emit(`${l} = document.createComment('for')`));let c=this.renderReactive(r),f=this.extractLoopKey(s,e),h=f!==null?this.rstate.keySpan??null:null;if(f!==null)this.checkSetupLocalRefs(f,e),this.checkCrossScopeLocals(f,e);let u=this.stores.idOf(e),d=u!==null?this.stores.role(u,"vars"):null,S=this.primitiveAvoid;if(d?.sourceStart!=null)this.primitiveAvoid=[...S??[],[d.sourceStart,d.sourceEnd]];let g;try{g=this.walkFactory(s,"loop",e,{itemVar:a,indexVar:o,reactiveSource:c,iter:r,node:e})}finally{this.primitiveAvoid=S}if(f!==null){if(g.locals.size>0&&Ie(f,g.locals))throw this.positionedError(e,"emitter: a `key:` expression must be evaluable in the loop HEADER scope — it reads a render local declared "+"inside the loop body, which lives in the row factory (derive the key from the item inline: `key: item.id`)");if(!Ie(f,new Set([a,o])))throw this.positionedError(e,`emitter: a loop key must derive from the row — this \`key:\` expression never reads '${a}'${t.length===2?` or '${o}'`:""} (a row-independent key cannot identify rows)`)}let p=g.refs.length>0,R=this.rstate.sink,b=R.loopStack.flatMap((_)=>[_.itemVar,_.indexVar]);return R.setups.push({kind:"raw",node:e,fn:(_)=>this.emitLoopSetup(_,e,l,r,g,f,a,o,p,b,h)}),l}static collectRenderBodyBindings(e,t){if(!E(e))return;if((e[0]==="for-in"||e[0]==="for-of"||e[0]==="for-as")&&E(e[1])){for(let r of e[1])if(typeof r==="string")t.add(r)}else if(e[0]==="="&&e.length===3&&typeof e[1]==="string")t.add(e[1]);for(let r of e)T.collectRenderBodyBindings(r,t)}extractLoopKey(e,t){let i=(u1(e)?e.slice(1):[e]).find((s)=>!this.isRenderBinding(s));if(!E(i))return null;let n=(s)=>{for(let a=1;a0?`, ${o.join(", ")}`:"",f=e+" ",h=f+" ",u=new Set([l,...o]);T.collectLeafNames(r[1],u);let d=T.mintName("anchor",u),S=T.mintName("currentBlock",u),g=T.mintName("showing",u),p=T.mintName("show",u),R=T.mintName("want",u),b=T.mintName("leaving",u),_=this.runtimeName("__transition"),y=(k)=>{this.b.emit(`${h} ${S} = ${l}.${k.name}(${l}${c}); `),this.b.emit(`${h} ${S}.c(); -`),this.b.emit(`${h} if (${m}.parentNode) ${S}.m(${m}.parentNode, ${m}.nextSibling); +`),this.b.emit(`${h} if (${d}.parentNode) ${S}.m(${d}.parentNode, ${d}.nextSibling); `),this.b.emit(`${h} ${S}.p(${l}${c}); `),this.b.emit(`${h} if (${S}._t) ${_}(${S}._first, ${S}._t, 'enter', undefined); -`)},p=()=>{if(this.b.emit(`${e}{ -`),this.b.emit(`${f}const ${m} = ${i}; +`)},m=()=>{if(this.b.emit(`${e}{ +`),this.b.emit(`${f}const ${d} = ${i}; `),this.b.emit(`${f}let ${S}`),this.tsScaffoldAny(),this.b.emit(` = null; `),this.b.emit(`${f}let ${g}`),this.tsScaffoldAny(),this.b.emit(` = null; `),this.b.emit(`${f}${this.runtimeName("__effect")}(() => { `),a)this.b.emit(`${h}${this.runtimeName("__batch")}(() => { `);if(this.hasNarrow())this.b.tsOnly(()=>{this.b.emit(h),this.narrowGuard("statement",{trailing:!1}),this.b.emit(` -`)});if(this.b.emit(`${h}const ${d} = !!(`),this.mark(t,"$self",()=>this.mark(t,"condition",()=>this.renderExpr(r[1]))),this.b.emit(`); -`),this.b.emit(`${h}const ${R} = ${d} ? 'then' : ${s!==null?"'else'":"null"}; +`)});if(this.b.emit(`${h}const ${p} = !!(`),this.mark(t,"$self",()=>this.mark(t,"condition",()=>this.renderExpr(r[1]))),this.b.emit(`); +`),this.b.emit(`${h}const ${R} = ${p} ? 'then' : ${s!==null?"'else'":"null"}; `),this.b.emit(`${h}if (${R} === ${g}) return; `),this.b.emit(`${h}if (${S}) { `),this.b.emit(`${h} const ${b} = ${S}; @@ -222,14 +222,14 @@ ${w} ${l} = ${o}._mountSetup(document.createComment('rip:child-error: ${t}')); `);this.b.emit(`${f}}); `),this.b.emit(`${f}${this.runtimeName("__ownerFrame")}().add(() => { if (${S}) { ${S}.d(true); ${S} = null; } }); `),this.b.emit(`${e}} -`)};this.mark(t,"$self",p)}emitLoopSetup(e,t,r,i,n,s,a,o,l,c,f=null){let h=this.renderSelf??"this",u=c.length>0?`, ${c.join(", ")}`:"",m=e+" ",S=m+" ",g=new Set([h,a,o,...c]);if(T.collectLeafNames(i,g),s!==null)T.collectLeafNames(s,g);let d=T.mintName("__s",g),R=T.mintName("__b",g);this.mark(t,"$self",()=>{if(this.b.emit(`${e}{ -`),this.b.emit(`${m}const ${d}`),this.tsScaffoldAny(),this.b.emit(` = { blocks: [], keys: [] }; -`),this.b.emit(`${m}${this.runtimeName("__effect")}(() => { -`),this.b.emit(S),l)this.b.emit(`${this.runtimeName("__batch")}(() => `);let b=this.narrowGuard(l?"expression":"statement");if(this.b.emit(`${this.runtimeName("__reconcile")}(${r}, ${d}, `),this.withExpression(()=>this.expr(i)),this.b.emit(`, ${h}, ${h}.${n.name}, `),s!==null){let _=this.tsIterElementTypeText(i,new Set([a,o,...n.renameHazardNames]),new Set([h,...c]));{let y=this.stores.idOf(t),p=y!==null?this.stores.role(y,"vars"):null,k=p?.sourceStart!=null?this.stores.primitiveSpans(a,p.sourceStart,p.sourceEnd)[0]??null:null;if(this.b.emit("("),k){let I=this.b.offset;this.b.markSpan(y,"identifier",k.sourceStart,k.sourceEnd,()=>this.b.emit(a)),this.loopVars.push([I,this.b.offset])}else this.b.emit(a)}if(_!==null)this.b.tsOnly(()=>this.b.emit(`: ${_}`));if(this.b.emit(`, ${o}`),this.ts)this.b.tsOnly(()=>this.b.emit(": number"));this.b.emit(") => "),this.rframes.push({reactive:new Set,bound:new Set([a,o]),loopVars:new Set([a,o])});try{this.withExpression(()=>{let y=T.needsGrouping(s,"operand")||O1(s),p=this.tsServedValue("__key",()=>{if(y)this.b.emit("(");{let k=this.stores.idOf(t),I=k!==null?this.stores.role(k,"vars"):null,A=this.primitiveAvoid;if(I?.sourceStart!=null)this.primitiveAvoid=[...A??[],[I.sourceStart,I.sourceEnd]];try{this.expr(s)}finally{this.primitiveAvoid=A}}if(y)this.b.emit(")")});if(p!==null&&f!==null)this.intrinsics.push({start:f[0],end:f[1],kind:"key",gen:p})})}finally{this.rframes.pop()}}else this.b.emit("null");if(this.b.emit(`${u})`),l)this.narrowGuardClose(b);if(l)this.b.emit(")");this.b.emit(`; -`),this.b.emit(`${m}}); -`),this.b.emit(`${m}${this.runtimeName("__ownerFrame")}().add(() => { for (const ${R} of ${d}.blocks) { try { ${R}.d(true); } catch {} } ${d}.blocks = []; ${d}.keys = []; ${d}.items = []; }); +`)};this.mark(t,"$self",m)}emitLoopSetup(e,t,r,i,n,s,a,o,l,c,f=null){let h=this.renderSelf??"this",u=c.length>0?`, ${c.join(", ")}`:"",d=e+" ",S=d+" ",g=new Set([h,a,o,...c]);if(T.collectLeafNames(i,g),s!==null)T.collectLeafNames(s,g);let p=T.mintName("__s",g),R=T.mintName("__b",g);this.mark(t,"$self",()=>{if(this.b.emit(`${e}{ +`),this.b.emit(`${d}const ${p}`),this.tsScaffoldAny(),this.b.emit(` = { blocks: [], keys: [] }; +`),this.b.emit(`${d}${this.runtimeName("__effect")}(() => { +`),this.b.emit(S),l)this.b.emit(`${this.runtimeName("__batch")}(() => `);let b=this.narrowGuard(l?"expression":"statement");if(this.b.emit(`${this.runtimeName("__reconcile")}(${r}, ${p}, `),this.withExpression(()=>this.expr(i)),this.b.emit(`, ${h}, ${h}.${n.name}, `),s!==null){let _=this.tsIterElementTypeText(i,new Set([a,o,...n.renameHazardNames]),new Set([h,...c]));{let y=this.stores.idOf(t),m=y!==null?this.stores.role(y,"vars"):null,k=m?.sourceStart!=null?this.stores.primitiveSpans(a,m.sourceStart,m.sourceEnd)[0]??null:null;if(this.b.emit("("),k){let O=this.b.offset;this.b.markSpan(y,"identifier",k.sourceStart,k.sourceEnd,()=>this.b.emit(a)),this.loopVars.push([O,this.b.offset])}else this.b.emit(a)}if(_!==null)this.b.tsOnly(()=>this.b.emit(`: ${_}`));if(this.b.emit(`, ${o}`),this.ts)this.b.tsOnly(()=>this.b.emit(": number"));this.b.emit(") => "),this.rframes.push({reactive:new Set,bound:new Set([a,o]),loopVars:new Set([a,o])});try{this.withExpression(()=>{let y=T.needsGrouping(s,"operand")||O1(s),m=this.tsServedValue("__key",()=>{if(y)this.b.emit("(");{let k=this.stores.idOf(t),O=k!==null?this.stores.role(k,"vars"):null,A=this.primitiveAvoid;if(O?.sourceStart!=null)this.primitiveAvoid=[...A??[],[O.sourceStart,O.sourceEnd]];try{this.expr(s)}finally{this.primitiveAvoid=A}}if(y)this.b.emit(")")});if(m!==null&&f!==null)this.intrinsics.push({start:f[0],end:f[1],kind:"key",gen:m})})}finally{this.rframes.pop()}}else this.b.emit("null");if(this.b.emit(`${u})`),l)this.narrowGuardClose(b);if(l)this.b.emit(")");this.b.emit(`; +`),this.b.emit(`${d}}); +`),this.b.emit(`${d}${this.runtimeName("__ownerFrame")}().add(() => { for (const ${R} of ${p}.blocks) { try { ${R}.d(true); } catch {} } ${p}.blocks = []; ${p}.keys = []; ${p}.items = []; }); `),this.b.emit(`${e}} -`)})}emitFactory(e,t,r){let i=" ".repeat(t+1),n=i+" ",s=n+" ",a=s+" ",{self:o,frameVar:l,ownerVar:c}=e,f=[o,...e.paramNames],h=e.setups.length>0,u=new Set([...e.bindings,...e.locals,...e.vars,o,l,c]);if(e.kidsVar!==null)u.add(e.kidsVar);T.collectLeafNames(e.stmts,u);let m=[o,...e.paramNames.map((k)=>T.mintName(`__${k}`,u))],S=e.kidsVar!==null?T.mintName("__c",u):null,g=e.kidsVar!==null?T.mintName("__e",u):null,d=!e.isStatic,R=this.ts?T.mintName("__Ctx",u):null,b=new Map,_=new Map;if(e.loopStack.forEach((k)=>{if(k.node!==void 0)_.set(k.itemVar,k.node),_.set(k.indexVar,k.node)}),this.ts)this.withRecordContext(e,()=>{e.loopStack.forEach((k,I)=>{let A=this.tsLoopItemTypeText(k,e,I);if(A!==null)b.set(k.itemVar,A);b.set(k.indexVar,"number")})});let y=new Map;for(let k of e.loopStack){let I=k.node?this.stores.idOf(k.node):null,A=I!==null?this.stores.role(I,"vars"):null;if(A?.sourceStart==null)continue;for(let x of[k.itemVar,k.indexVar]){if(typeof x!=="string"||y.has(x))continue;let O=this.stores.primitiveSpans(x,A.sourceStart,A.sourceEnd)[0]??null;if(O)y.set(x,{id:I,start:O.sourceStart,end:O.sourceEnd})}}let p=(k,I,A)=>{k.forEach((x,O)=>{if(O>0)this.b.emit(", ");let G=()=>{let V=y.get(x);if(V){let W=this.b.offset;if(this.b.markSpan(V.id,"identifier",V.start,V.end,()=>this.b.emit(x)),this.isRenderLoopName(x))this.loopVars.push([W,this.b.offset])}else this.emitPrimitive(x);if(!this.ts)return;let Z=O===0?I:A(x,O);if(Z!=null)this.b.tsOnly(()=>this.b.emit(`: ${Z}`))},K=_.get(x);if(K!==void 0)this.mark(K,"$self",G);else G()})};this.mark(r,"$self",()=>{this.withRecordContext(e,()=>{if(this.b.emit(`${i}${e.name}(`),p(f,"this",(A)=>b.get(A)),this.b.emit(`) { +`)})}emitFactory(e,t,r){let i=" ".repeat(t+1),n=i+" ",s=n+" ",a=s+" ",{self:o,frameVar:l,ownerVar:c}=e,f=[o,...e.paramNames],h=e.setups.length>0,u=new Set([...e.bindings,...e.locals,...e.vars,o,l,c]);if(e.kidsVar!==null)u.add(e.kidsVar);T.collectLeafNames(e.stmts,u);let d=[o,...e.paramNames.map((k)=>T.mintName(`__${k}`,u))],S=e.kidsVar!==null?T.mintName("__c",u):null,g=e.kidsVar!==null?T.mintName("__e",u):null,p=!e.isStatic,R=this.ts?T.mintName("__Ctx",u):null,b=new Map,_=new Map;if(e.loopStack.forEach((k)=>{if(k.node!==void 0)_.set(k.itemVar,k.node),_.set(k.indexVar,k.node)}),this.ts)this.withRecordContext(e,()=>{e.loopStack.forEach((k,O)=>{let A=this.tsLoopItemTypeText(k,e,O);if(A!==null)b.set(k.itemVar,A);b.set(k.indexVar,"number")})});let y=new Map;for(let k of e.loopStack){let O=k.node?this.stores.idOf(k.node):null,A=O!==null?this.stores.role(O,"vars"):null;if(A?.sourceStart==null)continue;for(let x of[k.itemVar,k.indexVar]){if(typeof x!=="string"||y.has(x))continue;let I=this.stores.primitiveSpans(x,A.sourceStart,A.sourceEnd)[0]??null;if(I)y.set(x,{id:O,start:I.sourceStart,end:I.sourceEnd})}}let m=(k,O,A)=>{k.forEach((x,I)=>{if(I>0)this.b.emit(", ");let H=()=>{let K=y.get(x);if(K){let V=this.b.offset;if(this.b.markSpan(K.id,"identifier",K.start,K.end,()=>this.b.emit(x)),this.isRenderLoopName(x))this.loopVars.push([V,this.b.offset])}else this.emitPrimitive(x);if(!this.ts)return;let Z=I===0?O:A(x,I);if(Z!=null)this.b.tsOnly(()=>this.b.emit(`: ${Z}`))},G=_.get(x);if(G!==void 0)this.mark(G,"$self",H);else H()})};this.mark(r,"$self",()=>{this.withRecordContext(e,()=>{if(this.b.emit(`${i}${e.name}(`),m(f,"this",(A)=>b.get(A)),this.b.emit(`) { `),this.ts)this.b.tsOnly(()=>this.b.emit(`${n}type ${R} = typeof ${o}; `));if(e.vars.size>0)this.b.emit(`${n}let `),[...e.vars].forEach((A,x)=>{if(x>0)this.b.emit(", ");this.b.emit(A),this.tsScaffoldAny()}),this.b.emit(`; `);if(e.kidsVar!==null)this.b.emit(`${n}let ${e.kidsVar}`),this.tsScaffoldAny("[]"),this.b.emit(` = []; @@ -237,15 +237,15 @@ ${w} ${l} = ${o}._mountSetup(document.createComment('rip:child-error: ${t}')); `);if(this.b.emit(`${n}return { `),e.isStatic)this.b.emit(`${s}_s: true, `);this.b.emit(`${s}c() { -`),this.replayCreates(e,a);let k=this.rstate.fragChildren.get(e.root),I=k!==void 0?k[0]:e.root;if(this.b.emit(a),this.ts)this.b.tsOnly(()=>this.b.emit("("));if(this.b.emit("this"),this.ts)this.b.tsOnly(()=>this.b.emit(" as any)"));if(this.b.emit(`._first = ${I}; +`),this.replayCreates(e,a);let k=this.rstate.fragChildren.get(e.root),O=k!==void 0?k[0]:e.root;if(this.b.emit(a),this.ts)this.b.tsOnly(()=>this.b.emit("("));if(this.b.emit("this"),this.ts)this.b.tsOnly(()=>this.b.emit(" as any)"));if(this.b.emit(`._first = ${O}; `),this.b.emit(`${s}}, `),this.b.emit(`${s}m(target`),this.tsScaffoldAny(),this.b.emit(", anchor"),this.tsScaffoldAny(),this.b.emit(`) { `),k!==void 0)for(let A of k)this.b.emit(`${a}if (target) target.insertBefore(${A}, anchor); `);else this.b.emit(`${a}if (target) target.insertBefore(${e.root}, anchor); -`);for(let A of e.refs)this.b.emit(a),this.mark(A.node,"$self",()=>{let x=this.ts&&typeof A.tag==="string";if(x)this.b.tsOnly(()=>this.b.emit(`${A.svg?"__ripRefCellSvg":"__ripRefCell"}('${A.tag}', `));let O=this.b.offset;this.b.emit(`${o}.`);let G=this.emitPrimitive(A.name);if(G!==null)this.memberDecls.push({start:G[0],end:G[1]});if(x)A.site([O,this.b.offset]);if(x)this.b.tsOnly(()=>this.b.emit(")"));if(this.b.emit(`.value = ${A.elVar}`),x)this.b.tsOnly(()=>this.b.emit(` as ${Oe(A.tag,A.svg)} | null`));this.b.emit(";")}),this.b.emit(` +`);for(let A of e.refs)this.b.emit(a),this.mark(A.node,"$self",()=>{let x=this.ts&&typeof A.tag==="string";if(x)this.b.tsOnly(()=>this.b.emit(`${A.svg?"__ripRefCellSvg":"__ripRefCell"}('${A.tag}', `));let I=this.b.offset;this.b.emit(`${o}.`);let H=this.emitPrimitive(A.name);if(H!==null)this.memberDecls.push({start:H[0],end:H[1]});if(x)A.site([I,this.b.offset]);if(x)this.b.tsOnly(()=>this.b.emit(")"));if(this.b.emit(`.value = ${A.elVar}`),x)this.b.tsOnly(()=>this.b.emit(` as ${Oe(A.tag,A.svg)} | null`));this.b.emit(";")}),this.b.emit(` `);if(this.b.emit(`${s}}, -`),this.b.emit(`${s}p(`),d)p(m,R,(A,x)=>`typeof ${e.paramNames[x-1]}`);else p(f,R,(A)=>b.get(A));if(this.b.emit(`) { -`),d&&e.paramNames.length>0)this.b.emit(`${a}${e.paramNames.map((A,x)=>`${A} = ${m[x+1]};`).join(" ")} +`),this.b.emit(`${s}p(`),p)m(d,R,(A,x)=>`typeof ${e.paramNames[x-1]}`);else m(f,R,(A)=>b.get(A));if(this.b.emit(`) { +`),p&&e.paramNames.length>0)this.b.emit(`${a}${e.paramNames.map((A,x)=>`${A} = ${d[x+1]};`).join(" ")} `);if(h)this.b.emit(`${a}if (${l}) ${l}.dispose(); `),this.b.emit(`${a}const ${c} = ${this.runtimeName("__pushOwner")}(${l} = ${this.runtimeName("__ownerFrame")}()); `),this.b.emit(`${a}try { @@ -264,90 +264,90 @@ ${w} ${l} = ${o}._mountSetup(document.createComment('rip:child-error: ${t}')); `);this.b.emit(`${s}} `),this.b.emit(`${n}}; `),this.b.emit(`${i}} -`)})})}renderTransition(e,t,r,i){let n=this.rstate,s=n.transitionSlot;if(s===null||s.record!==n.sink||s.el!==e){let o=n.sink.kind==="class"?"a static element)":n.sink.kind==="loop"?"a loop body — the reconciler has no enter/leave phase for rows":"a nested position — the swap animates the branch's FIRST node, so a deeper directive would animate an "+"element it does not name";throw this.positionedError(t,`emitter: a transition (\`~name\`) runs where a conditional branch enters or leaves, and this directive sits on ${o}; put it on the FIRST top-level element of an if/else branch`,this.rstate.node)}if(typeof r!=="string"||!(r.startsWith('"')||r.startsWith("'")))throw this.positionedError(t,"emitter: a transition takes a literal name (`~fade`) — computed transition names have no reading",this.rstate.node);let a=r.replace(/^["']|["']$/g,"");this.renderLine(t,()=>{if(this.ts)this.b.tsOnly(()=>this.b.emit("("));if(this.b.emit("this"),this.ts)this.b.tsOnly(()=>this.b.emit(" as any)"));this.b.emit(`._t = "${a}"`)})}renderRef(e,t,r,i,n){let s=typeof r==="string"&&st.test(r)?r:null;if(s===null)throw this.positionedError(t,"emitter: ref: expects a state cell — declare `el := null` then write `ref: el`",this.rstate.node);let a=this.rstate.frame.members.get(s);if(a!=="state"&&a!=="prop")throw this.positionedError(t,a!==void 0?`emitter: ref: target '${s}' is not a writable state cell — declare it with ':=' (computed '~=' and `+"readonly '=!' members can't hold a ref)":`emitter: ref: target '${s}' must be a state cell declared with ':=' (e.g. \`${s} := null\`)`,this.rstate.node);let o=this.renderTagOf(e),l=this.ts&&o!==null&&/^[a-z][a-z0-9-]*$/.test(o),c=this.rstate.svgEls?.has(e)===!0;if(l){this._needsRefCellHelper=!0;let f=this.wordSpanIn("ref",t);if(f!==null)this.intrinsics.push({start:f[0],end:f[1],kind:"ref",tag:o,svg:c,name:s})}if(this.rstate.sink.kind==="class")this.renderLine(t,()=>{if(l)this.b.tsOnly(()=>this.b.emit(`${c?"__ripRefCellSvg":"__ripRefCell"}('${o}', `));let f=this.b.offset;this.b.emit("this.");let h=this.emitPrimitive(s);if(h!==null)this.memberDecls.push({start:h[0],end:h[1]});if(l)n([f,this.b.offset]);if(l)this.b.tsOnly(()=>this.b.emit(")"));if(this.b.emit(`.value = ${e}`),l)this.b.tsOnly(()=>this.b.emit(` as ${Oe(o,c)} | null`))}),this.renderLine(t,()=>{this.b.emit(`(this._refCleanups ??= []).push(() => ${this.runtimeName("__detachRef")}(this.`),this.emitPrimitive(s),this.b.emit(`, ${e}))`)});else this.rstate.sink.refs.push({name:s,elVar:e,node:t,tag:l?o:null,svg:c,site:n})}renderBind(e,t,r,i,n,s){if(this.checkBindTarget(t,i),this.rstate.sink.kind==="loop"&&this.loopVarNames().size>0&&$e(i,this.loopVarNames()))this.rstate.sink.forceNonStatic=!0;let a=null;for(let u of n.slice(1))if(E(u)&&u.length===3&&(u[1]==="type"||u[1]==='"type"')&&typeof u[2]==="string")a=u[2].replace(/^["']|["']$/g,"");let o,l;if(r==="checked")o="change",l="target.checked";else o="input",l=a==="number"||a==="range"?"target.valueAsNumber":"target.value";this.renderEffect(t,()=>{this.b.emit(`${e}.`);let u=this.emitRewrittenPrimitive(`__bind_${r}__`,r);this.b.emit(" = ");let m=this.tsServedValue("__bind",()=>this.withExpression(()=>this.expr(i)));if(m!==null&&u!==null)this.intrinsics.push({start:u[0],end:u[1],kind:"bind",name:r,gen:m});this.b.emit(";")},i);let c=this.bindRootTouch(i),f=new Set;T.collectLeafNames(i,f);let h=T.mintName("e",f);this.renderLine(t,()=>{this.b.emit(`${e}.addEventListener('${o}', (${h}`);let u=this.tsElReceiver(e),m=this.ts?this.tsEventTypeText([o],u.hostText):null;if(m!==null)this.b.tsOnly(()=>this.b.emit(`: ${m}`));else this.tsScaffoldAny();this.b.emit(") => { ");let S=this.b.offset;if(this.withExpression(()=>this.expr(i)),s([S,this.b.offset]),this.b.emit(` = ${h}.${l};`),c!==null)this.b.emit(" "),c(),this.b.emit(".touch?.();");this.b.emit(" })")})}checkBindTarget(e,t){let r=(s)=>{throw this.positionedError(e,s,this.rstate.node)};if(typeof t==="string"){if(!st.test(t))r("emitter: a two-way binding (`<=>`) needs an assignable target — a literal cannot receive the input");let s=this.renderVarKind(t,e);if(s!==null)r(`emitter: a two-way binding cannot target a ${s==="local"?"render local":"loop variable"} — `+"the write would land on a factory parameter and reach nothing; bind a state member or a chain into row data");let a=this.resolveBareRead(t);if(a==="member-reactive"&&this.rstate.frame.members.get(t)==="computed")r(`emitter: '<=>' targets '${t}', a computed ('~=') member — a derived value has no writable `+"container (its .value is get-only); bind the state it derives from");if(a==="reactive"||a==="member-reactive")return;if(a==="member")r(`emitter: '<=>' targets '${t}', a plain (\`=\`) member — writes would never notify and the display `+"would never update; declare it with ':='");r(`emitter: '<=>' targets '${t}', which is not declared — declare a state member (\`${t} := ""\`) to bind it`)}if(E(t)&&t[0]==="."&&t[1]==="this"&&t.length===3&&typeof t[2]==="string"){if(this.memberIsReactive(t[2])&&this.rstate.frame.members.get(t[2])==="computed")r(`emitter: '<=>' targets '@${t[2]}', a computed ('~=') member — a derived value has no writable `+"container; bind the state it derives from");if(this.memberIsReactive(t[2]))return;if(this.rstate.frame.members.has(t[2]))r(`emitter: '<=>' targets '@${t[2]}', a non-reactive member — writes would never notify`+"); declare it with ':='");r(`emitter: '<=>' targets '@${t[2]}', which is not a declared member`)}if(E(t)&&T.optionalGuard(t)!==null)r("emitter: a two-way binding target cannot carry optional links — the write form would be invalid JS");let i=t,n=!1;while(E(i)&&(i[0]==="."||i[0]==="[]")&&i.length===3)n=!0,i=i[1];if(n)return;r("emitter: a two-way binding (`<=>`) needs an assignable target — a state member or a member/index chain "+"")}bindRootTouch(e){if(typeof e==="string")return null;if(E(e)&&e[0]==="."&&e[1]==="this"&&e.length===3)return null;let t=e;while(E(t)&&(t[0]==="."||t[0]==="[]")&&t.length===3){if(t[0]==="."&&t[1]==="this"&&typeof t[2]==="string"){let r=t[2];if(this.memberIsReactive(r))return()=>this.b.emit(`${this.renderSelf??"this"}.${r}`);return null}t=t[1]}if(typeof t==="string"){if(this.renderVarKind(t)!==null)return null;let r=this.resolveBareRead(t);if(r==="member-reactive"){let i=t;return()=>this.b.emit(`${this.renderSelf??"this"}.${i}`)}if(r==="reactive"){let i=t;return()=>this.b.emit(i)}}return null}checkUserSpelledBind(e){let t=E(e)?this.stores.idOf(e):null,r=t!==null?this.stores.role(t,"key"):null;if(!r||r.sourceStart==null||this.b.source===null)return;if(this.b.source.slice(r.sourceStart,r.sourceEnd).startsWith("__bind_"))throw this.positionedError(e,"emitter: '__bind_…__:' is the compiler's two-way-binding channel — spell the binding `name <=> container` "+"(`__`-prefixed names are the compiler/runtime namespace)",this.rstate.node)}checkBareEventHandler(e,t){if(!E(t)||t[0]!=="."||t[1]!=="this"||typeof t[2]!=="string")return;let r=this.stores.idOf(t),i=r!==null?this.stores.selfSpan(r):null;if(i===null||i[0]!==i[1])return;let n=e[1],s=typeof n[2]==="string"?n[2]:String(n[2]);if(!Mt.has(s))throw this.positionedError(e,`emitter: \`@${s}\` is not a DOM event — use \`= @${s}\` to render text, or \`@${s}: handler\` for an explicit handler`);if(s==="error")throw this.positionedError(e,"emitter: bare `@error` is ambiguous with the onError lifecycle hook — write `@error: handler` to bind a DOM error listener explicitly");let a=t[2];if(!this.cframes[this.cframes.length-1].members.has(a))throw this.positionedError(e,`emitter: bare \`@${s}\` requires a component method \`${a}\` — define \`${a}\`, or use \`@${s}: handler\` for an explicit handler`)}static collectTemplateClasses(e){let t=[],r,i=e;while(E(i)&&i[0]==="."&&i.length===3){if(typeof i[2]!=="string")return{tag:null,classes:t,id:r};t.unshift(i[2]),i=i[1]}if(typeof i!=="string")return{tag:null,classes:t,id:r};let[n,s]=i.split("#");if(s)r=s;for(let a=0;a=0)r=t[a].slice(o+1),t[a]=t[a].slice(0,o)}return{tag:n||"div",classes:t.filter((a)=>a!==""),id:r}}static templateHeadTag(e){if(!E(e))return null;let t=e[0];if(typeof t==="string"){if(t===".")return T.collectTemplateClasses(e).tag;return t.length>0?t.split("#")[0]||"div":null}if(!E(t))return null;if(E(t[0])&&t[0][0]==="."&&t[0][2]==="__clsx"){let r=t[0][1];if(typeof r==="string")return r.split("#")[0]||"div";return T.collectTemplateClasses(r).tag}return T.collectTemplateClasses(t).tag}static returnGuard(e){return E(e)&&(e[0]==="||"||e[0]==="&&"||e[0]==="??")&&e.length===3&&E(e[2])&&e[2][0]==="return"}static stmtGuard(e){return E(e)&&(e[0]==="||"||e[0]==="&&"||e[0]==="??")&&e.length===3&&(e[2]==="continue"||e[2]==="break"||e[2]==="debugger")}static controlGuard(e){return T.returnGuard(e)||T.throwGuard(e)||T.stmtGuard(e)}static throwGuard(e){return E(e)&&(e[0]==="||"||e[0]==="&&"||e[0]==="??")&&e.length===3&&E(e[2])&&e[2][0]==="throw"&&e[2].length===2}static isStrRepeat(e){return E(e)&&e[0]==="*"&&e.length===3&&typeof e[1]==="string"&&e[1][0]==='"'}static leadsWithObject(e){let t=e;for(;;){if(!E(t))return!1;if(O1(t))return!0;if(at(t)||zs(t)||ot(t)){t=t[1];continue}let r=T.chainHeadSlot(t);if(r!==null){t=t[r];continue}return!1}}static chainHeadSlot(e){if((e[0]==="."||e[0]==="?."||e[0]==="[]"||e[0]==="optindex")&&e.length===3)return 1;if(e[0]==="optcall")return 1;return T.chainHeadSlotRest(e)}chainHeadSlotOf(e){if((e[0]==="."||e[0]==="?."||e[0]==="[]")&&e.length===3)return 1;if(e[0]==="optindex"&&e.length===3&&this.lockedHead(e,"optindex"))return 1;if(e[0]==="optcall"&&this.lockedHead(e,"optcall"))return 1;return T.chainHeadSlotRest(e)}static chainHeadSlotRest(e){if(E(e[0])&&e[0][0]!=="dammit!"&&!(e[0][0]==="."&&e[0].length===3&&e[0][2]==="new"))return 0;return null}static isChainNode(e){return E(e)&&T.chainHeadSlot(e)!==null}isChainNodeOf(e){return E(e)&&this.chainHeadSlotOf(e)!==null}chain(e){this.noteProvidedRead(e);let t=[e];while(!0){let i=t[t.length-1],n=i[this.chainHeadSlotOf(i)];if(!this.isChainNodeOf(n))break;t.push(n)}let r=[];for(let i=0;i=0;i--){let n=t[i],s=n[0],a=r[i];if(this.endMark(a.role),a.kind==="member"){this.inTarget=a.savedTarget;let o=this.deopt&&s==="?."?".":s;if(typeof n[2]==="string"&&n[2][0]==='"')this.mark(n,"operator",()=>this.b.emit(s==="?."&&!this.deopt?"?.":"")),this.mark(n,"property",()=>this.b.emit(`[${n[2]}]`));else this.mark(n,"operator",()=>this.b.emit(o)),this.mark(n,"property",()=>{let l=this.b.offset;if(this.stores.idOf(n)===null)this.emitPrimitive(n[2]);else this.b.emit(n[2]);if(this.ts&&this.appStashSpec!==null&&typeof n[2]==="string"&&T.isThisMember(n[1],"stash")&&!(this.cframes.length&&this.cframes[this.cframes.length-1].members.has("stash")))this.stashMemberSpans.push([l,this.b.offset]);if(this.ts&&n[1]==="this"&&typeof n[2]==="string"){let f=this.cframes[this.cframes.length-1]?.memberKinds?.get(n[2])??null,h=this.stores.idOf(n)??null,u=h!==null?this.stores.role(h,"property"):null;if(f!==null&&u&&typeof u.sourceStart==="number")this.kinds.push({start:u.sourceStart,end:u.sourceEnd,label:f.label,name:n[2],optional:f.optional})}});if(n[1]==="this"&&typeof n[2]==="string"&&this.memberIsReactive(n[2])){if(this.ts){let l=this.stores.idOf(n)??null,c=l!==null?this.stores.role(l,"property"):null;if(c&&typeof c.sourceStart==="number")this.memberDecls.push({start:c.sourceStart,end:c.sourceEnd})}this.b.emit(".value")}}else if(a.kind==="index")this.indexTail(n,a.opt,a.isWrite),this.inTarget=a.savedTarget;else if(a.kind==="optcall")this.b.emit("?."),this.mark(n,"args",()=>{this.b.emit("("),n.slice(2).forEach((o,l)=>{if(l>0)this.b.emit(", ");this.expr(o)}),this.b.emit(")")});else{let o=this.sourceKeyArgOf(n);if(o!==null)(this._sourceKeyArgs??=new Set).add(o),this._needsSourceKeyHelper=!0;let l=this.routerArgOf(n);if(l!==null){if((this._routerArgs??=new Map).set(l.arg,l.wrap),l.wrap)this._needsRouteHelper=!0}this.mark(n,"args",()=>{this.b.emit("("),n.slice(1).forEach((c,f)=>{if(f>0)this.b.emit(", ");this.callArg(c)}),this.b.emit(")")})}this.endMark(a.self)}}member(e){if(e[0]==="."&&e[1]==="this"&&typeof e[2]==="string"&&!this.inTarget)this.notePlainRenderRead(e[2],!0);this.chain(e)}noteProvidedRead(e){if(!this.ts||!(this.cframes?.length>0))return;let t=e;while(E(t)){let s=this.chainHeadSlotOf(t);if(s===null||!E(t[s]))break;t=t[s]}if(!E(t)||t[0]!=="."||t[1]!=="this"||t[2]!=="stash"&&t[2]!=="router")return;if(this.cframes[this.cframes.length-1].members?.has(t[2]))return;let r=this.stores.idOf(t),i=r!==null?this.stores.selfSpan(r):null,n=i!==null?this.stores.primitiveSpans(t[2],i[0],i[1])[0]??null:null;if(n&&!this.kinds.some((s)=>s.start===n.sourceStart&&s.label===t[2]))this.kinds.push({start:n.sourceStart,end:n.sourceEnd,label:t[2],name:t[2],optional:!1})}pick(e,t=!1){let[r,i,...n]=e;if(this.inPattern||this.inTarget)throw this.positionedError(e,"emitter: a pick expression is not an assignment target — it lowers to a fresh object literal (`({…}) = value` would be invalid JS)");let s=r==="?.{}",a=typeof i==="string"&&(i==="this"||/^[A-Za-z_$][\w$]*$/.test(i));if(!a)for(let l of n){if(l[2]!==null&&T.containsAwait(l[2]))throw this.positionedError(l,"emitter: a pick default cannot await when the source needs single evaluation — the lowering's '(_) =>' arrow is not async; bind the source first",e);if(l[2]!==null&&T.containsYield(l[2]))throw this.positionedError(l,"emitter: a pick default cannot yield when the source needs single evaluation — yield cannot cross the lowering's '(_) =>' arrow; bind the source first",e)}let o=(l)=>this.mark(e,"items",()=>{n.forEach((c,f)=>{if(f>0)this.b.emit(", ");let[h,u,m]=c;this.mark(c,"$self",()=>{if(this.mark(c,"target",()=>this.b.emit(T.ownKeyText(u,u))),this.b.emit(": "),m!==null)this.b.emit("(");if(l(),this.b.emit("."),this.mark(c,"key",()=>this.b.emit(h)),m!==null)this.b.emit(" ?? "),this.withExpression(()=>this.operand(c,"default",m)),this.b.emit(")")})})});this.mark(e,"$self",()=>{if(a&&!s)this.b.emit(t?"{":"({"),o(()=>this.mark(e,"source",()=>this.expr(i))),this.b.emit(t?"}":"})");else if(a){if(!t)this.b.emit("(");this.mark(e,"source",()=>this.expr(i)),this.b.emit(" == null ? undefined : {"),o(()=>this.mark(e,"source",()=>this.expr(i))),this.b.emit(t?"}":"})")}else{let l=this.loopTempName("_");this.b.emit(s?`((${l}) => ${l} == null ? undefined : ({`:`((${l}) => ({`),o(()=>this.b.emit(l)),this.b.emit("}))("),this.withExpression(()=>this.grouped(e,"source",i,T.needsGrouping(i,"operand"))),this.b.emit(")")}})}callArg(e){if(this._sourceKeyArgs?.has(e)){this._sourceKeyArgs.delete(e),this.b.tsOnly(()=>this.b.emit("__ripSourceKey("));let r=this.b.offset;this.expr(e),this.sourceKeySpans.push([r,this.b.offset]),this.b.tsOnly(()=>this.b.emit(")"));return}let t=this._routerArgs?.get(e);if(t!==void 0){if(this._routerArgs.delete(e),t)this.b.tsOnly(()=>this.b.emit("__ripRoute("));let r=this.b.offset;if(this.expr(e),this.routeWrapSpans.push({key:null,value:[r,this.b.offset]}),t)this.b.tsOnly(()=>this.b.emit(")"));return}if(E(e)&&(e[0]===".{}"||e[0]==="?.{}")&&e.length>=3)return this.pick(e,!0);this.expr(e)}sourceKeyArgOf(e){if(!this.ts||this.appStashSpec===null)return null;let t=e[1];if(typeof t!=="string"||!/^["']/.test(t))return null;let r=e[0];if(!E(r)||r.length!==3||r[2]!=="source")return null;let i=r[1];if(r[0]==="."&&T.isThisMember(i,"stash")){if(this.cframes.length&&this.cframes[this.cframes.length-1].members.has("stash"))return null;return t}if((r[0]==="."||r[0]==="?.")&&this.isAccessorCall(i,this.appAccessors.stash))return t;return null}static isThisMember(e,t){return E(e)&&e[0]==="."&&e.length===3&&e[1]==="this"&&e[2]===t}static stashKeysOf(e,t){let r=null;for(let s of e.slice(1)){let a=E(s)&&s[0]==="export"?s[1]:s;if(E(a)&&a[0]==="="&&a[1]===t){r=a[2];break}}if(E(r)&&r.length===2&&typeof r[0]==="string"&&E(r[1])&&r[1][0]==="object")r=r[1];if(!E(r)||r[0]!=="object")return null;let i=[],n=!0;for(let s of r.slice(1)){if(!E(s))continue;if(s[0]==="..."){n=!1;continue}let a=s[0]===":"?s[1]:s[0]===null?s[1]:null;if(typeof a!=="string"){n=!1;continue}i.push(/^["']/.test(a)?a.slice(1,-1):a)}return{keys:i,complete:n}}routerArgOf(e){if(!this.ts||this.routesUnion===null)return null;let t=e[1];if(typeof t!=="string"||!/^["']/.test(t))return null;let r=e[0];if(!E(r)||r.length!==3||r[2]!=="push"&&r[2]!=="replace")return null;let i=r[1];if(r[0]==="."&&T.isThisMember(i,"router")){if(this.cframes.length&&this.cframes[this.cframes.length-1].members.has("router"))return null;return{arg:t,method:r[2],wrap:!1}}if((r[0]==="."||r[0]==="?.")&&this.isAccessorCall(i,this.appAccessors.router))return{arg:t,method:r[2],wrap:!0};return null}binary(e){if(T.returnGuard(e))throw this.positionedError(e[2],"emitter: a return guard is a statement — in value position the 'return' would lose its function target (bind the value first, or use `or throw`)");if(T.stmtGuard(e))throw this.positionedError(e[2],`emitter: a ${e[2]} guard is a statement`);if(e[0]==="&&"||e[0]==="||")return this.logicalChain(e);if(T.isStrRepeat(e)){this.mark(e,"$self",()=>{this.mark(e,"left",()=>this.b.emit(e[1])),this.b.emit(".repeat("),this.mark(e,"right",()=>this.expr(e[2])),this.b.emit(")")});return}if(ot(e))return this.comparisonChain(e);let t=(o)=>at(o)&&o[0]!=="&&"&&o[0]!=="||"&&!ot(o)&&!T.isStrRepeat(o),r=[e];while(t(r[r.length-1][1]))r.push(r[r.length-1][1]);let i=[];for(let o=0;o=0;o--){let l=r[o];if(this.b.emit(" "),this.mark(l,"operator",()=>this.b.emit(kn[l[0]]??l[0])),this.b.emit(" "),this.operand(l,"right",l[2]),this.endMark(i[o].self),o>0)this.endMark(i[o-1].left),this.b.emit(")")}}logicalChain(e){let t=e[0],r=(a)=>at(a)&&a[0]===t,i=[e];while(r(i[i.length-1][1]))i.push(i[i.length-1][1]);let n=[];for(let a=0;a=0;a--){let o=i[a];if(this.b.emit(" "),this.mark(o,"operator",()=>this.b.emit(t)),this.b.emit(" "),r(o[2]))this.grouped(o,"right",o[2],!1);else this.operand(o,"right",o[2]);if(this.endMark(n[a].self),a>0)this.endMark(n[a-1].left)}}comparisonChain(e){let t=[e];while(ot(t[t.length-1]))t.push(t[t.length-1][1]);t.reverse();let r=[];for(let s=t.length-1;s>=1;s--){let a=t[s],o=this.beginMark(a,"$self");this.b.emit("("),r[s]={self:o,left:this.beginMark(a,"left")}}let i=t[0],n=this.beginMark(i,"$self");this.operand(i,"left",i[1]),this.b.emit(" "),this.mark(i,"operator",()=>this.b.emit(kn[i[0]]??i[0])),this.b.emit(" "),this.chainRight(i,t[1]),this.endMark(n);for(let s=1;sthis.b.emit(kn[a[0]]??a[0])),this.b.emit(" "),this.chainRight(a,t[s+1]),this.b.emit(")"),this.endMark(r[s].self)}}chainRight(e,t){let r=e[2];if(t!==void 0&&E(r)){let i=this.temps.byNode.get(t);if(i===void 0)throw this.positionedError(r,"emitter: a chained comparison here cannot cache its middle operand for single evaluation "+"(no enclosing scope hoist) — bind the middle operand to a variable first ",e);this.b.emit("("),this.mark(e,"right",()=>{this.b.emit(`${i} = `),this.expr(r)}),this.b.emit(")");return}this.operand(e,"right",r)}chainMid(e,t){let r=this.temps.byNode.get(t);if(r!==void 0){this.mark(e,"right",()=>this.b.emit(r));return}this.operand(e,"right",e[2])}cast(e){if(!this.ts){this.mark(e,"$self",()=>this.mark(e,"annotation",()=>this.mark(e,"value",()=>this.expr(e[1]))));return}let t=this.stores.idOf(e),r=t===null?null:this.stores.role(t,"annotation"),i=r&&r.sourceStart!=null&&this.b.source!==null?this.b.source.slice(r.sourceStart,r.sourceEnd):`as ${Pe(e[2])}`;this.mark(e,"$self",()=>{this.b.tsOnly(()=>this.b.emit("("));let n=T.jsTier(e[1])!=="primary";if(n)this.b.tsOnly(()=>this.b.emit("("));if(this.mark(e,"value",()=>this.expr(e[1])),n)this.b.tsOnly(()=>this.b.emit(")"));this.b.tsOnly(()=>{this.b.emit(" "),this.mark(e,"annotation",()=>this.emitTypeText(e,"annotation",i))}),this.b.tsOnly(()=>this.b.emit(")"))})}existence(e){this.mark(e,"$self",()=>{this.operand(e,"value",e[1]),this.b.emit(" != null")})}presence(e){this.mark(e,"$self",()=>{this.operand(e,"value",e[1]),this.b.emit(" ? true : undefined")})}unary(e){if(e[0]==="delete"&&typeof e[1]==="string"&&this.isReactiveName(e[1]))throw this.positionedError(e,`emitter: cannot delete the reactive variable '${e[1]}' — \`delete ${e[1]}.value\` would remove the container's accessor and silently kill the reactive`);if(e[0]==="delete"&&!(E(e[1])&&(e[1][0]==="."||e[1][0]==="[]")))throw this.positionedError(e,"emitter: delete requires a property reference (delete obj.a / delete obj[k]) — deleting a plain binding is a strict-mode SyntaxError in modules");this.mark(e,"$self",()=>{if(this.mark(e,"operator",()=>this.b.emit(e[0])),/^[a-z]/.test(e[0]))this.b.emit(" ");this.operand(e,"operand",e[1])})}spread(e){this.mark(e,"$self",()=>{if(this.b.emit("..."),this.inPattern)this.mark(e,"value",()=>this.expr(e[1]));else this.operand(e,"value",e[1])})}array(e){this.mark(e,"$self",()=>{this.b.emit("["),this.mark(e,"items",()=>{let t=e.slice(1);t.forEach((r,i)=>{if(i>0)this.b.emit(", ");if(r===","){if(i===t.length-1)this.b.emit(",");return}if(E(r)&&r[0]==="rest"&&this.inPattern){if(!this.bindingPattern)throw this.positionedError(r,"emitter: Cannot use 'rest' expression as a destructuring target (destructuring rest is spelled '...name')",e);if(r.length!==2||i!==t.length-1)throw this.positionedError(r,"emitter: a `rest` element takes the pattern's tail alone",e);if(typeof r[1]!=="string")throw this.positionedError(r,"emitter: a `rest` element takes a plain name",e);this.b.emit("..."),this.b.emit(r[1]);return}let n=!this.inPattern&&!(E(r)&&r[0]==="...")&&T.needsGrouping(r,"operand");if(n)this.b.emit("(");if(this.expr(r),n)this.b.emit(")")})}),this.b.emit("]")})}symbolKey(e){this.b.emit("["),this.expr(e),this.b.emit("]")}static isMethodPair(e){return E(e)&&(e[0]===":"||e[0]==="void-pair")&&typeof e[1]==="string"&&/^[A-Za-z_$][\w$]*$/.test(e[1])&&E(e[2])&&e[2][0]==="->"}object(e){for(let a of e.slice(1)){if(E(a)&&a[0]===":"&&typeof a[1]==="string"&&a[1][0]==="/")throw this.positionedError(a,"emitter: a regex key needs a MAP literal (`*{ /re/: v }`) — object property names are strings");if(!this.inPattern&&!this.tolerant&&E(a)&&a[0]==="="&&a.length===3)throw this.positionedError(a,"emitter: `a = 1` inside an object literal is a destructuring default, which only a pattern can carry — spell the pair `a: 1`",e)}let t=!this.inPattern&&T.objectComprehension(e);if(t){let a=E(t[1])?t[1]:null,o={expr:a!==null?a[1]:t[1],pair:t,keyNode:a};return this.mark(e,"$self",()=>this.mark(e,"pairs",()=>this.mark(t,"$self",()=>this.mark(t,"value",()=>this.comprehension(t[2],this.ind,o)))))}let r=e.slice(1),i=this.ind,n=r.map((a)=>!this.inPattern&&T.isMethodPair(a)),s=(a)=>n[a]||n.slice(0,a).some(Boolean)?`, -`:", ";this.mark(e,"$self",()=>{this.b.emit("{"),this.mark(e,"pairs",()=>{r.forEach((a,o)=>{if(o>0)this.b.emit(s(o));if(n[o]){this.mark(a,"voidMarker",()=>this.mark(a,"$self",()=>{if(T.containsAwait(a[2][2]))this.b.emit("async ");if(T.containsYield(a[2][2]))this.b.emit("*");this.mark(a,"key",()=>this.b.emit(a[1]));let[,h,u]=a[2],m=this.ts&&this.contextuallyTyped(a[2]);this.b.emit("("),this.mark(a[2],"params",()=>this.emitParams(h,null,!m)),this.b.emit(")"),this.tsReturnAnnotation(a[2],T.containsAwait(u),a[0]==="void-pair",T.containsYield(u),a),this.b.emit(" "),this.mark(a,"value",()=>{this.methodBlock(a[2],u,i,{isConstructor:!1,binds:[],methodName:a[1],voidBody:a[0]==="void-pair"})})}));return}let l=E(a[1])&&a[1][0]==="dynamicKey";if(l&&a[0]===null)throw this.positionedError(a,"emitter: a computed key needs an explicit value ({[k]: v}) — there is no shorthand form",e);let c=E(a[1])&&a[1][0]==="str",f=a[0]===":"&&E(a[1])&&a[1][0]==="symbol";if(a[0]!=="..."&&E(a[1])&&!l&&!c&&!f)throw this.positionedError(a,"emitter: @-keys are only supported in class bodies",e);if(f){this.mark(a,"$self",()=>{this.mark(a,"key",()=>this.symbolKey(a[1])),this.b.emit(": "),this.mark(a,"value",()=>this.expr(a[2]))});return}if(a[0]===":"&&c){this.mark(a,"$self",()=>{this.b.emit("["),this.mark(a,"key",()=>this.strTemplate(a[1])),this.b.emit("]: "),this.mark(a,"value",()=>this.expr(a[2]))});return}this.mark(a,"$self",()=>{if(a[0]===":"&&l)if(this.mark(a,"key",()=>{this.mark(a[1],"$self",()=>{this.b.emit("["),this.withExpression(()=>this.operand(a[1],"key",a[1][1])),this.b.emit("]")})}),this.b.emit(": "),this.inPattern||E(a[2])&&a[2][0]==="=>")this.mark(a,"value",()=>this.expr(a[2]));else this.operand(a,"value",a[2]);else if(a[0]===":"||a[0]==="void-pair"){if(a[0]==="void-pair"){if(this.inPattern)throw this.positionedError(a,"emitter: the void marker has no meaning in a destructuring pattern — a pattern key takes no trailing '!'",e);this.registerVoidValue(a[2],a)}this.mark(a,"voidMarker",()=>{if(this.mark(a,"key",()=>this.b.emit(a[1])),this.b.emit(": "),this.inPattern||E(a[2])&&a[2][0]==="=>")this.mark(a,"value",()=>this.expr(a[2]));else this.operand(a,"value",a[2])})}else if(a[0]==="=")this.mark(a,"key",()=>this.b.emit(a[1])),this.b.emit(" = "),this.withExpression(()=>this.operand(a,"value",a[2]));else if(a[0]==="..."){if(this.inPattern&&(E(a[1])||a[1]==="this"))throw this.positionedError(a,"emitter: object rest in a destructuring pattern takes a plain name — chained-accessor rest targets are not supported",e);if(this.b.emit("..."),this.inPattern)this.mark(a,"value",()=>this.expr(a[1]));else this.operand(a,"value",a[1])}else if(typeof a[1]==="string"&&this.bareRewrite(a[1])!==null)this.mark(a,"key",()=>this.b.emit(a[1])),this.b.emit(": "),this.mark(a,"value",()=>this.expr(a[1]));else this.mark(a,"value",()=>this.mark(a,"key",()=>this.b.emit(a[1])))})})}),this.b.emit("}")})}static negativeLiteralKey(e){return E(e)&&e[0]==="-"&&e.length===2&&typeof e[1]==="string"&&/^\d+$/.test(e[1])}indexTail(e,t,r){let i=e[2],n=()=>{let s=this.deopt;this.deopt=!1,this.mark(e,"key",()=>this.expr(i)),this.deopt=s};if(!t&&Ie(i))this.mark(e,"key",()=>this.slice(i));else if(T.negativeLiteralKey(i)){if(r)throw this.positionedError(e,"emitter: a negative-literal index cannot be an assignment target (reads lower to .at(-n), and a call is not assignable)");this.b.emit(t?"?.at(":".at("),this.mark(e,"key",()=>{this.b.emit("-"),this.b.emit(i[1])}),this.b.emit(")")}else this.b.emit(t?"?.[":"["),n(),this.b.emit("]")}index(e){if(e.length===3&&typeof e[2]==="string"&&e[2][0]==="/")return this.regexIndex(e,e[1],e[2],null);this.chain(e)}optIndex(e){this.chain(e)}optCall(e){this.chain(e)}slice(e){let[t,r,i]=e;if(this.b.emit(".slice("),this.mark(e,"from",()=>r===null?this.b.emit("0"):this.expr(r)),i!==null)if(this.b.emit(", "),t==="...")this.mark(e,"to",()=>this.expr(i));else if(typeof i==="string"&&/^\d+$/.test(i))this.mark(e,"to",()=>this.b.emit(String(Number(i)+1)));else this.b.emit("+"),this.mark(e,"to",()=>this.expr(i)),this.b.emit(" + 1 || 9e9");this.b.emit(")")}range(e){let[t,r,i]=e,n=t===".."?"((s, e) => Array.from({length: Math.abs(e - s) + 1}, (_, i) => s + (i * (s <= e ? 1 : -1))))":"((s, e) => Array.from({length: Math.max(0, Math.abs(e - s))}, (_, i) => s + (i * (s <= e ? 1 : -1))))";this.mark(e,"$self",()=>{this.b.emit(n),this.b.emit("("),this.mark(e,"from",()=>this.expr(r)),this.b.emit(", "),this.mark(e,"to",()=>this.expr(i)),this.b.emit(")")})}classStatement(e,t){this.mark(e,"$self",()=>this.classCode(e,t))}classExpr(e){this.mark(e,"$self",()=>this.classCode(e,this.ind))}classCode(e,t){let[,r,i,n]=e;if(this.b.emit("class"),r!=null){if(typeof r!=="string")throw this.positionedError(e,"emitter: `class @Name` is a STATIC member class — it lives inside a class body (`static Name = class`); at the top level give the class a plain name");this.b.emit(" "),this.mark(e,"name",()=>this.b.emit(r))}if(i!=null)this.b.emit(" extends "),this.mark(e,"parent",()=>this.expr(i));if(this.b.emit(` { -`),n!=null)this.mark(e,"body",()=>this.classMembers(n,t));this.b.emit(" ".repeat(t)+"}")}classMethodForm(e){if(!E(e))return null;if(g1(e[0])&&e.length===4){let t=this.stores.alias(["->",e[2],e[3]],e);return{form:"def",pair:this.stores.alias([e[0]==="void-def"?"void-pair":":",e[1],t],e)}}if((e[0]==="get"||e[0]==="set")&&e.length===2&&O1(e[1])&&e[1].length===2){let t=e[1][1];if(E(t)&&t[0]===":"&&t.length===3&&T1(t[2]))return{form:e[0],pair:t}}return null}classMembers(e,t){let r=E(e)&&e[0]==="block"?e.slice(1):[e],i=new Map(r.map((R)=>[R,this.classMethodForm(R)])),n=(R)=>E(R)&&R[0]==="."&&R[1]==="this"?R[2]:R,s=(R)=>E(R)&&R[0]==="."&&R[1]==="this"&&R.length===3&&typeof R[2]==="string",a=" ".repeat(t+1),o=[],l=null,c=!1,f=new Set,h=null,u=null,m=[],S=(R)=>s(R)?`static ${R[2]}`:R,g=new Set,d=[];for(let R of r){let b=i.get(R)??null,_=b!==null?[b.pair]:O1(R)?R.slice(1):null;if(_===null){let y=typeof R==="string"||s(R)?R:T.isTypedWrapper(R)&&(typeof R[1]==="string"||s(R[1]))?R[1]:E(R)&&R[0]==="="&&R.length===3&&(typeof R[1]==="string"||s(R[1]))?R[1]:null;if(y!==null){if(g.add(S(y)),!s(y))f.add(y)}continue}for(let y of _){if(y[0]!==":"&&y[0]!=="void-pair")throw this.positionedError(y,"emitter: class bodies support methods and fields only",R);if(b!==null&&b.form!=="def"){let k=y[2][1].length;if(y[2][0]==="=>")throw this.positionedError(y,`emitter: a ${b.form} accessor takes '->' — accessors are looked up on the instance, never bound`,R);if(T.containsAwait(y[2][2])||T.containsYield(y[2][2]))throw this.positionedError(y,`emitter: a ${b.form} accessor cannot await or yield — JavaScript has no async or generator accessors`,R);if(b.form==="get"&&k!==0)throw this.positionedError(y,"emitter: a getter takes no parameters (`get x: -> …`)",R);if(b.form==="set"&&k!==1)throw this.positionedError(y,"emitter: a setter takes exactly one parameter (`set x: (v) -> …`)",R)}if(E(y[1])&&(y[1][0]==="dynamicKey"||y[1][0]==="[]"))throw this.positionedError(y,"emitter: computed class members are not supported yet",R);let p=n(y[1]);if(b!==null&&b.form!=="def"){if(p==="constructor")throw this.positionedError(y,`emitter: a class constructor cannot be a ${b.form} accessor`,R);d.push({pair:y,stmt:R,key:S(y[1]),form:b.form})}if(p==="constructor"&&!s(y[1])){if(c=!0,T1(y[2]))h=y[2][1],u=y[2][2]}else if(!s(y[1])&&typeof p==="string")f.add(p);if(T1(y[2])&&!s(y[1])&&p!=="constructor")m.push(y[2][2]);if(T1(y[2])&&y[2][0]==="=>"&&!s(y[1])&&p!=="constructor"){if(typeof p!=="string")throw this.positionedError(y,"emitter: a symbol-keyed method cannot be bound ('=>') — the constructor binds members by name; use '->'",R);o.push(p),l??=y}}}if(o.length>0&&!c)throw this.positionedError(l,"emitter: bound ('=>') class methods require an explicit constructor",e);for(let R of d)if(g.has(R.key))throw this.positionedError(R.pair,`emitter: field and ${R.form} accessor '${n(R.pair[1])}' share a name — the field would shadow the accessor on every instance; drop one`,R.stmt);if(this.ts&&h!==null)for(let R of h){let b=f3(R);if(b===null||f.has(b.name))continue;f.add(b.name);let _=b.typed===null?null:this.annotationText(b.typed)??(b.typed[2]===""?null:Pe(b.typed[2])),y=this.stores.idOf(e),p=y!==null?this.stores.selfSpan(y):null,k=p!==null?this.stores.primitiveSpans(b.name,p[0],p[1])[0]??null:null;this.b.tsOnly(()=>{if(this.b.emit(a),k)this.b.markSpan(y,"identifier",k.sourceStart,k.sourceEnd,()=>this.b.emit(b.name));else this.b.emit(b.name);this.b.emit(`${_?`: ${_}`:""}; -`)})}if(this.ts)for(let R of h3([u,...m])){if(f.has(R.name))continue;f.add(R.name);let _=R.nodes.map((y)=>this.annotationText(y)).find((y)=>y!=null)??null??(R.viaArrow?"any":null);this.b.tsOnly(()=>this.b.emit(`${a}${R.name}${_?`: ${_}`:""}; +`)})})}renderTransition(e,t,r,i){let n=this.rstate,s=n.transitionSlot;if(s===null||s.record!==n.sink||s.el!==e){let o=n.sink.kind==="class"?"a static element)":n.sink.kind==="loop"?"a loop body — the reconciler has no enter/leave phase for rows":"a nested position — the swap animates the branch's FIRST node, so a deeper directive would animate an "+"element it does not name";throw this.positionedError(t,`emitter: a transition (\`~name\`) runs where a conditional branch enters or leaves, and this directive sits on ${o}; put it on the FIRST top-level element of an if/else branch`,this.rstate.node)}if(typeof r!=="string"||!(r.startsWith('"')||r.startsWith("'")))throw this.positionedError(t,"emitter: a transition takes a literal name (`~fade`) — computed transition names have no reading",this.rstate.node);let a=r.replace(/^["']|["']$/g,"");this.renderLine(t,()=>{if(this.ts)this.b.tsOnly(()=>this.b.emit("("));if(this.b.emit("this"),this.ts)this.b.tsOnly(()=>this.b.emit(" as any)"));this.b.emit(`._t = "${a}"`)})}renderRef(e,t,r,i,n){let s=typeof r==="string"&&st.test(r)?r:null;if(s===null)throw this.positionedError(t,"emitter: ref: expects a state cell — declare `el := null` then write `ref: el`",this.rstate.node);let a=this.rstate.frame.members.get(s);if(a!=="state"&&a!=="prop")throw this.positionedError(t,a!==void 0?`emitter: ref: target '${s}' is not a writable state cell — declare it with ':=' (computed '~=' and `+"readonly '=!' members can't hold a ref)":`emitter: ref: target '${s}' must be a state cell declared with ':=' (e.g. \`${s} := null\`)`,this.rstate.node);let o=this.renderTagOf(e),l=this.ts&&o!==null&&/^[a-z][a-z0-9-]*$/.test(o),c=this.rstate.svgEls?.has(e)===!0;if(l){this._needsRefCellHelper=!0;let f=this.wordSpanIn("ref",t);if(f!==null)this.intrinsics.push({start:f[0],end:f[1],kind:"ref",tag:o,svg:c,name:s})}if(this.rstate.sink.kind==="class")this.renderLine(t,()=>{if(l)this.b.tsOnly(()=>this.b.emit(`${c?"__ripRefCellSvg":"__ripRefCell"}('${o}', `));let f=this.b.offset;this.b.emit("this.");let h=this.emitPrimitive(s);if(h!==null)this.memberDecls.push({start:h[0],end:h[1]});if(l)n([f,this.b.offset]);if(l)this.b.tsOnly(()=>this.b.emit(")"));if(this.b.emit(`.value = ${e}`),l)this.b.tsOnly(()=>this.b.emit(` as ${Oe(o,c)} | null`))}),this.renderLine(t,()=>{this.b.emit(`(this._refCleanups ??= []).push(() => ${this.runtimeName("__detachRef")}(this.`),this.emitPrimitive(s),this.b.emit(`, ${e}))`)});else this.rstate.sink.refs.push({name:s,elVar:e,node:t,tag:l?o:null,svg:c,site:n})}renderBind(e,t,r,i,n,s){if(this.checkBindTarget(t,i),this.rstate.sink.kind==="loop"&&this.loopVarNames().size>0&&Ie(i,this.loopVarNames()))this.rstate.sink.forceNonStatic=!0;let a=null;for(let u of n.slice(1))if(E(u)&&u.length===3&&(u[1]==="type"||u[1]==='"type"')&&typeof u[2]==="string")a=u[2].replace(/^["']|["']$/g,"");let o,l;if(r==="checked")o="change",l="target.checked";else o="input",l=a==="number"||a==="range"?"target.valueAsNumber":"target.value";this.renderEffect(t,()=>{this.b.emit(`${e}.`);let u=this.emitRewrittenPrimitive(`__bind_${r}__`,r);this.b.emit(" = ");let d=this.tsServedValue("__bind",()=>this.withExpression(()=>this.expr(i)));if(d!==null&&u!==null)this.intrinsics.push({start:u[0],end:u[1],kind:"bind",name:r,gen:d});this.b.emit(";")},i);let c=this.bindRootTouch(i),f=new Set;T.collectLeafNames(i,f);let h=T.mintName("e",f);this.renderLine(t,()=>{this.b.emit(`${e}.addEventListener('${o}', (${h}`);let u=this.tsElReceiver(e),d=this.ts?this.tsEventTypeText([o],u.hostText):null;if(d!==null)this.b.tsOnly(()=>this.b.emit(`: ${d}`));else this.tsScaffoldAny();this.b.emit(") => { ");let S=this.b.offset;if(this.withExpression(()=>this.expr(i)),s([S,this.b.offset]),this.b.emit(` = ${h}.${l};`),c!==null)this.b.emit(" "),c(),this.b.emit(".touch?.();");this.b.emit(" })")})}checkBindTarget(e,t){let r=(s)=>{throw this.positionedError(e,s,this.rstate.node)};if(typeof t==="string"){if(!st.test(t))r("emitter: a two-way binding (`<=>`) needs an assignable target — a literal cannot receive the input");let s=this.renderVarKind(t,e);if(s!==null)r(`emitter: a two-way binding cannot target a ${s==="local"?"render local":"loop variable"} — `+"the write would land on a factory parameter and reach nothing; bind a state member or a chain into row data");let a=this.resolveBareRead(t);if(a==="member-reactive"&&this.rstate.frame.members.get(t)==="computed")r(`emitter: '<=>' targets '${t}', a computed ('~=') member — a derived value has no writable `+"container (its .value is get-only); bind the state it derives from");if(a==="reactive"||a==="member-reactive")return;if(a==="member")r(`emitter: '<=>' targets '${t}', a plain (\`=\`) member — writes would never notify and the display `+"would never update; declare it with ':='");r(`emitter: '<=>' targets '${t}', which is not declared — declare a state member (\`${t} := ""\`) to bind it`)}if(E(t)&&t[0]==="."&&t[1]==="this"&&t.length===3&&typeof t[2]==="string"){if(this.memberIsReactive(t[2])&&this.rstate.frame.members.get(t[2])==="computed")r(`emitter: '<=>' targets '@${t[2]}', a computed ('~=') member — a derived value has no writable `+"container; bind the state it derives from");if(this.memberIsReactive(t[2]))return;if(this.rstate.frame.members.has(t[2]))r(`emitter: '<=>' targets '@${t[2]}', a non-reactive member — writes would never notify`+"); declare it with ':='");r(`emitter: '<=>' targets '@${t[2]}', which is not a declared member`)}if(E(t)&&T.optionalGuard(t)!==null)r("emitter: a two-way binding target cannot carry optional links — the write form would be invalid JS");let i=t,n=!1;while(E(i)&&(i[0]==="."||i[0]==="[]")&&i.length===3)n=!0,i=i[1];if(n)return;r("emitter: a two-way binding (`<=>`) needs an assignable target — a state member or a member/index chain "+"")}bindRootTouch(e){if(typeof e==="string")return null;if(E(e)&&e[0]==="."&&e[1]==="this"&&e.length===3)return null;let t=e;while(E(t)&&(t[0]==="."||t[0]==="[]")&&t.length===3){if(t[0]==="."&&t[1]==="this"&&typeof t[2]==="string"){let r=t[2];if(this.memberIsReactive(r))return()=>this.b.emit(`${this.renderSelf??"this"}.${r}`);return null}t=t[1]}if(typeof t==="string"){if(this.renderVarKind(t)!==null)return null;let r=this.resolveBareRead(t);if(r==="member-reactive"){let i=t;return()=>this.b.emit(`${this.renderSelf??"this"}.${i}`)}if(r==="reactive"){let i=t;return()=>this.b.emit(i)}}return null}checkUserSpelledBind(e){let t=E(e)?this.stores.idOf(e):null,r=t!==null?this.stores.role(t,"key"):null;if(!r||r.sourceStart==null||this.b.source===null)return;if(this.b.source.slice(r.sourceStart,r.sourceEnd).startsWith("__bind_"))throw this.positionedError(e,"emitter: '__bind_…__:' is the compiler's two-way-binding channel — spell the binding `name <=> container` "+"(`__`-prefixed names are the compiler/runtime namespace)",this.rstate.node)}checkBareEventHandler(e,t){if(!E(t)||t[0]!=="."||t[1]!=="this"||typeof t[2]!=="string")return;let r=this.stores.idOf(t),i=r!==null?this.stores.selfSpan(r):null;if(i===null||i[0]!==i[1])return;let n=e[1],s=typeof n[2]==="string"?n[2]:String(n[2]);if(!Mt.has(s))throw this.positionedError(e,`emitter: \`@${s}\` is not a DOM event — use \`= @${s}\` to render text, or \`@${s}: handler\` for an explicit handler`);if(s==="error")throw this.positionedError(e,"emitter: bare `@error` is ambiguous with the onError lifecycle hook — write `@error: handler` to bind a DOM error listener explicitly");let a=t[2];if(!this.cframes[this.cframes.length-1].members.has(a))throw this.positionedError(e,`emitter: bare \`@${s}\` requires a component method \`${a}\` — define \`${a}\`, or use \`@${s}: handler\` for an explicit handler`)}static collectTemplateClasses(e){let t=[],r,i=e;while(E(i)&&i[0]==="."&&i.length===3){if(typeof i[2]!=="string")return{tag:null,classes:t,id:r};t.unshift(i[2]),i=i[1]}if(typeof i!=="string")return{tag:null,classes:t,id:r};let[n,s]=i.split("#");if(s)r=s;for(let a=0;a=0)r=t[a].slice(o+1),t[a]=t[a].slice(0,o)}return{tag:n||"div",classes:t.filter((a)=>a!==""),id:r}}static templateHeadTag(e){if(!E(e))return null;let t=e[0];if(typeof t==="string"){if(t===".")return T.collectTemplateClasses(e).tag;return t.length>0?t.split("#")[0]||"div":null}if(!E(t))return null;if(E(t[0])&&t[0][0]==="."&&t[0][2]==="__clsx"){let r=t[0][1];if(typeof r==="string")return r.split("#")[0]||"div";return T.collectTemplateClasses(r).tag}return T.collectTemplateClasses(t).tag}static returnGuard(e){return E(e)&&(e[0]==="||"||e[0]==="&&"||e[0]==="??")&&e.length===3&&E(e[2])&&e[2][0]==="return"}static stmtGuard(e){return E(e)&&(e[0]==="||"||e[0]==="&&"||e[0]==="??")&&e.length===3&&(e[2]==="continue"||e[2]==="break"||e[2]==="debugger")}static controlGuard(e){return T.returnGuard(e)||T.throwGuard(e)||T.stmtGuard(e)}static throwGuard(e){return E(e)&&(e[0]==="||"||e[0]==="&&"||e[0]==="??")&&e.length===3&&E(e[2])&&e[2][0]==="throw"&&e[2].length===2}static isStrRepeat(e){return E(e)&&e[0]==="*"&&e.length===3&&typeof e[1]==="string"&&e[1][0]==='"'}static leadsWithObject(e){let t=e;for(;;){if(!E(t))return!1;if(O1(t))return!0;if(at(t)||zs(t)||ot(t)){t=t[1];continue}let r=T.chainHeadSlot(t);if(r!==null){t=t[r];continue}return!1}}static chainHeadSlot(e){if((e[0]==="."||e[0]==="?."||e[0]==="[]"||e[0]==="optindex")&&e.length===3)return 1;if(e[0]==="optcall")return 1;return T.chainHeadSlotRest(e)}chainHeadSlotOf(e){if((e[0]==="."||e[0]==="?."||e[0]==="[]")&&e.length===3)return 1;if(e[0]==="optindex"&&e.length===3&&this.lockedHead(e,"optindex"))return 1;if(e[0]==="optcall"&&this.lockedHead(e,"optcall"))return 1;return T.chainHeadSlotRest(e)}static chainHeadSlotRest(e){if(E(e[0])&&e[0][0]!=="dammit!"&&!(e[0][0]==="."&&e[0].length===3&&e[0][2]==="new"))return 0;return null}static isChainNode(e){return E(e)&&T.chainHeadSlot(e)!==null}isChainNodeOf(e){return E(e)&&this.chainHeadSlotOf(e)!==null}chain(e){this.noteProvidedRead(e);let t=[e];while(!0){let i=t[t.length-1],n=i[this.chainHeadSlotOf(i)];if(!this.isChainNodeOf(n))break;t.push(n)}let r=[];for(let i=0;i=0;i--){let n=t[i],s=n[0],a=r[i];if(this.endMark(a.role),a.kind==="member"){this.inTarget=a.savedTarget;let o=this.deopt&&s==="?."?".":s;if(typeof n[2]==="string"&&n[2][0]==='"')this.mark(n,"operator",()=>this.b.emit(s==="?."&&!this.deopt?"?.":"")),this.mark(n,"property",()=>this.b.emit(`[${n[2]}]`));else this.mark(n,"operator",()=>this.b.emit(o)),this.mark(n,"property",()=>{let l=this.b.offset;if(this.stores.idOf(n)===null)this.emitPrimitive(n[2]);else this.b.emit(n[2]);if(this.ts&&this.appStashSpec!==null&&typeof n[2]==="string"&&T.isThisMember(n[1],"stash")&&!(this.cframes.length&&this.cframes[this.cframes.length-1].members.has("stash")))this.stashMemberSpans.push([l,this.b.offset]);if(this.ts&&n[1]==="this"&&typeof n[2]==="string"){let f=this.cframes[this.cframes.length-1]?.memberKinds?.get(n[2])??null,h=this.stores.idOf(n)??null,u=h!==null?this.stores.role(h,"property"):null;if(f!==null&&u&&typeof u.sourceStart==="number")this.kinds.push({start:u.sourceStart,end:u.sourceEnd,label:f.label,name:n[2],optional:f.optional})}});if(n[1]==="this"&&typeof n[2]==="string"&&this.memberIsReactive(n[2])){if(this.ts){let l=this.stores.idOf(n)??null,c=l!==null?this.stores.role(l,"property"):null;if(c&&typeof c.sourceStart==="number")this.memberDecls.push({start:c.sourceStart,end:c.sourceEnd})}this.b.emit(".value")}}else if(a.kind==="index")this.indexTail(n,a.opt,a.isWrite),this.inTarget=a.savedTarget;else if(a.kind==="optcall")this.b.emit("?."),this.mark(n,"args",()=>{this.b.emit("("),n.slice(2).forEach((o,l)=>{if(l>0)this.b.emit(", ");this.expr(o)}),this.b.emit(")")});else{let o=this.sourceKeyArgOf(n);if(o!==null)(this._sourceKeyArgs??=new Set).add(o),this._needsSourceKeyHelper=!0;let l=this.routerArgOf(n);if(l!==null){if((this._routerArgs??=new Map).set(l.arg,l.wrap),l.wrap)this._needsRouteHelper=!0}this.mark(n,"args",()=>{this.b.emit("("),n.slice(1).forEach((c,f)=>{if(f>0)this.b.emit(", ");this.callArg(c)}),this.b.emit(")")})}this.endMark(a.self)}}member(e){if(e[0]==="."&&e[1]==="this"&&typeof e[2]==="string"&&!this.inTarget)this.notePlainRenderRead(e[2],!0);this.chain(e)}noteProvidedRead(e){if(!this.ts||!(this.cframes?.length>0))return;let t=e;while(E(t)){let s=this.chainHeadSlotOf(t);if(s===null||!E(t[s]))break;t=t[s]}if(!E(t)||t[0]!=="."||t[1]!=="this"||t[2]!=="stash"&&t[2]!=="router")return;if(this.cframes[this.cframes.length-1].members?.has(t[2]))return;let r=this.stores.idOf(t),i=r!==null?this.stores.selfSpan(r):null,n=i!==null?this.stores.primitiveSpans(t[2],i[0],i[1])[0]??null:null;if(n&&!this.kinds.some((s)=>s.start===n.sourceStart&&s.label===t[2]))this.kinds.push({start:n.sourceStart,end:n.sourceEnd,label:t[2],name:t[2],optional:!1})}pick(e,t=!1){let[r,i,...n]=e;if(this.inPattern||this.inTarget)throw this.positionedError(e,"emitter: a pick expression is not an assignment target — it lowers to a fresh object literal (`({…}) = value` would be invalid JS)");let s=r==="?.{}",a=typeof i==="string"&&(i==="this"||/^[A-Za-z_$][\w$]*$/.test(i));if(!a)for(let l of n){if(l[2]!==null&&T.containsAwait(l[2]))throw this.positionedError(l,"emitter: a pick default cannot await when the source needs single evaluation — the lowering's '(_) =>' arrow is not async; bind the source first",e);if(l[2]!==null&&T.containsYield(l[2]))throw this.positionedError(l,"emitter: a pick default cannot yield when the source needs single evaluation — yield cannot cross the lowering's '(_) =>' arrow; bind the source first",e)}let o=(l)=>this.mark(e,"items",()=>{n.forEach((c,f)=>{if(f>0)this.b.emit(", ");let[h,u,d]=c;this.mark(c,"$self",()=>{if(this.mark(c,"target",()=>this.b.emit(T.ownKeyText(u,u))),this.b.emit(": "),d!==null)this.b.emit("(");if(l(),this.b.emit("."),this.mark(c,"key",()=>this.b.emit(h)),d!==null)this.b.emit(" ?? "),this.withExpression(()=>this.operand(c,"default",d)),this.b.emit(")")})})});this.mark(e,"$self",()=>{if(a&&!s)this.b.emit(t?"{":"({"),o(()=>this.mark(e,"source",()=>this.expr(i))),this.b.emit(t?"}":"})");else if(a){if(!t)this.b.emit("(");this.mark(e,"source",()=>this.expr(i)),this.b.emit(" == null ? undefined : {"),o(()=>this.mark(e,"source",()=>this.expr(i))),this.b.emit(t?"}":"})")}else{let l=this.loopTempName("_");this.b.emit(s?`((${l}) => ${l} == null ? undefined : ({`:`((${l}) => ({`),o(()=>this.b.emit(l)),this.b.emit("}))("),this.withExpression(()=>this.grouped(e,"source",i,T.needsGrouping(i,"operand"))),this.b.emit(")")}})}callArg(e){if(this._sourceKeyArgs?.has(e)){this._sourceKeyArgs.delete(e),this.b.tsOnly(()=>this.b.emit("__ripSourceKey("));let r=this.b.offset;this.expr(e),this.sourceKeySpans.push([r,this.b.offset]),this.b.tsOnly(()=>this.b.emit(")"));return}let t=this._routerArgs?.get(e);if(t!==void 0){if(this._routerArgs.delete(e),t)this.b.tsOnly(()=>this.b.emit("__ripRoute("));let r=this.b.offset;if(this.expr(e),this.routeWrapSpans.push({key:null,value:[r,this.b.offset]}),t)this.b.tsOnly(()=>this.b.emit(")"));return}if(E(e)&&(e[0]===".{}"||e[0]==="?.{}")&&e.length>=3)return this.pick(e,!0);this.expr(e)}sourceKeyArgOf(e){if(!this.ts||this.appStashSpec===null)return null;let t=e[1];if(typeof t!=="string"||!/^["']/.test(t))return null;let r=e[0];if(!E(r)||r.length!==3||r[2]!=="source")return null;let i=r[1];if(r[0]==="."&&T.isThisMember(i,"stash")){if(this.cframes.length&&this.cframes[this.cframes.length-1].members.has("stash"))return null;return t}if((r[0]==="."||r[0]==="?.")&&this.isAccessorCall(i,this.appAccessors.stash))return t;return null}static isThisMember(e,t){return E(e)&&e[0]==="."&&e.length===3&&e[1]==="this"&&e[2]===t}static stashKeysOf(e,t){let r=null;for(let s of e.slice(1)){let a=E(s)&&s[0]==="export"?s[1]:s;if(E(a)&&a[0]==="="&&a[1]===t){r=a[2];break}}if(E(r)&&r.length===2&&typeof r[0]==="string"&&E(r[1])&&r[1][0]==="object")r=r[1];if(!E(r)||r[0]!=="object")return null;let i=[],n=!0;for(let s of r.slice(1)){if(!E(s))continue;if(s[0]==="..."){n=!1;continue}let a=s[0]===":"?s[1]:s[0]===null?s[1]:null;if(typeof a!=="string"){n=!1;continue}i.push(/^["']/.test(a)?a.slice(1,-1):a)}return{keys:i,complete:n}}routerArgOf(e){if(!this.ts||this.routesUnion===null)return null;let t=e[1];if(typeof t!=="string"||!/^["']/.test(t))return null;let r=e[0];if(!E(r)||r.length!==3||r[2]!=="push"&&r[2]!=="replace")return null;let i=r[1];if(r[0]==="."&&T.isThisMember(i,"router")){if(this.cframes.length&&this.cframes[this.cframes.length-1].members.has("router"))return null;return{arg:t,method:r[2],wrap:!1}}if((r[0]==="."||r[0]==="?.")&&this.isAccessorCall(i,this.appAccessors.router))return{arg:t,method:r[2],wrap:!0};return null}binary(e){if(T.returnGuard(e))throw this.positionedError(e[2],"emitter: a return guard is a statement — in value position the 'return' would lose its function target (bind the value first, or use `or throw`)");if(T.stmtGuard(e))throw this.positionedError(e[2],`emitter: a ${e[2]} guard is a statement`);if(e[0]==="&&"||e[0]==="||")return this.logicalChain(e);if(T.isStrRepeat(e)){this.mark(e,"$self",()=>{this.mark(e,"left",()=>this.b.emit(e[1])),this.b.emit(".repeat("),this.mark(e,"right",()=>this.expr(e[2])),this.b.emit(")")});return}if(ot(e))return this.comparisonChain(e);let t=(o)=>at(o)&&o[0]!=="&&"&&o[0]!=="||"&&!ot(o)&&!T.isStrRepeat(o),r=[e];while(t(r[r.length-1][1]))r.push(r[r.length-1][1]);let i=[];for(let o=0;o=0;o--){let l=r[o];if(this.b.emit(" "),this.mark(l,"operator",()=>this.b.emit(kn[l[0]]??l[0])),this.b.emit(" "),this.operand(l,"right",l[2]),this.endMark(i[o].self),o>0)this.endMark(i[o-1].left),this.b.emit(")")}}logicalChain(e){let t=e[0],r=(a)=>at(a)&&a[0]===t,i=[e];while(r(i[i.length-1][1]))i.push(i[i.length-1][1]);let n=[];for(let a=0;a=0;a--){let o=i[a];if(this.b.emit(" "),this.mark(o,"operator",()=>this.b.emit(t)),this.b.emit(" "),r(o[2]))this.grouped(o,"right",o[2],!1);else this.operand(o,"right",o[2]);if(this.endMark(n[a].self),a>0)this.endMark(n[a-1].left)}}comparisonChain(e){let t=[e];while(ot(t[t.length-1]))t.push(t[t.length-1][1]);t.reverse();let r=[];for(let s=t.length-1;s>=1;s--){let a=t[s],o=this.beginMark(a,"$self");this.b.emit("("),r[s]={self:o,left:this.beginMark(a,"left")}}let i=t[0],n=this.beginMark(i,"$self");this.operand(i,"left",i[1]),this.b.emit(" "),this.mark(i,"operator",()=>this.b.emit(kn[i[0]]??i[0])),this.b.emit(" "),this.chainRight(i,t[1]),this.endMark(n);for(let s=1;sthis.b.emit(kn[a[0]]??a[0])),this.b.emit(" "),this.chainRight(a,t[s+1]),this.b.emit(")"),this.endMark(r[s].self)}}chainRight(e,t){let r=e[2];if(t!==void 0&&E(r)){let i=this.temps.byNode.get(t);if(i===void 0)throw this.positionedError(r,"emitter: a chained comparison here cannot cache its middle operand for single evaluation "+"(no enclosing scope hoist) — bind the middle operand to a variable first ",e);this.b.emit("("),this.mark(e,"right",()=>{this.b.emit(`${i} = `),this.expr(r)}),this.b.emit(")");return}this.operand(e,"right",r)}chainMid(e,t){let r=this.temps.byNode.get(t);if(r!==void 0){this.mark(e,"right",()=>this.b.emit(r));return}this.operand(e,"right",e[2])}cast(e){if(!this.ts){this.mark(e,"$self",()=>this.mark(e,"annotation",()=>this.mark(e,"value",()=>this.expr(e[1]))));return}let t=this.stores.idOf(e),r=t===null?null:this.stores.role(t,"annotation"),i=r&&r.sourceStart!=null&&this.b.source!==null?this.b.source.slice(r.sourceStart,r.sourceEnd):`as ${Ce(e[2])}`;this.mark(e,"$self",()=>{this.b.tsOnly(()=>this.b.emit("("));let n=T.jsTier(e[1])!=="primary";if(n)this.b.tsOnly(()=>this.b.emit("("));if(this.mark(e,"value",()=>this.expr(e[1])),n)this.b.tsOnly(()=>this.b.emit(")"));this.b.tsOnly(()=>{this.b.emit(" "),this.mark(e,"annotation",()=>this.emitTypeText(e,"annotation",i))}),this.b.tsOnly(()=>this.b.emit(")"))})}existence(e){this.mark(e,"$self",()=>{this.operand(e,"value",e[1]),this.b.emit(" != null")})}presence(e){this.mark(e,"$self",()=>{this.operand(e,"value",e[1]),this.b.emit(" ? true : undefined")})}unary(e){if(e[0]==="delete"&&typeof e[1]==="string"&&this.isReactiveName(e[1]))throw this.positionedError(e,`emitter: cannot delete the reactive variable '${e[1]}' — \`delete ${e[1]}.value\` would remove the container's accessor and silently kill the reactive`);if(e[0]==="delete"&&!(E(e[1])&&(e[1][0]==="."||e[1][0]==="[]")))throw this.positionedError(e,"emitter: delete requires a property reference (delete obj.a / delete obj[k]) — deleting a plain binding is a strict-mode SyntaxError in modules");this.mark(e,"$self",()=>{if(this.mark(e,"operator",()=>this.b.emit(e[0])),/^[a-z]/.test(e[0]))this.b.emit(" ");this.operand(e,"operand",e[1])})}spread(e){this.mark(e,"$self",()=>{if(this.b.emit("..."),this.inPattern)this.mark(e,"value",()=>this.expr(e[1]));else this.operand(e,"value",e[1])})}array(e){this.mark(e,"$self",()=>{this.b.emit("["),this.mark(e,"items",()=>{let t=e.slice(1);t.forEach((r,i)=>{if(i>0)this.b.emit(", ");if(r===","){if(i===t.length-1)this.b.emit(",");return}if(E(r)&&r[0]==="rest"&&this.inPattern){if(!this.bindingPattern)throw this.positionedError(r,"emitter: Cannot use 'rest' expression as a destructuring target (destructuring rest is spelled '...name')",e);if(r.length!==2||i!==t.length-1)throw this.positionedError(r,"emitter: a `rest` element takes the pattern's tail alone",e);if(typeof r[1]!=="string")throw this.positionedError(r,"emitter: a `rest` element takes a plain name",e);this.b.emit("..."),this.b.emit(r[1]);return}let n=!this.inPattern&&!(E(r)&&r[0]==="...")&&T.needsGrouping(r,"operand");if(n)this.b.emit("(");if(this.expr(r),n)this.b.emit(")")})}),this.b.emit("]")})}symbolKey(e){this.b.emit("["),this.expr(e),this.b.emit("]")}static isMethodPair(e){return E(e)&&(e[0]===":"||e[0]==="void-pair")&&typeof e[1]==="string"&&/^[A-Za-z_$][\w$]*$/.test(e[1])&&E(e[2])&&e[2][0]==="->"}object(e){for(let a of e.slice(1)){if(E(a)&&a[0]===":"&&typeof a[1]==="string"&&a[1][0]==="/")throw this.positionedError(a,"emitter: a regex key needs a MAP literal (`*{ /re/: v }`) — object property names are strings");if(!this.inPattern&&!this.tolerant&&E(a)&&a[0]==="="&&a.length===3)throw this.positionedError(a,"emitter: `a = 1` inside an object literal is a destructuring default, which only a pattern can carry — spell the pair `a: 1`",e)}let t=!this.inPattern&&T.objectComprehension(e);if(t){let a=E(t[1])?t[1]:null,o={expr:a!==null?a[1]:t[1],pair:t,keyNode:a};return this.mark(e,"$self",()=>this.mark(e,"pairs",()=>this.mark(t,"$self",()=>this.mark(t,"value",()=>this.comprehension(t[2],this.ind,o)))))}let r=e.slice(1),i=this.ind,n=r.map((a)=>!this.inPattern&&T.isMethodPair(a)),s=(a)=>n[a]||n.slice(0,a).some(Boolean)?`, +`:", ";this.mark(e,"$self",()=>{this.b.emit("{"),this.mark(e,"pairs",()=>{r.forEach((a,o)=>{if(o>0)this.b.emit(s(o));if(n[o]){this.mark(a,"voidMarker",()=>this.mark(a,"$self",()=>{if(T.containsAwait(a[2][2]))this.b.emit("async ");if(T.containsYield(a[2][2]))this.b.emit("*");this.mark(a,"key",()=>this.b.emit(a[1]));let[,h,u]=a[2],d=this.ts&&this.contextuallyTyped(a[2]);this.b.emit("("),this.mark(a[2],"params",()=>this.emitParams(h,null,!d)),this.b.emit(")"),this.tsReturnAnnotation(a[2],T.containsAwait(u),a[0]==="void-pair",T.containsYield(u),a),this.b.emit(" "),this.mark(a,"value",()=>{this.methodBlock(a[2],u,i,{isConstructor:!1,binds:[],methodName:a[1],voidBody:a[0]==="void-pair"})})}));return}let l=E(a[1])&&a[1][0]==="dynamicKey";if(l&&a[0]===null)throw this.positionedError(a,"emitter: a computed key needs an explicit value ({[k]: v}) — there is no shorthand form",e);let c=E(a[1])&&a[1][0]==="str",f=a[0]===":"&&E(a[1])&&a[1][0]==="symbol";if(a[0]!=="..."&&E(a[1])&&!l&&!c&&!f)throw this.positionedError(a,"emitter: @-keys are only supported in class bodies",e);if(f){this.mark(a,"$self",()=>{this.mark(a,"key",()=>this.symbolKey(a[1])),this.b.emit(": "),this.mark(a,"value",()=>this.expr(a[2]))});return}if(a[0]===":"&&c){this.mark(a,"$self",()=>{this.b.emit("["),this.mark(a,"key",()=>this.strTemplate(a[1])),this.b.emit("]: "),this.mark(a,"value",()=>this.expr(a[2]))});return}this.mark(a,"$self",()=>{if(a[0]===":"&&l)if(this.mark(a,"key",()=>{this.mark(a[1],"$self",()=>{this.b.emit("["),this.withExpression(()=>this.operand(a[1],"key",a[1][1])),this.b.emit("]")})}),this.b.emit(": "),this.inPattern||E(a[2])&&a[2][0]==="=>")this.mark(a,"value",()=>this.expr(a[2]));else this.operand(a,"value",a[2]);else if(a[0]===":"||a[0]==="void-pair"){if(a[0]==="void-pair"){if(this.inPattern)throw this.positionedError(a,"emitter: the void marker has no meaning in a destructuring pattern — a pattern key takes no trailing '!'",e);this.registerVoidValue(a[2],a)}this.mark(a,"voidMarker",()=>{if(this.mark(a,"key",()=>this.b.emit(a[1])),this.b.emit(": "),this.inPattern||E(a[2])&&a[2][0]==="=>")this.mark(a,"value",()=>this.expr(a[2]));else this.operand(a,"value",a[2])})}else if(a[0]==="=")this.mark(a,"key",()=>this.b.emit(a[1])),this.b.emit(" = "),this.withExpression(()=>this.operand(a,"value",a[2]));else if(a[0]==="..."){if(this.inPattern&&(E(a[1])||a[1]==="this"))throw this.positionedError(a,"emitter: object rest in a destructuring pattern takes a plain name — chained-accessor rest targets are not supported",e);if(this.b.emit("..."),this.inPattern)this.mark(a,"value",()=>this.expr(a[1]));else this.operand(a,"value",a[1])}else if(typeof a[1]==="string"&&this.bareRewrite(a[1])!==null)this.mark(a,"key",()=>this.b.emit(a[1])),this.b.emit(": "),this.mark(a,"value",()=>this.expr(a[1]));else this.mark(a,"value",()=>this.mark(a,"key",()=>this.b.emit(a[1])))})})}),this.b.emit("}")})}static negativeLiteralKey(e){return E(e)&&e[0]==="-"&&e.length===2&&typeof e[1]==="string"&&/^\d+$/.test(e[1])}indexTail(e,t,r){let i=e[2],n=()=>{let s=this.deopt;this.deopt=!1,this.mark(e,"key",()=>this.expr(i)),this.deopt=s};if(!t&&Me(i))this.mark(e,"key",()=>this.slice(i));else if(T.negativeLiteralKey(i)){if(r)throw this.positionedError(e,"emitter: a negative-literal index cannot be an assignment target (reads lower to .at(-n), and a call is not assignable)");this.b.emit(t?"?.at(":".at("),this.mark(e,"key",()=>{this.b.emit("-"),this.b.emit(i[1])}),this.b.emit(")")}else this.b.emit(t?"?.[":"["),n(),this.b.emit("]")}index(e){if(e.length===3&&typeof e[2]==="string"&&e[2][0]==="/")return this.regexIndex(e,e[1],e[2],null);this.chain(e)}optIndex(e){this.chain(e)}optCall(e){this.chain(e)}slice(e){let[t,r,i]=e;if(this.b.emit(".slice("),this.mark(e,"from",()=>r===null?this.b.emit("0"):this.expr(r)),i!==null)if(this.b.emit(", "),t==="...")this.mark(e,"to",()=>this.expr(i));else if(typeof i==="string"&&/^\d+$/.test(i))this.mark(e,"to",()=>this.b.emit(String(Number(i)+1)));else this.b.emit("+"),this.mark(e,"to",()=>this.expr(i)),this.b.emit(" + 1 || 9e9");this.b.emit(")")}range(e){let[t,r,i]=e,n=t===".."?"((s, e) => Array.from({length: Math.abs(e - s) + 1}, (_, i) => s + (i * (s <= e ? 1 : -1))))":"((s, e) => Array.from({length: Math.max(0, Math.abs(e - s))}, (_, i) => s + (i * (s <= e ? 1 : -1))))";this.mark(e,"$self",()=>{this.b.emit(n),this.b.emit("("),this.mark(e,"from",()=>this.expr(r)),this.b.emit(", "),this.mark(e,"to",()=>this.expr(i)),this.b.emit(")")})}classStatement(e,t){this.mark(e,"$self",()=>this.classCode(e,t))}classExpr(e){this.mark(e,"$self",()=>this.classCode(e,this.ind))}classCode(e,t){let[,r,i,n]=e;if(this.b.emit("class"),r!=null){if(typeof r!=="string")throw this.positionedError(e,"emitter: `class @Name` is a STATIC member class — it lives inside a class body (`static Name = class`); at the top level give the class a plain name");this.b.emit(" "),this.mark(e,"name",()=>this.b.emit(r))}if(i!=null)this.b.emit(" extends "),this.mark(e,"parent",()=>this.expr(i));if(this.b.emit(` { +`),n!=null)this.mark(e,"body",()=>this.classMembers(n,t));this.b.emit(" ".repeat(t)+"}")}classMethodForm(e){if(!E(e))return null;if(g1(e[0])&&e.length===4){let t=this.stores.alias(["->",e[2],e[3]],e);return{form:"def",pair:this.stores.alias([e[0]==="void-def"?"void-pair":":",e[1],t],e)}}if((e[0]==="get"||e[0]==="set")&&e.length===2&&O1(e[1])&&e[1].length===2){let t=e[1][1];if(E(t)&&t[0]===":"&&t.length===3&&T1(t[2]))return{form:e[0],pair:t}}return null}classMembers(e,t){let r=E(e)&&e[0]==="block"?e.slice(1):[e],i=new Map(r.map((R)=>[R,this.classMethodForm(R)])),n=(R)=>E(R)&&R[0]==="."&&R[1]==="this"?R[2]:R,s=(R)=>E(R)&&R[0]==="."&&R[1]==="this"&&R.length===3&&typeof R[2]==="string",a=" ".repeat(t+1),o=[],l=null,c=!1,f=new Set,h=null,u=null,d=[],S=(R)=>s(R)?`static ${R[2]}`:R,g=new Set,p=[];for(let R of r){let b=i.get(R)??null,_=b!==null?[b.pair]:O1(R)?R.slice(1):null;if(_===null){let y=typeof R==="string"||s(R)?R:T.isTypedWrapper(R)&&(typeof R[1]==="string"||s(R[1]))?R[1]:E(R)&&R[0]==="="&&R.length===3&&(typeof R[1]==="string"||s(R[1]))?R[1]:null;if(y!==null){if(g.add(S(y)),!s(y))f.add(y)}continue}for(let y of _){if(y[0]!==":"&&y[0]!=="void-pair")throw this.positionedError(y,"emitter: class bodies support methods and fields only",R);if(b!==null&&b.form!=="def"){let k=y[2][1].length;if(y[2][0]==="=>")throw this.positionedError(y,`emitter: a ${b.form} accessor takes '->' — accessors are looked up on the instance, never bound`,R);if(T.containsAwait(y[2][2])||T.containsYield(y[2][2]))throw this.positionedError(y,`emitter: a ${b.form} accessor cannot await or yield — JavaScript has no async or generator accessors`,R);if(b.form==="get"&&k!==0)throw this.positionedError(y,"emitter: a getter takes no parameters (`get x: -> …`)",R);if(b.form==="set"&&k!==1)throw this.positionedError(y,"emitter: a setter takes exactly one parameter (`set x: (v) -> …`)",R)}if(E(y[1])&&(y[1][0]==="dynamicKey"||y[1][0]==="[]"))throw this.positionedError(y,"emitter: computed class members are not supported yet",R);let m=n(y[1]);if(b!==null&&b.form!=="def"){if(m==="constructor")throw this.positionedError(y,`emitter: a class constructor cannot be a ${b.form} accessor`,R);p.push({pair:y,stmt:R,key:S(y[1]),form:b.form})}if(m==="constructor"&&!s(y[1])){if(c=!0,T1(y[2]))h=y[2][1],u=y[2][2]}else if(!s(y[1])&&typeof m==="string")f.add(m);if(T1(y[2])&&!s(y[1])&&m!=="constructor")d.push(y[2][2]);if(T1(y[2])&&y[2][0]==="=>"&&!s(y[1])&&m!=="constructor"){if(typeof m!=="string")throw this.positionedError(y,"emitter: a symbol-keyed method cannot be bound ('=>') — the constructor binds members by name; use '->'",R);o.push(m),l??=y}}}if(o.length>0&&!c)throw this.positionedError(l,"emitter: bound ('=>') class methods require an explicit constructor",e);for(let R of p)if(g.has(R.key))throw this.positionedError(R.pair,`emitter: field and ${R.form} accessor '${n(R.pair[1])}' share a name — the field would shadow the accessor on every instance; drop one`,R.stmt);if(this.ts&&h!==null)for(let R of h){let b=f3(R);if(b===null||f.has(b.name))continue;f.add(b.name);let _=b.typed===null?null:this.annotationText(b.typed)??(b.typed[2]===""?null:Ce(b.typed[2])),y=this.stores.idOf(e),m=y!==null?this.stores.selfSpan(y):null,k=m!==null?this.stores.primitiveSpans(b.name,m[0],m[1])[0]??null:null;this.b.tsOnly(()=>{if(this.b.emit(a),k)this.b.markSpan(y,"identifier",k.sourceStart,k.sourceEnd,()=>this.b.emit(b.name));else this.b.emit(b.name);this.b.emit(`${_?`: ${_}`:""}; +`)})}if(this.ts)for(let R of h3([u,...d])){if(f.has(R.name))continue;f.add(R.name);let _=R.nodes.map((y)=>this.annotationText(y)).find((y)=>y!=null)??null??(R.viaArrow?"any":null);this.b.tsOnly(()=>this.b.emit(`${a}${R.name}${_?`: ${_}`:""}; `))}for(let R of r)this.withTsDirectives(R,a,()=>this.classMember(R,e,t,a,{memberName:n,isStaticKey:s,bound:o,form:i.get(R)??null}),!0)}classFieldValue(e){if(T.containsAwait(e))throw this.positionedError(e,"emitter: a class field initializer cannot await — JavaScript evaluates class fields synchronously");if(T.containsYield(e))throw this.positionedError(e,"emitter: a class field initializer cannot yield — class field evaluation is not a generator context");let t=this.planReferenceTemps([e],new Set);if(t.length===0){this.expr(e);return}this.b.emit("(() => { "),this.hoistLine(t),this.b.emit(" return "),this.expr(e),this.b.emit("; })()")}classMember(e,t,r,i,{memberName:n,isStaticKey:s,bound:a,form:o}){let l=o!==null&&o.form!=="def"?o.form:null,c=o!==null&&o.form==="def"?"name":"key",f=e;if(o!==null)e=this.stores.alias(["object",o.pair],e);{if(E(e)&&e[0]==="class"&&E(e[1])&&e[1][0]==="."&&e[1][1]==="this"&&typeof e[1][2]==="string"){this.b.emit(i+"static "),this.mark(e,"name",()=>this.emitPrimitive(e[1][2])),this.b.emit(" = "),this.classCode(["class",null,e[2]??null,e[3]],r+1),this.b.emit(`; -`);return}if(O1(e)){for(let h of e.slice(1))this.withTsDirectives(h,i,()=>{let u=h[1],m=h[2],S=n(u),g=h[0]==="void-pair";if(!T1(m)){if(g)throw this.positionedError(h,"emitter: the void marker (a trailing '!' on the method key) requires a function value — `fn!: ->` (this class member's value is not a function)",e);throw this.positionedError(h,"emitter: a class field takes '=' for its value (`x = v`, `x: T = v`, `@x = v`) — `name: value` is a typed bodiless field only when the value is a TYPE",e)}if(g&&S==="constructor")throw this.positionedError(h,"emitter: a constructor cannot carry the void marker (`constructor!:`) — constructors have no implicit return to suppress",e);this.b.emit(i),this.mark(h,"voidMarker",()=>this.mark(h,"$self",()=>{if(s(u))this.b.emit("static ");if(T.containsAwait(m[2]))this.b.emit("async ");if(T.containsYield(m[2]))this.b.emit("*");if(l!==null){let y=this.stores.idOf(f),p=y!==null?this.stores.role(y,"callee"):null;if(p!==null)this.silences.push([p.sourceStart,p.sourceEnd]);this.mark(f,"callee",()=>this.b.emit(l)),this.b.emit(" ")}if(E(u)&&u[0]==="symbol")this.mark(h,"key",()=>this.symbolKey(u));else this.mark(h,c,()=>this.emitPrimitive(S));if(this.ts){let y=this.annotationText(h,"typeParams");if(y!==null)this.b.tsOnly(()=>this.mark(h,"typeParams",()=>this.emitTypeText(h,"typeParams",y)))}let[,d,R]=m,b=[],_=S==="constructor"&&!s(h[1]);if(_){let y=(p)=>{let k=ht(p);if(k!==null)return b.push(k),E(p)&&p[0]==="typed-var"?["typed-var",k,p[2]]:k;if(E(p)&&p[0]==="default"&&p.length===3){let I=ht(p[1]);if(I!==null)return b.push(I),["default",E(p[1])&&p[1][0]==="typed-var"&&p[1].length===3?["typed-var",I,p[1][2]]:I,p[2]]}return p};if(d=d.map(y),b.length>0&&E(R)&&R[0]==="block"&&E(R[1])&&R[1][0]==="super"){let p=new Set(b),k=(I)=>{if(!E(I))return I;if(I[0]==="."&&I[1]==="this"&&p.has(I[2]))return I[2];return I.map(k)};R=["block",k(R[1]),...R.slice(2)]}}if(this.b.emit("("),this.emitParams(d,null,l!=="set"),this.b.emit(")"),!_)this.tsReturnAnnotation(m,T.containsAwait(m[2]),g,T.containsYield(m[2]),h);this.b.emit(" "),this.mark(h,"value",()=>{this.methodBlock(m,R,r+1,{isConstructor:_,binds:_?a:[],methodName:typeof S==="string"?S:"symbol",voidBody:g||l==="set",tailReturn:l!=="set",voidReason:l==="set"?"a setter discards its return value":null,atParams:b})})})),this.b.emit(` +`);return}if(O1(e)){for(let h of e.slice(1))this.withTsDirectives(h,i,()=>{let u=h[1],d=h[2],S=n(u),g=h[0]==="void-pair";if(!T1(d)){if(g)throw this.positionedError(h,"emitter: the void marker (a trailing '!' on the method key) requires a function value — `fn!: ->` (this class member's value is not a function)",e);throw this.positionedError(h,"emitter: a class field takes '=' for its value (`x = v`, `x: T = v`, `@x = v`) — `name: value` is a typed bodiless field only when the value is a TYPE",e)}if(g&&S==="constructor")throw this.positionedError(h,"emitter: a constructor cannot carry the void marker (`constructor!:`) — constructors have no implicit return to suppress",e);this.b.emit(i),this.mark(h,"voidMarker",()=>this.mark(h,"$self",()=>{if(s(u))this.b.emit("static ");if(T.containsAwait(d[2]))this.b.emit("async ");if(T.containsYield(d[2]))this.b.emit("*");if(l!==null){let y=this.stores.idOf(f),m=y!==null?this.stores.role(y,"callee"):null;if(m!==null)this.silences.push([m.sourceStart,m.sourceEnd]);this.mark(f,"callee",()=>this.b.emit(l)),this.b.emit(" ")}if(E(u)&&u[0]==="symbol")this.mark(h,"key",()=>this.symbolKey(u));else this.mark(h,c,()=>this.emitPrimitive(S));if(this.ts){let y=this.annotationText(h,"typeParams");if(y!==null)this.b.tsOnly(()=>this.mark(h,"typeParams",()=>this.emitTypeText(h,"typeParams",y)))}let[,p,R]=d,b=[],_=S==="constructor"&&!s(h[1]);if(_){let y=(m)=>{let k=ht(m);if(k!==null)return b.push(k),E(m)&&m[0]==="typed-var"?["typed-var",k,m[2]]:k;if(E(m)&&m[0]==="default"&&m.length===3){let O=ht(m[1]);if(O!==null)return b.push(O),["default",E(m[1])&&m[1][0]==="typed-var"&&m[1].length===3?["typed-var",O,m[1][2]]:O,m[2]]}return m};if(p=p.map(y),b.length>0&&E(R)&&R[0]==="block"&&E(R[1])&&R[1][0]==="super"){let m=new Set(b),k=(O)=>{if(!E(O))return O;if(O[0]==="."&&O[1]==="this"&&m.has(O[2]))return O[2];return O.map(k)};R=["block",k(R[1]),...R.slice(2)]}}if(this.b.emit("("),this.emitParams(p,null,l!=="set"),this.b.emit(")"),!_)this.tsReturnAnnotation(d,T.containsAwait(d[2]),g,T.containsYield(d[2]),h);this.b.emit(" "),this.mark(h,"value",()=>{this.methodBlock(d,R,r+1,{isConstructor:_,binds:_?a:[],methodName:typeof S==="string"?S:"symbol",voidBody:g||l==="set",tailReturn:l!=="set",voidReason:l==="set"?"a setter discards its return value":null,atParams:b})})})),this.b.emit(` `)},!0);return}if(typeof e==="string"){this.b.emit(i+e+`; `);return}if(s(e)){this.b.emit(i),this.mark(e,"$self",()=>{this.b.emit("static "),this.mark(e,"property",()=>this.emitPrimitive(e[2]))}),this.b.emit(`; -`);return}if(T.isTypedWrapper(e)&&(typeof e[1]==="string"||s(e[1]))){this.b.emit(i),this.mark(e,"$self",()=>this.mark(e,"annotation",()=>{if(s(e[1]))this.b.emit("static ");if(this.mark(e,"target",()=>this.withDeclaredName(()=>this.emitPrimitive(n(e[1])))),this.ts)this.tsAnnotate(e,"annotation",this.annotationText(e)??Pe(e[2]))})),this.b.emit(`; +`);return}if(T.isTypedWrapper(e)&&(typeof e[1]==="string"||s(e[1]))){this.b.emit(i),this.mark(e,"$self",()=>this.mark(e,"annotation",()=>{if(s(e[1]))this.b.emit("static ");if(this.mark(e,"target",()=>this.withDeclaredName(()=>this.emitPrimitive(n(e[1])))),this.ts)this.tsAnnotate(e,"annotation",this.annotationText(e)??Ce(e[2]))})),this.b.emit(`; `);return}if(E(e)&&e[0]==="="&&e.length===3&&(typeof e[1]==="string"||s(e[1]))){this.ind=r+1,this.b.emit(i),this.mark(e,"annotation",()=>this.mark(e,"$self",()=>{if(s(e[1]))this.b.emit("static ");if(this.mark(e,"target",()=>this.withDeclaredName(()=>this.emitPrimitive(n(e[1])))),this.ts&&this.annotationText(e)!==null)this.tsAnnotate(e,"annotation",this.annotationText(e));this.b.emit(" "),this.mark(e,"operator",()=>this.b.emit("=")),this.b.emit(" "),this.mark(e,"value",()=>this.withExpression(()=>this.classFieldValue(e[2])))})),this.b.emit(`; `);return}if(E(e)&&e[0]==="type-decl")throw this.positionedError(e,"emitter: type declarations are not allowed as class members — move the `type`/`interface` to module scope");if(this.isReactiveDecl(e))throw this.positionedError(e,`emitter: a reactive declaration ('${typeof e[1]==="string"?e[1]:"…"} ${e[0]==="state"?":=":"~="} …') cannot be a class member — declare it at module or function scope`);if(this.isEffectDecl(e))throw this.positionedError(e,"emitter: an effect ('~>') cannot be a class member — run it at module or function scope, or inside a method");if(this.isReadonlyDecl(e))throw this.positionedError(e,`emitter: a readonly declaration ('${typeof e[1]==="string"?e[1]:"…"} =! …') cannot be a class member — declare it at module or function scope`);throw this.positionedError(e,"emitter: unsupported class member — fields take `name = value`, `name: T = value`, `name: T`, or their `@`-static forms; methods take `name: -> …`",t)}}static middleRestPattern(e){if(!E(e)||e[0]!=="array")return!1;let t=e.slice(1),r=t.findIndex((i)=>E(i)&&i[0]==="..."&&i.length===2);return r!==-1&&rE(o)&&o[0]==="..."&&o.length===2),n=r.slice(0,i),s=r[i][1],a=r.slice(i+1);for(let o of[...n,s,...a])if(typeof o!=="string")throw this.positionedError(e,"emitter: a middle-rest pattern takes plain names (`[a, ...mid, b]`) — nested patterns have no single-read lowering");this.mark(e,"$self",()=>{let o=e[2],l=this.repeatSafeValue(o)?null:this.loopTempName("_ref");if(l!==null)this.temps.used.add(l),this.b.emit(`const ${l} = `),this.mark(e,"value",()=>this.expr(o)),this.b.emit(`; ${" ".repeat(t)}`);let c=()=>{if(l!==null)this.b.emit(l);else this.expr(o)},f=()=>this.b.emit(`; -${" ".repeat(t)}`);n.forEach((h,u)=>{this.b.emit(`${h} = `),c(),this.b.emit(`[${u}]`),f()}),this.b.emit(`${s} = `),c(),this.b.emit(a.length>0?`.slice(${n.length}, -${a.length})`:`.slice(${n.length})`),a.forEach((h,u)=>{f(),this.b.emit(`${h} = `),c(),this.b.emit("["),c(),this.b.emit(`.length - ${a.length-u}]`)})})}methodBlock(e,t,r,{isConstructor:i,binds:n,methodName:s,voidBody:a=!1,tailReturn:o=!0,voidReason:l=null,atParams:c=[]}){let f=this.liveStmts(E(t)&&t[0]==="block"?t.slice(1):[t],{forwards:!0}),{entries:h,names:u}=this.scopedHoist(f,e[1]);for(let d of this.pushReactiveFrame(f,u,e[1],e))u.add(d);this.scopes.push(u);let m=this.methodName;this.methodName=s;let S=this.sideEffectOnly,g=this.voidReason;this.sideEffectOnly=a,this.voidReason=l,this.mark(t,"$self",()=>{if(this.b.emit(`{ +${" ".repeat(t)}`);n.forEach((h,u)=>{this.b.emit(`${h} = `),c(),this.b.emit(`[${u}]`),f()}),this.b.emit(`${s} = `),c(),this.b.emit(a.length>0?`.slice(${n.length}, -${a.length})`:`.slice(${n.length})`),a.forEach((h,u)=>{f(),this.b.emit(`${h} = `),c(),this.b.emit("["),c(),this.b.emit(`.length - ${a.length-u}]`)})})}methodBlock(e,t,r,{isConstructor:i,binds:n,methodName:s,voidBody:a=!1,tailReturn:o=!0,voidReason:l=null,atParams:c=[]}){let f=this.liveStmts(E(t)&&t[0]==="block"?t.slice(1):[t],{forwards:!0}),{entries:h,names:u}=this.scopedHoist(f,e[1]);for(let p of this.pushReactiveFrame(f,u,e[1],e))u.add(p);this.scopes.push(u);let d=this.methodName;this.methodName=s;let S=this.sideEffectOnly,g=this.voidReason;this.sideEffectOnly=a,this.voidReason=l,this.mark(t,"$self",()=>{if(this.b.emit(`{ `),h.length)this.b.emit(" ".repeat(r+1)),this.hoistLine(h," ".repeat(r+1)),this.b.emit(` -`);let d=" ".repeat(r+1),R=()=>{for(let b of n)this.b.emit(`${d}this.${b} = this.${b}.bind(this); -`);for(let b of c)this.b.emit(`${d}this.${b} = ${b}; -`)};if(this.emitTsTypeDecls(E(t)&&t[0]==="block"?t.slice(1):[t],d),this.mark(t,"statements",()=>{let b=i&&f.length>0&&E(f[0])&&f[0][0]==="super";if(!b)R();f.forEach((_,y)=>{this.b.emit(d);let p=y===f.length-1;if(!i&&!a&&p)this.implicitReturn(_,r+1);else this.statement(_,r+1,!p||!i);if(this.b.emit(` -`),b&&y===0)R()})}),o)this.voidTailReturn(f,r);this.b.emit(" ".repeat(r)+"}")}),this.sideEffectOnly=S,this.voidReason=g,this.methodName=m,this.scopes.pop(),this.rframes.pop()}superCall(e){if(!this.methodName)throw this.positionedError(e,"emitter: super outside a class method");this.mark(e,"$self",()=>{this.b.emit(this.methodName==="constructor"?"super(":`super.${this.methodName}(`),this.mark(e,"args",()=>{e.slice(1).forEach((t,r)=>{if(r>0)this.b.emit(", ");this.callArg(t)})}),this.b.emit(")")})}newExpr(e){let[,t]=e;this.mark(e,"$self",()=>{this.mark(e,"operator",()=>this.b.emit("new")),this.b.emit(" "),this.mark(e,"operand",()=>{if(E(t)&&Gs.has(t[0])&&T.optionalGuard(t))this.b.emit("("),this.expr(t),this.b.emit(" ?? undefined)()");else if(E(t)&&(t[0]==="."||t[0]==="?."))this.member(t);else if(E(t)&&t[0]==="new"&&t.length===2&&T.optionalGuard(t[1]))this.b.emit("("),this.newExpr(t),this.b.emit(")()");else if(E(t)&&t[0]==="tagged-template")this.b.emit("("),this.taggedTemplate(t),this.b.emit(")()");else if(E(t)&&E(t[0])&&!wn(t[0])&&Gs.has(t[0][0])&&T.optionalGuard(t[0]))this.mark(t,"$self",()=>{this.b.emit("("),this.expr(t[0]),this.b.emit(" ?? undefined)"),this.mark(t,"args",()=>{this.b.emit("("),t.slice(1).forEach((r,i)=>{if(i>0)this.b.emit(", ");this.callArg(r)}),this.b.emit(")")})});else if(E(t)&&t[0]==="new"&&t.length===2)this.b.emit("("),this.newExpr(t),this.b.emit(")");else if(E(t)&&t[0]==="dammit!"){if(t.parenthesized)this.b.emit("(");if(this.dammit(t),t.parenthesized)this.b.emit(")");this.b.emit("()")}else if(E(t))this.call(t);else this.emitPrimitive(t),this.b.emit("()")})})}emitParam(e){if(typeof e==="string")return this.withDeclaredName(()=>this.emitPrimitive(e));if(e[0]==="typed-var"){this.mark(e,"$self",()=>this.mark(e,"annotation",()=>{if(this.mark(e,"target",()=>this.emitParam(e[1])),this.ts){let t=this.stores.idOf(e);if(t!==null&&this.stores.role(t,"optionalMarker"))this.b.tsOnly(()=>this.mark(e,"optionalMarker",()=>this.b.emit("?")));let r=this.annotationText(e)??(e[2]===""?"":Pe(e[2]));if(r!=="")this.tsAnnotate(e,"annotation",r)}}));return}if(e[0]==="rest")return this.b.emit("..."),this.emitParam(e[1]);if(e[0]==="default")return this.emitParam(e[1]),this.b.emit(" = "),this.withExpression(()=>this.expr(e[2]));this.withPattern(()=>this.expr(e),!0)}static paramCore(e){return E(e)&&e[0]==="typed-var"?e[1]:e}static expansionSplit(e){let t=e.findIndex((i)=>E(i)&&i[0]==="expansion");if(t===-1)return{list:e,extractions:[]};let r=e.slice(t+1);return{list:[...e.slice(0,t),["rest","_rest"]],extractions:r.map((i,n)=>({node:i,name:T.paramCore(i),slot:`_rest[_rest.length - ${r.length-n}]`}))}}contextuallyTyped(e){let t=this.stores.idOf(e),r=t===null?null:this.stores.node(t);if(!r||typeof r.sourceStart!=="number")return!1;if(this._argSpans??=this.stores.roles.filter((i)=>i.role==="args"&&typeof i.sourceStart==="number").map((i)=>[i.sourceStart,i.sourceEnd]),this._argSpans.some(([i,n])=>r.sourceStart>=i&&r.sourceEnd<=n))return!0;return this._annotatedValueSpans??=(()=>{let i=new Set,n=[];for(let a of this.stores.nodes){if(a.semanticKind!=="assign"&&a.semanticKind!=="pair")continue;if(!this.stores.role(a.nodeId,"annotation"))continue;let o=this.stores.role(a.nodeId,"value");if(typeof o?.sourceStart==="number")i.add(`${o.sourceStart}:${o.sourceEnd}`),n.push([o.sourceStart,o.sourceEnd])}let s=[];for(let a of this.stores.nodes)if((a.semanticKind==="func"||a.semanticKind==="def"||a.semanticKind==="class")&&typeof a.sourceStart==="number"&&n.some(([o,l])=>a.sourceStart>=o&&a.sourceEnd<=l))s.push([a.sourceStart,a.sourceEnd]);for(let a of this.stores.nodes){if(a.semanticKind!=="pair"||typeof a.sourceStart!=="number")continue;if(!n.some(([l,c])=>a.sourceStart>=l&&a.sourceEnd<=c))continue;if(s.some(([l,c])=>a.sourceStart>=l&&a.sourceEnd<=c))continue;let o=this.stores.role(a.nodeId,"value");if(typeof o?.sourceStart==="number")i.add(`${o.sourceStart}:${o.sourceEnd}`)}return i})(),this._annotatedValueSpans.has(`${r.sourceStart}:${r.sourceEnd}`)}emitParams(e,t=null,r=!0){let i=T.expansionSplit(e).list,n=r&&this.ts?bi(i):new Set;if(t!==null)n.delete(0);i.forEach((s,a)=>{if(ht(s)!==null||E(s)&&s[0]==="default"&&ht(s[1])!==null)throw this.positionedError(E(s)?s:e,"emitter: an @-parameter promotes only in a constructor (`constructor: (@name) ->`) — bind a plain parameter and assign it here");if(a>0)this.b.emit(", ");if(this.emitParam(s),n.has(a)&&this.ts)this.b.tsOnly(()=>this.b.emit("?"));if(a===0&&t!==null&&typeof s==="string"&&this.ts)this.b.tsOnly(()=>this.b.emit(`: ${t}`))})}func(e){let[t,r,i]=e,n=r.length===0&&T.containsBareIt(i)?["it"]:r,s=t==="->"&&this.inComponent()?"=>":t,a=this.ind,o=this.voidFuncs.has(e),l=this.liveStmts(E(i)&&i[0]==="block"?i.slice(1):[i],{forwards:!0}),{entries:c,names:f}=this.scopedHoist(l,n);for(let S of this.pushReactiveFrame(l,f,n,e))f.add(S);this.scopes.push(f);let h=T.containsAwait(i),u=T.containsYield(i);if(u&&s==="=>")throw this.positionedError(e,t==="->"?"emitter: a generator arrow cannot sit inside a component body — thin arrows lower to fat arrows there to keep `this` on the instance, and JS has no generator arrows (name the generator a method and call it)":"emitter: fat arrows cannot contain yield (JS has no generator arrows; use ->)");let m=this.ts&&this.contextuallyTyped(e);this.mark(e,"returnType",()=>this.mark(e,"$self",()=>{if(s==="->"){if(h)this.b.emit("async ");this.mark(e,"kind",()=>this.b.emit(u?"function*":"function")),this.b.emit("("),this.mark(e,"params",()=>this.emitParams(n,null,!m)),this.b.emit(")"),this.tsReturnAnnotation(e,h,o,u),this.b.emit(" "),this.funcBlock(e,i,l,a,c,o)}else{if(h)this.b.emit("async ");let S=this.ts&&!m&&n.length===1&&typeof n[0]==="string",g=this.ts&&n.length===1&&typeof T.paramCore(n[0])==="string"&&(T.isTypedWrapper(n[0])||this.annotationText(e,"returnType")!==null||o||S);if(this.mark(e,"params",()=>{if(n.length===1&&typeof T.paramCore(n[0])==="string"){if(g)this.b.tsOnly(()=>this.b.emit("("));if(this.emitParam(n[0]),S)this.b.tsOnly(()=>this.b.emit("?"));if(g)this.b.tsOnly(()=>this.b.emit(")"))}else this.b.emit("("),this.emitParams(n,null,!m),this.b.emit(")")}),this.tsReturnAnnotation(e,h,o,u),this.b.emit(" "),this.mark(e,"kind",()=>this.b.emit("=>")),this.b.emit(" "),!o&&l.length===1&&c.length===0&&!T.statementOnly(l[0])&&!(E(l[0])&&(g1(l[0][0])||["return","if","while","block"].includes(l[0][0]))))this.mark(e,"body",()=>{let R=T.needsGrouping(l[0],"operand")||O1(l[0]);if(R)this.b.emit("(");if(this.expr(l[0]),R)this.b.emit(")")});else this.funcBlock(e,i,l,a,c,o)}})),this.scopes.pop(),this.rframes.pop(),this.ind=a}funcBlock(e,t,r,i,n,s=!1){let a=g1(e[0])?e[2]:e[1],{extractions:o}=T.expansionSplit(Array.isArray(a)?a:[]),l=this.sideEffectOnly,c=this.voidReason;this.sideEffectOnly=s,this.voidReason=null,this.mark(e,"body",()=>{this.mark(t,"$self",()=>{if(this.b.emit(`{ +`);let p=" ".repeat(r+1),R=()=>{for(let b of n)this.b.emit(`${p}this.${b} = this.${b}.bind(this); +`);for(let b of c)this.b.emit(`${p}this.${b} = ${b}; +`)};if(this.emitTsTypeDecls(E(t)&&t[0]==="block"?t.slice(1):[t],p),this.mark(t,"statements",()=>{let b=i&&f.length>0&&E(f[0])&&f[0][0]==="super";if(!b)R();f.forEach((_,y)=>{this.b.emit(p);let m=y===f.length-1;if(!i&&!a&&m)this.implicitReturn(_,r+1);else this.statement(_,r+1,!m||!i);if(this.b.emit(` +`),b&&y===0)R()})}),o)this.voidTailReturn(f,r);this.b.emit(" ".repeat(r)+"}")}),this.sideEffectOnly=S,this.voidReason=g,this.methodName=d,this.scopes.pop(),this.rframes.pop()}superCall(e){if(!this.methodName)throw this.positionedError(e,"emitter: super outside a class method");this.mark(e,"$self",()=>{this.b.emit(this.methodName==="constructor"?"super(":`super.${this.methodName}(`),this.mark(e,"args",()=>{e.slice(1).forEach((t,r)=>{if(r>0)this.b.emit(", ");this.callArg(t)})}),this.b.emit(")")})}newExpr(e){let[,t]=e;this.mark(e,"$self",()=>{this.mark(e,"operator",()=>this.b.emit("new")),this.b.emit(" "),this.mark(e,"operand",()=>{if(E(t)&&Gs.has(t[0])&&T.optionalGuard(t))this.b.emit("("),this.expr(t),this.b.emit(" ?? undefined)()");else if(E(t)&&(t[0]==="."||t[0]==="?."))this.member(t);else if(E(t)&&t[0]==="new"&&t.length===2&&T.optionalGuard(t[1]))this.b.emit("("),this.newExpr(t),this.b.emit(")()");else if(E(t)&&t[0]==="tagged-template")this.b.emit("("),this.taggedTemplate(t),this.b.emit(")()");else if(E(t)&&E(t[0])&&!wn(t[0])&&Gs.has(t[0][0])&&T.optionalGuard(t[0]))this.mark(t,"$self",()=>{this.b.emit("("),this.expr(t[0]),this.b.emit(" ?? undefined)"),this.mark(t,"args",()=>{this.b.emit("("),t.slice(1).forEach((r,i)=>{if(i>0)this.b.emit(", ");this.callArg(r)}),this.b.emit(")")})});else if(E(t)&&t[0]==="new"&&t.length===2)this.b.emit("("),this.newExpr(t),this.b.emit(")");else if(E(t)&&t[0]==="dammit!"){if(t.parenthesized)this.b.emit("(");if(this.dammit(t),t.parenthesized)this.b.emit(")");this.b.emit("()")}else if(E(t))this.call(t);else this.emitPrimitive(t),this.b.emit("()")})})}emitParam(e){if(typeof e==="string")return this.withDeclaredName(()=>this.emitPrimitive(e));if(e[0]==="typed-var"){this.mark(e,"$self",()=>this.mark(e,"annotation",()=>{if(this.mark(e,"target",()=>this.emitParam(e[1])),this.ts){let t=this.stores.idOf(e);if(t!==null&&this.stores.role(t,"optionalMarker"))this.b.tsOnly(()=>this.mark(e,"optionalMarker",()=>this.b.emit("?")));let r=this.annotationText(e)??(e[2]===""?"":Ce(e[2]));if(r!=="")this.tsAnnotate(e,"annotation",r)}}));return}if(e[0]==="rest")return this.b.emit("..."),this.emitParam(e[1]);if(e[0]==="default")return this.emitParam(e[1]),this.b.emit(" = "),this.withExpression(()=>this.expr(e[2]));this.withPattern(()=>this.expr(e),!0)}static paramCore(e){return E(e)&&e[0]==="typed-var"?e[1]:e}static expansionSplit(e){let t=e.findIndex((i)=>E(i)&&i[0]==="expansion");if(t===-1)return{list:e,extractions:[]};let r=e.slice(t+1);return{list:[...e.slice(0,t),["rest","_rest"]],extractions:r.map((i,n)=>({node:i,name:T.paramCore(i),slot:`_rest[_rest.length - ${r.length-n}]`}))}}contextuallyTyped(e){let t=this.stores.idOf(e),r=t===null?null:this.stores.node(t);if(!r||typeof r.sourceStart!=="number")return!1;if(this._argSpans??=this.stores.roles.filter((i)=>i.role==="args"&&typeof i.sourceStart==="number").map((i)=>[i.sourceStart,i.sourceEnd]),this._argSpans.some(([i,n])=>r.sourceStart>=i&&r.sourceEnd<=n))return!0;return this._annotatedValueSpans??=(()=>{let i=new Set,n=[];for(let a of this.stores.nodes){if(a.semanticKind!=="assign"&&a.semanticKind!=="pair")continue;if(!this.stores.role(a.nodeId,"annotation"))continue;let o=this.stores.role(a.nodeId,"value");if(typeof o?.sourceStart==="number")i.add(`${o.sourceStart}:${o.sourceEnd}`),n.push([o.sourceStart,o.sourceEnd])}let s=[];for(let a of this.stores.nodes)if((a.semanticKind==="func"||a.semanticKind==="def"||a.semanticKind==="class")&&typeof a.sourceStart==="number"&&n.some(([o,l])=>a.sourceStart>=o&&a.sourceEnd<=l))s.push([a.sourceStart,a.sourceEnd]);for(let a of this.stores.nodes){if(a.semanticKind!=="pair"||typeof a.sourceStart!=="number")continue;if(!n.some(([l,c])=>a.sourceStart>=l&&a.sourceEnd<=c))continue;if(s.some(([l,c])=>a.sourceStart>=l&&a.sourceEnd<=c))continue;let o=this.stores.role(a.nodeId,"value");if(typeof o?.sourceStart==="number")i.add(`${o.sourceStart}:${o.sourceEnd}`)}return i})(),this._annotatedValueSpans.has(`${r.sourceStart}:${r.sourceEnd}`)}emitParams(e,t=null,r=!0){let i=T.expansionSplit(e).list,n=r&&this.ts?bi(i):new Set;if(t!==null)n.delete(0);i.forEach((s,a)=>{if(ht(s)!==null||E(s)&&s[0]==="default"&&ht(s[1])!==null)throw this.positionedError(E(s)?s:e,"emitter: an @-parameter promotes only in a constructor (`constructor: (@name) ->`) — bind a plain parameter and assign it here");if(a>0)this.b.emit(", ");if(this.emitParam(s),n.has(a)&&this.ts)this.b.tsOnly(()=>this.b.emit("?"));if(a===0&&t!==null&&typeof s==="string"&&this.ts)this.b.tsOnly(()=>this.b.emit(`: ${t}`))})}func(e){let[t,r,i]=e,n=r.length===0&&T.containsBareIt(i)?["it"]:r,s=t==="->"&&this.inComponent()?"=>":t,a=this.ind,o=this.voidFuncs.has(e),l=this.liveStmts(E(i)&&i[0]==="block"?i.slice(1):[i],{forwards:!0}),{entries:c,names:f}=this.scopedHoist(l,n);for(let S of this.pushReactiveFrame(l,f,n,e))f.add(S);this.scopes.push(f);let h=T.containsAwait(i),u=T.containsYield(i);if(u&&s==="=>")throw this.positionedError(e,t==="->"?"emitter: a generator arrow cannot sit inside a component body — thin arrows lower to fat arrows there to keep `this` on the instance, and JS has no generator arrows (name the generator a method and call it)":"emitter: fat arrows cannot contain yield (JS has no generator arrows; use ->)");let d=this.ts&&this.contextuallyTyped(e);this.mark(e,"returnType",()=>this.mark(e,"$self",()=>{if(s==="->"){if(h)this.b.emit("async ");this.mark(e,"kind",()=>this.b.emit(u?"function*":"function")),this.b.emit("("),this.mark(e,"params",()=>this.emitParams(n,null,!d)),this.b.emit(")"),this.tsReturnAnnotation(e,h,o,u),this.b.emit(" "),this.funcBlock(e,i,l,a,c,o)}else{if(h)this.b.emit("async ");let S=this.ts&&!d&&n.length===1&&typeof n[0]==="string",g=this.ts&&n.length===1&&typeof T.paramCore(n[0])==="string"&&(T.isTypedWrapper(n[0])||this.annotationText(e,"returnType")!==null||o||S);if(this.mark(e,"params",()=>{if(n.length===1&&typeof T.paramCore(n[0])==="string"){if(g)this.b.tsOnly(()=>this.b.emit("("));if(this.emitParam(n[0]),S)this.b.tsOnly(()=>this.b.emit("?"));if(g)this.b.tsOnly(()=>this.b.emit(")"))}else this.b.emit("("),this.emitParams(n,null,!d),this.b.emit(")")}),this.tsReturnAnnotation(e,h,o,u),this.b.emit(" "),this.mark(e,"kind",()=>this.b.emit("=>")),this.b.emit(" "),!o&&l.length===1&&c.length===0&&!T.statementOnly(l[0])&&!(E(l[0])&&(g1(l[0][0])||["return","if","while","block"].includes(l[0][0]))))this.mark(e,"body",()=>{let R=T.needsGrouping(l[0],"operand")||O1(l[0]);if(R)this.b.emit("(");if(this.expr(l[0]),R)this.b.emit(")")});else this.funcBlock(e,i,l,a,c,o)}})),this.scopes.pop(),this.rframes.pop(),this.ind=a}funcBlock(e,t,r,i,n,s=!1){let a=g1(e[0])?e[2]:e[1],{extractions:o}=T.expansionSplit(Array.isArray(a)?a:[]),l=this.sideEffectOnly,c=this.voidReason;this.sideEffectOnly=s,this.voidReason=null,this.mark(e,"body",()=>{this.mark(t,"$self",()=>{if(this.b.emit(`{ `),n.length)this.b.emit(" ".repeat(i+1)),this.hoistLine(n," ".repeat(i+1)),this.b.emit(` -`);for(let f of o){let h=E(f.name)&&f.name[0]==="default",u=h?T.paramCore(f.name[1]):f.name,m=h?f.name[1]:f.node;if(E(u)&&u[0]==="rest")throw this.positionedError(f.node,"emitter: a rest parameter cannot follow the '...' gap — the gap already binds every argument between the head and the tail, so a second rest has nothing left to collect; name the tail parameter instead");if(this.b.emit(" ".repeat(i+1)+"const "),typeof u==="string")this.mark(f.node,"$self",()=>this.emitPrimitive(u));else this.withPattern(()=>this.expr(u),!0);let S=this.ts?this.annotationText(m):null;if(S!==null)this.tsAnnotate(m,"annotation",S);if(this.b.emit(" = "),h)this.b.emit(`${f.slot} === undefined ? `),this.withExpression(()=>this.expr(f.name[2])),this.b.emit(` : ${f.slot}`);else this.b.emit(f.slot);this.b.emit(`; +`);for(let f of o){let h=E(f.name)&&f.name[0]==="default",u=h?T.paramCore(f.name[1]):f.name,d=h?f.name[1]:f.node;if(E(u)&&u[0]==="rest")throw this.positionedError(f.node,"emitter: a rest parameter cannot follow the '...' gap — the gap already binds every argument between the head and the tail, so a second rest has nothing left to collect; name the tail parameter instead");if(this.b.emit(" ".repeat(i+1)+"const "),typeof u==="string")this.mark(f.node,"$self",()=>this.emitPrimitive(u));else this.withPattern(()=>this.expr(u),!0);let S=this.ts?this.annotationText(d):null;if(S!==null)this.tsAnnotate(d,"annotation",S);if(this.b.emit(" = "),h)this.b.emit(`${f.slot} === undefined ? `),this.withExpression(()=>this.expr(f.name[2])),this.b.emit(` : ${f.slot}`);else this.b.emit(f.slot);this.b.emit(`; `)}this.emitTsTypeDecls(u1(t)?t.slice(1):[t]," ".repeat(i+1)),this.mark(t,"statements",()=>{r.forEach((f,h)=>{if(this.b.emit(" ".repeat(i+1)),!s&&h===r.length-1)this.implicitReturn(f,i+1);else this.statement(f,i+1,!0);this.b.emit(` `)})}),this.voidTailReturn(r,i),this.b.emit(" ".repeat(i)+"}")})}),this.sideEffectOnly=l,this.voidReason=c}voidTailReturn(e,t){if(!this.sideEffectOnly||e.length===0)return;let r=e[e.length-1],i=E(r)?r[0]:null;if(["return","throw","break","continue"].includes(i))return;this.b.emit(" ".repeat(t+1)+`return; `)}implicitReturn(e,t){this.withTsDirectives(e," ".repeat(t),()=>this.implicitReturnCore(e,t))}implicitReturnCore(e,t){if(E(e)&&(e[0]==="return"||e[0]==="throw"))return this.statement(e,t);if(typeof e==="string"&&(e==="break"||e==="continue"||e==="debugger"))return this.statement(e,t);if(this.ind=t,E(e)){let r=e[0];if(r==="if"&&e.length>=3&&e.length<=4){if(T.ifIsSimple(e))this.b.emit("return ("),this.mark(e,"$self",()=>this.ifTernary(e)),this.b.emit(");");else this.mark(e,"$self",()=>this.returnifyIf(e,t));return}if(r==="try"){this.b.emit("return "),this.withTailReturn(()=>this.valueTry(e)),this.b.emit(";");return}if(r==="switch"&&e.length===4){this.b.emit("return "),this.withTailReturn(()=>this.valueSwitch(e)),this.b.emit(";");return}if(r==="while"&&(e.length===3||e.length===4)||r==="loop"&&e.length===2)return this.statement(e,t);if(T.returnGuard(e)||T.stmtGuard(e)||r==="="&&e.length===3&&(T.returnGuard(e[2])||T.stmtGuard(e[2])))return this.statement(e,t);if(r===".="&&e.length===3)return this.statement(e,t);if(r==="="&&e.length===3&&T.sliceTarget(e[1])!==null)return this.statement(e,t);if(r==="enum")return this.statement(e,t);if(this.isReactiveDecl(e)||this.isReadonlyDecl(e))return this.statement(e,t);if(this.isEffectDecl(e)&&e[1]!==null)return this.statement(e,t);if((r==="for-in"||r==="for-of"||r==="for-as")&&e.length===6)return this.returnifyLoop(e,t);if(g1(r))throw this.positionedError(e,"emitter: implicit return of a 'def' body is not supported yet")}this.b.emit("return "),this.withTailReturn(()=>{let r=T.needsGrouping(e,"return");if(r)this.b.emit("(");if(this.expr(e),r)this.b.emit(")")}),this.b.emit(";")}update(e){if(typeof e[1]==="string"&&this.isComputedName(e[1]))throw this.positionedError(e,`emitter: cannot assign to computed '${e[1]}' — a '~=' binding derives from its dependencies; write to those instead`);if(typeof e[1]==="string"&&this.isAmbientReadonly(e[1]))throw this.positionedError(e,`emitter: cannot assign to readonly '${e[1]}' — a '=!' binding never changes after its declaration`);if(this.checkExportedConstWrite(e,e[1]),this.checkMemberWrite(e,e[1]),E(e[1])&&T.optionalGuard(e[1])!==null)throw this.positionedError(e,"emitter: an optional chain cannot be an update target — no reference exists for `obj?.x++`; "+"guard it explicitly (`obj.x++ if obj?`)");this.mark(e,"$self",()=>{let[t,r,i]=e;if(i)this.mark(e,"target",()=>this.withTarget(()=>this.expr(r))),this.mark(e,"operator",()=>this.b.emit(t));else this.mark(e,"operator",()=>this.b.emit(t)),this.mark(e,"target",()=>this.withTarget(()=>this.expr(r)))})}relation(e){let[t,r,i]=e,n=t[0]==="!",s=n?t.slice(1):t;this.mark(e,"$self",()=>{if(n)this.b.emit("!(");if(s==="instanceof"){if(this.operand(e,"left",r),this.b.emit(" instanceof "),this.operand(e,"right",i),n)this.b.emit(")");return}if(s==="of"||s==="in"&&O1(i))this.operand(e,"left",r),this.b.emit(" in "),this.operand(e,"right",i);else if(E(i))this.b.emit(T.MEMBER_IN+"("),this.mark(e,"left",()=>this.expr(r)),this.b.emit(", "),this.mark(e,"right",()=>this.expr(i)),this.b.emit(")");else this.b.emit("Array.isArray("),this.expr(i),this.b.emit(") || typeof "),this.expr(i),this.b.emit(" === 'string' ? "),this.expr(i),this.b.emit(".includes("),this.mark(e,"left",()=>this.expr(r)),this.b.emit(") : ("),this.expr(r),this.b.emit(" in "),this.mark(e,"right",()=>this.expr(i)),this.b.emit(")");if(n)this.b.emit(")")})}static ternaryHoists(e){let t=e;while(E(t[2])&&t[2][0]==="?:"&&t[2].length===4&&!t[2].parenthesized)t=t[2];let r=t[2];return E(r)&&r[0]==="="&&r.length===3&&typeof r[1]==="string"&&!r.parenthesized}ternary(e){let t=[e];while(!0){let a=t[t.length-1][2];if(E(a)&&a[0]==="?:"&&a.length===4&&!a.parenthesized)t.push(a);else break}let r=t[t.length-1],i=T.ternaryHoists(r),n=(a,o,l)=>{this.grouped(a,o,l,T.needsGrouping(l,"operand")||W1(l))},s=(a)=>this.grouped(a,"condition",a[1],E(a[1])&&a[1][0]==="?:");this.mark(e,"$self",()=>{if(i)this.expr(r[2][1]),this.b.emit(" = (");s(r),this.b.emit(" ? "),n(r,"then",i?r[2][2]:r[2]);for(let a=t.length-2;a>=0;a--)this.b.emit(" : ("),s(t[a]),this.b.emit(" ? "),n(t[a+1],"else",t[a+1][3]);if(this.b.emit(" : "),n(t[0],"else",t[0][3]),this.b.emit(")".repeat(t.length-1)),i)this.b.emit(")")})}strTemplate(e){this.mark(e,"$self",()=>{this.b.emit("`"),this.templateChunks(e.slice(1)),this.b.emit("`")})}templateChunks(e){for(let t of e){if(t==="")continue;if(E(t)){if(t.length!==1)throw this.positionedError(t,"emitter: multi-statement interpolations are not supported yet");this.b.emit("${"),this.mark(t,"$self",()=>{let r=T.needsGrouping(t[0],"operand")||W1(t[0]);if(r)this.b.emit("(");if(this.expr(t[0]),r)this.b.emit(")")}),this.b.emit("}")}else{let r=t.slice(1,-1);if(r!=="")this.b.emit(T.escapeTemplate(r))}}}heregex(e){let[,t,...r]=e;this.mark(e,"$self",()=>{if(this.b.emit("RegExp(`"),this.templateChunks(r),this.b.emit("`"),t!=="")this.b.emit(`, '${t}'`);this.b.emit(")")})}call(e){if(this.browserModule&&e[0]==="import"&&this.lockedHead(e,"dynimport")){let t=this.positionedError(e,"emitter: dynamic import is not supported in a browser App module — use a static import so Rip can publish and resolve the dependency");if(typeof t.start!=="number"&&this.b.currentMark)t.start=this.b.currentMark.sourceStart,t.end=this.b.currentMark.sourceEnd;throw t}if(this.repl&&e[0]==="import"&&(e.length===2||e.length===3)&&this.lockedHead(e,"dynimport")){this.mark(e,"$self",()=>{this.b.emit(`import(${this.replResolver()}(`),this.mark(e,"args",()=>{if(this.callArg(e[1]),this.b.emit(")"),e.length===3)this.b.emit(", "),this.callArg(e[2])}),this.b.emit(")")});return}if(e[0]==="rest"&&this.inPattern)throw this.positionedError(e,this.bindingPattern?"emitter: a `rest` element is only legal at an array pattern's tail":"emitter: Cannot use 'rest' expression as a destructuring target (destructuring rest is spelled '...name')");if(E(e[0])&&e[0][0]==="dammit!"){if(e[0].parenthesized){this.mark(e,"$self",()=>{this.b.emit("("),this.dammit(e[0]),this.b.emit(")"),this.mark(e,"args",()=>{this.b.emit("("),e.slice(1).forEach((i,n)=>{if(n>0)this.b.emit(", ");this.callArg(i)}),this.b.emit(")")})});return}let t=e[0][1],r=wn(t);this.mark(e,"$self",()=>{this.b.emit(r?"await new ":"await "),this.mark(e[0],"$self",()=>{if(r)this.mark(e[0],"target",()=>this.rubyNewTarget(t));else this.head(e[0],"target",t)}),this.mark(e,"args",()=>{this.b.emit("("),e.slice(1).forEach((i,n)=>{if(n>0)this.b.emit(", ");this.callArg(i)}),this.b.emit(")")})});return}if(E(e[0])&&e[0][0]==="."&&e[0].length===3&&e[0][2]==="new"){this.mark(e,"$self",()=>{this.b.emit("new "),this.rubyNewTarget(e[0]),this.mark(e,"args",()=>{this.b.emit("("),e.slice(1).forEach((t,r)=>{if(r>0)this.b.emit(", ");this.callArg(t)}),this.b.emit(")")})});return}this.chain(e)}rubyNewTarget(e){let t=e[1];this.mark(e,"object",()=>{if(E(t))this.b.emit("("),this.expr(t),this.b.emit(T.optionalGuard(t)?" ?? undefined)":")");else this.expr(t)})}static MODULO="((n, d) => { n = +n; d = +d; return (n % d + d) % d; })";static LITERAL_WORDS=new Set(["true","false","null","undefined","NaN","Infinity"]);static ownKeyText(e,t){return t==="__proto__"?'["__proto__"]':e}static MEMBER_IN="((k, c) => Array.isArray(c) || typeof c === 'string' ? c.includes(k) : k in c)";floorDiv(e){this.mark(e,"$self",()=>{this.b.emit("Math.floor("),this.operand(e,"left",e[1]),this.b.emit(" "),this.mark(e,"operator",()=>this.b.emit("/")),this.b.emit(" "),this.operand(e,"right",e[2]),this.b.emit(")")})}returnGuardStatement(e,t){let r=e[2],i=typeof r==="string"?r:r[0];if(i==="return"&&this.scopes.length<=1)throw this.positionedError(r,"emitter: 'return' outside a function");if((i==="break"||i==="continue")&&this.ctrlDepth===0)throw this.positionedError(e,`emitter: '${i}' outside a loop${i==="break"?" or switch":""}`);let n=e[0],s=()=>{let a=()=>{if(t!==null)this.mark(t,"$self",()=>{this.mark(t,"target",()=>this.b.emit(t[1])),this.b.emit(" "),this.mark(t,"operator",()=>this.b.emit("=")),this.b.emit(" "),this.mark(t,"value",()=>this.expr(e[1]))});else this.mark(e,"left",()=>this.expr(e[1]))},o=t!==null||T.jsTier(e[1])!=="primary";if(n==="||")if(this.b.emit("!"),o)this.b.emit("("),a(),this.b.emit(")");else a();else if(n==="??"){if(o)this.b.emit("("),a(),this.b.emit(")");else a();this.b.emit(" == null")}else if(o&&t!==null)this.b.emit("("),a(),this.b.emit(")");else a()};this.mark(e,"$self",()=>{this.b.emit("if ("),s(),this.b.emit(") ");let a=()=>{if(this.b.emit(i),E(r)&&r.length>1)this.b.emit(" "),this.mark(r,"value",()=>{if(r[0]==="return"&&T.needsGrouping(r[1],"return"))this.b.emit("("),this.expr(r[1]),this.b.emit(")");else this.expr(r[1])})};if(typeof r==="string")a();else this.mark(r,"$self",a);this.b.emit(";")})}compoundTarget(e,t,r){if(this.checkExportedConstWrite(e,t),this.repeatSafeValue(t))return this.mark(e,"target",()=>this.withTarget(()=>this.expr(t))),t;if(E(t)&&(t[0]==="."||t[0]==="[]")&&t.length===3){let i=t[1];if(!this.repeatSafeValue(i))i=this.loopTempName("_ref"),this.temps.used.add(i),this.b.emit(`const ${i} = `),this.expr(t[1]),this.b.emit(`; ${" ".repeat(r)}`);let n;if(t[0]==="[]"){let s=t[2];if(!this.repeatSafeValue(s)){let a=this.loopTempName("_key");this.temps.used.add(a),this.b.emit(`const ${a} = `),this.expr(s),this.b.emit(`; -${" ".repeat(r)}`),s=a}n=["[]",i,s]}else n=[".",i,t[2]];return this.mark(e,"target",()=>this.expr(n)),n}throw this.positionedError(e,`emitter: ${e[0]} needs a stable target — a plain name or member/index chain (an optional chain has no reference to write back to)`)}static sliceTarget(e){return E(e)&&e[0]==="[]"&&e.length===3&&E(e[2])&&(e[2][0]===".."||e[2][0]==="...")&&e[2].length===3?e:null}sliceAssignStatement(e){let[,t,r]=e,[,i,n]=t,[s,a,o]=n,l=(h)=>T.isIntegerLiteral(h)?parseInt(h.replace(/_/g,""),10):null,c=(h)=>typeof h==="string";for(let h of[a,o])if(E(h)&&h[0]==="-"&&h.length===2&&T.isIntegerLiteral(h[1]))throw this.positionedError(e,"emitter: a slice assignment cannot count from the end — `splice` takes a count, not a negative index; open the range instead (`a[i..] = v`) or compute the bound from `a.length`");let f=(h)=>{if(c(h))this.expr(h);else this.b.emit("("),this.expr(h),this.b.emit(")")};this.mark(e,"$self",()=>{this.mark(e,"target",()=>this.mark(t,"$self",()=>{this.head(t,"object",i),this.b.emit(".splice("),this.mark(t,"key",()=>{if(a===null)this.b.emit("0");else f(a);if(this.b.emit(", "),o===null)this.b.emit("Infinity");else if(l(o)!==null&&(a===null||l(a)!==null))this.b.emit(String(l(o)-(a===null?0:l(a))+(s===".."?1:0)));else{if(f(o),a!==null)this.b.emit(" - "),f(a);if(s==="..")this.b.emit(" + 1")}})})),this.mark(e,"operator",()=>{});let h=E(r)&&r[0]==="array"&&r.slice(1).every((u)=>!(E(u)&&u[0]==="...")&&u!==",");this.mark(e,"value",()=>{if(h)r.slice(1).forEach((u)=>{this.b.emit(", "),this.callArg(u)});else this.b.emit(", ...[].concat("),this.expr(r),this.b.emit(")")}),this.b.emit(")")})}methodAssignStatement(e,t){let[,r,i]=e,n=i;while(E(n)){let l=T.chainHeadSlot(n);if(l===null)break;n=n[l]}let s=E(n)?this.stores.idOf(n):null,a=s!==null?this.stores.node(s)?.semanticKind:null;if(!(E(n)&&typeof n[0]==="string"&&/^[A-Za-z_$][\w$]*$/.test(n[0])&&(a==="call"||a==null&&T.jsTier(n)==="primary")))throw this.positionedError(e,"emitter: `.=` re-binds its target to a METHOD CALL on itself — the right side must be a call chain (`x .= trim()`)");this.mark(e,"$self",()=>{let l=this.compoundTarget(e,r,t),c=(h)=>{if(h===n)return[[".",l,n[0]],...n.slice(1)];let u=T.chainHeadSlot(h),m=h.slice();return m[u]=c(h[u]),m};this.b.emit(" "),this.mark(e,"operator",()=>this.b.emit("=")),this.b.emit(" ");let f=typeof l==="string"?this.bindingNameSpan(e,"target",l):null;if(f!==null)this.primitiveReuse={name:l,span:f.span};this.mark(e,"value",()=>this.expr(c(i))),this.primitiveReuse=null})}taggedTemplate(e){this.mark(e,"$self",()=>{let t=e[1];this.mark(e,"tag",()=>{if(T.needsGrouping(t,"head"))this.b.emit("("),this.expr(t),this.b.emit(")");else this.expr(t)});let r=e[2];this.mark(e,"str",()=>{if(typeof r==="string")if(r[0]==="`")this.b.emit(r);else this.b.emit("`"+T.escapeTemplate(r.slice(1,-1).replace(/\\"/g,'"'))+"`");else this.expr(r)})})}mapLiteral(e){this.mark(e,"$self",()=>{let t=e.slice(1);if(t.length===0){this.b.emit("new Map()");return}this.b.emit("new Map(["),t.forEach((r,i)=>{if(i>0)this.b.emit(", ");if(E(r)&&r[0]==="..."&&r.length===2){this.mark(r,"$self",()=>{this.b.emit("..."),this.expr(r[1])});return}if(!E(r)||r[0]!==":"||r.length!==3)throw this.positionedError(E(r)?r:e,"emitter: a map literal takes explicit `key: value` pairs — shorthand has no Map reading");this.mark(r,"$self",()=>{this.b.emit("[");let n=r[1];this.mark(r,"key",()=>{if(typeof n==="string"&&/^[A-Za-z_$][\w$]*$/.test(n)&&n!=="true"&&n!=="false"&&n!=="null"&&n!=="undefined")this.b.emit('"'),this.emitPrimitive(n),this.b.emit('"');else if(E(n)&&n[0]==="dynamicKey")this.expr(n[1]);else this.expr(n)}),this.b.emit(", "),this.mark(r,"value",()=>this.expr(r[2])),this.b.emit("]")})}),this.b.emit("])")})}matchReceiverClose(){this.b.emit(")"),this.b.emit(".match(")}regexIndex(e,t,r,i){this.mark(e,"$self",()=>{if(this.b.emit(`((_ = ${this.runtimeName("toMatchable")}(`),this.mark(e,"object",()=>this.expr(t)),this.matchReceiverClose(),this.mark(e,"key",()=>this.b.emit(r)),this.b.emit(")) && _["),i===null)this.b.emit("0");else this.mark(e,"capture",()=>this.expr(i));this.b.emit("])")})}static isMatchWrite(e){if(!E(e))return!1;if(e[0]==="=~"&&e.length===3)return!0;if(e[0]==="regex-index"&&e.length===4)return!0;return e[0]==="[]"&&e.length===3&&typeof e[2]==="string"&&e[2][0]==="/"}static paramMatchWrite(e){if(!E(e)||T1(e)||g1(e[0]))return null;if(T.isMatchWrite(e))return e;for(let t of e){let r=T.paramMatchWrite(t);if(r!==null)return r}return null}matchOp(e){if(E(e[1])&&e[1][0]==="=~"&&!e[1].parenthesized)throw this.positionedError(e,"emitter: `=~` does not chain — `a =~ b =~ c` would match the first match RESULT against the second pattern (parenthesize: `(a =~ b) =~ c`, or split the matches)");let t=e[2];this.mark(e,"$self",()=>{this.b.emit(`(_ = ${this.runtimeName("toMatchable")}(`),this.mark(e,"left",()=>this.expr(e[1])),this.matchReceiverClose(),this.mark(e,"right",()=>this.expr(t)),this.b.emit("))")})}modulo(e){this.mark(e,"$self",()=>{this.b.emit(T.MODULO+"("),this.mark(e,"left",()=>this.expr(e[1])),this.b.emit(", "),this.mark(e,"right",()=>this.expr(e[2])),this.b.emit(")")})}synthCompound(e,t,r,i){let n=e[1];if(this.checkExportedConstWrite(e,n),E(n)&&(n[0]==="."||n[0]==="[]")&&n.length===3){let s=this.refPlans.get(e)??{recv:null,obj:null,key:null};if(s.obj===null&&!this.repeatSafeValue(n[1]))throw this.positionedError(e,"emitter: reference plan missing for a compound target with an impure object — a capture site the planner walk did not reach");if(s.key===null&&n[0]==="[]"&&!this.repeatSafeValue(n[2]))throw this.positionedError(e,"emitter: reference plan missing for a compound target with an impure key — a capture site the planner walk did not reach");this.mark(e,"$self",()=>{let a=s.obj!==null||s.key!==null;if(a)this.b.emit("(");if(s.obj!==null)this.b.emit(`${s.obj} = `),this.mark(n,"object",()=>this.withExpression(()=>this.expr(n[1]))),this.b.emit(", ");if(s.key!==null)this.b.emit(`${s.key} = `),this.mark(n,"key",()=>this.withExpression(()=>this.expr(n[2]))),this.b.emit(", ");let o=this.stores.alias([n[0],s.obj??n[1],s.key??n[2]],n),l=()=>this.mark(e,"target",()=>this.withTarget(()=>this.expr(o)));if(l(),this.b.emit(" "),this.mark(e,"operator",()=>this.b.emit("=")),this.b.emit(" "),this.mark(e,"operator",()=>{this.b.emit(t),l(),this.b.emit(r),this.operand(e,"value",e[2]),this.b.emit(i)}),a)this.b.emit(")")});return}this.mark(e,"$self",()=>{let s=()=>this.mark(e,"target",()=>this.withTarget(()=>this.expr(e[1])));s(),this.b.emit(" "),this.mark(e,"operator",()=>this.b.emit("=")),this.b.emit(" "),this.mark(e,"operator",()=>{this.b.emit(t),s(),this.b.emit(r),this.operand(e,"value",e[2]),this.b.emit(i)})})}floorDivAssign(e){this.synthCompound(e,"Math.floor("," / ",")")}moduloAssign(e){this.synthCompound(e,T.MODULO+"(",", ",")")}awaitExpr(e){this.mark(e,"$self",()=>{this.mark(e,"operator",()=>this.b.emit("await")),this.b.emit(" "),this.operand(e,"value",e[1])})}doIife(e){let[,t]=e;this.mark(e,"$self",()=>{if(this.b.emit("("),this.mark(e,"func",()=>this.expr(t)),this.b.emit(")("),T1(t)){let r=t[1],i=r.map((s)=>{let a=T.paramCore(s);if(typeof a==="string")return()=>this.expr(a);if(E(a)&&a[0]==="default"&&typeof T.paramCore(a[1])==="string")return()=>this.expr(a[2]);throw this.positionedError(s,"emitter: do-IIFE parameters must be plain names or defaulted names — patterns and rests have no capture argument",e)}),n=r.length;while(n>0&&E(r[n-1])&&r[n-1][0]==="default")n--;i.slice(0,n).forEach((s,a)=>{if(a>0)this.b.emit(", ");s()})}this.b.emit(")")})}dammit(e){if(wn(e[1])){this.mark(e,"$self",()=>{this.mark(e,"operator",()=>this.b.emit("await")),this.b.emit(" new "),this.mark(e,"target",()=>this.rubyNewTarget(e[1])),this.b.emit("()")});return}this.mark(e,"$self",()=>{this.mark(e,"operator",()=>this.b.emit("await")),this.b.emit(" "),this.head(e,"target",e[1]),this.b.emit("()")})}maybeDammit(e){this.mark(e,"$self",()=>{this.mark(e,"operator",()=>this.b.emit("await")),this.b.emit(" "),this.head(e,"callee",e[1]),this.mark(e,"operator",()=>this.b.emit("?.")),this.mark(e,"args",()=>{this.b.emit("("),e.slice(2).forEach((t,r)=>{if(r>0)this.b.emit(", ");this.expr(t)}),this.b.emit(")")})})}yieldExpr(e){if(this.scopes.length<=1)throw this.positionedError(e,"emitter: 'yield' outside a function");this.mark(e,"$self",()=>{this.b.emit(e[0]==="yield-from"?"yield*":"yield");let t=e[0]==="yield-from"?e[1]:e[1];if(e.length>1)this.b.emit(" "),this.operand(e,"value",t)})}}var ea=(e)=>{if(!E(e))return!1;if(e[0]==="schema"&&e.length===2&&typeof e[1]==="object")return!0;return e.some(ea)},ta=(e)=>{if(!E(e))return!1;if(e[0]==="schema"&&e.length===2&&e[1]&&typeof e[1]==="object"&&e[1].kind==="model")return!0;return e.some(ta)},ra=(e,t)=>{if(!E(e))return!1;if(t(e))return!0;return e.some((r)=>ra(r,t))},na=(e,t)=>{if(!E(e))return!1;if(t(e))return!0;return e.some((r)=>na(r,t))},ia=(e)=>{if(!E(e))return!1;if(e[0]==="object"&&T.objectComprehension(e)!==null)return!0;return e.some(ia)},sa=(e)=>{if(!E(e))return!1;if(T.isMatchWrite(e))return!0;return e.some(sa)},ft=[{key:"intrinsics",names:["__toPropertyKey","__defineOwnDataProperty"],generatedNames:["__toPropertyKey","__defineOwnDataProperty"],url:new URL("./runtime/intrinsics.js",import.meta.url),triggers:(e,t)=>ia(e)},{key:"vocab",names:[],url:new URL("./runtime/vocab.js",import.meta.url),triggers:()=>!1},{key:"schema",names:["__schema","SchemaError","registerCoercer"],url:new URL("./runtime/schema.js",import.meta.url),requires:["vocab"],triggers:(e,t)=>ea(e)},{key:"duckdb",names:[],url:new URL("./runtime/duckdb.js",import.meta.url),triggers:()=>!1},{key:"orm",names:["schema","__schemaSetAdapter"],url:new URL("./runtime/orm.js",import.meta.url),requires:["schema","duckdb","vocab"],triggers:(e,t)=>ta(e)},{key:"reactive",names:["__state","__computed","__effect","__batch","__readonly","__setErrorHandler","__handleError","__catchErrors","getEffectSignal"],generatedNames:["__state","__computed","__effect","__batch"],url:new URL("./runtime/reactive.js",import.meta.url),triggers:(e,t)=>ra(e,t.isTrigger),types:{__state:"(value: T | { value: T; read(): T }) => { value: T; read(): T; touch(): void }",__computed:"(fn: () => T) => { readonly value: T; read(): T }",__effect:"(fn: () => void | (() => void)) => () => void",__batch:"(fn: () => T) => T",__readonly:"(value: T) => T",__setErrorHandler:"(handler: ((error: any, source?: string) => void) | null) => void",__handleError:"(error: any, source?: string) => void",__catchErrors:"(fn: () => T, onError?: (e: any) => void) => T | undefined",getEffectSignal:"() => AbortSignal | null"}},{key:"stdlib",names:["abort","assert","exit","kind","noop","p","pp","pj","pr","raise","rand","sleep","toMatchable","todo","warn","zip"],generatedNames:["toMatchable"],url:new URL("./runtime/stdlib.js",import.meta.url),triggers:(e,t)=>sa(e),types:{abort:"(msg?: string) => never",assert:"(v: any, msg?: string) => void",exit:"(code?: number) => never",kind:"(v: any) => string",noop:"() => void",p:"(...args: any[]) => void",pp:"(v: T) => T",pj:"(v: T) => T",pr:"(v: T) => T",raise:"(a: any, b?: any) => never",rand:"(a?: number, b?: number) => number",sleep:"(ms: number) => Promise",toMatchable:"(v: any) => string",todo:"(msg?: string) => never",warn:"(...args: any[]) => void",zip:"(...arrays: any[][]) => any[][]"}},{key:"components",names:["setContext","getContext","hasContext","__Component","__pushComponent","__popComponent","__clsx","__style","__lis","__reconcile","__transition","__handleComponentError","__gateBind","__detach","__ownerFrame","__pushOwner","__popOwner","__detachRef"],generatedNames:["setContext","getContext","__Component","__pushComponent","__popComponent","__clsx","__style","__reconcile","__transition","__gateBind","__detach","__ownerFrame","__pushOwner","__popOwner","__detachRef"],types:{__clsx:ys,__style:Es},url:new URL("./runtime/components.js",import.meta.url),requires:"reactive",triggers:(e,t)=>na(e,t.isComponent)}],An=new Map,Xs=(e)=>{if(!An.has(e.key)){let r=ps(e.url,"utf8").replace(/^export \{[^}]*\};\s*$/gm,"").replace(/^import \{[^}]*\} from '\.\/[a-z-]+\.js';\s*$/gm,"").trimEnd(),i=/^[ \t]*(import|export)\b.*$/m.exec(r);if(i)throw Error(`emitter: runtime '${e.key}' carries a top-level ${i[1]} that inline delivery cannot strip — `+`${JSON.stringify(i[0].trim())}. Inline bodies share one IIFE scope, so it would emit unparseable output. Use the './name.js' import form, or move the dependency into RUNTIME_TABLE 'requires'.`);An.set(e.key,r)}return An.get(e.key)},vn=(e)=>e.requires==null?[]:Array.isArray(e.requires)?e.requires:[e.requires],$e=(e,t,r=()=>!1)=>{if(t.size===0)return!1;let i=(o)=>typeof o==="string"&&t.has(o),n=(o)=>E(o)&&o.some(s),s=(o)=>{if(!E(o))return!1;let[l]=o;if(l==="object"||l==="array")return o.slice(1).some(s);if(l===null&&o.length===3)return!1;if(l===":"&&o.length===3)return E(o[1])&&a(o[1])||s(o[2]);if(l==="="&&o.length===3)return s(o[1])||a(o[2]);if((l==="rest"||l==="..."||l==="expansion")&&o.length===2)return s(o[1]);if(l==="typed-var"&&o.length===3)return s(o[1]);return a(o)},a=(o)=>{if(i(o))return!0;if(!E(o))return!1;let[l]=o;if(l==="schema"&&o.length===2&&o[1]&&typeof o[1]==="object"&&Array.isArray(o[1].entries))return!1;if(l==="."||l==="?.")return a(o[1]);if((l===":"||l==="void-pair")&&o.length===3)return E(o[1])&&a(o[1])||a(o[2]);if(T1(o))return n(o[1])||a(o[2]);if(g1(l)&&o.length===4)return n(o[2])||a(o[3]);if(r(o))return a(o[2]);if(M1.has(l)&&o.length===3)return E(o[1])&&s(o[1])||a(o[2]);if(l==="for-in"||l==="for-of"||l==="for-as")return E(o[1])&&o[1].some(s)||o.slice(2).some(a);if(l==="try")return o.slice(1).some((c)=>{if(!E(c))return!1;if(c[0]==="block")return a(c);return s(c[0])||a(c[1])});if(l==="class"&&o.length>=2)return o.slice(2).some(a);if(l==="typed-var"&&o.length===3)return E(o[1])&&a(o[1]);if(l==="cast"&&o.length===3)return a(o[1]);if(l==="import"||l==="type-decl")return!1;return o.some(a)};return a(e)},g3=(e,t)=>{let r=[],i=(n,s,a=[])=>{let o=(h)=>T.isReactiveDeclIn(s,h)||T.isEffectDeclIn(s,h)||T.isReadonlyDeclIn(s,h)||T.isGateDeclIn(s,h),l=(h)=>T.isReactiveDeclIn(s,h)||T.isEffectDeclIn(s,h),c=(h)=>T.isComponentDeclIn(s,h);r.push({tree:n,atoms:a,isDecl:o,isTrigger:l,isComponent:c});let f=(h)=>{if(!E(h))return;if(h[0]==="schema"&&h.length===2&&h[1]&&typeof h[1]==="object"&&Array.isArray(h[1].entries)){for(let{entry:u,tokens:m,value:S}of T.schemaBodies(h[1])){let g=e.subParse(m);if(g.stmts.length)i(["program",...g.stmts],g.stores,S?[]:e.schemaBodyParams(u).map((d)=>d.name))}return}h.forEach(f)};f(n)};return i(t,e.stores),r},b3=(e,t)=>{let r=new Set,i=(s)=>{for(let a of e.patternNames(s,[],!0))r.add(a)},n=(s,a)=>{if(!E(s))return;let[o]=s;if(e.isModuleImport(s)){for(let l of T.importedNames([s]))r.add(l);return}if(T1(s)){if(E(s[1]))for(let l of s[1])i(l);n(s[2],a);return}if(g1(o)&&s.length===4){if(typeof s[1]==="string")r.add(s[1]);if(E(s[2]))for(let l of s[2])i(l);n(s[3],a);return}if(o==="class"){if(typeof s[1]==="string")r.add(s[1]);for(let l of s.slice(2)){let c=E(l)&&l[0]==="block"?l.slice(1):[l];for(let f of c)if(E(f)&&g1(f[0])&&f.length===4){if(E(f[2]))for(let h of f[2])i(h);n(f[3],a)}else n(f,a)}return}if(o==="enum"){if(typeof s[1]==="string")r.add(s[1]);for(let l of s.slice(2))n(l,a);return}if(a(s)){if(typeof s[1]==="string")r.add(s[1]);else if(E(s[1]))i(s[1]);n(s[2],a);return}if((M1.has(o)||o==="void-assign")&&s.length>=2){if(typeof s[1]==="string")r.add(s[1]);else if(T.isPattern(s[1]))i(s[1])}if((o==="for-in"||o==="for-of"||o==="for-as")&&E(s[1]))for(let l of s[1])i(l);if(o==="try"){for(let l of s.slice(2))if(E(l)&&l.length===2&&T.isPattern(l[0]))i(l[0])}for(let l of s)n(l,a)};for(let{tree:s,atoms:a,isDecl:o}of t){n(s,o);for(let l of a)i(l)}return r},y3=(e,t)=>{let r=t.slice(1),i=new Set(e.hoistTargets(r).map(([a])=>a)),n=r.filter((a)=>e.isModuleImport(a));for(let a of T.importedNames(n))i.add(a);for(let a of e.collectReactiveNames(r))i.add(a);for(let a of e.collectEffectHandles(r))i.add(a);for(let a of e.collectReadonlyNames(r))i.add(a);let s=(a)=>{if(!E(a))return;if(a[0]==="enum"&&typeof a[1]==="string")i.add(a[1]);if(a[0]==="class"&&typeof a[1]==="string")i.add(a[1]);if(g1(a[0])&&a.length===4&&typeof a[1]==="string")i.add(a[1]);if((a[0]==="="||a[0]==="void-assign")&&typeof a[1]==="string")i.add(a[1])};for(let a of r)if(s(a),E(a)&&a[0]==="export"&&E(a[1]))s(a[1]);return i},Js=new Set(["plain","state","computed","effect","readonly","import","class","def","enum"]),S3=(e)=>{if(e==null)return[];if(!Array.isArray(e))throw Error(`emitter: ambientBindings must be an array of {name, kind}; got ${typeof e}`);let t=new Set;for(let r of e){if(r===null||typeof r!=="object"||!X1(r.name))throw Error(`emitter: ambientBindings entries are {name, kind} with an identifier name; got ${JSON.stringify(r)}`);if(!Js.has(r.kind))throw Error(`emitter: ambientBindings kind '${r.kind}' for '${r.name}' is not a binding kind — expected one of ${[...Js].join(", ")}`);if(t.has(r.name))throw Error(`emitter: ambientBindings names '${r.name}' twice — one binding per name`);t.add(r.name)}return e},R3=(e,t,r)=>{let i=t.slice(1),n=new Map,s=(c,f)=>{if(typeof c==="string"&&!n.has(c))n.set(c,f)},a=(c)=>{if(!r.has(c))s(c,"plain")};for(let c of i)if(e.isModuleImport(c))for(let f of T.importedNames([c]))s(f,"import");let o=e.collectComputedNames(i);for(let c of e.collectReactiveNames(i))s(c,o.has(c)?"computed":"state");for(let c of e.collectEffectHandles(i))s(c,"effect");for(let c of e.collectReadonlyNames(i))s(c,"readonly");let l=(c,f)=>{if(!E(c))return;if(c[0]==="enum"&&typeof c[1]==="string")s(c[1],"enum");if(c[0]==="class"&&typeof c[1]==="string")s(c[1],"class");if(g1(c[0])&&c.length===4&&typeof c[1]==="string")s(c[1],"def");if((c[0]==="="||c[0]==="void-assign")&&typeof c[1]==="string")if(f)s(c[1],"plain");else a(c[1])};for(let c of i)if(l(c,!1),E(c)&&c[0]==="export"&&E(c[1]))l(c[1],!0);for(let[c,,f]of e.hoistTargets(i))if(f==="target")a(c);return[...n].map(([c,f])=>({name:c,kind:f}))},On={field:"field",computed:"computed",derived:"derived",method:"method"};function E3(e,t,r,i){let n=[],s=(l)=>l.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");for(let l of t.story?.decl?.descriptor?.entries??[]){let c=l.tag==="union-member"?{name:l.name,start:l.start}:l.tag==="directive"&&l.name==="mixin"&&l.argTokens?.[0]?.kind==="IDENTIFIER"?{name:l.argTokens[0].value,start:l.argTokens[0].start}:null;if(c!==null&&typeof c.start==="number"){let h=new RegExp(`(= |\\| |& )(${s(c.name)})(?= \\||;| &)`).exec(r);if(h!==null)n.push({at:h.index+h[1].length,len:c.name.length,start:c.start,end:c.start+c.name.length});continue}if((On[l.tag]??null)===null||typeof l.start!=="number")continue;let f=new RegExp(`([{;] )((?:readonly )?)(${s(l.name)})(\\??: )`).exec(r);if(f===null)continue;if(n.push({at:f.index+f[1].length+f[2].length,len:l.name.length,start:l.start,end:l.start+l.name.length}),l.tag==="field"&&Array.isArray(l.typeSpan)&&e.b.source!==null){let h=/[A-Za-z_$][\w$]*/.exec(e.b.source.slice(l.typeSpan[0],l.typeSpan[1]));if(h!==null){let u=f.index+f[0].length,m=r.indexOf(";",u)<0?r.length:r.indexOf(";",u)+1,S=new RegExp(`(?u[1]))];for(let u of f){if(c.has(u))continue;let m=a[0]+1,S=-1;while(m>0){let g=l.lastIndexOf(u,m-1);if(g<0)break;if(!/[\w$]/.test(l[g-1]??" ")&&!/[\w$]/.test(l[g+u.length]??" ")){S=g;break}m=g}if(S>=0)c.set(u,[S,S+u.length])}let h=(u,m)=>n.some((S)=>ul.at-c.at);let o=0;for(let l of n){if(l.ate.b.emit(r.slice(l.at,l.at+l.len)));else e.b.emit(r.slice(l.at,l.at+l.len));o=l.at+l.len}e.b.emit(r.slice(o))}function k3(e,t,r,i){let n=t.story?.decl?.descriptor?.entries??null;if(n===null)return;let s=(a)=>a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");for(let a of n){let o=a.tag==="union-member"?{name:a.name,start:a.start}:a.tag==="directive"&&a.name==="mixin"&&a.argTokens?.[0]?.kind==="IDENTIFIER"?{name:a.argTokens[0].value,start:a.argTokens[0].start}:null;if(o===null||typeof o.start!=="number")continue;let l=new RegExp(`(= |\\| |& )(${s(o.name)})(?= \\||;| &)`).exec(r);if(l===null)continue;e.intrinsics.push({start:o.start,end:o.start+o.name.length,kind:"schema",label:null,name:o.name,gen:i+l.index+l[1].length})}for(let a of n){let o=On[a.tag]??null;if(o===null||typeof a.start!=="number")continue;let l=s(a.name),c=new RegExp(`([{;] )((?:readonly )?)(${l})(\\??: )`).exec(r);if(c===null)continue;let f=i+c.index+c[1].length+c[2].length;if(e.intrinsics.push({start:a.start,end:a.start+a.name.length,kind:"schema",label:o,name:a.name,gen:f,optional:c[4].startsWith("?")}),a.tag==="field"&&a.typeSpan!==null&&a.typeSpan!==void 0)e.intrinsics.push({start:a.typeSpan[0],end:a.typeSpan[1],kind:"schema",label:null,name:a.name,gen:f+c[3].length+c[4].length})}}function aa(e,{source:t="",runtimeDelivery:r="none",face:i="js",pins:n=null,strict:s=!1,script:a=!1,browserModule:o=!1,dataPayload:l=null,ambientBindings:c=null,repl:f=!1,hmr:h=!1,tolerant:u=!1,modulePath:m=null,appStashSpec:S=null,routesUnion:g=null,routeParams:d=null}={}){if(!e.sexpr)throw Error("emitter: cannot emit a failed parse");if(i!=="js"&&i!=="ts")throw Error(`emitter: unknown face '${i}' — expected 'js' (the shipping emission) or 'ts' (the editor face)`);let R=S3(c),b=new Qt(e.stores),_=new ge(b,{source:t,primitives:i==="ts"}),y=new T(b,_,{face:i,pins:n,strict:s,script:a,browserModule:o,repl:f,hmr:h,tolerant:u,modulePath:m,appStashSpec:S,routesUnion:g,routeParams:d});if(y.dataPayload=l,r!=="none"&&r!=="import"&&r!=="inline")throw Error(`emitter: unknown runtimeDelivery '${r}' — expected 'none', 'import', or 'inline'`);if(y.collectTsDirectives(e.sexpr,e.trivia??[],t),y.collectTypeOnlyImports(e.sexpr,t),y.collectAppAccessors(e.sexpr),y.tsNocheck!==null){let W=b.idOf(e.sexpr),j=y.tsNocheck;_.tsOnly(()=>{let q=()=>_.emit("//"+j.text.slice(1));if(W!==null)_.markSpan(W,"tsDirective",j.start,j.end,q);else q();_.emit(` -`)})}let p=g3(y,e.sexpr),k=(W)=>{if(typeof W==="string")y.temps.used.add(W);else if(E(W))for(let j of W)k(j)};for(let{tree:W,atoms:j}of p)k(W),k(j);for(let{name:W}of R)y.temps.used.add(W);let I=b3(y,p);for(let{name:W}of R)I.add(W);let A=[...I];for(let W of ft)for(let j of W.generatedNames??[])y.runtimeAliases.set(j,T.mintName(j,I));let x=y3(y,e.sexpr),O=R3(y,e.sexpr,new Set(R.map(({name:W})=>W)));for(let{name:W}of R)x.add(W);let G=new Set;for(let W of ft){let j=new Set(W.names.filter((q)=>!x.has(q)));if(p.some(({tree:q,isDecl:t1,isTrigger:M,isComponent:N})=>W.triggers?.(q,{isTrigger:M,isComponent:N})||$e(q,j,t1)))G.add(W.key)}for(let W=!0;W;){W=!1;for(let j of ft){if(!G.has(j.key))continue;for(let q of vn(j))if(!G.has(q))G.add(q),W=!0}}if(r!=="none"){let W=ft.filter((t1)=>G.has(t1.key)),j=[];if(r==="import")for(let t1 of W)j.push({runtimes:[t1],names:t1.names,imp:t1.url.pathname});else{let t1=new Set(W.flatMap((M)=>vn(M)));for(let M of W){if(t1.has(M.key))continue;let N=[],C=(D)=>{if(N.includes(D))return;for(let B of vn(D)){let a1=ft.find((h1)=>h1.key===B);if(a1)C(a1)}N.push(D)};if(C(M),N.length===1){j.push({runtimes:[M],names:M.names,body:Xs(M),types:M.types});continue}let w=N.some((D)=>D.types)?Object.assign({},...N.map((D)=>D.types)):void 0;j.push({runtimes:N,names:N.flatMap((D)=>D.names),body:N.map((D)=>Xs(D)).join(` +${" ".repeat(r)}`),s=a}n=["[]",i,s]}else n=[".",i,t[2]];return this.mark(e,"target",()=>this.expr(n)),n}throw this.positionedError(e,`emitter: ${e[0]} needs a stable target — a plain name or member/index chain (an optional chain has no reference to write back to)`)}static sliceTarget(e){return E(e)&&e[0]==="[]"&&e.length===3&&E(e[2])&&(e[2][0]===".."||e[2][0]==="...")&&e[2].length===3?e:null}sliceAssignStatement(e){let[,t,r]=e,[,i,n]=t,[s,a,o]=n,l=(h)=>T.isIntegerLiteral(h)?parseInt(h.replace(/_/g,""),10):null,c=(h)=>typeof h==="string";for(let h of[a,o])if(E(h)&&h[0]==="-"&&h.length===2&&T.isIntegerLiteral(h[1]))throw this.positionedError(e,"emitter: a slice assignment cannot count from the end — `splice` takes a count, not a negative index; open the range instead (`a[i..] = v`) or compute the bound from `a.length`");let f=(h)=>{if(c(h))this.expr(h);else this.b.emit("("),this.expr(h),this.b.emit(")")};this.mark(e,"$self",()=>{this.mark(e,"target",()=>this.mark(t,"$self",()=>{this.head(t,"object",i),this.b.emit(".splice("),this.mark(t,"key",()=>{if(a===null)this.b.emit("0");else f(a);if(this.b.emit(", "),o===null)this.b.emit("Infinity");else if(l(o)!==null&&(a===null||l(a)!==null))this.b.emit(String(l(o)-(a===null?0:l(a))+(s===".."?1:0)));else{if(f(o),a!==null)this.b.emit(" - "),f(a);if(s==="..")this.b.emit(" + 1")}})})),this.mark(e,"operator",()=>{});let h=E(r)&&r[0]==="array"&&r.slice(1).every((u)=>!(E(u)&&u[0]==="...")&&u!==",");this.mark(e,"value",()=>{if(h)r.slice(1).forEach((u)=>{this.b.emit(", "),this.callArg(u)});else this.b.emit(", ...[].concat("),this.expr(r),this.b.emit(")")}),this.b.emit(")")})}methodAssignStatement(e,t){let[,r,i]=e,n=i;while(E(n)){let l=T.chainHeadSlot(n);if(l===null)break;n=n[l]}let s=E(n)?this.stores.idOf(n):null,a=s!==null?this.stores.node(s)?.semanticKind:null;if(!(E(n)&&typeof n[0]==="string"&&/^[A-Za-z_$][\w$]*$/.test(n[0])&&(a==="call"||a==null&&T.jsTier(n)==="primary")))throw this.positionedError(e,"emitter: `.=` re-binds its target to a METHOD CALL on itself — the right side must be a call chain (`x .= trim()`)");this.mark(e,"$self",()=>{let l=this.compoundTarget(e,r,t),c=(h)=>{if(h===n)return[[".",l,n[0]],...n.slice(1)];let u=T.chainHeadSlot(h),d=h.slice();return d[u]=c(h[u]),d};this.b.emit(" "),this.mark(e,"operator",()=>this.b.emit("=")),this.b.emit(" ");let f=typeof l==="string"?this.bindingNameSpan(e,"target",l):null;if(f!==null)this.primitiveReuse={name:l,span:f.span};this.mark(e,"value",()=>this.expr(c(i))),this.primitiveReuse=null})}taggedTemplate(e){this.mark(e,"$self",()=>{let t=e[1];this.mark(e,"tag",()=>{if(T.needsGrouping(t,"head"))this.b.emit("("),this.expr(t),this.b.emit(")");else this.expr(t)});let r=e[2];this.mark(e,"str",()=>{if(typeof r==="string")if(r[0]==="`")this.b.emit(r);else this.b.emit("`"+T.escapeTemplate(r.slice(1,-1).replace(/\\"/g,'"'))+"`");else this.expr(r)})})}mapLiteral(e){this.mark(e,"$self",()=>{let t=e.slice(1);if(t.length===0){this.b.emit("new Map()");return}this.b.emit("new Map(["),t.forEach((r,i)=>{if(i>0)this.b.emit(", ");if(E(r)&&r[0]==="..."&&r.length===2){this.mark(r,"$self",()=>{this.b.emit("..."),this.expr(r[1])});return}if(!E(r)||r[0]!==":"||r.length!==3)throw this.positionedError(E(r)?r:e,"emitter: a map literal takes explicit `key: value` pairs — shorthand has no Map reading");this.mark(r,"$self",()=>{this.b.emit("[");let n=r[1];this.mark(r,"key",()=>{if(typeof n==="string"&&/^[A-Za-z_$][\w$]*$/.test(n)&&n!=="true"&&n!=="false"&&n!=="null"&&n!=="undefined")this.b.emit('"'),this.emitPrimitive(n),this.b.emit('"');else if(E(n)&&n[0]==="dynamicKey")this.expr(n[1]);else this.expr(n)}),this.b.emit(", "),this.mark(r,"value",()=>this.expr(r[2])),this.b.emit("]")})}),this.b.emit("])")})}matchReceiverClose(){this.b.emit(")"),this.b.emit(".match(")}regexIndex(e,t,r,i){this.mark(e,"$self",()=>{if(this.b.emit(`((_ = ${this.runtimeName("toMatchable")}(`),this.mark(e,"object",()=>this.expr(t)),this.matchReceiverClose(),this.mark(e,"key",()=>this.b.emit(r)),this.b.emit(")) && _["),i===null)this.b.emit("0");else this.mark(e,"capture",()=>this.expr(i));this.b.emit("])")})}static isMatchWrite(e){if(!E(e))return!1;if(e[0]==="=~"&&e.length===3)return!0;if(e[0]==="regex-index"&&e.length===4)return!0;return e[0]==="[]"&&e.length===3&&typeof e[2]==="string"&&e[2][0]==="/"}static paramMatchWrite(e){if(!E(e)||T1(e)||g1(e[0]))return null;if(T.isMatchWrite(e))return e;for(let t of e){let r=T.paramMatchWrite(t);if(r!==null)return r}return null}matchOp(e){if(E(e[1])&&e[1][0]==="=~"&&!e[1].parenthesized)throw this.positionedError(e,"emitter: `=~` does not chain — `a =~ b =~ c` would match the first match RESULT against the second pattern (parenthesize: `(a =~ b) =~ c`, or split the matches)");let t=e[2];this.mark(e,"$self",()=>{this.b.emit(`(_ = ${this.runtimeName("toMatchable")}(`),this.mark(e,"left",()=>this.expr(e[1])),this.matchReceiverClose(),this.mark(e,"right",()=>this.expr(t)),this.b.emit("))")})}modulo(e){this.mark(e,"$self",()=>{this.b.emit(T.MODULO+"("),this.mark(e,"left",()=>this.expr(e[1])),this.b.emit(", "),this.mark(e,"right",()=>this.expr(e[2])),this.b.emit(")")})}synthCompound(e,t,r,i){let n=e[1];if(this.checkExportedConstWrite(e,n),E(n)&&(n[0]==="."||n[0]==="[]")&&n.length===3){let s=this.refPlans.get(e)??{recv:null,obj:null,key:null};if(s.obj===null&&!this.repeatSafeValue(n[1]))throw this.positionedError(e,"emitter: reference plan missing for a compound target with an impure object — a capture site the planner walk did not reach");if(s.key===null&&n[0]==="[]"&&!this.repeatSafeValue(n[2]))throw this.positionedError(e,"emitter: reference plan missing for a compound target with an impure key — a capture site the planner walk did not reach");this.mark(e,"$self",()=>{let a=s.obj!==null||s.key!==null;if(a)this.b.emit("(");if(s.obj!==null)this.b.emit(`${s.obj} = `),this.mark(n,"object",()=>this.withExpression(()=>this.expr(n[1]))),this.b.emit(", ");if(s.key!==null)this.b.emit(`${s.key} = `),this.mark(n,"key",()=>this.withExpression(()=>this.expr(n[2]))),this.b.emit(", ");let o=this.stores.alias([n[0],s.obj??n[1],s.key??n[2]],n),l=()=>this.mark(e,"target",()=>this.withTarget(()=>this.expr(o)));if(l(),this.b.emit(" "),this.mark(e,"operator",()=>this.b.emit("=")),this.b.emit(" "),this.mark(e,"operator",()=>{this.b.emit(t),l(),this.b.emit(r),this.operand(e,"value",e[2]),this.b.emit(i)}),a)this.b.emit(")")});return}this.mark(e,"$self",()=>{let s=()=>this.mark(e,"target",()=>this.withTarget(()=>this.expr(e[1])));s(),this.b.emit(" "),this.mark(e,"operator",()=>this.b.emit("=")),this.b.emit(" "),this.mark(e,"operator",()=>{this.b.emit(t),s(),this.b.emit(r),this.operand(e,"value",e[2]),this.b.emit(i)})})}floorDivAssign(e){this.synthCompound(e,"Math.floor("," / ",")")}moduloAssign(e){this.synthCompound(e,T.MODULO+"(",", ",")")}awaitExpr(e){this.mark(e,"$self",()=>{this.mark(e,"operator",()=>this.b.emit("await")),this.b.emit(" "),this.operand(e,"value",e[1])})}doIife(e){let[,t]=e;this.mark(e,"$self",()=>{if(this.b.emit("("),this.mark(e,"func",()=>this.expr(t)),this.b.emit(")("),T1(t)){let r=t[1],i=r.map((s)=>{let a=T.paramCore(s);if(typeof a==="string")return()=>this.expr(a);if(E(a)&&a[0]==="default"&&typeof T.paramCore(a[1])==="string")return()=>this.expr(a[2]);throw this.positionedError(s,"emitter: do-IIFE parameters must be plain names or defaulted names — patterns and rests have no capture argument",e)}),n=r.length;while(n>0&&E(r[n-1])&&r[n-1][0]==="default")n--;i.slice(0,n).forEach((s,a)=>{if(a>0)this.b.emit(", ");s()})}this.b.emit(")")})}dammit(e){if(wn(e[1])){this.mark(e,"$self",()=>{this.mark(e,"operator",()=>this.b.emit("await")),this.b.emit(" new "),this.mark(e,"target",()=>this.rubyNewTarget(e[1])),this.b.emit("()")});return}this.mark(e,"$self",()=>{this.mark(e,"operator",()=>this.b.emit("await")),this.b.emit(" "),this.head(e,"target",e[1]),this.b.emit("()")})}maybeDammit(e){this.mark(e,"$self",()=>{this.mark(e,"operator",()=>this.b.emit("await")),this.b.emit(" "),this.head(e,"callee",e[1]),this.mark(e,"operator",()=>this.b.emit("?.")),this.mark(e,"args",()=>{this.b.emit("("),e.slice(2).forEach((t,r)=>{if(r>0)this.b.emit(", ");this.expr(t)}),this.b.emit(")")})})}yieldExpr(e){if(this.scopes.length<=1)throw this.positionedError(e,"emitter: 'yield' outside a function");this.mark(e,"$self",()=>{this.b.emit(e[0]==="yield-from"?"yield*":"yield");let t=e[0]==="yield-from"?e[1]:e[1];if(e.length>1)this.b.emit(" "),this.operand(e,"value",t)})}}var ea=(e)=>{if(!E(e))return!1;if(e[0]==="schema"&&e.length===2&&typeof e[1]==="object")return!0;return e.some(ea)},ta=(e)=>{if(!E(e))return!1;if(e[0]==="schema"&&e.length===2&&e[1]&&typeof e[1]==="object"&&e[1].kind==="model")return!0;return e.some(ta)},ra=(e,t)=>{if(!E(e))return!1;if(t(e))return!0;return e.some((r)=>ra(r,t))},na=(e,t)=>{if(!E(e))return!1;if(t(e))return!0;return e.some((r)=>na(r,t))},ia=(e)=>{if(!E(e))return!1;if(e[0]==="object"&&T.objectComprehension(e)!==null)return!0;return e.some(ia)},sa=(e)=>{if(!E(e))return!1;if(T.isMatchWrite(e))return!0;return e.some(sa)},ft=[{key:"intrinsics",names:["__toPropertyKey","__defineOwnDataProperty"],generatedNames:["__toPropertyKey","__defineOwnDataProperty"],url:new URL("./runtime/intrinsics.js",import.meta.url),triggers:(e,t)=>ia(e)},{key:"vocab",names:[],url:new URL("./runtime/vocab.js",import.meta.url),triggers:()=>!1},{key:"schema",names:["__schema","SchemaError","registerCoercer"],url:new URL("./runtime/schema.js",import.meta.url),requires:["vocab"],triggers:(e,t)=>ea(e)},{key:"duckdb",names:[],url:new URL("./runtime/duckdb.js",import.meta.url),triggers:()=>!1},{key:"orm",names:["schema","__schemaSetAdapter"],url:new URL("./runtime/orm.js",import.meta.url),requires:["schema","duckdb","vocab"],triggers:(e,t)=>ta(e)},{key:"reactive",names:["__state","__computed","__effect","__batch","__readonly","__setErrorHandler","__handleError","__catchErrors","getEffectSignal"],generatedNames:["__state","__computed","__effect","__batch"],url:new URL("./runtime/reactive.js",import.meta.url),triggers:(e,t)=>ra(e,t.isTrigger),types:{__state:"(value: T | { value: T; read(): T }) => { value: T; read(): T; touch(): void }",__computed:"(fn: () => T) => { readonly value: T; read(): T }",__effect:"(fn: () => void | (() => void)) => () => void",__batch:"(fn: () => T) => T",__readonly:"(value: T) => T",__setErrorHandler:"(handler: ((error: any, source?: string) => void) | null) => void",__handleError:"(error: any, source?: string) => void",__catchErrors:"(fn: () => T, onError?: (e: any) => void) => T | undefined",getEffectSignal:"() => AbortSignal | null"}},{key:"stdlib",names:["abort","assert","exit","kind","noop","p","pp","pj","pr","raise","rand","sleep","toMatchable","todo","warn","zip"],generatedNames:["toMatchable"],url:new URL("./runtime/stdlib.js",import.meta.url),triggers:(e,t)=>sa(e),types:{abort:"(msg?: string) => never",assert:"(v: any, msg?: string) => void",exit:"(code?: number) => never",kind:"(v: any) => string",noop:"() => void",p:"(...args: any[]) => void",pp:"(v: T) => T",pj:"(v: T) => T",pr:"(v: T) => T",raise:"(a: any, b?: any) => never",rand:"(a?: number, b?: number) => number",sleep:"(ms: number) => Promise",toMatchable:"(v: any) => string",todo:"(msg?: string) => never",warn:"(...args: any[]) => void",zip:"(...arrays: any[][]) => any[][]"}},{key:"components",names:["setContext","getContext","hasContext","__Component","__pushComponent","__popComponent","__clsx","__style","__lis","__reconcile","__transition","__handleComponentError","__gateBind","__detach","__ownerFrame","__pushOwner","__popOwner","__detachRef"],generatedNames:["setContext","getContext","__Component","__pushComponent","__popComponent","__clsx","__style","__reconcile","__transition","__gateBind","__detach","__ownerFrame","__pushOwner","__popOwner","__detachRef"],types:{__clsx:ys,__style:Es},url:new URL("./runtime/components.js",import.meta.url),requires:"reactive",triggers:(e,t)=>na(e,t.isComponent)}],An=new Map,Xs=(e)=>{if(!An.has(e.key)){let r=ps(e.url,"utf8").replace(/^export \{[^}]*\};\s*$/gm,"").replace(/^import \{[^}]*\} from '\.\/[a-z-]+\.js';\s*$/gm,"").trimEnd(),i=/^[ \t]*(import|export)\b.*$/m.exec(r);if(i)throw Error(`emitter: runtime '${e.key}' carries a top-level ${i[1]} that inline delivery cannot strip — `+`${JSON.stringify(i[0].trim())}. Inline bodies share one IIFE scope, so it would emit unparseable output. Use the './name.js' import form, or move the dependency into RUNTIME_TABLE 'requires'.`);An.set(e.key,r)}return An.get(e.key)},vn=(e)=>e.requires==null?[]:Array.isArray(e.requires)?e.requires:[e.requires],Ie=(e,t,r=()=>!1)=>{if(t.size===0)return!1;let i=(o)=>typeof o==="string"&&t.has(o),n=(o)=>E(o)&&o.some(s),s=(o)=>{if(!E(o))return!1;let[l]=o;if(l==="object"||l==="array")return o.slice(1).some(s);if(l===null&&o.length===3)return!1;if(l===":"&&o.length===3)return E(o[1])&&a(o[1])||s(o[2]);if(l==="="&&o.length===3)return s(o[1])||a(o[2]);if((l==="rest"||l==="..."||l==="expansion")&&o.length===2)return s(o[1]);if(l==="typed-var"&&o.length===3)return s(o[1]);return a(o)},a=(o)=>{if(i(o))return!0;if(!E(o))return!1;let[l]=o;if(l==="schema"&&o.length===2&&o[1]&&typeof o[1]==="object"&&Array.isArray(o[1].entries))return!1;if(l==="."||l==="?.")return a(o[1]);if((l===":"||l==="void-pair")&&o.length===3)return E(o[1])&&a(o[1])||a(o[2]);if(T1(o))return n(o[1])||a(o[2]);if(g1(l)&&o.length===4)return n(o[2])||a(o[3]);if(r(o))return a(o[2]);if(M1.has(l)&&o.length===3)return E(o[1])&&s(o[1])||a(o[2]);if(l==="for-in"||l==="for-of"||l==="for-as")return E(o[1])&&o[1].some(s)||o.slice(2).some(a);if(l==="try")return o.slice(1).some((c)=>{if(!E(c))return!1;if(c[0]==="block")return a(c);return s(c[0])||a(c[1])});if(l==="class"&&o.length>=2)return o.slice(2).some(a);if(l==="typed-var"&&o.length===3)return E(o[1])&&a(o[1]);if(l==="cast"&&o.length===3)return a(o[1]);if(l==="import"||l==="type-decl")return!1;return o.some(a)};return a(e)},g3=(e,t)=>{let r=[],i=(n,s,a=[])=>{let o=(h)=>T.isReactiveDeclIn(s,h)||T.isEffectDeclIn(s,h)||T.isReadonlyDeclIn(s,h)||T.isGateDeclIn(s,h),l=(h)=>T.isReactiveDeclIn(s,h)||T.isEffectDeclIn(s,h),c=(h)=>T.isComponentDeclIn(s,h);r.push({tree:n,atoms:a,isDecl:o,isTrigger:l,isComponent:c});let f=(h)=>{if(!E(h))return;if(h[0]==="schema"&&h.length===2&&h[1]&&typeof h[1]==="object"&&Array.isArray(h[1].entries)){for(let{entry:u,tokens:d,value:S}of T.schemaBodies(h[1])){let g=e.subParse(d);if(g.stmts.length)i(["program",...g.stmts],g.stores,S?[]:e.schemaBodyParams(u).map((p)=>p.name))}return}h.forEach(f)};f(n)};return i(t,e.stores),r},b3=(e,t)=>{let r=new Set,i=(s)=>{for(let a of e.patternNames(s,[],!0))r.add(a)},n=(s,a)=>{if(!E(s))return;let[o]=s;if(e.isModuleImport(s)){for(let l of T.importedNames([s]))r.add(l);return}if(T1(s)){if(E(s[1]))for(let l of s[1])i(l);n(s[2],a);return}if(g1(o)&&s.length===4){if(typeof s[1]==="string")r.add(s[1]);if(E(s[2]))for(let l of s[2])i(l);n(s[3],a);return}if(o==="class"){if(typeof s[1]==="string")r.add(s[1]);for(let l of s.slice(2)){let c=E(l)&&l[0]==="block"?l.slice(1):[l];for(let f of c)if(E(f)&&g1(f[0])&&f.length===4){if(E(f[2]))for(let h of f[2])i(h);n(f[3],a)}else n(f,a)}return}if(o==="enum"){if(typeof s[1]==="string")r.add(s[1]);for(let l of s.slice(2))n(l,a);return}if(a(s)){if(typeof s[1]==="string")r.add(s[1]);else if(E(s[1]))i(s[1]);n(s[2],a);return}if((M1.has(o)||o==="void-assign")&&s.length>=2){if(typeof s[1]==="string")r.add(s[1]);else if(T.isPattern(s[1]))i(s[1])}if((o==="for-in"||o==="for-of"||o==="for-as")&&E(s[1]))for(let l of s[1])i(l);if(o==="try"){for(let l of s.slice(2))if(E(l)&&l.length===2&&T.isPattern(l[0]))i(l[0])}for(let l of s)n(l,a)};for(let{tree:s,atoms:a,isDecl:o}of t){n(s,o);for(let l of a)i(l)}return r},y3=(e,t)=>{let r=t.slice(1),i=new Set(e.hoistTargets(r).map(([a])=>a)),n=r.filter((a)=>e.isModuleImport(a));for(let a of T.importedNames(n))i.add(a);for(let a of e.collectReactiveNames(r))i.add(a);for(let a of e.collectEffectHandles(r))i.add(a);for(let a of e.collectReadonlyNames(r))i.add(a);let s=(a)=>{if(!E(a))return;if(a[0]==="enum"&&typeof a[1]==="string")i.add(a[1]);if(a[0]==="class"&&typeof a[1]==="string")i.add(a[1]);if(g1(a[0])&&a.length===4&&typeof a[1]==="string")i.add(a[1]);if((a[0]==="="||a[0]==="void-assign")&&typeof a[1]==="string")i.add(a[1])};for(let a of r)if(s(a),E(a)&&a[0]==="export"&&E(a[1]))s(a[1]);return i},Js=new Set(["plain","state","computed","effect","readonly","import","class","def","enum"]),S3=(e)=>{if(e==null)return[];if(!Array.isArray(e))throw Error(`emitter: ambientBindings must be an array of {name, kind}; got ${typeof e}`);let t=new Set;for(let r of e){if(r===null||typeof r!=="object"||!X1(r.name))throw Error(`emitter: ambientBindings entries are {name, kind} with an identifier name; got ${JSON.stringify(r)}`);if(!Js.has(r.kind))throw Error(`emitter: ambientBindings kind '${r.kind}' for '${r.name}' is not a binding kind — expected one of ${[...Js].join(", ")}`);if(t.has(r.name))throw Error(`emitter: ambientBindings names '${r.name}' twice — one binding per name`);t.add(r.name)}return e},R3=(e,t,r)=>{let i=t.slice(1),n=new Map,s=(c,f)=>{if(typeof c==="string"&&!n.has(c))n.set(c,f)},a=(c)=>{if(!r.has(c))s(c,"plain")};for(let c of i)if(e.isModuleImport(c))for(let f of T.importedNames([c]))s(f,"import");let o=e.collectComputedNames(i);for(let c of e.collectReactiveNames(i))s(c,o.has(c)?"computed":"state");for(let c of e.collectEffectHandles(i))s(c,"effect");for(let c of e.collectReadonlyNames(i))s(c,"readonly");let l=(c,f)=>{if(!E(c))return;if(c[0]==="enum"&&typeof c[1]==="string")s(c[1],"enum");if(c[0]==="class"&&typeof c[1]==="string")s(c[1],"class");if(g1(c[0])&&c.length===4&&typeof c[1]==="string")s(c[1],"def");if((c[0]==="="||c[0]==="void-assign")&&typeof c[1]==="string")if(f)s(c[1],"plain");else a(c[1])};for(let c of i)if(l(c,!1),E(c)&&c[0]==="export"&&E(c[1]))l(c[1],!0);for(let[c,,f]of e.hoistTargets(i))if(f==="target")a(c);return[...n].map(([c,f])=>({name:c,kind:f}))},On={field:"field",computed:"computed",derived:"derived",method:"method"};function E3(e,t,r,i){let n=[],s=(l)=>l.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");for(let l of t.story?.decl?.descriptor?.entries??[]){let c=l.tag==="union-member"?{name:l.name,start:l.start}:l.tag==="directive"&&l.name==="mixin"&&l.argTokens?.[0]?.kind==="IDENTIFIER"?{name:l.argTokens[0].value,start:l.argTokens[0].start}:null;if(c!==null&&typeof c.start==="number"){let h=new RegExp(`(= |\\| |& )(${s(c.name)})(?= \\||;| &)`).exec(r);if(h!==null)n.push({at:h.index+h[1].length,len:c.name.length,start:c.start,end:c.start+c.name.length});continue}if((On[l.tag]??null)===null||typeof l.start!=="number")continue;let f=new RegExp(`([{;] )((?:readonly )?)(${s(l.name)})(\\??: )`).exec(r);if(f===null)continue;if(n.push({at:f.index+f[1].length+f[2].length,len:l.name.length,start:l.start,end:l.start+l.name.length}),l.tag==="field"&&Array.isArray(l.typeSpan)&&e.b.source!==null){let h=/[A-Za-z_$][\w$]*/.exec(e.b.source.slice(l.typeSpan[0],l.typeSpan[1]));if(h!==null){let u=f.index+f[0].length,d=r.indexOf(";",u)<0?r.length:r.indexOf(";",u)+1,S=new RegExp(`(?u[1]))];for(let u of f){if(c.has(u))continue;let d=a[0]+1,S=-1;while(d>0){let g=l.lastIndexOf(u,d-1);if(g<0)break;if(!/[\w$]/.test(l[g-1]??" ")&&!/[\w$]/.test(l[g+u.length]??" ")){S=g;break}d=g}if(S>=0)c.set(u,[S,S+u.length])}let h=(u,d)=>n.some((S)=>ul.at-c.at);let o=0;for(let l of n){if(l.ate.b.emit(r.slice(l.at,l.at+l.len)));else e.b.emit(r.slice(l.at,l.at+l.len));o=l.at+l.len}e.b.emit(r.slice(o))}function k3(e,t,r,i){let n=t.story?.decl?.descriptor?.entries??null;if(n===null)return;let s=(a)=>a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");for(let a of n){let o=a.tag==="union-member"?{name:a.name,start:a.start}:a.tag==="directive"&&a.name==="mixin"&&a.argTokens?.[0]?.kind==="IDENTIFIER"?{name:a.argTokens[0].value,start:a.argTokens[0].start}:null;if(o===null||typeof o.start!=="number")continue;let l=new RegExp(`(= |\\| |& )(${s(o.name)})(?= \\||;| &)`).exec(r);if(l===null)continue;e.intrinsics.push({start:o.start,end:o.start+o.name.length,kind:"schema",label:null,name:o.name,gen:i+l.index+l[1].length})}for(let a of n){let o=On[a.tag]??null;if(o===null||typeof a.start!=="number")continue;let l=s(a.name),c=new RegExp(`([{;] )((?:readonly )?)(${l})(\\??: )`).exec(r);if(c===null)continue;let f=i+c.index+c[1].length+c[2].length;if(e.intrinsics.push({start:a.start,end:a.start+a.name.length,kind:"schema",label:o,name:a.name,gen:f,optional:c[4].startsWith("?")}),a.tag==="field"&&a.typeSpan!==null&&a.typeSpan!==void 0)e.intrinsics.push({start:a.typeSpan[0],end:a.typeSpan[1],kind:"schema",label:null,name:a.name,gen:f+c[3].length+c[4].length})}}function aa(e,{source:t="",runtimeDelivery:r="none",face:i="js",pins:n=null,strict:s=!1,script:a=!1,browserModule:o=!1,dataPayload:l=null,ambientBindings:c=null,repl:f=!1,hmr:h=!1,tolerant:u=!1,modulePath:d=null,appStashSpec:S=null,routesUnion:g=null,routeParams:p=null}={}){if(!e.sexpr)throw Error("emitter: cannot emit a failed parse");if(i!=="js"&&i!=="ts")throw Error(`emitter: unknown face '${i}' — expected 'js' (the shipping emission) or 'ts' (the editor face)`);let R=S3(c),b=new Qt(e.stores),_=new ge(b,{source:t,primitives:i==="ts"}),y=new T(b,_,{face:i,pins:n,strict:s,script:a,browserModule:o,repl:f,hmr:h,tolerant:u,modulePath:d,appStashSpec:S,routesUnion:g,routeParams:p});if(y.dataPayload=l,r!=="none"&&r!=="import"&&r!=="inline")throw Error(`emitter: unknown runtimeDelivery '${r}' — expected 'none', 'import', or 'inline'`);if(y.collectTsDirectives(e.sexpr,e.trivia??[],t),y.collectTypeOnlyImports(e.sexpr,t),y.collectAppAccessors(e.sexpr),y.tsNocheck!==null){let V=b.idOf(e.sexpr),j=y.tsNocheck;_.tsOnly(()=>{let q=()=>_.emit("//"+j.text.slice(1));if(V!==null)_.markSpan(V,"tsDirective",j.start,j.end,q);else q();_.emit(` +`)})}let m=g3(y,e.sexpr),k=(V)=>{if(typeof V==="string")y.temps.used.add(V);else if(E(V))for(let j of V)k(j)};for(let{tree:V,atoms:j}of m)k(V),k(j);for(let{name:V}of R)y.temps.used.add(V);let O=b3(y,m);for(let{name:V}of R)O.add(V);let A=[...O];for(let V of ft)for(let j of V.generatedNames??[])y.runtimeAliases.set(j,T.mintName(j,O));let x=y3(y,e.sexpr),I=R3(y,e.sexpr,new Set(R.map(({name:V})=>V)));for(let{name:V}of R)x.add(V);let H=new Set;for(let V of ft){let j=new Set(V.names.filter((q)=>!x.has(q)));if(m.some(({tree:q,isDecl:t1,isTrigger:M,isComponent:N})=>V.triggers?.(q,{isTrigger:M,isComponent:N})||Ie(q,j,t1)))H.add(V.key)}for(let V=!0;V;){V=!1;for(let j of ft){if(!H.has(j.key))continue;for(let q of vn(j))if(!H.has(q))H.add(q),V=!0}}if(r!=="none"){let V=ft.filter((t1)=>H.has(t1.key)),j=[];if(r==="import")for(let t1 of V)j.push({runtimes:[t1],names:t1.names,imp:t1.url.pathname});else{let t1=new Set(V.flatMap((M)=>vn(M)));for(let M of V){if(t1.has(M.key))continue;let N=[],C=(D)=>{if(N.includes(D))return;for(let B of vn(D)){let a1=ft.find((h1)=>h1.key===B);if(a1)C(a1)}N.push(D)};if(C(M),N.length===1){j.push({runtimes:[M],names:M.names,body:Xs(M),types:M.types});continue}let w=N.some((D)=>D.types)?Object.assign({},...N.map((D)=>D.types)):void 0;j.push({runtimes:N,names:N.flatMap((D)=>D.names),body:N.map((D)=>Xs(D)).join(` `),types:w})}}let q=b.idOf(e.sexpr);for(let t1 of j){let M=new Set(t1.runtimes.flatMap((w)=>w.generatedNames??[])),N=t1.names.filter((w)=>M.has(w)||!x.has(w)).map((w)=>({name:w,local:M.has(w)?y.runtimeAliases.get(w):w}));if(N.length===0)continue;let C=_.offset;if(t1.imp){_.emit(`import { ${N.map(({name:D,local:B})=>D===B?D:`${D} as ${B}`).join(", ")} } from `);let w=_.offset;_.emit(JSON.stringify(t1.imp)),y.importSpans.push({start:w,end:_.offset,specifier:JSON.stringify(t1.imp)}),_.emit(`; `)}else{_.emit(`const { ${N.map(({name:D,local:B})=>D===B?D:`${D}: ${B}`).join(", ")} }`);let w=i==="ts"&&t1.types?`{ ${N.map(({name:D})=>`${D}: ${t1.types[D]??"any"}`).join("; ")} }`:null;if(w!==null&&w.includes("__RipClassValue"))y._needsClassValue=!0;if(w!==null&&w.includes("__RipCSSProperties"))y._needsCssProperties=!0;if(_.emit(" = "),w)_.tsOnly(()=>_.emit("("));if(_.emit(`(() => { ${t1.body} return { ${t1.names.join(", ")} }; })()`),w)_.tsOnly(()=>_.emit(` as ${w})`));_.emit(`; -`)}if(q!==null)_.rows.push({nodeId:q,role:"runtime",mappingKind:"synthetic",sourceStart:0,sourceEnd:0,generatedStart:C,generatedEnd:_.offset,fileId:0})}}let K=null;if(i==="ts"){let W=null;try{W=gs(e.sexpr,_.source,T.importedNames(e.sexpr.slice(1).filter((j)=>y.isModuleImport(j))))}catch(j){if(j instanceof mn){let q=Error(`emitter: ${j.message}`),t1=j.node!==null?b.idOf(j.node):null,M=t1!==null?b.selfSpan(t1):null;if(M)q.start=M[0],q.end=M[1];else if(j.start!==null)q.start=j.start,q.end=j.start;throw q}throw j}if(K=W,W!==null){let j=b.idOf(e.sexpr),q=_.offset;if(_.tsOnly(()=>_.emit(W.intrinsicLines.join(` +`)}if(q!==null)_.rows.push({nodeId:q,role:"runtime",mappingKind:"synthetic",sourceStart:0,sourceEnd:0,generatedStart:C,generatedEnd:_.offset,fileId:0})}}let G=null;if(i==="ts"){let V=null;try{V=gs(e.sexpr,_.source,T.importedNames(e.sexpr.slice(1).filter((j)=>y.isModuleImport(j))))}catch(j){if(j instanceof dn){let q=Error(`emitter: ${j.message}`),t1=j.node!==null?b.idOf(j.node):null,M=t1!==null?b.selfSpan(t1):null;if(M)q.start=M[0],q.end=M[1];else if(j.start!==null)q.start=j.start,q.end=j.start;throw q}throw j}if(G=V,V!==null){let j=b.idOf(e.sexpr),q=_.offset;if(_.tsOnly(()=>_.emit(V.intrinsicLines.join(` `)+` -`)),j!==null)_.rows.push({nodeId:j,role:"schemaTypes",mappingKind:"synthetic",sourceStart:0,sourceEnd:0,generatedStart:q,generatedEnd:_.offset,fileId:0});y.schemaStories=new Map;let t1=[...W.stories.map((M)=>({node:M.decl.node,exported:M.decl.exported,story:M,lines:M.faceAliasLines??M.aliasLines})),...W.derivations.map((M)=>({node:M.decl.node,exported:M.decl.exported,story:null,lines:M.aliasLines}))];t1.forEach((M,N)=>{if(M.story!==null)y.schemaStories.set(M.node,M.story);let C=M.exported?"export ":"",w=b.idOf(M.node),D=N===t1.length-1?` +`)),j!==null)_.rows.push({nodeId:j,role:"schemaTypes",mappingKind:"synthetic",sourceStart:0,sourceEnd:0,generatedStart:q,generatedEnd:_.offset,fileId:0});y.schemaStories=new Map;let t1=[...V.stories.map((M)=>({node:M.decl.node,exported:M.decl.exported,story:M,lines:M.faceAliasLines??M.aliasLines})),...V.derivations.map((M)=>({node:M.decl.node,exported:M.decl.exported,story:null,lines:M.aliasLines}))];t1.forEach((M,N)=>{if(M.story!==null)y.schemaStories.set(M.node,M.story);let C=M.exported?"export ":"",w=b.idOf(M.node),D=N===t1.length-1?` `:` `;_.tsOnly(()=>{let B=()=>{let a1=_.offset,h1=M.lines.map((f1)=>`${C}${f1}`).join(` -`);E3(y,M,h1,w),k3(y,M,h1,a1)};if(w!==null)_.mark(w,"$self",B);else B();_.emit(D)})})}}if(y.tsDirectivesArmed=!0,R.length>0){let W=new Set,j=new Set,q=new Set,t1=new Set;for(let{name:M,kind:N}of R){if(N==="state"||N==="computed")W.add(M);else t1.add(M);if(N==="computed")j.add(M);if(N==="readonly")q.add(M)}y.rframes.push({reactive:W,computed:j,bound:t1,ambientReadonly:q}),y.scopes.push(new Set(R.map(({name:M})=>M)))}if(y.program(e.sexpr),R.length>0)y.rframes.pop(),y.scopes.pop();if(i==="ts"&&Array.isArray(e.sexpr)){let W=(()=>{for(let j of e.sexpr){if(!Array.isArray(j)||j[0]!=="export"||!Array.isArray(j[1]))continue;let q=j[1];if(q[0]==="="){if(q[1]==="stash")return"stash";continue}if(!q.every((M)=>typeof M==="string"&&/^[A-Za-z_$][\w$]*$/.test(M)||Array.isArray(M)&&M.length===2&&typeof M[0]==="string"&&typeof M[1]==="string"))continue;for(let M of q){if(M==="stash")return"stash";if(Array.isArray(M)&&M[1]==="stash")return M[0]}}return null})();if(W!==null)y.stashKeys=T.stashKeysOf(e.sexpr,W),_.tsOnly(()=>{let j=/^(?:export\s+)?(stash)\s*=/m.exec(_.source??""),q=j!==null?b.idOf(e.sexpr):null;if(_.emit(` -export type __RipStash = typeof `),q!==null)_.markSpan(q,"identifier",j.index+j[0].indexOf("stash"),j.index+j[0].indexOf("stash")+5,()=>_.emit(W));else _.emit(W);_.emit(`; -`)})}if(i==="ts"&&y.routesUnion!==null){let W=_.code;if(/\bRoutePath\b/.test(W)&&!/\b(?:type|interface)\s+RoutePath\b/.test(W)&&!/\bimport\b[^;\n]*\bRoutePath\b/.test(W))_.tsOnly(()=>_.emit(` +`);E3(y,M,h1,w),k3(y,M,h1,a1)};if(w!==null)_.mark(w,"$self",B);else B();_.emit(D)})})}}if(y.tsDirectivesArmed=!0,R.length>0){let V=new Set,j=new Set,q=new Set,t1=new Set;for(let{name:M,kind:N}of R){if(N==="state"||N==="computed")V.add(M);else t1.add(M);if(N==="computed")j.add(M);if(N==="readonly")q.add(M)}y.rframes.push({reactive:V,computed:j,bound:t1,ambientReadonly:q}),y.scopes.push(new Set(R.map(({name:M})=>M)))}if(y.program(e.sexpr),R.length>0)y.rframes.pop(),y.scopes.pop();if(i==="ts"&&Array.isArray(e.sexpr)){let V=(()=>{for(let j of e.sexpr){if(!Array.isArray(j)||j[0]!=="export"||!Array.isArray(j[1]))continue;let q=j[1];if(q[0]==="="){if(q[1]==="stash")return"stash";continue}if(!q.every((M)=>typeof M==="string"&&/^[A-Za-z_$][\w$]*$/.test(M)||Array.isArray(M)&&M.length===2&&typeof M[0]==="string"&&typeof M[1]==="string"))continue;for(let M of q){if(M==="stash")return"stash";if(Array.isArray(M)&&M[1]==="stash")return M[0]}}return null})();if(V!==null)y.stashKeys=T.stashKeysOf(e.sexpr,V),_.tsOnly(()=>{let j=/^(?:export\s+)?(stash)\s*=/m.exec(_.source??""),q=j!==null?b.idOf(e.sexpr):null;if(_.emit(` +export type __RipStash = typeof `),q!==null)_.markSpan(q,"identifier",j.index+j[0].indexOf("stash"),j.index+j[0].indexOf("stash")+5,()=>_.emit(V));else _.emit(V);_.emit(`; +`)})}if(i==="ts"&&y.routesUnion!==null){let V=_.code;if(/\bRoutePath\b/.test(V)&&!/\b(?:type|interface)\s+RoutePath\b/.test(V)&&!/\bimport\b[^;\n]*\bRoutePath\b/.test(V))_.tsOnly(()=>_.emit(` type RoutePath = ${y.routesUnion}; `))}if(y._needsAmbienceHelper===!0)_.tsOnly(()=>_.emit(` declare function __ripAmbientStash(v: T): T; `));if(y._needsRouteHelper===!0)_.tsOnly(()=>_.emit(` declare function __ripRoute(s: ${Ls(y.routesUnion,"T")}): T; -`));if(i==="ts"&&(y.domSurfaces.size>0||y._needsClassValue===!0||y._needsCssProperties===!0||y._needsRefCellHelper===!0||y._needsChildren===!0||y._restTags.size>0)){let W=ws(y.domSurfaces.values(),{needsClassValue:y._needsClassValue===!0,needsCssProperties:y._needsCssProperties===!0,needsRefCell:y._needsRefCellHelper===!0,needsChildren:y._needsChildren===!0,extra:[...y._restTags].sort().map((j)=>`type ${En(j)} = ${Vs(j,"face")};`)});if(W!=="")_.tsOnly(()=>_.emit(W))}if(y._needsSourceKeyHelper===!0){let W=`keyof import(${JSON.stringify(y.appStashSpec)}).__RipStash & string`;_.tsOnly(()=>_.emit(` -declare function __ripSourceKey(s: T): T; +`));if(i==="ts"&&(y.domSurfaces.size>0||y._needsClassValue===!0||y._needsCssProperties===!0||y._needsRefCellHelper===!0||y._needsChildren===!0||y._restTags.size>0)){let V=ws(y.domSurfaces.values(),{needsClassValue:y._needsClassValue===!0,needsCssProperties:y._needsCssProperties===!0,needsRefCell:y._needsRefCellHelper===!0,needsChildren:y._needsChildren===!0,extra:[...y._restTags].sort().map((j)=>`type ${En(j)} = ${Vs(j,"face")};`)});if(V!=="")_.tsOnly(()=>_.emit(V))}if(y._needsSourceKeyHelper===!0){let V=`keyof import(${JSON.stringify(y.appStashSpec)}).__RipStash & string`;_.tsOnly(()=>_.emit(` +declare function __ripSourceKey(s: T): T; `))}if(y._needsNarrowHelper===!0)_.tsOnly(()=>_.emit(` declare function __ripNarrow(v: T): asserts v is NonNullable; -`));let V=[];if(i==="ts"&&E(e.sexpr)&&e.sexpr[0]==="program"){let W=/^[A-Za-z_$][A-Za-z0-9_$]*$/;for(let j of e.sexpr.slice(1)){if(!E(j)||j[0]!=="??="||j.length!==3)continue;let q=j[1];if(!E(q)||q[0]!=="."||q[1]!=="globalThis")continue;if(typeof q[2]!=="string"||!W.test(q[2]))continue;let t1=new Set(["null","undefined","true","false","this"]),M=j[2];V.push({name:q[2],anchor:typeof M==="string"&&W.test(M)&&!t1.has(M)?M:null})}if(V.length)_.tsOnly(()=>{for(let j of V)if(j.anchor!==null)_.emit(` +`));let K=[];if(i==="ts"&&E(e.sexpr)&&e.sexpr[0]==="program"){let V=/^[A-Za-z_$][A-Za-z0-9_$]*$/;for(let j of e.sexpr.slice(1)){if(!E(j)||j[0]!=="??="||j.length!==3)continue;let q=j[1];if(!E(q)||q[0]!=="."||q[1]!=="globalThis")continue;if(typeof q[2]!=="string"||!V.test(q[2]))continue;let t1=new Set(["null","undefined","true","false","this"]),M=j[2];K.push({name:q[2],anchor:typeof M==="string"&&V.test(M)&&!t1.has(M)?M:null})}if(K.length)_.tsOnly(()=>{for(let j of K)if(j.anchor!==null)_.emit(` type __ripGlobal_${j.name} = typeof ${j.anchor};`);_.emit(` -declare global {`);for(let j of V)_.emit(` +declare global {`);for(let j of K)_.emit(` var ${j.name}: ${j.anchor===null?"any":`__ripGlobal_${j.name}`};`);_.emit(` } -`)})}if(i==="ts"&&!bs(e.sexpr,(W)=>y.isModuleImport(W)))_.tsOnly(()=>_.emit(` +`)})}if(i==="ts"&&!bs(e.sexpr,(V)=>y.isModuleImport(V)))_.tsOnly(()=>_.emit(` export {}; -`));let Z=[];for(let{name:W,node:j,path:q,key:t1}of y.pinnables){if(t1===null)continue;let M=b.idOf(j);if(M===null)continue;let N=_.rows.find((w)=>w.nodeId===M&&w.role==="$self"),C=_.rows.find((w)=>w.nodeId===M&&w.role==="value");if(!N||!C)continue;Z.push({name:W,key:t1,path:q??"",stmtGen:[N.generatedStart,N.generatedEnd],valueGen:[C.generatedStart,C.generatedEnd]})}return{code:_.code,mappings:_.rows,vocabulary:y.vocabulary,silences:y.silences,memberDecls:y.memberDecls,enums:y.enums,importedRefs:y.importedRefs,stores:b,runtimes:G,bindings:O,bindingNames:A,replResultName:y.replResultName,replImportResolver:y.replImportResolver,tsRegions:_.tsRegions,echoSpans:_.echoSpans,globalDecls:V.map((W)=>W.name),pinnables:Z,mutables:y.mutables,classDecls:y.classDecls,pinSpans:y.pinSpans,loopVars:y.loopVars,attrNames:y.attrNames,routeWraps:y.routeWrapSpans,sourceKeys:y.sourceKeySpans,stashMembers:y.stashMemberSpans,stashKeys:y.stashKeys??null,memberInits:y.memberInitSites,imports:y.importSpans,intrinsics:y.intrinsics,renderPairs:y.renderPairs,kinds:y.kinds}}var oa="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",V4=new Map([...oa].map((e,t)=>[e,t])),T3=/^[$_\p{ID_Start}][$\u200C\u200D_\p{ID_Continue}]*$/u;function ut(e){let t=e<0?-e<<1|1:e<<1,r="";do{let i=t&31;if(t>>>=5,t>0)i|=32;r+=oa[i]}while(t>0);return r}function la({code:e,mappings:t},{source:r,file:i="output.js",sourcePath:n="input.rip"}={}){let s=new de(r,n),a=new de(e,i),l=(t instanceof pe?t:new pe(t)).serializableRows(),c=[],f=new Map,h=[],u=0,m=0,S=0;for(let g of l){let d=a.lineColAt(g.generatedStart),R=s.lineColAt(g.sourceStart);while(h.length<=d.line)h.push([]);let b=h[d.line],_=b.length?b[b.length-1].genCol:0,y=ut(d.col-_)+ut(0)+ut(R.line-u)+ut(R.col-m);u=R.line,m=R.col;let p=e.slice(g.generatedStart,g.generatedEnd);if(g.mappingKind==="exact"&&T3.test(p)){let k=f.get(p);if(k===void 0)k=c.length,c.push(p),f.set(p,k);y+=ut(k-S),S=k}b.push({genCol:d.col,seg:y})}return{version:3,file:i,sources:[n],sourcesContent:[r],names:c,mappings:h.map((g)=>g.map((d)=>d.seg).join(",")).join(";")}}var ca=()=>{throw Error("rip: declaration emission is unavailable in the browser")};class Fe extends Error{constructor(e,{path:t,start:r=null,end:i=null,line:n=null,col:s=null}={}){super(e);this.name="CompileError",this.path=t,this.start=r,this.end=i,this.line=n,this.col=s}}var w3=(e,t)=>{let{line:r,col:i}=e.lineColAt(t),n=e.lineStarts[r],s=r+1c==="\t"?"\t":" ").join("");return` ${o} | ${a} +`));let Z=[];for(let{name:V,node:j,path:q,key:t1}of y.pinnables){if(t1===null)continue;let M=b.idOf(j);if(M===null)continue;let N=_.rows.find((w)=>w.nodeId===M&&w.role==="$self"),C=_.rows.find((w)=>w.nodeId===M&&w.role==="value");if(!N||!C)continue;Z.push({name:V,key:t1,path:q??"",stmtGen:[N.generatedStart,N.generatedEnd],valueGen:[C.generatedStart,C.generatedEnd]})}return{code:_.code,mappings:_.rows,vocabulary:y.vocabulary,silences:y.silences,memberDecls:y.memberDecls,enums:y.enums,importedRefs:y.importedRefs,stores:b,runtimes:H,bindings:I,bindingNames:A,replResultName:y.replResultName,replImportResolver:y.replImportResolver,tsRegions:_.tsRegions,echoSpans:_.echoSpans,globalDecls:K.map((V)=>V.name),pinnables:Z,mutables:y.mutables,classDecls:y.classDecls,pinSpans:y.pinSpans,loopVars:y.loopVars,attrNames:y.attrNames,routeWraps:y.routeWrapSpans,sourceKeys:y.sourceKeySpans,stashMembers:y.stashMemberSpans,stashKeys:y.stashKeys??null,memberInits:y.memberInitSites,imports:y.importSpans,intrinsics:y.intrinsics,renderPairs:y.renderPairs,kinds:y.kinds}}var oa="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",V4=new Map([...oa].map((e,t)=>[e,t])),T3=/^[$_\p{ID_Start}][$\u200C\u200D_\p{ID_Continue}]*$/u;function ut(e){let t=e<0?-e<<1|1:e<<1,r="";do{let i=t&31;if(t>>>=5,t>0)i|=32;r+=oa[i]}while(t>0);return r}function la({code:e,mappings:t},{source:r,file:i="output.js",sourcePath:n="input.rip"}={}){let s=new me(r,n),a=new me(e,i),l=(t instanceof pe?t:new pe(t)).serializableRows(),c=[],f=new Map,h=[],u=0,d=0,S=0;for(let g of l){let p=a.lineColAt(g.generatedStart),R=s.lineColAt(g.sourceStart);while(h.length<=p.line)h.push([]);let b=h[p.line],_=b.length?b[b.length-1].genCol:0,y=ut(p.col-_)+ut(0)+ut(R.line-u)+ut(R.col-d);u=R.line,d=R.col;let m=e.slice(g.generatedStart,g.generatedEnd);if(g.mappingKind==="exact"&&T3.test(m)){let k=f.get(m);if(k===void 0)k=c.length,c.push(m),f.set(m,k);y+=ut(k-S),S=k}b.push({genCol:p.col,seg:y})}return{version:3,file:i,sources:[n],sourcesContent:[r],names:c,mappings:h.map((g)=>g.map((p)=>p.seg).join(",")).join(";")}}var ca=()=>{throw Error("rip: declaration emission is unavailable in the browser")};class Fe extends Error{constructor(e,{path:t,start:r=null,end:i=null,line:n=null,col:s=null}={}){super(e);this.name="CompileError",this.path=t,this.start=r,this.end=i,this.line=n,this.col=s}}var w3=(e,t)=>{let{line:r,col:i}=e.lineColAt(t),n=e.lineStarts[r],s=r+1c==="\t"?"\t":" ").join("");return` ${o} | ${a} ${" ".repeat(o.length)} | ${l}^`},In=(e,t,r,i,n)=>{let{line:s,col:a}=e.lineColAt(i),o=`${t}:${s+1}:${a+1}: ${r} ${w3(e,i)}`;return new Fe(o,{path:t,start:i,end:n,line:s+1,col:a+1})},_3=(e,t)=>{let r=e.text,i=r.slice(0,t.start),n=r.slice(t.start),s=i.slice(i.lastIndexOf(` `)+1);if(t.expected?.[0]===":"||/\?[ \t]*$/.test(i))return"a two-operand '?' is incomplete — a default for null/undefined is spelled x ?? y";if(/^\.\.\.[^\n]*\)\s*[-=]>/.test(n)&&/[(,]\s*[A-Za-z_$][\w$]*\s*$/.test(i))return"a rest parameter is spelled `...name` — the dots lead the name";if(/^for\b/.test(n)&&/^\s*return\b/.test(s))return"`return` takes one expression — parenthesize the comprehension: `return (v for v in list)`";if(/^!/.test(n)&&/\bimport\s*$/.test(i))return"an awaited dynamic import is spelled `import!('mod')` — the call parens are required";if(/^!/.test(n)&&/\)\s*$/.test(i))return"the await bang goes on the callee — `fn!()`, not `fn()!`";if(/^if\b[^\n]*\n[ \t]*then\b/.test(n))return"`then` belongs on the `if` line (`if c then …`) — or indent the body beneath the condition";return null},N3=(e,t,r)=>{let i=_3(e,r),n=i!==null?`${r.message} - (${i})`:r.message;return In(e,t,n,r.start,r.end)};function fa(e,{path:t="",runtimeDelivery:r="inline",face:i="js",pins:n=null,strict:s=!1,script:a=!1,browserModule:o=!1,foldProjections:l=!1,ambientBindings:c=null,repl:f=!1,tolerant:h=!1,hmr:u=!1,appStashSpec:m=null,routesUnion:S=null,routeParams:g=null}={}){if(typeof e!=="string"){let A=e===null?"null":Array.isArray(e)?"an array":`a ${typeof e}`;throw new Fe(`compile: source must be a string; got ${A}`,{path:t})}let d=new de(e,t),R=null,b=e;{let A=e.split(` -`),x=A.findIndex((O)=>O==="__DATA__");if(x!==-1){let O=A.slice(x+1);R=O.length>0?O.join(` + (${i})`:r.message;return In(e,t,n,r.start,r.end)};function fa(e,{path:t="",runtimeDelivery:r="inline",face:i="js",pins:n=null,strict:s=!1,script:a=!1,browserModule:o=!1,foldProjections:l=!1,ambientBindings:c=null,repl:f=!1,tolerant:h=!1,hmr:u=!1,appStashSpec:d=null,routesUnion:S=null,routeParams:g=null}={}){if(typeof e!=="string"){let A=e===null?"null":Array.isArray(e)?"an array":`a ${typeof e}`;throw new Fe(`compile: source must be a string; got ${A}`,{path:t})}let p=new me(e,t),R=null,b=e;{let A=e.split(` +`),x=A.findIndex((I)=>I==="__DATA__");if(x!==-1){let I=A.slice(x+1);R=I.length>0?I.join(` `)+` `:"",b=A.slice(0,x).join(` -`)}}let _=Jt();_.lexer=us(t,{tolerant:h});let y;try{y=_.parse(b,{primitives:i==="ts",tolerant:h})}catch(A){if(typeof A.start!=="number")throw A;throw In(d,t,A.reason??A.message,A.start,A.end)}if(y.diagnostics.length>0&&!(h&&y.sexpr!=null))throw N3(d,t,y.diagnostics[0]);if(l)ji(y.sexpr);let p;try{p=aa(y,{source:e,runtimeDelivery:r,face:i,pins:n,strict:s,script:a,browserModule:o,dataPayload:R,ambientBindings:c,repl:f,hmr:u,tolerant:h,modulePath:t,appStashSpec:m,routesUnion:S,routeParams:g})}catch(A){if(typeof A.start==="number")throw In(d,t,A.message,A.start,A.end);if(A instanceof RangeError)throw new Fe(`${t}: emitter: the program nests too deeply to emit (the engine stack was exhausted) — restructure the deepest expression or block`,{path:t});throw new Fe(`${t}: ${A.message}`,{path:t})}let k=la(p,{source:e,sourcePath:t,file:`${t}.js`}),I=null;return{parseDiagnostics:y.diagnostics,code:p.code,map:k,stores:p.stores,tokens:y.tokens??null,mappings:new pe(p.mappings),vocabulary:p.vocabulary??[],silences:p.silences??[],memberDecls:p.memberDecls??[],runtimes:p.runtimes,bindings:p.bindings,bindingNames:p.bindingNames,replResultName:p.replResultName,replImportResolver:p.replImportResolver,tsRegions:p.tsRegions,echoSpans:p.echoSpans??[],globalDecls:p.globalDecls??[],pinnables:p.pinnables,pinSpans:p.pinSpans??[],mutables:p.mutables,enums:p.enums,classDecls:p.classDecls,loopVars:p.loopVars,attrNames:p.attrNames,routeWraps:p.routeWraps,memberInits:p.memberInits,sourceKeys:p.sourceKeys,stashMembers:p.stashMembers,stashKeys:p.stashKeys,renderPairs:p.renderPairs,kinds:p.kinds,intrinsics:p.intrinsics??[],importedRefs:p.importedRefs,imports:p.imports,trivia:y.trivia??[],get declarations(){if(I===null)try{I=ca({sexpr:y.sexpr,stores:p.stores,source:e})}catch(A){throw new Fe(`${t}: ${A.message}`,{path:t})}return I}}}var ir={};Ce(ir,{__defineOwnDataProperty:()=>$3,__toPropertyKey:()=>I3});var{defineProperty:A3,getOwnPropertyNames:v3,getOwnPropertySymbols:O3}={}.constructor,I3=(e)=>{let t={[e]:0},r=v3(t);return r.length===1?r[0]:O3(t)[0]},$3=(e,t,r)=>A3(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0});var sr={};Ce(sr,{abort:()=>ha,assert:()=>ua,exit:()=>ma,kind:()=>da,noop:()=>pa,p:()=>ga,pj:()=>ya,pp:()=>ba,pr:()=>Sa,raise:()=>Ra,rand:()=>Ea,sleep:()=>ka,toMatchable:()=>Na,todo:()=>Ta,warn:()=>wa,zip:()=>_a});var ha=(e)=>{if(e)console.error(e);if(typeof process<"u")process.exit(1);throw Error(e||"abort")},ua=(e,t)=>{if(!e)throw Error(t||"Assertion failed")},ma=(e)=>{if(typeof process<"u")process.exit(e||0);throw Error(`exit(${e||0}) outside a process`)},da=(e)=>e!=null?(e.constructor?.name||Object.prototype.toString.call(e).slice(8,-1)).toLowerCase():String(e),pa=()=>{},ga=(...e)=>console.log(...e),ba=(e)=>(console.dir(e,{depth:null,colors:!0}),e),ya=(e)=>(console.log(JSON.stringify(e,null,2)),e),Sa=(()=>{let e=/^[A-Za-z_$][A-Za-z0-9_$]*$/,t=(s,a)=>s.replace(/\\/g,"\\\\").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t").replace(new RegExp(a,"g"),"\\"+a),r=(s)=>!s.includes("'")?"'"+t(s,"'")+"'":!s.includes('"')?'"'+t(s,'"').split("#{").join("\\#{")+'"':"'"+t(s,"'")+"'",i=(s)=>{if(typeof s==="symbol"){let a=Symbol.keyFor(s);return a&&e.test(a)?":"+a:r(String(s))}return e.test(s)?s:r(s)},n=(s,a)=>{if(s===null)return"null";if(s===void 0)return"undefined";let o=typeof s;if(o==="number"||o==="boolean")return String(s);if(o==="string")return r(s);if(o==="symbol"){let l=Symbol.keyFor(s);return l&&e.test(l)?":"+l:null}if(Array.isArray(s)){if(s.length===0)return"[]";let l=" ".repeat(a+1),c=" ".repeat(a),f=s.map((h)=>n(h,a+1));if(f.some((h)=>h===null))return null;return`[ +`)}}let _=Jt();_.lexer=us(t,{tolerant:h});let y;try{y=_.parse(b,{primitives:i==="ts",tolerant:h})}catch(A){if(typeof A.start!=="number")throw A;throw In(p,t,A.reason??A.message,A.start,A.end)}if(y.diagnostics.length>0&&!(h&&y.sexpr!=null))throw N3(p,t,y.diagnostics[0]);if(l)ji(y.sexpr);let m;try{m=aa(y,{source:e,runtimeDelivery:r,face:i,pins:n,strict:s,script:a,browserModule:o,dataPayload:R,ambientBindings:c,repl:f,hmr:u,tolerant:h,modulePath:t,appStashSpec:d,routesUnion:S,routeParams:g})}catch(A){if(typeof A.start==="number")throw In(p,t,A.message,A.start,A.end);if(A instanceof RangeError)throw new Fe(`${t}: emitter: the program nests too deeply to emit (the engine stack was exhausted) — restructure the deepest expression or block`,{path:t});throw new Fe(`${t}: ${A.message}`,{path:t})}let k=la(m,{source:e,sourcePath:t,file:`${t}.js`}),O=null;return{parseDiagnostics:y.diagnostics,code:m.code,map:k,stores:m.stores,tokens:y.tokens??null,mappings:new pe(m.mappings),vocabulary:m.vocabulary??[],silences:m.silences??[],memberDecls:m.memberDecls??[],runtimes:m.runtimes,bindings:m.bindings,bindingNames:m.bindingNames,replResultName:m.replResultName,replImportResolver:m.replImportResolver,tsRegions:m.tsRegions,echoSpans:m.echoSpans??[],globalDecls:m.globalDecls??[],pinnables:m.pinnables,pinSpans:m.pinSpans??[],mutables:m.mutables,enums:m.enums,classDecls:m.classDecls,loopVars:m.loopVars,attrNames:m.attrNames,routeWraps:m.routeWraps,memberInits:m.memberInits,sourceKeys:m.sourceKeys,stashMembers:m.stashMembers,stashKeys:m.stashKeys,renderPairs:m.renderPairs,kinds:m.kinds,intrinsics:m.intrinsics??[],importedRefs:m.importedRefs,imports:m.imports,trivia:y.trivia??[],get declarations(){if(O===null)try{O=ca({sexpr:y.sexpr,stores:m.stores,source:e})}catch(A){throw new Fe(`${t}: ${A.message}`,{path:t})}return O}}}var ir={};xe(ir,{__defineOwnDataProperty:()=>$3,__toPropertyKey:()=>I3});var{defineProperty:A3,getOwnPropertyNames:v3,getOwnPropertySymbols:O3}={}.constructor,I3=(e)=>{let t={[e]:0},r=v3(t);return r.length===1?r[0]:O3(t)[0]},$3=(e,t,r)=>A3(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0});var sr={};xe(sr,{abort:()=>ha,assert:()=>ua,exit:()=>da,kind:()=>ma,noop:()=>pa,p:()=>ga,pj:()=>ya,pp:()=>ba,pr:()=>Sa,raise:()=>Ra,rand:()=>Ea,sleep:()=>ka,toMatchable:()=>Na,todo:()=>Ta,warn:()=>wa,zip:()=>_a});var ha=(e)=>{if(e)console.error(e);if(typeof process<"u")process.exit(1);throw Error(e||"abort")},ua=(e,t)=>{if(!e)throw Error(t||"Assertion failed")},da=(e)=>{if(typeof process<"u")process.exit(e||0);throw Error(`exit(${e||0}) outside a process`)},ma=(e)=>e!=null?(e.constructor?.name||Object.prototype.toString.call(e).slice(8,-1)).toLowerCase():String(e),pa=()=>{},ga=(...e)=>console.log(...e),ba=(e)=>(console.dir(e,{depth:null,colors:!0}),e),ya=(e)=>(console.log(JSON.stringify(e,null,2)),e),Sa=(()=>{let e=/^[A-Za-z_$][A-Za-z0-9_$]*$/,t=(s,a)=>s.replace(/\\/g,"\\\\").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t").replace(new RegExp(a,"g"),"\\"+a),r=(s)=>!s.includes("'")?"'"+t(s,"'")+"'":!s.includes('"')?'"'+t(s,'"').split("#{").join("\\#{")+'"':"'"+t(s,"'")+"'",i=(s)=>{if(typeof s==="symbol"){let a=Symbol.keyFor(s);return a&&e.test(a)?":"+a:r(String(s))}return e.test(s)?s:r(s)},n=(s,a)=>{if(s===null)return"null";if(s===void 0)return"undefined";let o=typeof s;if(o==="number"||o==="boolean")return String(s);if(o==="string")return r(s);if(o==="symbol"){let l=Symbol.keyFor(s);return l&&e.test(l)?":"+l:null}if(Array.isArray(s)){if(s.length===0)return"[]";let l=" ".repeat(a+1),c=" ".repeat(a),f=s.map((h)=>n(h,a+1));if(f.some((h)=>h===null))return null;return`[ `+l+f.join(` `+l)+` -`+c+"]"}if(o==="object"){let l=Object.getPrototypeOf(s);if(l!==Object.prototype&&l!==null)return null;let c=Object.keys(s);if(c.length===0)return"{}";let f=" ".repeat(a+1),h=" ".repeat(a),u=c.map((m)=>{let S=n(s[m],a+1);return S===null?null:i(m)+": "+S});if(u.some((m)=>m===null))return null;return`{ +`+c+"]"}if(o==="object"){let l=Object.getPrototypeOf(s);if(l!==Object.prototype&&l!==null)return null;let c=Object.keys(s);if(c.length===0)return"{}";let f=" ".repeat(a+1),h=" ".repeat(a),u=c.map((d)=>{let S=n(s[d],a+1);return S===null?null:i(d)+": "+S});if(u.some((d)=>d===null))return null;return`{ `+f+u.join(` `+f)+` -`+h+"}"}return null};return(s)=>{let a=n(s,0);if(a!==null)console.log(a);else console.dir(s,{depth:null,colors:!0});return s}})(),Ra=(e,t)=>{throw t!==void 0?new e(t):Error(e)},Ea=(e,t)=>t!==void 0?(e>t&&([e,t]=[t,e]),Math.floor(Math.random()*(t-e+1)+e)):e?Math.floor(Math.random()*e):Math.random(),ka=(e)=>new Promise((t)=>setTimeout(t,e)),Ta=(e)=>{throw Error(e||"Not implemented")},wa=(...e)=>console.warn(...e),_a=(...e)=>e[0].map((t,r)=>e.map((i)=>i[r])),Na=(e)=>{if(typeof e==="string")return e;if(e==null)return"";if(typeof e==="number"||typeof e==="bigint"||typeof e==="boolean")return String(e);if(typeof e==="symbol")return e.description||"";if(e instanceof Uint8Array||e instanceof ArrayBuffer)return new TextDecoder().decode(e instanceof Uint8Array?e:new Uint8Array(e));if(Array.isArray(e))return e.join(",");if(typeof e.toString==="function"&&e.toString!==Object.prototype.toString)try{return e.toString()}catch{return""}return""};var fr={};Ce(fr,{SchemaDef:()=>gt,SchemaError:()=>v1,SchemaRegistry:()=>ee,__schema:()=>M3,installPersistence:()=>D3,registerCoercer:()=>C3});var $a=Symbol.for("rip.runtime.schema");if(globalThis[$a])throw Error("two copies of the Rip schema runtime loaded in one process — schemas from different copies "+"cannot see each other (separate registries, distinct SchemaError classes). Run .rip sources through the rip CLI/loader (one shared runtime module per process), or load only one standalone-compiled file per process.");globalThis[$a]=!0;var Se=null;function D3(e){if(Se&&Se!==e)throw Error("the Rip schema persistence runtime is already installed — two different copies met in one process");Se=e}class v1 extends Error{constructor(e,t,r){super(x3(e,t));this.name="SchemaError",this.issues=e,this.schemaName=t||null,this.schemaKind=r||null}}function x3(e,t){if(!e||!e.length)return"SchemaError";return(t?t+": ":"")+e.map((i)=>i.message||i.error||"invalid").join("; ")}var Da={__proto__:null,string:(e)=>typeof e==="string",number:(e)=>typeof e==="number"&&!Number.isNaN(e),integer:(e)=>Number.isInteger(e),boolean:(e)=>typeof e==="boolean",date:(e)=>e instanceof Date&&!Number.isNaN(e.getTime()),datetime:(e)=>e instanceof Date&&!Number.isNaN(e.getTime()),email:(e)=>typeof e==="string"&&/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e),url:(e)=>typeof e==="string"&&/^https?:\/\/.+/.test(e),uuid:(e)=>typeof e==="string"&&/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(e),phone:(e)=>typeof e==="string"&&/^[\d\s\-+()]+$/.test(e),zip:(e)=>typeof e==="string"&&/^\d{5}(-\d{4})?$/.test(e),text:(e)=>typeof e==="string",json:(e)=>e!==void 0,any:()=>!0},cr={integer(e){if(typeof e==="number")return Number.isInteger(e)?{ok:!0,value:e}:{ok:!1};if(typeof e==="string"&&/^[+-]?\d+$/.test(e.trim()))return{ok:!0,value:parseInt(e.trim(),10)};return{ok:!1}},number(e){if(typeof e==="number")return Number.isNaN(e)?{ok:!1}:{ok:!0,value:e};if(typeof e==="string"&&/^[+-]?(\d+\.?\d*|\.\d+)([eE][+-]?\d+)?$/.test(e.trim()))return{ok:!0,value:Number(e.trim())};return{ok:!1}},boolean(e){if(typeof e==="boolean")return{ok:!0,value:e};if(e==="true"||e==="1"||e===1)return{ok:!0,value:!0};if(e==="false"||e==="0"||e===0)return{ok:!0,value:!1};return{ok:!1}},date(e){if(e instanceof Date)return Number.isNaN(e.getTime())?{ok:!1}:{ok:!0,value:e};if(typeof e==="number"&&Number.isFinite(e))return{ok:!0,value:new Date(e)};let t=typeof e==="string"?/^(\d{4})-(\d{2})-(\d{2})/.exec(e):null;if(t){let r=+t[2],i=+t[3],n=new Date(Date.UTC(+t[1],r,0)).getUTCDate();if(r<1||r>12||i<1||i>n)return{ok:!1};let s=new Date(e);if(!Number.isNaN(s.getTime()))return{ok:!0,value:s}}return{ok:!1}}};cr.datetime=cr.date;function ar(e){if(e!==null&&typeof e==="object"&&!Array.isArray(e))return null;return{field:"",error:"object",message:"input must be an object; got "+(e===null?"null":Array.isArray(e)?"an array":"a "+typeof e)}}var Dn=new Map;function C3(e,t,r){if(typeof e!=="string"||typeof t!=="function")throw Error("registerCoercer(name, fn, opts?): name string and fn required");let i=Object.prototype.toString.call(t);if(i==="[object AsyncFunction]"||i==="[object GeneratorFunction]"||i==="[object AsyncGeneratorFunction]")throw Error("registerCoercer: coercer '~:"+e+"' must be a plain synchronous function");let n=r?.raw===!0,s=Dn.get(e);if(s){if(s.raw===n&&String(s.fn)===String(t))return t;throw Error("registerCoercer: coercer '~:"+e+"' is already registered")}return Dn.set(e,{fn:t,raw:n}),t}function dt(e){if(Da[e])return null;let t=ee.get(e);return t&&(t.kind==="shape"||t.kind==="input"||t.kind==="model"||t.kind==="union")?t:null}function xn(e,t,r){let i=Da[t];if(i)return i(e)?{value:e}:{errors:[{field:"",error:"type",message:"must be "+t}]};let n=ee.get(t);if(!n)return{value:e};if(n.kind==="enum"){let a=n._validateEnum(e,!0);return a.length?{errors:[{field:"",error:"enum",message:a[0].message}]}:{value:n._materializeEnum(e)}}if(n.kind==="mixin")return{errors:[{field:"",error:"type",message:":mixin "+t+" is not usable as a field type"}]};if(n.kind==="union"){let a=n._unionResolve(e);if(a.issue)return{errors:[a.issue]};let o=r?.existing?a.def._runExistingSync(e,{...r,materialize:!1,materializeNested:!1}):a.def._runSync(e,{...r,materialize:!1,materializeNested:!1});if(o.thrown){if(r?.derived==="throw")throw o.thrown;return{errors:[{field:"",error:"derived",message:o.thrown?.message||String(o.thrown)}]}}return o.ok?{value:o.value}:{errors:o.errors}}if(e===null||typeof e!=="object"||Array.isArray(e))return{errors:[{field:"",error:"type",message:"must be a "+t+" object"}]};let s=r?.existing?n._runExistingSync(e,{...r,materialize:!1,materializeNested:!1}):n._runSync(e,{...r,materialize:!1,materializeNested:!1});if(s.thrown){if(r?.derived==="throw")throw s.thrown;return{errors:[{field:"",error:"derived",message:s.thrown?.message||String(s.thrown)}]}}return s.ok?{value:s.value}:{errors:s.errors}}async function Aa(e,t,r){let i=dt(t);if(i===null)return xn(e,t,r);if(i.kind==="union"){let s=i._unionResolve(e);if(s.issue)return{errors:[s.issue]};let a=r?.existing?await s.def._runExistingAsync(e,{...r,materialize:!1,materializeNested:!1}):await s.def._runAsync(e,{...r,materialize:!1,materializeNested:!1});if(a.thrown){if(r?.derived==="throw")throw a.thrown;return{errors:[{field:"",error:"derived",message:a.thrown?.message||String(a.thrown)}]}}return a.ok?{value:a.value}:{errors:a.errors}}if(e===null||typeof e!=="object"||Array.isArray(e))return{errors:[{field:"",error:"type",message:"must be a "+t+" object"}]};let n=r?.existing?await i._runExistingAsync(e,{...r,materialize:!1,materializeNested:!1}):await i._runAsync(e,{...r,materialize:!1,materializeNested:!1});if(n.thrown){if(r?.derived==="throw")throw n.thrown;return{errors:[{field:"",error:"derived",message:n.thrown?.message||String(n.thrown)}]}}return n.ok?{value:n.value}:{errors:n.errors}}function pt(e,t){if(!t)return e;return e+(t.startsWith("[")?t:"."+t)}function or(e,t,r){if(!t)return e+" "+r;if(r.startsWith(t))return e+r.slice(t.length);return e+": "+r}var lr=Symbol("schema.materialization-error");function va(e,t){if(e&&e[lr])return{[lr]:!0,error:e.error,field:pt(t,e.field)};return{[lr]:!0,error:e,field:t}}function Be(e){return e&&e[lr]?{thrown:e.error,derivedField:e.field}:{thrown:e,derivedField:""}}var P3=Je;function Oa(e){let t=(i)=>JSON.stringify(i??null,(n,s)=>s instanceof RegExp?String(s):typeof s==="function"?"":s),r=[e.kind];for(let i of e._desc.entries||[])switch(i.tag){case"field":r.push("f:"+i.name+":"+(i.typeName||"")+(i.array?"[]":"")+":"+(i.modifiers||[]).join("")+(i.literals?":"+i.literals.join(","):"")+":"+t(i.constraints)+(i.coerce?":~"+(i.coercer||""):"")+(i.transform?":t":""));break;case"enum-member":r.push("e:"+i.name+"="+String(i.value));break;case"directive":r.push("d:"+i.name+":"+t(i.args));break;case"ensure":r.push("n:"+(i.message||""));break;default:r.push(i.tag+":"+(i.name||""))}return r.join("|")}var ye=0,ee={_entries:new Map,replace:!1,register(e){if(!e.name)return;ye++;let t=this._entries.get(e.name);if(t&&t.def!==e&&!this.replace){if(Oa(t.def)!==Oa(e))throw new v1([{field:e.name,error:"collision",message:"schema name '"+e.name+"' is already registered with a different definition. Schema names are app-global (they resolve nested field types and @mixin references), so two "+"different schemas cannot share one name. Rename one — or, for dev/HMR reload semantics, set "+"SchemaRegistry.replace = true before re-evaluating modules."}],e.name,e.kind)}this._entries.set(e.name,{def:e,kind:e.kind})},get(e){let t=this._entries.get(e);return t?t.def:null},getKind(e,t){let r=this._entries.get(e);return r&&r.kind===t?r.def:null},has(e){return this._entries.has(e)},names(){return[...this._entries.keys()]},reset(){this._entries.clear(),ye++},scope(e){let t=this._entries;this._entries=new Map,ye++;let r=()=>{this._entries=t,ye++};try{let i=e();if(i&&typeof i.then==="function")return i.finally(r);return r(),i}catch(i){throw r(),i}}};class gt{constructor(e){if(e.kind==="model"&&!Se)throw Error("schema: kind 'model' needs the persistence runtime (src/runtime/orm.js), which is not "+"loaded in this process — reference a persistence name (schema.transaction, __schemaSetAdapter) "+"or import the module directly");if(this._desc=e,this.kind=e.kind,this.name=e.name||null,this._norm=null,this._klass=null,this._unionPlanCache=null,this._sourceModel=null,e.kind==="model")Se.decorateDef(this,e)}_normalize(){if(this._norm)return this._norm;let e=new Map,t=new Map,r=new Map,i=new Map,n=new Map,s=new Map,a=null,o=[],l=new Map,c=[],f=(b,_)=>{throw new v1([{field:b,error:"collision",message:b+" collides with "+_}],this.name,this.kind)},h=(b)=>{if(e.has(b))f(b,"field");if(t.has(b))f(b,"method");if(r.has(b))f(b,"computed");if(i.has(b))f(b,"derived");if(n.has(b))f(b,"hook")},u=(b)=>{throw new v1([{field:"",error:"kind",message:b+" is :model-only (this schema is :"+this.kind+")"}],this.name,this.kind)},m=this.kind==="union"?new Set(["on"]):new Set(["mixin"]),S=(b,_)=>{if(!P3(b))throw new v1([{field:b,error:"invalid-name",message:_+" name '"+b+"' is not canonical camelCase. Use a lowercase-first, alphanumeric identifier with no consecutive uppercase letters (e.g. 'mdmId' not 'mdmID')."}],this.name,this.kind)};for(let b of this._desc.entries)switch(b.tag){case"field":S(b.name,"field"),h(b.name),e.set(b.name,{name:b.name,required:b.modifiers.includes("!"),optional:b.modifiers.includes("?"),unique:b.unique===!0,primary:b.primary===!0,attrs:b.attrs||null,typeName:b.typeName,literals:b.literals||null,array:b.array===!0,coerce:b.coerce===!0,coercer:b.coercer||null,constraints:b.constraints||null,transform:b.transform||null});break;case"method":h(b.name),t.set(b.name,b.fn);break;case"computed":h(b.name),r.set(b.name,b.fn);break;case"derived":h(b.name),i.set(b.name,b.fn);break;case"hook":if(this.kind!=="model")u("lifecycle hook '"+b.name+"'");if(n.has(b.name))f(b.name,"duplicate hook");n.set(b.name,b.fn);break;case"scope":if(this.kind!=="model")u("query scope '@scope :"+b.name+"'");if(s.has(b.name))f(b.name,"scope");s.set(b.name,b.fn);break;case"defaultScope":if(this.kind!=="model")u("@defaultScope");if(a)throw new v1([{field:"",error:"collision",message:"only one @defaultScope per model"}],this.name,this.kind);a=b.fn;break;case"directive":if(this.kind!=="model"&&!m.has(b.name))throw new v1([{field:"",error:"directive",message:"unknown directive '@"+b.name+"' on :"+this.kind+" — legal here: "+[...m].map((_)=>"@"+_).join(", ")}],this.name,this.kind);o.push({name:b.name,args:b.args||[]});break;case"enum-member":l.set(b.name,b.value!==void 0?b.value:b.name);break;case"union-member":break;case"ensure":c.push({message:b.message,field:b.field||"",async:b.async===!0,fn:b.fn});break;default:throw new v1([{field:"",error:"entry",message:"unknown schema entry tag '"+b.tag+"'"}],this.name,this.kind)}if(this.kind==="shape"||this.kind==="input"||this.kind==="mixin"||this.kind==="model")Pa(this,e,o,{stack:[this.name||""],seen:new Set([this.name||""])});let g=null,d=[];if(this.kind==="union"){for(let b of o)if(b.name==="on"&&b.args?.[0]?.field)g=b.args[0].field;for(let b of this._desc.entries)if(b.tag==="union-member")d.push(b.name)}let R={fields:e,methods:t,computed:r,derived:i,hooks:n,scopes:s,defaultScope:a,directives:o,enumMembers:l,ensures:c,hasAsyncEnsures:c.some((b)=>b.async),unionOn:g,unionMembers:d};if(this.kind==="model")Se.finishModelNorm(this,R);return this._norm=R,this._norm}_unionPlan(){if(this._unionPlanCache&&this._unionPlanCache.gen===ye)return this._unionPlanCache.plan;let e=this._normalize(),t=e.unionOn;if(this.kind!=="union"||!t)throw Error("schema: '"+(this.name||"anon")+"' is not a :union");let r=new Map,i=[];for(let s of e.unionMembers){let a=ee.get(s);if(!a)throw new v1([{field:"",error:"union",message:"unknown union constituent: "+s+" (import the file that declares it)"}],this.name,this.kind);i.push(a);let o=a._normalize().fields.get(t);if(!o||o.typeName!=="literal-union"||!o.literals?.length)throw new v1([{field:t,error:"union",message:s+" must declare '"+t+"' as a string-literal type (e.g. "+t+'! "click") to join union '+(this.name||"")}],this.name,this.kind);for(let l of o.literals){if(r.has(l))throw new v1([{field:t,error:"union",message:"duplicate discriminator value "+JSON.stringify(l)+" in "+(r.get(l).name||"anon")+" and "+s}],this.name,this.kind);r.set(l,a)}}let n={disc:t,map:r,expected:[...r.keys()].join(" | "),hasAsyncEnsures:i.some((s)=>s._normalize().hasAsyncEnsures)};return this._unionPlanCache={gen:ye,plan:n},n}_unionResolve(e){let t=this._unionPlan();if(e===null||typeof e!=="object"||Array.isArray(e))return{issue:{field:t.disc,error:"union",message:"expected an object with "+t.disc}};let r=t.map.get(e[t.disc]);if(!r)return{issue:{field:t.disc,error:"union",message:"expected one of "+t.expected}};return{def:r}}_applyEagerDerived(e){let t=this._normalize();if(!t.derived.size)return;for(let[r,i]of t.derived){let n=i.call(e);Object.defineProperty(e,r,{value:n,enumerable:!0,writable:!0,configurable:!0})}}_materializeValidatedValue(e,t,r){return this._materializeNestedValues(e,t,r),this._materializeOwnValidatedValue(e,t,r)}_materializeNestedValues(e,t,r){let i=this._normalize();for(let[n,s]of i.fields){let a=dt(s.typeName);if(!a)continue;let o=e[n];if(o===void 0||o===null)continue;let l=t==null?void 0:t[n];if(s.array){if(!Array.isArray(o))continue;let c=Array(o.length);for(let f=0;f{let a=()=>({field:n.field||"",error:"ensure",message:n.message||"ensure failed"});if(n.async)i.push((async()=>{let o=!1;try{o=!!await n.fn(e)}catch{o=!1}if(!o)r.push({idx:s,issue:a()})})());else{let o=!1;try{o=!!n.fn(e)}catch{o=!1}if(!o)r.push({idx:s,issue:a()})}}),await Promise.all(i),r.sort((n,s)=>n.idx-s.idx),r.map((n)=>n.issue)}_transitiveAsync(){if(this._taGen===ye)return this._taCache;let e=new Set,t=(r)=>{if(e.has(r))return!1;e.add(r);let i=r._normalize();if(i.hasAsyncEnsures)return!0;if(r.kind==="union"){for(let n of i.unionMembers){let s=ee.get(n);if(s&&t(s))return!0}return!1}for(let n of i.fields.values()){let s=dt(n.typeName);if(s&&t(s))return!0}return!1};return this._taCache=t(this),this._taGen=ye,this._taCache}_assertSyncValidatable(e){if(!this._transitiveAsync())return;let t=this.kind!=="union"&&this._normalize().hasAsyncEnsures;throw Error("schema '"+(this.name||"anon")+"' has async refinements (@ensure!"+(t?"":" in a nested or constituent schema")+"); ."+e+"() is sync. Use parseAsync/safeAsync/okAsync instead.")}_getClass(){if(this._klass)return this._klass;let e=this._normalize(),t=this.name||"Schema",r=[...e.fields.keys()],i={[t]:class{constructor(n){if(n&&typeof n==="object"){for(let s of r)if(s in n&&n[s]!==void 0)this[s]=n[s]}}}}[t];for(let[n,s]of e.methods)Object.defineProperty(i.prototype,n,{value:s,writable:!0,enumerable:!1,configurable:!0});for(let[n,s]of e.computed)Object.defineProperty(i.prototype,n,{get:s,enumerable:!1,configurable:!0});return this._klass=i,i}_coerceDates(e){let t=this._normalize(),r=(s)=>typeof s==="string"&&/^\d{4}-\d{2}-\d{2}([T ].*)?$/.test(s),i=(s)=>{let a=/^(\d{4})-(\d{2})-(\d{2})/.exec(s),o=+a[2],l=+a[3];return o>=1&&o<=12&&l>=1&&l<=new Date(Date.UTC(+a[1],o,0)).getUTCDate()},n=(s)=>{if(!i(s))return s;let a=new Date(s);return Number.isNaN(a.getTime())?s:a};for(let[s,a]of t.fields){if(a.typeName!=="date"&&a.typeName!=="datetime")continue;let o=e[s];if(a.array&&Array.isArray(o))e[s]=o.map((l)=>r(l)?n(l):l);else if(r(o))e[s]=n(o)}}_validateFields(e,t,r,i){let n=this._normalize(),s=t?[]:null;for(let[a,o]of n.fields){if(r&&r.has(a))continue;let l=e==null?void 0:e[a];if(l===void 0||l===null){if(o.required){if(!t)return!1;s.push({field:a,error:"required",message:a+" is required"})}continue}if(o.array){if(!Array.isArray(l)){if(!t)return!1;s.push({field:a,error:"type",message:a+" must be an array"});continue}let f=o.constraints;if(f){if(f.min!=null&&l.lengthf.max){if(!t)return!1;s.push({field:a,error:"max",message:a+" must have at most "+f.max+" items"})}}if(i?.deferNested&&dt(o.typeName))continue;let h=!1,u=!1,m=Array(l.length);for(let S=0;SJSON.stringify(f)).join(", ")});continue}}else{if(i?.deferNested&&dt(o.typeName))continue;let f=xn(l,o.typeName,i);if(f.errors){if(!t)return!1;for(let h of f.errors){let u=pt(a,h.field);s.push({field:u,error:h.error,message:or(u,h.field,h.message)})}continue}if(f.value!==l)e[a]=f.value}let c=o.constraints;if(c){if(typeof l==="string"){if(c.min!=null&&l.lengthc.max){if(!t)return!1;s.push({field:a,error:"max",message:a+" must be at most "+c.max+" chars"})}if(c.regex){if(c.regex.global||c.regex.sticky)c.regex.lastIndex=0;if(!c.regex.test(l)){if(!t)return!1;s.push({field:a,error:"pattern",message:a+" is invalid"})}}}else if(typeof l==="number"){if(c.min!=null&&l= "+c.min})}if(c.max!=null&&l>c.max){if(!t)return!1;s.push({field:a,error:"max",message:a+" must be <= "+c.max})}}}}return t?s:!0}_applyDefaults(e){let t=this._normalize();for(let[r,i]of t.fields)if((e[r]===void 0||e[r]===null)&&i.constraints?.default!==void 0){let n=i.constraints.default;e[r]=typeof n==="object"&&n!==null&&!(n instanceof RegExp)?structuredClone(n):n}return e}_applyTransforms(e,t){let r=this._normalize(),i=[];for(let[n,s]of r.fields){if(!s.transform)continue;try{t[n]=s.transform(e)}catch(a){i.push({field:n,error:"transform",message:a?.message||String(a)})}}return i}_applyCoercions(e,t){let r=this._normalize(),i=[];for(let[n,s]of r.fields){if(!s.coerce)continue;let a=e[n];if(a===void 0||a===null)continue;if(s.coercer){let l=Dn.get(s.coercer);if(!l)throw Error("schema: no coercer registered for '~:"+s.coercer+"' (field '"+n+"' on "+(this.name||"anon")+"). Register it with registerCoercer('"+s.coercer+"', fn).");let c=l.raw?a:String(a).trim(),f;try{f=l.fn(c)}catch{f=null}if(f===null||f===void 0)i.push({field:n,error:"coerce",message:n+" is not a valid "+s.coercer}),t.add(n);else e[n]=f;continue}let o=cr[s.typeName]?cr[s.typeName](a):{ok:!1};if(o.ok)e[n]=o.value;else i.push({field:n,error:"coerce",message:n+" cannot be coerced to "+s.typeName}),t.add(n)}return i}_orderFieldErrors(...e){let t=new Map,r=0;for(let[i]of this._normalize().fields)t.set(i,r++);return e.flat().map((i,n)=>{let s=String(i.field||"").split(/[.[]/,1)[0];return{issue:i,seq:n,rank:t.has(s)?t.get(s):r}}).sort((i,n)=>i.rank-n.rank||i.seq-n.seq).map((i)=>i.issue)}_validateEnum(e,t){let r=this._normalize();for(let[n,s]of r.enumMembers)if(e===n||e===s)return t?[]:!0;if(!t)return!1;let i=[...r.enumMembers.keys()].join(", ");return[{field:"",error:"enum",message:(this.name||"enum")+" expected one of: "+i}]}_materializeEnum(e){let t=this._normalize();for(let[r,i]of t.enumMembers)if(e===r||e===i)return i;return e}_runSync(e,t){if(this.kind==="union"){let f=this._unionResolve(e);if(f.issue)return{ok:!1,errors:[f.issue]};let h=f.def._runSync(e,t);return h.ok?h:{...h,from:h.from||f.def}}if(this.kind==="enum"){let f=this._validateEnum(e,!0);return f.length?{ok:!1,errors:f}:{ok:!0,value:this._materializeEnum(e)}}let r=ar(e);if(r)return{ok:!1,errors:[r]};let i=e,n={...i},s=new Set,a=this._applyTransforms(i,n),o=this._applyCoercions(n,s);this._applyDefaults(n),this._coerceDates(n);let l=this._orderFieldErrors(a,o,this._validateFields(n,!0,s,t));if(l.length)return{ok:!1,errors:l};let c=t?.skipEnsures?[]:this._applyEnsures(n);if(c.length)return{ok:!1,errors:c};if(t?.materializeNested)try{this._materializeNestedValues(n,null,!1)}catch(f){return{ok:!1,errors:null,...Be(f)}}if(!t?.materialize)return{ok:!0,value:n};try{return{ok:!0,value:this._materializeOwnValidatedValue(n,null,!1)}}catch(f){return{ok:!1,errors:null,...Be(f)}}}async _runAsync(e,t){if(this.kind==="union"){let h=this._unionResolve(e);if(h.issue)return{ok:!1,errors:[h.issue]};let u=await h.def._runAsync(e,t);return u.ok?u:{...u,from:u.from||h.def}}if(this.kind==="enum")return this._runSync(e,t);let r=ar(e);if(r)return{ok:!1,errors:[r]};let i=e,n={...i},s=new Set,a=this._applyTransforms(i,n),o=this._applyCoercions(n,s);this._applyDefaults(n),this._coerceDates(n);let l=await this._validateFieldsAsync(n,s,t),c=this._orderFieldErrors(a,o,l);if(c.length)return{ok:!1,errors:c};let f=t?.skipEnsures?[]:await this._applyEnsuresAsync(n);if(f.length)return{ok:!1,errors:f};if(t?.materializeNested)try{this._materializeNestedValues(n,null,!1)}catch(h){return{ok:!1,errors:null,...Be(h)}}if(!t?.materialize)return{ok:!0,value:n};try{return{ok:!0,value:this._materializeOwnValidatedValue(n,null,!1)}}catch(h){return{ok:!1,errors:null,...Be(h)}}}async _validateFieldsAsync(e,t,r){let i=this._normalize(),n=[];for(let[s,a]of i.fields){if(t&&t.has(s))continue;let o=e[s];if(o===void 0||o===null){if(a.required)n.push({field:s,error:"required",message:s+" is required"});continue}if(a.array){if(!Array.isArray(o)){n.push({field:s,error:"type",message:s+" must be an array"});continue}let f=a.constraints;if(f?.min!=null&&o.lengthf.max)n.push({field:s,error:"max",message:s+" must have at most "+f.max+" items"});let h=Array(o.length),u=!1;for(let m=0;mJSON.stringify(f)).join(", ")})}else{let f=await Aa(o,a.typeName,r);if(f.errors)for(let h of f.errors){let u=pt(s,h.field);n.push({field:u,error:h.error,message:or(u,h.field,h.message)})}else e[s]=f.value}let l=e[s],c=a.constraints;if(c){if(typeof l==="string"){if(c.min!=null&&l.lengthc.max)n.push({field:s,error:"max",message:s+" must be at most "+c.max+" chars"});if(c.regex){if(c.regex.global||c.regex.sticky)c.regex.lastIndex=0;if(!c.regex.test(l))n.push({field:s,error:"pattern",message:s+" is invalid"})}}else if(typeof l==="number"){if(c.min!=null&&l= "+c.min});if(c.max!=null&&l>c.max)n.push({field:s,error:"max",message:s+" must be <= "+c.max})}}}return n}_runExistingSync(e,t){if(this.kind==="union"){let a=this._unionResolve(e);if(a.issue)return{ok:!1,errors:[a.issue]};let o=a.def._runExistingSync(e,t);return o.ok?o:{...o,from:o.from||a.def}}if(this.kind==="enum")return this._runSync(e,t);let r=ar(e);if(r)return{ok:!1,errors:[r]};let i={...e},n=this._validateFields(i,!0,null,{...t,existing:!0});if(n.length)return{ok:!1,errors:n};let s=t?.skipEnsures?[]:this._applyEnsures(i);if(s.length)return{ok:!1,errors:s};if(t?.materializeNested)try{this._materializeNestedValues(i,e,!0)}catch(a){return{ok:!1,errors:null,...Be(a)}}return this._finishExistingValue(e,i,t)}async _runExistingAsync(e,t){if(this.kind==="union"){let a=this._unionResolve(e);if(a.issue)return{ok:!1,errors:[a.issue]};let o=await a.def._runExistingAsync(e,t);return o.ok?o:{...o,from:o.from||a.def}}if(this.kind==="enum")return this._runSync(e,t);let r=ar(e);if(r)return{ok:!1,errors:[r]};let i={...e},n=await this._validateFieldsAsync(i,null,{...t,existing:!0});if(n.length)return{ok:!1,errors:n};let s=t?.skipEnsures?[]:await this._applyEnsuresAsync(i);if(s.length)return{ok:!1,errors:s};if(t?.materializeNested)try{this._materializeNestedValues(i,e,!0)}catch(a){return{ok:!1,errors:null,...Be(a)}}return this._finishExistingValue(e,i,t)}_finishExistingValue(e,t,r){if(!r?.materialize)return{ok:!0,value:t};let i=this._getClass(),n=!0;for(let[a]of this._normalize().fields)if(t[a]!==e[a]){n=!1;break}if(n)return{ok:!0,value:e};let s=new i(t);try{this._applyEagerDerived(s)}catch(a){return{ok:!1,errors:null,thrown:a}}return{ok:!0,value:s}}parse(e){if(this.kind==="mixin")throw Error(":mixin schema '"+(this.name||"anon")+"' is not instantiable");this._assertSyncValidatable("parse");let t=this._runSync(e,{materialize:!0,materializeNested:!0,derived:"throw"});if(t.ok)return t.value;if(t.thrown)throw t.thrown;let r=t.from||this;throw new v1(t.errors,r.name,r.kind)}get array(){let e=this,t=(s)=>({field:"",error:"not_array",message:"expected an array, received "+(s===null?"null":s===void 0?"undefined":typeof s==="object"?"an object with keys ["+Object.keys(s).join(", ")+"]":typeof s)}),r=(s)=>{let a=[],o=[];return s.forEach((l,c)=>{if(l.ok)a.push(l.value);else for(let f of l.errors)o.push({...f,field:"["+c+"]"+(f.field?"."+f.field:"")})}),{value:a,errors:o}},i=(s)=>{let a=[],o=[];return s.forEach((l,c)=>{try{a.push(e.parse(l))}catch(f){if(!(f instanceof v1))throw f;for(let h of f.issues)o.push({...h,field:"["+c+"]"+(h.field?"."+h.field:"")})}}),{value:a,errors:o}},n=async(s)=>{let a=[],o=[];for(let l=0;le.safe(l)));return o.length?{ok:!1,value:null,errors:o}:{ok:!0,value:a,errors:null}},ok(s){return Array.isArray(s)&&s.every((a)=>e.ok(a))},async parseAsync(s){if(!Array.isArray(s))throw new v1([t(s)],e.name,e.kind);let{value:a,errors:o}=await n(s);if(o.length)throw new v1(o,e.name,e.kind);return a},async safeAsync(s){if(!Array.isArray(s))return{ok:!1,value:null,errors:[t(s)]};let{value:a,errors:o}=r(await Promise.all(s.map((l)=>e.safeAsync(l))));return o.length?{ok:!1,value:null,errors:o}:{ok:!0,value:a,errors:null}},async okAsync(s){return Array.isArray(s)&&(await Promise.all(s.map((a)=>e.okAsync(a)))).every(Boolean)},toJSONSchema(){return{type:"array",items:e.toJSONSchema()}}}}safe(e){if(this.kind==="mixin")return{ok:!1,value:null,errors:[{field:"",error:"mixin",message:"not instantiable"}]};this._assertSyncValidatable("safe");let t=this._runSync(e,{materialize:!0,materializeNested:!0,derived:"issue"});if(t.ok)return{ok:!0,value:t.value,errors:null};if(t.thrown)return{ok:!1,value:null,errors:[{field:t.derivedField||"",error:"derived",message:t.thrown?.message||String(t.thrown)}]};return{ok:!1,value:null,errors:t.errors}}ok(e){if(this.kind==="mixin")return!1;return this._assertSyncValidatable("ok"),this._runSync(e,{materialize:!1,materializeNested:!1,derived:"issue"}).ok}async parseAsync(e){if(this.kind==="mixin")throw Error(":mixin schema '"+(this.name||"anon")+"' is not instantiable");let t=await this._runAsync(e,{materialize:!0,materializeNested:!0,derived:"throw"});if(t.ok)return t.value;if(t.thrown)throw t.thrown;let r=t.from||this;throw new v1(t.errors,r.name,r.kind)}async safeAsync(e){if(this.kind==="mixin")return{ok:!1,value:null,errors:[{field:"",error:"mixin",message:"not instantiable"}]};let t=await this._runAsync(e,{materialize:!0,materializeNested:!0,derived:"issue"});if(t.ok)return{ok:!0,value:t.value,errors:null};if(t.thrown)return{ok:!1,value:null,errors:[{field:t.derivedField||"",error:"derived",message:t.thrown?.message||String(t.thrown)}]};return{ok:!1,value:null,errors:t.errors}}async okAsync(e){if(this.kind==="mixin")return!1;return(await this._runAsync(e,{materialize:!1,materializeNested:!1,derived:"issue"})).ok}pick(...e){return mt(this,(t)=>{let r=$n(e),i=new Map;for(let n of r){if(!t.has(n))throw Error("pick: unknown field '"+n+"' on "+(this.name||"schema"));i.set(n,t.get(n))}return i})}omit(...e){return mt(this,(t)=>{let r=new Set($n(e)),i=new Map;for(let[n,s]of t)if(!r.has(n))i.set(n,s);return i})}partial(){return mt(this,(e)=>{let t=new Map;for(let[r,i]of e)t.set(r,{...i,required:!1});return t})}required(...e){return mt(this,(t)=>{let r=new Set($n(e)),i=new Map;for(let[n,s]of t)i.set(n,{...s,required:r.has(n)?!0:s.required});return i})}extend(e){if(!(e instanceof gt))throw Error("extend(): argument must be a schema value");if(e.kind==="union")throw Error("extend(): :union schemas have no fields to merge");return mt(this,(t)=>{let r=new Map(t),i=e._normalize().fields;for(let[n,s]of i){if(r.has(n))throw Error("extend(): field '"+n+"' collides between "+(this.name||"schema")+" and "+(e.name||"other"));r.set(n,s)}return r})}toJSONSchema(){let e={defs:new Map,expanding:new Set},t=Ca(this,e);if(t.$schema="https://json-schema.org/draft/2020-12/schema",this.name)t.title=this.name;if(e.defs.size){t.$defs={};for(let[r,i]of e.defs)t.$defs[r]=i}return t}}var Ia={__proto__:null,string:()=>({type:"string"}),text:()=>({type:"string"}),email:()=>({type:"string",format:"email"}),url:()=>({type:"string",format:"uri"}),uuid:()=>({type:"string",format:"uuid"}),phone:()=>({type:"string",pattern:"^[\\d\\s\\-+()]+$"}),zip:()=>({type:"string",pattern:"^\\d{5}(-\\d{4})?$"}),number:()=>({type:"number"}),integer:()=>({type:"integer"}),boolean:()=>({type:"boolean"}),date:()=>({type:"string",format:"date"}),datetime:()=>({type:"string",format:"date-time"}),json:()=>({}),any:()=>({})};function L3(e,t){let r;if(e.typeName==="literal-union"&&e.literals?.length)r=e.literals.length===1?{const:e.literals[0]}:{enum:[...e.literals]};else if(Ia[e.typeName])r=Ia[e.typeName]();else{let n=ee.get(e.typeName);r=n?xa(n,t):{}}let i=e.constraints;if(i&&!e.array){if(r.type==="string"){if(i.min!=null)r.minLength=i.min;if(i.max!=null)r.maxLength=i.max;if(i.regex)r.pattern=i.regex.source}else if(r.type==="number"||r.type==="integer"){if(i.min!=null)r.minimum=i.min;if(i.max!=null)r.maximum=i.max}}if(e.array){if(r={type:"array",items:r},i){if(i.min!=null)r.minItems=i.min;if(i.max!=null)r.maxItems=i.max}}if(i&&i.default!==void 0)r.default=i.default;if(e.coerce)r.description=((r.description?r.description+" ":"")+"Coerced from wire data ("+(e.coercer?"~:"+e.coercer:"~"+e.typeName)+").").trim();if(e.transform)r.description=((r.description?r.description+" ":"")+"Derived via transform; the raw input may use different keys.").trim();return r}function xa(e,t){let r=e.name||"Anon";if(!t.defs.has(r)&&!t.expanding.has(r))t.expanding.add(r),t.defs.set(r,null),t.defs.set(r,Ca(e,t)),t.expanding.delete(r);return{$ref:"#/$defs/"+r}}function Ca(e,t){let r=e._normalize();if(e.kind==="enum")return{enum:[...new Set(r.enumMembers.values())]};if(e.kind==="union"){let a=e._unionPlan();return{oneOf:r.unionMembers.map((l)=>{let c=ee.get(l);return c?xa(c,t):{}}),discriminator:{propertyName:a.disc}}}let i={},n=[];for(let[a,o]of r.fields)if(i[a]=L3(o,t),o.required&&o.constraints?.default===void 0)n.push(a);if(e.kind==="model")Se.jsonSchemaModelColumns(e,i);let s={type:"object",properties:i};if(n.length)s.required=n;if(r.ensures.length)s.description="Refinements (not expressible in JSON Schema): "+r.ensures.map((a)=>a.message).join("; ")+".";return s}function $n(e){let t=[];for(let r of e)if(Array.isArray(r))for(let i of r)t.push(i);else t.push(r);return t}function mt(e,t){if(e.kind==="union")throw Error("schema algebra (.pick/.omit/.partial/.required/.extend) is not supported on :union — derive from a constituent schema instead");if(e.kind==="enum")throw Error("schema algebra is not supported on :enum — an enum has no field set");let r=e.kind==="model"?Se.projectableFields(e):e._normalize().fields,i=t(r),n=[];for(let[,o]of i){let l=[];if(o.required)l.push("!");if(o.optional&&!o.required)l.push("?");n.push({tag:"field",name:o.name,modifiers:l,unique:o.unique===!0,primary:o.primary===!0,attrs:o.attrs||null,typeName:o.typeName,array:o.array,literals:o.literals||null,coerce:o.coerce===!0,coercer:o.coercer||null,constraints:o.constraints,transform:o.transform||null})}let s=(e.name||"Schema")+"Derived",a=new gt({kind:"shape",name:s,entries:n});return a._sourceModel=e._sourceModel||(e.kind==="model"?e:null),a}function Pa(e,t,r,i){for(let n of r){if(n.name!=="mixin"||!n.args||!n.args[0])continue;let s=n.args[0].target;if(!s)continue;if(i.stack.includes(s))throw new v1([{field:"",error:"mixin-cycle",message:"mixin cycle: "+i.stack.concat(s).join(" -> ")}],e.name,e.kind);if(i.seen.has(s))continue;let a=ee.getKind(s,"mixin");if(!a)throw new v1([{field:"",error:"mixin-missing",message:"unknown mixin: "+s}],e.name,e.kind);i.seen.add(s),i.stack.push(s);let o=a._desc.entries.filter((l)=>l.tag==="directive"&&l.name==="mixin").map((l)=>({name:l.name,args:l.args||[]}));Pa(e,t,o,i);for(let l of a._desc.entries){if(l.tag!=="field")continue;if(t.has(l.name))throw new v1([{field:l.name,error:"mixin-collision",message:l.name+" from mixin "+s+" collides with existing field"}],e.name,e.kind);if(e.kind!=="model"&&(l.unique===!0||l.attrs))throw new v1([{field:l.name,error:"mixin-persistence",message:l.name+" from mixin "+s+" carries persistence metadata (@unique/attrs) — :model-only; a :"+e.kind+" cannot include it"}],e.name,e.kind);t.set(l.name,{name:l.name,required:l.modifiers.includes("!"),optional:l.modifiers.includes("?"),unique:l.unique===!0,attrs:l.attrs||null,typeName:l.typeName,literals:l.literals||null,array:l.array===!0,coerce:l.coerce===!0,coercer:l.coercer||null,constraints:l.constraints||null,transform:l.transform||null})}i.stack.pop()}}function M3(e){let t=new gt(e);if(t.name)ee.register(t);return t}if(typeof globalThis<"u")globalThis.__ripSchema=globalThis.__ripSchema||{},globalThis.__ripSchema.SchemaRegistry=ee;var gr={};Ce(gr,{__batch:()=>L1,__catchErrors:()=>ue,__computed:()=>H1,__detachRef:()=>Cn,__effect:()=>$1,__handleError:()=>te,__ownerFrame:()=>yt,__popOwner:()=>Y1,__pushOwner:()=>le,__readonly:()=>fe,__setEffectErrorReporter:()=>j3,__setErrorHandler:()=>he,__state:()=>_1,getEffectSignal:()=>ce});var Ma=Symbol.for("rip.runtime.reactive");if(globalThis[Ma])throw Error("two copies of the Rip reactive runtime loaded in one process — states from different copies "+"cannot notify each other (separate dependency graphs, separate effect queues). Run .rip sources through the rip CLI/loader (one shared runtime module per process), or load only one standalone-compiled file per process.");globalThis[Ma]=!0;var N1=null,dr=[],Ue={buckets:[],size:0,low:0,add(e){let t=e.depth,r=this.buckets[t];if(r===void 0)r=this.buckets[t]=new Set;if(r.has(e))return;if(r.add(e),this.size++,tconsole.error(e,t);function j3(e){let t=bt;return bt=e,t}function ja(){try{while(Ue.size>0){let e=Ue.shift();if(!e._disposed)e.run()}}catch(e){throw Ue.clear(),e}}var Fa={valueOf(){return this.value},toString(){return String(this.value)},[Symbol.toPrimitive](e){return e==="string"?this.toString():this.valueOf()}};function _1(e){if(e!=null&&typeof e==="object"&&typeof e.read==="function")return e;let t=e,r=new Set,i=!1,n=!1,s=!1,a=()=>{if(N1&&typeof N1.markDirty==="function"&&N1.dependencies.has(r))throw Error("reactive runtime: computed dependency changed during evaluation — "+"computed functions must derive without writing or touching a dependency")},o=()=>{for(let f of dr)f.writtenSignals.add(r)},l=()=>{i=!0;try{for(let f of r)if(f.markDirty)f.markDirty(!0);else f._hard=!0,Ue.add(f);if(!mr)ja()}finally{i=!1}},c={get value(){if(s)return t;if(N1?.writtenSignals&&dr.some((f)=>f.writtenSignals.has(r)))throw Error("reactive runtime: computed dependency changed during evaluation — "+"computed functions must derive without writing or touching a dependency");if(N1)r.add(N1),N1.dependencies.add(r);return t},set value(f){if(s||n||f===t)return;if(a(),i)return;o(),t=f,l()},read(){return t},touch(){if(s)return;if(a(),i)return;o(),l()},lock(){return n=!0,c},free(){return r.clear(),c},kill(){return s=!0,r.clear(),t},...Fa};return c}var hr=0,La=1,ur=2;function Ba(e){let t=N1;N1=null;try{for(let[r,i]of e.computedDeps)if(r.value,r.version!==i)return!0;return!1}finally{N1=t}}function H1(e){let t,r=ur,i=new Set,n=!1,s=!1,a=!1,o={dependencies:new Set,computedDeps:new Map,writtenSignals:new Set,version:0,markDirty(l){if(s||n)return;if(a)throw Error("reactive runtime: computed dependency changed during evaluation — "+"computed functions must derive without writing or touching a dependency");let c=r;if(l)r=ur;else if(r===hr)r=La;if(c!==hr)return;for(let f of i)if(f.markDirty)f.markDirty(!1);else Ue.add(f)},get value(){if(s)return t;if(N1&&N1!==o)i.add(N1),N1.dependencies.add(i),N1.computedDeps.set(o,-1);if(a)throw Error("reactive runtime: computed value read during its own evaluation — "+"recursive computed reads are not supported");if(r===La&&!n)r=Ba(o)?ur:hr;if(r===ur&&!n){for(let c of o.dependencies)c.delete(o);o.dependencies.clear(),o.computedDeps.clear();let l=N1;o.writtenSignals.clear(),N1=o,dr.push(o),a=!0;try{let c=e();if(c!==t)o.version++;t=c,r=hr}finally{a=!1,dr.pop(),o.writtenSignals.clear(),N1=l}}if(N1&&N1!==o)N1.computedDeps.set(o,o.version);return t},read(){return t},lock(){return n=!0,o.value,o},free(){for(let l of o.dependencies)l.delete(o);return o.dependencies.clear(),o.computedDeps.clear(),i.clear(),o},kill(){s=!0;let l=t;return o.free(),l},...Fa};return o}function $1(e){let t=null,r=0,i=j1,n={depth:i?i.depth+1:0,dependencies:new Set,computedDeps:new Map,_hard:!0,_disposed:!1,signal:null,run(){if(n._disposed)return;let a=n._hard;if(n._hard=!1,!a&&!Ba(n))return;if(t)try{t.abort()}catch{}t=typeof AbortController<"u"?new AbortController:null,n.signal=t?t.signal:null;let o=++r;if(n._cleanup)n._cleanup(),n._cleanup=null;for(let f of n.dependencies)f.delete(n);n.dependencies.clear(),n.computedDeps.clear();let l=N1;N1=n;let c=j1;j1=i;try{let f=e();if(typeof f==="function")n._cleanup=f;else if(f&&typeof f.then==="function")f.then((h)=>{if(o!==r||n._disposed){if(typeof h==="function")try{h()}catch(u){bt("[Rip] superseded async cleanup error:",u)}return}if(typeof h==="function")n._cleanup=h},(h)=>{if(h&&h.name==="AbortError")return;if(o!==r||n._disposed)return;bt("[Rip] async effect error:",h)})}finally{N1=l,j1=c}},dispose(){if(n._disposed)return;if(n._disposed=!0,Ue.delete(n),t)try{t.abort()}catch{}if(n._cleanup)n._cleanup(),n._cleanup=null;for(let a of n.dependencies)a.delete(n);n.dependencies.clear()}};try{n.run()}catch(a){throw n.dispose(),a}let s=()=>n.dispose();if(j1)j1.add(s);return s}function L1(e){if(mr)return e();mr=!0;try{return e()}finally{mr=!1,ja()}}function yt({nested:e=!0}={}){let t=[],r=null,n={depth:j1?j1.depth+1:0,get disposed(){return t===null},get size(){return t===null?0:t.length},add(s){if(t===null)s();else t.push(s)},remove(s){if(t===null)return;let a=t.indexOf(s);if(a>=0)t.splice(a,1)},dispose(){if(t===null)return;let s=t;if(t=null,r!==null){let a=r;r=null,a()}for(let a of s)try{a()}catch(o){bt("[Rip] effect disposer error:",o)}}};if(e&&j1){let s=j1;s.add(n.dispose),r=()=>s.remove(n.dispose)}return n}function le(e){let t={frame:e,prev:j1};return j1=e,t}function Y1(e){if(!e||typeof e!=="object"||!("frame"in e))throw Error("reactive runtime: __popOwner takes the token the matching __pushOwner returned");if(j1!==e.frame)throw Error("reactive runtime: __popOwner out of order — the frame being popped is not the current owner "+"(an inner push was not popped, or this token was already popped)");j1=e.prev}function ce(){return N1?N1.signal:null}function fe(e){return Object.freeze({value:e})}function Cn(e,t){if(e&&typeof e.read==="function"&&e.read()===t)e.value=null}var pr=null;function he(e){let t=pr;return pr=e,t}function te(e){if(pr)try{pr(e)}catch(t){console.error("Error in error handler:",t),console.error("Original error:",e)}else throw e}function ue(e){return function(...t){try{return e.apply(this,t)}catch(r){te(r)}}}var Et={};Ce(Et,{__Component:()=>ro,__claimGateConstructor:()=>Un,__clsx:()=>Er,__detach:()=>Rr,__detachRef:()=>Cn,__gateBind:()=>rc,__handleComponentError:()=>Mn,__hmrClassify:()=>Rt,__hmrEmit:()=>ke,__hmrEntries:()=>jn,__hmrEvents:()=>W3,__hmrLookup:()=>F3,__hmrMigrateDiff:()=>qa,__hmrMigrateRemount:()=>Y3,__hmrPatch:()=>Bn,__hmrPreserveState:()=>kr,__hmrRegisterDefinition:()=>St,__hmrRegistry:()=>Ee,__hmrRestoreUi:()=>Tr,__hmrSnapshotUi:()=>Fn,__lis:()=>eo,__ownerFrame:()=>yt,__popComponent:()=>Re,__popOwner:()=>Y1,__pushComponent:()=>Ve,__pushOwner:()=>le,__reconcile:()=>J3,__style:()=>to,__transition:()=>Q3,getContext:()=>q3,hasContext:()=>X3,setContext:()=>z3});var Ka=Symbol.for("rip.runtime.components");if(globalThis[Ka])throw Error("two copies of the Rip component runtime loaded in one process — components from different "+"copies cannot see each other (separate component stacks: context, parent chains, and error boundaries silently break across copies). Run .rip sources through the rip CLI/loader (one shared runtime module per process), or load only one standalone-compiled file per process.");globalThis[Ka]=!0;var re=null,Ya={},yr=null,za=new WeakMap,Ua=!1,Ee=new Map;function Pn(e,t){if(e===t)return!0;if(!Array.isArray(e)||!Array.isArray(t)||e.length!==t.length)return!1;for(let r=0;rn.has(c)),o=i.filter((c)=>!n.has(c)),l=r.filter((c)=>!s.has(c));return{kept:a,added:o,removed:l}}var Sr=[],V3=64;function ke(e,t={}){let r={type:e,at:Date.now(),...t};if(Sr.push(r),Sr.length>V3)Sr.shift();if(typeof window<"u"&&typeof window.dispatchEvent==="function"&&typeof CustomEvent==="function")try{window.dispatchEvent(new CustomEvent("rip:hmr",{detail:r}))}catch{}return r}function W3(){return Sr.slice()}function kr(e,t){let r=e?.constructor?.__hmrSig,i=t?.constructor?.__hmrSig,n=r?.state,s=i?.state,a=qa(r,i);if(!Array.isArray(n)||!Array.isArray(s))return ke("migrate",{id:t?.constructor?.__hmrId??null,...a,copied:[]}),a;let o=new Set(n),l=[];for(let f of s){if(!o.has(f))continue;let h=e[f],u=t[f];if(h!=null&&u!=null&&typeof h==="object"&&typeof u==="object"&&"value"in h&&"value"in u)u.value=h.value,l.push(f)}let c=t?.constructor?.__hmrId??e?.constructor?.__hmrId??null;return ke("migrate",{id:c,...a,copied:l}),{...a,copied:l}}var Xa=["name","type","placeholder"];function Ja(e){let t=(i)=>typeof e[i]==="string"&&e[i]?e[i]:null,r={tag:e.tagName??null};for(let i of Xa)r[i]=t(i);return r.label=typeof e.getAttribute==="function"?e.getAttribute("aria-label"):null,r.value=typeof e.value==="string"?e.value:null,r}function Ln(e,t,r){if(!e||!t)return!1;let i=Ja(e);for(let n of["tag",...Xa,"label"])if(i[n]!==t[n])return!1;return!r||t.value==null||i.value===t.value}function H3(e){let t=Ja(e),r=typeof e.id==="string"&&e.id?e.id:null,i=[],n=e;while(n&&n!==document.body){let s=n.parentElement??n.parentNode??null;if(!s||!s.children)return{identity:t,id:r,path:null};i.unshift(Array.prototype.indexOf.call(s.children,n)),n=s}return{identity:t,id:r,path:n===document.body?i:null}}function G3(e){let t=e.active;if(t&&t.isConnected!==!1&&typeof document.contains==="function"&&document.contains(t))return t;let r=e.locator;if(!r)return null;if(r.id&&typeof document.getElementById==="function"){let o=document.getElementById(r.id);if(Ln(o,r.identity,!1))return o}if(!Array.isArray(r.path)||r.path.length===0)return null;let i=document.body;for(let o of r.path.slice(0,-1))if(i=i?.children?.[o]??null,!i)return null;let n=Array.from(i.children??[]),s=n[r.path[r.path.length-1]]??null;if(Ln(s,r.identity,!0))return s;let a=n.filter((o)=>Ln(o,r.identity,!0));return a.length===1?a[0]:null}function Fn(){if(typeof document>"u")return null;let e=document.activeElement,t=e&&e!==document.body&&e!==document.documentElement?e:null,r=null;if(t&&typeof t.selectionStart==="number")r={start:t.selectionStart,end:t.selectionEnd,direction:t.selectionDirection};return{active:t,locator:t?H3(t):null,selection:r,scrollX:typeof window<"u"?window.scrollX:0,scrollY:typeof window<"u"?window.scrollY:0}}function Tr(e){if(!e||typeof document>"u")return;if(typeof window<"u")window.scrollTo(e.scrollX??0,e.scrollY??0);let t=G3(e);if(!t||typeof t.focus!=="function")return;try{if(t.focus({preventScroll:!0}),e.selection&&typeof t.setSelectionRange==="function")t.setSelectionRange(e.selection.start,e.selection.end,e.selection.direction??"none")}catch{}}function Za(e,t){let r=e.constructor?.__hmrId;if(typeof r==="string"&&r)Ee.get(r)?.instances.delete(e);Object.setPrototypeOf(e,t.prototype),Object.defineProperty(e,"constructor",{value:t,writable:!0,configurable:!0}),St(t),Ee.get(t.__hmrId)?.instances.add(e)}function Bn(e,t){if(!e||!t)throw Error("__hmrPatch requires a living instance and a replacement constructor");let r=e.constructor?.__hmrId;return Za(e,t),e._hmrRerender(),ke("patch",{id:t.__hmrId??r??null}),e}function Qa(e){return Object.keys(e).sort().join(",")}function K3(e,t){let r=re?._hmrOrphans;if(!r||r.length===0)return null;let i=e.__hmrId;if(typeof i!=="string")return null;let n=Qa(t),s=null;for(let a of r){if(a._state!=="mounted"||a.constructor.__hmrId!==i||a._hmrPropKeys!==n)continue;if(s)return null;s=a}if(!s||Rt(s.constructor,e)!=="patch")return null;if(r.splice(r.indexOf(s),1),s.constructor!==e)Za(s,e);s._hmrRelease();try{s._hmrApplyProps(t)}catch(a){throw s._teardown({state:"failed",hooks:!1,removeDOM:!0}),a}if(!s._hmrRebind())return null;return s}function Y3(e,t,r={}){let i=new t(r);return kr(e,i),i}function Un(){if(Ua)throw Error("[Rip] the render-gate construction capability is already claimed");return Ua=!0,(e,t)=>{let r=yr;yr={brand:Ya,component:e,gates:t.gates,parent:t.parent??null,stash:t.stash??null,router:t.router??null,used:!1};try{return new e({})}finally{yr=r}}}function Rr(e){if(!e||e.nodeType===11)return;if(typeof e.remove==="function")e.remove();else if(e.parentNode)e.parentNode.removeChild(e)}function Ve(e){let t=re;if(e&&e._parent==null&&t&&t!==e)e._parent=t;return re=e,t}function Re(e){re=e}function z3(e,t){if(!re)throw Error("setContext must be called during component initialization");if(!re._context)re._context=new Map;re._context.set(e,t)}function q3(e){let t=re,r=new Set;while(t&&!r.has(t)){if(r.add(t),t._context&&t._context.has(e))return t._context.get(e);t=t._parent}throw Error(`getContext: no provider for context ${JSON.stringify(e)} in this component's parent chain — `+"offer it from an ancestor, or probe with hasContext(key) where absence is legal")}function X3(e){let t=re,r=new Set;while(t&&!r.has(t)){if(r.add(t),t._context&&t._context.has(e))return!0;t=t._parent}return!1}function Er(...e){let t="";for(let r of e){if(!r)continue;if(typeof r==="string")t&&(t+=" "),t+=r;else if(typeof r==="object"){if(Array.isArray(r)){let i=Er(...r);i&&(t&&(t+=" "),t+=i)}else for(let i in r)if(r[i])t&&(t+=" "),t+=i}}return t}function eo(e){let t=e.length;if(t===0)return[];let r=[],i=[],n=Array(t).fill(-1);for(let o=0;o>1;if(r[f]0)n[o]=i[l-1]}let s=[],a=i[r.length-1];for(let o=r.length-1;o>=0;o--)s.push(a),a=n[a];return s.reverse(),s}function J3(e,t,r,i,n,s,...a){let o=e.parentNode;if(!o)return;let l=t.keys,c=t.items||[],f=t.blocks,h=l.length,u=r.length,m=Array(u),S=s!=null,g=S?r.map((y,p)=>s(y,p)):r;if(S){let y=new Set;for(let p of g){if(y.has(p))throw Error(`__reconcile: duplicate key ${JSON.stringify(String(p))} — keyed rows need unique keys `+"(the key function must be injective over the items)");y.add(p)}}if(h===0){if(u>0){let y=document.createDocumentFragment();for(let p=0;p=d&&_>=d&&l[b]===g[_]){let y=f[b];if(!y._s)y.p(i,r[_],_,...a);m[_]=y,b--,_--}if(d>_)for(let y=d;y<=b;y++)f[y].d(!0);else if(d>b){let y=_+1=d;x--){let O=m[x];if(!I.has(x-d))O.m(o,A);A=O._first}}t.keys=S?g:r.slice(),t.items=r.slice(),t.blocks=m}var Va=!1;function Z3(){if(Va)return;Va=!0;let e=document.createElement("style");e.textContent=[".fade-enter-active,.fade-leave-active{transition:opacity .2s ease}",".fade-enter-from,.fade-leave-to{opacity:0}",".slide-enter-active,.slide-leave-active{transition:opacity .2s ease,transform .2s ease}",".slide-enter-from{opacity:0;transform:translateY(-8px)}",".slide-leave-to{opacity:0;transform:translateY(8px)}",".scale-enter-active,.scale-leave-active{transition:opacity .2s ease,transform .2s ease}",".scale-enter-from,.scale-leave-to{opacity:0;transform:scale(.95)}",".blur-enter-active,.blur-leave-active{transition:opacity .2s ease,filter .2s ease}",".blur-enter-from,.blur-leave-to{opacity:0;filter:blur(4px)}",".fly-enter-active,.fly-leave-active{transition:opacity .2s ease,transform .2s ease}",".fly-enter-from{opacity:0;transform:translateY(-20px)}",".fly-leave-to{opacity:0;transform:translateY(20px)}"].join(""),document.head.appendChild(e)}function Q3(e,t,r,i){Z3();let n=e.classList,s=t+"-"+r+"-from",a=t+"-"+r+"-active",o=t+"-"+r+"-to",l=!1,c=null;n.add(s,a),requestAnimationFrame(()=>{requestAnimationFrame(()=>{n.remove(s),n.add(o);let f=(u)=>{if(l||u&&u.target!==e)return;if(l=!0,clearTimeout(c),e.removeEventListener("transitionend",f),e.removeEventListener("transitioncancel",f),n.remove(a,o),i)i()};e.addEventListener("transitionend",f),e.addEventListener("transitioncancel",f);let h=0;try{let u=getComputedStyle(e),m=(S)=>Math.max(0,...String(S).split(",").map((g)=>(parseFloat(g)||0)*(/ms\s*$/.test(g.trim())?1:1000)));h=m(u.transitionDuration)+m(u.transitionDelay)}catch{}c=setTimeout(()=>f(),h+50)})})}function ec(e){let t=e!=null&&typeof e==="object"?e.name:null;if(t==="GateFailure"||t==="ComponentFailure")return e;let r=Error(e!=null&&e.message!==void 0?e.message:String(e));r.name="ComponentFailure";let i=e!=null?e.status??e.response?.status:void 0;if(i!==void 0)r.status=i;return r.error=e,r}function Mn(e,t){let r=ec(e),i=t,n=new Set;while(i&&!n.has(i)){if(n.add(i),i.onError){let s=Ve(i),a=le(i._frame);try{i.onError(r,t);return}catch(o){}finally{Y1(a),Re(s)}}i=i._parent}throw e}var Wa=new WeakSet;function tc(e,t){if(Wa.has(e))return;let r=e.__props??[];if(!Array.isArray(r))throw Error(`${e.name||"component"}: static __props must be an array of declared prop names`);for(let i of r){if(typeof i!=="string"||i.length===0)throw Error(`${e.name||"component"}: static __props entries must be non-empty strings`);if(i.startsWith("_"))throw Error(`${e.name||"component"}: declared prop '${i}' collides with component internals — `+"underscore-prefixed names are reserved for the runtime");if(i in t)throw Error(`${e.name||"component"}: declared prop '${i}' collides with a component member (a method or lifecycle slot already answers '${i}')`)}Wa.add(e)}function rc(e,t){let i=za.get(e)?.gates?.[t];if(!i?.cell)throw Error(`[Rip] render gate ${t} has no renderer-resolved source binding — `+"gated components may only be constructed by rip/app createRenderer()");let n=i.value,s=!0;return H1(()=>{if(s)return s=!1,i.cell.read(),n;let a=i.cell.read();for(let o of i.tail){if(a==null)break;a=a[o]}if(a!=null)n=a;return n})}var br=new WeakMap;function Ha(e,t,r){if(t.startsWith("--")&&typeof e.setProperty==="function")if(r==null||r==="")e.removeProperty(t);else e.setProperty(t,String(r));else e[t]=r}function to(e,t){let r=br.get(e);if(t==null){e.removeAttribute("style"),br.delete(e);return}if(typeof t!=="object"){e.setAttribute("style",String(t)),br.delete(e);return}if(r){for(let i of r)if(!(i in t))Ha(e.style,i,"")}br.set(e,Object.keys(t));for(let i of Object.keys(t))Ha(e.style,i,t[i])}function Ga(e,t){let r=e.__props??[],i=e.__extends??null,n=null;for(let s of Object.keys(t)){if(s==="children")continue;if(s.startsWith("__bind_")&&s.endsWith("__")){let a=s.slice(7,-2);if(r.includes(a))continue;throw Error(`${e.name||"component"}: cannot bind unknown prop '${a}' — declared `+`props are [${r.join(", ")}]`)}if(r.includes(s))continue;if(i!==null){(n??={})[s]=t[s];continue}throw Error(`${e.name||"component"}: unknown prop '${s}' — declared props are `+`[${r.join(", ")}]`)}return n}class ro{constructor(e={}){let t=K3(this.constructor,e);if(t)return t;this._state="new",tc(this.constructor,this);let r=this.constructor.__gates,i=yr,n=i?.brand===Ya&&i.component===this.constructor&&i.used!==!0;if(n)i.used=!0;if(r?.length&&!n)throw Error("[Rip] component declares render gates (<~) and cannot be constructed directly or as an embedded child; render gates are honored only by rip/app createRenderer()");if(n){if(za.set(this,i),i.parent)this._parent=i.parent;if(i.stash!=null)this.stash=i.stash;if(i.router!=null)this.router=i.router,Object.defineProperty(this,"params",{get:()=>i.router.params,configurable:!0}),Object.defineProperty(this,"query",{get:()=>i.router.query,configurable:!0})}if(this.stash==null&&globalThis.__ripStash!=null)this.stash=globalThis.__ripStash;if(this.router==null&&globalThis.__ripRouter!=null)this.router=globalThis.__ripRouter;let s=Ga(this.constructor,e);if("children"in e)this.children=e.children;if(this.constructor.__hmrId)this._hmrPropKeys=Qa(e);if(this.constructor.__extends!=null)this._rest=s??{},this.rest=_1(this._rest);this._frame=yt({nested:!1});let a=Ve(this),o=le(this._frame);try{this._init(e)}catch(l){Y1(o),Re(a),this._teardown({state:"failed",hooks:!1,removeDOM:!0}),this._initFailed=!0,Mn(l,this);return}if(Y1(o),Re(a),this.constructor.__hmrId)B3(this)}_init(e){}_updateProp(e,t){if(this._state==="failed"||this._state==="unmounted")return;let r=this.constructor.__props??[];if(!r.includes(e)){if(this.constructor.__extends){this._setRestProp(e,t);return}throw Error(`${this.constructor.name||"component"}: cannot update unknown prop '${e}' — declared `+`props are [${r.join(", ")}]`)}let i=this[e];if(i&&typeof i==="object"&&"value"in i){i.value=t;return}throw Error(`${this.constructor.name||"component"}: prop '${e}' is non-reactive — parent updates `+"cannot reach it (declare it with ':=' to receive updates)")}_setRestProp(e,t){if(e.startsWith("__bind_"))return;if(this._state==="failed"||this._state==="unmounted")return;if(this._rest||(this._rest={}),t==null)delete this._rest[e];else this._rest[e]=t;this.rest.touch();let r=le(this._frame);try{this._applyInheritedProp(this._inheritedEl,e,t)}finally{Y1(r)}}_applyRestToInheritedEl(){if(this._state==="failed"||this._state==="unmounted")return;if(!this._inheritedEl||!this._rest)return;for(let e in this._rest)this._applyInheritedProp(this._inheritedEl,e,this._rest[e])}_applyInheritedProp(e,t,r){if(this._state==="failed"||this._state==="unmounted")return;if(!e||t==="key"||t==="ref"||t==="children"||t.startsWith("__bind_"))return;let i=this._restWriters?.[t];if(i){if(i(),this._frame)this._frame.remove(i);delete this._restWriters[t]}if(r!=null&&typeof r==="object"&&typeof r.read==="function"){(this._restWriters??={})[t]=$1(()=>{this._applyPlainInheritedProp(e,t,r.value)});return}this._applyPlainInheritedProp(e,t,r)}_applyPlainInheritedProp(e,t,r){if(t[0]==="@"){let i=t.slice(1).split(".")[0];this._restHandlers||(this._restHandlers={});let n=this._restHandlers[t];if(n)e.removeEventListener(i,n);if(typeof r==="function"){let s=(a)=>L1(()=>r(a));this._restHandlers[t]=s,e.addEventListener(i,s)}else delete this._restHandlers[t];return}if(t==="class"||t==="className"){if(e instanceof SVGElement)e.setAttribute("class",Er(r));else e.className=Er(r);return}if(t==="style"){to(e,r);return}if(t==="innerHTML"||t==="textContent"||t==="innerText"){e[t]=r??"";return}if(t in e&&!t.includes("-")){e[t]=r;return}if(r==null||r===!1){e.removeAttribute(t);return}if(r===!0){e.setAttribute(t,"");return}e.setAttribute(t,r)}_beginMount(){if(this._state==="new"){this._state="mounting";return}let e=this.constructor.name||"component";if(this._state==="mounting")throw Error(`${e}: cannot mount an instance whose mount is already in progress`);if(this._state==="mounted")throw Error(`${e}: cannot mount an already-mounted instance — construct a new instance for another target`);if(this._state==="failed")throw Error(`${e}: cannot mount a failed instance — its mount rolled back; construct a new instance`);throw Error(`${e}: cannot mount an unmounted instance — its effects were disposed on unmount; construct a new instance`)}_mountCreate(){this._beginMount();let e=Ve(this),t=le(this._frame),r=null,i=!1;try{this._root=this._create()}catch(n){r=n,i=!0}finally{Y1(t),Re(e)}if(i)return this._failMount(r),!1;return!0}_mountSetup(e=null){if(this._state!=="mounting")return this._nodes?.[0]??this._root;let t=Ve(this),r=le(this._frame),i=null,n=!1;try{if(e){let s=this._nodes?.[0]??this._root;if(s?.parentNode)s.parentNode.insertBefore(e,s)}if(this.beforeMount)this.beforeMount();if(this._setup)this._setup();if(this.mounted)this.mounted();this._state="mounted",Rr(e),this._hmrDrainOrphans((s,a)=>console.error(`[Rip] ${s} error:`,a))}catch(s){i=s,n=!0}finally{Y1(r),Re(t)}if(n)return this._failMount(i),e;return this._nodes?.[0]??this._root}_failMount(e){this._teardown({state:"failed",hooks:!1,removeDOM:!0}),Mn(e,this)}_dispose(e,t){if(this._children){for(let r of this._children)try{t(r)}catch(i){e("child teardown",i)}this._children=null}try{this._frame?.dispose()}catch(r){e("owner disposal",r)}if(this._restWriters){for(let r of Object.values(this._restWriters))try{r()}catch(i){e("rest writer cleanup",i)}this._restWriters=null}if(this._restHandlers){if(this._inheritedEl)for(let[r,i]of Object.entries(this._restHandlers))try{this._inheritedEl.removeEventListener(r.slice(1).split(".")[0],i)}catch(n){e("rest handler cleanup",n)}this._restHandlers=null}if(this._refCleanups){let r=this._refCleanups;this._refCleanups=null;try{L1(()=>{for(let i of r)try{i()}catch(n){e("ref cleanup",n)}})}catch(i){e("ref cleanup batch flush",i)}}this._children=null,this._refCleanups=null,this._restWriters=null,this._restHandlers=null}_detachDOM(e,t){if(t)if(this._nodes)for(let r of this._nodes)try{Rr(r)}catch(i){e("DOM detach",i)}else try{Rr(this._root)}catch(r){e("DOM detach",r)}this._root=null,this._nodes=null,this._inheritedEl=null}_teardown({state:e,hooks:t,removeDOM:r}){if(this._state==="failed"||this._state==="unmounted")return;if(this.constructor.__hmrId)U3(this);this._state=e;let i=(n,s)=>console.error(`[Rip] ${n} error:`,s);if(this._hmrDrainOrphans(i),t)try{if(this.beforeUnmount)this.beforeUnmount()}catch(n){i("beforeUnmount",n)}if(this._dispose(i,(n)=>{if(t)n.unmount({removeDOM:r});else n._teardown({state:n._state==="mounted"?"unmounted":"failed",hooks:!1,removeDOM:!0})}),t)try{if(this.unmounted)this.unmounted()}catch(n){i("unmounted",n)}this._detachDOM(i,r),this._target=null}_hmrRelease(){let e=(t,r)=>console.error(`[Rip] ${t} error:`,r);try{if(this.beforeUnmount)this.beforeUnmount()}catch(t){e("beforeUnmount",t)}this._hmrOrphans=[],this._hmrReleasing=!0;try{this._dispose(e,(t)=>t.unmount({removeDOM:!0}))}finally{this._hmrReleasing=!1}this._detachDOM(e,!0),this._frame=yt({nested:!1}),this._state="new"}_hmrRebind(){let e=(i,n)=>console.error(`[Rip] ${i} error:`,n),t=Ve(this),r=le(this._frame);try{if(typeof this._hmrRefreshComputeds==="function")this._hmrRefreshComputeds();if(typeof this._hmrBindEffects==="function")this._hmrBindEffects()}catch(i){return Y1(r),Re(t),e("hmr rebind",i),this._failMount(i),!1}return Y1(r),Re(t),!0}_hmrApplyProps(e){let t=Ga(this.constructor,e);if("children"in e)this.children=e.children;for(let r of this.constructor.__props??[]){let i=`__bind_${r}__`;if(i in e){this[r]=e[i];continue}if(!(r in e))continue;let n=e[r];if(n!=null&&typeof n==="object"&&typeof n.read==="function")this[r]=n;else this._updateProp(r,n)}if(this.constructor.__extends!=null)this._rest=t??{},this.rest.value=this._rest}_hmrDrainOrphans(e){let t=this._hmrOrphans;if(!t)return;this._hmrOrphans=null;for(let r of t)try{r.unmount({removeDOM:!0})}catch(i){e("orphan teardown",i)}}_hmrRerender(){let e=this.constructor.name||"component";if(this._state!=="mounted")throw Error(`${e}: _hmrRerender requires a mounted instance`);let t=this._target,r=this._nodes,n=(r?.[0]??this._root)?.parentNode??null,s=r?.length?r[r.length-1].nextSibling:this._root?this._root.nextSibling:null;if(this._hmrRelease(),!this._hmrRebind())return this;if(typeof this._create!=="function")return this._state="mounted",this._hmrDrainOrphans((a,o)=>console.error(`[Rip] ${a} error:`,o)),this;if(!this._mountCreate())return this;try{let a=n&&n.nodeType!==11?n:null;if(a&&a.isConnected===!1)a=null;if(!a&&typeof t==="string"&&typeof document<"u")a=document.querySelector(t);else if(!a&&t&&t.nodeType!==11&&t.isConnected!==!1)a=t;else if(!a&&typeof document<"u")a=document.querySelector("#content")||document.querySelector("#app");if(a){let o=s&&(typeof a.contains!=="function"||a.contains(s))?s:null;if(this._nodes)for(let l of this._nodes)a.insertBefore(l,o);else if(this._root)a.insertBefore(this._root,o);this._target=a.nodeType===11?null:a}}catch(a){return this._failMount(a),this}return this._mountSetup(),this}mount(e){if(!this._mountCreate())return this;try{if(typeof e==="string")e=document.querySelector(e);if(this._target=e,this._root)e.appendChild(this._root)}catch(t){return this._failMount(t),this}return this._mountSetup(),this}unmount({removeDOM:e=!0}={}){if(this._state==="failed"||this._state==="unmounted")return;if(this._state==="mounted"&&this._parent?._hmrReleasing){this._parent._hmrOrphans.push(this);return}if(this._state==="mounting")throw Error(`${this.constructor.name||"component"}: cannot unmount while mounting`);this._teardown({state:"unmounted",hooks:this._state==="mounted",removeDOM:e})}emit(e,t){if(this._state!=="mounted"||!this._root)throw Error(`${this.constructor.name||"component"}: emit('${e}') outside the mounted window — `+"emit dispatches on the live root; call after mount and before unmount");(this._nodes?.[0]??this._root).dispatchEvent(new CustomEvent(e,{detail:t,bubbles:!0}))}static mount(e="body"){return new this().mount(e)}}var Hr={};Ce(Hr,{ariaCurrent:()=>Cr,browserAdapter:()=>$r,buildRoutes:()=>Ot,check:()=>Wr,connectFeed:()=>Ur,createApply:()=>Vr,createComponents:()=>vr,createMutation:()=>uo,createRenderer:()=>Dr,createRouter:()=>Ir,createStash:()=>Nr,createWorkspace:()=>Fr,currentRouter:()=>Rc,currentStash:()=>Sc,debounce:()=>mo,delay:()=>Ar,hold:()=>go,interceptClicks:()=>Pr,launch:()=>Mr,ownsAnchor:()=>$t,parseQuery:()=>ze,persistStash:()=>xr,preloadLinks:()=>Lr,rash:()=>Dt,source:()=>so,throttle:()=>po,unwrapStash:()=>Te,validatePrepared:()=>ai});var wr,Vn,no,io=Symbol.for("rip.source"),Wn=Symbol.for("rip.source.family"),nc=64,ic=30000,sc=/^(\d+(?:\.\d+)?(?:[eE][+-]?\d+)?)\s*(s|sec|second|seconds|m|min|minute|minutes|h|hr|hour|hours|d|day|days|w|week|weeks|y|year|years)$/;function D1(e){return e!=null&&(typeof e==="object"||typeof e==="function")&&(e[io]===!0||e[Wn]===!0)}function me(e){return e!=null&&typeof e==="function"&&e[Wn]===!0}no=function(e){let t,r;if(e==null)return 0;if(typeof e==="number"){if(!(Number.isFinite(e)&&e>=0))throw TypeError('Rip App: source staleTime must be a non-negative finite number, a duration string, or "forever"');return e}if(typeof e==="string"){if(e==="forever")return 1/0;if(r=e.match(sc),r)return t=parseFloat(r[1]),(()=>{switch(r[2][0]){case"s":return t*1000;case"m":return t*60000;case"h":return t*3600000;case"d":return t*86400000;case"w":return t*604800000;case"y":return t*31536000000}})()}throw TypeError('Rip App: source staleTime must be a non-negative number, a duration such as "5 min", or "forever"')};wr=function(e,t,r=null){let i=_1(null),n=_1(!1),s=_1(null),a=0,o=null,l=null,c=!1,f=!1,h=!1,u=0,m=0,S=async function(b=!1,_=!1){let y,p;o?.abort(),o=typeof AbortController<"u"?new AbortController:null;let k=++a;if(!b)n.value=!0;let I=h;return await(async()=>{try{if(y=e(o?.signal),!(y!=null&&typeof y.then==="function"))throw TypeError("Rip App: source fetch must return a Promise");if(p=await y,k!==a)return p;return s.value=null,i.value=p,h=!0,u=Date.now(),m=_&&!f?u+ic:0,p}catch(A){if(k!==a)return;if(A?.name==="AbortError")return;if(s.value=A,!I)throw h=!1,u=0,A;return}finally{if(k===a)n.value=!1,l=null,c=!1,f=!1,r?.()}})()},g=function(b=!1,_=!1){let y=S(b,_);return l=y,c=_,f=!1,y},d=function(){return t===1/0||Date.now()-unc){o=!1;for(let[l,c]of r){if(l===a)continue;if(c.loading)continue;r.delete(l),c.reset(),o=!0;break}if(!o)break}return},n=function(a){if(a==null)throw TypeError("Rip App: keyed source requires a key");let o=ac(a),l=r.get(o);if(l)return r.delete(o),r.set(o,l),l;return l=wr(function(c){return e(a,c)},t,i),r.set(o,l),i(o),l},s=function(a){return n(a).read()};return s[Wn]=!0,s.cellFor=n,s.reset=function(){let a=Array.from(r.values());r.clear();for(let o of a)o.reset();return},s};function so(e){if(!(e!=null&&typeof e==="object"&&!Array.isArray(e)))throw TypeError("Rip App: source expects an options object");if(typeof e.fetch!=="function")throw TypeError("Rip App: source options require a fetch function");let t=no(e.staleTime);if(Object.prototype.hasOwnProperty.call(e,"kind")){if(!(e.kind==="singleton"||e.kind==="keyed"))throw TypeError("Rip App: source kind must be 'singleton' or 'keyed'");if(e.kind==="singleton"){if(e.fetch.length>1)throw TypeError("Rip App: singleton source fetch accepts at most one AbortSignal parameter");return wr(e.fetch,t)}if(e.fetch.length<1||e.fetch.length>2)throw TypeError("Rip App: keyed source fetch requires a key parameter and accepts one optional AbortSignal parameter");return Vn(e.fetch,t)}if(e.fetch.length>1)throw TypeError("Rip App: inferred source fetch accepts no parameters for a singleton or one key parameter for a keyed family");return e.fetch.length===1?Vn(e.fetch,t):wr(e.fetch,t)}var zn,_t,Hn,Tt,I1=Symbol("rip.app.stash.raw"),We=Symbol("rip.app.stash.signals"),oc=Symbol("rip.app.stash.keys"),lo=Symbol("rip.app.stash.defaults"),lc=Symbol.for("rip.app.stash.purge"),co=new WeakMap,cc=0,qn=_1(0),Gn=function(){return qn.value++},fo=function(e,t){let r=e[We];if(!r)r=new Map,Object.defineProperty(e,We,{value:r});let i=r.get(t);if(!i)i=_1(e[t]),r.set(t,i);return i},wt=function(e){return fo(e,oc)},Kn=function(e){wt(e).value=++cc;return};_t=function(e){if(!(e!=null&&typeof e==="object"))return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null||Array.isArray(e)};var ao=function(e){if(!_t(e))return e;let t=co.get(e);if(t)return t;return zn(e)},He=function(e,t){let r=e?.[I1];if(!r)return e[t];let i=r[t];if(D1(i)){if(me(i))return i;return ao(i.read())}return ao(fo(r,t).value)},Yn=function(e,t,r){let i,n,s,a,o=e?.[I1];if(!o)return e[t]=r,r;if(Array.isArray(o)&&t==="length"){if(a=o.length,s=+r,o.length=s,s!==a){if(o[We]){for(let h=Math.min(a,s),u=Math.max(a,s);h0))throw TypeError("Rip App: stash path must be a non-empty string");let s=[],a=0;if(e[0]!=="["){n=a;while(a=e.length||a===n)throw TypeError(`Rip App: malformed stash path '${e}'`);if(r=e.slice(n,a),a++,e[a]!=="]")throw TypeError(`Rip App: malformed stash path '${e}'`);a++,s.push(r)}else{n=a;while(a{let i=[];for(let n in r){if(!Object.hasOwn(r,n))continue;let s=r[n];i.push(Hn(s,t))}return i})()};Tt=function(e){if(!_t(e))return e;let t=e[I1]?e[I1]:e;if(Array.isArray(t))return(()=>{let i=[];for(let n of t)if(!D1(n))i.push(Tt(n));return i})();let r={};for(let i in t){if(!Object.hasOwn(t,i))continue;let n=t[i];if(D1(n))continue;r[i]=Tt(n)}return r};function ho(e){let t=e?.[I1]?e[I1]:e;if(!(t!=null&&typeof t==="object"))return;Object.defineProperty(t,lo,{value:Tt(t),configurable:!0});return}function _r(e){if(D1(e))return e;if(!_t(e))return e;let t=e[I1]?e[I1]:e;if(Array.isArray(t))return(()=>{let i=[];for(let n of t)i.push(_r(n));return i})();let r={};for(let i in t){if(!Object.hasOwn(t,i))continue;let n=t[i];Object.defineProperty(r,i,{value:_r(n),writable:!0,enumerable:!0,configurable:!0})}return r}function Ye(e,t){let r,i,n;if(!(e!=null&&typeof e==="object"))return;if(!(t!=null&&typeof t==="object"))return;let s=e[I1]?e[I1]:e;for(let a in t){if(!Object.hasOwn(t,a))continue;let o=t[a];if(r=Object.prototype.hasOwnProperty.call(s,a)?s[a]:void 0,D1(r))continue;if(Array.isArray(r)&&r.some(function(l){return D1(l)}))continue;if(i=r!=null&&typeof r==="object"&&!Array.isArray(r),n=o!=null&&typeof o==="object"&&!Array.isArray(o),i&&n)Ye(e[a],o);else e[a]=Tt(o)}return}var uc=function(e,t){let r,i=t[lo];if(!i)return;r=function(n,s,a){let o;for(let l in s){if(!Object.hasOwn(s,l))continue;if(o=s[l],D1(o))continue;if(!(a!=null&&Object.prototype.hasOwnProperty.call(a,l))){delete n[l];continue}if(o!=null&&typeof o==="object"&&!Array.isArray(o))r(n[l],o,a[l])}return},r(e,t,i),Ye(e,i);return},mc={inc:!0,dec:!0,flip:!0,join:!0,keys:!0,has:!0,del:!0,peek:!0,reset:!0,source:!0},dc=function(e,t,r){if(r==="inc")return function(i,n=1){let s=(De(e,i)??0)+n;return kt(e,i,s),s};if(r==="dec")return function(i,n=1){let s=(De(e,i)??0)-n;return kt(e,i,s),s};if(r==="flip")return function(i){let n=!(De(e,i)??!1);return kt(e,i,n),n};if(r==="join")return function(i,n){if(!(n!=null&&typeof n==="object"&&!Array.isArray(n)))throw TypeError("Rip App: join expects a plain object");L1(function(){let s=De(e,i);if(!(s!=null&&typeof s==="object"&&!Array.isArray(s)))kt(e,i,{}),s=De(e,i);return(()=>{let a=[];for(let o in n){if(!Object.hasOwn(n,o))continue;let l=n[o];a.push(s[o]=l)}return a})()});return};if(r==="keys")return function(i){let n=i!=null?De(e,i):e;if(!(n!=null&&typeof n==="object"))return[];let s=n[I1]?n[I1]:n;return wt(s).value,Object.keys(s)};if(r==="has")return function(i){let n,s,a=Ge(i);if(!(a.length>0))return!1;let o=e;for(let l=0;l0))return;let a=e;for(let o=0;o{try{return i.value=!0,await t.onSuccess?.(l),l}finally{if(c===s)r.value=!1}})()};return Object.defineProperty(a,"pending",{get(){return r.value}}),Object.defineProperty(a,"succeeded",{get(){return i.value}}),Object.defineProperty(a,"error",{get(){return n.value}}),a}var Nt,At;Nt=function(e){return typeof e==="function"?e:function(){return e.value}};At=function(e,t,r){let i={read(){return e.read()}},n={get(){return e.value}};if(typeof t!=="function")n.set=function(s){return t.value=s};return Object.defineProperty(i,"value",n),i.dispose=function(){return r?.()},i};function Ar(e,t){let r=Nt(t),i=_1(!!r()),n=$1(function(){let s;if(r()){if(i.read())return;return s=setTimeout(function(){return i.value=!0},e),function(){return clearTimeout(s)}}i.value=!1;return});return At(i,t,n)}function mo(e,t){let r=Nt(t),i=_1(r()),n=$1(function(){let s=r(),a=setTimeout(function(){return i.value=s},e);return function(){return clearTimeout(a)}});return At(i,t,n)}function po(e,t){let r=Nt(t),i=_1(r()),n=0,s=$1(function(){let a=r(),o=Date.now(),l=e-(o-n);if(l<=0){i.value=a,n=o;return}let c=setTimeout(function(){return i.value=r(),n=Date.now()},l);return function(){return clearTimeout(c)}});return At(i,t,s)}function go(e,t){let r=Nt(t),i=_1(!!r()),n=$1(function(){if(r()){i.value=!0;return}if(!i.read())return;let s=setTimeout(function(){return i.value=!1},e);return function(){return clearTimeout(s)}});return At(i,t,n)}var Xn,Jn,we;we=function(e){if(!(typeof e==="string"&&e.length>0))throw TypeError("Rip App: component path must be a non-empty string");let t=e.split("/"),r=t.some(function(s){return!s||s==="."||s===".."}),i=t.at(-1),n=t.slice(0,-1).some(function(s){return s.endsWith(".rip")});if(e.includes("\\")||r||n||i===".rip"||!i.endsWith(".rip"))throw TypeError(`Rip App: invalid component path '${e}'`);return e};Xn=function(e){if(typeof e!=="string")throw TypeError("Rip App: component source must be a string");return e};Jn=function(e){if(e===""||e==null)return"";if(typeof e!=="string")throw TypeError("Rip App: component directory must be a string");let t=e.split("/");if(e.includes("\\")||t.some(function(r){return!r||r==="."||r===".."}))throw TypeError(`Rip App: invalid component directory '${e}'`);return e};function vr(){let e=new Map,t=new Map,r=new Set,i=function(s,a){let o=[];for(let l of Array.from(r))o.push((()=>{try{return l(s,a)}catch(c){return console.error("[Rip] component watcher error:",c)}})());return o};return{read(s){return e.get(we(s))},write(s,a){s=we(s),a=Xn(a);let o=e.has(s)?"change":"create";e.set(s,a),t.delete(s),i(o,s);return},del(s){s=we(s),e.delete(s),t.delete(s),i("delete",s);return},exists(s){return e.has(we(s))},size(){return e.size},list(s=""){let a;s=Jn(s);let o=s?s+"/":"",l=[];for(let[c]of e)if(c.startsWith(o)){if(a=c.slice(o.length),!a.includes("/"))l.push(c)}return l},listAll(s=""){s=Jn(s);let a=s?s+"/":"",o=[];for(let[l]of e)if(l.startsWith(a))o.push(l);return o},load(s){let a,o;if(!(s!=null&&typeof s==="object"&&!Array.isArray(s)))throw TypeError("Rip App: component load expects a source object");for(let l in s){if(!Object.hasOwn(s,l))continue;let c=s[l];l=we(l),c=Xn(c),e.set(l,c),t.delete(l)}return},watch(s){if(typeof s!=="function")throw TypeError("Rip App: component watch expects a function");r.add(s);let a=!1;return function(){if(a)return;a=!0,r.delete(s);return}},getCompiled(s){return t.get(we(s))},setCompiled(s,a){if(s=we(s),!(a!=null&&typeof a==="object"&&!Array.isArray(a)))throw TypeError("Rip App: compiled component module must be an object");t.set(s,a);return}}}var yo,So,C1,Qn,Ro,Eo,ko,Zn=/^\w+$/,To={static:0,dynamic:1,optional:2,catchall:3},bo=8;C1=function(e){throw Error(`Rip App: ${e}`)};var vt=function(e){return(()=>{try{return decodeURIComponent(e)}catch(t){return null}})()};ko=function(e){if(e==="")return"";if(typeof e!=="string")throw TypeError("Rip App: route root must be a string");let t=e.split("/");if(e.includes("\\")||t.some(function(r){return!r||r==="."||r===".."}))throw TypeError(`Rip App: invalid route root '${e}'`);return e};var wo=function(e,t){let r;if(r=/^\[\[(.+)\]\]$/.exec(e)){if(!Zn.test(r[1]))C1(`invalid optional segment '${e}' in '${t}'`);return{kind:"optional",name:r[1]}}else if(r=/^\[\.\.\.(.+)\]$/.exec(e)){if(!Zn.test(r[1]))C1(`invalid catch-all segment '${e}' in '${t}'`);return{kind:"catchall",name:r[1]}}else if(e.startsWith("[..."))return C1(`invalid catch-all segment '${e}' in '${t}'`);else if(r=/^\[(.+)\]$/.exec(e)){if(!Zn.test(r[1]))C1(`invalid dynamic segment '${e}' in '${t}'`);return{kind:"dynamic",name:r[1]}}else if(/^\(.+\)$/.test(e))return{kind:"group"};else if(e.includes("[")||e.includes("]"))return C1(`invalid segment '${e}' in '${t}': markers claim a whole segment`);else return{kind:"static",text:e}};yo=function(e){let t,r=(()=>{let h=[];for(let u of e.slice(0,-4).split("/"))h.push(wo(u,e));return h})();if(r[r.length-1].kind==="group")C1(`route file name cannot be a group segment: '${e}'`);let i=r.filter(function(h){return h.kind!=="group"});for(let h=0;hbo)C1(`more than ${bo} optional segments in '${e}'`);let o="",l=[],c=[{shape:"",display:""}];for(let h of i)switch(l.push(To[h.kind]),h.kind){case"static":t="/"+h.text,o+=t,c=c.map(function(u){return{shape:u.shape+t,display:u.display+t}});break;case"dynamic":o+=`/:${h.name}`,c=c.map(function(u){return{shape:u.shape+"/:",display:`${u.display}/:${h.name}`}});break;case"optional":o+=`/:${h.name}?`,c=c.flatMap(function(u){return[u,{shape:u.shape+"/:",display:`${u.display}/:${h.name}`}]});break;case"catchall":o+=`/*${h.name}`,c=c.map(function(u){return{shape:u.shape+"/*",display:`${u.display}/*${h.name}`}});break}if(o==="")o="/";if(new Set(c.map(function(h){return h.shape||"/"})).size{let l=[];for(let c of e)l.push(wo(c,t));return l})().filter(function(l){return l.kind!=="group"});for(let l of i)if(l.kind==="optional"||l.kind==="catchall")C1(`not-found page under an optional or catch-all segment: '${t}'`);let n=[];for(let l of i)if(l.name!=null){if(n.includes(l.name))C1(`duplicate parameter name '${l.name}' in '${t}'`);n.push(l.name)}let s="",a="",o=[];for(let l of i)if(o.push(To[l.kind]),l.kind==="static")s+="/"+l.text,a+="/"+l.text;else s+=`/:${l.name}`,a+="/:";return{pattern:s+"/*",shape:a+"/*",parts:i,ranks:o}};Ro=function(e,t){let r;return r=function(i,n){let s,a,o,l;if(i===e.length)return n===t.length?[]:null;let c=e[i];return(()=>{switch(c.kind){case"static":if(!(nf.length))continue;if(a=p.slice(f.length),l=a.split("/"),s=l.some(function(k){return!k||k==="."||k===".."}),a.includes("\\")||s||l.at(-1)===".rip")throw TypeError(`Rip App: invalid route file path '${p}'`);if(l.at(-1)==="_layout.rip"){h.set(l.slice(0,-1).join("/"),p);continue}if(l.at(-1)==="_404.rip"){if(l.slice(0,-1).some(function(k){return k.startsWith("_")}))continue;u.push({...So(l.slice(0,-1),a),rel:a,file:p});continue}if(l.some(function(k){return k.startsWith("_")}))continue;if(!a.endsWith(".rip"))throw TypeError(`Rip App: route files must be .rip sources: '${p}'`);m.push({...yo(a),rel:a,file:p})}let S=new Map;for(let p of[...m].sort(function(k,I){return k.relk.pattern)return 1;return 0});let g=new Map;for(let p of[...u].sort(function(k,I){return k.relk.pattern)return 1;return 0});let d=m.map(function(p){return{route:Object.freeze({pattern:p.pattern,file:p.file,layouts:Object.freeze(Qn(p.rel,h))}),parts:p.parts}}),R=u.map(function(p){return{route:Object.freeze({pattern:p.pattern,file:p.file,layouts:Object.freeze(Qn(p.rel,h))}),parts:p.parts}}),b=function(p){if(typeof p!=="string")throw TypeError("Rip App: route match expects a path string");if(!p.startsWith("/"))return null;while(p.length>1&&p.endsWith("/"))p=p.slice(0,-1);return p==="/"?[]:p.slice(1).split("/")},_=function(p){let k;if(l=b(p),!l)return null;for(let I of d){if(k=Ro(I.parts,l),!k)continue;return{route:I.route,params:Object.fromEntries(k)}}return null},y=function(p){let k;if(l=b(p),!l)return null;for(let I of R){if(k=Eo(I.parts,l),!k)continue;return{route:I.route,params:Object.fromEntries(k)}}return null};return Object.freeze({routes:Object.freeze(d.map(function(p){return p.route})),match:_,notFound:y})}function ze(e){if(typeof e!=="string")throw TypeError("Rip App: parseQuery expects a query string");return Object.fromEntries(new URLSearchParams(e))}var G1,ei,_o,Or;G1=function(e){let t=e.indexOf("#"),r=t>=0?e.slice(t+1):"",i=t>=0?e.slice(0,t):e,n=i.indexOf("?"),s=n>=0?i.slice(n+1):"";return{path:n>=0?i.slice(0,n):i,query:s,hash:r}};ei=function(e,t){let r=Object.keys(t);return r.length===Object.keys(e).length&&r.every(function(n){return e[n]===t[n]})?e:t};Or=function(e){if(!(e!=null&&typeof e.match==="function"&&Array.isArray(e.routes)))throw TypeError("Rip App: createRouter requires a route manifest");return e};_o=function(e){if(e===""||e==null)return"";if(!(typeof e==="string"&&e.startsWith("/")&&!e.endsWith("/")))throw TypeError(`Rip App: invalid router base '${e}'`);return e};function Ir(e){let t,{routes:r,adapter:i,onError:n}=e??{};if(!(r!=null&&(typeof r==="function"||typeof r.match==="function"&&Array.isArray(r.routes))))throw TypeError("Rip App: createRouter requires a route manifest or manifest thunk");for(let j of["read","push","replace","go","listen"])if(typeof i?.[j]!=="function")throw TypeError(`Rip App: router adapter requires a ${j} function`);let s=_o(e?.base),a=e?.hash===!0;if(s&&a)throw TypeError("Rip App: a base path does not apply in hash mode");let o=typeof r==="function"?Or(r()):Or(r),l=new Set,c=null,f=_1(null),h=_1(null),u=_1({}),m=_1({}),S=_1(""),g=Ar(100,_1(!1)),d=H1(function(){let j=h.value;if(!j)return null;return{route:j,layouts:j.layouts,params:u.value,query:m.value}}),R=function(j){if(!s)return j;if(j===s)return"/";if(j.startsWith(s+"/"))return j.slice(s.length);return null},b=function(j){if(!s)return j;return j==="/"?s:s+j},_=function(j){return a?i.read().split("#")[0]+"#"+j:b(j)},y=function(j){return n?.({status:404,path:j}),!1},p=0,k=function(j){return typeof j==="string"&&!j.startsWith("//")&&!j.includes("\\")},I=function(j){if(!k(j))return null;return o.match(j)},A=function(j){if(!k(j))return null;return o.match(j)??o.notFound?.(j)??null},x=function(j,q,t1,M){let N=ei(u.value,j.params),C=ei(m.value,ze(t1));L1(function(){return f.value=q,h.value=j.route,u.value=N,m.value=C,S.value=M});let w={path:q,route:j.route,params:N,query:C,hash:M};p+=1;try{for(let D of Array.from(l))try{D(w)}catch(B){console.error("[Rip] router onNavigate error:",B)}}finally{p-=1}return!0},O=function(){if(p>=10)throw Error("Rip App: navigation loop — ten nested navigations from onNavigate")},G=function(){let j,q,t1,M,N,C=i.read();if(a){if(j=C.indexOf("#"),t1=j>=0?C.slice(j+1):"/",t1==="")t1="/";({path:M,query:N,hash:q}=G1(t1))}else if({path:M,query:N,hash:q}=G1(C),M=R(M),M==null)return y(G1(C).path);let w=A(M);if(!w)return y(M);return x(w,M,N,q)},K=null,V=null,Z=function(){K=null;let j=i.readState?.()??{};return i.replace(i.read(),{...j,__ripScroll:i.scroll?.save?.()??null})},W=function(){return!K?K=setTimeout(Z,100):void 0};return t={init(){if(c)return t;return G(),c=i.listen(function(){if(!G())return;let j=i.readState?.();return i.scroll?.restore?.(j?.__ripScroll??null)}),V=i.scroll?.watch?.(W)??null,t},push(j,q={}){O();let{path:t1,query:M,hash:N}=G1(j),C=A(t1);if(!C)return y(t1);let w=i.scroll?.save?.()??null,D=i.readState?.()??{};if(i.replace(i.read(),{...D,__ripScroll:w}),i.push(_(j),null),x(C,t1,M,N),!q.noScroll)i.scroll?.top?.();return!0},replace(j,q={}){O();let{path:t1,query:M,hash:N}=G1(j),C=A(t1);if(!C)return y(t1);let w=i.readState?.()??{};if(i.replace(_(j),{...w,__ripScroll:null}),x(C,t1,M,N),!q.noScroll)i.scroll?.top?.();return!0},back(){return i.go(-1)},forward(){return i.go(1)},match(j){let{path:q,query:t1,hash:M}=G1(j),N=I(q);if(!N)return null;return{route:N.route,params:N.params,query:ze(t1),hash:M}},claims(j){let q,t1,M,N,C;if(!(typeof j==="string"&&j.length>0))return null;if(a){if(q=j.indexOf("#"),q<0)return null;if(M=j.slice(q+1),M==="")M="/";({path:N,query:C,hash:t1}=G1(M))}else{if(!j.startsWith("/"))return null;if({path:N,query:C,hash:t1}=G1(j),N=R(N),N==null)return null}let w=I(N);if(!w)return null;let D=N+(C?"?"+C:"")+(t1?"#"+t1:"");return{path:N,url:D,route:w.route,params:w.params,query:ze(C),hash:t1}},onNavigate(j){if(typeof j!=="function")throw TypeError("Rip App: onNavigate expects a function");return l.add(j),function(){return l.delete(j)}},rebuild(){let j,q,t1,M,N;if(o=typeof r==="function"?Or(r()):o,!c)return;let C=i.read();if(a){if(j=C.indexOf("#"),t1=j>=0?C.slice(j+1):"/",t1==="")t1="/";({path:M,query:N,hash:q}=G1(t1))}else if({path:M,query:N,hash:q}=G1(C),M=R(M),M==null)return y(G1(C).path);let w=A(M);if(!w)return y(M);let D=h.value,B=D?.layouts??[],a1=w.route.layouts??[],h1=B.length===a1.length&&B.every(function(f1,z){return f1===a1[z]});if(D?.file===w.route.file&&h1&&f.value===M)return;x(w,M,N,q);return},destroy(){if(c?.(),c=null,V?.(),V=null,K)clearTimeout(K);K=null;return}},Object.defineProperty(t,"current",{get(){return d.value}}),Object.defineProperty(t,"path",{get(){return f.value}}),Object.defineProperty(t,"hash",{get(){return S.value}}),Object.defineProperty(t,"params",{get(){return u.value}}),Object.defineProperty(t,"query",{get(){return m.value}}),Object.defineProperty(t,"navigating",{get(){return g.value},set(j){return g.value=j}}),t}function $r(){if(typeof window>"u"||window.history==null||window.location==null)throw Error("Rip App: browserAdapter requires a browser environment");window.history.scrollRestoration="manual";let e=function(r){return window.requestAnimationFrame?window.requestAnimationFrame(r):setTimeout(r,16)},t=0;return{read(){return window.location.pathname+window.location.search+window.location.hash},readState(){return window.history.state},push(r,i){return window.history.pushState(i,"",r)},replace(r,i){return window.history.replaceState(i,"",r)},go(r){return window.history.go(r)},listen(r){return window.addEventListener("popstate",r),function(){return window.removeEventListener("popstate",r)}},scroll:{save(){return{x:window.scrollX,y:window.scrollY}},restore(r){let i;if(r==null)return;let n=++t,s=r.x||0,a=r.y||0,o=0;i=function(){if(n!==t)return;let l=Math.max(0,(window.document?.documentElement?.scrollHeight||0)-window.innerHeight);return window.scrollTo(s,Math.min(a,l)),o+=1,a>l&&o<20?e(i):void 0},e(i);return},top(){return t+=1,window.scrollTo(0,0)},watch(r){return window.addEventListener("scroll",r,{passive:!0}),function(){return window.removeEventListener("scroll",r)}}}}}var ti,No,xe;No=Un();xe=function(e,t,r,i=null){let n=i??r?.message??String(r),s=Error(n);return s.name="GateFailure",s.status=r?.status??r?.response?.status??500,s.path=e,s.file=t,s.error=r,s};ti=function(e,t){let r=e.getCompiled(t);if(!(r!=null&&typeof r==="object"))throw Error(`Rip App: no precompiled component module for '${t}'`);let i=function(s){return typeof s==="function"&&typeof s.prototype?.mount==="function"};if(i(r.default))return r.default;let n=[];for(let s in r){let a=r[s];if(s==="default")continue;if(i(a))n.push(a)}if(n.length!==1)throw Error(`Rip App: precompiled module '${t}' must export exactly one component class`);return n[0]};function Dr(e){let t;if(!(e!=null&&typeof e==="object"))throw TypeError("Rip App: createRenderer expects an options object");let{router:r,stash:i,components:n,target:s,onError:a}=e;if(!(r!=null&&typeof r==="object"))throw TypeError("Rip App: createRenderer requires a router object");if(!(i!=null&&Te(i)!==i))throw TypeError("Rip App: createRenderer requires a stash built by createStash");if(!(n!=null&&typeof n.getCompiled==="function"))throw TypeError("Rip App: createRenderer requires a component registry");if(!(s!=null&&typeof s.appendChild==="function"))throw TypeError("Rip App: createRenderer requires a target with appendChild()");if(a!=null&&typeof a!=="function")throw TypeError("Rip App: createRenderer onError must be a function");let o=[],l=null,c=0,f=null,h=[],u=null,m=null,S=null,g=!1,d=function(z,i1){let X=Object.keys(z);return X.length===Object.keys(i1).length&&X.every(function(r1){return z[r1]===i1[r1]})},R=function(z,i1){return z.length===i1.length&&z.every(function(X,r1){return i1[r1]===X})},b=function(z){let i1=Te(i),X=z.split(".");for(let r1=0;r1",P.file,`Rip App: ${P.file} static __gates must be an array`);for(let H=0;H0))throw _(String(J),P.file,`Rip App: ${P.file} has a malformed render gate path`);if(F!=null&&typeof F!=="function")throw _(J,P.file,`Rip App: gate '${J}' has a non-function key`);if(o1=b(J),!o1)throw _(J,P.file,`Rip App: gate '${J}' does not resolve to a source`);if(r1=o1.cell,me(r1)){if(!F)throw _(J,P.file,`Rip App: gate '${J}' is keyed and requires a key function`);try{c1=F(i1,X),r1=r1.cellFor(c1)}catch(L){throw Q=L,xe(J,P.file,Q,`Rip App: gate '${J}' key failed: ${Q.message}`)}}else if(F)throw _(J,P.file,`Rip App: gate '${J}' is a singleton and does not accept a key function`);if(P.bindings[H]={cell:r1,tail:o1.tail,path:J,file:P.file},!n1.has(r1))n1.set(r1,{cell:r1,path:J,file:P.file,entryIndex:v})}}return Array.from(n1.values())},k=async function(z,i1,X,r1){let Q,l1,c1=p(z,i1,X),F=await Promise.allSettled((()=>{let n1=[];for(let v of c1)n1.push(v.cell.ensure());return n1})());if(r1!==c)return!1;let J=null,o1=function(n1,v){if(n1.entryIndex=v,J==null||v=J.entryIndex)break;for(let P of v.bindings){l1=P.cell.peek();for(let H of P.tail){if(l1==null)break;l1=l1[H]}if(l1==null){o1(_(P.path,P.file,`Rip App: gate '${P.path}' resolved to ${l1}; every gated subpath must exist and be non-null`),n1);break}P.value=l1}}if(J!=null)throw J;return!0},I=function(z,i1){return No(z.cls,{gates:z.bindings,parent:i1,stash:i,router:r})},A=function(z){let i1=[];for(let X=z.length-1;X>=0;X--){let r1=z[X];try{r1.unmount?.()}catch(Q){i1.push(Q);try{r1._teardown?.({state:"unmounted",hooks:!1,removeDOM:!0})}catch(l1){i1.push(l1)}}}return i1},x=function(){let z=o;o=[],l=null,h=[],u=null,m=null;let i1=A(z);if(i1.length)throw i1[0];return},O=null,G=function(){O?.remove?.(),O=null;return},K=function(z){let i1,X;G();let r1=z.error?.stack??z.stack??z.message??String(z);O=(()=>{if(typeof document<"u"&&typeof document.createElement==="function")return i1=document.createElement("pre"),i1.style.cssText="margin:2rem;padding:1rem 1.25rem;color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;font:13px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre-wrap;overflow-wrap:anywhere",i1.textContent=r1,i1;else return X={nodeName:"PRE",textContent:r1,parentNode:null,remove(){let Q=X.parentNode?.children,l1=Q?.indexOf(X)??-1;if(l1>=0)Q.splice(l1,1);X.parentNode=null;return}},X})(),s.appendChild(O);return},V=function(){if(typeof document<"u"&&typeof document.createDocumentFragment==="function")return document.createDocumentFragment();let z=[];return{children:z,appendChild(i1){return z.push(i1),i1}}},Z=function(z,i1=s){if(G(),z.nodeType===11)i1.appendChild(z);else for(let X of z.children)i1.appendChild(X);return},W=function(z,i1){let X,r1=z._nodes??[z._root];for(let Q of r1){if(!Q)continue;if(Q.matches?.("#content"))return Q;if(X=Q.querySelector?.("#content"),X)return X}return r1.find(function(Q){return Q!=null})??i1},j=function(z){return z?.childNodes??z?.children??[]},q=function(z,i1){z.slot=i1,z.slotOwned=j(i1).length;return},t1=function(){let z,i1,X=s;for(let r1=0;r10&&Q.slot!=null&&Q.slot!==X){i1=Array.from(j(Q.slot)).slice(Q.slotOwned??0),q(Q,X);for(let l1 of i1)X.appendChild(l1);z._target=X}if(r1===h.length-1)break;X=W(z,X)}if(h.length>1)u=X;return},M=function(z,i1,X){let r1,Q,l1;if(!z.some(function(n1){return typeof n1.cls.prototype?.onError==="function"}))return!1;let c1=V(),F=c1,J=[];try{for(let n1=0;n10)q(v,F);if(Q.mount?.(F),Q._state==="failed")return A(J),!1;F=W(Q,F)}if(X!==c)return A(J),!1;r1=null;for(let n1=J.length-1;n1>=0;n1--){let v=J[n1];if(typeof v.onError==="function"){r1=v;break}}Z(c1)}catch(n1){return console.error("[Rip] boundary chain failed to mount:",n1),A(J),!1}let o1=o;o=J,l=J[J.length-1]??null,h=z,u=F,m=null;try{r1.onError(i1)}catch(n1){console.error("[Rip] boundary onError error:",n1)}for(let n1 of A(o1))console.error("[Rip] boundary teardown error:",n1);return!0},N=function(z,i1){let X=null;for(let Q=z.length-1;Q>=0;Q--){let l1=z[Q];if(typeof l1.instance?.onError==="function"){X=l1.instance;break}}if(!X)return!1;let r1=o.slice(z.length);o=z.map(function(Q){return Q.instance}),l=o[o.length-1]??null,h=z,m=null;try{X.onError(i1)}catch(Q){console.error("[Rip] boundary onError error:",Q)}for(let Q of A(r1))console.error("[Rip] boundary teardown error:",Q);return!0},C=async function(z,i1,X=n){let r1,Q,l1,c1,F,J,o1=z?.route;if(!o1?.file)throw Error("Rip App: renderer route state requires route.file");let n1=z.params??{},v=z.query??{},P=z.layouts??[];if(!Array.isArray(P))throw Error("Rip App: renderer route state layouts must be an array");let H=h.map(function(S1){return S1.file}),s1=S;if(S=null,s1==null&&l!=null&&m!=null&&o1.file===m.file){if(R([...P,o1.file],H)&&d(n1,m.params)){if(!(d(v,m.query)||y(h,n1,v))){if(typeof l.load==="function")await l.load(n1,v);if(i1!==c)return null;return m={file:o1.file,params:n1,query:v},l}}}let L=[...P,o1.file],U=m!=null&&P.length>0&&h.length===P.length+1&&R(P,H.slice(0,-1))&&!y(h.slice(0,-1),n1,v),e1=s1!=null?Math.max(0,Math.min(s1,L.length-1)):U?P.length:0;if(s1!=null&&e1>0){if(!(h.length===L.length&&R(L.slice(0,e1),H.slice(0,e1))))e1=0}let d1=[];for(let S1=0;S10){if(l1=U?N(d1.slice(0,r1),Q):M(d1.slice(0,r1),Q,i1),l1)return null}}throw Q}let m1=V(),R1=m1,E1=[],A1=e1>0?d1[e1-1].instance:null,k1=e1>0,w1=k1?W(A1,s):s;try{for(let S1=d1.slice(e1),q1=0;q10)q(xt,R1);if(c1.mount?.(R1),c1._state==="failed")throw Error(`Rip App: component '${xt.file}' failed during mount`);if(e1+q11?R1:w1,h=d1,m={file:o1.file,params:n1,query:v};let y1=A(p1);if(g=y1.length>0,y1.length)for(let S1 of y1)if(Q=xe("","",S1),a!=null)try{a(Q)}catch(q1){console.error("[Rip] renderer teardown reporter failed:",q1)}else console.error("[Rip] renderer teardown error:",Q);return l},w=function(z){let i1,X,r1=z?.route;if(!r1?.file)return;let Q=z.params??{},l1=z.query??{},c1=z.layouts??r1.layouts??[],F=h.map(function(n1){return n1.file}),J=m!=null&&R(c1,F.slice(0,-1));if(J&&r1.file===m.file&&d(Q,m.params))return;let o1=J?[r1.file]:[...c1,r1.file];try{i1=(()=>{let n1=[];for(let v of o1)n1.push({file:v,cls:ti(n,v)});return n1})(),X=p(i1,Q,l1)}catch(n1){return}for(let n1 of X)n1.cell.preload().catch(function(){return null});return},D=function(z,i1){if(!(z!=null&&typeof z==="object"&&typeof i1==="string"))return null;let X=function(r1){return typeof r1==="function"&&r1.__hmrId===i1};if(X(z.default))return z.default;for(let r1 in z){let Q=z[r1];if(X(Q))return Q}return null},B=function(z){let i1=z+"#",X=[];for(let Q of h)if(Q.file===z&&Q.instance!=null)X.push(Q.instance);for(let[Q,l1]of jn())if(typeof Q==="string"&&Q.startsWith(i1)){for(let c1 of l1.instances)if(!X.includes(c1))X.push(c1)}let r1=[];for(let Q of X)r1.push({instance:Q,entry:h.find(function(l1){return l1.instance===Q})??null});return r1},a1=function(z,i1){let X,r1,Q,l1,c1=(()=>{let n1=[];for(let v of z)if(typeof v==="string"&&v.endsWith(".rip"))n1.push(v);return n1})();if(!(c1.length>0))return"unknown";let F=0,J=!1,o1=new Set;for(let n1 of c1){if(l1=i1.getCompiled(n1),Q=B(n1),l1==null){if(typeof i1.exists==="function"&&!i1.exists(n1)){if(Q.some(function(v){return v.instance._state!=="unmounted"}))return"fallback"}else J=!0;continue}for(let{instance:v,entry:P}of Q){if(o1.has(v))continue;if(v._state==="unmounted")continue;if(v._state!=="mounted")return"fallback";if(r1=v.constructor?.__hmrId,X=typeof r1==="string"?D(l1,r1):null,X==null)return"fallback";if(St(X),Rt(v.constructor,X)!=="patch")return"fallback";if(Bn(v,X),o1.add(v),F+=1,P!=null){if(P.cls=X,P!==h[h.length-1])t1()}}}if(F>0)return"done";return J?"unknown":"idle"},h1=async function(z,i1=n){let X,r1,Q,l1,c1;if(!(Array.isArray(z)&&z.length>0))return"noop";for(let U of z)if(U==="stash.rip"||U.startsWith("stash/")||U==="seed.rip")return"escape";let F=r.current;if(!(F?.route?.file&&h.length>0))return"noop";let o1=[...F.layouts??F.route.layouts??[],F.route.file],n1=R(o1,h.map(function(U){return U.file})),v=Fn();try{if(c1=a1(z,i1),c1==="done")return Tr(v),"narrow";if(c1==="idle"&&n1)return ke("noop",{paths:[...z]}),"noop"}catch(U){console.error("[Rip] HMR patch failed; falling back to remount:",U),ke("reject",{reason:"patch-failed",paths:[...z],message:U?.message?String(U.message):String(U)})}let P=new Set(z),H=-1;for(let U=0;U{try{return await C(z,l1,i1)}catch(c1){if(X=c1,l1!==c)return null;if(r1=(()=>{if(X?.name==="GateFailure")return X;else return Q=z?.route?.file??"",xe(X?.path??Q,Q,X)})(),a?.(r1),l==null)K(r1);throw r1}finally{if(l1===c&&(Array.isArray(r)||typeof r==="string"?r.includes("navigating"):("navigating"in r)))r.navigating=!1}})()};let f1=null;return f1={current:null,mount:t,preload:w,remountDirty:h1,start(){if(f)return f1;return r.init?.(),f=$1(function(){let z=r.current;if(z?.route)t(z).catch(function(){return null});return}),f1},stop(){let z,i1;if(c++,f?.(),f=null,Array.isArray(r)||typeof r==="string"?r.includes("navigating"):("navigating"in r))r.navigating=!1;try{x()}catch(X){throw z=X,i1=xe("","",z),a?.(i1),i1}return}},Object.defineProperty(f1,"current",{get(){return l}}),f1}var vo,Oo,ri=Symbol.for("rip.app.stash.persisted"),Ao=Symbol.for("rip.app.stash.purge");Oo=function(e,t){return D1(t)?void 0:t};vo=function(e){if(e.storage!=null)return e.storage;if(!(typeof window<"u"&&window.localStorage!=null))throw Error("Rip App: persistStash requires a browser or an injected storage");return e.local?window.localStorage:window.sessionStorage};function xr(e,t={}){let r,i=Te(e)||e;if(i[ri])return function(){return null};i[ri]=!0;let n=vo(t),s=t.key||"__rip_app",a=t.debounce??2000;try{if(r=n.getItem(s),r)Ye(e,JSON.parse(r))}catch(u){}let o=null,l=function(){o=null;try{n.setItem(s,JSON.stringify(Te(e),Oo))}catch(u){}return},c=!1,f=$1(function(){if(qn.value,!c){c=!0;return}if(o!=null)clearTimeout(o);return o=setTimeout(l,a),function(){return o!=null?clearTimeout(o):void 0}});if(typeof window<"u")window.addEventListener("beforeunload",l);Object.defineProperty(i,Ao,{value(){if(o!=null)clearTimeout(o),o=null;try{n.removeItem(s)}catch(u){}return},configurable:!0,writable:!0});let h=!1;return function(){if(h)return;if(h=!0,f?.(),typeof window<"u")window.removeEventListener("beforeunload",l);l(),i[Ao]=null,i[ri]=!1;return}}var Io,ni;ni=function(e){if(e.hasAttribute?.("data-router-ignore"))return!0;if(e.hasAttribute?.("download"))return!0;let t=e.getAttribute?.("target");if(t&&t.toLowerCase()!=="_self")return!0;return!1};function It(e){let t,r=e.getAttribute?.("href")??e.href;if(!(typeof r==="string"&&r.length>0))return null;if(/^[a-z][a-z0-9+.-]*:/i.test(r)){if(t=typeof location<"u"?location.origin:null,!(t!=null&&r.startsWith(t)))return null;r=r.slice(t.length)}if(r.startsWith("//")||r.includes("\\"))return null;return r}function $t(e,t){if(t==null)return!1;if(ni(t))return!1;let r=It(t);if(r==null)return!1;return e.claims(r)!=null}Io=function(){if(!(typeof document<"u"&&typeof document.querySelectorAll==="function"))throw Error("Rip App: ariaCurrent requires a browser or an injected host");return{anchors(){return Array.from(document.querySelectorAll("a[href]"))},observe(e){if(typeof MutationObserver>"u")return null;let t=!1,r=new MutationObserver(function(){if(t)return;return t=!0,requestAnimationFrame(function(){return t=!1,e()})});return r.observe(document.documentElement??document.body,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["href","target","download","data-router-ignore"]}),function(){return r.disconnect()}}}};function Cr(e,t=null){if(!(e!=null&&typeof e.claims==="function"))throw TypeError("Rip App: ariaCurrent requires a router");t=t??Io();let r=new WeakMap,i=function(){let l,c,f,h,u=e.path;for(let m of t.anchors()){if(l=ni(m)?null:e.claims(It(m)??""),f=l==null||u==null?null:l.path===u?"page":l.path!=="/"&&u.startsWith(l.path+"/")?"true":null,c=m.getAttribute?.("aria-current")??null,h=r.get(m),h!==void 0&&c!==h){if(r.delete(m),c!=null)continue;h=void 0}if(f!=null){if(h===void 0&&c!=null)continue;if(c!==f)m.setAttribute("aria-current",f);r.set(m,f)}else if(h!==void 0)m.removeAttribute("aria-current"),r.delete(m)}return},n=function(){try{i()}catch(l){console.error("[Rip] aria-current walk failed:",l)}return},s=$1(function(){return e.path,n()}),a=t.observe?.(n)??null,o=!1;return function(){if(o)return;o=!0,s(),a?.();try{for(let l of t.anchors())if(r.has(l)){if((l.getAttribute?.("aria-current")??null)===r.get(l))l.removeAttribute("aria-current");r.delete(l)}}catch(l){}return}}var $o,Do,ii,si;Do=50;$o=3000;si=function(){if(!(typeof document<"u"&&typeof document.addEventListener==="function"))throw Error("Rip App: link listeners require a browser or an injected host");return{listen(e,t,r=null){return document.addEventListener(e,t,r??!1),function(){return document.removeEventListener(e,t,r??!1)}}}};ii=function(e){while(e!=null&&e.tagName!=="A")e=e.parentElement;return e??null};function Pr(e,t=null){if(!(e!=null&&typeof e.claims==="function"&&typeof e.push==="function"))throw TypeError("Rip App: interceptClicks requires a router");t=t??si();let r=function(s){if(s.defaultPrevented)return;if(s.button!==0||s.metaKey||s.ctrlKey||s.shiftKey||s.altKey)return;let a=ii(s.target);if(!(a!=null&&$t(e,a)))return;let o=e.claims(It(a));if(o==null)return;s.preventDefault(),e.push(o.url,{noScroll:a.hasAttribute?.("data-router-noscroll")===!0});return},i=t.listen("click",r),n=!1;return function(){if(n)return;n=!0,i();return}}function Lr(e,t,r=null){if(!(e!=null&&typeof e.claims==="function"))throw TypeError("Rip App: preloadLinks requires a router");if(!(t!=null&&typeof t.preload==="function"))throw TypeError("Rip App: preloadLinks requires a renderer with preload()");r=r??si();let i=null,n=null,s={href:null,at:0},a=function(){if(i!=null)clearTimeout(i);i=null,n=null;return},o=function(h){let u=ii(h.target);if(!(u!=null&&$t(e,u)))return;if(u===n)return;a(),n=u;let m=It(u);i=setTimeout(function(){i=null,n=null;let S=Date.now();if(m===s.href&&S-s.at<$o)return;s.href=m,s.at=S;let g=e.claims(m);return g!=null?t.preload(g):void 0},Do);return},l=function(h){if(n==null)return;let u=h.relatedTarget;if(!(u!=null&&n.contains?.(u)))a();return},c=[r.listen("pointerover",o,{passive:!0}),r.listen("focusin",o,{passive:!0}),r.listen("pointerout",l,{passive:!0}),r.listen("focusout",l,{passive:!0})],f=!1;return function(){if(f)return;f=!0,a();for(let h of c)h();return}}var qe,xo,z1,Co;qe="routes";z1=function(e){throw Error(`Rip App: ${e}`)};var pc=function(e){let t;if(!(e!=null&&typeof e==="object"&&!Array.isArray(e)))z1("launch requires a bundle object");for(let r of["modules","compiled"]){if(t=e[r],t==null)continue;if(!(typeof t==="object"&&!Array.isArray(t)))z1(`launch bundle ${r} must be an object of store paths`)}if(e.seed!=null&&(typeof e.seed!=="object"||Array.isArray(e.seed)))z1("launch bundle seed must be an object");return e},gc=["read","write","del","exists","size","list","listAll","load","watch","getCompiled","setCompiled"];Co=function(e){if(!(typeof e==="object"&&!Array.isArray(e)))z1("launch components must be an object");for(let t of gc)if(typeof e[t]!=="function")z1(`launch components store is missing '${t}'`);return e};var ai=function(e,t=null){let r=pc(e),n=[...new Set([...Object.keys(r.modules??{}),...Object.keys(r.compiled??{})])].filter(function(o){return o.startsWith(qe+"/")});Ot(n,qe);let s=r.compiled?.["stash.rip"],a=t??s?.stash;if(a==null&&s!=null)z1("the bundle's 'stash.rip' module must export 'stash'");if(a!=null&&(typeof a!=="object"||Array.isArray(a)))z1("the application stash must be a plain object");return{bundle:r,declaration:a}};xo=function(){if(!(typeof document<"u"&&typeof document.querySelector==="function"))z1("launch requires a target outside the browser");let e=document.querySelector("#app");if(!e)e=document.createElement("div"),e.id="app",document.body.appendChild(e);return e};function Mr(e){let t,r;if(!(e!=null&&typeof e==="object"))z1("launch requires an options object");if(globalThis.__ripStash!=null)z1("an application is already launched; destroy it first");let i=ai(e.bundle,e.declaration),n=i.bundle,s=e.target??xo(),a=e.adapter??$r(),o=i.declaration,l=Nr(_r(o??{}));Ye(l,n.seed??{}),ho(l);let c=e.components!=null?Co(e.components):vr();if(n.modules!=null)c.load(n.modules);if(n.compiled!=null){let b=n.compiled;for(let _ in b){if(!Object.hasOwn(b,_))continue;let y=b[_];if(!c.exists(_))c.write(_,"");c.setCompiled(_,y)}}let f=Ir({routes(){return Ot(c.listAll(qe),qe)},adapter:a,base:e.base,hash:e.hash,onError:e.onError}),h=Dr({router:f,stash:l,components:c,target:s,onError:e.onError}),u=c.watch(function(b,_){return _.startsWith(qe+"/")?f.rebuild():void 0}),m=null;if(e.links!=null||typeof document<"u"&&typeof document.addEventListener==="function")t=Pr(f,e.links),r=Lr(f,h,e.links),m=function(){t(),r();return};let S=null;if(typeof document<"u"&&typeof document.querySelectorAll==="function")S=Cr(f);let g=null;if(e.persist)g=xr(l,{local:e.persist==="local",key:"__rip_app",storage:e.storage});let d=!1,R=function(){if(d)return;d=!0;let b=[],_=function(y){try{y()}catch(p){b.push(p)}return};if(_(function(){return S?.()}),_(function(){return m?.()}),_(function(){return h.stop()}),_(function(){return f.destroy()}),_(function(){return u()}),_(function(){return g?.()}),globalThis.__ripStash===l)delete globalThis.__ripStash;if(globalThis.__ripRouter===f)delete globalThis.__ripRouter;if(b.length===1)throw b[0];if(b.length>1)throw AggregateError(b,"Rip App: launch.destroy failed");return};globalThis.__ripStash=l,globalThis.__ripRouter=f;try{if(typeof s.replaceChildren==="function")s.replaceChildren();else if(Array.isArray(s.children))s.children.length=0;h.start()}catch(b){throw R(),b}return{stash:l,components:c,router:f,renderer:h,destroy:R}}var oi,jr,li,ci,fi,B1;B1=function(e){if(!(typeof e==="string"&&e.length>0))throw TypeError("Rip Workspace: component path must be a non-empty string");let t=e.split("/"),r=t.some(function(s){return!s||s==="."||s===".."||s.startsWith(".")}),i=t.at(-1),n=t.slice(0,-1).some(function(s){return s.endsWith(".rip")});if(e.includes("\\")||e.startsWith("/")||r||n||i===".rip"||!i.endsWith(".rip"))throw TypeError(`Rip Workspace: invalid component path '${e}'`);return e};jr=function(e){if(typeof e!=="string")throw TypeError("Rip Workspace: component source must be a string");return e};li=function(e){if(e===""||e==null)return"";if(typeof e!=="string")throw TypeError("Rip Workspace: component directory must be a string");let t=e.split("/");if(e.includes("\\")||e.startsWith("/")||t.some(function(r){return!r||r==="."||r===".."||r.startsWith(".")}))throw TypeError(`Rip Workspace: invalid component directory '${e}'`);return e};ci=function(e){if(!(typeof e==="string"&&/^[A-Za-z0-9_]{6}$/.test(e)))throw TypeError("Rip Workspace: publication hash must be six Base64URL-folded characters");return e};fi=function(e){if(!(e!=null&&typeof e==="object"&&!Array.isArray(e)))throw TypeError("Rip Workspace: compiled component module must be an object");return e};oi=function(e){let t;if(!(e!=null&&typeof e==="object"&&!Array.isArray(e)))throw TypeError("Rip Workspace: prepared state must be an object");let r=ci(e.hash);if(!(e.sources!=null&&typeof e.sources==="object"&&!Array.isArray(e.sources)))throw TypeError("Rip Workspace: prepared sources must be an object");if(!(e.compiled!=null&&typeof e.compiled==="object"&&!Array.isArray(e.compiled)))throw TypeError("Rip Workspace: prepared compiled modules must be an object");let i=new Map,n=new Map,s=e.sources;for(let o in s){if(!Object.hasOwn(s,o))continue;let l=s[o];i.set(B1(o),jr(l))}let a=e.compiled;for(let o in a){if(!Object.hasOwn(a,o))continue;let l=a[o];if(o=B1(o),!i.has(o))throw Error(`Rip Workspace: compiled module '${o}' has no source`);n.set(o,fi(l))}return{hash:r,sources:i,compiled:n}};function Fr(){let e,t=new Map,r=new Map,i=new Set,n=null,s=!1,a=function(l,c){for(let f of Array.from(i))try{f(l,c)}catch(h){console.error("[Rip] workspace watcher error:",h)}return},o=function(l){t=l.sources,r=l.compiled,n=l.hash;return};return e={read(l){return t.get(B1(l))},write(l,c){if(s)throw Error("Rip Workspace: cannot write during a publication transition");l=B1(l),c=jr(c);let f=t.has(l)?"change":"create";t.set(l,c),r.delete(l),a(f,l);return},del(l){if(s)throw Error("Rip Workspace: cannot delete during a publication transition");l=B1(l),t.delete(l),r.delete(l),a("delete",l);return},exists(l){return t.has(B1(l))},size(){return t.size},list(l=""){let c;l=li(l);let f=l?l+"/":"",h=[];for(let[u]of t)if(u.startsWith(f)){if(c=u.slice(f.length),!c.includes("/"))h.push(u)}return h},listAll(l=""){l=li(l);let c=l?l+"/":"",f=[];for(let[h]of t)if(h.startsWith(c))f.push(h);return f},load(l){if(s)throw Error("Rip Workspace: cannot load during a publication transition");if(!(l!=null&&typeof l==="object"&&!Array.isArray(l)))throw TypeError("Rip Workspace: component load expects a source object");let c=[];for(let f in l){if(!Object.hasOwn(l,f))continue;let h=l[f];c.push([B1(f),jr(h)])}for(let[f,h]of c)t.set(f,h),r.delete(f);return},watch(l){if(typeof l!=="function")throw TypeError("Rip Workspace: component watch expects a function");i.add(l);let c=!1;return function(){if(c)return;c=!0,i.delete(l);return}},getCompiled(l){return r.get(B1(l))},setCompiled(l,c){if(s)throw Error("Rip Workspace: cannot compile during a publication transition");if(l=B1(l),!t.has(l))throw Error(`Rip Workspace: setCompiled for unknown component path '${l}'`);r.set(l,fi(c));return},hash(){return n},activate(l){if(n!=null)throw Error("Rip Workspace: a publication is already active");if(s)throw Error("Rip Workspace: a publication transition is already staged");o(oi(l));return},stage(l,c,f){if(s)throw Error("Rip Workspace: a publication transition is already staged");if(l=ci(l),n!==l)throw Error(`Rip Workspace: change starts at ${l}, not ${n}`);if(!Array.isArray(f))throw TypeError("Rip Workspace: changed paths must be an array");let h=f.map(function(d){return B1(d)});if(new Set(h).size!==h.length)throw Error("Rip Workspace: changed paths must be unique");let u=oi(c),m={sources:t,compiled:r,hash:n};s=!0;let S=!1,g=function(d){let R;if(S)throw Error("Rip Workspace: publication transition is already finished");if(S=!0,s=!1,!d)return;o(u);for(let b of h)R=!u.sources.has(b)?"delete":m.sources.has(b)?"change":"create",a(R,b);return};return{components:{getCompiled(d){return u.compiled.get(B1(d))},exists(d){return u.sources.has(B1(d))}},commit(){return g(!0)},rollback(){return g(!1)}}},commit(l,c,f){e.stage(l,c,f).commit();return}},e}var Po,Lo,Mo,jo,Fo,Bo,Uo,Br;Mo=250;Lo=8000;Po=5000;Uo=0;Br=function(e){return typeof e==="string"&&/^[A-Za-z0-9_]{6}$/.test(e)};Fo=function(){if(typeof location>"u")throw Error("Rip App: connectFeed needs a hub URL (no location to derive one from)");return`${location.protocol==="https:"?"wss":"ws"}://${location.host}/hub`};Bo=function(){if(typeof WebSocket>"u")throw Error("Rip App: connectFeed needs a socket factory (no global WebSocket)");return function(e){return new WebSocket(e)}};jo=function(){if(typeof fetch>"u")throw Error("Rip App: connectFeed needs a fetch (no global fetch)");return function(e,t){return fetch(e,t)}};function Ur(e,t={}){let r;if(!(e!=null&&typeof e.hash==="function"&&typeof e.apply==="function"&&typeof e.reload==="function"))throw TypeError("Rip App: connectFeed expects hash, apply, and reload callbacks");if(!Br(e.hash()))throw TypeError("Rip App: connectFeed client hash must be six Base64URL-folded characters");let i=t.hub??Fo(),n=t.latestUrl??"/latest.json",s=t.makeSocket??Bo(),a=t.fetch??jo(),o=t.report??function(...M){return console.error(...M)},l=t.backoff?.min??Mo,c=t.backoff?.max??Lo,f=t.ackTimeout??Po,h=!1,u=!1,m=!1,S=!1,g=null,d=0,R=null,b=null,_=0,y=null,p=[],k=Promise.resolve(),I=new Map,A=null,x=function(M){if(u||h)return;u=!0,e.reload(M);return},O=async function(M){let N;if(u||h)return!1;return await(async()=>{try{if(N=await e.apply(M),N==="rejected"){if(Br(M?.hash))A=M?.hash;return!1}if(N==="reload"||!N)return x("change could not be applied"),!1;return A=null,!0}catch(C){return o("[Rip] publication change failed:",C),x("change failed"),!1}})()},G=function(M,N){k=k.then(async function(){if(N!==_)return!0;return await O(M)}),k=k.catch(function(C){return o("[Rip] publication queue failed:",C),x("change queue failed"),!1});return},K=async function(M){let N,C;if(h||u||M!==_)return;let w=e.hash(),D=await a(n,{cache:"no-store"});if(!D?.ok)throw Error(`latest.json fetch failed (${D?.status})`);let B=await D.json();if(!(B!=null&&typeof B==="object"&&!Array.isArray(B)&&Object.keys(B).length===1&&Object.hasOwn(B,"hash")&&Br(B.hash)))throw Error("latest.json is malformed");if(h||u||M!==_)return;if(A!=null){if(B.hash!==A){x(`a newer App generation followed rejected ${A}`);return}p=[],S=!0,d=0;return}let a1=new Set([w]),h1=0;while(h1{try{return g?.close()}catch{}})()}),k=C.then(function(){return!0},function(){return!1}),I.set(M,C),C.finally(function(){return I.get(M)===C?I.delete(M):void 0}),C},Z=function(M,N){if(N!==_)return;let C=null;try{C=JSON.parse(M)}catch{o("[Rip] publication feed received invalid JSON:",M),x("malformed publication frame");return}let w=Array.isArray(C)?C:[C];for(let D of w){if(!(D!=null&&typeof D==="object"))continue;if(Object.keys(D).length===1&&Object.hasOwn(D,"!")&&D["!"]===y&&b!=null){if(b!=null)clearTimeout(b),b=null;V(_)}else if(D.change!==void 0&&!Object.hasOwn(D,"<"))if(A!=null){if(D.change?.hash===A)continue;if(S)G(D.change,N);else p.push(D.change)}else if(S)G(D.change,N);else p.push(D.change);else if(D.reload!==void 0&&!Object.hasOwn(D,"<"))if(A!=null)V(N,!0);else x("server generation changed")}return},W=function(){if(h||u||R!=null)return;let M=Math.min(l*2**d,c);d+=1,R=setTimeout(function(){return R=null,r()},M);return};r=function(){if(h||u)return;_+=1;let M=_;S=!1,p=[],y=`rip-${++Uo}`;try{g=s(i)}catch(N){o("[Rip] publication socket open failed:",N),W();return}g.onmessage=function(N){Z(String(N.data),M);return},g.onopen=function(){if(M!==_||h)return;m=!0;try{g.send(JSON.stringify({"+":["/hub"],"?":y}))}catch(N){o("[Rip] publication subscription failed:",N);try{g.close()}catch{}return}b=setTimeout(function(){if(h||u||M!==_||S)return;return o("[Rip] publication subscription acknowledgement timed out"),(()=>{try{return g.close()}catch{}})()},f);return},g.onclose=function(){if(M!==_)return;if(m=!1,S=!1,b!=null)clearTimeout(b),b=null;W();return},g.onerror=function(){return};return};let j=function(){if(h||u)return;if(g!=null)try{g.close()}catch{}else W();return},q=[],t1=function(M,N,C){if(typeof M?.addEventListener!=="function")return;M.addEventListener(N,C),q.push(function(){return M.removeEventListener(N,C)});return};if(t1(globalThis,"online",function(){return j()}),t1(globalThis,"pageshow",function(M){return M.persisted===!0?j():void 0}),typeof document<"u")t1(document,"visibilitychange",function(){return document.visibilityState==="visible"?j():void 0});return r(),{close(){if(h)return;if(h=!0,_+=1,R!=null)clearTimeout(R);if(b!=null)clearTimeout(b);for(let M of q)M();try{g?.close()}catch{}return},connected(){return m&&S&&!h&&!u},resync(){return j()}}}function Vr(e){if(!(e!=null&&typeof e==="object"))throw TypeError("Rip App: createApply expects an options object");if(typeof e.renderer?.remountDirty!=="function")throw TypeError("Rip App: createApply requires renderer.remountDirty");if(typeof e.escape!=="function")throw TypeError("Rip App: createApply requires an escape remount");let t=e.report??function(...i){return console.log(...i)};return{absorb:async function(i,n=null){if(!(Array.isArray(i)&&i.length>0))return"ignore";let s=(()=>{let f=[];for(let h of i)if(typeof h==="string"&&h.endsWith(".css"))f.push(h);return f})(),a=(()=>{let f=[];for(let h of i)if(typeof h==="string"&&h.endsWith(".rip"))f.push(h);return f})(),o=(()=>{let f=[];for(let h of i)if(typeof h==="string"&&!h.endsWith(".rip")&&!h.endsWith(".css"))f.push(h);return f})();if(a.length===0){if(o.length>0)return"reload";if(s.length>0)return"css";return"ignore"}let l=await e.renderer.remountDirty(a,n);if(l==="narrow")return t(`[Rip] applied ${a.join(", ")} — update`),"update";if(l==="reload")return t(`[Rip] applied ${a.join(", ")} — reload`),"reload";if(l==="noop")return"ignore";if(await e.escape(a,n)==="reload")return"reload";return t(`[Rip] applied ${a.join(", ")} — update`),"update"}}}var bc=function(e){if(e instanceof Uint8Array)return e;if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);throw TypeError("Rip App: rash expects bytes")},yc=function(e){let t,r,i,n,s,a,o,l,c,f,h,u,m,S,g,d,R=bc(e);if(typeof Bun<"u"&&Bun.CryptoHasher!=null)return new Uint8Array(new Bun.CryptoHasher("sha256").update(R).digest());let b=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],_=R.length*8,y=new Uint8Array(R.length+9+63&-64);y.set(R),y[R.length]=128;let p=new DataView(y.buffer);p.setUint32(y.length-4,_>>>0,!1),p.setUint32(y.length-8,Math.floor(_/4294967296)>>>0,!1);let k=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],I=function(K,V){return K>>>V|K<<32-V},A=new Uint32Array(64),x=0;while(xArray.from({length:Math.max(0,Math.abs(Z-V))},(W,j)=>V+j*(V<=Z?1:-1)))(0,16))A[K]=p.getUint32(x+K*4,!1);for(let K=16;K<64;K++)m=I(A[K-15],7)^I(A[K-15],18)^A[K-15]>>>3,S=I(A[K-2],17)^I(A[K-2],19)^A[K-2]>>>10,A[K]=A[K-16]+m+A[K-7]+S>>>0;[i,n,s,o,l,c,f,h]=k;for(let K=0;K<64;K++)r=I(l,6)^I(l,11)^I(l,25),a=l&c^~l&f,g=h+r+a+b[K]+A[K]>>>0,t=I(i,2)^I(i,13)^I(i,22),u=i&n^i&s^n&s,d=t+u>>>0,h=f,f=c,c=l,l=o+g>>>0,o=s,s=n,n=i,i=g+d>>>0;k[0]=k[0]+i>>>0,k[1]=k[1]+n>>>0,k[2]=k[2]+s>>>0,k[3]=k[3]+o>>>0,k[4]=k[4]+l>>>0,k[5]=k[5]+c>>>0,k[6]=k[6]+f>>>0,k[7]=k[7]+h>>>0,x+=64}let O=new Uint8Array(32),G=new DataView(O.buffer);for(let K of((V,Z)=>Array.from({length:Math.max(0,Math.abs(Z-V))},(W,j)=>V+j*(V<=Z?1:-1)))(0,8))G.setUint32(K*4,k[K],!1);return O},Dt=function(e){let t=yc(e),r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_";return(r[t[0]>>2]+r[(t[0]&3)<<4|t[1]>>4]+r[(t[1]&15)<<2|t[2]>>6]+r[t[2]&63]+r[t[3]>>2]+r[(t[3]&3)<<4|t[4]>>4]).replaceAll("-","_")},Wr=function(e){let t=JSON.stringify(e.map(function(r){return[r.id,r.hash]}));return Dt(new TextEncoder().encode(t))};var Sc=function(){return globalThis.__ripStash},Rc=function(){return globalThis.__ripRouter};(()=>{if(typeof document>"u"||typeof WebSocket>"u")return;let e=document.currentScript;if(!(e?/\bwatch\.js\b/.test(e.src||""):!!document.querySelector("script[watch]"))||globalThis.__ripWatch)return;globalThis.__ripWatch=!0;let r=location.pathname,i=(f)=>Array.isArray(f)&&(f.includes(r)||r.endsWith("/")&&f.includes(r+"index.html")),n=(f)=>f.headers.get("etag")||f.headers.get("last-modified")||"",s=null;fetch(location.href,{method:"HEAD",cache:"no-store"}).then((f)=>{s=n(f)}).catch(()=>{});let a=()=>{if(s===null)return;fetch(location.href,{method:"HEAD",cache:"no-store"}).then((f)=>{if(n(f)!==s)location.reload()}).catch(()=>{})},o=!1,l=0,c=()=>{let f=location.protocol==="https:"?"wss://":"ws://",h=new WebSocket(f+location.host+"/hub");h.onopen=()=>h.send('{"+":["/assets"],"?":"observe"}'),h.onmessage=(u)=>{let m;try{m=JSON.parse(u.data)}catch{return}for(let S of Array.isArray(m)?m:[m]){if(!S||typeof S!=="object"||"<"in S)continue;if("!"in S){if(o)a();o=!0,l=0}if(i(S.touched))location.reload()}},h.onclose=()=>{if(l+=1,!o&&l>=6)return;setTimeout(c,Math.min(8000,500*2**(l-1)))},h.onerror=()=>{}};c()})();var{__hmrEmit:Ec}=Et;function ui(e,t={}){if(t.face==="ts")throw Error("rip: TypeScript face is unavailable in the browser");return fa(e,{...t,face:"js"})}var Yo={intrinsics:ir,stdlib:sr,schema:fr,reactive:gr,components:Et},zo=Object.freeze({...ir,...sr,...fr,...gr,...Et}),kc=Object.freeze({rash:Dt,check:Wr}),qo=Object.freeze({"rip/app":Hr,"rip/app/rash":kc});var Tc=new Map(Object.keys(Yo).map((e)=>[new URL(`./runtime/${e}.js`,import.meta.url).pathname,e])),wc=/(?:^|\/)src\/runtime\/(intrinsics|stdlib|schema|reactive|components)\.js$/,Gr="__ripModuleBridge",_c=(e)=>e.slice(1,-1),Vo=(e,t)=>{let r=e.split("/").slice(0,-1);for(let i of t.split("/")){if(i===""||i===".")continue;if(i===".."){if(!r.length)return null;r.pop()}else r.push(i)}return r.join("/")},Wo=(e)=>{if(typeof URL<"u"&&typeof URL.createObjectURL==="function"&&typeof Blob<"u")return URL.createObjectURL(new Blob([e],{type:"text/javascript"}));return`data:text/javascript;base64,${btoa(unescape(encodeURIComponent(e)))}`};function Xo({components:e,embeddedPackages:t={},debug:r=!1,hmr:i=!1}={}){if(!e||typeof e.read!=="function")throw TypeError("rip: createModuleLoader requires a component registry");let n=new Map,s=new Map,a=new Map,o=new Map,l=new Map,c=new Set,f=(g)=>{if(typeof g==="string"&&g.startsWith("blob:")&&typeof URL?.revokeObjectURL==="function")URL.revokeObjectURL(g)},h=async()=>{let g=[...c];c.clear(),await Promise.allSettled(g.map(async(d)=>f(await d)))},u=(g,d)=>{if(a.has(g))return a.get(g);globalThis[Gr]??={};let R=globalThis[Gr][g];if(R&&R!==d)throw Error(`rip: two copies of embedded module '${g}' are active on one page`);globalThis[Gr][g]=d;let b=[`const ns = globalThis['${Gr}'][${JSON.stringify(g)}];`];for(let y of Object.keys(d))if(y==="default")b.push("export default ns['default'];");else if(/^[A-Za-z_$][\w$]*$/.test(y))b.push(`export const ${y} = ns[${JSON.stringify(y)}];`);else throw Error(`rip: embedded module '${g}' exports '${y}', which cannot cross the module bridge`);let _=Wo(b.join(` -`));return a.set(g,_),_},m=(g,d)=>{let R=_c(g),b=Tc.get(R)??R.match(wc)?.[1];if(b)return{bridge:`runtime:${b}`,namespace:Yo[b]};let _=(k)=>{try{return e.exists(k)}catch{return!1}},y=R.endsWith(".rip")?"":` — did you mean '${R}.rip'?`;if(R.startsWith("./")||R.startsWith("../")){let k=Vo(d,R);if(k&&_(k))return{path:k};if(!d.startsWith("rip/")){let I=Vo(`app/${d}`,R),A=I?.startsWith("app/")?I.slice(4):I;if(A&&_(A))return{path:A}}throw Error(`rip: '${d}' imports '${R}', which is not in the bundle${y}`)}let p=R.match(/^rip\/([\w-]+)(?:\/(.+))?$/);if(p){if(_(R))return{path:R};let k=`rip/${p[1]}`,I=t[R];if(I)return{bridge:`package:${R}`,namespace:I};if(t[k])throw Error(`rip: '${d}' imports '${R}', which '${k}' does not export in the browser`);let A=p[2]?p[2].endsWith(".rip")?p[2]:`${p[2]}.rip`:"index.rip",x=`${k}/${A}`;if(!_(x))throw Error(`rip: '${d}' imports '${R}', but '${x}' is not in the bundle — `+"only packages declaring browser safety travel to the browser");return{path:x}}throw Error(`rip: '${d}' imports '${R}', which is not loadable in a browser — `+"server-only and unknown modules never travel to the browser")},S=(g,d)=>{if(d.includes(g))throw Error(`rip: import cycle through '${g}' (${d.join(" -> ")} -> ${g})`);if(n.has(g))return n.get(g);let R=(async()=>{let b=e.read(g);if(b===void 0)throw Error(`rip: '${g}' is not in the bundle`);let _=ui(b,{path:g,runtimeDelivery:"import",browserModule:!0,...i?{hmr:!0}:null}),y=_.code;for(let p of[..._.imports].reverse()){let k=m(p.specifier,g);if(k.path){let A=o.get(k.path);if(!A)o.set(k.path,A=new Set);A.add(g);let x=l.get(g);if(!x)l.set(g,x=new Set);x.add(k.path)}let I=k.bridge?u(k.bridge,k.namespace):await S(k.path,[...d,g]);y=`${y.slice(0,p.start)}${JSON.stringify(I)}${y.slice(p.end)}`}if(r){let p=btoa(unescape(encodeURIComponent(JSON.stringify(_.map))));y+=` -//# sourceMappingURL=data:application/json;charset=utf-8;base64,${p}`}return Wo(y)})();return n.set(g,R),R.catch(()=>n.delete(g)),R};return{async import(g){if(s.has(g))return s.get(g);let R=await import(await S(g,[]));return s.set(g,R),e.setCompiled(g,{...R}),R},invalidate(g){let d=[g],R=new Set;while(d.length){let b=d.pop();if(R.has(b))continue;if(R.add(b),n.has(b))c.add(n.get(b));n.delete(b),s.delete(b);for(let _ of o.get(b)??[])d.push(_);o.delete(b);for(let _ of l.get(b)??[]){let y=o.get(_);if(y?.delete(b),y?.size===0)o.delete(_)}l.delete(b)}return R},collect:h,dispose(){for(let g of n.values())c.add(g);n.clear(),s.clear(),o.clear(),l.clear();for(let g of a.values())f(g);a.clear(),h()}}}var Jo=Object.keys(zo),Nc=Jo.map((e)=>zo[e]),Ac=()=>{if(typeof document>"u"||typeof document.querySelectorAll!=="function")throw Error("rip: processRipScripts requires a browser or an injected host");return{scripts(){return Array.from(document.querySelectorAll('script[type="text/rip"]')).map((e)=>({src:e.getAttribute("src"),text:e.textContent??""}))},async fetchText(e){let t=await fetch(e);if(!t.ok)throw Error(`${t.status} ${t.statusText}`);return t.text()},prepare(e,t){return Function(...t,e)},async ready(){if(document.readyState==="loading")await new Promise((e)=>document.addEventListener("DOMContentLoaded",e,{once:!0}))},report(e){console.error("[Rip]",String(e))}}},vc=(e)=>{let t=e.split(` +`+h+"}"}return null};return(s)=>{let a=n(s,0);if(a!==null)console.log(a);else console.dir(s,{depth:null,colors:!0});return s}})(),Ra=(e,t)=>{throw t!==void 0?new e(t):Error(e)},Ea=(e,t)=>t!==void 0?(e>t&&([e,t]=[t,e]),Math.floor(Math.random()*(t-e+1)+e)):e?Math.floor(Math.random()*e):Math.random(),ka=(e)=>new Promise((t)=>setTimeout(t,e)),Ta=(e)=>{throw Error(e||"Not implemented")},wa=(...e)=>console.warn(...e),_a=(...e)=>e[0].map((t,r)=>e.map((i)=>i[r])),Na=(e)=>{if(typeof e==="string")return e;if(e==null)return"";if(typeof e==="number"||typeof e==="bigint"||typeof e==="boolean")return String(e);if(typeof e==="symbol")return e.description||"";if(e instanceof Uint8Array||e instanceof ArrayBuffer)return new TextDecoder().decode(e instanceof Uint8Array?e:new Uint8Array(e));if(Array.isArray(e))return e.join(",");if(typeof e.toString==="function"&&e.toString!==Object.prototype.toString)try{return e.toString()}catch{return""}return""};var fr={};xe(fr,{SchemaDef:()=>gt,SchemaError:()=>v1,SchemaRegistry:()=>ee,__schema:()=>M3,installPersistence:()=>D3,registerCoercer:()=>C3});var $a=Symbol.for("rip.runtime.schema");if(globalThis[$a])throw Error("two copies of the Rip schema runtime loaded in one process — schemas from different copies "+"cannot see each other (separate registries, distinct SchemaError classes). Run .rip sources through the rip CLI/loader (one shared runtime module per process), or load only one standalone-compiled file per process.");globalThis[$a]=!0;var Se=null;function D3(e){if(Se&&Se!==e)throw Error("the Rip schema persistence runtime is already installed — two different copies met in one process");Se=e}class v1 extends Error{constructor(e,t,r){super(x3(e,t));this.name="SchemaError",this.issues=e,this.schemaName=t||null,this.schemaKind=r||null}}function x3(e,t){if(!e||!e.length)return"SchemaError";return(t?t+": ":"")+e.map((i)=>i.message||i.error||"invalid").join("; ")}var Da={__proto__:null,string:(e)=>typeof e==="string",number:(e)=>typeof e==="number"&&!Number.isNaN(e),integer:(e)=>Number.isInteger(e),boolean:(e)=>typeof e==="boolean",date:(e)=>e instanceof Date&&!Number.isNaN(e.getTime()),datetime:(e)=>e instanceof Date&&!Number.isNaN(e.getTime()),email:(e)=>typeof e==="string"&&/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e),url:(e)=>typeof e==="string"&&/^https?:\/\/.+/.test(e),uuid:(e)=>typeof e==="string"&&/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(e),phone:(e)=>typeof e==="string"&&/^[\d\s\-+()]+$/.test(e),zip:(e)=>typeof e==="string"&&/^\d{5}(-\d{4})?$/.test(e),text:(e)=>typeof e==="string",json:(e)=>e!==void 0,any:()=>!0},cr={integer(e){if(typeof e==="number")return Number.isInteger(e)?{ok:!0,value:e}:{ok:!1};if(typeof e==="string"&&/^[+-]?\d+$/.test(e.trim()))return{ok:!0,value:parseInt(e.trim(),10)};return{ok:!1}},number(e){if(typeof e==="number")return Number.isNaN(e)?{ok:!1}:{ok:!0,value:e};if(typeof e==="string"&&/^[+-]?(\d+\.?\d*|\.\d+)([eE][+-]?\d+)?$/.test(e.trim()))return{ok:!0,value:Number(e.trim())};return{ok:!1}},boolean(e){if(typeof e==="boolean")return{ok:!0,value:e};if(e==="true"||e==="1"||e===1)return{ok:!0,value:!0};if(e==="false"||e==="0"||e===0)return{ok:!0,value:!1};return{ok:!1}},date(e){if(e instanceof Date)return Number.isNaN(e.getTime())?{ok:!1}:{ok:!0,value:e};if(typeof e==="number"&&Number.isFinite(e))return{ok:!0,value:new Date(e)};let t=typeof e==="string"?/^(\d{4})-(\d{2})-(\d{2})/.exec(e):null;if(t){let r=+t[2],i=+t[3],n=new Date(Date.UTC(+t[1],r,0)).getUTCDate();if(r<1||r>12||i<1||i>n)return{ok:!1};let s=new Date(e);if(!Number.isNaN(s.getTime()))return{ok:!0,value:s}}return{ok:!1}}};cr.datetime=cr.date;function ar(e){if(e!==null&&typeof e==="object"&&!Array.isArray(e))return null;return{field:"",error:"object",message:"input must be an object; got "+(e===null?"null":Array.isArray(e)?"an array":"a "+typeof e)}}var Dn=new Map;function C3(e,t,r){if(typeof e!=="string"||typeof t!=="function")throw Error("registerCoercer(name, fn, opts?): name string and fn required");let i=Object.prototype.toString.call(t);if(i==="[object AsyncFunction]"||i==="[object GeneratorFunction]"||i==="[object AsyncGeneratorFunction]")throw Error("registerCoercer: coercer '~:"+e+"' must be a plain synchronous function");let n=r?.raw===!0,s=Dn.get(e);if(s){if(s.raw===n&&String(s.fn)===String(t))return t;throw Error("registerCoercer: coercer '~:"+e+"' is already registered")}return Dn.set(e,{fn:t,raw:n}),t}function mt(e){if(Da[e])return null;let t=ee.get(e);return t&&(t.kind==="shape"||t.kind==="input"||t.kind==="model"||t.kind==="union")?t:null}function xn(e,t,r){let i=Da[t];if(i)return i(e)?{value:e}:{errors:[{field:"",error:"type",message:"must be "+t}]};let n=ee.get(t);if(!n)return{value:e};if(n.kind==="enum"){let a=n._validateEnum(e,!0);return a.length?{errors:[{field:"",error:"enum",message:a[0].message}]}:{value:n._materializeEnum(e)}}if(n.kind==="mixin")return{errors:[{field:"",error:"type",message:":mixin "+t+" is not usable as a field type"}]};if(n.kind==="union"){let a=n._unionResolve(e);if(a.issue)return{errors:[a.issue]};let o=r?.existing?a.def._runExistingSync(e,{...r,materialize:!1,materializeNested:!1}):a.def._runSync(e,{...r,materialize:!1,materializeNested:!1});if(o.thrown){if(r?.derived==="throw")throw o.thrown;return{errors:[{field:"",error:"derived",message:o.thrown?.message||String(o.thrown)}]}}return o.ok?{value:o.value}:{errors:o.errors}}if(e===null||typeof e!=="object"||Array.isArray(e))return{errors:[{field:"",error:"type",message:"must be a "+t+" object"}]};let s=r?.existing?n._runExistingSync(e,{...r,materialize:!1,materializeNested:!1}):n._runSync(e,{...r,materialize:!1,materializeNested:!1});if(s.thrown){if(r?.derived==="throw")throw s.thrown;return{errors:[{field:"",error:"derived",message:s.thrown?.message||String(s.thrown)}]}}return s.ok?{value:s.value}:{errors:s.errors}}async function Aa(e,t,r){let i=mt(t);if(i===null)return xn(e,t,r);if(i.kind==="union"){let s=i._unionResolve(e);if(s.issue)return{errors:[s.issue]};let a=r?.existing?await s.def._runExistingAsync(e,{...r,materialize:!1,materializeNested:!1}):await s.def._runAsync(e,{...r,materialize:!1,materializeNested:!1});if(a.thrown){if(r?.derived==="throw")throw a.thrown;return{errors:[{field:"",error:"derived",message:a.thrown?.message||String(a.thrown)}]}}return a.ok?{value:a.value}:{errors:a.errors}}if(e===null||typeof e!=="object"||Array.isArray(e))return{errors:[{field:"",error:"type",message:"must be a "+t+" object"}]};let n=r?.existing?await i._runExistingAsync(e,{...r,materialize:!1,materializeNested:!1}):await i._runAsync(e,{...r,materialize:!1,materializeNested:!1});if(n.thrown){if(r?.derived==="throw")throw n.thrown;return{errors:[{field:"",error:"derived",message:n.thrown?.message||String(n.thrown)}]}}return n.ok?{value:n.value}:{errors:n.errors}}function pt(e,t){if(!t)return e;return e+(t.startsWith("[")?t:"."+t)}function or(e,t,r){if(!t)return e+" "+r;if(r.startsWith(t))return e+r.slice(t.length);return e+": "+r}var lr=Symbol("schema.materialization-error");function va(e,t){if(e&&e[lr])return{[lr]:!0,error:e.error,field:pt(t,e.field)};return{[lr]:!0,error:e,field:t}}function Be(e){return e&&e[lr]?{thrown:e.error,derivedField:e.field}:{thrown:e,derivedField:""}}var P3=Je;function Oa(e){let t=(i)=>JSON.stringify(i??null,(n,s)=>s instanceof RegExp?String(s):typeof s==="function"?"":s),r=[e.kind];for(let i of e._desc.entries||[])switch(i.tag){case"field":r.push("f:"+i.name+":"+(i.typeName||"")+(i.array?"[]":"")+":"+(i.modifiers||[]).join("")+(i.literals?":"+i.literals.join(","):"")+":"+t(i.constraints)+(i.coerce?":~"+(i.coercer||""):"")+(i.transform?":t":""));break;case"enum-member":r.push("e:"+i.name+"="+String(i.value));break;case"directive":r.push("d:"+i.name+":"+t(i.args));break;case"ensure":r.push("n:"+(i.message||""));break;default:r.push(i.tag+":"+(i.name||""))}return r.join("|")}var ye=0,ee={_entries:new Map,replace:!1,register(e){if(!e.name)return;ye++;let t=this._entries.get(e.name);if(t&&t.def!==e&&!this.replace){if(Oa(t.def)!==Oa(e))throw new v1([{field:e.name,error:"collision",message:"schema name '"+e.name+"' is already registered with a different definition. Schema names are app-global (they resolve nested field types and @mixin references), so two "+"different schemas cannot share one name. Rename one — or, for dev/HMR reload semantics, set "+"SchemaRegistry.replace = true before re-evaluating modules."}],e.name,e.kind)}this._entries.set(e.name,{def:e,kind:e.kind})},get(e){let t=this._entries.get(e);return t?t.def:null},getKind(e,t){let r=this._entries.get(e);return r&&r.kind===t?r.def:null},has(e){return this._entries.has(e)},names(){return[...this._entries.keys()]},reset(){this._entries.clear(),ye++},scope(e){let t=this._entries;this._entries=new Map,ye++;let r=()=>{this._entries=t,ye++};try{let i=e();if(i&&typeof i.then==="function")return i.finally(r);return r(),i}catch(i){throw r(),i}}};class gt{constructor(e){if(e.kind==="model"&&!Se)throw Error("schema: kind 'model' needs the persistence runtime (src/runtime/orm.js), which is not "+"loaded in this process — reference a persistence name (schema.transaction, __schemaSetAdapter) "+"or import the module directly");if(this._desc=e,this.kind=e.kind,this.name=e.name||null,this._norm=null,this._klass=null,this._unionPlanCache=null,this._sourceModel=null,e.kind==="model")Se.decorateDef(this,e)}_normalize(){if(this._norm)return this._norm;let e=new Map,t=new Map,r=new Map,i=new Map,n=new Map,s=new Map,a=null,o=[],l=new Map,c=[],f=(b,_)=>{throw new v1([{field:b,error:"collision",message:b+" collides with "+_}],this.name,this.kind)},h=(b)=>{if(e.has(b))f(b,"field");if(t.has(b))f(b,"method");if(r.has(b))f(b,"computed");if(i.has(b))f(b,"derived");if(n.has(b))f(b,"hook")},u=(b)=>{throw new v1([{field:"",error:"kind",message:b+" is :model-only (this schema is :"+this.kind+")"}],this.name,this.kind)},d=this.kind==="union"?new Set(["on"]):new Set(["mixin"]),S=(b,_)=>{if(!P3(b))throw new v1([{field:b,error:"invalid-name",message:_+" name '"+b+"' is not canonical camelCase. Use a lowercase-first, alphanumeric identifier with no consecutive uppercase letters (e.g. 'mdmId' not 'mdmID')."}],this.name,this.kind)};for(let b of this._desc.entries)switch(b.tag){case"field":S(b.name,"field"),h(b.name),e.set(b.name,{name:b.name,required:b.modifiers.includes("!"),optional:b.modifiers.includes("?"),unique:b.unique===!0,primary:b.primary===!0,attrs:b.attrs||null,typeName:b.typeName,literals:b.literals||null,array:b.array===!0,coerce:b.coerce===!0,coercer:b.coercer||null,constraints:b.constraints||null,transform:b.transform||null});break;case"method":h(b.name),t.set(b.name,b.fn);break;case"computed":h(b.name),r.set(b.name,b.fn);break;case"derived":h(b.name),i.set(b.name,b.fn);break;case"hook":if(this.kind!=="model")u("lifecycle hook '"+b.name+"'");if(n.has(b.name))f(b.name,"duplicate hook");n.set(b.name,b.fn);break;case"scope":if(this.kind!=="model")u("query scope '@scope :"+b.name+"'");if(s.has(b.name))f(b.name,"scope");s.set(b.name,b.fn);break;case"defaultScope":if(this.kind!=="model")u("@defaultScope");if(a)throw new v1([{field:"",error:"collision",message:"only one @defaultScope per model"}],this.name,this.kind);a=b.fn;break;case"directive":if(this.kind!=="model"&&!d.has(b.name))throw new v1([{field:"",error:"directive",message:"unknown directive '@"+b.name+"' on :"+this.kind+" — legal here: "+[...d].map((_)=>"@"+_).join(", ")}],this.name,this.kind);o.push({name:b.name,args:b.args||[]});break;case"enum-member":l.set(b.name,b.value!==void 0?b.value:b.name);break;case"union-member":break;case"ensure":c.push({message:b.message,field:b.field||"",async:b.async===!0,fn:b.fn});break;default:throw new v1([{field:"",error:"entry",message:"unknown schema entry tag '"+b.tag+"'"}],this.name,this.kind)}if(this.kind==="shape"||this.kind==="input"||this.kind==="mixin"||this.kind==="model")Pa(this,e,o,{stack:[this.name||""],seen:new Set([this.name||""])});let g=null,p=[];if(this.kind==="union"){for(let b of o)if(b.name==="on"&&b.args?.[0]?.field)g=b.args[0].field;for(let b of this._desc.entries)if(b.tag==="union-member")p.push(b.name)}let R={fields:e,methods:t,computed:r,derived:i,hooks:n,scopes:s,defaultScope:a,directives:o,enumMembers:l,ensures:c,hasAsyncEnsures:c.some((b)=>b.async),unionOn:g,unionMembers:p};if(this.kind==="model")Se.finishModelNorm(this,R);return this._norm=R,this._norm}_unionPlan(){if(this._unionPlanCache&&this._unionPlanCache.gen===ye)return this._unionPlanCache.plan;let e=this._normalize(),t=e.unionOn;if(this.kind!=="union"||!t)throw Error("schema: '"+(this.name||"anon")+"' is not a :union");let r=new Map,i=[];for(let s of e.unionMembers){let a=ee.get(s);if(!a)throw new v1([{field:"",error:"union",message:"unknown union constituent: "+s+" (import the file that declares it)"}],this.name,this.kind);i.push(a);let o=a._normalize().fields.get(t);if(!o||o.typeName!=="literal-union"||!o.literals?.length)throw new v1([{field:t,error:"union",message:s+" must declare '"+t+"' as a string-literal type (e.g. "+t+'! "click") to join union '+(this.name||"")}],this.name,this.kind);for(let l of o.literals){if(r.has(l))throw new v1([{field:t,error:"union",message:"duplicate discriminator value "+JSON.stringify(l)+" in "+(r.get(l).name||"anon")+" and "+s}],this.name,this.kind);r.set(l,a)}}let n={disc:t,map:r,expected:[...r.keys()].join(" | "),hasAsyncEnsures:i.some((s)=>s._normalize().hasAsyncEnsures)};return this._unionPlanCache={gen:ye,plan:n},n}_unionResolve(e){let t=this._unionPlan();if(e===null||typeof e!=="object"||Array.isArray(e))return{issue:{field:t.disc,error:"union",message:"expected an object with "+t.disc}};let r=t.map.get(e[t.disc]);if(!r)return{issue:{field:t.disc,error:"union",message:"expected one of "+t.expected}};return{def:r}}_applyEagerDerived(e){let t=this._normalize();if(!t.derived.size)return;for(let[r,i]of t.derived){let n=i.call(e);Object.defineProperty(e,r,{value:n,enumerable:!0,writable:!0,configurable:!0})}}_materializeValidatedValue(e,t,r){return this._materializeNestedValues(e,t,r),this._materializeOwnValidatedValue(e,t,r)}_materializeNestedValues(e,t,r){let i=this._normalize();for(let[n,s]of i.fields){let a=mt(s.typeName);if(!a)continue;let o=e[n];if(o===void 0||o===null)continue;let l=t==null?void 0:t[n];if(s.array){if(!Array.isArray(o))continue;let c=Array(o.length);for(let f=0;f{let a=()=>({field:n.field||"",error:"ensure",message:n.message||"ensure failed"});if(n.async)i.push((async()=>{let o=!1;try{o=!!await n.fn(e)}catch{o=!1}if(!o)r.push({idx:s,issue:a()})})());else{let o=!1;try{o=!!n.fn(e)}catch{o=!1}if(!o)r.push({idx:s,issue:a()})}}),await Promise.all(i),r.sort((n,s)=>n.idx-s.idx),r.map((n)=>n.issue)}_transitiveAsync(){if(this._taGen===ye)return this._taCache;let e=new Set,t=(r)=>{if(e.has(r))return!1;e.add(r);let i=r._normalize();if(i.hasAsyncEnsures)return!0;if(r.kind==="union"){for(let n of i.unionMembers){let s=ee.get(n);if(s&&t(s))return!0}return!1}for(let n of i.fields.values()){let s=mt(n.typeName);if(s&&t(s))return!0}return!1};return this._taCache=t(this),this._taGen=ye,this._taCache}_assertSyncValidatable(e){if(!this._transitiveAsync())return;let t=this.kind!=="union"&&this._normalize().hasAsyncEnsures;throw Error("schema '"+(this.name||"anon")+"' has async refinements (@ensure!"+(t?"":" in a nested or constituent schema")+"); ."+e+"() is sync. Use parseAsync/safeAsync/okAsync instead.")}_getClass(){if(this._klass)return this._klass;let e=this._normalize(),t=this.name||"Schema",r=[...e.fields.keys()],i={[t]:class{constructor(n){if(n&&typeof n==="object"){for(let s of r)if(s in n&&n[s]!==void 0)this[s]=n[s]}}}}[t];for(let[n,s]of e.methods)Object.defineProperty(i.prototype,n,{value:s,writable:!0,enumerable:!1,configurable:!0});for(let[n,s]of e.computed)Object.defineProperty(i.prototype,n,{get:s,enumerable:!1,configurable:!0});return this._klass=i,i}_coerceDates(e){let t=this._normalize(),r=(s)=>typeof s==="string"&&/^\d{4}-\d{2}-\d{2}([T ].*)?$/.test(s),i=(s)=>{let a=/^(\d{4})-(\d{2})-(\d{2})/.exec(s),o=+a[2],l=+a[3];return o>=1&&o<=12&&l>=1&&l<=new Date(Date.UTC(+a[1],o,0)).getUTCDate()},n=(s)=>{if(!i(s))return s;let a=new Date(s);return Number.isNaN(a.getTime())?s:a};for(let[s,a]of t.fields){if(a.typeName!=="date"&&a.typeName!=="datetime")continue;let o=e[s];if(a.array&&Array.isArray(o))e[s]=o.map((l)=>r(l)?n(l):l);else if(r(o))e[s]=n(o)}}_validateFields(e,t,r,i){let n=this._normalize(),s=t?[]:null;for(let[a,o]of n.fields){if(r&&r.has(a))continue;let l=e==null?void 0:e[a];if(l===void 0||l===null){if(o.required){if(!t)return!1;s.push({field:a,error:"required",message:a+" is required"})}continue}if(o.array){if(!Array.isArray(l)){if(!t)return!1;s.push({field:a,error:"type",message:a+" must be an array"});continue}let f=o.constraints;if(f){if(f.min!=null&&l.lengthf.max){if(!t)return!1;s.push({field:a,error:"max",message:a+" must have at most "+f.max+" items"})}}if(i?.deferNested&&mt(o.typeName))continue;let h=!1,u=!1,d=Array(l.length);for(let S=0;SJSON.stringify(f)).join(", ")});continue}}else{if(i?.deferNested&&mt(o.typeName))continue;let f=xn(l,o.typeName,i);if(f.errors){if(!t)return!1;for(let h of f.errors){let u=pt(a,h.field);s.push({field:u,error:h.error,message:or(u,h.field,h.message)})}continue}if(f.value!==l)e[a]=f.value}let c=o.constraints;if(c){if(typeof l==="string"){if(c.min!=null&&l.lengthc.max){if(!t)return!1;s.push({field:a,error:"max",message:a+" must be at most "+c.max+" chars"})}if(c.regex){if(c.regex.global||c.regex.sticky)c.regex.lastIndex=0;if(!c.regex.test(l)){if(!t)return!1;s.push({field:a,error:"pattern",message:a+" is invalid"})}}}else if(typeof l==="number"){if(c.min!=null&&l= "+c.min})}if(c.max!=null&&l>c.max){if(!t)return!1;s.push({field:a,error:"max",message:a+" must be <= "+c.max})}}}}return t?s:!0}_applyDefaults(e){let t=this._normalize();for(let[r,i]of t.fields)if((e[r]===void 0||e[r]===null)&&i.constraints?.default!==void 0){let n=i.constraints.default;e[r]=typeof n==="object"&&n!==null&&!(n instanceof RegExp)?structuredClone(n):n}return e}_applyTransforms(e,t){let r=this._normalize(),i=[];for(let[n,s]of r.fields){if(!s.transform)continue;try{t[n]=s.transform(e)}catch(a){i.push({field:n,error:"transform",message:a?.message||String(a)})}}return i}_applyCoercions(e,t){let r=this._normalize(),i=[];for(let[n,s]of r.fields){if(!s.coerce)continue;let a=e[n];if(a===void 0||a===null)continue;if(s.coercer){let l=Dn.get(s.coercer);if(!l)throw Error("schema: no coercer registered for '~:"+s.coercer+"' (field '"+n+"' on "+(this.name||"anon")+"). Register it with registerCoercer('"+s.coercer+"', fn).");let c=l.raw?a:String(a).trim(),f;try{f=l.fn(c)}catch{f=null}if(f===null||f===void 0)i.push({field:n,error:"coerce",message:n+" is not a valid "+s.coercer}),t.add(n);else e[n]=f;continue}let o=cr[s.typeName]?cr[s.typeName](a):{ok:!1};if(o.ok)e[n]=o.value;else i.push({field:n,error:"coerce",message:n+" cannot be coerced to "+s.typeName}),t.add(n)}return i}_orderFieldErrors(...e){let t=new Map,r=0;for(let[i]of this._normalize().fields)t.set(i,r++);return e.flat().map((i,n)=>{let s=String(i.field||"").split(/[.[]/,1)[0];return{issue:i,seq:n,rank:t.has(s)?t.get(s):r}}).sort((i,n)=>i.rank-n.rank||i.seq-n.seq).map((i)=>i.issue)}_validateEnum(e,t){let r=this._normalize();for(let[n,s]of r.enumMembers)if(e===n||e===s)return t?[]:!0;if(!t)return!1;let i=[...r.enumMembers.keys()].join(", ");return[{field:"",error:"enum",message:(this.name||"enum")+" expected one of: "+i}]}_materializeEnum(e){let t=this._normalize();for(let[r,i]of t.enumMembers)if(e===r||e===i)return i;return e}_runSync(e,t){if(this.kind==="union"){let f=this._unionResolve(e);if(f.issue)return{ok:!1,errors:[f.issue]};let h=f.def._runSync(e,t);return h.ok?h:{...h,from:h.from||f.def}}if(this.kind==="enum"){let f=this._validateEnum(e,!0);return f.length?{ok:!1,errors:f}:{ok:!0,value:this._materializeEnum(e)}}let r=ar(e);if(r)return{ok:!1,errors:[r]};let i=e,n={...i},s=new Set,a=this._applyTransforms(i,n),o=this._applyCoercions(n,s);this._applyDefaults(n),this._coerceDates(n);let l=this._orderFieldErrors(a,o,this._validateFields(n,!0,s,t));if(l.length)return{ok:!1,errors:l};let c=t?.skipEnsures?[]:this._applyEnsures(n);if(c.length)return{ok:!1,errors:c};if(t?.materializeNested)try{this._materializeNestedValues(n,null,!1)}catch(f){return{ok:!1,errors:null,...Be(f)}}if(!t?.materialize)return{ok:!0,value:n};try{return{ok:!0,value:this._materializeOwnValidatedValue(n,null,!1)}}catch(f){return{ok:!1,errors:null,...Be(f)}}}async _runAsync(e,t){if(this.kind==="union"){let h=this._unionResolve(e);if(h.issue)return{ok:!1,errors:[h.issue]};let u=await h.def._runAsync(e,t);return u.ok?u:{...u,from:u.from||h.def}}if(this.kind==="enum")return this._runSync(e,t);let r=ar(e);if(r)return{ok:!1,errors:[r]};let i=e,n={...i},s=new Set,a=this._applyTransforms(i,n),o=this._applyCoercions(n,s);this._applyDefaults(n),this._coerceDates(n);let l=await this._validateFieldsAsync(n,s,t),c=this._orderFieldErrors(a,o,l);if(c.length)return{ok:!1,errors:c};let f=t?.skipEnsures?[]:await this._applyEnsuresAsync(n);if(f.length)return{ok:!1,errors:f};if(t?.materializeNested)try{this._materializeNestedValues(n,null,!1)}catch(h){return{ok:!1,errors:null,...Be(h)}}if(!t?.materialize)return{ok:!0,value:n};try{return{ok:!0,value:this._materializeOwnValidatedValue(n,null,!1)}}catch(h){return{ok:!1,errors:null,...Be(h)}}}async _validateFieldsAsync(e,t,r){let i=this._normalize(),n=[];for(let[s,a]of i.fields){if(t&&t.has(s))continue;let o=e[s];if(o===void 0||o===null){if(a.required)n.push({field:s,error:"required",message:s+" is required"});continue}if(a.array){if(!Array.isArray(o)){n.push({field:s,error:"type",message:s+" must be an array"});continue}let f=a.constraints;if(f?.min!=null&&o.lengthf.max)n.push({field:s,error:"max",message:s+" must have at most "+f.max+" items"});let h=Array(o.length),u=!1;for(let d=0;dJSON.stringify(f)).join(", ")})}else{let f=await Aa(o,a.typeName,r);if(f.errors)for(let h of f.errors){let u=pt(s,h.field);n.push({field:u,error:h.error,message:or(u,h.field,h.message)})}else e[s]=f.value}let l=e[s],c=a.constraints;if(c){if(typeof l==="string"){if(c.min!=null&&l.lengthc.max)n.push({field:s,error:"max",message:s+" must be at most "+c.max+" chars"});if(c.regex){if(c.regex.global||c.regex.sticky)c.regex.lastIndex=0;if(!c.regex.test(l))n.push({field:s,error:"pattern",message:s+" is invalid"})}}else if(typeof l==="number"){if(c.min!=null&&l= "+c.min});if(c.max!=null&&l>c.max)n.push({field:s,error:"max",message:s+" must be <= "+c.max})}}}return n}_runExistingSync(e,t){if(this.kind==="union"){let a=this._unionResolve(e);if(a.issue)return{ok:!1,errors:[a.issue]};let o=a.def._runExistingSync(e,t);return o.ok?o:{...o,from:o.from||a.def}}if(this.kind==="enum")return this._runSync(e,t);let r=ar(e);if(r)return{ok:!1,errors:[r]};let i={...e},n=this._validateFields(i,!0,null,{...t,existing:!0});if(n.length)return{ok:!1,errors:n};let s=t?.skipEnsures?[]:this._applyEnsures(i);if(s.length)return{ok:!1,errors:s};if(t?.materializeNested)try{this._materializeNestedValues(i,e,!0)}catch(a){return{ok:!1,errors:null,...Be(a)}}return this._finishExistingValue(e,i,t)}async _runExistingAsync(e,t){if(this.kind==="union"){let a=this._unionResolve(e);if(a.issue)return{ok:!1,errors:[a.issue]};let o=await a.def._runExistingAsync(e,t);return o.ok?o:{...o,from:o.from||a.def}}if(this.kind==="enum")return this._runSync(e,t);let r=ar(e);if(r)return{ok:!1,errors:[r]};let i={...e},n=await this._validateFieldsAsync(i,null,{...t,existing:!0});if(n.length)return{ok:!1,errors:n};let s=t?.skipEnsures?[]:await this._applyEnsuresAsync(i);if(s.length)return{ok:!1,errors:s};if(t?.materializeNested)try{this._materializeNestedValues(i,e,!0)}catch(a){return{ok:!1,errors:null,...Be(a)}}return this._finishExistingValue(e,i,t)}_finishExistingValue(e,t,r){if(!r?.materialize)return{ok:!0,value:t};let i=this._getClass(),n=!0;for(let[a]of this._normalize().fields)if(t[a]!==e[a]){n=!1;break}if(n)return{ok:!0,value:e};let s=new i(t);try{this._applyEagerDerived(s)}catch(a){return{ok:!1,errors:null,thrown:a}}return{ok:!0,value:s}}parse(e){if(this.kind==="mixin")throw Error(":mixin schema '"+(this.name||"anon")+"' is not instantiable");this._assertSyncValidatable("parse");let t=this._runSync(e,{materialize:!0,materializeNested:!0,derived:"throw"});if(t.ok)return t.value;if(t.thrown)throw t.thrown;let r=t.from||this;throw new v1(t.errors,r.name,r.kind)}get array(){let e=this,t=(s)=>({field:"",error:"not_array",message:"expected an array, received "+(s===null?"null":s===void 0?"undefined":typeof s==="object"?"an object with keys ["+Object.keys(s).join(", ")+"]":typeof s)}),r=(s)=>{let a=[],o=[];return s.forEach((l,c)=>{if(l.ok)a.push(l.value);else for(let f of l.errors)o.push({...f,field:"["+c+"]"+(f.field?"."+f.field:"")})}),{value:a,errors:o}},i=(s)=>{let a=[],o=[];return s.forEach((l,c)=>{try{a.push(e.parse(l))}catch(f){if(!(f instanceof v1))throw f;for(let h of f.issues)o.push({...h,field:"["+c+"]"+(h.field?"."+h.field:"")})}}),{value:a,errors:o}},n=async(s)=>{let a=[],o=[];for(let l=0;le.safe(l)));return o.length?{ok:!1,value:null,errors:o}:{ok:!0,value:a,errors:null}},ok(s){return Array.isArray(s)&&s.every((a)=>e.ok(a))},async parseAsync(s){if(!Array.isArray(s))throw new v1([t(s)],e.name,e.kind);let{value:a,errors:o}=await n(s);if(o.length)throw new v1(o,e.name,e.kind);return a},async safeAsync(s){if(!Array.isArray(s))return{ok:!1,value:null,errors:[t(s)]};let{value:a,errors:o}=r(await Promise.all(s.map((l)=>e.safeAsync(l))));return o.length?{ok:!1,value:null,errors:o}:{ok:!0,value:a,errors:null}},async okAsync(s){return Array.isArray(s)&&(await Promise.all(s.map((a)=>e.okAsync(a)))).every(Boolean)},toJSONSchema(){return{type:"array",items:e.toJSONSchema()}}}}safe(e){if(this.kind==="mixin")return{ok:!1,value:null,errors:[{field:"",error:"mixin",message:"not instantiable"}]};this._assertSyncValidatable("safe");let t=this._runSync(e,{materialize:!0,materializeNested:!0,derived:"issue"});if(t.ok)return{ok:!0,value:t.value,errors:null};if(t.thrown)return{ok:!1,value:null,errors:[{field:t.derivedField||"",error:"derived",message:t.thrown?.message||String(t.thrown)}]};return{ok:!1,value:null,errors:t.errors}}ok(e){if(this.kind==="mixin")return!1;return this._assertSyncValidatable("ok"),this._runSync(e,{materialize:!1,materializeNested:!1,derived:"issue"}).ok}async parseAsync(e){if(this.kind==="mixin")throw Error(":mixin schema '"+(this.name||"anon")+"' is not instantiable");let t=await this._runAsync(e,{materialize:!0,materializeNested:!0,derived:"throw"});if(t.ok)return t.value;if(t.thrown)throw t.thrown;let r=t.from||this;throw new v1(t.errors,r.name,r.kind)}async safeAsync(e){if(this.kind==="mixin")return{ok:!1,value:null,errors:[{field:"",error:"mixin",message:"not instantiable"}]};let t=await this._runAsync(e,{materialize:!0,materializeNested:!0,derived:"issue"});if(t.ok)return{ok:!0,value:t.value,errors:null};if(t.thrown)return{ok:!1,value:null,errors:[{field:t.derivedField||"",error:"derived",message:t.thrown?.message||String(t.thrown)}]};return{ok:!1,value:null,errors:t.errors}}async okAsync(e){if(this.kind==="mixin")return!1;return(await this._runAsync(e,{materialize:!1,materializeNested:!1,derived:"issue"})).ok}pick(...e){return dt(this,(t)=>{let r=$n(e),i=new Map;for(let n of r){if(!t.has(n))throw Error("pick: unknown field '"+n+"' on "+(this.name||"schema"));i.set(n,t.get(n))}return i})}omit(...e){return dt(this,(t)=>{let r=new Set($n(e)),i=new Map;for(let[n,s]of t)if(!r.has(n))i.set(n,s);return i})}partial(){return dt(this,(e)=>{let t=new Map;for(let[r,i]of e)t.set(r,{...i,required:!1});return t})}required(...e){return dt(this,(t)=>{let r=new Set($n(e)),i=new Map;for(let[n,s]of t)i.set(n,{...s,required:r.has(n)?!0:s.required});return i})}extend(e){if(!(e instanceof gt))throw Error("extend(): argument must be a schema value");if(e.kind==="union")throw Error("extend(): :union schemas have no fields to merge");return dt(this,(t)=>{let r=new Map(t),i=e._normalize().fields;for(let[n,s]of i){if(r.has(n))throw Error("extend(): field '"+n+"' collides between "+(this.name||"schema")+" and "+(e.name||"other"));r.set(n,s)}return r})}toJSONSchema(){let e={defs:new Map,expanding:new Set},t=Ca(this,e);if(t.$schema="https://json-schema.org/draft/2020-12/schema",this.name)t.title=this.name;if(e.defs.size){t.$defs={};for(let[r,i]of e.defs)t.$defs[r]=i}return t}}var Ia={__proto__:null,string:()=>({type:"string"}),text:()=>({type:"string"}),email:()=>({type:"string",format:"email"}),url:()=>({type:"string",format:"uri"}),uuid:()=>({type:"string",format:"uuid"}),phone:()=>({type:"string",pattern:"^[\\d\\s\\-+()]+$"}),zip:()=>({type:"string",pattern:"^\\d{5}(-\\d{4})?$"}),number:()=>({type:"number"}),integer:()=>({type:"integer"}),boolean:()=>({type:"boolean"}),date:()=>({type:"string",format:"date"}),datetime:()=>({type:"string",format:"date-time"}),json:()=>({}),any:()=>({})};function L3(e,t){let r;if(e.typeName==="literal-union"&&e.literals?.length)r=e.literals.length===1?{const:e.literals[0]}:{enum:[...e.literals]};else if(Ia[e.typeName])r=Ia[e.typeName]();else{let n=ee.get(e.typeName);r=n?xa(n,t):{}}let i=e.constraints;if(i&&!e.array){if(r.type==="string"){if(i.min!=null)r.minLength=i.min;if(i.max!=null)r.maxLength=i.max;if(i.regex)r.pattern=i.regex.source}else if(r.type==="number"||r.type==="integer"){if(i.min!=null)r.minimum=i.min;if(i.max!=null)r.maximum=i.max}}if(e.array){if(r={type:"array",items:r},i){if(i.min!=null)r.minItems=i.min;if(i.max!=null)r.maxItems=i.max}}if(i&&i.default!==void 0)r.default=i.default;if(e.coerce)r.description=((r.description?r.description+" ":"")+"Coerced from wire data ("+(e.coercer?"~:"+e.coercer:"~"+e.typeName)+").").trim();if(e.transform)r.description=((r.description?r.description+" ":"")+"Derived via transform; the raw input may use different keys.").trim();return r}function xa(e,t){let r=e.name||"Anon";if(!t.defs.has(r)&&!t.expanding.has(r))t.expanding.add(r),t.defs.set(r,null),t.defs.set(r,Ca(e,t)),t.expanding.delete(r);return{$ref:"#/$defs/"+r}}function Ca(e,t){let r=e._normalize();if(e.kind==="enum")return{enum:[...new Set(r.enumMembers.values())]};if(e.kind==="union"){let a=e._unionPlan();return{oneOf:r.unionMembers.map((l)=>{let c=ee.get(l);return c?xa(c,t):{}}),discriminator:{propertyName:a.disc}}}let i={},n=[];for(let[a,o]of r.fields)if(i[a]=L3(o,t),o.required&&o.constraints?.default===void 0)n.push(a);if(e.kind==="model")Se.jsonSchemaModelColumns(e,i);let s={type:"object",properties:i};if(n.length)s.required=n;if(r.ensures.length)s.description="Refinements (not expressible in JSON Schema): "+r.ensures.map((a)=>a.message).join("; ")+".";return s}function $n(e){let t=[];for(let r of e)if(Array.isArray(r))for(let i of r)t.push(i);else t.push(r);return t}function dt(e,t){if(e.kind==="union")throw Error("schema algebra (.pick/.omit/.partial/.required/.extend) is not supported on :union — derive from a constituent schema instead");if(e.kind==="enum")throw Error("schema algebra is not supported on :enum — an enum has no field set");let r=e.kind==="model"?Se.projectableFields(e):e._normalize().fields,i=t(r),n=[];for(let[,o]of i){let l=[];if(o.required)l.push("!");if(o.optional&&!o.required)l.push("?");n.push({tag:"field",name:o.name,modifiers:l,unique:o.unique===!0,primary:o.primary===!0,attrs:o.attrs||null,typeName:o.typeName,array:o.array,literals:o.literals||null,coerce:o.coerce===!0,coercer:o.coercer||null,constraints:o.constraints,transform:o.transform||null})}let s=(e.name||"Schema")+"Derived",a=new gt({kind:"shape",name:s,entries:n});return a._sourceModel=e._sourceModel||(e.kind==="model"?e:null),a}function Pa(e,t,r,i){for(let n of r){if(n.name!=="mixin"||!n.args||!n.args[0])continue;let s=n.args[0].target;if(!s)continue;if(i.stack.includes(s))throw new v1([{field:"",error:"mixin-cycle",message:"mixin cycle: "+i.stack.concat(s).join(" -> ")}],e.name,e.kind);if(i.seen.has(s))continue;let a=ee.getKind(s,"mixin");if(!a)throw new v1([{field:"",error:"mixin-missing",message:"unknown mixin: "+s}],e.name,e.kind);i.seen.add(s),i.stack.push(s);let o=a._desc.entries.filter((l)=>l.tag==="directive"&&l.name==="mixin").map((l)=>({name:l.name,args:l.args||[]}));Pa(e,t,o,i);for(let l of a._desc.entries){if(l.tag!=="field")continue;if(t.has(l.name))throw new v1([{field:l.name,error:"mixin-collision",message:l.name+" from mixin "+s+" collides with existing field"}],e.name,e.kind);if(e.kind!=="model"&&(l.unique===!0||l.attrs))throw new v1([{field:l.name,error:"mixin-persistence",message:l.name+" from mixin "+s+" carries persistence metadata (@unique/attrs) — :model-only; a :"+e.kind+" cannot include it"}],e.name,e.kind);t.set(l.name,{name:l.name,required:l.modifiers.includes("!"),optional:l.modifiers.includes("?"),unique:l.unique===!0,attrs:l.attrs||null,typeName:l.typeName,literals:l.literals||null,array:l.array===!0,coerce:l.coerce===!0,coercer:l.coercer||null,constraints:l.constraints||null,transform:l.transform||null})}i.stack.pop()}}function M3(e){let t=new gt(e);if(t.name)ee.register(t);return t}if(typeof globalThis<"u")globalThis.__ripSchema=globalThis.__ripSchema||{},globalThis.__ripSchema.SchemaRegistry=ee;var gr={};xe(gr,{__batch:()=>L1,__catchErrors:()=>ue,__computed:()=>H1,__detachRef:()=>Cn,__effect:()=>$1,__handleError:()=>te,__ownerFrame:()=>yt,__popOwner:()=>Y1,__pushOwner:()=>le,__readonly:()=>fe,__setEffectErrorReporter:()=>j3,__setErrorHandler:()=>he,__state:()=>_1,getEffectSignal:()=>ce});var Ma=Symbol.for("rip.runtime.reactive");if(globalThis[Ma])throw Error("two copies of the Rip reactive runtime loaded in one process — states from different copies "+"cannot notify each other (separate dependency graphs, separate effect queues). Run .rip sources through the rip CLI/loader (one shared runtime module per process), or load only one standalone-compiled file per process.");globalThis[Ma]=!0;var N1=null,mr=[],Ue={buckets:[],size:0,low:0,add(e){let t=e.depth,r=this.buckets[t];if(r===void 0)r=this.buckets[t]=new Set;if(r.has(e))return;if(r.add(e),this.size++,tconsole.error(e,t);function j3(e){let t=bt;return bt=e,t}function ja(){try{while(Ue.size>0){let e=Ue.shift();if(!e._disposed)e.run()}}catch(e){throw Ue.clear(),e}}var Fa={valueOf(){return this.value},toString(){return String(this.value)},[Symbol.toPrimitive](e){return e==="string"?this.toString():this.valueOf()}};function _1(e){if(e!=null&&typeof e==="object"&&typeof e.read==="function")return e;let t=e,r=new Set,i=!1,n=!1,s=!1,a=()=>{if(N1&&typeof N1.markDirty==="function"&&N1.dependencies.has(r))throw Error("reactive runtime: computed dependency changed during evaluation — "+"computed functions must derive without writing or touching a dependency")},o=()=>{for(let f of mr)f.writtenSignals.add(r)},l=()=>{i=!0;try{for(let f of r)if(f.markDirty)f.markDirty(!0);else f._hard=!0,Ue.add(f);if(!dr)ja()}finally{i=!1}},c={get value(){if(s)return t;if(N1?.writtenSignals&&mr.some((f)=>f.writtenSignals.has(r)))throw Error("reactive runtime: computed dependency changed during evaluation — "+"computed functions must derive without writing or touching a dependency");if(N1)r.add(N1),N1.dependencies.add(r);return t},set value(f){if(s||n||f===t)return;if(a(),i)return;o(),t=f,l()},read(){return t},touch(){if(s)return;if(a(),i)return;o(),l()},lock(){return n=!0,c},free(){return r.clear(),c},kill(){return s=!0,r.clear(),t},...Fa};return c}var hr=0,La=1,ur=2;function Ba(e){let t=N1;N1=null;try{for(let[r,i]of e.computedDeps)if(r.value,r.version!==i)return!0;return!1}finally{N1=t}}function H1(e){let t,r=ur,i=new Set,n=!1,s=!1,a=!1,o={dependencies:new Set,computedDeps:new Map,writtenSignals:new Set,version:0,markDirty(l){if(s||n)return;if(a)throw Error("reactive runtime: computed dependency changed during evaluation — "+"computed functions must derive without writing or touching a dependency");let c=r;if(l)r=ur;else if(r===hr)r=La;if(c!==hr)return;for(let f of i)if(f.markDirty)f.markDirty(!1);else Ue.add(f)},get value(){if(s)return t;if(N1&&N1!==o)i.add(N1),N1.dependencies.add(i),N1.computedDeps.set(o,-1);if(a)throw Error("reactive runtime: computed value read during its own evaluation — "+"recursive computed reads are not supported");if(r===La&&!n)r=Ba(o)?ur:hr;if(r===ur&&!n){for(let c of o.dependencies)c.delete(o);o.dependencies.clear(),o.computedDeps.clear();let l=N1;o.writtenSignals.clear(),N1=o,mr.push(o),a=!0;try{let c=e();if(c!==t)o.version++;t=c,r=hr}finally{a=!1,mr.pop(),o.writtenSignals.clear(),N1=l}}if(N1&&N1!==o)N1.computedDeps.set(o,o.version);return t},read(){return t},lock(){return n=!0,o.value,o},free(){for(let l of o.dependencies)l.delete(o);return o.dependencies.clear(),o.computedDeps.clear(),i.clear(),o},kill(){s=!0;let l=t;return o.free(),l},...Fa};return o}function $1(e){let t=null,r=0,i=j1,n={depth:i?i.depth+1:0,dependencies:new Set,computedDeps:new Map,_hard:!0,_disposed:!1,signal:null,run(){if(n._disposed)return;let a=n._hard;if(n._hard=!1,!a&&!Ba(n))return;if(t)try{t.abort()}catch{}t=typeof AbortController<"u"?new AbortController:null,n.signal=t?t.signal:null;let o=++r;if(n._cleanup)n._cleanup(),n._cleanup=null;for(let f of n.dependencies)f.delete(n);n.dependencies.clear(),n.computedDeps.clear();let l=N1;N1=n;let c=j1;j1=i;try{let f=e();if(typeof f==="function")n._cleanup=f;else if(f&&typeof f.then==="function")f.then((h)=>{if(o!==r||n._disposed){if(typeof h==="function")try{h()}catch(u){bt("[Rip] superseded async cleanup error:",u)}return}if(typeof h==="function")n._cleanup=h},(h)=>{if(h&&h.name==="AbortError")return;if(o!==r||n._disposed)return;bt("[Rip] async effect error:",h)})}finally{N1=l,j1=c}},dispose(){if(n._disposed)return;if(n._disposed=!0,Ue.delete(n),t)try{t.abort()}catch{}if(n._cleanup)n._cleanup(),n._cleanup=null;for(let a of n.dependencies)a.delete(n);n.dependencies.clear()}};try{n.run()}catch(a){throw n.dispose(),a}let s=()=>n.dispose();if(j1)j1.add(s);return s}function L1(e){if(dr)return e();dr=!0;try{return e()}finally{dr=!1,ja()}}function yt({nested:e=!0}={}){let t=[],r=null,n={depth:j1?j1.depth+1:0,get disposed(){return t===null},get size(){return t===null?0:t.length},add(s){if(t===null)s();else t.push(s)},remove(s){if(t===null)return;let a=t.indexOf(s);if(a>=0)t.splice(a,1)},dispose(){if(t===null)return;let s=t;if(t=null,r!==null){let a=r;r=null,a()}for(let a of s)try{a()}catch(o){bt("[Rip] effect disposer error:",o)}}};if(e&&j1){let s=j1;s.add(n.dispose),r=()=>s.remove(n.dispose)}return n}function le(e){let t={frame:e,prev:j1};return j1=e,t}function Y1(e){if(!e||typeof e!=="object"||!("frame"in e))throw Error("reactive runtime: __popOwner takes the token the matching __pushOwner returned");if(j1!==e.frame)throw Error("reactive runtime: __popOwner out of order — the frame being popped is not the current owner "+"(an inner push was not popped, or this token was already popped)");j1=e.prev}function ce(){return N1?N1.signal:null}function fe(e){return Object.freeze({value:e})}function Cn(e,t){if(e&&typeof e.read==="function"&&e.read()===t)e.value=null}var pr=null;function he(e){let t=pr;return pr=e,t}function te(e){if(pr)try{pr(e)}catch(t){console.error("Error in error handler:",t),console.error("Original error:",e)}else throw e}function ue(e){return function(...t){try{return e.apply(this,t)}catch(r){te(r)}}}var Et={};xe(Et,{__Component:()=>ro,__claimGateConstructor:()=>Un,__clsx:()=>Er,__detach:()=>Rr,__detachRef:()=>Cn,__gateBind:()=>rc,__handleComponentError:()=>Mn,__hmrClassify:()=>Rt,__hmrEmit:()=>ke,__hmrEntries:()=>jn,__hmrEvents:()=>W3,__hmrLookup:()=>F3,__hmrMigrateDiff:()=>qa,__hmrMigrateRemount:()=>Y3,__hmrPatch:()=>Bn,__hmrPreserveState:()=>kr,__hmrRegisterDefinition:()=>St,__hmrRegistry:()=>Ee,__hmrRestoreUi:()=>Tr,__hmrSnapshotUi:()=>Fn,__lis:()=>eo,__ownerFrame:()=>yt,__popComponent:()=>Re,__popOwner:()=>Y1,__pushComponent:()=>Ve,__pushOwner:()=>le,__reconcile:()=>J3,__style:()=>to,__transition:()=>Q3,getContext:()=>q3,hasContext:()=>X3,setContext:()=>z3});var Ka=Symbol.for("rip.runtime.components");if(globalThis[Ka])throw Error("two copies of the Rip component runtime loaded in one process — components from different "+"copies cannot see each other (separate component stacks: context, parent chains, and error boundaries silently break across copies). Run .rip sources through the rip CLI/loader (one shared runtime module per process), or load only one standalone-compiled file per process.");globalThis[Ka]=!0;var re=null,Ya={},yr=null,za=new WeakMap,Ua=!1,Ee=new Map;function Pn(e,t){if(e===t)return!0;if(!Array.isArray(e)||!Array.isArray(t)||e.length!==t.length)return!1;for(let r=0;rn.has(c)),o=i.filter((c)=>!n.has(c)),l=r.filter((c)=>!s.has(c));return{kept:a,added:o,removed:l}}var Sr=[],V3=64;function ke(e,t={}){let r={type:e,at:Date.now(),...t};if(Sr.push(r),Sr.length>V3)Sr.shift();if(typeof window<"u"&&typeof window.dispatchEvent==="function"&&typeof CustomEvent==="function")try{window.dispatchEvent(new CustomEvent("rip:hmr",{detail:r}))}catch{}return r}function W3(){return Sr.slice()}function kr(e,t){let r=e?.constructor?.__hmrSig,i=t?.constructor?.__hmrSig,n=r?.state,s=i?.state,a=qa(r,i);if(!Array.isArray(n)||!Array.isArray(s))return ke("migrate",{id:t?.constructor?.__hmrId??null,...a,copied:[]}),a;let o=new Set(n),l=[];for(let f of s){if(!o.has(f))continue;let h=e[f],u=t[f];if(h!=null&&u!=null&&typeof h==="object"&&typeof u==="object"&&"value"in h&&"value"in u)u.value=h.value,l.push(f)}let c=t?.constructor?.__hmrId??e?.constructor?.__hmrId??null;return ke("migrate",{id:c,...a,copied:l}),{...a,copied:l}}var Xa=["name","type","placeholder"];function Ja(e){let t=(i)=>typeof e[i]==="string"&&e[i]?e[i]:null,r={tag:e.tagName??null};for(let i of Xa)r[i]=t(i);return r.label=typeof e.getAttribute==="function"?e.getAttribute("aria-label"):null,r.value=typeof e.value==="string"?e.value:null,r}function Ln(e,t,r){if(!e||!t)return!1;let i=Ja(e);for(let n of["tag",...Xa,"label"])if(i[n]!==t[n])return!1;return!r||t.value==null||i.value===t.value}function H3(e){let t=Ja(e),r=typeof e.id==="string"&&e.id?e.id:null,i=[],n=e;while(n&&n!==document.body){let s=n.parentElement??n.parentNode??null;if(!s||!s.children)return{identity:t,id:r,path:null};i.unshift(Array.prototype.indexOf.call(s.children,n)),n=s}return{identity:t,id:r,path:n===document.body?i:null}}function G3(e){let t=e.active;if(t&&t.isConnected!==!1&&typeof document.contains==="function"&&document.contains(t))return t;let r=e.locator;if(!r)return null;if(r.id&&typeof document.getElementById==="function"){let o=document.getElementById(r.id);if(Ln(o,r.identity,!1))return o}if(!Array.isArray(r.path)||r.path.length===0)return null;let i=document.body;for(let o of r.path.slice(0,-1))if(i=i?.children?.[o]??null,!i)return null;let n=Array.from(i.children??[]),s=n[r.path[r.path.length-1]]??null;if(Ln(s,r.identity,!0))return s;let a=n.filter((o)=>Ln(o,r.identity,!0));return a.length===1?a[0]:null}function Fn(){if(typeof document>"u")return null;let e=document.activeElement,t=e&&e!==document.body&&e!==document.documentElement?e:null,r=null;if(t&&typeof t.selectionStart==="number")r={start:t.selectionStart,end:t.selectionEnd,direction:t.selectionDirection};return{active:t,locator:t?H3(t):null,selection:r,scrollX:typeof window<"u"?window.scrollX:0,scrollY:typeof window<"u"?window.scrollY:0}}function Tr(e){if(!e||typeof document>"u")return;if(typeof window<"u")window.scrollTo(e.scrollX??0,e.scrollY??0);let t=G3(e);if(!t||typeof t.focus!=="function")return;try{if(t.focus({preventScroll:!0}),e.selection&&typeof t.setSelectionRange==="function")t.setSelectionRange(e.selection.start,e.selection.end,e.selection.direction??"none")}catch{}}function Za(e,t){let r=e.constructor?.__hmrId;if(typeof r==="string"&&r)Ee.get(r)?.instances.delete(e);Object.setPrototypeOf(e,t.prototype),Object.defineProperty(e,"constructor",{value:t,writable:!0,configurable:!0}),St(t),Ee.get(t.__hmrId)?.instances.add(e)}function Bn(e,t){if(!e||!t)throw Error("__hmrPatch requires a living instance and a replacement constructor");let r=e.constructor?.__hmrId;return Za(e,t),e._hmrRerender(),ke("patch",{id:t.__hmrId??r??null}),e}function Qa(e){return Object.keys(e).sort().join(",")}function K3(e,t){let r=re?._hmrOrphans;if(!r||r.length===0)return null;let i=e.__hmrId;if(typeof i!=="string")return null;let n=Qa(t),s=null;for(let a of r){if(a._state!=="mounted"||a.constructor.__hmrId!==i||a._hmrPropKeys!==n)continue;if(s)return null;s=a}if(!s||Rt(s.constructor,e)!=="patch")return null;if(r.splice(r.indexOf(s),1),s.constructor!==e)Za(s,e);s._hmrRelease();try{s._hmrApplyProps(t)}catch(a){throw s._teardown({state:"failed",hooks:!1,removeDOM:!0}),a}if(!s._hmrRebind())return null;return s}function Y3(e,t,r={}){let i=new t(r);return kr(e,i),i}function Un(){if(Ua)throw Error("[Rip] the render-gate construction capability is already claimed");return Ua=!0,(e,t)=>{let r=yr;yr={brand:Ya,component:e,gates:t.gates,parent:t.parent??null,stash:t.stash??null,router:t.router??null,used:!1};try{return new e({})}finally{yr=r}}}function Rr(e){if(!e||e.nodeType===11)return;if(typeof e.remove==="function")e.remove();else if(e.parentNode)e.parentNode.removeChild(e)}function Ve(e){let t=re;if(e&&e._parent==null&&t&&t!==e)e._parent=t;return re=e,t}function Re(e){re=e}function z3(e,t){if(!re)throw Error("setContext must be called during component initialization");if(!re._context)re._context=new Map;re._context.set(e,t)}function q3(e){let t=re,r=new Set;while(t&&!r.has(t)){if(r.add(t),t._context&&t._context.has(e))return t._context.get(e);t=t._parent}throw Error(`getContext: no provider for context ${JSON.stringify(e)} in this component's parent chain — `+"offer it from an ancestor, or probe with hasContext(key) where absence is legal")}function X3(e){let t=re,r=new Set;while(t&&!r.has(t)){if(r.add(t),t._context&&t._context.has(e))return!0;t=t._parent}return!1}function Er(...e){let t="";for(let r of e){if(!r)continue;if(typeof r==="string")t&&(t+=" "),t+=r;else if(typeof r==="object"){if(Array.isArray(r)){let i=Er(...r);i&&(t&&(t+=" "),t+=i)}else for(let i in r)if(r[i])t&&(t+=" "),t+=i}}return t}function eo(e){let t=e.length;if(t===0)return[];let r=[],i=[],n=Array(t).fill(-1);for(let o=0;o>1;if(r[f]0)n[o]=i[l-1]}let s=[],a=i[r.length-1];for(let o=r.length-1;o>=0;o--)s.push(a),a=n[a];return s.reverse(),s}function J3(e,t,r,i,n,s,...a){let o=e.parentNode;if(!o)return;let l=t.keys,c=t.items||[],f=t.blocks,h=l.length,u=r.length,d=Array(u),S=s!=null,g=S?r.map((y,m)=>s(y,m)):r;if(S){let y=new Set;for(let m of g){if(y.has(m))throw Error(`__reconcile: duplicate key ${JSON.stringify(String(m))} — keyed rows need unique keys `+"(the key function must be injective over the items)");y.add(m)}}if(h===0){if(u>0){let y=document.createDocumentFragment();for(let m=0;m=p&&_>=p&&l[b]===g[_]){let y=f[b];if(!y._s)y.p(i,r[_],_,...a);d[_]=y,b--,_--}if(p>_)for(let y=p;y<=b;y++)f[y].d(!0);else if(p>b){let y=_+1=p;x--){let I=d[x];if(!O.has(x-p))I.m(o,A);A=I._first}}t.keys=S?g:r.slice(),t.items=r.slice(),t.blocks=d}var Va=!1;function Z3(){if(Va)return;Va=!0;let e=document.createElement("style");e.textContent=[".fade-enter-active,.fade-leave-active{transition:opacity .2s ease}",".fade-enter-from,.fade-leave-to{opacity:0}",".slide-enter-active,.slide-leave-active{transition:opacity .2s ease,transform .2s ease}",".slide-enter-from{opacity:0;transform:translateY(-8px)}",".slide-leave-to{opacity:0;transform:translateY(8px)}",".scale-enter-active,.scale-leave-active{transition:opacity .2s ease,transform .2s ease}",".scale-enter-from,.scale-leave-to{opacity:0;transform:scale(.95)}",".blur-enter-active,.blur-leave-active{transition:opacity .2s ease,filter .2s ease}",".blur-enter-from,.blur-leave-to{opacity:0;filter:blur(4px)}",".fly-enter-active,.fly-leave-active{transition:opacity .2s ease,transform .2s ease}",".fly-enter-from{opacity:0;transform:translateY(-20px)}",".fly-leave-to{opacity:0;transform:translateY(20px)}"].join(""),document.head.appendChild(e)}function Q3(e,t,r,i){Z3();let n=e.classList,s=t+"-"+r+"-from",a=t+"-"+r+"-active",o=t+"-"+r+"-to",l=!1,c=null;n.add(s,a),requestAnimationFrame(()=>{requestAnimationFrame(()=>{n.remove(s),n.add(o);let f=(u)=>{if(l||u&&u.target!==e)return;if(l=!0,clearTimeout(c),e.removeEventListener("transitionend",f),e.removeEventListener("transitioncancel",f),n.remove(a,o),i)i()};e.addEventListener("transitionend",f),e.addEventListener("transitioncancel",f);let h=0;try{let u=getComputedStyle(e),d=(S)=>Math.max(0,...String(S).split(",").map((g)=>(parseFloat(g)||0)*(/ms\s*$/.test(g.trim())?1:1000)));h=d(u.transitionDuration)+d(u.transitionDelay)}catch{}c=setTimeout(()=>f(),h+50)})})}function ec(e){let t=e!=null&&typeof e==="object"?e.name:null;if(t==="GateFailure"||t==="ComponentFailure")return e;let r=Error(e!=null&&e.message!==void 0?e.message:String(e));r.name="ComponentFailure";let i=e!=null?e.status??e.response?.status:void 0;if(i!==void 0)r.status=i;return r.error=e,r}function Mn(e,t){let r=ec(e),i=t,n=new Set;while(i&&!n.has(i)){if(n.add(i),i.onError){let s=Ve(i),a=le(i._frame);try{i.onError(r,t);return}catch(o){}finally{Y1(a),Re(s)}}i=i._parent}throw e}var Wa=new WeakSet;function tc(e,t){if(Wa.has(e))return;let r=e.__props??[];if(!Array.isArray(r))throw Error(`${e.name||"component"}: static __props must be an array of declared prop names`);for(let i of r){if(typeof i!=="string"||i.length===0)throw Error(`${e.name||"component"}: static __props entries must be non-empty strings`);if(i.startsWith("_"))throw Error(`${e.name||"component"}: declared prop '${i}' collides with component internals — `+"underscore-prefixed names are reserved for the runtime");if(i in t)throw Error(`${e.name||"component"}: declared prop '${i}' collides with a component member (a method or lifecycle slot already answers '${i}')`)}Wa.add(e)}function rc(e,t){let i=za.get(e)?.gates?.[t];if(!i?.cell)throw Error(`[Rip] render gate ${t} has no renderer-resolved source binding — `+"gated components may only be constructed by rip/app createRenderer()");let n=i.value,s=!0;return H1(()=>{if(s)return s=!1,i.cell.read(),n;let a=i.cell.read();for(let o of i.tail){if(a==null)break;a=a[o]}if(a!=null)n=a;return n})}var br=new WeakMap;function Ha(e,t,r){if(t.startsWith("--")&&typeof e.setProperty==="function")if(r==null||r==="")e.removeProperty(t);else e.setProperty(t,String(r));else e[t]=r}function to(e,t){let r=br.get(e);if(t==null){e.removeAttribute("style"),br.delete(e);return}if(typeof t!=="object"){e.setAttribute("style",String(t)),br.delete(e);return}if(r){for(let i of r)if(!(i in t))Ha(e.style,i,"")}br.set(e,Object.keys(t));for(let i of Object.keys(t))Ha(e.style,i,t[i])}function Ga(e,t){let r=e.__props??[],i=e.__extends??null,n=null;for(let s of Object.keys(t)){if(s==="children")continue;if(s.startsWith("__bind_")&&s.endsWith("__")){let a=s.slice(7,-2);if(r.includes(a))continue;throw Error(`${e.name||"component"}: cannot bind unknown prop '${a}' — declared `+`props are [${r.join(", ")}]`)}if(r.includes(s))continue;if(i!==null){(n??={})[s]=t[s];continue}throw Error(`${e.name||"component"}: unknown prop '${s}' — declared props are `+`[${r.join(", ")}]`)}return n}class ro{constructor(e={}){let t=K3(this.constructor,e);if(t)return t;this._state="new",tc(this.constructor,this);let r=this.constructor.__gates,i=yr,n=i?.brand===Ya&&i.component===this.constructor&&i.used!==!0;if(n)i.used=!0;if(r?.length&&!n)throw Error("[Rip] component declares render gates (<~) and cannot be constructed directly or as an embedded child; render gates are honored only by rip/app createRenderer()");if(n){if(za.set(this,i),i.parent)this._parent=i.parent;if(i.stash!=null)this.stash=i.stash;if(i.router!=null)this.router=i.router,Object.defineProperty(this,"params",{get:()=>i.router.params,configurable:!0}),Object.defineProperty(this,"query",{get:()=>i.router.query,configurable:!0})}if(this.stash==null&&globalThis.__ripStash!=null)this.stash=globalThis.__ripStash;if(this.router==null&&globalThis.__ripRouter!=null)this.router=globalThis.__ripRouter;let s=Ga(this.constructor,e);if("children"in e)this.children=e.children;if(this.constructor.__hmrId)this._hmrPropKeys=Qa(e);if(this.constructor.__extends!=null)this._rest=s??{},this.rest=_1(this._rest);this._frame=yt({nested:!1});let a=Ve(this),o=le(this._frame);try{this._init(e)}catch(l){Y1(o),Re(a),this._teardown({state:"failed",hooks:!1,removeDOM:!0}),this._initFailed=!0,Mn(l,this);return}if(Y1(o),Re(a),this.constructor.__hmrId)B3(this)}_init(e){}_updateProp(e,t){if(this._state==="failed"||this._state==="unmounted")return;let r=this.constructor.__props??[];if(!r.includes(e)){if(this.constructor.__extends){this._setRestProp(e,t);return}throw Error(`${this.constructor.name||"component"}: cannot update unknown prop '${e}' — declared `+`props are [${r.join(", ")}]`)}let i=this[e];if(i&&typeof i==="object"&&"value"in i){i.value=t;return}throw Error(`${this.constructor.name||"component"}: prop '${e}' is non-reactive — parent updates `+"cannot reach it (declare it with ':=' to receive updates)")}_setRestProp(e,t){if(e.startsWith("__bind_"))return;if(this._state==="failed"||this._state==="unmounted")return;if(this._rest||(this._rest={}),t==null)delete this._rest[e];else this._rest[e]=t;this.rest.touch();let r=le(this._frame);try{this._applyInheritedProp(this._inheritedEl,e,t)}finally{Y1(r)}}_applyRestToInheritedEl(){if(this._state==="failed"||this._state==="unmounted")return;if(!this._inheritedEl||!this._rest)return;for(let e in this._rest)this._applyInheritedProp(this._inheritedEl,e,this._rest[e])}_applyInheritedProp(e,t,r){if(this._state==="failed"||this._state==="unmounted")return;if(!e||t==="key"||t==="ref"||t==="children"||t.startsWith("__bind_"))return;let i=this._restWriters?.[t];if(i){if(i(),this._frame)this._frame.remove(i);delete this._restWriters[t]}if(r!=null&&typeof r==="object"&&typeof r.read==="function"){(this._restWriters??={})[t]=$1(()=>{this._applyPlainInheritedProp(e,t,r.value)});return}this._applyPlainInheritedProp(e,t,r)}_applyPlainInheritedProp(e,t,r){if(t[0]==="@"){let i=t.slice(1).split(".")[0];this._restHandlers||(this._restHandlers={});let n=this._restHandlers[t];if(n)e.removeEventListener(i,n);if(typeof r==="function"){let s=(a)=>L1(()=>r(a));this._restHandlers[t]=s,e.addEventListener(i,s)}else delete this._restHandlers[t];return}if(t==="class"||t==="className"){if(e instanceof SVGElement)e.setAttribute("class",Er(r));else e.className=Er(r);return}if(t==="style"){to(e,r);return}if(t==="innerHTML"||t==="textContent"||t==="innerText"){e[t]=r??"";return}if(t in e&&!t.includes("-")){e[t]=r;return}if(r==null||r===!1){e.removeAttribute(t);return}if(r===!0){e.setAttribute(t,"");return}e.setAttribute(t,r)}_beginMount(){if(this._state==="new"){this._state="mounting";return}let e=this.constructor.name||"component";if(this._state==="mounting")throw Error(`${e}: cannot mount an instance whose mount is already in progress`);if(this._state==="mounted")throw Error(`${e}: cannot mount an already-mounted instance — construct a new instance for another target`);if(this._state==="failed")throw Error(`${e}: cannot mount a failed instance — its mount rolled back; construct a new instance`);throw Error(`${e}: cannot mount an unmounted instance — its effects were disposed on unmount; construct a new instance`)}_mountCreate(){this._beginMount();let e=Ve(this),t=le(this._frame),r=null,i=!1;try{this._root=this._create()}catch(n){r=n,i=!0}finally{Y1(t),Re(e)}if(i)return this._failMount(r),!1;return!0}_mountSetup(e=null){if(this._state!=="mounting")return this._nodes?.[0]??this._root;let t=Ve(this),r=le(this._frame),i=null,n=!1;try{if(e){let s=this._nodes?.[0]??this._root;if(s?.parentNode)s.parentNode.insertBefore(e,s)}if(this.beforeMount)this.beforeMount();if(this._setup)this._setup();if(this.mounted)this.mounted();this._state="mounted",Rr(e),this._hmrDrainOrphans((s,a)=>console.error(`[Rip] ${s} error:`,a))}catch(s){i=s,n=!0}finally{Y1(r),Re(t)}if(n)return this._failMount(i),e;return this._nodes?.[0]??this._root}_failMount(e){this._teardown({state:"failed",hooks:!1,removeDOM:!0}),Mn(e,this)}_dispose(e,t){if(this._children){for(let r of this._children)try{t(r)}catch(i){e("child teardown",i)}this._children=null}try{this._frame?.dispose()}catch(r){e("owner disposal",r)}if(this._restWriters){for(let r of Object.values(this._restWriters))try{r()}catch(i){e("rest writer cleanup",i)}this._restWriters=null}if(this._restHandlers){if(this._inheritedEl)for(let[r,i]of Object.entries(this._restHandlers))try{this._inheritedEl.removeEventListener(r.slice(1).split(".")[0],i)}catch(n){e("rest handler cleanup",n)}this._restHandlers=null}if(this._refCleanups){let r=this._refCleanups;this._refCleanups=null;try{L1(()=>{for(let i of r)try{i()}catch(n){e("ref cleanup",n)}})}catch(i){e("ref cleanup batch flush",i)}}this._children=null,this._refCleanups=null,this._restWriters=null,this._restHandlers=null}_detachDOM(e,t){if(t)if(this._nodes)for(let r of this._nodes)try{Rr(r)}catch(i){e("DOM detach",i)}else try{Rr(this._root)}catch(r){e("DOM detach",r)}this._root=null,this._nodes=null,this._inheritedEl=null}_teardown({state:e,hooks:t,removeDOM:r}){if(this._state==="failed"||this._state==="unmounted")return;if(this.constructor.__hmrId)U3(this);this._state=e;let i=(n,s)=>console.error(`[Rip] ${n} error:`,s);if(this._hmrDrainOrphans(i),t)try{if(this.beforeUnmount)this.beforeUnmount()}catch(n){i("beforeUnmount",n)}if(this._dispose(i,(n)=>{if(t)n.unmount({removeDOM:r});else n._teardown({state:n._state==="mounted"?"unmounted":"failed",hooks:!1,removeDOM:!0})}),t)try{if(this.unmounted)this.unmounted()}catch(n){i("unmounted",n)}this._detachDOM(i,r),this._target=null}_hmrRelease(){let e=(t,r)=>console.error(`[Rip] ${t} error:`,r);try{if(this.beforeUnmount)this.beforeUnmount()}catch(t){e("beforeUnmount",t)}this._hmrOrphans=[],this._hmrReleasing=!0;try{this._dispose(e,(t)=>t.unmount({removeDOM:!0}))}finally{this._hmrReleasing=!1}this._detachDOM(e,!0),this._frame=yt({nested:!1}),this._state="new"}_hmrRebind(){let e=(i,n)=>console.error(`[Rip] ${i} error:`,n),t=Ve(this),r=le(this._frame);try{if(typeof this._hmrRefreshComputeds==="function")this._hmrRefreshComputeds();if(typeof this._hmrBindEffects==="function")this._hmrBindEffects()}catch(i){return Y1(r),Re(t),e("hmr rebind",i),this._failMount(i),!1}return Y1(r),Re(t),!0}_hmrApplyProps(e){let t=Ga(this.constructor,e);if("children"in e)this.children=e.children;for(let r of this.constructor.__props??[]){let i=`__bind_${r}__`;if(i in e){this[r]=e[i];continue}if(!(r in e))continue;let n=e[r];if(n!=null&&typeof n==="object"&&typeof n.read==="function")this[r]=n;else this._updateProp(r,n)}if(this.constructor.__extends!=null)this._rest=t??{},this.rest.value=this._rest}_hmrDrainOrphans(e){let t=this._hmrOrphans;if(!t)return;this._hmrOrphans=null;for(let r of t)try{r.unmount({removeDOM:!0})}catch(i){e("orphan teardown",i)}}_hmrRerender(){let e=this.constructor.name||"component";if(this._state!=="mounted")throw Error(`${e}: _hmrRerender requires a mounted instance`);let t=this._target,r=this._nodes,n=(r?.[0]??this._root)?.parentNode??null,s=r?.length?r[r.length-1].nextSibling:this._root?this._root.nextSibling:null;if(this._hmrRelease(),!this._hmrRebind())return this;if(typeof this._create!=="function")return this._state="mounted",this._hmrDrainOrphans((a,o)=>console.error(`[Rip] ${a} error:`,o)),this;if(!this._mountCreate())return this;try{let a=n&&n.nodeType!==11?n:null;if(a&&a.isConnected===!1)a=null;if(!a&&typeof t==="string"&&typeof document<"u")a=document.querySelector(t);else if(!a&&t&&t.nodeType!==11&&t.isConnected!==!1)a=t;else if(!a&&typeof document<"u")a=document.querySelector("#content")||document.querySelector("#app");if(a){let o=s&&(typeof a.contains!=="function"||a.contains(s))?s:null;if(this._nodes)for(let l of this._nodes)a.insertBefore(l,o);else if(this._root)a.insertBefore(this._root,o);this._target=a.nodeType===11?null:a}}catch(a){return this._failMount(a),this}return this._mountSetup(),this}mount(e){if(!this._mountCreate())return this;try{if(typeof e==="string")e=document.querySelector(e);if(this._target=e,this._root)e.appendChild(this._root)}catch(t){return this._failMount(t),this}return this._mountSetup(),this}unmount({removeDOM:e=!0}={}){if(this._state==="failed"||this._state==="unmounted")return;if(this._state==="mounted"&&this._parent?._hmrReleasing){this._parent._hmrOrphans.push(this);return}if(this._state==="mounting")throw Error(`${this.constructor.name||"component"}: cannot unmount while mounting`);this._teardown({state:"unmounted",hooks:this._state==="mounted",removeDOM:e})}emit(e,t){if(this._state!=="mounted"||!this._root)throw Error(`${this.constructor.name||"component"}: emit('${e}') outside the mounted window — `+"emit dispatches on the live root; call after mount and before unmount");(this._nodes?.[0]??this._root).dispatchEvent(new CustomEvent(e,{detail:t,bubbles:!0}))}static mount(e="body"){return new this().mount(e)}}var Hr={};xe(Hr,{ariaCurrent:()=>Cr,browserAdapter:()=>$r,buildRoutes:()=>Ot,check:()=>Wr,connectFeed:()=>Ur,createApply:()=>Vr,createComponents:()=>vr,createMutation:()=>uo,createRenderer:()=>Dr,createRouter:()=>Ir,createStash:()=>Nr,createWorkspace:()=>Fr,currentRouter:()=>Rc,currentStash:()=>Sc,debounce:()=>mo,delay:()=>Ar,hold:()=>go,interceptClicks:()=>Pr,launch:()=>Mr,ownsAnchor:()=>$t,parseQuery:()=>ze,persistStash:()=>xr,preloadLinks:()=>Lr,rash:()=>Dt,source:()=>so,throttle:()=>po,unwrapStash:()=>Te,validatePrepared:()=>ai});var wr,Vn,no,io=Symbol.for("rip.source"),Wn=Symbol.for("rip.source.family"),nc=64,ic=30000,sc=/^(\d+(?:\.\d+)?(?:[eE][+-]?\d+)?)\s*(s|sec|second|seconds|m|min|minute|minutes|h|hr|hour|hours|d|day|days|w|week|weeks|y|year|years)$/;function D1(e){return e!=null&&(typeof e==="object"||typeof e==="function")&&(e[io]===!0||e[Wn]===!0)}function de(e){return e!=null&&typeof e==="function"&&e[Wn]===!0}no=function(e){let t,r;if(e==null)return 0;if(typeof e==="number"){if(!(Number.isFinite(e)&&e>=0))throw TypeError('Rip App: source staleTime must be a non-negative finite number, a duration string, or "forever"');return e}if(typeof e==="string"){if(e==="forever")return 1/0;if(r=e.match(sc),r)return t=parseFloat(r[1]),(()=>{switch(r[2][0]){case"s":return t*1000;case"m":return t*60000;case"h":return t*3600000;case"d":return t*86400000;case"w":return t*604800000;case"y":return t*31536000000}})()}throw TypeError('Rip App: source staleTime must be a non-negative number, a duration such as "5 min", or "forever"')};wr=function(e,t,r=null){let i=_1(null),n=_1(!1),s=_1(null),a=0,o=null,l=null,c=!1,f=!1,h=!1,u=0,d=0,S=async function(b=!1,_=!1){let y,m;o?.abort(),o=typeof AbortController<"u"?new AbortController:null;let k=++a;if(!b)n.value=!0;let O=h;return await(async()=>{try{if(y=e(o?.signal),!(y!=null&&typeof y.then==="function"))throw TypeError("Rip App: source fetch must return a Promise");if(m=await y,k!==a)return m;return s.value=null,i.value=m,h=!0,u=Date.now(),d=_&&!f?u+ic:0,m}catch(A){if(k!==a)return;if(A?.name==="AbortError")return;if(s.value=A,!O)throw h=!1,u=0,A;return}finally{if(k===a)n.value=!1,l=null,c=!1,f=!1,r?.()}})()},g=function(b=!1,_=!1){let y=S(b,_);return l=y,c=_,f=!1,y},p=function(){return t===1/0||Date.now()-unc){o=!1;for(let[l,c]of r){if(l===a)continue;if(c.loading)continue;r.delete(l),c.reset(),o=!0;break}if(!o)break}return},n=function(a){if(a==null)throw TypeError("Rip App: keyed source requires a key");let o=ac(a),l=r.get(o);if(l)return r.delete(o),r.set(o,l),l;return l=wr(function(c){return e(a,c)},t,i),r.set(o,l),i(o),l},s=function(a){return n(a).read()};return s[Wn]=!0,s.cellFor=n,s.reset=function(){let a=Array.from(r.values());r.clear();for(let o of a)o.reset();return},s};function so(e){if(!(e!=null&&typeof e==="object"&&!Array.isArray(e)))throw TypeError("Rip App: source expects an options object");if(typeof e.fetch!=="function")throw TypeError("Rip App: source options require a fetch function");let t=no(e.staleTime);if(Object.prototype.hasOwnProperty.call(e,"kind")){if(!(e.kind==="singleton"||e.kind==="keyed"))throw TypeError("Rip App: source kind must be 'singleton' or 'keyed'");if(e.kind==="singleton"){if(e.fetch.length>1)throw TypeError("Rip App: singleton source fetch accepts at most one AbortSignal parameter");return wr(e.fetch,t)}if(e.fetch.length<1||e.fetch.length>2)throw TypeError("Rip App: keyed source fetch requires a key parameter and accepts one optional AbortSignal parameter");return Vn(e.fetch,t)}if(e.fetch.length>1)throw TypeError("Rip App: inferred source fetch accepts no parameters for a singleton or one key parameter for a keyed family");return e.fetch.length===1?Vn(e.fetch,t):wr(e.fetch,t)}var zn,_t,Hn,Tt,I1=Symbol("rip.app.stash.raw"),We=Symbol("rip.app.stash.signals"),oc=Symbol("rip.app.stash.keys"),lo=Symbol("rip.app.stash.defaults"),lc=Symbol.for("rip.app.stash.purge"),co=new WeakMap,cc=0,qn=_1(0),Gn=function(){return qn.value++},fo=function(e,t){let r=e[We];if(!r)r=new Map,Object.defineProperty(e,We,{value:r});let i=r.get(t);if(!i)i=_1(e[t]),r.set(t,i);return i},wt=function(e){return fo(e,oc)},Kn=function(e){wt(e).value=++cc;return};_t=function(e){if(!(e!=null&&typeof e==="object"))return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null||Array.isArray(e)};var ao=function(e){if(!_t(e))return e;let t=co.get(e);if(t)return t;return zn(e)},He=function(e,t){let r=e?.[I1];if(!r)return e[t];let i=r[t];if(D1(i)){if(de(i))return i;return ao(i.read())}return ao(fo(r,t).value)},Yn=function(e,t,r){let i,n,s,a,o=e?.[I1];if(!o)return e[t]=r,r;if(Array.isArray(o)&&t==="length"){if(a=o.length,s=+r,o.length=s,s!==a){if(o[We]){for(let h=Math.min(a,s),u=Math.max(a,s);h0))throw TypeError("Rip App: stash path must be a non-empty string");let s=[],a=0;if(e[0]!=="["){n=a;while(a=e.length||a===n)throw TypeError(`Rip App: malformed stash path '${e}'`);if(r=e.slice(n,a),a++,e[a]!=="]")throw TypeError(`Rip App: malformed stash path '${e}'`);a++,s.push(r)}else{n=a;while(a{let i=[];for(let n in r){if(!Object.hasOwn(r,n))continue;let s=r[n];i.push(Hn(s,t))}return i})()};Tt=function(e){if(!_t(e))return e;let t=e[I1]?e[I1]:e;if(Array.isArray(t))return(()=>{let i=[];for(let n of t)if(!D1(n))i.push(Tt(n));return i})();let r={};for(let i in t){if(!Object.hasOwn(t,i))continue;let n=t[i];if(D1(n))continue;r[i]=Tt(n)}return r};function ho(e){let t=e?.[I1]?e[I1]:e;if(!(t!=null&&typeof t==="object"))return;Object.defineProperty(t,lo,{value:Tt(t),configurable:!0});return}function _r(e){if(D1(e))return e;if(!_t(e))return e;let t=e[I1]?e[I1]:e;if(Array.isArray(t))return(()=>{let i=[];for(let n of t)i.push(_r(n));return i})();let r={};for(let i in t){if(!Object.hasOwn(t,i))continue;let n=t[i];Object.defineProperty(r,i,{value:_r(n),writable:!0,enumerable:!0,configurable:!0})}return r}function Ye(e,t){let r,i,n;if(!(e!=null&&typeof e==="object"))return;if(!(t!=null&&typeof t==="object"))return;let s=e[I1]?e[I1]:e;for(let a in t){if(!Object.hasOwn(t,a))continue;let o=t[a];if(r=Object.prototype.hasOwnProperty.call(s,a)?s[a]:void 0,D1(r))continue;if(Array.isArray(r)&&r.some(function(l){return D1(l)}))continue;if(i=r!=null&&typeof r==="object"&&!Array.isArray(r),n=o!=null&&typeof o==="object"&&!Array.isArray(o),i&&n)Ye(e[a],o);else e[a]=Tt(o)}return}var uc=function(e,t){let r,i=t[lo];if(!i)return;r=function(n,s,a){let o;for(let l in s){if(!Object.hasOwn(s,l))continue;if(o=s[l],D1(o))continue;if(!(a!=null&&Object.prototype.hasOwnProperty.call(a,l))){delete n[l];continue}if(o!=null&&typeof o==="object"&&!Array.isArray(o))r(n[l],o,a[l])}return},r(e,t,i),Ye(e,i);return},dc={inc:!0,dec:!0,flip:!0,join:!0,keys:!0,has:!0,del:!0,peek:!0,reset:!0,source:!0},mc=function(e,t,r){if(r==="inc")return function(i,n=1){let s=($e(e,i)??0)+n;return kt(e,i,s),s};if(r==="dec")return function(i,n=1){let s=($e(e,i)??0)-n;return kt(e,i,s),s};if(r==="flip")return function(i){let n=!($e(e,i)??!1);return kt(e,i,n),n};if(r==="join")return function(i,n){if(!(n!=null&&typeof n==="object"&&!Array.isArray(n)))throw TypeError("Rip App: join expects a plain object");L1(function(){let s=$e(e,i);if(!(s!=null&&typeof s==="object"&&!Array.isArray(s)))kt(e,i,{}),s=$e(e,i);return(()=>{let a=[];for(let o in n){if(!Object.hasOwn(n,o))continue;let l=n[o];a.push(s[o]=l)}return a})()});return};if(r==="keys")return function(i){let n=i!=null?$e(e,i):e;if(!(n!=null&&typeof n==="object"))return[];let s=n[I1]?n[I1]:n;return wt(s).value,Object.keys(s)};if(r==="has")return function(i){let n,s,a=Ge(i);if(!(a.length>0))return!1;let o=e;for(let l=0;l0))return;let a=e;for(let o=0;o{try{return i.value=!0,await t.onSuccess?.(l),l}finally{if(c===s)r.value=!1}})()};return Object.defineProperty(a,"pending",{get(){return r.value}}),Object.defineProperty(a,"succeeded",{get(){return i.value}}),Object.defineProperty(a,"error",{get(){return n.value}}),a}var Nt,At;Nt=function(e){return typeof e==="function"?e:function(){return e.value}};At=function(e,t,r){let i={read(){return e.read()}},n={get(){return e.value}};if(typeof t!=="function")n.set=function(s){return t.value=s};return Object.defineProperty(i,"value",n),i.dispose=function(){return r?.()},i};function Ar(e,t){let r=Nt(t),i=_1(!!r()),n=$1(function(){let s;if(r()){if(i.read())return;return s=setTimeout(function(){return i.value=!0},e),function(){return clearTimeout(s)}}i.value=!1;return});return At(i,t,n)}function mo(e,t){let r=Nt(t),i=_1(r()),n=$1(function(){let s=r(),a=setTimeout(function(){return i.value=s},e);return function(){return clearTimeout(a)}});return At(i,t,n)}function po(e,t){let r=Nt(t),i=_1(r()),n=0,s=$1(function(){let a=r(),o=Date.now(),l=e-(o-n);if(l<=0){i.value=a,n=o;return}let c=setTimeout(function(){return i.value=r(),n=Date.now()},l);return function(){return clearTimeout(c)}});return At(i,t,s)}function go(e,t){let r=Nt(t),i=_1(!!r()),n=$1(function(){if(r()){i.value=!0;return}if(!i.read())return;let s=setTimeout(function(){return i.value=!1},e);return function(){return clearTimeout(s)}});return At(i,t,n)}var Xn,Jn,we;we=function(e){if(!(typeof e==="string"&&e.length>0))throw TypeError("Rip App: component path must be a non-empty string");let t=e.split("/"),r=t.some(function(s){return!s||s==="."||s===".."}),i=t.at(-1),n=t.slice(0,-1).some(function(s){return s.endsWith(".rip")});if(e.includes("\\")||r||n||i===".rip"||!i.endsWith(".rip"))throw TypeError(`Rip App: invalid component path '${e}'`);return e};Xn=function(e){if(typeof e!=="string")throw TypeError("Rip App: component source must be a string");return e};Jn=function(e){if(e===""||e==null)return"";if(typeof e!=="string")throw TypeError("Rip App: component directory must be a string");let t=e.split("/");if(e.includes("\\")||t.some(function(r){return!r||r==="."||r===".."}))throw TypeError(`Rip App: invalid component directory '${e}'`);return e};function vr(){let e=new Map,t=new Map,r=new Set,i=function(s,a){let o=[];for(let l of Array.from(r))o.push((()=>{try{return l(s,a)}catch(c){return console.error("[Rip] component watcher error:",c)}})());return o};return{read(s){return e.get(we(s))},write(s,a){s=we(s),a=Xn(a);let o=e.has(s)?"change":"create";e.set(s,a),t.delete(s),i(o,s);return},del(s){s=we(s),e.delete(s),t.delete(s),i("delete",s);return},exists(s){return e.has(we(s))},size(){return e.size},list(s=""){let a;s=Jn(s);let o=s?s+"/":"",l=[];for(let[c]of e)if(c.startsWith(o)){if(a=c.slice(o.length),!a.includes("/"))l.push(c)}return l},listAll(s=""){s=Jn(s);let a=s?s+"/":"",o=[];for(let[l]of e)if(l.startsWith(a))o.push(l);return o},load(s){let a,o;if(!(s!=null&&typeof s==="object"&&!Array.isArray(s)))throw TypeError("Rip App: component load expects a source object");for(let l in s){if(!Object.hasOwn(s,l))continue;let c=s[l];l=we(l),c=Xn(c),e.set(l,c),t.delete(l)}return},watch(s){if(typeof s!=="function")throw TypeError("Rip App: component watch expects a function");r.add(s);let a=!1;return function(){if(a)return;a=!0,r.delete(s);return}},getCompiled(s){return t.get(we(s))},setCompiled(s,a){if(s=we(s),!(a!=null&&typeof a==="object"&&!Array.isArray(a)))throw TypeError("Rip App: compiled component module must be an object");t.set(s,a);return}}}var yo,So,C1,Qn,Ro,Eo,ko,Zn=/^\w+$/,To={static:0,dynamic:1,optional:2,catchall:3},bo=8;C1=function(e){throw Error(`Rip App: ${e}`)};var vt=function(e){return(()=>{try{return decodeURIComponent(e)}catch(t){return null}})()};ko=function(e){if(e==="")return"";if(typeof e!=="string")throw TypeError("Rip App: route root must be a string");let t=e.split("/");if(e.includes("\\")||t.some(function(r){return!r||r==="."||r===".."}))throw TypeError(`Rip App: invalid route root '${e}'`);return e};var wo=function(e,t){let r;if(r=/^\[\[(.+)\]\]$/.exec(e)){if(!Zn.test(r[1]))C1(`invalid optional segment '${e}' in '${t}'`);return{kind:"optional",name:r[1]}}else if(r=/^\[\.\.\.(.+)\]$/.exec(e)){if(!Zn.test(r[1]))C1(`invalid catch-all segment '${e}' in '${t}'`);return{kind:"catchall",name:r[1]}}else if(e.startsWith("[..."))return C1(`invalid catch-all segment '${e}' in '${t}'`);else if(r=/^\[(.+)\]$/.exec(e)){if(!Zn.test(r[1]))C1(`invalid dynamic segment '${e}' in '${t}'`);return{kind:"dynamic",name:r[1]}}else if(/^\(.+\)$/.test(e))return{kind:"group"};else if(e.includes("[")||e.includes("]"))return C1(`invalid segment '${e}' in '${t}': markers claim a whole segment`);else return{kind:"static",text:e}};yo=function(e){let t,r=(()=>{let h=[];for(let u of e.slice(0,-4).split("/"))h.push(wo(u,e));return h})();if(r[r.length-1].kind==="group")C1(`route file name cannot be a group segment: '${e}'`);let i=r.filter(function(h){return h.kind!=="group"});for(let h=0;hbo)C1(`more than ${bo} optional segments in '${e}'`);let o="",l=[],c=[{shape:"",display:""}];for(let h of i)switch(l.push(To[h.kind]),h.kind){case"static":t="/"+h.text,o+=t,c=c.map(function(u){return{shape:u.shape+t,display:u.display+t}});break;case"dynamic":o+=`/:${h.name}`,c=c.map(function(u){return{shape:u.shape+"/:",display:`${u.display}/:${h.name}`}});break;case"optional":o+=`/:${h.name}?`,c=c.flatMap(function(u){return[u,{shape:u.shape+"/:",display:`${u.display}/:${h.name}`}]});break;case"catchall":o+=`/*${h.name}`,c=c.map(function(u){return{shape:u.shape+"/*",display:`${u.display}/*${h.name}`}});break}if(o==="")o="/";if(new Set(c.map(function(h){return h.shape||"/"})).size{let l=[];for(let c of e)l.push(wo(c,t));return l})().filter(function(l){return l.kind!=="group"});for(let l of i)if(l.kind==="optional"||l.kind==="catchall")C1(`not-found page under an optional or catch-all segment: '${t}'`);let n=[];for(let l of i)if(l.name!=null){if(n.includes(l.name))C1(`duplicate parameter name '${l.name}' in '${t}'`);n.push(l.name)}let s="",a="",o=[];for(let l of i)if(o.push(To[l.kind]),l.kind==="static")s+="/"+l.text,a+="/"+l.text;else s+=`/:${l.name}`,a+="/:";return{pattern:s+"/*",shape:a+"/*",parts:i,ranks:o}};Ro=function(e,t){let r;return r=function(i,n){let s,a,o,l;if(i===e.length)return n===t.length?[]:null;let c=e[i];return(()=>{switch(c.kind){case"static":if(!(nf.length))continue;if(a=m.slice(f.length),l=a.split("/"),s=l.some(function(k){return!k||k==="."||k===".."}),a.includes("\\")||s||l.at(-1)===".rip")throw TypeError(`Rip App: invalid route file path '${m}'`);if(l.at(-1)==="_layout.rip"){h.set(l.slice(0,-1).join("/"),m);continue}if(l.at(-1)==="_404.rip"){if(l.slice(0,-1).some(function(k){return k.startsWith("_")}))continue;u.push({...So(l.slice(0,-1),a),rel:a,file:m});continue}if(l.some(function(k){return k.startsWith("_")}))continue;if(!a.endsWith(".rip"))throw TypeError(`Rip App: route files must be .rip sources: '${m}'`);d.push({...yo(a),rel:a,file:m})}let S=new Map;for(let m of[...d].sort(function(k,O){return k.relk.pattern)return 1;return 0});let g=new Map;for(let m of[...u].sort(function(k,O){return k.relk.pattern)return 1;return 0});let p=d.map(function(m){return{route:Object.freeze({pattern:m.pattern,file:m.file,layouts:Object.freeze(Qn(m.rel,h))}),parts:m.parts}}),R=u.map(function(m){return{route:Object.freeze({pattern:m.pattern,file:m.file,layouts:Object.freeze(Qn(m.rel,h))}),parts:m.parts}}),b=function(m){if(typeof m!=="string")throw TypeError("Rip App: route match expects a path string");if(!m.startsWith("/"))return null;while(m.length>1&&m.endsWith("/"))m=m.slice(0,-1);return m==="/"?[]:m.slice(1).split("/")},_=function(m){let k;if(l=b(m),!l)return null;for(let O of p){if(k=Ro(O.parts,l),!k)continue;return{route:O.route,params:Object.fromEntries(k)}}return null},y=function(m){let k;if(l=b(m),!l)return null;for(let O of R){if(k=Eo(O.parts,l),!k)continue;return{route:O.route,params:Object.fromEntries(k)}}return null};return Object.freeze({routes:Object.freeze(p.map(function(m){return m.route})),match:_,notFound:y})}function ze(e){if(typeof e!=="string")throw TypeError("Rip App: parseQuery expects a query string");return Object.fromEntries(new URLSearchParams(e))}var G1,ei,_o,Or;G1=function(e){let t=e.indexOf("#"),r=t>=0?e.slice(t+1):"",i=t>=0?e.slice(0,t):e,n=i.indexOf("?"),s=n>=0?i.slice(n+1):"";return{path:n>=0?i.slice(0,n):i,query:s,hash:r}};ei=function(e,t){let r=Object.keys(t);return r.length===Object.keys(e).length&&r.every(function(n){return e[n]===t[n]})?e:t};Or=function(e){if(!(e!=null&&typeof e.match==="function"&&Array.isArray(e.routes)))throw TypeError("Rip App: createRouter requires a route manifest");return e};_o=function(e){if(e===""||e==null)return"";if(!(typeof e==="string"&&e.startsWith("/")&&!e.endsWith("/")))throw TypeError(`Rip App: invalid router base '${e}'`);return e};function Ir(e){let t,{routes:r,adapter:i,onError:n}=e??{};if(!(r!=null&&(typeof r==="function"||typeof r.match==="function"&&Array.isArray(r.routes))))throw TypeError("Rip App: createRouter requires a route manifest or manifest thunk");for(let j of["read","push","replace","go","listen"])if(typeof i?.[j]!=="function")throw TypeError(`Rip App: router adapter requires a ${j} function`);let s=_o(e?.base),a=e?.hash===!0;if(s&&a)throw TypeError("Rip App: a base path does not apply in hash mode");let o=typeof r==="function"?Or(r()):Or(r),l=new Set,c=null,f=_1(null),h=_1(null),u=_1({}),d=_1({}),S=_1(""),g=Ar(100,_1(!1)),p=H1(function(){let j=h.value;if(!j)return null;return{route:j,layouts:j.layouts,params:u.value,query:d.value}}),R=function(j){if(!s)return j;if(j===s)return"/";if(j.startsWith(s+"/"))return j.slice(s.length);return null},b=function(j){if(!s)return j;return j==="/"?s:s+j},_=function(j){return a?i.read().split("#")[0]+"#"+j:b(j)},y=function(j){return n?.({status:404,path:j}),!1},m=0,k=function(j){return typeof j==="string"&&!j.startsWith("//")&&!j.includes("\\")},O=function(j){if(!k(j))return null;return o.match(j)},A=function(j){if(!k(j))return null;return o.match(j)??o.notFound?.(j)??null},x=function(j,q,t1,M){let N=ei(u.value,j.params),C=ei(d.value,ze(t1));L1(function(){return f.value=q,h.value=j.route,u.value=N,d.value=C,S.value=M});let w={path:q,route:j.route,params:N,query:C,hash:M};m+=1;try{for(let D of Array.from(l))try{D(w)}catch(B){console.error("[Rip] router onNavigate error:",B)}}finally{m-=1}return!0},I=function(){if(m>=10)throw Error("Rip App: navigation loop — ten nested navigations from onNavigate")},H=function(){let j,q,t1,M,N,C=i.read();if(a){if(j=C.indexOf("#"),t1=j>=0?C.slice(j+1):"/",t1==="")t1="/";({path:M,query:N,hash:q}=G1(t1))}else if({path:M,query:N,hash:q}=G1(C),M=R(M),M==null)return y(G1(C).path);let w=A(M);if(!w)return y(M);return x(w,M,N,q)},G=null,K=null,Z=function(){G=null;let j=i.readState?.()??{};return i.replace(i.read(),{...j,__ripScroll:i.scroll?.save?.()??null})},V=function(){return!G?G=setTimeout(Z,100):void 0};return t={init(){if(c)return t;return H(),c=i.listen(function(){if(!H())return;let j=i.readState?.();return i.scroll?.restore?.(j?.__ripScroll??null)}),K=i.scroll?.watch?.(V)??null,t},push(j,q={}){I();let{path:t1,query:M,hash:N}=G1(j),C=A(t1);if(!C)return y(t1);let w=i.scroll?.save?.()??null,D=i.readState?.()??{};if(i.replace(i.read(),{...D,__ripScroll:w}),i.push(_(j),null),x(C,t1,M,N),!q.noScroll)i.scroll?.top?.();return!0},replace(j,q={}){I();let{path:t1,query:M,hash:N}=G1(j),C=A(t1);if(!C)return y(t1);let w=i.readState?.()??{};if(i.replace(_(j),{...w,__ripScroll:null}),x(C,t1,M,N),!q.noScroll)i.scroll?.top?.();return!0},back(){return i.go(-1)},forward(){return i.go(1)},match(j){let{path:q,query:t1,hash:M}=G1(j),N=O(q);if(!N)return null;return{route:N.route,params:N.params,query:ze(t1),hash:M}},claims(j){let q,t1,M,N,C;if(!(typeof j==="string"&&j.length>0))return null;if(a){if(q=j.indexOf("#"),q<0)return null;if(M=j.slice(q+1),M==="")M="/";({path:N,query:C,hash:t1}=G1(M))}else{if(!j.startsWith("/"))return null;if({path:N,query:C,hash:t1}=G1(j),N=R(N),N==null)return null}let w=O(N);if(!w)return null;let D=N+(C?"?"+C:"")+(t1?"#"+t1:"");return{path:N,url:D,route:w.route,params:w.params,query:ze(C),hash:t1}},onNavigate(j){if(typeof j!=="function")throw TypeError("Rip App: onNavigate expects a function");return l.add(j),function(){return l.delete(j)}},rebuild(){let j,q,t1,M,N;if(o=typeof r==="function"?Or(r()):o,!c)return;let C=i.read();if(a){if(j=C.indexOf("#"),t1=j>=0?C.slice(j+1):"/",t1==="")t1="/";({path:M,query:N,hash:q}=G1(t1))}else if({path:M,query:N,hash:q}=G1(C),M=R(M),M==null)return y(G1(C).path);let w=A(M);if(!w)return y(M);let D=h.value,B=D?.layouts??[],a1=w.route.layouts??[],h1=B.length===a1.length&&B.every(function(f1,z){return f1===a1[z]});if(D?.file===w.route.file&&h1&&f.value===M)return;x(w,M,N,q);return},destroy(){if(c?.(),c=null,K?.(),K=null,G)clearTimeout(G);G=null;return}},Object.defineProperty(t,"current",{get(){return p.value}}),Object.defineProperty(t,"path",{get(){return f.value}}),Object.defineProperty(t,"hash",{get(){return S.value}}),Object.defineProperty(t,"params",{get(){return u.value}}),Object.defineProperty(t,"query",{get(){return d.value}}),Object.defineProperty(t,"navigating",{get(){return g.value},set(j){return g.value=j}}),t}function $r(){if(typeof window>"u"||window.history==null||window.location==null)throw Error("Rip App: browserAdapter requires a browser environment");window.history.scrollRestoration="manual";let e=function(r){return window.requestAnimationFrame?window.requestAnimationFrame(r):setTimeout(r,16)},t=0;return{read(){return window.location.pathname+window.location.search+window.location.hash},readState(){return window.history.state},push(r,i){return window.history.pushState(i,"",r)},replace(r,i){return window.history.replaceState(i,"",r)},go(r){return window.history.go(r)},listen(r){return window.addEventListener("popstate",r),function(){return window.removeEventListener("popstate",r)}},scroll:{save(){return{x:window.scrollX,y:window.scrollY}},restore(r){let i;if(r==null)return;let n=++t,s=r.x||0,a=r.y||0,o=0;i=function(){if(n!==t)return;let l=Math.max(0,(window.document?.documentElement?.scrollHeight||0)-window.innerHeight);return window.scrollTo(s,Math.min(a,l)),o+=1,a>l&&o<20?e(i):void 0},e(i);return},top(){return t+=1,window.scrollTo(0,0)},watch(r){return window.addEventListener("scroll",r,{passive:!0}),function(){return window.removeEventListener("scroll",r)}}}}}var ti,No,De;No=Un();De=function(e,t,r,i=null){let n=i??r?.message??String(r),s=Error(n);return s.name="GateFailure",s.status=r?.status??r?.response?.status??500,s.path=e,s.file=t,s.error=r,s};ti=function(e,t){let r=e.getCompiled(t);if(!(r!=null&&typeof r==="object"))throw Error(`Rip App: no precompiled component module for '${t}'`);let i=function(s){return typeof s==="function"&&typeof s.prototype?.mount==="function"};if(i(r.default))return r.default;let n=[];for(let s in r){let a=r[s];if(s==="default")continue;if(i(a))n.push(a)}if(n.length!==1)throw Error(`Rip App: precompiled module '${t}' must export exactly one component class`);return n[0]};function Dr(e){let t;if(!(e!=null&&typeof e==="object"))throw TypeError("Rip App: createRenderer expects an options object");let{router:r,stash:i,components:n,target:s,onError:a}=e;if(!(r!=null&&typeof r==="object"))throw TypeError("Rip App: createRenderer requires a router object");if(!(i!=null&&Te(i)!==i))throw TypeError("Rip App: createRenderer requires a stash built by createStash");if(!(n!=null&&typeof n.getCompiled==="function"))throw TypeError("Rip App: createRenderer requires a component registry");if(!(s!=null&&typeof s.appendChild==="function"))throw TypeError("Rip App: createRenderer requires a target with appendChild()");if(a!=null&&typeof a!=="function")throw TypeError("Rip App: createRenderer onError must be a function");let o=[],l=null,c=0,f=null,h=[],u=null,d=null,S=null,g=!1,p=function(z,i1){let X=Object.keys(z);return X.length===Object.keys(i1).length&&X.every(function(r1){return z[r1]===i1[r1]})},R=function(z,i1){return z.length===i1.length&&z.every(function(X,r1){return i1[r1]===X})},b=function(z){let i1=Te(i),X=z.split(".");for(let r1=0;r1",P.file,`Rip App: ${P.file} static __gates must be an array`);for(let W=0;W0))throw _(String(J),P.file,`Rip App: ${P.file} has a malformed render gate path`);if(F!=null&&typeof F!=="function")throw _(J,P.file,`Rip App: gate '${J}' has a non-function key`);if(o1=b(J),!o1)throw _(J,P.file,`Rip App: gate '${J}' does not resolve to a source`);if(r1=o1.cell,de(r1)){if(!F)throw _(J,P.file,`Rip App: gate '${J}' is keyed and requires a key function`);try{c1=F(i1,X),r1=r1.cellFor(c1)}catch(L){throw Q=L,De(J,P.file,Q,`Rip App: gate '${J}' key failed: ${Q.message}`)}}else if(F)throw _(J,P.file,`Rip App: gate '${J}' is a singleton and does not accept a key function`);if(P.bindings[W]={cell:r1,tail:o1.tail,path:J,file:P.file},!n1.has(r1))n1.set(r1,{cell:r1,path:J,file:P.file,entryIndex:v})}}return Array.from(n1.values())},k=async function(z,i1,X,r1){let Q,l1,c1=m(z,i1,X),F=await Promise.allSettled((()=>{let n1=[];for(let v of c1)n1.push(v.cell.ensure());return n1})());if(r1!==c)return!1;let J=null,o1=function(n1,v){if(n1.entryIndex=v,J==null||v=J.entryIndex)break;for(let P of v.bindings){l1=P.cell.peek();for(let W of P.tail){if(l1==null)break;l1=l1[W]}if(l1==null){o1(_(P.path,P.file,`Rip App: gate '${P.path}' resolved to ${l1}; every gated subpath must exist and be non-null`),n1);break}P.value=l1}}if(J!=null)throw J;return!0},O=function(z,i1){return No(z.cls,{gates:z.bindings,parent:i1,stash:i,router:r})},A=function(z){let i1=[];for(let X=z.length-1;X>=0;X--){let r1=z[X];try{r1.unmount?.()}catch(Q){i1.push(Q);try{r1._teardown?.({state:"unmounted",hooks:!1,removeDOM:!0})}catch(l1){i1.push(l1)}}}return i1},x=function(){let z=o;o=[],l=null,h=[],u=null,d=null;let i1=A(z);if(i1.length)throw i1[0];return},I=null,H=function(){I?.remove?.(),I=null;return},G=function(z){let i1,X;H();let r1=z.error?.stack??z.stack??z.message??String(z);I=(()=>{if(typeof document<"u"&&typeof document.createElement==="function")return i1=document.createElement("pre"),i1.style.cssText="margin:2rem;padding:1rem 1.25rem;color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;font:13px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre-wrap;overflow-wrap:anywhere",i1.textContent=r1,i1;else return X={nodeName:"PRE",textContent:r1,parentNode:null,remove(){let Q=X.parentNode?.children,l1=Q?.indexOf(X)??-1;if(l1>=0)Q.splice(l1,1);X.parentNode=null;return}},X})(),s.appendChild(I);return},K=function(){if(typeof document<"u"&&typeof document.createDocumentFragment==="function")return document.createDocumentFragment();let z=[];return{children:z,appendChild(i1){return z.push(i1),i1}}},Z=function(z,i1=s){if(H(),z.nodeType===11)i1.appendChild(z);else for(let X of z.children)i1.appendChild(X);return},V=function(z,i1){let X,r1=z._nodes??[z._root];for(let Q of r1){if(!Q)continue;if(Q.matches?.("#content"))return Q;if(X=Q.querySelector?.("#content"),X)return X}return r1.find(function(Q){return Q!=null})??i1},j=function(z){return z?.childNodes??z?.children??[]},q=function(z,i1){z.slot=i1,z.slotOwned=j(i1).length;return},t1=function(){let z,i1,X=s;for(let r1=0;r10&&Q.slot!=null&&Q.slot!==X){i1=Array.from(j(Q.slot)).slice(Q.slotOwned??0),q(Q,X);for(let l1 of i1)X.appendChild(l1);z._target=X}if(r1===h.length-1)break;X=V(z,X)}if(h.length>1)u=X;return},M=function(z,i1,X){let r1,Q,l1;if(!z.some(function(n1){return typeof n1.cls.prototype?.onError==="function"}))return!1;let c1=K(),F=c1,J=[];try{for(let n1=0;n10)q(v,F);if(Q.mount?.(F),Q._state==="failed")return A(J),!1;F=V(Q,F)}if(X!==c)return A(J),!1;r1=null;for(let n1=J.length-1;n1>=0;n1--){let v=J[n1];if(typeof v.onError==="function"){r1=v;break}}Z(c1)}catch(n1){return console.error("[Rip] boundary chain failed to mount:",n1),A(J),!1}let o1=o;o=J,l=J[J.length-1]??null,h=z,u=F,d=null;try{r1.onError(i1)}catch(n1){console.error("[Rip] boundary onError error:",n1)}for(let n1 of A(o1))console.error("[Rip] boundary teardown error:",n1);return!0},N=function(z,i1){let X=null;for(let Q=z.length-1;Q>=0;Q--){let l1=z[Q];if(typeof l1.instance?.onError==="function"){X=l1.instance;break}}if(!X)return!1;let r1=o.slice(z.length);o=z.map(function(Q){return Q.instance}),l=o[o.length-1]??null,h=z,d=null;try{X.onError(i1)}catch(Q){console.error("[Rip] boundary onError error:",Q)}for(let Q of A(r1))console.error("[Rip] boundary teardown error:",Q);return!0},C=async function(z,i1,X=n){let r1,Q,l1,c1,F,J,o1=z?.route;if(!o1?.file)throw Error("Rip App: renderer route state requires route.file");let n1=z.params??{},v=z.query??{},P=z.layouts??[];if(!Array.isArray(P))throw Error("Rip App: renderer route state layouts must be an array");let W=h.map(function(S1){return S1.file}),s1=S;if(S=null,s1==null&&l!=null&&d!=null&&o1.file===d.file){if(R([...P,o1.file],W)&&p(n1,d.params)){if(!(p(v,d.query)||y(h,n1,v))){if(typeof l.load==="function")await l.load(n1,v);if(i1!==c)return null;return d={file:o1.file,params:n1,query:v},l}}}let L=[...P,o1.file],U=d!=null&&P.length>0&&h.length===P.length+1&&R(P,W.slice(0,-1))&&!y(h.slice(0,-1),n1,v),e1=s1!=null?Math.max(0,Math.min(s1,L.length-1)):U?P.length:0;if(s1!=null&&e1>0){if(!(h.length===L.length&&R(L.slice(0,e1),W.slice(0,e1))))e1=0}let m1=[];for(let S1=0;S10){if(l1=U?N(m1.slice(0,r1),Q):M(m1.slice(0,r1),Q,i1),l1)return null}}throw Q}let d1=K(),R1=d1,E1=[],A1=e1>0?m1[e1-1].instance:null,k1=e1>0,w1=k1?V(A1,s):s;try{for(let S1=m1.slice(e1),q1=0;q10)q(xt,R1);if(c1.mount?.(R1),c1._state==="failed")throw Error(`Rip App: component '${xt.file}' failed during mount`);if(e1+q11?R1:w1,h=m1,d={file:o1.file,params:n1,query:v};let y1=A(p1);if(g=y1.length>0,y1.length)for(let S1 of y1)if(Q=De("","",S1),a!=null)try{a(Q)}catch(q1){console.error("[Rip] renderer teardown reporter failed:",q1)}else console.error("[Rip] renderer teardown error:",Q);return l},w=function(z){let i1,X,r1=z?.route;if(!r1?.file)return;let Q=z.params??{},l1=z.query??{},c1=z.layouts??r1.layouts??[],F=h.map(function(n1){return n1.file}),J=d!=null&&R(c1,F.slice(0,-1));if(J&&r1.file===d.file&&p(Q,d.params))return;let o1=J?[r1.file]:[...c1,r1.file];try{i1=(()=>{let n1=[];for(let v of o1)n1.push({file:v,cls:ti(n,v)});return n1})(),X=m(i1,Q,l1)}catch(n1){return}for(let n1 of X)n1.cell.preload().catch(function(){return null});return},D=function(z,i1){if(!(z!=null&&typeof z==="object"&&typeof i1==="string"))return null;let X=function(r1){return typeof r1==="function"&&r1.__hmrId===i1};if(X(z.default))return z.default;for(let r1 in z){let Q=z[r1];if(X(Q))return Q}return null},B=function(z){let i1=z+"#",X=[];for(let Q of h)if(Q.file===z&&Q.instance!=null)X.push(Q.instance);for(let[Q,l1]of jn())if(typeof Q==="string"&&Q.startsWith(i1)){for(let c1 of l1.instances)if(!X.includes(c1))X.push(c1)}let r1=[];for(let Q of X)r1.push({instance:Q,entry:h.find(function(l1){return l1.instance===Q})??null});return r1},a1=function(z,i1){let X,r1,Q,l1,c1=(()=>{let n1=[];for(let v of z)if(typeof v==="string"&&v.endsWith(".rip"))n1.push(v);return n1})();if(!(c1.length>0))return"unknown";let F=0,J=!1,o1=new Set;for(let n1 of c1){if(l1=i1.getCompiled(n1),Q=B(n1),l1==null){if(typeof i1.exists==="function"&&!i1.exists(n1)){if(Q.some(function(v){return v.instance._state!=="unmounted"}))return"fallback"}else J=!0;continue}for(let{instance:v,entry:P}of Q){if(o1.has(v))continue;if(v._state==="unmounted")continue;if(v._state!=="mounted")return"fallback";if(r1=v.constructor?.__hmrId,X=typeof r1==="string"?D(l1,r1):null,X==null)return"fallback";if(St(X),Rt(v.constructor,X)!=="patch")return"fallback";if(Bn(v,X),o1.add(v),F+=1,P!=null){if(P.cls=X,P!==h[h.length-1])t1()}}}if(F>0)return"done";return J?"unknown":"idle"},h1=async function(z,i1=n){let X,r1,Q,l1,c1;if(!(Array.isArray(z)&&z.length>0))return"noop";for(let U of z)if(U==="stash.rip"||U.startsWith("stash/")||U==="seed.rip")return"escape";let F=r.current;if(!(F?.route?.file&&h.length>0))return"noop";let o1=[...F.layouts??F.route.layouts??[],F.route.file],n1=R(o1,h.map(function(U){return U.file})),v=Fn();try{if(c1=a1(z,i1),c1==="done")return Tr(v),"narrow";if(c1==="idle"&&n1)return ke("noop",{paths:[...z]}),"noop"}catch(U){console.error("[Rip] HMR patch failed; falling back to remount:",U),ke("reject",{reason:"patch-failed",paths:[...z],message:U?.message?String(U.message):String(U)})}let P=new Set(z),W=-1;for(let U=0;U{try{return await C(z,l1,i1)}catch(c1){if(X=c1,l1!==c)return null;if(r1=(()=>{if(X?.name==="GateFailure")return X;else return Q=z?.route?.file??"",De(X?.path??Q,Q,X)})(),a?.(r1),l==null)G(r1);throw r1}finally{if(l1===c&&(Array.isArray(r)||typeof r==="string"?r.includes("navigating"):("navigating"in r)))r.navigating=!1}})()};let f1=null;return f1={current:null,mount:t,preload:w,remountDirty:h1,start(){if(f)return f1;return r.init?.(),f=$1(function(){let z=r.current;if(z?.route)t(z).catch(function(){return null});return}),f1},stop(){let z,i1;if(c++,f?.(),f=null,Array.isArray(r)||typeof r==="string"?r.includes("navigating"):("navigating"in r))r.navigating=!1;try{x()}catch(X){throw z=X,i1=De("","",z),a?.(i1),i1}return}},Object.defineProperty(f1,"current",{get(){return l}}),f1}var vo,Oo,ri=Symbol.for("rip.app.stash.persisted"),Ao=Symbol.for("rip.app.stash.purge");Oo=function(e,t){return D1(t)?void 0:t};vo=function(e){if(e.storage!=null)return e.storage;if(!(typeof window<"u"&&window.localStorage!=null))throw Error("Rip App: persistStash requires a browser or an injected storage");return e.local?window.localStorage:window.sessionStorage};function xr(e,t={}){let r,i=Te(e)||e;if(i[ri])return function(){return null};i[ri]=!0;let n=vo(t),s=t.key||"__rip_app",a=t.debounce??2000;try{if(r=n.getItem(s),r)Ye(e,JSON.parse(r))}catch(u){}let o=null,l=function(){o=null;try{n.setItem(s,JSON.stringify(Te(e),Oo))}catch(u){}return},c=!1,f=$1(function(){if(qn.value,!c){c=!0;return}if(o!=null)clearTimeout(o);return o=setTimeout(l,a),function(){return o!=null?clearTimeout(o):void 0}});if(typeof window<"u")window.addEventListener("beforeunload",l);Object.defineProperty(i,Ao,{value(){if(o!=null)clearTimeout(o),o=null;try{n.removeItem(s)}catch(u){}return},configurable:!0,writable:!0});let h=!1;return function(){if(h)return;if(h=!0,f?.(),typeof window<"u")window.removeEventListener("beforeunload",l);l(),i[Ao]=null,i[ri]=!1;return}}var Io,ni;ni=function(e){if(e.hasAttribute?.("data-router-ignore"))return!0;if(e.hasAttribute?.("download"))return!0;let t=e.getAttribute?.("target");if(t&&t.toLowerCase()!=="_self")return!0;return!1};function It(e){let t,r=e.getAttribute?.("href")??e.href;if(!(typeof r==="string"&&r.length>0))return null;if(/^[a-z][a-z0-9+.-]*:/i.test(r)){if(t=typeof location<"u"?location.origin:null,!(t!=null&&r.startsWith(t)))return null;r=r.slice(t.length)}if(r.startsWith("//")||r.includes("\\"))return null;return r}function $t(e,t){if(t==null)return!1;if(ni(t))return!1;let r=It(t);if(r==null)return!1;return e.claims(r)!=null}Io=function(){if(!(typeof document<"u"&&typeof document.querySelectorAll==="function"))throw Error("Rip App: ariaCurrent requires a browser or an injected host");return{anchors(){return Array.from(document.querySelectorAll("a[href]"))},observe(e){if(typeof MutationObserver>"u")return null;let t=!1,r=new MutationObserver(function(){if(t)return;return t=!0,requestAnimationFrame(function(){return t=!1,e()})});return r.observe(document.documentElement??document.body,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["href","target","download","data-router-ignore"]}),function(){return r.disconnect()}}}};function Cr(e,t=null){if(!(e!=null&&typeof e.claims==="function"))throw TypeError("Rip App: ariaCurrent requires a router");t=t??Io();let r=new WeakMap,i=function(){let l,c,f,h,u=e.path;for(let d of t.anchors()){if(l=ni(d)?null:e.claims(It(d)??""),f=l==null||u==null?null:l.path===u?"page":l.path!=="/"&&u.startsWith(l.path+"/")?"true":null,c=d.getAttribute?.("aria-current")??null,h=r.get(d),h!==void 0&&c!==h){if(r.delete(d),c!=null)continue;h=void 0}if(f!=null){if(h===void 0&&c!=null)continue;if(c!==f)d.setAttribute("aria-current",f);r.set(d,f)}else if(h!==void 0)d.removeAttribute("aria-current"),r.delete(d)}return},n=function(){try{i()}catch(l){console.error("[Rip] aria-current walk failed:",l)}return},s=$1(function(){return e.path,n()}),a=t.observe?.(n)??null,o=!1;return function(){if(o)return;o=!0,s(),a?.();try{for(let l of t.anchors())if(r.has(l)){if((l.getAttribute?.("aria-current")??null)===r.get(l))l.removeAttribute("aria-current");r.delete(l)}}catch(l){}return}}var $o,Do,ii,si;Do=50;$o=3000;si=function(){if(!(typeof document<"u"&&typeof document.addEventListener==="function"))throw Error("Rip App: link listeners require a browser or an injected host");return{listen(e,t,r=null){return document.addEventListener(e,t,r??!1),function(){return document.removeEventListener(e,t,r??!1)}}}};ii=function(e){while(e!=null&&e.tagName!=="A")e=e.parentElement;return e??null};function Pr(e,t=null){if(!(e!=null&&typeof e.claims==="function"&&typeof e.push==="function"))throw TypeError("Rip App: interceptClicks requires a router");t=t??si();let r=function(s){if(s.defaultPrevented)return;if(s.button!==0||s.metaKey||s.ctrlKey||s.shiftKey||s.altKey)return;let a=ii(s.target);if(!(a!=null&&$t(e,a)))return;let o=e.claims(It(a));if(o==null)return;s.preventDefault(),e.push(o.url,{noScroll:a.hasAttribute?.("data-router-noscroll")===!0});return},i=t.listen("click",r),n=!1;return function(){if(n)return;n=!0,i();return}}function Lr(e,t,r=null){if(!(e!=null&&typeof e.claims==="function"))throw TypeError("Rip App: preloadLinks requires a router");if(!(t!=null&&typeof t.preload==="function"))throw TypeError("Rip App: preloadLinks requires a renderer with preload()");r=r??si();let i=null,n=null,s={href:null,at:0},a=function(){if(i!=null)clearTimeout(i);i=null,n=null;return},o=function(h){let u=ii(h.target);if(!(u!=null&&$t(e,u)))return;if(u===n)return;a(),n=u;let d=It(u);i=setTimeout(function(){i=null,n=null;let S=Date.now();if(d===s.href&&S-s.at<$o)return;s.href=d,s.at=S;let g=e.claims(d);return g!=null?t.preload(g):void 0},Do);return},l=function(h){if(n==null)return;let u=h.relatedTarget;if(!(u!=null&&n.contains?.(u)))a();return},c=[r.listen("pointerover",o,{passive:!0}),r.listen("focusin",o,{passive:!0}),r.listen("pointerout",l,{passive:!0}),r.listen("focusout",l,{passive:!0})],f=!1;return function(){if(f)return;f=!0,a();for(let h of c)h();return}}var qe,xo,z1,Co;qe="routes";z1=function(e){throw Error(`Rip App: ${e}`)};var pc=function(e){let t;if(!(e!=null&&typeof e==="object"&&!Array.isArray(e)))z1("launch requires a bundle object");for(let r of["modules","compiled"]){if(t=e[r],t==null)continue;if(!(typeof t==="object"&&!Array.isArray(t)))z1(`launch bundle ${r} must be an object of store paths`)}if(e.seed!=null&&(typeof e.seed!=="object"||Array.isArray(e.seed)))z1("launch bundle seed must be an object");return e},gc=["read","write","del","exists","size","list","listAll","load","watch","getCompiled","setCompiled"];Co=function(e){if(!(typeof e==="object"&&!Array.isArray(e)))z1("launch components must be an object");for(let t of gc)if(typeof e[t]!=="function")z1(`launch components store is missing '${t}'`);return e};var ai=function(e,t=null){let r=pc(e),n=[...new Set([...Object.keys(r.modules??{}),...Object.keys(r.compiled??{})])].filter(function(o){return o.startsWith(qe+"/")});Ot(n,qe);let s=r.compiled?.["stash.rip"],a=t??s?.stash;if(a==null&&s!=null)z1("the bundle's 'stash.rip' module must export 'stash'");if(a!=null&&(typeof a!=="object"||Array.isArray(a)))z1("the application stash must be a plain object");return{bundle:r,declaration:a}};xo=function(){if(!(typeof document<"u"&&typeof document.querySelector==="function"))z1("launch requires a target outside the browser");let e=document.querySelector("#app");if(!e)e=document.createElement("div"),e.id="app",document.body.appendChild(e);return e};function Mr(e){let t,r;if(!(e!=null&&typeof e==="object"))z1("launch requires an options object");if(globalThis.__ripStash!=null)z1("an application is already launched; destroy it first");let i=ai(e.bundle,e.declaration),n=i.bundle,s=e.target??xo(),a=e.adapter??$r(),o=i.declaration,l=Nr(_r(o??{}));Ye(l,n.seed??{}),ho(l);let c=e.components!=null?Co(e.components):vr();if(n.modules!=null)c.load(n.modules);if(n.compiled!=null){let b=n.compiled;for(let _ in b){if(!Object.hasOwn(b,_))continue;let y=b[_];if(!c.exists(_))c.write(_,"");c.setCompiled(_,y)}}let f=Ir({routes(){return Ot(c.listAll(qe),qe)},adapter:a,base:e.base,hash:e.hash,onError:e.onError}),h=Dr({router:f,stash:l,components:c,target:s,onError:e.onError}),u=c.watch(function(b,_){return _.startsWith(qe+"/")?f.rebuild():void 0}),d=null;if(e.links!=null||typeof document<"u"&&typeof document.addEventListener==="function")t=Pr(f,e.links),r=Lr(f,h,e.links),d=function(){t(),r();return};let S=null;if(typeof document<"u"&&typeof document.querySelectorAll==="function")S=Cr(f);let g=null;if(e.persist)g=xr(l,{local:e.persist==="local",key:"__rip_app",storage:e.storage});let p=!1,R=function(){if(p)return;p=!0;let b=[],_=function(y){try{y()}catch(m){b.push(m)}return};if(_(function(){return S?.()}),_(function(){return d?.()}),_(function(){return h.stop()}),_(function(){return f.destroy()}),_(function(){return u()}),_(function(){return g?.()}),globalThis.__ripStash===l)delete globalThis.__ripStash;if(globalThis.__ripRouter===f)delete globalThis.__ripRouter;if(b.length===1)throw b[0];if(b.length>1)throw AggregateError(b,"Rip App: launch.destroy failed");return};globalThis.__ripStash=l,globalThis.__ripRouter=f;try{if(typeof s.replaceChildren==="function")s.replaceChildren();else if(Array.isArray(s.children))s.children.length=0;h.start()}catch(b){throw R(),b}return{stash:l,components:c,router:f,renderer:h,destroy:R}}var oi,jr,li,ci,fi,B1;B1=function(e){if(!(typeof e==="string"&&e.length>0))throw TypeError("Rip Workspace: component path must be a non-empty string");let t=e.split("/"),r=t.some(function(s){return!s||s==="."||s===".."||s.startsWith(".")}),i=t.at(-1),n=t.slice(0,-1).some(function(s){return s.endsWith(".rip")});if(e.includes("\\")||e.startsWith("/")||r||n||i===".rip"||!i.endsWith(".rip"))throw TypeError(`Rip Workspace: invalid component path '${e}'`);return e};jr=function(e){if(typeof e!=="string")throw TypeError("Rip Workspace: component source must be a string");return e};li=function(e){if(e===""||e==null)return"";if(typeof e!=="string")throw TypeError("Rip Workspace: component directory must be a string");let t=e.split("/");if(e.includes("\\")||e.startsWith("/")||t.some(function(r){return!r||r==="."||r===".."||r.startsWith(".")}))throw TypeError(`Rip Workspace: invalid component directory '${e}'`);return e};ci=function(e){if(!(typeof e==="string"&&/^[A-Za-z0-9_]{6}$/.test(e)))throw TypeError("Rip Workspace: publication hash must be six Base64URL-folded characters");return e};fi=function(e){if(!(e!=null&&typeof e==="object"&&!Array.isArray(e)))throw TypeError("Rip Workspace: compiled component module must be an object");return e};oi=function(e){let t;if(!(e!=null&&typeof e==="object"&&!Array.isArray(e)))throw TypeError("Rip Workspace: prepared state must be an object");let r=ci(e.hash);if(!(e.sources!=null&&typeof e.sources==="object"&&!Array.isArray(e.sources)))throw TypeError("Rip Workspace: prepared sources must be an object");if(!(e.compiled!=null&&typeof e.compiled==="object"&&!Array.isArray(e.compiled)))throw TypeError("Rip Workspace: prepared compiled modules must be an object");let i=new Map,n=new Map,s=e.sources;for(let o in s){if(!Object.hasOwn(s,o))continue;let l=s[o];i.set(B1(o),jr(l))}let a=e.compiled;for(let o in a){if(!Object.hasOwn(a,o))continue;let l=a[o];if(o=B1(o),!i.has(o))throw Error(`Rip Workspace: compiled module '${o}' has no source`);n.set(o,fi(l))}return{hash:r,sources:i,compiled:n}};function Fr(){let e,t=new Map,r=new Map,i=new Set,n=null,s=!1,a=function(l,c){for(let f of Array.from(i))try{f(l,c)}catch(h){console.error("[Rip] workspace watcher error:",h)}return},o=function(l){t=l.sources,r=l.compiled,n=l.hash;return};return e={read(l){return t.get(B1(l))},write(l,c){if(s)throw Error("Rip Workspace: cannot write during a publication transition");l=B1(l),c=jr(c);let f=t.has(l)?"change":"create";t.set(l,c),r.delete(l),a(f,l);return},del(l){if(s)throw Error("Rip Workspace: cannot delete during a publication transition");l=B1(l),t.delete(l),r.delete(l),a("delete",l);return},exists(l){return t.has(B1(l))},size(){return t.size},list(l=""){let c;l=li(l);let f=l?l+"/":"",h=[];for(let[u]of t)if(u.startsWith(f)){if(c=u.slice(f.length),!c.includes("/"))h.push(u)}return h},listAll(l=""){l=li(l);let c=l?l+"/":"",f=[];for(let[h]of t)if(h.startsWith(c))f.push(h);return f},load(l){if(s)throw Error("Rip Workspace: cannot load during a publication transition");if(!(l!=null&&typeof l==="object"&&!Array.isArray(l)))throw TypeError("Rip Workspace: component load expects a source object");let c=[];for(let f in l){if(!Object.hasOwn(l,f))continue;let h=l[f];c.push([B1(f),jr(h)])}for(let[f,h]of c)t.set(f,h),r.delete(f);return},watch(l){if(typeof l!=="function")throw TypeError("Rip Workspace: component watch expects a function");i.add(l);let c=!1;return function(){if(c)return;c=!0,i.delete(l);return}},getCompiled(l){return r.get(B1(l))},setCompiled(l,c){if(s)throw Error("Rip Workspace: cannot compile during a publication transition");if(l=B1(l),!t.has(l))throw Error(`Rip Workspace: setCompiled for unknown component path '${l}'`);r.set(l,fi(c));return},hash(){return n},activate(l){if(n!=null)throw Error("Rip Workspace: a publication is already active");if(s)throw Error("Rip Workspace: a publication transition is already staged");o(oi(l));return},stage(l,c,f){if(s)throw Error("Rip Workspace: a publication transition is already staged");if(l=ci(l),n!==l)throw Error(`Rip Workspace: change starts at ${l}, not ${n}`);if(!Array.isArray(f))throw TypeError("Rip Workspace: changed paths must be an array");let h=f.map(function(p){return B1(p)});if(new Set(h).size!==h.length)throw Error("Rip Workspace: changed paths must be unique");let u=oi(c),d={sources:t,compiled:r,hash:n};s=!0;let S=!1,g=function(p){let R;if(S)throw Error("Rip Workspace: publication transition is already finished");if(S=!0,s=!1,!p)return;o(u);for(let b of h)R=!u.sources.has(b)?"delete":d.sources.has(b)?"change":"create",a(R,b);return};return{components:{getCompiled(p){return u.compiled.get(B1(p))},exists(p){return u.sources.has(B1(p))}},commit(){return g(!0)},rollback(){return g(!1)}}},commit(l,c,f){e.stage(l,c,f).commit();return}},e}var Po,Lo,Mo,jo,Fo,Bo,Uo,Br;Mo=250;Lo=8000;Po=5000;Uo=0;Br=function(e){return typeof e==="string"&&/^[A-Za-z0-9_]{6}$/.test(e)};Fo=function(){if(typeof location>"u")throw Error("Rip App: connectFeed needs a hub URL (no location to derive one from)");return`${location.protocol==="https:"?"wss":"ws"}://${location.host}/hub`};Bo=function(){if(typeof WebSocket>"u")throw Error("Rip App: connectFeed needs a socket factory (no global WebSocket)");return function(e){return new WebSocket(e)}};jo=function(){if(typeof fetch>"u")throw Error("Rip App: connectFeed needs a fetch (no global fetch)");return function(e,t){return fetch(e,t)}};function Ur(e,t={}){let r;if(!(e!=null&&typeof e.hash==="function"&&typeof e.apply==="function"&&typeof e.reload==="function"))throw TypeError("Rip App: connectFeed expects hash, apply, and reload callbacks");if(!Br(e.hash()))throw TypeError("Rip App: connectFeed client hash must be six Base64URL-folded characters");let i=t.hub??Fo(),n=t.latestUrl??"/latest.json",s=t.makeSocket??Bo(),a=t.fetch??jo(),o=t.report??function(...M){return console.error(...M)},l=t.backoff?.min??Mo,c=t.backoff?.max??Lo,f=t.ackTimeout??Po,h=!1,u=!1,d=!1,S=!1,g=null,p=0,R=null,b=null,_=0,y=null,m=[],k=Promise.resolve(),O=new Map,A=null,x=function(M){if(u||h)return;u=!0,e.reload(M);return},I=async function(M){let N;if(u||h)return!1;return await(async()=>{try{if(N=await e.apply(M),N==="rejected"){if(Br(M?.hash))A=M?.hash;return!1}if(N==="reload"||!N)return x("change could not be applied"),!1;return A=null,!0}catch(C){return o("[Rip] publication change failed:",C),x("change failed"),!1}})()},H=function(M,N){k=k.then(async function(){if(N!==_)return!0;return await I(M)}),k=k.catch(function(C){return o("[Rip] publication queue failed:",C),x("change queue failed"),!1});return},G=async function(M){let N,C;if(h||u||M!==_)return;let w=e.hash(),D=await a(n,{cache:"no-store"});if(!D?.ok)throw Error(`latest.json fetch failed (${D?.status})`);let B=await D.json();if(!(B!=null&&typeof B==="object"&&!Array.isArray(B)&&Object.keys(B).length===1&&Object.hasOwn(B,"hash")&&Br(B.hash)))throw Error("latest.json is malformed");if(h||u||M!==_)return;if(A!=null){if(B.hash!==A){x(`a newer App generation followed rejected ${A}`);return}m=[],S=!0,p=0;return}let a1=new Set([w]),h1=0;while(h1{try{return g?.close()}catch{}})()}),k=C.then(function(){return!0},function(){return!1}),O.set(M,C),C.finally(function(){return O.get(M)===C?O.delete(M):void 0}),C},Z=function(M,N){if(N!==_)return;let C=null;try{C=JSON.parse(M)}catch{o("[Rip] publication feed received invalid JSON:",M),x("malformed publication frame");return}let w=Array.isArray(C)?C:[C];for(let D of w){if(!(D!=null&&typeof D==="object"))continue;if(Object.keys(D).length===1&&Object.hasOwn(D,"!")&&D["!"]===y&&b!=null){if(b!=null)clearTimeout(b),b=null;K(_)}else if(D.change!==void 0&&!Object.hasOwn(D,"<"))if(A!=null){if(D.change?.hash===A)continue;if(S)H(D.change,N);else m.push(D.change)}else if(S)H(D.change,N);else m.push(D.change);else if(D.reload!==void 0&&!Object.hasOwn(D,"<"))if(A!=null)K(N,!0);else x("server generation changed")}return},V=function(){if(h||u||R!=null)return;let M=Math.min(l*2**p,c);p+=1,R=setTimeout(function(){return R=null,r()},M);return};r=function(){if(h||u)return;_+=1;let M=_;S=!1,m=[],y=`rip-${++Uo}`;try{g=s(i)}catch(N){o("[Rip] publication socket open failed:",N),V();return}g.onmessage=function(N){Z(String(N.data),M);return},g.onopen=function(){if(M!==_||h)return;d=!0;try{g.send(JSON.stringify({"+":["/hub"],"?":y}))}catch(N){o("[Rip] publication subscription failed:",N);try{g.close()}catch{}return}b=setTimeout(function(){if(h||u||M!==_||S)return;return o("[Rip] publication subscription acknowledgement timed out"),(()=>{try{return g.close()}catch{}})()},f);return},g.onclose=function(){if(M!==_)return;if(d=!1,S=!1,b!=null)clearTimeout(b),b=null;V();return},g.onerror=function(){return};return};let j=function(){if(h||u)return;if(g!=null)try{g.close()}catch{}else V();return},q=[],t1=function(M,N,C){if(typeof M?.addEventListener!=="function")return;M.addEventListener(N,C),q.push(function(){return M.removeEventListener(N,C)});return};if(t1(globalThis,"online",function(){return j()}),t1(globalThis,"pageshow",function(M){return M.persisted===!0?j():void 0}),typeof document<"u")t1(document,"visibilitychange",function(){return document.visibilityState==="visible"?j():void 0});return r(),{close(){if(h)return;if(h=!0,_+=1,R!=null)clearTimeout(R);if(b!=null)clearTimeout(b);for(let M of q)M();try{g?.close()}catch{}return},connected(){return d&&S&&!h&&!u},resync(){return j()}}}function Vr(e){if(!(e!=null&&typeof e==="object"))throw TypeError("Rip App: createApply expects an options object");if(typeof e.renderer?.remountDirty!=="function")throw TypeError("Rip App: createApply requires renderer.remountDirty");if(typeof e.escape!=="function")throw TypeError("Rip App: createApply requires an escape remount");let t=e.report??function(...i){return console.log(...i)};return{absorb:async function(i,n=null){if(!(Array.isArray(i)&&i.length>0))return"ignore";let s=(()=>{let f=[];for(let h of i)if(typeof h==="string"&&h.endsWith(".css"))f.push(h);return f})(),a=(()=>{let f=[];for(let h of i)if(typeof h==="string"&&h.endsWith(".rip"))f.push(h);return f})(),o=(()=>{let f=[];for(let h of i)if(typeof h==="string"&&!h.endsWith(".rip")&&!h.endsWith(".css"))f.push(h);return f})();if(a.length===0){if(o.length>0)return"reload";if(s.length>0)return"css";return"ignore"}let l=await e.renderer.remountDirty(a,n);if(l==="narrow")return t(`[Rip] applied ${a.join(", ")} — update`),"update";if(l==="reload")return t(`[Rip] applied ${a.join(", ")} — reload`),"reload";if(l==="noop")return"ignore";if(await e.escape(a,n)==="reload")return"reload";return t(`[Rip] applied ${a.join(", ")} — update`),"update"}}}var bc=function(e){if(e instanceof Uint8Array)return e;if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);throw TypeError("Rip App: rash expects bytes")},yc=function(e){let t,r,i,n,s,a,o,l,c,f,h,u,d,S,g,p,R=bc(e);if(typeof Bun<"u"&&Bun.CryptoHasher!=null)return new Uint8Array(new Bun.CryptoHasher("sha256").update(R).digest());let b=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],_=R.length*8,y=new Uint8Array(R.length+9+63&-64);y.set(R),y[R.length]=128;let m=new DataView(y.buffer);m.setUint32(y.length-4,_>>>0,!1),m.setUint32(y.length-8,Math.floor(_/4294967296)>>>0,!1);let k=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],O=function(G,K){return G>>>K|G<<32-K},A=new Uint32Array(64),x=0;while(x>>3,S=O(A[G-2],17)^O(A[G-2],19)^A[G-2]>>>10,A[G]=A[G-16]+d+A[G-7]+S>>>0;[i,n,s,o,l,c,f,h]=k;for(let G=0;G<64;G++)r=O(l,6)^O(l,11)^O(l,25),a=l&c^~l&f,g=h+r+a+b[G]+A[G]>>>0,t=O(i,2)^O(i,13)^O(i,22),u=i&n^i&s^n&s,p=t+u>>>0,h=f,f=c,c=l,l=o+g>>>0,o=s,s=n,n=i,i=g+p>>>0;k[0]=k[0]+i>>>0,k[1]=k[1]+n>>>0,k[2]=k[2]+s>>>0,k[3]=k[3]+o>>>0,k[4]=k[4]+l>>>0,k[5]=k[5]+c>>>0,k[6]=k[6]+f>>>0,k[7]=k[7]+h>>>0,x+=64}let I=new Uint8Array(32),H=new DataView(I.buffer);for(let G=0;G<8;G++)H.setUint32(G*4,k[G],!1);return I},Dt=function(e){let t=yc(e),r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_";return(r[t[0]>>2]+r[(t[0]&3)<<4|t[1]>>4]+r[(t[1]&15)<<2|t[2]>>6]+r[t[2]&63]+r[t[3]>>2]+r[(t[3]&3)<<4|t[4]>>4]).replaceAll("-","_")},Wr=function(e){let t=JSON.stringify(e.map(function(r){return[r.id,r.hash]}));return Dt(new TextEncoder().encode(t))};var Sc=function(){return globalThis.__ripStash},Rc=function(){return globalThis.__ripRouter};(()=>{if(typeof document>"u"||typeof WebSocket>"u")return;let e=document.currentScript;if(!(e?/\bwatch\.js\b/.test(e.src||""):!!document.querySelector("script[watch]"))||globalThis.__ripWatch)return;globalThis.__ripWatch=!0;let r=location.pathname,i=(f)=>Array.isArray(f)&&(f.includes(r)||r.endsWith("/")&&f.includes(r+"index.html")),n=(f)=>f.headers.get("etag")||f.headers.get("last-modified")||"",s=null;fetch(location.href,{method:"HEAD",cache:"no-store"}).then((f)=>{s=n(f)}).catch(()=>{});let a=()=>{if(s===null)return;fetch(location.href,{method:"HEAD",cache:"no-store"}).then((f)=>{if(n(f)!==s)location.reload()}).catch(()=>{})},o=!1,l=0,c=()=>{let f=location.protocol==="https:"?"wss://":"ws://",h=new WebSocket(f+location.host+"/hub");h.onopen=()=>h.send('{"+":["/assets"],"?":"observe"}'),h.onmessage=(u)=>{let d;try{d=JSON.parse(u.data)}catch{return}for(let S of Array.isArray(d)?d:[d]){if(!S||typeof S!=="object"||"<"in S)continue;if("!"in S){if(o)a();o=!0,l=0}if(i(S.touched))location.reload()}},h.onclose=()=>{if(l+=1,!o&&l>=6)return;setTimeout(c,Math.min(8000,500*2**(l-1)))},h.onerror=()=>{}};c()})();var{__hmrEmit:Ec}=Et;function ui(e,t={}){if(t.face==="ts")throw Error("rip: TypeScript face is unavailable in the browser");return fa(e,{...t,face:"js"})}var Yo={intrinsics:ir,stdlib:sr,schema:fr,reactive:gr,components:Et},zo=Object.freeze({...ir,...sr,...fr,...gr,...Et}),kc=Object.freeze({rash:Dt,check:Wr}),qo=Object.freeze({"rip/app":Hr,"rip/app/rash":kc});var Tc=new Map(Object.keys(Yo).map((e)=>[new URL(`./runtime/${e}.js`,import.meta.url).pathname,e])),wc=/(?:^|\/)src\/runtime\/(intrinsics|stdlib|schema|reactive|components)\.js$/,Gr="__ripModuleBridge",_c=(e)=>e.slice(1,-1),Vo=(e,t)=>{let r=e.split("/").slice(0,-1);for(let i of t.split("/")){if(i===""||i===".")continue;if(i===".."){if(!r.length)return null;r.pop()}else r.push(i)}return r.join("/")},Wo=(e)=>{if(typeof URL<"u"&&typeof URL.createObjectURL==="function"&&typeof Blob<"u")return URL.createObjectURL(new Blob([e],{type:"text/javascript"}));return`data:text/javascript;base64,${btoa(unescape(encodeURIComponent(e)))}`};function Xo({components:e,embeddedPackages:t={},debug:r=!1,hmr:i=!1}={}){if(!e||typeof e.read!=="function")throw TypeError("rip: createModuleLoader requires a component registry");let n=new Map,s=new Map,a=new Map,o=new Map,l=new Map,c=new Set,f=(g)=>{if(typeof g==="string"&&g.startsWith("blob:")&&typeof URL?.revokeObjectURL==="function")URL.revokeObjectURL(g)},h=async()=>{let g=[...c];c.clear(),await Promise.allSettled(g.map(async(p)=>f(await p)))},u=(g,p)=>{if(a.has(g))return a.get(g);globalThis[Gr]??={};let R=globalThis[Gr][g];if(R&&R!==p)throw Error(`rip: two copies of embedded module '${g}' are active on one page`);globalThis[Gr][g]=p;let b=[`const ns = globalThis['${Gr}'][${JSON.stringify(g)}];`];for(let y of Object.keys(p))if(y==="default")b.push("export default ns['default'];");else if(/^[A-Za-z_$][\w$]*$/.test(y))b.push(`export const ${y} = ns[${JSON.stringify(y)}];`);else throw Error(`rip: embedded module '${g}' exports '${y}', which cannot cross the module bridge`);let _=Wo(b.join(` +`));return a.set(g,_),_},d=(g,p)=>{let R=_c(g),b=Tc.get(R)??R.match(wc)?.[1];if(b)return{bridge:`runtime:${b}`,namespace:Yo[b]};let _=(k)=>{try{return e.exists(k)}catch{return!1}},y=R.endsWith(".rip")?"":` — did you mean '${R}.rip'?`;if(R.startsWith("./")||R.startsWith("../")){let k=Vo(p,R);if(k&&_(k))return{path:k};if(!p.startsWith("rip/")){let O=Vo(`app/${p}`,R),A=O?.startsWith("app/")?O.slice(4):O;if(A&&_(A))return{path:A}}throw Error(`rip: '${p}' imports '${R}', which is not in the bundle${y}`)}let m=R.match(/^rip\/([\w-]+)(?:\/(.+))?$/);if(m){if(_(R))return{path:R};let k=`rip/${m[1]}`,O=t[R];if(O)return{bridge:`package:${R}`,namespace:O};if(t[k])throw Error(`rip: '${p}' imports '${R}', which '${k}' does not export in the browser`);let A=m[2]?m[2].endsWith(".rip")?m[2]:`${m[2]}.rip`:"index.rip",x=`${k}/${A}`;if(!_(x))throw Error(`rip: '${p}' imports '${R}', but '${x}' is not in the bundle — `+"only packages declaring browser safety travel to the browser");return{path:x}}throw Error(`rip: '${p}' imports '${R}', which is not loadable in a browser — `+"server-only and unknown modules never travel to the browser")},S=(g,p)=>{if(p.includes(g))throw Error(`rip: import cycle through '${g}' (${p.join(" -> ")} -> ${g})`);if(n.has(g))return n.get(g);let R=(async()=>{let b=e.read(g);if(b===void 0)throw Error(`rip: '${g}' is not in the bundle`);let _=ui(b,{path:g,runtimeDelivery:"import",browserModule:!0,...i?{hmr:!0}:null}),y=_.code;for(let m of[..._.imports].reverse()){let k=d(m.specifier,g);if(k.path){let A=o.get(k.path);if(!A)o.set(k.path,A=new Set);A.add(g);let x=l.get(g);if(!x)l.set(g,x=new Set);x.add(k.path)}let O=k.bridge?u(k.bridge,k.namespace):await S(k.path,[...p,g]);y=`${y.slice(0,m.start)}${JSON.stringify(O)}${y.slice(m.end)}`}if(r){let m=btoa(unescape(encodeURIComponent(JSON.stringify(_.map))));y+=` +//# sourceMappingURL=data:application/json;charset=utf-8;base64,${m}`}return Wo(y)})();return n.set(g,R),R.catch(()=>n.delete(g)),R};return{async import(g){if(s.has(g))return s.get(g);let R=await import(await S(g,[]));return s.set(g,R),e.setCompiled(g,{...R}),R},invalidate(g){let p=[g],R=new Set;while(p.length){let b=p.pop();if(R.has(b))continue;if(R.add(b),n.has(b))c.add(n.get(b));n.delete(b),s.delete(b);for(let _ of o.get(b)??[])p.push(_);o.delete(b);for(let _ of l.get(b)??[]){let y=o.get(_);if(y?.delete(b),y?.size===0)o.delete(_)}l.delete(b)}return R},collect:h,dispose(){for(let g of n.values())c.add(g);n.clear(),s.clear(),o.clear(),l.clear();for(let g of a.values())f(g);a.clear(),h()}}}var Jo=Object.keys(zo),Nc=Jo.map((e)=>zo[e]),Ac=()=>{if(typeof document>"u"||typeof document.querySelectorAll!=="function")throw Error("rip: processRipScripts requires a browser or an injected host");return{scripts(){return Array.from(document.querySelectorAll('script[type="text/rip"]')).map((e)=>({src:e.getAttribute("src"),text:e.textContent??""}))},async fetchText(e){let t=await fetch(e);if(!t.ok)throw Error(`${t.status} ${t.statusText}`);return t.text()},prepare(e,t){return Function(...t,e)},async ready(){if(document.readyState==="loading")await new Promise((e)=>document.addEventListener("DOMContentLoaded",e,{once:!0}))},report(e){console.error("[Rip]",String(e))}}},vc=(e)=>{let t=e.split(` `),r=null;for(let i of t){if(!i.trim())continue;let n=i.match(/^[ \t]*/)[0];if(r===null){r=n;continue}let s=0;while(si.trim()?i.slice(r.length):i).join(` -`)},Oc=(e)=>{try{return new URL(e,"https://rip.invalid/").href}catch{return e}};async function ff(e=null){let t=e??Ac();await t.ready?.();let r=[],i=new Set,n=(u)=>{let m=Oc(u);if(i.has(m))throw Error(`rip: script source '${u}' is listed more than once`);i.add(m)};for(let u of t.dataSrc?.()??[])n(u),r.push({label:u,text:null,url:u});let s=0;for(let u of t.scripts?.()??[])if(s+=1,u.src)n(u.src),r.push({label:u.src,text:null,url:u.src});else r.push({label:``,text:vc(u.text??"")});let a=[],o=(u,m)=>{a.push({label:u,error:m}),t.report?.(m)},l=[];for(let u of r){if(u.text!==null){l.push(u);continue}if(typeof t.fetchText!=="function")throw Error("rip: this host loads script sources by URL but provides no fetchText");try{l.push({...u,text:await t.fetchText(u.url)})}catch(m){o(u.label,Error(`rip: failed to load '${u.label}': ${m.message}`))}}let c=l,f=null;while(c.length){let u=[],m=1,S=[];for(let g of c){u.push({source:g,start:m});let d=g.text.endsWith(` -`)?g.text.slice(0,-1):g.text;S.push(d),m+=d.split(` +`)},Oc=(e)=>{try{return new URL(e,"https://rip.invalid/").href}catch{return e}};async function ff(e=null){let t=e??Ac();await t.ready?.();let r=[],i=new Set,n=(u)=>{let d=Oc(u);if(i.has(d))throw Error(`rip: script source '${u}' is listed more than once`);i.add(d)};for(let u of t.dataSrc?.()??[])n(u),r.push({label:u,text:null,url:u});let s=0;for(let u of t.scripts?.()??[])if(s+=1,u.src)n(u.src),r.push({label:u.src,text:null,url:u.src});else r.push({label:``,text:vc(u.text??"")});let a=[],o=(u,d)=>{a.push({label:u,error:d}),t.report?.(d)},l=[];for(let u of r){if(u.text!==null){l.push(u);continue}if(typeof t.fetchText!=="function")throw Error("rip: this host loads script sources by URL but provides no fetchText");try{l.push({...u,text:await t.fetchText(u.url)})}catch(d){o(u.label,Error(`rip: failed to load '${u.label}': ${d.message}`))}}let c=l,f=null;while(c.length){let u=[],d=1,S=[];for(let g of c){u.push({source:g,start:d});let p=g.text.endsWith(` +`)?g.text.slice(0,-1):g.text;S.push(p),d+=p.split(` `).length}try{f=ui(S.join(` -`),{path:"",runtimeDelivery:"none",script:!0});break}catch(g){let d=u[0];for(let _ of u)if(typeof g.line==="number"&&_.start<=g.line)d=_;let R=typeof g.line==="number"?g.line-d.start+1:null,b=Error(`rip: ${d.source.label}${R?`:${R}`:""} failed to compile: ${g.message}`);b.cause=g,b.line=R,b.col=g.col,o(d.source.label,b),c=c.filter((_)=>_!==d.source),f=null}}let h=!1;if(f){let u=`'use strict'; +`),{path:"",runtimeDelivery:"none",script:!0});break}catch(g){let p=u[0];for(let _ of u)if(typeof g.line==="number"&&_.start<=g.line)p=_;let R=typeof g.line==="number"?g.line-p.start+1:null,b=Error(`rip: ${p.source.label}${R?`:${R}`:""} failed to compile: ${g.message}`);b.cause=g,b.line=R,b.col=g.col,o(p.source.label,b),c=c.filter((_)=>_!==p.source),f=null}}let h=!1;if(f){let u=`'use strict'; return (async () => { ${f.code} -})();`,m=null;try{m=t.prepare(u,Jo)}catch(S){let g=Error("rip: script evaluation is blocked by Content Security Policy — running Rip from script tags requires 'unsafe-eval' "+"(script-src). Serve precompiled JavaScript or relax the policy for this page.");g.cause=S,o("",g)}if(m)try{await m(...Nc),h=!0}catch(S){o("",S)}}return{count:c.length,executed:h,failures:a}}var Ic="data-rip-hmr-overlay",Xe=null,Ho=(e)=>{if(e==null)return"Unknown update failure";if(typeof e==="string")return e;return e.message||e.stack||String(e)},Go=(e)=>{if(e==null||typeof e!=="object")return null;if(typeof e.path==="string"&&e.path)return e.path;if(typeof e.file==="string"&&e.file)return e.file;return null};function Ko(e,t){if(typeof document>"u"||typeof document.createElement!=="function")return null;let r=document.body||document.documentElement;if(!r)return null;_e();let i=document.createElement("div");i.setAttribute(Ic,e||"compile"),i.setAttribute("role","alert"),i.style.cssText=["position:fixed","inset:0","z-index:2147483646","display:flex","align-items:flex-start","justify-content:center","padding:2rem 1rem","box-sizing:border-box","background:rgba(15,23,42,0.45)","overflow:auto"].join(";");let n=document.createElement("div");n.style.cssText="position:relative;max-width:52rem;width:100%";let s=document.createElement("pre");s.style.cssText=["margin:0","padding:1rem 1.25rem","color:#b91c1c","background:#fef2f2","border:1px solid #fecaca","border-radius:8px","font:13px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace","white-space:pre-wrap","overflow-wrap:anywhere"].join(";");let a=e==="activate"?"Rip: update failed to activate":"Rip: update failed to compile",o=Go(t),l=o?`${a} +})();`,d=null;try{d=t.prepare(u,Jo)}catch(S){let g=Error("rip: script evaluation is blocked by Content Security Policy — running Rip from script tags requires 'unsafe-eval' "+"(script-src). Serve precompiled JavaScript or relax the policy for this page.");g.cause=S,o("",g)}if(d)try{await d(...Nc),h=!0}catch(S){o("",S)}}return{count:c.length,executed:h,failures:a}}var Ic="data-rip-hmr-overlay",Xe=null,Ho=(e)=>{if(e==null)return"Unknown update failure";if(typeof e==="string")return e;return e.message||e.stack||String(e)},Go=(e)=>{if(e==null||typeof e!=="object")return null;if(typeof e.path==="string"&&e.path)return e.path;if(typeof e.file==="string"&&e.file)return e.file;return null};function Ko(e,t){if(typeof document>"u"||typeof document.createElement!=="function")return null;let r=document.body||document.documentElement;if(!r)return null;_e();let i=document.createElement("div");i.setAttribute(Ic,e||"compile"),i.setAttribute("role","alert"),i.style.cssText=["position:fixed","inset:0","z-index:2147483646","display:flex","align-items:flex-start","justify-content:center","padding:2rem 1rem","box-sizing:border-box","background:rgba(15,23,42,0.45)","overflow:auto"].join(";");let n=document.createElement("div");n.style.cssText="position:relative;max-width:52rem;width:100%";let s=document.createElement("pre");s.style.cssText=["margin:0","padding:1rem 1.25rem","color:#b91c1c","background:#fef2f2","border:1px solid #fecaca","border-radius:8px","font:13px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace","white-space:pre-wrap","overflow-wrap:anywhere"].join(";");let a=e==="activate"?"Rip: update failed to activate":"Rip: update failed to compile",o=Go(t),l=o?`${a} ${o} `:`${a} -`;s.textContent=l+Ho(t);let c=document.createElement("button");c.type="button",c.textContent="Dismiss",c.style.cssText=["position:absolute","top:0.5rem","right:0.5rem","padding:0.4rem 0.75rem","font:12px/1.2 system-ui,sans-serif","color:#0f172a","background:#fff","border:1px solid #cbd5e1","border-radius:6px","cursor:pointer"].join(";"),c.addEventListener("click",()=>_e()),n.appendChild(s),n.appendChild(c),i.appendChild(n),i.addEventListener("click",(h)=>{if(h.target===i)_e()});let f=(h)=>{if(h.key==="Escape")_e()};if(i._ripOnKey=f,typeof document.addEventListener==="function")document.addEventListener("keydown",f);return r.appendChild(i),Xe=i,Ec("reject",{kind:e||"compile",path:Go(t),message:Ho(t).slice(0,500)}),i}function _e(){if(!Xe)return;let e=Xe._ripOnKey;if(e&&typeof document<"u"&&typeof document.removeEventListener==="function")document.removeEventListener("keydown",e);Xe.remove?.(),Xe=null}function hf(){return Xe}var{validatePrepared:$c}=Hr,Zo=(e)=>e!==null&&typeof e==="object"&&!Array.isArray(e),hi=(e)=>typeof e==="string"&&/^[A-Za-z0-9_]{6}$/.test(e),Qo=(e,t=!1)=>{if(typeof e!=="string"||e.length===0||e.startsWith("/")||e.includes("\\"))return!1;let r=e.split("/");if(r.some((i)=>!i||i==="."||i===".."||i.startsWith(".")))return!1;if(t){let i=r.at(-1);if(i===".rip"||!i.endsWith(".rip")||r.slice(0,-1).some((n)=>n.endsWith(".rip")))return!1}return!0},e2=(e,t)=>{let r=Object.keys(e).sort(),i=[...t].sort();return r.length===i.length&&r.every((n,s)=>n===i[s])},Dc=(e)=>{if(!Zo(e)||!e2(e,["hash","list"])||!hi(e.hash)||!Array.isArray(e.list))throw Error("rip: bundle must contain exactly one hash and one source list");let t={},r=null;for(let i of e.list){if(!Array.isArray(i)||i.length!==2||!Qo(i[0],!0)||typeof i[1]!=="string"||r!==null&&r>=i[0])throw Error(`rip: bundle has a malformed or unsorted source entry: ${JSON.stringify(i)}`);if(i[0]==="rip/app"||i[0].startsWith("rip/app/"))throw Error(`rip: bundle source '${i[0]}' collides with embedded package 'rip/app'`);r=i[0],t[i[0]]=i[1]}return t},xc=(e)=>{if(!Zo(e)||!e2(e,["from","hash","list"])||!hi(e.from)||!hi(e.hash)||!Array.isArray(e.list))throw Error("rip: publication change must contain exactly from, hash, and list");let t=null,r=[];for(let i of e.list){if(!Array.isArray(i)||i.length<1||i.length>2||!Qo(i[0])||t!==null&&t>=i[0])throw Error(`rip: publication change has a malformed or unsorted entry: ${JSON.stringify(i)}`);let[n]=i,s=i.length===2&&i[1]===null;if(n.endsWith(".rip")){if(i.length!==2||!s&&typeof i[1]!=="string")throw Error(`rip: Rip change '${n}' must carry source or null`)}else if(i.length===2&&!s)throw Error(`rip: ordinary asset change '${n}' cannot carry content`);t=n,r.push({path:n,source:i[1],deletion:s})}return{from:e.from,hash:e.hash,entries:r}},Cc=async(e)=>{let t=await fetch(e);if(!t.ok)throw Error(`rip: failed to fetch bundle '${e}': ${t.status} ${t.statusText}`);return t.text()};async function Pc(e,{fetchText:t=Cc}={}){if(!e)throw Error("rip: fetchBundle requires a url");let r=await t(e),i=typeof r==="string"?r:r?.text;if(typeof i!=="string")throw Error(`rip: bundle '${e}' fetch did not return text`);try{return JSON.parse(i)}catch(n){throw Error(`rip: bundle '${e}' is not valid JSON: ${n.message}`)}}var Lc=(e,t,{hmr:r=!1}={})=>{let i=new Map(Object.entries(e)),n=new Map,a=Xo({components:{read:(o)=>i.get(o),exists:(o)=>i.has(o),getCompiled:(o)=>n.get(o),setCompiled:(o,l)=>void n.set(o,l)},embeddedPackages:qo,debug:t,hmr:r});return{sources(o){i=new Map(Object.entries(o))},async compile(o=[]){let l=new Set;for(let c of o)for(let f of a.invalidate(c))l.add(f);try{let c={};for(let f of i.keys())if(!f.startsWith("rip/"))c[f]={...await a.import(f)};return{compiled:c,invalidated:[...l]}}finally{await a.collect()}},dispose:()=>a.dispose()}},Mc=(e,t)=>{let r=e.split("?")[0];return`${r.slice(0,r.lastIndexOf("/")+1)}${t}`};async function uf(e={}){if(!e.bundle&&!e.url)throw Error("rip: bootApp requires a bundle or a url");let t=e.bundle??await Pc(e.url,{fetchText:e.fetchText}),r=Dc(t),i=e.debug===!0,n=e.watch===!0||e.feed!=null,s=Lc(r,i,{hmr:n}),a=Fr(),o=(I)=>I["seed.rip"]?.seed,l=(I)=>Mr({bundle:{compiled:I,seed:o(I)},components:a,target:e.target,adapter:e.adapter,base:e.base,hash:e.hash,persist:e.persist,storage:e.storage,onError:e.onError}),c;try{let{compiled:I}=await s.compile();a.activate({hash:t.hash,sources:r,compiled:I}),c=l(I)}catch(I){throw s.dispose(),I}let f=null,h=!1,u={},m=e.feed?.report??((...I)=>console.error(...I)),S=e.feed?.report??((...I)=>console.info(...I)),g=(I)=>{if(_e(),S(`[Rip] reloading${I?` — ${I}`:""}`),typeof e.reload==="function")e.reload(I);else if(typeof location<"u")location.reload()},d=(I)=>{if(typeof document>"u"||typeof document.querySelectorAll!=="function")return[];let A=new Set,x=new URL(typeof location>"u"?"http://rip.invalid/":location.href),O=new URL("/",x);O.pathname=`/${I.replaceAll("%","%25")}`;let G=O.pathname;for(let K of document.querySelectorAll('link[rel="stylesheet"]')){let V=K.getAttribute("data-rip-css")===I;if(V)A.add(K);let Z=K.getAttribute("href")||"";if(!Z)continue;let W;try{W=new URL(Z,x)}catch{continue}if(!V&&W.origin===x.origin&&(W.pathname===G||W.pathname.endsWith(G)))A.add(K)}return[...A]},R=(I,A)=>{for(let x of d(I)){let O=x.getAttribute("href")||x.href,G=O.indexOf("#"),K=G<0?"":O.slice(G),Z=(G<0?O:O.slice(0,G)).split("?")[0];x.setAttribute("href",`${Z}?hash=${encodeURIComponent(A)}${K}`),x.disabled=!1}},b=Vr({renderer:{remountDirty:(I,A)=>c.renderer.remountDirty(I,A)},escape:async()=>"reload",report:S}),_=new Set,y=async(I)=>{let A;try{A=xc(I)}catch(C){return m("[Rip] malformed publication change:",C),"reload"}if(a.hash()===A.hash)return _.clear(),_e(),!0;if(_.has(A.hash))return!0;let x=A.from;if(a.hash()!==A.from)if(_.has(A.from))x=a.hash();else return"reload";let O=()=>Object.fromEntries(a.listAll().map((C)=>[C,a.read(C)])),G=O(),K=[];for(let C of A.entries){if(!C.path.endsWith(".rip"))continue;if(K.push(C.path),C.deletion)delete G[C.path];else G[C.path]=C.source}let V,Z;try{s.sources(G);let C=await s.compile(K);V=C.compiled,Z=C.invalidated.filter((w)=>!w.startsWith("rip/")),$c({compiled:V,seed:o(V)})}catch(C){return s.sources(O()),_.add(A.hash),m("[Rip] changed Rip program failed to compile:",C),Ko("compile",C),"rejected"}let W=A.entries.some((C)=>!C.path.endsWith(".rip")&&(!C.path.endsWith(".css")||C.deletion)),j=c.router.current,q=new Set([...j?.layouts??j?.route?.layouts??[],j?.route?.file].filter(Boolean)),t1=A.entries.some((C)=>C.deletion&&C.path.endsWith(".rip")&&q.has(C.path));if(W||t1)return s.sources(O()),"reload";let M=null,N=!1;try{M=a.stage(x,{hash:A.hash,sources:G,compiled:V},K);let C=Z.length?await b.absorb(Z,M.components):"ignore";M.commit(),N=!0,_.clear();for(let w of A.entries)if(w.path.endsWith(".css"))R(w.path,A.hash);if(_e(),C==="reload")return S("[Rip] committed App update requires a document reload"),"reload";return!0}catch(C){if(M&&!N)M.rollback();return s.sources(O()),_.add(A.hash),m("[Rip] changed Rip program failed to activate:",C),Ko("activate",C),"rejected"}};if(n){let I=e.latestUrl??e.feed?.latestUrl??(e.url?Mc(e.url,"latest.json"):"/latest.json");f=Ur({hash:()=>a.hash(),apply:y,reload:g},{...e.feed??{},latestUrl:I,report:m})}return Object.assign(u,c,{workspace:a,feed:f,destroy:()=>{if(h)return;h=!0,_e(),f?.close(),c.destroy(),s.dispose()}})}function mf(e={}){return Xo({...e,embeddedPackages:{...qo,...e.embeddedPackages}})}function df(e,t={}){if(t.runtimeDelivery!==void 0&&t.runtimeDelivery!=="none")throw Error(`rip: browser compilation delivers runtimes by scope; runtimeDelivery '${t.runtimeDelivery}' is not available here`);return ui(e,{...t,runtimeDelivery:"none"})}export{Hr as app,uf as bootApp,_e as clearHmrOverlay,ui as compile,df as compileToJS,mf as createModuleLoader,qo as embeddedPackages,Pc as fetchBundle,hf as hmrOverlayElement,ff as processRipScripts,zo as runtimes,Ko as showHmrOverlay}; +`;s.textContent=l+Ho(t);let c=document.createElement("button");c.type="button",c.textContent="Dismiss",c.style.cssText=["position:absolute","top:0.5rem","right:0.5rem","padding:0.4rem 0.75rem","font:12px/1.2 system-ui,sans-serif","color:#0f172a","background:#fff","border:1px solid #cbd5e1","border-radius:6px","cursor:pointer"].join(";"),c.addEventListener("click",()=>_e()),n.appendChild(s),n.appendChild(c),i.appendChild(n),i.addEventListener("click",(h)=>{if(h.target===i)_e()});let f=(h)=>{if(h.key==="Escape")_e()};if(i._ripOnKey=f,typeof document.addEventListener==="function")document.addEventListener("keydown",f);return r.appendChild(i),Xe=i,Ec("reject",{kind:e||"compile",path:Go(t),message:Ho(t).slice(0,500)}),i}function _e(){if(!Xe)return;let e=Xe._ripOnKey;if(e&&typeof document<"u"&&typeof document.removeEventListener==="function")document.removeEventListener("keydown",e);Xe.remove?.(),Xe=null}function hf(){return Xe}var{validatePrepared:$c}=Hr,Zo=(e)=>e!==null&&typeof e==="object"&&!Array.isArray(e),hi=(e)=>typeof e==="string"&&/^[A-Za-z0-9_]{6}$/.test(e),Qo=(e,t=!1)=>{if(typeof e!=="string"||e.length===0||e.startsWith("/")||e.includes("\\"))return!1;let r=e.split("/");if(r.some((i)=>!i||i==="."||i===".."||i.startsWith(".")))return!1;if(t){let i=r.at(-1);if(i===".rip"||!i.endsWith(".rip")||r.slice(0,-1).some((n)=>n.endsWith(".rip")))return!1}return!0},e2=(e,t)=>{let r=Object.keys(e).sort(),i=[...t].sort();return r.length===i.length&&r.every((n,s)=>n===i[s])},Dc=(e)=>{if(!Zo(e)||!e2(e,["hash","list"])||!hi(e.hash)||!Array.isArray(e.list))throw Error("rip: bundle must contain exactly one hash and one source list");let t={},r=null;for(let i of e.list){if(!Array.isArray(i)||i.length!==2||!Qo(i[0],!0)||typeof i[1]!=="string"||r!==null&&r>=i[0])throw Error(`rip: bundle has a malformed or unsorted source entry: ${JSON.stringify(i)}`);if(i[0]==="rip/app"||i[0].startsWith("rip/app/"))throw Error(`rip: bundle source '${i[0]}' collides with embedded package 'rip/app'`);r=i[0],t[i[0]]=i[1]}return t},xc=(e)=>{if(!Zo(e)||!e2(e,["from","hash","list"])||!hi(e.from)||!hi(e.hash)||!Array.isArray(e.list))throw Error("rip: publication change must contain exactly from, hash, and list");let t=null,r=[];for(let i of e.list){if(!Array.isArray(i)||i.length<1||i.length>2||!Qo(i[0])||t!==null&&t>=i[0])throw Error(`rip: publication change has a malformed or unsorted entry: ${JSON.stringify(i)}`);let[n]=i,s=i.length===2&&i[1]===null;if(n.endsWith(".rip")){if(i.length!==2||!s&&typeof i[1]!=="string")throw Error(`rip: Rip change '${n}' must carry source or null`)}else if(i.length===2&&!s)throw Error(`rip: ordinary asset change '${n}' cannot carry content`);t=n,r.push({path:n,source:i[1],deletion:s})}return{from:e.from,hash:e.hash,entries:r}},Cc=async(e)=>{let t=await fetch(e);if(!t.ok)throw Error(`rip: failed to fetch bundle '${e}': ${t.status} ${t.statusText}`);return t.text()};async function Pc(e,{fetchText:t=Cc}={}){if(!e)throw Error("rip: fetchBundle requires a url");let r=await t(e),i=typeof r==="string"?r:r?.text;if(typeof i!=="string")throw Error(`rip: bundle '${e}' fetch did not return text`);try{return JSON.parse(i)}catch(n){throw Error(`rip: bundle '${e}' is not valid JSON: ${n.message}`)}}var Lc=(e,t,{hmr:r=!1}={})=>{let i=new Map(Object.entries(e)),n=new Map,a=Xo({components:{read:(o)=>i.get(o),exists:(o)=>i.has(o),getCompiled:(o)=>n.get(o),setCompiled:(o,l)=>void n.set(o,l)},embeddedPackages:qo,debug:t,hmr:r});return{sources(o){i=new Map(Object.entries(o))},async compile(o=[]){let l=new Set;for(let c of o)for(let f of a.invalidate(c))l.add(f);try{let c={};for(let f of i.keys())if(!f.startsWith("rip/"))c[f]={...await a.import(f)};return{compiled:c,invalidated:[...l]}}finally{await a.collect()}},dispose:()=>a.dispose()}},Mc=(e,t)=>{let r=e.split("?")[0];return`${r.slice(0,r.lastIndexOf("/")+1)}${t}`};async function uf(e={}){if(!e.bundle&&!e.url)throw Error("rip: bootApp requires a bundle or a url");let t=e.bundle??await Pc(e.url,{fetchText:e.fetchText}),r=Dc(t),i=e.debug===!0,n=e.watch===!0||e.feed!=null,s=Lc(r,i,{hmr:n}),a=Fr(),o=(O)=>O["seed.rip"]?.seed,l=(O)=>Mr({bundle:{compiled:O,seed:o(O)},components:a,target:e.target,adapter:e.adapter,base:e.base,hash:e.hash,persist:e.persist,storage:e.storage,onError:e.onError}),c;try{let{compiled:O}=await s.compile();a.activate({hash:t.hash,sources:r,compiled:O}),c=l(O)}catch(O){throw s.dispose(),O}let f=null,h=!1,u={},d=e.feed?.report??((...O)=>console.error(...O)),S=e.feed?.report??((...O)=>console.info(...O)),g=(O)=>{if(_e(),S(`[Rip] reloading${O?` — ${O}`:""}`),typeof e.reload==="function")e.reload(O);else if(typeof location<"u")location.reload()},p=(O)=>{if(typeof document>"u"||typeof document.querySelectorAll!=="function")return[];let A=new Set,x=new URL(typeof location>"u"?"http://rip.invalid/":location.href),I=new URL("/",x);I.pathname=`/${O.replaceAll("%","%25")}`;let H=I.pathname;for(let G of document.querySelectorAll('link[rel="stylesheet"]')){let K=G.getAttribute("data-rip-css")===O;if(K)A.add(G);let Z=G.getAttribute("href")||"";if(!Z)continue;let V;try{V=new URL(Z,x)}catch{continue}if(!K&&V.origin===x.origin&&(V.pathname===H||V.pathname.endsWith(H)))A.add(G)}return[...A]},R=(O,A)=>{for(let x of p(O)){let I=x.getAttribute("href")||x.href,H=I.indexOf("#"),G=H<0?"":I.slice(H),Z=(H<0?I:I.slice(0,H)).split("?")[0];x.setAttribute("href",`${Z}?hash=${encodeURIComponent(A)}${G}`),x.disabled=!1}},b=Vr({renderer:{remountDirty:(O,A)=>c.renderer.remountDirty(O,A)},escape:async()=>"reload",report:S}),_=new Set,y=async(O)=>{let A;try{A=xc(O)}catch(C){return d("[Rip] malformed publication change:",C),"reload"}if(a.hash()===A.hash)return _.clear(),_e(),!0;if(_.has(A.hash))return!0;let x=A.from;if(a.hash()!==A.from)if(_.has(A.from))x=a.hash();else return"reload";let I=()=>Object.fromEntries(a.listAll().map((C)=>[C,a.read(C)])),H=I(),G=[];for(let C of A.entries){if(!C.path.endsWith(".rip"))continue;if(G.push(C.path),C.deletion)delete H[C.path];else H[C.path]=C.source}let K,Z;try{s.sources(H);let C=await s.compile(G);K=C.compiled,Z=C.invalidated.filter((w)=>!w.startsWith("rip/")),$c({compiled:K,seed:o(K)})}catch(C){return s.sources(I()),_.add(A.hash),d("[Rip] changed Rip program failed to compile:",C),Ko("compile",C),"rejected"}let V=A.entries.some((C)=>!C.path.endsWith(".rip")&&(!C.path.endsWith(".css")||C.deletion)),j=c.router.current,q=new Set([...j?.layouts??j?.route?.layouts??[],j?.route?.file].filter(Boolean)),t1=A.entries.some((C)=>C.deletion&&C.path.endsWith(".rip")&&q.has(C.path));if(V||t1)return s.sources(I()),"reload";let M=null,N=!1;try{M=a.stage(x,{hash:A.hash,sources:H,compiled:K},G);let C=Z.length?await b.absorb(Z,M.components):"ignore";M.commit(),N=!0,_.clear();for(let w of A.entries)if(w.path.endsWith(".css"))R(w.path,A.hash);if(_e(),C==="reload")return S("[Rip] committed App update requires a document reload"),"reload";return!0}catch(C){if(M&&!N)M.rollback();return s.sources(I()),_.add(A.hash),d("[Rip] changed Rip program failed to activate:",C),Ko("activate",C),"rejected"}};if(n){let O=e.latestUrl??e.feed?.latestUrl??(e.url?Mc(e.url,"latest.json"):"/latest.json");f=Ur({hash:()=>a.hash(),apply:y,reload:g},{...e.feed??{},latestUrl:O,report:d})}return Object.assign(u,c,{workspace:a,feed:f,destroy:()=>{if(h)return;h=!0,_e(),f?.close(),c.destroy(),s.dispose()}})}function df(e={}){return Xo({...e,embeddedPackages:{...qo,...e.embeddedPackages}})}function mf(e,t={}){if(t.runtimeDelivery!==void 0&&t.runtimeDelivery!=="none")throw Error(`rip: browser compilation delivers runtimes by scope; runtimeDelivery '${t.runtimeDelivery}' is not available here`);return ui(e,{...t,runtimeDelivery:"none"})}export{Hr as app,uf as bootApp,_e as clearHmrOverlay,ui as compile,mf as compileToJS,df as createModuleLoader,qo as embeddedPackages,Pc as fetchBundle,hf as hmrOverlayElement,ff as processRipScripts,zo as runtimes,Ko as showHmrOverlay}; diff --git a/dist/@rip/rip.min.js.br b/dist/@rip/rip.min.js.br index 3978395d..0cfe1fef 100644 Binary files a/dist/@rip/rip.min.js.br and b/dist/@rip/rip.min.js.br differ diff --git a/packages/pdf/pdf.rip b/packages/pdf/pdf.rip index e91a6534..7a6e2538 100644 --- a/packages/pdf/pdf.rip +++ b/packages/pdf/pdf.rip @@ -359,7 +359,7 @@ postScriptName = (dv, bytes, name) -> at = strings + dv.getUint16(p + 10) continue unless id is 6 s = if plat is 3 - (String.fromCharCode dv.getUint16(at + j * 2) for j in [0...len / 2]).join '' + (String.fromCharCode dv.getUint16(at + j * 2) for j in [0...len >> 1]).join '' else (String.fromCharCode bytes[at + j] for j in [0...len]).join '' s = s.replace /[^A-Za-z0-9+-]/g, '' diff --git a/src/emitter.js b/src/emitter.js index 5bf5ce0b..9a370c9a 100644 --- a/src/emitter.js +++ b/src/emitter.js @@ -6430,53 +6430,68 @@ class Emitter { return names; } - // Ranged for with a BY step. Literal steps take static-direction - // headers (a positive literal ascends toward TO, a negative one - // descends); every other step binds ONCE and the header tests its - // sign, so both directions terminate and a zero step iterates - // nothing (a zero LITERAL rejects — it never advances). Impure - // bounds bind once beside the counter. - rangedByHeader(node, markVar, vars, iter, step) { + // Ranged for, every form. Direction: a literal step's sign decides + // (positive ascends, negative descends, zero rejects — it never + // advances); a variable step binds ONCE and the header tests its + // sign; with no step, two literal bounds decide statically and any + // variable bound ascends (`by -1` descends). Impure bounds bind once + // beside the counter. A second loop variable is the iteration index. + rangedHeader(node, markVar, vars, iter, step) { const [dots, from, to] = iter; const cmpUp = dots === '..' ? '<=' : '<'; const cmpDown = dots === '..' ? '>=' : '>'; const numText = (s) => (typeof s === 'string' && /^[0-9.]/.test(s) ? s : null); - const posLit = numText(step) ?? - (isNode(step) && step[0] === '+' && step.length === 2 ? numText(step[1]) : null); - const negLit = isNode(step) && step[0] === '-' && step.length === 2 ? numText(step[1]) : null; - if ((posLit ?? negLit) !== null && Number((posLit ?? negLit).replace(/_/g, '')) === 0) { + const signedText = (x) => numText(x) ?? + (isNode(x) && (x[0] === '+' || x[0] === '-') && x.length === 2 && numText(x[1]) !== null + ? `${x[0] === '-' ? '-' : ''}${numText(x[1])}` + : null); + const literal = (x) => { + const text = signedText(x); + return text === null ? null : Number(text.replace(/_/g, '')); + }; + const stepLit = step === null ? null : literal(step); + if (stepLit === 0) { throw this.positionedError(node, 'emitter: a BY step of 0 never advances the loop'); } + const fromLit = literal(from); + const toLit = literal(to); + const descends = step === null + ? fromLit !== null && toLit !== null && fromLit > toLit + : stepLit !== null && stepLit < 0; const v = vars[0]; - const toRef = this.singleReadIterable(to) ? null : this.loopTempName('_ref'); - const stepRef = posLit !== null || negLit !== null ? null : this.loopTempName('_step'); + const idx = vars.length === 2 ? vars[1] : null; + const toRef = toLit !== null || this.singleReadIterable(to) ? null : this.loopTempName('_ref'); + const stepRef = step === null || stepLit !== null ? null : this.loopTempName('_step'); this.b.emit('for (let '); markVar(v); this.b.emit(' = '); this.expr(from); if (toRef !== null) { this.b.emit(`, ${toRef} = `); this.expr(to); } if (stepRef !== null) { this.b.emit(`, ${stepRef} = `); this.mark(node, 'step', () => this.expr(step)); } + if (idx !== null) { this.b.emit(', '); markVar(idx); this.b.emit(' = 0'); } const toText = () => { if (toRef !== null) this.b.emit(toRef); else this.expr(to); }; + const advance = () => { + if (stepRef !== null) this.b.emit(`${v} += ${stepRef}`); + else if (step === null) this.b.emit(descends ? `${v}--` : `${v}++`); + else { + this.b.emit(`${v} ${descends ? '-=' : '+='} `); + this.mark(node, 'step', () => this.b.emit(String(Math.abs(stepLit)))); + } + if (idx !== null) this.b.emit(`, ${idx}++`); + }; this.b.emit('; '); if (stepRef !== null) { this.b.emit(`${stepRef} > 0 ? ${v} ${cmpUp} `); toText(); this.b.emit(` : ${v} ${cmpDown} `); toText(); - this.b.emit(`; ${v} += ${stepRef})`); - } else if (negLit !== null) { - this.b.emit(`${v} ${cmpDown} `); - toText(); - this.b.emit(`; ${v} -= `); - this.mark(node, 'step', () => this.b.emit(negLit)); - this.b.emit(')'); } else { - this.b.emit(`${v} ${cmpUp} `); + this.b.emit(`${v} ${descends ? cmpDown : cmpUp} `); toText(); - this.b.emit(`; ${v} += `); - this.mark(node, 'step', () => this.b.emit(posLit)); - this.b.emit(')'); } + this.b.emit('; '); + advance(); + this.b.emit(')'); } forIn(node, ind) { @@ -6497,26 +6512,8 @@ class Emitter { if (isNode(vars[0]) && (isRange(iter) || step !== null)) { throw this.positionedError(node, 'emitter: pattern loop variables with ranges or BY steps are not supported yet'); } - if (isRange(iter) && step === null) { - const [dots, from, to] = iter; - // The condition re-reads TO each iteration: an impure bound - // binds once in the init (a pure one keeps its bytes). - const toRef = this.singleReadIterable(to) ? null : this.loopTempName('_ref'); - this.b.emit('for (let '); - markVar(vars[0]); - this.b.emit(' = '); - this.expr(from); - if (toRef) { - this.b.emit(`, ${toRef} = `); - this.expr(to); - } - this.b.emit(`; ${vars[0]} ${dots === '..' ? '<=' : '<'} `); - if (toRef) this.b.emit(toRef); - else this.expr(to); - this.b.emit(`; ${vars[0]}++) `); - this.guardedBlock(body, guard, ind); - } else if (isRange(iter)) { - this.rangedByHeader(node, markVar, vars, iter, step); + if (isRange(iter)) { + this.rangedHeader(node, markVar, vars, iter, step); this.b.emit(' '); this.guardedBlock(body, guard, ind); } else if (step !== null) { @@ -6859,8 +6856,8 @@ class Emitter { if (isNode(vars[0]) && (isRange(iter) || step !== null)) { throw this.positionedError(node, 'emitter: pattern loop variables with ranges or BY steps are not supported yet'); } - if (isRange(iter) && step !== null) { - this.rangedByHeader(node, markVar, vars, iter, step); + if (isRange(iter)) { + this.rangedHeader(node, markVar, vars, iter, step); return setups; } if (step !== null) { diff --git a/test/corpus/expected/compose4.js b/test/corpus/expected/compose4.js index b2e03369..47f3ecfa 100644 --- a/test/corpus/expected/compose4.js +++ b/test/corpus/expected/compose4.js @@ -13,7 +13,7 @@ function sum(list) { let s = sum([1, 2, 3]); let v = (() => { const result = []; - for (let n of ((s, e) => Array.from({length: Math.abs(e - s) + 1}, (_, i) => s + (i * (s <= e ? 1 : -1))))(1, 3)) { + for (let n = 1; n <= 3; n++) { result.push((n * 2)); } return result; diff --git a/test/corpus/expected/compose4.map.json b/test/corpus/expected/compose4.map.json index 53c9fe4f..c6fd0944 100644 --- a/test/corpus/expected/compose4.map.json +++ b/test/corpus/expected/compose4.map.json @@ -1 +1 @@ -{"version":3,"file":"compose4.rip.js","sources":["compose4.rip"],"sourcesContent":["# composition-and-boundary fixture: control flow in applicable\n# matrix positions, statement-position row included. Inapplicable cells:\n# - for/switch/try/loop/throw are statement-only this wave (expression\n# position rejects loudly — an IIFE lowering of\n# try/switch-as-expression is\n# IIFE wrapping, deferred, incl. as the implicit\n# return of a function body)\n# - comprehensions are VALUE-position expressions (deterministic IIFE\n# deliberately absent); statement position keeps the plain\n# statement lowering\n#, member-object position with it\ndef sum(list)\n total = 0\n parts = (n for n in list)\n total = parts.length\n return total\n\ns = sum([1, 2, 3])\nv = (n * 2 for n in [1..3])\nw = v[0]\nlabel = \"\"\nswitch s\n when 6\n label = \"six\"\n else\n label = \"other\"\n\n# trivia at a block boundary\n\ncaught = 0\ntry\n missing()\ncatch err\n caught = 1 if err\n\nu = s in [5, 6]\nloop\n s -= 1\n break unless s > 0\n\n# statement-position row: postfix update forms are valid statements\ns++ if u\n"],"names":["sum","list","total","parts","n","length","s","v","w","label","caught","missing","err","u"],"mappings":"AAWA,SAAIA,GAAG,CAACC,MACN;MAAAC,QAAQ;MACRC,QAAS;;;kBAAAC;;;;EACTF,QAAQC,MAAME;EACd,OAAOH;;IAETI,IAAIN,GAAG,CAAC,CAAC;IACTO,IAAK;;gBAAe,6FAAC,GAAG;iBAAnBH,EAAE,EAAE;;;;IACTI,IAAID,EAAE;IACNE,QAAQ;AACR,QAAOH;AACL;IACEG,QAAQ;;;IAERA,QAAQ;;;IAIZC,SAAS;AACT,IACE;EAAAC,OAAO;SACHC,KACJ;EAAA,IAAcA,KAAdF,SAAS;;IAEXG,IAAI,+EAAAP,GAAK,CAAC;AACV,aACE;EAAAA,EAAE,GAAG;EACL,IAAa,EAAAA,EAAE,EAAE;;AAGnB,IAAOO,GAAP,CAAAP"} +{"version":3,"file":"compose4.rip.js","sources":["compose4.rip"],"sourcesContent":["# composition-and-boundary fixture: control flow in applicable\n# matrix positions, statement-position row included. Inapplicable cells:\n# - for/switch/try/loop/throw are statement-only this wave (expression\n# position rejects loudly — an IIFE lowering of\n# try/switch-as-expression is\n# IIFE wrapping, deferred, incl. as the implicit\n# return of a function body)\n# - comprehensions are VALUE-position expressions (deterministic IIFE\n# deliberately absent); statement position keeps the plain\n# statement lowering\n#, member-object position with it\ndef sum(list)\n total = 0\n parts = (n for n in list)\n total = parts.length\n return total\n\ns = sum([1, 2, 3])\nv = (n * 2 for n in [1..3])\nw = v[0]\nlabel = \"\"\nswitch s\n when 6\n label = \"six\"\n else\n label = \"other\"\n\n# trivia at a block boundary\n\ncaught = 0\ntry\n missing()\ncatch err\n caught = 1 if err\n\nu = s in [5, 6]\nloop\n s -= 1\n break unless s > 0\n\n# statement-position row: postfix update forms are valid statements\ns++ if u\n"],"names":["sum","list","total","parts","n","length","s","v","w","label","caught","missing","err","u"],"mappings":"AAWA,SAAIA,GAAG,CAACC,MACN;MAAAC,QAAQ;MACRC,QAAS;;;kBAAAC;;;;EACTF,QAAQC,MAAME;EACd,OAAOH;;IAETI,IAAIN,GAAG,CAAC,CAAC;IACTO,IAAK;;;iBAAAH,EAAE,EAAE;;;;IACTI,IAAID,EAAE;IACNE,QAAQ;AACR,QAAOH;AACL;IACEG,QAAQ;;;IAERA,QAAQ;;;IAIZC,SAAS;AACT,IACE;EAAAC,OAAO;SACHC,KACJ;EAAA,IAAcA,KAAdF,SAAS;;IAEXG,IAAI,+EAAAP,GAAK,CAAC;AACV,aACE;EAAAA,EAAE,GAAG;EACL,IAAa,EAAAA,EAAE,EAAE;;AAGnB,IAAOO,GAAP,CAAAP"} diff --git a/test/rip/comprehensions.rip b/test/rip/comprehensions.rip index d29644ea..272af853 100644 --- a/test/rip/comprehensions.rip +++ b/test/rip/comprehensions.rip @@ -518,3 +518,49 @@ test 'object comprehension handles a large accumulated result', ''' out = {k: v for k, v of src} [Object.keys(out).length, out['1999']] ''', [2000, 1999] + +# ============================================================================== +# Range comprehensions share the counting header: no materialized range +# ============================================================================== + +test 'postfix range literal descending', "out = []\nout.push i for i in [3..1]\nout", [3, 2, 1] +test 'postfix range [1..n] with n = 0 runs nothing', "n = 0\nout = []\nout.push i for i in [1..n]\nout", [] +test 'comprehension variable start above end is empty', "hi = 3\nlo = 1\n(i for i in [hi..lo])", [] +test 'comprehension variable range descends with by -1', "hi = 3\nlo = 1\n(i for i in [hi..lo] by -1)", [3, 2, 1] +test 'comprehension negative literal bounds', "(i for i in [2..-2])", [2, 1, 0, -1, -2] +test 'comprehension fractional bound compares directly', "len = 5\n(i for i in [0...len / 2])", [0, 1, 2] +test 'comprehension two-variable range binds the index', "([v, i] for v, i in [1..3])", [[1, 0], [2, 1], [3, 2]] +test 'comprehension bigint bounds', "(String(i) for i in [1n..3n])", ['1', '2', '3'] +test 'comprehension nested literal ranges', "([i, j] for j in [1..2] for i in [1..2])", [[[1, 1], [1, 2]], [[2, 1], [2, 2]]] + +test 'comprehension range bounds evaluate once each', ''' + calls = 0 + top = -> calls++; 3 + [(i for i in [1..top()]), calls] + ''', [[1, 2, 3], 1] + +code 'comprehension range compiles to a counting loop', ''' + squares = (k * k for k in [1..3]) + ''', ''' + let squares = (() => { + const result = []; + for (let k = 1; k <= 3; k++) { + result.push((k * k)); + } + return result; + })(); + ''' + +code 'postfix range binds an impure bound once', ''' + total = 0 + total += k for k in [1..n] + ''', ''' + let total = 0; + (() => { + const result = []; + for (let k = 1, _ref = n; k <= _ref; k++) { + result.push((total += k)); + } + return result; + })(); + ''' diff --git a/test/rip/loops.rip b/test/rip/loops.rip index 15b4e33b..760f399a 100644 --- a/test/rip/loops.rip +++ b/test/rip/loops.rip @@ -686,3 +686,106 @@ code 'a guarded plain loop braces too', 'f x for x in xs if c', ''' ''' fail 'a var-less ranged loop with a step rejects the same way', 'for [1..5] by 2\n x = 1', 'binds no variable' + +# ============================================================================== +# Range loop direction: literal bounds decide statically, variable bounds +# ascend, `by` decides when present; one counting header in every form +# ============================================================================== + +test "range literal descending", "out = []\nfor i in [3..1]\n out.push i\nout", [3, 2, 1] +test "range literal descending exclusive", "out = []\nfor i in [3...1]\n out.push i\nout", [3, 2] +test "range equal bounds inclusive", "out = []\nfor i in [2..2]\n out.push i\nout", [2] +test "range equal bounds exclusive", "out = []\nfor i in [2...2]\n out.push i\nout", [] +test "range negative literal bounds ascending", "out = []\nfor i in [-2..2]\n out.push i\nout", [-2, -1, 0, 1, 2] +test "range negative literal bounds descending", "out = []\nfor i in [2..-2]\n out.push i\nout", [2, 1, 0, -1, -2] +test "range variable start above end is empty", "hi = 3\nlo = 1\nout = []\nfor i in [hi..lo]\n out.push i\nout", [] +test "range variable descends with by -1", "hi = 3\nlo = 1\nout = []\nfor i in [hi..lo] by -1\n out.push i\nout", [3, 2, 1] +test "range [1..n] with n = 0 is empty", "n = 0\nout = []\nfor i in [1..n]\n out.push i\nout", [] +test "range [0...count - 1] with count = 0 is empty", "count = 0\nout = []\nfor i in [0...count - 1]\n out.push i\nout", [] +test "range fractional bound compares directly", "len = 5\nout = []\nfor i in [0...len / 2]\n out.push i\nout", [0, 1, 2] +test "range literal step sign wins over literal bounds", "out = []\nfor i in [6..0] by 2\n out.push i\nfor i in [0..6] by -2\n out.push i\nout", [] +test "range two-variable form binds the index", "out = []\nfor v, i in [1..3]\n out.push [v, i]\nout", [[1, 0], [2, 1], [3, 2]] +test "range two-variable form with a step", "out = []\nfor v, i in [1..6] by 2\n out.push [v, i]\nout", [[1, 0], [3, 1], [5, 2]] +test "range two-variable form with a variable bound", "n = 3\nout = []\nfor v, i in [1..n]\n out.push [v, i]\nout", [[1, 0], [2, 1], [3, 2]] + +test "range bounds evaluate once each, in order", ''' + calls = [] + lo = -> calls.push 'lo'; 1 + hi = -> calls.push 'hi'; 3 + out = [] + for i in [lo()..hi()] + out.push i + [out, calls] + ''', [[1, 2, 3], ['lo', 'hi']] + +test "range loop variable is captured per iteration", ''' + fs = [] + for i in [1..3] + fs.push -> i + (f() for f in fs) + ''', [1, 2, 3] + +test "range tail loop returns the collected values", ''' + f = -> + for i in [3..1] + i * 2 + f() + ''', [6, 4, 2] + +test "range loop inside a generator yields each value", ''' + g = -> + for i in [1..3] + yield i + [...g()] + ''', [1, 2, 3] + +test "range value keeps runtime direction while the loop ascends", ''' + hi = 3 + lo = 1 + value = [hi..lo] + looped = [] + for i in [hi..lo] + looped.push i + [value, looped] + ''', [[3, 2, 1], []] + +code 'range literal descending compiles to a counting loop', ''' + for k in [3..1] + console.log k + ''', ''' + for (let k = 3; k >= 1; k--) { + console.log(k); + } + ''' + +code 'range negative literal bound needs no temp', ''' + for k in [2..-2] + console.log k + ''', ''' + for (let k = 2; k >= -2; k--) { + console.log(k); + } + ''' + +code 'range two-variable form declares the index in the header', ''' + for v, i in [1..3] + console.log v, i + ''', ''' + for (let v = 1, i = 0; v <= 3; v++, i++) { + console.log(v, i); + } + ''' + +code 'range tail loop collects from a counting loop', ''' + f = -> + for k in [1..3] + k + ''', ''' + let f = function() { + const _result = []; + for (let k = 1; k <= 3; k++) { + _result.push(k); + } + return _result; + }; + '''