rip-lang 3.17.0-wip.1 → 3.17.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- (()=>{var{defineProperty:ki,getOwnPropertyNames:Uu,getOwnPropertyDescriptor:qu}=Object,Su=Object.prototype.hasOwnProperty;function Eu(n){return this[n]}var du=(n)=>{var f=(Gl??=new WeakMap).get(n),e;if(f)return f;if(f=ki({},"__esModule",{value:!0}),n&&typeof n==="object"||typeof n==="function"){for(var t of Uu(n))if(!Su.call(f,t))ki(f,t,{get:Eu.bind(n,t),enumerable:!(e=qu(n,t))||e.enumerable})}return Gl.set(n,f),f},Gl;var Fu=(n)=>n;function zu(n,f){this[n]=Fu.bind(null,f)}var Nl=(n,f)=>{for(var e in f)ki(n,e,{get:f[e],enumerable:!0,configurable:!0,set:zu.bind(f,e)})};var $t={};Nl($t,{rip:()=>Gf,processRipScripts:()=>Zf,parser:()=>Nn,importRip:()=>ri,getStdlibCode:()=>oi,getReactiveRuntime:()=>di,getComponentRuntime:()=>Fi,formatSExpr:()=>Bn,formatErrorHTML:()=>el,formatError:()=>ei,compileToJS:()=>Tn,compile:()=>gi,VERSION:()=>Qf,RipError:()=>Hn,Lexer:()=>vn,Compiler:()=>Ei,CodeEmitter:()=>Fn,BUILD_DATE:()=>Wf});var Xl=`
1
+ (()=>{var{defineProperty:ki,getOwnPropertyNames:Uu,getOwnPropertyDescriptor:qu}=Object,Su=Object.prototype.hasOwnProperty;function Eu(n){return this[n]}var du=(n)=>{var f=(Gl??=new WeakMap).get(n),e;if(f)return f;if(f=ki({},"__esModule",{value:!0}),n&&typeof n==="object"||typeof n==="function"){for(var t of Uu(n))if(!Su.call(f,t))ki(f,t,{get:Eu.bind(n,t),enumerable:!(e=qu(n,t))||e.enumerable})}return Gl.set(n,f),f},Gl;var Fu=(n)=>n;function zu(n,f){this[n]=Fu.bind(null,f)}var Nl=(n,f)=>{for(var e in f)ki(n,e,{get:f[e],enumerable:!0,configurable:!0,set:zu.bind(f,e)})};var $t={};Nl($t,{rip:()=>Gf,processRipScripts:()=>Zf,parser:()=>Nn,importRip:()=>ri,getStdlibCode:()=>oi,getReactiveRuntime:()=>di,getComponentRuntime:()=>Fi,formatSExpr:()=>In,formatErrorHTML:()=>el,formatError:()=>ei,compileToJS:()=>Tn,compile:()=>gi,VERSION:()=>Qf,RipError:()=>Hn,Lexer:()=>vn,Compiler:()=>Ei,CodeEmitter:()=>Fn,BUILD_DATE:()=>Wf});var Xl=`
2
2
  // ---- Rip Schema Runtime ----------------------------------------------------
3
3
  // Four layers, lazy compilation:
4
4
  // 1 (descriptor) object passed to __schema({...}). Raw metadata.
@@ -1856,26 +1856,26 @@ function __schemaInvokeScope() { throw new Error("schema query scopes are no
1856
1856
  function __schemaTableName(m) { return null; } // returned only for :model normalize; never used downstream in browser
1857
1857
  function __schemaPluralize(w) { return w; } // identity — relations work for type-resolution but never query
1858
1858
  function __schemaFkName(m) { return ''; } // ditto
1859
- `;var z=!1,Ol=(n)=>{z=n},H=(n,f)=>{if(f&&Array.isArray(n))Object.defineProperty(n,"subLocs",{value:f,enumerable:!1,configurable:!0,writable:!0});return n},Dn=(n)=>n&&n.subLocs?n.subLocs:Array.isArray(n)?n.map(()=>null):[],Hu={symbolIds:{$accept:0,$end:1,error:2,Root:3,Body:4,Line:5,TERMINATOR:6,Expression:7,ExpressionLine:8,Statement:9,Return:10,STATEMENT:11,Import:12,Export:13,Value:14,Code:15,Operation:16,Assign:17,ReactiveAssign:18,ComputedAssign:19,ReadonlyAssign:20,Effect:21,Gate:22,If:23,Try:24,While:25,For:26,Switch:27,Class:28,Component:29,Render:30,Throw:31,Yield:32,Def:33,Enum:34,Schema:35,CodeLine:36,OperationLine:37,Assignable:38,Literal:39,Parenthetical:40,Range:41,Invocation:42,DoIife:43,This:44,Super:45,MetaProperty:46,MapLiteral:47,Atom:48,JS:49,Regex:50,UNDEFINED:51,NULL:52,BOOL:53,INFINITY:54,NAN:55,SYMBOL:56,NUMBER:57,String:58,Identifier:59,IDENTIFIER:60,Property:61,PROPERTY:62,STRING:63,STRING_START:64,Interpolations:65,STRING_END:66,InterpolationChunk:67,INTERPOLATION_START:68,INTERPOLATION_END:69,INDENT:70,OUTDENT:71,REGEX:72,REGEX_START:73,REGEX_END:74,RegexWithIndex:75,",":76,"=":77,REACTIVE_ASSIGN:78,COMPUTED_ASSIGN:79,Block:80,READONLY_ASSIGN:81,GATE:82,EFFECT:83,SimpleAssignable:84,Array:85,Object:86,Subjectable:87,ThisProperty:88,".":89,"?.":90,INDEX_START:91,INDEX_END:92,Slice:93,PICK_START:94,PickList:95,OptComma:96,PICK_END:97,OPTPICK_START:98,ES6_OPTIONAL_INDEX:99,"{":100,ObjAssignable:101,":":102,FOR:103,ForVariables:104,FOROF:105,"}":106,WHEN:107,OWN:108,AssignList:109,AssignObj:110,ObjRestValue:111,SimpleObjAssignable:112,"[":113,"]":114,"@":115,"...":116,ObjSpreadExpr:117,SUPER:118,Arguments:119,DYNAMIC_IMPORT:120,MAP_START:121,MapAssignList:122,MAP_END:123,MapAssignObj:124,MapAssignable:125,PickItem:126,PickKey:127,Elisions:128,ArgElisionList:129,OptElisions:130,ArgElision:131,Arg:132,Elision:133,RangeDots:134,"..":135,DEF:136,CALL_START:137,ParamList:138,CALL_END:139,PARAM_START:140,PARAM_END:141,ArrowKind:142,"->":143,"=>":144,Param:145,ParamVar:146,Splat:147,ES6_OPTIONAL_CALL:148,ArgList:149,SimpleArgs:150,THIS:151,NEW_TARGET:152,IMPORT_META:153,"(":154,")":155,RETURN:156,THROW:157,YIELD:158,FROM:159,IfBlock:160,IF:161,IfElseTail:162,ELSE:163,UnlessBlock:164,UNLESS:165,POST_IF:166,POST_UNLESS:167,TRY:168,Catch:169,FINALLY:170,CATCH:171,SWITCH:172,Cases:173,When:174,LEADING_WHEN:175,WhileSource:176,WHILE:177,UNTIL:178,Loop:179,LOOP:180,FORIN:181,BY:182,FORAS:183,AWAIT:184,FORASAWAIT:185,ForValue:186,ClassName:187,CLASS:188,EXTENDS:189,ENUM:190,SCHEMA:191,SCHEMA_BODY:192,COMPONENT:193,ComponentBody:194,ComponentLine:195,OFFER:196,ACCEPT:197,RENDER:198,IMPORT:199,ImportDefaultSpecifier:200,ImportNamespaceSpecifier:201,ImportSpecifierList:202,ImportSpecifier:203,AS:204,DEFAULT:205,IMPORT_ALL:206,EXPORT:207,ExportSpecifierList:208,EXPORT_ALL:209,ExportSpecifier:210,UNARY:211,DO:212,DO_IIFE:213,UNARY_MATH:214,"-":215,"+":216,"?":217,PRESENCE:218,"--":219,"++":220,MATH:221,"**":222,SHIFT:223,COMPARE:224,"&":225,"^":226,"|":227,"||":228,"??":229,"&&":230,RELATION:231,TERNARY:232,COMPOUND_ASSIGN:233},tokenNames:{2:"error",6:"TERMINATOR",11:"STATEMENT",49:"JS",51:"UNDEFINED",52:"NULL",53:"BOOL",54:"INFINITY",55:"NAN",56:"SYMBOL",57:"NUMBER",60:"IDENTIFIER",62:"PROPERTY",63:"STRING",64:"STRING_START",66:"STRING_END",68:"INTERPOLATION_START",69:"INTERPOLATION_END",70:"INDENT",71:"OUTDENT",72:"REGEX",73:"REGEX_START",74:"REGEX_END",76:",",77:"=",78:"REACTIVE_ASSIGN",79:"COMPUTED_ASSIGN",81:"READONLY_ASSIGN",82:"GATE",83:"EFFECT",89:".",90:"?.",91:"INDEX_START",92:"INDEX_END",94:"PICK_START",97:"PICK_END",98:"OPTPICK_START",99:"ES6_OPTIONAL_INDEX",100:"{",102:":",103:"FOR",105:"FOROF",106:"}",107:"WHEN",108:"OWN",113:"[",114:"]",115:"@",116:"...",118:"SUPER",120:"DYNAMIC_IMPORT",121:"MAP_START",123:"MAP_END",135:"..",136:"DEF",137:"CALL_START",139:"CALL_END",140:"PARAM_START",141:"PARAM_END",143:"->",144:"=>",148:"ES6_OPTIONAL_CALL",151:"THIS",152:"NEW_TARGET",153:"IMPORT_META",154:"(",155:")",156:"RETURN",157:"THROW",158:"YIELD",159:"FROM",161:"IF",163:"ELSE",165:"UNLESS",166:"POST_IF",167:"POST_UNLESS",168:"TRY",170:"FINALLY",171:"CATCH",172:"SWITCH",175:"LEADING_WHEN",177:"WHILE",178:"UNTIL",180:"LOOP",181:"FORIN",182:"BY",183:"FORAS",184:"AWAIT",185:"FORASAWAIT",188:"CLASS",189:"EXTENDS",190:"ENUM",191:"SCHEMA",192:"SCHEMA_BODY",193:"COMPONENT",196:"OFFER",197:"ACCEPT",198:"RENDER",199:"IMPORT",204:"AS",205:"DEFAULT",206:"IMPORT_ALL",207:"EXPORT",209:"EXPORT_ALL",211:"UNARY",212:"DO",213:"DO_IIFE",214:"UNARY_MATH",215:"-",216:"+",217:"?",218:"PRESENCE",219:"--",220:"++",221:"MATH",222:"**",223:"SHIFT",224:"COMPARE",225:"&",226:"^",227:"|",228:"||",229:"??",230:"&&",231:"RELATION",232:"TERNARY",233:"COMPOUND_ASSIGN"},parseTable:(()=>{let n=[114,1,2,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,-1,1,2,3,4,5,6,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,45,46,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,1,1,0,2,1,5,-2,114,5,1,5,63,2,84,-3,-3,-3,-3,-3,29,1,5,63,1,1,5,27,11,25,16,11,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,-6,-6,-6,-6,-6,-6,132,-6,-6,-6,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,9,1,5,63,1,1,5,38,25,16,-7,-7,-7,-7,-7,-7,-7,-7,-7,14,1,5,63,1,1,5,38,25,16,11,1,9,1,1,-8,-8,-8,-8,-8,-8,-8,-8,-8,133,134,135,103,104,57,1,5,52,5,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,3,4,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-13,-13,138,112,113,-13,-13,-13,-13,-94,-94,-94,-13,-94,-13,-94,-94,-13,-13,-13,-13,-13,-13,-13,139,-13,-13,141,-13,-13,140,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,136,137,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,49,1,5,63,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-14,-14,-14,-14,-14,-14,-95,-95,-95,-14,-95,-14,-95,-95,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,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,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,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,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,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,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,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,9,1,5,63,1,1,5,38,25,16,-35,-35,-35,-35,-35,-35,-35,-35,-35,9,1,5,63,1,1,5,38,25,16,-36,-36,-36,-36,-36,-36,-36,-36,-36,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,61,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-37,-37,-37,-37,-37,-37,-37,-37,142,143,144,145,147,146,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,18,6,53,1,10,1,5,9,1,2,12,13,2,1,22,1,2,4,1,-217,152,111,-217,-217,-217,154,155,153,106,157,156,151,148,-217,-217,149,150,113,5,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,7,3,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,159,4,5,6,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,160,109,110,158,56,55,76,77,100,99,106,62,88,92,89,90,95,69,45,46,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,110,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,161,162,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,45,46,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,110,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,164,165,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,45,46,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,166,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,172,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,173,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,108,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,174,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,175,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,49,14,1,23,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,11,1,1,1,1,12,13,2,3,2,1,19,2,1,1,7,1,1,1,59,177,178,179,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,176,76,77,100,99,106,88,92,89,90,95,167,168,96,97,91,93,94,87,171,49,14,1,23,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,11,1,1,1,1,12,13,2,3,2,1,19,2,1,1,7,1,1,1,59,177,178,179,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,180,76,77,100,99,106,88,92,89,90,95,167,168,96,97,91,93,94,87,171,64,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,181,182,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,183,110,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,7,3,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,185,184,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,160,109,110,186,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,2,70,10,160,187,2,70,10,160,188,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,14,41,18,1,25,1,2,12,4,4,5,2,31,38,2,192,152,111,154,155,153,106,189,190,88,156,194,191,193,108,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,195,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,196,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,50,1,5,53,1,9,1,1,5,4,8,4,5,5,1,2,1,1,7,1,1,7,12,4,2,14,8,3,1,10,1,3,1,1,2,2,2,26,1,5,1,1,1,1,1,1,1,1,1,1,1,-354,-354,200,111,-354,160,-354,-354,197,201,-354,-354,-354,-354,-354,-354,-354,-354,156,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,199,198,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,2,70,119,202,203,109,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,7,3,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,205,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,160,109,110,204,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,108,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,206,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,207,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,146,1,5,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,5,1,1,1,1,3,7,1,1,1,1,1,4,5,3,2,1,2,1,1,6,1,1,1,2,2,1,2,12,1,3,1,1,1,1,1,7,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,4,4,1,1,1,1,1,1,1,1,1,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-268,-268,208,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,-268,209,-268,109,110,-268,56,55,76,77,100,99,-268,-268,106,-268,-268,-268,-268,-268,88,-268,92,-268,89,90,95,-268,-268,69,-268,167,-268,168,96,97,91,93,94,87,-268,73,67,68,210,57,101,-268,58,102,-268,-268,59,63,60,-268,-268,61,105,-268,-268,-268,52,-268,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,2,59,1,211,111,2,59,1,212,111,1,192,213,6,15,21,104,2,1,1,215,214,45,46,96,97,145,1,5,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,5,1,1,1,1,3,7,1,1,1,1,1,4,5,3,2,1,2,1,1,6,1,1,1,2,2,1,2,12,1,3,1,1,1,1,1,7,1,1,1,1,1,1,1,2,1,2,1,1,1,1,1,4,4,1,1,1,1,1,1,1,1,1,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-265,-265,216,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,-265,217,-265,109,110,-265,56,55,76,77,100,99,-265,-265,106,-265,-265,-265,-265,-265,88,-265,92,-265,89,90,95,-265,-265,69,-265,167,-265,168,96,97,91,93,94,87,-265,73,67,68,57,101,-265,58,102,-265,-265,59,63,60,-265,-265,61,105,-265,-265,-265,52,-265,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,9,58,1,1,3,1,36,100,1,5,218,222,111,112,113,221,219,220,223,64,14,1,3,1,1,1,7,1,4,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,13,2,3,2,1,15,4,2,1,1,7,1,1,1,34,2,3,12,4,4,177,178,230,231,232,233,225,226,227,228,236,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,229,111,112,113,109,110,56,237,76,77,100,99,224,88,92,89,90,95,69,167,168,96,97,91,93,94,87,64,70,65,234,235,171,61,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,61,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,113,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,238,3,4,5,6,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,239,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,45,46,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,120,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,3,7,1,1,1,1,1,12,3,10,1,1,1,2,2,1,7,1,2,1,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,240,249,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,246,109,110,247,56,55,76,77,100,99,106,62,88,241,92,251,89,90,95,242,243,245,248,244,69,45,46,96,97,250,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,4,89,2,28,18,253,254,252,141,2,119,18,255,141,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,57,1,5,55,1,1,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-250,-250,256,257,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,1,89,258,1,89,259,35,6,34,8,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,6,1,1,1,3,9,1,2,12,13,2,1,6,1,1,1,29,-154,276,267,268,271,270,269,272,273,277,107,108,264,111,265,257,112,113,-154,-154,109,110,-154,274,275,266,106,157,156,263,260,-154,261,262,87,57,11,38,2,1,1,1,1,1,1,3,3,1,6,2,1,10,17,3,10,2,3,2,1,15,4,3,1,7,1,1,1,2,1,1,3,4,3,4,5,1,2,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,57,11,38,2,1,1,1,1,1,1,3,3,1,6,2,1,10,17,3,10,2,3,2,1,15,4,3,1,7,1,1,1,2,1,1,3,4,3,4,5,1,2,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,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,-216,-216,64,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,64,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,6,89,1,1,3,4,1,278,279,280,281,282,283,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,284,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,285,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,286,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,287,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,109,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,7,3,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,289,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,160,109,110,288,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,23,6,42,9,1,1,1,1,1,1,1,6,1,5,12,13,5,3,1,1,1,1,2,1,-116,295,107,108,297,111,298,257,112,113,-116,-116,-116,299,290,-116,291,296,300,292,293,294,301,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,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,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,49,14,1,23,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,11,1,1,1,1,12,13,2,3,2,1,19,2,1,1,7,1,1,1,59,177,178,179,36,37,38,302,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,237,76,77,100,99,106,88,92,89,90,95,167,168,96,97,91,93,94,87,171,67,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,4,4,3,1,10,1,3,1,1,2,4,15,11,1,1,1,1,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,-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,5,57,1,2,2,1,1,1,3,2,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,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,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,6,58,5,1,1,2,1,306,112,113,303,304,305,116,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,5,2,1,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,1,1,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,-5,307,-5,4,5,6,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,-5,-5,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,45,46,96,97,91,93,94,87,-5,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,308,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,309,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,310,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,311,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,312,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,313,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,314,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,315,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,316,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,319,163,317,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,318,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,322,163,320,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,321,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,325,163,323,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,324,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,326,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,327,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,328,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,329,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,14,41,18,1,25,1,2,12,4,4,5,2,31,38,2,333,152,111,154,155,153,106,330,331,88,156,194,332,193,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,334,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,335,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,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,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,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,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,56,1,5,57,1,5,1,1,3,2,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,56,1,5,57,1,5,1,1,3,2,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,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,-232,2,119,18,336,141,116,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,1,12,3,10,2,1,2,2,1,11,4,3,1,2,1,1,3,2,2,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,341,249,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,340,109,110,56,55,76,77,100,99,106,62,88,92,251,89,90,95,339,69,337,45,46,96,97,250,338,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,109,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,343,342,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,344,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,109,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,346,345,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,347,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,110,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,7,3,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,349,348,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,160,109,110,350,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,109,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,352,351,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,353,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,110,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,7,3,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,355,354,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,160,109,110,356,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,357,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,11,6,64,1,5,20,1,9,8,9,16,2,-261,-261,-261,359,360,-261,-261,-261,-261,-261,358,6,6,64,1,5,63,2,-218,-218,-218,-218,-218,-218,7,6,64,1,5,1,62,2,-222,-222,-222,-222,361,-222,-222,15,6,53,1,10,1,5,9,1,2,12,13,2,24,2,5,-225,152,111,-225,-225,-225,154,155,153,106,157,156,-225,-225,362,11,6,64,1,5,1,28,34,2,40,2,2,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,11,6,64,1,5,1,28,34,2,40,2,2,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,11,6,64,1,5,1,28,34,2,40,2,2,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,11,6,64,1,5,1,28,34,2,40,2,2,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,2,61,1,256,257,120,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,3,7,1,1,1,1,1,12,3,10,1,1,1,2,2,1,7,1,2,1,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,341,249,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,246,109,110,247,56,55,76,77,100,99,106,62,88,241,92,251,89,90,95,242,243,245,248,244,69,45,46,96,97,250,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,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,9,1,5,63,1,1,5,38,25,16,-214,-214,-214,-214,-214,-214,-214,-214,-214,113,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,7,1,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,364,3,4,5,6,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,363,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,45,46,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,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,-425,-425,-425,-425,-425,-425,-425,131,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,9,1,5,63,1,1,5,38,25,16,-422,-422,-422,-422,-422,-422,-422,-422,-422,5,166,1,9,1,1,133,134,135,103,104,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,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,-426,-426,-426,-426,-426,-426,-426,131,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,9,1,5,63,1,1,5,38,25,16,-423,-423,-423,-423,-423,-423,-423,-423,-423,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,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,-427,-427,-427,-427,-427,-427,-427,131,-427,-427,-427,-427,-427,-427,-427,-427,-427,118,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,18,6,53,1,10,1,5,9,1,2,12,13,2,1,22,1,2,4,1,-217,152,111,-217,-217,-217,154,155,153,106,157,156,151,365,-217,-217,149,150,2,70,10,160,158,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,161,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,164,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,5,15,125,2,1,1,215,167,168,96,97,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,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,-428,-428,-428,-428,-428,-428,-428,131,-428,-428,-428,-428,-428,-428,-428,-428,-428,118,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,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,131,-429,-429,-429,-429,-429,-429,-429,-429,-429,118,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,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,-432,-432,-432,-432,-432,-432,-432,131,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,2,86,14,366,106,61,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-434,-434,-91,-91,-434,-434,-434,-434,-91,-91,-91,-91,-91,-91,-91,-91,-91,-434,-91,-434,-91,-91,-434,-434,-434,-434,-434,-434,-434,-434,-434,-91,-434,-434,-91,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-91,-91,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,12,58,5,1,25,1,1,3,4,1,20,18,11,138,112,113,-94,-94,-94,-94,-94,-94,139,141,140,6,89,1,1,3,4,1,-95,-95,-95,-95,-95,-95,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,61,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-435,-435,-91,-91,-435,-435,-435,-435,-91,-91,-91,-91,-91,-91,-91,-91,-91,-435,-91,-435,-91,-91,-435,-435,-435,-435,-435,-435,-435,-435,-435,-91,-435,-435,-91,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-91,-91,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,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,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,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,109,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,369,367,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,368,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-88,-88,-88,-88,-88,-88,-88,-88,-88,132,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,129,130,131,103,104,-88,-88,-88,-88,116,115,117,118,119,120,121,122,123,124,125,126,127,128,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,370,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,46,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,2,1,1,6,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,371,372,373,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,4,105,76,2,2,375,374,376,377,11,59,1,25,1,2,12,4,9,2,31,40,152,111,154,155,153,106,378,157,156,194,193,11,59,1,25,1,2,12,4,9,2,31,40,152,111,154,155,153,106,379,157,156,194,193,3,70,10,102,160,380,381,5,76,29,76,2,2,382,-350,-350,-350,-350,6,76,1,28,76,2,2,-348,383,-348,-348,-348,-348,21,70,33,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,384,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,3,173,1,1,385,386,387,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-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,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,388,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,45,1,5,63,1,1,5,4,12,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,4,26,1,5,1,1,1,1,1,1,1,1,1,1,1,-358,-358,-358,160,-358,-358,389,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,390,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,4,26,1,5,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,-352,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,4,26,1,5,1,1,1,1,1,1,1,1,1,1,1,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,114,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,1,1,1,1,1,1,8,4,1,1,1,1,1,3,1,393,394,395,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,45,46,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,391,392,396,397,66,74,75,47,48,72,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,398,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-375,-375,-375,-375,-375,-375,-375,-375,-375,132,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,131,103,104,-375,-375,-375,-375,116,115,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,131,-266,-266,-266,-266,-266,-266,116,115,117,118,119,120,121,122,123,124,125,126,127,128,2,86,14,399,106,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,131,-269,-269,-269,-269,-269,-269,116,115,117,118,119,120,121,122,123,124,125,126,127,128,2,86,14,400,106,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,401,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,3,70,10,57,160,403,402,2,70,10,160,404,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,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,9,1,5,63,1,1,5,38,25,16,-424,-424,-424,-424,-424,-424,-424,-424,-424,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,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,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,131,-263,-263,-263,-263,-263,-263,116,115,117,118,119,120,121,122,123,124,125,126,127,128,2,86,14,405,106,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,2,76,83,407,406,1,159,408,7,59,1,10,36,96,1,2,413,111,412,409,410,411,414,2,76,83,-392,-392,1,204,415,26,6,42,9,1,1,1,1,1,1,1,6,1,5,12,13,5,3,1,1,1,1,2,1,89,3,2,-116,295,107,108,420,111,298,257,112,113,419,-116,-116,299,290,416,291,296,300,292,293,294,301,421,417,418,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,64,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-96,-96,-96,-96,-96,-96,-96,-96,422,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,108,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,423,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,424,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,1,159,425,59,1,5,57,1,5,1,1,5,2,1,2,2,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-37,-37,-37,-37,-37,-37,-37,-37,143,144,145,146,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,61,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,2,6,149,114,426,112,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,427,3,4,5,6,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,45,46,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,29,6,64,1,5,27,11,2,18,1,4,27,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,-243,-243,-243,-243,132,-243,430,428,429,-243,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,61,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-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,-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,-186,-186,-186,-186,-186,116,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,3,7,1,1,1,1,1,12,3,10,1,1,1,2,2,1,11,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,341,249,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,247,56,55,76,77,100,99,106,62,88,431,92,251,89,90,95,433,432,69,45,46,96,97,250,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,11,6,64,1,5,20,1,9,8,9,7,9,-261,-261,-261,435,436,-261,-261,-261,-261,434,-261,62,6,5,38,2,1,1,1,1,1,1,3,3,1,6,1,1,1,3,7,17,3,10,1,1,1,2,2,1,15,4,3,1,7,1,1,1,2,1,1,3,4,3,4,5,1,2,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,437,-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,-198,-198,-198,5,6,64,1,5,38,-189,-189,-189,-189,-189,119,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,3,7,1,1,1,1,1,12,3,10,2,1,2,2,1,7,1,2,1,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,341,249,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,246,109,110,247,56,55,76,77,100,99,106,62,88,92,251,89,90,95,439,438,245,248,244,69,45,46,96,97,250,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,62,6,5,38,2,1,1,1,1,1,1,3,3,1,6,1,1,1,3,7,17,3,10,1,1,1,2,2,1,15,4,3,1,7,1,1,1,2,1,1,3,4,3,4,5,1,2,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,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,5,6,64,1,5,38,-194,-194,-194,-194,-194,6,6,64,1,5,38,25,-244,-244,-244,-244,-244,-244,6,6,64,1,5,38,25,-245,-245,-245,-245,-245,-245,113,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,1,1,1,3,7,1,1,1,1,1,12,3,10,1,1,3,2,1,15,3,1,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,-246,440,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,-246,-246,109,110,-246,56,55,76,77,100,99,106,62,88,-246,92,89,90,95,69,-246,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,56,1,5,57,1,5,1,1,3,2,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,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,-234,2,61,1,441,257,108,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,442,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,443,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,56,1,5,57,1,5,1,1,3,2,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,65,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,4,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,65,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,4,26,1,1,1,1,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,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,2,61,1,444,257,2,61,1,445,257,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,447,446,-261,-261,-261,-261,-261,5,6,64,1,5,47,-155,-155,-155,-155,-155,1,102,448,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,449,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,1,102,-172,1,102,-173,1,102,-174,1,102,-175,1,102,-176,1,102,-177,1,102,-178,1,102,-179,1,102,-180,1,102,-181,1,102,-182,1,102,-183,1,102,-184,1,102,-185,2,61,1,450,257,2,61,1,451,257,113,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,2,8,1,1,1,1,1,5,7,3,10,2,1,2,2,1,13,1,1,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,452,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,457,81,82,83,84,85,86,107,108,98,111,112,113,453,109,110,455,56,55,76,77,100,99,454,106,62,88,92,430,89,90,95,456,429,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,8,59,1,1,1,8,25,31,1,462,111,463,257,459,458,460,461,8,59,1,1,1,8,25,31,1,462,111,463,257,465,464,460,461,1,91,466,22,70,10,23,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,160,467,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,22,70,10,23,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,160,468,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-303,-303,-303,-303,-303,-303,-303,-303,-303,132,-303,-303,469,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,131,103,104,-303,-303,-303,-303,116,115,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-305,-305,-305,-305,-305,-305,-305,-305,-305,132,-305,-305,470,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,131,103,104,-305,-305,-305,-305,116,115,117,118,119,120,121,122,123,124,125,126,127,128,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,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,45,1,5,63,1,1,5,4,12,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-312,-312,-312,160,-312,-312,471,-312,-312,-312,132,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,131,103,104,-312,-312,-312,-312,116,115,117,118,119,120,121,122,123,124,125,126,127,128,6,6,64,1,5,26,4,-121,-121,-121,-121,472,-121,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,474,473,-261,-261,-261,-261,-261,7,6,64,1,5,1,25,4,-130,-130,-130,-130,475,-130,-130,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,476,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,3,61,1,51,256,257,477,6,6,64,1,5,26,4,-133,-133,-133,-133,-133,-133,5,6,64,1,5,30,-117,-117,-117,-117,-117,13,6,64,1,5,1,12,1,1,3,4,4,4,31,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,13,6,64,1,5,1,12,1,1,3,4,4,4,31,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,13,6,64,1,5,1,12,1,1,3,4,4,4,31,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,5,6,64,1,5,30,-122,-122,-122,-122,-122,17,40,4,1,14,1,1,1,24,2,12,12,3,2,1,2,31,3,481,483,482,297,111,298,257,480,299,106,478,92,479,484,485,91,87,56,1,5,57,1,5,1,1,3,2,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-41,-41,-41,-41,-41,-41,-41,486,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,6,58,5,1,2,1,1,306,112,113,487,488,305,4,63,1,2,2,-62,-62,-62,-62,114,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,5,1,2,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,489,3,4,5,6,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,491,490,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,45,46,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,4,63,1,2,2,-67,-67,-67,-67,5,1,5,63,2,84,-4,-4,-4,-4,-4,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,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,131,-438,-438,-438,-438,-438,-438,-438,-438,117,118,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,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,131,-439,-439,-439,-439,-439,-439,-439,-439,117,118,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,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,131,-440,-440,-440,-440,-440,-440,-440,-440,-440,118,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,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,131,-441,-441,-441,-441,-441,-441,-441,-441,-441,118,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,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,131,-442,-442,-442,-442,-442,-442,116,115,117,118,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,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,131,-443,-443,-443,-443,-443,-443,116,115,117,118,119,-443,-443,-443,-443,-443,-443,-443,127,-443,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,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,-444,-444,-444,-444,-444,-444,-444,131,-444,-444,-444,-444,-444,-444,116,115,117,118,119,120,-444,-444,-444,-444,-444,-444,127,-444,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,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,131,-445,-445,-445,-445,-445,-445,116,115,117,118,119,120,121,-445,-445,-445,-445,-445,127,-445,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,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,131,-446,-446,-446,-446,-446,-446,116,115,117,118,119,120,121,122,-446,-446,-446,-446,127,-446,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,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,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,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,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,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,131,-454,-454,-454,-454,-454,-454,116,115,117,118,119,120,121,122,123,-454,-454,126,127,-454,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,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,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,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,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,131,-455,-455,-455,-455,-455,-455,116,115,117,118,119,120,121,122,123,-455,-455,126,127,-455,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,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,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,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,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,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,131,-453,-453,-453,-453,-453,-453,116,115,117,118,119,120,121,122,123,-453,-453,-453,127,-453,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,131,-456,-456,-456,-456,-456,-456,116,115,117,118,119,-456,-456,-456,-456,-456,-456,-456,-456,-456,21,102,1,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,492,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-282,-282,-282,-282,-282,-282,-282,-282,-282,132,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,493,-282,-282,131,103,104,-282,-282,-282,-282,116,115,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-286,-286,-286,-286,-286,-286,-286,-286,-286,132,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,131,103,104,-286,-286,-286,-286,116,115,117,118,119,120,121,122,123,124,125,126,127,128,4,105,76,2,2,495,494,496,497,11,59,1,25,1,2,12,4,9,2,31,40,152,111,154,155,153,106,498,157,156,194,193,11,59,1,25,1,2,12,4,9,2,31,40,152,111,154,155,153,106,499,157,156,194,193,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,500,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-281,-281,-281,-281,-281,-281,-281,-281,-281,132,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,131,103,104,-281,-281,-281,-281,116,115,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-285,-285,-285,-285,-285,-285,-285,-285,-285,132,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,131,103,104,-285,-285,-285,-285,116,115,117,118,119,120,121,122,123,124,125,126,127,128,56,1,5,57,1,5,1,1,3,2,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,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,-233,56,1,5,57,1,5,1,1,3,2,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,502,501,-261,-261,-261,-261,-261,5,6,64,1,5,63,-238,-238,-238,-238,-238,115,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,1,12,3,10,2,1,2,2,1,11,4,4,2,1,1,3,2,2,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,341,249,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,340,109,110,56,55,76,77,100,99,106,62,88,92,251,89,90,95,339,69,45,46,96,97,250,503,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,26,6,64,1,5,27,11,25,27,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,-243,-243,-243,-243,132,-243,-243,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,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,131,-72,-72,-72,-72,-72,-72,116,115,117,118,119,120,121,122,123,124,125,126,127,128,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,504,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,505,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-75,-75,-75,-75,-75,-75,-75,-75,-75,132,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,129,130,131,103,104,-75,-75,-75,-75,116,115,117,118,119,120,121,122,123,124,125,126,127,128,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,506,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,507,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-78,-78,-78,-78,-78,-78,-78,-78,-78,132,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,129,130,131,103,104,-78,-78,-78,-78,116,115,117,118,119,120,121,122,123,124,125,126,127,128,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,508,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,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,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-81,-81,-81,-81,-81,-81,-81,-81,-81,132,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,129,130,131,103,104,-81,-81,-81,-81,116,115,117,118,119,120,121,122,123,124,125,126,127,128,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,509,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,510,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-85,-85,-85,-85,-85,-85,-85,-85,-85,132,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,129,130,131,103,104,-85,-85,-85,-85,116,115,117,118,119,120,121,122,123,124,125,126,127,128,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,511,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-84,-84,-84,-84,-84,-84,-84,-84,-84,132,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,129,130,131,103,104,-84,-84,-84,-84,116,115,117,118,119,120,121,122,123,124,125,126,127,128,3,142,1,1,512,96,97,19,6,53,1,10,1,14,1,2,9,3,6,7,1,1,1,7,16,6,1,-262,152,111,-262,-262,154,155,153,-262,106,-262,157,-262,156,151,-262,-262,513,150,2,6,64,514,515,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,516,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,6,6,64,1,5,63,2,-224,-224,-224,-224,-224,-224,58,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,3,1,4,2,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-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,2,6,65,114,517,11,6,64,1,5,20,1,9,8,9,16,2,-261,-261,-261,359,360,-261,-261,-261,-261,-261,518,1,71,519,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,131,-458,-458,-458,-458,-458,-458,116,115,117,118,119,120,121,122,123,124,125,126,127,128,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,520,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,521,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-89,-89,-89,-89,-89,-89,-89,-89,-89,132,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,129,130,131,103,104,-89,-89,-89,-89,116,115,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,3,7,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,522,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,2,70,10,160,523,8,59,1,10,10,5,1,14,13,524,111,160,527,526,525,106,157,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,528,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,529,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,530,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,531,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,1,105,532,1,183,533,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,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,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,534,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,10,59,1,25,1,2,12,13,2,31,40,152,111,154,155,153,106,157,156,194,535,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,536,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,3,173,1,1,537,386,387,4,71,92,11,1,538,539,540,387,3,71,92,12,-299,-299,-299,108,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,6,1,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,542,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,541,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,45,1,5,63,1,1,5,4,12,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-356,-356,-356,160,-356,-356,543,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,131,-356,-356,-356,-356,-356,-356,116,115,117,118,119,120,121,122,123,124,125,126,127,128,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,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,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,544,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,2,6,65,546,545,2,6,65,-366,-366,22,6,65,32,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,-369,-369,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,2,6,65,-370,-370,7,6,65,95,1,9,1,1,-371,-371,133,134,135,103,104,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,547,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,1,60,548,21,70,33,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,549,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,1,71,550,1,71,551,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,131,-271,-271,-271,-271,-271,-271,116,115,117,118,119,120,121,122,123,124,125,126,127,128,18,6,53,1,10,1,5,9,1,2,12,13,2,1,22,1,2,4,1,-217,152,111,-217,-217,-217,154,155,153,106,157,156,151,552,-217,-217,149,150,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,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,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,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,1,71,553,3,58,5,1,554,112,113,3,100,101,5,556,555,223,3,58,5,1,557,112,113,1,159,558,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,560,559,-261,-261,-261,-261,-261,5,6,64,1,5,30,-383,-383,-383,-383,-383,6,59,1,10,132,1,2,413,111,412,561,411,414,6,6,64,1,5,30,98,-388,-388,-388,-388,-388,562,6,6,64,1,5,30,98,-390,-390,-390,-390,-390,563,2,59,1,564,111,14,1,5,63,1,1,5,38,25,16,4,7,1,10,1,-394,-394,-394,-394,-394,-394,-394,-394,-394,565,-394,-394,-394,-394,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,567,566,-261,-261,-261,-261,-261,5,6,64,1,5,30,-412,-412,-412,-412,-412,6,59,1,10,135,3,2,569,111,419,421,568,418,14,6,64,1,5,1,12,1,1,3,4,4,4,31,67,-417,-417,-417,-417,-127,-127,-127,-127,-127,-127,-127,-417,-127,570,6,6,64,1,5,30,98,-420,-420,-420,-420,-420,571,109,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,573,572,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,574,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,29,1,5,63,1,1,5,27,11,25,16,11,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,-407,-407,-407,-407,-407,-407,132,-407,-407,-407,-407,-407,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,2,86,14,575,106,3,58,5,1,576,112,113,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,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,2,6,65,114,577,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,578,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,58,11,38,2,1,1,1,1,1,1,3,3,1,7,1,1,10,9,8,3,10,2,3,2,1,15,4,3,1,7,1,1,1,2,1,1,3,4,3,4,5,1,2,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,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,58,11,38,2,1,1,1,1,1,1,3,3,1,7,1,1,10,9,8,3,10,2,3,2,1,15,4,3,1,7,1,1,1,2,1,1,3,4,3,4,5,1,2,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,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,61,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,62,6,5,38,2,1,1,1,1,1,1,3,3,1,6,1,1,1,3,7,17,3,10,1,1,1,2,2,1,15,4,3,1,7,1,1,1,2,1,1,3,4,3,4,5,1,2,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,437,-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,5,6,64,1,5,38,-195,-195,-195,-195,-195,2,70,44,580,579,125,6,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,1,1,1,3,7,1,1,1,1,1,9,3,3,3,7,1,1,1,2,2,1,2,5,3,1,1,3,3,1,2,1,1,3,4,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,-262,341,249,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,-262,-262,109,110,247,56,55,76,77,100,99,-262,106,62,-262,88,-262,92,251,89,90,95,-262,582,581,248,244,69,-262,45,46,96,97,250,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,4,6,64,1,43,583,-196,-196,-196,62,6,5,38,2,1,1,1,1,1,1,3,3,1,6,1,1,1,3,7,17,3,10,1,1,1,2,2,1,15,4,3,1,7,1,1,1,2,1,1,3,4,3,4,5,1,2,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,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,11,6,64,1,5,20,1,9,8,9,7,9,-261,-261,-261,435,436,-261,-261,-261,-261,584,-261,115,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,3,7,1,1,1,1,1,12,3,10,2,1,2,2,1,11,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,341,249,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,247,56,55,76,77,100,99,106,62,88,92,251,89,90,95,433,432,69,45,46,96,97,250,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,26,6,64,1,5,27,11,25,27,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,-230,-230,-230,-230,132,-230,-230,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,21,92,11,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,585,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,586,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-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,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,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,3,6,64,53,588,589,587,37,6,34,8,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,6,1,1,1,12,1,2,9,3,6,7,1,1,1,7,1,1,14,15,-262,276,267,268,271,270,269,272,273,277,107,108,264,111,265,257,112,113,-262,-262,109,110,274,275,266,-262,106,-262,157,-262,156,263,-262,590,262,-262,87,108,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,591,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,592,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,25,6,64,1,5,27,20,43,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,-161,-161,-161,-161,132,-161,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,64,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,64,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,24,92,11,13,18,1,31,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,593,132,430,594,429,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,111,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,5,7,3,10,2,1,2,2,1,13,1,1,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,595,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,596,106,62,88,92,430,89,90,95,456,429,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,1,92,597,1,92,598,109,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,7,1,1,10,1,1,1,1,1,4,8,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,599,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,-208,109,110,56,55,76,77,100,99,-208,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-49,-49,-49,-49,-49,-49,-49,600,-49,-49,-49,-71,-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,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,602,601,-261,-261,-261,-261,-261,7,59,1,1,1,33,31,1,462,111,463,257,603,460,461,5,6,64,1,5,21,-162,-162,-162,-162,-162,7,6,64,1,5,1,20,5,-166,-166,-166,-166,605,-166,604,7,6,64,1,5,1,20,5,-170,-170,-170,-170,-170,-170,-170,7,6,64,1,5,1,20,5,-171,-171,-171,-171,-171,-171,-171,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,602,606,-261,-261,-261,-261,-261,7,59,1,1,1,33,31,1,462,111,463,257,607,460,461,108,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,608,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,609,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,7,1,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,610,611,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,612,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,613,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,614,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,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,108,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,615,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,616,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,3,6,64,36,618,619,617,25,6,42,9,1,1,1,1,1,1,1,6,1,17,9,4,5,4,1,1,1,1,1,1,7,16,-262,295,107,108,297,111,298,257,112,113,-262,-262,299,-262,621,-262,620,300,292,293,-262,294,301,-262,-262,108,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,622,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,623,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,21,103,11,52,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,132,624,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,625,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,12,6,64,1,5,13,1,1,3,4,8,13,18,-134,-134,-134,-134,-136,-136,-136,-136,-136,-134,626,141,12,6,64,1,5,13,1,1,3,4,8,13,18,-135,-135,-135,-135,628,629,630,631,632,-135,627,141,11,6,64,1,5,13,1,1,3,4,8,31,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,11,6,64,1,5,13,1,1,3,4,8,31,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,11,6,64,1,5,13,1,1,3,4,8,31,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,11,6,64,1,5,13,1,1,3,4,8,31,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,4,89,2,28,18,253,254,633,141,2,119,18,634,141,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,58,1,5,57,1,2,2,1,1,1,3,2,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,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,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,4,63,1,2,2,-63,-63,-63,-63,2,6,63,114,635,112,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,636,3,4,5,6,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,45,46,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,4,63,1,2,2,-66,-66,-66,-66,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,637,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,108,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,639,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,638,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,640,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,641,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,642,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,643,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,1,105,644,1,183,645,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,646,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,3,6,64,69,648,649,647,121,6,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,1,1,1,10,1,1,1,1,1,9,3,3,3,7,1,1,1,2,2,1,2,9,4,3,1,2,1,1,3,4,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,-262,341,249,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,-262,-262,109,110,56,55,76,77,100,99,-262,106,62,-262,88,-262,92,251,89,90,95,-262,650,69,-262,45,46,96,97,250,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,502,651,-261,-261,-261,-261,-261,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,131,-73,-73,-73,-73,-73,-73,116,115,117,118,119,120,121,122,123,124,125,126,127,128,21,71,32,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,652,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-76,-76,-76,-76,-76,-76,-76,-76,-76,132,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,129,130,131,103,104,-76,-76,-76,-76,116,115,117,118,119,120,121,122,123,124,125,126,127,128,21,71,32,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,653,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-79,-79,-79,-79,-79,-79,-79,-79,-79,132,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,129,130,131,103,104,-79,-79,-79,-79,116,115,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-82,-82,-82,-82,-82,-82,-82,-82,-82,132,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,129,130,131,103,104,-82,-82,-82,-82,116,115,117,118,119,120,121,122,123,124,125,126,127,128,21,71,32,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,654,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-86,-86,-86,-86,-86,-86,-86,-86,-86,132,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,129,130,131,103,104,-86,-86,-86,-86,116,115,117,118,119,120,121,122,123,124,125,126,127,128,113,5,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,7,3,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,656,4,5,6,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,160,109,110,655,56,55,76,77,100,99,106,62,88,92,89,90,95,69,45,46,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,6,6,64,1,5,63,2,-219,-219,-219,-219,-219,-219,11,59,1,25,1,2,12,13,2,1,29,1,152,111,154,155,153,106,157,156,151,657,150,18,6,53,1,10,1,5,9,1,2,12,13,2,1,22,1,2,4,1,-217,152,111,-217,-217,-217,154,155,153,106,157,156,151,658,-217,-217,149,150,26,6,64,1,5,27,36,2,25,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,-223,-223,-223,-223,132,-223,-223,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,58,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,3,1,4,2,1,3,1,1,2,30,1,1,1,3,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,3,142,1,1,659,96,97,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,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,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,21,71,32,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,660,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,131,-460,-460,-460,-460,-460,-460,116,115,117,118,119,120,121,122,123,124,125,126,127,128,2,70,10,160,661,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,2,70,10,160,662,2,70,10,160,663,2,70,10,160,664,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,3,7,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,24,70,10,23,4,59,1,9,1,1,4,33,1,5,1,1,1,1,1,1,1,1,1,1,1,160,665,132,666,129,130,131,103,104,667,116,115,117,118,119,120,121,122,123,124,125,126,127,128,23,70,10,23,4,59,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,160,668,132,669,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,23,70,10,23,4,59,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,160,670,132,671,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,23,70,10,23,4,59,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,160,672,132,673,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,674,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,675,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,22,70,10,23,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,160,676,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,4,105,76,2,2,-351,-351,-351,-351,25,76,27,2,61,1,9,1,1,3,2,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-349,132,-349,129,130,131,103,104,-349,-349,-349,116,115,117,118,119,120,121,122,123,124,125,126,127,128,4,71,92,11,1,677,678,540,387,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,2,70,10,160,679,3,71,92,12,-300,-300,-300,3,70,6,4,160,681,680,22,70,6,27,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,-247,-247,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,45,1,5,63,1,1,5,4,12,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-360,-360,-360,160,-360,-360,682,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,131,-360,-360,-360,-360,-360,-360,116,115,117,118,119,120,121,122,123,124,125,126,127,128,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,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,115,6,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,7,1,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,2,1,1,1,1,8,4,1,1,1,1,1,3,1,-368,393,394,395,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,-368,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,45,46,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,683,396,397,66,74,75,47,48,72,49,50,51,53,54,22,6,65,32,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,-372,-372,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,2,6,65,-373,-373,114,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,1,1,1,1,1,1,8,4,1,1,1,1,1,3,1,393,394,395,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,45,46,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,684,392,396,397,66,74,75,47,48,72,49,50,51,53,54,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,359,360,-261,-261,-261,-261,685,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,1,159,686,6,59,1,10,132,1,2,413,111,412,687,411,414,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,3,58,5,1,688,112,113,3,6,64,36,690,691,689,12,6,53,1,10,1,26,9,8,9,16,64,2,-262,413,111,-262,-262,-262,-262,-262,-262,-262,692,414,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,560,693,-261,-261,-261,-261,-261,2,59,1,694,111,2,59,1,695,111,1,159,-393,3,58,5,1,696,112,113,3,6,64,36,698,699,697,12,6,53,1,10,1,26,9,8,9,16,66,5,-262,569,111,-262,-262,-262,-262,-262,-262,-262,421,700,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,567,701,-261,-261,-261,-261,-261,6,6,64,1,5,30,98,-417,-417,-417,-417,-417,570,3,59,1,145,702,111,703,2,59,1,704,111,29,1,5,63,1,1,5,27,11,25,16,11,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,-400,-400,-400,-400,-400,-400,132,-400,-400,-400,-400,-400,131,-400,-400,116,115,117,118,119,120,121,122,123,124,125,126,127,128,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,705,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,706,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,1,71,707,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,1,155,708,21,103,11,52,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,132,709,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,61,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,119,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,3,7,1,1,1,1,1,12,3,10,2,1,2,2,1,7,1,2,1,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,341,249,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,246,109,110,247,56,55,76,77,100,99,106,62,88,92,251,89,90,95,439,710,245,248,244,69,45,46,96,97,250,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,5,6,64,1,5,38,-190,-190,-190,-190,-190,118,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,1,1,1,3,7,1,1,1,1,1,12,3,10,1,1,1,2,2,1,11,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,341,249,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,-197,-197,109,110,247,56,55,76,77,100,99,106,62,88,-197,92,251,89,90,95,433,432,69,45,46,96,97,250,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,117,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,3,7,1,1,1,1,1,12,3,10,2,1,2,2,1,7,3,1,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,341,249,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,247,56,55,76,77,100,99,106,62,88,92,251,89,90,95,439,711,248,244,69,45,46,96,97,250,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,2,70,1,580,712,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,21,71,32,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,713,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,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,-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,-153,-153,-153,29,40,8,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,8,1,12,1,2,12,13,2,1,8,1,29,276,267,268,271,270,269,272,273,277,107,108,264,111,265,257,112,113,109,110,274,275,266,106,157,156,263,714,262,87,35,6,34,8,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,6,1,1,1,3,9,1,2,12,13,2,1,6,1,1,1,29,-154,276,267,268,271,270,269,272,273,277,107,108,264,111,265,257,112,113,-154,-154,109,110,-154,274,275,266,106,157,156,263,715,-154,261,262,87,5,6,64,1,5,47,-156,-156,-156,-156,-156,25,6,64,1,5,27,20,43,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,-159,-159,-159,-159,132,-159,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,716,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,64,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,109,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,7,1,1,10,1,1,1,1,1,4,8,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,717,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,-206,109,110,56,55,76,77,100,99,-206,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,24,71,32,13,18,1,31,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,718,132,430,594,429,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,1,71,719,64,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,64,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,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,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,22,71,21,11,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,-207,-207,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,720,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,3,6,64,27,722,723,721,14,6,53,1,1,1,8,1,26,9,8,9,3,1,12,-262,462,111,463,257,-262,-262,-262,-262,-262,-262,724,461,-262,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,602,725,-261,-261,-261,-261,-261,5,59,1,1,1,65,462,111,463,257,726,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,727,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,3,6,64,27,722,723,728,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,602,729,-261,-261,-261,-261,-261,21,92,11,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,730,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,731,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,3,70,10,81,160,733,732,2,70,10,160,734,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,131,-304,-304,-304,-304,-304,-304,116,115,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,131,-306,-306,-306,-306,-306,-306,116,115,117,118,119,120,121,122,123,124,125,126,127,128,25,6,64,1,5,27,3,60,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,-123,-123,-123,-123,735,-123,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,736,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,61,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,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,-115,-115,-115,-115,-115,-115,17,48,9,1,1,1,1,1,1,1,24,13,9,1,1,1,2,1,295,107,108,297,111,298,257,112,113,299,621,737,300,292,293,294,301,23,6,42,9,1,1,1,1,1,1,1,6,1,5,12,13,5,3,1,1,1,1,2,1,-116,295,107,108,297,111,298,257,112,113,-116,-116,-116,299,621,-116,738,296,300,292,293,294,301,5,6,64,1,5,30,-118,-118,-118,-118,-118,6,6,64,1,5,26,4,-121,-121,-121,-121,739,-121,25,6,64,1,5,27,3,60,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,-125,-125,-125,-125,132,-125,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,740,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,6,6,64,1,5,26,4,-131,-131,-131,-131,-131,-131,21,103,11,52,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,132,741,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,11,6,64,1,5,13,1,1,3,4,8,31,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,11,6,64,1,5,13,1,1,3,4,8,31,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,2,61,1,742,257,2,61,1,743,257,108,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,744,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,745,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,8,59,1,1,1,8,25,31,1,462,111,463,257,747,746,460,461,8,59,1,1,1,8,25,31,1,462,111,463,257,749,748,460,461,11,6,64,1,5,13,1,1,3,4,8,31,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,11,6,64,1,5,13,1,1,3,4,8,31,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,4,63,1,2,2,-64,-64,-64,-64,2,6,65,114,750,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,131,-457,-457,-457,-457,-457,-457,116,115,117,118,119,120,121,122,123,124,125,126,127,128,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,751,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-284,-284,-284,-284,-284,-284,-284,-284,-284,132,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,131,103,104,-284,-284,-284,-284,116,115,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,752,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,131,-331,-331,-331,753,-331,-331,116,115,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,754,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,131,-336,-336,-336,-336,-336,-336,116,115,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,755,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,131,-340,-340,-340,-340,-340,-340,116,115,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,756,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,131,-344,-344,-344,-344,-344,-344,116,115,117,118,119,120,121,122,123,124,125,126,127,128,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,757,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,758,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,131,-347,-347,-347,-347,-347,-347,116,115,117,118,119,120,121,122,123,124,125,126,127,128,56,1,5,57,1,5,1,1,3,2,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,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,-237,113,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,1,2,2,1,11,4,4,2,1,1,3,4,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,341,249,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,251,89,90,95,759,69,45,46,96,97,250,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,115,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,1,12,3,10,2,1,2,2,1,11,4,4,2,1,1,3,2,2,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,341,249,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,340,109,110,56,55,76,77,100,99,106,62,88,92,251,89,90,95,339,69,45,46,96,97,250,760,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,5,6,64,1,5,63,-239,-239,-239,-239,-239,3,6,64,1,648,649,761,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,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,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,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,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,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,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,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,9,1,5,63,1,1,5,38,25,16,-213,-213,-213,-213,-213,-213,-213,-213,-213,6,6,64,1,5,63,2,-220,-220,-220,-220,-220,-220,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,359,762,-261,-261,-261,-261,-261,2,70,10,160,655,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,3,7,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,3,7,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,3,7,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,763,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,764,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,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,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,765,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,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,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,766,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,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,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,767,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,23,70,10,23,4,59,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,160,768,132,769,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,23,70,10,23,4,59,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,160,770,132,771,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,2,70,10,160,772,1,71,773,4,6,65,92,12,774,-301,-301,-301,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,775,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,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,2,6,65,-367,-367,2,6,65,546,776,2,70,10,160,777,3,58,5,1,778,112,113,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,560,779,-261,-261,-261,-261,-261,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,1,159,780,4,59,1,143,2,413,111,781,414,6,59,1,10,132,1,2,413,111,412,782,411,414,5,6,64,1,5,30,-384,-384,-384,-384,-384,3,6,64,1,690,691,783,5,6,64,1,5,30,-389,-389,-389,-389,-389,5,6,64,1,5,30,-391,-391,-391,-391,-391,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,14,1,5,63,1,1,5,38,25,16,4,7,1,10,1,-395,-395,-395,-395,-395,-395,-395,-395,-395,784,-395,-395,-395,-395,4,59,1,145,5,569,111,421,785,6,59,1,10,135,3,2,569,111,419,421,786,418,5,6,64,1,5,30,-413,-413,-413,-413,-413,3,6,64,1,698,699,787,5,6,64,1,5,30,-418,-418,-418,-418,-418,5,6,64,1,5,30,-419,-419,-419,-419,-419,5,6,64,1,5,30,-421,-421,-421,-421,-421,29,1,5,63,1,1,5,27,11,25,16,11,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,-401,-401,-401,-401,-401,-401,132,-401,-401,-401,-401,-401,131,-401,-401,116,115,117,118,119,120,121,122,123,124,125,126,127,128,21,71,32,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,788,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,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,11,6,64,1,5,20,1,9,8,9,7,9,-261,-261,-261,435,436,-261,-261,-261,-261,789,-261,5,6,64,1,5,38,-191,-191,-191,-191,-191,5,6,64,1,5,38,-192,-192,-192,-192,-192,1,92,790,5,6,64,1,5,47,-157,-157,-157,-157,-157,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,447,791,-261,-261,-261,-261,-261,21,71,32,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,792,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,22,71,21,11,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,-205,-205,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,1,92,793,1,92,794,21,92,11,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,-70,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,64,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,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,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,6,59,1,1,1,64,1,462,111,463,257,795,461,7,59,1,1,1,33,31,1,462,111,463,257,796,460,461,5,6,64,1,5,21,-163,-163,-163,-163,-163,3,6,64,1,722,723,797,6,6,64,1,5,1,20,-167,-167,-167,-167,798,-167,25,6,64,1,5,21,6,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,-168,-168,-168,-168,-168,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,64,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,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,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,3,6,64,1,722,723,799,64,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,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,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,21,71,32,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,800,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,801,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,14,41,18,1,25,1,2,12,4,4,5,2,31,38,2,333,152,111,154,155,153,106,802,803,88,156,194,332,193,21,71,32,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,804,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,5,6,64,1,5,30,-119,-119,-119,-119,-119,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,474,805,-261,-261,-261,-261,-261,108,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,806,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,616,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,21,71,32,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,807,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,6,6,64,1,5,26,4,-132,-132,-132,-132,-132,-132,11,6,64,1,5,13,1,1,3,4,8,31,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,11,6,64,1,5,13,1,1,3,4,8,31,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,21,92,11,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,808,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,809,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,602,810,-261,-261,-261,-261,-261,7,59,1,1,1,33,31,1,462,111,463,257,811,460,461,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,602,812,-261,-261,-261,-261,-261,7,59,1,1,1,33,31,1,462,111,463,257,813,460,461,1,69,814,21,71,32,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,815,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,816,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,817,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,818,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,819,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,820,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,821,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,131,-338,-338,-338,-338,-338,-338,116,115,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,822,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,131,-342,-342,-342,-342,-342,-342,116,115,117,118,119,120,121,122,123,124,125,126,127,128,5,6,64,1,5,63,-240,-240,-240,-240,-240,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,502,823,-261,-261,-261,-261,-261,5,6,64,1,5,63,-241,-241,-241,-241,-241,3,6,64,1,514,515,824,23,70,10,23,63,1,9,1,1,4,33,1,5,1,1,1,1,1,1,1,1,1,1,1,160,825,132,129,130,131,103,104,826,116,115,117,118,119,120,121,122,123,124,125,126,127,128,23,70,10,23,4,59,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,160,827,132,828,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,22,70,10,23,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,160,829,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,22,70,10,23,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,160,830,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,22,70,10,23,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,160,831,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,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,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,832,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,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,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,833,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,1,71,834,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,3,71,92,12,-302,-302,-302,22,70,6,27,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,-248,-248,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,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,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,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,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,3,6,64,36,690,691,835,3,58,5,1,836,112,113,5,6,64,1,5,30,-385,-385,-385,-385,-385,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,560,837,-261,-261,-261,-261,-261,5,6,64,1,5,30,-386,-386,-386,-386,-386,3,58,5,1,838,112,113,5,6,64,1,5,30,-414,-414,-414,-414,-414,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,567,839,-261,-261,-261,-261,-261,5,6,64,1,5,30,-415,-415,-415,-415,-415,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,2,70,1,580,840,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-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,3,6,64,1,588,589,841,5,6,64,1,5,47,-160,-160,-160,-160,-160,64,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,64,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,5,6,64,1,5,21,-164,-164,-164,-164,-164,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,602,842,-261,-261,-261,-261,-261,1,97,843,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,844,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,1,97,845,1,92,846,22,70,10,23,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,160,847,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,4,105,76,2,2,848,494,496,497,11,59,1,25,1,2,12,4,9,2,31,40,152,111,154,155,153,106,849,157,156,194,193,5,6,64,1,5,30,-124,-124,-124,-124,-124,3,6,64,1,618,619,850,25,6,64,1,5,27,3,60,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,-123,-123,-123,-123,132,-123,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,5,6,64,1,5,30,-126,-126,-126,-126,-126,11,6,64,1,5,13,1,1,3,4,8,31,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,21,71,32,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,851,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,3,6,64,27,722,723,852,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,602,853,-261,-261,-261,-261,-261,3,6,64,27,722,723,854,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,602,855,-261,-261,-261,-261,-261,4,63,1,2,2,-65,-65,-65,-65,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,131,-332,-332,-332,856,-332,-332,116,115,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,857,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,131,-333,-333,-333,-333,-333,-333,116,115,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,131,-337,-337,-337,-337,-337,-337,116,115,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,131,-341,-341,-341,-341,-341,-341,116,115,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,131,-345,-345,-345,-345,-345,-345,116,115,117,118,119,120,121,122,123,124,125,126,127,128,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,858,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,859,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,3,6,64,1,648,649,860,6,6,64,1,5,63,2,-221,-221,-221,-221,-221,-221,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,861,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,862,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,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,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,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,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,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,22,70,10,23,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,160,863,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,22,70,10,23,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,160,864,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,1,159,865,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,3,6,64,1,690,691,866,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,3,6,64,1,698,699,867,5,6,64,1,5,38,-193,-193,-193,-193,-193,5,6,64,1,5,47,-158,-158,-158,-158,-158,3,6,64,1,722,723,868,64,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,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,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,25,6,64,1,5,21,6,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,-169,-169,-169,-169,-169,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,64,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,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,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,64,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,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,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,7,1,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,869,611,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,870,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,1,105,871,5,6,64,1,5,30,-120,-120,-120,-120,-120,1,92,872,11,6,64,1,5,13,1,1,3,4,8,31,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,3,6,64,1,722,723,873,11,6,64,1,5,13,1,1,3,4,8,31,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,3,6,64,1,722,723,874,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,875,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,876,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,131,-339,-339,-339,-339,-339,-339,116,115,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,131,-343,-343,-343,-343,-343,-343,116,115,117,118,119,120,121,122,123,124,125,126,127,128,5,6,64,1,5,63,-242,-242,-242,-242,-242,22,70,10,23,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,160,877,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,22,70,10,23,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,160,878,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,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,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,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,3,58,5,1,879,112,113,5,6,64,1,5,30,-387,-387,-387,-387,-387,5,6,64,1,5,30,-416,-416,-416,-416,-416,5,6,64,1,5,21,-165,-165,-165,-165,-165,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,45,1,5,63,1,1,5,16,4,1,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-336,-336,-336,-336,-336,882,-336,880,-336,-336,-336,-336,-336,881,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,131,-336,-336,-336,-336,-336,-336,116,115,117,118,119,120,121,122,123,124,125,126,127,128,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,883,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,11,6,64,1,5,13,1,1,3,4,8,31,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,1,97,884,1,97,885,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,131,-334,-334,-334,-334,-334,-334,116,115,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,131,-335,-335,-335,-335,-335,-335,116,115,117,118,119,120,121,122,123,124,125,126,127,128,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,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,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,1,106,886,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,887,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,8,6,64,1,26,9,8,9,16,-262,-262,-262,-262,-262,-262,-262,-262,45,1,5,63,1,1,5,16,4,1,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-338,-338,-338,-338,-338,882,-338,888,-338,-338,-338,-338,-338,889,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,131,-338,-338,-338,-338,-338,-338,116,115,117,118,119,120,121,122,123,124,125,126,127,128,11,6,64,1,5,13,1,1,3,4,8,31,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,11,6,64,1,5,13,1,1,3,4,8,31,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,61,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,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,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,45,1,5,63,1,1,5,16,4,1,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-337,-337,-337,-337,-337,882,-337,890,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,131,-337,-337,-337,-337,-337,-337,116,115,117,118,119,120,121,122,123,124,125,126,127,128,1,106,891,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,892,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,1,106,893,61,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,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,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,45,1,5,63,1,1,5,16,4,1,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-339,-339,-339,-339,-339,882,-339,894,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,131,-339,-339,-339,-339,-339,-339,116,115,117,118,119,120,121,122,123,124,125,126,127,128,61,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,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,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,1,106,895,61,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,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,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114],f=[],e=0,t,i,u,l;while(e<n.length){t=n[e++],i={},u=0,l=[];while(t--)u+=n[e++],l.push(u);for(u of l)i[u]=n[e++];f.push(i)}return f})(),ruleTable:[0,0,3,0,3,1,4,1,4,3,4,2,5,1,5,1,5,1,9,1,9,1,9,1,9,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,8,1,8,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,48,1,48,1,59,1,61,1,58,1,58,3,65,1,65,2,67,3,67,5,67,2,67,1,50,1,50,3,75,3,75,1,17,3,17,4,17,5,18,3,18,4,18,5,19,3,19,4,19,3,20,3,20,4,20,5,22,3,21,3,21,4,21,3,21,2,21,3,21,2,38,1,38,1,38,1,87,1,87,1,84,1,84,1,84,3,84,3,84,4,84,6,84,4,84,6,84,5,84,5,84,7,84,7,84,4,84,5,84,7,86,10,86,12,86,11,86,13,86,4,109,0,109,1,109,3,109,4,109,6,110,1,110,1,110,3,110,5,110,3,110,5,112,1,112,1,112,1,101,1,101,3,101,4,101,1,111,2,111,2,117,1,117,1,117,1,117,1,117,1,117,2,117,2,117,2,117,2,117,3,117,3,117,4,117,6,117,5,117,5,117,7,117,7,47,4,122,0,122,1,122,3,122,4,122,6,124,3,124,5,124,2,95,1,95,3,95,4,95,6,126,1,126,3,126,3,126,5,127,1,127,1,125,1,125,1,125,1,125,1,125,1,125,1,125,1,125,1,125,1,125,1,125,1,125,1,125,1,125,1,85,2,85,3,85,4,129,1,129,3,129,4,129,4,129,6,131,1,131,2,130,1,130,2,128,1,128,2,133,1,133,2,134,1,134,1,41,5,93,3,93,2,93,2,93,1,33,6,33,3,15,5,15,2,36,5,36,2,142,1,142,1,138,0,138,1,138,3,138,4,138,6,145,1,145,3,145,2,145,1,146,1,146,1,146,1,146,1,147,2,42,2,42,2,42,3,42,2,42,2,119,2,119,4,149,1,149,3,149,4,149,4,149,6,132,1,132,1,132,1,132,1,150,1,150,3,44,1,44,1,88,2,45,3,45,4,45,6,46,3,46,3,80,2,80,3,40,3,40,5,96,0,96,1,10,2,10,4,10,1,31,2,31,4,32,1,32,2,32,4,32,3,160,3,160,4,162,4,162,5,162,2,164,3,164,5,23,1,23,1,23,3,23,3,23,7,23,5,23,3,23,3,24,2,24,3,24,4,24,5,169,3,169,3,169,3,169,2,27,5,27,7,27,4,27,6,173,1,173,2,174,3,174,4,176,2,176,4,176,2,176,4,25,2,25,2,25,2,25,1,179,2,179,2,179,3,26,5,26,7,26,7,26,9,26,9,26,5,26,7,26,6,26,8,26,5,26,7,26,6,26,8,26,5,26,7,26,3,26,5,26,5,26,7,26,7,26,9,26,9,26,5,26,7,26,6,26,8,26,5,26,7,26,6,26,8,26,5,26,7,26,3,26,5,186,1,186,3,104,1,104,3,187,1,187,1,28,1,28,2,28,3,28,4,28,2,28,3,28,4,28,5,34,3,35,2,29,4,29,6,194,1,194,3,194,2,195,1,195,1,195,1,195,2,195,2,30,2,30,2,12,2,12,4,12,4,12,5,12,7,12,6,12,9,202,1,202,3,202,4,202,4,202,6,203,1,203,3,203,1,203,3,200,1,201,3,13,3,13,5,13,2,13,2,13,2,13,2,13,4,13,5,13,6,13,2,13,2,13,2,13,2,13,3,13,5,13,4,13,5,13,7,208,1,208,3,208,4,208,4,208,6,210,1,210,3,210,3,210,1,210,3,37,2,37,2,37,2,16,2,16,2,16,2,16,2,16,2,16,2,16,2,16,2,16,4,16,2,16,2,16,2,16,2,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,5,16,3,16,5,16,4,43,2],ruleActions:(n,f,e,t)=>{let i=f,u=e,l=f.length-1;switch(n){case 1:return H(["program"],z?[null]:null);case 2:return H(["program",...i[l]],z?[null,...Dn(i[l])]:null);case 3:case 62:case 117:case 155:case 162:case 194:case 198:case 218:case 238:case 299:case 350:case 366:case 383:case 412:return H([i[l]],z?[u[l]]:null);case 4:case 118:case 156:case 163:case 219:case 239:case 367:case 384:case 413:return H([...i[l-2],i[l]],z?[...Dn(i[l-2]),u[l]]:null);case 5:case 64:case 201:case 368:return i[l-1];case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 23:case 24:case 25:case 26:case 27:case 28:case 29:case 30:case 31:case 32:case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 42:case 43:case 44:case 45:case 46:case 47:case 48:case 49:case 52:case 53:case 54:case 56:case 57:case 58:case 59:case 60:case 67:case 68:case 91:case 92:case 93:case 94:case 95:case 96:case 97:case 122:case 127:case 128:case 129:case 130:case 133:case 136:case 137:case 138:case 139:case 140:case 170:case 171:case 172:case 173:case 174:case 175:case 176:case 177:case 180:case 181:case 182:case 183:case 184:case 189:case 215:case 216:case 222:case 226:case 227:case 228:case 229:case 243:case 244:case 245:case 261:case 262:case 276:case 279:case 280:case 310:case 348:case 352:case 353:case 369:case 370:case 371:case 388:case 390:case 392:case 417:case 420:return i[l];case 50:case 179:return"undefined";case 51:case 178:return"null";case 55:case 185:return H(["symbol",i[l]],z?[null,u[l]]:null);case 61:return H(["str",...i[l-1]],z?[null,...Dn(i[l-1])]:null);case 63:case 195:case 199:case 300:return H([...i[l-1],i[l]],z?[...Dn(i[l-1]),u[l]]:null);case 65:case 237:case 241:case 386:case 415:return i[l-2];case 66:return"";case 69:return H(["regex",i[l-1]],z?[null,u[l-1]]:null);case 70:return H(["regex-index",i[l-2],i[l]],z?[null,u[l-2],u[l]]:null);case 71:return H(["regex-index",i[l],null],z?[null,u[l],null]:null);case 72:case 125:return H(["=",i[l-2],i[l]],z?[null,u[l-2],u[l]]:null);case 73:return H(["=",i[l-3],i[l]],z?[null,u[l-3],u[l]]:null);case 74:case 126:return H(["=",i[l-4],i[l-1]],z?[null,u[l-4],u[l-1]]:null);case 75:return H(["state",i[l-2],i[l]],z?[null,u[l-2],u[l]]:null);case 76:return H(["state",i[l-3],i[l]],z?[null,u[l-3],u[l]]:null);case 77:return H(["state",i[l-4],i[l-1]],z?[null,u[l-4],u[l-1]]:null);case 78:case 80:return H(["computed",i[l-2],i[l]],z?[null,u[l-2],u[l]]:null);case 79:return H(["computed",i[l-3],i[l]],z?[null,u[l-3],u[l]]:null);case 81:return H(["readonly",i[l-2],i[l]],z?[null,u[l-2],u[l]]:null);case 82:return H(["readonly",i[l-3],i[l]],z?[null,u[l-3],u[l]]:null);case 83:return H(["readonly",i[l-4],i[l-1]],z?[null,u[l-4],u[l-1]]:null);case 84:return H(["gate",i[l-2],i[l]],z?[null,u[l-2],u[l]]:null);case 85:case 87:return H(["effect",i[l-2],i[l]],z?[null,u[l-2],u[l]]:null);case 86:return H(["effect",i[l-3],i[l]],z?[null,u[l-3],u[l]]:null);case 88:case 89:case 90:return H(["effect",null,i[l]],z?[null,null,u[l]]:null);case 98:case 145:return H([".",i[l-2],i[l]],z?[null,u[l-2],u[l]]:null);case 99:case 146:return H(["?.",i[l-2],i[l]],z?[null,u[l-2],u[l]]:null);case 100:case 102:case 147:return["[]",i[l-3],i[l-1]];case 101:case 103:case 148:return["[]",i[l-5],i[l-2]];case 104:case 149:return H([".{}",i[l-4],...i[l-2]],z?[null,u[l-4],...Dn(i[l-2])]:null);case 105:case 150:return H(["?.{}",i[l-4],...i[l-2]],z?[null,u[l-4],...Dn(i[l-2])]:null);case 106:case 151:return H([".{}",i[l-6],...i[l-3]],z?[null,u[l-6],...Dn(i[l-3])]:null);case 107:case 152:return H(["?.{}",i[l-6],...i[l-3]],z?[null,u[l-6],...Dn(i[l-3])]:null);case 108:return[i[l-1][0],i[l-3],...i[l-1].slice(1)];case 109:return H(["optindex",i[l-4],i[l-1]],z?[null,u[l-4],u[l-1]]:null);case 110:return H(["optindex",i[l-6],i[l-2]],z?[null,u[l-6],u[l-2]]:null);case 111:return["object-comprehension",i[l-8],i[l-6],[["for-of",i[l-4],i[l-2],!1]],[]];case 112:return["object-comprehension",i[l-10],i[l-8],[["for-of",i[l-6],i[l-4],!1]],[i[l-2]]];case 113:return["object-comprehension",i[l-9],i[l-7],[["for-of",i[l-4],i[l-2],!0]],[]];case 114:return["object-comprehension",i[l-11],i[l-9],[["for-of",i[l-6],i[l-4],!0]],[i[l-2]]];case 115:return H(["object",...i[l-2]],z?[null,...Dn(i[l-2])]:null);case 116:case 154:case 196:case 217:case 236:return[];case 119:case 157:case 164:case 220:case 240:case 385:case 414:return H([...i[l-3],i[l]],z?[...Dn(i[l-3]),u[l]]:null);case 120:case 158:case 165:case 221:case 242:case 387:case 416:return H([...i[l-5],...i[l-2]],z?[...Dn(i[l-5]),...Dn(i[l-2])]:null);case 121:return H([null,i[l],i[l]],z?[null,u[l],u[l]]:null);case 123:case 159:return H([":",i[l-2],i[l]],z?[null,u[l-2],u[l]]:null);case 124:case 160:return H([":",i[l-4],i[l-1]],z?[null,u[l-4],u[l-1]]:null);case 131:return H(["dynamicKey",i[l-1]],z?[null,u[l-1]]:null);case 132:return["[]","this",i[l-1]];case 134:case 135:case 161:case 230:return H(["...",i[l]],z?[null,u[l]]:null);case 141:case 234:return H(["super",...i[l]],z?[null,...Dn(i[l])]:null);case 142:case 143:case 144:case 232:case 235:return H([i[l-1],...i[l]],z?[u[l-1],...Dn(i[l])]:null);case 153:return H(["map-literal",...i[l-2]],z?[null,...Dn(i[l-2])]:null);case 166:return H([i[l],i[l],null],z?[u[l],u[l],null]:null);case 167:return H([i[l-2],i[l],null],z?[u[l-2],u[l],null]:null);case 168:return H([i[l-2],i[l-2],i[l]],z?[u[l-2],u[l-2],u[l]]:null);case 169:return H([i[l-4],i[l-2],i[l]],z?[u[l-4],u[l-2],u[l]]:null);case 186:return H(["array"],z?[null]:null);case 187:return H(["array",...i[l-1]],z?[null,...Dn(i[l-1])]:null);case 188:return H(["array",...i[l-2],...i[l-1]],z?[null,...Dn(i[l-2]),...Dn(i[l-1])]:null);case 190:return H([...i[l-2],...i[l]],z?[...Dn(i[l-2]),...Dn(i[l])]:null);case 191:return H([...i[l-3],...i[l]],z?[...Dn(i[l-3]),...Dn(i[l])]:null);case 192:return H([...i[l-2],...i[l-1]],z?[...Dn(i[l-2]),...Dn(i[l-1])]:null);case 193:return H([...i[l-5],...i[l-4],...i[l-2],...i[l-1]],z?[...Dn(i[l-5]),...Dn(i[l-4]),...Dn(i[l-2]),...Dn(i[l-1])]:null);case 197:return H([...i[l]],z?[...Dn(i[l])]:null);case 200:return null;case 202:return"..";case 203:case 246:return"...";case 204:return H([i[l-2],i[l-3],i[l-1]],z?[u[l-2],u[l-3],u[l-1]]:null);case 205:case 440:case 442:case 443:case 456:case 458:return H([i[l-1],i[l-2],i[l]],z?[u[l-1],u[l-2],u[l]]:null);case 206:return H([i[l],i[l-1],null],z?[u[l],u[l-1],null]:null);case 207:return H([i[l-1],null,i[l]],z?[u[l-1],null,u[l]]:null);case 208:return H([i[l],null,null],z?[u[l],null,null]:null);case 209:return H(["def",i[l-4],i[l-2],i[l]],z?[null,u[l-4],u[l-2],u[l]]:null);case 210:return["def",i[l-1],[],i[l]];case 211:case 213:return H([i[l-1],i[l-3],i[l]],z?[u[l-1],u[l-3],u[l]]:null);case 212:case 214:return[i[l-1],[],i[l]];case 223:case 349:return H(["default",i[l-2],i[l]],z?[null,u[l-2],u[l]]:null);case 224:return H(["rest",i[l]],z?[null,u[l]]:null);case 225:return H(["expansion"],z?[null]:null);case 231:return H(["tagged-template",i[l-1],i[l]],z?[null,u[l-1],u[l]]:null);case 233:return H(["optcall",i[l-2],...i[l]],z?[null,u[l-2],...Dn(i[l])]:null);case 247:return[i[l]];case 248:return[...i[l-2],i[l]];case 249:case 250:return"this";case 251:return H([".","this",i[l]],z?[null,null,u[l]]:null);case 252:return H([".","super",i[l]],z?[null,null,u[l]]:null);case 253:return["[]","super",i[l-1]];case 254:return["[]","super",i[l-2]];case 255:return H([".","new",i[l]],z?[null,null,u[l]]:null);case 256:return H([".","import",i[l]],z?[null,null,u[l]]:null);case 257:return H(["block"],z?[null]:null);case 258:return H(["block",...i[l-1]],z?[null,...Dn(i[l-1])]:null);case 259:return i[l-1].length===1?(Array.isArray(i[l-1][0])&&(i[l-1][0].parenthesized=!0),i[l-1][0]):["block",...i[l-1]];case 260:return i[l-2].length===1?(Array.isArray(i[l-2][0])&&(i[l-2][0].parenthesized=!0),i[l-2][0]):["block",...i[l-2]];case 263:return H(["return",i[l]],z?[null,u[l]]:null);case 264:return H(["return",i[l-1]],z?[null,u[l-1]]:null);case 265:return H(["return"],z?[null]:null);case 266:return H(["throw",i[l]],z?[null,u[l]]:null);case 267:return H(["throw",i[l-1]],z?[null,u[l-1]]:null);case 268:return H(["yield"],z?[null]:null);case 269:return H(["yield",i[l]],z?[null,u[l]]:null);case 270:return H(["yield",i[l-1]],z?[null,u[l-1]]:null);case 271:return H(["yield-from",i[l]],z?[null,u[l]]:null);case 272:case 274:return H(["if",i[l-1],i[l]],z?[null,u[l-1],u[l]]:null);case 273:case 275:return H(["if",i[l-2],i[l-1],i[l]],z?[null,u[l-2],u[l-1],u[l]]:null);case 277:return["if",["!",i[l-1]],i[l]];case 278:return["if",["!",i[l-3]],i[l-2],i[l]];case 281:case 282:return["if",i[l],[i[l-2]]];case 283:return H(["?:",i[l-4],i[l-6],i[l-1]],z?[null,u[l-4],u[l-6],u[l-1]]:null);case 284:return H(["?:",i[l-2],i[l-4],i[l]],z?[null,u[l-2],u[l-4],u[l]]:null);case 285:case 286:return["if",["!",i[l]],[i[l-2]]];case 287:return H(["try",i[l]],z?[null,u[l]]:null);case 288:return H(["try",i[l-1],i[l]],z?[null,u[l-1],u[l]]:null);case 289:return H(["try",i[l-2],i[l]],z?[null,u[l-2],u[l]]:null);case 290:return H(["try",i[l-3],i[l-2],i[l]],z?[null,u[l-3],u[l-2],u[l]]:null);case 291:case 292:case 293:case 422:case 425:case 427:return H([i[l-1],i[l]],z?[u[l-1],u[l]]:null);case 294:return H([null,i[l]],z?[null,u[l]]:null);case 295:return H(["switch",i[l-3],i[l-1],null],z?[null,u[l-3],u[l-1],null]:null);case 296:return H(["switch",i[l-5],i[l-3],i[l-1]],z?[null,u[l-5],u[l-3],u[l-1]]:null);case 297:return H(["switch",null,i[l-1],null],z?[null,null,u[l-1],null]:null);case 298:return H(["switch",null,i[l-3],i[l-1]],z?[null,null,u[l-3],u[l-1]]:null);case 301:return H(["when",i[l-1],i[l]],z?[null,u[l-1],u[l]]:null);case 302:return H(["when",i[l-2],i[l-1]],z?[null,u[l-2],u[l-1]]:null);case 303:return H(["while",i[l]],z?[null,u[l]]:null);case 304:return H(["while",i[l-2],i[l]],z?[null,u[l-2],u[l]]:null);case 305:return["while",["!",i[l]]];case 306:return["while",["!",i[l-2]],i[l]];case 307:return i[l-1].length===2?[i[l-1][0],i[l-1][1],i[l]]:[i[l-1][0],i[l-1][1],i[l-1][2],i[l]];case 308:case 309:return i[l].length===2?[i[l][0],i[l][1],[i[l-1]]]:[i[l][0],i[l][1],i[l][2],[i[l-1]]];case 311:return H(["loop",i[l]],z?[null,u[l]]:null);case 312:return["loop",[i[l]]];case 313:return H(["loop-n",i[l-1],i[l]],z?[null,u[l-1],u[l]]:null);case 314:return H(["for-in",i[l-3],i[l-1],null,null,i[l]],z?[null,u[l-3],u[l-1],null,null,u[l]]:null);case 315:return H(["for-in",i[l-5],i[l-3],null,i[l-1],i[l]],z?[null,u[l-5],u[l-3],null,u[l-1],u[l]]:null);case 316:return H(["for-in",i[l-5],i[l-3],i[l-1],null,i[l]],z?[null,u[l-5],u[l-3],u[l-1],null,u[l]]:null);case 317:return H(["for-in",i[l-7],i[l-5],i[l-1],i[l-3],i[l]],z?[null,u[l-7],u[l-5],u[l-1],u[l-3],u[l]]:null);case 318:return H(["for-in",i[l-7],i[l-5],i[l-3],i[l-1],i[l]],z?[null,u[l-7],u[l-5],u[l-3],u[l-1],u[l]]:null);case 319:return H(["for-of",i[l-3],i[l-1],!1,null,i[l]],z?[null,u[l-3],u[l-1],null,null,u[l]]:null);case 320:return H(["for-of",i[l-5],i[l-3],!1,i[l-1],i[l]],z?[null,u[l-5],u[l-3],null,u[l-1],u[l]]:null);case 321:return H(["for-of",i[l-3],i[l-1],!0,null,i[l]],z?[null,u[l-3],u[l-1],null,null,u[l]]:null);case 322:return H(["for-of",i[l-5],i[l-3],!0,i[l-1],i[l]],z?[null,u[l-5],u[l-3],null,u[l-1],u[l]]:null);case 323:return H(["for-as",i[l-3],i[l-1],!1,null,i[l]],z?[null,u[l-3],u[l-1],null,null,u[l]]:null);case 324:return H(["for-as",i[l-5],i[l-3],!1,i[l-1],i[l]],z?[null,u[l-5],u[l-3],null,u[l-1],u[l]]:null);case 325:case 327:return H(["for-as",i[l-3],i[l-1],!0,null,i[l]],z?[null,u[l-3],u[l-1],null,null,u[l]]:null);case 326:case 328:return H(["for-as",i[l-5],i[l-3],!0,i[l-1],i[l]],z?[null,u[l-5],u[l-3],null,u[l-1],u[l]]:null);case 329:return["for-in",[],i[l-1],null,null,i[l]];case 330:return["for-in",[],i[l-3],i[l-1],null,i[l]];case 331:return["comprehension",i[l-4],[["for-in",i[l-2],i[l],null]],[]];case 332:return["comprehension",i[l-6],[["for-in",i[l-4],i[l-2],null]],[i[l]]];case 333:return["comprehension",i[l-6],[["for-in",i[l-4],i[l-2],i[l]]],[]];case 334:return["comprehension",i[l-8],[["for-in",i[l-6],i[l-4],i[l]]],[i[l-2]]];case 335:return["comprehension",i[l-8],[["for-in",i[l-6],i[l-4],i[l-2]]],[i[l]]];case 336:return["comprehension",i[l-4],[["for-of",i[l-2],i[l],!1]],[]];case 337:return["comprehension",i[l-6],[["for-of",i[l-4],i[l-2],!1]],[i[l]]];case 338:return["comprehension",i[l-5],[["for-of",i[l-2],i[l],!0]],[]];case 339:return["comprehension",i[l-7],[["for-of",i[l-4],i[l-2],!0]],[i[l]]];case 340:return["comprehension",i[l-4],[["for-as",i[l-2],i[l],!1,null]],[]];case 341:return["comprehension",i[l-6],[["for-as",i[l-4],i[l-2],!1,null]],[i[l]]];case 342:return["comprehension",i[l-5],[["for-as",i[l-2],i[l],!0,null]],[]];case 343:return["comprehension",i[l-7],[["for-as",i[l-4],i[l-2],!0,null]],[i[l]]];case 344:return["comprehension",i[l-4],[["for-as",i[l-2],i[l],!0,null]],[]];case 345:return["comprehension",i[l-6],[["for-as",i[l-4],i[l-2],!0,null]],[i[l]]];case 346:return["comprehension",i[l-2],[["for-in",[],i[l],null]],[]];case 347:return["comprehension",i[l-4],[["for-in",[],i[l-2],i[l]]],[]];case 351:case 389:case 391:case 418:case 419:case 421:return H([i[l-2],i[l]],z?[u[l-2],u[l]]:null);case 354:return H(["class",null,null],z?[null,null,null]:null);case 355:return H(["class",null,null,i[l]],z?[null,null,null,u[l]]:null);case 356:return H(["class",null,i[l]],z?[null,null,u[l]]:null);case 357:return H(["class",null,i[l-1],i[l]],z?[null,null,u[l-1],u[l]]:null);case 358:return H(["class",i[l],null],z?[null,u[l],null]:null);case 359:return H(["class",i[l-1],null,i[l]],z?[null,u[l-1],null,u[l]]:null);case 360:return H(["class",i[l-2],i[l]],z?[null,u[l-2],u[l]]:null);case 361:return H(["class",i[l-3],i[l-1],i[l]],z?[null,u[l-3],u[l-1],u[l]]:null);case 362:return H(["enum",i[l-1],i[l]],z?[null,u[l-1],u[l]]:null);case 363:return H(["schema",i[l]],z?[null,u[l]]:null);case 364:return["component",null,["block",...i[l-1]]];case 365:return["component",i[l-3],["block",...i[l-1]]];case 372:return H(["offer",i[l]],z?[null,u[l]]:null);case 373:return H(["accept",i[l]],z?[null,u[l]]:null);case 374:case 375:return H(["render",i[l]],z?[null,u[l]]:null);case 376:case 379:return H(["import","{}",i[l]],z?[null,null,u[l]]:null);case 377:case 378:return H(["import",i[l-2],i[l]],z?[null,u[l-2],u[l]]:null);case 380:return H(["import",i[l-4],i[l]],z?[null,u[l-4],u[l]]:null);case 381:return H(["import",i[l-4],i[l-2],i[l]],z?[null,u[l-4],u[l-2],u[l]]:null);case 382:return H(["import",i[l-7],i[l-4],i[l]],z?[null,u[l-7],u[l-4],u[l]]:null);case 393:return H(["*",i[l]],z?[null,u[l]]:null);case 394:return H(["export","{}"],z?[null,null]:null);case 395:return H(["export",i[l-2]],z?[null,u[l-2]]:null);case 396:case 397:case 398:case 399:case 403:case 404:case 405:case 406:return H(["export",i[l]],z?[null,u[l]]:null);case 400:return["export",["=",i[l-2],i[l]]];case 401:return["export",["=",i[l-3],i[l]]];case 402:return["export",["=",i[l-4],i[l-1]]];case 407:return H(["export-default",i[l]],z?[null,u[l]]:null);case 408:return H(["export-default",i[l-1]],z?[null,u[l-1]]:null);case 409:return H(["export-all",i[l]],z?[null,u[l]]:null);case 410:return H(["export-from","{}",i[l]],z?[null,null,u[l]]:null);case 411:return H(["export-from",i[l-4],i[l]],z?[null,u[l-4],u[l]]:null);case 423:case 424:case 426:case 461:return H(["do-iife",i[l]],z?[null,u[l]]:null);case 428:return H(["-",i[l]],z?[null,u[l]]:null);case 429:return H(["+",i[l]],z?[null,u[l]]:null);case 430:return H(["?",i[l-1]],z?[null,u[l-1]]:null);case 431:return H(["presence",i[l-1]],z?[null,u[l-1]]:null);case 432:return H(["await",i[l]],z?[null,u[l]]:null);case 433:return H(["await",i[l-1]],z?[null,u[l-1]]:null);case 434:return H(["--",i[l],!1],z?[null,u[l],null]:null);case 435:return H(["++",i[l],!1],z?[null,u[l],null]:null);case 436:return H(["--",i[l-1],!0],z?[null,u[l-1],null]:null);case 437:return H(["++",i[l-1],!0],z?[null,u[l-1],null]:null);case 438:return H(["+",i[l-2],i[l]],z?[null,u[l-2],u[l]]:null);case 439:return H(["-",i[l-2],i[l]],z?[null,u[l-2],u[l]]:null);case 441:return H(["**",i[l-2],i[l]],z?[null,u[l-2],u[l]]:null);case 444:return H(["&",i[l-2],i[l]],z?[null,u[l-2],u[l]]:null);case 445:return H(["^",i[l-2],i[l]],z?[null,u[l-2],u[l]]:null);case 446:return H(["|",i[l-2],i[l]],z?[null,u[l-2],u[l]]:null);case 447:case 448:case 449:case 450:case 451:case 452:return H(["control",i[l-1],i[l-2],i[l]],z?[null,u[l-1],u[l-2],u[l]]:null);case 453:return H(["&&",i[l-2],i[l]],z?[null,u[l-2],u[l]]:null);case 454:return H(["||",i[l-2],i[l]],z?[null,u[l-2],u[l]]:null);case 455:return H(["??",i[l-2],i[l]],z?[null,u[l-2],u[l]]:null);case 457:return H(["?:",i[l-4],i[l-2],i[l]],z?[null,u[l-4],u[l-2],u[l]]:null);case 459:return H([i[l-3],i[l-4],i[l-1]],z?[u[l-3],u[l-4],u[l-1]]:null);case 460:return H([i[l-2],i[l-3],i[l]],z?[u[l-2],u[l-3],u[l]]:null)}},parseError(n,f){let e,t,i,u,l,a,c;if(f.recoverable)return this.trace(n);else throw i=(f.line||0)+1,e=f.loc?.c||0,c=f.token?` (token: ${f.token})`:"",a=f.text?` near '${f.text}'`:"",u=`line ${i}, column ${e}`,l=`Parse error at ${u}${c}${a}: ${n}`,t=Error(l),t.hash=f,t},parse(n){let f,e,t,i,u,l,a,c,r,h,o,s,w,y,A,m,R,U,_,D,M,q,S,d,K,E,Z,Q;[q,Q,o]=[[0],[null],[]],[A,Z,K,d,U]=[this.parseTable,"",0,0,0],[e,f]=[2,1],r=Object.create(this.lexer),D={ctx:{}};for(let W in this.ctx){if(!Object.hasOwn(this.ctx,W))continue;let C=this.ctx[W];D.ctx[W]=C}if(r.setInput(n,D.ctx),[D.ctx.lexer,D.ctx.parser]=[r,this],r.loc==null)r.loc={};E=r.loc,o.push(E),this.parseError=typeof D.ctx.parseError==="function"?D.ctx.parseError:Object.getPrototypeOf(this).parseError,c=()=>{let W;if(W=r.lex()||f,typeof W!=="number")W=this.symbolIds[W]||W;return W},S=m=M=t=R=y=a=w=u=null,_={};while(!0){if(M=q[q.length-1],S==null)S=c();if(t=A[M]?.[S],t==null){if(i="",!U)u=(()=>{let W=[];for(let C in A[M]){if(!Object.hasOwn(A[M],C))continue;if(this.tokenNames[C]&&C>e)W.push(`'${this.tokenNames[C]}'`)}return W})();throw i=(()=>{if(r.showPosition)return`Parse error on line ${K+1}:
1859
+ `;var z=!1,Ol=(n)=>{z=n},H=(n,f)=>{if(f&&Array.isArray(n))Object.defineProperty(n,"subLocs",{value:f,enumerable:!1,configurable:!0,writable:!0});return n},Dn=(n)=>n&&n.subLocs?n.subLocs:Array.isArray(n)?n.map(()=>null):[],Hu={symbolIds:{$accept:0,$end:1,error:2,Root:3,Body:4,Line:5,TERMINATOR:6,Expression:7,ExpressionLine:8,Statement:9,Return:10,STATEMENT:11,Import:12,Export:13,Value:14,Code:15,Operation:16,Assign:17,ReactiveAssign:18,ComputedAssign:19,ReadonlyAssign:20,Effect:21,Gate:22,If:23,Try:24,While:25,For:26,Switch:27,Class:28,Component:29,Render:30,Throw:31,Yield:32,Def:33,Enum:34,Schema:35,CodeLine:36,OperationLine:37,Assignable:38,Literal:39,Parenthetical:40,Range:41,Invocation:42,DoIife:43,This:44,Super:45,MetaProperty:46,MapLiteral:47,Atom:48,JS:49,Regex:50,UNDEFINED:51,NULL:52,BOOL:53,INFINITY:54,NAN:55,SYMBOL:56,NUMBER:57,String:58,Identifier:59,IDENTIFIER:60,Property:61,PROPERTY:62,STRING:63,STRING_START:64,Interpolations:65,STRING_END:66,InterpolationChunk:67,INTERPOLATION_START:68,INTERPOLATION_END:69,INDENT:70,OUTDENT:71,REGEX:72,REGEX_START:73,REGEX_END:74,RegexWithIndex:75,",":76,"=":77,REACTIVE_ASSIGN:78,COMPUTED_ASSIGN:79,Block:80,READONLY_ASSIGN:81,GATE:82,EFFECT:83,SimpleAssignable:84,Array:85,Object:86,Subjectable:87,ThisProperty:88,".":89,"?.":90,INDEX_START:91,INDEX_END:92,Slice:93,PICK_START:94,PickList:95,OptComma:96,PICK_END:97,OPTPICK_START:98,ES6_OPTIONAL_INDEX:99,"{":100,ObjAssignable:101,":":102,FOR:103,ForVariables:104,FOROF:105,"}":106,WHEN:107,OWN:108,AssignList:109,AssignObj:110,ObjRestValue:111,SimpleObjAssignable:112,"[":113,"]":114,"@":115,"...":116,ObjSpreadExpr:117,SUPER:118,Arguments:119,DYNAMIC_IMPORT:120,MAP_START:121,MapAssignList:122,MAP_END:123,MapAssignObj:124,MapAssignable:125,PickItem:126,PickKey:127,Elisions:128,ArgElisionList:129,OptElisions:130,ArgElision:131,Arg:132,Elision:133,RangeDots:134,"..":135,DEF:136,CALL_START:137,ParamList:138,CALL_END:139,PARAM_START:140,PARAM_END:141,ArrowKind:142,"->":143,"=>":144,Param:145,ParamVar:146,Splat:147,ES6_OPTIONAL_CALL:148,ArgList:149,SimpleArgs:150,THIS:151,NEW_TARGET:152,IMPORT_META:153,"(":154,")":155,RETURN:156,THROW:157,YIELD:158,FROM:159,IfBlock:160,IF:161,IfElseTail:162,ELSE:163,UnlessBlock:164,UNLESS:165,POST_IF:166,POST_UNLESS:167,TRY:168,Catch:169,FINALLY:170,CATCH:171,SWITCH:172,Cases:173,When:174,LEADING_WHEN:175,WhileSource:176,WHILE:177,UNTIL:178,Loop:179,LOOP:180,FORIN:181,BY:182,FORAS:183,AWAIT:184,FORASAWAIT:185,ForValue:186,ClassName:187,CLASS:188,EXTENDS:189,ENUM:190,SCHEMA:191,SCHEMA_BODY:192,COMPONENT:193,ComponentBody:194,ComponentLine:195,OFFER:196,ACCEPT:197,RENDER:198,IMPORT:199,ImportDefaultSpecifier:200,ImportNamespaceSpecifier:201,ImportSpecifierList:202,ImportSpecifier:203,AS:204,DEFAULT:205,IMPORT_ALL:206,EXPORT:207,ExportSpecifierList:208,EXPORT_ALL:209,ExportSpecifier:210,UNARY:211,DO:212,DO_IIFE:213,UNARY_MATH:214,"-":215,"+":216,"?":217,PRESENCE:218,"--":219,"++":220,MATH:221,"**":222,SHIFT:223,COMPARE:224,"&":225,"^":226,"|":227,"||":228,"??":229,"&&":230,RELATION:231,TERNARY:232,COMPOUND_ASSIGN:233},tokenNames:{2:"error",6:"TERMINATOR",11:"STATEMENT",49:"JS",51:"UNDEFINED",52:"NULL",53:"BOOL",54:"INFINITY",55:"NAN",56:"SYMBOL",57:"NUMBER",60:"IDENTIFIER",62:"PROPERTY",63:"STRING",64:"STRING_START",66:"STRING_END",68:"INTERPOLATION_START",69:"INTERPOLATION_END",70:"INDENT",71:"OUTDENT",72:"REGEX",73:"REGEX_START",74:"REGEX_END",76:",",77:"=",78:"REACTIVE_ASSIGN",79:"COMPUTED_ASSIGN",81:"READONLY_ASSIGN",82:"GATE",83:"EFFECT",89:".",90:"?.",91:"INDEX_START",92:"INDEX_END",94:"PICK_START",97:"PICK_END",98:"OPTPICK_START",99:"ES6_OPTIONAL_INDEX",100:"{",102:":",103:"FOR",105:"FOROF",106:"}",107:"WHEN",108:"OWN",113:"[",114:"]",115:"@",116:"...",118:"SUPER",120:"DYNAMIC_IMPORT",121:"MAP_START",123:"MAP_END",135:"..",136:"DEF",137:"CALL_START",139:"CALL_END",140:"PARAM_START",141:"PARAM_END",143:"->",144:"=>",148:"ES6_OPTIONAL_CALL",151:"THIS",152:"NEW_TARGET",153:"IMPORT_META",154:"(",155:")",156:"RETURN",157:"THROW",158:"YIELD",159:"FROM",161:"IF",163:"ELSE",165:"UNLESS",166:"POST_IF",167:"POST_UNLESS",168:"TRY",170:"FINALLY",171:"CATCH",172:"SWITCH",175:"LEADING_WHEN",177:"WHILE",178:"UNTIL",180:"LOOP",181:"FORIN",182:"BY",183:"FORAS",184:"AWAIT",185:"FORASAWAIT",188:"CLASS",189:"EXTENDS",190:"ENUM",191:"SCHEMA",192:"SCHEMA_BODY",193:"COMPONENT",196:"OFFER",197:"ACCEPT",198:"RENDER",199:"IMPORT",204:"AS",205:"DEFAULT",206:"IMPORT_ALL",207:"EXPORT",209:"EXPORT_ALL",211:"UNARY",212:"DO",213:"DO_IIFE",214:"UNARY_MATH",215:"-",216:"+",217:"?",218:"PRESENCE",219:"--",220:"++",221:"MATH",222:"**",223:"SHIFT",224:"COMPARE",225:"&",226:"^",227:"|",228:"||",229:"??",230:"&&",231:"RELATION",232:"TERNARY",233:"COMPOUND_ASSIGN"},parseTable:(()=>{let n=[114,1,2,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,-1,1,2,3,4,5,6,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,45,46,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,1,1,0,2,1,5,-2,114,5,1,5,63,2,84,-3,-3,-3,-3,-3,29,1,5,63,1,1,5,27,11,25,16,11,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,-6,-6,-6,-6,-6,-6,132,-6,-6,-6,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,9,1,5,63,1,1,5,38,25,16,-7,-7,-7,-7,-7,-7,-7,-7,-7,14,1,5,63,1,1,5,38,25,16,11,1,9,1,1,-8,-8,-8,-8,-8,-8,-8,-8,-8,133,134,135,103,104,57,1,5,52,5,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,3,4,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-13,-13,138,112,113,-13,-13,-13,-13,-94,-94,-94,-13,-94,-13,-94,-94,-13,-13,-13,-13,-13,-13,-13,139,-13,-13,141,-13,-13,140,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,136,137,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,49,1,5,63,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-14,-14,-14,-14,-14,-14,-95,-95,-95,-14,-95,-14,-95,-95,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,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,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,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,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,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,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,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,9,1,5,63,1,1,5,38,25,16,-35,-35,-35,-35,-35,-35,-35,-35,-35,9,1,5,63,1,1,5,38,25,16,-36,-36,-36,-36,-36,-36,-36,-36,-36,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,61,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-37,-37,-37,-37,-37,-37,-37,-37,142,143,144,145,147,146,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,18,6,53,1,10,1,5,9,1,2,12,13,2,1,22,1,2,4,1,-217,152,111,-217,-217,-217,154,155,153,106,157,156,151,148,-217,-217,149,150,113,5,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,7,3,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,159,4,5,6,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,160,109,110,158,56,55,76,77,100,99,106,62,88,92,89,90,95,69,45,46,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,110,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,161,162,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,45,46,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,110,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,164,165,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,45,46,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,166,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,172,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,173,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,108,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,174,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,175,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,49,14,1,23,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,11,1,1,1,1,12,13,2,3,2,1,19,2,1,1,7,1,1,1,59,177,178,179,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,176,76,77,100,99,106,88,92,89,90,95,167,168,96,97,91,93,94,87,171,49,14,1,23,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,11,1,1,1,1,12,13,2,3,2,1,19,2,1,1,7,1,1,1,59,177,178,179,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,180,76,77,100,99,106,88,92,89,90,95,167,168,96,97,91,93,94,87,171,64,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,181,182,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,183,110,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,7,3,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,185,184,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,160,109,110,186,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,2,70,10,160,187,2,70,10,160,188,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,14,41,18,1,25,1,2,12,4,4,5,2,31,38,2,192,152,111,154,155,153,106,189,190,88,156,194,191,193,108,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,195,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,196,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,50,1,5,53,1,9,1,1,5,4,8,4,5,5,1,2,1,1,7,1,1,7,12,4,2,14,8,3,1,10,1,3,1,1,2,2,2,26,1,5,1,1,1,1,1,1,1,1,1,1,1,-354,-354,200,111,-354,160,-354,-354,197,201,-354,-354,-354,-354,-354,-354,-354,-354,156,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,199,198,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,2,70,119,202,203,109,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,7,3,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,205,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,160,109,110,204,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,108,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,206,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,207,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,146,1,5,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,5,1,1,1,1,3,7,1,1,1,1,1,4,5,3,2,1,2,1,1,6,1,1,1,2,2,1,2,12,1,3,1,1,1,1,1,7,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,4,4,1,1,1,1,1,1,1,1,1,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-268,-268,208,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,-268,209,-268,109,110,-268,56,55,76,77,100,99,-268,-268,106,-268,-268,-268,-268,-268,88,-268,92,-268,89,90,95,-268,-268,69,-268,167,-268,168,96,97,91,93,94,87,-268,73,67,68,210,57,101,-268,58,102,-268,-268,59,63,60,-268,-268,61,105,-268,-268,-268,52,-268,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,2,59,1,211,111,2,59,1,212,111,1,192,213,6,15,21,104,2,1,1,215,214,45,46,96,97,145,1,5,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,5,1,1,1,1,3,7,1,1,1,1,1,4,5,3,2,1,2,1,1,6,1,1,1,2,2,1,2,12,1,3,1,1,1,1,1,7,1,1,1,1,1,1,1,2,1,2,1,1,1,1,1,4,4,1,1,1,1,1,1,1,1,1,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,-265,-265,216,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,-265,217,-265,109,110,-265,56,55,76,77,100,99,-265,-265,106,-265,-265,-265,-265,-265,88,-265,92,-265,89,90,95,-265,-265,69,-265,167,-265,168,96,97,91,93,94,87,-265,73,67,68,57,101,-265,58,102,-265,-265,59,63,60,-265,-265,61,105,-265,-265,-265,52,-265,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,9,58,1,1,3,1,36,100,1,5,218,222,111,112,113,221,219,220,223,64,14,1,3,1,1,1,7,1,4,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,13,2,3,2,1,15,4,2,1,1,7,1,1,1,34,2,3,12,4,4,177,178,230,231,232,233,225,226,227,228,236,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,229,111,112,113,109,110,56,237,76,77,100,99,224,88,92,89,90,95,69,167,168,96,97,91,93,94,87,64,70,65,234,235,171,61,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,61,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,113,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,238,3,4,5,6,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,239,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,45,46,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,120,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,3,7,1,1,1,1,1,12,3,10,1,1,1,2,2,1,7,1,2,1,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,240,249,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,246,109,110,247,56,55,76,77,100,99,106,62,88,241,92,251,89,90,95,242,243,245,248,244,69,45,46,96,97,250,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,4,89,2,28,18,253,254,252,141,2,119,18,255,141,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,57,1,5,55,1,1,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-250,-250,256,257,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,-250,1,89,258,1,89,259,35,6,34,8,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,6,1,1,1,3,9,1,2,12,13,2,1,6,1,1,1,29,-154,276,267,268,271,270,269,272,273,277,107,108,264,111,265,257,112,113,-154,-154,109,110,-154,274,275,266,106,157,156,263,260,-154,261,262,87,57,11,38,2,1,1,1,1,1,1,3,3,1,6,2,1,10,17,3,10,2,3,2,1,15,4,3,1,7,1,1,1,2,1,1,3,4,3,4,5,1,2,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,-215,57,11,38,2,1,1,1,1,1,1,3,3,1,6,2,1,10,17,3,10,2,3,2,1,15,4,3,1,7,1,1,1,2,1,1,3,4,3,4,5,1,2,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,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,-216,-216,64,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,64,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,6,89,1,1,3,4,1,278,279,280,281,282,283,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,284,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,285,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,286,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,287,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,109,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,7,3,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,289,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,160,109,110,288,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,23,6,42,9,1,1,1,1,1,1,1,6,1,5,12,13,5,3,1,1,1,1,2,1,-116,295,107,108,297,111,298,257,112,113,-116,-116,-116,299,290,-116,291,296,300,292,293,294,301,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,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,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,49,14,1,23,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,11,1,1,1,1,12,13,2,3,2,1,19,2,1,1,7,1,1,1,59,177,178,179,36,37,38,302,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,237,76,77,100,99,106,88,92,89,90,95,167,168,96,97,91,93,94,87,171,67,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,4,4,3,1,10,1,3,1,1,2,4,15,11,1,1,1,1,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,-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,5,57,1,2,2,1,1,1,3,2,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,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,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,6,58,5,1,1,2,1,306,112,113,303,304,305,116,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,5,2,1,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,1,1,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,-5,307,-5,4,5,6,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,-5,-5,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,45,46,96,97,91,93,94,87,-5,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,308,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,309,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,310,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,311,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,312,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,313,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,314,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,315,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,316,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,319,163,317,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,318,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,322,163,320,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,321,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,325,163,323,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,324,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,326,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,327,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,328,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,329,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,14,41,18,1,25,1,2,12,4,4,5,2,31,38,2,333,152,111,154,155,153,106,330,331,88,156,194,332,193,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,334,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,335,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,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,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,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,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,56,1,5,57,1,5,1,1,3,2,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,56,1,5,57,1,5,1,1,3,2,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,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,-232,2,119,18,336,141,116,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,1,12,3,10,2,1,2,2,1,11,4,3,1,2,1,1,3,2,2,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,341,249,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,340,109,110,56,55,76,77,100,99,106,62,88,92,251,89,90,95,339,69,337,45,46,96,97,250,338,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,109,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,343,342,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,344,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,109,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,346,345,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,347,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,110,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,7,3,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,349,348,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,160,109,110,350,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,109,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,352,351,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,353,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,110,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,7,3,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,355,354,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,160,109,110,356,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,357,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,11,6,64,1,5,20,1,9,8,9,16,2,-261,-261,-261,359,360,-261,-261,-261,-261,-261,358,6,6,64,1,5,63,2,-218,-218,-218,-218,-218,-218,7,6,64,1,5,1,62,2,-222,-222,-222,-222,361,-222,-222,15,6,53,1,10,1,5,9,1,2,12,13,2,24,2,5,-225,152,111,-225,-225,-225,154,155,153,106,157,156,-225,-225,362,11,6,64,1,5,1,28,34,2,40,2,2,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,11,6,64,1,5,1,28,34,2,40,2,2,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,11,6,64,1,5,1,28,34,2,40,2,2,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,11,6,64,1,5,1,28,34,2,40,2,2,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,2,61,1,256,257,120,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,3,7,1,1,1,1,1,12,3,10,1,1,1,2,2,1,7,1,2,1,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,341,249,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,246,109,110,247,56,55,76,77,100,99,106,62,88,241,92,251,89,90,95,242,243,245,248,244,69,45,46,96,97,250,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,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,9,1,5,63,1,1,5,38,25,16,-214,-214,-214,-214,-214,-214,-214,-214,-214,113,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,7,1,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,364,3,4,5,6,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,363,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,45,46,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,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,-425,-425,-425,-425,-425,-425,-425,131,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,9,1,5,63,1,1,5,38,25,16,-422,-422,-422,-422,-422,-422,-422,-422,-422,5,166,1,9,1,1,133,134,135,103,104,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,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,-426,-426,-426,-426,-426,-426,-426,131,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,9,1,5,63,1,1,5,38,25,16,-423,-423,-423,-423,-423,-423,-423,-423,-423,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,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,-427,-427,-427,-427,-427,-427,-427,131,-427,-427,-427,-427,-427,-427,-427,-427,-427,118,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,18,6,53,1,10,1,5,9,1,2,12,13,2,1,22,1,2,4,1,-217,152,111,-217,-217,-217,154,155,153,106,157,156,151,365,-217,-217,149,150,2,70,10,160,158,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,161,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,164,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,5,15,125,2,1,1,215,167,168,96,97,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,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,-428,-428,-428,-428,-428,-428,-428,131,-428,-428,-428,-428,-428,-428,-428,-428,-428,118,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,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,131,-429,-429,-429,-429,-429,-429,-429,-429,-429,118,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,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,-432,-432,-432,-432,-432,-432,-432,131,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,2,86,14,366,106,61,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-434,-434,-91,-91,-434,-434,-434,-434,-91,-91,-91,-91,-91,-91,-91,-91,-91,-434,-91,-434,-91,-91,-434,-434,-434,-434,-434,-434,-434,-434,-434,-91,-434,-434,-91,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-91,-91,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,12,58,5,1,25,1,1,3,4,1,20,18,11,138,112,113,-94,-94,-94,-94,-94,-94,139,141,140,6,89,1,1,3,4,1,-95,-95,-95,-95,-95,-95,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,61,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-435,-435,-91,-91,-435,-435,-435,-435,-91,-91,-91,-91,-91,-91,-91,-91,-91,-435,-91,-435,-91,-91,-435,-435,-435,-435,-435,-435,-435,-435,-435,-91,-435,-435,-91,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-91,-91,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,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,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,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,109,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,369,367,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,368,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-88,-88,-88,-88,-88,-88,-88,-88,-88,132,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,129,130,131,103,104,-88,-88,-88,-88,116,115,117,118,119,120,121,122,123,124,125,126,127,128,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,370,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,46,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,2,1,1,6,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,371,372,373,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,-307,4,105,76,2,2,375,374,376,377,11,59,1,25,1,2,12,4,9,2,31,40,152,111,154,155,153,106,378,157,156,194,193,11,59,1,25,1,2,12,4,9,2,31,40,152,111,154,155,153,106,379,157,156,194,193,3,70,10,102,160,380,381,5,76,29,76,2,2,382,-350,-350,-350,-350,6,76,1,28,76,2,2,-348,383,-348,-348,-348,-348,21,70,33,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,384,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,3,173,1,1,385,386,387,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-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,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,388,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,45,1,5,63,1,1,5,4,12,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,4,26,1,5,1,1,1,1,1,1,1,1,1,1,1,-358,-358,-358,160,-358,-358,389,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,390,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,4,26,1,5,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,-352,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,4,26,1,5,1,1,1,1,1,1,1,1,1,1,1,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,114,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,1,1,1,1,1,1,8,4,1,1,1,1,1,3,1,393,394,395,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,45,46,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,391,392,396,397,66,74,75,47,48,72,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,398,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-375,-375,-375,-375,-375,-375,-375,-375,-375,132,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,131,103,104,-375,-375,-375,-375,116,115,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,131,-266,-266,-266,-266,-266,-266,116,115,117,118,119,120,121,122,123,124,125,126,127,128,2,86,14,399,106,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,131,-269,-269,-269,-269,-269,-269,116,115,117,118,119,120,121,122,123,124,125,126,127,128,2,86,14,400,106,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,401,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,3,70,10,57,160,403,402,2,70,10,160,404,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,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,9,1,5,63,1,1,5,38,25,16,-424,-424,-424,-424,-424,-424,-424,-424,-424,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,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,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,-461,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,131,-263,-263,-263,-263,-263,-263,116,115,117,118,119,120,121,122,123,124,125,126,127,128,2,86,14,405,106,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,2,76,83,407,406,1,159,408,7,59,1,10,36,96,1,2,413,111,412,409,410,411,414,2,76,83,-392,-392,1,204,415,26,6,42,9,1,1,1,1,1,1,1,6,1,5,12,13,5,3,1,1,1,1,2,1,89,3,2,-116,295,107,108,420,111,298,257,112,113,419,-116,-116,299,290,416,291,296,300,292,293,294,301,421,417,418,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,-396,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,64,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-96,-96,-96,-96,-96,-96,-96,-96,422,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,108,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,423,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,424,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,1,159,425,59,1,5,57,1,5,1,1,5,2,1,2,2,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-37,-37,-37,-37,-37,-37,-37,-37,143,144,145,146,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,61,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,2,6,149,114,426,112,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,427,3,4,5,6,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,45,46,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,29,6,64,1,5,27,11,2,18,1,4,27,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,-243,-243,-243,-243,132,-243,430,428,429,-243,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,61,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-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,-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,-186,-186,-186,-186,-186,116,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,3,7,1,1,1,1,1,12,3,10,1,1,1,2,2,1,11,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,341,249,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,247,56,55,76,77,100,99,106,62,88,431,92,251,89,90,95,433,432,69,45,46,96,97,250,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,11,6,64,1,5,20,1,9,8,9,7,9,-261,-261,-261,435,436,-261,-261,-261,-261,434,-261,62,6,5,38,2,1,1,1,1,1,1,3,3,1,6,1,1,1,3,7,17,3,10,1,1,1,2,2,1,15,4,3,1,7,1,1,1,2,1,1,3,4,3,4,5,1,2,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,437,-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,-198,-198,-198,5,6,64,1,5,38,-189,-189,-189,-189,-189,119,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,3,7,1,1,1,1,1,12,3,10,2,1,2,2,1,7,1,2,1,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,341,249,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,246,109,110,247,56,55,76,77,100,99,106,62,88,92,251,89,90,95,439,438,245,248,244,69,45,46,96,97,250,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,62,6,5,38,2,1,1,1,1,1,1,3,3,1,6,1,1,1,3,7,17,3,10,1,1,1,2,2,1,15,4,3,1,7,1,1,1,2,1,1,3,4,3,4,5,1,2,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,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,5,6,64,1,5,38,-194,-194,-194,-194,-194,6,6,64,1,5,38,25,-244,-244,-244,-244,-244,-244,6,6,64,1,5,38,25,-245,-245,-245,-245,-245,-245,113,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,1,1,1,3,7,1,1,1,1,1,12,3,10,1,1,3,2,1,15,3,1,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,-246,440,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,-246,-246,109,110,-246,56,55,76,77,100,99,106,62,88,-246,92,89,90,95,69,-246,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,56,1,5,57,1,5,1,1,3,2,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,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,-234,2,61,1,441,257,108,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,442,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,443,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,56,1,5,57,1,5,1,1,3,2,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,-235,65,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,4,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,-251,65,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,4,26,1,1,1,1,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,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,-59,2,61,1,444,257,2,61,1,445,257,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,447,446,-261,-261,-261,-261,-261,5,6,64,1,5,47,-155,-155,-155,-155,-155,1,102,448,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,449,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,1,102,-172,1,102,-173,1,102,-174,1,102,-175,1,102,-176,1,102,-177,1,102,-178,1,102,-179,1,102,-180,1,102,-181,1,102,-182,1,102,-183,1,102,-184,1,102,-185,2,61,1,450,257,2,61,1,451,257,113,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,2,8,1,1,1,1,1,5,7,3,10,2,1,2,2,1,13,1,1,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,452,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,457,81,82,83,84,85,86,107,108,98,111,112,113,453,109,110,455,56,55,76,77,100,99,454,106,62,88,92,430,89,90,95,456,429,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,8,59,1,1,1,8,25,31,1,462,111,463,257,459,458,460,461,8,59,1,1,1,8,25,31,1,462,111,463,257,465,464,460,461,1,91,466,22,70,10,23,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,160,467,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,22,70,10,23,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,160,468,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-303,-303,-303,-303,-303,-303,-303,-303,-303,132,-303,-303,469,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,131,103,104,-303,-303,-303,-303,116,115,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-305,-305,-305,-305,-305,-305,-305,-305,-305,132,-305,-305,470,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,131,103,104,-305,-305,-305,-305,116,115,117,118,119,120,121,122,123,124,125,126,127,128,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,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,45,1,5,63,1,1,5,4,12,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-312,-312,-312,160,-312,-312,471,-312,-312,-312,132,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,131,103,104,-312,-312,-312,-312,116,115,117,118,119,120,121,122,123,124,125,126,127,128,6,6,64,1,5,26,4,-121,-121,-121,-121,472,-121,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,474,473,-261,-261,-261,-261,-261,7,6,64,1,5,1,25,4,-130,-130,-130,-130,475,-130,-130,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,476,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,3,61,1,51,256,257,477,6,6,64,1,5,26,4,-133,-133,-133,-133,-133,-133,5,6,64,1,5,30,-117,-117,-117,-117,-117,13,6,64,1,5,1,12,1,1,3,4,4,4,31,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,13,6,64,1,5,1,12,1,1,3,4,4,4,31,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,13,6,64,1,5,1,12,1,1,3,4,4,4,31,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,5,6,64,1,5,30,-122,-122,-122,-122,-122,17,40,4,1,14,1,1,1,24,2,12,12,3,2,1,2,31,3,481,483,482,297,111,298,257,480,299,106,478,92,479,484,485,91,87,56,1,5,57,1,5,1,1,3,2,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-41,-41,-41,-41,-41,-41,-41,486,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,6,58,5,1,2,1,1,306,112,113,487,488,305,4,63,1,2,2,-62,-62,-62,-62,114,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,5,1,2,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,489,3,4,5,6,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,491,490,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,45,46,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,4,63,1,2,2,-67,-67,-67,-67,5,1,5,63,2,84,-4,-4,-4,-4,-4,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,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,131,-438,-438,-438,-438,-438,-438,-438,-438,117,118,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,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,131,-439,-439,-439,-439,-439,-439,-439,-439,117,118,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,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,131,-440,-440,-440,-440,-440,-440,-440,-440,-440,118,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,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,131,-441,-441,-441,-441,-441,-441,-441,-441,-441,118,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,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,131,-442,-442,-442,-442,-442,-442,116,115,117,118,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,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,131,-443,-443,-443,-443,-443,-443,116,115,117,118,119,-443,-443,-443,-443,-443,-443,-443,127,-443,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,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,-444,-444,-444,-444,-444,-444,-444,131,-444,-444,-444,-444,-444,-444,116,115,117,118,119,120,-444,-444,-444,-444,-444,-444,127,-444,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,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,131,-445,-445,-445,-445,-445,-445,116,115,117,118,119,120,121,-445,-445,-445,-445,-445,127,-445,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,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,131,-446,-446,-446,-446,-446,-446,116,115,117,118,119,120,121,122,-446,-446,-446,-446,127,-446,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,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,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,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,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,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,131,-454,-454,-454,-454,-454,-454,116,115,117,118,119,120,121,122,123,-454,-454,126,127,-454,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,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,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,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,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,131,-455,-455,-455,-455,-455,-455,116,115,117,118,119,120,121,122,123,-455,-455,126,127,-455,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,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,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,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,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,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,131,-453,-453,-453,-453,-453,-453,116,115,117,118,119,120,121,122,123,-453,-453,-453,127,-453,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,-456,131,-456,-456,-456,-456,-456,-456,116,115,117,118,119,-456,-456,-456,-456,-456,-456,-456,-456,-456,21,102,1,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,492,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-282,-282,-282,-282,-282,-282,-282,-282,-282,132,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,493,-282,-282,131,103,104,-282,-282,-282,-282,116,115,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-286,-286,-286,-286,-286,-286,-286,-286,-286,132,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,131,103,104,-286,-286,-286,-286,116,115,117,118,119,120,121,122,123,124,125,126,127,128,4,105,76,2,2,495,494,496,497,11,59,1,25,1,2,12,4,9,2,31,40,152,111,154,155,153,106,498,157,156,194,193,11,59,1,25,1,2,12,4,9,2,31,40,152,111,154,155,153,106,499,157,156,194,193,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,500,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,-346,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-281,-281,-281,-281,-281,-281,-281,-281,-281,132,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,131,103,104,-281,-281,-281,-281,116,115,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-285,-285,-285,-285,-285,-285,-285,-285,-285,132,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,131,103,104,-285,-285,-285,-285,116,115,117,118,119,120,121,122,123,124,125,126,127,128,56,1,5,57,1,5,1,1,3,2,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,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,-233,56,1,5,57,1,5,1,1,3,2,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,-236,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,502,501,-261,-261,-261,-261,-261,5,6,64,1,5,63,-238,-238,-238,-238,-238,115,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,1,12,3,10,2,1,2,2,1,11,4,4,2,1,1,3,2,2,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,341,249,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,340,109,110,56,55,76,77,100,99,106,62,88,92,251,89,90,95,339,69,45,46,96,97,250,503,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,26,6,64,1,5,27,11,25,27,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,-243,-243,-243,-243,132,-243,-243,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,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,131,-72,-72,-72,-72,-72,-72,116,115,117,118,119,120,121,122,123,124,125,126,127,128,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,504,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,505,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-75,-75,-75,-75,-75,-75,-75,-75,-75,132,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,129,130,131,103,104,-75,-75,-75,-75,116,115,117,118,119,120,121,122,123,124,125,126,127,128,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,506,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,507,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-78,-78,-78,-78,-78,-78,-78,-78,-78,132,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,129,130,131,103,104,-78,-78,-78,-78,116,115,117,118,119,120,121,122,123,124,125,126,127,128,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,508,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,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,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-81,-81,-81,-81,-81,-81,-81,-81,-81,132,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,129,130,131,103,104,-81,-81,-81,-81,116,115,117,118,119,120,121,122,123,124,125,126,127,128,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,509,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,510,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-85,-85,-85,-85,-85,-85,-85,-85,-85,132,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,129,130,131,103,104,-85,-85,-85,-85,116,115,117,118,119,120,121,122,123,124,125,126,127,128,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,511,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-84,-84,-84,-84,-84,-84,-84,-84,-84,132,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,129,130,131,103,104,-84,-84,-84,-84,116,115,117,118,119,120,121,122,123,124,125,126,127,128,3,142,1,1,512,96,97,19,6,53,1,10,1,14,1,2,9,3,6,7,1,1,1,7,16,6,1,-262,152,111,-262,-262,154,155,153,-262,106,-262,157,-262,156,151,-262,-262,513,150,2,6,64,514,515,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,516,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,6,6,64,1,5,63,2,-224,-224,-224,-224,-224,-224,58,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,3,1,4,2,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-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,2,6,65,114,517,11,6,64,1,5,20,1,9,8,9,16,2,-261,-261,-261,359,360,-261,-261,-261,-261,-261,518,1,71,519,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,-458,131,-458,-458,-458,-458,-458,-458,116,115,117,118,119,120,121,122,123,124,125,126,127,128,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,520,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,521,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-89,-89,-89,-89,-89,-89,-89,-89,-89,132,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,129,130,131,103,104,-89,-89,-89,-89,116,115,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,3,7,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,522,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,2,70,10,160,523,8,59,1,10,10,5,1,14,13,524,111,160,527,526,525,106,157,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,528,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,529,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,530,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,531,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,1,105,532,1,183,533,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,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,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,534,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,10,59,1,25,1,2,12,13,2,31,40,152,111,154,155,153,106,157,156,194,535,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,536,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,3,173,1,1,537,386,387,4,71,92,11,1,538,539,540,387,3,71,92,12,-299,-299,-299,108,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,6,1,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,542,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,541,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,45,1,5,63,1,1,5,4,12,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-356,-356,-356,160,-356,-356,543,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,131,-356,-356,-356,-356,-356,-356,116,115,117,118,119,120,121,122,123,124,125,126,127,128,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,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,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,544,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,2,6,65,546,545,2,6,65,-366,-366,22,6,65,32,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,-369,-369,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,2,6,65,-370,-370,7,6,65,95,1,9,1,1,-371,-371,133,134,135,103,104,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,547,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,1,60,548,21,70,33,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,549,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,1,71,550,1,71,551,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,131,-271,-271,-271,-271,-271,-271,116,115,117,118,119,120,121,122,123,124,125,126,127,128,18,6,53,1,10,1,5,9,1,2,12,13,2,1,22,1,2,4,1,-217,152,111,-217,-217,-217,154,155,153,106,157,156,151,552,-217,-217,149,150,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,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,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,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,1,71,553,3,58,5,1,554,112,113,3,100,101,5,556,555,223,3,58,5,1,557,112,113,1,159,558,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,560,559,-261,-261,-261,-261,-261,5,6,64,1,5,30,-383,-383,-383,-383,-383,6,59,1,10,132,1,2,413,111,412,561,411,414,6,6,64,1,5,30,98,-388,-388,-388,-388,-388,562,6,6,64,1,5,30,98,-390,-390,-390,-390,-390,563,2,59,1,564,111,14,1,5,63,1,1,5,38,25,16,4,7,1,10,1,-394,-394,-394,-394,-394,-394,-394,-394,-394,565,-394,-394,-394,-394,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,567,566,-261,-261,-261,-261,-261,5,6,64,1,5,30,-412,-412,-412,-412,-412,6,59,1,10,135,3,2,569,111,419,421,568,418,14,6,64,1,5,1,12,1,1,3,4,4,4,31,67,-417,-417,-417,-417,-127,-127,-127,-127,-127,-127,-127,-417,-127,570,6,6,64,1,5,30,98,-420,-420,-420,-420,-420,571,109,6,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,573,572,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,574,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,29,1,5,63,1,1,5,27,11,25,16,11,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,-407,-407,-407,-407,-407,-407,132,-407,-407,-407,-407,-407,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,2,86,14,575,106,3,58,5,1,576,112,113,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,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,2,6,65,114,577,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,578,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,58,11,38,2,1,1,1,1,1,1,3,3,1,7,1,1,10,9,8,3,10,2,3,2,1,15,4,3,1,7,1,1,1,2,1,1,3,4,3,4,5,1,2,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,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,58,11,38,2,1,1,1,1,1,1,3,3,1,7,1,1,10,9,8,3,10,2,3,2,1,15,4,3,1,7,1,1,1,2,1,1,3,4,3,4,5,1,2,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,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,61,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,62,6,5,38,2,1,1,1,1,1,1,3,3,1,6,1,1,1,3,7,17,3,10,1,1,1,2,2,1,15,4,3,1,7,1,1,1,2,1,1,3,4,3,4,5,1,2,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,437,-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,5,6,64,1,5,38,-195,-195,-195,-195,-195,2,70,44,580,579,125,6,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,1,1,1,3,7,1,1,1,1,1,9,3,3,3,7,1,1,1,2,2,1,2,5,3,1,1,3,3,1,2,1,1,3,4,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,-262,341,249,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,-262,-262,109,110,247,56,55,76,77,100,99,-262,106,62,-262,88,-262,92,251,89,90,95,-262,582,581,248,244,69,-262,45,46,96,97,250,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,4,6,64,1,43,583,-196,-196,-196,62,6,5,38,2,1,1,1,1,1,1,3,3,1,6,1,1,1,3,7,17,3,10,1,1,1,2,2,1,15,4,3,1,7,1,1,1,2,1,1,3,4,3,4,5,1,2,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,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,11,6,64,1,5,20,1,9,8,9,7,9,-261,-261,-261,435,436,-261,-261,-261,-261,584,-261,115,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,3,7,1,1,1,1,1,12,3,10,2,1,2,2,1,11,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,341,249,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,247,56,55,76,77,100,99,106,62,88,92,251,89,90,95,433,432,69,45,46,96,97,250,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,26,6,64,1,5,27,11,25,27,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,-230,-230,-230,-230,132,-230,-230,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,-252,21,92,11,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,585,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,586,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-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,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,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,3,6,64,53,588,589,587,37,6,34,8,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,6,1,1,1,12,1,2,9,3,6,7,1,1,1,7,1,1,14,15,-262,276,267,268,271,270,269,272,273,277,107,108,264,111,265,257,112,113,-262,-262,109,110,274,275,266,-262,106,-262,157,-262,156,263,-262,590,262,-262,87,108,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,591,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,592,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,25,6,64,1,5,27,20,43,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,-161,-161,-161,-161,132,-161,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,64,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,64,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,24,92,11,13,18,1,31,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,593,132,430,594,429,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,111,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,5,7,3,10,2,1,2,2,1,13,1,1,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,595,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,596,106,62,88,92,430,89,90,95,456,429,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,1,92,597,1,92,598,109,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,7,1,1,10,1,1,1,1,1,4,8,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,599,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,-208,109,110,56,55,76,77,100,99,-208,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-49,-49,-49,-49,-49,-49,-49,600,-49,-49,-49,-71,-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,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,602,601,-261,-261,-261,-261,-261,7,59,1,1,1,33,31,1,462,111,463,257,603,460,461,5,6,64,1,5,21,-162,-162,-162,-162,-162,7,6,64,1,5,1,20,5,-166,-166,-166,-166,605,-166,604,7,6,64,1,5,1,20,5,-170,-170,-170,-170,-170,-170,-170,7,6,64,1,5,1,20,5,-171,-171,-171,-171,-171,-171,-171,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,602,606,-261,-261,-261,-261,-261,7,59,1,1,1,33,31,1,462,111,463,257,607,460,461,108,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,608,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,609,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,7,1,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,610,611,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,612,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,613,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,614,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,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,108,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,615,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,616,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,3,6,64,36,618,619,617,25,6,42,9,1,1,1,1,1,1,1,6,1,17,9,4,5,4,1,1,1,1,1,1,7,16,-262,295,107,108,297,111,298,257,112,113,-262,-262,299,-262,621,-262,620,300,292,293,-262,294,301,-262,-262,108,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,622,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,623,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,21,103,11,52,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,132,624,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,625,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,12,6,64,1,5,13,1,1,3,4,8,13,18,-134,-134,-134,-134,-136,-136,-136,-136,-136,-134,626,141,12,6,64,1,5,13,1,1,3,4,8,13,18,-135,-135,-135,-135,628,629,630,631,632,-135,627,141,11,6,64,1,5,13,1,1,3,4,8,31,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,11,6,64,1,5,13,1,1,3,4,8,31,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,11,6,64,1,5,13,1,1,3,4,8,31,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,11,6,64,1,5,13,1,1,3,4,8,31,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,4,89,2,28,18,253,254,633,141,2,119,18,634,141,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,-69,58,1,5,57,1,2,2,1,1,1,3,2,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,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,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,-61,4,63,1,2,2,-63,-63,-63,-63,2,6,63,114,635,112,4,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,636,3,4,5,6,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,45,46,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,4,63,1,2,2,-66,-66,-66,-66,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,637,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,108,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,639,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,638,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,640,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,641,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,642,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,643,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,1,105,644,1,183,645,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,646,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,3,6,64,69,648,649,647,121,6,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,1,1,1,10,1,1,1,1,1,9,3,3,3,7,1,1,1,2,2,1,2,9,4,3,1,2,1,1,3,4,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,-262,341,249,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,-262,-262,109,110,56,55,76,77,100,99,-262,106,62,-262,88,-262,92,251,89,90,95,-262,650,69,-262,45,46,96,97,250,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,502,651,-261,-261,-261,-261,-261,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,131,-73,-73,-73,-73,-73,-73,116,115,117,118,119,120,121,122,123,124,125,126,127,128,21,71,32,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,652,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-76,-76,-76,-76,-76,-76,-76,-76,-76,132,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,129,130,131,103,104,-76,-76,-76,-76,116,115,117,118,119,120,121,122,123,124,125,126,127,128,21,71,32,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,653,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-79,-79,-79,-79,-79,-79,-79,-79,-79,132,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,129,130,131,103,104,-79,-79,-79,-79,116,115,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-82,-82,-82,-82,-82,-82,-82,-82,-82,132,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,129,130,131,103,104,-82,-82,-82,-82,116,115,117,118,119,120,121,122,123,124,125,126,127,128,21,71,32,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,654,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-86,-86,-86,-86,-86,-86,-86,-86,-86,132,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,129,130,131,103,104,-86,-86,-86,-86,116,115,117,118,119,120,121,122,123,124,125,126,127,128,113,5,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,7,3,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,656,4,5,6,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,160,109,110,655,56,55,76,77,100,99,106,62,88,92,89,90,95,69,45,46,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,6,6,64,1,5,63,2,-219,-219,-219,-219,-219,-219,11,59,1,25,1,2,12,13,2,1,29,1,152,111,154,155,153,106,157,156,151,657,150,18,6,53,1,10,1,5,9,1,2,12,13,2,1,22,1,2,4,1,-217,152,111,-217,-217,-217,154,155,153,106,157,156,151,658,-217,-217,149,150,26,6,64,1,5,27,36,2,25,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,-223,-223,-223,-223,132,-223,-223,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,58,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,3,1,4,2,1,3,1,1,2,30,1,1,1,3,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,3,142,1,1,659,96,97,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,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,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,21,71,32,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,660,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,-460,131,-460,-460,-460,-460,-460,-460,116,115,117,118,119,120,121,122,123,124,125,126,127,128,2,70,10,160,661,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,-289,2,70,10,160,662,2,70,10,160,663,2,70,10,160,664,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,3,7,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,24,70,10,23,4,59,1,9,1,1,4,33,1,5,1,1,1,1,1,1,1,1,1,1,1,160,665,132,666,129,130,131,103,104,667,116,115,117,118,119,120,121,122,123,124,125,126,127,128,23,70,10,23,4,59,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,160,668,132,669,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,23,70,10,23,4,59,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,160,670,132,671,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,23,70,10,23,4,59,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,160,672,132,673,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,674,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,675,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,22,70,10,23,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,160,676,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,4,105,76,2,2,-351,-351,-351,-351,25,76,27,2,61,1,9,1,1,3,2,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-349,132,-349,129,130,131,103,104,-349,-349,-349,116,115,117,118,119,120,121,122,123,124,125,126,127,128,4,71,92,11,1,677,678,540,387,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,-297,2,70,10,160,679,3,71,92,12,-300,-300,-300,3,70,6,4,160,681,680,22,70,6,27,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,-247,-247,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,-357,45,1,5,63,1,1,5,4,12,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-360,-360,-360,160,-360,-360,682,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,131,-360,-360,-360,-360,-360,-360,116,115,117,118,119,120,121,122,123,124,125,126,127,128,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,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,115,6,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,7,1,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,2,1,1,1,1,8,4,1,1,1,1,1,3,1,-368,393,394,395,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,-368,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,45,46,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,683,396,397,66,74,75,47,48,72,49,50,51,53,54,22,6,65,32,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,-372,-372,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,2,6,65,-373,-373,114,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,1,1,1,1,1,1,8,4,1,1,1,1,1,3,1,393,394,395,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,45,46,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,684,392,396,397,66,74,75,47,48,72,49,50,51,53,54,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,359,360,-261,-261,-261,-261,685,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,1,159,686,6,59,1,10,132,1,2,413,111,412,687,411,414,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,-378,3,58,5,1,688,112,113,3,6,64,36,690,691,689,12,6,53,1,10,1,26,9,8,9,16,64,2,-262,413,111,-262,-262,-262,-262,-262,-262,-262,692,414,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,560,693,-261,-261,-261,-261,-261,2,59,1,694,111,2,59,1,695,111,1,159,-393,3,58,5,1,696,112,113,3,6,64,36,698,699,697,12,6,53,1,10,1,26,9,8,9,16,66,5,-262,569,111,-262,-262,-262,-262,-262,-262,-262,421,700,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,567,701,-261,-261,-261,-261,-261,6,6,64,1,5,30,98,-417,-417,-417,-417,-417,570,3,59,1,145,702,111,703,2,59,1,704,111,29,1,5,63,1,1,5,27,11,25,16,11,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,-400,-400,-400,-400,-400,-400,132,-400,-400,-400,-400,-400,131,-400,-400,116,115,117,118,119,120,121,122,123,124,125,126,127,128,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,705,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,706,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,1,71,707,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,-409,1,155,708,21,103,11,52,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,132,709,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,61,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,119,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,3,7,1,1,1,1,1,12,3,10,2,1,2,2,1,7,1,2,1,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,341,249,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,246,109,110,247,56,55,76,77,100,99,106,62,88,92,251,89,90,95,439,710,245,248,244,69,45,46,96,97,250,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,5,6,64,1,5,38,-190,-190,-190,-190,-190,118,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,1,1,1,3,7,1,1,1,1,1,12,3,10,1,1,1,2,2,1,11,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,341,249,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,-197,-197,109,110,247,56,55,76,77,100,99,106,62,88,-197,92,251,89,90,95,433,432,69,45,46,96,97,250,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,117,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,3,7,1,1,1,1,1,12,3,10,2,1,2,2,1,7,3,1,1,3,4,2,1,1,3,4,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,341,249,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,247,56,55,76,77,100,99,106,62,88,92,251,89,90,95,439,711,248,244,69,45,46,96,97,250,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,2,70,1,580,712,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,-253,21,71,32,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,713,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,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,-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,-153,-153,-153,29,40,8,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,8,1,12,1,2,12,13,2,1,8,1,29,276,267,268,271,270,269,272,273,277,107,108,264,111,265,257,112,113,109,110,274,275,266,106,157,156,263,714,262,87,35,6,34,8,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,6,1,1,1,3,9,1,2,12,13,2,1,6,1,1,1,29,-154,276,267,268,271,270,269,272,273,277,107,108,264,111,265,257,112,113,-154,-154,109,110,-154,274,275,266,106,157,156,263,715,-154,261,262,87,5,6,64,1,5,47,-156,-156,-156,-156,-156,25,6,64,1,5,27,20,43,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,-159,-159,-159,-159,132,-159,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,716,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,64,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,109,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,7,1,1,10,1,1,1,1,1,4,8,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,717,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,-206,109,110,56,55,76,77,100,99,-206,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,24,71,32,13,18,1,31,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,718,132,430,594,429,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,1,71,719,64,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,64,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,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,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,-108,22,71,21,11,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,-207,-207,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,720,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,3,6,64,27,722,723,721,14,6,53,1,1,1,8,1,26,9,8,9,3,1,12,-262,462,111,463,257,-262,-262,-262,-262,-262,-262,724,461,-262,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,602,725,-261,-261,-261,-261,-261,5,59,1,1,1,65,462,111,463,257,726,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,727,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,3,6,64,27,722,723,728,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,602,729,-261,-261,-261,-261,-261,21,92,11,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,730,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,731,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,3,70,10,81,160,733,732,2,70,10,160,734,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,131,-304,-304,-304,-304,-304,-304,116,115,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,131,-306,-306,-306,-306,-306,-306,116,115,117,118,119,120,121,122,123,124,125,126,127,128,25,6,64,1,5,27,3,60,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,-123,-123,-123,-123,735,-123,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,736,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,61,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,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,-115,-115,-115,-115,-115,-115,17,48,9,1,1,1,1,1,1,1,24,13,9,1,1,1,2,1,295,107,108,297,111,298,257,112,113,299,621,737,300,292,293,294,301,23,6,42,9,1,1,1,1,1,1,1,6,1,5,12,13,5,3,1,1,1,1,2,1,-116,295,107,108,297,111,298,257,112,113,-116,-116,-116,299,621,-116,738,296,300,292,293,294,301,5,6,64,1,5,30,-118,-118,-118,-118,-118,6,6,64,1,5,26,4,-121,-121,-121,-121,739,-121,25,6,64,1,5,27,3,60,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,-125,-125,-125,-125,132,-125,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,740,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,6,6,64,1,5,26,4,-131,-131,-131,-131,-131,-131,21,103,11,52,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,132,741,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,11,6,64,1,5,13,1,1,3,4,8,31,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,11,6,64,1,5,13,1,1,3,4,8,31,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,2,61,1,742,257,2,61,1,743,257,108,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,744,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,745,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,8,59,1,1,1,8,25,31,1,462,111,463,257,747,746,460,461,8,59,1,1,1,8,25,31,1,462,111,463,257,749,748,460,461,11,6,64,1,5,13,1,1,3,4,8,31,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,11,6,64,1,5,13,1,1,3,4,8,31,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,4,63,1,2,2,-64,-64,-64,-64,2,6,65,114,750,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,131,-457,-457,-457,-457,-457,-457,116,115,117,118,119,120,121,122,123,124,125,126,127,128,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,751,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-284,-284,-284,-284,-284,-284,-284,-284,-284,132,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,131,103,104,-284,-284,-284,-284,116,115,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,752,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,131,-331,-331,-331,753,-331,-331,116,115,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,754,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,131,-336,-336,-336,-336,-336,-336,116,115,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,755,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,131,-340,-340,-340,-340,-340,-340,116,115,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,756,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,131,-344,-344,-344,-344,-344,-344,116,115,117,118,119,120,121,122,123,124,125,126,127,128,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,757,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,758,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,-347,131,-347,-347,-347,-347,-347,-347,116,115,117,118,119,120,121,122,123,124,125,126,127,128,56,1,5,57,1,5,1,1,3,2,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,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,-237,113,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,1,2,2,1,11,4,4,2,1,1,3,4,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,341,249,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,251,89,90,95,759,69,45,46,96,97,250,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,115,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,1,12,3,10,2,1,2,2,1,11,4,4,2,1,1,3,2,2,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,341,249,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,340,109,110,56,55,76,77,100,99,106,62,88,92,251,89,90,95,339,69,45,46,96,97,250,760,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,47,48,72,49,50,51,53,54,5,6,64,1,5,63,-239,-239,-239,-239,-239,3,6,64,1,648,649,761,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,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,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,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,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,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,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,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,9,1,5,63,1,1,5,38,25,16,-213,-213,-213,-213,-213,-213,-213,-213,-213,6,6,64,1,5,63,2,-220,-220,-220,-220,-220,-220,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,359,762,-261,-261,-261,-261,-261,2,70,10,160,655,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,-459,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,3,7,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,-291,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,3,7,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,3,7,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,-293,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,763,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,764,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,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,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,765,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,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,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,766,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,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,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,767,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,23,70,10,23,4,59,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,160,768,132,769,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,23,70,10,23,4,59,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,160,770,132,771,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,-295,2,70,10,160,772,1,71,773,4,6,65,92,12,774,-301,-301,-301,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,775,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,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,2,6,65,-367,-367,2,6,65,546,776,2,70,10,160,777,3,58,5,1,778,112,113,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,560,779,-261,-261,-261,-261,-261,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,-379,1,159,780,4,59,1,143,2,413,111,781,414,6,59,1,10,132,1,2,413,111,412,782,411,414,5,6,64,1,5,30,-384,-384,-384,-384,-384,3,6,64,1,690,691,783,5,6,64,1,5,30,-389,-389,-389,-389,-389,5,6,64,1,5,30,-391,-391,-391,-391,-391,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,-410,14,1,5,63,1,1,5,38,25,16,4,7,1,10,1,-395,-395,-395,-395,-395,-395,-395,-395,-395,784,-395,-395,-395,-395,4,59,1,145,5,569,111,421,785,6,59,1,10,135,3,2,569,111,419,421,786,418,5,6,64,1,5,30,-413,-413,-413,-413,-413,3,6,64,1,698,699,787,5,6,64,1,5,30,-418,-418,-418,-418,-418,5,6,64,1,5,30,-419,-419,-419,-419,-419,5,6,64,1,5,30,-421,-421,-421,-421,-421,29,1,5,63,1,1,5,27,11,25,16,11,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,-401,-401,-401,-401,-401,-401,132,-401,-401,-401,-401,-401,131,-401,-401,116,115,117,118,119,120,121,122,123,124,125,126,127,128,21,71,32,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,788,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,-408,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,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,11,6,64,1,5,20,1,9,8,9,7,9,-261,-261,-261,435,436,-261,-261,-261,-261,789,-261,5,6,64,1,5,38,-191,-191,-191,-191,-191,5,6,64,1,5,38,-192,-192,-192,-192,-192,1,92,790,5,6,64,1,5,47,-157,-157,-157,-157,-157,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,447,791,-261,-261,-261,-261,-261,21,71,32,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,792,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,22,71,21,11,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,-205,-205,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,1,92,793,1,92,794,21,92,11,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,-70,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,64,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,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,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,-104,6,59,1,1,1,64,1,462,111,463,257,795,461,7,59,1,1,1,33,31,1,462,111,463,257,796,460,461,5,6,64,1,5,21,-163,-163,-163,-163,-163,3,6,64,1,722,723,797,6,6,64,1,5,1,20,-167,-167,-167,-167,798,-167,25,6,64,1,5,21,6,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,-168,-168,-168,-168,-168,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,64,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,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,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,-105,3,6,64,1,722,723,799,64,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,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,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,-109,21,71,32,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,800,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,801,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,14,41,18,1,25,1,2,12,4,4,5,2,31,38,2,333,152,111,154,155,153,106,802,803,88,156,194,332,193,21,71,32,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,804,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,5,6,64,1,5,30,-119,-119,-119,-119,-119,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,474,805,-261,-261,-261,-261,-261,108,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,806,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,616,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,21,71,32,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,807,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,6,6,64,1,5,26,4,-132,-132,-132,-132,-132,-132,11,6,64,1,5,13,1,1,3,4,8,31,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,11,6,64,1,5,13,1,1,3,4,8,31,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,21,92,11,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,808,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,809,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,602,810,-261,-261,-261,-261,-261,7,59,1,1,1,33,31,1,462,111,463,257,811,460,461,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,602,812,-261,-261,-261,-261,-261,7,59,1,1,1,33,31,1,462,111,463,257,813,460,461,1,69,814,21,71,32,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,815,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,816,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,817,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,818,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,819,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,820,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,821,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,131,-338,-338,-338,-338,-338,-338,116,115,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,822,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,131,-342,-342,-342,-342,-342,-342,116,115,117,118,119,120,121,122,123,124,125,126,127,128,5,6,64,1,5,63,-240,-240,-240,-240,-240,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,502,823,-261,-261,-261,-261,-261,5,6,64,1,5,63,-241,-241,-241,-241,-241,3,6,64,1,514,515,824,23,70,10,23,63,1,9,1,1,4,33,1,5,1,1,1,1,1,1,1,1,1,1,1,160,825,132,129,130,131,103,104,826,116,115,117,118,119,120,121,122,123,124,125,126,127,128,23,70,10,23,4,59,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,160,827,132,828,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,22,70,10,23,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,160,829,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,22,70,10,23,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,160,830,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,22,70,10,23,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,160,831,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,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,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,832,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,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,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,833,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,1,71,834,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,-298,3,71,92,12,-302,-302,-302,22,70,6,27,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,-248,-248,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,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,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,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,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,-381,3,6,64,36,690,691,835,3,58,5,1,836,112,113,5,6,64,1,5,30,-385,-385,-385,-385,-385,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,560,837,-261,-261,-261,-261,-261,5,6,64,1,5,30,-386,-386,-386,-386,-386,3,58,5,1,838,112,113,5,6,64,1,5,30,-414,-414,-414,-414,-414,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,567,839,-261,-261,-261,-261,-261,5,6,64,1,5,30,-415,-415,-415,-415,-415,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,-402,2,70,1,580,840,55,1,5,57,1,5,1,1,5,13,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,-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,3,6,64,1,588,589,841,5,6,64,1,5,47,-160,-160,-160,-160,-160,64,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,64,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,5,6,64,1,5,21,-164,-164,-164,-164,-164,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,602,842,-261,-261,-261,-261,-261,1,97,843,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,844,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,1,97,845,1,92,846,22,70,10,23,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,160,847,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,4,105,76,2,2,848,494,496,497,11,59,1,25,1,2,12,4,9,2,31,40,152,111,154,155,153,106,849,157,156,194,193,5,6,64,1,5,30,-124,-124,-124,-124,-124,3,6,64,1,618,619,850,25,6,64,1,5,27,3,60,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,-123,-123,-123,-123,132,-123,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,5,6,64,1,5,30,-126,-126,-126,-126,-126,11,6,64,1,5,13,1,1,3,4,8,31,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,21,71,32,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,851,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,3,6,64,27,722,723,852,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,602,853,-261,-261,-261,-261,-261,3,6,64,27,722,723,854,10,6,64,1,5,20,1,9,8,9,16,-261,-261,-261,602,855,-261,-261,-261,-261,-261,4,63,1,2,2,-65,-65,-65,-65,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,-332,131,-332,-332,-332,856,-332,-332,116,115,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,857,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,131,-333,-333,-333,-333,-333,-333,116,115,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,131,-337,-337,-337,-337,-337,-337,116,115,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,131,-341,-341,-341,-341,-341,-341,116,115,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,-345,131,-345,-345,-345,-345,-345,-345,116,115,117,118,119,120,121,122,123,124,125,126,127,128,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,858,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,859,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,3,6,64,1,648,649,860,6,6,64,1,5,63,2,-221,-221,-221,-221,-221,-221,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,-315,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,861,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,-316,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,862,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,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,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,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,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,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,22,70,10,23,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,160,863,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,22,70,10,23,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,160,864,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,-296,1,159,865,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,-380,3,6,64,1,690,691,866,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,-411,3,6,64,1,698,699,867,5,6,64,1,5,38,-193,-193,-193,-193,-193,5,6,64,1,5,47,-158,-158,-158,-158,-158,3,6,64,1,722,723,868,64,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,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,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,-106,25,6,64,1,5,21,6,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,-169,-169,-169,-169,-169,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,64,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,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,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,-107,64,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,1,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,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,-110,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,7,1,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,869,611,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,870,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,1,105,871,5,6,64,1,5,30,-120,-120,-120,-120,-120,1,92,872,11,6,64,1,5,13,1,1,3,4,8,31,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,3,6,64,1,722,723,873,11,6,64,1,5,13,1,1,3,4,8,31,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,3,6,64,1,722,723,874,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,875,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,876,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,131,-339,-339,-339,-339,-339,-339,116,115,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,131,-343,-343,-343,-343,-343,-343,116,115,117,118,119,120,121,122,123,124,125,126,127,128,5,6,64,1,5,63,-242,-242,-242,-242,-242,22,70,10,23,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,160,877,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,22,70,10,23,63,1,9,1,1,37,1,5,1,1,1,1,1,1,1,1,1,1,1,160,878,132,129,130,131,103,104,116,115,117,118,119,120,121,122,123,124,125,126,127,128,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,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,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,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,3,58,5,1,879,112,113,5,6,64,1,5,30,-387,-387,-387,-387,-387,5,6,64,1,5,30,-416,-416,-416,-416,-416,5,6,64,1,5,21,-165,-165,-165,-165,-165,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,45,1,5,63,1,1,5,16,4,1,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-336,-336,-336,-336,-336,882,-336,880,-336,-336,-336,-336,-336,881,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,131,-336,-336,-336,-336,-336,-336,116,115,117,118,119,120,121,122,123,124,125,126,127,128,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,883,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,11,6,64,1,5,13,1,1,3,4,8,31,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,1,97,884,1,97,885,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,131,-334,-334,-334,-334,-334,-334,116,115,117,118,119,120,121,122,123,124,125,126,127,128,44,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,131,-335,-335,-335,-335,-335,-335,116,115,117,118,119,120,121,122,123,124,125,126,127,128,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,-317,43,1,5,63,1,1,5,16,5,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,10,1,3,1,1,2,30,1,5,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,13,1,5,63,1,1,5,38,25,16,11,1,10,1,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,-382,1,106,886,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,887,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,8,6,64,1,26,9,8,9,16,-262,-262,-262,-262,-262,-262,-262,-262,45,1,5,63,1,1,5,16,4,1,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-338,-338,-338,-338,-338,882,-338,888,-338,-338,-338,-338,-338,889,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,131,-338,-338,-338,-338,-338,-338,116,115,117,118,119,120,121,122,123,124,125,126,127,128,11,6,64,1,5,13,1,1,3,4,8,31,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,11,6,64,1,5,13,1,1,3,4,8,31,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,61,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,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,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,45,1,5,63,1,1,5,16,4,1,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-337,-337,-337,-337,-337,882,-337,890,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,131,-337,-337,-337,-337,-337,-337,116,115,117,118,119,120,121,122,123,124,125,126,127,128,1,106,891,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,3,1,3,4,4,1,1,1,1,4,4,2,1,2,5,1,8,4,1,1,1,1,1,3,1,892,163,31,32,33,34,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,35,36,37,38,39,40,41,42,43,44,78,79,80,81,82,83,84,85,86,107,108,98,111,112,113,109,110,56,55,76,77,100,99,106,62,88,92,89,90,95,69,167,168,96,97,91,93,94,87,73,67,68,57,101,58,102,59,63,60,103,104,61,105,52,64,70,71,65,66,74,75,169,170,171,49,50,51,53,54,1,106,893,61,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,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,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,45,1,5,63,1,1,5,16,4,1,5,1,2,1,1,7,2,7,12,4,2,14,8,3,1,9,1,1,3,1,1,2,30,1,5,1,1,1,1,1,1,1,1,1,1,1,-339,-339,-339,-339,-339,882,-339,894,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,131,-339,-339,-339,-339,-339,-339,116,115,117,118,119,120,121,122,123,124,125,126,127,128,61,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,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,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,1,106,895,61,1,5,57,1,5,1,1,5,1,1,1,2,1,1,6,1,1,1,2,3,1,1,3,1,2,1,1,7,2,7,12,2,2,2,7,7,8,3,1,10,1,3,1,1,2,30,1,1,1,3,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,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114],f=[],e=0,t,i,u,l;while(e<n.length){t=n[e++],i={},u=0,l=[];while(t--)u+=n[e++],l.push(u);for(u of l)i[u]=n[e++];f.push(i)}return f})(),ruleTable:[0,0,3,0,3,1,4,1,4,3,4,2,5,1,5,1,5,1,9,1,9,1,9,1,9,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,8,1,8,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,39,1,48,1,48,1,59,1,61,1,58,1,58,3,65,1,65,2,67,3,67,5,67,2,67,1,50,1,50,3,75,3,75,1,17,3,17,4,17,5,18,3,18,4,18,5,19,3,19,4,19,3,20,3,20,4,20,5,22,3,21,3,21,4,21,3,21,2,21,3,21,2,38,1,38,1,38,1,87,1,87,1,84,1,84,1,84,3,84,3,84,4,84,6,84,4,84,6,84,5,84,5,84,7,84,7,84,4,84,5,84,7,86,10,86,12,86,11,86,13,86,4,109,0,109,1,109,3,109,4,109,6,110,1,110,1,110,3,110,5,110,3,110,5,112,1,112,1,112,1,101,1,101,3,101,4,101,1,111,2,111,2,117,1,117,1,117,1,117,1,117,1,117,2,117,2,117,2,117,2,117,3,117,3,117,4,117,6,117,5,117,5,117,7,117,7,47,4,122,0,122,1,122,3,122,4,122,6,124,3,124,5,124,2,95,1,95,3,95,4,95,6,126,1,126,3,126,3,126,5,127,1,127,1,125,1,125,1,125,1,125,1,125,1,125,1,125,1,125,1,125,1,125,1,125,1,125,1,125,1,125,1,85,2,85,3,85,4,129,1,129,3,129,4,129,4,129,6,131,1,131,2,130,1,130,2,128,1,128,2,133,1,133,2,134,1,134,1,41,5,93,3,93,2,93,2,93,1,33,6,33,3,15,5,15,2,36,5,36,2,142,1,142,1,138,0,138,1,138,3,138,4,138,6,145,1,145,3,145,2,145,1,146,1,146,1,146,1,146,1,147,2,42,2,42,2,42,3,42,2,42,2,119,2,119,4,149,1,149,3,149,4,149,4,149,6,132,1,132,1,132,1,132,1,150,1,150,3,44,1,44,1,88,2,45,3,45,4,45,6,46,3,46,3,80,2,80,3,40,3,40,5,96,0,96,1,10,2,10,4,10,1,31,2,31,4,32,1,32,2,32,4,32,3,160,3,160,4,162,4,162,5,162,2,164,3,164,5,23,1,23,1,23,3,23,3,23,7,23,5,23,3,23,3,24,2,24,3,24,4,24,5,169,3,169,3,169,3,169,2,27,5,27,7,27,4,27,6,173,1,173,2,174,3,174,4,176,2,176,4,176,2,176,4,25,2,25,2,25,2,25,1,179,2,179,2,179,3,26,5,26,7,26,7,26,9,26,9,26,5,26,7,26,6,26,8,26,5,26,7,26,6,26,8,26,5,26,7,26,3,26,5,26,5,26,7,26,7,26,9,26,9,26,5,26,7,26,6,26,8,26,5,26,7,26,6,26,8,26,5,26,7,26,3,26,5,186,1,186,3,104,1,104,3,187,1,187,1,28,1,28,2,28,3,28,4,28,2,28,3,28,4,28,5,34,3,35,2,29,4,29,6,194,1,194,3,194,2,195,1,195,1,195,1,195,2,195,2,30,2,30,2,12,2,12,4,12,4,12,5,12,7,12,6,12,9,202,1,202,3,202,4,202,4,202,6,203,1,203,3,203,1,203,3,200,1,201,3,13,3,13,5,13,2,13,2,13,2,13,2,13,4,13,5,13,6,13,2,13,2,13,2,13,2,13,3,13,5,13,4,13,5,13,7,208,1,208,3,208,4,208,4,208,6,210,1,210,3,210,3,210,1,210,3,37,2,37,2,37,2,16,2,16,2,16,2,16,2,16,2,16,2,16,2,16,2,16,4,16,2,16,2,16,2,16,2,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,5,16,3,16,5,16,4,43,2],ruleActions:(n,f,e,t)=>{let i=f,u=e,l=f.length-1;switch(n){case 1:return H(["program"],z?[null]:null);case 2:return H(["program",...i[l]],z?[null,...Dn(i[l])]:null);case 3:case 62:case 117:case 155:case 162:case 194:case 198:case 218:case 238:case 299:case 350:case 366:case 383:case 412:return H([i[l]],z?[u[l]]:null);case 4:case 118:case 156:case 163:case 219:case 239:case 367:case 384:case 413:return H([...i[l-2],i[l]],z?[...Dn(i[l-2]),u[l]]:null);case 5:case 64:case 201:case 368:return i[l-1];case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 23:case 24:case 25:case 26:case 27:case 28:case 29:case 30:case 31:case 32:case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 42:case 43:case 44:case 45:case 46:case 47:case 48:case 49:case 52:case 53:case 54:case 56:case 57:case 58:case 59:case 60:case 67:case 68:case 91:case 92:case 93:case 94:case 95:case 96:case 97:case 122:case 127:case 128:case 129:case 130:case 133:case 136:case 137:case 138:case 139:case 140:case 170:case 171:case 172:case 173:case 174:case 175:case 176:case 177:case 180:case 181:case 182:case 183:case 184:case 189:case 215:case 216:case 222:case 226:case 227:case 228:case 229:case 243:case 244:case 245:case 261:case 262:case 276:case 279:case 280:case 310:case 348:case 352:case 353:case 369:case 370:case 371:case 388:case 390:case 392:case 417:case 420:return i[l];case 50:case 179:return"undefined";case 51:case 178:return"null";case 55:case 185:return H(["symbol",i[l]],z?[null,u[l]]:null);case 61:return H(["str",...i[l-1]],z?[null,...Dn(i[l-1])]:null);case 63:case 195:case 199:case 300:return H([...i[l-1],i[l]],z?[...Dn(i[l-1]),u[l]]:null);case 65:case 237:case 241:case 386:case 415:return i[l-2];case 66:return"";case 69:return H(["regex",i[l-1]],z?[null,u[l-1]]:null);case 70:return H(["regex-index",i[l-2],i[l]],z?[null,u[l-2],u[l]]:null);case 71:return H(["regex-index",i[l],null],z?[null,u[l],null]:null);case 72:case 125:return H(["=",i[l-2],i[l]],z?[null,u[l-2],u[l]]:null);case 73:return H(["=",i[l-3],i[l]],z?[null,u[l-3],u[l]]:null);case 74:case 126:return H(["=",i[l-4],i[l-1]],z?[null,u[l-4],u[l-1]]:null);case 75:return H(["state",i[l-2],i[l]],z?[null,u[l-2],u[l]]:null);case 76:return H(["state",i[l-3],i[l]],z?[null,u[l-3],u[l]]:null);case 77:return H(["state",i[l-4],i[l-1]],z?[null,u[l-4],u[l-1]]:null);case 78:case 80:return H(["computed",i[l-2],i[l]],z?[null,u[l-2],u[l]]:null);case 79:return H(["computed",i[l-3],i[l]],z?[null,u[l-3],u[l]]:null);case 81:return H(["readonly",i[l-2],i[l]],z?[null,u[l-2],u[l]]:null);case 82:return H(["readonly",i[l-3],i[l]],z?[null,u[l-3],u[l]]:null);case 83:return H(["readonly",i[l-4],i[l-1]],z?[null,u[l-4],u[l-1]]:null);case 84:return H(["gate",i[l-2],i[l]],z?[null,u[l-2],u[l]]:null);case 85:case 87:return H(["effect",i[l-2],i[l]],z?[null,u[l-2],u[l]]:null);case 86:return H(["effect",i[l-3],i[l]],z?[null,u[l-3],u[l]]:null);case 88:case 89:case 90:return H(["effect",null,i[l]],z?[null,null,u[l]]:null);case 98:case 145:return H([".",i[l-2],i[l]],z?[null,u[l-2],u[l]]:null);case 99:case 146:return H(["?.",i[l-2],i[l]],z?[null,u[l-2],u[l]]:null);case 100:case 102:case 147:return["[]",i[l-3],i[l-1]];case 101:case 103:case 148:return["[]",i[l-5],i[l-2]];case 104:case 149:return H([".{}",i[l-4],...i[l-2]],z?[null,u[l-4],...Dn(i[l-2])]:null);case 105:case 150:return H(["?.{}",i[l-4],...i[l-2]],z?[null,u[l-4],...Dn(i[l-2])]:null);case 106:case 151:return H([".{}",i[l-6],...i[l-3]],z?[null,u[l-6],...Dn(i[l-3])]:null);case 107:case 152:return H(["?.{}",i[l-6],...i[l-3]],z?[null,u[l-6],...Dn(i[l-3])]:null);case 108:return[i[l-1][0],i[l-3],...i[l-1].slice(1)];case 109:return H(["optindex",i[l-4],i[l-1]],z?[null,u[l-4],u[l-1]]:null);case 110:return H(["optindex",i[l-6],i[l-2]],z?[null,u[l-6],u[l-2]]:null);case 111:return["object-comprehension",i[l-8],i[l-6],[["for-of",i[l-4],i[l-2],!1]],[]];case 112:return["object-comprehension",i[l-10],i[l-8],[["for-of",i[l-6],i[l-4],!1]],[i[l-2]]];case 113:return["object-comprehension",i[l-9],i[l-7],[["for-of",i[l-4],i[l-2],!0]],[]];case 114:return["object-comprehension",i[l-11],i[l-9],[["for-of",i[l-6],i[l-4],!0]],[i[l-2]]];case 115:return H(["object",...i[l-2]],z?[null,...Dn(i[l-2])]:null);case 116:case 154:case 196:case 217:case 236:return[];case 119:case 157:case 164:case 220:case 240:case 385:case 414:return H([...i[l-3],i[l]],z?[...Dn(i[l-3]),u[l]]:null);case 120:case 158:case 165:case 221:case 242:case 387:case 416:return H([...i[l-5],...i[l-2]],z?[...Dn(i[l-5]),...Dn(i[l-2])]:null);case 121:return H([null,i[l],i[l]],z?[null,u[l],u[l]]:null);case 123:case 159:return H([":",i[l-2],i[l]],z?[null,u[l-2],u[l]]:null);case 124:case 160:return H([":",i[l-4],i[l-1]],z?[null,u[l-4],u[l-1]]:null);case 131:return H(["dynamicKey",i[l-1]],z?[null,u[l-1]]:null);case 132:return["[]","this",i[l-1]];case 134:case 135:case 161:case 230:return H(["...",i[l]],z?[null,u[l]]:null);case 141:case 234:return H(["super",...i[l]],z?[null,...Dn(i[l])]:null);case 142:case 143:case 144:case 232:case 235:return H([i[l-1],...i[l]],z?[u[l-1],...Dn(i[l])]:null);case 153:return H(["map-literal",...i[l-2]],z?[null,...Dn(i[l-2])]:null);case 166:return H([i[l],i[l],null],z?[u[l],u[l],null]:null);case 167:return H([i[l-2],i[l],null],z?[u[l-2],u[l],null]:null);case 168:return H([i[l-2],i[l-2],i[l]],z?[u[l-2],u[l-2],u[l]]:null);case 169:return H([i[l-4],i[l-2],i[l]],z?[u[l-4],u[l-2],u[l]]:null);case 186:return H(["array"],z?[null]:null);case 187:return H(["array",...i[l-1]],z?[null,...Dn(i[l-1])]:null);case 188:return H(["array",...i[l-2],...i[l-1]],z?[null,...Dn(i[l-2]),...Dn(i[l-1])]:null);case 190:return H([...i[l-2],...i[l]],z?[...Dn(i[l-2]),...Dn(i[l])]:null);case 191:return H([...i[l-3],...i[l]],z?[...Dn(i[l-3]),...Dn(i[l])]:null);case 192:return H([...i[l-2],...i[l-1]],z?[...Dn(i[l-2]),...Dn(i[l-1])]:null);case 193:return H([...i[l-5],...i[l-4],...i[l-2],...i[l-1]],z?[...Dn(i[l-5]),...Dn(i[l-4]),...Dn(i[l-2]),...Dn(i[l-1])]:null);case 197:return H([...i[l]],z?[...Dn(i[l])]:null);case 200:return null;case 202:return"..";case 203:case 246:return"...";case 204:return H([i[l-2],i[l-3],i[l-1]],z?[u[l-2],u[l-3],u[l-1]]:null);case 205:case 440:case 442:case 443:case 456:case 458:return H([i[l-1],i[l-2],i[l]],z?[u[l-1],u[l-2],u[l]]:null);case 206:return H([i[l],i[l-1],null],z?[u[l],u[l-1],null]:null);case 207:return H([i[l-1],null,i[l]],z?[u[l-1],null,u[l]]:null);case 208:return H([i[l],null,null],z?[u[l],null,null]:null);case 209:return H(["def",i[l-4],i[l-2],i[l]],z?[null,u[l-4],u[l-2],u[l]]:null);case 210:return["def",i[l-1],[],i[l]];case 211:case 213:return H([i[l-1],i[l-3],i[l]],z?[u[l-1],u[l-3],u[l]]:null);case 212:case 214:return[i[l-1],[],i[l]];case 223:case 349:return H(["default",i[l-2],i[l]],z?[null,u[l-2],u[l]]:null);case 224:return H(["rest",i[l]],z?[null,u[l]]:null);case 225:return H(["expansion"],z?[null]:null);case 231:return H(["tagged-template",i[l-1],i[l]],z?[null,u[l-1],u[l]]:null);case 233:return H(["optcall",i[l-2],...i[l]],z?[null,u[l-2],...Dn(i[l])]:null);case 247:return[i[l]];case 248:return[...i[l-2],i[l]];case 249:case 250:return"this";case 251:return H([".","this",i[l]],z?[null,null,u[l]]:null);case 252:return H([".","super",i[l]],z?[null,null,u[l]]:null);case 253:return["[]","super",i[l-1]];case 254:return["[]","super",i[l-2]];case 255:return H([".","new",i[l]],z?[null,null,u[l]]:null);case 256:return H([".","import",i[l]],z?[null,null,u[l]]:null);case 257:return H(["block"],z?[null]:null);case 258:return H(["block",...i[l-1]],z?[null,...Dn(i[l-1])]:null);case 259:return i[l-1].length===1?(Array.isArray(i[l-1][0])&&(i[l-1][0].parenthesized=!0),i[l-1][0]):["block",...i[l-1]];case 260:return i[l-2].length===1?(Array.isArray(i[l-2][0])&&(i[l-2][0].parenthesized=!0),i[l-2][0]):["block",...i[l-2]];case 263:return H(["return",i[l]],z?[null,u[l]]:null);case 264:return H(["return",i[l-1]],z?[null,u[l-1]]:null);case 265:return H(["return"],z?[null]:null);case 266:return H(["throw",i[l]],z?[null,u[l]]:null);case 267:return H(["throw",i[l-1]],z?[null,u[l-1]]:null);case 268:return H(["yield"],z?[null]:null);case 269:return H(["yield",i[l]],z?[null,u[l]]:null);case 270:return H(["yield",i[l-1]],z?[null,u[l-1]]:null);case 271:return H(["yield-from",i[l]],z?[null,u[l]]:null);case 272:case 274:return H(["if",i[l-1],i[l]],z?[null,u[l-1],u[l]]:null);case 273:case 275:return H(["if",i[l-2],i[l-1],i[l]],z?[null,u[l-2],u[l-1],u[l]]:null);case 277:return["if",["!",i[l-1]],i[l]];case 278:return["if",["!",i[l-3]],i[l-2],i[l]];case 281:case 282:return["if",i[l],[i[l-2]]];case 283:return H(["?:",i[l-4],i[l-6],i[l-1]],z?[null,u[l-4],u[l-6],u[l-1]]:null);case 284:return H(["?:",i[l-2],i[l-4],i[l]],z?[null,u[l-2],u[l-4],u[l]]:null);case 285:case 286:return["if",["!",i[l]],[i[l-2]]];case 287:return H(["try",i[l]],z?[null,u[l]]:null);case 288:return H(["try",i[l-1],i[l]],z?[null,u[l-1],u[l]]:null);case 289:return H(["try",i[l-2],i[l]],z?[null,u[l-2],u[l]]:null);case 290:return H(["try",i[l-3],i[l-2],i[l]],z?[null,u[l-3],u[l-2],u[l]]:null);case 291:case 292:case 293:case 422:case 425:case 427:return H([i[l-1],i[l]],z?[u[l-1],u[l]]:null);case 294:return H([null,i[l]],z?[null,u[l]]:null);case 295:return H(["switch",i[l-3],i[l-1],null],z?[null,u[l-3],u[l-1],null]:null);case 296:return H(["switch",i[l-5],i[l-3],i[l-1]],z?[null,u[l-5],u[l-3],u[l-1]]:null);case 297:return H(["switch",null,i[l-1],null],z?[null,null,u[l-1],null]:null);case 298:return H(["switch",null,i[l-3],i[l-1]],z?[null,null,u[l-3],u[l-1]]:null);case 301:return H(["when",i[l-1],i[l]],z?[null,u[l-1],u[l]]:null);case 302:return H(["when",i[l-2],i[l-1]],z?[null,u[l-2],u[l-1]]:null);case 303:return H(["while",i[l]],z?[null,u[l]]:null);case 304:return H(["while",i[l-2],i[l]],z?[null,u[l-2],u[l]]:null);case 305:return["while",["!",i[l]]];case 306:return["while",["!",i[l-2]],i[l]];case 307:return i[l-1].length===2?[i[l-1][0],i[l-1][1],i[l]]:[i[l-1][0],i[l-1][1],i[l-1][2],i[l]];case 308:case 309:return i[l].length===2?[i[l][0],i[l][1],[i[l-1]]]:[i[l][0],i[l][1],i[l][2],[i[l-1]]];case 311:return H(["loop",i[l]],z?[null,u[l]]:null);case 312:return["loop",[i[l]]];case 313:return H(["loop-n",i[l-1],i[l]],z?[null,u[l-1],u[l]]:null);case 314:return H(["for-in",i[l-3],i[l-1],null,null,i[l]],z?[null,u[l-3],u[l-1],null,null,u[l]]:null);case 315:return H(["for-in",i[l-5],i[l-3],null,i[l-1],i[l]],z?[null,u[l-5],u[l-3],null,u[l-1],u[l]]:null);case 316:return H(["for-in",i[l-5],i[l-3],i[l-1],null,i[l]],z?[null,u[l-5],u[l-3],u[l-1],null,u[l]]:null);case 317:return H(["for-in",i[l-7],i[l-5],i[l-1],i[l-3],i[l]],z?[null,u[l-7],u[l-5],u[l-1],u[l-3],u[l]]:null);case 318:return H(["for-in",i[l-7],i[l-5],i[l-3],i[l-1],i[l]],z?[null,u[l-7],u[l-5],u[l-3],u[l-1],u[l]]:null);case 319:return H(["for-of",i[l-3],i[l-1],!1,null,i[l]],z?[null,u[l-3],u[l-1],null,null,u[l]]:null);case 320:return H(["for-of",i[l-5],i[l-3],!1,i[l-1],i[l]],z?[null,u[l-5],u[l-3],null,u[l-1],u[l]]:null);case 321:return H(["for-of",i[l-3],i[l-1],!0,null,i[l]],z?[null,u[l-3],u[l-1],null,null,u[l]]:null);case 322:return H(["for-of",i[l-5],i[l-3],!0,i[l-1],i[l]],z?[null,u[l-5],u[l-3],null,u[l-1],u[l]]:null);case 323:return H(["for-as",i[l-3],i[l-1],!1,null,i[l]],z?[null,u[l-3],u[l-1],null,null,u[l]]:null);case 324:return H(["for-as",i[l-5],i[l-3],!1,i[l-1],i[l]],z?[null,u[l-5],u[l-3],null,u[l-1],u[l]]:null);case 325:case 327:return H(["for-as",i[l-3],i[l-1],!0,null,i[l]],z?[null,u[l-3],u[l-1],null,null,u[l]]:null);case 326:case 328:return H(["for-as",i[l-5],i[l-3],!0,i[l-1],i[l]],z?[null,u[l-5],u[l-3],null,u[l-1],u[l]]:null);case 329:return["for-in",[],i[l-1],null,null,i[l]];case 330:return["for-in",[],i[l-3],i[l-1],null,i[l]];case 331:return["comprehension",i[l-4],[["for-in",i[l-2],i[l],null]],[]];case 332:return["comprehension",i[l-6],[["for-in",i[l-4],i[l-2],null]],[i[l]]];case 333:return["comprehension",i[l-6],[["for-in",i[l-4],i[l-2],i[l]]],[]];case 334:return["comprehension",i[l-8],[["for-in",i[l-6],i[l-4],i[l]]],[i[l-2]]];case 335:return["comprehension",i[l-8],[["for-in",i[l-6],i[l-4],i[l-2]]],[i[l]]];case 336:return["comprehension",i[l-4],[["for-of",i[l-2],i[l],!1]],[]];case 337:return["comprehension",i[l-6],[["for-of",i[l-4],i[l-2],!1]],[i[l]]];case 338:return["comprehension",i[l-5],[["for-of",i[l-2],i[l],!0]],[]];case 339:return["comprehension",i[l-7],[["for-of",i[l-4],i[l-2],!0]],[i[l]]];case 340:return["comprehension",i[l-4],[["for-as",i[l-2],i[l],!1,null]],[]];case 341:return["comprehension",i[l-6],[["for-as",i[l-4],i[l-2],!1,null]],[i[l]]];case 342:return["comprehension",i[l-5],[["for-as",i[l-2],i[l],!0,null]],[]];case 343:return["comprehension",i[l-7],[["for-as",i[l-4],i[l-2],!0,null]],[i[l]]];case 344:return["comprehension",i[l-4],[["for-as",i[l-2],i[l],!0,null]],[]];case 345:return["comprehension",i[l-6],[["for-as",i[l-4],i[l-2],!0,null]],[i[l]]];case 346:return["comprehension",i[l-2],[["for-in",[],i[l],null]],[]];case 347:return["comprehension",i[l-4],[["for-in",[],i[l-2],i[l]]],[]];case 351:case 389:case 391:case 418:case 419:case 421:return H([i[l-2],i[l]],z?[u[l-2],u[l]]:null);case 354:return H(["class",null,null],z?[null,null,null]:null);case 355:return H(["class",null,null,i[l]],z?[null,null,null,u[l]]:null);case 356:return H(["class",null,i[l]],z?[null,null,u[l]]:null);case 357:return H(["class",null,i[l-1],i[l]],z?[null,null,u[l-1],u[l]]:null);case 358:return H(["class",i[l],null],z?[null,u[l],null]:null);case 359:return H(["class",i[l-1],null,i[l]],z?[null,u[l-1],null,u[l]]:null);case 360:return H(["class",i[l-2],i[l]],z?[null,u[l-2],u[l]]:null);case 361:return H(["class",i[l-3],i[l-1],i[l]],z?[null,u[l-3],u[l-1],u[l]]:null);case 362:return H(["enum",i[l-1],i[l]],z?[null,u[l-1],u[l]]:null);case 363:return H(["schema",i[l]],z?[null,u[l]]:null);case 364:return["component",null,["block",...i[l-1]]];case 365:return["component",i[l-3],["block",...i[l-1]]];case 372:return H(["offer",i[l]],z?[null,u[l]]:null);case 373:return H(["accept",i[l]],z?[null,u[l]]:null);case 374:case 375:return H(["render",i[l]],z?[null,u[l]]:null);case 376:case 379:return H(["import","{}",i[l]],z?[null,null,u[l]]:null);case 377:case 378:return H(["import",i[l-2],i[l]],z?[null,u[l-2],u[l]]:null);case 380:return H(["import",i[l-4],i[l]],z?[null,u[l-4],u[l]]:null);case 381:return H(["import",i[l-4],i[l-2],i[l]],z?[null,u[l-4],u[l-2],u[l]]:null);case 382:return H(["import",i[l-7],i[l-4],i[l]],z?[null,u[l-7],u[l-4],u[l]]:null);case 393:return H(["*",i[l]],z?[null,u[l]]:null);case 394:return H(["export","{}"],z?[null,null]:null);case 395:return H(["export",i[l-2]],z?[null,u[l-2]]:null);case 396:case 397:case 398:case 399:case 403:case 404:case 405:case 406:return H(["export",i[l]],z?[null,u[l]]:null);case 400:return["export",["=",i[l-2],i[l]]];case 401:return["export",["=",i[l-3],i[l]]];case 402:return["export",["=",i[l-4],i[l-1]]];case 407:return H(["export-default",i[l]],z?[null,u[l]]:null);case 408:return H(["export-default",i[l-1]],z?[null,u[l-1]]:null);case 409:return H(["export-all",i[l]],z?[null,u[l]]:null);case 410:return H(["export-from","{}",i[l]],z?[null,null,u[l]]:null);case 411:return H(["export-from",i[l-4],i[l]],z?[null,u[l-4],u[l]]:null);case 423:case 424:case 426:case 461:return H(["do-iife",i[l]],z?[null,u[l]]:null);case 428:return H(["-",i[l]],z?[null,u[l]]:null);case 429:return H(["+",i[l]],z?[null,u[l]]:null);case 430:return H(["?",i[l-1]],z?[null,u[l-1]]:null);case 431:return H(["presence",i[l-1]],z?[null,u[l-1]]:null);case 432:return H(["await",i[l]],z?[null,u[l]]:null);case 433:return H(["await",i[l-1]],z?[null,u[l-1]]:null);case 434:return H(["--",i[l],!1],z?[null,u[l],null]:null);case 435:return H(["++",i[l],!1],z?[null,u[l],null]:null);case 436:return H(["--",i[l-1],!0],z?[null,u[l-1],null]:null);case 437:return H(["++",i[l-1],!0],z?[null,u[l-1],null]:null);case 438:return H(["+",i[l-2],i[l]],z?[null,u[l-2],u[l]]:null);case 439:return H(["-",i[l-2],i[l]],z?[null,u[l-2],u[l]]:null);case 441:return H(["**",i[l-2],i[l]],z?[null,u[l-2],u[l]]:null);case 444:return H(["&",i[l-2],i[l]],z?[null,u[l-2],u[l]]:null);case 445:return H(["^",i[l-2],i[l]],z?[null,u[l-2],u[l]]:null);case 446:return H(["|",i[l-2],i[l]],z?[null,u[l-2],u[l]]:null);case 447:case 448:case 449:case 450:case 451:case 452:return H(["control",i[l-1],i[l-2],i[l]],z?[null,u[l-1],u[l-2],u[l]]:null);case 453:return H(["&&",i[l-2],i[l]],z?[null,u[l-2],u[l]]:null);case 454:return H(["||",i[l-2],i[l]],z?[null,u[l-2],u[l]]:null);case 455:return H(["??",i[l-2],i[l]],z?[null,u[l-2],u[l]]:null);case 457:return H(["?:",i[l-4],i[l-2],i[l]],z?[null,u[l-4],u[l-2],u[l]]:null);case 459:return H([i[l-3],i[l-4],i[l-1]],z?[u[l-3],u[l-4],u[l-1]]:null);case 460:return H([i[l-2],i[l-3],i[l]],z?[u[l-2],u[l-3],u[l]]:null)}},parseError(n,f){let e,t,i,u,l,a,c;if(f.recoverable)return this.trace(n);else throw i=(f.line||0)+1,e=f.loc?.c||0,c=f.token?` (token: ${f.token})`:"",a=f.text?` near '${f.text}'`:"",u=`line ${i}, column ${e}`,l=`Parse error at ${u}${c}${a}: ${n}`,t=Error(l),t.hash=f,t},parse(n){let f,e,t,i,u,l,a,c,r,h,o,s,w,_,A,y,R,U,m,D,M,q,S,d,K,E,Z,Q;[q,Q,o]=[[0],[null],[]],[A,Z,K,d,U]=[this.parseTable,"",0,0,0],[e,f]=[2,1],r=Object.create(this.lexer),D={ctx:{}};for(let W in this.ctx){if(!Object.hasOwn(this.ctx,W))continue;let C=this.ctx[W];D.ctx[W]=C}if(r.setInput(n,D.ctx),[D.ctx.lexer,D.ctx.parser]=[r,this],r.loc==null)r.loc={};E=r.loc,o.push(E),this.parseError=typeof D.ctx.parseError==="function"?D.ctx.parseError:Object.getPrototypeOf(this).parseError,c=()=>{let W;if(W=r.lex()||f,typeof W!=="number")W=this.symbolIds[W]||W;return W},S=y=M=t=R=_=a=w=u=null,m={};while(!0){if(M=q[q.length-1],S==null)S=c();if(t=A[M]?.[S],t==null){if(i="",!U)u=(()=>{let W=[];for(let C in A[M]){if(!Object.hasOwn(A[M],C))continue;if(this.tokenNames[C]&&C>e)W.push(`'${this.tokenNames[C]}'`)}return W})();throw i=(()=>{if(r.showPosition)return`Parse error on line ${K+1}:
1860
1860
  ${r.showPosition()}
1861
- Expecting ${u.join(", ")}, got '${this.tokenNames[S]||S}'`;else return`Parse error on line ${K+1}: Unexpected ${S===f?"end of input":`'${this.tokenNames[S]||S}'`}`,this.parseError(i,{text:r.match,token:this.tokenNames[S]||S,line:r.line,loc:E,expected:u})})(),Error(i)}if(t>0)if(q.push(S,t),Q.push(r.text),o.push(r.loc),S=null,!m){if([d,Z,K,E]=[r.len,r.text,r.line,r.loc],U>0)U--}else[S,m]=[m,null];else if(t<0){if(a=this.ruleTable[-t*2+1],_.$=Q[Q.length-a],h=o[o.length-(a||1)],l=a?o[o.length-1]:h,s=l!=null&&l.r===h.r&&h.c!=null&&l.c!=null?l.c+(l.n||0)-h.c:h.n||0,_._$={r:h.r,c:h.c,n:s},R=this.ruleActions.call(_,-t,Q,o,D.ctx),R!=null)_.$=R;if(Array.isArray(_.$))_.$.loc=_._$;if(a)q.length-=a*2,Q.length-=a,o.length-=a;q.push(this.ruleTable[-t*2]),Q.push(_.$),o.push(_._$),w=A[q[q.length-2]][q[q.length-1]],q.push(w)}else if(t===0)return Q[Q.length-1]}},trace(){},ctx:{}},Ku=(n={})=>{let f=Object.create(Hu);return Object.defineProperty(f,"ctx",{value:{...n},enumerable:!1,writable:!0,configurable:!0}),f},Nn=Ku();var ia=Nn.parse.bind(Nn);var il=null;function jl(n){il=n}var Qu=new Set(["input","shape","model","mixin","enum","union"]),Ll="input",Il=new Set(["integer","number","boolean","date","datetime"]),Wu={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"},Ju=new Set(["beforeValidation","afterValidation","beforeSave","afterSave","beforeCreate","afterCreate","beforeUpdate","afterUpdate","beforeDestroy","afterDestroy","afterCommit","afterRollback"]),Yu=new Set(["TERMINATOR","INDENT","OUTDENT","=","+=","-=","*=","/=","%=","**=","//=","%%=","?=","??=","&&=","||=","&=","|=","^=","<<=",">>=",">>>=","READONLY_ASSIGN","REACTIVE_ASSIGN","COMPUTED_ASSIGN","RETURN","THROW","YIELD","AWAIT","EXPORT",",","(","[","{","CALL_START","PARAM_START","INDEX_START","->","=>",":","WHEN","THEN","IF","UNLESS","UNARY","!","NOT"]);function Yi(n,f){if(n)n.prototype.rewriteSchema=function(){Zu(this)},li._LexerCtor=n;if(f)f.prototype.emitSchema=function(e,t,i){return $u(this,e,t,i)},f.prototype.getSchemaRuntime=function(){let e=this.options?.schemaMode||"migration";return Fe({mode:e})}}var Bl=new Set(["defaultMaxString"]);function Zu(n){let f=n.tokens,e={defaultMaxString:null},t=0,i=0;while(i<f.length){let u=f[i];if(u[0]==="INDENT")t++;else if(u[0]==="OUTDENT")t--;let l=Gu(f,i,e,t);if(l>0){f.splice(i,l);continue}if(Nu(f,i))Xu(n,f,i,e);i++}}function Gu(n,f,e,t){let i=n[f];if(!i||i[0]!=="IDENTIFIER"||i[1]!=="schema")return 0;if(n[f+1]?.[0]!==".")return 0;let u=n[f+2];if(!u||u[0]!=="PROPERTY")return 0;if(n[f+3]?.[0]!=="=")return 0;let l=n[f-1];if(l){let o=l[0];if(o!=="TERMINATOR"&&o!=="INDENT"&&o!=="OUTDENT")return 0}let a=u[1];if(!Bl.has(a))throw B(u,`Unknown schema pragma 'schema.${a}'. Known pragmas: ${[...Bl].join(", ")}.`);if(t>0)throw B(u,`Schema pragma 'schema.${a}' must be declared at file top level. It was found inside a nested block (function / class / if / loop body), where it would leak into later top-level schemas.`);let c=n[f+4];if(!c||c[0]!=="NUMBER")throw B(c||u,`Pragma 'schema.${a}' requires a number literal. Example: schema.${a} = 100.`);let r=Number(c[1]);if(!Number.isFinite(r)||r<0||!Number.isInteger(r))throw B(c,`Pragma 'schema.${a}' expects a non-negative integer (got ${c[1]}). Use 0 to disable.`);e[a]=r===0?null:r;let h=f+5;if(n[h]?.[0]==="TERMINATOR")h++;return h-f}function Nu(n,f){let e=n[f];if(!e||e[0]!=="IDENTIFIER"||e[1]!=="schema")return!1;let t=n[f-1];if(t){let u=t[0];if(u==="."||u==="?.")return!1;if(t[0]==="IDENTIFIER"||t[0]==="PROPERTY"||t[0]===")"||t[0]==="]"||t[0]==="}"||t[0]==="STRING"||t[0]==="NUMBER"){if(!Yu.has(u))return!1}}let i=f+1;if(n[i]?.[0]==="SYMBOL"){if(i++,n[i]?.[0]===","&&(n[i+1]?.[0]==="PROPERTY"||n[i+1]?.[0]==="IDENTIFIER")&&n[i+1]?.[1]==="on"){i+=2;while(i<n.length&&n[i][0]!=="TERMINATOR"&&n[i][0]!=="INDENT")i++}}if(n[i]?.[0]==="TERMINATOR"){if(n[i][1]===";")return!0;i++}return n[i]?.[0]==="INDENT"}function Xu(n,f,e,t){let i=f[e],u=null,l=Ll,a=e+1;if(f[a]?.[0]==="SYMBOL"){u=f[a];let y=u[1];if(!Qu.has(y))throw B(u,`Unknown schema kind :${y}. Expected one of :input, :shape, :model, :mixin, :enum, :union.`);l=y,a++}let c=null;if(f[a]?.[0]===","&&(f[a+1]?.[0]==="PROPERTY"||f[a+1]?.[0]==="IDENTIFIER")&&f[a+1]?.[1]==="on"){if(l!=="model")throw B(f[a+1],`'on:' (per-schema adapter) applies to :model only — :${l} never queries a database.`);let y=a+2;if(f[y]?.[0]===":")y++;let A=y;while(y<f.length&&f[y][0]!=="TERMINATOR"&&f[y][0]!=="INDENT")y++;if(c=f.slice(A,y),!c.length)throw B(f[a+1],"'on:' requires an adapter expression — 'schema :model, on: analytics'.");a=y}let r,h;if(f[a]?.[0]==="TERMINATOR"&&f[a][1]===";"){let y=a+1,A=y,m=0,R=f[y]?.loc?.r??null;while(A<f.length){let U=f[A],_=U[0];if(m===0&&R!=null&&U.loc&&U.loc.r>R)break;if(_==="("||_==="["||_==="{"||_==="CALL_START"||_==="INDEX_START"||_==="PARAM_START")m++;else if(_===")"||_==="]"||_==="}"||_==="CALL_END"||_==="INDEX_END"||_==="PARAM_END"){if(m--,m<0)break}else if(m===0&&_==="TERMINATOR"&&U[1]!==";")break;else if(m===0&&(_==="INDENT"||_==="OUTDENT"))break;else if(m===0&&_==="->")throw B(U,"Inline schema body does not support '->' (method/hook/transform). Use the indented form.");else if(m===0&&_==="EFFECT")throw B(U,"Inline schema body does not support '~>' (computed getter). Use the indented form.");else if(m===0&&_==="UNARY_MATH"&&U[1]==="!"&&f[A+1]?.[0]==="COMPARE"&&f[A+1][1]===">")throw B(U,"Inline schema body does not support '!>' (eager derived). Use the indented form.");A++}while(A>y&&f[A-1][0]==="TERMINATOR")A--;if(r=f.slice(y,A),h=A,!r.length)throw B(i,`Inline schema body is empty. Either add '; field; …' entries after 'schema${u?" :"+l:""};' or switch to the indented form.`)}else{if(f[a]?.[0]==="TERMINATOR")a++;if(f[a]?.[0]!=="INDENT")throw B(i,`Expected indented schema body after 'schema${u?" :"+l:""}'.`);let y=a,A=Ee(f,y);if(A<0)throw B(f[y],"Unterminated schema body.");r=f.slice(y+1,A),h=A+1}let o=bu(l,r,{schemaLoc:i.loc,kindLoc:u?.loc??null,kind:l,defaultMaxString:t?.defaultMaxString??null});if(c)o.adapterTokens=c;let s=ll("SCHEMA","schema",i),w=ll("SCHEMA_BODY",l,i);w.data={descriptor:o},f.splice(e,h-e,s,w)}function bu(n,f,e){let t=[],i=Pu(f);if(n===Ll&&!e.kindLoc&&i.length>0&&i[0][0]?.[0]==="SYMBOL")n="enum",e.kind="enum";if(n==="enum")for(let u of i)xu(u,t);else if(n==="union"){for(let a of i)pu(a,t);let u=t.filter((a)=>a.tag==="directive"&&a.name==="on").length,l=t.filter((a)=>a.tag==="union-member");if(u!==1)throw B({loc:e.schemaLoc},u===0?":union requires an '@on :field' discriminator — untagged unions are not supported.":`:union takes exactly one '@on :field' discriminator (got ${u}).`);if(l.length<2)throw B({loc:e.schemaLoc},`:union needs at least two constituent schemas (got ${l.length}).`)}else{for(let u of i)Iu(n,u,t,e);if(n==="mixin")for(let u of t){if(u.tag==="method"||u.tag==="computed"||u.tag==="hook")throw B({loc:u.headerLoc||u.loc},`:mixin schemas are fields-only. '${u.name}' is a ${u.tag}; move it to a :shape or :model.`);if(u.tag==="ensure")throw B({loc:u.headerLoc||u.loc},":mixin schemas don't accept @ensure refinements. Move the invariant to a :shape or :model that composes this mixin.");if(u.tag==="scope"||u.tag==="defaultScope")throw B({loc:u.headerLoc||u.loc},`:mixin schemas don't accept query scopes. '@${u.tag==="scope"?"scope":"defaultScope"}' is :model-only.`);if(u.tag==="directive"&&u.name!=="mixin")throw B({loc:u.loc},`:mixin schemas only accept '@mixin Name' directives. '@${u.name}' is not allowed.`)}else if(n==="input")for(let u of t){if(u.tag==="method"||u.tag==="computed"||u.tag==="hook")throw B({loc:u.headerLoc||u.loc},`:input schemas are fields-only. '${u.name}' is a ${u.tag}; use :shape or :model if you need behavior.`);if(u.tag==="scope"||u.tag==="defaultScope")throw B({loc:u.headerLoc||u.loc},`:input schemas don't accept query scopes. '@${u.tag==="scope"?"scope":"defaultScope"}' is :model-only.`);if(u.tag==="directive"&&u.name!=="mixin")throw B({loc:u.loc},`:input schemas only accept '@mixin Name' and '@ensure'. '@${u.name}' is not allowed.`)}else if(n==="shape")for(let u of t){if(u.tag==="hook")throw B({loc:u.headerLoc||u.loc},`:shape schemas don't have lifecycle hooks. '${u.name}' runs only on :model; move it or remove it.`);if(u.tag==="scope"||u.tag==="defaultScope")throw B({loc:u.headerLoc||u.loc},`:shape schemas don't accept query scopes. '@${u.tag==="scope"?"scope":"defaultScope"}' is :model-only.`);if(u.tag==="directive"&&u.name!=="mixin")throw B({loc:u.loc},`:shape schemas only accept '@mixin Name'. '@${u.name}' is :model-only.`)}}return{kind:n,loc:e.schemaLoc,kindLoc:e.kindLoc,entries:t}}function Pu(n){let f=[],e=[],t=0;for(let i of n){let u=i[0];if(u==="INDENT")t++;if(u==="OUTDENT")t--;if(u==="TERMINATOR"&&t===0){if(e.length)f.push(e),e=[];continue}e.push(i)}if(e.length)f.push(e);return f}var Ou=new Set(["string","email","url","phone","zip"]);function Iu(n,f,e,t){let i=f[0];if(!i)return;if(i[0]==="@"){let E=f[1];if(!E||E[0]!=="IDENTIFIER"&&E[0]!=="PROPERTY")throw B(i,"Expected directive name after '@'.");let Z=f.slice(2),Q=E[1];if(Q==="ensure"){let C=E.data?.bang===!0,L=Tu(Z,i);for(let X of L)e.push({tag:"ensure",name:"ensure",message:X.message,field:X.field||null,async:C,paramTokens:X.paramTokens,bodyTokens:X.bodyTokens,loc:X.loc,headerLoc:i.loc});return}if(Q==="scope"){let C=vu(Z,i);e.push({tag:"scope",name:C.name,paramTokens:C.paramTokens,bodyTokens:C.bodyTokens,loc:i.loc,headerLoc:i.loc});return}if(Q==="defaultScope"){let C=pl(Zi(Z),i,"@defaultScope");if(C.paramTokens.length)throw B(i,"@defaultScope takes no parameters — write '@defaultScope -> @where(...)'.");e.push({tag:"defaultScope",name:"defaultScope",paramTokens:[],bodyTokens:C.bodyTokens,loc:i.loc,headerLoc:i.loc});return}let W=null;if(Q==="belongs_to"||Q==="has_many"||Q==="has_one"||Q==="one"||Q==="many"||Q==="mixin"){let C=Z[0];if(C&&(C[0]==="IDENTIFIER"||C[0]==="PROPERTY")){let L=C.data?.optional===!0;if(!L&&Z[1]?.[0]==="?")L=!0;W=[{target:C[1],optional:L}]}}e.push({tag:"directive",name:Q,args:W,argTokens:Z,loc:i.loc});return}if(i[0]==="PROPERTY"){Cu(n,i,f,e);return}if(i[0]!=="IDENTIFIER")throw B(i,`Unexpected ${i[0]} at schema top level. Allowed: fields ('name! type'), directives ('@name'), methods ('name: -> body'), or computed getters ('name: ~> body').`);let u=i[1];if(f[1]?.[0]===":")throw B(f[1],"Schema fields use 'name type' (space, no colon). For methods or computed use 'name: -> body' or 'name: ~> body'.");let l=Se(i),a=1;while(a<f.length){let E=f[a];if(!(f[a-1]&&!f[a-1].spaced))break;if(E[0]==="#")throw B(E,`The '#' unique modifier was removed. Mark uniqueness with '@unique': inline as '${u}! <type> @unique', or as a directive '@unique :${u}' (composite: '@unique [:a, :b]').`);if(E[0]==="?"||E[0]==="!"){l.push(E[0]),a++;continue}break}let c=f[a];if(c?.[0]===":")throw B(c,"Schema fields use 'name type' (space, no colon). Got 'name:'. For methods/computed use 'name: -> body' or 'name: ~> body'.");let r="string",h=null,o=!1,s=null,w=!1;if(c?.[0]==="UNARY_MATH"&&c[1]==="~"){let E=f[a+1];if(E?.[0]==="SYMBOL"){o=!0,s=E[1];let Z=Wu[s];if(Z&&typeof Z==="object")r=Z.type,w=!0;else r=Z||"any";a+=2,c=E}else if(E?.[0]==="IDENTIFIER"){if(!Il.has(E[1]))throw B(E,`'~${E[1]}' is not coercible. Built-in coercion is defined for: ${[...Il].join(", ")}. `+`Named coercers use a symbol — '~:${E[1]}' — and resolve through the registry `+`(@rip-lang/validate's vocabulary, or schema.registerCoercer). For anything else, write an explicit transform: '${u}, -> …'.`);o=!0,r=E[1],a+=2,c=E}else throw B(c,"'~' in the type slot marks coercion and needs a type name ('~integer', '~date', …) "+"or a registered coercer symbol ('~:ssn', '~:money', …).")}else if(c?.[0]==="IDENTIFIER")r=c[1],a++;else if(c?.[0]==="STRING"){h=[JSON.parse(c[1])],a++;while(f[a]?.[0]==="|"&&f[a+1]?.[0]==="STRING")a++,h.push(JSON.parse(f[a][1])),a++;if(f[a]?.[0]==="|"){let E=f[a+1],Z=E?.[0]??"<end>";throw B(E||f[a],`Literal unions contain string literals only. '${Z}' is not allowed as a union member. Use the '?' modifier for nullability.`)}r="literal-union"}let y=!1,A=f[a]?.[0],m=f[a+1]?.[0];if((A==="["||A==="INDEX_START")&&(m==="]"||m==="INDEX_END"))y=!0,a+=2;if(o&&y)throw B(c,`Coercion ('~${r}') does not apply to array types. Coerce per-element with a transform instead.`);if(w)y=!0;let R=f.slice(a);if((c?.[0]==="IDENTIFIER"||c?.[0]==="STRING")&&R[0]?.[0]==="->")throw B(R[0],`Field '${u}' has a transform after the type; a comma is required before '->'. Write '${u} ${r}, -> …'.`);let _=null,D=null,M=null,q=null,S=null,d=!1;if(R.length>0){if(R[0]?.[0]===",")R=R.slice(1);if(R.length>=2&&R[0][0]==="INDENT"){let Z=0,Q=-1;for(let W=0;W<R.length;W++)if(R[W][0]==="INDENT")Z++;else if(R[W][0]==="OUTDENT"){if(Z--,Z===0){Q=W;break}}if(Q===R.length-1)R=R.slice(1,-1)}let E=fi(R);for(let Z=0;Z<E.length;Z++){let Q=E[Z];while(Q.length&&(Q[0][0]==="INDENT"||Q[0][0]==="TERMINATOR"))Q=Q.slice(1);if(!Q.length)continue;if(Q[0][0]!=="->"){let C=Bu(Q);if(C>0)throw B(Q[C],`Field '${u}' has a transform after other content; a comma is required before '->'. Write 'name! <constraints>, -> <body>'.`)}let W=Q[0];if(W[0]!=="->"){while(Q.length&&(Q[Q.length-1][0]==="OUTDENT"||Q[Q.length-1][0]==="TERMINATOR"))Q=Q.slice(0,-1);if(!Q.length)continue;W=Q[0]}if(W[0]==="["||W[0]==="INDEX_START"){if(_)throw B(W,`Field '${u}' has more than one '[…]' constraint. At most one default / regex bracket per field.`);_=Q}else if(W[0]==="{"){if(D)throw B(W,`Field '${u}' has more than one '{…}' attrs bracket.`);D=Q}else if(gu(Q)){if(M)throw B(W,`Field '${u}' has more than one range constraint. Only one 'min..max' per field.`);M=Q}else if(W[0]==="REGEX"&&Q.length===1){if(q)throw B(W,`Field '${u}' has more than one regex constraint.`);q=W}else if(W[0]==="->"){if(Z!==E.length-1)throw B(W,`Transform '-> …' must be the last element on the field line for '${u}'.`);S=Q.slice(1)}else if(W[0]==="@"){let C=Q[1],L=C&&(C[0]==="IDENTIFIER"||C[0]==="PROPERTY")?C[1]:null;if(Q.length===2&&L==="unique"){if(d)throw B(W,`Field '${u}' has more than one '@unique'.`);d=!0}else throw B(W,`Unknown inline attribute '@${L??""}' on field '${u}'. The only inline attribute is '@unique'.`)}else throw B(W,`Unexpected trailer for field '${u}'. Expected '[…]' default, '{…}' attrs, '/regex/', 'min..max' range, '-> transform', or '@unique'.`)}}if(y&&h)throw B(c,"Array-of-literal-union is not supported. Use 'string[]' if you need an array of strings.");let K=null;if(t?.defaultMaxString!=null&&!q&&!h&&Ou.has(r))K=t.defaultMaxString;if(o&&S)throw B(i,`Field '${u}' has both '~${r}' coercion and a '->' transform. `+"A transform replaces coercion — coerce inside it instead.");e.push({tag:"field",name:u,modifiers:l,unique:d,typeName:r,array:y,literals:h,coerce:o,coercer:s,constraintTokens:_,attrsTokens:D,rangeTokens:M,regexToken:q,transformTokens:S,defaultMax:K,loc:i.loc})}function Bu(n){let f=0;for(let e=0;e<n.length;e++){let t=n[e][0];if(t==="("||t==="["||t==="{"||t==="CALL_START"||t==="INDEX_START"||t==="PARAM_START")f++;else if(t===")"||t==="]"||t==="}"||t==="CALL_END"||t==="INDEX_END"||t==="PARAM_END")f--;else if(f===0&&t==="->")return e}return-1}function gu(n){let f=0,e=!1;if(n[f]?.[0]==="-"&&n[f+1]?.[0]==="NUMBER")f+=2,e=!0;else if(n[f]?.[0]==="NUMBER")f++,e=!0;if(n[f]?.[0]!=="..")return!1;f++;let t=!1;if(n[f]?.[0]==="-"&&n[f+1]?.[0]==="NUMBER")f+=2,t=!0;else if(n[f]?.[0]==="NUMBER")f++,t=!0;return(e||t)&&f===n.length}function Cu(n,f,e,t){let i=f[1],u=e[1];if(!u||u[0]!==":")throw B(f,`Expected ':' after '${i}' before arrow.`);let l=2,a=[],c=!1;if(e[l]&&(e[l][0]==="PARAM_START"||e[l][0]==="(")){c=!0;let R=1;l++;while(l<e.length&&R>0){let U=e[l][0];if(U==="("||U==="PARAM_START")R++;if(U===")"||U==="PARAM_END"){if(R--,R===0){l++;break}}a.push(e[l]),l++}if(R!==0)throw B(e[2],`'${i}': unclosed '(' in parameters.`)}let r=e[l],h=e[l+1],o,s,w;if(r&&r[0]==="->")o="->",s=r.loc,w=l+1;else if(r&&r[0]==="EFFECT")o="~>",s=r.loc,w=l+1;else if(r&&r[0]==="UNARY_MATH"&&r[1]==="!"&&h&&h[0]==="COMPARE"&&h[1]===">"&&!r.spaced)o="!>",s=r.loc,w=l+2;else throw B(u,`Schema top-level '${i}:' must be followed by '->' (method/hook), '~>' (computed getter), or '!>' (eager derived).`);let y=e.slice(w),A=Ju.has(i),m;if(o==="~>")m="computed";else if(o==="!>")m="derived";else if(n==="model"&&A)m="hook";else m="method";if(c&&m!=="method")throw B(u,`'${i}': ${m==="hook"?"lifecycle hooks":m==="computed"?"computed getters (~>)":"eager-derived fields (!>)"} take no parameters — only methods do.`);t.push({tag:m,name:i,arrow:o,paramTokens:a,bodyTokens:y,headerLoc:f.loc,arrowLoc:s})}function Zi(n){if(n[0]?.[0]==="CALL_START"&&n[n.length-1]?.[0]==="CALL_END")return n.slice(1,-1);return n}function vu(n,f){let e=Zi(n);if(!e.length)throw B(f,"@scope requires ':name, -> body' (or ':name, (args) -> body').");let t=e[0];if(t[0]!=="SYMBOL")throw B(t,"@scope name must be a :symbol — '@scope :active, -> @where(active: true)'.");let i=t[1];if(!/^[a-z][a-zA-Z0-9]*$/.test(i))throw B(t,`@scope name ':${i}' must be a lowercase-first alphanumeric identifier.`);let u=e.slice(1);if(u[0]?.[0]===",")u=u.slice(1);if(!u.length)throw B(t,`@scope :${i} is missing its body — '@scope :${i}, -> @where(...)'.`);let l=pl(u,t,`@scope :${i}`);return{name:i,paramTokens:l.paramTokens,bodyTokens:l.bodyTokens}}function pl(n,f,e){if(!n.length)throw B(f,`${e}: expected '-> body' or '(args) -> body'.`);let t=[],i=0,u=n[0];if(u[0]==="("||u[0]==="PARAM_START"){let c=1;i=1;while(i<n.length&&c>0){let r=n[i][0];if(r==="("||r==="PARAM_START")c++;if(r===")"||r==="PARAM_END"){if(c--,c===0){i++;break}}t.push(n[i]),i++}if(c!==0)throw B(u,`${e}: unclosed '(' in parameters.`)}let l=n[i];if(!l||l[0]!=="->")throw B(l||f,`${e}: expected '->' ${t.length?"after parameters":"to start the body"}.`);let a=n.slice(i+1);if(!a.length)throw B(l,`${e}: function body is empty.`);return{paramTokens:t,bodyTokens:a}}function Tu(n,f){let e=n;if(!e.length)throw B(f,"@ensure requires 'message, (x) -> body' or '[...]' array of pairs.");if(e[0]?.[0]==="CALL_START"&&e[e.length-1]?.[0]==="CALL_END")e=e.slice(1,-1);if(!e.length)throw B(f,"@ensure requires 'message, (x) -> body' or '[...]' array of pairs.");let t=e[0];if(t[0]==="["||t[0]==="INDEX_START"){let u=Vu(e,t),l=ju(u);if(l.length===0)throw B(t,"@ensure [...] must contain at least one 'message, fn' pair.");return gl(l,t)}let i=fi(e);if(i.length<2)throw B(t,"@ensure inline form must be 'message, (x) -> body'. Did you forget the comma?");if(i.length>3||i.length===3&&!xl(i[1]))throw B(t,`@ensure inline form takes 'message[, :field], fn' (got ${i.length} comma-separated parts). Use '@ensure [...]' for multiple refinements.`);return gl(i,t)}function xl(n){return n&&n.length===1&&n[0][0]==="SYMBOL"}function gl(n,f){let e=[],t=0;while(t<n.length){let i=n[t++],u=null;if(t<n.length&&xl(n[t]))u=n[t++];if(t>=n.length)throw B(i?.[0]||f,"@ensure: missing function after message"+(u?" and :field":"")+".");e.push(Lu(i,u,n[t++],f))}return e}function Vu(n,f){let e=0,t=[];for(let i=0;i<n.length;i++){let u=n[i],l=u[0];if(l==="["||l==="INDEX_START"){if(e++,e===1)continue}if(l==="]"||l==="INDEX_END"){if(e--,e===0){if(i<n.length-1)throw B(n[i+1],"@ensure [...] must be the only argument — extra tokens after ']'.");if(t.length>=2&&t[0][0]==="INDENT"&&t[t.length-1][0]==="OUTDENT"){let a=0,c=!1;for(let r=0;r<t.length;r++)if(t[r][0]==="INDENT")a++;else if(t[r][0]==="OUTDENT"){if(a--,a===0&&r===t.length-1){c=!0;break}if(a===0)break}if(c)t=t.slice(1,-1)}return t}}if(e>=1)t.push(u)}throw B(f,"@ensure: unclosed '['.")}function ju(n){let f=[],e=[],t=0;for(let i of n){let u=i[0];if(u==="("||u==="["||u==="{"||u==="CALL_START"||u==="INDEX_START"||u==="PARAM_START"||u==="INDENT")t++;if(u===")"||u==="]"||u==="}"||u==="CALL_END"||u==="INDEX_END"||u==="PARAM_END"||u==="OUTDENT")t--;if(t===0&&(u===","||u==="TERMINATOR")){if(e.length)f.push(e),e=[];continue}e.push(i)}if(e.length)f.push(e);return f}function Lu(n,f,e,t){if(!n||!n.length)throw B(t,"@ensure: missing message (expected a string literal).");if(n.length!==1||n[0][0]!=="STRING")throw B(n[0]||t,"@ensure: each refinement's first element must be a string literal message.");let i=n[0],u=JSON.parse(i[1]),l=f?f[0][1]:null;if(!e||!e.length)throw B(i,"@ensure: missing function after message.");let a=e[0];if(a[0]!=="("&&a[0]!=="PARAM_START")throw B(a,"@ensure: expected '(args) -> body' after the message. Predicates must declare their parameter explicitly — '(u) -> ...'.");let c=1,r=1,h=[];while(r<e.length&&c>0){let w=e[r],y=w[0];if(y==="("||y==="PARAM_START")c++;if(y===")"||y==="PARAM_END"){if(c--,c===0){r++;break}}h.push(w),r++}if(c!==0)throw B(a,"@ensure: unclosed '(' in predicate parameters.");let o=e[r];if(!o||o[0]!=="->")throw B(o||e[r-1]||i,"@ensure: expected '->' after predicate parameters.");let s=e.slice(r+1);if(!s.length)throw B(o,"@ensure: predicate function body is empty.");return{message:u,field:l,paramTokens:h,bodyTokens:s,loc:i.loc}}function $l(n,f){if(!n.length)return[];return fi(n).map((t)=>{let i=t.filter((u)=>u[0]!=="TERMINATOR");if(i.length!==1||i[0][0]!=="IDENTIFIER")throw B(i[0]||f,"@ensure: predicate parameters must be plain identifiers.");return i[0][1]})}function pu(n,f){let e=n[0];if(!e)return;if(e[0]==="@"){let t=n[1];if(!t||t[1]!=="on")throw B(t||e,`:union bodies accept only '@on :field' and constituent schema names. '@${t?.[1]??""}' is not allowed.`);let i=Zi(n.slice(2)),u=i[0];if(!u||u[0]!=="SYMBOL")throw B(u||t,"@on requires the discriminator field as a :symbol — '@on :kind'.");if(i.length>1)throw B(i[1],"@on takes exactly one :field symbol.");f.push({tag:"directive",name:"on",args:[{field:u[1]}],argTokens:n.slice(2),loc:e.loc});return}if(e[0]==="IDENTIFIER"&&n.length===1){f.push({tag:"union-member",name:e[1],loc:e.loc});return}throw B(e,`:union bodies accept only '@on :field' and bare constituent schema names (one per line). Got ${e[0]}${n.length>1?" followed by "+n[1][0]:""}.`)}function xu(n,f){let e=n[0];if(!e)return;if(e[0]==="@"){let u=n[1],l=u&&(u[0]==="IDENTIFIER"||u[0]==="PROPERTY")?u[1]:"directive";throw B(e,`:enum schemas don't accept '@${l}'. Enums hold only :symbol members. Move the invariant to a :shape or :model that uses this enum as a field type.`)}if(e[0]!=="SYMBOL")throw B(e,`Enum member must be a :symbol. Use ':${e[1]??"name"}' for a bare member or ':${e[1]??"name"} value' for a valued one.`);let t=e[1],i=n[1];if(!i){f.push({tag:"enum-member",name:t,value:void 0,loc:e.loc});return}if(i[0]===":")throw B(i,`Enum member ':${t}' — drop the ':' before the value. Use ':${t} value'.`);if(n.length>2)throw B(n[2],`Extra tokens after enum member ':${t}' value.`);f.push({tag:"enum-member",name:t,value:de(i),loc:e.loc})}function $u(n,f,e,t){let i=e[0],u=fl(i);if(!u)throw Error("schema: missing descriptor on SCHEMA_BODY token");n.usesSchemas=!0;let l=n._schemaName||null,a=[`kind: ${JSON.stringify(u.kind)}`];if(l)a.push(`name: ${JSON.stringify(l)}`);else if(n.options.inlineTypes&&(u.kind==="shape"||u.kind==="input")){let c=n._schemaAnon??=[],r=`__AnonSchema${c.length+1}`;a.push(`__anon: ${JSON.stringify(r)}`),c.push({name:r,descriptor:u})}if(a.push(`entries: [${u.entries.map((c)=>re(n,c)).join(", ")}]`),u.adapterTokens){let c=li(u.adapterTokens);if(c)a.push(`adapter: ${n.emit(qe(c),"value")}`)}return`__schema({${a.join(", ")}})`}function fl(n){if(n&&typeof n==="object"){if(n.descriptor)return n.descriptor;if(n.data?.descriptor)return n.data.descriptor}return null}function ku(n){if(!Array.isArray(n))return null;if((n[0]?.valueOf?.()??n[0])!=="schema")return null;return fl(n[1])}var ne=new Set(["pick","omit","partial","required","extend"]);function bn(n){return n&&n.valueOf?n.valueOf():n}function kl(n){return n.entries.some((f)=>f.tag==="directive"&&f.name==="mixin")}function ie(n){return(n.replace(/([a-z0-9])([A-Z])/g,"$1_$2").toLowerCase()+"_id").replace(/_([a-z])/g,(e,t)=>t.toUpperCase())}function le(n){if(kl(n))return null;let f=new Map;for(let l of n.entries)if(l.tag==="field")f.set(l.name,l);if(n.kind!=="model")return f;let e=(l,a,c)=>{if(!f.has(l))f.set(l,{tag:"field",name:l,modifiers:c?["!"]:["?"],typeName:a,array:!1})},t=!1,i=!1,u=[];for(let l of n.entries){if(l.tag!=="directive")continue;if(l.name==="timestamps")t=!0;else if(l.name==="softDelete")i=!0;else if(l.name==="belongs_to"){let a=l.args&&l.args[0]&&l.args[0].target;if(a)u.push({fk:ie(a),required:l.args[0].optional!==!0})}}if(e("id","integer",!0),t)e("createdAt","datetime",!0),e("updatedAt","datetime",!0);if(i)e("deletedAt","datetime",!1);for(let{fk:l,required:a}of u)e(l,"integer",a);return f}function fe(n){if(kl(n))return null;let f=new Map;for(let e of n.entries)if(e.tag==="field")f.set(e.name,e);return f}function Cl(n,f){let e=n.modifiers.filter((i)=>i!==(f==="partial"?"!":"?")),t=f==="partial"?"?":"!";if(!e.includes(t))e=[...e,t];return{...n,modifiers:e}}function ue(n,f,e){switch(f.method){case"pick":{let t=new Map;for(let i of f.keys){if(!n.has(i))return null;t.set(i,n.get(i))}return t}case"omit":{let t=new Set(f.keys),i=new Map;for(let[u,l]of n)if(!t.has(u))i.set(u,l);return i}case"partial":{let t=new Map;for(let[i,u]of n)t.set(i,Cl(u,"partial"));return t}case"required":{let t=new Set(f.keys),i=new Map;for(let[u,l]of n)i.set(u,t.has(u)?Cl(l,"required"):l);return i}case"extend":{let t=f.otherDescriptor||e.get(f.otherName);if(!t)return null;let i=fe(t);if(!i)return null;let u=new Map(n);for(let[l,a]of i){if(u.has(l))return null;u.set(l,a)}return u}default:return null}}function ee(n,f,e){let t=le(n);if(!t)return null;for(let i of f)if(t=ue(t,i,e),!t)return null;return{kind:"shape",entries:[...t.values()]}}function te(n){let f=[],e=n;while(!0){if(!Array.isArray(e))return null;let t=e[0];if(!Array.isArray(t))return null;if(bn(t[0])!==".")return null;let i=bn(t[2]);if(!ne.has(i))return null;let u=e.slice(1),l;if(i==="partial"){if(u.length)return null;l={method:i}}else if(i==="extend"){if(u.length!==1)return null;let r=u[0];if(Array.isArray(r)){let h=ku(r);if(!h||h.kind!=="shape"&&h.kind!=="input")return null;l={method:i,otherDescriptor:h}}else{let h=bn(r);if(typeof h!=="string"||!/^[A-Za-z_$][\w$]*$/.test(h))return null;l={method:i,otherName:h}}}else{let r=ae(u);if(!r||!r.length)return null;l={method:i,keys:r}}f.unshift(l);let a=t[1];if(Array.isArray(a)){e=a;continue}let c=bn(a);if(typeof c!=="string")return null;return{base:c,ops:f}}}function ae(n){let f=[];for(let e of n)if(Array.isArray(e)){if(bn(e[0])!=="array")return null;for(let t=1;t<e.length;t++){let i=vl(e[t]);if(i==null)return null;f.push(i)}}else{let t=vl(e);if(t==null)return null;f.push(t)}return f}function vl(n){let f=bn(n);if(typeof f!=="string"||f.length<2)return null;let e=f[0];if(e!=='"'&&e!=="'"||f[f.length-1]!==e)return null;let t=f.slice(1,-1);if(/[\\#]/.test(t))return null;return t}function nf(n){if(!Array.isArray(n))return;let f=bn(n[0]),e=f==="program"||f==="block"?n.slice(1):[n],t=new Map;for(let i of e){if(!Array.isArray(i))continue;let u=i;if(bn(i[0])==="export"&&Array.isArray(i[1]))u=i[1];if(bn(u[0])!=="="||!Array.isArray(u[2]))continue;let l=bn(u[1]);if(typeof l!=="string")continue;if(bn(u[2][0])==="schema"){let o=fl(u[2][1]);if(o)t.set(l,o);continue}let a=te(u[2]);if(!a)continue;let c=t.get(a.base);if(!c)continue;let r=ee(c,a.ops,t);if(!r)continue;let h=new String("shape");h.descriptor=r,h.data={descriptor:r},u[2]=["schema",h],t.set(l,r)}}function re(n,f){switch(f.tag){case"field":{let e=['tag: "field"',`name: ${JSON.stringify(f.name)}`,`modifiers: ${JSON.stringify(f.modifiers)}`,`typeName: ${JSON.stringify(f.typeName)}`,`array: ${f.array?"true":"false"}`];if(f.unique)e.push("unique: true");if(f.literals)e.push(`literals: ${JSON.stringify(f.literals)}`);if(f.coerce){if(e.push("coerce: true"),f.coercer)e.push(`coercer: ${JSON.stringify(f.coercer)}`)}let t=f.rangeTokens?ye(f.rangeTokens,f):null,i=f.constraintTokens?_e(f.constraintTokens,f):null,u=f.regexToken?me(f.regexToken):null,l=Ae(t,i,u,f);if(l)e.push(`constraints: ${l}`);if(f.attrsTokens){let a=De(f.attrsTokens,f);if(a)e.push(`attrs: ${a}`)}if(f.transformTokens)e.push(`transform: ${se(n,f.transformTokens)}`);return`{${e.join(", ")}}`}case"directive":{let e=['tag: "directive"',`name: ${JSON.stringify(f.name)}`],t=Me(f.name,f.argTokens||[]);if(t)e.push(`args: ${t}`);return`{${e.join(", ")}}`}case"ensure":{let e=we(n,f),t=['tag: "ensure"',`message: ${JSON.stringify(f.message)}`,`fn: ${e}`];if(f.field)t.push(`field: ${JSON.stringify(f.field)}`);if(f.async)t.push("async: true");return`{${t.join(", ")}}`}case"scope":case"defaultScope":{let e=oe(n,f);return`{${[`tag: ${JSON.stringify(f.tag)}`,`name: ${JSON.stringify(f.name)}`,`fn: ${e}`].join(", ")}}`}case"computed":case"method":case"hook":case"derived":{let e=he(n,f);return`{${[`tag: ${JSON.stringify(f.tag)}`,`name: ${JSON.stringify(f.name)}`,`fn: ${e}`].join(", ")}}`}case"enum-member":{let e=['tag: "enum-member"',`name: ${JSON.stringify(f.name)}`];if(f.value!==void 0)e.push(`value: ${JSON.stringify(f.value)}`);return`{${e.join(", ")}}`}case"union-member":return`{tag: "union-member", name: ${JSON.stringify(f.name)}}`;default:return'{tag: "unknown"}'}}function ce(n,f){if(!f.paramTokens||!f.paramTokens.length)return[];return fi(f.paramTokens).map((t)=>{let i=t.filter((l)=>l[0]!=="TERMINATOR"&&l[0]!=="INDENT"&&l[0]!=="OUTDENT");if(i.length!==1||i[0][0]!=="IDENTIFIER")throw B(i[0]||{loc:f.headerLoc},`'${f.name}': method parameters must be plain identifiers (with optional ':: Type' annotations).`);let u=new String(i[0][1]);if(n.options.inlineTypes)u.type=i[0].data?.type||"any";return u})}function he(n,f){let e=li(f.bodyTokens),t=ce(n,f);if(!e)return"(function() {})";let i=[];if(n.options.inlineTypes&&n._schemaName){let c=new String("this");c.type=n._schemaName,i.push(c)}i.push(...t);let u=["->",i,e],l=n.emit(u,"value"),a=f.tag==="computed"||f.tag==="derived"||f.tag==="method";if(n.options.inlineTypes&&n._schemaName&&a){if(!n._schemaBehavior)n._schemaBehavior=new Map;let c=n._schemaBehavior.get(n._schemaName);if(!c)c=[],n._schemaBehavior.set(n._schemaName,c);c.push({field:f.name,tag:f.tag,fnExpr:l})}return l}function se(n,f){let e=li(f);if(!e)return"(function() { return undefined; })";let t=new String("it");t.type="any";let i=["->",[t],e];return n.emit(i,"value")}function oe(n,f){let e=li(f.bodyTokens);if(!e)return"(function() { return this; })";let i=["->",f.paramTokens.length?$l(f.paramTokens,f):[],e];return n.emit(i,"value")}function we(n,f){let e=li(f.bodyTokens);if(!e)return"(function() { return undefined; })";let i=["->",$l(f.paramTokens,f),e];return n.emit(i,"value")}function _e(n,f){let e=n.slice(1,-1),t=fi(e);if(!t.length)return{c:null};let i=t.map((u)=>ul(u,f));if(i.length===1){let u=i[0];if(u instanceof RegExp)throw B(n[0],`Regex constraints are written bare, not in brackets. Replace '[${u}]' with '${u}'.`);return{c:{default:u}}}if(i.length===2&&typeof i[0]==="number"&&typeof i[1]==="number")throw B(n[0],`Size/value ranges use 'min..max' syntax, not brackets. Replace '[${i[0]}, ${i[1]}]' with '${i[0]}..${i[1]}'.`);if(i.length===3&&i.every((u)=>typeof u==="number"))throw B(n[0],`Range + default is two separate constraints in v2. Replace '[${i[0]}, ${i[1]}, ${i[2]}]' with '${i[0]}..${i[1]}, [${i[2]}]'.`);throw B(n[0],`Constraint bracket takes a single default value in v2. Got ${i.length} elements.`)}function me(n){let f=n[1],e=/^\/((?:\\.|[^\\/])+)\/([a-z]*)$/.exec(f);if(!e)throw B(n,`Invalid regex literal ${JSON.stringify(f)}.`);try{return new RegExp(e[1],e[2])}catch(t){throw B(n,`Invalid regex '${f}': ${t.message}`)}}function ye(n,f){let e=0,t=()=>{let a=1;if(n[e]?.[0]==="-")a=-1,e++;let c=n[e++],r=ul([c],f);if(typeof r!=="number")throw B(c,"Range endpoints must be numeric literals.");return a*r},i;if(n[e]?.[0]!=="..")i=t();e++;let u;if(e<n.length)u=t();if(i!==void 0&&u!==void 0&&i>u)throw B(n[0],`Range '${i}..${u}' is reversed. Write the smaller endpoint first.`);let l={};if(i!==void 0)l.min=i;if(u!==void 0)l.max=u;return l}function Ae(n,f,e,t){let i=f&&f.c||{},u=n&&n.min===void 0;if(n){if(n.min!==void 0)i.min=n.min;if(n.max!==void 0)i.max=n.max;if(u&&i.min===void 0&&t?.modifiers?.includes("!"))i.min=1}if(e)i.regex=e;if(t?.defaultMax!=null&&i.max===void 0)i.max=t.defaultMax;if(i.min!==void 0&&i.max!==void 0&&i.min>i.max){let l=n&&n.min!==void 0?`range min ${n.min}`:"implicit min=1 from `!`",a=n&&n.max!==void 0?`range max ${n.max}`:`pragma defaultMaxString=${t?.defaultMax}`;throw B({loc:t?.loc},`Field '${t?.name}' would have impossible constraints min=${i.min} > max=${i.max} after sugar is applied (${l} vs ${a}). Write an explicit range or drop the conflicting pragma.`)}if(i.min===void 0&&i.max===void 0&&i.default===void 0&&i.regex===void 0)return null;return Re(i)}var Tl=new Set(["was"]);function De(n,f){let e=n.slice(1,-1).filter((u)=>u[0]!=="TERMINATOR"&&u[0]!=="INDENT"&&u[0]!=="OUTDENT"),t=fi(e),i=[];for(let u of t){if(!u.length)continue;let l=u[0];if(l[0]!=="PROPERTY"&&l[0]!=="IDENTIFIER")throw B(l,`Field attrs must be '{key: value}' pairs. Got ${l[0]}.`);let a=l[1];if(!Tl.has(a))throw B(l,`Unknown field attr '${a}'. Known attrs: ${[...Tl].join(", ")}.`);let c=1;if(u[c]?.[0]===":")c++;let r=ul(u.slice(c),f);if(a==="was"&&typeof r!=="string")throw B(l,`Field attr 'was' requires a string column name, e.g. {was: "first_name"}.`);i.push(`${a}: ${Ji(r)}`)}return i.length?`{${i.join(", ")}}`:null}function Re(n){let f=[];if(n.min!==void 0)f.push(`min: ${Ji(n.min)}`);if(n.max!==void 0)f.push(`max: ${Ji(n.max)}`);if(n.default!==void 0)f.push(`default: ${Ji(n.default)}`);if(n.regex!==void 0)f.push(`regex: ${n.regex.toString()}`);return f.length?`{${f.join(", ")}}`:null}function Ji(n){if(n===null)return"null";if(n===void 0)return"undefined";if(typeof n==="string")return JSON.stringify(n);if(typeof n==="number"||typeof n==="boolean")return String(n);if(n instanceof RegExp)return n.toString();return JSON.stringify(n)}function Vl(n){let f=(i)=>i&&(i[0]==="IDENTIFIER"||i[0]==="PROPERTY"||i[0]==="SYMBOL"),e=[],t=0;if(f(n[t]))e.push(n[t][1]);else if(n[t]?.[0]==="["||n[t]?.[0]==="INDEX_START"){let i=[],u=1;t++;while(t<n.length&&u>0){let l=n[t];if(l[0]==="["||l[0]==="INDEX_START")u++;if(l[0]==="]"||l[0]==="INDEX_END"){if(u--,u===0){t++;break}}i.push(l),t++}for(let l of fi(i))if(f(l[0]))e.push(l[0][1])}return e}function Me(n,f){if(n==="idStart"&&!f.length)throw B(null,"@idStart requires an integer literal, e.g. @idStart 10001.");if(!f.length)return null;if(n==="belongs_to"||n==="has_many"||n==="has_one"||n==="one"||n==="many"||n==="mixin"){let e=f[0];if(!e||e[0]!=="IDENTIFIER"&&e[0]!=="PROPERTY")throw B(e||f[f.length-1],`@${n} requires a target name.`);let t=e[1],i=e.data?.optional===!0,u=1;if(!i&&f[u]?.[0]==="?")i=!0,u++;let l=[`target: ${JSON.stringify(t)}`];if(i)l.push("optional: true");return`[{${l.join(", ")}}]`}if(n==="unique"){let e=Vl(f);if(!e.length)throw B(f[0]||f[f.length-1],"@unique requires a field name or list — '@unique :email' or '@unique [:a, :b]'.");return`[{fields: ${JSON.stringify(e)}}]`}if(n==="index"){let e=Vl(f);return`[{fields: ${JSON.stringify(e)}}]`}if(n==="on"){let e=Zi(f)[0];if(e&&e[0]==="SYMBOL")return`[{field: ${JSON.stringify(e[1])}}]`;throw B(e||f[f.length-1],"@on requires the discriminator field as a :symbol — '@on :kind'.")}if(n==="tableWas"){if(f[0]?.[0]==="CALL_START"&&f[f.length-1]?.[0]==="CALL_END")f=f.slice(1,-1);let e=f[0];if(e&&e[0]==="STRING")return`[{name: ${e[1]}}]`;if(e&&(e[0]==="IDENTIFIER"||e[0]==="PROPERTY"))return`[{name: ${JSON.stringify(e[1])}}]`;throw B(e||f[f.length-1],"@tableWas requires the previous table name, e.g. @tableWas legacy_users.")}if(n==="idStart"){let e=f[0],t=1,i=e;if(e&&e[0]==="-"&&f[1]&&f[1][0]==="NUMBER")t=-1,i=f[1];if(!i||i[0]!=="NUMBER")throw B(e||f[f.length-1],"@idStart requires an integer literal, e.g. @idStart 10001.");let u=t*Number(i[1]);if(!Number.isInteger(u))throw B(i,"@idStart requires an integer literal; got "+i[1]+".");return"[{value: "+u+"}]"}return null}function ul(n,f){if(!n.length)throw B(null,"Empty constraint value.");let e=n[0],t=e[0];if(n.length===1){if(t==="NUMBER")return Number(e[1]);if(t==="STRING")return JSON.parse(e[1]);if(t==="BOOL")return e[1]==="true";if(t==="NULL")return null;if(t==="UNDEFINED")return;if(t==="REGEX")return Ue(e[1]);if(t==="SYMBOL")return e[1]}if(n.length===2&&t==="-"&&n[1][0]==="NUMBER")return-Number(n[1][1]);throw B(e,`Constraint values must be literals (number, string, boolean, null, regex, :symbol). Got ${t}.`)}function Ue(n){let f=typeof n==="string"?n:String(n),e=f.match(/^\/(.*)\/([gimsuy]*)$/s);return e?new RegExp(e[1],e[2]):new RegExp(f)}function qe(n){if(Array.isArray(n)){if((n[0]?.valueOf?.()??n[0])==="block"&&n.length===2)return n[1]}return n}function li(n){if(!n||!n.length)return null;let f=li._LexerCtor;if(!f)throw Error("schema: parseBodyTokens called before Lexer was wired");let e=Object.create(f.prototype),t=n.slice();if(t.length>=2&&t[0]?.[0]==="INDENT"){let r=0,h=-1;for(let o=0;o<t.length;o++)if(t[o][0]==="INDENT")r++;else if(t[o][0]==="OUTDENT"){if(r--,r===0){h=o;break}}if(h===t.length-1)t=t.slice(1,-1)}if(e.tokens=t,e.seenFor=e.seenImport=e.seenExport=!1,e.ends=[],e.indent=0,e.outdebt=0,e.indents=[],e.tokens[e.tokens.length-1]?.[0]!=="TERMINATOR")e.tokens.push(ll("TERMINATOR",`
1862
- `,n[n.length-1]));try{e.rewriteTypes?.(),e.tagPostfixConditionals?.(),e.rewriteTaggedTemplates?.(),e.addImplicitBracesAndParens?.(),e.addImplicitCallCommas?.()}catch(r){throw B(n[0],`schema: failed to compile body: ${r.message}`)}let u=e.tokens.filter((r)=>r[0]!=="TYPE_DECL"),l=Nn.lexer;Nn.lexer={tokens:u,pos:0,setInput(){},lex(){if(this.pos>=this.tokens.length)return 1;let r=this.tokens[this.pos++],h=r[1];if(r.data)h=new String(h),Object.assign(h,r.data);return this.text=h,this.loc=r.loc,this.line=r.loc?.r,r[0]}};let a;try{a=Nn.parse("")}finally{Nn.lexer=l}if(!Array.isArray(a)||a[0]!=="program")return null;let c=a.slice(1);if(c.length===0)return null;if(c.length===1)return c[0];return["block",...c]}function Se(n){let f=[],e=n.data;if(e?.bang===!0)f.push("!");if(e?.optional===!0)f.push("?");return f}function Ee(n,f){let e=0;for(let t=f;t<n.length;t++)if(n[t][0]==="INDENT")e++;else if(n[t][0]==="OUTDENT"){if(e--,e===0)return t}return-1}function fi(n){let f=[],e=[],t=0;for(let i of n){let u=i[0];if(u==="("||u==="["||u==="{"||u==="CALL_START"||u==="INDEX_START"||u==="PARAM_START"||u==="INDENT")t++;if(u===")"||u==="]"||u==="}"||u==="CALL_END"||u==="INDEX_END"||u==="PARAM_END"||u==="OUTDENT")t--;if(u===","&&t===0){if(e.length)f.push(e);e=[];continue}e.push(i)}if(e.length)f.push(e);return f}function de(n){let f=n[0],e=n[1];if(f==="NUMBER")return Number(e);if(f==="STRING")return JSON.parse(e);if(f==="BOOL")return e==="true";if(f==="NULL")return null;if(f==="UNDEFINED")return;return e}function ll(n,f,e){let t=[n,f];if(t.pre=0,t.data=null,t.loc=e?.loc??{r:0,c:0,n:0},t.spaced=!1,t.newLine=!1,t.generated=!0,e)t.origin=e;return t}function B(n,f){let e=n?.loc||{r:0,c:0},t=Error(f);return t.name="SchemaSyntaxError",t.loc=e,t.line=e.r,t.column=e.c,t.phase="schema",t.code="E_SCHEMA",t}function Fe(n={}){if(!il)throw Error("schema runtime provider not registered. Side-effect-import either './schema/loader-server.js' (CLI / server / tests) or './schema/loader-browser.js' (browser bundle) before calling any compileToJS that emits schemas.");return il(n)}function lf({mode:n="browser"}={}){let f;switch(n){case"validate":f=nl;break;case"browser":f=nl+`
1863
- `+Pl;break;case"server":case"migration":throw Error("schema runtime mode '"+n+"' is not available in the browser. ORM and DDL features require side-effect-importing loader-server.js.");default:throw Error(`unknown schema runtime mode: ${n}`)}return(Xl+f+bl).trimStart()}jl(lf);var ze=lf({mode:"browser"});if(typeof globalThis<"u"&&!globalThis.__ripSchema)try{(0,eval)(ze)}catch{}class Hn extends Error{constructor(n,{code:f=null,file:e=null,line:t=null,column:i=null,length:u=1,source:l=null,suggestion:a=null,phase:c=null}={}){super(n);this.name="RipError",this.code=f,this.file=e,this.line=t,this.column=i,this.length=u,this.source=l,this.suggestion=a,this.phase=c}static fromLexer(n,f,e){let t=n.location||{};return new Hn(n.message,{code:"E_SYNTAX",file:e,line:t.first_line??null,column:t.first_column??null,length:t.last_column!=null&&t.first_column!=null?t.last_column-t.first_column+1:1,source:f,phase:"lexer"})}static fromParser(n,f,e){let t=n.hash||{},i=t.loc||{},u=t.line??i.r??null,l=i.first_column??i.c??null,a=null;if(t.expected?.length){if(a=`Expected ${t.expected.slice(0,5).map((y)=>y.replace(/'/g,"")).join(", ")}`,t.expected.length>5)a+=`, ... (${t.expected.length} total)`}let c=t.token||"token",r=new Set((t.expected||[]).map((w)=>w.replace(/'/g,""))),h=new Set(["TERMINATOR",",",")","]","OUTDENT","CALL_END","INDEX_END","PARAM_END","EOF"]);if(r.has(":")&&(r.has("POST_IF")||r.has("POST_UNLESS")||r.has("FOR")||r.has("WHILE"))&&h.has(c))a="Binary `x ? y` was removed — use `x ?? y` for nullish coalescing, or a full ternary `x ? y : z`";let o=t.text?` near '${t.text}'`:"",s=`Unexpected ${c}${o}`;return new Hn(s,{code:"E_PARSE",file:e,line:u,column:l,length:t.text?.length||1,source:f,suggestion:a,phase:"parser"})}static fromSExpr(n,f,e,t,i){let u=f?.loc||{};return new Hn(n,{code:"E_CODEGEN",file:t,line:u.r??null,column:u.c??null,length:u.n??1,source:e,suggestion:i,phase:"codegen"})}get locationString(){let n=[];if(this.file)n.push(this.file);if(this.line!=null)n.push(`${this.line+1}:${(this.column??0)+1}`);return n.join(":")}format({color:n=!0}={}){let f=n?{red:"\x1B[31m",yellow:"\x1B[33m",cyan:"\x1B[36m",dim:"\x1B[2m",bold:"\x1B[1m",reset:"\x1B[0m"}:{red:"",yellow:"",cyan:"",dim:"",bold:"",reset:""},e=[],t=this.locationString,i=t?`${f.cyan}${t}${f.reset} `:"";e.push(`${i}${f.red}${f.bold}error${f.reset}${f.bold}: ${this.message}${f.reset}`);let u=this._snippet();if(u){e.push("");for(let l of u)if(l.type==="source")e.push(`${f.dim}${l.gutter}${f.reset}${l.text}`);else if(l.type==="caret")e.push(`${f.dim}${l.gutter}${f.reset}${f.red}${f.bold}${l.text}${f.reset}`)}if(this.suggestion)e.push(""),e.push(`${f.yellow}hint${f.reset}: ${this.suggestion}`);return e.join(`
1861
+ Expecting ${u.join(", ")}, got '${this.tokenNames[S]||S}'`;else return`Parse error on line ${K+1}: Unexpected ${S===f?"end of input":`'${this.tokenNames[S]||S}'`}`,this.parseError(i,{text:r.match,token:this.tokenNames[S]||S,line:r.line,loc:E,expected:u})})(),Error(i)}if(t>0)if(q.push(S,t),Q.push(r.text),o.push(r.loc),S=null,!y){if([d,Z,K,E]=[r.len,r.text,r.line,r.loc],U>0)U--}else[S,y]=[y,null];else if(t<0){if(a=this.ruleTable[-t*2+1],m.$=Q[Q.length-a],h=o[o.length-(a||1)],l=a?o[o.length-1]:h,s=l!=null&&l.r===h.r&&h.c!=null&&l.c!=null?l.c+(l.n||0)-h.c:h.n||0,m._$={r:h.r,c:h.c,n:s},R=this.ruleActions.call(m,-t,Q,o,D.ctx),R!=null)m.$=R;if(Array.isArray(m.$))m.$.loc=m._$;if(a)q.length-=a*2,Q.length-=a,o.length-=a;q.push(this.ruleTable[-t*2]),Q.push(m.$),o.push(m._$),w=A[q[q.length-2]][q[q.length-1]],q.push(w)}else if(t===0)return Q[Q.length-1]}},trace(){},ctx:{}},Ku=(n={})=>{let f=Object.create(Hu);return Object.defineProperty(f,"ctx",{value:{...n},enumerable:!1,writable:!0,configurable:!0}),f},Nn=Ku();var ia=Nn.parse.bind(Nn);var il=null;function jl(n){il=n}var Qu=new Set(["input","shape","model","mixin","enum","union"]),Ll="input",Bl=new Set(["integer","number","boolean","date","datetime"]),Wu={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"},Ju=new Set(["beforeValidation","afterValidation","beforeSave","afterSave","beforeCreate","afterCreate","beforeUpdate","afterUpdate","beforeDestroy","afterDestroy","afterCommit","afterRollback"]),Yu=new Set(["TERMINATOR","INDENT","OUTDENT","=","+=","-=","*=","/=","%=","**=","//=","%%=","?=","??=","&&=","||=","&=","|=","^=","<<=",">>=",">>>=","READONLY_ASSIGN","REACTIVE_ASSIGN","COMPUTED_ASSIGN","RETURN","THROW","YIELD","AWAIT","EXPORT",",","(","[","{","CALL_START","PARAM_START","INDEX_START","->","=>",":","WHEN","THEN","IF","UNLESS","UNARY","!","NOT"]);function Yi(n,f){if(n)n.prototype.rewriteSchema=function(){Zu(this)},li._LexerCtor=n;if(f)f.prototype.emitSchema=function(e,t,i){return $u(this,e,t,i)},f.prototype.getSchemaRuntime=function(){let e=this.options?.schemaMode||"migration";return Fe({mode:e})}}var Il=new Set(["defaultMaxString"]);function Zu(n){let f=n.tokens,e={defaultMaxString:null},t=0,i=0;while(i<f.length){let u=f[i];if(u[0]==="INDENT")t++;else if(u[0]==="OUTDENT")t--;let l=Gu(f,i,e,t);if(l>0){f.splice(i,l);continue}if(Nu(f,i))Xu(n,f,i,e);i++}}function Gu(n,f,e,t){let i=n[f];if(!i||i[0]!=="IDENTIFIER"||i[1]!=="schema")return 0;if(n[f+1]?.[0]!==".")return 0;let u=n[f+2];if(!u||u[0]!=="PROPERTY")return 0;if(n[f+3]?.[0]!=="=")return 0;let l=n[f-1];if(l){let o=l[0];if(o!=="TERMINATOR"&&o!=="INDENT"&&o!=="OUTDENT")return 0}let a=u[1];if(!Il.has(a))throw I(u,`Unknown schema pragma 'schema.${a}'. Known pragmas: ${[...Il].join(", ")}.`);if(t>0)throw I(u,`Schema pragma 'schema.${a}' must be declared at file top level. It was found inside a nested block (function / class / if / loop body), where it would leak into later top-level schemas.`);let c=n[f+4];if(!c||c[0]!=="NUMBER")throw I(c||u,`Pragma 'schema.${a}' requires a number literal. Example: schema.${a} = 100.`);let r=Number(c[1]);if(!Number.isFinite(r)||r<0||!Number.isInteger(r))throw I(c,`Pragma 'schema.${a}' expects a non-negative integer (got ${c[1]}). Use 0 to disable.`);e[a]=r===0?null:r;let h=f+5;if(n[h]?.[0]==="TERMINATOR")h++;return h-f}function Nu(n,f){let e=n[f];if(!e||e[0]!=="IDENTIFIER"||e[1]!=="schema")return!1;let t=n[f-1];if(t){let u=t[0];if(u==="."||u==="?.")return!1;if(t[0]==="IDENTIFIER"||t[0]==="PROPERTY"||t[0]===")"||t[0]==="]"||t[0]==="}"||t[0]==="STRING"||t[0]==="NUMBER"){if(!Yu.has(u))return!1}}let i=f+1;if(n[i]?.[0]==="SYMBOL"){if(i++,n[i]?.[0]===","&&(n[i+1]?.[0]==="PROPERTY"||n[i+1]?.[0]==="IDENTIFIER")&&n[i+1]?.[1]==="on"){i+=2;while(i<n.length&&n[i][0]!=="TERMINATOR"&&n[i][0]!=="INDENT")i++}}if(n[i]?.[0]==="TERMINATOR"){if(n[i][1]===";")return!0;i++}return n[i]?.[0]==="INDENT"}function Xu(n,f,e,t){let i=f[e],u=null,l=Ll,a=e+1;if(f[a]?.[0]==="SYMBOL"){u=f[a];let _=u[1];if(!Qu.has(_))throw I(u,`Unknown schema kind :${_}. Expected one of :input, :shape, :model, :mixin, :enum, :union.`);l=_,a++}let c=null;if(f[a]?.[0]===","&&(f[a+1]?.[0]==="PROPERTY"||f[a+1]?.[0]==="IDENTIFIER")&&f[a+1]?.[1]==="on"){if(l!=="model")throw I(f[a+1],`'on:' (per-schema adapter) applies to :model only — :${l} never queries a database.`);let _=a+2;if(f[_]?.[0]===":")_++;let A=_;while(_<f.length&&f[_][0]!=="TERMINATOR"&&f[_][0]!=="INDENT")_++;if(c=f.slice(A,_),!c.length)throw I(f[a+1],"'on:' requires an adapter expression — 'schema :model, on: analytics'.");a=_}let r,h;if(f[a]?.[0]==="TERMINATOR"&&f[a][1]===";"){let _=a+1,A=_,y=0,R=f[_]?.loc?.r??null;while(A<f.length){let U=f[A],m=U[0];if(y===0&&R!=null&&U.loc&&U.loc.r>R)break;if(m==="("||m==="["||m==="{"||m==="CALL_START"||m==="INDEX_START"||m==="PARAM_START")y++;else if(m===")"||m==="]"||m==="}"||m==="CALL_END"||m==="INDEX_END"||m==="PARAM_END"){if(y--,y<0)break}else if(y===0&&m==="TERMINATOR"&&U[1]!==";")break;else if(y===0&&(m==="INDENT"||m==="OUTDENT"))break;else if(y===0&&m==="->")throw I(U,"Inline schema body does not support '->' (method/hook/transform). Use the indented form.");else if(y===0&&m==="EFFECT")throw I(U,"Inline schema body does not support '~>' (computed getter). Use the indented form.");else if(y===0&&m==="UNARY_MATH"&&U[1]==="!"&&f[A+1]?.[0]==="COMPARE"&&f[A+1][1]===">")throw I(U,"Inline schema body does not support '!>' (eager derived). Use the indented form.");A++}while(A>_&&f[A-1][0]==="TERMINATOR")A--;if(r=f.slice(_,A),h=A,!r.length)throw I(i,`Inline schema body is empty. Either add '; field; …' entries after 'schema${u?" :"+l:""};' or switch to the indented form.`)}else{if(f[a]?.[0]==="TERMINATOR")a++;if(f[a]?.[0]!=="INDENT")throw I(i,`Expected indented schema body after 'schema${u?" :"+l:""}'.`);let _=a,A=Ee(f,_);if(A<0)throw I(f[_],"Unterminated schema body.");r=f.slice(_+1,A),h=A+1}let o=bu(l,r,{schemaLoc:i.loc,kindLoc:u?.loc??null,kind:l,defaultMaxString:t?.defaultMaxString??null});if(c)o.adapterTokens=c;let s=ll("SCHEMA","schema",i),w=ll("SCHEMA_BODY",l,i);w.data={descriptor:o},f.splice(e,h-e,s,w)}function bu(n,f,e){let t=[],i=Pu(f);if(n===Ll&&!e.kindLoc&&i.length>0&&i[0][0]?.[0]==="SYMBOL")n="enum",e.kind="enum";if(n==="enum")for(let u of i)xu(u,t);else if(n==="union"){for(let a of i)pu(a,t);let u=t.filter((a)=>a.tag==="directive"&&a.name==="on").length,l=t.filter((a)=>a.tag==="union-member");if(u!==1)throw I({loc:e.schemaLoc},u===0?":union requires an '@on :field' discriminator — untagged unions are not supported.":`:union takes exactly one '@on :field' discriminator (got ${u}).`);if(l.length<2)throw I({loc:e.schemaLoc},`:union needs at least two constituent schemas (got ${l.length}).`)}else{for(let u of i)Bu(n,u,t,e);if(n==="mixin")for(let u of t){if(u.tag==="method"||u.tag==="computed"||u.tag==="hook")throw I({loc:u.headerLoc||u.loc},`:mixin schemas are fields-only. '${u.name}' is a ${u.tag}; move it to a :shape or :model.`);if(u.tag==="ensure")throw I({loc:u.headerLoc||u.loc},":mixin schemas don't accept @ensure refinements. Move the invariant to a :shape or :model that composes this mixin.");if(u.tag==="scope"||u.tag==="defaultScope")throw I({loc:u.headerLoc||u.loc},`:mixin schemas don't accept query scopes. '@${u.tag==="scope"?"scope":"defaultScope"}' is :model-only.`);if(u.tag==="directive"&&u.name!=="mixin")throw I({loc:u.loc},`:mixin schemas only accept '@mixin Name' directives. '@${u.name}' is not allowed.`)}else if(n==="input")for(let u of t){if(u.tag==="method"||u.tag==="computed"||u.tag==="hook")throw I({loc:u.headerLoc||u.loc},`:input schemas are fields-only. '${u.name}' is a ${u.tag}; use :shape or :model if you need behavior.`);if(u.tag==="scope"||u.tag==="defaultScope")throw I({loc:u.headerLoc||u.loc},`:input schemas don't accept query scopes. '@${u.tag==="scope"?"scope":"defaultScope"}' is :model-only.`);if(u.tag==="directive"&&u.name!=="mixin")throw I({loc:u.loc},`:input schemas only accept '@mixin Name' and '@ensure'. '@${u.name}' is not allowed.`)}else if(n==="shape")for(let u of t){if(u.tag==="hook")throw I({loc:u.headerLoc||u.loc},`:shape schemas don't have lifecycle hooks. '${u.name}' runs only on :model; move it or remove it.`);if(u.tag==="scope"||u.tag==="defaultScope")throw I({loc:u.headerLoc||u.loc},`:shape schemas don't accept query scopes. '@${u.tag==="scope"?"scope":"defaultScope"}' is :model-only.`);if(u.tag==="directive"&&u.name!=="mixin")throw I({loc:u.loc},`:shape schemas only accept '@mixin Name'. '@${u.name}' is :model-only.`)}}return{kind:n,loc:e.schemaLoc,kindLoc:e.kindLoc,entries:t}}function Pu(n){let f=[],e=[],t=0;for(let i of n){let u=i[0];if(u==="INDENT")t++;if(u==="OUTDENT")t--;if(u==="TERMINATOR"&&t===0){if(e.length)f.push(e),e=[];continue}e.push(i)}if(e.length)f.push(e);return f}var Ou=new Set(["string","email","url","phone","zip"]);function Bu(n,f,e,t){let i=f[0];if(!i)return;if(i[0]==="@"){let E=f[1];if(!E||E[0]!=="IDENTIFIER"&&E[0]!=="PROPERTY")throw I(i,"Expected directive name after '@'.");let Z=f.slice(2),Q=E[1];if(Q==="ensure"){let C=E.data?.bang===!0,L=Tu(Z,i);for(let X of L)e.push({tag:"ensure",name:"ensure",message:X.message,field:X.field||null,async:C,paramTokens:X.paramTokens,bodyTokens:X.bodyTokens,loc:X.loc,headerLoc:i.loc});return}if(Q==="scope"){let C=vu(Z,i);e.push({tag:"scope",name:C.name,paramTokens:C.paramTokens,bodyTokens:C.bodyTokens,loc:i.loc,headerLoc:i.loc});return}if(Q==="defaultScope"){let C=pl(Zi(Z),i,"@defaultScope");if(C.paramTokens.length)throw I(i,"@defaultScope takes no parameters — write '@defaultScope -> @where(...)'.");e.push({tag:"defaultScope",name:"defaultScope",paramTokens:[],bodyTokens:C.bodyTokens,loc:i.loc,headerLoc:i.loc});return}let W=null;if(Q==="belongs_to"||Q==="has_many"||Q==="has_one"||Q==="one"||Q==="many"||Q==="mixin"){let C=Z[0];if(C&&(C[0]==="IDENTIFIER"||C[0]==="PROPERTY")){let L=C.data?.optional===!0;if(!L&&Z[1]?.[0]==="?")L=!0;W=[{target:C[1],optional:L}]}}e.push({tag:"directive",name:Q,args:W,argTokens:Z,loc:i.loc});return}if(i[0]==="PROPERTY"){Cu(n,i,f,e);return}if(i[0]!=="IDENTIFIER")throw I(i,`Unexpected ${i[0]} at schema top level. Allowed: fields ('name! type'), directives ('@name'), methods ('name: -> body'), or computed getters ('name: ~> body').`);let u=i[1];if(f[1]?.[0]===":")throw I(f[1],"Schema fields use 'name type' (space, no colon). For methods or computed use 'name: -> body' or 'name: ~> body'.");let l=Se(i),a=1;while(a<f.length){let E=f[a];if(!(f[a-1]&&!f[a-1].spaced))break;if(E[0]==="#")throw I(E,`The '#' unique modifier was removed. Mark uniqueness with '@unique': inline as '${u}! <type> @unique', or as a directive '@unique :${u}' (composite: '@unique [:a, :b]').`);if(E[0]==="?"||E[0]==="!"){l.push(E[0]),a++;continue}break}let c=f[a];if(c?.[0]===":")throw I(c,"Schema fields use 'name type' (space, no colon). Got 'name:'. For methods/computed use 'name: -> body' or 'name: ~> body'.");let r="string",h=null,o=!1,s=null,w=!1;if(c?.[0]==="UNARY_MATH"&&c[1]==="~"){let E=f[a+1];if(E?.[0]==="SYMBOL"){o=!0,s=E[1];let Z=Wu[s];if(Z&&typeof Z==="object")r=Z.type,w=!0;else r=Z||"any";a+=2,c=E}else if(E?.[0]==="IDENTIFIER"){if(!Bl.has(E[1]))throw I(E,`'~${E[1]}' is not coercible. Built-in coercion is defined for: ${[...Bl].join(", ")}. `+`Named coercers use a symbol — '~:${E[1]}' — and resolve through the registry `+`(@rip-lang/validate's vocabulary, or schema.registerCoercer). For anything else, write an explicit transform: '${u}, -> …'.`);o=!0,r=E[1],a+=2,c=E}else throw I(c,"'~' in the type slot marks coercion and needs a type name ('~integer', '~date', …) "+"or a registered coercer symbol ('~:ssn', '~:money', …).")}else if(c?.[0]==="IDENTIFIER")r=c[1],a++;else if(c?.[0]==="STRING"){h=[JSON.parse(c[1])],a++;while(f[a]?.[0]==="|"&&f[a+1]?.[0]==="STRING")a++,h.push(JSON.parse(f[a][1])),a++;if(f[a]?.[0]==="|"){let E=f[a+1],Z=E?.[0]??"<end>";throw I(E||f[a],`Literal unions contain string literals only. '${Z}' is not allowed as a union member. Use the '?' modifier for nullability.`)}r="literal-union"}let _=!1,A=f[a]?.[0],y=f[a+1]?.[0];if((A==="["||A==="INDEX_START")&&(y==="]"||y==="INDEX_END"))_=!0,a+=2;if(o&&_)throw I(c,`Coercion ('~${r}') does not apply to array types. Coerce per-element with a transform instead.`);if(w)_=!0;let R=f.slice(a);if((c?.[0]==="IDENTIFIER"||c?.[0]==="STRING")&&R[0]?.[0]==="->")throw I(R[0],`Field '${u}' has a transform after the type; a comma is required before '->'. Write '${u} ${r}, -> …'.`);let m=null,D=null,M=null,q=null,S=null,d=!1;if(R.length>0){if(R[0]?.[0]===",")R=R.slice(1);if(R.length>=2&&R[0][0]==="INDENT"){let Z=0,Q=-1;for(let W=0;W<R.length;W++)if(R[W][0]==="INDENT")Z++;else if(R[W][0]==="OUTDENT"){if(Z--,Z===0){Q=W;break}}if(Q===R.length-1)R=R.slice(1,-1)}let E=fi(R);for(let Z=0;Z<E.length;Z++){let Q=E[Z];while(Q.length&&(Q[0][0]==="INDENT"||Q[0][0]==="TERMINATOR"))Q=Q.slice(1);if(!Q.length)continue;if(Q[0][0]!=="->"){let C=Iu(Q);if(C>0)throw I(Q[C],`Field '${u}' has a transform after other content; a comma is required before '->'. Write 'name! <constraints>, -> <body>'.`)}let W=Q[0];if(W[0]!=="->"){while(Q.length&&(Q[Q.length-1][0]==="OUTDENT"||Q[Q.length-1][0]==="TERMINATOR"))Q=Q.slice(0,-1);if(!Q.length)continue;W=Q[0]}if(W[0]==="["||W[0]==="INDEX_START"){if(m)throw I(W,`Field '${u}' has more than one '[…]' constraint. At most one default / regex bracket per field.`);m=Q}else if(W[0]==="{"){if(D)throw I(W,`Field '${u}' has more than one '{…}' attrs bracket.`);D=Q}else if(gu(Q)){if(M)throw I(W,`Field '${u}' has more than one range constraint. Only one 'min..max' per field.`);M=Q}else if(W[0]==="REGEX"&&Q.length===1){if(q)throw I(W,`Field '${u}' has more than one regex constraint.`);q=W}else if(W[0]==="->"){if(Z!==E.length-1)throw I(W,`Transform '-> …' must be the last element on the field line for '${u}'.`);S=Q.slice(1)}else if(W[0]==="@"){let C=Q[1],L=C&&(C[0]==="IDENTIFIER"||C[0]==="PROPERTY")?C[1]:null;if(Q.length===2&&L==="unique"){if(d)throw I(W,`Field '${u}' has more than one '@unique'.`);d=!0}else throw I(W,`Unknown inline attribute '@${L??""}' on field '${u}'. The only inline attribute is '@unique'.`)}else throw I(W,`Unexpected trailer for field '${u}'. Expected '[…]' default, '{…}' attrs, '/regex/', 'min..max' range, '-> transform', or '@unique'.`)}}if(_&&h)throw I(c,"Array-of-literal-union is not supported. Use 'string[]' if you need an array of strings.");let K=null;if(t?.defaultMaxString!=null&&!q&&!h&&Ou.has(r))K=t.defaultMaxString;if(o&&S)throw I(i,`Field '${u}' has both '~${r}' coercion and a '->' transform. `+"A transform replaces coercion — coerce inside it instead.");e.push({tag:"field",name:u,modifiers:l,unique:d,typeName:r,array:_,literals:h,coerce:o,coercer:s,constraintTokens:m,attrsTokens:D,rangeTokens:M,regexToken:q,transformTokens:S,defaultMax:K,loc:i.loc})}function Iu(n){let f=0;for(let e=0;e<n.length;e++){let t=n[e][0];if(t==="("||t==="["||t==="{"||t==="CALL_START"||t==="INDEX_START"||t==="PARAM_START")f++;else if(t===")"||t==="]"||t==="}"||t==="CALL_END"||t==="INDEX_END"||t==="PARAM_END")f--;else if(f===0&&t==="->")return e}return-1}function gu(n){let f=0,e=!1;if(n[f]?.[0]==="-"&&n[f+1]?.[0]==="NUMBER")f+=2,e=!0;else if(n[f]?.[0]==="NUMBER")f++,e=!0;if(n[f]?.[0]!=="..")return!1;f++;let t=!1;if(n[f]?.[0]==="-"&&n[f+1]?.[0]==="NUMBER")f+=2,t=!0;else if(n[f]?.[0]==="NUMBER")f++,t=!0;return(e||t)&&f===n.length}function Cu(n,f,e,t){let i=f[1],u=e[1];if(!u||u[0]!==":")throw I(f,`Expected ':' after '${i}' before arrow.`);let l=2,a=[],c=!1;if(e[l]&&(e[l][0]==="PARAM_START"||e[l][0]==="(")){c=!0;let R=1;l++;while(l<e.length&&R>0){let U=e[l][0];if(U==="("||U==="PARAM_START")R++;if(U===")"||U==="PARAM_END"){if(R--,R===0){l++;break}}a.push(e[l]),l++}if(R!==0)throw I(e[2],`'${i}': unclosed '(' in parameters.`)}let r=e[l],h=e[l+1],o,s,w;if(r&&r[0]==="->")o="->",s=r.loc,w=l+1;else if(r&&r[0]==="EFFECT")o="~>",s=r.loc,w=l+1;else if(r&&r[0]==="UNARY_MATH"&&r[1]==="!"&&h&&h[0]==="COMPARE"&&h[1]===">"&&!r.spaced)o="!>",s=r.loc,w=l+2;else throw I(u,`Schema top-level '${i}:' must be followed by '->' (method/hook), '~>' (computed getter), or '!>' (eager derived).`);let _=e.slice(w),A=Ju.has(i),y;if(o==="~>")y="computed";else if(o==="!>")y="derived";else if(n==="model"&&A)y="hook";else y="method";if(c&&y!=="method")throw I(u,`'${i}': ${y==="hook"?"lifecycle hooks":y==="computed"?"computed getters (~>)":"eager-derived fields (!>)"} take no parameters — only methods do.`);t.push({tag:y,name:i,arrow:o,paramTokens:a,bodyTokens:_,headerLoc:f.loc,arrowLoc:s})}function Zi(n){if(n[0]?.[0]==="CALL_START"&&n[n.length-1]?.[0]==="CALL_END")return n.slice(1,-1);return n}function vu(n,f){let e=Zi(n);if(!e.length)throw I(f,"@scope requires ':name, -> body' (or ':name, (args) -> body').");let t=e[0];if(t[0]!=="SYMBOL")throw I(t,"@scope name must be a :symbol — '@scope :active, -> @where(active: true)'.");let i=t[1];if(!/^[a-z][a-zA-Z0-9]*$/.test(i))throw I(t,`@scope name ':${i}' must be a lowercase-first alphanumeric identifier.`);let u=e.slice(1);if(u[0]?.[0]===",")u=u.slice(1);if(!u.length)throw I(t,`@scope :${i} is missing its body — '@scope :${i}, -> @where(...)'.`);let l=pl(u,t,`@scope :${i}`);return{name:i,paramTokens:l.paramTokens,bodyTokens:l.bodyTokens}}function pl(n,f,e){if(!n.length)throw I(f,`${e}: expected '-> body' or '(args) -> body'.`);let t=[],i=0,u=n[0];if(u[0]==="("||u[0]==="PARAM_START"){let c=1;i=1;while(i<n.length&&c>0){let r=n[i][0];if(r==="("||r==="PARAM_START")c++;if(r===")"||r==="PARAM_END"){if(c--,c===0){i++;break}}t.push(n[i]),i++}if(c!==0)throw I(u,`${e}: unclosed '(' in parameters.`)}let l=n[i];if(!l||l[0]!=="->")throw I(l||f,`${e}: expected '->' ${t.length?"after parameters":"to start the body"}.`);let a=n.slice(i+1);if(!a.length)throw I(l,`${e}: function body is empty.`);return{paramTokens:t,bodyTokens:a}}function Tu(n,f){let e=n;if(!e.length)throw I(f,"@ensure requires 'message, (x) -> body' or '[...]' array of pairs.");if(e[0]?.[0]==="CALL_START"&&e[e.length-1]?.[0]==="CALL_END")e=e.slice(1,-1);if(!e.length)throw I(f,"@ensure requires 'message, (x) -> body' or '[...]' array of pairs.");let t=e[0];if(t[0]==="["||t[0]==="INDEX_START"){let u=Vu(e,t),l=ju(u);if(l.length===0)throw I(t,"@ensure [...] must contain at least one 'message, fn' pair.");return gl(l,t)}let i=fi(e);if(i.length<2)throw I(t,"@ensure inline form must be 'message, (x) -> body'. Did you forget the comma?");if(i.length>3||i.length===3&&!xl(i[1]))throw I(t,`@ensure inline form takes 'message[, :field], fn' (got ${i.length} comma-separated parts). Use '@ensure [...]' for multiple refinements.`);return gl(i,t)}function xl(n){return n&&n.length===1&&n[0][0]==="SYMBOL"}function gl(n,f){let e=[],t=0;while(t<n.length){let i=n[t++],u=null;if(t<n.length&&xl(n[t]))u=n[t++];if(t>=n.length)throw I(i?.[0]||f,"@ensure: missing function after message"+(u?" and :field":"")+".");e.push(Lu(i,u,n[t++],f))}return e}function Vu(n,f){let e=0,t=[];for(let i=0;i<n.length;i++){let u=n[i],l=u[0];if(l==="["||l==="INDEX_START"){if(e++,e===1)continue}if(l==="]"||l==="INDEX_END"){if(e--,e===0){if(i<n.length-1)throw I(n[i+1],"@ensure [...] must be the only argument — extra tokens after ']'.");if(t.length>=2&&t[0][0]==="INDENT"&&t[t.length-1][0]==="OUTDENT"){let a=0,c=!1;for(let r=0;r<t.length;r++)if(t[r][0]==="INDENT")a++;else if(t[r][0]==="OUTDENT"){if(a--,a===0&&r===t.length-1){c=!0;break}if(a===0)break}if(c)t=t.slice(1,-1)}return t}}if(e>=1)t.push(u)}throw I(f,"@ensure: unclosed '['.")}function ju(n){let f=[],e=[],t=0;for(let i of n){let u=i[0];if(u==="("||u==="["||u==="{"||u==="CALL_START"||u==="INDEX_START"||u==="PARAM_START"||u==="INDENT")t++;if(u===")"||u==="]"||u==="}"||u==="CALL_END"||u==="INDEX_END"||u==="PARAM_END"||u==="OUTDENT")t--;if(t===0&&(u===","||u==="TERMINATOR")){if(e.length)f.push(e),e=[];continue}e.push(i)}if(e.length)f.push(e);return f}function Lu(n,f,e,t){if(!n||!n.length)throw I(t,"@ensure: missing message (expected a string literal).");if(n.length!==1||n[0][0]!=="STRING")throw I(n[0]||t,"@ensure: each refinement's first element must be a string literal message.");let i=n[0],u=JSON.parse(i[1]),l=f?f[0][1]:null;if(!e||!e.length)throw I(i,"@ensure: missing function after message.");let a=e[0];if(a[0]!=="("&&a[0]!=="PARAM_START")throw I(a,"@ensure: expected '(args) -> body' after the message. Predicates must declare their parameter explicitly — '(u) -> ...'.");let c=1,r=1,h=[];while(r<e.length&&c>0){let w=e[r],_=w[0];if(_==="("||_==="PARAM_START")c++;if(_===")"||_==="PARAM_END"){if(c--,c===0){r++;break}}h.push(w),r++}if(c!==0)throw I(a,"@ensure: unclosed '(' in predicate parameters.");let o=e[r];if(!o||o[0]!=="->")throw I(o||e[r-1]||i,"@ensure: expected '->' after predicate parameters.");let s=e.slice(r+1);if(!s.length)throw I(o,"@ensure: predicate function body is empty.");return{message:u,field:l,paramTokens:h,bodyTokens:s,loc:i.loc}}function $l(n,f){if(!n.length)return[];return fi(n).map((t)=>{let i=t.filter((u)=>u[0]!=="TERMINATOR");if(i.length!==1||i[0][0]!=="IDENTIFIER")throw I(i[0]||f,"@ensure: predicate parameters must be plain identifiers.");return i[0][1]})}function pu(n,f){let e=n[0];if(!e)return;if(e[0]==="@"){let t=n[1];if(!t||t[1]!=="on")throw I(t||e,`:union bodies accept only '@on :field' and constituent schema names. '@${t?.[1]??""}' is not allowed.`);let i=Zi(n.slice(2)),u=i[0];if(!u||u[0]!=="SYMBOL")throw I(u||t,"@on requires the discriminator field as a :symbol — '@on :kind'.");if(i.length>1)throw I(i[1],"@on takes exactly one :field symbol.");f.push({tag:"directive",name:"on",args:[{field:u[1]}],argTokens:n.slice(2),loc:e.loc});return}if(e[0]==="IDENTIFIER"&&n.length===1){f.push({tag:"union-member",name:e[1],loc:e.loc});return}throw I(e,`:union bodies accept only '@on :field' and bare constituent schema names (one per line). Got ${e[0]}${n.length>1?" followed by "+n[1][0]:""}.`)}function xu(n,f){let e=n[0];if(!e)return;if(e[0]==="@"){let u=n[1],l=u&&(u[0]==="IDENTIFIER"||u[0]==="PROPERTY")?u[1]:"directive";throw I(e,`:enum schemas don't accept '@${l}'. Enums hold only :symbol members. Move the invariant to a :shape or :model that uses this enum as a field type.`)}if(e[0]!=="SYMBOL")throw I(e,`Enum member must be a :symbol. Use ':${e[1]??"name"}' for a bare member or ':${e[1]??"name"} value' for a valued one.`);let t=e[1],i=n[1];if(!i){f.push({tag:"enum-member",name:t,value:void 0,loc:e.loc});return}if(i[0]===":")throw I(i,`Enum member ':${t}' — drop the ':' before the value. Use ':${t} value'.`);if(n.length>2)throw I(n[2],`Extra tokens after enum member ':${t}' value.`);f.push({tag:"enum-member",name:t,value:de(i),loc:e.loc})}function $u(n,f,e,t){let i=e[0],u=fl(i);if(!u)throw Error("schema: missing descriptor on SCHEMA_BODY token");n.usesSchemas=!0;let l=n._schemaName||null,a=[`kind: ${JSON.stringify(u.kind)}`];if(l)a.push(`name: ${JSON.stringify(l)}`);else if(n.options.inlineTypes&&(u.kind==="shape"||u.kind==="input")){let c=n._schemaAnon??=[],r=`__AnonSchema${c.length+1}`;a.push(`__anon: ${JSON.stringify(r)}`),c.push({name:r,descriptor:u})}if(a.push(`entries: [${u.entries.map((c)=>re(n,c)).join(", ")}]`),u.adapterTokens){let c=li(u.adapterTokens);if(c)a.push(`adapter: ${n.emit(qe(c),"value")}`)}return`__schema({${a.join(", ")}})`}function fl(n){if(n&&typeof n==="object"){if(n.descriptor)return n.descriptor;if(n.data?.descriptor)return n.data.descriptor}return null}function ku(n){if(!Array.isArray(n))return null;if((n[0]?.valueOf?.()??n[0])!=="schema")return null;return fl(n[1])}var ne=new Set(["pick","omit","partial","required","extend"]);function bn(n){return n&&n.valueOf?n.valueOf():n}function kl(n){return n.entries.some((f)=>f.tag==="directive"&&f.name==="mixin")}function ie(n){return(n.replace(/([a-z0-9])([A-Z])/g,"$1_$2").toLowerCase()+"_id").replace(/_([a-z])/g,(e,t)=>t.toUpperCase())}function le(n){if(kl(n))return null;let f=new Map;for(let l of n.entries)if(l.tag==="field")f.set(l.name,l);if(n.kind!=="model")return f;let e=(l,a,c)=>{if(!f.has(l))f.set(l,{tag:"field",name:l,modifiers:c?["!"]:["?"],typeName:a,array:!1})},t=!1,i=!1,u=[];for(let l of n.entries){if(l.tag!=="directive")continue;if(l.name==="timestamps")t=!0;else if(l.name==="softDelete")i=!0;else if(l.name==="belongs_to"){let a=l.args&&l.args[0]&&l.args[0].target;if(a)u.push({fk:ie(a),required:l.args[0].optional!==!0})}}if(e("id","integer",!0),t)e("createdAt","datetime",!0),e("updatedAt","datetime",!0);if(i)e("deletedAt","datetime",!1);for(let{fk:l,required:a}of u)e(l,"integer",a);return f}function fe(n){if(kl(n))return null;let f=new Map;for(let e of n.entries)if(e.tag==="field")f.set(e.name,e);return f}function Cl(n,f){let e=n.modifiers.filter((i)=>i!==(f==="partial"?"!":"?")),t=f==="partial"?"?":"!";if(!e.includes(t))e=[...e,t];return{...n,modifiers:e}}function ue(n,f,e){switch(f.method){case"pick":{let t=new Map;for(let i of f.keys){if(!n.has(i))return null;t.set(i,n.get(i))}return t}case"omit":{let t=new Set(f.keys),i=new Map;for(let[u,l]of n)if(!t.has(u))i.set(u,l);return i}case"partial":{let t=new Map;for(let[i,u]of n)t.set(i,Cl(u,"partial"));return t}case"required":{let t=new Set(f.keys),i=new Map;for(let[u,l]of n)i.set(u,t.has(u)?Cl(l,"required"):l);return i}case"extend":{let t=f.otherDescriptor||e.get(f.otherName);if(!t)return null;let i=fe(t);if(!i)return null;let u=new Map(n);for(let[l,a]of i){if(u.has(l))return null;u.set(l,a)}return u}default:return null}}function ee(n,f,e){let t=le(n);if(!t)return null;for(let i of f)if(t=ue(t,i,e),!t)return null;return{kind:"shape",entries:[...t.values()]}}function te(n){let f=[],e=n;while(!0){if(!Array.isArray(e))return null;let t=e[0];if(!Array.isArray(t))return null;if(bn(t[0])!==".")return null;let i=bn(t[2]);if(!ne.has(i))return null;let u=e.slice(1),l;if(i==="partial"){if(u.length)return null;l={method:i}}else if(i==="extend"){if(u.length!==1)return null;let r=u[0];if(Array.isArray(r)){let h=ku(r);if(!h||h.kind!=="shape"&&h.kind!=="input")return null;l={method:i,otherDescriptor:h}}else{let h=bn(r);if(typeof h!=="string"||!/^[A-Za-z_$][\w$]*$/.test(h))return null;l={method:i,otherName:h}}}else{let r=ae(u);if(!r||!r.length)return null;l={method:i,keys:r}}f.unshift(l);let a=t[1];if(Array.isArray(a)){e=a;continue}let c=bn(a);if(typeof c!=="string")return null;return{base:c,ops:f}}}function ae(n){let f=[];for(let e of n)if(Array.isArray(e)){if(bn(e[0])!=="array")return null;for(let t=1;t<e.length;t++){let i=vl(e[t]);if(i==null)return null;f.push(i)}}else{let t=vl(e);if(t==null)return null;f.push(t)}return f}function vl(n){let f=bn(n);if(typeof f!=="string"||f.length<2)return null;let e=f[0];if(e!=='"'&&e!=="'"||f[f.length-1]!==e)return null;let t=f.slice(1,-1);if(/[\\#]/.test(t))return null;return t}function nf(n){if(!Array.isArray(n))return;let f=bn(n[0]),e=f==="program"||f==="block"?n.slice(1):[n],t=new Map;for(let i of e){if(!Array.isArray(i))continue;let u=i;if(bn(i[0])==="export"&&Array.isArray(i[1]))u=i[1];if(bn(u[0])!=="="||!Array.isArray(u[2]))continue;let l=bn(u[1]);if(typeof l!=="string")continue;if(bn(u[2][0])==="schema"){let o=fl(u[2][1]);if(o)t.set(l,o);continue}let a=te(u[2]);if(!a)continue;let c=t.get(a.base);if(!c)continue;let r=ee(c,a.ops,t);if(!r)continue;let h=new String("shape");h.descriptor=r,h.data={descriptor:r},u[2]=["schema",h],t.set(l,r)}}function re(n,f){switch(f.tag){case"field":{let e=['tag: "field"',`name: ${JSON.stringify(f.name)}`,`modifiers: ${JSON.stringify(f.modifiers)}`,`typeName: ${JSON.stringify(f.typeName)}`,`array: ${f.array?"true":"false"}`];if(f.unique)e.push("unique: true");if(f.literals)e.push(`literals: ${JSON.stringify(f.literals)}`);if(f.coerce){if(e.push("coerce: true"),f.coercer)e.push(`coercer: ${JSON.stringify(f.coercer)}`)}let t=f.rangeTokens?ye(f.rangeTokens,f):null,i=f.constraintTokens?_e(f.constraintTokens,f):null,u=f.regexToken?me(f.regexToken):null,l=Ae(t,i,u,f);if(l)e.push(`constraints: ${l}`);if(f.attrsTokens){let a=De(f.attrsTokens,f);if(a)e.push(`attrs: ${a}`)}if(f.transformTokens)e.push(`transform: ${se(n,f.transformTokens)}`);return`{${e.join(", ")}}`}case"directive":{let e=['tag: "directive"',`name: ${JSON.stringify(f.name)}`],t=Me(f.name,f.argTokens||[]);if(t)e.push(`args: ${t}`);return`{${e.join(", ")}}`}case"ensure":{let e=we(n,f),t=['tag: "ensure"',`message: ${JSON.stringify(f.message)}`,`fn: ${e}`];if(f.field)t.push(`field: ${JSON.stringify(f.field)}`);if(f.async)t.push("async: true");return`{${t.join(", ")}}`}case"scope":case"defaultScope":{let e=oe(n,f);return`{${[`tag: ${JSON.stringify(f.tag)}`,`name: ${JSON.stringify(f.name)}`,`fn: ${e}`].join(", ")}}`}case"computed":case"method":case"hook":case"derived":{let e=he(n,f);return`{${[`tag: ${JSON.stringify(f.tag)}`,`name: ${JSON.stringify(f.name)}`,`fn: ${e}`].join(", ")}}`}case"enum-member":{let e=['tag: "enum-member"',`name: ${JSON.stringify(f.name)}`];if(f.value!==void 0)e.push(`value: ${JSON.stringify(f.value)}`);return`{${e.join(", ")}}`}case"union-member":return`{tag: "union-member", name: ${JSON.stringify(f.name)}}`;default:return'{tag: "unknown"}'}}function ce(n,f){if(!f.paramTokens||!f.paramTokens.length)return[];return fi(f.paramTokens).map((t)=>{let i=t.filter((l)=>l[0]!=="TERMINATOR"&&l[0]!=="INDENT"&&l[0]!=="OUTDENT");if(i.length!==1||i[0][0]!=="IDENTIFIER")throw I(i[0]||{loc:f.headerLoc},`'${f.name}': method parameters must be plain identifiers (with optional ':: Type' annotations).`);let u=new String(i[0][1]);if(n.options.inlineTypes)u.type=i[0].data?.type||"any";return u})}function he(n,f){let e=li(f.bodyTokens),t=ce(n,f);if(!e)return"(function() {})";let i=[];if(n.options.inlineTypes&&n._schemaName){let c=new String("this");c.type=n._schemaName,i.push(c)}i.push(...t);let u=["->",i,e],l=n.emit(u,"value"),a=f.tag==="computed"||f.tag==="derived"||f.tag==="method";if(n.options.inlineTypes&&n._schemaName&&a){if(!n._schemaBehavior)n._schemaBehavior=new Map;let c=n._schemaBehavior.get(n._schemaName);if(!c)c=[],n._schemaBehavior.set(n._schemaName,c);c.push({field:f.name,tag:f.tag,fnExpr:l})}return l}function se(n,f){let e=li(f);if(!e)return"(function() { return undefined; })";let t=new String("it");t.type="any";let i=["->",[t],e];return n.emit(i,"value")}function oe(n,f){let e=li(f.bodyTokens);if(!e)return"(function() { return this; })";let i=["->",f.paramTokens.length?$l(f.paramTokens,f):[],e];return n.emit(i,"value")}function we(n,f){let e=li(f.bodyTokens);if(!e)return"(function() { return undefined; })";let i=["->",$l(f.paramTokens,f),e];return n.emit(i,"value")}function _e(n,f){let e=n.slice(1,-1),t=fi(e);if(!t.length)return{c:null};let i=t.map((u)=>ul(u,f));if(i.length===1){let u=i[0];if(u instanceof RegExp)throw I(n[0],`Regex constraints are written bare, not in brackets. Replace '[${u}]' with '${u}'.`);return{c:{default:u}}}if(i.length===2&&typeof i[0]==="number"&&typeof i[1]==="number")throw I(n[0],`Size/value ranges use 'min..max' syntax, not brackets. Replace '[${i[0]}, ${i[1]}]' with '${i[0]}..${i[1]}'.`);if(i.length===3&&i.every((u)=>typeof u==="number"))throw I(n[0],`Range + default is two separate constraints in v2. Replace '[${i[0]}, ${i[1]}, ${i[2]}]' with '${i[0]}..${i[1]}, [${i[2]}]'.`);throw I(n[0],`Constraint bracket takes a single default value in v2. Got ${i.length} elements.`)}function me(n){let f=n[1],e=/^\/((?:\\.|[^\\/])+)\/([a-z]*)$/.exec(f);if(!e)throw I(n,`Invalid regex literal ${JSON.stringify(f)}.`);try{return new RegExp(e[1],e[2])}catch(t){throw I(n,`Invalid regex '${f}': ${t.message}`)}}function ye(n,f){let e=0,t=()=>{let a=1;if(n[e]?.[0]==="-")a=-1,e++;let c=n[e++],r=ul([c],f);if(typeof r!=="number")throw I(c,"Range endpoints must be numeric literals.");return a*r},i;if(n[e]?.[0]!=="..")i=t();e++;let u;if(e<n.length)u=t();if(i!==void 0&&u!==void 0&&i>u)throw I(n[0],`Range '${i}..${u}' is reversed. Write the smaller endpoint first.`);let l={};if(i!==void 0)l.min=i;if(u!==void 0)l.max=u;return l}function Ae(n,f,e,t){let i=f&&f.c||{},u=n&&n.min===void 0;if(n){if(n.min!==void 0)i.min=n.min;if(n.max!==void 0)i.max=n.max;if(u&&i.min===void 0&&t?.modifiers?.includes("!"))i.min=1}if(e)i.regex=e;if(t?.defaultMax!=null&&i.max===void 0)i.max=t.defaultMax;if(i.min!==void 0&&i.max!==void 0&&i.min>i.max){let l=n&&n.min!==void 0?`range min ${n.min}`:"implicit min=1 from `!`",a=n&&n.max!==void 0?`range max ${n.max}`:`pragma defaultMaxString=${t?.defaultMax}`;throw I({loc:t?.loc},`Field '${t?.name}' would have impossible constraints min=${i.min} > max=${i.max} after sugar is applied (${l} vs ${a}). Write an explicit range or drop the conflicting pragma.`)}if(i.min===void 0&&i.max===void 0&&i.default===void 0&&i.regex===void 0)return null;return Re(i)}var Tl=new Set(["was"]);function De(n,f){let e=n.slice(1,-1).filter((u)=>u[0]!=="TERMINATOR"&&u[0]!=="INDENT"&&u[0]!=="OUTDENT"),t=fi(e),i=[];for(let u of t){if(!u.length)continue;let l=u[0];if(l[0]!=="PROPERTY"&&l[0]!=="IDENTIFIER")throw I(l,`Field attrs must be '{key: value}' pairs. Got ${l[0]}.`);let a=l[1];if(!Tl.has(a))throw I(l,`Unknown field attr '${a}'. Known attrs: ${[...Tl].join(", ")}.`);let c=1;if(u[c]?.[0]===":")c++;let r=ul(u.slice(c),f);if(a==="was"&&typeof r!=="string")throw I(l,`Field attr 'was' requires a string column name, e.g. {was: "first_name"}.`);i.push(`${a}: ${Ji(r)}`)}return i.length?`{${i.join(", ")}}`:null}function Re(n){let f=[];if(n.min!==void 0)f.push(`min: ${Ji(n.min)}`);if(n.max!==void 0)f.push(`max: ${Ji(n.max)}`);if(n.default!==void 0)f.push(`default: ${Ji(n.default)}`);if(n.regex!==void 0)f.push(`regex: ${n.regex.toString()}`);return f.length?`{${f.join(", ")}}`:null}function Ji(n){if(n===null)return"null";if(n===void 0)return"undefined";if(typeof n==="string")return JSON.stringify(n);if(typeof n==="number"||typeof n==="boolean")return String(n);if(n instanceof RegExp)return n.toString();return JSON.stringify(n)}function Vl(n){let f=(i)=>i&&(i[0]==="IDENTIFIER"||i[0]==="PROPERTY"||i[0]==="SYMBOL"),e=[],t=0;if(f(n[t]))e.push(n[t][1]);else if(n[t]?.[0]==="["||n[t]?.[0]==="INDEX_START"){let i=[],u=1;t++;while(t<n.length&&u>0){let l=n[t];if(l[0]==="["||l[0]==="INDEX_START")u++;if(l[0]==="]"||l[0]==="INDEX_END"){if(u--,u===0){t++;break}}i.push(l),t++}for(let l of fi(i))if(f(l[0]))e.push(l[0][1])}return e}function Me(n,f){if(n==="idStart"&&!f.length)throw I(null,"@idStart requires an integer literal, e.g. @idStart 10001.");if(!f.length)return null;if(n==="belongs_to"||n==="has_many"||n==="has_one"||n==="one"||n==="many"||n==="mixin"){let e=f[0];if(!e||e[0]!=="IDENTIFIER"&&e[0]!=="PROPERTY")throw I(e||f[f.length-1],`@${n} requires a target name.`);let t=e[1],i=e.data?.optional===!0,u=1;if(!i&&f[u]?.[0]==="?")i=!0,u++;let l=[`target: ${JSON.stringify(t)}`];if(i)l.push("optional: true");return`[{${l.join(", ")}}]`}if(n==="unique"){let e=Vl(f);if(!e.length)throw I(f[0]||f[f.length-1],"@unique requires a field name or list — '@unique :email' or '@unique [:a, :b]'.");return`[{fields: ${JSON.stringify(e)}}]`}if(n==="index"){let e=Vl(f);return`[{fields: ${JSON.stringify(e)}}]`}if(n==="on"){let e=Zi(f)[0];if(e&&e[0]==="SYMBOL")return`[{field: ${JSON.stringify(e[1])}}]`;throw I(e||f[f.length-1],"@on requires the discriminator field as a :symbol — '@on :kind'.")}if(n==="tableWas"){if(f[0]?.[0]==="CALL_START"&&f[f.length-1]?.[0]==="CALL_END")f=f.slice(1,-1);let e=f[0];if(e&&e[0]==="STRING")return`[{name: ${e[1]}}]`;if(e&&(e[0]==="IDENTIFIER"||e[0]==="PROPERTY"))return`[{name: ${JSON.stringify(e[1])}}]`;throw I(e||f[f.length-1],"@tableWas requires the previous table name, e.g. @tableWas legacy_users.")}if(n==="idStart"){let e=f[0],t=1,i=e;if(e&&e[0]==="-"&&f[1]&&f[1][0]==="NUMBER")t=-1,i=f[1];if(!i||i[0]!=="NUMBER")throw I(e||f[f.length-1],"@idStart requires an integer literal, e.g. @idStart 10001.");let u=t*Number(i[1]);if(!Number.isInteger(u))throw I(i,"@idStart requires an integer literal; got "+i[1]+".");return"[{value: "+u+"}]"}return null}function ul(n,f){if(!n.length)throw I(null,"Empty constraint value.");let e=n[0],t=e[0];if(n.length===1){if(t==="NUMBER")return Number(e[1]);if(t==="STRING")return JSON.parse(e[1]);if(t==="BOOL")return e[1]==="true";if(t==="NULL")return null;if(t==="UNDEFINED")return;if(t==="REGEX")return Ue(e[1]);if(t==="SYMBOL")return e[1]}if(n.length===2&&t==="-"&&n[1][0]==="NUMBER")return-Number(n[1][1]);throw I(e,`Constraint values must be literals (number, string, boolean, null, regex, :symbol). Got ${t}.`)}function Ue(n){let f=typeof n==="string"?n:String(n),e=f.match(/^\/(.*)\/([gimsuy]*)$/s);return e?new RegExp(e[1],e[2]):new RegExp(f)}function qe(n){if(Array.isArray(n)){if((n[0]?.valueOf?.()??n[0])==="block"&&n.length===2)return n[1]}return n}function li(n){if(!n||!n.length)return null;let f=li._LexerCtor;if(!f)throw Error("schema: parseBodyTokens called before Lexer was wired");let e=Object.create(f.prototype),t=n.slice();if(t.length>=2&&t[0]?.[0]==="INDENT"){let r=0,h=-1;for(let o=0;o<t.length;o++)if(t[o][0]==="INDENT")r++;else if(t[o][0]==="OUTDENT"){if(r--,r===0){h=o;break}}if(h===t.length-1)t=t.slice(1,-1)}if(e.tokens=t,e.seenFor=e.seenImport=e.seenExport=!1,e.ends=[],e.indent=0,e.outdebt=0,e.indents=[],e.tokens[e.tokens.length-1]?.[0]!=="TERMINATOR")e.tokens.push(ll("TERMINATOR",`
1862
+ `,n[n.length-1]));try{e.rewriteTypes?.(),e.tagPostfixConditionals?.(),e.rewriteTaggedTemplates?.(),e.addImplicitBracesAndParens?.(),e.addImplicitCallCommas?.()}catch(r){throw I(n[0],`schema: failed to compile body: ${r.message}`)}let u=e.tokens.filter((r)=>r[0]!=="TYPE_DECL"),l=Nn.lexer;Nn.lexer={tokens:u,pos:0,setInput(){},lex(){if(this.pos>=this.tokens.length)return 1;let r=this.tokens[this.pos++],h=r[1];if(r.data)h=new String(h),Object.assign(h,r.data);return this.text=h,this.loc=r.loc,this.line=r.loc?.r,r[0]}};let a;try{a=Nn.parse("")}finally{Nn.lexer=l}if(!Array.isArray(a)||a[0]!=="program")return null;let c=a.slice(1);if(c.length===0)return null;if(c.length===1)return c[0];return["block",...c]}function Se(n){let f=[],e=n.data;if(e?.bang===!0)f.push("!");if(e?.optional===!0)f.push("?");return f}function Ee(n,f){let e=0;for(let t=f;t<n.length;t++)if(n[t][0]==="INDENT")e++;else if(n[t][0]==="OUTDENT"){if(e--,e===0)return t}return-1}function fi(n){let f=[],e=[],t=0;for(let i of n){let u=i[0];if(u==="("||u==="["||u==="{"||u==="CALL_START"||u==="INDEX_START"||u==="PARAM_START"||u==="INDENT")t++;if(u===")"||u==="]"||u==="}"||u==="CALL_END"||u==="INDEX_END"||u==="PARAM_END"||u==="OUTDENT")t--;if(u===","&&t===0){if(e.length)f.push(e);e=[];continue}e.push(i)}if(e.length)f.push(e);return f}function de(n){let f=n[0],e=n[1];if(f==="NUMBER")return Number(e);if(f==="STRING")return JSON.parse(e);if(f==="BOOL")return e==="true";if(f==="NULL")return null;if(f==="UNDEFINED")return;return e}function ll(n,f,e){let t=[n,f];if(t.pre=0,t.data=null,t.loc=e?.loc??{r:0,c:0,n:0},t.spaced=!1,t.newLine=!1,t.generated=!0,e)t.origin=e;return t}function I(n,f){let e=n?.loc||{r:0,c:0},t=Error(f);return t.name="SchemaSyntaxError",t.loc=e,t.line=e.r,t.column=e.c,t.phase="schema",t.code="E_SCHEMA",t}function Fe(n={}){if(!il)throw Error("schema runtime provider not registered. Side-effect-import either './schema/loader-server.js' (CLI / server / tests) or './schema/loader-browser.js' (browser bundle) before calling any compileToJS that emits schemas.");return il(n)}function lf({mode:n="browser"}={}){let f;switch(n){case"validate":f=nl;break;case"browser":f=nl+`
1863
+ `+Pl;break;case"server":case"migration":throw Error("schema runtime mode '"+n+"' is not available in the browser. ORM and DDL features require side-effect-importing loader-server.js.");default:throw Error(`unknown schema runtime mode: ${n}`)}return(Xl+f+bl).trimStart()}jl(lf);var ze=lf({mode:"browser"});if(typeof globalThis<"u"&&!globalThis.__ripSchema)try{(0,eval)(ze)}catch{}class Hn extends Error{constructor(n,{code:f=null,file:e=null,line:t=null,column:i=null,length:u=1,source:l=null,suggestion:a=null,phase:c=null}={}){super(n);this.name="RipError",this.code=f,this.file=e,this.line=t,this.column=i,this.length=u,this.source=l,this.suggestion=a,this.phase=c}static fromLexer(n,f,e){let t=n.location||{};return new Hn(n.message,{code:"E_SYNTAX",file:e,line:t.first_line??null,column:t.first_column??null,length:t.last_column!=null&&t.first_column!=null?t.last_column-t.first_column+1:1,source:f,phase:"lexer"})}static fromParser(n,f,e){let t=n.hash||{},i=t.loc||{},u=t.line??i.r??null,l=i.first_column??i.c??null,a=null;if(t.expected?.length){if(a=`Expected ${t.expected.slice(0,5).map((_)=>_.replace(/'/g,"")).join(", ")}`,t.expected.length>5)a+=`, ... (${t.expected.length} total)`}let c=t.token||"token",r=new Set((t.expected||[]).map((w)=>w.replace(/'/g,""))),h=new Set(["TERMINATOR",",",")","]","OUTDENT","CALL_END","INDEX_END","PARAM_END","EOF"]);if(r.has(":")&&(r.has("POST_IF")||r.has("POST_UNLESS")||r.has("FOR")||r.has("WHILE"))&&h.has(c))a="Binary `x ? y` was removed — use `x ?? y` for nullish coalescing, or a full ternary `x ? y : z`";let o=t.text?` near '${t.text}'`:"",s=`Unexpected ${c}${o}`;return new Hn(s,{code:"E_PARSE",file:e,line:u,column:l,length:t.text?.length||1,source:f,suggestion:a,phase:"parser"})}static fromSExpr(n,f,e,t,i){let u=f?.loc||{};return new Hn(n,{code:"E_CODEGEN",file:t,line:u.r??null,column:u.c??null,length:u.n??1,source:e,suggestion:i,phase:"codegen"})}get locationString(){let n=[];if(this.file)n.push(this.file);if(this.line!=null)n.push(`${this.line+1}:${(this.column??0)+1}`);return n.join(":")}format({color:n=!0}={}){let f=n?{red:"\x1B[31m",yellow:"\x1B[33m",cyan:"\x1B[36m",dim:"\x1B[2m",bold:"\x1B[1m",reset:"\x1B[0m"}:{red:"",yellow:"",cyan:"",dim:"",bold:"",reset:""},e=[],t=this.locationString,i=t?`${f.cyan}${t}${f.reset} `:"";e.push(`${i}${f.red}${f.bold}error${f.reset}${f.bold}: ${this.message}${f.reset}`);let u=this._snippet();if(u){e.push("");for(let l of u)if(l.type==="source")e.push(`${f.dim}${l.gutter}${f.reset}${l.text}`);else if(l.type==="caret")e.push(`${f.dim}${l.gutter}${f.reset}${f.red}${f.bold}${l.text}${f.reset}`)}if(this.suggestion)e.push(""),e.push(`${f.yellow}hint${f.reset}: ${this.suggestion}`);return e.join(`
1864
1864
  `)}formatHTML(){let n=[];n.push('<div class="rip-error">'),n.push("<style>"),n.push('.rip-error { font-family: ui-monospace, "SF Mono", Menlo, Monaco, monospace; font-size: 13px; line-height: 1.5; padding: 16px 20px; background: #1e1e2e; color: #cdd6f4; border-radius: 8px; overflow-x: auto; }'),n.push(".rip-error .re-header { color: #f38ba8; font-weight: 600; }"),n.push(".rip-error .re-loc { color: #89b4fa; }"),n.push(".rip-error .re-gutter { color: #585b70; user-select: none; }"),n.push(".rip-error .re-caret { color: #f38ba8; font-weight: 700; }"),n.push(".rip-error .re-hint { color: #f9e2af; }"),n.push(".rip-error .re-snippet { margin: 8px 0; }"),n.push("</style>");let f=this.locationString,e=f?`<span class="re-loc">${ui(f)}</span> `:"";n.push(`<div class="re-header">${e}error: ${ui(this.message)}</div>`);let t=this._snippet();if(t){n.push('<pre class="re-snippet">');for(let i of t)if(i.type==="source")n.push(`<span class="re-gutter">${ui(i.gutter)}</span>${ui(i.text)}`);else if(i.type==="caret")n.push(`<span class="re-gutter">${ui(i.gutter)}</span><span class="re-caret">${ui(i.text)}</span>`);n.push("</pre>")}if(this.suggestion)n.push(`<div class="re-hint">hint: ${ui(this.suggestion)}</div>`);return n.push("</div>"),n.join(`
1865
1865
  `)}_snippet(){if(this.source==null||this.line==null)return null;let n=this.source.split(`
1866
- `),f=this.line;if(f<0||f>=n.length)return null;let e=2,t=Math.max(0,f-e),i=Math.min(n.length-1,f+e),u=String(i+1).length,l=[];for(let a=t;a<=i;a++){let r=` ${String(a+1).padStart(u)} │ `;if(l.push({type:"source",gutter:r,text:n[a]}),a===f&&this.column!=null){let h=" ".repeat(this.column),o=Math.max(1,Math.min(this.length||1,n[a].length-this.column)),s="^".repeat(o),w=" ".repeat(u+2)+"│ ";l.push({type:"caret",gutter:w,text:`${h}${s}`})}}return l}}function He(n){return n instanceof SyntaxError&&n.location!=null}function Ke(n){return!(n instanceof SyntaxError)&&n.hash!=null}function hi(n,f,e){if(n instanceof Hn){if(e&&!n.file)n.file=e;if(f&&!n.source)n.source=f;return n}if(He(n))return Hn.fromLexer(n,f,e);if(Ke(n))return Hn.fromParser(n,f,e);return new Hn(n.message,{file:e,source:f,phase:"unknown"})}function ei(n,{source:f,file:e,color:t=!0}={}){return(n instanceof Hn?n:hi(n,f,e)).format({color:t})}function el(n,{source:f,file:e}={}){return(n instanceof Hn?n:hi(n,f,e)).formatHTML()}function ui(n){return n.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}function tf(n){let f=n.prototype;f.rewriteTypes=function(){let e=this.tokens,t=this.typeRefNames=new Set;Je(e);let i=(u,l,a)=>{let c=[u,l];if(c.pre=0,c.data=null,c.loc=a?.loc??{r:0,c:0,n:0},c.spaced=!1,c.newLine=!1,c.generated=!0,a)c.origin=a;return c};this.scanTokens((u,l,a)=>{let c=u[0];if(c==="IDENTIFIER"){let r=a[l+1];if(r&&r[0]==="COMPARE"&&r[1]==="<"&&!r.spaced){let h=a[l-1]?.[0]==="DEF",o=ef(a,l+1);if(o){let s=l+1+o.length,w=!h&&a[s]?.[0]==="="&&a[s+1]?.[0]==="COMPONENT";if(h||w){if(!u.data)u.data={};if(u.data.typeParams=Vn(o),a.splice(l+1,o.length),h&&a[l+1]?.[0]==="("){a[l+1][0]="CALL_START";let y=1,A=l+2;while(A<a.length&&y>0){if(a[A][0]==="("||a[A][0]==="CALL_START")y++;if(a[A][0]===")"||a[A][0]==="CALL_END")y--;if(y===0)a[A][0]="CALL_END";A++}}}}}}if(c==="TYPE_ANNOTATION"){let r=a[l-1];if(!r)return 1;let h=r[0]==="PARAM_END",o=uf(a,l+1,{stopAtFatArrow:h});if(h&&Qe(o)){let m=a[l+1]?.loc;throw new Hn("A function-type return on an arrow must be parenthesized",{code:"E_SYNTAX",phase:"lexer",line:m?.r??null,column:m?.c??null,length:m?.n??1,suggestion:"wrap the whole function type in parens — "+"`(x):: ((a: T) => R) => body`, not `(x):: (a: T) => R => body`"})}let s=Vn(o),w=r,y="type";if(r[0]==="CALL_END"||r[0]===")"){let m=1,R=l-2;while(R>=0&&m>0){let U=a[R][0];if(U==="CALL_END"||U===")")m++;if(U==="CALL_START"||U==="(")m--;R--}if(R>=0)w=a[R];y="returnType"}else if(r[0]==="PARAM_END"){let m=l+1+o.consumed,R=a[m];if(R&&(R[0]==="->"||R[0]==="=>"))w=R;y="returnType"}else if(r[0]==="IDENTIFIER"&&l>=2&&a[l-2]?.[0]==="DEF")y="returnType";if(!w.data)w.data={};w.data[y]=s;for(let m of o)if(m[0]==="IDENTIFIER")t.add(m[1]);let A=1+o.consumed;return a.splice(l,A),0}if(c==="IDENTIFIER"&&u[1]==="type"){let r=a[l-1]?.[0];if(!(!r||r==="TERMINATOR"||r==="INDENT"||r==="EXPORT"))return 1;let o=l+1,s=a[o];if(!s||s[0]!=="IDENTIFIER")return 1;let w=s[1],y=r==="EXPORT",A=y?l-1:l,m=o+1;if(a[m]?.[0]==="COMPARE"&&a[m]?.[1]==="<"&&!a[m].spaced){let q=ef(a,m);if(q){if(!s.data)s.data={};s.data.typeParams=Vn(q),a.splice(m,q.length)}}if(a[m]?.[0]!=="=")return 1;let R=(q)=>{let S=i("TYPE_DECL",w,s);if(S.data={name:w,typeText:q,exported:y},s.data?.typeParams)S.data.typeParams=s.data.typeParams;return S},U=m+1,_=a[U],D=(q,S)=>{for(let d=q;d<=S&&d<a.length;d++)if(a[d][0]==="IDENTIFIER")t.add(a[d][1])};if(_&&(_[0]==="TERMINATOR"||_[0]==="INDENT")){let q=Ye(a,U);if(q)return D(U,q.endIdx),a.splice(A,q.endIdx-A+1,R(q.typeText)),0}if(_&&_[0]==="INDENT"){let q=al(a,U);return D(U,q),a.splice(A,q-A+1,R(tl(a,U))),0}let M=uf(a,U);return D(U,U+M.consumed-1),a.splice(A,U+M.consumed-A,R(Vn(M))),0}if(c==="INTERFACE"){let r=l>=1&&a[l-1]?.[0]==="EXPORT",h=l+1,o=a[h];if(!o)return 1;let s=o[1],w=null,y=h+1;if(a[y]?.[0]==="EXTENDS")w=a[y+1]?.[1],y=y+2;if(a[y]?.[0]==="INDENT"){let A=tl(a,y),m=al(a,y);for(let D=y;D<=m&&D<a.length;D++)if(a[D][0]==="IDENTIFIER")t.add(a[D][1]);if(w)t.add(w);let R=i("TYPE_DECL",s,o);R.data={name:s,kind:"interface",extends:w,typeText:A,exported:r};let U=r?l-1:l,_=m-U+1;return a.splice(U,_,R),0}return 1}return 1});for(let u=e.length-1;u>=0;u--){if(e[u][0]!=="DEF")continue;let l=e[u+1];if(!l||l[0]!=="IDENTIFIER")continue;let a=u+2;if(e[a]?.[0]!=="CALL_START")continue;let c=1;a++;while(a<e.length&&c>0){if(e[a][0]==="CALL_START")c++;if(e[a][0]==="CALL_END")c--;a++}let r=a-1,h=e[a];if(h&&h[0]!=="TERMINATOR")continue;let o=l.data?.returnType;if(!o){for(let R=u+2;R<=r;R++)if(e[R].data?.type){o=!0;break}}if(!o)continue;let s=e.slice(u,a+1),w=u>=1&&e[u-1]?.[0]==="EXPORT",y=w?u-1:u,A=a+1-y,m=i("TYPE_DECL",l[1],l);if(m.data={name:l[1],kind:"overload",overloadTokens:s,exported:w},l.data?.typeParams)m.data.typeParams=l.data.typeParams;e.splice(y,A,m)}}}function Qe(n){let f=(l)=>l==="("||l==="PARAM_START"||l==="CALL_START",e=(l)=>l===")"||l==="PARAM_END"||l==="CALL_END";if(n.length<2||!f(n[0][0]))return!1;let t=0;for(let l=0;l<n.length;l++){let a=n[l][0];if(f(a))t++;else if(e(a)){if(--t===0&&l!==n.length-1)return!1}}if(t!==0)return!1;if(n.length===2)return!0;let i=0,u=!1;for(let l of n){let a=l[0];if(f(a)||a==="["||a==="{"||a==="INDEX_START")i++;else if(e(a)||a==="]"||a==="}"||a==="INDEX_END")i--;else if(i===1&&a==="TERNARY")u=!0;else if(i===1&&a===":")if(u)u=!1;else return!0}return!1}function ff(n,f,e){if(e<=f)return!1;let t=new Set(["|","&",",",":","?",".","...","=>"]),i=0,u=0,l=0,a=0,c=!1;for(let r=f;r<e;r++){let h=n[r][0],o=n[r][1];if(h==="("||h==="PARAM_START"){i++,c=!1;continue}if(h===")"||h==="PARAM_END"){if(--i<0)return!1;c=!0;continue}if(h==="["||h==="INDEX_START"){u++,c=!1;continue}if(h==="]"||h==="INDEX_END"){if(--u<0)return!1;c=!0;continue}if(h==="{"){l++,c=!1;continue}if(h==="}"){if(--l<0)return!1;c=!0;continue}if(h==="COMPARE"){if(o==="<"){a++,c=!1;continue}if(o===">"){if(a<=0)return!1;a--,c=!0;continue}return!1}if(h==="SHIFT"){if(o===">>"){if(a<2)return!1;a-=2,c=!0;continue}return!1}if(h==="="){if(a>0){c=!1;continue}return!1}if(t.has(h)){c=!1;continue}if(h==="IDENTIFIER"||h==="PROPERTY"||h==="NUMBER"||h==="STRING"||h==="NULL"||h==="UNDEFINED"||h==="BOOL"){if(c)return!1;c=!0;continue}return!1}return i===0&&u===0&&l===0&&a===0&&c}function We(n,f,e){let t=new Set(["=","REACTIVE_ASSIGN","COMPUTED_ASSIGN","READONLY_ASSIGN"]),i=0,u=0,l=0,a=[];for(let c=f;c<n.length;c++){let r=n[c][0];if(r==="INDENT"){i++;let h=n[c-1]?.[0];if(h==="->"||h==="=>")a.push(i),l++;continue}if(r==="OUTDENT"){if(i===0)return!1;if(a[a.length-1]===i)a.pop(),l--;i--;continue}if(r==="("||r==="CALL_START"||r==="PARAM_START"||r==="["||r==="INDEX_START"||r==="{"){u++;continue}if(r===")"||r==="CALL_END"||r==="PARAM_END"||r==="]"||r==="INDEX_END"||r==="}"){u--;continue}if(l===0&&u===0&&(r==="IDENTIFIER"||r==="PROPERTY")&&n[c][1]===e&&t.has(n[c+1]?.[0]))return!0}return!1}function Je(n){let f=(_)=>_==="("||_==="CALL_START"||_==="PARAM_START"||_==="{"||_==="["||_==="INDEX_START",e=(_)=>_===")"||_==="CALL_END"||_==="PARAM_END"||_==="}"||_==="]"||_==="INDEX_END",t=(_)=>{let D=_-1,M=n[D]?.[0],q=n[D]?.[1];if(M==="COMPARE"&&q===">"||M==="SHIFT"&&q===">>"){let S=M==="SHIFT"?2:1;D--;while(D>=0&&S>0){let d=n[D][0],K=n[D][1];if(d==="COMPARE"&&K===">")S++;else if(d==="SHIFT"&&K===">>")S+=2;else if(d==="COMPARE"&&K==="<")S--;else if(d==="SHIFT"&&K==="<<")S-=2;D--}}if(n[D]?.[0]!=="IDENTIFIER"&&n[D]?.[0]!=="PROPERTY")return!1;return n[D-1]?.[0]==="DEF"},i=new Set(["TERMINATOR","INDENT","OUTDENT","EXPORT"]),u=new Set(["=","REACTIVE_ASSIGN","COMPUTED_ASSIGN","READONLY_ASSIGN"]),l=(_)=>!_||i.has(_[0]),a=(_)=>{let D=0;for(let M=_;M<n.length;M++){let q=n[M][0];if(f(q))D++;else if(e(q))D--;else if(D===0){if(q==="->"||q==="=>")return!1;if(u.has(q))return!0;if((q==="EFFECT"||q==="GATE")&&M>_)return!0;if(q==="TERMINATOR"||q==="INDENT"||q==="OUTDENT")return!1}}return!1},c=(_)=>{let D=0;for(let M=_;M<n.length;M++){let q=n[M][0];if(f(q))D++;else if(e(q))D--;else if(D===0){if(q==="->"||q==="=>")return!0;if(q==="TERMINATOR"||q==="INDENT"||q==="OUTDENT")return!1}}return!1},r=!1,h=[],o=()=>h.length>0&&h[h.length-1],s=(_)=>{let D=n[_-1]?.[0];if(D!=="PROPERTY"&&D!=="IDENTIFIER")return!1;if(n[_-2]?.[0]==="@")return l(n[_-3]);return l(n[_-2])},w=!1,y=0,A=()=>{w=!0,y=U.length},m=!1,R=!1,U=[];for(let _=0;_<n.length;_++){let D=n[_][0];if(D==="CLASS"||D==="COMPONENT"){r=!0;continue}if(D==="INDENT"){if(h.push(r),r=!1,m=R=!1,w&&U.length<=y)w=!1;continue}if(D==="OUTDENT"){if(h.pop(),m=R=!1,w&&U.length<=y)w=!1;continue}if(f(D)){let q="other";if(!w){if(D==="PARAM_START")q="param";else if((D==="CALL_START"||D==="(")&&t(_))q="defparam"}U.push({kind:q,sawEq:!1,sawType:!1});continue}if(e(D)){if(U.pop()?.kind==="defparam")(n[_].data??={}).isDefParamEnd=!0;if(w&&U.length<y)w=!1;continue}if(D==="TYPE_ANNOTATION"){if(!w)A();continue}if(w)if(U.length<=y&&(D==="="||D===","||D==="TERMINATOR"||D==="->"||u.has(D)))w=!1;else continue;if(D==="TERMINATOR"&&U.length===0)m=R,R=!1;if(D===":"){let q=n[_-1],S=q?.[0];if(U.length===0&&(S==="IDENTIFIER"||S==="PROPERTY")&&l(n[_-2]))R=!0;if(S==="PARAM_END"||(S===")"||S==="CALL_END")&&q.data?.isDefParamEnd){n[_][0]="TYPE_ANNOTATION",A();continue}if((S==="IDENTIFIER"||S==="PROPERTY")&&n[_-2]?.[0]==="DEF"){if(S==="PROPERTY")q[0]="IDENTIFIER";n[_][0]="TYPE_ANNOTATION",A();continue}if(U.length===0&&s(_)&&a(_+1)){if(S==="PROPERTY"&&n[_-2]?.[0]!=="@")q[0]="IDENTIFIER";n[_][0]="TYPE_ANNOTATION",A();continue}if(U.length===0&&s(_)){let d=0;for(let K=_+1;K<n.length;K++){let E=n[K][0];if(f(E))d++;else if(e(E)){if(d===0)break;d--}else if(d===0){if(E==="TERMINATOR"||E==="INDENT"||E==="OUTDENT")break;if(E==="="&&ff(n,_+1,K)){if(S==="PROPERTY"&&n[_-2]?.[0]!=="@")q[0]="IDENTIFIER";n[_][0]="TYPE_ANNOTATION",A();break}}}if(n[_][0]==="TYPE_ANNOTATION")continue}if(o()&&U.length===0&&s(_)&&!c(_+1)){if(S==="PROPERTY"&&n[_-2]?.[0]!=="@")q[0]="IDENTIFIER";n[_][0]="TYPE_ANNOTATION",A();continue}if(U.length===0&&s(_)&&n[_-2]?.[0]!=="@"){let d=0,K=-1;for(let Q=_+1;Q<n.length;Q++){let W=n[Q][0];if(f(W))d++;else if(e(W)){if(d===0)break;d--}else if(d===0){if(W==="TERMINATOR"){K=Q;break}if(W==="INDENT"||W==="OUTDENT"||W==="="||u.has(W))break}}let E=n[K+1],Z=E&&(E[0]==="IDENTIFIER"||E[0]==="PROPERTY")&&n[K+2]?.[0]===":";if(K>_+1&&E&&E[0]!=="OUTDENT"&&!m&&!Z&&ff(n,_+1,K)&&We(n,K+1,q[1])){if(S==="PROPERTY")q[0]="IDENTIFIER";n[_][0]="TYPE_ANNOTATION",A();continue}}}let M=U[U.length-1];if(M&&(M.kind==="param"||M.kind==="defparam")){if(D===","){M.sawEq=!1,M.sawType=!1;continue}if(D==="="){M.sawEq=!0;continue}if(D===":"&&!M.sawEq&&!M.sawType){let q=n[_-1],S=q?.[0];if(S==="PROPERTY"||S==="IDENTIFIER"){if(S==="PROPERTY"&&n[_-2]?.[0]!=="@")q[0]="IDENTIFIER";n[_][0]="TYPE_ANNOTATION",M.sawType=!0,A()}else if(S==="}"||S==="]"||S==="INDEX_END")n[_][0]="TYPE_ANNOTATION",M.sawType=!0,A()}}}}function uf(n,f,e={}){let t=[],i=0,u=[],l=f;while(f<n.length){let a=n[f],c=a[0],r=c==="("||c==="["||c==="{"||c==="CALL_START"||c==="PARAM_START"||c==="INDEX_START"||c==="COMPARE"&&a[1]==="<",h=c===")"||c==="]"||c==="}"||c==="CALL_END"||c==="PARAM_END"||c==="INDEX_END"||c==="COMPARE"&&a[1]===">";if(c==="SHIFT"&&a[1]===">>"&&i>=2){if(i-=2,u[u.length-1]==="<")u.pop();if(u[u.length-1]==="<")u.pop();t.push(a),f++;continue}if(r){i++;let o=c==="{"?"{":c==="["||c==="INDEX_START"?"[":c==="COMPARE"&&a[1]==="<"?"<":"(";u.push(o),t.push(a),f++;continue}if(h){if(i>0){i--,u.pop(),t.push(a),f++;continue}break}if(i===0){if(e.stopAtFatArrow&&c==="=>")break;if(c==="INDENT"&&t.length>0&&t[t.length-1][0]==="=>"){f++;let o=1;while(f<n.length&&o>0)if(n[f][0]==="INDENT")o++,f++;else if(n[f][0]==="OUTDENT")o--,f++;else t.push(n[f]),f++;continue}if(c==="="||c==="REACTIVE_ASSIGN"||c==="COMPUTED_ASSIGN"||c==="READONLY_ASSIGN"||c==="EFFECT"||c==="GATE"||c==="TERMINATOR"||c==="INDENT"||c==="OUTDENT"||c==="->"||c===",")break}if(i>0&&(c==="INDENT"||c==="OUTDENT")){f++;continue}if(i>0&&c==="TERMINATOR"){t.push(["",";"]),f++;continue}if(c==="PROPERTY"&&u[u.length-1]==="{"){let o=t[t.length-1],s=o?.[0],w=o?.[1];if(o&&s!=="{"&&s!==","&&!(s===""&&w===";"))t.push(["",";"])}t.push(a),f++}return t.consumed=f-l,t}function Vn(n){if(n.length===0)return"";if(n[0]?.[0]==="=>")n.unshift(["","()"]);{let t=0;for(let i of n){let u=i[0];if(u==="{")t++;else if(u==="}")t--;else if(u==="TYPE_ANNOTATION"&&t>0){let l=i.loc,a=l?` (line ${l.r}, col ${l.c})`:"",c=Error(`Use \`:\` (not \`::\`) inside a structural type literal${a}. \`::\` binds a name to a type; inside \`{ ... }\` in type position, fields use \`:\` (TS-style).`);throw c.loc=l,c}}}let e=n.map((t,i)=>{let u=n[i+1];if(t.data?.optional&&u&&(u[0]==="TYPE_ANNOTATION"||u[0]===":"))return`${t[1]}?`;if(t[0]==="JS")return"`"+t[1]+"`";return t[1]}).join(" ").replace(/\s+/g," ").trim();return e=e.replace(/\s*<\s*/g,"<").replace(/\s*>\s*/g,">").replace(/\s*\[\s*/g,"[").replace(/\s*\]\s*/g,"]").replace(/\s*\(\s*/g,"(").replace(/\s*\)\s*/g,")").replace(/\s*,\s*/g,", ").replace(/\s*=>\s*/g," => ").replace(/ :: /g,": ").replace(/:: /g,": ").replace(/ : /g,": "),e}function ef(n,f){if(f>=n.length)return null;let e=n[f];if(e[0]!=="COMPARE"||e[1]!=="<")return null;let t=[e],i=1,u=f+1;while(u<n.length&&i>0){let l=n[u];if(t.push(l),l[0]==="COMPARE"&&l[1]==="<")i++;else if(l[0]==="COMPARE"&&l[1]===">")i--;u++}return i===0?t:null}function tl(n,f){let e=[],t=f+1,i=1;while(t<n.length&&i>0){let u=n[t];if(u[0]==="INDENT"){i++,t++;continue}if(u[0]==="OUTDENT"){if(i--,i===0)break;t++;continue}if(u[0]==="TERMINATOR"){t++;continue}if(i===1&&u[0]==="["){let a=[];t++;while(t<n.length&&n[t][0]!=="]")a.push(n[t]),t++;if(t++,n[t]?.[1]===":"||n[t]?.[0]==="TYPE_ANNOTATION")t++;let c=[];while(t<n.length){let o=n[t];if(o[0]==="TERMINATOR"||o[0]==="OUTDENT")break;c.push(o),t++}let r=Vn(a),h=Vn(c);e.push(`[${r}]: ${h}`);continue}let l=u[0]==="PROPERTY"||u[0]==="IDENTIFIER"||i===1&&/^[a-zA-Z_$]/.test(u[1])&&n[t+1]?.[0]==="TYPE_ANNOTATION";if(i===1&&l){let a=u[1],c=!1,r=!1;if(t++,a==="readonly"&&n[t]&&(n[t][0]==="PROPERTY"||n[t][0]==="IDENTIFIER"||/^[a-zA-Z_$]/.test(n[t][1])&&n[t+1]?.[0]==="TYPE_ANNOTATION")){if(r=!0,a=n[t][1],n[t].data?.optional)c=!0;t++}if(u.data?.optional)c=!0;if(n[t]?.[1]==="?"&&!n[t]?.spaced)c=!0,t++;if(n[t]?.[1]===":"||n[t]?.[0]==="TYPE_ANNOTATION")t++;let h=[],o=0;while(t<n.length){let m=n[t];if(m[0]==="IDENTIFIER"&&m[1]==="type"&&n[t+1]?.[0]==="INDENT"){t++;let R=tl(n,t);h.push(["",R]);let U=1;t++;while(t<n.length&&U>0){if(n[t][0]==="INDENT")U++;if(n[t][0]==="OUTDENT")U--;t++}continue}if(m[0]==="INDENT"){o++,t++;continue}if(m[0]==="OUTDENT"){if(o>0){o--,t++;continue}break}if(m[0]==="TERMINATOR"&&o===0)break;h.push(m),t++}let s=Vn(h),w=r?"readonly ":"",y=c?"?":"",A=!1;if(!c&&s.startsWith("(")){let m=0;for(let R=0;R<s.length;R++){let U=s[R];if(U==="(")m++;else if(U===")"){if(m--,m===0){let _=s.slice(R+1).trimStart();if(_===""||_.startsWith(":")&&!_.startsWith("::"))A=!0;break}}}}if(A)e.push(`${w}${a}${s}`);else e.push(`${w}${a}${y}: ${s}`)}else t++}return"{ "+e.join("; ")+" }"}function al(n,f){let e=0;for(let t=f;t<n.length;t++){if(n[t][0]==="INDENT")e++;if(n[t][0]==="OUTDENT"){if(e--,e===0)return t}}return n.length-1}function Ye(n,f){let e=f;if(n[e]?.[0]==="TERMINATOR")e++;if(n[e]?.[0]!=="INDENT")return null;let t=e;e++;while(e<n.length&&n[e][0]==="TERMINATOR")e++;if(!n[e]||n[e][1]!=="|")return null;let i=[],u=1;e=t+1;while(e<n.length&&u>0){let a=n[e];if(a[0]==="INDENT"){u++,e++;continue}if(a[0]==="OUTDENT"){if(u--,u===0)break;e++;continue}if(a[0]==="TERMINATOR"){e++;continue}if(a[1]==="|"&&u===1){e++;let c=[];while(e<n.length){let r=n[e];if(r[0]==="TERMINATOR"||r[0]==="OUTDENT"||r[1]==="|"&&u===1)break;c.push(r),e++}if(c.length>0)i.push(Vn(c));continue}e++}if(i.length===0)return null;let l=al(n,t);return{typeText:i.join(" | "),endIdx:l}}var af=new Set(["true","false","null","this","new","delete","typeof","in","instanceof","return","throw","break","continue","debugger","yield","await","if","else","switch","for","while","do","try","catch","finally","class","extends","super","import","export","default"]),rf=new Set(["undefined","Infinity","NaN","then","unless","until","loop","of","by","when","def","component","render","enum","interface"]),cl={and:"&&",or:"||",is:"==",isnt:"!=",not:"!",yes:"true",no:"false",on:"true",off:"false"},cf=new Set(Object.keys(cl)),Ze=new Set(["case","function","var","void","with","const","let","native","implements","package","private","protected","public","static"]),Ge=new Set(["break","continue","debugger"]),Ne=new Set(["NEW","TYPEOF","DELETE"]),Xe=new Set(["IN","OF","INSTANCEOF"]),Xi=new Set(["IDENTIFIER","PROPERTY",")","]","@","THIS","SUPER","DYNAMIC_IMPORT","?."]),bi=new Set([...Xi,"NUMBER","INFINITY","NAN","STRING","STRING_END","REGEX","REGEX_END","BOOL","NULL","UNDEFINED","}","MAP_END","SYMBOL"]),Gi=new Set(["IDENTIFIER","PROPERTY","NUMBER","INFINITY","NAN","STRING","STRING_START","REGEX","REGEX_START","JS","NEW","PARAM_START","CLASS","IF","TRY","SWITCH","THIS","DYNAMIC_IMPORT","IMPORT_META","NEW_TARGET","UNDEFINED","NULL","BOOL","UNARY","DO","DO_IIFE","YIELD","AWAIT","UNARY_MATH","SUPER","THROW","@","->","=>","[","(","{","MAP_START","--","++","SYMBOL"]),be=new Set(["+","-"]),Pe=new Set(["POST_IF","POST_UNLESS","FOR","WHILE","UNTIL","WHEN","BY","LOOP","TERMINATOR","||","&&","??"]),Oe=new Set(["STRING","STRING_END","REGEX","REGEX_END","NUMBER","BOOL","NULL","UNDEFINED","INFINITY","NAN","]","}","MAP_END","SYMBOL"]),jn=new Set(["(","[","{","MAP_START","PICK_START","OPTPICK_START","INDENT","CALL_START","PARAM_START","INDEX_START","STRING_START","INTERPOLATION_START","REGEX_START"]),Cn=new Set([")","]","}","MAP_END","PICK_END","OUTDENT","CALL_END","PARAM_END","INDEX_END","STRING_END","INTERPOLATION_END","REGEX_END"]),Ie={"(":")",")":"(","[":"]","]":"[","{":"}","}":"{",INDENT:"OUTDENT",OUTDENT:"INDENT",CALL_START:"CALL_END",CALL_END:"CALL_START",PARAM_START:"PARAM_END",PARAM_END:"PARAM_START",INDEX_START:"INDEX_END",INDEX_END:"INDEX_START",STRING_START:"STRING_END",STRING_END:"STRING_START",INTERPOLATION_START:"INTERPOLATION_END",INTERPOLATION_END:"INTERPOLATION_START",REGEX_START:"REGEX_END",REGEX_END:"REGEX_START",MAP_START:"MAP_END",MAP_END:"MAP_START",PICK_START:"PICK_END",PICK_END:"PICK_START",OPTPICK_START:"PICK_END"},hf=new Set(["CATCH","THEN","ELSE","FINALLY",...Cn]),rl=new Set(["IDENTIFIER","PROPERTY","SUPER",")","CALL_END","]","INDEX_END","@","THIS"]),Be=new Set(["IDENTIFIER","PROPERTY",")","CALL_END","]","INDEX_END"]),ge=new Set(["IF","TRY","FINALLY","CATCH","CLASS","SWITCH","COMPONENT","FOR"]),Ce=new Set(["IDENTIFIER","PROPERTY","NUMBER","STRING","STRING_END","REGEX","REGEX_END",")","CALL_END","]","INDEX_END","}","MAP_END","PICK_END","BOOL","NULL","UNDEFINED","INFINITY","NAN","SUPER","THIS","@","SYMBOL"]),sf=new Set(["ELSE","->","=>","TRY","FINALLY","THEN"]),ve=new Set(["TERMINATOR","CATCH","FINALLY","ELSE","OUTDENT","LEADING_WHEN"]),si=new Set(["INDENT","OUTDENT","TERMINATOR"]),ti=(n)=>n?.[0]==="IDENTIFIER"||n?.[0]==="PROPERTY",Ni=(n,f)=>{if(n?.[0]===".")return!0;if(n?.[0]==="-")return n.spaced===!1&&!n.newLine&&f?.spaced===!1&&!f?.newLine;return!1},of=new Set([".","?."]),wf=new Set(["\\",".","?.","UNARY","DO","DO_IIFE","MATH","UNARY_MATH","+","-","**","SHIFT","RELATION","COMPARE","&","^","|","&&","||","TERNARY","EXTENDS"]),Te=new Set([...bi,"++","--"]),_f=new Set(["-=","+=","/=","*=","%=","||=","&&=","?=","??=","<<=",">>=",">>>=","&=","^=","|=","**=","//=","%%="]),Ve=new Set(["*","/","%","//","%%"]),je=new Set(["==","!=","===","!==","<",">","<=",">=","=~"]),Le=new Set(["<<",">>",">>>"]),pe=new Set(["!","~"]),xe=/^(?!\d)((?:(?!\s)[$\w\x7f-\uffff])+(?:!|[?](?![.?![(]))?)([^\n\S]*:(?![=:]))?/,$e=/^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,ke=/^(?:<=>|<~|::|\*>|[-=]>|~>|~=|:=|=!|===|!==|\?\!|\?\?|=~|[-+*\/%<>&|^!?=]=|>>>=?|([-+:])\1|([&|<>*\/%])\2=?|\?\.?|\.{2,3})/,nt=/^[^\n\S]+/,it=/^(?:\n[^\n\S]*)+/,lt=/^(\s*)###([^#][\s\S]*?)(?:###([^\n\S]*)|###$)|^((?:\s*#(?!##[^#]).*)+)/,ft=/^[-=]>/,ut=/^(?:~[=>]|=!)/,et=/^(?:'''\\|"""\\|'''|"""|'|")/,tt=/^(?:[^\\']|\\[\s\S])*/,at=/^(?:[^\\"#$]|\\[\s\S]|\#(?!\{)|\$(?!\{))*/,rt=/^(?:[^\\']|\\[\s\S]|'(?!''))*/,ct=/^(?:[^\\"#$]|\\[\s\S]|"(?!"")|\#(?!\{)|\$(?!\{))*/,mf=/\n+([^\n\S]*)(?=\S)/g,ht=/^\/(?!\/)((?:[^[\/\n\\]|\\[^\n]|\[(?:\\[^\n]|[^\]\n\\])*\])*)(\/)?/,yf=/^\w*/,st=/^(?!.*(.).*\1)[gimsuy]*$/,ot=/^(?:[^\\\/#\s]|\\[\s\S]|\/(?!\/\/)|\#(?!\{)|\s+(?:#(?!\{).*)?)*/,wt=/^`(?!``)((?:[^`\\]|\\[\s\S])*)`/,_t=/^```((?:[^`\\]|\\[\s\S]|`(?!``))*)```/,mt=/\s+$/,Af=/^\s*(?:,|\??\.(?![.\d]))/,yt=65279;function Pi(n,f,{pre:e=0,row:t=0,col:i=0,len:u=0,data:l=null}={}){let a=[n,f];return a.pre=e,a.data=l,a.loc={r:t,c:i,n:u},a.spaced=e>0,a.newLine=!1,a}function On(n,f,e){let t=Pi(n,f);if(t.generated=!0,e)t.origin=e;return t}function In(n,{row:f=0,col:e=0,len:t=1}={}){let i=SyntaxError(n);throw i.location={first_line:f,first_column:e,last_column:e+t-1},i}function At(n){if(n==null)return NaN;switch(n.charAt(1)){case"b":return parseInt(n.slice(2).replace(/_/g,""),2);case"o":return parseInt(n.slice(2).replace(/_/g,""),8);case"x":return parseInt(n.slice(2).replace(/_/g,""),16);default:return parseFloat(n.replace(/_/g,""))}}class vn{tokenize(n,f={}){this.code=n,this.tokens=[],this.ends=[],this.chunk="",this.pos=0,this.row=f.row||0,this.col=f.col||0,this.indent=0,this.indents=[],this.seenFor=!1,this.seenImport=!1,this.seenExport=!1,this.importSpecifierList=!1,this.exportSpecifierList=!1,this.inRenderBlock=!1,this.renderIndent=0,this.inTypeAnnotation=!1,n=this.clean(n),this.code=n;while(this.pos<n.length){this.chunk=n.slice(this.pos);let e=this.identifierToken()||this.commentToken()||this.whitespaceToken()||this.lineToken()||this.stringToken()||this.numberToken()||this.regexToken()||this.jsToken()||this.literalToken();if(e===0)In(`unexpected character: ${this.chunk.charAt(0)}`,{row:this.row,col:this.col});if(this.advance(e),f.untilBalanced&&this.ends.length===0)return{tokens:this.tokens,index:this.pos}}if(this.closeIndentation(),this.ends.length>0){let e=this.ends[this.ends.length-1];In(`missing ${e.tag}`,{row:this.row,col:this.col})}if(f.rewrite===!1)return this.tokens;return this.rewrite(this.tokens)}clean(n){if(n.charCodeAt(0)===yt)n=n.slice(1);if(n=n.replace(/\r\n?/g,`
1866
+ `),f=this.line;if(f<0||f>=n.length)return null;let e=2,t=Math.max(0,f-e),i=Math.min(n.length-1,f+e),u=String(i+1).length,l=[];for(let a=t;a<=i;a++){let r=` ${String(a+1).padStart(u)} │ `;if(l.push({type:"source",gutter:r,text:n[a]}),a===f&&this.column!=null){let h=" ".repeat(this.column),o=Math.max(1,Math.min(this.length||1,n[a].length-this.column)),s="^".repeat(o),w=" ".repeat(u+2)+"│ ";l.push({type:"caret",gutter:w,text:`${h}${s}`})}}return l}}function He(n){return n instanceof SyntaxError&&n.location!=null}function Ke(n){return!(n instanceof SyntaxError)&&n.hash!=null}function hi(n,f,e){if(n instanceof Hn){if(e&&!n.file)n.file=e;if(f&&!n.source)n.source=f;return n}if(He(n))return Hn.fromLexer(n,f,e);if(Ke(n))return Hn.fromParser(n,f,e);return new Hn(n.message,{file:e,source:f,phase:"unknown"})}function ei(n,{source:f,file:e,color:t=!0}={}){return(n instanceof Hn?n:hi(n,f,e)).format({color:t})}function el(n,{source:f,file:e}={}){return(n instanceof Hn?n:hi(n,f,e)).formatHTML()}function ui(n){return n.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}function tf(n){let f=n.prototype;f.rewriteTypes=function(){let e=this.tokens,t=this.typeRefNames=new Set;Je(e);let i=(u,l,a)=>{let c=[u,l];if(c.pre=0,c.data=null,c.loc=a?.loc??{r:0,c:0,n:0},c.spaced=!1,c.newLine=!1,c.generated=!0,a)c.origin=a;return c};this.scanTokens((u,l,a)=>{let c=u[0];if(c==="IDENTIFIER"){let r=a[l+1];if(r&&r[0]==="COMPARE"&&r[1]==="<"&&!r.spaced){let h=a[l-1]?.[0]==="DEF",o=ef(a,l+1);if(o){let s=l+1+o.length,w=!h&&a[s]?.[0]==="="&&a[s+1]?.[0]==="COMPONENT";if(h||w){if(!u.data)u.data={};if(u.data.typeParams=Vn(o),a.splice(l+1,o.length),h&&a[l+1]?.[0]==="("){a[l+1][0]="CALL_START";let _=1,A=l+2;while(A<a.length&&_>0){if(a[A][0]==="("||a[A][0]==="CALL_START")_++;if(a[A][0]===")"||a[A][0]==="CALL_END")_--;if(_===0)a[A][0]="CALL_END";A++}}}}}}if(c==="TYPE_ANNOTATION"){let r=a[l-1];if(!r)return 1;let h=r[0]==="PARAM_END",o=uf(a,l+1,{stopAtFatArrow:h});if(h&&Qe(o)){let y=a[l+1]?.loc;throw new Hn("A function-type return on an arrow must be parenthesized",{code:"E_SYNTAX",phase:"lexer",line:y?.r??null,column:y?.c??null,length:y?.n??1,suggestion:"wrap the whole function type in parens — "+"`(x):: ((a: T) => R) => body`, not `(x):: (a: T) => R => body`"})}let s=Vn(o),w=r,_="type";if(r[0]==="CALL_END"||r[0]===")"){let y=1,R=l-2;while(R>=0&&y>0){let U=a[R][0];if(U==="CALL_END"||U===")")y++;if(U==="CALL_START"||U==="(")y--;R--}if(R>=0)w=a[R];_="returnType"}else if(r[0]==="PARAM_END"){let y=l+1+o.consumed,R=a[y];if(R&&(R[0]==="->"||R[0]==="=>"))w=R;_="returnType"}else if(r[0]==="IDENTIFIER"&&l>=2&&a[l-2]?.[0]==="DEF")_="returnType";if(!w.data)w.data={};w.data[_]=s;for(let y of o)if(y[0]==="IDENTIFIER")t.add(y[1]);let A=1+o.consumed;return a.splice(l,A),0}if(c==="IDENTIFIER"&&u[1]==="type"){let r=a[l-1]?.[0];if(!(!r||r==="TERMINATOR"||r==="INDENT"||r==="EXPORT"))return 1;let o=l+1,s=a[o];if(!s||s[0]!=="IDENTIFIER")return 1;let w=s[1],_=r==="EXPORT",A=_?l-1:l,y=o+1;if(a[y]?.[0]==="COMPARE"&&a[y]?.[1]==="<"&&!a[y].spaced){let q=ef(a,y);if(q){if(!s.data)s.data={};s.data.typeParams=Vn(q),a.splice(y,q.length)}}if(a[y]?.[0]!=="=")return 1;let R=(q)=>{let S=i("TYPE_DECL",w,s);if(S.data={name:w,typeText:q,exported:_},s.data?.typeParams)S.data.typeParams=s.data.typeParams;return S},U=y+1,m=a[U],D=(q,S)=>{for(let d=q;d<=S&&d<a.length;d++)if(a[d][0]==="IDENTIFIER")t.add(a[d][1])};if(m&&(m[0]==="TERMINATOR"||m[0]==="INDENT")){let q=Ye(a,U);if(q)return D(U,q.endIdx),a.splice(A,q.endIdx-A+1,R(q.typeText)),0}if(m&&m[0]==="INDENT"){let q=al(a,U);return D(U,q),a.splice(A,q-A+1,R(tl(a,U))),0}let M=uf(a,U);return D(U,U+M.consumed-1),a.splice(A,U+M.consumed-A,R(Vn(M))),0}if(c==="INTERFACE"){let r=l>=1&&a[l-1]?.[0]==="EXPORT",h=l+1,o=a[h];if(!o)return 1;let s=o[1],w=null,_=h+1;if(a[_]?.[0]==="EXTENDS")w=a[_+1]?.[1],_=_+2;if(a[_]?.[0]==="INDENT"){let A=tl(a,_),y=al(a,_);for(let D=_;D<=y&&D<a.length;D++)if(a[D][0]==="IDENTIFIER")t.add(a[D][1]);if(w)t.add(w);let R=i("TYPE_DECL",s,o);R.data={name:s,kind:"interface",extends:w,typeText:A,exported:r};let U=r?l-1:l,m=y-U+1;return a.splice(U,m,R),0}return 1}return 1});for(let u=e.length-1;u>=0;u--){if(e[u][0]!=="DEF")continue;let l=e[u+1];if(!l||l[0]!=="IDENTIFIER")continue;let a=u+2;if(e[a]?.[0]!=="CALL_START")continue;let c=1;a++;while(a<e.length&&c>0){if(e[a][0]==="CALL_START")c++;if(e[a][0]==="CALL_END")c--;a++}let r=a-1,h=e[a];if(h&&h[0]!=="TERMINATOR")continue;let o=l.data?.returnType;if(!o){for(let R=u+2;R<=r;R++)if(e[R].data?.type){o=!0;break}}if(!o)continue;let s=e.slice(u,a+1),w=u>=1&&e[u-1]?.[0]==="EXPORT",_=w?u-1:u,A=a+1-_,y=i("TYPE_DECL",l[1],l);if(y.data={name:l[1],kind:"overload",overloadTokens:s,exported:w},l.data?.typeParams)y.data.typeParams=l.data.typeParams;e.splice(_,A,y)}}}function Qe(n){let f=(l)=>l==="("||l==="PARAM_START"||l==="CALL_START",e=(l)=>l===")"||l==="PARAM_END"||l==="CALL_END";if(n.length<2||!f(n[0][0]))return!1;let t=0;for(let l=0;l<n.length;l++){let a=n[l][0];if(f(a))t++;else if(e(a)){if(--t===0&&l!==n.length-1)return!1}}if(t!==0)return!1;if(n.length===2)return!0;let i=0,u=!1;for(let l of n){let a=l[0];if(f(a)||a==="["||a==="{"||a==="INDEX_START")i++;else if(e(a)||a==="]"||a==="}"||a==="INDEX_END")i--;else if(i===1&&a==="TERNARY")u=!0;else if(i===1&&a===":")if(u)u=!1;else return!0}return!1}function ff(n,f,e){if(e<=f)return!1;let t=new Set(["|","&",",",":","?",".","..."]),i=0,u=0,l=0,a=0,c=!1,r=[],h=null;for(let o=f;o<e;o++){let s=n[o][0],w=n[o][1];if(s==="=>"){let _=o>f?n[o-1][0]:null;if((_===")"||_==="PARAM_END")&&h&&(h.colon||h.empty)){c=!1;continue}return!1}if(s==="("||s==="PARAM_START"){r.push({colon:!1,open:o}),i++,c=!1;continue}if(s===")"||s==="PARAM_END"){if(--i<0)return!1;let _=r.pop();h=_?{colon:_.colon,empty:o===_.open+1}:null,c=!0;continue}if(s==="["||s==="INDEX_START"){u++,c=!1;continue}if(s==="]"||s==="INDEX_END"){if(--u<0)return!1;c=!0;continue}if(s==="{"){l++,c=!1;continue}if(s==="}"){if(--l<0)return!1;c=!0;continue}if(s==="COMPARE"){if(w==="<"){a++,c=!1;continue}if(w===">"){if(a<=0)return!1;a--,c=!0;continue}return!1}if(s==="SHIFT"){if(w===">>"){if(a<2)return!1;a-=2,c=!0;continue}return!1}if(s==="="){if(a>0){c=!1;continue}return!1}if(t.has(s)){if(s===":"&&r.length)r[r.length-1].colon=!0;c=!1;continue}if(s==="IDENTIFIER"||s==="PROPERTY"||s==="NUMBER"||s==="STRING"||s==="NULL"||s==="UNDEFINED"||s==="BOOL"){if(c)return!1;c=!0;continue}return!1}return i===0&&u===0&&l===0&&a===0&&c}function We(n,f,e){let t=new Set(["=","REACTIVE_ASSIGN","COMPUTED_ASSIGN","READONLY_ASSIGN"]),i=0,u=0,l=0,a=[];for(let c=f;c<n.length;c++){let r=n[c][0];if(r==="INDENT"){i++;let h=n[c-1]?.[0];if(h==="->"||h==="=>")a.push(i),l++;continue}if(r==="OUTDENT"){if(i===0)return!1;if(a[a.length-1]===i)a.pop(),l--;i--;continue}if(r==="("||r==="CALL_START"||r==="PARAM_START"||r==="["||r==="INDEX_START"||r==="{"){u++;continue}if(r===")"||r==="CALL_END"||r==="PARAM_END"||r==="]"||r==="INDEX_END"||r==="}"){u--;continue}if(l===0&&u===0&&(r==="IDENTIFIER"||r==="PROPERTY")&&n[c][1]===e&&t.has(n[c+1]?.[0]))return!0}return!1}function Je(n){let f=(m)=>m==="("||m==="CALL_START"||m==="PARAM_START"||m==="{"||m==="["||m==="INDEX_START",e=(m)=>m===")"||m==="CALL_END"||m==="PARAM_END"||m==="}"||m==="]"||m==="INDEX_END",t=(m)=>{let D=m-1,M=n[D]?.[0],q=n[D]?.[1];if(M==="COMPARE"&&q===">"||M==="SHIFT"&&q===">>"){let S=M==="SHIFT"?2:1;D--;while(D>=0&&S>0){let d=n[D][0],K=n[D][1];if(d==="COMPARE"&&K===">")S++;else if(d==="SHIFT"&&K===">>")S+=2;else if(d==="COMPARE"&&K==="<")S--;else if(d==="SHIFT"&&K==="<<")S-=2;D--}}if(n[D]?.[0]!=="IDENTIFIER"&&n[D]?.[0]!=="PROPERTY")return!1;return n[D-1]?.[0]==="DEF"},i=new Set(["TERMINATOR","INDENT","OUTDENT","EXPORT"]),u=new Set(["=","REACTIVE_ASSIGN","COMPUTED_ASSIGN","READONLY_ASSIGN"]),l=(m)=>!m||i.has(m[0]),a=(m)=>{let D=0;for(let M=m;M<n.length;M++){let q=n[M][0];if(f(q))D++;else if(e(q))D--;else if(D===0){if(q==="->"||q==="=>")return!1;if(u.has(q))return!0;if((q==="EFFECT"||q==="GATE")&&M>m)return!0;if(q==="TERMINATOR"||q==="INDENT"||q==="OUTDENT")return!1}}return!1},c=(m)=>{let D=0;for(let M=m;M<n.length;M++){let q=n[M][0];if(f(q))D++;else if(e(q))D--;else if(D===0){if(q==="->"||q==="=>")return!0;if(q==="TERMINATOR"||q==="INDENT"||q==="OUTDENT")return!1}}return!1},r=!1,h=[],o=()=>h.length>0&&h[h.length-1],s=(m)=>{let D=n[m-1]?.[0];if(D!=="PROPERTY"&&D!=="IDENTIFIER")return!1;if(n[m-2]?.[0]==="@")return l(n[m-3]);return l(n[m-2])},w=!1,_=0,A=()=>{w=!0,_=U.length},y=!1,R=!1,U=[];for(let m=0;m<n.length;m++){let D=n[m][0];if(D==="CLASS"||D==="COMPONENT"){r=!0;continue}if(D==="INDENT"){if(h.push(r),r=!1,y=R=!1,w&&U.length<=_)w=!1;continue}if(D==="OUTDENT"){if(h.pop(),y=R=!1,w&&U.length<=_)w=!1;continue}if(f(D)){let q="other";if(!w){if(D==="PARAM_START")q="param";else if((D==="CALL_START"||D==="(")&&t(m))q="defparam"}U.push({kind:q,sawEq:!1,sawType:!1});continue}if(e(D)){if(U.pop()?.kind==="defparam")(n[m].data??={}).isDefParamEnd=!0;if(w&&U.length<_)w=!1;continue}if(D==="TYPE_ANNOTATION"){if(!w)A();continue}if(w)if(U.length<=_&&(D==="="||D===","||D==="TERMINATOR"||D==="->"||u.has(D)))w=!1;else continue;if(D==="TERMINATOR"&&U.length===0)y=R,R=!1;if(D===":"){let q=n[m-1],S=q?.[0];if(U.length===0&&(S==="IDENTIFIER"||S==="PROPERTY")&&l(n[m-2]))R=!0;if(S==="PARAM_END"||(S===")"||S==="CALL_END")&&q.data?.isDefParamEnd){n[m][0]="TYPE_ANNOTATION",A();continue}if((S==="IDENTIFIER"||S==="PROPERTY")&&n[m-2]?.[0]==="DEF"){if(S==="PROPERTY")q[0]="IDENTIFIER";n[m][0]="TYPE_ANNOTATION",A();continue}if(U.length===0&&s(m)&&a(m+1)){if(S==="PROPERTY"&&n[m-2]?.[0]!=="@")q[0]="IDENTIFIER";n[m][0]="TYPE_ANNOTATION",A();continue}if(U.length===0&&s(m)){let d=0;for(let K=m+1;K<n.length;K++){let E=n[K][0];if(f(E))d++;else if(e(E)){if(d===0)break;d--}else if(d===0){if(E==="TERMINATOR"||E==="INDENT"||E==="OUTDENT")break;if(E==="="&&ff(n,m+1,K)){if(S==="PROPERTY"&&n[m-2]?.[0]!=="@")q[0]="IDENTIFIER";n[m][0]="TYPE_ANNOTATION",A();break}}}if(n[m][0]==="TYPE_ANNOTATION")continue}if(o()&&U.length===0&&s(m)&&!c(m+1)){if(S==="PROPERTY"&&n[m-2]?.[0]!=="@")q[0]="IDENTIFIER";n[m][0]="TYPE_ANNOTATION",A();continue}if(U.length===0&&s(m)&&n[m-2]?.[0]!=="@"){let d=0,K=-1;for(let Q=m+1;Q<n.length;Q++){let W=n[Q][0];if(f(W))d++;else if(e(W)){if(d===0)break;d--}else if(d===0){if(W==="TERMINATOR"){K=Q;break}if(W==="INDENT"||W==="OUTDENT"||W==="="||u.has(W))break}}let E=n[K+1],Z=E&&(E[0]==="IDENTIFIER"||E[0]==="PROPERTY")&&n[K+2]?.[0]===":";if(K>m+1&&E&&E[0]!=="OUTDENT"&&!y&&!Z&&ff(n,m+1,K)&&We(n,K+1,q[1])){if(S==="PROPERTY")q[0]="IDENTIFIER";n[m][0]="TYPE_ANNOTATION",A();continue}}}let M=U[U.length-1];if(M&&(M.kind==="param"||M.kind==="defparam")){if(D===","){M.sawEq=!1,M.sawType=!1;continue}if(D==="="){M.sawEq=!0;continue}if(D===":"&&!M.sawEq&&!M.sawType){let q=n[m-1],S=q?.[0];if(S==="PROPERTY"||S==="IDENTIFIER"){if(S==="PROPERTY"&&n[m-2]?.[0]!=="@")q[0]="IDENTIFIER";n[m][0]="TYPE_ANNOTATION",M.sawType=!0,A()}else if(S==="}"||S==="]"||S==="INDEX_END")n[m][0]="TYPE_ANNOTATION",M.sawType=!0,A()}}}}function uf(n,f,e={}){let t=[],i=0,u=[],l=f;while(f<n.length){let a=n[f],c=a[0],r=c==="("||c==="["||c==="{"||c==="CALL_START"||c==="PARAM_START"||c==="INDEX_START"||c==="COMPARE"&&a[1]==="<",h=c===")"||c==="]"||c==="}"||c==="CALL_END"||c==="PARAM_END"||c==="INDEX_END"||c==="COMPARE"&&a[1]===">";if(c==="SHIFT"&&a[1]===">>"&&i>=2){if(i-=2,u[u.length-1]==="<")u.pop();if(u[u.length-1]==="<")u.pop();t.push(a),f++;continue}if(r){i++;let o=c==="{"?"{":c==="["||c==="INDEX_START"?"[":c==="COMPARE"&&a[1]==="<"?"<":"(";u.push(o),t.push(a),f++;continue}if(h){if(i>0){i--,u.pop(),t.push(a),f++;continue}break}if(i===0){if(e.stopAtFatArrow&&c==="=>")break;if(c==="INDENT"&&t.length>0&&t[t.length-1][0]==="=>"){f++;let o=1;while(f<n.length&&o>0)if(n[f][0]==="INDENT")o++,f++;else if(n[f][0]==="OUTDENT")o--,f++;else t.push(n[f]),f++;continue}if(c==="="||c==="REACTIVE_ASSIGN"||c==="COMPUTED_ASSIGN"||c==="READONLY_ASSIGN"||c==="EFFECT"||c==="GATE"||c==="TERMINATOR"||c==="INDENT"||c==="OUTDENT"||c==="->"||c===",")break}if(i>0&&(c==="INDENT"||c==="OUTDENT")){f++;continue}if(i>0&&c==="TERMINATOR"){t.push(["",";"]),f++;continue}if(c==="PROPERTY"&&u[u.length-1]==="{"){let o=t[t.length-1],s=o?.[0],w=o?.[1];if(o&&s!=="{"&&s!==","&&!(s===""&&w===";"))t.push(["",";"])}t.push(a),f++}return t.consumed=f-l,t}function Vn(n){if(n.length===0)return"";if(n[0]?.[0]==="=>")n.unshift(["","()"]);{let t=0;for(let i of n){let u=i[0];if(u==="{")t++;else if(u==="}")t--;else if(u==="TYPE_ANNOTATION"&&t>0){let l=i.loc,a=l?` (line ${l.r}, col ${l.c})`:"",c=Error(`Use \`:\` (not \`::\`) inside a structural type literal${a}. \`::\` binds a name to a type; inside \`{ ... }\` in type position, fields use \`:\` (TS-style).`);throw c.loc=l,c}}}let e=n.map((t,i)=>{let u=n[i+1];if(t.data?.optional&&u&&(u[0]==="TYPE_ANNOTATION"||u[0]===":"))return`${t[1]}?`;if(t[0]==="JS")return"`"+t[1]+"`";return t[1]}).join(" ").replace(/\s+/g," ").trim();return e=e.replace(/\s*<\s*/g,"<").replace(/\s*>\s*/g,">").replace(/\s*\[\s*/g,"[").replace(/\s*\]\s*/g,"]").replace(/\s*\(\s*/g,"(").replace(/\s*\)\s*/g,")").replace(/\s*,\s*/g,", ").replace(/\s*=>\s*/g," => ").replace(/ :: /g,": ").replace(/:: /g,": ").replace(/ : /g,": "),e}function ef(n,f){if(f>=n.length)return null;let e=n[f];if(e[0]!=="COMPARE"||e[1]!=="<")return null;let t=[e],i=1,u=f+1;while(u<n.length&&i>0){let l=n[u];if(t.push(l),l[0]==="COMPARE"&&l[1]==="<")i++;else if(l[0]==="COMPARE"&&l[1]===">")i--;u++}return i===0?t:null}function tl(n,f){let e=[],t=f+1,i=1;while(t<n.length&&i>0){let u=n[t];if(u[0]==="INDENT"){i++,t++;continue}if(u[0]==="OUTDENT"){if(i--,i===0)break;t++;continue}if(u[0]==="TERMINATOR"){t++;continue}if(i===1&&u[0]==="["){let a=[];t++;while(t<n.length&&n[t][0]!=="]")a.push(n[t]),t++;if(t++,n[t]?.[1]===":"||n[t]?.[0]==="TYPE_ANNOTATION")t++;let c=[];while(t<n.length){let o=n[t];if(o[0]==="TERMINATOR"||o[0]==="OUTDENT")break;c.push(o),t++}let r=Vn(a),h=Vn(c);e.push(`[${r}]: ${h}`);continue}let l=u[0]==="PROPERTY"||u[0]==="IDENTIFIER"||i===1&&/^[a-zA-Z_$]/.test(u[1])&&n[t+1]?.[0]==="TYPE_ANNOTATION";if(i===1&&l){let a=u[1],c=!1,r=!1;if(t++,a==="readonly"&&n[t]&&(n[t][0]==="PROPERTY"||n[t][0]==="IDENTIFIER"||/^[a-zA-Z_$]/.test(n[t][1])&&n[t+1]?.[0]==="TYPE_ANNOTATION")){if(r=!0,a=n[t][1],n[t].data?.optional)c=!0;t++}if(u.data?.optional)c=!0;if(n[t]?.[1]==="?"&&!n[t]?.spaced)c=!0,t++;if(n[t]?.[1]===":"||n[t]?.[0]==="TYPE_ANNOTATION")t++;let h=[],o=0;while(t<n.length){let y=n[t];if(y[0]==="IDENTIFIER"&&y[1]==="type"&&n[t+1]?.[0]==="INDENT"){t++;let R=tl(n,t);h.push(["",R]);let U=1;t++;while(t<n.length&&U>0){if(n[t][0]==="INDENT")U++;if(n[t][0]==="OUTDENT")U--;t++}continue}if(y[0]==="INDENT"){o++,t++;continue}if(y[0]==="OUTDENT"){if(o>0){o--,t++;continue}break}if(y[0]==="TERMINATOR"&&o===0)break;h.push(y),t++}let s=Vn(h),w=r?"readonly ":"",_=c?"?":"",A=!1;if(!c&&s.startsWith("(")){let y=0;for(let R=0;R<s.length;R++){let U=s[R];if(U==="(")y++;else if(U===")"){if(y--,y===0){let m=s.slice(R+1).trimStart();if(m===""||m.startsWith(":")&&!m.startsWith("::"))A=!0;break}}}}if(A)e.push(`${w}${a}${s}`);else e.push(`${w}${a}${_}: ${s}`)}else t++}return"{ "+e.join("; ")+" }"}function al(n,f){let e=0;for(let t=f;t<n.length;t++){if(n[t][0]==="INDENT")e++;if(n[t][0]==="OUTDENT"){if(e--,e===0)return t}}return n.length-1}function Ye(n,f){let e=f;if(n[e]?.[0]==="TERMINATOR")e++;if(n[e]?.[0]!=="INDENT")return null;let t=e;e++;while(e<n.length&&n[e][0]==="TERMINATOR")e++;if(!n[e]||n[e][1]!=="|")return null;let i=[],u=1;e=t+1;while(e<n.length&&u>0){let a=n[e];if(a[0]==="INDENT"){u++,e++;continue}if(a[0]==="OUTDENT"){if(u--,u===0)break;e++;continue}if(a[0]==="TERMINATOR"){e++;continue}if(a[1]==="|"&&u===1){e++;let c=[];while(e<n.length){let r=n[e];if(r[0]==="TERMINATOR"||r[0]==="OUTDENT"||r[1]==="|"&&u===1)break;c.push(r),e++}if(c.length>0)i.push(Vn(c));continue}e++}if(i.length===0)return null;let l=al(n,t);return{typeText:i.join(" | "),endIdx:l}}var af=new Set(["true","false","null","this","new","delete","typeof","in","instanceof","return","throw","break","continue","debugger","yield","await","if","else","switch","for","while","do","try","catch","finally","class","extends","super","import","export","default"]),rf=new Set(["undefined","Infinity","NaN","then","unless","until","loop","of","by","when","def","component","render","enum","interface"]),cl={and:"&&",or:"||",is:"==",isnt:"!=",not:"!",yes:"true",no:"false",on:"true",off:"false"},cf=new Set(Object.keys(cl)),Ze=new Set(["case","function","var","void","with","const","let","native","implements","package","private","protected","public","static"]),Ge=new Set(["break","continue","debugger"]),Ne=new Set(["NEW","TYPEOF","DELETE"]),Xe=new Set(["IN","OF","INSTANCEOF"]),Xi=new Set(["IDENTIFIER","PROPERTY",")","]","@","THIS","SUPER","DYNAMIC_IMPORT","?."]),bi=new Set([...Xi,"NUMBER","INFINITY","NAN","STRING","STRING_END","REGEX","REGEX_END","BOOL","NULL","UNDEFINED","}","MAP_END","SYMBOL"]),Gi=new Set(["IDENTIFIER","PROPERTY","NUMBER","INFINITY","NAN","STRING","STRING_START","REGEX","REGEX_START","JS","NEW","PARAM_START","CLASS","IF","TRY","SWITCH","THIS","DYNAMIC_IMPORT","IMPORT_META","NEW_TARGET","UNDEFINED","NULL","BOOL","UNARY","DO","DO_IIFE","YIELD","AWAIT","UNARY_MATH","SUPER","THROW","@","->","=>","[","(","{","MAP_START","--","++","SYMBOL"]),be=new Set(["+","-"]),Pe=new Set(["POST_IF","POST_UNLESS","FOR","WHILE","UNTIL","WHEN","BY","LOOP","TERMINATOR","||","&&","??"]),Oe=new Set(["STRING","STRING_END","REGEX","REGEX_END","NUMBER","BOOL","NULL","UNDEFINED","INFINITY","NAN","]","}","MAP_END","SYMBOL"]),jn=new Set(["(","[","{","MAP_START","PICK_START","OPTPICK_START","INDENT","CALL_START","PARAM_START","INDEX_START","STRING_START","INTERPOLATION_START","REGEX_START"]),Cn=new Set([")","]","}","MAP_END","PICK_END","OUTDENT","CALL_END","PARAM_END","INDEX_END","STRING_END","INTERPOLATION_END","REGEX_END"]),Be={"(":")",")":"(","[":"]","]":"[","{":"}","}":"{",INDENT:"OUTDENT",OUTDENT:"INDENT",CALL_START:"CALL_END",CALL_END:"CALL_START",PARAM_START:"PARAM_END",PARAM_END:"PARAM_START",INDEX_START:"INDEX_END",INDEX_END:"INDEX_START",STRING_START:"STRING_END",STRING_END:"STRING_START",INTERPOLATION_START:"INTERPOLATION_END",INTERPOLATION_END:"INTERPOLATION_START",REGEX_START:"REGEX_END",REGEX_END:"REGEX_START",MAP_START:"MAP_END",MAP_END:"MAP_START",PICK_START:"PICK_END",PICK_END:"PICK_START",OPTPICK_START:"PICK_END"},hf=new Set(["CATCH","THEN","ELSE","FINALLY",...Cn]),rl=new Set(["IDENTIFIER","PROPERTY","SUPER",")","CALL_END","]","INDEX_END","@","THIS"]),Ie=new Set(["IDENTIFIER","PROPERTY",")","CALL_END","]","INDEX_END"]),ge=new Set(["IF","TRY","FINALLY","CATCH","CLASS","SWITCH","COMPONENT","FOR"]),Ce=new Set(["IDENTIFIER","PROPERTY","NUMBER","STRING","STRING_END","REGEX","REGEX_END",")","CALL_END","]","INDEX_END","}","MAP_END","PICK_END","BOOL","NULL","UNDEFINED","INFINITY","NAN","SUPER","THIS","@","SYMBOL"]),sf=new Set(["ELSE","->","=>","TRY","FINALLY","THEN"]),ve=new Set(["TERMINATOR","CATCH","FINALLY","ELSE","OUTDENT","LEADING_WHEN"]),si=new Set(["INDENT","OUTDENT","TERMINATOR"]),ti=(n)=>n?.[0]==="IDENTIFIER"||n?.[0]==="PROPERTY",Ni=(n,f)=>{if(n?.[0]===".")return!0;if(n?.[0]==="-")return n.spaced===!1&&!n.newLine&&f?.spaced===!1&&!f?.newLine;return!1},of=new Set([".","?."]),wf=new Set(["\\",".","?.","UNARY","DO","DO_IIFE","MATH","UNARY_MATH","+","-","**","SHIFT","RELATION","COMPARE","&","^","|","&&","||","TERNARY","EXTENDS"]),Te=new Set([...bi,"++","--"]),_f=new Set(["-=","+=","/=","*=","%=","||=","&&=","?=","??=","<<=",">>=",">>>=","&=","^=","|=","**=","//=","%%="]),Ve=new Set(["*","/","%","//","%%"]),je=new Set(["==","!=","===","!==","<",">","<=",">=","=~"]),Le=new Set(["<<",">>",">>>"]),pe=new Set(["!","~"]),xe=/^(?!\d)((?:(?!\s)[$\w\x7f-\uffff])+(?:!|[?](?![.?![(]))?)([^\n\S]*:(?![=:]))?/,$e=/^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,ke=/^(?:<=>|<~|::|\*>|[-=]>|~>|~=|:=|=!|===|!==|\?\!|\?\?|=~|[-+*\/%<>&|^!?=]=|>>>=?|([-+:])\1|([&|<>*\/%])\2=?|\?\.?|\.{2,3})/,nt=/^[^\n\S]+/,it=/^(?:\n[^\n\S]*)+/,lt=/^(\s*)###([^#][\s\S]*?)(?:###([^\n\S]*)|###$)|^((?:\s*#(?!##[^#]).*)+)/,ft=/^[-=]>/,ut=/^(?:~[=>]|=!)/,et=/^(?:'''\\|"""\\|'''|"""|'|")/,tt=/^(?:[^\\']|\\[\s\S])*/,at=/^(?:[^\\"#$]|\\[\s\S]|\#(?!\{)|\$(?!\{))*/,rt=/^(?:[^\\']|\\[\s\S]|'(?!''))*/,ct=/^(?:[^\\"#$]|\\[\s\S]|"(?!"")|\#(?!\{)|\$(?!\{))*/,mf=/\n+([^\n\S]*)(?=\S)/g,ht=/^\/(?!\/)((?:[^[\/\n\\]|\\[^\n]|\[(?:\\[^\n]|[^\]\n\\])*\])*)(\/)?/,yf=/^\w*/,st=/^(?!.*(.).*\1)[gimsuy]*$/,ot=/^(?:[^\\\/#\s]|\\[\s\S]|\/(?!\/\/)|\#(?!\{)|\s+(?:#(?!\{).*)?)*/,wt=/^`(?!``)((?:[^`\\]|\\[\s\S])*)`/,_t=/^```((?:[^`\\]|\\[\s\S]|`(?!``))*)```/,mt=/\s+$/,Af=/^\s*(?:,|\??\.(?![.\d]))/,yt=65279;function Pi(n,f,{pre:e=0,row:t=0,col:i=0,len:u=0,data:l=null}={}){let a=[n,f];return a.pre=e,a.data=l,a.loc={r:t,c:i,n:u},a.spaced=e>0,a.newLine=!1,a}function On(n,f,e){let t=Pi(n,f);if(t.generated=!0,e)t.origin=e;return t}function Bn(n,{row:f=0,col:e=0,len:t=1}={}){let i=SyntaxError(n);throw i.location={first_line:f,first_column:e,last_column:e+t-1},i}function At(n){if(n==null)return NaN;switch(n.charAt(1)){case"b":return parseInt(n.slice(2).replace(/_/g,""),2);case"o":return parseInt(n.slice(2).replace(/_/g,""),8);case"x":return parseInt(n.slice(2).replace(/_/g,""),16);default:return parseFloat(n.replace(/_/g,""))}}class vn{tokenize(n,f={}){this.code=n,this.tokens=[],this.ends=[],this.chunk="",this.pos=0,this.row=f.row||0,this.col=f.col||0,this.indent=0,this.indents=[],this.seenFor=!1,this.seenImport=!1,this.seenExport=!1,this.importSpecifierList=!1,this.exportSpecifierList=!1,this.inRenderBlock=!1,this.renderIndent=0,this.inTypeAnnotation=!1,n=this.clean(n),this.code=n;while(this.pos<n.length){this.chunk=n.slice(this.pos);let e=this.identifierToken()||this.commentToken()||this.whitespaceToken()||this.lineToken()||this.stringToken()||this.numberToken()||this.regexToken()||this.jsToken()||this.literalToken();if(e===0)Bn(`unexpected character: ${this.chunk.charAt(0)}`,{row:this.row,col:this.col});if(this.advance(e),f.untilBalanced&&this.ends.length===0)return{tokens:this.tokens,index:this.pos}}if(this.closeIndentation(),this.ends.length>0){let e=this.ends[this.ends.length-1];Bn(`missing ${e.tag}`,{row:this.row,col:this.col})}if(f.rewrite===!1)return this.tokens;return this.rewrite(this.tokens)}clean(n){if(n.charCodeAt(0)===yt)n=n.slice(1);if(n=n.replace(/\r\n?/g,`
1867
1867
  `),n=n.replace(mt,""),/^[^\n\S]/.test(n))n=`
1868
1868
  `+n;return n}advance(n){let f=this.code.slice(this.pos,this.pos+n);for(let e=0;e<f.length;e++)if(f[e]===`
1869
- `)this.row++,this.col=0;else this.col++;this.pos+=n}emit(n,f,{len:e,data:t,pre:i}={}){let u=Pi(n,f,{pre:i??0,row:this.row,col:this.col,len:e??(typeof f==="string"?f.length:0),data:t});return this.tokens.push(u),u}prev(){return this.tokens[this.tokens.length-1]}prevTag(){let n=this.prev();return n?n[0]:void 0}prevVal(){let n=this.prev();return n?n[1]:void 0}isReturnTypeSlot(){let n=this.tokens.length;if(n<2)return!1;let f=this.tokens[n-1];if(!f||f[1]!==":")return!1;let e=this.tokens[n-2];if(!e)return!1;let t=e[0];return t===")"||t==="CALL_END"||t==="PARAM_END"}inPickKeyPos(){let n=this.prev();if(!n)return!1;let f=n[0];if(f!=="{"&&f!==","&&f!==":"&&f!=="TERMINATOR"&&f!=="INDENT"&&f!=="OUTDENT")return!1;let e=0,t=this.tokens;for(let i=t.length-1;i>=0;i--){let u=t[i],l=u[0];if(l==="}"||l==="PICK_END"){e++;continue}if(l==="{"||l==="PICK_START"||l==="OPTPICK_START"){if(e===0){let a=t[i-1];return!!(a&&(a[0]==="."||a[0]==="?.")&&!a.spaced&&!u.spaced)}e--;continue}if(e===0&&(l==="("||l==="CALL_START"||l==="["||l==="INDEX_START"))return!1}return!1}identifierToken(){if(ut.test(this.chunk))return 0;let n=xe.exec(this.chunk);if(!n)return 0;let[,f,e]=n,t=f.length,i={},u;if(f==="own"&&this.prevTag()==="FOR")return this.emit("OWN",f,{len:t}),t;if(f==="from"&&this.prevTag()==="YIELD")return this.emit("FROM",f,{len:t}),t;if(f==="as"&&!this.seenFor&&(this.seenImport||this.seenExport)){if(this.seenImport){if(this.prevVal()==="*")this.prev()[0]="IMPORT_ALL"}let h=this.prevTag();if(h==="DEFAULT"||h==="IMPORT_ALL"||h==="IDENTIFIER")return this.emit("AS",f,{len:t}),t}if((f==="as"||f==="as!")&&this.seenFor)return this.seenFor=!1,this.emit(f==="as!"?"FORASAWAIT":"FORAS","as",{len:t}),t;if(f==="default"&&this.seenExport&&(this.prevTag()==="EXPORT"||this.prevTag()==="AS"))return this.emit("DEFAULT",f,{len:t}),t;let l;if(f==="do"&&(l=/^(\s*super)(?!\(\))/.exec(this.chunk.slice(3))))return this.emit("SUPER","super"),this.emit("CALL_START","("),this.emit("CALL_END",")"),l[1].length+3;let a=this.prev();if(e&&a&&a[0]==="TERNARY")e=null;if(e&&e.length>1&&/[a-zA-Z_$]/.test(this.chunk[t+e.length]))e=null;if(e||a&&(a[0]==="."||a[0]==="?."||!a.spaced&&a[0]==="@")||this.inPickKeyPos()){if(u="PROPERTY",this.inRenderBlock&&a&&a[0]==="."&&!e){let h=this.chunk.slice(t);while(h[0]==="-"&&/^-[a-zA-Z]/.test(h)){let o=/^-([a-zA-Z][\w]*)/.exec(h);if(!o)break;f+="-"+o[1],t+=1+o[1].length,h=this.chunk.slice(t)}}}else u="IDENTIFIER";let c=f.endsWith("!")||f.endsWith("?")?f.slice(0,-1):f;if(u==="IDENTIFIER"&&!f.endsWith("!")&&!f.endsWith("?")&&(af.has(f)||rf.has(f)||cf.has(f))&&!(this.exportSpecifierList&&cf.has(f))){if(cl[f]!==void 0)i.original=f,f=cl[f];u=this.classifyKeyword(f,u,i)}if(u==="IDENTIFIER"&&Ze.has(c))if(c==="void"&&(this.inTypeAnnotation||this.prevTag()==="=>"||this.isReturnTypeSlot()));else In(`reserved word '${c}'`,{row:this.row,col:this.col,len:t});if(u==="PROPERTY"&&a){if(a[0]==="."&&this.tokens.length>1){let h=this.tokens[this.tokens.length-2];if(h[0]==="UNARY"&&h[1]==="new")h[0]="NEW_TARGET";if(h[0]==="IMPORT"&&h[1]==="import")this.seenImport=!1,h[0]="IMPORT_META"}}if(f.length>1&&f.endsWith("!"))i.bang=!0,f=f.slice(0,-1);if(f.length>1&&f.endsWith("?"))i.optional=!0,f=f.slice(0,-1);let r=this.emit(u,f,{len:t,data:Object.keys(i).length?i:null});if(u==="RENDER")this.inRenderBlock=!0,this.renderIndent=this.indent;if(e)return this.emit(":",":",{len:1}),t+e.length;return t}classifyKeyword(n,f,e){switch(n){case"!":return"UNARY";case"==":case"!=":return"COMPARE";case"true":case"false":return"BOOL";case"&&":case"||":return n}if(Ge.has(n))return"STATEMENT";let t=n.toUpperCase();if(t==="WHEN"&&si.has(this.prevTag()))return"LEADING_WHEN";if(t==="FOR")return this.seenFor={endsLength:this.ends.length},"FOR";if(t==="UNLESS")return"UNLESS";if(t==="IMPORT")return this.seenImport=!0,"IMPORT";if(t==="EXPORT")return this.seenExport=!0,"EXPORT";if(Ne.has(t))return"UNARY";if(Xe.has(t)){if(t!=="INSTANCEOF"&&this.seenFor)return this.seenFor=!1,"FOR"+t;if(this.prevVal()==="!"){let i=this.tokens.pop();e.invert=i.data?.original||i[1]}return"RELATION"}if(af.has(n)||rf.has(n))return t;return f}commentToken(){if(this.inRenderBlock){if(/^#[a-zA-Z_]/.test(this.chunk)){let f=this.prev();if(f&&(f[0]==="IDENTIFIER"||f[0]==="PROPERTY"))return 0;let e=/^#([a-zA-Z_][\w-]*)/.exec(this.chunk);if(e)return this.emit("IDENTIFIER","div#"+e[1]),e[0].length}if(/^\s+#[a-zA-Z_]/.test(this.chunk))return 0}let n=lt.exec(this.chunk);if(!n)return 0;return n[0].length}whitespaceToken(){let n=nt.exec(this.chunk);if(!n&&this.chunk[0]!==`
1869
+ `)this.row++,this.col=0;else this.col++;this.pos+=n}emit(n,f,{len:e,data:t,pre:i}={}){let u=Pi(n,f,{pre:i??0,row:this.row,col:this.col,len:e??(typeof f==="string"?f.length:0),data:t});return this.tokens.push(u),u}prev(){return this.tokens[this.tokens.length-1]}prevTag(){let n=this.prev();return n?n[0]:void 0}prevVal(){let n=this.prev();return n?n[1]:void 0}isReturnTypeSlot(){let n=this.tokens.length;if(n<2)return!1;let f=this.tokens[n-1];if(!f||f[1]!==":")return!1;let e=this.tokens[n-2];if(!e)return!1;let t=e[0];return t===")"||t==="CALL_END"||t==="PARAM_END"}inPickKeyPos(){let n=this.prev();if(!n)return!1;let f=n[0];if(f!=="{"&&f!==","&&f!==":"&&f!=="TERMINATOR"&&f!=="INDENT"&&f!=="OUTDENT")return!1;let e=0,t=this.tokens;for(let i=t.length-1;i>=0;i--){let u=t[i],l=u[0];if(l==="}"||l==="PICK_END"){e++;continue}if(l==="{"||l==="PICK_START"||l==="OPTPICK_START"){if(e===0){let a=t[i-1];return!!(a&&(a[0]==="."||a[0]==="?.")&&!a.spaced&&!u.spaced)}e--;continue}if(e===0&&(l==="("||l==="CALL_START"||l==="["||l==="INDEX_START"))return!1}return!1}identifierToken(){if(ut.test(this.chunk))return 0;let n=xe.exec(this.chunk);if(!n)return 0;let[,f,e]=n,t=f.length,i={},u;if(f==="own"&&this.prevTag()==="FOR")return this.emit("OWN",f,{len:t}),t;if(f==="from"&&this.prevTag()==="YIELD")return this.emit("FROM",f,{len:t}),t;if(f==="as"&&!this.seenFor&&(this.seenImport||this.seenExport)){if(this.seenImport){if(this.prevVal()==="*")this.prev()[0]="IMPORT_ALL"}let h=this.prevTag();if(h==="DEFAULT"||h==="IMPORT_ALL"||h==="IDENTIFIER")return this.emit("AS",f,{len:t}),t}if((f==="as"||f==="as!")&&this.seenFor)return this.seenFor=!1,this.emit(f==="as!"?"FORASAWAIT":"FORAS","as",{len:t}),t;if(f==="default"&&this.seenExport&&(this.prevTag()==="EXPORT"||this.prevTag()==="AS"))return this.emit("DEFAULT",f,{len:t}),t;let l;if(f==="do"&&(l=/^(\s*super)(?!\(\))/.exec(this.chunk.slice(3))))return this.emit("SUPER","super"),this.emit("CALL_START","("),this.emit("CALL_END",")"),l[1].length+3;let a=this.prev();if(e&&a&&a[0]==="TERNARY")e=null;if(e&&e.length>1&&/[a-zA-Z_$]/.test(this.chunk[t+e.length]))e=null;if(e||a&&(a[0]==="."||a[0]==="?."||!a.spaced&&a[0]==="@")||this.inPickKeyPos()){if(u="PROPERTY",this.inRenderBlock&&a&&a[0]==="."&&!e){let h=this.chunk.slice(t);while(h[0]==="-"&&/^-[a-zA-Z]/.test(h)){let o=/^-([a-zA-Z][\w]*)/.exec(h);if(!o)break;f+="-"+o[1],t+=1+o[1].length,h=this.chunk.slice(t)}}}else u="IDENTIFIER";let c=f.endsWith("!")||f.endsWith("?")?f.slice(0,-1):f;if(u==="IDENTIFIER"&&!f.endsWith("!")&&!f.endsWith("?")&&(af.has(f)||rf.has(f)||cf.has(f))&&!(this.exportSpecifierList&&cf.has(f))){if(cl[f]!==void 0)i.original=f,f=cl[f];u=this.classifyKeyword(f,u,i)}if(u==="IDENTIFIER"&&Ze.has(c))if(c==="void"&&(this.inTypeAnnotation||this.prevTag()==="=>"||this.isReturnTypeSlot()));else Bn(`reserved word '${c}'`,{row:this.row,col:this.col,len:t});if(u==="PROPERTY"&&a){if(a[0]==="."&&this.tokens.length>1){let h=this.tokens[this.tokens.length-2];if(h[0]==="UNARY"&&h[1]==="new")h[0]="NEW_TARGET";if(h[0]==="IMPORT"&&h[1]==="import")this.seenImport=!1,h[0]="IMPORT_META"}}if(f.length>1&&f.endsWith("!"))i.bang=!0,f=f.slice(0,-1);if(f.length>1&&f.endsWith("?"))i.optional=!0,f=f.slice(0,-1);let r=this.emit(u,f,{len:t,data:Object.keys(i).length?i:null});if(u==="RENDER")this.inRenderBlock=!0,this.renderIndent=this.indent;if(e)return this.emit(":",":",{len:1}),t+e.length;return t}classifyKeyword(n,f,e){switch(n){case"!":return"UNARY";case"==":case"!=":return"COMPARE";case"true":case"false":return"BOOL";case"&&":case"||":return n}if(Ge.has(n))return"STATEMENT";let t=n.toUpperCase();if(t==="WHEN"&&si.has(this.prevTag()))return"LEADING_WHEN";if(t==="FOR")return this.seenFor={endsLength:this.ends.length},"FOR";if(t==="UNLESS")return"UNLESS";if(t==="IMPORT")return this.seenImport=!0,"IMPORT";if(t==="EXPORT")return this.seenExport=!0,"EXPORT";if(Ne.has(t))return"UNARY";if(Xe.has(t)){if(t!=="INSTANCEOF"&&this.seenFor)return this.seenFor=!1,"FOR"+t;if(this.prevVal()==="!"){let i=this.tokens.pop();e.invert=i.data?.original||i[1]}return"RELATION"}if(af.has(n)||rf.has(n))return t;return f}commentToken(){if(this.inRenderBlock){if(/^#[a-zA-Z_]/.test(this.chunk)){let f=this.prev();if(f&&(f[0]==="IDENTIFIER"||f[0]==="PROPERTY"))return 0;let e=/^#([a-zA-Z_][\w-]*)/.exec(this.chunk);if(e)return this.emit("IDENTIFIER","div#"+e[1]),e[0].length}if(/^\s+#[a-zA-Z_]/.test(this.chunk))return 0}let n=lt.exec(this.chunk);if(!n)return 0;return n[0].length}whitespaceToken(){let n=nt.exec(this.chunk);if(!n&&this.chunk[0]!==`
1870
1870
  `)return 0;let f=this.prev();if(f)if(n)f.spaced=!0,f.pre=n[0].length;else f.newLine=!0;return n?n[0].length:0}lineToken(){let n=it.exec(this.chunk);if(!n)return 0;let f=n[0],e=f.length-1-f.lastIndexOf(`
1871
1871
  `);if(this.isUnfinished()){if(e<this.indent&&/^\s*,/.test(this.chunk)&&!wf.has(this.prevTag())){if(this.outdentTo(e,f.length),this.prevTag()==="TERMINATOR")this.tokens.pop();return f.length}return f.length}if(this.seenFor&&!(this.seenFor.endsLength<this.ends.length))this.seenFor=!1;if(!this.importSpecifierList)this.seenImport=!1;if(!this.exportSpecifierList)this.seenExport=!1;if(this.inTypeAnnotation=!1,e===this.indent)return this.emitNewline(),f.length;if(e>this.indent){if(!this.tokens.length)return this.indent=e,f.length;let t=e-this.indent;return this.emit("INDENT",t,{len:e}),this.indents.push(t),this.ends.push({tag:"OUTDENT"}),this.indent=e,f.length}return this.outdentTo(e,f.length),f.length}outdentTo(n,f=0){if(this.inRenderBlock&&n<=this.renderIndent)this.inRenderBlock=!1;let e=this.indent-n;while(e>0){let t=this.indents[this.indents.length-1];if(!t)e=0;else this.indents.pop(),this.pair("OUTDENT"),this.emit("OUTDENT",e,{len:f}),e-=t}this.emitNewline(),this.indent=n}closeIndentation(){this.outdentTo(0)}emitNewline(){if(this.prevTag()!=="TERMINATOR")this.emit("TERMINATOR",`
1872
- `,{len:0})}isUnfinished(){if(this.inRenderBlock&&Af.test(this.chunk)&&/^\s*\./.test(this.chunk))return!1;if(this.inRenderBlock&&this.prevTag()==="."){let e=this.tokens.length;if(e>=2){let t=this.tokens[e-2][0];if(t==="INDENT"||t==="TERMINATOR"||t==="OUTDENT")return!1}}let n=this.tokens[this.tokens.length-1];if(n?.[0]==="COMPARE"&&n[1]===">"||n?.[0]==="SHIFT"&&(n[1]===">>"||n[1]===">>>")){let e=0;for(let t=this.tokens.length-1;t>=0;t--){let i=this.tokens[t];if(i[0]==="COMPARE"&&i[1]===">")e++;else if(i[0]==="SHIFT"&&i[1]===">>")e+=2;else if(i[0]==="SHIFT"&&i[1]===">>>")e+=3;else if(i[0]==="COMPARE"&&i[1]==="<")e--;if(e===0&&i[0]==="TYPE_ANNOTATION")return!1;if(e===0&&i[0]===":"){let u=this.tokens[t-1];if(u&&(u[0]===")"||u[0]==="PARAM_END"||u[0]==="CALL_END"))return!1}if(e===0&&i[0]==="IDENTIFIER"&&i[1]==="type")return!1;if(i[0]==="INTERFACE")return!1;if(i[0]==="TERMINATOR"||i[0]==="INDENT"||i[0]==="OUTDENT"){let u=-1;if(i[0]==="INDENT")u=t;else{let l=i[0]==="OUTDENT"?1:0;for(let a=t-1;a>=0;a--){let c=this.tokens[a];if(c[0]==="OUTDENT")l++;else if(c[0]==="INDENT"){if(l===0){u=a;break}l--}}}if(u>0)for(let l=u-1;l>=0;l--){let a=this.tokens[l];if(a[0]==="TERMINATOR"||a[0]==="INDENT"||a[0]==="OUTDENT")break;if(a[0]==="INTERFACE")return!1;if(a[0]==="IDENTIFIER"&&a[1]==="type"){let c=this.tokens[l-1];if(!c||c[0]==="TERMINATOR"||c[0]==="EXPORT")return!1;break}}break}}}return Af.test(this.chunk)||wf.has(this.prevTag())}pair(n){let f=this.ends[this.ends.length-1];if(!f||n!==f.tag){if(f?.tag==="OUTDENT"){let e=this.indents[this.indents.length-1];if(e)this.outdentTo(this.indent-e);return this.pair(n)}In(`unmatched ${n}`,{row:this.row,col:this.col})}return this.ends.pop()}stringToken(){let n=et.exec(this.chunk);if(!n)return 0;let f=n[0],e=f.length>1&&f.endsWith("\\"),t=e?f.slice(0,-1):f,i=this.prev();if(i&&this.prevVal()==="from"&&(this.seenImport||this.seenExport))i[0]="FROM";let u;switch(t){case"'":u=tt;break;case'"':u=at;break;case"'''":u=rt;break;case'"""':u=ct;break}let{tokens:l,index:a}=this.matchWithInterpolations(u,f,t),c=t.length===3,r=null;if(c)r=this.processHeredocIndent(a,t,l);return this.mergeInterpolationTokens(l,{quote:t,indent:r,endOffset:a,raw:e}),a}processHeredocIndent(n,f,e){let t=n-f.length,i=t-1;while(i>=0&&this.chunk[i]!==`
1873
- `)i--;i++;let u=this.chunk.slice(i,t),l=/^\s*$/.test(u)?u.length:null,a="";for(let h of e)if(h[0]==="NEOSTRING")a+=h[1];let c=null,r;mf.lastIndex=0;while(r=mf.exec(a))if(c===null||r[1].length>0&&r[1].length<c.length)c=r[1];if(l===null)return c;if(c===null)return" ".repeat(l);if(l<=c.length)return" ".repeat(l);return c}matchWithInterpolations(n,f,e,t){if(!e)e=f;if(!t)t=/^[#$]\{/;let i=[],u=f.length;if(this.chunk.slice(0,u)!==f)return null;let l=this.chunk.slice(u);while(!0){let[a]=n.exec(l);i.push(["NEOSTRING",a,{offset:u}]),l=l.slice(a.length),u+=a.length;let c=t.exec(l);if(!c)break;let h=c[0].length-1,o=l.slice(h),s=new vn().tokenize(o,{row:this.row,col:this.col+u+h,untilBalanced:!0,rewrite:!1}),w=s.index+h;if(l[w-1]==="}"){let A=s.tokens[0],m=s.tokens[s.tokens.length-1];A[0]="INTERPOLATION_START",A[1]="(",m[0]="INTERPOLATION_END",m[1]=")"}if(s.tokens[1]?.[0]==="TERMINATOR")s.tokens.splice(1,1);let y=s.tokens.length;if(y>2&&s.tokens[y-3]?.[0]==="INDENT"&&s.tokens[y-2]?.[0]==="OUTDENT")s.tokens.splice(y-3,2);i.push(["TOKENS",s.tokens]),l=l.slice(w),u+=w}if(l.slice(0,e.length)!==e)In(`missing ${e}`,{row:this.row,col:this.col});return{tokens:i,index:u+e.length}}mergeInterpolationTokens(n,{quote:f,indent:e,endOffset:t,raw:i}){if(n.length>1)this.emit("STRING_START","(",{len:f?.length||0,data:{quote:f}});for(let u=0;u<n.length;u++){let[l,a]=n[u];if(l==="TOKENS")for(let c of a)this.tokens.push(c);else if(l==="NEOSTRING"){let c=a;if(e){let r=new RegExp("\\n"+e,"g");c=c.replace(r,`
1874
- `)}if(u===0&&f?.length===3)c=c.replace(/^\n/,"");if(u===n.length-1&&f?.length===3)c=c.replace(/\n[^\S\n]*$/,"");if(i)c=c.replace(/\\([nrtbfv0\\'"`xu])/g,"\\\\$1");this.emit("STRING",`"${c}"`,{len:a.length,data:{quote:f}})}}if(n.length>1)this.emit("STRING_END",")",{len:f?.length||0});return t}numberToken(){let n=$e.exec(this.chunk);if(!n)return 0;let f=n[0],e=f.length,t={row:this.row,col:this.col};if(/^0[BOX]/.test(f))In(`radix prefix in '${f}' must be lowercase`,{...t,col:t.col+1});if(/^0\d*[89]/.test(f))In(`decimal literal '${f}' must not be prefixed with '0'`,{...t,len:e});if(/^0\d+/.test(f))In(`octal literal '${f}' must be prefixed with '0o'`,{...t,len:e});let i=At(f),u=i===1/0?"INFINITY":"NUMBER",l={parsedValue:i};if(u==="INFINITY")l.original=f;return this.emit(u,f,{len:e,data:l}),e}regexToken(){let n=this.matchWithInterpolations(ot,"///");if(n){let{tokens:r,index:h}=n,[o]=yf.exec(this.chunk.slice(h)),s=h+o.length;if(r.length===1||!r.some((w)=>w[0]==="TOKENS")){let w=(r[0]?.[1]||"").replace(/(?<!\\)\//g,"\\/");this.emit("REGEX",`/${w}/${o}`,{len:s,data:{delimiter:"///",heregex:{flags:o}}})}else{if(this.emit("REGEX_START","(",{len:0}),this.emit("IDENTIFIER","RegExp",{len:0}),this.emit("CALL_START","(",{len:0}),this.mergeInterpolationTokens(r,{quote:"///",endOffset:s-o.length}),o)this.emit(",",",",{len:0}),this.emit("STRING",`"${o}"`,{len:o.length});this.emit(")",")",{len:0}),this.emit("REGEX_END",")",{len:0})}return s}let f=ht.exec(this.chunk);if(!f)return 0;let[e,t,i]=f,u=this.prev();if(u){if(u.spaced&&Xi.has(u[0])&&(!i||/^\/=?\s/.test(e)))return 0;if(Te.has(u[0])&&!(u.spaced&&Xi.has(u[0])))return 0}if(!i)In("missing / (unclosed regex)",{row:this.row,col:this.col});let l=e.length,[a]=yf.exec(this.chunk.slice(l)),c=l+a.length;if(!st.test(a))In(`invalid regular expression flags ${a}`,{row:this.row,col:this.col+l,len:a.length});return this.emit("REGEX",`/${t}/${a}`,{len:c,data:{delimiter:"/"}}),c}jsToken(){if(this.chunk[0]!=="`")return 0;let n=_t.exec(this.chunk)||wt.exec(this.chunk);if(!n)return 0;let f=n[1],e=n[0].length;return this.emit("JS",f,{len:e,data:{here:n[0].startsWith("```")}}),e}wordLiteral(){if(this.chunk[0]!=="%"||this.chunk[1]!=="w")return 0;let n=this.chunk[2];if(!n||/\s/.test(n))return 0;let e={"[":"]","(":")","{":"}","<":">"}[n]||n,t=e!==n,i=1,u=3;while(u<this.chunk.length&&i>0){let r=this.chunk[u];if(r==="\\"){u+=2;continue}if(t&&r===n)i++;if(r===e)i--;if(i>0)u++}if(i!==0)return 0;let l=this.chunk.slice(3,u),a=u+1,c=[];if(l.trim()){let r=l.trim().split(/(?<!\\)\s+/);for(let h of r)c.push(h.replace(/\\ /g," "))}this.emit("[","[",{len:a});for(let r=0;r<c.length;r++){if(r>0)this.emit(",",",");this.emit("STRING",`"${c[r]}"`)}return this.emit("]","]"),a}symbolToken(){if(this.chunk[0]!==":")return 0;let n=this.chunk[1];if(!n||n==="="||n===":"||/\s/.test(n))return 0;if(!/[a-zA-Z_$]/.test(n))return 0;let f=/^((?:(?!\s)[$\w\x7f-\uffff])+)/.exec(this.chunk.slice(1));if(!f)return 0;let e=f[1],t=e.length+1;return this.emit("SYMBOL",e,{len:t}),t}literalToken(){let n=this.wordLiteral();if(n)return n;let f=this.symbolToken();if(f)return f;let e=ke.exec(this.chunk),t=e?e[0]:this.chunk.charAt(0),i=t,u=this.prev();if(ft.test(t))this.tagParameters();if(t==="="&&u&&u[1]==="."&&!u.spaced){let l=this.tokens,a=l.length-2;while(a>=1&&l[a][0]==="PROPERTY"&&l[a-1]?.[1]===".")a-=2;if(a>=0&&(l[a][0]==="IDENTIFIER"||l[a][0]===")"||l[a][0]==="]")){let c=l.slice(a,l.length-1);u[0]="=",u[1]="=";for(let r of c)this.tokens.push(Pi(r[0],r[1],{pre:0,row:r[2],col:r[3],len:r[4]}));return this.tokens.push(Pi(".",".",{pre:0,row:this.row,col:this.col,len:1})),t.length}}if(u&&(t==="="||_f.has(t))){if(t==="="&&(u[1]==="||"||u[1]==="&&"||u[1]==="??")&&!u.spaced)return u[0]="COMPOUND_ASSIGN",u[1]+="=",t.length}if(t==="("&&u?.[0]==="IMPORT")u[0]="DYNAMIC_IMPORT";if(t==="{"&&this.seenImport)this.importSpecifierList=!0;if(t==="}"&&this.importSpecifierList)this.importSpecifierList=!1;if(t==="{"&&u?.[0]==="EXPORT")this.exportSpecifierList=!0;if(t==="}"&&this.exportSpecifierList)this.exportSpecifierList=!1;if(t===";")this.seenFor=this.seenImport=this.seenExport=!1,this.inTypeAnnotation=!1,i="TERMINATOR";else if(t==="::"&&/^[a-zA-Z_$]/.test(this.chunk[2]||""))return this.emit(".","."),this.emit("PROPERTY","prototype"),this.emit(".","."),2;else if(t==="::")i="TYPE_ANNOTATION",this.inTypeAnnotation=!0;else if(t==="~=")i="COMPUTED_ASSIGN";else if(t===":=")i="REACTIVE_ASSIGN";else if(t==="<=>")i="BIND";else if(t==="<~")i="GATE",this.inTypeAnnotation=!1;else if(t==="~>")i="EFFECT",this.inTypeAnnotation=!1;else if(t==="=!")i="READONLY_ASSIGN",this.inTypeAnnotation=!1;else if(t==="*>"&&(!u||u[0]==="TERMINATOR"||u[0]==="INDENT"||u[0]==="OUTDENT")&&(/^[a-zA-Z_$]/.test(this.chunk[2]||"")||this.chunk[2]==="@")){let l=this.chunk.slice(2),a=/^@(\s*)=(?!=)/.exec(l);if(a){let r=a[1];this.emit("IDENTIFIER","Object"),this.emit(".",".");let h=this.emit("PROPERTY","assign");return h.spaced=!0,this.emit("@","@"),this.emit(",",","),3+r.length+1}let c=/^(@?(?:(?!\s)[$\w\x7f-\uffff])+(?:\.[a-zA-Z_$][\w]*)*)(\s*)=(?!=)/.exec(l);if(c){let r=c[1],h=c[2],o=r[0]==="@",s=o?r.slice(1):r,w=s?s.split("."):[],y=()=>{if(o){if(this.emit("@","@"),w.length>0)this.emit("PROPERTY",w[0])}else this.emit("IDENTIFIER",w[0]);for(let m=1;m<w.length;m++)this.emit(".","."),this.emit("PROPERTY",w[m])};y(),this.emit("=","="),this.emit("IDENTIFIER","Object"),this.emit(".","."),this.emit("PROPERTY","assign"),this.emit("CALL_START","("),y(),this.emit("COMPOUND_ASSIGN","??="),this.emit("{","{"),this.emit("}","}"),this.emit(",",",");let A=this.prev();return A.mergeClose=!0,2+r.length+h.length+1}}else if(t==="*"&&u?.[0]==="EXPORT")i="EXPORT_ALL";else if(Ve.has(t))i="MATH";else if(je.has(t))i="COMPARE";else if(_f.has(t))i="COMPOUND_ASSIGN";else if(pe.has(t))i="UNARY_MATH";else if(Le.has(t))i="SHIFT";else if(t==="?"&&u?.spaced)i="TERNARY";else if(t==="?!"&&u&&!u.spaced)i="PRESENCE";else if(t==="?"&&(this.chunk[1]==="["||this.chunk[1]==="("))i="?.";else if(u){if(t==="("&&!u.spaced&&Xi.has(u[0])){if(u[0]==="?.")u[0]="ES6_OPTIONAL_CALL";i="CALL_START"}if(t==="["&&!u.spaced&&bi.has(u[0])){if(i="INDEX_START",u[0]==="?.")u[0]="ES6_OPTIONAL_INDEX"}}if(this.inTypeAnnotation&&(t==="="||i==="COMPOUND_ASSIGN"))this.inTypeAnnotation=!1;if(t==="="){let l=this.tokens.length;if(l>=2&&this.tokens[l-1][0]==="IDENTIFIER"&&this.tokens[l-2][0]==="IDENTIFIER"&&this.tokens[l-2][1]==="type"&&(l===2||this.tokens[l-3][0]==="TERMINATOR"||this.tokens[l-3][0]==="INDENT"||this.tokens[l-3][0]==="OUTDENT"||this.tokens[l-3][0]==="EXPORT"))this.inTypeAnnotation=!0}if(t==="("||t==="{"||t==="[")this.ends.push({tag:Ie[t],origin:[i,t]});else if(t===")"||t==="}"||t==="]")this.pair(t);return this.emit(i,t,{len:t.length}),t.length}tagParameters(){let n=this.tokens.length-1;if(this.tokens[n]?.[0]!==")"){let t=this.tokens.length,i=0,u=t-1,l=-1;while(u>=0){let a=this.tokens[u],c=a[0];if(c===")"||c==="]"||c==="}"||c==="CALL_END"||c==="PARAM_END"||c==="INDEX_END"||c==="COMPARE"&&a[1]===">")i++;else if(c==="("||c==="["||c==="{"||c==="CALL_START"||c==="PARAM_START"||c==="INDEX_START"||c==="COMPARE"&&a[1]==="<")i--;else if(i===0){if(c==="TYPE_ANNOTATION"||c===":"){if(u>0&&this.tokens[u-1][0]===")")l=u-1;break}if(c==="TERMINATOR"||c==="INDENT"||c==="OUTDENT"||c==="="||c==="->"||c==="=>")break}u--}if(l<0)return this.tagDoIife();n=l}else{let t=0,i=-1;for(let u=n;u>=0;u--){let l=this.tokens[u][0];if(l===")"||l==="CALL_END"||l==="PARAM_END")t++;else if(l==="("||l==="CALL_START"||l==="PARAM_START"){if(--t===0){i=u;break}}}if(i>1&&this.tokens[i-1][0]==="TYPE_ANNOTATION"&&this.tokens[i-2]?.[0]===")")n=i-2}let f=n,e=[];this.tokens[f][0]="PARAM_END";while(f-- >0){let t=this.tokens[f];if(t[0]===")")e.push(t);else if(t[0]==="("||t[0]==="CALL_START")if(e.length)e.pop();else if(t[0]==="(")return t[0]="PARAM_START",this.tagDoIife(f-1);else{this.tokens[n][0]="CALL_END";return}}}tagDoIife(n){let f=this.tokens[n??this.tokens.length-1];if(f?.[0]==="DO")f[0]="DO_IIFE"}rewrite(n){return this.tokens=n,this.removeLeadingNewlines(),this.rewriteDottedPicks(),this.rewriteMapLiterals(),this.closeMergeAssignments(),this.closeOpenCalls(),this.closeOpenIndexes(),this.rewriteTypes(),this.normalizeLines(),this.rewriteRender?.(),this.rewriteSchema?.(),this.tagPostfixConditionals(),this.rewriteTaggedTemplates(),this.addImplicitBracesAndParens(),this.addImplicitCallCommas(),this.tokens}removeLeadingNewlines(){let n=0;while(this.tokens[n]?.[0]==="TERMINATOR")n++;if(n>0)this.tokens.splice(0,n)}rewriteMapLiterals(){let n=this.tokens;for(let f=0;f<n.length;f++){if(n[f][0]!=="MATH"||n[f][1]!=="*")continue;let e=n[f+1];if(!e||e[0]!=="{")continue;if(n[f].spaced||n[f].newLine)continue;let t=n[f-1];if(t&&bi.has(t[0]))continue;n.splice(f,1),n[f][0]="MAP_START";let i=1;for(let u=f+1;u<n.length&&i>0;u++){let l=n[u][0];if(l==="{"||l==="MAP_START")i++;if(l==="}"){if(i--,i===0)n[u][0]="MAP_END"}}}}rewriteDottedPicks(){let n=this.tokens;for(let f=0;f<n.length;f++){let e=n[f][0];if(e!=="."&&e!=="?.")continue;let t=n[f+1];if(!t||t[0]!=="{")continue;if(n[f].spaced||n[f].newLine)continue;let i=n[f-1];if(!i||!bi.has(i[0]))continue;let u=e==="?.";n.splice(f,1),n[f][0]=u?"OPTPICK_START":"PICK_START";let l=1;for(let a=f+1;a<n.length&&l>0;a++){let c=n[a][0];if(c==="{"||c==="PICK_START"||c==="OPTPICK_START")l++;else if(c==="}"){if(l--,l===0){n[a][0]="PICK_END";break}}}}}closeOpenCalls(){this.scanTokens((n,f)=>{if(n[0]==="CALL_START")this.detectEnd(f+1,(e)=>e[0]===")"||e[0]==="CALL_END",(e)=>e[0]="CALL_END");return 1})}closeOpenIndexes(){this.scanTokens((n,f)=>{if(n[0]==="INDEX_START")this.detectEnd(f+1,(e)=>e[0]==="]"||e[0]==="INDEX_END",(e,t)=>{if(this.tokens[t+1]?.[0]===":")n[0]="[",e[0]="]";else e[0]="INDEX_END"});return 1})}normalizeLines(){let n=null,f=null,e=null,t=(u,l)=>{return u[1]!==";"&&ve.has(u[0])&&!(u[0]==="TERMINATOR"&&hf.has(this.tokens[l+1]?.[0]))&&!(u[0]==="ELSE"&&n!=="THEN")||u[0]==="INDENT"&&!u.generated&&(n==="->"||n==="=>")||u[0]===","&&(n==="->"||n==="=>"||n==="THEN"||n==="ELSE")&&!this.commaInImplicitCall(l)&&!this.commaInImplicitObject(l)||of.has(u[0])&&(this.tokens[l-1]?.newLine||this.tokens[l-1]?.[0]==="OUTDENT")},i=(u,l)=>{let a=this.tokens[l-1]?.[0]===","?l-1:l;this.tokens.splice(a,0,e)};this.scanTokens((u,l,a)=>{let[c]=u;if(c==="TERMINATOR"){if(this.tokens[l+1]?.[0]==="ELSE"&&this.tokens[l-1]?.[0]!=="OUTDENT")return a.splice(l,1,...this.makeIndentation()),1;if(hf.has(this.tokens[l+1]?.[0]))return a.splice(l,1),0}if(c==="CATCH")for(let r=1;r<=2;r++){let h=this.tokens[l+r]?.[0];if(h==="OUTDENT"||h==="TERMINATOR"||h==="FINALLY")return a.splice(l+r,0,...this.makeIndentation()),2+r}if((c==="->"||c==="=>")&&(this.tokens[l+1]?.[0]===","||this.tokens[l+1]?.[0]==="]"))return[f,e]=this.makeIndentation(),a.splice(l+1,0,f,e),1;if(sf.has(c)&&this.tokens[l+1]?.[0]!=="INDENT"&&!(c==="ELSE"&&this.tokens[l+1]?.[0]==="IF")&&!(c==="ELSE"&&this.tokens[l-1]?.[0]!=="OUTDENT")){if(n=c,[f,e]=this.makeIndentation(),c==="THEN")f.fromThen=!0;if(a.splice(l+1,0,f),c==="THEN"&&this.singleLineOwner(l)==="LEADING_WHEN")this.detectWhenThenEnd(l+2,t,i);else this.detectEnd(l+2,t,i);if(c==="THEN")a.splice(l,1);return 1}return 1})}singleLineOwner(n){let f=new Set(["LEADING_WHEN","IF","POST_IF","UNLESS","POST_UNLESS","ELSE","CATCH","TRY","FINALLY","->","=>"]);for(let e=n-1;e>=0;e--){let t=this.tokens[e],i=t?.[0];if(f.has(i))return i;if(si.has(i)||t?.newLine)return null}return null}detectWhenThenEnd(n,f,e){let t=0,i=0;while(n<this.tokens.length){let u=this.tokens[n],l=u[0];if(t===0){if(l==="THEN"&&this.singleLineOwner(n)!=="LEADING_WHEN")i++;else if(l==="ELSE"&&i>0)i--;else if(f.call(this,u,n))return e.call(this,u,n)}if(jn.has(l))t++;if(Cn.has(l))t--;if(t<0)return e.call(this,u,n);n++}}tagPostfixConditionals(){let n=null,f=(t,i)=>{return t[0]==="TERMINATOR"||t[0]==="INDENT"&&!sf.has(this.tokens[i-1]?.[0])},e=(t)=>{if(t[0]!=="INDENT"||t.generated&&!t.fromThen)n[0]="POST_"+n[0]};this.scanTokens((t,i)=>{if(t[0]!=="IF"&&t[0]!=="UNLESS")return 1;if(this.tokens[i-1]?.[0]==="INTERPOLATION_START")return 1;return n=t,this.detectEnd(i+1,f,e),1})}rewriteTaggedTemplates(){let n=this.tokens;for(let f=n.length-2;f>=0;f--)if(n[f][0]==="IDENTIFIER"&&n[f][1]==="$"&&(n[f+1]?.[0]==="STRING"||n[f+1]?.[0]==="STRING_START")){let e=n[f-1];if(e&&Be.has(e[0])){if(n.splice(f,1),e.spaced=!1,n[f].spaced=!1,n[f].pre=0,n[f].newLine)n[f].newLine=!1}}}addImplicitBracesAndParens(){let n=[],f=!1;this.scanTokens((e,t,i)=>{let[u]=e,l=i[t-1]||[],a=i[t+1]||[],[c]=l,[r]=a,h=t,o=(E)=>t-h+E,s=()=>n[n.length-1],w=(E)=>E?.[2]?.ours,y=()=>w(s())&&s()?.[0]==="(",A=()=>w(s())&&s()?.[0]==="{",m=(E)=>{n.push(["(",E,{ours:!0}]),i.splice(E,0,On("CALL_START","("))},R=()=>{n.pop(),i.splice(t,0,On("CALL_END",")")),t+=1},U=(E,Z={})=>{n.push(["{",E,{sameLine:!0,startsLine:Z.startsLine??!0,ours:!0}]);let Q=On("{","{");if(!Q.data)Q.data={};Q.data.generated=!0,i.splice(E,0,Q)},_=(E)=>{E=E??t,n.pop(),i.splice(E,0,On("}","}")),t+=1},D=u==="FOR"&&!e.newLine&&Ce.has(c);if((y()||A())&&ge.has(u)&&!D)return n.push(["CONTROL",t,{ours:!0}]),o(1);if(u==="INDENT"&&w(s())){if(c!=="=>"&&c!=="->"&&c!=="["&&c!=="("&&c!==","&&c!=="{"&&c!=="ELSE"&&c!=="=")while(y()||A()&&c!==":")if(y())R();else _();if(s()?.[2]?.ours&&s()[0]==="CONTROL")n.pop();return n.push([u,t]),o(1)}if(jn.has(u))return n.push([u,t]),o(1);if(Cn.has(u)){while(w(s()))if(y())R();else if(A())_();else n.pop();n.pop()}let M=!1;if(r==="-"&&!a.spaced&&!a.newLine&&ti(e))for(let E=t;E<i.length-2;E+=2){if(!Ni(i[E+1],i[E+2]))break;if(!ti(i[E+2]))break;if(i[E+3]?.[0]===":"){M=!0;break}}if(!M&&rl.has(u)&&e.spaced&&(Gi.has(r)||r==="..."&&Gi.has(i[t+2]?.[0])||be.has(r)&&!a.spaced&&!a.newLine)&&!((u==="]"||u==="}")&&(r==="->"||r==="=>")))return m(t+1),o(2);if(rl.has(u)&&this.tokens[t+1]?.[0]==="INDENT"&&this.looksObjectish(t+2)&&!this.findTagsBackwards(t,["CLASS","EXTENDS","IF","CATCH","SWITCH","LEADING_WHEN","FOR","WHILE","UNTIL"]))return m(t+1),n.push(["INDENT",t+2]),o(3);if(u==="TERNARY")f=!0;if(u===":"){if(f)return f=!1,o(1);if(ti(i[t-1])&&Ni(i[t-2],i[t-1])){let Q=t-2;while(Q>=2&&Ni(i[Q],i[Q+1])&&ti(i[Q-1]))Q-=2;if(Q+=1,ti(i[Q])){let W="";for(let L=Q;L<t;L++)W+=i[L][1];let C=On("STRING",`"${W}"`,i[Q]);C.pre=i[Q].pre,C.spaced=i[Q].spaced,C.newLine=i[Q].newLine,C.loc=i[Q].loc,i.splice(Q,t-Q,C),t=Q+1}}let E=Cn.has(this.tokens[t-1]?.[0])?n[n.length-1]?.[1]??t-1:t-1;if(this.tokens[t-2]?.[0]==="@")E=t-2;let Z=E<=0||si.has(this.tokens[E-1]?.[0])||this.tokens[E-1]?.newLine;if(s()){let[Q,W]=s(),C=n[n.length-2],L=(X)=>X==="{"||X==="MAP_START"||X==="PICK_START"||X==="OPTPICK_START";if((L(Q)||Q==="INDENT"&&L(C?.[0])&&!w(C))&&(Z||this.tokens[E-1]?.[0]===","||L(this.tokens[E-1]?.[0])||L(this.tokens[E]?.[0])))return o(1)}return U(E,{startsLine:!!Z}),o(2)}if(si.has(u))for(let E=n.length-1;E>=0;E--){if(!w(n[E]))break;if(n[E][0]==="{")n[E][2].sameLine=!1}let q=c==="OUTDENT"||l.newLine,S=u==="||"||u==="&&"||u==="??",d=!1;if(S){let E=t+1,Z=i[E]?.[0];if(Z==="("||Z==="["||Z==="{"){for(let Q=1;++E<i.length&&Q>0;)if(Z=i[E][0],Z==="("||Z==="["||Z==="{")Q++;else if(Z===")"||Z==="]"||Z==="}")Q--}else if(Z&&Z!=="TERMINATOR"&&Z!=="OUTDENT"&&Z!==",")E++;d=i[E]?.[0]===","}let K=(E)=>{for(let Z=0;E<i.length;E++){let Q=i[E][0];if(Q==="("||Q==="["||Q==="{"||Q==="CALL_START"||Q==="INDEX_START"||Q==="INDENT")Z++;else if(Q===")"||Q==="]"||Q==="}"||Q==="CALL_END"||Q==="INDEX_END"||Q==="OUTDENT"){if(Z===0)return!1;Z--}else if(Q==="TERMINATOR"&&Z===0)return this.looksObjectish(E+1)}return!1};if(Pe.has(u)&&!d||of.has(u)&&q)while(w(s())){let[E,,{sameLine:Z,startsLine:Q}]=s();if(y()&&c!==",")R();else if(A()&&!S&&Z&&u!=="TERMINATOR"&&c!==":"&&!((u==="POST_IF"||u==="POST_UNLESS")&&K(t+1)))_();else if(A()&&u==="TERMINATOR"&&c!==","&&!(Q&&this.looksObjectish(t+1)))_();else if(s()?.[2]?.ours&&s()[0]==="CONTROL"&&i[s()[1]]?.[0]==="CLASS"&&u==="TERMINATOR")n.pop();else break}if(u===","&&!this.looksObjectish(t+1)&&A()&&(r!=="TERMINATOR"||!this.looksObjectish(t+2))){let E=r==="OUTDENT"?1:0;while(A())_(t+E)}return o(1)})}addImplicitCallCommas(){let n=0,f=0,e=this.tokens;while(f<e.length){let t=e[f][0],i=f>0?e[f-1][0]:null;if(t==="CALL_START"||t==="(")n++;if(t==="CALL_END"||t===")")n--;if(n>0&&(t==="->"||t==="=>")&&Oe.has(i))e.splice(f,0,On(",",",")),f++;f++}}scanTokens(n){let f=0;while(f<this.tokens.length)f+=n.call(this,this.tokens[f],f,this.tokens)}detectEnd(n,f,e,t={}){let i=0;while(n<this.tokens.length){let u=this.tokens[n];if(i===0&&f.call(this,u,n))return e.call(this,u,n);if(jn.has(u[0]))i++;if(Cn.has(u[0]))i--;if(i<0){if(t.returnOnNegativeLevel)return;return e.call(this,u,n)}n++}}closeMergeAssignments(){let n=this.tokens;for(let f=0;f<n.length;f++){if(!n[f].mergeClose)continue;let e=0;for(let t=f+1;t<n.length;t++){let i=n[t][0];if(i==="("||i==="["||i==="{"||i==="CALL_START"||i==="INDEX_START"||i==="INDENT")e++;if(i===")"||i==="]"||i==="}"||i==="CALL_END"||i==="INDEX_END"||i==="OUTDENT")e--;if(e<0||e===0&&i==="TERMINATOR"){n.splice(t,0,On("CALL_END",")",n[t-1]));break}if(t===n.length-1){n.splice(t+1,0,On("CALL_END",")",n[t]));break}}}}commaInImplicitCall(n){let f=0;for(let e=n-1;e>=0;e--){let t=this.tokens[e][0];if(Cn.has(t)){f++;continue}if(jn.has(t)){if(t==="INDENT")return!1;if(f--,f<0)return!1;continue}if(f>0)continue;if(rl.has(t)&&this.tokens[e].spaced){let i=this.tokens[e+1]?.[0];return Gi.has(i)||i==="..."&&Gi.has(this.tokens[e+2]?.[0])}}return!1}commaInImplicitObject(n){let f=0;for(let e=n-1;e>=0;e--){let t=this.tokens[e][0];if(Cn.has(t)){f++;continue}if(jn.has(t)){if(f--,f<0)return!1;continue}if(f>0)continue;if(t===":"&&e>0&&this.tokens[e-1][0]==="PROPERTY")return this.looksObjectish(n+1);if(si.has(t))return!1}return!1}looksObjectish(n){if(!this.tokens[n])return!1;if(this.tokens[n]?.[0]==="@"&&this.tokens[n+2]?.[0]===":")return!0;if(this.tokens[n+1]?.[0]===":")return!0;if(ti(this.tokens[n]))for(let f=n+1;f<this.tokens.length;f+=2){if(!Ni(this.tokens[f],this.tokens[f+1]))break;if(!ti(this.tokens[f+1]))break;if(this.tokens[f+2]?.[0]===":")return!0}if(jn.has(this.tokens[n]?.[0])){let f=null;if(this.detectEnd(n+1,(e)=>Cn.has(e[0]),(e,t)=>f=t),f&&this.tokens[f+1]?.[0]===":")return!0}return!1}findTagsBackwards(n,f){let e=new Set(f),t=[];while(n>=0){let i=this.tokens[n]?.[0];if(!t.length&&e.has(i))return!0;if(Cn.has(i))t.push(i);if(jn.has(i)&&t.length)t.pop();if(!t.length&&(jn.has(i)&&!this.tokens[n]?.generated||si.has(i)))break;n--}return!1}makeIndentation(n){let f=On("INDENT",2),e=On("OUTDENT",2);if(n)f.generated=e.generated=!0,f.origin=e.origin=n;else f.explicit=e.explicit=!0;return[f,e]}}tf(vn);Yi(vn);var Dt=["abort","animationcancel","animationend","animationiteration","animationstart","auxclick","beforeinput","beforematch","beforetoggle","blur","cancel","canplay","canplaythrough","change","click","close","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"],Df=new Set(Dt);var Rt=["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"];var Mt=["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","set","stop","svg","switch","symbol","text","textPath","tspan","use","view"],Ut=["math","param","portal"],Rf=new Set([...Rt,...Ut]),Ln=new Set(Mt),ai=new Set([...Rf,...Ln]);var Mf="__bind_",Uf="__",hl=new Set(["beforeMount","mounted","beforeUnmount","unmounted","onError"]),qf="{ status?: number; message?: string; error?: Error; path?: string }",qt=new Set(["disabled","hidden","readonly","required","checked","selected","autofocus","autoplay","controls","loop","muted","multiple","novalidate","open","reversed","defer","async","formnovalidate","allowfullscreen","inert"]),sl="http://www.w3.org/2000/svg";function St(n){for(let f of n){if(!Array.isArray(f))continue;let e=f[1]instanceof String?f[1].valueOf():f[1],t=f[2]instanceof String?f[2].valueOf():f[2];if(e==="type"&&typeof t==="string")return t.replace(/^["']|["']$/g,"")}return null}function pn(n){if(typeof n==="string"||n instanceof String)return n.valueOf();if(Array.isArray(n)&&n[0]==="."&&n[1]==="this"&&(typeof n[2]==="string"||n[2]instanceof String))return n[2].valueOf();return null}function ol(n){return Array.isArray(n)&&n[0]==="."&&n[1]==="this"}function qi(n){if(n instanceof String&&n.type)return n.type;if(Array.isArray(n)&&n[2]instanceof String&&n[2].type)return n[2].type;return null}function Oi(n){if(n instanceof String&&n.optional)return!0;if(Array.isArray(n)&&n[2]instanceof String&&n[2].optional)return!0;return!1}function Sf(n){let f=[];while(Array.isArray(n)&&n[0]==="."){let e=n[2];if(!(typeof e==="string"||e instanceof String))return null;f.unshift(e.valueOf()),n=n[1]}if(typeof n==="string"||n instanceof String)f.unshift(n.valueOf());else return null;return f}function Et(n){let f,e=n;if(Array.isArray(n)&&Array.isArray(n[0])&&n[0][0]==="."){if(n.length!==2)return{error:"a keyed gate takes exactly one key argument"};e=n[0],f=n[1]}let t=Sf(e);if(!t)return{error:"'<~' requires a literal @app.data.… path on the right-hand side"};if(t[0]==="this")t.shift();if(t[0]!=="app"||t[1]!=="data"||t.length<3)return{error:"'<~' requires a literal @app.data.… path on the right-hand side"};return{path:t.slice(2).join("."),keyExpr:f}}function dt(n){let f={error:"a keyed gate key may only reference params or query (e.g. params.id)"},e=typeof n==="string"||n instanceof String?n.valueOf():null;if(e!=null){if(/^-?[\d.]/.test(e)||e.startsWith('"')||e.startsWith("'"))return{code:e,stubCode:e};return f}let t=Sf(n);if(!t)return f;if(t[0]==="this")t.shift();if(t[0]!=="params"&&t[0]!=="query"||t.length<2)return f;let i=t.join(".");return{code:i,stubCode:`this.${i}`}}function Ef(n,f){let e=(r,h)=>r instanceof String?r[h]:void 0,t=f.prototype.classifyKeyword;f.prototype.classifyKeyword=function(r,h,o){if(r==="offer"||r==="accept"){let s=0;for(let w=this.tokens.length-1;w>=0;w--){let y=this.tokens[w][0];if(y==="OUTDENT")s++;else if(y==="INDENT")s--;if(s<0&&this.tokens[w-1]?.[0]==="COMPONENT")return r.toUpperCase()}return h}return t.call(this,r,h,o)},f.prototype.rewriteRender=function(){let r=(_,D,M)=>{let q=[_,D];if(q.pre=0,q.data=null,q.loc=M?.loc??{r:0,c:0,n:0},q.spaced=!1,q.newLine=!1,q.generated=!0,M)q.origin=M;return q},h=!1,o=0,s=0,w=[],y=(_)=>{let D=_.split("#")[0];return ai.has(D)},A=(_)=>{if(!_||typeof _!=="string")return!1;return/^[A-Z][A-Za-z0-9]*[a-z][A-Za-z0-9]*$/.test(_)},m=(_)=>{return y(_)||A(_)},R=(_,D,M,q)=>{let S=1,d=D;while(d>=0&&S>0){let K=_[d][0];if(K===M)S++;else if(K===q)S--;if(S>0)d--}return d},U=(_,D)=>{let M=D;while(M>0&&_[M][0]==="OUTDENT")M=R(_,M-1,"OUTDENT","INDENT");while(M>0){let q=_[M-1][0];if(q==="TERMINATOR"||q==="RENDER")break;if(q==="OUTDENT"){M=R(_,M-2,"OUTDENT","INDENT");continue}if(q==="INDENT"){let S=_[M][0];if(S==="CALL_END"||S===")"){M=R(_,M-1,S,S==="CALL_END"?"CALL_START":"(");continue}break}if(q==="CALL_END"||q===")"){M=R(_,M-2,q,q==="CALL_END"?"CALL_START":"(");continue}if(q==="INTERPOLATION_END"){M=R(_,M-2,"INTERPOLATION_END","INTERPOLATION_START");continue}if(q==="STRING_END"){M=R(_,M-2,"STRING_END","STRING_START");continue}M--}return _[M]&&_[M][0]==="IDENTIFIER"&&(m(_[M][1])||(M===0||_[M-1][0]==="INDENT"||_[M-1][0]==="TERMINATOR"||_[M-1][0]==="RENDER"))};this.scanTokens(function(_,D,M){let q=_[0],S=D<M.length-1?M[D+1]:null;if(q==="RENDER")return h=!0,o=s+1,1;if(q==="INDENT")return s++,1;if(q==="OUTDENT"){s--;let d=0;while(w.length>0&&w[w.length-1]>s){let K=r("CALL_END",")",_);M.splice(D+1+d,0,K),w.pop(),d++}if(h&&s<o)h=!1;return 1+d}if(!h)return 1;if(q==="="&&D>0){let d=M[D-1][0];if(d==="TERMINATOR"||d==="INDENT"||d==="RENDER"){let K=r("IDENTIFIER","__text__",_),E=r("CALL_START","(",_);return M.splice(D,1,K,E),this.detectEnd(D+2,(Z)=>Z[0]==="TERMINATOR"||Z[0]==="OUTDENT",(Z,Q)=>M.splice(Q,0,r("CALL_END",")",Z)),{returnOnNegativeLevel:!0}),2}}if(q==="UNARY_MATH"&&_[1]==="~"&&S&&S[0]==="IDENTIFIER"){_[0]="PROPERTY",_[1]="__transition__";let d=r(":",":",_),K=r("STRING",`"${S[1]}"`,S);return M.splice(D+1,1,d,K),1}if(q==="PROPERTY"&&_[1][0]==="$"&&_[1].length>1)return _[0]="STRING",_[1]=`"data-${_[1].slice(1)}"`,1;if(q==="IDENTIFIER"&&!_.spaced){let d=[_[1]],K=D+1;while(K+1<M.length){let E=M[K],Z=M[K+1];if(E[0]==="-"&&!E.spaced&&(Z[0]==="IDENTIFIER"||Z[0]==="PROPERTY")){if(d.push(Z[1]),K+=2,Z[0]==="PROPERTY")break}else break}if(d.length>1&&K>D+1&&M[K-1][0]==="PROPERTY"){let E=d.join("-");if(E[0]==="$")E="data-"+E.slice(1);return _[0]="STRING",_[1]=`"${E}"`,M.splice(D+1,K-D-1),1}}if(q==="."){let d=D>0?M[D-1]:null,K=d?d[0]:null;if(K==="INDENT"||K==="TERMINATOR"){if(S&&S[0]==="PROPERTY"){let E=D+2<M.length?M[D+2]:null;if(!E||E[0]!==":"){let Z=r("IDENTIFIER","div",_);return M.splice(D,0,Z),2}}if(!S||S[0]!=="(")return _[0]="IDENTIFIER",_[1]="div",0}}if(q==="IDENTIFIER"||q==="PROPERTY"){let d=M[D+1],K=M[D+2];if(d&&d[0]==="#"&&K&&(K[0]==="PROPERTY"||K[0]==="IDENTIFIER")){if(_[1]=_[1]+"#"+K[1],K.spaced)_.spaced=!0;return M.splice(D+1,2),0}}if(q==="BIND"){let d=D>0?M[D-1]:null,K=M[D+1];if(d&&(d[0]==="IDENTIFIER"||d[0]==="PROPERTY")&&K&&K[0]==="IDENTIFIER")return d[1]=`__bind_${d[1]}__`,_[0]=":",_[1]=":",1}if(q==="@"){let d=D+1;if(d<M.length&&M[d][0]==="PROPERTY"){d++;while(d+1<M.length&&M[d][0]==="."&&M[d+1][0]==="PROPERTY")d+=2;if(d>D+2&&d<M.length&&M[d][0]===":"){let K=r("[","[",_);M.splice(D,0,K);let E=r("]","]",M[d+1]);return M.splice(d+1,0,E),2}}}if(q==="."&&S&&S[0]==="("){let d=D>0?M[D-1]:null,K=d?d[0]:null,E=K==="INDENT"||K==="TERMINATOR",Z=r("PROPERTY","__clsx",_);S[0]="CALL_START";let Q=1;for(let W=D+2;W<M.length&&Q>0;W++)if(M[W][0]==="("||M[W][0]==="CALL_START")Q++;else if(M[W][0]===")"){if(Q--,Q===0)M[W][0]="CALL_END"}else if(M[W][0]==="CALL_END")Q--;if(E){let W=r("IDENTIFIER","div",_);return M.splice(D,0,W),M.splice(D+2,0,Z),3}else if(K===":")return M[D]=r("IDENTIFIER","__clsx",_),1;else return M.splice(D+1,0,Z),2}if(S&&S[0]==="INDENT"){if(S.fromThen)return 1;if(q==="->"||q==="=>"||q==="CALL_START"||q==="(")return 1;let d=!1,K=D>0?M[D-1][0]:null,E=K==="IF"||K==="UNLESS"||K==="WHILE"||K==="UNTIL"||K==="WHEN"||K==="FORIN"||K==="FOROF"||K==="FORAS"||K==="FORASAWAIT"||K==="BY",Z=!1;if(q==="CALL_END"){let W=1;for(let C=D-1;C>=0&&W>0;C--)if(M[C][0]==="CALL_END")W++;else if(M[C][0]==="CALL_START"){if(W--,W===0&&C>0&&M[C-1][0]==="PROPERTY"&&M[C-1][1]==="__clsx")Z=!0}}let Q=q==="IDENTIFIER"&&(K==="INDENT"||K==="TERMINATOR"||K==="RENDER");if(Z)d=!0;else if(q==="IDENTIFIER"&&m(_[1])&&!E)d=!0;else if(q==="IDENTIFIER"&&!E)d=Q||U(M,D);else if(q==="PROPERTY"||q==="STRING"||q==="STRING_END"||q==="NUMBER"||q==="BOOL"||q==="CALL_END"||q===")"||q==="]"||q==="INDEX_END"||q==="}"||q==="MAP_END"||q==="PRESENCE")d=U(M,D);if(d){let W=!1;if(q==="PROPERTY"&&D>0&&M[D-1][0]==="."){let L=D;while(L>=2&&M[L-1][0]==="."&&M[L-2][0]==="PROPERTY")L-=2;if(L>=2&&M[L-1][0]==="."&&M[L-2][0]==="IDENTIFIER"&&m(M[L-2][1])){let X=L>=3?M[L-3][0]:null;if(!X||X==="INDENT"||X==="OUTDENT"||X==="TERMINATOR"||X==="RENDER")W=!0}}if(Z||q==="IDENTIFIER"&&(m(_[1])||Q)||W){let L=r("CALL_START","(",_),X=r("->","->",_);return X.newLine=!0,M.splice(D+1,0,L,X),w.push(s+1),3}else{let L=r(",",",",_),X=r("->","->",_);return X.newLine=!0,M.splice(D+1,0,L,X),3}}}if(q==="IDENTIFIER"&&A(_[1])&&S&&(S[0]==="OUTDENT"||S[0]==="TERMINATOR"))return M.splice(D+1,0,r("CALL_START","(",_),r("CALL_END",")",_)),3;return 1})};let i=n.prototype;i.isHtmlTag=function(r){let h=r.split("#")[0];return ai.has(h.toLowerCase())},i.isComponent=function(r){if(!r||typeof r!=="string")return!1;return/^[A-Z][A-Za-z0-9]*[a-z][A-Za-z0-9]*$/.test(r)},i.collectTemplateClasses=function(r){let h=[],o=r;while(this.is(o,".")){let A=o[2];if(typeof A==="string"||A instanceof String)h.unshift(A.valueOf());o=o[1]}let s=typeof o==="string"?o:o instanceof String?o.valueOf():null;if(s===null)return{tag:null,classes:h,id:void 0,base:o};let[w,y]=s.split("#");if(!w)w="div";return{tag:w,classes:h,id:y,base:o}};let u=(r)=>typeof r==="string"?r:r instanceof String?r.valueOf():null,l=(r,h)=>{if(!(r instanceof String))return h;let o=new String(h);if(r.optional)o.optional=!0;if(r.bang)o.bang=!0;return o.optional||o.bang?o:h};i.addBodyRipSrcMarkers=function(r,h){if(typeof r!=="string"||!r)return r;let o=Array.isArray(h)&&h[0]==="block"?h.slice(1):Array.isArray(h)?[h]:[];if(o.length===0)return r;let s=(m)=>{if(m==null)return null;if(!Array.isArray(m))return m?.loc?.r??null;if(m.loc?.r)return m.loc.r;if(m[0]?.loc?.r)return m[0].loc.r;for(let R of m){if(R?.loc?.r)return R.loc.r;if(Array.isArray(R)){let U=s(R);if(U!=null)return U}}return null},w=o.map(s);if(w.every((m)=>m==null))return r;let y=r.split(`
1875
- `),A=0;for(let m=0;m<y.length&&A<w.length;m++){let R=y[m].trim();if(!R)continue;if(R==="{"||R==="}"||R.startsWith("//"))continue;if(y[m].includes("@rip-src:")){A++;continue}if(w[A]!=null)y[m]=`${y[m]} // @rip-src:${w[A]}`;A++}return y.join(`
1876
- `)},i.transformComponentMembers=function(r,h=new Set){let o=this._self;if(!Array.isArray(r)){let s=u(r);if(s&&h.has(s))return r;if(s&&this.reactiveMembers&&this.reactiveMembers.has(s))return[".",[".",o,s],l(r,"value")];if(s&&this.componentMembers&&this.componentMembers.has(s))return[".",o,l(r,s)];return r}if(r[0]==="."&&r[1]==="this"&&u(r[2])!=null){let s=r[2],w=u(s);if(this.reactiveMembers&&this.reactiveMembers.has(w))return[".",[".",o,w],l(s,"value")];return this._factoryMode?[".",o,s]:r}if(r[0]==="."||r[0]==="?.")return[r[0],this.transformComponentMembers(r[1]),r[2]];if(r[0]==="->"){let s=r[1],w=new Set(h);if(Array.isArray(s))for(let y of s){let A=u(Array.isArray(y)&&y[0]==="default"?y[1]:y);if(A)w.add(A)}return["=>",r[1],this.transformComponentMembers(r[2],w)]}if(r[0]==="object"||r[0]==="map-literal")return[r[0],...r.slice(1).map((s)=>{if(Array.isArray(s)&&s[0]==="...")return["...",this.transformComponentMembers(s[1],h)];if(Array.isArray(s)&&s.length>=2){let w=s[1],y=Array.isArray(w)?this.transformComponentMembers(w,h):w,A=this.transformComponentMembers(s[2],h);return[s[0],y,A]}return this.transformComponentMembers(s,h)})];if(r[0]==="block"||r[0]==="program"){let s=new Set(h),w=[r[0]];for(let y=1;y<r.length;y++){let A=r[y];if(Array.isArray(A)&&A[0]==="="){let m=u(A[1]);if(m&&!(this.reactiveMembers&&this.reactiveMembers.has(m))){w.push(["=",A[1],this.transformComponentMembers(A[2],s)]),s.add(m);continue}}w.push(this.transformComponentMembers(A,s))}return w}return r.map((s)=>this.transformComponentMembers(s,h))},i.emitComponent=function(r,h,o,s){let[,w]=h,y=this.is(w,"block")?w.slice(1):[],A=[],m=[],R=[],U=[],_=[],D=[],M=[],q=[],S=[],d=null,K=new Set,E=new Set;for(let G of y){if(!Array.isArray(G))continue;let[O]=G;if(O==="offer"){if(G=G[1],!Array.isArray(G))continue;O=G[0];let J=pn(G[1]);if(J)q.push(J)}if(O==="accept"){let J=typeof G[1]==="string"?G[1]:pn(G[1]);if(J)S.push(J),K.add(J),E.add(J)}else if(O==="."&&G[1]==="this"&&pn(G)){let J=typeof G[2]==="string"||G[2]instanceof String?G[2].valueOf():null;if(J){let P=Oi(G);A.push({name:J,value:void 0,isPublic:!0,type:G[2]?.type||null,required:!P,optional:P,srcLine:G.loc?.r}),K.add(J),E.add(J)}}else if(O==="state"){let J=pn(G[1]);if(J)A.push({name:J,value:G[2],isPublic:ol(G[1]),type:qi(G[1]),optional:Oi(G[1]),srcLine:G.loc?.r}),K.add(J),E.add(J)}else if(O==="computed"){let J=pn(G[1]);if(J)m.push({name:J,expr:G[2],type:qi(G[1]),srcLine:G.loc?.r}),K.add(J),E.add(J)}else if(O==="gate"){let J=pn(G[1]);if(J){let P=Et(G[2]);if(P.error)this.error(P.error,G);let F=null;if(P.keyExpr!==void 0){if(F=dt(P.keyExpr),F.error)this.error(F.error,G)}R.push({name:J,path:P.path,key:F,type:qi(G[1]),srcLine:G.loc?.r}),K.add(J),E.add(J)}}else if(O==="readonly"){let J=pn(G[1]);if(J)U.push({name:J,value:G[2],isPublic:ol(G[1]),type:qi(G[1]),optional:Oi(G[1]),srcLine:G.loc?.r}),K.add(J)}else if(O==="="){let J=pn(G[1]);if(J)if(hl.has(J))D.push({name:J,value:G[2]});else{let P=G[2];if(Array.isArray(P)&&(P[0]==="->"||P[0]==="=>"))_.push({name:J,func:P}),K.add(J);else A.push({name:J,value:P,isPublic:ol(G[1]),type:qi(G[1]),optional:Oi(G[1]),srcLine:G.loc?.r}),K.add(J),E.add(J)}}else if(O==="effect")M.push(G);else if(O==="render")d=G;else if(O==="object")for(let J=1;J<G.length;J++){let P=G[J];if(!Array.isArray(P))continue;let[,F,N]=P;if(typeof F==="string"&&hl.has(F))D.push({name:F,value:N});else if(typeof F==="string")_.push({name:F,func:N}),K.add(F)}}if(R.length>0){if(!this._gateDecls)this._gateDecls=[];for(let{path:G,key:O,srcLine:J}of R)this._gateDecls.push({path:G,keyed:!!O,line:(J??0)+1})}let Z=new Map;for(let{name:G}of _)if(/^on[A-Z]/.test(G)&&!hl.has(G)){let O=G[2].toLowerCase()+G.slice(3);if(Df.has(O))Z.set(O,G)}let Q=h[0]?.valueOf?.()??null,W=new Set;for(let{name:G,isPublic:O}of A)if(O)W.add(G);for(let{name:G,isPublic:O}of U)if(O)W.add(G);if(Q)K.add("rest"),E.add("rest");let C=this.componentMembers,L=this.reactiveMembers,X=this._autoEventHandlers,fn=this._inheritsTag;if(this.componentMembers=K,this.reactiveMembers=E,this._autoEventHandlers=Z.size>0?Z:null,this._inheritsTag=Q||null,this.options.stubComponents){let G=(b)=>b?b.replace(/::/g,":"):null,O=[],J=this._componentTypeParams||"";O.push(`class ${J}{`),O.push(" declare _root: Element | null; declare app: any; declare router: any; declare params: Record<string, string>; declare query: Record<string, string>; declare children: any;");let P=new Set(D.map((b)=>b.name)),F=[];if(!P.has("beforeMount"))F.push("beforeMount?(): void;");if(!P.has("mounted"))F.push("mounted?(): void;");if(!P.has("beforeUnmount"))F.push("beforeUnmount?(): void;");if(!P.has("unmounted"))F.push("unmounted?(): void;");if(!P.has("onError"))F.push(`onError?(err: ${qf}): void;`);if(F.length)O.push(" "+F.join(" "));O.push(" emit(_name: string, _detail?: any): void {}");let N=[],un=[];for(let{name:b,type:p,isPublic:v,required:ln,optional:rn}of A){if(!v)continue;let en=G(p)||"any";if(rn??!ln)N.push(`${b}?: ${en}`),N.push(`__bind_${b}__?: Signal<${en}>`);else un.push(`({ ${b}: ${en}; __bind_${b}__?: Signal<${en}> } | { ${b}?: ${en}; __bind_${b}__: Signal<${en}> })`)}for(let{name:b,type:p,isPublic:v}of U){if(!v)continue;let ln=G(p)||"any";N.push(`${b}?: ${ln}`)}{let b=un.length>0?"":"?",p=[];if(N.length)p.push(`{${N.join("; ")}}`);p.push(...un);let v=p.length?p.join(" & "):"{}";if(Q)v+=` & __RipProps<'${Q}'>`;O.push(` constructor(_props${b}: ${v}) {}`)}let $=(b)=>{let p=b?.valueOf?.()??b;if(typeof p!=="string")return null;if(p==="true"||p==="false")return"boolean";if(/^-?\d+(\.\d+)?$/.test(p))return"number";if(p.startsWith('"')||p.startsWith("'"))return"string";return null},tn=(b)=>{if(!Array.isArray(b)){if(typeof b==="string"||b instanceof String){let v=b.valueOf();return v==="this"||E.has(v)}return!1}let p=b[0]?.valueOf?.()??b[0];if(p==="->"||p==="=>")return!1;return b.some(tn)},cn=[];for(let{name:b,type:p,value:v,isPublic:ln,optional:rn,srcLine:en}of A){let sn=G(p)||$(v),wn=v===void 0||(v?.valueOf?.()??v)==="undefined",Rn=sn?rn&&wn?`${sn} | undefined`:sn:null,An=en!=null?` // @rip-src:${en}`:"";if(!Rn&&!ln&&!wn&&!tn(v))cn.push({name:b,value:v,marker:An});else O.push((Rn?` declare ${b}: Signal<${Rn}>;`:` declare ${b}: Signal<any>;`)+An)}if(Q)O.push(` declare rest: Signal<__RipProps<'${Q}'>>;`);for(let{name:b,type:p,value:v}of U){let ln=G(p)||$(v);O.push(ln?` declare ${b}: ${ln};`:` declare ${b}: any;`)}for(let{name:b,path:p,key:v,type:ln,srcLine:rn}of R){let en=G(ln),sn=en?`: Computed<${en}>`:"",wn=v?`this.app.data.${p}(${v.stubCode})`:`this.app.data.${p}`,_n=rn!=null?` // @rip-src:${rn}`:"";O.push(` ${b}${sn} = __computed(() => __ripGate(${wn}));`+_n)}for(let{name:b,expr:p,type:v}of m){let ln=G(v),rn=ln?`: Computed<${ln}>`:"";if(this.is(p,"block")){let en=this.transformComponentMembers(p),sn=this.emitFunctionBody(en);O.push(` ${b}${rn} = __computed(() => ${sn});`)}else{let en=this.emitInComponent(p,"value");O.push(` ${b}${rn} = __computed(() => ${en});`)}}for(let{name:b,value:p,marker:v}of cn){let ln=this.emitInComponent(p,"value");O.push(` ${b} = __state(${ln});`+v)}O.push(" _init(props) {");for(let{name:b,value:p,isPublic:v,srcLine:ln}of U){let rn=this.emitInComponent(p,"value"),en=ln!=null?` // @rip-src:${ln}`:"";O.push((v?` this.${b} = props.${b} ?? ${rn};`:` this.${b} = ${rn};`)+en)}for(let{name:b,value:p,isPublic:v,required:ln,type:rn,srcLine:en}of A){if(cn.some((wn)=>wn.name===b))continue;let sn=en!=null?` // @rip-src:${en}`:"";if(v&&(ln||p===void 0))O.push(` this.${b} = __state(props.__bind_${b}__ ?? props.${b});`+sn);else if(v){let wn=this.emitInComponent(p,"value");O.push(` this.${b} = __state(props.__bind_${b}__ ?? props.${b} ?? ${wn});`+sn)}else{let wn=this.emitInComponent(p,"value");O.push(` this.${b} = __state(${wn});`+sn)}}for(let b of M){let p=b[2],v=this.containsAwait(p)?"async ":"";if(this.is(p,"block")){let ln=this.transformComponentMembers(p),rn=this.emitFunctionBody(ln);O.push(` __effect(${v}() => ${rn});`)}else{let ln=this.emitInComponent(p,"value");O.push(` __effect(${v}() => { return ${ln}; });`)}}O.push(" }");let on=new Map;for(let[b,p]of Z)on.set(p,b);if(d){let b=(p)=>{if(!Array.isArray(p))return;let v=p[0]?.valueOf?.()??p[0];if(typeof v==="string"&&v!=="object"&&v!=="switch"&&ai.has(v.split(/[.#]/)[0]))for(let ln=1;ln<p.length;ln++){let rn=p[ln],en=this.is(rn,"object")?rn:null;if(!en&&Array.isArray(rn)&&(rn[0]==="->"||rn[0]==="=>")&&this.is(rn[2],"block")){for(let sn=1;sn<rn[2].length;sn++)if(this.is(rn[2][sn],"object")){en=rn[2][sn];break}}if(!en)continue;for(let sn=1;sn<en.length;sn++){let wn=en[sn];if(!Array.isArray(wn)||wn.length<2)continue;let[,_n,Rn]=wn;if(Array.isArray(_n)&&_n[0]==="."&&_n[1]==="this"&&Array.isArray(Rn)&&Rn[0]==="."&&Rn[1]==="this"){let An=typeof _n[2]==="string"?_n[2]:_n[2]?.valueOf?.(),g=typeof Rn[2]==="string"?Rn[2]:Rn[2]?.valueOf?.();if(An&&g&&!on.has(g))on.set(g,An)}}}for(let ln=1;ln<p.length;ln++)b(p[ln])};b(d)}for(let{name:b,func:p}of _)if(Array.isArray(p)&&(p[0]==="->"||p[0]==="=>")){let[,v,ln]=p;if((!v||Array.isArray(v)&&v.length===0)&&this.containsIt(ln))v=["it"];let rn=Array.isArray(v)?v.map((Rn)=>this.formatParam(Rn)).join(", "):"",en=on.get(b);if(en&&Array.isArray(v)&&v.length>0){let Rn=v[0];if(!(Rn?.type||Rn instanceof String&&Rn.type)&&typeof(Rn?.valueOf?.()??Rn)==="string"){let g=Rn?.valueOf?.()??Rn;rn=rn.replace(g,`${g}: HTMLElementEventMap['${en}']`)}}let sn=this.reactiveMembers?this.transformComponentMembers(ln):ln,wn=this.containsAwait(ln),_n=this.emitFunctionBody(sn,v||[]);_n=this.addBodyRipSrcMarkers(_n,ln),O.push(` ${wn?"async ":""}${b}(${rn}) ${_n}`)}for(let{name:b,value:p}of D)if(Array.isArray(p)&&(p[0]==="->"||p[0]==="=>")){let[,v,ln]=p,rn=Array.isArray(v)?v.map((_n)=>this.formatParam(_n)).join(", "):"";if(b==="onError"&&Array.isArray(v)&&v.length===1){let _n=v[0];if((typeof _n==="string"||_n instanceof String)&&!e(_n,"type"))rn=`${_n.valueOf()}: ${qf}`}let en=this.reactiveMembers?this.transformComponentMembers(ln):ln,sn=this.containsAwait(ln),wn=this.emitFunctionBody(en,v||[]);wn=this.addBodyRipSrcMarkers(wn,ln),O.push(` ${sn?"async ":""}${b}(${rn}) ${wn}`)}if(d){let b=[],p=0,v=this.options.source?.split(`
1877
- `),ln=(g)=>typeof g==="string"&&/^["'`]\//.test(g)?`__ripRoute(${g})`:g,rn=/^[a-zA-Z_$][\w$]*$/,en=(g)=>typeof g==="string"&&rn.test(g)&&!/^(?:true|false|null|undefined)$/.test(g)&&!n.GENERATORS[g]&&!this._isInScopeValue(g),sn=(g,nn)=>{if(nn==null||!v)return nn;let zn=new RegExp(`(?<![\\w$.#@])${g}(?![\\w$])`);for(let Mn=nn;Mn<v.length;Mn++)if(v[Mn]&&zn.test(v[Mn]))return Mn;return nn},wn=(g,nn,zn)=>{let Mn=sn(g,nn);if(Mn!=null&&Mn===zn)return;b.push(` ({ ${g}: true });`+(Mn!=null?` // @rip-src:${Mn}`:""))},_n=(g,nn)=>{let zn=[],Mn=[];for(let I of g){let T=null;if(this.is(I,"object"))T=I;else if(Array.isArray(I)&&(I[0]==="->"||I[0]==="=>")&&this.is(I[2],"block")){let x=I[2].loc?.r??nn;for(let k=1;k<I[2].length;k++){let an=I[2][k];if(this.is(an,"object")){if(!T)T=an}else if(en(an))wn(an,x,nn)}}else if(en(I)){wn(I,nn,nn);continue}if(T)for(let x=1;x<T.length;x++){let k=T[x],[,an,V]=k,hn=k.loc?.r??T.loc?.r;if(Array.isArray(an)&&an[0]==="."&&an[1]==="this"){try{let yn=this.emitInComponent(V,"value");Mn.push({code:yn,srcLine:hn})}catch{}continue}if(typeof an==="string"&&an.startsWith("@")){try{let yn=this.emitInComponent(V,"value");Mn.push({code:yn,srcLine:hn})}catch{}continue}if(typeof an==="string")if(an.startsWith("__bind_")&&an.endsWith("__")){let yn=typeof V==="string"&&this.reactiveMembers?.has(V)?`this.${V}`:this.emitInComponent(V,"value");zn.push({code:`${an}: ${yn}`,srcLine:hn})}else{let yn=this.emitInComponent(V,"value"),mn=an==="href"?ln(yn):yn;zn.push({code:`${an}: ${mn}`,srcLine:hn})}}}return zn.sideExprs=Mn,zn},Rn=(g,nn,zn)=>{let Mn=[],I=(T)=>{if(nn!=="a")return T;if(typeof T!=="string")return T;if(T.length<2)return T;if(T[0]!=="`")return T;if(T[1]!=="/")return T;return`__ripRoute(${T})`};for(let T of g){let x=null;if(this.is(T,"object"))x=T;else if(Array.isArray(T)&&(T[0]==="->"||T[0]==="=>")&&this.is(T[2],"block")){let k=T[2].loc?.r??zn;for(let an=1;an<T[2].length;an++){let V=T[2][an];if(this.is(V,"object")){if(!x)x=V}else if(en(V))wn(V,k,zn)}}else if(en(T)){wn(T,zn,zn);continue}if(x)for(let k=1;k<x.length;k++){let an=x[k];if(!Array.isArray(an)||an.length<2)continue;let[,V,hn]=an,yn=an.loc?.r??x.loc?.r;if(Array.isArray(V)&&V[0]==="."&&V[1]==="this"){let mn=typeof V[2]==="string"?V[2]:V[2]?.valueOf?.();if(!mn)continue;let En=mn.split(".")[0],Jn=this.emitInComponent(hn,"value");if(Array.isArray(hn)&&(hn[0]==="->"||hn[0]==="=>")){let Gn=hn[1]?.[0],Yn=typeof Gn==="string"?Gn:Gn?.valueOf?.();if(Yn&&!(Gn&&Gn.type)&&/^[A-Za-z_$][\w$]*$/.test(Yn)){let gn=`RipEvent<HTMLElementEventMap['${En}'], __RipElementMap['${nn}']>`;Jn=Jn[0]==="("?Jn.replace(new RegExp("^\\(\\s*"+Yn+"\\b"),`(${Yn}: ${gn}`):Jn.replace(new RegExp("^"+Yn+"\\b"),`(${Yn}: ${gn})`)}}Mn.push({code:`'@${En}': ${Jn}`,srcLine:yn})}else if(typeof V==="string"){if(V==="key"){let mn=this.emitInComponent(hn,"value"),En=yn!=null?` // @rip-src:${yn}`:"";b.push(` (${mn});${En}`);continue}if(V.startsWith("__bind_")&&V.endsWith("__")){let mn=V.slice(7,-2),En=this.emitInComponent(hn,"value");Mn.push({code:`${mn}: ${En}`,srcLine:yn})}else{let mn=this.emitInComponent(hn,"value"),En=V==="href"?I(mn):mn;Mn.push({code:`${V}: ${En}`,srcLine:yn})}}}}return Mn},An=(g)=>{if(!Array.isArray(g))return;let nn=g[0]?.valueOf?.()??g[0];if(Array.isArray(nn)&&nn[0]==="."){let I=[],T=(x)=>{if(typeof x==="string")return I.push(x),!0;if(Array.isArray(x)&&x[0]==="."&&I.length===0){if(!T(x[1]))return!1;if(typeof x[2]!=="string"||!/^[\w-]+$/.test(x[2]))return!1;return I.push(".",x[2]),!0}return!1};if(T(nn)&&I.length>=3&&/^[a-z][\w-]*$/.test(I[0])){let x=I.join(""),k=[x];for(let V=1;V<g.length;V++)k.push(g[V]);if(g.loc)k.loc=g.loc;k._astNode=g;let an=(V)=>{if(Array.isArray(V)&&V[0]==="."){if(V.loc)delete V.loc;an(V[1])}};an(nn),g=k,nn=x}}if(nn==="object")return;if(nn==="if"||nn==="unless"){let I=g[1];if(I!=null){let T=this.emitInComponent(I,"value"),x=g.loc?.r,k=x!=null?` // @rip-src:${x}`:"",an=nn==="unless"?`!(${T})`:T;if(b.push(` if (${an}) {${k}`),g[2]!=null)An(g[2]);let V=g.slice(3).filter((hn)=>hn!=null);if(V.length){b.push(" } else {");for(let hn of V)An(hn)}b.push(" }");return}}else if(nn==="?:"){let I=this.emitInComponent(g,"value"),T=g.loc?.r,x=T!=null?` // @rip-src:${T}`:"";b.push(` ${I};${x}`);return}else if(nn==="switch"){let I=g[1];if(I!=null){let T=this.emitInComponent(I,"value"),x=g.loc?.r,k=x!=null?` // @rip-src:${x}`:"";b.push(` ${T};${k}`)}}else if(nn==="for-in"||nn==="for-of"||nn==="for-as"){let I=g[1],T=g[2];if(T!=null){let x=this.emitInComponent(T,"value"),k=g.loc?.r,an=k!=null?` // @rip-src:${k}`:"",V;if(Array.isArray(I))if(I.length===1){let mn=I[0];V=Array.isArray(mn)?this.emitDestructuringPattern(mn):String(mn)}else if(nn==="for-of")V=`[${I.map((mn)=>String(mn)).join(", ")}]`;else V=String(I[0]);else V=String(I);if(nn==="for-of")b.push(` for (const ${V} of Object.entries(${x})) {${an}`);else b.push(` for (const ${V} of ${x}) {${an}`);let hn=(mn)=>typeof mn==="string"||mn instanceof String?String(mn):null,yn=Array.isArray(I)?{itemVar:hn(I[0]),indexVar:hn(I[1])}:{itemVar:hn(I),indexVar:null};(this._loopVarStack||(this._loopVarStack=[])).push(yn);for(let mn=3;mn<g.length;mn++)if(g[mn]!=null)An(g[mn]);this._loopVarStack.pop(),b.push(" }");return}}else if(nn==="__text__"){let I=g[1];if(I!=null){let T=this.emitInComponent(I,"value"),x=g.loc?.r,k=x!=null?` // @rip-src:${x}`:"";b.push(` ${T};${k}`)}return}else if(nn==="str"){try{let I=this.emitInComponent(g,"value"),T=g.loc?.r,x=T!=null?` // @rip-src:${T}`:"";b.push(` ${I};${x}`)}catch{}return}else if(nn==="."||nn==="?."){let I=g;while(Array.isArray(I)&&(I[0]==="."||I[0]==="?."))I=I[1];let T=typeof I==="string"?I:I?.valueOf?.();if(typeof T==="string"&&!this.isHtmlTag(T)&&!n.GENERATORS[T])try{let x=this.emitInComponent(g,"value"),k=g.loc?.r,an=k!=null?` // @rip-src:${k}`:"";b.push(` ${x};${an}`)}catch{}return}let zn=(I,T,x)=>{if(typeof I!=="string"||!/^[a-z][\w-]*$/.test(I))return;if(n.GENERATORS[I])return;if(I==="null"||I==="undefined"||I==="true"||I==="false")return;let k=T.loc?.r,an=null;if(k!=null&&v){let hn=new RegExp(`\\b${I}\\b`,"g");for(let yn=k;yn<v.length;yn++){let mn=v[yn];if(!mn)continue;let En=yn===T.loc.r?T.loc.c+1:0;hn.lastIndex=En;let Jn,Gn=-1;while((Jn=hn.exec(mn))!==null){let Yn=Jn.index>0?mn[Jn.index-1]:"";if(Yn==="."||Yn==="#")continue;Gn=Jn.index;break}if(Gn>=0){k=yn,an=Gn;break}}}let V=k!=null?` // @rip-src:${k}`:"";if(k!=null&&an!=null){let hn=T._astNode||T;if(!hn._anchors)hn._anchors=[];hn._anchors.push({name:I,origLine:k,origCol:an})}if(this.componentMembers&&this.componentMembers.has(I))b.push(` this.${I};${V}`);else if(this._isInScopeValue(I))b.push(` ${I};${V}`);else if(!x&&this.isHtmlTag(I))b.push(` __ripEl('${I}');${V}`)},Mn=typeof nn==="string"&&/^[a-z][\w-]*(?:[.#][\w-]+)*$/.test(nn)&&!n.GENERATORS[nn]&&ai.has(nn.split(/[.#]/)[0]);if(nn==="block")for(let I=1;I<g.length;I++)zn(g[I],g,!1);else if(typeof nn==="string"&&/^[A-Z]/.test(nn))for(let I=1;I<g.length;I++)zn(g[I],g,!0);else if(Mn){for(let I=1;I<g.length;I++)zn(g[I],g,!0);for(let I=1;I<g.length;I++){let T=g[I];if(!Array.isArray(T))continue;let x=T[0]?.valueOf?.()??T[0];if(x==="object"||x==="block"||x==="__text__")continue;if(typeof x==="string"){if(/^[A-Z]/.test(x))continue;if(ai.has(x.split(/[.#]/)[0]))continue;if(/^[a-z][\w-]*$/.test(x)&&!n.GENERATORS[x])continue;if(/^(if|unless|switch|for-in|for-of|for-as|while|until|loop|loop-n|try|throw|break|continue|break-if|continue-if|control|when|return|def|->|=>|class|enum|state|computed|readonly|effect|=|program)$/.test(x))continue}try{let k=this.emitInComponent(T,"value"),an=T.loc?.r??g.loc?.r,V=an!=null?` // @rip-src:${an}`:"";b.push(` ${k};${V}`)}catch{}}}for(let I=1;I<g.length;I++)An(g[I]);if(typeof nn==="string"&&/^[A-Z]/.test(nn)){let I=_n(g.slice(1),g.loc?.r),T=`_${p++}`,x=`ConstructorParameters<typeof ${nn}>[0] & {}`;if(I.length===0){let k=g.loc?.r;b.push(` const ${T}: ${x} = {};`+(k!=null?` // @rip-src:${k}`:""))}else if(I.length===1){let k=g.loc?.r??I[0].srcLine;b.push(` const ${T}: ${x} = {${I[0].code}};`+(k!=null?` // @rip-src:${k}`:""))}else{let k=g.loc?.r;if(new Set(I.map((V)=>V.srcLine).filter((V)=>V!=null)).size<=1){let V=I[0].srcLine??k;b.push(` const ${T}: ${x} = {${I.map((hn)=>hn.code).join(", ")}};`+(V!=null?` // @rip-src:${V}`:""))}else{b.push(` const ${T}: ${x} = {`+(k!=null?` // @rip-src:${k}`:""));for(let V of I)b.push(` ${V.code},`+(V.srcLine!=null?` // @rip-src:${V.srcLine}`:""));b.push(" };")}}if(I.sideExprs)for(let k of I.sideExprs)b.push(` ${k.code};`+(k.srcLine!=null?` // @rip-src:${k.srcLine}`:""))}else if(typeof nn==="string"&&!n.GENERATORS[nn]&&(ai.has(nn.split(/[.#]/)[0])||/^[a-z][\w-]*$/.test(nn)&&g.length>1)){let I=nn.split(/[.#]/)[0],T=Ln.has(I)?"__ripSvgEl":"__ripEl",x=Rn(g.slice(1),I,g.loc?.r),k=g.loc?.r,an=k!=null?` // @rip-src:${k}`:"";if(x.length===0)b.push(` ${T}('${I}');${an}`);else if(x.length===1){let V=x[0].srcLine??k,hn=V!=null?` // @rip-src:${V}`:"";b.push(` ${T}('${I}', {${x[0].code}});${hn}`)}else if(new Set(x.map((hn)=>hn.srcLine).filter((hn)=>hn!=null)).size<=1){let hn=x[0].srcLine??k,yn=hn!=null?` // @rip-src:${hn}`:"";b.push(` ${T}('${I}', {${x.map((mn)=>mn.code).join(", ")}});${yn}`)}else{b.push(` ${T}('${I}', {${an}`);for(let hn of x)b.push(` ${hn.code},`+(hn.srcLine!=null?` // @rip-src:${hn.srcLine}`:""));b.push(" });")}}};if(An(d),b.length>0){O.push(" _render() {");for(let g of b)O.push(g);O.push(" }")}}return O.push("}"),this.componentMembers=C,this.reactiveMembers=L,this._autoEventHandlers=X,this._inheritsTag=fn,O.join(`
1878
- `)}this.usesTemplates=!0,this.usesReactivity=!0;let Y=[],Un="";if(Y.push("class extends __Component {"),R.length>0){let G=R.map(({path:O,key:J})=>J?`{ path: '${O}', key: (params, query) => ${J.code} }`:`'${O}'`);Y.push(` static __gates = [${G.join(", ")}];`)}Y.push(" _init(props) {");for(let{name:G,path:O,key:J}of R)Y.push(J?` this.${G} = __gateBind(this, '${O}', (params, query) => ${J.code});`:` this.${G} = __gateBind(this, '${O}');`);for(let{name:G,value:O,isPublic:J}of U){let P=this.emitInComponent(O,"value");Y.push(J?` this.${G} = props.${G} ?? ${P};`:` this.${G} = ${P};`)}for(let G of S)Y.push(` this.${G} = getContext('${G}');`);for(let{name:G,value:O,isPublic:J,required:P}of A)if(J&&(P||O===void 0))Y.push(` this.${G} = __state(props.__bind_${G}__ ?? props.${G});`);else if(J){let F=this.emitInComponent(O,"value");Y.push(` this.${G} = __state(props.__bind_${G}__ ?? props.${G} ?? ${F});`)}else{let F=this.emitInComponent(O,"value");Y.push(` this.${G} = __state(${F});`)}if(Q){if(Y.push(" this._rest = {};"),Y.push(" for (const __k in props) {"),W.size>0){let G=[...W].map((O)=>`__k !== '${O}'`).join(" && ");Y.push(` if (${G} && !__k.startsWith('__bind_')) this._rest[__k] = props[__k];`)}else Y.push(" if (!__k.startsWith('__bind_')) this._rest[__k] = props[__k];");Y.push(" }"),Y.push(" this.rest = __state(this._rest);")}for(let{name:G,expr:O}of m)if(this.is(O,"block")){let J=this.transformComponentMembers(O),P=this.emitFunctionBody(J);Y.push(` this.${G} = __computed(() => ${P});`)}else{let J=this.emitInComponent(O,"value");Y.push(` this.${G} = __computed(() => ${J});`)}for(let G of q)Y.push(` setContext('${G}', this.${G});`);for(let G of M){let O=G[2],J=this.containsAwait(O)?"async ":"";if(this.is(O,"block")){let P=this.transformComponentMembers(O),F=this.emitFunctionBody(P);Y.push(` __effect(${J}() => ${F});`)}else{let P=this.emitInComponent(O,"value");Y.push(` __effect(${J}() => { return ${P}; });`)}}if(Y.push(" }"),Q)Y.push(" _setRestProp(key, value) {"),Y.push(" if (key.startsWith('__bind_')) return;"),Y.push(" this._rest || (this._rest = {});"),Y.push(" if (value == null) delete this._rest[key];"),Y.push(" else this._rest[key] = value;"),Y.push(" this.rest.touch();"),Y.push(" this._applyInheritedProp(this._inheritedEl, key, value);"),Y.push(" }"),Y.push(" _applyRestToInheritedEl() {"),Y.push(" if (!this._inheritedEl || !this._rest) return;"),Y.push(" for (const key in this._rest) this._applyInheritedProp(this._inheritedEl, key, this._rest[key]);"),Y.push(" }"),Y.push(" _applyInheritedProp(el, key, value) {"),Y.push(" if (!el || key === 'key' || key === 'ref' || key === 'children' || key.startsWith('__bind_')) return;"),Y.push(" if (key[0] === '@') {"),Y.push(" const event = key.slice(1).split('.')[0];"),Y.push(" this._restHandlers || (this._restHandlers = {});"),Y.push(" const prev = this._restHandlers[key];"),Y.push(" if (prev) el.removeEventListener(event, prev);"),Y.push(" if (typeof value === 'function') {"),Y.push(" const next = (e) => __batch(() => value(e));"),Y.push(" this._restHandlers[key] = next;"),Y.push(" el.addEventListener(event, next);"),Y.push(" } else {"),Y.push(" delete this._restHandlers[key];"),Y.push(" }"),Y.push(" return;"),Y.push(" }"),Y.push(" if (key === 'class' || key === 'className') {"),Y.push(" if (el instanceof SVGElement) el.setAttribute('class', __clsx(value));"),Y.push(" else el.className = __clsx(value);"),Y.push(" return;"),Y.push(" }"),Y.push(" if (key === 'style') {"),Y.push(" if (value == null) { el.removeAttribute('style'); return; }"),Y.push(" if (typeof value === 'string') { el.setAttribute('style', value); return; }"),Y.push(" if (typeof value === 'object') { Object.assign(el.style, value); return; }"),Y.push(" }"),Y.push(" if (key === 'innerHTML' || key === 'textContent' || key === 'innerText') {"),Y.push(" el[key] = value ?? '';"),Y.push(" return;"),Y.push(" }"),Y.push(" if (key in el && !key.includes('-')) {"),Y.push(" el[key] = value;"),Y.push(" return;"),Y.push(" }"),Y.push(" if (value == null || value === false) {"),Y.push(" el.removeAttribute(key);"),Y.push(" return;"),Y.push(" }"),Y.push(" if (value === true) {"),Y.push(" el.setAttribute(key, '');"),Y.push(" return;"),Y.push(" }"),Y.push(" el.setAttribute(key, value);"),Y.push(" }");for(let{name:G,func:O}of _)if(Array.isArray(O)&&(O[0]==="->"||O[0]==="=>")){let[,J,P]=O;if((!J||Array.isArray(J)&&J.length===0)&&this.containsIt(P))J=["it"];let F=Array.isArray(J)?J.map((tn)=>this.formatParam(tn)).join(", "):"",N=this.reactiveMembers?this.transformComponentMembers(P):P,un=this.containsAwait(P),$=this.emitFunctionBody(N,J||[]);Y.push(` ${un?"async ":""}${G}(${F}) ${$}`)}for(let{name:G,value:O}of D)if(Array.isArray(O)&&(O[0]==="->"||O[0]==="=>")){let[,J,P]=O,F=Array.isArray(J)?J.map((tn)=>this.formatParam(tn)).join(", "):"",N=this.reactiveMembers?this.transformComponentMembers(P):P,un=this.containsAwait(P),$=this.emitFunctionBody(N,J||[]);Y.push(` ${un?"async ":""}${G}(${F}) ${$}`)}if(d){let G=d[1],O=this.buildRender(G);if(O.blockFactories.length>0)Un=O.blockFactories.join(`
1872
+ `,{len:0})}isUnfinished(){if(this.inRenderBlock&&Af.test(this.chunk)&&/^\s*\./.test(this.chunk))return!1;if(this.inRenderBlock&&this.prevTag()==="."){let e=this.tokens.length;if(e>=2){let t=this.tokens[e-2][0];if(t==="INDENT"||t==="TERMINATOR"||t==="OUTDENT")return!1}}let n=this.tokens[this.tokens.length-1];if(n?.[0]==="COMPARE"&&n[1]===">"||n?.[0]==="SHIFT"&&(n[1]===">>"||n[1]===">>>")){let e=0;for(let t=this.tokens.length-1;t>=0;t--){let i=this.tokens[t];if(i[0]==="COMPARE"&&i[1]===">")e++;else if(i[0]==="SHIFT"&&i[1]===">>")e+=2;else if(i[0]==="SHIFT"&&i[1]===">>>")e+=3;else if(i[0]==="COMPARE"&&i[1]==="<")e--;if(e===0&&i[0]==="TYPE_ANNOTATION")return!1;if(e===0&&i[0]===":"){let u=this.tokens[t-1];if(u&&(u[0]===")"||u[0]==="PARAM_END"||u[0]==="CALL_END"))return!1}if(e===0&&i[0]==="IDENTIFIER"&&i[1]==="type")return!1;if(i[0]==="INTERFACE")return!1;if(i[0]==="TERMINATOR"||i[0]==="INDENT"||i[0]==="OUTDENT"){let u=-1;if(i[0]==="INDENT")u=t;else{let l=i[0]==="OUTDENT"?1:0;for(let a=t-1;a>=0;a--){let c=this.tokens[a];if(c[0]==="OUTDENT")l++;else if(c[0]==="INDENT"){if(l===0){u=a;break}l--}}}if(u>0)for(let l=u-1;l>=0;l--){let a=this.tokens[l];if(a[0]==="TERMINATOR"||a[0]==="INDENT"||a[0]==="OUTDENT")break;if(a[0]==="INTERFACE")return!1;if(a[0]==="IDENTIFIER"&&a[1]==="type"){let c=this.tokens[l-1];if(!c||c[0]==="TERMINATOR"||c[0]==="EXPORT")return!1;break}}break}}}return Af.test(this.chunk)||wf.has(this.prevTag())}pair(n){let f=this.ends[this.ends.length-1];if(!f||n!==f.tag){if(f?.tag==="OUTDENT"){let e=this.indents[this.indents.length-1];if(e)this.outdentTo(this.indent-e);return this.pair(n)}Bn(`unmatched ${n}`,{row:this.row,col:this.col})}return this.ends.pop()}stringToken(){let n=et.exec(this.chunk);if(!n)return 0;let f=n[0],e=f.length>1&&f.endsWith("\\"),t=e?f.slice(0,-1):f,i=this.prev();if(i&&this.prevVal()==="from"&&(this.seenImport||this.seenExport))i[0]="FROM";let u;switch(t){case"'":u=tt;break;case'"':u=at;break;case"'''":u=rt;break;case'"""':u=ct;break}let{tokens:l,index:a}=this.matchWithInterpolations(u,f,t),c=t.length===3,r=null;if(c)r=this.processHeredocIndent(a,t,l);return this.mergeInterpolationTokens(l,{quote:t,indent:r,endOffset:a,raw:e}),a}processHeredocIndent(n,f,e){let t=n-f.length,i=t-1;while(i>=0&&this.chunk[i]!==`
1873
+ `)i--;i++;let u=this.chunk.slice(i,t),l=/^\s*$/.test(u)?u.length:null,a="";for(let h of e)if(h[0]==="NEOSTRING")a+=h[1];let c=null,r;mf.lastIndex=0;while(r=mf.exec(a))if(c===null||r[1].length>0&&r[1].length<c.length)c=r[1];if(l===null)return c;if(c===null)return" ".repeat(l);if(l<=c.length)return" ".repeat(l);return c}matchWithInterpolations(n,f,e,t){if(!e)e=f;if(!t)t=/^[#$]\{/;let i=[],u=f.length;if(this.chunk.slice(0,u)!==f)return null;let l=this.chunk.slice(u);while(!0){let[a]=n.exec(l);i.push(["NEOSTRING",a,{offset:u}]),l=l.slice(a.length),u+=a.length;let c=t.exec(l);if(!c)break;let h=c[0].length-1,o=l.slice(h),s=new vn().tokenize(o,{row:this.row,col:this.col+u+h,untilBalanced:!0,rewrite:!1}),w=s.index+h;if(l[w-1]==="}"){let A=s.tokens[0],y=s.tokens[s.tokens.length-1];A[0]="INTERPOLATION_START",A[1]="(",y[0]="INTERPOLATION_END",y[1]=")"}if(s.tokens[1]?.[0]==="TERMINATOR")s.tokens.splice(1,1);let _=s.tokens.length;if(_>2&&s.tokens[_-3]?.[0]==="INDENT"&&s.tokens[_-2]?.[0]==="OUTDENT")s.tokens.splice(_-3,2);i.push(["TOKENS",s.tokens]),l=l.slice(w),u+=w}if(l.slice(0,e.length)!==e)Bn(`missing ${e}`,{row:this.row,col:this.col});return{tokens:i,index:u+e.length}}mergeInterpolationTokens(n,{quote:f,indent:e,endOffset:t,raw:i}){if(n.length>1)this.emit("STRING_START","(",{len:f?.length||0,data:{quote:f}});for(let u=0;u<n.length;u++){let[l,a]=n[u];if(l==="TOKENS")for(let c of a)this.tokens.push(c);else if(l==="NEOSTRING"){let c=a;if(e){let r=new RegExp("\\n"+e,"g");c=c.replace(r,`
1874
+ `)}if(u===0&&f?.length===3)c=c.replace(/^\n/,"");if(u===n.length-1&&f?.length===3)c=c.replace(/\n[^\S\n]*$/,"");if(i)c=c.replace(/\\([nrtbfv0\\'"`xu])/g,"\\\\$1");this.emit("STRING",`"${c}"`,{len:a.length,data:{quote:f}})}}if(n.length>1)this.emit("STRING_END",")",{len:f?.length||0});return t}numberToken(){let n=$e.exec(this.chunk);if(!n)return 0;let f=n[0],e=f.length,t={row:this.row,col:this.col};if(/^0[BOX]/.test(f))Bn(`radix prefix in '${f}' must be lowercase`,{...t,col:t.col+1});if(/^0\d*[89]/.test(f))Bn(`decimal literal '${f}' must not be prefixed with '0'`,{...t,len:e});if(/^0\d+/.test(f))Bn(`octal literal '${f}' must be prefixed with '0o'`,{...t,len:e});let i=At(f),u=i===1/0?"INFINITY":"NUMBER",l={parsedValue:i};if(u==="INFINITY")l.original=f;return this.emit(u,f,{len:e,data:l}),e}regexToken(){let n=this.matchWithInterpolations(ot,"///");if(n){let{tokens:r,index:h}=n,[o]=yf.exec(this.chunk.slice(h)),s=h+o.length;if(r.length===1||!r.some((w)=>w[0]==="TOKENS")){let w=(r[0]?.[1]||"").replace(/(?<!\\)\//g,"\\/");this.emit("REGEX",`/${w}/${o}`,{len:s,data:{delimiter:"///",heregex:{flags:o}}})}else{if(this.emit("REGEX_START","(",{len:0}),this.emit("IDENTIFIER","RegExp",{len:0}),this.emit("CALL_START","(",{len:0}),this.mergeInterpolationTokens(r,{quote:"///",endOffset:s-o.length}),o)this.emit(",",",",{len:0}),this.emit("STRING",`"${o}"`,{len:o.length});this.emit(")",")",{len:0}),this.emit("REGEX_END",")",{len:0})}return s}let f=ht.exec(this.chunk);if(!f)return 0;let[e,t,i]=f,u=this.prev();if(u){if(u.spaced&&Xi.has(u[0])&&(!i||/^\/=?\s/.test(e)))return 0;if(Te.has(u[0])&&!(u.spaced&&Xi.has(u[0])))return 0}if(!i)Bn("missing / (unclosed regex)",{row:this.row,col:this.col});let l=e.length,[a]=yf.exec(this.chunk.slice(l)),c=l+a.length;if(!st.test(a))Bn(`invalid regular expression flags ${a}`,{row:this.row,col:this.col+l,len:a.length});return this.emit("REGEX",`/${t}/${a}`,{len:c,data:{delimiter:"/"}}),c}jsToken(){if(this.chunk[0]!=="`")return 0;let n=_t.exec(this.chunk)||wt.exec(this.chunk);if(!n)return 0;let f=n[1],e=n[0].length;return this.emit("JS",f,{len:e,data:{here:n[0].startsWith("```")}}),e}wordLiteral(){if(this.chunk[0]!=="%"||this.chunk[1]!=="w")return 0;let n=this.chunk[2];if(!n||/\s/.test(n))return 0;let e={"[":"]","(":")","{":"}","<":">"}[n]||n,t=e!==n,i=1,u=3;while(u<this.chunk.length&&i>0){let r=this.chunk[u];if(r==="\\"){u+=2;continue}if(t&&r===n)i++;if(r===e)i--;if(i>0)u++}if(i!==0)return 0;let l=this.chunk.slice(3,u),a=u+1,c=[];if(l.trim()){let r=l.trim().split(/(?<!\\)\s+/);for(let h of r)c.push(h.replace(/\\ /g," "))}this.emit("[","[",{len:a});for(let r=0;r<c.length;r++){if(r>0)this.emit(",",",");this.emit("STRING",`"${c[r]}"`)}return this.emit("]","]"),a}symbolToken(){if(this.chunk[0]!==":")return 0;let n=this.chunk[1];if(!n||n==="="||n===":"||/\s/.test(n))return 0;if(!/[a-zA-Z_$]/.test(n))return 0;let f=/^((?:(?!\s)[$\w\x7f-\uffff])+)/.exec(this.chunk.slice(1));if(!f)return 0;let e=f[1],t=e.length+1;return this.emit("SYMBOL",e,{len:t}),t}literalToken(){let n=this.wordLiteral();if(n)return n;let f=this.symbolToken();if(f)return f;let e=ke.exec(this.chunk),t=e?e[0]:this.chunk.charAt(0),i=t,u=this.prev();if(ft.test(t))this.tagParameters();if(t==="="&&u&&u[1]==="."&&!u.spaced){let l=this.tokens,a=l.length-2;while(a>=1&&l[a][0]==="PROPERTY"&&l[a-1]?.[1]===".")a-=2;if(a>=0&&(l[a][0]==="IDENTIFIER"||l[a][0]===")"||l[a][0]==="]")){let c=l.slice(a,l.length-1);u[0]="=",u[1]="=";for(let r of c)this.tokens.push(Pi(r[0],r[1],{pre:0,row:r[2],col:r[3],len:r[4]}));return this.tokens.push(Pi(".",".",{pre:0,row:this.row,col:this.col,len:1})),t.length}}if(u&&(t==="="||_f.has(t))){if(t==="="&&(u[1]==="||"||u[1]==="&&"||u[1]==="??")&&!u.spaced)return u[0]="COMPOUND_ASSIGN",u[1]+="=",t.length}if(t==="("&&u?.[0]==="IMPORT")u[0]="DYNAMIC_IMPORT";if(t==="{"&&this.seenImport)this.importSpecifierList=!0;if(t==="}"&&this.importSpecifierList)this.importSpecifierList=!1;if(t==="{"&&u?.[0]==="EXPORT")this.exportSpecifierList=!0;if(t==="}"&&this.exportSpecifierList)this.exportSpecifierList=!1;if(t===";")this.seenFor=this.seenImport=this.seenExport=!1,this.inTypeAnnotation=!1,i="TERMINATOR";else if(t==="::"&&/^[a-zA-Z_$]/.test(this.chunk[2]||""))return this.emit(".","."),this.emit("PROPERTY","prototype"),this.emit(".","."),2;else if(t==="::")i="TYPE_ANNOTATION",this.inTypeAnnotation=!0;else if(t==="~=")i="COMPUTED_ASSIGN";else if(t===":=")i="REACTIVE_ASSIGN";else if(t==="<=>")i="BIND";else if(t==="<~")i="GATE",this.inTypeAnnotation=!1;else if(t==="~>")i="EFFECT",this.inTypeAnnotation=!1;else if(t==="=!")i="READONLY_ASSIGN",this.inTypeAnnotation=!1;else if(t==="*>"&&(!u||u[0]==="TERMINATOR"||u[0]==="INDENT"||u[0]==="OUTDENT")&&(/^[a-zA-Z_$]/.test(this.chunk[2]||"")||this.chunk[2]==="@")){let l=this.chunk.slice(2),a=/^@(\s*)=(?!=)/.exec(l);if(a){let r=a[1];this.emit("IDENTIFIER","Object"),this.emit(".",".");let h=this.emit("PROPERTY","assign");return h.spaced=!0,this.emit("@","@"),this.emit(",",","),3+r.length+1}let c=/^(@?(?:(?!\s)[$\w\x7f-\uffff])+(?:\.[a-zA-Z_$][\w]*)*)(\s*)=(?!=)/.exec(l);if(c){let r=c[1],h=c[2],o=r[0]==="@",s=o?r.slice(1):r,w=s?s.split("."):[],_=()=>{if(o){if(this.emit("@","@"),w.length>0)this.emit("PROPERTY",w[0])}else this.emit("IDENTIFIER",w[0]);for(let y=1;y<w.length;y++)this.emit(".","."),this.emit("PROPERTY",w[y])};_(),this.emit("=","="),this.emit("IDENTIFIER","Object"),this.emit(".","."),this.emit("PROPERTY","assign"),this.emit("CALL_START","("),_(),this.emit("COMPOUND_ASSIGN","??="),this.emit("{","{"),this.emit("}","}"),this.emit(",",",");let A=this.prev();return A.mergeClose=!0,2+r.length+h.length+1}}else if(t==="*"&&u?.[0]==="EXPORT")i="EXPORT_ALL";else if(Ve.has(t))i="MATH";else if(je.has(t))i="COMPARE";else if(_f.has(t))i="COMPOUND_ASSIGN";else if(pe.has(t))i="UNARY_MATH";else if(Le.has(t))i="SHIFT";else if(t==="?"&&u?.spaced)i="TERNARY";else if(t==="?!"&&u&&!u.spaced)i="PRESENCE";else if(t==="?"&&(this.chunk[1]==="["||this.chunk[1]==="("))i="?.";else if(u){if(t==="("&&!u.spaced&&Xi.has(u[0])){if(u[0]==="?.")u[0]="ES6_OPTIONAL_CALL";i="CALL_START"}if(t==="["&&!u.spaced&&bi.has(u[0])){if(i="INDEX_START",u[0]==="?.")u[0]="ES6_OPTIONAL_INDEX"}}if(this.inTypeAnnotation&&(t==="="||i==="COMPOUND_ASSIGN"))this.inTypeAnnotation=!1;if(t==="="){let l=this.tokens.length;if(l>=2&&this.tokens[l-1][0]==="IDENTIFIER"&&this.tokens[l-2][0]==="IDENTIFIER"&&this.tokens[l-2][1]==="type"&&(l===2||this.tokens[l-3][0]==="TERMINATOR"||this.tokens[l-3][0]==="INDENT"||this.tokens[l-3][0]==="OUTDENT"||this.tokens[l-3][0]==="EXPORT"))this.inTypeAnnotation=!0}if(t==="("||t==="{"||t==="[")this.ends.push({tag:Be[t],origin:[i,t]});else if(t===")"||t==="}"||t==="]")this.pair(t);return this.emit(i,t,{len:t.length}),t.length}tagParameters(){let n=this.tokens.length-1;if(this.tokens[n]?.[0]!==")"){let t=this.tokens.length,i=0,u=t-1,l=-1;while(u>=0){let a=this.tokens[u],c=a[0];if(c===")"||c==="]"||c==="}"||c==="CALL_END"||c==="PARAM_END"||c==="INDEX_END"||c==="COMPARE"&&a[1]===">")i++;else if(c==="("||c==="["||c==="{"||c==="CALL_START"||c==="PARAM_START"||c==="INDEX_START"||c==="COMPARE"&&a[1]==="<")i--;else if(i===0){if(c==="TYPE_ANNOTATION"||c===":"){if(u>0&&this.tokens[u-1][0]===")")l=u-1;break}if(c==="TERMINATOR"||c==="INDENT"||c==="OUTDENT"||c==="="||c==="->"||c==="=>")break}u--}if(l<0)return this.tagDoIife();n=l}else{let t=0,i=-1;for(let u=n;u>=0;u--){let l=this.tokens[u][0];if(l===")"||l==="CALL_END"||l==="PARAM_END")t++;else if(l==="("||l==="CALL_START"||l==="PARAM_START"){if(--t===0){i=u;break}}}if(i>1&&this.tokens[i-1][0]==="TYPE_ANNOTATION"&&this.tokens[i-2]?.[0]===")")n=i-2}let f=n,e=[];this.tokens[f][0]="PARAM_END";while(f-- >0){let t=this.tokens[f];if(t[0]===")")e.push(t);else if(t[0]==="("||t[0]==="CALL_START")if(e.length)e.pop();else if(t[0]==="(")return t[0]="PARAM_START",this.tagDoIife(f-1);else{this.tokens[n][0]="CALL_END";return}}}tagDoIife(n){let f=this.tokens[n??this.tokens.length-1];if(f?.[0]==="DO")f[0]="DO_IIFE"}rewrite(n){return this.tokens=n,this.removeLeadingNewlines(),this.rewriteDottedPicks(),this.rewriteMapLiterals(),this.closeMergeAssignments(),this.closeOpenCalls(),this.closeOpenIndexes(),this.rewriteTypes(),this.normalizeLines(),this.rewriteRender?.(),this.rewriteSchema?.(),this.tagPostfixConditionals(),this.rewriteTaggedTemplates(),this.addImplicitBracesAndParens(),this.addImplicitCallCommas(),this.tokens}removeLeadingNewlines(){let n=0;while(this.tokens[n]?.[0]==="TERMINATOR")n++;if(n>0)this.tokens.splice(0,n)}rewriteMapLiterals(){let n=this.tokens;for(let f=0;f<n.length;f++){if(n[f][0]!=="MATH"||n[f][1]!=="*")continue;let e=n[f+1];if(!e||e[0]!=="{")continue;if(n[f].spaced||n[f].newLine)continue;let t=n[f-1];if(t&&bi.has(t[0]))continue;n.splice(f,1),n[f][0]="MAP_START";let i=1;for(let u=f+1;u<n.length&&i>0;u++){let l=n[u][0];if(l==="{"||l==="MAP_START")i++;if(l==="}"){if(i--,i===0)n[u][0]="MAP_END"}}}}rewriteDottedPicks(){let n=this.tokens;for(let f=0;f<n.length;f++){let e=n[f][0];if(e!=="."&&e!=="?.")continue;let t=n[f+1];if(!t||t[0]!=="{")continue;if(n[f].spaced||n[f].newLine)continue;let i=n[f-1];if(!i||!bi.has(i[0]))continue;let u=e==="?.";n.splice(f,1),n[f][0]=u?"OPTPICK_START":"PICK_START";let l=1;for(let a=f+1;a<n.length&&l>0;a++){let c=n[a][0];if(c==="{"||c==="PICK_START"||c==="OPTPICK_START")l++;else if(c==="}"){if(l--,l===0){n[a][0]="PICK_END";break}}}}}closeOpenCalls(){this.scanTokens((n,f)=>{if(n[0]==="CALL_START")this.detectEnd(f+1,(e)=>e[0]===")"||e[0]==="CALL_END",(e)=>e[0]="CALL_END");return 1})}closeOpenIndexes(){this.scanTokens((n,f)=>{if(n[0]==="INDEX_START")this.detectEnd(f+1,(e)=>e[0]==="]"||e[0]==="INDEX_END",(e,t)=>{if(this.tokens[t+1]?.[0]===":")n[0]="[",e[0]="]";else e[0]="INDEX_END"});return 1})}normalizeLines(){let n=null,f=null,e=null,t=(u,l)=>{return u[1]!==";"&&ve.has(u[0])&&!(u[0]==="TERMINATOR"&&hf.has(this.tokens[l+1]?.[0]))&&!(u[0]==="ELSE"&&n!=="THEN")||u[0]==="INDENT"&&!u.generated&&(n==="->"||n==="=>")||u[0]===","&&(n==="->"||n==="=>"||n==="THEN"||n==="ELSE")&&!this.commaInImplicitCall(l)&&!this.commaInImplicitObject(l)||of.has(u[0])&&(this.tokens[l-1]?.newLine||this.tokens[l-1]?.[0]==="OUTDENT")},i=(u,l)=>{let a=this.tokens[l-1]?.[0]===","?l-1:l;this.tokens.splice(a,0,e)};this.scanTokens((u,l,a)=>{let[c]=u;if(c==="TERMINATOR"){if(this.tokens[l+1]?.[0]==="ELSE"&&this.tokens[l-1]?.[0]!=="OUTDENT")return a.splice(l,1,...this.makeIndentation()),1;if(hf.has(this.tokens[l+1]?.[0]))return a.splice(l,1),0}if(c==="CATCH")for(let r=1;r<=2;r++){let h=this.tokens[l+r]?.[0];if(h==="OUTDENT"||h==="TERMINATOR"||h==="FINALLY")return a.splice(l+r,0,...this.makeIndentation()),2+r}if((c==="->"||c==="=>")&&(this.tokens[l+1]?.[0]===","||this.tokens[l+1]?.[0]==="]"))return[f,e]=this.makeIndentation(),a.splice(l+1,0,f,e),1;if(sf.has(c)&&this.tokens[l+1]?.[0]!=="INDENT"&&!(c==="ELSE"&&this.tokens[l+1]?.[0]==="IF")&&!(c==="ELSE"&&this.tokens[l-1]?.[0]!=="OUTDENT")){if(n=c,[f,e]=this.makeIndentation(),c==="THEN")f.fromThen=!0;if(a.splice(l+1,0,f),c==="THEN"&&this.singleLineOwner(l)==="LEADING_WHEN")this.detectWhenThenEnd(l+2,t,i);else this.detectEnd(l+2,t,i);if(c==="THEN")a.splice(l,1);return 1}return 1})}singleLineOwner(n){let f=new Set(["LEADING_WHEN","IF","POST_IF","UNLESS","POST_UNLESS","ELSE","CATCH","TRY","FINALLY","->","=>"]);for(let e=n-1;e>=0;e--){let t=this.tokens[e],i=t?.[0];if(f.has(i))return i;if(si.has(i)||t?.newLine)return null}return null}detectWhenThenEnd(n,f,e){let t=0,i=0;while(n<this.tokens.length){let u=this.tokens[n],l=u[0];if(t===0){if(l==="THEN"&&this.singleLineOwner(n)!=="LEADING_WHEN")i++;else if(l==="ELSE"&&i>0)i--;else if(f.call(this,u,n))return e.call(this,u,n)}if(jn.has(l))t++;if(Cn.has(l))t--;if(t<0)return e.call(this,u,n);n++}}tagPostfixConditionals(){let n=null,f=(t,i)=>{return t[0]==="TERMINATOR"||t[0]==="INDENT"&&!sf.has(this.tokens[i-1]?.[0])},e=(t)=>{if(t[0]!=="INDENT"||t.generated&&!t.fromThen)n[0]="POST_"+n[0]};this.scanTokens((t,i)=>{if(t[0]!=="IF"&&t[0]!=="UNLESS")return 1;if(this.tokens[i-1]?.[0]==="INTERPOLATION_START")return 1;return n=t,this.detectEnd(i+1,f,e),1})}rewriteTaggedTemplates(){let n=this.tokens;for(let f=n.length-2;f>=0;f--)if(n[f][0]==="IDENTIFIER"&&n[f][1]==="$"&&(n[f+1]?.[0]==="STRING"||n[f+1]?.[0]==="STRING_START")){let e=n[f-1];if(e&&Ie.has(e[0])){if(n.splice(f,1),e.spaced=!1,n[f].spaced=!1,n[f].pre=0,n[f].newLine)n[f].newLine=!1}}}addImplicitBracesAndParens(){let n=[],f=!1;this.scanTokens((e,t,i)=>{let[u]=e,l=i[t-1]||[],a=i[t+1]||[],[c]=l,[r]=a,h=t,o=(E)=>t-h+E,s=()=>n[n.length-1],w=(E)=>E?.[2]?.ours,_=()=>w(s())&&s()?.[0]==="(",A=()=>w(s())&&s()?.[0]==="{",y=(E)=>{n.push(["(",E,{ours:!0}]),i.splice(E,0,On("CALL_START","("))},R=()=>{n.pop(),i.splice(t,0,On("CALL_END",")")),t+=1},U=(E,Z={})=>{n.push(["{",E,{sameLine:!0,startsLine:Z.startsLine??!0,ours:!0}]);let Q=On("{","{");if(!Q.data)Q.data={};Q.data.generated=!0,i.splice(E,0,Q)},m=(E)=>{E=E??t,n.pop(),i.splice(E,0,On("}","}")),t+=1},D=u==="FOR"&&!e.newLine&&Ce.has(c);if((_()||A())&&ge.has(u)&&!D)return n.push(["CONTROL",t,{ours:!0}]),o(1);if(u==="INDENT"&&w(s())){if(c!=="=>"&&c!=="->"&&c!=="["&&c!=="("&&c!==","&&c!=="{"&&c!=="ELSE"&&c!=="=")while(_()||A()&&c!==":")if(_())R();else m();if(s()?.[2]?.ours&&s()[0]==="CONTROL")n.pop();return n.push([u,t]),o(1)}if(jn.has(u))return n.push([u,t]),o(1);if(Cn.has(u)){while(w(s()))if(_())R();else if(A())m();else n.pop();n.pop()}let M=!1;if(r==="-"&&!a.spaced&&!a.newLine&&ti(e))for(let E=t;E<i.length-2;E+=2){if(!Ni(i[E+1],i[E+2]))break;if(!ti(i[E+2]))break;if(i[E+3]?.[0]===":"){M=!0;break}}if(!M&&rl.has(u)&&e.spaced&&(Gi.has(r)||r==="..."&&Gi.has(i[t+2]?.[0])||be.has(r)&&!a.spaced&&!a.newLine)&&!((u==="]"||u==="}")&&(r==="->"||r==="=>")))return y(t+1),o(2);if(rl.has(u)&&this.tokens[t+1]?.[0]==="INDENT"&&this.looksObjectish(t+2)&&!this.findTagsBackwards(t,["CLASS","EXTENDS","IF","CATCH","SWITCH","LEADING_WHEN","FOR","WHILE","UNTIL"]))return y(t+1),n.push(["INDENT",t+2]),o(3);if(u==="TERNARY")f=!0;if(u===":"){if(f)return f=!1,o(1);if(ti(i[t-1])&&Ni(i[t-2],i[t-1])){let Q=t-2;while(Q>=2&&Ni(i[Q],i[Q+1])&&ti(i[Q-1]))Q-=2;if(Q+=1,ti(i[Q])){let W="";for(let L=Q;L<t;L++)W+=i[L][1];let C=On("STRING",`"${W}"`,i[Q]);C.pre=i[Q].pre,C.spaced=i[Q].spaced,C.newLine=i[Q].newLine,C.loc=i[Q].loc,i.splice(Q,t-Q,C),t=Q+1}}let E=Cn.has(this.tokens[t-1]?.[0])?n[n.length-1]?.[1]??t-1:t-1;if(this.tokens[t-2]?.[0]==="@")E=t-2;let Z=E<=0||si.has(this.tokens[E-1]?.[0])||this.tokens[E-1]?.newLine;if(s()){let[Q,W]=s(),C=n[n.length-2],L=(X)=>X==="{"||X==="MAP_START"||X==="PICK_START"||X==="OPTPICK_START";if((L(Q)||Q==="INDENT"&&L(C?.[0])&&!w(C))&&(Z||this.tokens[E-1]?.[0]===","||L(this.tokens[E-1]?.[0])||L(this.tokens[E]?.[0])))return o(1)}return U(E,{startsLine:!!Z}),o(2)}if(si.has(u))for(let E=n.length-1;E>=0;E--){if(!w(n[E]))break;if(n[E][0]==="{")n[E][2].sameLine=!1}let q=c==="OUTDENT"||l.newLine,S=u==="||"||u==="&&"||u==="??",d=!1;if(S){let E=t+1,Z=i[E]?.[0];if(Z==="("||Z==="["||Z==="{"){for(let Q=1;++E<i.length&&Q>0;)if(Z=i[E][0],Z==="("||Z==="["||Z==="{")Q++;else if(Z===")"||Z==="]"||Z==="}")Q--}else if(Z&&Z!=="TERMINATOR"&&Z!=="OUTDENT"&&Z!==",")E++;d=i[E]?.[0]===","}let K=(E)=>{for(let Z=0;E<i.length;E++){let Q=i[E][0];if(Q==="("||Q==="["||Q==="{"||Q==="CALL_START"||Q==="INDEX_START"||Q==="INDENT")Z++;else if(Q===")"||Q==="]"||Q==="}"||Q==="CALL_END"||Q==="INDEX_END"||Q==="OUTDENT"){if(Z===0)return!1;Z--}else if(Q==="TERMINATOR"&&Z===0)return this.looksObjectish(E+1)}return!1};if(Pe.has(u)&&!d||of.has(u)&&q)while(w(s())){let[E,,{sameLine:Z,startsLine:Q}]=s();if(_()&&c!==",")R();else if(A()&&!S&&Z&&u!=="TERMINATOR"&&c!==":"&&!((u==="POST_IF"||u==="POST_UNLESS")&&K(t+1)))m();else if(A()&&u==="TERMINATOR"&&c!==","&&!(Q&&this.looksObjectish(t+1)))m();else if(s()?.[2]?.ours&&s()[0]==="CONTROL"&&i[s()[1]]?.[0]==="CLASS"&&u==="TERMINATOR")n.pop();else break}if(u===","&&!this.looksObjectish(t+1)&&A()&&(r!=="TERMINATOR"||!this.looksObjectish(t+2))){let E=r==="OUTDENT"?1:0;while(A())m(t+E)}return o(1)})}addImplicitCallCommas(){let n=0,f=0,e=this.tokens;while(f<e.length){let t=e[f][0],i=f>0?e[f-1][0]:null;if(t==="CALL_START"||t==="(")n++;if(t==="CALL_END"||t===")")n--;if(n>0&&(t==="->"||t==="=>")&&Oe.has(i))e.splice(f,0,On(",",",")),f++;f++}}scanTokens(n){let f=0;while(f<this.tokens.length)f+=n.call(this,this.tokens[f],f,this.tokens)}detectEnd(n,f,e,t={}){let i=0;while(n<this.tokens.length){let u=this.tokens[n];if(i===0&&f.call(this,u,n))return e.call(this,u,n);if(jn.has(u[0]))i++;if(Cn.has(u[0]))i--;if(i<0){if(t.returnOnNegativeLevel)return;return e.call(this,u,n)}n++}}closeMergeAssignments(){let n=this.tokens;for(let f=0;f<n.length;f++){if(!n[f].mergeClose)continue;let e=0;for(let t=f+1;t<n.length;t++){let i=n[t][0];if(i==="("||i==="["||i==="{"||i==="CALL_START"||i==="INDEX_START"||i==="INDENT")e++;if(i===")"||i==="]"||i==="}"||i==="CALL_END"||i==="INDEX_END"||i==="OUTDENT")e--;if(e<0||e===0&&i==="TERMINATOR"){n.splice(t,0,On("CALL_END",")",n[t-1]));break}if(t===n.length-1){n.splice(t+1,0,On("CALL_END",")",n[t]));break}}}}commaInImplicitCall(n){let f=0;for(let e=n-1;e>=0;e--){let t=this.tokens[e][0];if(Cn.has(t)){f++;continue}if(jn.has(t)){if(t==="INDENT")return!1;if(f--,f<0)return!1;continue}if(f>0)continue;if(rl.has(t)&&this.tokens[e].spaced){let i=this.tokens[e+1]?.[0];return Gi.has(i)||i==="..."&&Gi.has(this.tokens[e+2]?.[0])}}return!1}commaInImplicitObject(n){let f=0;for(let e=n-1;e>=0;e--){let t=this.tokens[e][0];if(Cn.has(t)){f++;continue}if(jn.has(t)){if(f--,f<0)return!1;continue}if(f>0)continue;if(t===":"&&e>0&&this.tokens[e-1][0]==="PROPERTY")return this.looksObjectish(n+1);if(si.has(t))return!1}return!1}looksObjectish(n){if(!this.tokens[n])return!1;if(this.tokens[n]?.[0]==="@"&&this.tokens[n+2]?.[0]===":")return!0;if(this.tokens[n+1]?.[0]===":")return!0;if(ti(this.tokens[n]))for(let f=n+1;f<this.tokens.length;f+=2){if(!Ni(this.tokens[f],this.tokens[f+1]))break;if(!ti(this.tokens[f+1]))break;if(this.tokens[f+2]?.[0]===":")return!0}if(jn.has(this.tokens[n]?.[0])){let f=null;if(this.detectEnd(n+1,(e)=>Cn.has(e[0]),(e,t)=>f=t),f&&this.tokens[f+1]?.[0]===":")return!0}return!1}findTagsBackwards(n,f){let e=new Set(f),t=[];while(n>=0){let i=this.tokens[n]?.[0];if(!t.length&&e.has(i))return!0;if(Cn.has(i))t.push(i);if(jn.has(i)&&t.length)t.pop();if(!t.length&&(jn.has(i)&&!this.tokens[n]?.generated||si.has(i)))break;n--}return!1}makeIndentation(n){let f=On("INDENT",2),e=On("OUTDENT",2);if(n)f.generated=e.generated=!0,f.origin=e.origin=n;else f.explicit=e.explicit=!0;return[f,e]}}tf(vn);Yi(vn);var Dt=["abort","animationcancel","animationend","animationiteration","animationstart","auxclick","beforeinput","beforematch","beforetoggle","blur","cancel","canplay","canplaythrough","change","click","close","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"],Df=new Set(Dt);var Rt=["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"];var Mt=["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","set","stop","svg","switch","symbol","text","textPath","tspan","use","view"],Ut=["math","param","portal"],Rf=new Set([...Rt,...Ut]),Ln=new Set(Mt),ai=new Set([...Rf,...Ln]);var Mf="__bind_",Uf="__",hl=new Set(["beforeMount","mounted","beforeUnmount","unmounted","onError"]),qf="{ status?: number; message?: string; error?: Error; path?: string }",qt=new Set(["disabled","hidden","readonly","required","checked","selected","autofocus","autoplay","controls","loop","muted","multiple","novalidate","open","reversed","defer","async","formnovalidate","allowfullscreen","inert"]),sl="http://www.w3.org/2000/svg";function St(n){for(let f of n){if(!Array.isArray(f))continue;let e=f[1]instanceof String?f[1].valueOf():f[1],t=f[2]instanceof String?f[2].valueOf():f[2];if(e==="type"&&typeof t==="string")return t.replace(/^["']|["']$/g,"")}return null}function pn(n){if(typeof n==="string"||n instanceof String)return n.valueOf();if(Array.isArray(n)&&n[0]==="."&&n[1]==="this"&&(typeof n[2]==="string"||n[2]instanceof String))return n[2].valueOf();return null}function ol(n){return Array.isArray(n)&&n[0]==="."&&n[1]==="this"}function qi(n){if(n instanceof String&&n.type)return n.type;if(Array.isArray(n)&&n[2]instanceof String&&n[2].type)return n[2].type;return null}function Oi(n){if(n instanceof String&&n.optional)return!0;if(Array.isArray(n)&&n[2]instanceof String&&n[2].optional)return!0;return!1}function Sf(n){let f=[];while(Array.isArray(n)&&n[0]==="."){let e=n[2];if(!(typeof e==="string"||e instanceof String))return null;f.unshift(e.valueOf()),n=n[1]}if(typeof n==="string"||n instanceof String)f.unshift(n.valueOf());else return null;return f}function Et(n){let f,e=n;if(Array.isArray(n)&&Array.isArray(n[0])&&n[0][0]==="."){if(n.length!==2)return{error:"a keyed gate takes exactly one key argument"};e=n[0],f=n[1]}let t=Sf(e);if(!t)return{error:"'<~' requires a literal @app.data.… path on the right-hand side"};if(t[0]==="this")t.shift();if(t[0]!=="app"||t[1]!=="data"||t.length<3)return{error:"'<~' requires a literal @app.data.… path on the right-hand side"};return{path:t.slice(2).join("."),keyExpr:f}}function dt(n){let f={error:"a keyed gate key may only reference params or query (e.g. params.id)"},e=typeof n==="string"||n instanceof String?n.valueOf():null;if(e!=null){if(/^-?[\d.]/.test(e)||e.startsWith('"')||e.startsWith("'"))return{code:e,stubCode:e};return f}let t=Sf(n);if(!t)return f;if(t[0]==="this")t.shift();if(t[0]!=="params"&&t[0]!=="query"||t.length<2)return f;let i=t.join(".");return{code:i,stubCode:`this.${i}`}}function Ef(n,f){let e=(r,h)=>r instanceof String?r[h]:void 0,t=f.prototype.classifyKeyword;f.prototype.classifyKeyword=function(r,h,o){if(r==="offer"||r==="accept"){let s=0;for(let w=this.tokens.length-1;w>=0;w--){let _=this.tokens[w][0];if(_==="OUTDENT")s++;else if(_==="INDENT")s--;if(s<0&&this.tokens[w-1]?.[0]==="COMPONENT")return r.toUpperCase()}return h}return t.call(this,r,h,o)},f.prototype.rewriteRender=function(){let r=(m,D,M)=>{let q=[m,D];if(q.pre=0,q.data=null,q.loc=M?.loc??{r:0,c:0,n:0},q.spaced=!1,q.newLine=!1,q.generated=!0,M)q.origin=M;return q},h=!1,o=0,s=0,w=[],_=(m)=>{let D=m.split("#")[0];return ai.has(D)},A=(m)=>{if(!m||typeof m!=="string")return!1;return/^[A-Z][A-Za-z0-9]*[a-z][A-Za-z0-9]*$/.test(m)},y=(m)=>{return _(m)||A(m)},R=(m,D,M,q)=>{let S=1,d=D;while(d>=0&&S>0){let K=m[d][0];if(K===M)S++;else if(K===q)S--;if(S>0)d--}return d},U=(m,D)=>{let M=D;while(M>0&&m[M][0]==="OUTDENT")M=R(m,M-1,"OUTDENT","INDENT");while(M>0){let q=m[M-1][0];if(q==="TERMINATOR"||q==="RENDER")break;if(q==="OUTDENT"){M=R(m,M-2,"OUTDENT","INDENT");continue}if(q==="INDENT"){let S=m[M][0];if(S==="CALL_END"||S===")"){M=R(m,M-1,S,S==="CALL_END"?"CALL_START":"(");continue}break}if(q==="CALL_END"||q===")"){M=R(m,M-2,q,q==="CALL_END"?"CALL_START":"(");continue}if(q==="INTERPOLATION_END"){M=R(m,M-2,"INTERPOLATION_END","INTERPOLATION_START");continue}if(q==="STRING_END"){M=R(m,M-2,"STRING_END","STRING_START");continue}M--}return m[M]&&m[M][0]==="IDENTIFIER"&&(y(m[M][1])||(M===0||m[M-1][0]==="INDENT"||m[M-1][0]==="TERMINATOR"||m[M-1][0]==="RENDER"))};this.scanTokens(function(m,D,M){let q=m[0],S=D<M.length-1?M[D+1]:null;if(q==="RENDER")return h=!0,o=s+1,1;if(q==="INDENT")return s++,1;if(q==="OUTDENT"){s--;let d=0;while(w.length>0&&w[w.length-1]>s){let K=r("CALL_END",")",m);M.splice(D+1+d,0,K),w.pop(),d++}if(h&&s<o)h=!1;return 1+d}if(!h)return 1;if(q==="="&&D>0){let d=M[D-1][0];if(d==="TERMINATOR"||d==="INDENT"||d==="RENDER"){let K=r("IDENTIFIER","__text__",m),E=r("CALL_START","(",m);return M.splice(D,1,K,E),this.detectEnd(D+2,(Z)=>Z[0]==="TERMINATOR"||Z[0]==="OUTDENT",(Z,Q)=>M.splice(Q,0,r("CALL_END",")",Z)),{returnOnNegativeLevel:!0}),2}}if(q==="UNARY_MATH"&&m[1]==="~"&&S&&S[0]==="IDENTIFIER"){m[0]="PROPERTY",m[1]="__transition__";let d=r(":",":",m),K=r("STRING",`"${S[1]}"`,S);return M.splice(D+1,1,d,K),1}if(q==="PROPERTY"&&m[1][0]==="$"&&m[1].length>1)return m[0]="STRING",m[1]=`"data-${m[1].slice(1)}"`,1;if(q==="IDENTIFIER"&&!m.spaced){let d=[m[1]],K=D+1;while(K+1<M.length){let E=M[K],Z=M[K+1];if(E[0]==="-"&&!E.spaced&&(Z[0]==="IDENTIFIER"||Z[0]==="PROPERTY")){if(d.push(Z[1]),K+=2,Z[0]==="PROPERTY")break}else break}if(d.length>1&&K>D+1&&M[K-1][0]==="PROPERTY"){let E=d.join("-");if(E[0]==="$")E="data-"+E.slice(1);return m[0]="STRING",m[1]=`"${E}"`,M.splice(D+1,K-D-1),1}}if(q==="."){let d=D>0?M[D-1]:null,K=d?d[0]:null;if(K==="INDENT"||K==="TERMINATOR"){if(S&&S[0]==="PROPERTY"){let E=D+2<M.length?M[D+2]:null;if(!E||E[0]!==":"){let Z=r("IDENTIFIER","div",m);return M.splice(D,0,Z),2}}if(!S||S[0]!=="(")return m[0]="IDENTIFIER",m[1]="div",0}}if(q==="IDENTIFIER"||q==="PROPERTY"){let d=M[D+1],K=M[D+2];if(d&&d[0]==="#"&&K&&(K[0]==="PROPERTY"||K[0]==="IDENTIFIER")){if(m[1]=m[1]+"#"+K[1],K.spaced)m.spaced=!0;return M.splice(D+1,2),0}}if(q==="BIND"){let d=D>0?M[D-1]:null,K=M[D+1];if(d&&(d[0]==="IDENTIFIER"||d[0]==="PROPERTY")&&K&&K[0]==="IDENTIFIER")return d[1]=`__bind_${d[1]}__`,m[0]=":",m[1]=":",1}if(q==="@"){let d=D+1;if(d<M.length&&M[d][0]==="PROPERTY"){d++;while(d+1<M.length&&M[d][0]==="."&&M[d+1][0]==="PROPERTY")d+=2;if(d>D+2&&d<M.length&&M[d][0]===":"){let K=r("[","[",m);M.splice(D,0,K);let E=r("]","]",M[d+1]);return M.splice(d+1,0,E),2}}}if(q==="."&&S&&S[0]==="("){let d=D>0?M[D-1]:null,K=d?d[0]:null,E=K==="INDENT"||K==="TERMINATOR",Z=r("PROPERTY","__clsx",m);S[0]="CALL_START";let Q=1;for(let W=D+2;W<M.length&&Q>0;W++)if(M[W][0]==="("||M[W][0]==="CALL_START")Q++;else if(M[W][0]===")"){if(Q--,Q===0)M[W][0]="CALL_END"}else if(M[W][0]==="CALL_END")Q--;if(E){let W=r("IDENTIFIER","div",m);return M.splice(D,0,W),M.splice(D+2,0,Z),3}else if(K===":")return M[D]=r("IDENTIFIER","__clsx",m),1;else return M.splice(D+1,0,Z),2}if(S&&S[0]==="INDENT"){if(S.fromThen)return 1;if(q==="->"||q==="=>"||q==="CALL_START"||q==="(")return 1;let d=!1,K=D>0?M[D-1][0]:null,E=K==="IF"||K==="UNLESS"||K==="WHILE"||K==="UNTIL"||K==="WHEN"||K==="FORIN"||K==="FOROF"||K==="FORAS"||K==="FORASAWAIT"||K==="BY",Z=!1;if(q==="CALL_END"){let W=1;for(let C=D-1;C>=0&&W>0;C--)if(M[C][0]==="CALL_END")W++;else if(M[C][0]==="CALL_START"){if(W--,W===0&&C>0&&M[C-1][0]==="PROPERTY"&&M[C-1][1]==="__clsx")Z=!0}}let Q=q==="IDENTIFIER"&&(K==="INDENT"||K==="TERMINATOR"||K==="RENDER");if(Z)d=!0;else if(q==="IDENTIFIER"&&y(m[1])&&!E)d=!0;else if(q==="IDENTIFIER"&&!E)d=Q||U(M,D);else if(q==="PROPERTY"||q==="STRING"||q==="STRING_END"||q==="NUMBER"||q==="BOOL"||q==="CALL_END"||q===")"||q==="]"||q==="INDEX_END"||q==="}"||q==="MAP_END"||q==="PRESENCE")d=U(M,D);if(d){let W=!1;if(q==="PROPERTY"&&D>0&&M[D-1][0]==="."){let L=D;while(L>=2&&M[L-1][0]==="."&&M[L-2][0]==="PROPERTY")L-=2;if(L>=2&&M[L-1][0]==="."&&M[L-2][0]==="IDENTIFIER"&&y(M[L-2][1])){let X=L>=3?M[L-3][0]:null;if(!X||X==="INDENT"||X==="OUTDENT"||X==="TERMINATOR"||X==="RENDER")W=!0}}if(Z||q==="IDENTIFIER"&&(y(m[1])||Q)||W){let L=r("CALL_START","(",m),X=r("->","->",m);return X.newLine=!0,M.splice(D+1,0,L,X),w.push(s+1),3}else{let L=r(",",",",m),X=r("->","->",m);return X.newLine=!0,M.splice(D+1,0,L,X),3}}}if(q==="IDENTIFIER"&&A(m[1])&&S&&(S[0]==="OUTDENT"||S[0]==="TERMINATOR"))return M.splice(D+1,0,r("CALL_START","(",m),r("CALL_END",")",m)),3;return 1})};let i=n.prototype;i.isHtmlTag=function(r){let h=r.split("#")[0];return ai.has(h.toLowerCase())},i.isComponent=function(r){if(!r||typeof r!=="string")return!1;return/^[A-Z][A-Za-z0-9]*[a-z][A-Za-z0-9]*$/.test(r)},i.collectTemplateClasses=function(r){let h=[],o=r;while(this.is(o,".")){let A=o[2];if(typeof A==="string"||A instanceof String)h.unshift(A.valueOf());o=o[1]}let s=typeof o==="string"?o:o instanceof String?o.valueOf():null;if(s===null)return{tag:null,classes:h,id:void 0,base:o};let[w,_]=s.split("#");if(!w)w="div";return{tag:w,classes:h,id:_,base:o}};let u=(r)=>typeof r==="string"?r:r instanceof String?r.valueOf():null,l=(r,h)=>{if(!(r instanceof String))return h;let o=new String(h);if(r.optional)o.optional=!0;if(r.bang)o.bang=!0;return o.optional||o.bang?o:h};i.addBodyRipSrcMarkers=function(r,h){if(typeof r!=="string"||!r)return r;let o=Array.isArray(h)&&h[0]==="block"?h.slice(1):Array.isArray(h)?[h]:[];if(o.length===0)return r;let s=(y)=>{if(y==null)return null;if(!Array.isArray(y))return y?.loc?.r??null;if(y.loc?.r)return y.loc.r;if(y[0]?.loc?.r)return y[0].loc.r;for(let R of y){if(R?.loc?.r)return R.loc.r;if(Array.isArray(R)){let U=s(R);if(U!=null)return U}}return null},w=o.map(s);if(w.every((y)=>y==null))return r;let _=r.split(`
1875
+ `),A=0;for(let y=0;y<_.length&&A<w.length;y++){let R=_[y].trim();if(!R)continue;if(R==="{"||R==="}"||R.startsWith("//"))continue;if(_[y].includes("@rip-src:")){A++;continue}if(w[A]!=null)_[y]=`${_[y]} // @rip-src:${w[A]}`;A++}return _.join(`
1876
+ `)},i.transformComponentMembers=function(r,h=new Set){let o=this._self;if(!Array.isArray(r)){let s=u(r);if(s&&h.has(s))return r;if(s&&this.reactiveMembers&&this.reactiveMembers.has(s))return[".",[".",o,s],l(r,"value")];if(s&&this.componentMembers&&this.componentMembers.has(s))return[".",o,l(r,s)];return r}if(r[0]==="."&&r[1]==="this"&&u(r[2])!=null){let s=r[2],w=u(s);if(this.reactiveMembers&&this.reactiveMembers.has(w))return[".",[".",o,w],l(s,"value")];return this._factoryMode?[".",o,s]:r}if(r[0]==="."||r[0]==="?.")return[r[0],this.transformComponentMembers(r[1]),r[2]];if(r[0]==="->"){let s=r[1],w=new Set(h);if(Array.isArray(s))for(let _ of s){let A=u(Array.isArray(_)&&_[0]==="default"?_[1]:_);if(A)w.add(A)}return["=>",r[1],this.transformComponentMembers(r[2],w)]}if(r[0]==="object"||r[0]==="map-literal")return[r[0],...r.slice(1).map((s)=>{if(Array.isArray(s)&&s[0]==="...")return["...",this.transformComponentMembers(s[1],h)];if(Array.isArray(s)&&s.length>=2){let w=s[1],_=Array.isArray(w)?this.transformComponentMembers(w,h):w,A=this.transformComponentMembers(s[2],h);return[s[0],_,A]}return this.transformComponentMembers(s,h)})];if(r[0]==="block"||r[0]==="program"){let s=new Set(h),w=[r[0]];for(let _=1;_<r.length;_++){let A=r[_];if(Array.isArray(A)&&A[0]==="="){let y=u(A[1]);if(y&&!(this.reactiveMembers&&this.reactiveMembers.has(y))){w.push(["=",A[1],this.transformComponentMembers(A[2],s)]),s.add(y);continue}}w.push(this.transformComponentMembers(A,s))}return w}return r.map((s)=>this.transformComponentMembers(s,h))},i.emitComponent=function(r,h,o,s){let[,w]=h,_=this.is(w,"block")?w.slice(1):[],A=[],y=[],R=[],U=[],m=[],D=[],M=[],q=[],S=[],d=null,K=new Set,E=new Set;for(let G of _){if(!Array.isArray(G))continue;let[O]=G;if(O==="offer"){if(G=G[1],!Array.isArray(G))continue;O=G[0];let J=pn(G[1]);if(J)q.push(J)}if(O==="accept"){let J=typeof G[1]==="string"?G[1]:pn(G[1]);if(J)S.push(J),K.add(J),E.add(J)}else if(O==="."&&G[1]==="this"&&pn(G)){let J=typeof G[2]==="string"||G[2]instanceof String?G[2].valueOf():null;if(J){let P=Oi(G);A.push({name:J,value:void 0,isPublic:!0,type:G[2]?.type||null,required:!P,optional:P,srcLine:G.loc?.r}),K.add(J),E.add(J)}}else if(O==="state"){let J=pn(G[1]);if(J)A.push({name:J,value:G[2],isPublic:ol(G[1]),type:qi(G[1]),optional:Oi(G[1]),srcLine:G.loc?.r}),K.add(J),E.add(J)}else if(O==="computed"){let J=pn(G[1]);if(J)y.push({name:J,expr:G[2],type:qi(G[1]),srcLine:G.loc?.r}),K.add(J),E.add(J)}else if(O==="gate"){let J=pn(G[1]);if(J){let P=Et(G[2]);if(P.error)this.error(P.error,G);let F=null;if(P.keyExpr!==void 0){if(F=dt(P.keyExpr),F.error)this.error(F.error,G)}R.push({name:J,path:P.path,key:F,type:qi(G[1]),srcLine:G.loc?.r}),K.add(J),E.add(J)}}else if(O==="readonly"){let J=pn(G[1]);if(J)U.push({name:J,value:G[2],isPublic:ol(G[1]),type:qi(G[1]),optional:Oi(G[1]),srcLine:G.loc?.r}),K.add(J)}else if(O==="="){let J=pn(G[1]);if(J)if(hl.has(J))D.push({name:J,value:G[2]});else{let P=G[2];if(Array.isArray(P)&&(P[0]==="->"||P[0]==="=>"))m.push({name:J,func:P}),K.add(J);else A.push({name:J,value:P,isPublic:ol(G[1]),type:qi(G[1]),optional:Oi(G[1]),srcLine:G.loc?.r}),K.add(J),E.add(J)}}else if(O==="effect")M.push(G);else if(O==="render")d=G;else if(O==="object")for(let J=1;J<G.length;J++){let P=G[J];if(!Array.isArray(P))continue;let[,F,N]=P;if(typeof F==="string"&&hl.has(F))D.push({name:F,value:N});else if(typeof F==="string")m.push({name:F,func:N}),K.add(F)}}if(R.length>0){if(!this._gateDecls)this._gateDecls=[];for(let{path:G,key:O,srcLine:J}of R)this._gateDecls.push({path:G,keyed:!!O,line:(J??0)+1})}let Z=new Map;for(let{name:G}of m)if(/^on[A-Z]/.test(G)&&!hl.has(G)){let O=G[2].toLowerCase()+G.slice(3);if(Df.has(O))Z.set(O,G)}let Q=h[0]?.valueOf?.()??null,W=new Set;for(let{name:G,isPublic:O}of A)if(O)W.add(G);for(let{name:G,isPublic:O}of U)if(O)W.add(G);if(Q)K.add("rest"),E.add("rest");let C=this.componentMembers,L=this.reactiveMembers,X=this._autoEventHandlers,fn=this._inheritsTag;if(this.componentMembers=K,this.reactiveMembers=E,this._autoEventHandlers=Z.size>0?Z:null,this._inheritsTag=Q||null,this.options.stubComponents){let G=(b)=>b?b.replace(/::/g,":"):null,O=[],J=this._componentTypeParams||"";O.push(`class ${J}{`),O.push(" declare _root: Element | null; declare app: any; declare router: any; declare params: Record<string, string>; declare query: Record<string, string>; declare children: any;");let P=new Set(D.map((b)=>b.name)),F=[];if(!P.has("beforeMount"))F.push("beforeMount?(): void;");if(!P.has("mounted"))F.push("mounted?(): void;");if(!P.has("beforeUnmount"))F.push("beforeUnmount?(): void;");if(!P.has("unmounted"))F.push("unmounted?(): void;");if(!P.has("onError"))F.push(`onError?(err: ${qf}): void;`);if(F.length)O.push(" "+F.join(" "));O.push(" emit(_name: string, _detail?: any): void {}");let N=[],un=[];for(let{name:b,type:p,isPublic:v,required:ln,optional:rn}of A){if(!v)continue;let en=G(p)||"any";if(rn??!ln)N.push(`${b}?: ${en}`),N.push(`__bind_${b}__?: Signal<${en}>`);else un.push(`({ ${b}: ${en}; __bind_${b}__?: Signal<${en}> } | { ${b}?: ${en}; __bind_${b}__: Signal<${en}> })`)}for(let{name:b,type:p,isPublic:v}of U){if(!v)continue;let ln=G(p)||"any";N.push(`${b}?: ${ln}`)}{let b=un.length>0?"":"?",p=[];if(N.length)p.push(`{${N.join("; ")}}`);p.push(...un);let v=p.length?p.join(" & "):"{}";if(Q)v+=` & __RipProps<'${Q}'>`;O.push(` constructor(_props${b}: ${v}) {}`)}let $=(b)=>{let p=b?.valueOf?.()??b;if(typeof p!=="string")return null;if(p==="true"||p==="false")return"boolean";if(/^-?\d+(\.\d+)?$/.test(p))return"number";if(p.startsWith('"')||p.startsWith("'"))return"string";return null},tn=(b)=>{if(!Array.isArray(b)){if(typeof b==="string"||b instanceof String){let v=b.valueOf();return v==="this"||E.has(v)}return!1}let p=b[0]?.valueOf?.()??b[0];if(p==="->"||p==="=>")return!1;return b.some(tn)},cn=[];for(let{name:b,type:p,value:v,isPublic:ln,optional:rn,srcLine:en}of A){let sn=G(p)||$(v),wn=v===void 0||(v?.valueOf?.()??v)==="undefined",Rn=sn?rn&&wn?`${sn} | undefined`:sn:null,An=en!=null?` // @rip-src:${en}`:"";if(!Rn&&!ln&&!wn&&!tn(v))cn.push({name:b,value:v,marker:An});else O.push((Rn?` declare ${b}: Signal<${Rn}>;`:` declare ${b}: Signal<any>;`)+An)}if(Q)O.push(` declare rest: Signal<__RipProps<'${Q}'>>;`);for(let{name:b,type:p,value:v}of U){let ln=G(p)||$(v);O.push(ln?` declare ${b}: ${ln};`:` declare ${b}: any;`)}for(let{name:b,path:p,key:v,type:ln,srcLine:rn}of R){let en=G(ln),sn=en?`: Computed<${en}>`:"",wn=v?`this.app.data.${p}(${v.stubCode})`:`this.app.data.${p}`,_n=rn!=null?` // @rip-src:${rn}`:"";O.push(` ${b}${sn} = __computed(() => __ripGate(${wn}));`+_n)}for(let{name:b,expr:p,type:v}of y){let ln=G(v),rn=ln?`: Computed<${ln}>`:"";if(this.is(p,"block")){let en=this.transformComponentMembers(p),sn=this.emitFunctionBody(en);O.push(` ${b}${rn} = __computed(() => ${sn});`)}else{let en=this.emitInComponent(p,"value");O.push(` ${b}${rn} = __computed(() => ${en});`)}}for(let{name:b,value:p,marker:v}of cn){let ln=this.emitInComponent(p,"value");O.push(` ${b} = __state(${ln});`+v)}O.push(" _init(props) {");for(let{name:b,value:p,isPublic:v,srcLine:ln}of U){let rn=this.emitInComponent(p,"value"),en=ln!=null?` // @rip-src:${ln}`:"";O.push((v?` this.${b} = props.${b} ?? ${rn};`:` this.${b} = ${rn};`)+en)}for(let{name:b,value:p,isPublic:v,required:ln,type:rn,srcLine:en}of A){if(cn.some((wn)=>wn.name===b))continue;let sn=en!=null?` // @rip-src:${en}`:"";if(v&&(ln||p===void 0))O.push(` this.${b} = __state(props.__bind_${b}__ ?? props.${b});`+sn);else if(v){let wn=this.emitInComponent(p,"value");O.push(` this.${b} = __state(props.__bind_${b}__ ?? props.${b} ?? ${wn});`+sn)}else{let wn=this.emitInComponent(p,"value");O.push(` this.${b} = __state(${wn});`+sn)}}for(let b of M){let p=b[2],v=this.containsAwait(p)?"async ":"";if(this.is(p,"block")){let ln=this.transformComponentMembers(p),rn=this.emitFunctionBody(ln);O.push(` __effect(${v}() => ${rn});`)}else{let ln=this.emitInComponent(p,"value");O.push(` __effect(${v}() => { return ${ln}; });`)}}O.push(" }");let on=new Map;for(let[b,p]of Z)on.set(p,b);if(d){let b=(p)=>{if(!Array.isArray(p))return;let v=p[0]?.valueOf?.()??p[0];if(typeof v==="string"&&v!=="object"&&v!=="switch"&&ai.has(v.split(/[.#]/)[0]))for(let ln=1;ln<p.length;ln++){let rn=p[ln],en=this.is(rn,"object")?rn:null;if(!en&&Array.isArray(rn)&&(rn[0]==="->"||rn[0]==="=>")&&this.is(rn[2],"block")){for(let sn=1;sn<rn[2].length;sn++)if(this.is(rn[2][sn],"object")){en=rn[2][sn];break}}if(!en)continue;for(let sn=1;sn<en.length;sn++){let wn=en[sn];if(!Array.isArray(wn)||wn.length<2)continue;let[,_n,Rn]=wn;if(Array.isArray(_n)&&_n[0]==="."&&_n[1]==="this"&&Array.isArray(Rn)&&Rn[0]==="."&&Rn[1]==="this"){let An=typeof _n[2]==="string"?_n[2]:_n[2]?.valueOf?.(),g=typeof Rn[2]==="string"?Rn[2]:Rn[2]?.valueOf?.();if(An&&g&&!on.has(g))on.set(g,An)}}}for(let ln=1;ln<p.length;ln++)b(p[ln])};b(d)}for(let{name:b,func:p}of m)if(Array.isArray(p)&&(p[0]==="->"||p[0]==="=>")){let[,v,ln]=p;if((!v||Array.isArray(v)&&v.length===0)&&this.containsIt(ln))v=["it"];let rn=Array.isArray(v)?v.map((Rn)=>this.formatParam(Rn)).join(", "):"",en=on.get(b);if(en&&Array.isArray(v)&&v.length>0){let Rn=v[0];if(!(Rn?.type||Rn instanceof String&&Rn.type)&&typeof(Rn?.valueOf?.()??Rn)==="string"){let g=Rn?.valueOf?.()??Rn;rn=rn.replace(g,`${g}: HTMLElementEventMap['${en}']`)}}let sn=this.reactiveMembers?this.transformComponentMembers(ln):ln,wn=this.containsAwait(ln),_n=this.emitFunctionBody(sn,v||[]);_n=this.addBodyRipSrcMarkers(_n,ln),O.push(` ${wn?"async ":""}${b}(${rn}) ${_n}`)}for(let{name:b,value:p}of D)if(Array.isArray(p)&&(p[0]==="->"||p[0]==="=>")){let[,v,ln]=p,rn=Array.isArray(v)?v.map((_n)=>this.formatParam(_n)).join(", "):"";if(b==="onError"&&Array.isArray(v)&&v.length===1){let _n=v[0];if((typeof _n==="string"||_n instanceof String)&&!e(_n,"type"))rn=`${_n.valueOf()}: ${qf}`}let en=this.reactiveMembers?this.transformComponentMembers(ln):ln,sn=this.containsAwait(ln),wn=this.emitFunctionBody(en,v||[]);wn=this.addBodyRipSrcMarkers(wn,ln),O.push(` ${sn?"async ":""}${b}(${rn}) ${wn}`)}if(d){let b=[],p=0,v=this.options.source?.split(`
1877
+ `),ln=(g)=>typeof g==="string"&&/^["'`]\//.test(g)?`__ripRoute(${g})`:g,rn=/^[a-zA-Z_$][\w$]*$/,en=(g)=>typeof g==="string"&&rn.test(g)&&!/^(?:true|false|null|undefined)$/.test(g)&&!n.GENERATORS[g]&&!this._isInScopeValue(g),sn=(g,nn)=>{if(nn==null||!v)return nn;let zn=new RegExp(`(?<![\\w$.#@])${g}(?![\\w$])`);for(let Mn=nn;Mn<v.length;Mn++)if(v[Mn]&&zn.test(v[Mn]))return Mn;return nn},wn=(g,nn,zn)=>{let Mn=sn(g,nn);if(Mn!=null&&Mn===zn)return;b.push(` ({ ${g}: true });`+(Mn!=null?` // @rip-src:${Mn}`:""))},_n=(g,nn)=>{let zn=[],Mn=[];for(let B of g){let T=null;if(this.is(B,"object"))T=B;else if(Array.isArray(B)&&(B[0]==="->"||B[0]==="=>")&&this.is(B[2],"block")){let x=B[2].loc?.r??nn;for(let k=1;k<B[2].length;k++){let an=B[2][k];if(this.is(an,"object")){if(!T)T=an}else if(en(an))wn(an,x,nn)}}else if(en(B)){wn(B,nn,nn);continue}if(T)for(let x=1;x<T.length;x++){let k=T[x],[,an,V]=k,hn=k.loc?.r??T.loc?.r;if(Array.isArray(an)&&an[0]==="."&&an[1]==="this"){try{let yn=this.emitInComponent(V,"value");Mn.push({code:yn,srcLine:hn})}catch{}continue}if(typeof an==="string"&&an.startsWith("@")){try{let yn=this.emitInComponent(V,"value");Mn.push({code:yn,srcLine:hn})}catch{}continue}if(typeof an==="string")if(an.startsWith("__bind_")&&an.endsWith("__")){let yn=typeof V==="string"&&this.reactiveMembers?.has(V)?`this.${V}`:this.emitInComponent(V,"value");zn.push({code:`${an}: ${yn}`,srcLine:hn})}else{let yn=this.emitInComponent(V,"value"),mn=an==="href"?ln(yn):yn;zn.push({code:`${an}: ${mn}`,srcLine:hn})}}}return zn.sideExprs=Mn,zn},Rn=(g,nn,zn)=>{let Mn=[],B=(T)=>{if(nn!=="a")return T;if(typeof T!=="string")return T;if(T.length<2)return T;if(T[0]!=="`")return T;if(T[1]!=="/")return T;return`__ripRoute(${T})`};for(let T of g){let x=null;if(this.is(T,"object"))x=T;else if(Array.isArray(T)&&(T[0]==="->"||T[0]==="=>")&&this.is(T[2],"block")){let k=T[2].loc?.r??zn;for(let an=1;an<T[2].length;an++){let V=T[2][an];if(this.is(V,"object")){if(!x)x=V}else if(en(V))wn(V,k,zn)}}else if(en(T)){wn(T,zn,zn);continue}if(x)for(let k=1;k<x.length;k++){let an=x[k];if(!Array.isArray(an)||an.length<2)continue;let[,V,hn]=an,yn=an.loc?.r??x.loc?.r;if(Array.isArray(V)&&V[0]==="."&&V[1]==="this"){let mn=typeof V[2]==="string"?V[2]:V[2]?.valueOf?.();if(!mn)continue;let En=mn.split(".")[0],Jn=this.emitInComponent(hn,"value");if(Array.isArray(hn)&&(hn[0]==="->"||hn[0]==="=>")){let Gn=hn[1]?.[0],Yn=typeof Gn==="string"?Gn:Gn?.valueOf?.();if(Yn&&!(Gn&&Gn.type)&&/^[A-Za-z_$][\w$]*$/.test(Yn)){let gn=`RipEvent<HTMLElementEventMap['${En}'], __RipElementMap['${nn}']>`;Jn=Jn[0]==="("?Jn.replace(new RegExp("^\\(\\s*"+Yn+"\\b"),`(${Yn}: ${gn}`):Jn.replace(new RegExp("^"+Yn+"\\b"),`(${Yn}: ${gn})`)}}Mn.push({code:`'@${En}': ${Jn}`,srcLine:yn})}else if(typeof V==="string"){if(V==="key"){let mn=this.emitInComponent(hn,"value"),En=yn!=null?` // @rip-src:${yn}`:"";b.push(` (${mn});${En}`);continue}if(V.startsWith("__bind_")&&V.endsWith("__")){let mn=V.slice(7,-2),En=this.emitInComponent(hn,"value");Mn.push({code:`${mn}: ${En}`,srcLine:yn})}else{let mn=this.emitInComponent(hn,"value"),En=V==="href"?B(mn):mn;Mn.push({code:`${V}: ${En}`,srcLine:yn})}}}}return Mn},An=(g)=>{if(!Array.isArray(g))return;let nn=g[0]?.valueOf?.()??g[0];if(Array.isArray(nn)&&nn[0]==="."){let B=[],T=(x)=>{if(typeof x==="string")return B.push(x),!0;if(Array.isArray(x)&&x[0]==="."&&B.length===0){if(!T(x[1]))return!1;if(typeof x[2]!=="string"||!/^[\w-]+$/.test(x[2]))return!1;return B.push(".",x[2]),!0}return!1};if(T(nn)&&B.length>=3&&/^[a-z][\w-]*$/.test(B[0])){let x=B.join(""),k=[x];for(let V=1;V<g.length;V++)k.push(g[V]);if(g.loc)k.loc=g.loc;k._astNode=g;let an=(V)=>{if(Array.isArray(V)&&V[0]==="."){if(V.loc)delete V.loc;an(V[1])}};an(nn),g=k,nn=x}}if(nn==="object")return;if(nn==="if"||nn==="unless"){let B=g[1];if(B!=null){let T=this.emitInComponent(B,"value"),x=g.loc?.r,k=x!=null?` // @rip-src:${x}`:"",an=nn==="unless"?`!(${T})`:T;if(b.push(` if (${an}) {${k}`),g[2]!=null)An(g[2]);let V=g.slice(3).filter((hn)=>hn!=null);if(V.length){b.push(" } else {");for(let hn of V)An(hn)}b.push(" }");return}}else if(nn==="?:"){let B=this.emitInComponent(g,"value"),T=g.loc?.r,x=T!=null?` // @rip-src:${T}`:"";b.push(` ${B};${x}`);return}else if(nn==="switch"){let B=g[1];if(B!=null){let T=this.emitInComponent(B,"value"),x=g.loc?.r,k=x!=null?` // @rip-src:${x}`:"";b.push(` ${T};${k}`)}}else if(nn==="for-in"||nn==="for-of"||nn==="for-as"){let B=g[1],T=g[2];if(T!=null){let x=this.emitInComponent(T,"value"),k=g.loc?.r,an=k!=null?` // @rip-src:${k}`:"",V;if(Array.isArray(B))if(B.length===1){let mn=B[0];V=Array.isArray(mn)?this.emitDestructuringPattern(mn):String(mn)}else if(nn==="for-of")V=`[${B.map((mn)=>String(mn)).join(", ")}]`;else V=String(B[0]);else V=String(B);if(nn==="for-of")b.push(` for (const ${V} of Object.entries(${x})) {${an}`);else b.push(` for (const ${V} of ${x}) {${an}`);let hn=(mn)=>typeof mn==="string"||mn instanceof String?String(mn):null,yn=Array.isArray(B)?{itemVar:hn(B[0]),indexVar:hn(B[1])}:{itemVar:hn(B),indexVar:null};(this._loopVarStack||(this._loopVarStack=[])).push(yn);for(let mn=3;mn<g.length;mn++)if(g[mn]!=null)An(g[mn]);this._loopVarStack.pop(),b.push(" }");return}}else if(nn==="__text__"){let B=g[1];if(B!=null){let T=this.emitInComponent(B,"value"),x=g.loc?.r,k=x!=null?` // @rip-src:${x}`:"";b.push(` ${T};${k}`)}return}else if(nn==="str"){try{let B=this.emitInComponent(g,"value"),T=g.loc?.r,x=T!=null?` // @rip-src:${T}`:"";b.push(` ${B};${x}`)}catch{}return}else if(nn==="."||nn==="?."){let B=g;while(Array.isArray(B)&&(B[0]==="."||B[0]==="?."))B=B[1];let T=typeof B==="string"?B:B?.valueOf?.();if(typeof T==="string"&&!this.isHtmlTag(T)&&!n.GENERATORS[T])try{let x=this.emitInComponent(g,"value"),k=g.loc?.r,an=k!=null?` // @rip-src:${k}`:"";b.push(` ${x};${an}`)}catch{}return}let zn=(B,T,x)=>{if(typeof B!=="string"||!/^[a-z][\w-]*$/.test(B))return;if(n.GENERATORS[B])return;if(B==="null"||B==="undefined"||B==="true"||B==="false")return;let k=T.loc?.r,an=null;if(k!=null&&v){let hn=new RegExp(`\\b${B}\\b`,"g");for(let yn=k;yn<v.length;yn++){let mn=v[yn];if(!mn)continue;let En=yn===T.loc.r?T.loc.c+1:0;hn.lastIndex=En;let Jn,Gn=-1;while((Jn=hn.exec(mn))!==null){let Yn=Jn.index>0?mn[Jn.index-1]:"";if(Yn==="."||Yn==="#")continue;Gn=Jn.index;break}if(Gn>=0){k=yn,an=Gn;break}}}let V=k!=null?` // @rip-src:${k}`:"";if(k!=null&&an!=null){let hn=T._astNode||T;if(!hn._anchors)hn._anchors=[];hn._anchors.push({name:B,origLine:k,origCol:an})}if(this.componentMembers&&this.componentMembers.has(B))b.push(` this.${B};${V}`);else if(this._isInScopeValue(B))b.push(` ${B};${V}`);else if(!x&&this.isHtmlTag(B))b.push(` __ripEl('${B}');${V}`)},Mn=typeof nn==="string"&&/^[a-z][\w-]*(?:[.#][\w-]+)*$/.test(nn)&&!n.GENERATORS[nn]&&ai.has(nn.split(/[.#]/)[0]);if(nn==="block")for(let B=1;B<g.length;B++)zn(g[B],g,!1);else if(typeof nn==="string"&&/^[A-Z]/.test(nn))for(let B=1;B<g.length;B++)zn(g[B],g,!0);else if(Mn){for(let B=1;B<g.length;B++)zn(g[B],g,!0);for(let B=1;B<g.length;B++){let T=g[B];if(!Array.isArray(T))continue;let x=T[0]?.valueOf?.()??T[0];if(x==="object"||x==="block"||x==="__text__")continue;if(typeof x==="string"){if(/^[A-Z]/.test(x))continue;if(ai.has(x.split(/[.#]/)[0]))continue;if(/^[a-z][\w-]*$/.test(x)&&!n.GENERATORS[x])continue;if(/^(if|unless|switch|for-in|for-of|for-as|while|until|loop|loop-n|try|throw|break|continue|break-if|continue-if|control|when|return|def|->|=>|class|enum|state|computed|readonly|effect|=|program)$/.test(x))continue}try{let k=this.emitInComponent(T,"value"),an=T.loc?.r??g.loc?.r,V=an!=null?` // @rip-src:${an}`:"";b.push(` ${k};${V}`)}catch{}}}for(let B=1;B<g.length;B++)An(g[B]);if(typeof nn==="string"&&/^[A-Z]/.test(nn)){let B=_n(g.slice(1),g.loc?.r),T=`_${p++}`,x=`ConstructorParameters<typeof ${nn}>[0] & {}`;if(B.length===0){let k=g.loc?.r;b.push(` const ${T}: ${x} = {};`+(k!=null?` // @rip-src:${k}`:""))}else if(B.length===1){let k=g.loc?.r??B[0].srcLine;b.push(` const ${T}: ${x} = {${B[0].code}};`+(k!=null?` // @rip-src:${k}`:""))}else{let k=g.loc?.r;if(new Set(B.map((V)=>V.srcLine).filter((V)=>V!=null)).size<=1){let V=B[0].srcLine??k;b.push(` const ${T}: ${x} = {${B.map((hn)=>hn.code).join(", ")}};`+(V!=null?` // @rip-src:${V}`:""))}else{b.push(` const ${T}: ${x} = {`+(k!=null?` // @rip-src:${k}`:""));for(let V of B)b.push(` ${V.code},`+(V.srcLine!=null?` // @rip-src:${V.srcLine}`:""));b.push(" };")}}if(B.sideExprs)for(let k of B.sideExprs)b.push(` ${k.code};`+(k.srcLine!=null?` // @rip-src:${k.srcLine}`:""))}else if(typeof nn==="string"&&!n.GENERATORS[nn]&&(ai.has(nn.split(/[.#]/)[0])||/^[a-z][\w-]*$/.test(nn)&&g.length>1)){let B=nn.split(/[.#]/)[0],T=Ln.has(B)?"__ripSvgEl":"__ripEl",x=Rn(g.slice(1),B,g.loc?.r),k=g.loc?.r,an=k!=null?` // @rip-src:${k}`:"";if(x.length===0)b.push(` ${T}('${B}');${an}`);else if(x.length===1){let V=x[0].srcLine??k,hn=V!=null?` // @rip-src:${V}`:"";b.push(` ${T}('${B}', {${x[0].code}});${hn}`)}else if(new Set(x.map((hn)=>hn.srcLine).filter((hn)=>hn!=null)).size<=1){let hn=x[0].srcLine??k,yn=hn!=null?` // @rip-src:${hn}`:"";b.push(` ${T}('${B}', {${x.map((mn)=>mn.code).join(", ")}});${yn}`)}else{b.push(` ${T}('${B}', {${an}`);for(let hn of x)b.push(` ${hn.code},`+(hn.srcLine!=null?` // @rip-src:${hn.srcLine}`:""));b.push(" });")}}};if(An(d),b.length>0){O.push(" _render() {");for(let g of b)O.push(g);O.push(" }")}}return O.push("}"),this.componentMembers=C,this.reactiveMembers=L,this._autoEventHandlers=X,this._inheritsTag=fn,O.join(`
1878
+ `)}this.usesTemplates=!0,this.usesReactivity=!0;let Y=[],Un="";if(Y.push("class extends __Component {"),R.length>0){let G=R.map(({path:O,key:J})=>J?`{ path: '${O}', key: (params, query) => ${J.code} }`:`'${O}'`);Y.push(` static __gates = [${G.join(", ")}];`)}Y.push(" _init(props) {");for(let{name:G,path:O,key:J}of R)Y.push(J?` this.${G} = __gateBind(this, '${O}', (params, query) => ${J.code});`:` this.${G} = __gateBind(this, '${O}');`);for(let{name:G,value:O,isPublic:J}of U){let P=this.emitInComponent(O,"value");Y.push(J?` this.${G} = props.${G} ?? ${P};`:` this.${G} = ${P};`)}for(let G of S)Y.push(` this.${G} = getContext('${G}');`);for(let{name:G,value:O,isPublic:J,required:P}of A)if(J&&(P||O===void 0))Y.push(` this.${G} = __state(props.__bind_${G}__ ?? props.${G});`);else if(J){let F=this.emitInComponent(O,"value");Y.push(` this.${G} = __state(props.__bind_${G}__ ?? props.${G} ?? ${F});`)}else{let F=this.emitInComponent(O,"value");Y.push(` this.${G} = __state(${F});`)}if(Q){if(Y.push(" this._rest = {};"),Y.push(" for (const __k in props) {"),W.size>0){let G=[...W].map((O)=>`__k !== '${O}'`).join(" && ");Y.push(` if (${G} && !__k.startsWith('__bind_')) this._rest[__k] = props[__k];`)}else Y.push(" if (!__k.startsWith('__bind_')) this._rest[__k] = props[__k];");Y.push(" }"),Y.push(" this.rest = __state(this._rest);")}for(let{name:G,expr:O}of y)if(this.is(O,"block")){let J=this.transformComponentMembers(O),P=this.emitFunctionBody(J);Y.push(` this.${G} = __computed(() => ${P});`)}else{let J=this.emitInComponent(O,"value");Y.push(` this.${G} = __computed(() => ${J});`)}for(let G of q)Y.push(` setContext('${G}', this.${G});`);for(let G of M){let O=G[2],J=this.containsAwait(O)?"async ":"";if(this.is(O,"block")){let P=this.transformComponentMembers(O),F=this.emitFunctionBody(P);Y.push(` __effect(${J}() => ${F});`)}else{let P=this.emitInComponent(O,"value");Y.push(` __effect(${J}() => { return ${P}; });`)}}if(Y.push(" }"),Q)Y.push(" _setRestProp(key, value) {"),Y.push(" if (key.startsWith('__bind_')) return;"),Y.push(" this._rest || (this._rest = {});"),Y.push(" if (value == null) delete this._rest[key];"),Y.push(" else this._rest[key] = value;"),Y.push(" this.rest.touch();"),Y.push(" this._applyInheritedProp(this._inheritedEl, key, value);"),Y.push(" }"),Y.push(" _applyRestToInheritedEl() {"),Y.push(" if (!this._inheritedEl || !this._rest) return;"),Y.push(" for (const key in this._rest) this._applyInheritedProp(this._inheritedEl, key, this._rest[key]);"),Y.push(" }"),Y.push(" _applyInheritedProp(el, key, value) {"),Y.push(" if (!el || key === 'key' || key === 'ref' || key === 'children' || key.startsWith('__bind_')) return;"),Y.push(" if (key[0] === '@') {"),Y.push(" const event = key.slice(1).split('.')[0];"),Y.push(" this._restHandlers || (this._restHandlers = {});"),Y.push(" const prev = this._restHandlers[key];"),Y.push(" if (prev) el.removeEventListener(event, prev);"),Y.push(" if (typeof value === 'function') {"),Y.push(" const next = (e) => __batch(() => value(e));"),Y.push(" this._restHandlers[key] = next;"),Y.push(" el.addEventListener(event, next);"),Y.push(" } else {"),Y.push(" delete this._restHandlers[key];"),Y.push(" }"),Y.push(" return;"),Y.push(" }"),Y.push(" if (key === 'class' || key === 'className') {"),Y.push(" if (el instanceof SVGElement) el.setAttribute('class', __clsx(value));"),Y.push(" else el.className = __clsx(value);"),Y.push(" return;"),Y.push(" }"),Y.push(" if (key === 'style') {"),Y.push(" if (value == null) { el.removeAttribute('style'); return; }"),Y.push(" if (typeof value === 'string') { el.setAttribute('style', value); return; }"),Y.push(" if (typeof value === 'object') { Object.assign(el.style, value); return; }"),Y.push(" }"),Y.push(" if (key === 'innerHTML' || key === 'textContent' || key === 'innerText') {"),Y.push(" el[key] = value ?? '';"),Y.push(" return;"),Y.push(" }"),Y.push(" if (key in el && !key.includes('-')) {"),Y.push(" el[key] = value;"),Y.push(" return;"),Y.push(" }"),Y.push(" if (value == null || value === false) {"),Y.push(" el.removeAttribute(key);"),Y.push(" return;"),Y.push(" }"),Y.push(" if (value === true) {"),Y.push(" el.setAttribute(key, '');"),Y.push(" return;"),Y.push(" }"),Y.push(" el.setAttribute(key, value);"),Y.push(" }");for(let{name:G,func:O}of m)if(Array.isArray(O)&&(O[0]==="->"||O[0]==="=>")){let[,J,P]=O;if((!J||Array.isArray(J)&&J.length===0)&&this.containsIt(P))J=["it"];let F=Array.isArray(J)?J.map((tn)=>this.formatParam(tn)).join(", "):"",N=this.reactiveMembers?this.transformComponentMembers(P):P,un=this.containsAwait(P),$=this.emitFunctionBody(N,J||[]);Y.push(` ${un?"async ":""}${G}(${F}) ${$}`)}for(let{name:G,value:O}of D)if(Array.isArray(O)&&(O[0]==="->"||O[0]==="=>")){let[,J,P]=O,F=Array.isArray(J)?J.map((tn)=>this.formatParam(tn)).join(", "):"",N=this.reactiveMembers?this.transformComponentMembers(P):P,un=this.containsAwait(P),$=this.emitFunctionBody(N,J||[]);Y.push(` ${un?"async ":""}${G}(${F}) ${$}`)}if(d){let G=d[1],O=this.buildRender(G);if(O.blockFactories.length>0)Un=O.blockFactories.join(`
1879
1879
 
1880
1880
  `)+`
1881
1881
 
@@ -1883,10 +1883,10 @@ Expecting ${u.join(", ")}, got '${this.tokenNames[S]||S}'`;else return`Parse err
1883
1883
  ${Un}return ${Y.join(`
1884
1884
  `)};
1885
1885
  })()`;return Y.join(`
1886
- `)},i.emitInComponent=function(r,h){if(typeof r==="string"&&this.reactiveMembers&&this.reactiveMembers.has(r))return`${this._self}.${r}.value`;if(typeof r==="string"&&this.componentMembers&&this.componentMembers.has(r))return`${this._self}.${r}`;if(Array.isArray(r)&&this.reactiveMembers){let o=this.transformComponentMembers(r);return this.emit(o,h)}return this.emit(r,h)},i.emitRender=function(r,h,o,s){this.error("render blocks can only be used inside a component",s)},i.emitOffer=function(r,h,o,s){this.error("offer can only be used inside a component",s)},i.emitAccept=function(r,h,o,s){this.error("accept can only be used inside a component",s)},i.buildRender=function(r){this._elementCount=0,this._textCount=0,this._blockCount=0,this._createLines=[],this._setupLines=[],this._blockFactories=[],this._loopVarStack=[],this._factoryMode=!1,this._factoryVars=null,this._renderLocalScope=new Set,this._renderTopLocals=new Set,this._fragChildren=new Map,this._pendingAutoWire=!1,this._autoWireEl=null,this._autoWireExplicit=null,this._inheritsTargetBound=!1;let h=this.is(r,"block")?r.slice(1):[r],o=h.reduce((w,y)=>w+(this._isRenderBinding(y)?0:1),0),s;if(h.length===0||h.length===1&&h[0]==="null")s="null";else if(o===0){for(let w of h)this.emitNode(w);s=this.newElementVar("empty"),this._createLines.push(`${s} = document.createComment('');`)}else if(o===1){this._pendingAutoWire=!!this._autoEventHandlers;let w=null;for(let y of h){let A=this.emitNode(y);if(A!=null)w=A}this._pendingAutoWire=!1,s=w}else{s=this.newElementVar("frag"),this._createLines.push(`${s} = document.createDocumentFragment();`);let w=[];for(let y of h){let A=this.emitNode(y);if(A==null)continue;this._createLines.push(`${s}.appendChild(${A});`),w.push(A)}this._fragChildren.set(s,w)}if(this._renderTopLocals.size>0){let w=`let ${[...this._renderTopLocals].join(", ")};`;this._createLines.unshift(w)}return{createLines:this._createLines,setupLines:this._setupLines,blockFactories:this._blockFactories,rootVar:s}},i.newBlockVar=function(){return`create_block_${this._blockCount++}`},i.newElementVar=function(r="el"){let h=`_${r}${this._elementCount++}`;if(this._factoryVars)this._factoryVars.add(h);return this._factoryMode?h:`this.${h}`},i.newTextVar=function(){let r=`_t${this._textCount++}`;if(this._factoryVars)this._factoryVars.add(r);return this._factoryMode?r:`this.${r}`},Object.defineProperty(i,"_self",{get(){return this._factoryMode?"ctx":"this"}}),i._pushEffect=function(r){if(this._factoryMode)this._setupLines.push(`disposers.push(__effect(() => { ${r} }, {skipRegister: true}));`);else this._setupLines.push(`__effect(() => { ${r} });`)};let a=(r)=>typeof r==="string"&&/^[A-Za-z_$][\w$]*$/.test(r),c=new Set(["=","+=","-=","*=","/=","%=","**=","&&=","||=","?=","??="]);i._isRenderBinding=function(r){return Array.isArray(r)&&c.has(r[0])&&a(r[1])},i._addRenderLocal=function(r){if(this._renderLocalScope)this._renderLocalScope.add(r)},i._isRenderLocal=function(r){if(!r||typeof r!=="string")return!1;if(this._renderLocalScope&&this._renderLocalScope.has(r))return!0;if(this._loopVarStack){for(let h of this._loopVarStack)if(h.itemVar===r||h.indexVar===r)return!0}return!1},i._isInScopeValue=function(r){if(!r||typeof r!=="string")return!1;if(this.reactiveMembers&&this.reactiveMembers.has(r))return!0;if(this.componentMembers&&this.componentMembers.has(r))return!0;if(this._isRenderLocal(r))return!0;if(this.moduleBindings&&this.moduleBindings.has(r))return!0;return!1},i.emitNode=function(r){if(this._isRenderBinding(r)){let[A,m,R]=r,U=this.emitInComponent(R,"value");if(A==="=")(this._factoryMode?this._factoryVars:this._renderTopLocals).add(m),this._addRenderLocal(m);return this._createLines.push(`${m} ${A} ${U};`),null}if(typeof r==="string"||r instanceof String){let A=r.valueOf();if(A.startsWith('"')||A.startsWith("'")||A.startsWith("`")){let D=this.newTextVar();return this._createLines.push(`${D} = document.createTextNode(${A});`),D}if(this.reactiveMembers&&this.reactiveMembers.has(A)){let D=this.newTextVar();return this._createLines.push(`${D} = document.createTextNode('');`),this._pushEffect(`${D}.data = ${this._self}.${A}.value;`),D}if(this._isRenderLocal(A)){let D=this.newTextVar();return this._createLines.push(`${D} = document.createTextNode(String(${A}));`),D}if(A==="slot"&&this.componentMembers){let D=this._self,M=this.newElementVar("slot");return this._createLines.push(`${M} = ${D}.children instanceof Node ? ${D}.children : (${D}.children != null ? document.createTextNode(String(${D}.children)) : document.createComment(''));`),M}let[m,R]=A.split("#"),U=this.newElementVar(),_=m||"div";if(Ln.has(_)||this._svgDepth>0)this._createLines.push(`${U} = document.createElementNS('${sl}', '${_}');`);else this._createLines.push(`${U} = document.createElement('${_}');`);if(R)this._createLines.push(`${U}.id = '${R}';`);return this._bindInheritedTarget(_,U),U}if(!Array.isArray(r)){let A=this.newElementVar("c");return this._createLines.push(`${A} = document.createComment('unknown');`),A}let[h,...o]=r,s=typeof h==="string"?h:h instanceof String?h.valueOf():null;if(s&&this.isComponent(s))return this.emitChildComponent(s,o);if(s==="slot"&&this.componentMembers){let A=this._self,m=this.newElementVar("slot");return this._createLines.push(`${m} = ${A}.children instanceof Node ? ${A}.children : (${A}.children != null ? document.createTextNode(String(${A}.children)) : document.createComment(''));`),m}if(s==="switch"){let A=o[0],m=o[1]||[],U=o[2]||null;for(let D=m.length-1;D>=0;D--){let[,M,q]=m[D],S;if(A===null)S=M.length===1?M[0]:M.reduce((d,K)=>d?["||",d,K]:K,null);else S=M.length===1?["==",A,M[0]]:M.map((d)=>["==",A,d]).reduce((d,K)=>d?["||",d,K]:K,null);U=["if",S,q,U]}if(U){if(Array.isArray(U)&&U[0]==="if")return this.emitConditional(U);return this.emitTemplateBlock(U)}let _=this.newElementVar("c");return this._createLines.push(`${_} = document.createComment('switch');`),_}if(s&&this.isHtmlTag(s)&&!e(h,"text")&&!this._isRenderLocal(s)){let[A,m]=s.split("#");return this.emitTag(A||"div",[],o,m)}if(s==="."){let[,A,m]=r;if(A==="this"&&typeof m==="string"){let S=this._self;if(this.reactiveMembers&&this.reactiveMembers.has(m)){let K=this.newTextVar();return this._createLines.push(`${K} = document.createTextNode('');`),this._pushEffect(`${K}.data = ${S}.${m}.value;`),K}let d=this.newElementVar("slot");return this._createLines.push(`${d} = ${S}.${m} instanceof Node ? ${S}.${m} : (${S}.${m} != null ? document.createTextNode(String(${S}.${m})) : document.createComment(''));`),d}let{tag:R,classes:U,id:_,base:D}=this.collectTemplateClasses(r);if(!e(D,"text")&&R&&this.isHtmlTag(R)&&!this._isRenderLocal(R))return this.emitTag(R,U,[],_);let M=this.newTextVar(),q=this.emitInComponent(r,"value");return this._createLines.push(`${M} = document.createTextNode(String(${q}));`),M}if(Array.isArray(h)){if(Array.isArray(h[0])&&h[0][0]==="."&&(h[0][2]==="__clsx"||h[0][2]instanceof String&&h[0][2].valueOf()==="__clsx")){let U=h[0][1],_=h.slice(1);if(Array.isArray(U)){let{tag:M,classes:q,id:S}=this.collectTemplateClasses(U);if(M){let d=q.map((K)=>`"${K}"`);return this.emitDynamicTag(M,_,o,d,S)}}let D=typeof U==="string"?U:U.valueOf();return this.emitDynamicTag(D,_,o)}let{tag:A,classes:m,id:R}=this.collectTemplateClasses(h);if(A&&this.isHtmlTag(A)&&!this._isRenderLocal(A)){if(m.length>0&&m[m.length-1]==="__clsx"){let _=m.slice(0,-1).map((D)=>`"${D}"`);return this.emitDynamicTag(A,o,[],_,R)}return this.emitTag(A,m,o,R)}}if(s==="->"||s==="=>")return this.emitTemplateBlock(o[1]);if(s==="if")return this.emitConditional(r);if(s==="for"||s==="for-in"||s==="for-of"||s==="for-as")return this.emitTemplateLoop(r);if(s==="__text__"){let A=o[0]??"undefined",m=this.newTextVar(),R=this.emitInComponent(A,"value");if(this.hasReactiveDeps(A))this._createLines.push(`${m} = document.createTextNode('');`),this._pushEffect(`${m}.data = String(${R});`);else this._createLines.push(`${m} = document.createTextNode(String(${R}));`);return m}let w=this.newTextVar(),y=this.emitInComponent(r,"value");if(this.hasReactiveDeps(r))this._createLines.push(`${w} = document.createTextNode('');`),this._pushEffect(`${w}.data = ${y};`);else this._createLines.push(`${w} = document.createTextNode(String(${y}));`);return w},i.appendChildren=function(r,h){for(let o of h)if(this.is(o,"->")||this.is(o,"=>")){let s=o[2];if(this.is(s,"block"))for(let w of s.slice(1))if(this.is(w,"object"))this.emitAttributes(r,w);else{let y=this.emitNode(w);if(y==null)continue;this._createLines.push(`${r}.appendChild(${y});`)}else if(s){let w=this.emitNode(s);if(w!=null)this._createLines.push(`${r}.appendChild(${w});`)}}else if(this.is(o,"object"))this.emitAttributes(r,o);else if(typeof o==="string"||o instanceof String){let s=o.valueOf(),w=s.split(/[#.]/)[0];if(!this._isRenderLocal(w)&&(this.isHtmlTag(w||"div")||this.isComponent(w))){let y=this.emitNode(o);this._createLines.push(`${r}.appendChild(${y});`)}else if(/^[A-Za-z_$][\w$]*$/.test(s)&&!this._isInScopeValue(s))this.emitAttributes(r,["object",[":",s,"true"]]);else{let y=this.newTextVar();if(s.startsWith('"')||s.startsWith("'")||s.startsWith("`"))this._createLines.push(`${y} = document.createTextNode(${s});`);else if(this.reactiveMembers&&this.reactiveMembers.has(s))this._createLines.push(`${y} = document.createTextNode('');`),this._pushEffect(`${y}.data = ${this._self}.${s}.value;`);else if(this.componentMembers&&this.componentMembers.has(s))this._createLines.push(`${y} = document.createTextNode(String(${this._self}.${s}));`);else this._createLines.push(`${y} = document.createTextNode(${this.emitInComponent(o,"value")});`);this._createLines.push(`${r}.appendChild(${y});`)}}else if(o){let s=this.emitNode(o);if(s!=null)this._createLines.push(`${r}.appendChild(${s});`)}},i._claimAutoWire=function(r){if(!this._pendingAutoWire||!this._autoEventHandlers?.size)return!1;return this._pendingAutoWire=!1,this._autoWireEl=r,this._autoWireExplicit=new Set,!0},i._emitAutoWire=function(r,h){if(!h)return;for(let[o,s]of this._autoEventHandlers)if(!this._autoWireExplicit.has(o))this._createLines.push(`${r}.addEventListener('${o}', (e) => __batch(() => ${this._self}.${s}(e)));`);this._autoWireEl=null,this._autoWireExplicit=null},i._bindInheritedTarget=function(r,h){if(!this._inheritsTag||this._factoryMode||this._inheritsTargetBound)return;if(r!==this._inheritsTag)return;this._inheritsTargetBound=!0,this._createLines.push(`this._inheritedEl = ${h};`),this._createLines.push("this._applyRestToInheritedEl();")},i.emitTag=function(r,h,o,s){let w=this.newElementVar(),y=Ln.has(r)||this._svgDepth>0;if(y)this._createLines.push(`${w} = document.createElementNS('${sl}', '${r}');`);else this._createLines.push(`${w} = document.createElement('${r}');`);if(s)this._createLines.push(`${w}.id = '${s}';`);if(this._bindInheritedTarget(r,w),this._componentName&&this._elementCount===1&&!this._factoryMode&&!this.options.skipDataPart)this._createLines.push(`${w}.setAttribute('data-part', '${this._componentName}');`);let A=this._claimAutoWire(w),m=this._pendingClassArgs,R=this._pendingClassEl;if(h.length>0)this._pendingClassArgs=[`'${h.join(" ")}'`],this._pendingClassEl=w;if(r==="svg")this._svgDepth=(this._svgDepth||0)+1;if(this.appendChildren(w,o),r==="svg")this._svgDepth--;if(h.length>0){if(this._pendingClassArgs.length===1)if(y)this._createLines.push(`${w}.setAttribute('class', '${h.join(" ")}');`);else this._createLines.push(`${w}.className = '${h.join(" ")}';`);else{let U=this._pendingClassArgs.join(", ");if(y)this._pushEffect(`${w}.setAttribute('class', __clsx(${U}));`);else this._pushEffect(`${w}.className = __clsx(${U});`)}this._pendingClassArgs=m,this._pendingClassEl=R}return this._emitAutoWire(w,A),w},i.emitDynamicTag=function(r,h,o,s,w){let y=this.newElementVar();if(Ln.has(r)||this._svgDepth>0)this._createLines.push(`${y} = document.createElementNS('${sl}', '${r}');`);else this._createLines.push(`${y} = document.createElement('${r}');`);if(w)this._createLines.push(`${y}.id = '${w}';`);this._bindInheritedTarget(r,y);let A=this._claimAutoWire(y),m=[...s||[],...h.map((_)=>this.emitInComponent(_,"value"))],R=this._pendingClassArgs,U=this._pendingClassEl;if(this._pendingClassArgs=m,this._pendingClassEl=y,r==="svg")this._svgDepth=(this._svgDepth||0)+1;if(this.appendChildren(y,o),r==="svg")this._svgDepth--;if(this._pendingClassArgs.length>0){let _=this._pendingClassArgs.join(", ");if(Ln.has(r)||this._svgDepth>0)this._pushEffect(`${y}.setAttribute('class', __clsx(${_}));`);else this._pushEffect(`${y}.className = __clsx(${_});`)}return this._pendingClassArgs=R,this._pendingClassEl=U,this._emitAutoWire(y,A),y},i.emitAttributes=function(r,h){let o=St(h.slice(1));for(let s=1;s<h.length;s++){let[,w,y]=h[s];if(this.is(w,".")&&w[1]==="this"){let A=w[2];if(this._autoWireExplicit&&this._autoWireEl===r)this._autoWireExplicit.add(A);if(typeof y==="string"&&this.componentMembers?.has(y))this._createLines.push(`${r}.addEventListener('${A}', (e) => __batch(() => ${this._self}.${y}(e)));`);else{let m=this.emitInComponent(y,"value");this._createLines.push(`${r}.addEventListener('${A}', (e) => __batch(() => (${m})(e)));`)}continue}if(typeof w==="string"||w instanceof String){if(w.startsWith('"')&&w.endsWith('"'))w=w.slice(1,-1);if(w==="class"||w==="className"){let m=this.emitInComponent(y,"value");if(this._pendingClassArgs&&this._pendingClassEl===r)this._pendingClassArgs.push(m);else if(this.hasReactiveDeps(y))if(this._svgDepth>0)this._pushEffect(`${r}.setAttribute('class', __clsx(${m}));`);else this._pushEffect(`${r}.className = __clsx(${m});`);else{let R=Array.isArray(y)?`__clsx(${m})`:m;if(this._svgDepth>0)this._createLines.push(`${r}.setAttribute('class', ${R});`);else this._createLines.push(`${r}.className = ${R};`)}continue}if(w==="__transition__"){let m=String(y).replace(/^["']|["']$/g,"");this._createLines.push(`this._t = "${m}";`);continue}if(w==="ref"){let m=String(y).replace(/^["']|["']$/g,"");this._createLines.push(`${this._self}.${m} = ${r};`);continue}if(w.startsWith(Mf)&&w.endsWith(Uf)){let m=w.slice(Mf.length,-Uf.length),R=this.emitInComponent(y,"value"),U,_;if(m==="checked")U="change",_="e.target.checked";else U="input",_=o==="number"||o==="range"?"e.target.valueAsNumber":"e.target.value";this._pushEffect(`${r}.${m} = ${R};`);let D=`${R} = ${_}`,M=!this.isSimpleAssignable(y)&&this.findRootReactiveMember(y);if(M)D+=`; ${this._self}.${M}.touch?.()`;this._createLines.push(`${r}.addEventListener('${U}', (e) => { ${D}; });`);continue}let A=this.emitInComponent(y,"value");if((w==="value"||w==="checked")&&this.hasReactiveDeps(y)){this._pushEffect(`${r}.${w} = ${A};`);continue}if(w==="innerHTML"||w==="textContent"||w==="innerText")if(this.hasReactiveDeps(y))this._pushEffect(`${r}.${w} = ${A};`);else this._createLines.push(`${r}.${w} = ${A};`);else if(qt.has(w))if(this.hasReactiveDeps(y))this._pushEffect(`${r}.toggleAttribute('${w}', !!${A});`);else this._createLines.push(`if (${A}) ${r}.setAttribute('${w}', '');`);else if(this.hasReactiveDeps(y))if(Array.isArray(y)&&y[0]==="presence")this._pushEffect(`{ const __v = ${A}; __v == null ? ${r}.removeAttribute('${w}') : ${r}.setAttribute('${w}', __v); }`);else this._pushEffect(`${r}.setAttribute('${w}', ${A});`);else if(Array.isArray(y)&&y[0]==="presence")this._createLines.push(`{ const __v = ${A}; if (__v != null) ${r}.setAttribute('${w}', __v); }`);else this._createLines.push(`${r}.setAttribute('${w}', ${A});`)}}},i.emitTemplateBlock=function(r){if(!Array.isArray(r)||r[0]!=="block"){let y=this.emitNode(r);if(y!=null)return y;let A=this.newElementVar("empty");return this._createLines.push(`${A} = document.createComment('');`),A}let h=r.slice(1);if(h.length===0){let y=this.newElementVar("empty");return this._createLines.push(`${y} = document.createComment('');`),y}let o=h.reduce((y,A)=>y+(this._isRenderBinding(A)?0:1),0);if(o===0){for(let A of h)this.emitNode(A);let y=this.newElementVar("empty");return this._createLines.push(`${y} = document.createComment('');`),y}if(o===1){let y=null;for(let A of h){let m=this.emitNode(A);if(m!=null)y=m}return y}let s=this.newElementVar("frag");this._createLines.push(`${s} = document.createDocumentFragment();`);let w=[];for(let y of h){let A=this.emitNode(y);if(A==null)continue;this._createLines.push(`${s}.appendChild(${A});`),w.push(A)}return this._fragChildren.set(s,w),s},i.emitConditional=function(r){if(this._pendingAutoWire=!1,r.length>4){let q=r[r.length-1];for(let S=r.length-2;S>=3;S--)q=[...r[S],q];r=[r[0],r[1],r[2],q]}let[,h,o,s]=r,w=this.newElementVar("anchor");this._createLines.push(`${w} = document.createComment('if');`);let y=this.emitInComponent(h,"value"),A=this._loopVarStack.map((q)=>`${q.itemVar}, ${q.indexVar}`).join(", "),m=A?`, ${A}`:"",R=this.newBlockVar();this.emitConditionBranch(R,o);let U=null;if(s)U=this.newBlockVar(),this.emitConditionBranch(U,s);let _=[];_.push(`// Conditional: ${R}${U?" / "+U:""}`),_.push("{"),_.push(` const anchor = ${w};`),_.push(" let currentBlock = null;"),_.push(" let showing = null;");let D=this._factoryMode?"disposers.push(__effect(() => {":"__effect(() => {",M=this._factoryMode?"}, {skipRegister: true}));":"});";if(_.push(` ${D}`),_.push(` const show = !!(${y});`),_.push(` const want = show ? 'then' : ${s?"'else'":"null"};`),_.push(" if (want === showing) return;"),_.push(""),_.push(" if (currentBlock) {"),_.push(" const leaving = currentBlock;"),_.push(" if (leaving._t) { __transition(leaving._first, leaving._t, 'leave', () => leaving.d(true)); }"),_.push(" else { leaving.d(true); }"),_.push(" currentBlock = null;"),_.push(" }"),_.push(" showing = want;"),_.push(""),_.push(" if (want === 'then') {"),_.push(` currentBlock = ${R}(${this._self}${m});`),_.push(" currentBlock.c();"),_.push(" if (anchor.parentNode) currentBlock.m(anchor.parentNode, anchor.nextSibling);"),_.push(` currentBlock.p(${this._self}${m});`),_.push(" if (currentBlock._t) __transition(currentBlock._first, currentBlock._t, 'enter');"),_.push(" }"),s)_.push(" if (want === 'else') {"),_.push(` currentBlock = ${U}(${this._self}${m});`),_.push(" currentBlock.c();"),_.push(" if (anchor.parentNode) currentBlock.m(anchor.parentNode, anchor.nextSibling);"),_.push(` currentBlock.p(${this._self}${m});`),_.push(" if (currentBlock._t) __transition(currentBlock._first, currentBlock._t, 'enter');"),_.push(" }");if(_.push(` ${M}`),this._factoryMode)_.push(" disposers.push(() => { if (currentBlock) { currentBlock.d(true); currentBlock = null; } });");else _.push(" { const __cur = globalThis.__ripComponent?.__getCurrentComponent?.(); if (__cur) (__cur._disposers ??= []).push(() => { if (currentBlock) { currentBlock.d(true); currentBlock = null; } }); }");return _.push("}"),this._setupLines.push(_.join(`
1887
- `)),w},i.emitConditionBranch=function(r,h){let o=[this._createLines,this._setupLines,this._factoryMode,this._factoryVars,this._renderLocalScope];this._createLines=[],this._setupLines=[],this._factoryMode=!0,this._factoryVars=new Set,this._renderLocalScope=new Set;let s=this.emitTemplateBlock(h),w=this._createLines,y=this._setupLines,A=this._factoryVars;[this._createLines,this._setupLines,this._factoryMode,this._factoryVars,this._renderLocalScope]=o;let m=this._loopVarStack.map((U)=>`${U.itemVar}, ${U.indexVar}`).join(", "),R=m?`, ${m}`:"";this.emitBlockFactory(r,`ctx${R}`,s,w,y,A)},i.emitBlockFactory=function(r,h,o,s,w,y,A){let m=[];if(m.push(`function ${r}(${h}) {`),y.size>0)m.push(` let ${[...y].join(", ")};`);let R=w.length>0;if(R)m.push(" let disposers = [];");if(m.push(" let _factoryChildren = [];"),m.push(" return {"),A)m.push(" _s: true,");let U=this._fragChildren.get(o),_=U?U[0]:o;m.push(" c() {");for(let D of s)m.push(` ${D}`);if(m.push(` this._first = ${_};`),m.push(" },"),m.push(" m(target, anchor) {"),U)for(let D of U)m.push(` if (target) target.insertBefore(${D}, anchor);`);else m.push(` if (target) target.insertBefore(${o}, anchor);`);if(m.push(" },"),m.push(` p(${h}) {`),R){m.push(" disposers.forEach(d => d());"),m.push(" disposers = [];");for(let D of w)m.push(` ${D}`)}if(m.push(" },"),m.push(" d(detaching) {"),m.push(" for (const __c of _factoryChildren) { try { __c.unmount?.({removeDOM: detaching}); } catch (__e) { console.error('[Rip] factory child unmount error:', __e); } }"),m.push(" _factoryChildren = [];"),R)m.push(" disposers.forEach(d => d());");if(U)for(let D of U)m.push(` if (detaching) __detach(${D});`);else m.push(` if (detaching) __detach(${o});`);m.push(" }"),m.push(" };"),m.push("}"),this._blockFactories.push(m.join(`
1888
- `))},i.emitTemplateLoop=function(r){this._pendingAutoWire=!1;let[h,o,s,w,y,A]=r,m=this.newBlockVar(),R=this.newElementVar("anchor");this._createLines.push(`${R} = document.createComment('for');`);let U=Array.isArray(o)?o:[o],_=U[0],D=U[1]||null;if(!D){let P=new Set(this._loopVarStack.flatMap((F)=>[F.itemVar,F.indexVar]));P.add(_),this._collectBodyBindings(A,P);for(let F of["i","j","k","l","m","n"])if(!P.has(F)){D=F;break}D=D||`__rip_idx${this._loopVarStack.length}`}let M=this.emitInComponent(s,"value"),q=_;if(this.is(A,"block")&&A.length>1){let P=A[1];if(Array.isArray(P))for(let F of P){if(this.is(F,"object"))for(let N=1;N<F.length;N++){let[un,$]=F[N];if(un==="key"){q=this.emit($,"value");break}}if(q!==_)break}}let S=[this._createLines,this._setupLines,this._factoryMode,this._factoryVars,this._renderLocalScope];this._createLines=[],this._setupLines=[],this._factoryMode=!0,this._factoryVars=new Set,this._renderLocalScope=new Set;let d=this._loopVarStack.map((P)=>`${P.itemVar}, ${P.indexVar}`).join(", "),K=d?`, ${d}`:"",E=this.hasReactiveDeps(s);this._loopVarStack.push({itemVar:_,indexVar:D,reactiveSource:E});let Z=this.emitTemplateBlock(A);this._loopVarStack.pop();let Q=this._createLines,W=this._setupLines,C=this._factoryVars;[this._createLines,this._setupLines,this._factoryMode,this._factoryVars,this._renderLocalScope]=S;let L=W.length===0,X=`ctx, ${_}, ${D}${K}`;this.emitBlockFactory(m,X,Z,Q,W,C,L);let Y=q!==_?`(${_}, ${D}) => ${q}`:"null",Un=d?`, ${d}`:"",G=[];G.push(`// Loop: ${m}`),G.push("{"),G.push(" const __s = { blocks: [], keys: [] };");let O=this._factoryMode?"disposers.push(__effect(() => {":"__effect(() => {",J=this._factoryMode?"}, {skipRegister: true}));":"});";if(G.push(` ${O}`),G.push(` __reconcile(${R}, __s, ${M}, ${this._self}, ${m}, ${Y}${Un});`),G.push(` ${J}`),this._factoryMode)G.push(" disposers.push(() => { for (const __b of __s.blocks) { try { __b.d(true); } catch {} } __s.blocks = []; __s.keys = []; __s.items = []; });");else G.push(" { const __cur = globalThis.__ripComponent?.__getCurrentComponent?.(); if (__cur) (__cur._disposers ??= []).push(() => { for (const __b of __s.blocks) { try { __b.d(true); } catch {} } __s.blocks = []; __s.keys = []; __s.items = []; }); }");return G.push("}"),this._setupLines.push(G.join(`
1889
- `)),R},i.emitChildComponent=function(r,h){this._pendingAutoWire=!1;let o=this.newElementVar("inst"),s=this.newElementVar("el"),{propsCode:w,reactiveProps:y,eventBindings:A,childrenSetupLines:m}=this.buildComponentProps(h),R=this._self;if(this._createLines.push(`{ const __prev = __pushComponent(${R}); try {`),this._createLines.push("try {"),this._createLines.push(`${o} = new ${r}(${w});`),this._createLines.push(`if (${o} && ${o}._initFailed) {`),this._createLines.push(` try { ${o}.unmount({removeDOM: false}); } catch (__ue) { console.error('[Rip] partial-init unmount error:', __ue); }`),this._createLines.push(` ${o} = null;`),this._createLines.push(` ${s} = document.createComment('rip:child-init-failed: ${r}');`),this._createLines.push("} else {"),this._createLines.push(` { const __cprev = __pushComponent(${o}); try {`),this._createLines.push(` ${s} = ${o}._root = ${o}._create();`),this._createLines.push(" } finally { __popComponent(__cprev); } }"),this._factoryMode)this._createLines.push(` _factoryChildren.push(${o});`);else this._createLines.push(` (${R}._children || (${R}._children = [])).push(${o});`);this._createLines.push("}"),this._createLines.push("} catch (__childErr) {"),this._createLines.push(` console.error('[Rip] ${r} construction failed:', __childErr);`),this._createLines.push(` if (${o}) { try { ${o}.unmount({removeDOM: false}); } catch (__ue) { console.error('[Rip] partial-child unmount error:', __ue); } }`),this._createLines.push(` ${o} = null;`),this._createLines.push(` ${s} = document.createComment('rip:child-error: ${r}');`),this._createLines.push("}"),this._createLines.push("} finally { __popComponent(__prev); } }");for(let{event:U,value:_}of A){let D=this.emitInComponent(_,"value");this._createLines.push(`if (${o}) ${s}.addEventListener('${U}', (e) => __batch(() => (${D})(e)));`)}this._setupLines.push(`if (${o} && !${o}._isSetup) { ${o}._isSetup = true; const __cprev = __pushComponent(${o}); try { try { if (${o}.beforeMount) ${o}.beforeMount(); if (${o}._setup) ${o}._setup(); if (${o}.mounted) ${o}.mounted(); } catch (__e) { __handleComponentError(__e, ${o}); } } finally { __popComponent(__cprev); } }`);for(let{key:U,valueCode:_}of y)this._pushEffect(`if (${o}) { if (${o}.${U} && typeof ${o}.${U} === 'object' && 'value' in ${o}.${U}) ${o}.${U}.value = ${_}; else if (${o}._setRestProp) ${o}._setRestProp('${U}', ${_}); }`);for(let U of m)this._setupLines.push(U);return s},i.buildComponentProps=function(r){let h=[],o=[],s=[],w=null,y=[],A=(D,M)=>{if(D.startsWith("@")){s.push({event:D.slice(1).split(".")[0],value:M});return}if(this.reactiveMembers&&(typeof M==="string"&&this.reactiveMembers.has(M)||Array.isArray(M)&&M[0]==="."&&M[1]==="this"&&typeof M[2]==="string"&&this.reactiveMembers.has(M[2]))){let S=typeof M==="string"?M:M[2];h.push(`${D}: ${this._self}.${S}`)}else{let S=this.emitInComponent(M,"value");if(h.push(`${D}: ${S}`),this.hasReactiveDeps(M))o.push({key:D,valueCode:S})}},m=(D)=>{for(let M=1;M<D.length;M++){let[,q,S]=D[M];if(typeof q==="string")A(q,S);else if(Array.isArray(q)&&q[0]==="."&&q[1]==="this"&&typeof q[2]==="string")s.push({event:q[2],value:S})}},R=/^[a-zA-Z_$][\w$]*$/,U=(D)=>typeof D==="string"&&R.test(D);for(let D of r)if(this.is(D,"object"))m(D);else if(U(D)&&!this._isInScopeValue(D))A(D,"true");else if(Array.isArray(D)&&(D[0]==="->"||D[0]==="=>")){let M=D[2];if(M){if(this.is(M,"block")){let q=[];for(let S of M.slice(1))if(this.is(S,"object"))m(S);else if(U(S)&&!this._isInScopeValue(S))A(S,"true");else q.push(S);M=q.length>0?["block",...q]:null}if(M){let q=this._createLines,S=this._setupLines;this._createLines=[],this._setupLines=[],w=this.emitTemplateBlock(M);let d=this._createLines,K=this._setupLines;this._createLines=q,this._setupLines=S;for(let E of d)this._createLines.push(E);y.push(...K),h.push(`children: ${w}`)}}}else if(D&&!w){let M=this.newTextVar(),q=this.emitInComponent(D,"value");if(this.hasReactiveDeps(D)){this._createLines.push(`${M} = document.createTextNode('');`);let S=`${M}.data = ${q};`,d=this._factoryMode?`disposers.push(__effect(() => { ${S} }, {skipRegister: true}));`:`__effect(() => { ${S} });`;y.push(d)}else this._createLines.push(`${M} = document.createTextNode(${q});`);w=M,h.push(`children: ${w}`)}return{propsCode:h.length>0?`{ ${h.join(", ")} }`:"{}",reactiveProps:o,eventBindings:s,childrenSetupLines:y}},i.hasReactiveDeps=function(r){if(typeof r==="string")return!!(this.reactiveMembers&&this.reactiveMembers.has(r));if(!Array.isArray(r))return!1;if(r[0]==="."&&r[1]==="this"&&typeof r[2]==="string")return!!(this.reactiveMembers&&this.reactiveMembers.has(r[2]));if(r[0]==="."&&this._rootsAtThis(r[1]))return!0;if((r[0]==="."||r[0]==="[]")&&this._rootsAtReactiveLoopVar(r))return!0;if(Array.isArray(r[0])&&r[0][0]==="."&&r[0][1]==="this"){let h=u(r[0][2]);if(h&&this.componentMembers?.has(h))return!0}for(let h of r)if(this.hasReactiveDeps(h))return!0;return!1},i._collectBodyBindings=function(r,h){if(!Array.isArray(r))return;let o=r[0];if(o==="for-in"||o==="for-of"||o==="for-as"){let s=r[1],w=Array.isArray(s)?s:[s];for(let y of w)if(typeof y==="string")h.add(y)}else if(o==="="&&a(r[1]))h.add(r[1]);for(let s=1;s<r.length;s++)this._collectBodyBindings(r[s],h)},i.isSimpleAssignable=function(r){if(typeof r==="string")return!!(this.reactiveMembers&&this.reactiveMembers.has(r));if(Array.isArray(r)&&r[0]==="."&&r[1]==="this"&&typeof r[2]==="string")return!!(this.reactiveMembers&&this.reactiveMembers.has(r[2]));return!1},i.findRootReactiveMember=function(r){if(typeof r==="string")return this.reactiveMembers?.has(r)?r:null;if(!Array.isArray(r))return null;if(r[0]==="."&&r[1]==="this"&&typeof r[2]==="string")return this.reactiveMembers?.has(r[2])?r[2]:null;if(r[0]==="."||r[0]==="[]")return this.findRootReactiveMember(r[1]);return null},i._rootsAtThis=function(r){if(typeof r==="string")return r==="this";if(!Array.isArray(r)||r[0]!==".")return!1;return this._rootsAtThis(r[1])},i._rootsAtReactiveLoopVar=function(r){if(typeof r==="string"){if(!this._loopVarStack||this._loopVarStack.length===0)return!1;for(let h=this._loopVarStack.length-1;h>=0;h--){let o=this._loopVarStack[h];if(o.itemVar===r)return!!o.reactiveSource}return!1}if(!Array.isArray(r))return!1;if(r[0]==="."||r[0]==="[]")return this._rootsAtReactiveLoopVar(r[1]);return!1},i.getComponentRuntime=function(){return`
1886
+ `)},i.emitInComponent=function(r,h){if(typeof r==="string"&&this.reactiveMembers&&this.reactiveMembers.has(r))return`${this._self}.${r}.value`;if(typeof r==="string"&&this.componentMembers&&this.componentMembers.has(r))return`${this._self}.${r}`;if(Array.isArray(r)&&this.reactiveMembers){let o=this.transformComponentMembers(r);return this.emit(o,h)}return this.emit(r,h)},i.emitRender=function(r,h,o,s){this.error("render blocks can only be used inside a component",s)},i.emitOffer=function(r,h,o,s){this.error("offer can only be used inside a component",s)},i.emitAccept=function(r,h,o,s){this.error("accept can only be used inside a component",s)},i.buildRender=function(r){this._elementCount=0,this._textCount=0,this._blockCount=0,this._createLines=[],this._setupLines=[],this._blockFactories=[],this._loopVarStack=[],this._factoryMode=!1,this._factoryVars=null,this._renderLocalScope=new Set,this._renderTopLocals=new Set,this._fragChildren=new Map,this._pendingAutoWire=!1,this._autoWireEl=null,this._autoWireExplicit=null,this._inheritsTargetBound=!1;let h=this.is(r,"block")?r.slice(1):[r],o=h.reduce((w,_)=>w+(this._isRenderBinding(_)?0:1),0),s;if(h.length===0||h.length===1&&h[0]==="null")s="null";else if(o===0){for(let w of h)this.emitNode(w);s=this.newElementVar("empty"),this._createLines.push(`${s} = document.createComment('');`)}else if(o===1){this._pendingAutoWire=!!this._autoEventHandlers;let w=null;for(let _ of h){let A=this.emitNode(_);if(A!=null)w=A}this._pendingAutoWire=!1,s=w}else{s=this.newElementVar("frag"),this._createLines.push(`${s} = document.createDocumentFragment();`);let w=[];for(let _ of h){let A=this.emitNode(_);if(A==null)continue;this._createLines.push(`${s}.appendChild(${A});`),w.push(A)}this._fragChildren.set(s,w)}if(this._renderTopLocals.size>0){let w=`let ${[...this._renderTopLocals].join(", ")};`;this._createLines.unshift(w)}return{createLines:this._createLines,setupLines:this._setupLines,blockFactories:this._blockFactories,rootVar:s}},i.newBlockVar=function(){return`create_block_${this._blockCount++}`},i.newElementVar=function(r="el"){let h=`_${r}${this._elementCount++}`;if(this._factoryVars)this._factoryVars.add(h);return this._factoryMode?h:`this.${h}`},i.newTextVar=function(){let r=`_t${this._textCount++}`;if(this._factoryVars)this._factoryVars.add(r);return this._factoryMode?r:`this.${r}`},Object.defineProperty(i,"_self",{get(){return this._factoryMode?"ctx":"this"}}),i._pushEffect=function(r){if(this._factoryMode)this._setupLines.push(`disposers.push(__effect(() => { ${r} }, {skipRegister: true}));`);else this._setupLines.push(`__effect(() => { ${r} });`)};let a=(r)=>typeof r==="string"&&/^[A-Za-z_$][\w$]*$/.test(r),c=new Set(["=","+=","-=","*=","/=","%=","**=","&&=","||=","?=","??="]);i._isRenderBinding=function(r){return Array.isArray(r)&&c.has(r[0])&&a(r[1])},i._addRenderLocal=function(r){if(this._renderLocalScope)this._renderLocalScope.add(r)},i._isRenderLocal=function(r){if(!r||typeof r!=="string")return!1;if(this._renderLocalScope&&this._renderLocalScope.has(r))return!0;if(this._loopVarStack){for(let h of this._loopVarStack)if(h.itemVar===r||h.indexVar===r)return!0}return!1},i._isInScopeValue=function(r){if(!r||typeof r!=="string")return!1;if(this.reactiveMembers&&this.reactiveMembers.has(r))return!0;if(this.componentMembers&&this.componentMembers.has(r))return!0;if(this._isRenderLocal(r))return!0;if(this.moduleBindings&&this.moduleBindings.has(r))return!0;return!1},i.emitNode=function(r){if(this._isRenderBinding(r)){let[A,y,R]=r,U=this.emitInComponent(R,"value");if(A==="=")(this._factoryMode?this._factoryVars:this._renderTopLocals).add(y),this._addRenderLocal(y);return this._createLines.push(`${y} ${A} ${U};`),null}if(typeof r==="string"||r instanceof String){let A=r.valueOf();if(A.startsWith('"')||A.startsWith("'")||A.startsWith("`")){let D=this.newTextVar();return this._createLines.push(`${D} = document.createTextNode(${A});`),D}if(this.reactiveMembers&&this.reactiveMembers.has(A)){let D=this.newTextVar();return this._createLines.push(`${D} = document.createTextNode('');`),this._pushEffect(`${D}.data = ${this._self}.${A}.value;`),D}if(this._isRenderLocal(A)){let D=this.newTextVar();return this._createLines.push(`${D} = document.createTextNode(String(${A}));`),D}if(A==="slot"&&this.componentMembers){let D=this._self,M=this.newElementVar("slot");return this._createLines.push(`${M} = ${D}.children instanceof Node ? ${D}.children : (${D}.children != null ? document.createTextNode(String(${D}.children)) : document.createComment(''));`),M}let[y,R]=A.split("#"),U=this.newElementVar(),m=y||"div";if(Ln.has(m)||this._svgDepth>0)this._createLines.push(`${U} = document.createElementNS('${sl}', '${m}');`);else this._createLines.push(`${U} = document.createElement('${m}');`);if(R)this._createLines.push(`${U}.id = '${R}';`);return this._bindInheritedTarget(m,U),U}if(!Array.isArray(r)){let A=this.newElementVar("c");return this._createLines.push(`${A} = document.createComment('unknown');`),A}let[h,...o]=r,s=typeof h==="string"?h:h instanceof String?h.valueOf():null;if(s&&this.isComponent(s))return this.emitChildComponent(s,o);if(s==="slot"&&this.componentMembers){let A=this._self,y=this.newElementVar("slot");return this._createLines.push(`${y} = ${A}.children instanceof Node ? ${A}.children : (${A}.children != null ? document.createTextNode(String(${A}.children)) : document.createComment(''));`),y}if(s==="switch"){let A=o[0],y=o[1]||[],U=o[2]||null;for(let D=y.length-1;D>=0;D--){let[,M,q]=y[D],S;if(A===null)S=M.length===1?M[0]:M.reduce((d,K)=>d?["||",d,K]:K,null);else S=M.length===1?["==",A,M[0]]:M.map((d)=>["==",A,d]).reduce((d,K)=>d?["||",d,K]:K,null);U=["if",S,q,U]}if(U){if(Array.isArray(U)&&U[0]==="if")return this.emitConditional(U);return this.emitTemplateBlock(U)}let m=this.newElementVar("c");return this._createLines.push(`${m} = document.createComment('switch');`),m}if(s&&this.isHtmlTag(s)&&!e(h,"text")&&!this._isRenderLocal(s)){let[A,y]=s.split("#");return this.emitTag(A||"div",[],o,y)}if(s==="."){let[,A,y]=r;if(A==="this"&&typeof y==="string"){let S=this._self;if(this.reactiveMembers&&this.reactiveMembers.has(y)){let K=this.newTextVar();return this._createLines.push(`${K} = document.createTextNode('');`),this._pushEffect(`${K}.data = ${S}.${y}.value;`),K}let d=this.newElementVar("slot");return this._createLines.push(`${d} = ${S}.${y} instanceof Node ? ${S}.${y} : (${S}.${y} != null ? document.createTextNode(String(${S}.${y})) : document.createComment(''));`),d}let{tag:R,classes:U,id:m,base:D}=this.collectTemplateClasses(r);if(!e(D,"text")&&R&&this.isHtmlTag(R)&&!this._isRenderLocal(R))return this.emitTag(R,U,[],m);let M=this.newTextVar(),q=this.emitInComponent(r,"value");return this._createLines.push(`${M} = document.createTextNode(String(${q}));`),M}if(Array.isArray(h)){if(Array.isArray(h[0])&&h[0][0]==="."&&(h[0][2]==="__clsx"||h[0][2]instanceof String&&h[0][2].valueOf()==="__clsx")){let U=h[0][1],m=h.slice(1);if(Array.isArray(U)){let{tag:M,classes:q,id:S}=this.collectTemplateClasses(U);if(M){let d=q.map((K)=>`"${K}"`);return this.emitDynamicTag(M,m,o,d,S)}}let D=typeof U==="string"?U:U.valueOf();return this.emitDynamicTag(D,m,o)}let{tag:A,classes:y,id:R}=this.collectTemplateClasses(h);if(A&&this.isHtmlTag(A)&&!this._isRenderLocal(A)){if(y.length>0&&y[y.length-1]==="__clsx"){let m=y.slice(0,-1).map((D)=>`"${D}"`);return this.emitDynamicTag(A,o,[],m,R)}return this.emitTag(A,y,o,R)}}if(s==="->"||s==="=>")return this.emitTemplateBlock(o[1]);if(s==="if")return this.emitConditional(r);if(s==="for"||s==="for-in"||s==="for-of"||s==="for-as")return this.emitTemplateLoop(r);if(s==="__text__"){let A=o[0]??"undefined",y=this.newTextVar(),R=this.emitInComponent(A,"value");if(this.hasReactiveDeps(A))this._createLines.push(`${y} = document.createTextNode('');`),this._pushEffect(`${y}.data = String(${R});`);else this._createLines.push(`${y} = document.createTextNode(String(${R}));`);return y}let w=this.newTextVar(),_=this.emitInComponent(r,"value");if(this.hasReactiveDeps(r))this._createLines.push(`${w} = document.createTextNode('');`),this._pushEffect(`${w}.data = ${_};`);else this._createLines.push(`${w} = document.createTextNode(String(${_}));`);return w},i.appendChildren=function(r,h){for(let o of h)if(this.is(o,"->")||this.is(o,"=>")){let s=o[2];if(this.is(s,"block"))for(let w of s.slice(1))if(this.is(w,"object"))this.emitAttributes(r,w);else{let _=this.emitNode(w);if(_==null)continue;this._createLines.push(`${r}.appendChild(${_});`)}else if(s){let w=this.emitNode(s);if(w!=null)this._createLines.push(`${r}.appendChild(${w});`)}}else if(this.is(o,"object"))this.emitAttributes(r,o);else if(typeof o==="string"||o instanceof String){let s=o.valueOf(),w=s.split(/[#.]/)[0];if(!this._isRenderLocal(w)&&(this.isHtmlTag(w||"div")||this.isComponent(w))){let _=this.emitNode(o);this._createLines.push(`${r}.appendChild(${_});`)}else if(/^[A-Za-z_$][\w$]*$/.test(s)&&!this._isInScopeValue(s))this.emitAttributes(r,["object",[":",s,"true"]]);else{let _=this.newTextVar();if(s.startsWith('"')||s.startsWith("'")||s.startsWith("`"))this._createLines.push(`${_} = document.createTextNode(${s});`);else if(this.reactiveMembers&&this.reactiveMembers.has(s))this._createLines.push(`${_} = document.createTextNode('');`),this._pushEffect(`${_}.data = ${this._self}.${s}.value;`);else if(this.componentMembers&&this.componentMembers.has(s))this._createLines.push(`${_} = document.createTextNode(String(${this._self}.${s}));`);else this._createLines.push(`${_} = document.createTextNode(${this.emitInComponent(o,"value")});`);this._createLines.push(`${r}.appendChild(${_});`)}}else if(o){let s=this.emitNode(o);if(s!=null)this._createLines.push(`${r}.appendChild(${s});`)}},i._claimAutoWire=function(r){if(!this._pendingAutoWire||!this._autoEventHandlers?.size)return!1;return this._pendingAutoWire=!1,this._autoWireEl=r,this._autoWireExplicit=new Set,!0},i._emitAutoWire=function(r,h){if(!h)return;for(let[o,s]of this._autoEventHandlers)if(!this._autoWireExplicit.has(o))this._createLines.push(`${r}.addEventListener('${o}', (e) => __batch(() => ${this._self}.${s}(e)));`);this._autoWireEl=null,this._autoWireExplicit=null},i._bindInheritedTarget=function(r,h){if(!this._inheritsTag||this._factoryMode||this._inheritsTargetBound)return;if(r!==this._inheritsTag)return;this._inheritsTargetBound=!0,this._createLines.push(`this._inheritedEl = ${h};`),this._createLines.push("this._applyRestToInheritedEl();")},i.emitTag=function(r,h,o,s){let w=this.newElementVar(),_=Ln.has(r)||this._svgDepth>0;if(_)this._createLines.push(`${w} = document.createElementNS('${sl}', '${r}');`);else this._createLines.push(`${w} = document.createElement('${r}');`);if(s)this._createLines.push(`${w}.id = '${s}';`);if(this._bindInheritedTarget(r,w),this._componentName&&this._elementCount===1&&!this._factoryMode&&!this.options.skipDataPart)this._createLines.push(`${w}.setAttribute('data-part', '${this._componentName}');`);let A=this._claimAutoWire(w),y=this._pendingClassArgs,R=this._pendingClassEl;if(h.length>0)this._pendingClassArgs=[`'${h.join(" ")}'`],this._pendingClassEl=w;if(r==="svg")this._svgDepth=(this._svgDepth||0)+1;if(this.appendChildren(w,o),r==="svg")this._svgDepth--;if(h.length>0){if(this._pendingClassArgs.length===1)if(_)this._createLines.push(`${w}.setAttribute('class', '${h.join(" ")}');`);else this._createLines.push(`${w}.className = '${h.join(" ")}';`);else{let U=this._pendingClassArgs.join(", ");if(_)this._pushEffect(`${w}.setAttribute('class', __clsx(${U}));`);else this._pushEffect(`${w}.className = __clsx(${U});`)}this._pendingClassArgs=y,this._pendingClassEl=R}return this._emitAutoWire(w,A),w},i.emitDynamicTag=function(r,h,o,s,w){let _=this.newElementVar();if(Ln.has(r)||this._svgDepth>0)this._createLines.push(`${_} = document.createElementNS('${sl}', '${r}');`);else this._createLines.push(`${_} = document.createElement('${r}');`);if(w)this._createLines.push(`${_}.id = '${w}';`);this._bindInheritedTarget(r,_);let A=this._claimAutoWire(_),y=[...s||[],...h.map((m)=>this.emitInComponent(m,"value"))],R=this._pendingClassArgs,U=this._pendingClassEl;if(this._pendingClassArgs=y,this._pendingClassEl=_,r==="svg")this._svgDepth=(this._svgDepth||0)+1;if(this.appendChildren(_,o),r==="svg")this._svgDepth--;if(this._pendingClassArgs.length>0){let m=this._pendingClassArgs.join(", ");if(Ln.has(r)||this._svgDepth>0)this._pushEffect(`${_}.setAttribute('class', __clsx(${m}));`);else this._pushEffect(`${_}.className = __clsx(${m});`)}return this._pendingClassArgs=R,this._pendingClassEl=U,this._emitAutoWire(_,A),_},i.emitAttributes=function(r,h){let o=St(h.slice(1));for(let s=1;s<h.length;s++){let[,w,_]=h[s];if(this.is(w,".")&&w[1]==="this"){let A=w[2];if(this._autoWireExplicit&&this._autoWireEl===r)this._autoWireExplicit.add(A);if(typeof _==="string"&&this.componentMembers?.has(_))this._createLines.push(`${r}.addEventListener('${A}', (e) => __batch(() => ${this._self}.${_}(e)));`);else{let y=this.emitInComponent(_,"value");this._createLines.push(`${r}.addEventListener('${A}', (e) => __batch(() => (${y})(e)));`)}continue}if(typeof w==="string"||w instanceof String){if(w.startsWith('"')&&w.endsWith('"'))w=w.slice(1,-1);if(w==="class"||w==="className"){let y=this.emitInComponent(_,"value");if(this._pendingClassArgs&&this._pendingClassEl===r)this._pendingClassArgs.push(y);else if(this.hasReactiveDeps(_))if(this._svgDepth>0)this._pushEffect(`${r}.setAttribute('class', __clsx(${y}));`);else this._pushEffect(`${r}.className = __clsx(${y});`);else{let R=Array.isArray(_)?`__clsx(${y})`:y;if(this._svgDepth>0)this._createLines.push(`${r}.setAttribute('class', ${R});`);else this._createLines.push(`${r}.className = ${R};`)}continue}if(w==="__transition__"){let y=String(_).replace(/^["']|["']$/g,"");this._createLines.push(`this._t = "${y}";`);continue}if(w==="ref"){let y=String(_).replace(/^["']|["']$/g,"");this._createLines.push(`${this._self}.${y} = ${r};`);continue}if(w.startsWith(Mf)&&w.endsWith(Uf)){let y=w.slice(Mf.length,-Uf.length),R=this.emitInComponent(_,"value"),U,m;if(y==="checked")U="change",m="e.target.checked";else U="input",m=o==="number"||o==="range"?"e.target.valueAsNumber":"e.target.value";this._pushEffect(`${r}.${y} = ${R};`);let D=`${R} = ${m}`,M=!this.isSimpleAssignable(_)&&this.findRootReactiveMember(_);if(M)D+=`; ${this._self}.${M}.touch?.()`;this._createLines.push(`${r}.addEventListener('${U}', (e) => { ${D}; });`);continue}let A=this.emitInComponent(_,"value");if((w==="value"||w==="checked")&&this.hasReactiveDeps(_)){this._pushEffect(`${r}.${w} = ${A};`);continue}if(w==="innerHTML"||w==="textContent"||w==="innerText")if(this.hasReactiveDeps(_))this._pushEffect(`${r}.${w} = ${A};`);else this._createLines.push(`${r}.${w} = ${A};`);else if(qt.has(w))if(this.hasReactiveDeps(_))this._pushEffect(`${r}.toggleAttribute('${w}', !!${A});`);else this._createLines.push(`if (${A}) ${r}.setAttribute('${w}', '');`);else if(this.hasReactiveDeps(_))if(Array.isArray(_)&&_[0]==="presence")this._pushEffect(`{ const __v = ${A}; __v == null ? ${r}.removeAttribute('${w}') : ${r}.setAttribute('${w}', __v); }`);else this._pushEffect(`${r}.setAttribute('${w}', ${A});`);else if(Array.isArray(_)&&_[0]==="presence")this._createLines.push(`{ const __v = ${A}; if (__v != null) ${r}.setAttribute('${w}', __v); }`);else this._createLines.push(`${r}.setAttribute('${w}', ${A});`)}}},i.emitTemplateBlock=function(r){if(!Array.isArray(r)||r[0]!=="block"){let _=this.emitNode(r);if(_!=null)return _;let A=this.newElementVar("empty");return this._createLines.push(`${A} = document.createComment('');`),A}let h=r.slice(1);if(h.length===0){let _=this.newElementVar("empty");return this._createLines.push(`${_} = document.createComment('');`),_}let o=h.reduce((_,A)=>_+(this._isRenderBinding(A)?0:1),0);if(o===0){for(let A of h)this.emitNode(A);let _=this.newElementVar("empty");return this._createLines.push(`${_} = document.createComment('');`),_}if(o===1){let _=null;for(let A of h){let y=this.emitNode(A);if(y!=null)_=y}return _}let s=this.newElementVar("frag");this._createLines.push(`${s} = document.createDocumentFragment();`);let w=[];for(let _ of h){let A=this.emitNode(_);if(A==null)continue;this._createLines.push(`${s}.appendChild(${A});`),w.push(A)}return this._fragChildren.set(s,w),s},i.emitConditional=function(r){if(this._pendingAutoWire=!1,r.length>4){let q=r[r.length-1];for(let S=r.length-2;S>=3;S--)q=[...r[S],q];r=[r[0],r[1],r[2],q]}let[,h,o,s]=r,w=this.newElementVar("anchor");this._createLines.push(`${w} = document.createComment('if');`);let _=this.emitInComponent(h,"value"),A=this._loopVarStack.map((q)=>`${q.itemVar}, ${q.indexVar}`).join(", "),y=A?`, ${A}`:"",R=this.newBlockVar();this.emitConditionBranch(R,o);let U=null;if(s)U=this.newBlockVar(),this.emitConditionBranch(U,s);let m=[];m.push(`// Conditional: ${R}${U?" / "+U:""}`),m.push("{"),m.push(` const anchor = ${w};`),m.push(" let currentBlock = null;"),m.push(" let showing = null;");let D=this._factoryMode?"disposers.push(__effect(() => {":"__effect(() => {",M=this._factoryMode?"}, {skipRegister: true}));":"});";if(m.push(` ${D}`),m.push(` const show = !!(${_});`),m.push(` const want = show ? 'then' : ${s?"'else'":"null"};`),m.push(" if (want === showing) return;"),m.push(""),m.push(" if (currentBlock) {"),m.push(" const leaving = currentBlock;"),m.push(" if (leaving._t) { __transition(leaving._first, leaving._t, 'leave', () => leaving.d(true)); }"),m.push(" else { leaving.d(true); }"),m.push(" currentBlock = null;"),m.push(" }"),m.push(" showing = want;"),m.push(""),m.push(" if (want === 'then') {"),m.push(` currentBlock = ${R}(${this._self}${y});`),m.push(" currentBlock.c();"),m.push(" if (anchor.parentNode) currentBlock.m(anchor.parentNode, anchor.nextSibling);"),m.push(` currentBlock.p(${this._self}${y});`),m.push(" if (currentBlock._t) __transition(currentBlock._first, currentBlock._t, 'enter');"),m.push(" }"),s)m.push(" if (want === 'else') {"),m.push(` currentBlock = ${U}(${this._self}${y});`),m.push(" currentBlock.c();"),m.push(" if (anchor.parentNode) currentBlock.m(anchor.parentNode, anchor.nextSibling);"),m.push(` currentBlock.p(${this._self}${y});`),m.push(" if (currentBlock._t) __transition(currentBlock._first, currentBlock._t, 'enter');"),m.push(" }");if(m.push(` ${M}`),this._factoryMode)m.push(" disposers.push(() => { if (currentBlock) { currentBlock.d(true); currentBlock = null; } });");else m.push(" { const __cur = globalThis.__ripComponent?.__getCurrentComponent?.(); if (__cur) (__cur._disposers ??= []).push(() => { if (currentBlock) { currentBlock.d(true); currentBlock = null; } }); }");return m.push("}"),this._setupLines.push(m.join(`
1887
+ `)),w},i.emitConditionBranch=function(r,h){let o=[this._createLines,this._setupLines,this._factoryMode,this._factoryVars,this._renderLocalScope];this._createLines=[],this._setupLines=[],this._factoryMode=!0,this._factoryVars=new Set,this._renderLocalScope=new Set;let s=this.emitTemplateBlock(h),w=this._createLines,_=this._setupLines,A=this._factoryVars;[this._createLines,this._setupLines,this._factoryMode,this._factoryVars,this._renderLocalScope]=o;let y=this._loopVarStack.map((U)=>`${U.itemVar}, ${U.indexVar}`).join(", "),R=y?`, ${y}`:"";this.emitBlockFactory(r,`ctx${R}`,s,w,_,A)},i.emitBlockFactory=function(r,h,o,s,w,_,A){let y=[];if(y.push(`function ${r}(${h}) {`),_.size>0)y.push(` let ${[..._].join(", ")};`);let R=w.length>0;if(R)y.push(" let disposers = [];");if(y.push(" let _factoryChildren = [];"),y.push(" return {"),A)y.push(" _s: true,");let U=this._fragChildren.get(o),m=U?U[0]:o;y.push(" c() {");for(let D of s)y.push(` ${D}`);if(y.push(` this._first = ${m};`),y.push(" },"),y.push(" m(target, anchor) {"),U)for(let D of U)y.push(` if (target) target.insertBefore(${D}, anchor);`);else y.push(` if (target) target.insertBefore(${o}, anchor);`);if(y.push(" },"),y.push(` p(${h}) {`),R){y.push(" disposers.forEach(d => d());"),y.push(" disposers = [];");for(let D of w)y.push(` ${D}`)}if(y.push(" },"),y.push(" d(detaching) {"),y.push(" for (const __c of _factoryChildren) { try { __c.unmount?.({removeDOM: detaching}); } catch (__e) { console.error('[Rip] factory child unmount error:', __e); } }"),y.push(" _factoryChildren = [];"),R)y.push(" disposers.forEach(d => d());");if(U)for(let D of U)y.push(` if (detaching) __detach(${D});`);else y.push(` if (detaching) __detach(${o});`);y.push(" }"),y.push(" };"),y.push("}"),this._blockFactories.push(y.join(`
1888
+ `))},i.emitTemplateLoop=function(r){this._pendingAutoWire=!1;let[h,o,s,w,_,A]=r,y=this.newBlockVar(),R=this.newElementVar("anchor");this._createLines.push(`${R} = document.createComment('for');`);let U=Array.isArray(o)?o:[o],m=U[0],D=U[1]||null;if(!D){let P=new Set(this._loopVarStack.flatMap((F)=>[F.itemVar,F.indexVar]));P.add(m),this._collectBodyBindings(A,P);for(let F of["i","j","k","l","m","n"])if(!P.has(F)){D=F;break}D=D||`__rip_idx${this._loopVarStack.length}`}let M=this.emitInComponent(s,"value"),q=m;if(this.is(A,"block")&&A.length>1){let P=A[1];if(Array.isArray(P))for(let F of P){if(this.is(F,"object"))for(let N=1;N<F.length;N++){let[un,$]=F[N];if(un==="key"){q=this.emit($,"value");break}}if(q!==m)break}}let S=[this._createLines,this._setupLines,this._factoryMode,this._factoryVars,this._renderLocalScope];this._createLines=[],this._setupLines=[],this._factoryMode=!0,this._factoryVars=new Set,this._renderLocalScope=new Set;let d=this._loopVarStack.map((P)=>`${P.itemVar}, ${P.indexVar}`).join(", "),K=d?`, ${d}`:"",E=this.hasReactiveDeps(s);this._loopVarStack.push({itemVar:m,indexVar:D,reactiveSource:E});let Z=this.emitTemplateBlock(A);this._loopVarStack.pop();let Q=this._createLines,W=this._setupLines,C=this._factoryVars;[this._createLines,this._setupLines,this._factoryMode,this._factoryVars,this._renderLocalScope]=S;let L=W.length===0,X=`ctx, ${m}, ${D}${K}`;this.emitBlockFactory(y,X,Z,Q,W,C,L);let Y=q!==m?`(${m}, ${D}) => ${q}`:"null",Un=d?`, ${d}`:"",G=[];G.push(`// Loop: ${y}`),G.push("{"),G.push(" const __s = { blocks: [], keys: [] };");let O=this._factoryMode?"disposers.push(__effect(() => {":"__effect(() => {",J=this._factoryMode?"}, {skipRegister: true}));":"});";if(G.push(` ${O}`),G.push(` __reconcile(${R}, __s, ${M}, ${this._self}, ${y}, ${Y}${Un});`),G.push(` ${J}`),this._factoryMode)G.push(" disposers.push(() => { for (const __b of __s.blocks) { try { __b.d(true); } catch {} } __s.blocks = []; __s.keys = []; __s.items = []; });");else G.push(" { const __cur = globalThis.__ripComponent?.__getCurrentComponent?.(); if (__cur) (__cur._disposers ??= []).push(() => { for (const __b of __s.blocks) { try { __b.d(true); } catch {} } __s.blocks = []; __s.keys = []; __s.items = []; }); }");return G.push("}"),this._setupLines.push(G.join(`
1889
+ `)),R},i.emitChildComponent=function(r,h){this._pendingAutoWire=!1;let o=this.newElementVar("inst"),s=this.newElementVar("el"),{propsCode:w,reactiveProps:_,eventBindings:A,childrenSetupLines:y}=this.buildComponentProps(h),R=this._self;if(this._createLines.push(`{ const __prev = __pushComponent(${R}); try {`),this._createLines.push("try {"),this._createLines.push(`${o} = new ${r}(${w});`),this._createLines.push(`if (${o} && ${o}._initFailed) {`),this._createLines.push(` try { ${o}.unmount({removeDOM: false}); } catch (__ue) { console.error('[Rip] partial-init unmount error:', __ue); }`),this._createLines.push(` ${o} = null;`),this._createLines.push(` ${s} = document.createComment('rip:child-init-failed: ${r}');`),this._createLines.push("} else {"),this._createLines.push(` { const __cprev = __pushComponent(${o}); try {`),this._createLines.push(` ${s} = ${o}._root = ${o}._create();`),this._createLines.push(" } finally { __popComponent(__cprev); } }"),this._factoryMode)this._createLines.push(` _factoryChildren.push(${o});`);else this._createLines.push(` (${R}._children || (${R}._children = [])).push(${o});`);this._createLines.push("}"),this._createLines.push("} catch (__childErr) {"),this._createLines.push(` console.error('[Rip] ${r} construction failed:', __childErr);`),this._createLines.push(` if (${o}) { try { ${o}.unmount({removeDOM: false}); } catch (__ue) { console.error('[Rip] partial-child unmount error:', __ue); } }`),this._createLines.push(` ${o} = null;`),this._createLines.push(` ${s} = document.createComment('rip:child-error: ${r}');`),this._createLines.push("}"),this._createLines.push("} finally { __popComponent(__prev); } }");for(let{event:U,value:m}of A){let D=this.emitInComponent(m,"value");this._createLines.push(`if (${o}) ${s}.addEventListener('${U}', (e) => __batch(() => (${D})(e)));`)}this._setupLines.push(`if (${o} && !${o}._isSetup) { ${o}._isSetup = true; const __cprev = __pushComponent(${o}); try { try { if (${o}.beforeMount) ${o}.beforeMount(); if (${o}._setup) ${o}._setup(); if (${o}.mounted) ${o}.mounted(); } catch (__e) { __handleComponentError(__e, ${o}); } } finally { __popComponent(__cprev); } }`);for(let{key:U,valueCode:m}of _)this._pushEffect(`if (${o}) { if (${o}.${U} && typeof ${o}.${U} === 'object' && 'value' in ${o}.${U}) ${o}.${U}.value = ${m}; else if (${o}._setRestProp) ${o}._setRestProp('${U}', ${m}); }`);for(let U of y)this._setupLines.push(U);return s},i.buildComponentProps=function(r){let h=[],o=[],s=[],w=null,_=[],A=(D,M)=>{if(D.startsWith("@")){s.push({event:D.slice(1).split(".")[0],value:M});return}if(this.reactiveMembers&&(typeof M==="string"&&this.reactiveMembers.has(M)||Array.isArray(M)&&M[0]==="."&&M[1]==="this"&&typeof M[2]==="string"&&this.reactiveMembers.has(M[2]))){let S=typeof M==="string"?M:M[2];h.push(`${D}: ${this._self}.${S}`)}else{let S=this.emitInComponent(M,"value");if(h.push(`${D}: ${S}`),this.hasReactiveDeps(M))o.push({key:D,valueCode:S})}},y=(D)=>{for(let M=1;M<D.length;M++){let[,q,S]=D[M];if(typeof q==="string")A(q,S);else if(Array.isArray(q)&&q[0]==="."&&q[1]==="this"&&typeof q[2]==="string")s.push({event:q[2],value:S})}},R=/^[a-zA-Z_$][\w$]*$/,U=(D)=>typeof D==="string"&&R.test(D);for(let D of r)if(this.is(D,"object"))y(D);else if(U(D)&&!this._isInScopeValue(D))A(D,"true");else if(Array.isArray(D)&&(D[0]==="->"||D[0]==="=>")){let M=D[2];if(M){if(this.is(M,"block")){let q=[];for(let S of M.slice(1))if(this.is(S,"object"))y(S);else if(U(S)&&!this._isInScopeValue(S))A(S,"true");else q.push(S);M=q.length>0?["block",...q]:null}if(M){let q=this._createLines,S=this._setupLines;this._createLines=[],this._setupLines=[],w=this.emitTemplateBlock(M);let d=this._createLines,K=this._setupLines;this._createLines=q,this._setupLines=S;for(let E of d)this._createLines.push(E);_.push(...K),h.push(`children: ${w}`)}}}else if(D&&!w){let M=this.newTextVar(),q=this.emitInComponent(D,"value");if(this.hasReactiveDeps(D)){this._createLines.push(`${M} = document.createTextNode('');`);let S=`${M}.data = ${q};`,d=this._factoryMode?`disposers.push(__effect(() => { ${S} }, {skipRegister: true}));`:`__effect(() => { ${S} });`;_.push(d)}else this._createLines.push(`${M} = document.createTextNode(${q});`);w=M,h.push(`children: ${w}`)}return{propsCode:h.length>0?`{ ${h.join(", ")} }`:"{}",reactiveProps:o,eventBindings:s,childrenSetupLines:_}},i.hasReactiveDeps=function(r){if(typeof r==="string")return!!(this.reactiveMembers&&this.reactiveMembers.has(r));if(!Array.isArray(r))return!1;if(r[0]==="."&&r[1]==="this"&&typeof r[2]==="string")return!!(this.reactiveMembers&&this.reactiveMembers.has(r[2]));if(r[0]==="."&&this._rootsAtThis(r[1]))return!0;if((r[0]==="."||r[0]==="[]")&&this._rootsAtReactiveLoopVar(r))return!0;if(Array.isArray(r[0])&&r[0][0]==="."&&r[0][1]==="this"){let h=u(r[0][2]);if(h&&this.componentMembers?.has(h))return!0}for(let h of r)if(this.hasReactiveDeps(h))return!0;return!1},i._collectBodyBindings=function(r,h){if(!Array.isArray(r))return;let o=r[0];if(o==="for-in"||o==="for-of"||o==="for-as"){let s=r[1],w=Array.isArray(s)?s:[s];for(let _ of w)if(typeof _==="string")h.add(_)}else if(o==="="&&a(r[1]))h.add(r[1]);for(let s=1;s<r.length;s++)this._collectBodyBindings(r[s],h)},i.isSimpleAssignable=function(r){if(typeof r==="string")return!!(this.reactiveMembers&&this.reactiveMembers.has(r));if(Array.isArray(r)&&r[0]==="."&&r[1]==="this"&&typeof r[2]==="string")return!!(this.reactiveMembers&&this.reactiveMembers.has(r[2]));return!1},i.findRootReactiveMember=function(r){if(typeof r==="string")return this.reactiveMembers?.has(r)?r:null;if(!Array.isArray(r))return null;if(r[0]==="."&&r[1]==="this"&&typeof r[2]==="string")return this.reactiveMembers?.has(r[2])?r[2]:null;if(r[0]==="."||r[0]==="[]")return this.findRootReactiveMember(r[1]);return null},i._rootsAtThis=function(r){if(typeof r==="string")return r==="this";if(!Array.isArray(r)||r[0]!==".")return!1;return this._rootsAtThis(r[1])},i._rootsAtReactiveLoopVar=function(r){if(typeof r==="string"){if(!this._loopVarStack||this._loopVarStack.length===0)return!1;for(let h=this._loopVarStack.length-1;h>=0;h--){let o=this._loopVarStack[h];if(o.itemVar===r)return!!o.reactiveSource}return!1}if(!Array.isArray(r))return!1;if(r[0]==="."||r[0]==="[]")return this._rootsAtReactiveLoopVar(r[1]);return!1},i.getComponentRuntime=function(){return`
1890
1890
  // ============================================================================
1891
1891
  // Rip Component Runtime
1892
1892
  // ============================================================================
@@ -2323,7 +2323,7 @@ if (typeof globalThis !== 'undefined') {
2323
2323
 
2324
2324
  `}}function Xn(n){let f="",e=n<0?-n<<1|1:n<<1;do{let t=e&31;if(e>>>=5,e>0)t|=32;f+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[t]}while(e>0);return f}class _l{constructor(n,f,e=null){this.file=n,this.source=f,this.sourceContent=e,this.names=[],this.nameIndex=new Map,this.lines=[],this.mappings=[],this.prevGenCol=0,this.prevOrigLine=0,this.prevOrigCol=0,this.prevNameIdx=0,this.currentLine=-1}ensureLine(n){while(this.lines.length<=n)this.lines.push([])}addName(n){if(this.nameIndex.has(n))return this.nameIndex.get(n);let f=this.names.length;return this.names.push(n),this.nameIndex.set(n,f),f}addMapping(n,f,e,t,i){if(this.ensureLine(n),this.currentLine!==n)this.prevGenCol=0,this.currentLine=n;if(e==null){this.lines[n].push(Xn(f-this.prevGenCol)),this.prevGenCol=f;return}this.mappings.push({genLine:n,genCol:f,origLine:e,origCol:t});let u=Xn(f-this.prevGenCol);if(this.prevGenCol=f,u+=Xn(0),u+=Xn(e-this.prevOrigLine),this.prevOrigLine=e,u+=Xn(t-this.prevOrigCol),this.prevOrigCol=t,i!=null){let l=this.addName(i);u+=Xn(l-this.prevNameIdx),this.prevNameIdx=l}this.lines[n].push(u)}toReverseMap(){let n=new Map;for(let f of this.mappings){if(!n.has(f.origLine))n.set(f.origLine,[]);n.get(f.origLine).push({origCol:f.origCol,genLine:f.genLine,genCol:f.genCol})}return n}toJSON(){let n=this.lines.map((e)=>e.join(",")).join(";"),f={version:3,file:this.file,sources:[this.source],names:this.names,mappings:n};if(this.sourceContent!=null)f.sourcesContent=[this.sourceContent];return JSON.stringify(f)}}function Ft(n){let f=[],e=0;while(e<n.length){let t=0,i=0,u;do u="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".indexOf(n[e++]),t|=(u&31)<<i,i+=5;while(u&32);f.push(t&1?-(t>>1):t>>1)}return f}var zt=`
2325
2325
  ;
2326
- `,Ht=2;function Kt(n){let f=/\n?\/\/# sourceMappingURL=data:application\/json(?:;charset=[^;,]+)?;base64,([A-Za-z0-9+/=]+)\s*$/,e=n.match(f);if(!e)return{js:n,mapJSON:null};let t;try{let i=atob(e[1]),u=new Uint8Array(i.length);for(let l=0;l<i.length;l++)u[l]=i.charCodeAt(l);t=new TextDecoder().decode(u)}catch{return{js:n.slice(0,e.index),mapJSON:null}}return{js:n.slice(0,e.index),mapJSON:t}}function Qt(n){let f=0;for(let e=0;e<n.length;e++)if(n.charCodeAt(e)===10)f++;return f}function Wt(n){let f=n.split(";"),e=[],t=0,i=0,u=0,l=0;for(let a of f){let c=[],r=0;if(a.length>0)for(let h of a.split(",")){if(h.length===0)continue;let o=Ft(h);if(r+=o[0],o.length===1)c.push({genCol:r});else{t+=o[1],i+=o[2],u+=o[3];let s={genCol:r,src:t,origLine:i,origCol:u};if(o.length>=5)l+=o[4],s.name=l;c.push(s)}}e.push(c)}return e}function Jt(n){let f=0,e=0,t=0,i=0,u=0,l=[];for(let a of n){f=0;let c=[];for(let r of a){if(r.src==null)c.push(Xn(r.genCol-f));else{let h=Xn(r.genCol-f);if(h+=Xn(r.src-e),h+=Xn(r.origLine-t),h+=Xn(r.origCol-i),r.name!=null)h+=Xn(r.name-u),u=r.name;e=r.src,t=r.origLine,i=r.origCol,c.push(h)}f=r.genCol}l.push(c.join(","))}return l.join(";")}function Yt(n){let f=n.map((R)=>{if(R.mapJSON!==void 0)return{js:R.js,mapJSON:R.mapJSON};return Kt(R.js)}),e=f.some((R)=>R.mapJSON),t=f.map((R)=>R.js).join(zt);if(!e)return{js:t,mapJSON:null};let i=[],u=[],l=new Map,a=[],c=new Map;function r(R,U){if(l.has(R))return l.get(R);let _=i.length;return i.push(R),u.push(U??null),l.set(R,_),_}function h(R){if(c.has(R))return c.get(R);let U=a.length;return a.push(R),c.set(R,U),U}let o=[],s=0;for(let R=0;R<f.length;R++){let U=f[R],_={lineOffset:s,srcRemap:[],nameRemap:[],perLineSegs:null};if(U.mapJSON){let q;try{q=JSON.parse(U.mapJSON)}catch{q=null}if(q&&typeof q.mappings==="string"){let S=q.sources||[],d=q.sourcesContent||[];_.srcRemap=S.map((E,Z)=>r(E,d[Z]));let K=q.names||[];_.nameRemap=K.map((E)=>h(E)),_.perLineSegs=Wt(q.mappings)}}o.push(_);let D=Qt(U.js),M=R<f.length-1?Ht:0;s+=D+M}let w=s+1,y=Array(w).fill(null).map(()=>[]);for(let R of o){if(!R.perLineSegs)continue;for(let U=0;U<R.perLineSegs.length;U++){let _=R.lineOffset+U;if(_>=y.length)while(y.length<=_)y.push([]);for(let D of R.perLineSegs[U])if(D.src==null)y[_].push({genCol:D.genCol});else{let M={genCol:D.genCol,src:R.srcRemap[D.src],origLine:D.origLine,origCol:D.origCol};if(D.name!=null)M.name=R.nameRemap[D.name];y[_].push(M)}}}let A=Jt(y);return{js:t,mapJSON:JSON.stringify({version:3,sources:i,sourcesContent:u,names:a,mappings:A})}}function Zt(n){if(typeof Buffer<"u")return Buffer.from(n,"utf8").toString("base64");let f=new TextEncoder().encode(n),e="";for(let t=0;t<f.length;t++)e+=String.fromCharCode(f[t]);return btoa(e)}function df(n){let{js:f,mapJSON:e}=Yt(n);if(!e)return f;let t=Zt(e);return f+`
2326
+ `,Ht=2;function Kt(n){let f=/\n?\/\/# sourceMappingURL=data:application\/json(?:;charset=[^;,]+)?;base64,([A-Za-z0-9+/=]+)\s*$/,e=n.match(f);if(!e)return{js:n,mapJSON:null};let t;try{let i=atob(e[1]),u=new Uint8Array(i.length);for(let l=0;l<i.length;l++)u[l]=i.charCodeAt(l);t=new TextDecoder().decode(u)}catch{return{js:n.slice(0,e.index),mapJSON:null}}return{js:n.slice(0,e.index),mapJSON:t}}function Qt(n){let f=0;for(let e=0;e<n.length;e++)if(n.charCodeAt(e)===10)f++;return f}function Wt(n){let f=n.split(";"),e=[],t=0,i=0,u=0,l=0;for(let a of f){let c=[],r=0;if(a.length>0)for(let h of a.split(",")){if(h.length===0)continue;let o=Ft(h);if(r+=o[0],o.length===1)c.push({genCol:r});else{t+=o[1],i+=o[2],u+=o[3];let s={genCol:r,src:t,origLine:i,origCol:u};if(o.length>=5)l+=o[4],s.name=l;c.push(s)}}e.push(c)}return e}function Jt(n){let f=0,e=0,t=0,i=0,u=0,l=[];for(let a of n){f=0;let c=[];for(let r of a){if(r.src==null)c.push(Xn(r.genCol-f));else{let h=Xn(r.genCol-f);if(h+=Xn(r.src-e),h+=Xn(r.origLine-t),h+=Xn(r.origCol-i),r.name!=null)h+=Xn(r.name-u),u=r.name;e=r.src,t=r.origLine,i=r.origCol,c.push(h)}f=r.genCol}l.push(c.join(","))}return l.join(";")}function Yt(n){let f=n.map((R)=>{if(R.mapJSON!==void 0)return{js:R.js,mapJSON:R.mapJSON};return Kt(R.js)}),e=f.some((R)=>R.mapJSON),t=f.map((R)=>R.js).join(zt);if(!e)return{js:t,mapJSON:null};let i=[],u=[],l=new Map,a=[],c=new Map;function r(R,U){if(l.has(R))return l.get(R);let m=i.length;return i.push(R),u.push(U??null),l.set(R,m),m}function h(R){if(c.has(R))return c.get(R);let U=a.length;return a.push(R),c.set(R,U),U}let o=[],s=0;for(let R=0;R<f.length;R++){let U=f[R],m={lineOffset:s,srcRemap:[],nameRemap:[],perLineSegs:null};if(U.mapJSON){let q;try{q=JSON.parse(U.mapJSON)}catch{q=null}if(q&&typeof q.mappings==="string"){let S=q.sources||[],d=q.sourcesContent||[];m.srcRemap=S.map((E,Z)=>r(E,d[Z]));let K=q.names||[];m.nameRemap=K.map((E)=>h(E)),m.perLineSegs=Wt(q.mappings)}}o.push(m);let D=Qt(U.js),M=R<f.length-1?Ht:0;s+=D+M}let w=s+1,_=Array(w).fill(null).map(()=>[]);for(let R of o){if(!R.perLineSegs)continue;for(let U=0;U<R.perLineSegs.length;U++){let m=R.lineOffset+U;if(m>=_.length)while(_.length<=m)_.push([]);for(let D of R.perLineSegs[U])if(D.src==null)_[m].push({genCol:D.genCol});else{let M={genCol:D.genCol,src:R.srcRemap[D.src],origLine:D.origLine,origCol:D.origCol};if(D.name!=null)M.name=R.nameRemap[D.name];_[m].push(M)}}}let A=Jt(_);return{js:t,mapJSON:JSON.stringify({version:3,sources:i,sourcesContent:u,names:a,mappings:A})}}function Zt(n){if(typeof Buffer<"u")return Buffer.from(n,"utf8").toString("base64");let f=new TextEncoder().encode(n),e="";for(let t=0;t<f.length;t++)e+=String.fromCharCode(f[t]);return btoa(e)}function df(n){let{js:f,mapJSON:e}=Yt(n);if(!e)return f;let t=Zt(e);return f+`
2327
2327
  //# sourceMappingURL=data:application/json;base64,`+t+`
2328
2328
  `}var Ff="",zf="",wl="";class ml{constructor(){this.nextId=1,this.meta=new Map}wrap(n,f,e,t=null){if(f==null||e==null||e==="")return e;let i=this.nextId++;return this.meta.set(i,{kind:n,loc:f,data:t}),`${Ff}${i}${wl}${e}${zf}${i}${wl}`}get active(){return this.nextId>1}}function Hf(n,f){let e="",t=0,i=0,u=0,l=[],a=[],c=(r)=>{let h=r+1,o=n.indexOf(wl,h);if(o<0)throw Error("markers: unterminated tag");let s=Number(n.slice(h,o));if(!Number.isInteger(s))throw Error("markers: malformed marker id");return{id:s,next:o+1}};for(let r=0;r<n.length;){let h=n[r];if(h===Ff){let{id:o,next:s}=c(r),w=f.meta.get(o);if(!w)throw Error(`markers: unknown open id ${o}`);a.push({id:o,meta:w,genStart:t,genLine:i,genCol:u}),r=s;continue}if(h===zf){let{id:o,next:s}=c(r),w=a.pop();if(!w||w.id!==o)throw Error(`markers: unbalanced close id ${o}`);l.push({kind:w.meta.kind,loc:w.meta.loc,data:w.meta.data,genStart:w.genStart,genEnd:t,genLine:w.genLine,genCol:w.genCol}),r=s;continue}if(e+=h,h===`
2329
2329
  `)i++,u=0;else u++;t++,r++}if(a.length)throw Error("markers: unclosed marker(s)");return{code:e,marks:l}}function oi(){return`// rip:stdlib:begin
@@ -2371,24 +2371,24 @@ globalThis.todo ??= (msg) => { throw new Error(msg || "Not implemented"); };
2371
2371
  globalThis.warn ??= console.warn;
2372
2372
  globalThis.zip ??= (...a) => a[0].map((_, i) => a.map(b => b[i]));
2373
2373
  // rip:stdlib:end
2374
- `}function wi(n){if(!n)return n;return n.replace(/::/g,":")}function Kf({name:n,ripType:f,optional:e,hasDefault:t},i){let u=e||i==="declaration"&&t,l=wi(f);if(l)return`${n}${u?"?":""}: ${l}`;if(u)return`${n}?: any`;return n}var Ii=null;var qn=(n,f)=>n instanceof String?n[f]:void 0,j=(n)=>n instanceof String?n.valueOf():n,Gt=new Set(["+","-","*","/","%","//","%%","**","==","!=","<",">","<=",">=","===","!==","&&","||","??","not","&","|","^","<<",">>",">>>","=",".","?.","[]","!","typeof","void","delete","new","...","rest","expansion","optindex","optcall"]),Nt=new Set(["def","class","if","unless","for-in","for-of","for-as","while","until","loop","switch","try","throw"]),Xt=new Set(["true","false","null","undefined","Infinity","NaN"]);function Bi(n){if(!Array.isArray(n)||n.length===0)return!1;let f=n[0]?.valueOf?.()??n[0];if(Gt.has(f))return!0;return n.length<=4&&!n.some(Array.isArray)}function Si(n){if(Array.isArray(n))return"(???)";if(typeof n==="number")return String(n);if(n===null)return"null";if(n==="")return'""';let f=String(n);if(f[0]==="/"&&f.indexOf(`
2374
+ `}function wi(n){if(!n)return n;return n.replace(/::/g,":")}function Kf({name:n,ripType:f,optional:e,hasDefault:t},i){let u=e||i==="declaration"&&t,l=wi(f);if(l)return`${n}${u?"?":""}: ${l}`;if(u)return`${n}?: any`;return n}var Bi=null;var qn=(n,f)=>n instanceof String?n[f]:void 0,j=(n)=>n instanceof String?n.valueOf():n,Gt=new Set(["+","-","*","/","%","//","%%","**","==","!=","<",">","<=",">=","===","!==","&&","||","??","not","&","|","^","<<",">>",">>>","=",".","?.","[]","!","typeof","void","delete","new","...","rest","expansion","optindex","optcall"]),Nt=new Set(["def","class","if","unless","for-in","for-of","for-as","while","until","loop","switch","try","throw"]),Xt=new Set(["true","false","null","undefined","Infinity","NaN"]);function Ii(n){if(!Array.isArray(n)||n.length===0)return!1;let f=n[0]?.valueOf?.()??n[0];if(Gt.has(f))return!0;return n.length<=4&&!n.some(Array.isArray)}function Si(n){if(Array.isArray(n))return"(???)";if(typeof n==="number")return String(n);if(n===null)return"null";if(n==="")return'""';let f=String(n);if(f[0]==="/"&&f.indexOf(`
2375
2375
  `)>=0){let e=f.match(/\/([gimsuvy]*)$/),t=e?e[1]:"",i=f.slice(1);return i=t?i.slice(0,-t.length-1):i.slice(0,-1),`"/${i.split(`
2376
- `).map((a)=>a.replace(/#.*$/,"").trim()).join("")}/${t}"`}return f}function Bn(n,f=0,e=!1){if(!Array.isArray(n))return Si(n);if(e&&n[0]==="program"){let r=n[1],o=[Array.isArray(r)?"(program":"(program "+Si(r)],s=Array.isArray(r)?1:2;for(let w=s;w<n.length;w++){let y=Bn(n[w],2,!1);o.push(y[0]==="("?" "+y:y)}return o.push(")"),o.join(`
2377
- `)}let t=n[0];if(Bi(n)&&n.slice(1).every((r)=>!Array.isArray(r)||Bi(r))){let h=`(${n.map((o)=>Array.isArray(o)?Bn(o,0,!1):Si(o)).join(" ")})`;if(!h.includes(`
2378
- `))return" ".repeat(f)+h}let u=" ".repeat(f),l;if(Array.isArray(t)){if(l=Bn(t,0,!1),l.includes(`
2376
+ `).map((a)=>a.replace(/#.*$/,"").trim()).join("")}/${t}"`}return f}function In(n,f=0,e=!1){if(!Array.isArray(n))return Si(n);if(e&&n[0]==="program"){let r=n[1],o=[Array.isArray(r)?"(program":"(program "+Si(r)],s=Array.isArray(r)?1:2;for(let w=s;w<n.length;w++){let _=In(n[w],2,!1);o.push(_[0]==="("?" "+_:_)}return o.push(")"),o.join(`
2377
+ `)}let t=n[0];if(Ii(n)&&n.slice(1).every((r)=>!Array.isArray(r)||Ii(r))){let h=`(${n.map((o)=>Array.isArray(o)?In(o,0,!1):Si(o)).join(" ")})`;if(!h.includes(`
2378
+ `))return" ".repeat(f)+h}let u=" ".repeat(f),l;if(Array.isArray(t)){if(l=In(t,0,!1),l.includes(`
2379
2379
  `))l=l.split(`
2380
2380
  `).map((h,o)=>o===0?h:" ".repeat(f+2)+h).join(`
2381
- `)}else l=Si(t);let a=[`${u}(${l}`],c=t==="block";for(let r=1;r<n.length;r++){let h=n[r];if(!Array.isArray(h))a[a.length-1]+=" "+Si(h);else{let o=Bi(h)&&h.every((s)=>!Array.isArray(s)||Bi(s));if(!c&&o){let s=Bn(h,0,!1);if(!s.includes(`
2382
- `)){a[a.length-1]+=" "+s;continue}}a.push(Bn(h,f+2,!1))}}return a[a.length-1]+=")",a.join(`
2381
+ `)}else l=Si(t);let a=[`${u}(${l}`],c=t==="block";for(let r=1;r<n.length;r++){let h=n[r];if(!Array.isArray(h))a[a.length-1]+=" "+Si(h);else{let o=Ii(h)&&h.every((s)=>!Array.isArray(s)||Ii(s));if(!c&&o){let s=In(h,0,!1);if(!s.includes(`
2382
+ `)){a[a.length-1]+=" "+s;continue}}a.push(In(h,f+2,!1))}}return a[a.length-1]+=")",a.join(`
2383
2383
  `)}class Fn{static ASSIGNMENT_OPS=new Set(["=","+=","-=","*=","/=","?=","&=","|=","^=","%=","**=","??=","&&=","||=","<<=",">>=",">>>="]);static NUMBER_LITERAL_RE=/^-?\d+(\.\d+)?([eE][+-]?\d+)?$/;static NUMBER_START_RE=/^-?\d/;static GENERATORS={program:"emitProgram","&&":"emitLogicalAnd","||":"emitLogicalOr","+":"emitBinaryOp","-":"emitBinaryOp","*":"emitBinaryOp","/":"emitBinaryOp","%":"emitBinaryOp","**":"emitBinaryOp","==":"emitBinaryOp","===":"emitBinaryOp","!=":"emitBinaryOp","!==":"emitBinaryOp","<":"emitBinaryOp",">":"emitBinaryOp","<=":"emitBinaryOp",">=":"emitBinaryOp","??":"emitBinaryOp","&":"emitBinaryOp","|":"emitBinaryOp","^":"emitBinaryOp","<<":"emitBinaryOp",">>":"emitBinaryOp",">>>":"emitBinaryOp","%%":"emitModulo","%%=":"emitModuloAssign","//":"emitFloorDiv","//=":"emitFloorDivAssign","..":"emitRange","=":"emitAssignment","+=":"emitAssignment","-=":"emitAssignment","*=":"emitAssignment","/=":"emitAssignment","%=":"emitAssignment","**=":"emitAssignment","&&=":"emitAssignment","||=":"emitAssignment","??=":"emitAssignment","?=":"emitAssignment","&=":"emitAssignment","|=":"emitAssignment","^=":"emitAssignment","<<=":"emitAssignment",">>=":"emitAssignment",">>>=":"emitAssignment","...":"emitRange","!":"emitNot","~":"emitBitwiseNot","++":"emitIncDec","--":"emitIncDec","=~":"emitRegexMatch",instanceof:"emitInstanceof",in:"emitIn",of:"emitOf",typeof:"emitTypeof",delete:"emitDelete",new:"emitNew",array:"emitArray",object:"emitObject","map-literal":"emitMap",block:"emitBlock",".":"emitPropertyAccess","?.":"emitOptionalProperty","[]":"emitIndexAccess",optindex:"emitOptIndex",optcall:"emitOptCall","regex-index":"emitRegexIndex",".{}":"emitPick","?.{}":"emitOptPick",def:"emitDef","->":"emitThinArrow","=>":"emitFatArrow",return:"emitReturn",state:"emitState",computed:"emitComputed",readonly:"emitReadonly",effect:"emitEffect",gate:"emitGate",break:"emitBreak",continue:"emitContinue","?":"emitExistential",presence:"emitPresence","?:":"emitTernary",loop:"emitLoop","loop-n":"emitLoopN",await:"emitAwait",yield:"emitYield","yield-from":"emitYieldFrom",if:"emitIf","for-in":"emitForIn","for-of":"emitForOf","for-as":"emitForAs",while:"emitWhile",try:"emitTry",throw:"emitThrow",control:"emitControl",switch:"emitSwitch",when:"emitWhen",comprehension:"emitComprehension","object-comprehension":"emitObjectComprehension",class:"emitClass",super:"emitSuper",component:"emitComponent",render:"emitRender",offer:"emitOffer",accept:"emitAccept",enum:"emitEnum",schema:"emitSchema",import:"emitImport",export:"emitExport","export-default":"emitExportDefault","export-all":"emitExportAll","export-from":"emitExportFrom","do-iife":"emitDoIIFE",regex:"emitRegex","tagged-template":"emitTaggedTemplate",str:"emitString",symbol:"emitSymbol"};constructor(n={}){if(this.options=n,this.indentLevel=0,this.indentString=" ",this.comprehensionDepth=0,this.dataSection=n.dataSection,this.sourceMap=n.sourceMap||null,n.reactiveVars)this.reactiveVars=new Set(n.reactiveVars)}error(n,f,{suggestion:e}={}){throw Hn.fromSExpr(n,f,this.options.source,this.options.filename,e)}compile(n){if(this.programVars=new Set,this.functionVars=new Map,this.helpers=new Set,this.scopeStack=[],this.options.foldProjections)nf(n);this.collectProgramVariables(n),this.moduleBindings=new Set,this.collectModuleBindings(n),this.validateComprehensionFilters(n);let f;if(this.options.exactMarks){this.markRecorder=new ml;let e=this.emit(n),t=Hf(e,this.markRecorder);this.markRecorder=null,f=t.code,this.exactMarks=t.marks}else f=this.emit(n);if(this.sourceMap)this.buildMappings();return f}markIdent(n,f,e){if(!this.markRecorder||!e)return n;if(typeof f==="string"||f instanceof String){let t=j(f);if(/^[A-Za-z_$][\w$]*$/.test(t))return this.markRecorder.wrap("ident",e,n)}return n}buildMappings(){if(this._exactSrc=new Set,this.exactMarks)for(let f of this.exactMarks){if(!f.loc)continue;this.sourceMap.addMapping(f.genLine,f.genCol,f.loc.r,f.loc.c),this._exactSrc.add(f.loc.r+":"+f.loc.c)}if(this._importEntries){let f=0;for(let e of this._importEntries){if(e.loc)this.sourceMap.addMapping(f,0,e.loc.r,e.loc.c);if(e.sexpr&&e.loc)this.recordSubMappings(e.code,e.sexpr,f);f+=e.code.split(`
2384
2384
  `).length}}if(!this._stmtEntries)return;let n=this._preambleLines;for(let f of this._stmtEntries){if(f.loc)this.sourceMap.addMapping(n,0,f.loc.r,f.loc.c);if(f.sexpr&&f.loc)this.recordSubMappings(f.code,f.sexpr,n);n+=f.code.split(`
2385
2385
  `).length}}static _isColInsideString(n,f){let e=!1,t="",i=0;for(let u=0;u<n.length&&u<f;u++){let l=n[u];if(e){if(l==="\\"){u++;continue}if(t==="`"&&l==="$"&&n[u+1]==="{"){i=1,e=!1,u++;continue}if(l===t)e=!1}else if(i>0){if(l==="{")i++;else if(l==="}"){if(i--,i===0)e=!0,t="`"}else if(l==='"'||l==="'"||l==="`")e=!0,t=l}else if(l==='"'||l==="'"||l==="`")e=!0,t=l}return e}recordSubMappings(n,f,e){let t=f.loc?f.loc.r:0,i=[];this.collectSubExprs(f,i);let u=n.split(`
2386
- `),l=[0];for(let w=0;w<n.length;w++)if(n.charCodeAt(w)===10)l.push(w+1);let a=(w)=>{let y=0,A=l.length-1;while(y<=A){let m=y+A>>1;if(l[m]<=w)y=m+1;else A=m-1}return A},c=new Set,r=new Map,h=(w)=>{if(r.has(w))return r.get(w);let y=u[w],A=y&&y.match(/\/\/ @rip-src:(\d+)\s*$/),m=A?parseInt(A[1],10):null;return r.set(w,m),m},o=new Map,s=(w)=>{if(o.has(w))return o.get(w);let y=u[w],A=[];if(y&&/\)\s*(\{|=>)\s*$/.test(y)){let m=/\b[a-zA-Z_$][\w$]*\??\s*:\s*\{/g,R;while((R=m.exec(y))!==null){let U=R.index+R[0].length-1;if(Fn._isColInsideString(y,U))continue;let _=1,D=U+1,M=!1,q="";while(D<y.length&&_>0){let S=y[D];if(M){if(S==="\\"){D+=2;continue}if(S===q)M=!1}else if(S==='"'||S==="'"||S==="`")M=!0,q=S;else if(S==="{")_++;else if(S==="}")_--;D++}A.push([U,D]),m.lastIndex=D}}return o.set(w,A),A};for(let{name:w,origLine:y,origCol:A}of i){if(this._exactSrc?.has(y+":"+A))continue;let m=w.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),R=new RegExp("\\b"+m+"\\b","g"),U,_=null,D=1/0,M=null,q=1/0,S=y-t;while((U=R.exec(n))!==null){let K=a(U.index),E=U.index-l[K],Z=u[K],Q=h(K),W=Q!=null&&Q===y;if(Z&&Fn._isColInsideString(Z,E)&&!W)continue;let C=s(K);if(C.length&&C.some(([Y,Un])=>E>=Y&&E<Un))continue;let L=e+K,X=W?Math.abs(E-A):Math.abs(K-S)*1e4+Math.abs(E-A);if(X<D)D=X,_={genLine:L,genCol:E};let fn=L+":"+E;if(!c.has(fn)&&X<q)q=X,M={genLine:L,genCol:E}}let d=M||_;if(d)this.sourceMap.addMapping(d.genLine,d.genCol,y,A),c.add(d.genLine+":"+d.genCol)}}collectSubExprs(n,f){if(!Array.isArray(n))return;let e=n[0];if(Array.isArray(e)||e!=null&&typeof e!=="string"&&!(e instanceof String)){for(let i=0;i<n.length;i++)if(Array.isArray(n[i]))this.collectSubExprs(n[i],f);if(Array.isArray(n._anchors))for(let i of n._anchors)f.push(i);return}if(n.loc){e=j(e);let i=null,u=n.loc.c;if(e==="."){if(typeof n[2]==="string"){if(i=n[2],typeof n[1]==="string")u=n.loc.c+n[1].length+1}}else if(typeof e==="string"&&/^[=+\-*/%<>!&|?~^]|^\.{1,3}$|^def$|^class$|^state$|^computed$|^readonly$|^for-/.test(e)){if(typeof n[1]==="string"&&/^[a-zA-Z_$]/.test(n[1])){if(i=n[1],e==="...")u=n.loc.c+3}}else if(typeof e==="string"&&/^[a-zA-Z_$]/.test(e))i=e;if(i)f.push({name:i,origLine:n.loc.r,origCol:u});if((e==="->"||e==="=>")&&Array.isArray(n[2])&&j(n[2][0])==="block"){let l=n[2];for(let a=1;a<l.length;a++){let c=l[a],r=typeof c==="string"||c instanceof String?j(c):null;if(r&&/^[a-zA-Z_$][\w$]*$/.test(r)&&!c.loc){let h=this._scanForIdentAfter(r,n.loc);if(h)f.push(h)}}}}if(Array.isArray(n._anchors))for(let i of n._anchors)f.push(i);let t=e==="->"||e==="=>"?2:1;for(let i=t;i<n.length;i++)if(Array.isArray(n[i]))this.collectSubExprs(n[i],f)}_scanForIdentAfter(n,f){let e=this.options&&this.options.source;if(!e||!f)return null;let t=this._sourceLinesCache||(this._sourceLinesCache=e.split(`
2386
+ `),l=[0];for(let w=0;w<n.length;w++)if(n.charCodeAt(w)===10)l.push(w+1);let a=(w)=>{let _=0,A=l.length-1;while(_<=A){let y=_+A>>1;if(l[y]<=w)_=y+1;else A=y-1}return A},c=new Set,r=new Map,h=(w)=>{if(r.has(w))return r.get(w);let _=u[w],A=_&&_.match(/\/\/ @rip-src:(\d+)\s*$/),y=A?parseInt(A[1],10):null;return r.set(w,y),y},o=new Map,s=(w)=>{if(o.has(w))return o.get(w);let _=u[w],A=[];if(_&&/\)\s*(\{|=>)\s*$/.test(_)){let y=/\b[a-zA-Z_$][\w$]*\??\s*:\s*\{/g,R;while((R=y.exec(_))!==null){let U=R.index+R[0].length-1;if(Fn._isColInsideString(_,U))continue;let m=1,D=U+1,M=!1,q="";while(D<_.length&&m>0){let S=_[D];if(M){if(S==="\\"){D+=2;continue}if(S===q)M=!1}else if(S==='"'||S==="'"||S==="`")M=!0,q=S;else if(S==="{")m++;else if(S==="}")m--;D++}A.push([U,D]),y.lastIndex=D}}return o.set(w,A),A};for(let{name:w,origLine:_,origCol:A}of i){if(this._exactSrc?.has(_+":"+A))continue;let y=w.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),R=new RegExp("\\b"+y+"\\b","g"),U,m=null,D=1/0,M=null,q=1/0,S=_-t;while((U=R.exec(n))!==null){let K=a(U.index),E=U.index-l[K],Z=u[K],Q=h(K),W=Q!=null&&Q===_;if(Z&&Fn._isColInsideString(Z,E)&&!W)continue;let C=s(K);if(C.length&&C.some(([Y,Un])=>E>=Y&&E<Un))continue;let L=e+K,X=W?Math.abs(E-A):Math.abs(K-S)*1e4+Math.abs(E-A);if(X<D)D=X,m={genLine:L,genCol:E};let fn=L+":"+E;if(!c.has(fn)&&X<q)q=X,M={genLine:L,genCol:E}}let d=M||m;if(d)this.sourceMap.addMapping(d.genLine,d.genCol,_,A),c.add(d.genLine+":"+d.genCol)}}collectSubExprs(n,f){if(!Array.isArray(n))return;let e=n[0];if(Array.isArray(e)||e!=null&&typeof e!=="string"&&!(e instanceof String)){for(let i=0;i<n.length;i++)if(Array.isArray(n[i]))this.collectSubExprs(n[i],f);if(Array.isArray(n._anchors))for(let i of n._anchors)f.push(i);return}if(n.loc){e=j(e);let i=null,u=n.loc.c;if(e==="."){if(typeof n[2]==="string"){if(i=n[2],typeof n[1]==="string")u=n.loc.c+n[1].length+1}}else if(typeof e==="string"&&/^[=+\-*/%<>!&|?~^]|^\.{1,3}$|^def$|^class$|^state$|^computed$|^readonly$|^for-/.test(e)){if(typeof n[1]==="string"&&/^[a-zA-Z_$]/.test(n[1])){if(i=n[1],e==="...")u=n.loc.c+3}}else if(typeof e==="string"&&/^[a-zA-Z_$]/.test(e))i=e;if(i)f.push({name:i,origLine:n.loc.r,origCol:u});if((e==="->"||e==="=>")&&Array.isArray(n[2])&&j(n[2][0])==="block"){let l=n[2];for(let a=1;a<l.length;a++){let c=l[a],r=typeof c==="string"||c instanceof String?j(c):null;if(r&&/^[a-zA-Z_$][\w$]*$/.test(r)&&!c.loc){let h=this._scanForIdentAfter(r,n.loc);if(h)f.push(h)}}}}if(Array.isArray(n._anchors))for(let i of n._anchors)f.push(i);let t=e==="->"||e==="=>"?2:1;for(let i=t;i<n.length;i++)if(Array.isArray(n[i]))this.collectSubExprs(n[i],f)}_scanForIdentAfter(n,f){let e=this.options&&this.options.source;if(!e||!f)return null;let t=this._sourceLinesCache||(this._sourceLinesCache=e.split(`
2387
2387
  `)),i=new RegExp("\\b"+n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")+"\\b","g"),u=f.r,l=f.c;for(let a=u;a<Math.min(t.length,u+20);a++){let c=t[a];if(!c)continue;i.lastIndex=a===u?l:0;let r;while((r=i.exec(c))!==null){if(Fn._isColInsideString(c,r.index))continue;return{name:n,origLine:a,origCol:r.index}}}return null}collectModuleBindings(n){if(!Array.isArray(n))return;let f;if(j(n[0])==="program")f=n.slice(1);else if(Array.isArray(n[0]))f=n;else f=[n];for(let e of f)this._collectTopLevelBinding(e)}_addModuleBinding(n){let f=n&&n.valueOf?n.valueOf():n;if(typeof f==="string"&&/^[A-Za-z_$][\w$]*$/.test(f))this.moduleBindings.add(f)}_collectTopLevelBinding(n){if(!Array.isArray(n))return;let f=j(n[0])??n[0];if(f==="export"||f==="export-default")return this._collectTopLevelBinding(n[1]);if(Fn.ASSIGNMENT_OPS.has(f)){let e=n[1];if(typeof e==="string"||e instanceof String)this._addModuleBinding(e);else if(this.is(e,"array"))this.collectVarsFromArray(e,this.moduleBindings);else if(this.is(e,"object"))this.collectVarsFromObject(e,this.moduleBindings);return}if(f==="def")return this._addModuleBinding(n[1]);if(f==="import")return this._collectImportNames(n.slice(1))}_collectImportNames(n){let f=(e)=>{if(typeof e==="string"||e instanceof String)this._addModuleBinding(e);else if(Array.isArray(e))if(e[0]==="*"&&e.length===2)this._addModuleBinding(e[1]);else for(let t of e)if(Array.isArray(t)&&t.length===2)this._addModuleBinding(t[1]);else this._addModuleBinding(t)};if(n.length===1)return;if(n.length===3){this._addModuleBinding(n[0]),f(n[1]);return}f(n[0])}collectProgramVariables(n){if(!Array.isArray(n))return;let[f,...e]=n;if(f=j(f),Array.isArray(f)){n.forEach((t)=>this.collectProgramVariables(t));return}if(f==="export"||f==="export-default"||f==="export-all"||f==="export-from")return;if(f==="state"||f==="computed"){let[t]=e,i=j(t)??t;if(!this.reactiveVars)this.reactiveVars=new Set;this.reactiveVars.add(i);return}if(f==="readonly"){let[t]=e,i=j(t)??t;if(!this.readonlyVars)this.readonlyVars=new Set;this.readonlyVars.add(i);return}if(f==="component")return;if(f==="enum")return;if(Fn.ASSIGNMENT_OPS.has(f)){let[t,i]=e;if(typeof t==="string"||t instanceof String){let u=j(t);if(!this.reactiveVars?.has(u)&&!this.readonlyVars?.has(u))this.programVars.add(u)}else if(this.is(t,"array"))this.collectVarsFromArray(t,this.programVars);else if(this.is(t,"object"))this.collectVarsFromObject(t,this.programVars);this.collectProgramVariables(i);return}if(f==="for-in"||f==="for-of"||f==="for-as"){e.slice(1).forEach((t)=>this.collectProgramVariables(t));return}if(f==="def"||f==="->"||f==="=>"||f==="effect")return;if(f==="if"){let[t,i,u]=e;if(this.collectProgramVariables(t),this.collectProgramVariables(i),u)this.collectProgramVariables(u);return}if(f==="try"){if(this.collectProgramVariables(e[0]),e.length>=2&&Array.isArray(e[1])&&e[1].length===2&&e[1][0]!=="block"){let[t,i]=e[1];if(t&&this.is(t,"object"))t.slice(1).forEach((u)=>{if(Array.isArray(u)&&u.length===2&&typeof u[1]==="string")this.programVars.add(u[1])});else if(t&&this.is(t,"array"))t.slice(1).forEach((u)=>{if(typeof u==="string")this.programVars.add(u)});this.collectProgramVariables(i)}if(e.length===3)this.collectProgramVariables(e[2]);else if(e.length===2&&(!Array.isArray(e[1])||e[1][0]==="block"))this.collectProgramVariables(e[1]);return}e.forEach((t)=>this.collectProgramVariables(t))}collectFunctionVariables(n){let f=new Set,e=(t)=>{if(!Array.isArray(t))return;let[i,...u]=t;if(i=j(i),Array.isArray(i)){t.forEach((l)=>e(l));return}if(Fn.ASSIGNMENT_OPS.has(i)){let[l,a]=u;if(typeof l==="string"||l instanceof String)f.add(j(l));else if(this.is(l,"array"))this.collectVarsFromArray(l,f);else if(this.is(l,"object"))this.collectVarsFromObject(l,f);e(a);return}if(i==="for-in"||i==="for-of"||i==="for-as"){u.slice(1).forEach(e);return}if(i==="def"||i==="->"||i==="=>"||i==="effect")return;if(i==="try"){if(e(u[0]),u.length>=2&&Array.isArray(u[1])&&u[1].length===2&&u[1][0]!=="block"){let[l,a]=u[1];if(l&&this.is(l,"object"))l.slice(1).forEach((c)=>{if(Array.isArray(c)&&c.length===2&&typeof c[1]==="string")f.add(c[1])});else if(l&&this.is(l,"array"))l.slice(1).forEach((c)=>{if(typeof c==="string")f.add(c)});e(a)}if(u.length===3)e(u[2]);else if(u.length===2&&(!Array.isArray(u[1])||u[1][0]==="block"))e(u[1]);return}u.forEach((l)=>e(l))};return e(n),f}collectTypedLocals(n){let f=new Map,e=(t)=>{if(!Array.isArray(t))return;let[i,...u]=t;if(i=j(i),Array.isArray(i)){t.forEach(e);return}if(Fn.ASSIGNMENT_OPS.has(i)){let[l,a]=u;if(l instanceof String&&l.type&&!f.has(j(l)))f.set(j(l),l.type);e(a);return}if(i==="def"||i==="->"||i==="=>"||i==="effect")return;u.forEach(e)};return e(n),f}emit(n,f="statement"){if(n instanceof String){if(qn(n,"bang")===!0)return`await ${j(n)}()`;if(qn(n,"optional"))return`(${j(n)} != null)`;if(qn(n,"delimiter")==="///"&&qn(n,"heregex")){let a=j(n),c=a.match(/^\/(.*)\/([gimsuvy]*)$/s);if(c){let[,r,h]=c;return`/${this.processHeregex(r)}/${h}`}return a}let l=qn(n,"quote");if(l){let a=j(n);if(l==='"""'||l==="'''"){let r=this.extractStringContent(n);return r=r.replace(/`/g,"\\`").replace(/\${/g,"\\${"),`\`${r}\``}if(a[0]===l)return a;let c=a.slice(1,-1);return`${l}${c}${l}`}n=j(n)}if(typeof n==="string"){if(n.startsWith('"')||n.startsWith("'")||n.startsWith("`")){if(this.options.debug)console.warn("[Rip] Unexpected quoted primitive:",n);let l=n.slice(1,-1);if(l.includes(`
2388
- `))return`\`${l.replace(/`/g,"\\`").replace(/\$\{/g,"\\${")}\``;let a=l.includes("'")&&!l.includes('"')?'"':"'",c=l.replace(new RegExp(a,"g"),`\\${a}`);return`${a}${c}${a}`}if(this.reactiveVars?.has(n)&&!this.suppressReactiveUnwrap)return`${n}.value`;return n}if(typeof n==="number")return String(n);if(n===null||n===void 0)return"null";if(!Array.isArray(n))this.error(`Invalid s-expression: ${JSON.stringify(n)}`,n);let[e,...t]=n,i=qn(e,"bang");e=j(e);let u=Fn.GENERATORS[e];if(u)return this[u](e,t,f,n);if(typeof e==="string"&&!e.startsWith('"')&&!e.startsWith("'")){if(Fn.NUMBER_START_RE.test(e))return e;if(e==="super"&&this.currentMethodName&&this.currentMethodName!=="constructor")return`super.${this.currentMethodName}(${this._emitArgs(t)})`;let l=this._tryPostfixCall(e,t,f);if(l)return l;let a=i===!0,c=`${this.emit(e,"value")}(${this._emitArgs(t)})`;return a?`await ${c}`:c}if(Array.isArray(e)&&typeof e[0]==="string"){if(["=","+=","-=","*=","/=","%=","**=","&&=","||=","??=","if","return","throw"].includes(e[0]))return`(${n.map((a)=>this.emit(a,"value")).join(", ")})`}if(Array.isArray(e)){if(e[0]==="."&&(e[2]==="new"||j(e[2])==="new")){let h=e[1],o=this.emit(h,"value");return`new ${Array.isArray(h)?`(${o})`:o}(${this._emitArgs(t)})`}let l=this._tryPostfixCall(e,t,f);if(l)return l;let a=!1,c;if(e[0]==="."&&qn(e[2],"bang")===!0){a=!0;let[h,o]=e.slice(1),s=this.emit(h,"value");c=`${Fn.NUMBER_LITERAL_RE.test(s)||(this.is(h,"object")||this.is(h,"await")||this.is(h,"yield"))||/^(await|yield)\s/.test(s)?`(${s})`:s}.${j(o)}`}else c=this.emit(e,"value");let r=`${c}(${this._emitArgs(t)})`;return a?`await ${r}`:r}this.error(`Unknown s-expression type: ${e}`,n)}emitProgram(n,f,e,t){let i="",u=[],l=[];for(let w of f){if(!Array.isArray(w)){l.push(w);continue}if(w[0]==="import")u.push(w);else l.push(w)}let a=["def","class","if","for-in","for-of","for-as","while","loop","switch","try"],c=l.map((w,y)=>{let A=l.length===1&&u.length===0,m=this.is(w,"object"),R=m&&w.length===2&&Array.isArray(w[1])&&Array.isArray(w[1][2])&&w[1][2][0]==="comprehension",U=this.is(w,"comprehension")||this.is(w,"object-comprehension")||this.is(w,"do-iife"),_=this.programVars.size===0,D=A&&m&&_&&!U&&!R,q=y===l.length-1&&U,S;if(D)S=`(${this.emit(w,"value")})`;else if(q)S=this.emit(w,"value");else S=this.emit(w,"statement");if(S&&!S.endsWith(";")){let K=Array.isArray(w)?w[0]:null;if(!a.includes(K)||!S.endsWith("}"))S+=";"}let d=Array.isArray(w)?w.loc:null;return{code:S,loc:d,sexpr:Array.isArray(w)?w:null}}),r=c.map((w)=>w.code).join(`
2389
- `),h=!1;if(u.length>0){let w=u.map((y)=>{return{code:this.addSemicolon(y,this.emit(y,"statement")),loc:Array.isArray(y)?y.loc:null,sexpr:Array.isArray(y)?y:null}});this._importEntries=w,i+=w.map((y)=>y.code).join(`
2390
- `),h=!0}if(this.programVars.size>0){let w=this.programVars.has("_");if(w)this.programVars.delete("_");if(this.programVars.size>0){let y=Array.from(this.programVars).sort().join(", ");if(y){if(h)i+=`
2391
- `;i+=`let ${y};
2388
+ `))return`\`${l.replace(/`/g,"\\`").replace(/\$\{/g,"\\${")}\``;let a=l.includes("'")&&!l.includes('"')?'"':"'",c=l.replace(new RegExp(a,"g"),`\\${a}`);return`${a}${c}${a}`}if(this.reactiveVars?.has(n)&&!this.suppressReactiveUnwrap)return`${n}.value`;return n}if(typeof n==="number")return String(n);if(n===null||n===void 0)return"null";if(!Array.isArray(n))this.error(`Invalid s-expression: ${JSON.stringify(n)}`,n);let[e,...t]=n,i=qn(e,"bang");e=j(e);let u=Fn.GENERATORS[e];if(u)return this[u](e,t,f,n);if(typeof e==="string"&&!e.startsWith('"')&&!e.startsWith("'")){if(Fn.NUMBER_START_RE.test(e))return e;if(e==="super"&&this.currentMethodName&&this.currentMethodName!=="constructor")return`super.${this.currentMethodName}(${this._emitArgs(t)})`;let l=this._tryPostfixCall(e,t,f);if(l)return l;let a=i===!0,c=`${this.emit(e,"value")}(${this._emitArgs(t)})`;return a?`await ${c}`:c}if(Array.isArray(e)&&typeof e[0]==="string"){if(["=","+=","-=","*=","/=","%=","**=","&&=","||=","??=","if","return","throw"].includes(e[0]))return`(${n.map((a)=>this.emit(a,"value")).join(", ")})`}if(Array.isArray(e)){if(e[0]==="."&&(e[2]==="new"||j(e[2])==="new")){let h=e[1],o=this.emit(h,"value");return`new ${Array.isArray(h)?`(${o})`:o}(${this._emitArgs(t)})`}let l=this._tryPostfixCall(e,t,f);if(l)return l;let a=!1,c;if(e[0]==="."&&qn(e[2],"bang")===!0){a=!0;let[h,o]=e.slice(1),s=this.emit(h,"value");c=`${Fn.NUMBER_LITERAL_RE.test(s)||(this.is(h,"object")||this.is(h,"await")||this.is(h,"yield"))||/^(await|yield)\s/.test(s)?`(${s})`:s}.${j(o)}`}else c=this.emit(e,"value");let r=`${c}(${this._emitArgs(t)})`;return a?`await ${r}`:r}this.error(`Unknown s-expression type: ${e}`,n)}emitProgram(n,f,e,t){let i="",u=[],l=[];for(let w of f){if(!Array.isArray(w)){l.push(w);continue}if(w[0]==="import")u.push(w);else l.push(w)}let a=["def","class","if","for-in","for-of","for-as","while","loop","switch","try"],c=l.map((w,_)=>{let A=l.length===1&&u.length===0,y=this.is(w,"object"),R=y&&w.length===2&&Array.isArray(w[1])&&Array.isArray(w[1][2])&&w[1][2][0]==="comprehension",U=this.is(w,"comprehension")||this.is(w,"object-comprehension")||this.is(w,"do-iife"),m=this.programVars.size===0,D=A&&y&&m&&!U&&!R,q=_===l.length-1&&U,S;if(D)S=`(${this.emit(w,"value")})`;else if(q)S=this.emit(w,"value");else S=this.emit(w,"statement");if(S&&!S.endsWith(";")){let K=Array.isArray(w)?w[0]:null;if(!a.includes(K)||!S.endsWith("}"))S+=";"}let d=Array.isArray(w)?w.loc:null;return{code:S,loc:d,sexpr:Array.isArray(w)?w:null}}),r=c.map((w)=>w.code).join(`
2389
+ `),h=!1;if(u.length>0){let w=u.map((_)=>{return{code:this.addSemicolon(_,this.emit(_,"statement")),loc:Array.isArray(_)?_.loc:null,sexpr:Array.isArray(_)?_:null}});this._importEntries=w,i+=w.map((_)=>_.code).join(`
2390
+ `),h=!0}if(this.programVars.size>0){let w=this.programVars.has("_");if(w)this.programVars.delete("_");if(this.programVars.size>0){let _=Array.from(this.programVars).sort().join(", ");if(_){if(h)i+=`
2391
+ `;i+=`let ${_};
2392
2392
  `,h=!0}}if(w){if(h)i+=`
2393
2393
  `;i+=`var _;
2394
2394
  `,h=!0}}let o=this.options.skipPreamble,s=this.options.skipRuntimes;if(!o){if(h)i+=`
@@ -2422,7 +2422,7 @@ _setDataSection();
2422
2422
 
2423
2423
  function _setDataSection() {
2424
2424
  DATA = ${JSON.stringify(this.dataSection)};
2425
- }`;return i}emitBinaryOp(n,f,e,t){if((n==="+"||n==="-")&&f.length===1)return`(${n}${this.emit(f[0],"value")})`;let[i,u]=f;if(n==="*"){let a=i?.valueOf?.()??i;if(typeof a==="string"&&/^["']/.test(a))return`${this.emit(i,"value")}.repeat(${this.emit(u,"value")})`}let l=new Set(["<",">","<=",">=","==","===","!=","!=="]);if(l.has(n)&&Array.isArray(i)&&!i.parenthesized){let a=i[0]?.valueOf?.()??i[0];if(l.has(a)){let c=(s)=>s==="=="?"===":s==="!="?"!==":s,r=this.emit(i,"value"),h=this.emit(i[2],"value"),o=this.emit(u,"value");return`(${r} && (${h} ${c(n)} ${o}))`}}if(n==="==")n="===";if(n==="!=")n="!==";if(n==="**"&&Array.isArray(i)){let a=new Set(["!","~","typeof","void","delete","await","not","+","-"]),c=i[0]?.valueOf?.()??i[0];if(a.has(c)){let r=this.emit(i,"value");if(!r.startsWith("("))r=`(${r})`;return`(${r} ** ${this.emit(u,"value")})`}}return`(${this.emit(i,"value")} ${n} ${this.emit(u,"value")})`}emitModulo(n,f){let[e,t]=f;return this.helpers.add("modulo"),`modulo(${this.emit(e,"value")}, ${this.emit(t,"value")})`}emitModuloAssign(n,f){let[e,t]=f;this.helpers.add("modulo");let i=this.emit(e,"value"),u=this.emit(t,"value");return`${i} = modulo(${i}, ${u})`}emitFloorDiv(n,f){let[e,t]=f;return`Math.floor(${this.emit(e,"value")} / ${this.emit(t,"value")})`}emitFloorDivAssign(n,f){let[e,t]=f,i=this.emit(e,"value"),u=this.emit(t,"value");return`${i} = Math.floor(${i} / ${u})`}emitAssignment(n,f,e,t){let[i,u]=f,l=n==="?="?"??=":n;if(this.is(i,"array")||this.is(i,"object"))this._validateBindingPattern(i,t);let a=this._findOptionalInTarget(i);if(a){let U=this.emit(a.guard,"value"),_=this.emit(a.rewritten,"value"),D=this.emit(u,"value");if(e==="value")return`(${U} != null ? (${_} ${l} ${D}) : undefined)`;return`if (${U} != null) ${_} ${l} ${D}`}this.applyVoidMarker(i,u,t);let c=this.is(i,"array",0),r=this.is(i,"object",0);if(c||r){let U=this.emit(u,"value");return r&&e==="statement"?`(${U})`:U}if(Array.isArray(u)&&l==="="&&u[0]==="control"){let[,U,_,D]=u,M=j(U),q=D[0]==="return",S=this.emit(i,"value"),d=this.emit(_,"value"),K=D.length>1?D[1]:null,E=q?K?`return ${this.emit(K,"value")}`:"return":K?`throw ${this.emit(K,"value")}`:"throw new Error()";if(e==="value"){if(M==="??")return`(() => { const __v = ${d}; if (__v == null) ${E}; return (${S} = __v); })()`;if(M==="||")return`(() => { const __v = ${d}; if (!__v) ${E}; return (${S} = __v); })()`;return`(() => { const __v = ${d}; if (__v) ${E}; return (${S} = __v); })()`}if(M==="??")return`if ((${S} = ${d}) == null) ${E}`;if(M==="||")return`if (!(${S} = ${d})) ${E}`;return`if ((${S} = ${d})) ${E}`}if(this.is(i,"array")){let U=i.slice(1).findIndex((_)=>this.is(_,"...")||_==="...");if(U!==-1&&U<i.length-2){let _=i.slice(1),D=_.slice(U+1),M=D.length;if(M>0){let q=this.emit(u,"value"),d=_.slice(0,U).map((W)=>W===","?"":typeof W==="string"?W:this.emit(W,"value")).join(", "),K=D.map((W)=>W===","?"":typeof W==="string"?W:this.emit(W,"value")).join(", ");this.helpers.add("slice"),_.forEach((W)=>{if(W===","||W==="...")return;if(typeof W==="string")this.programVars.add(W);else if(this.is(W,"...")&&typeof W[1]==="string")this.programVars.add(W[1])});let E=_[U],Z=this.is(E,"...")?E[1]:null,Q=[];if(d)Q.push(`[${d}] = ${q}`);if(Z)Q.push(`[...${Z}] = ${q}.slice(${U}, -${M})`);return Q.push(`[${K}] = slice.call(${q}, -${M})`),Q.join(", ")}}}if(e==="statement"&&n==="="&&Array.isArray(u)&&(u[0]==="||"||u[0]==="&&")&&u.length===3){let[U,_,D]=u;if(this.is(D,"if")&&D.length===3){let[,M,q]=D,S=Array.isArray(q)&&q.length===1?q[0]:q,d=[U,_,S],K=this.emit(i,"value"),E=this.emit(M,"value"),Z=this.emit(d,"value");return`if (${E}) ${K} = ${Z}`}}if(e==="statement"&&n==="="&&Array.isArray(u)&&u.length===3){let[U,_,D]=u,M=Array.isArray(D)&&D.length===1&&(!Array.isArray(D[0])||D[0][0]!=="block");if(U==="if"&&M){let q=Array.isArray(D)&&D.length===1?D[0]:D,S=this.emit(i,"value"),d=this.unwrapLogical(this.emit(_,"value")),K=this.emit(q,"value");return`if (${d}) ${S} = ${K}`}}let h;if(i instanceof String&&qn(i,"bang")!==void 0)h=j(i);else if(typeof i==="string"&&this.reactiveVars?.has(i))h=`${i}.value`;else h=this.emit(i,"value");let o=this._componentName,s=this._componentTypeParams,w=this._schemaName;if(this.is(u,"component")&&(typeof i==="string"||i instanceof String))this._componentName=j(i),this._componentTypeParams=i.typeParams||"";if(this.is(u,"schema")&&(typeof i==="string"||i instanceof String))this._schemaName=j(i);let y=this.emit(u,"value");if(this._componentName=o,this._componentTypeParams=s,this._schemaName=w,!(this.is(u,"object")||this.is(u,".{}")||this.is(u,"?.{}")))y=this.unwrap(y);let m=e==="value",R=e==="statement"&&this.is(i,"object");if(m||R)return`(${h} ${l} ${y})`;return`${h} ${l} ${y}`}emitPropertyAccess(n,f,e,t){let[i,u]=f;if(this._atParamMap&&i==="this"){let r=this._atParamMap.get(j(u));if(r)return r}let l=this.emit(i,"value"),c=Fn.NUMBER_LITERAL_RE.test(l)||l.startsWith("await ")||(this.is(i,"object")||this.is(i,"yield"))?`(${l})`:l;if(qn(u,"bang")===!0)return`await ${c}.${j(u)}()`;if(qn(u,"optional"))return`(${c}.${j(u)} != null)`;return`${c}.${j(u)}`}emitOptionalProperty(n,f){let[e,t]=f;return`${this.emit(e,"value")}?.${t}`}emitPick(n,f,e,t){let[i,...u]=f,l=this.emit(i,"value"),a=this._isSimplePickSource(i),c=a?l:"_",r=u.map(([h,o,s])=>{let w=`${c}.${j(h)}`;if(s!==null&&s!==void 0)w=`(${w} ?? ${this.emit(s,"value")})`;return`${j(o)}: ${w}`}).join(", ");if(a)return`({${r}})`;return`((_) => ({${r}}))(${l})`}emitOptPick(n,f,e,t){let[i,...u]=f,l=this.emit(i,"value"),a=this._isSimplePickSource(i),c=a?l:"_",r=u.map(([h,o,s])=>{let w=`${c}.${j(h)}`;if(s!==null&&s!==void 0)w=`(${w} ?? ${this.emit(s,"value")})`;return`${j(o)}: ${w}`}).join(", ");if(a)return`(${l} == null ? undefined : {${r}})`;return`((_) => _ == null ? undefined : ({${r}}))(${l})`}_isSimplePickSource(n){if(typeof n!=="string")return!1;return n==="this"||n==="@"||/^[A-Za-z_$][\w$]*$/.test(n)}emitRegexIndex(n,f){let[e,t,i]=f;this.helpers.add("toMatchable"),this.programVars.add("_");let u=this.emit(e,"value"),l=this.emit(t,"value"),a=i!==null?this.emit(i,"value"):"0",c=l.includes("/m")?", true":"";return`((_ = toMatchable(${u}${c}).match(${l})) && _[${a}])`}emitIndexAccess(n,f){let[e,t]=f;if(this.is(t,"..")||this.is(t,"...")){let i=t[0]==="..",u=this.emit(e,"value"),[l,a]=t.slice(1),c=(s)=>{if(s===null)return null;let w=j(s)??s;if(typeof w==="number")return w;if(typeof w==="string"&&/^\d+$/.test(w))return+w;if(Array.isArray(s)&&s[0]==="-"&&s.length===2){let y=j(s[1])??s[1];if(typeof y==="number")return-y;if(typeof y==="string"&&/^\d+$/.test(y))return-y}return null},r=(s,w,y)=>{let A=c(y);if(A!==null&&A!==-1)return`${u}.slice(${s}, ${A+1})`;return`${u}.slice(${s}, +${w} + 1 || 9e9)`};if(l===null&&a===null)return`${u}.slice()`;if(l===null){if(i&&this.is(a,"-",1)&&(j(a[1])??a[1])==1)return`${u}.slice(0)`;let s=this.emit(a,"value");return i?r("0",s,a):`${u}.slice(0, ${s})`}if(a===null)return`${u}.slice(${this.emit(l,"value")})`;let h=this.emit(l,"value");if(i&&this.is(a,"-",1)&&(j(a[1])??a[1])==1)return`${u}.slice(${h})`;let o=this.emit(a,"value");return i?r(h,o,a):`${u}.slice(${h}, ${o})`}if(this.is(t,"-",1)){let i=j(t[1])??t[1];if(typeof i==="number"||typeof i==="string"&&/^\d+$/.test(i))return`${this.emit(e,"value")}.at(-${i})`}return`${this.emit(e,"value")}[${this.unwrap(this.emit(t,"value"))}]`}emitOptIndex(n,f){let[e,t]=f;if(this.is(t,"-",1)){let i=j(t[1])??t[1];if(typeof i==="number"||typeof i==="string"&&/^\d+$/.test(i))return`${this.emit(e,"value")}?.at(-${i})`}return`${this.emit(e,"value")}?.[${this.emit(t,"value")}]`}emitOptCall(n,f){let[e,...t]=f;return`${this.emit(e,"value")}?.(${t.map((i)=>this.emit(i,"value")).join(", ")})`}emitDef(n,f,e,t){let[i,u,l]=f,a=qn(i,"bang")===!0,c=j(i),r=this.emitParamList(u),h=this.emitFunctionBody(l,u,a),o=this.containsAwait(l),s=this.containsYield(l),w=this.inlineReturnType(i);return`${o?"async ":""}function${s?"*":""} ${c}(${r})${w} ${h}`}inlineReturnType(n){if(!this.options.inlineTypes)return"";let f=qn(n,"returnType");return f?`: ${wi(f)}`:""}emitThinArrow(n,f,e,t){let[i,u]=f;if((!i||Array.isArray(i)&&i.length===0)&&this.containsIt(u))i=["it"];let l=t.isVoid||!1,a=this.emitParamList(i),c=this.emitFunctionBody(u,i,l),r=this.containsAwait(u),h=this.containsYield(u),o=this.inlineReturnType(t?.[0]),s=`${r?"async ":""}function${h?"*":""}(${a})${o} ${c}`;return e==="value"?`(${s})`:s}emitFatArrow(n,f,e,t){let[i,u]=f;if((!i||Array.isArray(i)&&i.length===0)&&this.containsIt(u))i=["it"];let l=t.isVoid||!1,a=this.emitParamList(i),c=this.inlineReturnType(t?.[0]),h=!c&&i.length===1&&typeof i[0]==="string"&&!a.includes("=")&&!a.includes("...")&&!a.includes("[")&&!a.includes("{")?a:`(${a})`,s=this.containsAwait(u)?"async ":"";if(!l){if(this.is(u,"block")&&u.length===2){let y=u[1],A=Array.isArray(y)?y[0]:null;if(A!=="return"&&!Nt.has(A)){let m=this.emit(y,"value");if(m[0]==="{")m=`(${m})`;return`${s}${h}${c} => ${m}`}}if(!Array.isArray(u)||u[0]!=="block"){let y=this.emit(u,"value");if(y[0]==="{")y=`(${y})`;return`${s}${h}${c} => ${y}`}}let w=this.emitFunctionBody(u,i,l);return`${s}${h}${c} => ${w}`}emitReturn(n,f,e,t){if(f.length===0)return"return";let[i]=f;if(this.sideEffectOnly&&!(this.is(i,"->")||this.is(i,"=>")))this.error("Cannot return a value from a void function (declared with !)",t);if(this.is(i,"if")){let[,u,l,...a]=i;if(a.length===0){let c=Array.isArray(l)&&l.length===1?l[0]:l;return`if (${this.emit(u,"value")}) return ${this.emit(c,"value")}`}}if(this.is(i,"new")&&Array.isArray(i[1])&&i[1][0]==="if"){let[,u,l]=i[1],a=Array.isArray(l)&&l.length===1?l[0]:l;return`if (${this.emit(u,"value")}) return ${this.emit(["new",a],"value")}`}return`return ${this.emit(i,"value")}`}emitState(n,f){let[e,t]=f;this.usesReactivity=!0;let i=j(e)??e;if(!this.reactiveVars)this.reactiveVars=new Set;return this.reactiveVars.add(i),`const ${i} = __state(${this.emit(t,"value")})`}emitComputed(n,f){let[e,t]=f;if(this.usesReactivity=!0,!this.reactiveVars)this.reactiveVars=new Set;let i=j(e)??e;if(this.reactiveVars.add(i),this.is(t,"block")&&t.length>2)return`const ${i} = __computed(() => ${this.emitFunctionBody(t)})`;return`const ${i} = __computed(() => ${this.emit(t,"value")})`}emitReadonly(n,f){let[e,t]=f;return`const ${j(e)??e} = ${this.emit(t,"value")}`}emitGate(n,f,e,t){this.error("'<~' (render-ready gate) is only valid at the top of a component body",t)}emitEffect(n,f){let[e,t]=f;this.usesReactivity=!0;let i;if(this.is(t,"block"))i=this.emitFunctionBody(t);else if(this.is(t,"->")||this.is(t,"=>")){let l=this.emit(t,"value");if(e)return`const ${j(e)??this.emit(e,"value")} = __effect(${l})`;return`__effect(${l})`}else i=`{ ${this.emit(t,"value")}; }`;let u=`__effect(() => ${i})`;if(e)return`const ${j(e)??this.emit(e,"value")} = ${u}`;return u}emitBreak(){return"break"}emitContinue(){return"continue"}emitExistential(n,f){return`(${this.emit(f[0],"value")} != null)`}emitPresence(n,f){return`(${this.emit(f[0],"value")} ? true : undefined)`}emitTernary(n,f,e){let[t,i,u]=f;if((i?.[0]?.valueOf?.()??i?.[0])==="="&&Array.isArray(i)&&!i.parenthesized){let a=this.emit(i[1],"value"),c=this.emit(i[2],"value"),r=this.emit(u,"value");return`${a} = (${this.unwrap(this.emit(t,"value"))} ? ${c} : ${r})`}return`(${this.unwrap(this.emit(t,"value"))} ? ${this.emit(i,"value")} : ${this.emit(u,"value")})`}emitLoop(n,f,e){if(e==="value")return this.emitLoopAsValue("while (true)",f[0]);return`while (true) ${this.emitLoopBody(f[0])}`}emitLoopN(n,f,e){let[t,i]=f,l=`for (let it = 0; it < ${this.emit(t,"value")}; it++)`;if(e==="value")return this.emitLoopAsValue(l,i);return`${l} ${this.emitLoopBody(i)}`}emitLoopAsValue(n,f,e){let t=this.containsAwait(f)||e!=null&&this.containsAwait(e),i=this.asyncIIFEOpen(t)+`
2425
+ }`;return i}emitBinaryOp(n,f,e,t){if((n==="+"||n==="-")&&f.length===1)return`(${n}${this.emit(f[0],"value")})`;let[i,u]=f;if(n==="*"){let a=i?.valueOf?.()??i;if(typeof a==="string"&&/^["']/.test(a))return`${this.emit(i,"value")}.repeat(${this.emit(u,"value")})`}let l=new Set(["<",">","<=",">=","==","===","!=","!=="]);if(l.has(n)&&Array.isArray(i)&&!i.parenthesized){let a=i[0]?.valueOf?.()??i[0];if(l.has(a)){let c=(s)=>s==="=="?"===":s==="!="?"!==":s,r=this.emit(i,"value"),h=this.emit(i[2],"value"),o=this.emit(u,"value");return`(${r} && (${h} ${c(n)} ${o}))`}}if(n==="==")n="===";if(n==="!=")n="!==";if(n==="**"&&Array.isArray(i)){let a=new Set(["!","~","typeof","void","delete","await","not","+","-"]),c=i[0]?.valueOf?.()??i[0];if(a.has(c)){let r=this.emit(i,"value");if(!r.startsWith("("))r=`(${r})`;return`(${r} ** ${this.emit(u,"value")})`}}return`(${this.emit(i,"value")} ${n} ${this.emit(u,"value")})`}emitModulo(n,f){let[e,t]=f;return this.helpers.add("modulo"),`modulo(${this.emit(e,"value")}, ${this.emit(t,"value")})`}emitModuloAssign(n,f){let[e,t]=f;this.helpers.add("modulo");let i=this.emit(e,"value"),u=this.emit(t,"value");return`${i} = modulo(${i}, ${u})`}emitFloorDiv(n,f){let[e,t]=f;return`Math.floor(${this.emit(e,"value")} / ${this.emit(t,"value")})`}emitFloorDivAssign(n,f){let[e,t]=f,i=this.emit(e,"value"),u=this.emit(t,"value");return`${i} = Math.floor(${i} / ${u})`}emitAssignment(n,f,e,t){let[i,u]=f,l=n==="?="?"??=":n;if(this.is(i,"array")||this.is(i,"object"))this._validateBindingPattern(i,t);let a=this._findOptionalInTarget(i);if(a){let U=this.emit(a.guard,"value"),m=this.emit(a.rewritten,"value"),D=this.emit(u,"value");if(e==="value")return`(${U} != null ? (${m} ${l} ${D}) : undefined)`;return`if (${U} != null) ${m} ${l} ${D}`}this.applyVoidMarker(i,u,t);let c=this.is(i,"array",0),r=this.is(i,"object",0);if(c||r){let U=this.emit(u,"value");return r&&e==="statement"?`(${U})`:U}if(Array.isArray(u)&&l==="="&&u[0]==="control"){let[,U,m,D]=u,M=j(U),q=D[0]==="return",S=this.emit(i,"value"),d=this.emit(m,"value"),K=D.length>1?D[1]:null,E=q?K?`return ${this.emit(K,"value")}`:"return":K?`throw ${this.emit(K,"value")}`:"throw new Error()";if(e==="value"){if(M==="??")return`(() => { const __v = ${d}; if (__v == null) ${E}; return (${S} = __v); })()`;if(M==="||")return`(() => { const __v = ${d}; if (!__v) ${E}; return (${S} = __v); })()`;return`(() => { const __v = ${d}; if (__v) ${E}; return (${S} = __v); })()`}if(M==="??")return`if ((${S} = ${d}) == null) ${E}`;if(M==="||")return`if (!(${S} = ${d})) ${E}`;return`if ((${S} = ${d})) ${E}`}if(this.is(i,"array")){let U=i.slice(1).findIndex((m)=>this.is(m,"...")||m==="...");if(U!==-1&&U<i.length-2){let m=i.slice(1),D=m.slice(U+1),M=D.length;if(M>0){let q=this.emit(u,"value"),d=m.slice(0,U).map((W)=>W===","?"":typeof W==="string"?W:this.emit(W,"value")).join(", "),K=D.map((W)=>W===","?"":typeof W==="string"?W:this.emit(W,"value")).join(", ");this.helpers.add("slice"),m.forEach((W)=>{if(W===","||W==="...")return;if(typeof W==="string")this.programVars.add(W);else if(this.is(W,"...")&&typeof W[1]==="string")this.programVars.add(W[1])});let E=m[U],Z=this.is(E,"...")?E[1]:null,Q=[];if(d)Q.push(`[${d}] = ${q}`);if(Z)Q.push(`[...${Z}] = ${q}.slice(${U}, -${M})`);return Q.push(`[${K}] = slice.call(${q}, -${M})`),Q.join(", ")}}}if(e==="statement"&&n==="="&&Array.isArray(u)&&(u[0]==="||"||u[0]==="&&")&&u.length===3){let[U,m,D]=u;if(this.is(D,"if")&&D.length===3){let[,M,q]=D,S=Array.isArray(q)&&q.length===1?q[0]:q,d=[U,m,S],K=this.emit(i,"value"),E=this.emit(M,"value"),Z=this.emit(d,"value");return`if (${E}) ${K} = ${Z}`}}if(e==="statement"&&n==="="&&Array.isArray(u)&&u.length===3){let[U,m,D]=u,M=Array.isArray(D)&&D.length===1&&(!Array.isArray(D[0])||D[0][0]!=="block");if(U==="if"&&M){let q=Array.isArray(D)&&D.length===1?D[0]:D,S=this.emit(i,"value"),d=this.unwrapLogical(this.emit(m,"value")),K=this.emit(q,"value");return`if (${d}) ${S} = ${K}`}}let h;if(i instanceof String&&qn(i,"bang")!==void 0)h=j(i);else if(typeof i==="string"&&this.reactiveVars?.has(i))h=`${i}.value`;else h=this.emit(i,"value");let o=this._componentName,s=this._componentTypeParams,w=this._schemaName;if(this.is(u,"component")&&(typeof i==="string"||i instanceof String))this._componentName=j(i),this._componentTypeParams=i.typeParams||"";if(this.is(u,"schema")&&(typeof i==="string"||i instanceof String))this._schemaName=j(i);let _=this.emit(u,"value");if(this._componentName=o,this._componentTypeParams=s,this._schemaName=w,!(this.is(u,"object")||this.is(u,".{}")||this.is(u,"?.{}")))_=this.unwrap(_);let y=e==="value",R=e==="statement"&&this.is(i,"object");if(y||R)return`(${h} ${l} ${_})`;return`${h} ${l} ${_}`}emitPropertyAccess(n,f,e,t){let[i,u]=f;if(this._atParamMap&&i==="this"){let r=this._atParamMap.get(j(u));if(r)return r}let l=this.emit(i,"value"),c=Fn.NUMBER_LITERAL_RE.test(l)||l.startsWith("await ")||(this.is(i,"object")||this.is(i,"yield"))?`(${l})`:l;if(qn(u,"bang")===!0)return`await ${c}.${j(u)}()`;if(qn(u,"optional"))return`(${c}.${j(u)} != null)`;return`${c}.${j(u)}`}emitOptionalProperty(n,f){let[e,t]=f;return`${this.emit(e,"value")}?.${t}`}emitPick(n,f,e,t){let[i,...u]=f,l=this.emit(i,"value"),a=this._isSimplePickSource(i),c=a?l:"_",r=u.map(([h,o,s])=>{let w=`${c}.${j(h)}`;if(s!==null&&s!==void 0)w=`(${w} ?? ${this.emit(s,"value")})`;return`${j(o)}: ${w}`}).join(", ");if(a)return`({${r}})`;return`((_) => ({${r}}))(${l})`}emitOptPick(n,f,e,t){let[i,...u]=f,l=this.emit(i,"value"),a=this._isSimplePickSource(i),c=a?l:"_",r=u.map(([h,o,s])=>{let w=`${c}.${j(h)}`;if(s!==null&&s!==void 0)w=`(${w} ?? ${this.emit(s,"value")})`;return`${j(o)}: ${w}`}).join(", ");if(a)return`(${l} == null ? undefined : {${r}})`;return`((_) => _ == null ? undefined : ({${r}}))(${l})`}_isSimplePickSource(n){if(typeof n!=="string")return!1;return n==="this"||n==="@"||/^[A-Za-z_$][\w$]*$/.test(n)}emitRegexIndex(n,f){let[e,t,i]=f;this.helpers.add("toMatchable"),this.programVars.add("_");let u=this.emit(e,"value"),l=this.emit(t,"value"),a=i!==null?this.emit(i,"value"):"0",c=l.includes("/m")?", true":"";return`((_ = toMatchable(${u}${c}).match(${l})) && _[${a}])`}emitIndexAccess(n,f){let[e,t]=f;if(this.is(t,"..")||this.is(t,"...")){let i=t[0]==="..",u=this.emit(e,"value"),[l,a]=t.slice(1),c=(s)=>{if(s===null)return null;let w=j(s)??s;if(typeof w==="number")return w;if(typeof w==="string"&&/^\d+$/.test(w))return+w;if(Array.isArray(s)&&s[0]==="-"&&s.length===2){let _=j(s[1])??s[1];if(typeof _==="number")return-_;if(typeof _==="string"&&/^\d+$/.test(_))return-_}return null},r=(s,w,_)=>{let A=c(_);if(A!==null&&A!==-1)return`${u}.slice(${s}, ${A+1})`;return`${u}.slice(${s}, +${w} + 1 || 9e9)`};if(l===null&&a===null)return`${u}.slice()`;if(l===null){if(i&&this.is(a,"-",1)&&(j(a[1])??a[1])==1)return`${u}.slice(0)`;let s=this.emit(a,"value");return i?r("0",s,a):`${u}.slice(0, ${s})`}if(a===null)return`${u}.slice(${this.emit(l,"value")})`;let h=this.emit(l,"value");if(i&&this.is(a,"-",1)&&(j(a[1])??a[1])==1)return`${u}.slice(${h})`;let o=this.emit(a,"value");return i?r(h,o,a):`${u}.slice(${h}, ${o})`}if(this.is(t,"-",1)){let i=j(t[1])??t[1];if(typeof i==="number"||typeof i==="string"&&/^\d+$/.test(i))return`${this.emit(e,"value")}.at(-${i})`}return`${this.emit(e,"value")}[${this.unwrap(this.emit(t,"value"))}]`}emitOptIndex(n,f){let[e,t]=f;if(this.is(t,"-",1)){let i=j(t[1])??t[1];if(typeof i==="number"||typeof i==="string"&&/^\d+$/.test(i))return`${this.emit(e,"value")}?.at(-${i})`}return`${this.emit(e,"value")}?.[${this.emit(t,"value")}]`}emitOptCall(n,f){let[e,...t]=f;return`${this.emit(e,"value")}?.(${t.map((i)=>this.emit(i,"value")).join(", ")})`}emitDef(n,f,e,t){let[i,u,l]=f,a=qn(i,"bang")===!0,c=j(i),r=this.emitParamList(u),h=this.emitFunctionBody(l,u,a),o=this.containsAwait(l),s=this.containsYield(l),w=this.inlineReturnType(i);return`${o?"async ":""}function${s?"*":""} ${c}(${r})${w} ${h}`}inlineReturnType(n){if(!this.options.inlineTypes)return"";let f=qn(n,"returnType");return f?`: ${wi(f)}`:""}emitThinArrow(n,f,e,t){let[i,u]=f;if((!i||Array.isArray(i)&&i.length===0)&&this.containsIt(u))i=["it"];let l=t.isVoid||!1,a=this.emitParamList(i),c=this.emitFunctionBody(u,i,l),r=this.containsAwait(u),h=this.containsYield(u),o=this.inlineReturnType(t?.[0]),s=`${r?"async ":""}function${h?"*":""}(${a})${o} ${c}`;return e==="value"?`(${s})`:s}emitFatArrow(n,f,e,t){let[i,u]=f;if((!i||Array.isArray(i)&&i.length===0)&&this.containsIt(u))i=["it"];let l=t.isVoid||!1,a=this.emitParamList(i),c=this.inlineReturnType(t?.[0]),h=!c&&i.length===1&&typeof i[0]==="string"&&!a.includes("=")&&!a.includes("...")&&!a.includes("[")&&!a.includes("{")?a:`(${a})`,s=this.containsAwait(u)?"async ":"";if(!l){if(this.is(u,"block")&&u.length===2){let _=u[1],A=Array.isArray(_)?_[0]:null;if(A!=="return"&&!Nt.has(A)){let y=this.emit(_,"value");if(y[0]==="{")y=`(${y})`;return`${s}${h}${c} => ${y}`}}if(!Array.isArray(u)||u[0]!=="block"){let _=this.emit(u,"value");if(_[0]==="{")_=`(${_})`;return`${s}${h}${c} => ${_}`}}let w=this.emitFunctionBody(u,i,l);return`${s}${h}${c} => ${w}`}emitReturn(n,f,e,t){if(f.length===0)return"return";let[i]=f;if(this.sideEffectOnly&&!(this.is(i,"->")||this.is(i,"=>")))this.error("Cannot return a value from a void function (declared with !)",t);if(this.is(i,"if")){let[,u,l,...a]=i;if(a.length===0){let c=Array.isArray(l)&&l.length===1?l[0]:l;return`if (${this.emit(u,"value")}) return ${this.emit(c,"value")}`}}if(this.is(i,"new")&&Array.isArray(i[1])&&i[1][0]==="if"){let[,u,l]=i[1],a=Array.isArray(l)&&l.length===1?l[0]:l;return`if (${this.emit(u,"value")}) return ${this.emit(["new",a],"value")}`}return`return ${this.emit(i,"value")}`}emitState(n,f){let[e,t]=f;this.usesReactivity=!0;let i=j(e)??e;if(!this.reactiveVars)this.reactiveVars=new Set;return this.reactiveVars.add(i),`const ${i} = __state(${this.emit(t,"value")})`}emitComputed(n,f){let[e,t]=f;if(this.usesReactivity=!0,!this.reactiveVars)this.reactiveVars=new Set;let i=j(e)??e;if(this.reactiveVars.add(i),this.is(t,"block")&&t.length>2)return`const ${i} = __computed(() => ${this.emitFunctionBody(t)})`;return`const ${i} = __computed(() => ${this.emit(t,"value")})`}emitReadonly(n,f){let[e,t]=f;return`const ${j(e)??e} = ${this.emit(t,"value")}`}emitGate(n,f,e,t){this.error("'<~' (render-ready gate) is only valid at the top of a component body",t)}emitEffect(n,f){let[e,t]=f;this.usesReactivity=!0;let i;if(this.is(t,"block"))i=this.emitFunctionBody(t);else if(this.is(t,"->")||this.is(t,"=>")){let l=this.emit(t,"value");if(e)return`const ${j(e)??this.emit(e,"value")} = __effect(${l})`;return`__effect(${l})`}else i=`{ ${this.emit(t,"value")}; }`;let u=`__effect(() => ${i})`;if(e)return`const ${j(e)??this.emit(e,"value")} = ${u}`;return u}emitBreak(){return"break"}emitContinue(){return"continue"}emitExistential(n,f){return`(${this.emit(f[0],"value")} != null)`}emitPresence(n,f){return`(${this.emit(f[0],"value")} ? true : undefined)`}emitTernary(n,f,e){let[t,i,u]=f;if((i?.[0]?.valueOf?.()??i?.[0])==="="&&Array.isArray(i)&&!i.parenthesized){let a=this.emit(i[1],"value"),c=this.emit(i[2],"value"),r=this.emit(u,"value");return`${a} = (${this.unwrap(this.emit(t,"value"))} ? ${c} : ${r})`}return`(${this.unwrap(this.emit(t,"value"))} ? ${this.emit(i,"value")} : ${this.emit(u,"value")})`}emitLoop(n,f,e){if(e==="value")return this.emitLoopAsValue("while (true)",f[0]);return`while (true) ${this.emitLoopBody(f[0])}`}emitLoopN(n,f,e){let[t,i]=f,l=`for (let it = 0; it < ${this.emit(t,"value")}; it++)`;if(e==="value")return this.emitLoopAsValue(l,i);return`${l} ${this.emitLoopBody(i)}`}emitLoopAsValue(n,f,e){let t=this.containsAwait(f)||e!=null&&this.containsAwait(e),i=this.asyncIIFEOpen(t)+`
2426
2426
  `;if(this.indentLevel++,i+=this.indent()+`const result = [];
2427
2427
  `,i+=this.indent()+n+` {
2428
2428
  `,this.indentLevel++,e!=null)i+=this.indent()+`if (!(${this.unwrap(this.emit(e,"value"))})) continue;
@@ -2430,29 +2430,29 @@ function _setDataSection() {
2430
2430
  `;else i+=this.indent()+`result.push(${this.emit(r,"value")});
2431
2431
  `}return this.indentLevel--,i+=this.indent()+`}
2432
2432
  `,i+=this.indent()+`return result;
2433
- `,this.indentLevel--,i+=this.indent()+"})()",i}emitAwait(n,f){return`await ${this.emit(f[0],"value")}`}emitYield(n,f){return f.length===0?"yield":`yield ${this.emit(f[0],"value")}`}emitYieldFrom(n,f){return`yield* ${this.emit(f[0],"value")}`}emitIf(n,f,e,t){let[i,u,...l]=f;return e==="value"?this.emitIfAsExpression(i,u,l):this.emitIfAsStatement(i,u,l)}validateComprehensionFilters(n){if(!Array.isArray(n))return;if(j(n[0])==="if"){let[,f,e,...t]=n;this._checkComprehensionFilterTrap(f,e,t,n)}for(let f=0;f<n.length;f++)this.validateComprehensionFilters(n[f])}_checkComprehensionFilterTrap(n,f,e,t){if(e.length)return;let i=this._collectLeakVars(f);if(i.size&&this._referencesAnyName(n,i))this._throwComprehensionFilterTrap(t);let u=this._collectLeakVars(n);if(u.size&&this._referencesAnyName(f,u))this._throwComprehensionFilterTrap(t)}_collectLeakVars(n){let f=new Set,e=(t)=>{if(!Array.isArray(t))return;let i=j(t[0]);if(i==="comprehension"||i==="object-comprehension")for(let u of this._collectComprehensionVars(t))f.add(u);for(let u=0;u<t.length;u++)e(t[u])};return e(n),f}_throwComprehensionFilterTrap(n){this.error("Comprehensions filter with `when`, not `if` — the trailing `if` wraps the whole comprehension and its loop variable is out of scope here",n,{suggestion:"Use `(expr for x in xs when cond)` instead of `(expr for x in xs if cond)`"})}_collectComprehensionVars(n){let f=new Set,e=(i)=>{if(typeof i==="string"){f.add(i);return}if(i instanceof String){f.add(i.valueOf());return}if(!Array.isArray(i))return;let u=j(i[0]);if(u==="default"){e(i[1]);return}if(u==="..."||u==="rest"){e(i[1]);return}if(u==="array"){for(let l=1;l<i.length;l++)if(i[l]!==","&&i[l]!=null)e(i[l]);return}if(u==="object"){for(let l=1;l<i.length;l++){let a=i[l];if(!Array.isArray(a))continue;let c=j(a[0]);if(c===null||c===":")e(a[2]);else if(c==="="||c==="...")e(a[1])}return}},t=(j(n[0])==="object-comprehension"?n[3]:n[2])||[];for(let i of t){let u=i[1];if(Array.isArray(u))for(let l of u)e(l);else e(u)}return f}_referencesAnyName(n,f){if(typeof n==="string")return f.has(n);if(n instanceof String)return f.has(n.valueOf());if(!Array.isArray(n))return!1;let e=j(n[0]);if((e==="."||e==="?.")&&n.length===3)return this._referencesAnyName(n[1],f);if(e==="comprehension"||e==="object-comprehension"){let t=this._collectComprehensionVars(n);if([...t].some((i)=>f.has(i))){if(f=new Set([...f].filter((i)=>!t.has(i))),f.size===0)return!1}}if(f.has(e))return!0;for(let t=1;t<n.length;t++)if(this._referencesAnyName(n[t],f))return!0;return!1}emitForIn(n,f,e,t){let[i,u,l,a,c]=f;if(e==="value"&&this.comprehensionDepth===0){let m=["for-in",i,u,l];return this.emit(["comprehension",c,[m],a?[a]:[]],e)}let r=Array.isArray(i)?i:[i],h=r.length===0,[o,s]=h?["_i",null]:r,w=this.is(o,"array")||this.is(o,"object")?this.emitDestructuringPattern(o):o;if(l&&l!==null){let m=this.emit(u,"value"),R=s||"_i",U=this.emit(l,"value"),_=this.is(l,"-",1),D=_&&(l[1]==="1"||l[1]===1||j(l[1])==="1"),M=!_&&(l==="1"||l===1||j(l)==="1"),q;if(D)q=`for (let ${R} = ${m}.length - 1; ${R} >= 0; ${R}--) `;else if(M)q=`for (let ${R} = 0; ${R} < ${m}.length; ${R}++) `;else if(_)q=`for (let ${R} = ${m}.length - 1; ${R} >= 0; ${R} += ${U}) `;else q=`for (let ${R} = 0; ${R} < ${m}.length; ${R} += ${U}) `;if(this.is(c,"block")){let S=c.slice(1);this.indentLevel++;let d=[];if(!h)d.push(`let ${w} = ${m}[${R}];`);if(a)d.push(`if (${this.emit(a,"value")}) {`),this.indentLevel++,d.push(...this.formatStatements(S)),this.indentLevel--,d.push(this.indent()+"}");else d.push(...S.map((K)=>this.addSemicolon(K,this.emit(K,"statement"))));return this.indentLevel--,q+`{
2433
+ `,this.indentLevel--,i+=this.indent()+"})()",i}emitAwait(n,f){return`await ${this.emit(f[0],"value")}`}emitYield(n,f){return f.length===0?"yield":`yield ${this.emit(f[0],"value")}`}emitYieldFrom(n,f){return`yield* ${this.emit(f[0],"value")}`}emitIf(n,f,e,t){let[i,u,...l]=f;return e==="value"?this.emitIfAsExpression(i,u,l):this.emitIfAsStatement(i,u,l)}validateComprehensionFilters(n){if(!Array.isArray(n))return;if(j(n[0])==="if"){let[,f,e,...t]=n;this._checkComprehensionFilterTrap(f,e,t,n)}for(let f=0;f<n.length;f++)this.validateComprehensionFilters(n[f])}_checkComprehensionFilterTrap(n,f,e,t){if(e.length)return;let i=this._collectLeakVars(f);if(i.size&&this._referencesAnyName(n,i))this._throwComprehensionFilterTrap(t);let u=this._collectLeakVars(n);if(u.size&&this._referencesAnyName(f,u))this._throwComprehensionFilterTrap(t)}_collectLeakVars(n){let f=new Set,e=(t)=>{if(!Array.isArray(t))return;let i=j(t[0]);if(i==="comprehension"||i==="object-comprehension")for(let u of this._collectComprehensionVars(t))f.add(u);for(let u=0;u<t.length;u++)e(t[u])};return e(n),f}_throwComprehensionFilterTrap(n){this.error("Comprehensions filter with `when`, not `if` — the trailing `if` wraps the whole comprehension and its loop variable is out of scope here",n,{suggestion:"Use `(expr for x in xs when cond)` instead of `(expr for x in xs if cond)`"})}_collectComprehensionVars(n){let f=new Set,e=(i)=>{if(typeof i==="string"){f.add(i);return}if(i instanceof String){f.add(i.valueOf());return}if(!Array.isArray(i))return;let u=j(i[0]);if(u==="default"){e(i[1]);return}if(u==="..."||u==="rest"){e(i[1]);return}if(u==="array"){for(let l=1;l<i.length;l++)if(i[l]!==","&&i[l]!=null)e(i[l]);return}if(u==="object"){for(let l=1;l<i.length;l++){let a=i[l];if(!Array.isArray(a))continue;let c=j(a[0]);if(c===null||c===":")e(a[2]);else if(c==="="||c==="...")e(a[1])}return}},t=(j(n[0])==="object-comprehension"?n[3]:n[2])||[];for(let i of t){let u=i[1];if(Array.isArray(u))for(let l of u)e(l);else e(u)}return f}_referencesAnyName(n,f){if(typeof n==="string")return f.has(n);if(n instanceof String)return f.has(n.valueOf());if(!Array.isArray(n))return!1;let e=j(n[0]);if((e==="."||e==="?.")&&n.length===3)return this._referencesAnyName(n[1],f);if(e==="comprehension"||e==="object-comprehension"){let t=this._collectComprehensionVars(n);if([...t].some((i)=>f.has(i))){if(f=new Set([...f].filter((i)=>!t.has(i))),f.size===0)return!1}}if(f.has(e))return!0;for(let t=1;t<n.length;t++)if(this._referencesAnyName(n[t],f))return!0;return!1}emitForIn(n,f,e,t){let[i,u,l,a,c]=f;if(e==="value"&&this.comprehensionDepth===0){let y=["for-in",i,u,l];return this.emit(["comprehension",c,[y],a?[a]:[]],e)}let r=Array.isArray(i)?i:[i],h=r.length===0,[o,s]=h?["_i",null]:r,w=this.is(o,"array")||this.is(o,"object")?this.emitDestructuringPattern(o):o;if(l&&l!==null){let y=this.emit(u,"value"),R=s||"_i",U=this.emit(l,"value"),m=this.is(l,"-",1),D=m&&(l[1]==="1"||l[1]===1||j(l[1])==="1"),M=!m&&(l==="1"||l===1||j(l)==="1"),q;if(D)q=`for (let ${R} = ${y}.length - 1; ${R} >= 0; ${R}--) `;else if(M)q=`for (let ${R} = 0; ${R} < ${y}.length; ${R}++) `;else if(m)q=`for (let ${R} = ${y}.length - 1; ${R} >= 0; ${R} += ${U}) `;else q=`for (let ${R} = 0; ${R} < ${y}.length; ${R} += ${U}) `;if(this.is(c,"block")){let S=c.slice(1);this.indentLevel++;let d=[];if(!h)d.push(`let ${w} = ${y}[${R}];`);if(a)d.push(`if (${this.emit(a,"value")}) {`),this.indentLevel++,d.push(...this.formatStatements(S)),this.indentLevel--,d.push(this.indent()+"}");else d.push(...S.map((K)=>this.addSemicolon(K,this.emit(K,"statement"))));return this.indentLevel--,q+`{
2434
2434
  ${d.map((K)=>this.indent()+K).join(`
2435
2435
  `)}
2436
- ${this.indent()}}`}if(h)return a?q+`{ if (${this.emit(a,"value")}) ${this.emit(c,"statement")}; }`:q+`{ ${this.emit(c,"statement")}; }`;return a?q+`{ let ${w} = ${m}[${R}]; if (${this.emit(a,"value")}) ${this.emit(c,"statement")}; }`:q+`{ let ${w} = ${m}[${R}]; ${this.emit(c,"statement")}; }`}if(s){let m=this.emit(u,"value"),R=`for (let ${s} = 0; ${s} < ${m}.length; ${s}++) `;if(this.is(c,"block")){if(R+=`{
2437
- `,this.indentLevel++,R+=this.indent()+`let ${w} = ${m}[${s}];
2436
+ ${this.indent()}}`}if(h)return a?q+`{ if (${this.emit(a,"value")}) ${this.emit(c,"statement")}; }`:q+`{ ${this.emit(c,"statement")}; }`;return a?q+`{ let ${w} = ${y}[${R}]; if (${this.emit(a,"value")}) ${this.emit(c,"statement")}; }`:q+`{ let ${w} = ${y}[${R}]; ${this.emit(c,"statement")}; }`}if(s){let y=this.emit(u,"value"),R=`for (let ${s} = 0; ${s} < ${y}.length; ${s}++) `;if(this.is(c,"block")){if(R+=`{
2437
+ `,this.indentLevel++,R+=this.indent()+`let ${w} = ${y}[${s}];
2438
2438
  `,a)R+=this.indent()+`if (${this.unwrap(this.emit(a,"value"))}) {
2439
2439
  `,this.indentLevel++,R+=this.formatStatements(c.slice(1)).join(`
2440
2440
  `)+`
2441
2441
  `,this.indentLevel--,R+=this.indent()+`}
2442
2442
  `;else R+=this.formatStatements(c.slice(1)).join(`
2443
2443
  `)+`
2444
- `;this.indentLevel--,R+=this.indent()+"}"}else R+=a?`{ let ${w} = ${m}[${s}]; if (${this.unwrap(this.emit(a,"value"))}) ${this.emit(c,"statement")}; }`:`{ let ${w} = ${m}[${s}]; ${this.emit(c,"statement")}; }`;return R}let y=Array.isArray(u)&&u[0];if(y instanceof String)y=j(y);if(y===".."||y==="..."){let m=y==="...",[R,U]=u.slice(1),_=(D)=>typeof D==="number"||typeof D==="string"&&!D.includes("(")||D instanceof String&&!j(D).includes("(")||this.is(D,".");if(_(R)&&_(U)){let D=this.emit(R,"value"),M=this.emit(U,"value"),q=m?"<":"<=",S=l?`${w} += ${this.emit(l,"value")}`:`${w}++`,d=`for (let ${w} = ${D}; ${w} ${q} ${M}; ${S}) `;return d+=a?this.emitLoopBodyWithGuard(c,a):this.emitLoopBody(c),d}}let A=`for (let ${w} of ${this.emit(u,"value")}) `;return A+=a?this.emitLoopBodyWithGuard(c,a):this.emitLoopBody(c),A}emitForOf(n,f,e,t){let[i,u,l,a,c]=f;if(e==="value"&&this.comprehensionDepth===0){let w=["for-of",i,u,l];return this.emit(["comprehension",c,[w],a?[a]:[]],e)}let[r,h]=Array.isArray(i)?i:[i],o=this.emit(u,"value"),s=`for (let ${r} in ${o}) `;if(l&&!h&&!a){if(this.is(c,"block")){this.indentLevel++;let w=[`if (!Object.hasOwn(${o}, ${r})) continue;`,...c.slice(1).map((y)=>this.addSemicolon(y,this.emit(y,"statement")))];return this.indentLevel--,s+`{
2445
- ${w.map((y)=>this.indent()+y).join(`
2444
+ `;this.indentLevel--,R+=this.indent()+"}"}else R+=a?`{ let ${w} = ${y}[${s}]; if (${this.unwrap(this.emit(a,"value"))}) ${this.emit(c,"statement")}; }`:`{ let ${w} = ${y}[${s}]; ${this.emit(c,"statement")}; }`;return R}let _=Array.isArray(u)&&u[0];if(_ instanceof String)_=j(_);if(_===".."||_==="..."){let y=_==="...",[R,U]=u.slice(1),m=(D)=>typeof D==="number"||typeof D==="string"&&!D.includes("(")||D instanceof String&&!j(D).includes("(")||this.is(D,".");if(m(R)&&m(U)){let D=this.emit(R,"value"),M=this.emit(U,"value"),q=y?"<":"<=",S=l?`${w} += ${this.emit(l,"value")}`:`${w}++`,d=`for (let ${w} = ${D}; ${w} ${q} ${M}; ${S}) `;return d+=a?this.emitLoopBodyWithGuard(c,a):this.emitLoopBody(c),d}}let A=`for (let ${w} of ${this.emit(u,"value")}) `;return A+=a?this.emitLoopBodyWithGuard(c,a):this.emitLoopBody(c),A}emitForOf(n,f,e,t){let[i,u,l,a,c]=f;if(e==="value"&&this.comprehensionDepth===0){let w=["for-of",i,u,l];return this.emit(["comprehension",c,[w],a?[a]:[]],e)}let[r,h]=Array.isArray(i)?i:[i],o=this.emit(u,"value"),s=`for (let ${r} in ${o}) `;if(l&&!h&&!a){if(this.is(c,"block")){this.indentLevel++;let w=[`if (!Object.hasOwn(${o}, ${r})) continue;`,...c.slice(1).map((_)=>this.addSemicolon(_,this.emit(_,"statement")))];return this.indentLevel--,s+`{
2445
+ ${w.map((_)=>this.indent()+_).join(`
2446
2446
  `)}
2447
- ${this.indent()}}`}return s+`{ if (!Object.hasOwn(${o}, ${r})) continue; ${this.emit(c,"statement")}; }`}if(h){if(this.is(c,"block")){let y=c.slice(1);this.indentLevel++;let A=[];if(l)A.push(`if (!Object.hasOwn(${o}, ${r})) continue;`);if(A.push(`let ${h} = ${o}[${r}];`),a)A.push(`if (${this.emit(a,"value")}) {`),this.indentLevel++,A.push(...y.map((m)=>this.addSemicolon(m,this.emit(m,"statement")))),this.indentLevel--,A.push(this.indent()+"}");else A.push(...y.map((m)=>this.addSemicolon(m,this.emit(m,"statement"))));return this.indentLevel--,s+`{
2448
- ${A.map((m)=>this.indent()+m).join(`
2447
+ ${this.indent()}}`}return s+`{ if (!Object.hasOwn(${o}, ${r})) continue; ${this.emit(c,"statement")}; }`}if(h){if(this.is(c,"block")){let _=c.slice(1);this.indentLevel++;let A=[];if(l)A.push(`if (!Object.hasOwn(${o}, ${r})) continue;`);if(A.push(`let ${h} = ${o}[${r}];`),a)A.push(`if (${this.emit(a,"value")}) {`),this.indentLevel++,A.push(..._.map((y)=>this.addSemicolon(y,this.emit(y,"statement")))),this.indentLevel--,A.push(this.indent()+"}");else A.push(..._.map((y)=>this.addSemicolon(y,this.emit(y,"statement"))));return this.indentLevel--,s+`{
2448
+ ${A.map((y)=>this.indent()+y).join(`
2449
2449
  `)}
2450
- ${this.indent()}}`}let w="";if(l)w+=`if (!Object.hasOwn(${o}, ${r})) continue; `;if(w+=`let ${h} = ${o}[${r}]; `,a)w+=`if (${this.emit(a,"value")}) `;return w+=`${this.emit(c,"statement")};`,s+`{ ${w} }`}return s+=a?this.emitLoopBodyWithGuard(c,a):this.emitLoopBody(c),s}emitForAs(n,f,e,t){let i=Array.isArray(f[0])?f[0]:[f[0]],[u]=i,l=f[1],a=f[2],c=f[3],r=f[4],h=!1,o=[];if(this.is(u,"array")){let m=u.slice(1),R=m.findIndex((U)=>this.is(U,"...")||U==="...");if(R!==-1&&R<m.length-1){h=!0;let U=m.slice(R+1),_=U.length,D=m.slice(0,R),M=m[R],q=this.is(M,"...")?M[1]:"_rest",S=D.map((E)=>E===","?"":typeof E==="string"?E:this.emit(E,"value")).join(", "),d=S?`${S}, ...${q}`:`...${q}`,K=U.map((E)=>E===","?"":typeof E==="string"?E:this.emit(E,"value")).join(", ");o.push(`[${d}] = _item`),o.push(`[${K}] = ${q}.splice(-${_})`),this.helpers.add("slice"),m.forEach((E)=>{if(E===","||E==="...")return;if(typeof E==="string")this.programVars.add(E);else if(this.is(E,"...")&&typeof E[1]==="string")this.programVars.add(E[1])})}}let s=this.emit(l,"value"),w=a?"await ":"",y;if(h)y="_item";else if(this.is(u,"array")||this.is(u,"object"))y=this.emitDestructuringPattern(u);else y=u;let A=`for ${w}(let ${y} of ${s}) `;if(h&&o.length>0){let m=this.unwrapBlock(r),R=this.withIndent(()=>[...o.map((U)=>this.indent()+U+";"),...this.formatStatements(m)]);A+=`{
2450
+ ${this.indent()}}`}let w="";if(l)w+=`if (!Object.hasOwn(${o}, ${r})) continue; `;if(w+=`let ${h} = ${o}[${r}]; `,a)w+=`if (${this.emit(a,"value")}) `;return w+=`${this.emit(c,"statement")};`,s+`{ ${w} }`}return s+=a?this.emitLoopBodyWithGuard(c,a):this.emitLoopBody(c),s}emitForAs(n,f,e,t){let i=Array.isArray(f[0])?f[0]:[f[0]],[u]=i,l=f[1],a=f[2],c=f[3],r=f[4],h=!1,o=[];if(this.is(u,"array")){let y=u.slice(1),R=y.findIndex((U)=>this.is(U,"...")||U==="...");if(R!==-1&&R<y.length-1){h=!0;let U=y.slice(R+1),m=U.length,D=y.slice(0,R),M=y[R],q=this.is(M,"...")?M[1]:"_rest",S=D.map((E)=>E===","?"":typeof E==="string"?E:this.emit(E,"value")).join(", "),d=S?`${S}, ...${q}`:`...${q}`,K=U.map((E)=>E===","?"":typeof E==="string"?E:this.emit(E,"value")).join(", ");o.push(`[${d}] = _item`),o.push(`[${K}] = ${q}.splice(-${m})`),this.helpers.add("slice"),y.forEach((E)=>{if(E===","||E==="...")return;if(typeof E==="string")this.programVars.add(E);else if(this.is(E,"...")&&typeof E[1]==="string")this.programVars.add(E[1])})}}let s=this.emit(l,"value"),w=a?"await ":"",_;if(h)_="_item";else if(this.is(u,"array")||this.is(u,"object"))_=this.emitDestructuringPattern(u);else _=u;let A=`for ${w}(let ${_} of ${s}) `;if(h&&o.length>0){let y=this.unwrapBlock(r),R=this.withIndent(()=>[...o.map((U)=>this.indent()+U+";"),...this.formatStatements(y)]);A+=`{
2451
2451
  ${R.join(`
2452
2452
  `)}
2453
- ${this.indent()}}`}else A+=c?this.emitLoopBodyWithGuard(r,c):this.emitLoopBody(r);return A}emitWhile(n,f,e){let t=f[0],i=f.length===3?f[1]:null,u=f[f.length-1],l=`while (${this.unwrap(this.emit(t,"value"))})`;if(e==="value")return this.emitLoopAsValue(l,u,i);return l+" "+(i?this.emitLoopBodyWithGuard(u,i):this.emitLoopBody(u))}emitRange(n,f){if(n==="..."){if(f.length===1)return`...${this.emit(f[0],"value")}`;let[l,a]=f,c=this.emit(l,"value"),r=this.emit(a,"value");return`((s, e) => Array.from({length: Math.max(0, Math.abs(e - s))}, (_, i) => s + (i * (s <= e ? 1 : -1))))(${c}, ${r})`}let[e,t]=f,i=this.emit(e,"value"),u=this.emit(t,"value");return`((s, e) => Array.from({length: Math.abs(e - s) + 1}, (_, i) => s + (i * (s <= e ? 1 : -1))))(${i}, ${u})`}emitNot(n,f){let[e]=f;if(typeof e==="string"||e instanceof String)return`!${this.emit(e,"value")}`;if(Array.isArray(e)){if([".","?.","[]","optindex","optcall"].includes(e[0]))return`!${this.emit(e,"value")}`}let t=this.emit(e,"value");return t.startsWith("(")?`!${t}`:`(!${t})`}emitBitwiseNot(n,f){return`(~${this.emit(f[0],"value")})`}emitIncDec(n,f){let[e,t]=f,i=this.emit(e,"value");return t?`(${i}${n})`:`(${n}${i})`}emitTypeof(n,f){return`typeof ${this.emit(f[0],"value")}`}emitDelete(n,f){return`(delete ${this.emit(f[0],"value")})`}emitInstanceof(n,f,e,t){let[i,u]=f,l=qn(t[0],"invert"),a=`(${this.emit(i,"value")} instanceof ${this.emit(u,"value")})`;return l?`(!${a})`:a}emitIn(n,f,e,t){let[i,u]=f,l=this.emit(i,"value"),a=qn(t[0],"invert");if(this.is(u,"object")){let h=`(${l} in ${this.emit(u,"value")})`;return a?`(!${h})`:h}let c=this.emit(u,"value"),r=`(Array.isArray(${c}) || typeof ${c} === 'string' ? ${c}.includes(${l}) : (${l} in ${c}))`;return a?`(!${r})`:r}emitOf(n,f,e,t){let[i,u]=f,l=this.emit(i,"value"),a=this.emit(u,"value"),c=qn(t[0],"invert"),r=`(${l} in ${a})`;return c?`(!${r})`:r}emitRegexMatch(n,f,e,t){let[i,u]=f;if(this.is(i,"=~")&&!i.parenthesized)this.error("`=~` does not chain — `a =~ b =~ c` would match the first match result against the second pattern",t,{suggestion:"Parenthesize the intended match, e.g. `(a =~ b) =~ c`, or split into separate expressions"});this.helpers.add("toMatchable"),this.programVars.add("_");let l=this.emit(u,"value"),a=l.includes("/m")?", true":"";return`(_ = toMatchable(${this.emit(i,"value")}${a}).match(${l}))`}emitNew(n,f){let[e]=f;if(this.is(e,".")||this.is(e,"?.")){let[t,i,u]=e;if(Array.isArray(i)&&!i[0].startsWith)return`(${this.emit(["new",i],"value")}).${u}`;return`new ${this.emit(i,"value")}.${u}`}if(Array.isArray(e)){let[t,...i]=e;return`new ${this.emit(t,"value")}(${i.map((u)=>this.unwrap(this.emit(u,"value"))).join(", ")})`}return`new ${this.emit(e,"value")}()`}emitLogicalAnd(n,f,e,t){let i=this.flattenBinaryChain(t).slice(1);if(i.length===0)return"true";if(i.length===1)return this.emit(i[0],"value");return`(${i.map((u)=>this.emit(u,"value")).join(" && ")})`}emitLogicalOr(n,f,e,t){let i=this.flattenBinaryChain(t).slice(1);if(i.length===0)return"true";if(i.length===1)return this.emit(i[0],"value");return`(${i.map((u)=>this.emit(u,"value")).join(" || ")})`}emitSymbol(n,f,e,t){if(t&&t.loc&&typeof f[0]==="string")t._anchors=(t._anchors||[]).concat([{name:"Symbol",origLine:t.loc.r,origCol:t.loc.c+1}]);return`Symbol.for(${JSON.stringify(f[0])})`}emitArray(n,f){let e=f.length>0&&f[f.length-1]===",",t=f.map((i)=>{if(i===",")return"";if(i==="...")return"";if(this.is(i,"..."))return`...${this.emit(i[1],"value")}`;return this.emit(i,"value")}).join(", ");return e?`[${t},]`:`[${t}]`}emitObject(n,f,e){if(f.length===1&&Array.isArray(f[0])&&Array.isArray(f[0][2])&&f[0][2][0]==="comprehension"){let[,s,w]=f[0],[,y,A,m]=w;return this.emit(["object-comprehension",s,y,A,m],e)}let t=(s,w,y=0,A=1/0)=>{let m=this.options&&this.options.source;if(!m||typeof w!=="string"||!/^[A-Za-z_$][\w$]*$/.test(w))return-1;let U=(this._sourceLinesCache||(this._sourceLinesCache=m.split(`
2454
- `)))[s];if(!U)return-1;let _=new RegExp("\\b"+w.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")+"\\b","g");_.lastIndex=Math.max(0,y);let D;while((D=_.exec(U))!==null){if(D.index>=A)return-1;return D.index}return-1},i=(s,w,y=0,A=1/0)=>{let m=this.options&&this.options.source;if(!m||typeof w!=="string"||!/^[A-Za-z_$][\w$]*$/.test(w))return-1;let U=(this._sourceLinesCache||(this._sourceLinesCache=m.split(`
2455
- `)))[s];if(!U)return-1;let _=new RegExp("\\b"+w.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")+"\\b","g");_.lastIndex=Math.max(0,y);let D,M=-1;while((D=_.exec(U))!==null){if(D.index>=A)break;M=D.index}return M},u=!1,l=Array(f.length).fill(!1),a=f.map((s,w)=>{if(this.is(s,"..."))return`...${this.emit(s[1],"value")}`;let[y,A,m]=s,R,U=!1;if(this.is(A,"dynamicKey"))R=`[${this.emit(A[1],"value")}]`;else if(this.is(A,"str"))R=`[${this.emit(A,"value")}]`;else this.suppressReactiveUnwrap=!0,R=this.emit(A,"value"),this.suppressReactiveUnwrap=!1,U=!Array.isArray(A)&&typeof R==="string"&&/^[A-Za-z_$][\w$]*$/.test(R);if(y===":"&&U&&this.is(m,"->")){let[,D,M]=m;if((!D||Array.isArray(D)&&D.length===0)&&this.containsIt(M))D=["it"];let q=m.isVoid||!1,S=this.emitParamList(D),d=this.emitFunctionBody(M,D,q),K=this.containsAwait(M),E=this.containsYield(M),Z=K?"async ":"",Q=E?"*":"";if(m&&m.loc&&Array.isArray(D)&&D.length){let W=m.loc.r,C=m.loc.c,L=[],X=C;for(let fn of D){if(typeof fn!=="string")continue;let Y=t(W,fn,X);if(Y>=0)L.push({name:fn,origLine:W,origCol:Y}),X=Y+fn.length}if(L.length)m._anchors=(m._anchors||[]).concat(L)}return u=!0,l[w]=!0,`${Z}${Q}${R}(${S}) ${d}`}let _=this.emit(m,"value");if(y===":"&&U&&Array.isArray(s)&&s.loc&&typeof A==="string"){let D=t(s.loc.r,A,0,s.loc.c+A.length+1);if(D>=0)s._anchors=(s._anchors||[]).concat([{name:A,origLine:s.loc.r,origCol:D}])}if(y==="=")return`${R} = ${_}`;if(y===":")return`${R}: ${_}`;if(R===_&&!Array.isArray(A)){if(Array.isArray(s)&&s.loc&&typeof A==="string"){let D=i(s.loc.r,A,0,s.loc.c+1);if(D>=0)s._anchors=(s._anchors||[]).concat([{name:A,origLine:s.loc.r,origCol:D}])}return R}return`${R}: ${_}`});if(!u)return`{${a.join(", ")}}`;let c=[],r=[];for(let s=0;s<a.length;s++)if(l[s]||s>0&&l[s-1]){if(r.length&&c.length===0)c.push(r.join(", ")),r=[];c.push(a[s])}else if(c.length===0)r.push(a[s]);else c.push(a[s]);if(r.length&&c.length===0)c.push(r.join(", "));let h=c[0],o=c.slice(1);return o.length===0?`{${h}}`:`{${h},
2453
+ ${this.indent()}}`}else A+=c?this.emitLoopBodyWithGuard(r,c):this.emitLoopBody(r);return A}emitWhile(n,f,e){let t=f[0],i=f.length===3?f[1]:null,u=f[f.length-1],l=`while (${this.unwrap(this.emit(t,"value"))})`;if(e==="value")return this.emitLoopAsValue(l,u,i);return l+" "+(i?this.emitLoopBodyWithGuard(u,i):this.emitLoopBody(u))}emitRange(n,f){if(n==="..."){if(f.length===1)return`...${this.emit(f[0],"value")}`;let[l,a]=f,c=this.emit(l,"value"),r=this.emit(a,"value");return`((s, e) => Array.from({length: Math.max(0, Math.abs(e - s))}, (_, i) => s + (i * (s <= e ? 1 : -1))))(${c}, ${r})`}let[e,t]=f,i=this.emit(e,"value"),u=this.emit(t,"value");return`((s, e) => Array.from({length: Math.abs(e - s) + 1}, (_, i) => s + (i * (s <= e ? 1 : -1))))(${i}, ${u})`}emitNot(n,f){let[e]=f;if(typeof e==="string"||e instanceof String)return`!${this.emit(e,"value")}`;if(Array.isArray(e)){if([".","?.","[]","optindex","optcall"].includes(e[0]))return`!${this.emit(e,"value")}`}let t=this.emit(e,"value");return t.startsWith("(")?`!${t}`:`(!${t})`}emitBitwiseNot(n,f){return`(~${this.emit(f[0],"value")})`}emitIncDec(n,f){let[e,t]=f,i=this.emit(e,"value");return t?`(${i}${n})`:`(${n}${i})`}emitTypeof(n,f){return`typeof ${this.emit(f[0],"value")}`}emitDelete(n,f){return`(delete ${this.emit(f[0],"value")})`}emitInstanceof(n,f,e,t){let[i,u]=f,l=qn(t[0],"invert"),a=`(${this.emit(i,"value")} instanceof ${this.emit(u,"value")})`;return l?`(!${a})`:a}emitIn(n,f,e,t){let[i,u]=f,l=this.emit(i,"value"),a=qn(t[0],"invert");if(this.is(u,"object")){let h=`(${l} in ${this.emit(u,"value")})`;return a?`(!${h})`:h}let c=this.emit(u,"value"),r=`(Array.isArray(${c}) || typeof ${c} === 'string' ? ${c}.includes(${l}) : (${l} in ${c}))`;return a?`(!${r})`:r}emitOf(n,f,e,t){let[i,u]=f,l=this.emit(i,"value"),a=this.emit(u,"value"),c=qn(t[0],"invert"),r=`(${l} in ${a})`;return c?`(!${r})`:r}emitRegexMatch(n,f,e,t){let[i,u]=f;if(this.is(i,"=~")&&!i.parenthesized)this.error("`=~` does not chain — `a =~ b =~ c` would match the first match result against the second pattern",t,{suggestion:"Parenthesize the intended match, e.g. `(a =~ b) =~ c`, or split into separate expressions"});this.helpers.add("toMatchable"),this.programVars.add("_");let l=this.emit(u,"value"),a=l.includes("/m")?", true":"";return`(_ = toMatchable(${this.emit(i,"value")}${a}).match(${l}))`}emitNew(n,f){let[e]=f;if(this.is(e,".")||this.is(e,"?.")){let[t,i,u]=e;if(Array.isArray(i)&&!i[0].startsWith)return`(${this.emit(["new",i],"value")}).${u}`;return`new ${this.emit(i,"value")}.${u}`}if(Array.isArray(e)){let[t,...i]=e;return`new ${this.emit(t,"value")}(${i.map((u)=>this.unwrap(this.emit(u,"value"))).join(", ")})`}return`new ${this.emit(e,"value")}()`}emitLogicalAnd(n,f,e,t){let i=this.flattenBinaryChain(t).slice(1);if(i.length===0)return"true";if(i.length===1)return this.emit(i[0],"value");return`(${i.map((u)=>this.emit(u,"value")).join(" && ")})`}emitLogicalOr(n,f,e,t){let i=this.flattenBinaryChain(t).slice(1);if(i.length===0)return"true";if(i.length===1)return this.emit(i[0],"value");return`(${i.map((u)=>this.emit(u,"value")).join(" || ")})`}emitSymbol(n,f,e,t){if(t&&t.loc&&typeof f[0]==="string")t._anchors=(t._anchors||[]).concat([{name:"Symbol",origLine:t.loc.r,origCol:t.loc.c+1}]);return`Symbol.for(${JSON.stringify(f[0])})`}emitArray(n,f){let e=f.length>0&&f[f.length-1]===",",t=f.map((i)=>{if(i===",")return"";if(i==="...")return"";if(this.is(i,"..."))return`...${this.emit(i[1],"value")}`;return this.emit(i,"value")}).join(", ");return e?`[${t},]`:`[${t}]`}emitObject(n,f,e){if(f.length===1&&Array.isArray(f[0])&&Array.isArray(f[0][2])&&f[0][2][0]==="comprehension"){let[,s,w]=f[0],[,_,A,y]=w;return this.emit(["object-comprehension",s,_,A,y],e)}let t=(s,w,_=0,A=1/0)=>{let y=this.options&&this.options.source;if(!y||typeof w!=="string"||!/^[A-Za-z_$][\w$]*$/.test(w))return-1;let U=(this._sourceLinesCache||(this._sourceLinesCache=y.split(`
2454
+ `)))[s];if(!U)return-1;let m=new RegExp("\\b"+w.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")+"\\b","g");m.lastIndex=Math.max(0,_);let D;while((D=m.exec(U))!==null){if(D.index>=A)return-1;return D.index}return-1},i=(s,w,_=0,A=1/0)=>{let y=this.options&&this.options.source;if(!y||typeof w!=="string"||!/^[A-Za-z_$][\w$]*$/.test(w))return-1;let U=(this._sourceLinesCache||(this._sourceLinesCache=y.split(`
2455
+ `)))[s];if(!U)return-1;let m=new RegExp("\\b"+w.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")+"\\b","g");m.lastIndex=Math.max(0,_);let D,M=-1;while((D=m.exec(U))!==null){if(D.index>=A)break;M=D.index}return M},u=!1,l=Array(f.length).fill(!1),a=f.map((s,w)=>{if(this.is(s,"..."))return`...${this.emit(s[1],"value")}`;let[_,A,y]=s,R,U=!1;if(this.is(A,"dynamicKey"))R=`[${this.emit(A[1],"value")}]`;else if(this.is(A,"str"))R=`[${this.emit(A,"value")}]`;else this.suppressReactiveUnwrap=!0,R=this.emit(A,"value"),this.suppressReactiveUnwrap=!1,U=!Array.isArray(A)&&typeof R==="string"&&/^[A-Za-z_$][\w$]*$/.test(R);if(_===":"&&U&&this.is(y,"->")){let[,D,M]=y;if((!D||Array.isArray(D)&&D.length===0)&&this.containsIt(M))D=["it"];let q=y.isVoid||!1,S=this.emitParamList(D),d=this.emitFunctionBody(M,D,q),K=this.containsAwait(M),E=this.containsYield(M),Z=K?"async ":"",Q=E?"*":"";if(y&&y.loc&&Array.isArray(D)&&D.length){let W=y.loc.r,C=y.loc.c,L=[],X=C;for(let fn of D){if(typeof fn!=="string")continue;let Y=t(W,fn,X);if(Y>=0)L.push({name:fn,origLine:W,origCol:Y}),X=Y+fn.length}if(L.length)y._anchors=(y._anchors||[]).concat(L)}return u=!0,l[w]=!0,`${Z}${Q}${R}(${S}) ${d}`}let m=this.emit(y,"value");if(_===":"&&U&&Array.isArray(s)&&s.loc&&typeof A==="string"){let D=t(s.loc.r,A,0,s.loc.c+A.length+1);if(D>=0)s._anchors=(s._anchors||[]).concat([{name:A,origLine:s.loc.r,origCol:D}])}if(_==="=")return`${R} = ${m}`;if(_===":")return`${R}: ${m}`;if(R===m&&!Array.isArray(A)){if(Array.isArray(s)&&s.loc&&typeof A==="string"){let D=i(s.loc.r,A,0,s.loc.c+1);if(D>=0)s._anchors=(s._anchors||[]).concat([{name:A,origLine:s.loc.r,origCol:D}])}return R}return`${R}: ${m}`});if(!u)return`{${a.join(", ")}}`;let c=[],r=[];for(let s=0;s<a.length;s++)if(l[s]||s>0&&l[s-1]){if(r.length&&c.length===0)c.push(r.join(", ")),r=[];c.push(a[s])}else if(c.length===0)r.push(a[s]);else c.push(a[s]);if(r.length&&c.length===0)c.push(r.join(", "));let h=c[0],o=c.slice(1);return o.length===0?`{${h}}`:`{${h},
2456
2456
  ${o.join(`,
2457
2457
  `)}}`}emitMap(n,f,e){if(f.length===0)return"new Map()";return`new Map([${f.map((i)=>{if(this.is(i,"..."))return`...${this.emit(i[1],"value")}`;let[,u,l]=i,a;if(Array.isArray(u))a=this.emit(u,"value");else{let r=j(u)??u;a=!r.startsWith('"')&&!r.startsWith("'")&&!r.startsWith("/")&&!Fn.NUMBER_START_RE.test(r)&&!Xt.has(r)?`"${r}"`:this.emit(u,"value")}let c=this.emit(l,"value");return`[${a}, ${c}]`}).join(", ")}])`}emitBlock(n,f,e){if(e==="statement")return`{
2458
2458
  ${this.withIndent(()=>this.formatStatements(f)).join(`
@@ -2465,13 +2465,13 @@ ${this.indent()} ${o};
2465
2465
  ${this.indent()}}`}}let i=`throw ${this.emit(t,"value")}`;return e==="value"?`(() => { ${i}; })()`:i}emitControl(n,f,e){let[t,i,u]=f,l=j(t),a=u[0]==="return",c=this.emit(i,"value"),r=u.length>1?u[1]:null,h=a?r?`return ${this.emit(r,"value")}`:"return":r?`throw ${this.emit(r,"value")}`:"throw new Error()",o=this.wrapForCondition(c);if(e==="value"){if(l==="??")return`(() => { const __v = ${c}; if (__v == null) ${h}; return __v; })()`;if(l==="||")return`(() => { const __v = ${c}; if (!__v) ${h}; return __v; })()`;return`(() => { const __v = ${c}; if (__v) ${h}; return __v; })()`}if(l==="??")return`if (${o} == null) ${h}`;if(l==="||")return`if (!${o}) ${h}`;return`if (${o}) ${h}`}emitSwitch(n,f,e){let[t,i,u]=f;if(t===null)return this.emitSwitchAsIfChain(i,u,e);let l=`switch (${this.emit(t,"value")}) {
2466
2466
  `;this.indentLevel++;for(let a of i){let[,c,r]=a;for(let h of c){let o=j(h)??h,s;if(Array.isArray(o))s=this.emit(o,"value");else if(typeof o==="string"&&(o.startsWith('"')||o.startsWith("'")))s=`'${o.slice(1,-1)}'`;else s=this.emit(o,"value");l+=this.indent()+`case ${s}:
2467
2467
  `}this.indentLevel++,l+=this.emitSwitchCaseBody(r,e),this.indentLevel--}if(u)l+=this.indent()+`default:
2468
- `,this.indentLevel++,l+=this.emitSwitchCaseBody(u,e),this.indentLevel--;if(this.indentLevel--,l+=this.indent()+"}",e==="value"){let a=this.containsAwait(t)||i.some((c)=>this.containsAwait(c[1])||this.containsAwait(c[2]))||u&&this.containsAwait(u);return this.asyncIIFE(a,l)}return l}emitWhen(n,f,e,t){this.error("when clause should be handled by switch",t)}_forInHeader(n,f,e){let t=Array.isArray(n)?n:[n],i=t.length===0,[u,l]=i?["_i",null]:t,a=this.is(u,"array")||this.is(u,"object")?this.emitDestructuringPattern(u):u;if(e&&e!==null){let c=Array.isArray(f)&&f[0];if(c instanceof String)c=j(c);if(c===".."||c==="..."){let U=c==="...",[_,D]=f.slice(1),M=this.emit(_,"value"),q=this.emit(D,"value"),S=this.emit(e,"value");return{header:`for (let ${a} = ${M}; ${a} ${U?"<":"<="} ${q}; ${a} += ${S})`,setup:null}}let h=this.emit(f,"value"),o=l||"_i",s=this.emit(e,"value"),w=this.is(e,"-",1),y=w&&(e[1]==="1"||e[1]===1||j(e[1])==="1"),A=!w&&(e==="1"||e===1||j(e)==="1"),m=y?`${o}--`:A?`${o}++`:`${o} += ${s}`;return{header:w?`for (let ${o} = ${h}.length - 1; ${o} >= 0; ${m})`:`for (let ${o} = 0; ${o} < ${h}.length; ${m})`,setup:i?null:`let ${a} = ${h}[${o}];`}}if(l){let c=this.emit(f,"value");return{header:`for (let ${l} = 0; ${l} < ${c}.length; ${l}++)`,setup:`let ${a} = ${c}[${l}];`}}return{header:`for (let ${a} of ${this.emit(f,"value")})`,setup:null}}_forOfHeader(n,f,e){let t=Array.isArray(n)?n:[n],[i,u]=t,l=this.is(i,"array")||this.is(i,"object")?this.emitDestructuringPattern(i):i,a=this.emit(f,"value");return{header:`for (let ${l} in ${a})`,own:e,vv:u,oc:a,kvp:l}}_forAsHeader(n,f,e){let t=Array.isArray(n)?n:[n],[i]=t,u=this.is(i,"array")||this.is(i,"object")?this.emitDestructuringPattern(i):i;return{header:`for ${e?"await ":""}(let ${u} of ${this.emit(f,"value")})`}}emitComprehension(n,f,e){let[t,i,u]=f;if(e==="statement")return this.emitComprehensionAsLoop(t,i,u);if(this.comprehensionTarget){let h=this.comprehensionTarget;this.comprehensionTarget=null;try{return this.emitComprehensionWithTarget(t,i,u,h)}finally{this.comprehensionTarget=h}}let l=this.containsAwait(t)||i.some((h)=>this.containsAwait(h))||u.some((h)=>this.containsAwait(h)),a=this.asyncIIFEOpen(l)+`
2468
+ `,this.indentLevel++,l+=this.emitSwitchCaseBody(u,e),this.indentLevel--;if(this.indentLevel--,l+=this.indent()+"}",e==="value"){let a=this.containsAwait(t)||i.some((c)=>this.containsAwait(c[1])||this.containsAwait(c[2]))||u&&this.containsAwait(u);return this.asyncIIFE(a,l)}return l}emitWhen(n,f,e,t){this.error("when clause should be handled by switch",t)}_forInHeader(n,f,e){let t=Array.isArray(n)?n:[n],i=t.length===0,[u,l]=i?["_i",null]:t,a=this.is(u,"array")||this.is(u,"object")?this.emitDestructuringPattern(u):u;if(e&&e!==null){let c=Array.isArray(f)&&f[0];if(c instanceof String)c=j(c);if(c===".."||c==="..."){let U=c==="...",[m,D]=f.slice(1),M=this.emit(m,"value"),q=this.emit(D,"value"),S=this.emit(e,"value");return{header:`for (let ${a} = ${M}; ${a} ${U?"<":"<="} ${q}; ${a} += ${S})`,setup:null}}let h=this.emit(f,"value"),o=l||"_i",s=this.emit(e,"value"),w=this.is(e,"-",1),_=w&&(e[1]==="1"||e[1]===1||j(e[1])==="1"),A=!w&&(e==="1"||e===1||j(e)==="1"),y=_?`${o}--`:A?`${o}++`:`${o} += ${s}`;return{header:w?`for (let ${o} = ${h}.length - 1; ${o} >= 0; ${y})`:`for (let ${o} = 0; ${o} < ${h}.length; ${y})`,setup:i?null:`let ${a} = ${h}[${o}];`}}if(l){let c=this.emit(f,"value");return{header:`for (let ${l} = 0; ${l} < ${c}.length; ${l}++)`,setup:`let ${a} = ${c}[${l}];`}}return{header:`for (let ${a} of ${this.emit(f,"value")})`,setup:null}}_forOfHeader(n,f,e){let t=Array.isArray(n)?n:[n],[i,u]=t,l=this.is(i,"array")||this.is(i,"object")?this.emitDestructuringPattern(i):i,a=this.emit(f,"value");return{header:`for (let ${l} in ${a})`,own:e,vv:u,oc:a,kvp:l}}_forAsHeader(n,f,e){let t=Array.isArray(n)?n:[n],[i]=t,u=this.is(i,"array")||this.is(i,"object")?this.emitDestructuringPattern(i):i;return{header:`for ${e?"await ":""}(let ${u} of ${this.emit(f,"value")})`}}emitComprehension(n,f,e){let[t,i,u]=f;if(e==="statement")return this.emitComprehensionAsLoop(t,i,u);if(this.comprehensionTarget){let h=this.comprehensionTarget;this.comprehensionTarget=null;try{return this.emitComprehensionWithTarget(t,i,u,h)}finally{this.comprehensionTarget=h}}let l=this.containsAwait(t)||i.some((h)=>this.containsAwait(h))||u.some((h)=>this.containsAwait(h)),a=this.asyncIIFEOpen(l)+`
2469
2469
  `;this.indentLevel++,this.comprehensionDepth++,a+=this.indent()+`const result = [];
2470
- `;for(let h of i){let[o,s,w,y]=h;if(o==="for-in"){let{header:A,setup:m}=this._forInHeader(s,w,y);if(a+=this.indent()+A+` {
2471
- `,this.indentLevel++,m)a+=this.indent()+m+`
2472
- `}else if(o==="for-of"){let{header:A,own:m,vv:R,oc:U,kvp:_}=this._forOfHeader(s,w,y);if(a+=this.indent()+A+` {
2473
- `,this.indentLevel++,m)a+=this.indent()+`if (!Object.hasOwn(${U}, ${_})) continue;
2474
- `;if(R)a+=this.indent()+`let ${R} = ${U}[${_}];
2470
+ `;for(let h of i){let[o,s,w,_]=h;if(o==="for-in"){let{header:A,setup:y}=this._forInHeader(s,w,_);if(a+=this.indent()+A+` {
2471
+ `,this.indentLevel++,y)a+=this.indent()+y+`
2472
+ `}else if(o==="for-of"){let{header:A,own:y,vv:R,oc:U,kvp:m}=this._forOfHeader(s,w,_);if(a+=this.indent()+A+` {
2473
+ `,this.indentLevel++,y)a+=this.indent()+`if (!Object.hasOwn(${U}, ${m})) continue;
2474
+ `;if(R)a+=this.indent()+`let ${R} = ${U}[${m}];
2475
2475
  `}else if(o==="for-as"){let{header:A}=this._forAsHeader(s,w,h[3]);a+=this.indent()+A+` {
2476
2476
  `,this.indentLevel++}}for(let h of u)a+=this.indent()+`if (${this.emit(h,"value")}) {
2477
2477
  `,this.indentLevel++;let c=(h)=>{if(typeof h==="string"&&(h==="break"||h==="continue"))return!0;if(!Array.isArray(h))return!1;if(["break","continue","return","throw"].includes(h[0]))return!0;if(h[0]==="if")return h.slice(1).some(c);return h.some(c)},r=["for-in","for-of","for-as","while","loop"];if(this.is(t,"block"))for(let h=0;h<t.length-1;h++){let o=t[h+1];if(h!==t.length-2||c(o))a+=this.indent()+this.emit(o,"statement")+`;
@@ -2485,42 +2485,42 @@ ${this.indent()}}`}}let i=`throw ${this.emit(t,"value")}`;return e==="value"?`((
2485
2485
  `;return a+=this.indent()+`return result;
2486
2486
  `,this.indentLevel--,this.comprehensionDepth--,a+=this.indent()+"})()",a}emitObjectComprehension(n,f,e){let[t,i,u,l]=f,a=this.containsAwait(t)||this.containsAwait(i)||u.some((r)=>this.containsAwait(r))||l.some((r)=>this.containsAwait(r)),c=this.asyncIIFEOpen(a)+`
2487
2487
  `;this.indentLevel++,c+=this.indent()+`const result = {};
2488
- `;for(let r of u){let[h,o,s,w]=r;if(h==="for-of"){let[y,A]=o,m=this.emit(s,"value");if(c+=this.indent()+`for (let ${y} in ${m}) {
2489
- `,this.indentLevel++,w)c+=this.indent()+`if (!Object.hasOwn(${m}, ${y})) continue;
2490
- `;if(A)c+=this.indent()+`let ${A} = ${m}[${y}];
2488
+ `;for(let r of u){let[h,o,s,w]=r;if(h==="for-of"){let[_,A]=o,y=this.emit(s,"value");if(c+=this.indent()+`for (let ${_} in ${y}) {
2489
+ `,this.indentLevel++,w)c+=this.indent()+`if (!Object.hasOwn(${y}, ${_})) continue;
2490
+ `;if(A)c+=this.indent()+`let ${A} = ${y}[${_}];
2491
2491
  `}}for(let r of l)c+=this.indent()+`if (${this.emit(r,"value")}) {
2492
2492
  `,this.indentLevel++;c+=this.indent()+`result[${this.emit(t,"value")}] = ${this.emit(i,"value")};
2493
2493
  `;for(let r=0;r<l.length;r++)this.indentLevel--,c+=this.indent()+`}
2494
2494
  `;for(let r=0;r<u.length;r++)this.indentLevel--,c+=this.indent()+`}
2495
2495
  `;return c+=this.indent()+`return result;
2496
2496
  `,this.indentLevel--,c+=this.indent()+"})()",c}emitClass(n,f,e){let[t,i,...u]=f,l=t?`class ${t}`:"class";if(i)l+=` extends ${this.emit(i,"value")}`;if(l+=` {
2497
- `,u.length>0&&Array.isArray(u[0])){let a=u[0];if(a[0]==="block"){let c=a.slice(1);if(c.length>0&&Array.isArray(c[0])&&c[0][0]==="object"){let h=c[0].slice(1);this.indentLevel++,l+=this._emitClassMembers(h,i);for(let o of c.slice(1))if(this.is(o,"class")){let[,s,w,...y]=o;if(this.is(s,".")&&s[1]==="this")l+=this.indent()+`static ${s[2]} = ${this.emit(["class",null,w,...y],"value")};
2497
+ `,u.length>0&&Array.isArray(u[0])){let a=u[0];if(a[0]==="block"){let c=a.slice(1);if(c.length>0&&Array.isArray(c[0])&&c[0][0]==="object"){let h=c[0].slice(1);this.indentLevel++,l+=this._emitClassMembers(h,i);for(let o of c.slice(1))if(this.is(o,"class")){let[,s,w,..._]=o;if(this.is(s,".")&&s[1]==="this")l+=this.indent()+`static ${s[2]} = ${this.emit(["class",null,w,..._],"value")};
2498
2498
  `;else l+=this.indent()+this.emit(o,"statement")+`;
2499
2499
  `}else l+=this.indent()+this.emit(o,"statement")+`;
2500
2500
  `;this.indentLevel--}else{this.indentLevel++;for(let h of c)if(this.is(h,"=")&&Array.isArray(h[1])&&h[1][0]==="."&&h[1][1]==="this")l+=this.indent()+`static ${h[1][2]} = ${this.emit(h[2],"value")};
2501
2501
  `;else l+=this.indent()+this.emit(h,"statement")+`;
2502
- `;this.indentLevel--}}}return l+=this.indent()+"}",l}_emitClassMembers(n,f){let e="",t=[];for(let[,i,u]of n){let l=this.is(i,".")&&i[1]==="this",a=this.is(i,"computed"),c=this.extractMemberName(i);if(this.is(u,"=>")&&!l&&!a&&c!=="constructor")t.push(c)}for(let[,i,u]of n){let l=this.is(i,".")&&i[1]==="this",a=this.is(i,"computed"),c=this.extractMemberName(i);if(this.is(u,"->")||this.is(u,"=>")){let[,r,h]=u,o=this.containsAwait(h),s=this.containsYield(h),w=r,y=[];if(c==="constructor"){let R=!!f,U=R?new Map:null;w=r.map((_)=>{if(this.is(_,".")&&_[1]==="this"){let D=j(_[2]),M=R?`_${D}`:D;if(y.push(`this.${D} = ${M}`),R)U.set(D,M);return M}if(this.is(_,"default")&&this.is(_[1],".")&&_[1][1]==="this"){let D=j(_[1][2]),M=R?`_${D}`:D;if(y.push(`this.${D} = ${M}`),R)U.set(D,M);return["default",M,_[2]]}return _});for(let _ of t)y.unshift(`this.${_} = this.${_}.bind(this)`);if(U?.size>0)this._atParamMap=U}let A=this.emitParamList(w),m=(l?"static ":"")+(o?"async ":"")+(s?"*":"");if(e+=this.indent()+`${m}${c}(${A}) `,!a)this.currentMethodName=c;e+=this.emitMethodBody(h,y,c==="constructor",w),this._atParamMap=null,this.currentMethodName=null,e+=`
2502
+ `;this.indentLevel--}}}return l+=this.indent()+"}",l}_emitClassMembers(n,f){let e="",t=[];for(let[,i,u]of n){let l=this.is(i,".")&&i[1]==="this",a=this.is(i,"computed"),c=this.extractMemberName(i);if(this.is(u,"=>")&&!l&&!a&&c!=="constructor")t.push(c)}for(let[,i,u]of n){let l=this.is(i,".")&&i[1]==="this",a=this.is(i,"computed"),c=this.extractMemberName(i);if(this.is(u,"->")||this.is(u,"=>")){let[,r,h]=u,o=this.containsAwait(h),s=this.containsYield(h),w=r,_=[];if(c==="constructor"){let R=!!f,U=R?new Map:null;w=r.map((m)=>{if(this.is(m,".")&&m[1]==="this"){let D=j(m[2]),M=R?`_${D}`:D;if(_.push(`this.${D} = ${M}`),R)U.set(D,M);return M}if(this.is(m,"default")&&this.is(m[1],".")&&m[1][1]==="this"){let D=j(m[1][2]),M=R?`_${D}`:D;if(_.push(`this.${D} = ${M}`),R)U.set(D,M);return["default",M,m[2]]}return m});for(let m of t)_.unshift(`this.${m} = this.${m}.bind(this)`);if(U?.size>0)this._atParamMap=U}let A=this.emitParamList(w),y=(l?"static ":"")+(o?"async ":"")+(s?"*":"");if(e+=this.indent()+`${y}${c}(${A}) `,!a)this.currentMethodName=c;e+=this.emitMethodBody(h,_,c==="constructor",w),this._atParamMap=null,this.currentMethodName=null,e+=`
2503
2503
  `}else if(l)e+=this.indent()+`static ${c} = ${this.emit(u,"value")};
2504
2504
  `;else e+=this.indent()+`${c} = ${this.emit(u,"value")};
2505
2505
  `}return e}emitSuper(n,f){if(f.length===0){if(this.currentMethodName&&this.currentMethodName!=="constructor")return`super.${this.currentMethodName}()`;return"super"}let e=f.map((t)=>this.unwrap(this.emit(t,"value"))).join(", ");if(this.currentMethodName&&this.currentMethodName!=="constructor")return`super.${this.currentMethodName}(${e})`;return`super(${e})`}emitImport(n,f,e,t){if(f.length===1){let a=`import(${this.emit(f[0],"value")})`;if(qn(t[0],"bang")===!0)return`(await ${a})`;return a}if(this.options.skipImports)return"";if(f.length===3){let[a,c,r]=f,h=this.addJsExtensionAndAssertions(r);if(c[0]==="*"&&c.length===2)return`import ${a}, * as ${c[1]} from ${h}`;let o=c.map((s)=>Array.isArray(s)&&s.length===2?`${s[0]} as ${s[1]}`:s).join(", ");return this._attachImportSpecifierAnchors(t,[a,...c.flatMap((s)=>Array.isArray(s)?s:[s])]),`import ${a}, { ${o} } from ${h}`}let[i,u]=f,l=this.addJsExtensionAndAssertions(u);if(typeof i==="string")return`import ${i} from ${l}`;if(Array.isArray(i)){if(i[0]==="*"&&i.length===2)return`import * as ${i[1]} from ${l}`;let a=i.map((c)=>Array.isArray(c)&&c.length===2?`${c[0]} as ${c[1]}`:c).join(", ");return this._attachImportSpecifierAnchors(t,i.flatMap((c)=>Array.isArray(c)?c:[c])),`import { ${a} } from ${l}`}return`import ${this.emit(i,"value")} from ${l}`}_attachImportSpecifierAnchors(n,f){if(!n||!n.loc)return;let e=this.options&&this.options.source;if(!e||!f||!f.length)return;let t=this._sourceLinesCache||(this._sourceLinesCache=e.split(`
2506
- `)),i=n.loc.r,u=n.loc.c,l=[];for(let a of f){if(typeof a!=="string"||!/^[A-Za-z_$][\w$]*$/.test(a))continue;let c=new RegExp("\\b"+a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")+"\\b"),r=!1;while(i<t.length){let o=(t[i]||"").replace(/#.*$/,"");c.lastIndex=0;let s=o.slice(u),w=c.exec(s);if(w){let y=u+w.index;l.push({name:a,origLine:i,origCol:y}),u=y+a.length,r=!0;break}i++,u=0}if(!r)break}if(l.length)n._anchors=(n._anchors||[]).concat(l)}applyVoidMarker(n,f,e){let t=this.is(f,"->")||this.is(f,"=>")||this.is(f,"def");if(n instanceof String&&qn(n,"bang")!==void 0&&!t){let i=qn(n,"bang")===!0?"!":"&";this.error(`Cannot use ${i} sigil in variable declaration '${j(n)}'`,e)}if(n instanceof String&&qn(n,"bang")===!0&&t)f.isVoid=!0}emitExport(n,f){let[e]=f;if(this.options.skipExports){if(this.is(e,"=")){let t=this._componentName,i=this._componentTypeParams,u=this._schemaName;if(this.is(e[2],"component"))this._componentName=j(e[1]),this._componentTypeParams=e[1]?.typeParams||"";if(this.is(e[2],"schema"))this._schemaName=j(e[1]);this.applyVoidMarker(e[1],e[2],e);let l=`const ${e[1]} = ${this.emit(e[2],"value")}`;return this._componentName=t,this._componentTypeParams=i,this._schemaName=u,l}if(Array.isArray(e)&&e.every((t)=>typeof t==="string"))return"";return this.emit(e,"statement")}if(this.is(e,"=")){let t=this._componentName,i=this._componentTypeParams,u=this._schemaName;if(this.is(e[2],"component"))this._componentName=j(e[1]),this._componentTypeParams=e[1]?.typeParams||"";if(this.is(e[2],"schema"))this._schemaName=j(e[1]);this.applyVoidMarker(e[1],e[2],e);let l=`export const ${e[1]} = ${this.emit(e[2],"value")}`;return this._componentName=t,this._componentTypeParams=i,this._schemaName=u,l}if(Array.isArray(e)&&e.every((t)=>typeof t==="string"))return`export { ${e.join(", ")} }`;return`export ${this.emit(e,"statement")}`}emitExportDefault(n,f){let[e]=f;if(this.options.skipExports){if(this.is(e,"="))return this.applyVoidMarker(e[1],e[2],e),`const ${e[1]} = ${this.emit(e[2],"value")}`;return this.emit(e,"statement")}if(this.is(e,"="))return this.applyVoidMarker(e[1],e[2],e),`const ${e[1]} = ${this.emit(e[2],"value")};
2507
- export default ${e[1]}`;return`export default ${this.emit(e,"statement")}`}emitExportAll(n,f){if(this.options.skipExports)return"";return`export * from ${this.addJsExtensionAndAssertions(f[0])}`}emitExportFrom(n,f){if(this.options.skipExports)return"";let[e,t]=f,i=this.addJsExtensionAndAssertions(t);if(Array.isArray(e))return`export { ${e.map((l)=>Array.isArray(l)&&l.length===2?`${l[0]} as ${l[1]}`:l).join(", ")} } from ${i}`;return`export ${e} from ${i}`}emitDoIIFE(n,f){return`(${this.emit(f[0],"statement")})()`}emitRegex(n,f){return f.length===0?n:this.emit(f[0],"value")}emitTaggedTemplate(n,f){let[e,t]=f,i=this.emit(e,"value"),u=this.emit(t,"value");if(u.startsWith("`"))return`${i}${u}`;if(u.startsWith('"')||u.startsWith("'"))return`${i}\`${u.slice(1,-1)}\``;return`${i}\`${u}\``}escapeTemplateText(n){return n.replace(/`/g,"\\`").replace(/\$\{/g,"\\${")}emitString(n,f){let e="`";for(let t of f)if(t instanceof String)e+=this.escapeTemplateText(this.extractStringContent(t));else if(typeof t==="string")if(t.startsWith('"')||t.startsWith("'")){if(this.options.debug)console.warn("[Rip] Unexpected quoted primitive in str:",t);e+=this.escapeTemplateText(t.slice(1,-1))}else e+=this.escapeTemplateText(t);else if(Array.isArray(t))if(t.length===1&&typeof t[0]==="string"&&!Array.isArray(t[0])){let i=t[0];e+=/^[\d"']/.test(i)?"${"+this.emit(i,"value")+"}":"${"+i+"}"}else{let i=t.length===1&&Array.isArray(t[0])?t[0]:t;e+="${"+this.emit(i,"value")+"}"}return e+"`"}findPostfixConditional(n){if(!Array.isArray(n))return null;let f=n[0];if(f==="if"&&n.length===3)return{type:f,condition:n[1],value:n[2]};if(f==="+"||f==="-"||f==="*"||f==="/")for(let e=1;e<n.length;e++){let t=this.findPostfixConditional(n[e]);if(t)return t.parentOp=f,t.operandIndex=e,t.otherOperands=n.slice(1).filter((i,u)=>u!==e-1),t}return null}rebuildWithoutConditional(n){let f=Array.isArray(n.value)&&n.value.length===1?n.value[0]:n.value;if(n.parentOp)return[n.parentOp,...n.otherOperands,f];return f}_tryPostfixCall(n,f,e){if(e!=="statement"||f.length!==1)return null;let t=this.findPostfixConditional(f[0]);if(!t)return null;let i=this.rebuildWithoutConditional(t),u=this.emit(n,"value"),l=this.emit(t.condition,"value"),a=this.emit(i,"value");return`if (${l}) ${u}(${a})`}_emitArgs(n){return n.map((f)=>this.unwrap(this.emit(f,"value"))).join(", ")}emitDestructuringPattern(n){return this.formatParam(n)}emitParamList(n){let f=n.findIndex((t)=>this.is(t,"expansion"));if(f!==-1){let t=n.slice(0,f),i=n.slice(f+1),u=t.map((l)=>this.formatParam(l)).join(", ");return this.expansionAfterParams=i,u?`${u}, ..._rest`:"..._rest"}let e=n.findIndex((t)=>this.is(t,"rest"));if(e!==-1&&e<n.length-1){let t=n.slice(0,e),i=n[e],u=n.slice(e+1),l=t.map((a)=>this.formatParam(a));return this.restMiddleParam={restName:i[1],afterParams:u,beforeCount:t.length},l.length>0?`${l.join(", ")}, ...${i[1]}`:`...${i[1]}`}return this.expansionAfterParams=null,this.restMiddleParam=null,n.map((t)=>this.formatParam(t)).join(", ")}destructuredType(n){if(this.is(n,"object")){let f=[],e=!1;for(let t of n.slice(1)){if(this.is(t,"...")){f.push("[key: string]: unknown");continue}let[i,u,l]=t,a=j(u);if(i==="="){let r=u instanceof String?u.type:null;if(r)e=!0;f.push(`${a}?: ${r?wi(r):"any"}`);continue}if(this.is(l,"object")||this.is(l,"array")){let r=this.destructuredType(l);if(r.hasType)e=!0;f.push(`${a}: ${r.type}`);continue}let c=l instanceof String&&l.type||u instanceof String&&u.type||null;if(c)e=!0;f.push(`${a}: ${c?wi(c):"any"}`)}return{type:`{${f.join(", ")}}`,hasType:e}}if(this.is(n,"array")){let f=[],e=!1;for(let t of n.slice(1)){if(t===","||t==="...")continue;if(this.is(t,"...")){f.push("...any[]");continue}let i=this.is(t,"=")?t[1]:t,u=i instanceof String?i.type:null;if(u)e=!0;f.push(u?wi(u):"any")}return{type:`[${f.join(", ")}]`,hasType:e}}return{type:"any",hasType:!1}}formatParam(n){if(typeof n==="string")return n;if(n instanceof String){if(this.options.inlineTypes)return Kf({name:n.valueOf(),ripType:n.type,optional:!!qn(n,"optional"),hasDefault:!1},"implementation");return n.valueOf()}if(this.is(n,"rest")){let f=n[1];if(this.options.inlineTypes&&f instanceof String&&f.type)return`...${f.valueOf()}: ${f.type.replace(/::/g,":")}`;return`...${f}`}if(this.is(n,"default"))return`${this.formatParam(n[1])} = ${this.emit(n[2],"value")}`;if(this.is(n,".")&&n[1]==="this")return n[2];if((this.is(n,"object")||this.is(n,"array"))&&this.options.inlineTypes){let{type:f,hasType:e}=this.destructuredType(n),t=this.options.inlineTypes;this.options.inlineTypes=!1;let i;try{i=this.formatParam(n)}finally{this.options.inlineTypes=t}return e?`${i}: ${f}`:i}if(this.is(n,"array"))return`[${n.slice(1).map((e)=>{if(e===",")return"";if(e==="...")return"";if(this.is(e,"..."))return`...${e[1]}`;if(this.is(e,"=")&&typeof e[1]==="string")return`${e[1]} = ${this.emit(e[2],"value")}`;if(typeof e==="string")return e;return this.formatParam(e)}).join(", ")}]`;if(this.is(n,"object"))return`{${n.slice(1).map((e)=>{if(this.is(e,"..."))return`...${e[1]}`;if(this.is(e,"default"))return`${e[1]} = ${this.emit(e[2],"value")}`;let[t,i,u]=e;if(t==="=")return`${i} = ${this.emit(u,"value")}`;if(i===u)return i;return`${i}: ${this.formatParam(u)}`}).join(", ")}}`;return JSON.stringify(n)}emitBodyWithReturns(n,f=[],e={}){let{sideEffectOnly:t=!1,autoAssignments:i=[],isConstructor:u=!1,hasExpansionParams:l=!1}=e,a=this.sideEffectOnly;this.sideEffectOnly=t;let c=new Set,r=(A)=>{if(typeof A==="string"||A instanceof String)c.add(j(A));else if(Array.isArray(A)){if(A[0]==="rest"||A[0]==="..."){if(typeof A[1]==="string"||A[1]instanceof String)c.add(j(A[1]))}else if(A[0]==="default"){if(typeof A[1]==="string"||A[1]instanceof String)c.add(j(A[1]))}else if(A[0]==="array"||A[0]==="object")this.collectVarsFromArray(A,c)}};if(Array.isArray(f))f.forEach(r);let h=this.collectFunctionVariables(n),o=new Set([...h].filter((A)=>!this.programVars.has(A)&&!this.reactiveVars?.has(A)&&!c.has(A)&&!this.scopeStack.some((m)=>m.has(A)))),s=["return","throw","break","continue"],w=["for-in","for-of","for-as","while","loop"];if(this.scopeStack.push(new Set([...o,...c])),this.is(n,"block")){let A=this.unwrapBlock(n);if(l&&this.expansionAfterParams?.length>0)A=[...this.expansionAfterParams.map((D,M)=>{return`const ${typeof D==="string"?D:JSON.stringify(D)} = _rest[_rest.length - ${this.expansionAfterParams.length-M}]`}),...A],this.expansionAfterParams=null;if(this.restMiddleParam){let{restName:_,afterParams:D}=this.restMiddleParam,M=D.length,q=[];if(D.forEach((S,d)=>{let K=typeof S==="string"?S:this.is(S,"default")?S[1]:JSON.stringify(S);q.push(`const ${K} = ${_}[${_}.length - ${M-d}]`)}),M>0)q.push(`${_} = ${_}.slice(0, -${M})`);A=[...q,...A],this.restMiddleParam=null}this.indentLevel++;let m=`{
2508
- `;if(o.size>0){let _=this.options.inlineTypes?this.collectTypedLocals(n):null,D=Array.from(o).sort().map((M)=>{let q=_?.get(M);return q?`${M}: ${q}`:M});m+=this.indent()+`let ${D.join(", ")};
2509
- `}let R=i.length>0&&A.length>0&&Array.isArray(A[0])&&A[0][0]==="super",U=(_,D=null)=>{_.forEach((M,q)=>{let S=q===_.length-1,d=Array.isArray(M)?M[0]:null,K=D!=null&&n.subLocs?n.subLocs[D+q]:null;if(!S&&d==="comprehension"){let[,W,C,L]=M;m+=this.indent()+this.emitComprehensionAsLoop(W,C,L)+`
2510
- `;return}if(!u&&!t&&S&&d==="if"){let[W,C,...L]=M.slice(1),X=(Y)=>this.is(Y,"block")&&Y.length>2;if(this.hasStatementInBranch(C)||L.some((Y)=>this.hasStatementInBranch(Y))||X(C)||L.some(X)){m+=this.emitIfElseWithEarlyReturns(M)+`
2511
- `;return}}if(!u&&!t&&S&&d==="="){let[W,C]=M.slice(1);if(typeof W==="string"&&Array.isArray(C)){let L=C[0];if(L==="comprehension"||L==="for-in"){this.comprehensionTarget=W,m+=this.emit(C,"value"),this.comprehensionTarget=null,m+=this.indent()+`return ${W};
2512
- `;return}}}if(!u&&!t&&S&&w.includes(d)){if(this.containsYield(M)){m+=this.indent()+this.addSemicolon(M,this.emit(M,"statement"))+`
2513
- `;return}if(!(d==="for-in"||d==="for-of"||d==="for-as")){m+=this.indent()+this.addSemicolon(M,this.emit(M,"statement"))+`
2514
- `;return}m+=this.indent()+`const _result = [];
2515
- `,this.comprehensionTarget="_result";let C=this._skipCompTargetInit;this._skipCompTargetInit=!0,m+=this.emit(M,"value"),this._skipCompTargetInit=C,this.comprehensionTarget=null,m+=this.indent()+`return _result;
2516
- `;return}let E=!u&&!t&&S&&!s.includes(d)&&!this.hasExplicitControlFlow(M),Z=E?"value":"statement",Q=this.emit(M,Z);if(E)m+=this.indent()+"return "+this.markIdent(Q,M,K)+`;
2517
- `;else m+=this.indent()+this.addSemicolon(M,Q)+`
2518
- `})};if(R){if(A.length===1&&!u)m+=this.indent()+"return "+this.emit(A[0],"value")+`;
2519
- `;else m+=this.indent()+this.emit(A[0],"statement")+`;
2520
- `;for(let D of i)m+=this.indent()+D+`;
2521
- `;U(A.slice(1))}else{for(let D of i)m+=this.indent()+D+`;
2522
- `;let _=this.is(n,"block")&&n.subLocs&&A.length===n.length-1?1:null;U(A,_)}if(t&&A.length>0){let _=Array.isArray(A[A.length-1])?A[A.length-1][0]:null;if(!s.includes(_))m+=this.indent()+`return;
2523
- `}return this.indentLevel--,m+=this.indent()+"}",this.scopeStack.pop(),this.sideEffectOnly=a,m}this.sideEffectOnly=a;let y;if(u&&i.length>0){let A=Array.isArray(n)&&n[0]==="super",m=this.emit(n,"statement"),R=i.map((U)=>`${U};`).join(" ");y=A?`{ ${m}; ${R} }`:`{ ${R} ${m}; }`}else if(u||this.hasExplicitControlFlow(n))y=`{ ${this.emit(n,"statement")}; }`;else if(Array.isArray(n)&&(s.includes(n[0])||w.includes(n[0])))y=`{ ${this.emit(n,"statement")}; }`;else if(t)y=`{ ${this.emit(n,"statement")}; return; }`;else y=`{ return ${this.emit(n,"value")}; }`;return this.scopeStack.pop(),y}emitFunctionBody(n,f=[],e=!1){return this.emitBodyWithReturns(n,f,{sideEffectOnly:e,hasExpansionParams:this.expansionAfterParams?.length>0})}emitMethodBody(n,f=[],e=!1,t=[]){return this.emitBodyWithReturns(n,t,{autoAssignments:f,isConstructor:e})}emitBlockWithReturns(n){if(!Array.isArray(n)||n[0]!=="block")return this.emit(n,"statement");let f=this.unwrapBlock(n);return`{
2506
+ `)),i=n.loc.r,u=n.loc.c,l=[];for(let a of f){if(typeof a!=="string"||!/^[A-Za-z_$][\w$]*$/.test(a))continue;let c=new RegExp("\\b"+a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")+"\\b"),r=!1;while(i<t.length){let o=(t[i]||"").replace(/#.*$/,"");c.lastIndex=0;let s=o.slice(u),w=c.exec(s);if(w){let _=u+w.index;l.push({name:a,origLine:i,origCol:_}),u=_+a.length,r=!0;break}i++,u=0}if(!r)break}if(l.length)n._anchors=(n._anchors||[]).concat(l)}applyVoidMarker(n,f,e){let t=this.is(f,"->")||this.is(f,"=>")||this.is(f,"def");if(n instanceof String&&qn(n,"bang")!==void 0&&!t){let i=qn(n,"bang")===!0?"!":"&";this.error(`Cannot use ${i} sigil in variable declaration '${j(n)}'`,e)}if(n instanceof String&&qn(n,"bang")===!0&&t)f.isVoid=!0}emitExport(n,f){let[e]=f;if(this.options.skipExports){if(this.is(e,"=")){let t=this._componentName,i=this._componentTypeParams,u=this._schemaName;if(this.is(e[2],"component"))this._componentName=j(e[1]),this._componentTypeParams=e[1]?.typeParams||"";if(this.is(e[2],"schema"))this._schemaName=j(e[1]);this.applyVoidMarker(e[1],e[2],e);let l=`const ${e[1]} = ${this.emit(e[2],"value")}`;return this._componentName=t,this._componentTypeParams=i,this._schemaName=u,l}if(Array.isArray(e)&&e.every((t)=>typeof t==="string"))return"";return this.emit(e,"statement")}if(this.is(e,"=")){let t=this._componentName,i=this._componentTypeParams,u=this._schemaName;if(this.is(e[2],"component"))this._componentName=j(e[1]),this._componentTypeParams=e[1]?.typeParams||"";if(this.is(e[2],"schema"))this._schemaName=j(e[1]);this.applyVoidMarker(e[1],e[2],e);let l=`export const ${e[1]} = ${this.emit(e[2],"value")}`;return this._componentName=t,this._componentTypeParams=i,this._schemaName=u,l}if(Array.isArray(e)&&e.every((t)=>typeof t==="string"))return`export { ${e.join(", ")} }`;return`export ${this.emit(e,"statement")}`}emitExportDefault(n,f){let[e]=f;if(this.options.skipExports){if(this.is(e,"="))return this.applyVoidMarker(e[1],e[2],e),`const ${e[1]} = ${this.emit(e[2],"value")}`;return this.emit(e,"statement")}if(this.is(e,"="))return this.applyVoidMarker(e[1],e[2],e),`const ${e[1]} = ${this.emit(e[2],"value")};
2507
+ export default ${e[1]}`;return`export default ${this.emit(e,"statement")}`}emitExportAll(n,f){if(this.options.skipExports)return"";return`export * from ${this.addJsExtensionAndAssertions(f[0])}`}emitExportFrom(n,f){if(this.options.skipExports)return"";let[e,t]=f,i=this.addJsExtensionAndAssertions(t);if(Array.isArray(e))return`export { ${e.map((l)=>Array.isArray(l)&&l.length===2?`${l[0]} as ${l[1]}`:l).join(", ")} } from ${i}`;return`export ${e} from ${i}`}emitDoIIFE(n,f){return`(${this.emit(f[0],"statement")})()`}emitRegex(n,f){return f.length===0?n:this.emit(f[0],"value")}emitTaggedTemplate(n,f){let[e,t]=f,i=this.emit(e,"value"),u=this.emit(t,"value");if(u.startsWith("`"))return`${i}${u}`;if(u.startsWith('"')||u.startsWith("'"))return`${i}\`${u.slice(1,-1)}\``;return`${i}\`${u}\``}escapeTemplateText(n){return n.replace(/`/g,"\\`").replace(/\$\{/g,"\\${")}emitString(n,f){let e="`";for(let t of f)if(t instanceof String)e+=this.escapeTemplateText(this.extractStringContent(t));else if(typeof t==="string")if(t.startsWith('"')||t.startsWith("'")){if(this.options.debug)console.warn("[Rip] Unexpected quoted primitive in str:",t);e+=this.escapeTemplateText(t.slice(1,-1))}else e+=this.escapeTemplateText(t);else if(Array.isArray(t))if(t.length===1&&typeof t[0]==="string"&&!Array.isArray(t[0])){let i=t[0];e+=/^[\d"']/.test(i)?"${"+this.emit(i,"value")+"}":"${"+i+"}"}else{let i=t.length===1&&Array.isArray(t[0])?t[0]:t;e+="${"+this.emit(i,"value")+"}"}return e+"`"}findPostfixConditional(n){if(!Array.isArray(n))return null;let f=n[0];if(f==="if"&&n.length===3)return{type:f,condition:n[1],value:n[2]};if(f==="+"||f==="-"||f==="*"||f==="/")for(let e=1;e<n.length;e++){let t=this.findPostfixConditional(n[e]);if(t)return t.parentOp=f,t.operandIndex=e,t.otherOperands=n.slice(1).filter((i,u)=>u!==e-1),t}return null}rebuildWithoutConditional(n){let f=Array.isArray(n.value)&&n.value.length===1?n.value[0]:n.value;if(n.parentOp)return[n.parentOp,...n.otherOperands,f];return f}_tryPostfixCall(n,f,e){if(e!=="statement"||f.length!==1)return null;let t=this.findPostfixConditional(f[0]);if(!t)return null;let i=this.rebuildWithoutConditional(t),u=this.emit(n,"value"),l=this.emit(t.condition,"value"),a=this.emit(i,"value");return`if (${l}) ${u}(${a})`}_emitArgs(n){return n.map((f)=>this.unwrap(this.emit(f,"value"))).join(", ")}emitDestructuringPattern(n){return this.formatParam(n)}emitParamList(n){let f=n.findIndex((t)=>this.is(t,"expansion"));if(f!==-1){let t=n.slice(0,f),i=n.slice(f+1),u=t.map((l)=>this.formatParam(l)).join(", ");return this.expansionAfterParams=i,u?`${u}, ..._rest`:"..._rest"}let e=n.findIndex((t)=>this.is(t,"rest"));if(e!==-1&&e<n.length-1){let t=n.slice(0,e),i=n[e],u=n.slice(e+1),l=t.map((a)=>this.formatParam(a));return this.restMiddleParam={restName:i[1],afterParams:u,beforeCount:t.length},l.length>0?`${l.join(", ")}, ...${i[1]}`:`...${i[1]}`}return this.expansionAfterParams=null,this.restMiddleParam=null,n.map((t)=>this.formatParam(t)).join(", ")}destructuredType(n){if(this.is(n,"object")){let f=[],e=!1;for(let t of n.slice(1)){if(this.is(t,"...")){f.push("[key: string]: unknown");continue}let[i,u,l]=t,a=j(u);if(i==="="){let r=u instanceof String?u.type:null;if(r)e=!0;f.push(`${a}?: ${r?wi(r):"any"}`);continue}if(this.is(l,"object")||this.is(l,"array")){let r=this.destructuredType(l);if(r.hasType)e=!0;f.push(`${a}: ${r.type}`);continue}let c=l instanceof String&&l.type||u instanceof String&&u.type||null;if(c)e=!0;f.push(`${a}: ${c?wi(c):"any"}`)}return{type:`{${f.join(", ")}}`,hasType:e}}if(this.is(n,"array")){let f=[],e=!1;for(let t of n.slice(1)){if(t===","||t==="...")continue;if(this.is(t,"...")){f.push("...any[]");continue}let i=this.is(t,"=")?t[1]:t,u=i instanceof String?i.type:null;if(u)e=!0;f.push(u?wi(u):"any")}return{type:`[${f.join(", ")}]`,hasType:e}}return{type:"any",hasType:!1}}formatParam(n){if(typeof n==="string")return n;if(n instanceof String){if(this.options.inlineTypes)return Kf({name:n.valueOf(),ripType:n.type,optional:!!qn(n,"optional"),hasDefault:!1},"implementation");return n.valueOf()}if(this.is(n,"rest")){let f=n[1];if(this.options.inlineTypes&&f instanceof String&&f.type)return`...${f.valueOf()}: ${f.type.replace(/::/g,":")}`;return`...${f}`}if(this.is(n,"default"))return`${this.formatParam(n[1])} = ${this.emit(n[2],"value")}`;if(this.is(n,".")&&n[1]==="this")return n[2];if((this.is(n,"object")||this.is(n,"array"))&&this.options.inlineTypes){let{type:f,hasType:e}=this.destructuredType(n),t=this.options.inlineTypes;this.options.inlineTypes=!1;let i;try{i=this.formatParam(n)}finally{this.options.inlineTypes=t}return e?`${i}: ${f}`:i}if(this.is(n,"array"))return`[${n.slice(1).map((e)=>{if(e===",")return"";if(e==="...")return"";if(this.is(e,"..."))return`...${e[1]}`;if(this.is(e,"=")&&typeof e[1]==="string")return`${e[1]} = ${this.emit(e[2],"value")}`;if(typeof e==="string")return e;return this.formatParam(e)}).join(", ")}]`;if(this.is(n,"object"))return`{${n.slice(1).map((e)=>{if(this.is(e,"..."))return`...${e[1]}`;if(this.is(e,"default"))return`${e[1]} = ${this.emit(e[2],"value")}`;let[t,i,u]=e;if(t==="=")return`${i} = ${this.emit(u,"value")}`;if(i===u)return i;return`${i}: ${this.formatParam(u)}`}).join(", ")}}`;return JSON.stringify(n)}emitBodyWithReturns(n,f=[],e={}){let{sideEffectOnly:t=!1,autoAssignments:i=[],isConstructor:u=!1,hasExpansionParams:l=!1}=e,a=this.sideEffectOnly;this.sideEffectOnly=t;let c=new Set,r=(A)=>{if(typeof A==="string"||A instanceof String)c.add(j(A));else if(Array.isArray(A)){if(A[0]==="rest"||A[0]==="..."){if(typeof A[1]==="string"||A[1]instanceof String)c.add(j(A[1]))}else if(A[0]==="default"){if(typeof A[1]==="string"||A[1]instanceof String)c.add(j(A[1]))}else if(A[0]==="array"||A[0]==="object")this.collectVarsFromArray(A,c)}};if(Array.isArray(f))f.forEach(r);let h=this.collectFunctionVariables(n),o=new Set([...h].filter((A)=>!this.programVars.has(A)&&!this.reactiveVars?.has(A)&&!c.has(A)&&!this.scopeStack.some((y)=>y.has(A)))),s=["return","throw","break","continue"],w=["for-in","for-of","for-as","while","loop"];if(this.scopeStack.push(new Set([...o,...c])),this.is(n,"block")){let A=this.unwrapBlock(n);if(l&&this.expansionAfterParams?.length>0)A=[...this.expansionAfterParams.map((D,M)=>{return`const ${typeof D==="string"?D:JSON.stringify(D)} = _rest[_rest.length - ${this.expansionAfterParams.length-M}]`}),...A],this.expansionAfterParams=null;if(this.restMiddleParam){let{restName:m,afterParams:D}=this.restMiddleParam,M=D.length,q=[];if(D.forEach((S,d)=>{let K=typeof S==="string"?S:this.is(S,"default")?S[1]:JSON.stringify(S);q.push(`const ${K} = ${m}[${m}.length - ${M-d}]`)}),M>0)q.push(`${m} = ${m}.slice(0, -${M})`);A=[...q,...A],this.restMiddleParam=null}this.indentLevel++;let y=`{
2508
+ `;if(o.size>0){let m=this.options.inlineTypes?this.collectTypedLocals(n):null,D=Array.from(o).sort().map((M)=>{let q=m?.get(M);return q?`${M}: ${q}`:M});y+=this.indent()+`let ${D.join(", ")};
2509
+ `}let R=i.length>0&&A.length>0&&Array.isArray(A[0])&&A[0][0]==="super",U=(m,D=null)=>{m.forEach((M,q)=>{let S=q===m.length-1,d=Array.isArray(M)?M[0]:null,K=D!=null&&n.subLocs?n.subLocs[D+q]:null;if(!S&&d==="comprehension"){let[,W,C,L]=M;y+=this.indent()+this.emitComprehensionAsLoop(W,C,L)+`
2510
+ `;return}if(!u&&!t&&S&&d==="if"){let[W,C,...L]=M.slice(1),X=(Y)=>this.is(Y,"block")&&Y.length>2;if(this.hasStatementInBranch(C)||L.some((Y)=>this.hasStatementInBranch(Y))||X(C)||L.some(X)){y+=this.emitIfElseWithEarlyReturns(M)+`
2511
+ `;return}}if(!u&&!t&&S&&d==="="){let[W,C]=M.slice(1);if(typeof W==="string"&&Array.isArray(C)){let L=C[0];if(L==="comprehension"||L==="for-in"){this.comprehensionTarget=W,y+=this.emit(C,"value"),this.comprehensionTarget=null,y+=this.indent()+`return ${W};
2512
+ `;return}}}if(!u&&!t&&S&&w.includes(d)){if(this.containsYield(M)){y+=this.indent()+this.addSemicolon(M,this.emit(M,"statement"))+`
2513
+ `;return}if(!(d==="for-in"||d==="for-of"||d==="for-as")){y+=this.indent()+this.addSemicolon(M,this.emit(M,"statement"))+`
2514
+ `;return}y+=this.indent()+`const _result = [];
2515
+ `,this.comprehensionTarget="_result";let C=this._skipCompTargetInit;this._skipCompTargetInit=!0,y+=this.emit(M,"value"),this._skipCompTargetInit=C,this.comprehensionTarget=null,y+=this.indent()+`return _result;
2516
+ `;return}let E=!u&&!t&&S&&!s.includes(d)&&!this.hasExplicitControlFlow(M),Z=E?"value":"statement",Q=this.emit(M,Z);if(E)y+=this.indent()+"return "+this.markIdent(Q,M,K)+`;
2517
+ `;else y+=this.indent()+this.addSemicolon(M,Q)+`
2518
+ `})};if(R){if(A.length===1&&!u)y+=this.indent()+"return "+this.emit(A[0],"value")+`;
2519
+ `;else y+=this.indent()+this.emit(A[0],"statement")+`;
2520
+ `;for(let D of i)y+=this.indent()+D+`;
2521
+ `;U(A.slice(1))}else{for(let D of i)y+=this.indent()+D+`;
2522
+ `;let m=this.is(n,"block")&&n.subLocs&&A.length===n.length-1?1:null;U(A,m)}if(t&&A.length>0){let m=Array.isArray(A[A.length-1])?A[A.length-1][0]:null;if(!s.includes(m))y+=this.indent()+`return;
2523
+ `}return this.indentLevel--,y+=this.indent()+"}",this.scopeStack.pop(),this.sideEffectOnly=a,y}this.sideEffectOnly=a;let _;if(u&&i.length>0){let A=Array.isArray(n)&&n[0]==="super",y=this.emit(n,"statement"),R=i.map((U)=>`${U};`).join(" ");_=A?`{ ${y}; ${R} }`:`{ ${R} ${y}; }`}else if(u||this.hasExplicitControlFlow(n))_=`{ ${this.emit(n,"statement")}; }`;else if(Array.isArray(n)&&(s.includes(n[0])||w.includes(n[0])))_=`{ ${this.emit(n,"statement")}; }`;else if(t)_=`{ ${this.emit(n,"statement")}; return; }`;else _=`{ return ${this.emit(n,"value")}; }`;return this.scopeStack.pop(),_}emitFunctionBody(n,f=[],e=!1){return this.emitBodyWithReturns(n,f,{sideEffectOnly:e,hasExpansionParams:this.expansionAfterParams?.length>0})}emitMethodBody(n,f=[],e=!1,t=[]){return this.emitBodyWithReturns(n,t,{autoAssignments:f,isConstructor:e})}emitBlockWithReturns(n){if(!Array.isArray(n)||n[0]!=="block")return this.emit(n,"statement");let f=this.unwrapBlock(n);return`{
2524
2524
  ${this.withIndent(()=>f.map((t,i)=>{let u=i===f.length-1,l=Array.isArray(t)?t[0]:null,a=u&&!["return","throw","break","continue"].includes(l),c=this.emit(t,a?"value":"statement");return a?this.indent()+"return "+c+";":this.indent()+c+";"})).join(`
2525
2525
  `)}
2526
2526
  ${this.indent()}}`}emitLoopBody(n){if(!Array.isArray(n))return`{ ${this.emit(n,"statement")}; }`;if(n[0]==="block"||Array.isArray(n[0])){let f=n[0]==="block"?n.slice(1):n;return`{
@@ -2541,10 +2541,10 @@ ${this.indent()}}`}return`{ if (${this.emit(f,"value")}) ${this.emit(n,"statemen
2541
2541
  `;if(e?.length>0)i+=this.indent()+`if (${e.map((w)=>this.emit(w,"value")).join(" && ")}) {
2542
2542
  `,this.indentLevel++;if(l(),e?.length>0)this.indentLevel--,i+=this.indent()+`}
2543
2543
  `;return this.indentLevel--,i+=this.indent()+`}
2544
- `,i}if(a==="for-of"){let{header:o,own:s,vv:w,oc:y,kvp:A}=this._forOfHeader(c,r,h);if(i+=this.indent()+o+` {
2545
- `,this.indentLevel++,s)i+=this.indent()+`if (!Object.hasOwn(${y}, ${A})) continue;
2546
- `;if(w)i+=this.indent()+`let ${w} = ${y}[${A}];
2547
- `;if(e?.length>0)i+=this.indent()+`if (${e.map((m)=>this.emit(m,"value")).join(" && ")}) {
2544
+ `,i}if(a==="for-of"){let{header:o,own:s,vv:w,oc:_,kvp:A}=this._forOfHeader(c,r,h);if(i+=this.indent()+o+` {
2545
+ `,this.indentLevel++,s)i+=this.indent()+`if (!Object.hasOwn(${_}, ${A})) continue;
2546
+ `;if(w)i+=this.indent()+`let ${w} = ${_}[${A}];
2547
+ `;if(e?.length>0)i+=this.indent()+`if (${e.map((y)=>this.emit(y,"value")).join(" && ")}) {
2548
2548
  `,this.indentLevel++;if(l(),e?.length>0)this.indentLevel--,i+=this.indent()+`}
2549
2549
  `;return this.indentLevel--,i+=this.indent()+`}
2550
2550
  `,i}if(a==="for-as"){let{header:o}=this._forAsHeader(c,r,h);if(i+=this.indent()+o+` {
@@ -2559,9 +2559,9 @@ ${this.indent()}}`}return`{ if (${this.emit(f,"value")}) ${this.emit(n,"statemen
2559
2559
  `};if(f.length===1){let[l,a,c,r]=f[0];if(l==="for-in"){let{header:h,setup:o}=this._forInHeader(a,c,r);if(t+=h+` {
2560
2560
  `,this.indentLevel++,o)t+=this.indent()+o+`
2561
2561
  `;return u(),this.indentLevel--,t+=this.indent()+"}",t}if(l==="for-as"){let{header:h}=this._forAsHeader(a,c,r);return t+=h+` {
2562
- `,this.indentLevel++,u(),this.indentLevel--,t+=this.indent()+"}",t}if(l==="for-of"){let{header:h,own:o,vv:s,oc:w,kvp:y}=this._forOfHeader(a,c,r);if(t+=h+` {
2563
- `,this.indentLevel++,o)t+=this.indent()+`if (!Object.hasOwn(${w}, ${y})) continue;
2564
- `;if(s)t+=this.indent()+`let ${s} = ${w}[${y}];
2562
+ `,this.indentLevel++,u(),this.indentLevel--,t+=this.indent()+"}",t}if(l==="for-of"){let{header:h,own:o,vv:s,oc:w,kvp:_}=this._forOfHeader(a,c,r);if(t+=h+` {
2563
+ `,this.indentLevel++,o)t+=this.indent()+`if (!Object.hasOwn(${w}, ${_})) continue;
2564
+ `;if(s)t+=this.indent()+`let ${s} = ${w}[${_}];
2565
2565
  `;return u(),this.indentLevel--,t+=this.indent()+"}",t}}return this.emit(["comprehension",n,f,e],"value")}emitIfElseWithEarlyReturns(n){let[,f,e,...t]=n;return this.indent()+this.emitIfElseEarlyReturnsChain(f,e,t)}emitIfElseEarlyReturnsChain(n,f,e){let t=`if (${this.emit(n,"value")}) {
2566
2566
  `;t+=this.withIndent(()=>this.emitBranchWithReturn(f)),t+=this.indent()+"}";for(let i of e)if(t+=" else ",this.is(i,"if")){let[,u,l,...a]=i;t+=this.emitIfElseEarlyReturnsChain(u,l,a)}else t+=`{
2567
2567
  `,t+=this.withIndent(()=>this.emitBranchWithReturn(i)),t+=this.indent()+"}";return t}emitBranchWithReturn(n){n=this.unwrapIfBranch(n);let f=this.unwrapBlock(n),e="";for(let t=0;t<f.length;t++){let i=t===f.length-1,u=f[t],l=Array.isArray(u)?u[0]:null;if(i&&!(l==="return"||l==="throw"||l==="break"||l==="continue"))e+=this.indent()+`return ${this.emit(u,"value")};
@@ -2950,29 +2950,29 @@ if (typeof globalThis !== 'undefined') {
2950
2950
 
2951
2951
  // === End Reactive Runtime ===
2952
2952
  `}}class Ei{constructor(n={}){this.options={showTokens:!1,showSExpr:!1,...n}}compile(n,f){if(f)this.options={...this.options,...f};let e=null,t=n.split(`
2953
- `),i=t.findIndex((m)=>m==="__DATA__");if(i!==-1){let m=t.slice(i+1);e=m.length>0?m.join(`
2953
+ `),i=t.findIndex((y)=>y==="__DATA__");if(i!==-1){let y=t.slice(i+1);e=y.length>0?y.join(`
2954
2954
  `)+`
2955
2955
  `:"",n=t.slice(0,i).join(`
2956
- `)}let u=new vn,l;try{l=u.tokenize(n)}catch(m){throw hi(m,n,this.options.filename)}if(this.options.showTokens)l.forEach((m)=>console.log(`${m[0].padEnd(12)} ${JSON.stringify(m[1])}`)),console.log();let a=null,c=null;if(this.options.types==="emit"||this.options.types==="check"||this.options.types===!0)c=[...l];if(l=l.filter((m)=>m[0]!=="TYPE_DECL"),u.typeRefNames?.size>0&&!this.options.inlineTypes){let m=new Set,R=!1;for(let _ of l){if(_[0]==="IMPORT"){R=!0;continue}if(R&&_[0]==="TERMINATOR"){R=!1;continue}if(R)continue;if(_[0]==="IDENTIFIER")m.add(_[1])}let U=(_)=>!m.has(_);for(let _=l.length-1;_>=0;_--){if(l[_][0]!=="IMPORT")continue;let D=_+1;if(D>=l.length)continue;if(l[D][0]==="CALL_START"||l[D][0]==="(")continue;if(l[D][0]==="STRING")continue;let M=-1,q=D;while(q<l.length&&l[q][0]!=="TERMINATOR"){if(M===-1&&l[q][0]==="FROM")M=q;q++}if(M===-1)continue;let S=-1,d=-1;for(let X=_+1;X<M;X++)if(l[X][0]==="{"){S=X;break}if(S!==-1){for(let X=S+1;X<M;X++)if(l[X][0]==="}"){d=X;break}}let K=!1,E=S!==-1?S:M;for(let X=_+1;X<E;X++){let fn=l[X][0];if(fn==="IDENTIFIER"||fn==="*"){K=!0;break}}if(S===-1||d===-1){if(K){let X=[],fn=_+1;while(fn<M)if(l[fn][0]==="AS"&&fn+1<M&&l[fn+1][0]==="IDENTIFIER")X.push(l[fn+1][1]),fn+=2;else if(l[fn][0]==="IDENTIFIER")X.push(l[fn][1]),fn++;else fn++;if(X.length===0||!X.every(U))continue;let Y=q<l.length?q+1:q;l.splice(_,Y-_)}continue}let Z=[],Q=S+1;while(Q<d){let X=Q;while(X<d&&l[X][0]!==",")X++;if(X>Q)Z.push({start:Q,end:X});Q=X+1}for(let X of Z){let fn=null;for(let Y=X.start;Y<X.end;Y++){if(l[Y][0]!=="IDENTIFIER")continue;if(fn===null)fn=l[Y][1];else if(l[Y-1]?.[0]==="AS")fn=l[Y][1]}X.local=fn,X.drop=fn!=null&&U(fn)}if(!Z.some((X)=>X.drop))continue;let C=Z.every((X)=>X.drop),L=[];if(C&&K){let X=_+1;while(X<S)if(l[X][0]==="AS"&&X+1<S&&l[X+1][0]==="IDENTIFIER")L.push(l[X+1][1]),X+=2;else if(l[X][0]==="IDENTIFIER")L.push(l[X][1]),X++;else X++}if(C)if(!K){let X=q<l.length?q+1:q;l.splice(_,X-_)}else if(L.length>0&&L.every(U)){let X=q<l.length?q+1:q;l.splice(_,X-_)}else{let X=S,fn=d+1,Y=S-1;while(Y>_&&l[Y][0]!==","&&l[Y][0]!=="IDENTIFIER"&&l[Y][0]!=="*")Y--;if(Y>_&&l[Y][0]===",")X=Y;l.splice(X,fn-X)}else for(let X=Z.length-1;X>=0;X--){let fn=Z[X];if(!fn.drop)continue;let{start:Y,end:Un}=fn;if(Un<d&&l[Un][0]===",")Un++;else if(Y>S+1&&l[Y-1][0]===",")Y--;l.splice(Y,Un-Y)}}}while(l.length>0&&l[0][0]==="TERMINATOR")l.shift();if(l.every((m)=>m[0]==="TERMINATOR")){if(c&&Ii)a=Ii(c,["program"],n);return{tokens:l,sexpr:["program"],code:"",dts:a,data:e,reactiveVars:{},gates:[]}}let r=null;Nn.lexer={tokens:l,pos:0,setInput:function(){},lex:function(){if(this.pos>=this.tokens.length)return 1;let m=this.tokens[this.pos++],R=m[1];if(m.data)R=new String(R),Object.assign(R,m.data);return this.text=R,this.loc=m.loc,this.line=m.loc?.r,r=m.loc,m[0]}},Ol(!!this.options.exactMarks);let h;try{h=Nn.parse(n)}catch(m){if(/\?\s*\([^)]*\?[^)]*:[^)]*\)\s*:/.test(n)||/\?\s+\w+\s+\?\s+/.test(n))throw new Hn("Nested ternary operators are not supported",{code:"E_PARSE",source:n,file:this.options.filename,suggestion:"Use if/else statements instead.",phase:"parser"});let R=hi(m,n,this.options.filename);if(R.phase==="parser"&&r)R.line=r.r??R.line,R.column=r.c??R.column,R.length=r.n||1;throw R}if(this.options.showSExpr)console.log(Bn(h,0,!0)),console.log();let o=null;if(this.options.sourceMap){let m=(this.options.filename||"output")+".js",R=this.options.filename||"input.rip";o=new _l(m,R,n)}let s=new Fn({dataSection:e,source:n,filename:this.options.filename,skipPreamble:this.options.skipPreamble,skipRuntimes:this.options.skipRuntimes,skipExports:this.options.skipExports,skipImports:this.options.skipImports,skipDataPart:this.options.skipDataPart,stubComponents:this.options.stubComponents,reactiveVars:this.options.reactiveVars,inlineTypes:this.options.inlineTypes,schemaMode:this.options.schemaMode,foldProjections:this.options.foldProjections,exactMarks:this.options.exactMarks,sourceMap:o}),w=s.compile(h),y=o?o.toJSON():null,A=o?o.toReverseMap():null;if(y&&this.options.sourceMap==="inline"){let m;if(typeof Buffer<"u")m=Buffer.from(y,"utf8").toString("base64");else{let R=new TextEncoder().encode(y),U="";for(let _=0;_<R.length;_++)U+=String.fromCharCode(R[_]);m=btoa(U)}w+=`
2957
- //# sourceMappingURL=data:application/json;base64,${m}`}else if(y&&this.options.filename)w+=`
2958
- //# sourceMappingURL=${this.options.filename}.js.map`;if(c&&Ii)a=Ii(c,h,n,s._schemaBehavior,s._schemaAnon);return{tokens:l,sexpr:h,code:w,dts:a,map:y,reverseMap:A,data:e,reactiveVars:s.reactiveVars,gates:s._gateDecls||[]}}compileToJS(n){return this.compile(n).code}compileToSExpr(n){return this.compile(n).sexpr}}Ef(Fn,vn);Fn.prototype.emitEnum=function(f,e,t){let[i,u]=e,l=i?.valueOf?.()??i,a=[];if(Array.isArray(u)){let h=u[0]==="block"?u.slice(1):[u];for(let o of h)if(Array.isArray(o)){if(o[0]?.valueOf?.()==="="){let s=o[1]?.valueOf?.()??o[1],w=o[2]?.valueOf?.()??o[2];a.push([s,w])}}}if(a.length===0)return`const ${l} = {}`;let c=a.map(([h,o])=>`${h}: ${o}`).join(", "),r=a.map(([h,o])=>`${o}: "${h}"`).join(", ");return`const ${l} = {${c}, ${r}}`};Yi(null,Fn);function gi(n,f={}){return new Ei(f).compile(n)}function Tn(n,f={}){return new Ei(f).compileToJS(n)}function di(){return new Fn({}).getReactiveRuntime()}function Fi(){return new Fn({}).getComponentRuntime()}var Qf="3.17.0-wip.1",Wf="2026-06-28@00:08:17GMT";if(typeof globalThis<"u"){if(!globalThis.__rip)Function(di())();if(!globalThis.__ripComponent)Function(Fi())()}var bt=(n)=>{let f=n.match(/^[ \t]*(?=\S)/gm),e=Math.min(...(f||[]).map((t)=>t.length));return n.replace(RegExp(`^[ ]{${e}}`,"gm"),"").trim()},Al=(n)=>String(n).replace(/[\r\n]/g,"").replace(/\s+$/g,"");function yl(n){let f=/^(\s*)import\s+([^'"]+?)\s+from\s+['"](@rip-lang\/[^'"]+)['"];?\s*$/gm;return n.replace(f,(e,t,i,u)=>{let l=i.trim();if(l.startsWith("type "))return`${t}// type-only import erased: ${u}`;let a=l.indexOf("{"),c=l.lastIndexOf("}");if(a<0||c<=a)return console.warn(`[Rip] Skipping non-named import from ${u}; only \`import { … } from '@rip-lang/*'\` is supported in browser bundles.`),e;let r=l.slice(a+1,c),h=[];for(let o of r.split(",")){let s=o.trim().replace(/^type\s+/,"");if(!s)continue;if(/\s+as\s+/.test(s)){let[w,y]=s.split(/\s+as\s+/).map((A)=>A.trim());h.push(`${w}: ${y}`)}else h.push(s)}if(h.length===0)return`${t}// import erased: ${u}`;return`${t}const { ${h.join(", ")} } = globalThis;`})}function Jf(n,f){let t=`//# sourceURL=${Al(f)}`,i=/\n?\/\/# sourceMappingURL=[^\n]*\s*$/,u=n.match(i);if(u)return n.slice(0,u.index)+`
2956
+ `)}let u=new vn,l;try{l=u.tokenize(n)}catch(y){throw hi(y,n,this.options.filename)}if(this.options.showTokens)l.forEach((y)=>console.log(`${y[0].padEnd(12)} ${JSON.stringify(y[1])}`)),console.log();let a=null,c=null;if(this.options.types==="emit"||this.options.types==="check"||this.options.types===!0)c=[...l];if(l=l.filter((y)=>y[0]!=="TYPE_DECL"),u.typeRefNames?.size>0&&!this.options.inlineTypes){let y=new Set,R=!1;for(let m of l){if(m[0]==="IMPORT"){R=!0;continue}if(R&&m[0]==="TERMINATOR"){R=!1;continue}if(R)continue;if(m[0]==="IDENTIFIER")y.add(m[1])}let U=(m)=>!y.has(m);for(let m=l.length-1;m>=0;m--){if(l[m][0]!=="IMPORT")continue;let D=m+1;if(D>=l.length)continue;if(l[D][0]==="CALL_START"||l[D][0]==="(")continue;if(l[D][0]==="STRING")continue;let M=-1,q=D;while(q<l.length&&l[q][0]!=="TERMINATOR"){if(M===-1&&l[q][0]==="FROM")M=q;q++}if(M===-1)continue;let S=-1,d=-1;for(let X=m+1;X<M;X++)if(l[X][0]==="{"){S=X;break}if(S!==-1){for(let X=S+1;X<M;X++)if(l[X][0]==="}"){d=X;break}}let K=!1,E=S!==-1?S:M;for(let X=m+1;X<E;X++){let fn=l[X][0];if(fn==="IDENTIFIER"||fn==="*"){K=!0;break}}if(S===-1||d===-1){if(K){let X=[],fn=m+1;while(fn<M)if(l[fn][0]==="AS"&&fn+1<M&&l[fn+1][0]==="IDENTIFIER")X.push(l[fn+1][1]),fn+=2;else if(l[fn][0]==="IDENTIFIER")X.push(l[fn][1]),fn++;else fn++;if(X.length===0||!X.every(U))continue;let Y=q<l.length?q+1:q;l.splice(m,Y-m)}continue}let Z=[],Q=S+1;while(Q<d){let X=Q;while(X<d&&l[X][0]!==",")X++;if(X>Q)Z.push({start:Q,end:X});Q=X+1}for(let X of Z){let fn=null;for(let Y=X.start;Y<X.end;Y++){if(l[Y][0]!=="IDENTIFIER")continue;if(fn===null)fn=l[Y][1];else if(l[Y-1]?.[0]==="AS")fn=l[Y][1]}X.local=fn,X.drop=fn!=null&&U(fn)}if(!Z.some((X)=>X.drop))continue;let C=Z.every((X)=>X.drop),L=[];if(C&&K){let X=m+1;while(X<S)if(l[X][0]==="AS"&&X+1<S&&l[X+1][0]==="IDENTIFIER")L.push(l[X+1][1]),X+=2;else if(l[X][0]==="IDENTIFIER")L.push(l[X][1]),X++;else X++}if(C)if(!K){let X=q<l.length?q+1:q;l.splice(m,X-m)}else if(L.length>0&&L.every(U)){let X=q<l.length?q+1:q;l.splice(m,X-m)}else{let X=S,fn=d+1,Y=S-1;while(Y>m&&l[Y][0]!==","&&l[Y][0]!=="IDENTIFIER"&&l[Y][0]!=="*")Y--;if(Y>m&&l[Y][0]===",")X=Y;l.splice(X,fn-X)}else for(let X=Z.length-1;X>=0;X--){let fn=Z[X];if(!fn.drop)continue;let{start:Y,end:Un}=fn;if(Un<d&&l[Un][0]===",")Un++;else if(Y>S+1&&l[Y-1][0]===",")Y--;l.splice(Y,Un-Y)}}}while(l.length>0&&l[0][0]==="TERMINATOR")l.shift();if(l.every((y)=>y[0]==="TERMINATOR")){if(c&&Bi)a=Bi(c,["program"],n);return{tokens:l,sexpr:["program"],code:"",dts:a,data:e,reactiveVars:{},gates:[]}}let r=null;Nn.lexer={tokens:l,pos:0,setInput:function(){},lex:function(){if(this.pos>=this.tokens.length)return 1;let y=this.tokens[this.pos++],R=y[1];if(y.data)R=new String(R),Object.assign(R,y.data);return this.text=R,this.loc=y.loc,this.line=y.loc?.r,r=y.loc,y[0]}},Ol(!!this.options.exactMarks);let h;try{h=Nn.parse(n)}catch(y){if(/\?\s*\([^)]*\?[^)]*:[^)]*\)\s*:/.test(n)||/\?\s+\w+\s+\?\s+/.test(n))throw new Hn("Nested ternary operators are not supported",{code:"E_PARSE",source:n,file:this.options.filename,suggestion:"Use if/else statements instead.",phase:"parser"});let R=hi(y,n,this.options.filename);if(R.phase==="parser"&&r)R.line=r.r??R.line,R.column=r.c??R.column,R.length=r.n||1;throw R}if(this.options.showSExpr)console.log(In(h,0,!0)),console.log();let o=null;if(this.options.sourceMap){let y=(this.options.filename||"output")+".js",R=this.options.filename||"input.rip";o=new _l(y,R,n)}let s=new Fn({dataSection:e,source:n,filename:this.options.filename,skipPreamble:this.options.skipPreamble,skipRuntimes:this.options.skipRuntimes,skipExports:this.options.skipExports,skipImports:this.options.skipImports,skipDataPart:this.options.skipDataPart,stubComponents:this.options.stubComponents,reactiveVars:this.options.reactiveVars,inlineTypes:this.options.inlineTypes,schemaMode:this.options.schemaMode,foldProjections:this.options.foldProjections,exactMarks:this.options.exactMarks,sourceMap:o}),w=s.compile(h),_=o?o.toJSON():null,A=o?o.toReverseMap():null;if(_&&this.options.sourceMap==="inline"){let y;if(typeof Buffer<"u")y=Buffer.from(_,"utf8").toString("base64");else{let R=new TextEncoder().encode(_),U="";for(let m=0;m<R.length;m++)U+=String.fromCharCode(R[m]);y=btoa(U)}w+=`
2957
+ //# sourceMappingURL=data:application/json;base64,${y}`}else if(_&&this.options.filename)w+=`
2958
+ //# sourceMappingURL=${this.options.filename}.js.map`;if(c&&Bi)a=Bi(c,h,n,s._schemaBehavior,s._schemaAnon);return{tokens:l,sexpr:h,code:w,dts:a,map:_,reverseMap:A,data:e,reactiveVars:s.reactiveVars,gates:s._gateDecls||[]}}compileToJS(n){return this.compile(n).code}compileToSExpr(n){return this.compile(n).sexpr}}Ef(Fn,vn);Fn.prototype.emitEnum=function(f,e,t){let[i,u]=e,l=i?.valueOf?.()??i,a=[];if(Array.isArray(u)){let h=u[0]==="block"?u.slice(1):[u];for(let o of h)if(Array.isArray(o)){if(o[0]?.valueOf?.()==="="){let s=o[1]?.valueOf?.()??o[1],w=o[2]?.valueOf?.()??o[2];a.push([s,w])}}}if(a.length===0)return`const ${l} = {}`;let c=a.map(([h,o])=>`${h}: ${o}`).join(", "),r=a.map(([h,o])=>`${o}: "${h}"`).join(", ");return`const ${l} = {${c}, ${r}}`};Yi(null,Fn);function gi(n,f={}){return new Ei(f).compile(n)}function Tn(n,f={}){return new Ei(f).compileToJS(n)}function di(){return new Fn({}).getReactiveRuntime()}function Fi(){return new Fn({}).getComponentRuntime()}var Qf="3.17.2",Wf="2026-06-28@03:29:47GMT";if(typeof globalThis<"u"){if(!globalThis.__rip)Function(di())();if(!globalThis.__ripComponent)Function(Fi())()}var bt=(n)=>{let f=n.match(/^[ \t]*(?=\S)/gm),e=Math.min(...(f||[]).map((t)=>t.length));return n.replace(RegExp(`^[ ]{${e}}`,"gm"),"").trim()},Al=(n)=>String(n).replace(/[\r\n]/g,"").replace(/\s+$/g,"");function yl(n){let f=/^(\s*)import\s+([^'"]+?)\s+from\s+['"](@rip-lang\/[^'"]+)['"];?\s*$/gm;return n.replace(f,(e,t,i,u)=>{let l=i.trim();if(l.startsWith("type "))return`${t}// type-only import erased: ${u}`;let a=l.indexOf("{"),c=l.lastIndexOf("}");if(a<0||c<=a)return console.warn(`[Rip] Skipping non-named import from ${u}; only \`import { … } from '@rip-lang/*'\` is supported in browser bundles.`),e;let r=l.slice(a+1,c),h=[];for(let o of r.split(",")){let s=o.trim().replace(/^type\s+/,"");if(!s)continue;if(/\s+as\s+/.test(s)){let[w,_]=s.split(/\s+as\s+/).map((A)=>A.trim());h.push(`${w}: ${_}`)}else h.push(s)}if(h.length===0)return`${t}// import erased: ${u}`;return`${t}const { ${h.join(", ")} } = globalThis;`})}function Jf(n,f){let t=`//# sourceURL=${Al(f)}`,i=/\n?\/\/# sourceMappingURL=[^\n]*\s*$/,u=n.match(i);if(u)return n.slice(0,u.index)+`
2959
2959
  `+t+n.slice(u.index);return n+`
2960
2960
  `+t}function Yf(n,f){if(!f)return n;return n.replace(/\/\/# sourceMappingURL=data:application\/json;base64,([A-Za-z0-9+/=]+)/,(e,t)=>{let i;try{let c=atob(t),r=new Uint8Array(c.length);for(let h=0;h<c.length;h++)r[h]=c.charCodeAt(h);i=new TextDecoder().decode(r)}catch{return e}let u;try{u=JSON.parse(i)}catch{return e}u.mappings=";".repeat(f)+u.mappings;let l=new TextEncoder().encode(JSON.stringify(u)),a="";for(let c=0;c<l.length;c++)a+=String.fromCharCode(l[c]);return`//# sourceMappingURL=data:application/json;base64,${btoa(a)}`})}function Pt(n,f){let e=`${Al(f)}.js`,t=Yf(n,1);return`(async()=>{
2961
2961
  ${Jf(t,e)}
2962
- })()`}if(typeof globalThis<"u")globalThis.__ripDebug={enabled:!0,offsetSourceMap:Yf,addSourceURL:Jf,sanitizeSourceURL:Al};function _i(n,f,e,t=[]){let i=n?.getAttribute(f);if(i==null)return e;let u=i.trim().toLowerCase();if(u===""||u==="true"||u==="on"||u==="yes"||u==="1")return!0;if(u==="false"||u==="off"||u==="no"||u==="0")return!1;if(t.includes(u))return u;return console.error(`Rip: invalid ${f}="${i}" (expected ${["true","false",...t].join(" | ")}); using ${JSON.stringify(e)}`),e}async function Zf(){let n=[],f,e=document.querySelector('script[src$="rip.min.js"], script[src$="rip.js"]'),t=e?.getAttribute("data-src")?.trim();if(t)for(let l of t.split(/\s+/))n.push({url:l});for(let l of document.querySelectorAll('script[type="text/rip"]'))if(l.src)n.push({url:l.src});else{let a=bt(l.textContent);if(a)n.push({code:a})}if(n.length>0){let l=await Promise.allSettled(n.map(async(s)=>{if(!s.url)return;let w=await fetch(s.url);if(!w.ok)throw Error(`${s.url} (${w.status})`);if(s.url.endsWith(".rip"))s.code=await w.text();else{let y=await w.json();s.bundle=y}}));for(let s=0;s<l.length;s++){let w=l[s];if(w.status==="rejected"&&!n[s].optional)console.warn("Rip: fetch failed:",w.reason.message)}let a=[],c=[];for(let s of n)if(s.bundle)a.push(s.bundle);else if(s.code)c.push(s);f=a[a.length-1];let r=_i(e,"data-router","auto",["hash","history"]),h,o;if(r==="auto")h=!!f?.data?.router,o=!1;else h=r!==!1,o=r==="hash";if(h&&a.length>0){let s=_i(e,"data-debug",!0);if(globalThis.__ripDebug)globalThis.__ripDebug.enabled=s;let w={skipRuntimes:!0,skipExports:!0,skipImports:!0},y=0;for(let m of c){let R=m.url||`inline-${++y}.rip`,U=s?{...w,sourceMap:"inline",filename:R}:w,_;try{_=yl(Tn(m.code,U))}catch(D){console.error(ei(D,{source:m.code,file:R,color:!1}));continue}try{await(0,eval)(s?Pt(_,R):`(async()=>{
2963
- ${_}
2964
- })()`)}catch(D){console.error(`Rip runtime error in ${R}:`,D)}}let A=ri.modules?.["app.rip"];if(A?.launch){let m=_i(e,"data-persist",!1,["session","local"]),R={bundle:f,hash:o};if(m)R.persist=m==="local"?"local":!0;await A.launch(R)}}else{let s=[];for(let R of a){let U=R.modules||R.components||{};for(let[_,D]of Object.entries(U))s.push({code:D,url:_});if(R.data){let _=e?.getAttribute("data-state"),D={};if(_)try{D=JSON.parse(_)}catch{}Object.assign(D,R.data),e?.setAttribute("data-state",JSON.stringify(D))}}if(s.push(...c),a.length>0&&typeof globalThis.createComponents==="function"){let R=globalThis.createComponents();for(let U of a){let _=U.modules||U.components;if(_)R.load(_)}if(typeof window<"u"){if(!window.__RIP__)window.__RIP__={};window.__RIP__.components=R}}let w=_i(e,"data-debug",!0);if(globalThis.__ripDebug)globalThis.__ripDebug.enabled=w;let y={skipRuntimes:!0,skipExports:!0,skipImports:!0},A=[],m=0;for(let R of s){if(!R.code)continue;let U=R.url||`inline-${++m}.rip`,_=w?{...y,sourceMap:"inline",filename:U}:y;try{let D=yl(Tn(R.code,_));A.push({js:D,url:U})}catch(D){console.error(ei(D,{source:R.code,file:U,color:!1}))}}if(!globalThis.__ripApp&&e){let R=globalThis.createStash;if(R){let U={},_=e.getAttribute("data-state");if(_)try{U=JSON.parse(_)}catch(q){console.error("Rip: invalid data-state JSON:",q.message)}let D=R({data:U});if(globalThis.__ripApp=D,typeof window<"u")window.app=D;let M=_i(e,"data-persist",!1,["session","local"]);if(M&&globalThis.persistStash)globalThis.persistStash(D,{local:M==="local"})}}if(A.length>0){let R=e?.getAttribute("data-mount"),U=e?.getAttribute("data-target")||"body",_=R?`
2962
+ })()`}if(typeof globalThis<"u")globalThis.__ripDebug={enabled:!0,offsetSourceMap:Yf,addSourceURL:Jf,sanitizeSourceURL:Al};function _i(n,f,e,t=[]){let i=n?.getAttribute(f);if(i==null)return e;let u=i.trim().toLowerCase();if(u===""||u==="true"||u==="on"||u==="yes"||u==="1")return!0;if(u==="false"||u==="off"||u==="no"||u==="0")return!1;if(t.includes(u))return u;return console.error(`Rip: invalid ${f}="${i}" (expected ${["true","false",...t].join(" | ")}); using ${JSON.stringify(e)}`),e}async function Zf(){let n=[],f,e=document.querySelector('script[src$="rip.min.js"], script[src$="rip.js"]'),t=e?.getAttribute("data-src")?.trim();if(t)for(let l of t.split(/\s+/))n.push({url:l});for(let l of document.querySelectorAll('script[type="text/rip"]'))if(l.src)n.push({url:l.src});else{let a=bt(l.textContent);if(a)n.push({code:a})}if(n.length>0){let l=await Promise.allSettled(n.map(async(s)=>{if(!s.url)return;let w=await fetch(s.url);if(!w.ok)throw Error(`${s.url} (${w.status})`);if(s.url.endsWith(".rip"))s.code=await w.text();else{let _=await w.json();s.bundle=_}}));for(let s=0;s<l.length;s++){let w=l[s];if(w.status==="rejected"&&!n[s].optional)console.warn("Rip: fetch failed:",w.reason.message)}let a=[],c=[];for(let s of n)if(s.bundle)a.push(s.bundle);else if(s.code)c.push(s);f=a[a.length-1];let r=_i(e,"data-router","auto",["hash","history"]),h,o;if(r==="auto")h=!!f?.data?.router,o=!1;else h=r!==!1,o=r==="hash";if(h&&a.length>0){let s=_i(e,"data-debug",!0);if(globalThis.__ripDebug)globalThis.__ripDebug.enabled=s;let w={skipRuntimes:!0,skipExports:!0,skipImports:!0},_=0;for(let y of c){let R=y.url||`inline-${++_}.rip`,U=s?{...w,sourceMap:"inline",filename:R}:w,m;try{m=yl(Tn(y.code,U))}catch(D){console.error(ei(D,{source:y.code,file:R,color:!1}));continue}try{await(0,eval)(s?Pt(m,R):`(async()=>{
2963
+ ${m}
2964
+ })()`)}catch(D){console.error(`Rip runtime error in ${R}:`,D)}}let A=ri.modules?.["app.rip"];if(A?.launch){let y=_i(e,"data-persist",!1,["session","local"]),R={bundle:f,hash:o};if(y)R.persist=y==="local"?"local":!0;await A.launch(R)}}else{let s=[];for(let R of a){let U=R.modules||R.components||{};for(let[m,D]of Object.entries(U))s.push({code:D,url:m});if(R.data){let m=e?.getAttribute("data-state"),D={};if(m)try{D=JSON.parse(m)}catch{}Object.assign(D,R.data),e?.setAttribute("data-state",JSON.stringify(D))}}if(s.push(...c),a.length>0&&typeof globalThis.createComponents==="function"){let R=globalThis.createComponents();for(let U of a){let m=U.modules||U.components;if(m)R.load(m)}if(typeof window<"u"){if(!window.__RIP__)window.__RIP__={};window.__RIP__.components=R}}let w=_i(e,"data-debug",!0);if(globalThis.__ripDebug)globalThis.__ripDebug.enabled=w;let _={skipRuntimes:!0,skipExports:!0,skipImports:!0},A=[],y=0;for(let R of s){if(!R.code)continue;let U=R.url||`inline-${++y}.rip`,m=w?{..._,sourceMap:"inline",filename:U}:_;try{let D=yl(Tn(R.code,m));A.push({js:D,url:U})}catch(D){console.error(ei(D,{source:R.code,file:U,color:!1}))}}if(!globalThis.__ripApp&&e){let R=globalThis.createStash;if(R){let U={},m=e.getAttribute("data-state");if(m)try{U=JSON.parse(m)}catch(q){console.error("Rip: invalid data-state JSON:",q.message)}let D=R({data:U});if(globalThis.__ripApp=D,typeof window<"u")window.app=D;let M=_i(e,"data-persist",!1,["session","local"]);if(M&&globalThis.persistStash)globalThis.persistStash(D,{local:M==="local"})}}if(A.length>0){let R=e?.getAttribute("data-mount"),U=e?.getAttribute("data-target")||"body",m=R?`
2965
2965
  ${R}.mount(${JSON.stringify(U)});
2966
- `:"",D=df(A.map((S)=>({js:S.js}))),M=R?D.replace(/(\n\/\/# sourceMappingURL=[^\n]*\n?)?$/,_+"$1"):D,q=!0;try{await(0,eval)(`(async()=>{
2966
+ `:"",D=df(A.map((S)=>({js:S.js}))),M=R?D.replace(/(\n\/\/# sourceMappingURL=[^\n]*\n?)?$/,m+"$1"):D,q=!0;try{await(0,eval)(`(async()=>{
2967
2967
  ${M}
2968
- })()`)}catch(S){if(q=!1,S instanceof SyntaxError)console.error(`Rip syntax error: ${S.message}`);else console.error("Rip runtime error:",S)}if(q)document.body.classList.add("ready")}}}let i=_i(e,"data-reload","auto");if((i==="auto"?!!f?.data?.watch:i===!0)&&!globalThis.__ripLaunched){let l=!1,a=1000,c=30000,r=()=>{let h=new EventSource("/watch");h.addEventListener("connected",()=>{if(a=1000,l)location.reload();l=!0}),h.addEventListener("reload",(o)=>{if(o.data==="styles"){let s=Date.now(),w=0;if(document.querySelectorAll('link[rel="stylesheet"]').forEach((y)=>{if(new URL(y.href).origin!==location.origin)return;let A=new URL(y.href);A.searchParams.set("_r",s),y.href=A.toString(),w++}),!w)location.reload()}else location.reload()}),h.onerror=()=>{h.close(),setTimeout(r,a),a=Math.min(a*2,c)}};r()}}async function ri(n){for(let[l,a]of Object.entries(ri.modules))if(n.includes(l))return a;let f=await fetch(n).then((l)=>{if(!l.ok)throw Error(`importRip: ${n} (${l.status})`);return l.text()}),e=yl(Tn(f)),t=`// ${n}
2968
+ })()`)}catch(S){if(q=!1,S instanceof SyntaxError)console.error(`Rip syntax error: ${S.message}`);else console.error("Rip runtime error:",S)}if(q)document.body.classList.add("ready")}}}let i=_i(e,"data-reload","auto");if((i==="auto"?!!f?.data?.watch:i===!0)&&!globalThis.__ripLaunched){let l=!1,a=1000,c=30000,r=()=>{let h=new EventSource("/watch");h.addEventListener("connected",()=>{if(a=1000,l)location.reload();l=!0}),h.addEventListener("reload",(o)=>{if(o.data==="styles"){let s=Date.now(),w=0;if(document.querySelectorAll('link[rel="stylesheet"]').forEach((_)=>{if(new URL(_.href).origin!==location.origin)return;let A=new URL(_.href);A.searchParams.set("_r",s),_.href=A.toString(),w++}),!w)location.reload()}else location.reload()}),h.onerror=()=>{h.close(),setTimeout(r,a),a=Math.min(a*2,c)}};r()}}async function ri(n){for(let[l,a]of Object.entries(ri.modules))if(n.includes(l))return a;let f=await fetch(n).then((l)=>{if(!l.ok)throw Error(`importRip: ${n} (${l.status})`);return l.text()}),e=yl(Tn(f)),t=`// ${n}
2969
2969
  `,i=new Blob([t+e],{type:"application/javascript"});return await import(URL.createObjectURL(i))}ri.modules={};function Gf(n){try{let f=n.replace(/^/gm," "),t=Tn(`do ->
2970
- ${f}`).replace(/^let\s+[^;]+;\s*\n\s*/m,"");t=t.replace(/^const\s+(\w+)\s*=/gm,"globalThis.$1 =");let i=(0,eval)(t);if(i&&typeof i.then==="function")return i.then((u)=>{if(u!==void 0)globalThis._=u;return u});if(i!==void 0)globalThis._=i;return i}catch(f){console.error(ei(f,{source:n,color:!1}));return}}if(typeof globalThis<"u")globalThis.rip=Gf,globalThis.importRip=ri,globalThis.compileToJS=Tn,globalThis.__ripExports={compile:gi,compileToJS:Tn,formatSExpr:Bn,getStdlibCode:oi,VERSION:Qf,BUILD_DATE:Wf,getReactiveRuntime:di,getComponentRuntime:Fi};if(typeof document<"u")globalThis.__ripScriptsReady=new Promise((n)=>{let f=()=>Zf().then(n);if(document.readyState==="loading")document.addEventListener("DOMContentLoaded",()=>queueMicrotask(f));else queueMicrotask(f)});var $i={};Nl($i,{unwrapStash:()=>Zn,throttle:()=>jt,source:()=>vt,setContext:()=>Ot,persistStash:()=>mu,launch:()=>pt,hold:()=>Lt,hasContext:()=>Bt,getContext:()=>It,delay:()=>yu,debounce:()=>Vt,createStash:()=>_u,createRouter:()=>Du,createResource:()=>gt,createRenderer:()=>Ru,createMutation:()=>Tt,createComponents:()=>Au});var Kl,Nf,Dl,Xf,Vi,bf,Ql,Li,pi,Pf,Of,If,ji,Bf,ni,xi,Sn,Ci,zi,gf,Cf,vf,Wl,Tf,Vf,Ai,Kn,jf,Lf,pf,xf,$f,kf,nu,iu,lu,Mi,Qn,Rl,vi,Qi,Ml,fu,Wi,mi,Ul,Ui,uu,Ti,kn,eu,ql,tu,au,Sl,Hi,El,Jl,ru,dl,Wn,Di,xn,Yl,Zl,cu,Fl,hu,Ri,su,zl,Ki,ou,ci,wu,yi,$n,Hl;globalThis.abort??=(n)=>{if(n)console.error(n);process.exit(1)};globalThis.assert??=(n,f)=>{if(!n)throw Error(f||"Assertion failed")};globalThis.exit??=(n)=>process.exit(n||0);globalThis.kind??=(n)=>n!=null?(n.constructor?.name||Object.prototype.toString.call(n).slice(8,-1)).toLowerCase():String(n);globalThis.noop??=()=>{};globalThis.p??=console.log;globalThis.pp??=(n)=>{return console.dir(n,{depth:null,colors:!0}),n};globalThis.pj??=(n)=>{return console.log(JSON.stringify(n,null,2)),n};globalThis.pr??=(()=>{let n=/^[A-Za-z_$][A-Za-z0-9_$]*$/,f=(u,l)=>u.replace(/\\/g,"\\\\").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t").replace(new RegExp(l,"g"),"\\"+l),e=(u)=>!u.includes("'")?"'"+f(u,"'")+"'":!u.includes('"')?'"'+f(u,'"').split("#{").join("\\#{")+'"':"'"+f(u,"'")+"'",t=(u)=>{if(typeof u==="symbol"){let l=Symbol.keyFor(u);return l&&n.test(l)?":"+l:e(String(u))}return n.test(u)?u:e(u)},i=(u,l)=>{if(u===null)return"null";if(u===void 0)return"undefined";let a=typeof u;if(a==="number"||a==="boolean")return String(u);if(a==="string")return e(u);if(a==="symbol"){let c=Symbol.keyFor(u);return c&&n.test(c)?":"+c:null}if(Array.isArray(u)){if(u.length===0)return"[]";let c=" ".repeat(l+1),r=" ".repeat(l);return`[
2970
+ ${f}`).replace(/^let\s+[^;]+;\s*\n\s*/m,"");t=t.replace(/^const\s+(\w+)\s*=/gm,"globalThis.$1 =");let i=(0,eval)(t);if(i&&typeof i.then==="function")return i.then((u)=>{if(u!==void 0)globalThis._=u;return u});if(i!==void 0)globalThis._=i;return i}catch(f){console.error(ei(f,{source:n,color:!1}));return}}if(typeof globalThis<"u")globalThis.rip=Gf,globalThis.importRip=ri,globalThis.compileToJS=Tn,globalThis.__ripExports={compile:gi,compileToJS:Tn,formatSExpr:In,getStdlibCode:oi,VERSION:Qf,BUILD_DATE:Wf,getReactiveRuntime:di,getComponentRuntime:Fi};if(typeof document<"u")globalThis.__ripScriptsReady=new Promise((n)=>{let f=()=>Zf().then(n);if(document.readyState==="loading")document.addEventListener("DOMContentLoaded",()=>queueMicrotask(f));else queueMicrotask(f)});var $i={};Nl($i,{unwrapStash:()=>Zn,throttle:()=>jt,source:()=>vt,setContext:()=>Ot,persistStash:()=>mu,launch:()=>pt,hold:()=>Lt,hasContext:()=>It,getContext:()=>Bt,delay:()=>yu,debounce:()=>Vt,createStash:()=>_u,createRouter:()=>Du,createResource:()=>gt,createRenderer:()=>Ru,createMutation:()=>Tt,createComponents:()=>Au});var Kl,Nf,Dl,Xf,Vi,bf,Ql,Li,pi,Pf,Of,Bf,ji,If,ni,xi,Sn,Ci,zi,gf,Cf,vf,Wl,Tf,Vf,Ai,Kn,jf,Lf,pf,xf,$f,kf,nu,iu,lu,Mi,Qn,Rl,vi,Qi,Ml,fu,Wi,mi,Ul,Ui,uu,Ti,kn,eu,ql,tu,au,Sl,Hi,El,Jl,ru,dl,Wn,Di,xn,Yl,Zl,cu,Fl,hu,Ri,su,zl,Ki,ou,ci,wu,yi,$n,Hl;globalThis.abort??=(n)=>{if(n)console.error(n);process.exit(1)};globalThis.assert??=(n,f)=>{if(!n)throw Error(f||"Assertion failed")};globalThis.exit??=(n)=>process.exit(n||0);globalThis.kind??=(n)=>n!=null?(n.constructor?.name||Object.prototype.toString.call(n).slice(8,-1)).toLowerCase():String(n);globalThis.noop??=()=>{};globalThis.p??=console.log;globalThis.pp??=(n)=>{return console.dir(n,{depth:null,colors:!0}),n};globalThis.pj??=(n)=>{return console.log(JSON.stringify(n,null,2)),n};globalThis.pr??=(()=>{let n=/^[A-Za-z_$][A-Za-z0-9_$]*$/,f=(u,l)=>u.replace(/\\/g,"\\\\").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g,"\\t").replace(new RegExp(l,"g"),"\\"+l),e=(u)=>!u.includes("'")?"'"+f(u,"'")+"'":!u.includes('"')?'"'+f(u,'"').split("#{").join("\\#{")+'"':"'"+f(u,"'")+"'",t=(u)=>{if(typeof u==="symbol"){let l=Symbol.keyFor(u);return l&&n.test(l)?":"+l:e(String(u))}return n.test(u)?u:e(u)},i=(u,l)=>{if(u===null)return"null";if(u===void 0)return"undefined";let a=typeof u;if(a==="number"||a==="boolean")return String(u);if(a==="string")return e(u);if(a==="symbol"){let c=Symbol.keyFor(u);return c&&n.test(c)?":"+c:null}if(Array.isArray(u)){if(u.length===0)return"[]";let c=" ".repeat(l+1),r=" ".repeat(l);return`[
2971
2971
  `+c+u.map((h)=>i(h,l+1)??"null").join(`
2972
2972
  `+c)+`
2973
2973
  `+r+"]"}if(a==="object"){let c=Object.getPrototypeOf(u);if(c!==Object.prototype&&c!==null)return null;let r=Object.keys(u);if(r.length===0)return"{}";let h=" ".repeat(l+1),o=" ".repeat(l);return`{
2974
2974
  `+h+r.map((s)=>t(s)+": "+(i(u[s],l+1)??"null")).join(`
2975
2975
  `+h)+`
2976
- `+o+"}"}return null};return(u)=>{let l=i(u,0);return l!==null?console.log(l):console.dir(u,{depth:null,colors:!0}),u}})();globalThis.raise??=(n,f)=>{throw f!==void 0?new n(f):Error(n)};globalThis.rand??=(n,f)=>f!==void 0?(n>f&&([n,f]=[f,n]),Math.floor(Math.random()*(f-n+1)+n)):n?Math.floor(Math.random()*n):Math.random();globalThis.sleep??=(n)=>new Promise((f)=>setTimeout(f,n));globalThis.todo??=(n)=>{throw Error(n||"Not implemented")};globalThis.warn??=console.warn;globalThis.zip??=(...n)=>n[0].map((f,e)=>n.map((t)=>t[e]));({__state:Sn,__computed:Bf,__effect:ni,__batch:ji}=globalThis.__rip);xi=globalThis.__ripComponent||{};var Ot=function(n,f){return xi.setContext(n,f)},It=function(n){return xi.getContext(n)},Bt=function(n){return xi.hasContext(n)};Ui=function(n){if(typeof window>"u"||typeof document>"u")throw Error(`Rip App: '${n}' requires a browser environment`)};Ql=new WeakMap;Dl=new WeakMap;Li=Symbol.for("rip.source");pi=Symbol.for("rip.source.family");Kl=Symbol.for("rip.defaults");Vi=Symbol.for("rip.persist");Wn=function(n){return n!=null&&(typeof n==="object"||typeof n==="function")&&(n[Li]===!0||n[pi]===!0)};Di=function(n){return n!=null&&typeof n==="function"&&n[pi]===!0};vi=0;mi=Sn(0);Qn=0;dl=function(n){return typeof n==="string"&&(n.indexOf(".")!==-1||n.indexOf("/")!==-1||n.indexOf("[")!==-1)};ru=function(n){return/^-?\d+$/.test(n)};Jl=function(n,f){let e;if(!n[Symbol.for("signals")])Object.defineProperty(n,Symbol.for("signals"),{value:new Map,enumerable:!1});if(e=n[Symbol.for("signals")].get(f),!e)e=Sn(n[f]),n[Symbol.for("signals")].set(f,e);return e};xn=function(n){return Jl(n,Symbol.for("keys"))};Hl=function(n){let f;if(!(n!=null&&typeof n==="object"))return n;if(n[Symbol.for("stash")])return n;if(n[Li])return n;if(n instanceof Date||n instanceof RegExp||n instanceof Map||n instanceof Set||n instanceof Promise)return n;if(f=Ql.get(n),f)return f;return Yl(n)};Yl=function(n){let f,e;return e=null,f={get(t,i){let u,l,a,c,r;if(i===Symbol.for("stash"))return!0;if(i===Symbol.for("raw"))return t;if(typeof i==="symbol")return Reflect.get(t,i);if(i==="length"&&Array.isArray(t))return xn(t).value,t.length;if(!Qn&&dl(i))return ci(e,i);if(u=wu(e,i),u)return u;if(l=t[i],Wn(l)){if(typeof l==="function")return l;return c=l.read(),c!=null&&typeof c==="object"?Hl(c):c}if(a=Jl(t,i),r=a.value,r!=null&&typeof r==="object")return Hl(r);return r},set(t,i,u){let l,a,c,r,h;if(!Qn&&dl(i))return yi(e,i,u),!0;if(Array.isArray(t)&&i==="length"){if(c=t.length,l=+u,t.length=l,l!==c){if(t[Symbol.for("signals")]){for(let o of((s,w)=>Array.from({length:Math.max(0,Math.abs(w-s))},(y,A)=>s+A*(s<=w?1:-1)))(Math.min(c,l),Math.max(c,l)))if(h=t[Symbol.for("signals")].get(String(o)),h!=null)h.value=t[o]}xn(t).value=++vi,mi.value++}return!0}if(a=t[i],Wn(a)&&!Wn(u)){if(Di(a))throw Error(`Rip App: cannot assign a value to keyed source '${String(i)}' — use source('${String(i)}', key) and set .value`);return a.write(u?.[Symbol.for("raw")]?u[Symbol.for("raw")]:u),mi.value++,!0}if(r=u?.[Symbol.for("raw")]?u[Symbol.for("raw")]:u,r===a)return!0;if(t[i]=r,t[Symbol.for("signals")]?.has(i))t[Symbol.for("signals")].get(i).value=r;if(a===void 0&&r!==void 0)xn(t).value=++vi;return mi.value++,!0},deleteProperty(t,i){let u;if(delete t[i],u=t[Symbol.for("signals")]?.get(i),u!=null)u.value=void 0;return xn(t).value=++vi,mi.value++,!0},ownKeys(t){return xn(t).value,Reflect.ownKeys(t)}},e=new Proxy(n,f),Ql.set(n,e),e};Xf=/([./][^./\[\s]+|\[[-+]?\d+\]|\[(?:"[^"]+"|'[^']+')\])/;$n=function(n){let f,e,t,i,u;t=("."+n).split(Xf),t.shift(),u=[],e=0;while(e<t.length){if(i=t[e],f=i[0],f==="."||f==="/")u.push(i.slice(1));else if(f==="[")if(i[1]==='"'||i[1]==="'")u.push(i.slice(2,-2));else u.push(+i.slice(1,-1));e+=2}return u};Ri=function(n,f){let e;if(typeof n==="number"&&n<0){if(e=Zn(f),Array.isArray(e))return e.length+n}return n};ci=function(n,f){let e,t;return t=$n(f),e=n,Qn++,(()=>{try{for(let i of t){if(e==null)return;e=e[Ri(i,e)]}return e}finally{Qn--}})()};yi=function(n,f,e){let t,i,u,l;return l=$n(f),u=n,Qn++,(()=>{try{for(let a=0;a<l.length;a++){let c=l[a];if(t=Ri(c,u),a===l.length-1)u[t]=e;else{if(u[t]==null)i=l[a+1],u[t]=typeof i==="number"||ru(i)?[]:{};u=u[t]}}return e}finally{Qn--}})()};Of={inc:!0,dec:!0,flip:!0,join:!0,keys:!0,has:!0,del:!0,peek:!0,reset:!0,source:!0};Ki=function(n){let f;if(!(n!=null&&typeof n==="object"))return n;if(n instanceof Date||n instanceof RegExp||n instanceof Map||n instanceof Set||n instanceof Promise)return n;if(Array.isArray(n))return(()=>{let e=[];for(let t of n)e.push(Ki(t));return e})();f={};for(let e in n){if(!Object.hasOwn(n,e))continue;let t=n[e];if(Wn(t))continue;f[e]=Ki(t)}return f};ou=function(n){if(!(n!=null&&typeof n==="object"))return;Object.defineProperty(n,Kl,{value:Ki(n),configurable:!0});return};wu=function(n,f){let e,t;if(!Of[f])return;if(e=Dl.get(n),!e)e={},Dl.set(n,e);if(e[f])return e[f];return t=(()=>{switch(f){case"inc":return function(i,u=1){let l;return l=ci(n,i)??0,yi(n,i,l+u)};case"dec":return function(i,u=1){let l;return l=ci(n,i)??0,yi(n,i,l-u)};case"flip":return function(i){let u;return u=ci(n,i)??!1,yi(n,i,!u)};case"join":return function(i,u){return ji(function(){let l;if(l=ci(n,i),!(l!=null&&typeof l==="object"))yi(n,i,{}),l=ci(n,i);return Qn++,(()=>{try{return(()=>{let a=[];for(let c in u){let r=u[c];a.push(l[c]=r)}return a})()}finally{Qn--}})()})};case"keys":return function(i){let u,l,a;return Qn++,(()=>{try{l=$n(i),u=n;for(let c of l){if(u==null)return[];u=u[Ri(c,u)]}if(!(u!=null&&typeof u==="object"))return[];return a=Zn(u),xn(a).value,Object.keys(a)}finally{Qn--}})()};case"has":return function(i){let u,l,a,c;return Qn++,(()=>{try{if(a=$n(i),!(a.length>0))return!1;l=n;for(let r=0;r<a.length;r++){let h=a[r];if(u=Ri(h,l),r===a.length-1)return c=Zn(l),xn(c).value,Object.prototype.hasOwnProperty.call(c,u);if(l==null)return!1;l=l[u]}return!1}finally{Qn--}})()};case"del":return function(i){let u,l,a;return Qn++,(()=>{try{if(a=$n(i),!(a.length>0))return;return l=n,(()=>{let c=[];for(let r=0;r<a.length;r++){let h=a[r];if(u=Ri(h,l),r===a.length-1){delete l[u];return}if(l==null)return;c.push(l=l[u])}return c})()}finally{Qn--}})()};case"reset":return function(){ji(function(){let i,u;u=Zn(n),i=u[Kl];for(let l in u){if(!Object.hasOwn(u,l))continue;let a=u[l];if(Wn(a))a.reset();else if(i)if(Object.prototype.hasOwnProperty.call(i,l))n[l]=Ki(i[l]);else delete n[l]}return u[Vi]?.()});return};case"source":return function(i,u){let l,a,c;l=null,c=Zn(n);for(let r of $n(i)){if(!(c!=null&&typeof c==="object"))break;if(c=c[r],Wn(c)){l=c;break}}if(!l)throw Error(`Rip App: source('${i}') does not resolve to a source key — declare it with source() in app/stash.rip`);if(Di(l)){if(u==null)throw Error(`Rip App: keyed source('${i}') requires a key — source('${i}', key)`);l=l.cellFor(u)}else if(u!=null)throw Error(`Rip App: source('${i}') is not keyed — drop the key argument`);return a={refetch:l.refetch,reset:l.reset},Object.defineProperty(a,"value",{get(){return l.read()},set(r){return l.write(r)}}),Object.defineProperty(a,"loading",{get(){return l.loading}}),Object.defineProperty(a,"error",{get(){return l.error}}),a};case"peek":return function(i){let u,l;if(l=Zn(n),i==null)return l;for(let a of $n(i)){if(l==null)return;if(Wn(l)){if(Di(l))return;if(l=l.peek(),l==null)return}u=typeof a==="number"&&a<0&&Array.isArray(l)?l.length+a:a,l=l[u]}return Wn(l)?Di(l)?void 0:l.peek():l}}})(),e[f]=t,t};function _u(n={}){return Yl(n)}function Zn(n){return n?.[Symbol.for("raw")]?n[Symbol.for("raw")]:n}fu=function(n,f){return Wn(f)?void 0:f};Rl=function(n){if(!(n!=null&&typeof n==="object"))return!1;for(let f in n){if(!Object.hasOwn(n,f))continue;let e=n[f];if(e==null)continue;if(Wn(e))return!0;if(typeof e==="object"&&Rl(e))return!0}return!1};Ml=function(n,f){let e,t;t=Zn(n);for(let i in f){let u=f[i];if(e=t[i],Wn(e))continue;if(u!=null&&e!=null&&typeof u==="object"&&!Array.isArray(u)&&typeof e==="object"&&!Array.isArray(e)&&Rl(e))Ml(n[i],u);else n[i]=u}return};function mu(n,f={}){let e,t,i,u,l,a,c,r,h;if(Ui("persistStash"),h=Zn(n)||n,h[Symbol.for("persisted")])return function(){return null};h[Symbol.for("persisted")]=!0,c=f.local?localStorage:sessionStorage,r=f.key||"__rip_app";try{if(l=c.getItem(r),l)a=JSON.parse(l),Ml(n.data,a)}catch{}if(e=function(){return(()=>{try{return c.setItem(r,JSON.stringify(Zn(n.data),fu))}catch{return null}})()},u=ni(function(){let o;return mi.value,o=setTimeout(e,2000),function(){return clearTimeout(o)}}),window.addEventListener("beforeunload",e),t=Zn(n.data),t!=null&&typeof t==="object")Object.defineProperty(t,Vi,{value(){return(()=>{try{return c.removeItem(r)}catch{return null}})()},configurable:!0,writable:!0});return i=!1,function(){if(i)return;if(i=!0,u?.(),window.removeEventListener("beforeunload",e),e(),t!=null&&typeof t==="object")t[Vi]=null;return h[Symbol.for("persisted")]=!1}}function gt(n,f={}){let e,t,i,u,l,a,c,r;if(e=Sn(f.initial??null),i=Sn(!1),t=Sn(null),a=0,u=null,c=async function(){let h,o;return u?.abort(),u=typeof AbortController<"u"?new AbortController:null,h=++a,i.value=!0,t.value=null,await(async()=>{try{if(o=await n(u?.signal),h!==a)return;return e.value=o,o}catch(s){if(h!==a)return;if(s?.name==="AbortError")return;throw t.value=s,s}finally{if(h===a)i.value=!1}})()},l=function(){return a++,u?.abort(),u=null,i.value=!1,t.value=null},r={data:void 0,loading:void 0,error:void 0,refetch:c,dispose:l},Object.defineProperty(r,"data",{get(){return e.value}}),Object.defineProperty(r,"loading",{get(){return i.value}}),Object.defineProperty(r,"error",{get(){return t.value}}),!f.lazy)c().catch(function(){return null});return r}Nf=/^(\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)$/i;function Ct(n){let f,e,t;if(n==null)return 0;if(typeof n==="number")return n;if(typeof n==="string"){if(n==="forever")return 1/0;if(t=n.match(Nf),t)return e=parseFloat(t[1]),(()=>{switch(t[2][0].toLowerCase()){case"s":return e*1000;case"m":return e*60000;case"h":return e*3600000;case"d":return e*86400000;case"w":return e*604800000;case"y":return e*31536000000;default:return e*1000}})();if(/^\d+$/.test(n))return parseInt(n,10)}return f=typeof n==="symbol"?String(n):JSON.stringify(n),console.warn(`[Rip] source: unrecognized staleTime ${f} — treating as 0 (use e.g. '5 min', '2 hours', a number of ms, or 'forever')`),0}bf=30000;Zl=function(n,f){let e,t,i,u,l,a,c,r,h,o,s,w;return e=Sn(null),i=Sn(!1),t=Sn(null),c=0,l=null,r=null,s=0,a=0,o=async function(y,A){let m,R;if(l?.abort(),l=typeof AbortController<"u"?new AbortController:null,m=++c,!y)i.value=!0;return await(async()=>{try{if(R=await n(l?.signal),m!==c)return R;return t.value=null,e.value=R,s=Date.now(),a=A?s+bf:0,R}catch(U){if(m!==c)return;if(U?.name==="AbortError")return;if(t.value=U,e.read()==null)throw s=0,U;return}finally{if(m===c)i.value=!1,r=null}})()},w=function(y,A){let m;return m=o(y,A),r=m,m},h=function(){return f===1/0||Date.now()-s<f||Date.now()<a},u={},u[Li]=!0,u.read=function(){let y;if(y=e.value,y==null&&!r&&s===0)w(!1).catch(function(){return null});return y},u.peek=function(){return e.read()},u.ensure=function(){let y,A;if(A=e.read(),s!==0){if(y=!h(),a=0,y&&!r)w(!0).catch(function(){return null});return Promise.resolve(A)}if(r)return r.finally(function(){return a=0});return w(!1)},u.preload=function(){let y;if(y=e.read(),s!==0){if(!h()&&!r)w(!0,!0).catch(function(){return null});return Promise.resolve(y)}if(r)return r;return w(!1,!0)},u.write=function(y){return c++,l?.abort(),l=null,r=null,i.value=!1,t.value=null,e.value=y,s=y!=null?Date.now():0,a=0,y},u.reset=function(){c++,l?.abort(),l=null,r=null,i.value=!1,t.value=null,e.value=null,s=0,a=0;return},u.refetch=function(){return w(!1)},Object.defineProperty(u,"loading",{get(){return i.value}}),Object.defineProperty(u,"error",{get(){return t.value}}),u};Pf=64;cu=function(n,f){let e,t,i;return t=new Map,e=function(u){let l,a,c;if(c=u!=null&&typeof u==="object"?JSON.stringify(u):u,l=t.get(c),l)t.delete(c),t.set(c,l);else if(l=Zl(function(r){return n(u,r)},f),t.set(c,l),t.size>Pf)for(let r of t.keys()){if(a=t.get(r),a.loading)continue;a.reset(),t.delete(r);break}return l},i=function(u){return e(u).read()},i[pi]=!0,i.cellFor=e,i.reset=function(){for(let u of t.values())u.reset();t.clear();return},i};function vt(n){let f,e;return e=Ct(n.staleTime),f=n.fetch.length>=1?cu(n.fetch,e):Zl(n.fetch,e),f}function Tt(n,f={}){let e,t,i,u,l;return t=Sn(!1),i=Sn(!1),e=Sn(null),u=0,l=async function(...a){let c,r;c=++u,t.value=!0,i.value=!1,e.value=null;try{r=await n(...a)}catch(h){if(c!==u)return;e.value=h;try{if(f.onError)return await f.onError(h);else throw h}finally{t.value=!1}}if(c!==u)return;return await(async()=>{try{return i.value=!0,await f.onSuccess?.(r),r}finally{if(c===u)t.value=!1}})()},Object.defineProperty(l,"pending",{get(){return t.value}}),Object.defineProperty(l,"succeeded",{get(){return i.value}}),Object.defineProperty(l,"error",{get(){return e.value}}),l}Wi=function(n){return typeof n==="function"?n:function(){return n.value}};Mi=function(n,f){return Object.defineProperty(n,"dispose",{value(){return f?.()},configurable:!0,writable:!0}),n};Qi=function(n,f,e){let t;return t={read(){return n.read()}},Object.defineProperty(t,"value",{get(){return n.value},set(i){return f.value=i}}),Mi(t,e)};var yu=function(n,f){let e,t,i;return t=Wi(f),i=Sn(!!t()),e=ni(function(){let u;if(t())return u=setTimeout(function(){return i.value=!0},n),function(){return clearTimeout(u)};else return i.value=!1}),typeof f!=="function"?Qi(i,f,e):Mi(i,e)},Vt=function(n,f){let e,t,i;return t=Wi(f),i=Sn(t()),e=ni(function(){let u,l;return l=t(),u=setTimeout(function(){return i.value=l},n),function(){return clearTimeout(u)}}),typeof f!=="function"?Qi(i,f,e):Mi(i,e)},jt=function(n,f){let e,t,i,u;return t=Wi(f),u=Sn(t()),i=0,e=ni(function(){let l,a,c,r;if(r=t(),l=Date.now(),a=n-(l-i),a<=0)return u.value=r,i=l;else return c=setTimeout(function(){return u.value=t(),i=Date.now()},a),function(){return clearTimeout(c)}}),typeof f!=="function"?Qi(u,f,e):Mi(u,e)},Lt=function(n,f){let e,t,i;return t=Wi(f),i=Sn(!!t()),e=ni(function(){let u;if(t())return i.value=!0;else return u=setTimeout(function(){return i.value=!1},n),function(){return clearTimeout(u)}}),typeof f!=="function"?Qi(i,f,e):Mi(i,e)};function Au(){let n,f,e,t;return f=new Map,t=new Set,n=new Map,e=function(i,u){let l=[];for(let a of Array.from(t))l.push((()=>{try{return a(i,u)}catch(c){return console.error("[Rip] watcher error:",c)}})());return l},{read(i){return f.get(i)},write(i,u){let l;return l=!f.has(i),f.set(i,u),n.delete(i),e(l?"create":"change",i)},del(i){return f.delete(i),n.delete(i),e("delete",i)},exists(i){return f.has(i)},size(){return f.size},list(i=""){let u,l,a;a=[],u=i?i+"/":"";for(let[c]of f)if(c.startsWith(u)){if(l=c.slice(u.length),l.includes("/"))continue;a.push(c)}return a},listAll(i=""){let u,l;l=[],u=i?i+"/":"";for(let[a]of f)if(a.startsWith(u))l.push(a);return l},load(i){let u=[];for(let l in i){let a=i[l];f.set(l,a),u.push(n.delete(l))}return u},watch(i){let u;return t.add(i),u=!1,function(){if(u)return;return u=!0,t.delete(i)}},getCompiled(i){return n.get(i)},setCompiled(i,u){return n.set(i,u)}}}au=function(n){let f;if(f=n.replace(/\.rip$/,""),f=f.replace(/\[\.\.\.(\w+)\]/g,"*$1"),f=f.replace(/\[(\w+)\]/g,":$1"),f=f.split("/").filter(function(e){return!/^\(.+\)$/.test(e)}).join("/"),f==="index"||f==="")return"/";return f=f.replace(/\/index$/,""),"/"+f};hu=function(n){let f,e,t;return e=[],f=n.replace(/[.+?^${}()|[\]\\]/g,"\\$&"),t=f.replace(/\*(\w+)/g,function(i,u){return e.push(u),"(.*)"}).replace(/:(\w+)/g,function(i,u){return e.push(u),"([^/]+)"}),{regex:new RegExp("^"+t+"$"),names:e}};Fl=function(n,f){let e,t;for(let i of f)if(e=n.match(i.regex.regex),e){t={};for(let u=0;u<i.regex.names.length;u++){let l=i.regex.names[u];t[l]=decodeURIComponent(e[u+1])}return{route:i,params:t}}return null};Ti=function(n,f="_route"){let e,t,i,u,l,a,c,r,h,o;c=[],i=new Map,e=n.listAll(f);for(let s of e){if(a=s.slice(f.length+1),!a.endsWith(".rip"))continue;if(u=a.split("/").pop(),u==="_layout.rip"){t=a==="_layout.rip"?"":a.slice(0,-12),i.set(t,s);continue}if(u.startsWith("_"))continue;if(h=a.split("/"),h.length>1&&h.some(function(w,y){return y<h.length-1&&w.startsWith("_")}))continue;o=au(a),l=hu(o),c.push({pattern:o,regex:l,file:s,rel:a})}r=new Map;for(let s of c){if(r.has(s.pattern))throw Error(`Rip App: '${r.get(s.pattern)}' and '${s.rel}' both resolve to '${s.pattern}'`);r.set(s.pattern,s.rel)}return c.sort(function(s,w){let y,A,m,R;if(A=(s.pattern.match(/:/g)||[]).length,R=(w.pattern.match(/:/g)||[]).length,y=s.pattern.includes("*")?1:0,m=w.pattern.includes("*")?1:0,y!==m)return y-m;if(A!==R)return A-R;return s.pattern.localeCompare(w.pattern)}),{routes:c,layouts:i}};El=function(n,f,e){let t,i,u,l;if(t=[],u=n.slice(f.length+1),l=u.split("/"),i="",e.has(""))t.push(e.get(""));for(let a=0;a<l.length;a++){let c=l[a];if(a===l.length-1)break;if(i=i?i+"/"+c:c,e.has(i))t.push(e.get(i))}return t};function Du(n,f={}){let e,t,i,u,l,a,c,r,h,o,s,w,y,A,m,R,U,_,D,M,q,S,d,K,E,Z,Q,W,C,L,X,fn,Y,Un,G,O,J,P;if(Ui("createRouter"),L=f.root||"_route",R=f.base||"",_=f.hash||!1,S=f.onError||null,G=function(F){if(!R)return F;if(F===R)return"/";if(F.startsWith(R+"/"))return F.slice(R.length);return F},o=function(F){return R?R+F:F},W=function(){let F;if(_){if(F=location.hash.slice(1),!F)return"/";return F[0]==="/"?F:"/"+F}else return location.pathname+location.search+location.hash},P=function(F){return _?F==="/"?location.pathname:"#"+F.slice(1):o(F)},c=Sn(G(_?W():location.pathname)),a=Sn({}),h=Sn(null),i=Sn([]),r=Sn({}),t=Sn(""),u=yu(100,Sn(!1)),l=Sn(c.value),O=Ti(n,L),D=new Set,J=n.watch(function(F,N){if(!N.startsWith(L+"/"))return;return O=Ti(n,L)}),C=function(F){let N,un,$,tn,cn,on,b;if(cn=F.split("?")[0].split("#")[0],$=G(cn),$=$[0]==="/"?$:"/"+$,tn=F.split("?")[1]?.split("#")[0]||"",un=F.includes("#")?F.split("#")[1]:"",on=Fl($,O.routes),on){if(N=$,tn)N+=`?${tn}`;if(un)N+=`#${un}`;ji(function(){return c.value=$,a.value=on.params,h.value=on.route,i.value=El(on.route.file,L,O.layouts),r.value=Object.fromEntries(new URLSearchParams(tn)),t.value=un,l.value=N}),b=Array.from(D);for(let p of b)try{p(X.current)}catch(v){console.error("[Rip] router onNavigate callback error:",v)}return!0}if(S)S({status:404,path:$});return!1},Z=null,typeof history<"u"&&"scrollRestoration"in history)Z=history.scrollRestoration,history.scrollRestoration="manual";if(Q=function(F){return typeof window<"u"&&window.requestAnimationFrame?window.requestAnimationFrame(F):setTimeout(F,16)},w=function(F){let N,un;if(typeof window>"u")return;return N=0,un=function(){let $;return $=Math.max(0,(document?.documentElement?.scrollHeight||0)-window.innerHeight),window.scrollTo(0,Math.min(F,$)),N+=1,F>$&&N<20?Q(un):void 0},Q(un)},Y=null,K=function(){if(Y||typeof window>"u")return;return Y=setTimeout(function(){return Y=null,(()=>{try{return history.replaceState({...history.state||{},_ripScroll:window.scrollY},"",location.href)}catch{}})()},100)},typeof window<"u")window.addEventListener("scroll",K,{passive:!0});if(d=function(F){let N;return N=F?.state?._ripScroll,C(W()),typeof N==="number"?w(N):void 0},typeof window<"u")window.addEventListener("popstate",d);if(Un=function(F){let N;if(!F?.href)return!0;if(N=(()=>{try{return new URL(F.href,location.origin)}catch{return null}})(),!N)return!0;if(N.origin!==location.origin)return!0;if(F.target==="_blank")return!0;if(F.hasAttribute("download"))return!0;if(F.hasAttribute("data-router-ignore"))return!0;if(R&&!_){if(!(N.pathname===R||N.pathname.startsWith(R+"/")))return!0}return!1},q=function(F){let N,un,$,tn;if(F.defaultPrevented)return;if(F.button!==0||F.metaKey||F.ctrlKey||F.shiftKey||F.altKey)return;$=F.target;while($&&$.tagName!=="A")$=$.parentElement;if(!$)return;if(Un($))return;return tn=new URL($.href,location.origin),F.preventDefault(),N=_&&tn.hash?tn.hash.slice(1)||"/":tn.pathname+tn.search+tn.hash,un=$.hasAttribute("data-router-noscroll"),X.push(N,{noScroll:un})},typeof document<"u")document.addEventListener("click",q);return E=new WeakSet,M=function(F){let N;if(N=F.split("?")[0].split("#")[0],N=decodeURIComponent(N),N=G(N),N[0]!=="/")N="/"+N;if(N.length>1&&N.endsWith("/"))N=N.slice(0,-1);return N},U=function(){let F;if(F=_?G(W()).split("?")[0].split("#")[0]:c.value.split("?")[0].split("#")[0],F[0]!=="/")F="/"+F;if(F.length>1&&F.endsWith("/"))F=F.slice(0,-1);return F},s=function(){let F,N,un,$,tn,cn;if(typeof document>"u")return;N=U(),F=document.querySelectorAll("a[href]");for(let on of F){if(Un(on))continue;if(cn=(()=>{try{return new URL(on.href,location.origin)}catch{return null}})(),!cn)continue;if(tn=M(cn.pathname+cn.search+cn.hash),un=null,tn===N)un="page";if(!un&&N!=="/"&&N.startsWith(tn+"/")&&tn!=="")un="true";if($=on.getAttribute("aria-current"),un){if($&&!E.has(on))continue;on.setAttribute("aria-current",un),E.add(on)}else if(E.has(on))on.removeAttribute("aria-current"),E.delete(on)}return},A=null,m=!1,fn=function(){let F;if(m)return;return m=!0,F=function(){return m=!1,s()},typeof window<"u"&&window.requestAnimationFrame?window.requestAnimationFrame(F):setTimeout(F,0)},y=ni(function(){let F;if(typeof document>"u")return;if(U(),fn(),!A)A=new MutationObserver(function(){return fn()}),F=document.body||document.documentElement,A.observe(F,{childList:!0,subtree:!0});return}),X={push(F,N){let un;if(un=typeof window<"u"?window.scrollY:0,C(F)){try{history.replaceState({...history.state||{},_ripScroll:un},"",location.href)}catch{}return history.pushState({_ripScroll:0},"",P(l.read())),!N?.noScroll&&typeof window<"u"?window.scrollTo(0,0):void 0}},replace(F,N){if(C(F))return history.replaceState({_ripScroll:0},"",P(l.read())),!N?.noScroll&&typeof window<"u"?window.scrollTo(0,0):void 0},back(){return history.back()},forward(){return history.forward()},current:void 0,path:void 0,params:void 0,route:void 0,layouts:void 0,query:void 0,hash:void 0,navigating:void 0,onNavigate(F){return D.add(F),function(){return D.delete(F)}},rebuild(){return O=Ti(n,L)},match(F){let N,un,$,tn,cn;if(/^[a-z][a-z0-9+.-]*:\/\//i.test(F)){if(cn=(()=>{try{return new URL(F,location.origin)}catch{return null}})(),!cn)return null;F=_&&cn.hash?cn.hash.slice(1)||"/":cn.pathname+cn.search+cn.hash}if($=F.split("?")[0].split("#")[0],N=G($),N=N[0]==="/"?N:"/"+N,un=F.split("?")[1]?.split("#")[0]||"",tn=Fl(N,O.routes),!tn)return null;return{path:N,params:tn.params,route:tn.route,layouts:El(tn.route.file,L,O.layouts),query:Object.fromEntries(new URLSearchParams(un)),hash:F.includes("#")?F.split("#")[1]:""}},ownsAnchor(F){return!Un(F)},routes:void 0,init(){return C(W()),X},destroy(){if(typeof window<"u")window.removeEventListener("popstate",d);if(typeof window<"u")window.removeEventListener("scroll",K);if(typeof document<"u")document.removeEventListener("click",q);if(Z!==null&&typeof history<"u")history.scrollRestoration=Z;return A?.disconnect(),A=null,y?.(),J?.(),J=null,u?.dispose?.(),D.clear()}},e=Bf(function(){return{path:c.value,params:a.value,route:h.value,layouts:i.value,query:r.value,hash:t.value}}),Object.defineProperty(X,"current",{get(){return e.value}}),Object.defineProperty(X,"path",{get(){return c.value}}),Object.defineProperty(X,"params",{get(){return a.value}}),Object.defineProperty(X,"route",{get(){return h.value}}),Object.defineProperty(X,"layouts",{get(){return i.value}}),Object.defineProperty(X,"query",{get(){return r.value}}),Object.defineProperty(X,"hash",{get(){return t.value}}),Object.defineProperty(X,"navigating",{get(){return u.value},set(F){return u.value=F}}),Object.defineProperty(X,"routes",{get(){return O.routes}}),X}Ul=function(n,f){if(n.length!==f.length)return!1;for(let e=0;e<n.length;e++)if(n[e]!==f[e])return!1;return!0};Hi=function(n){if(typeof n.default==="function"&&(n.default.prototype?.mount||n.default.prototype?._create))return n.default;for(let f in n){let e=n[f];if(typeof e==="function"&&(e.prototype?.mount||e.prototype?._create))return e}return typeof n.default==="function"?n.default:void 0};Sl=function(n){let f;f={};for(let e in n){let t=n[e];if(typeof t==="function"&&(t.prototype?.mount||t.prototype?._create))f[e]=t}return f};tu=function(n){let f;return f=n.split("/").pop().replace(/\.rip$/,""),f.replace(/(^|[-_])([a-z])/g,function(e,t,i){return i.toUpperCase()})};uu=function(n,f=["_app","_lib","_pkg","_route"]){let e,t,i,u,l;t={},l=Array.isArray(f)?f:[f],u=[];for(let a of l)for(let c of n.listAll(a))u.push(c);for(let a of u){if(!a.endsWith(".rip"))continue;if(e=a.split("/").pop(),e.startsWith("_"))continue;if(e==="index.rip")continue;if(i=tu(a),t[i])console.warn(`[Rip] Component name collision: ${i} (${t[i]} vs ${a})`);t[i]=a}return t};su=function(n,f,e){let t,i,u,l;if(i=n.replace(/^(\.\.\/|\.\/)+/,""),f){u=f.split("/"),u.pop();for(let a of n.split("/"))if(a==="..")u.pop();else if(a!==".")u.push(a);if(t=u.join("/"),e.exists(t))return t}if(e.exists(i))return i;for(let a of["_pkg","_lib","_app","_route"])if(l=`${a}/${i}`,e.exists(l))return l;return null};ql=function(n){let f,e,t,i,u,l,a;if(!n)return[];if(l=n.trim(),!l)return[];if(i=[],f=l.indexOf("{"),f>=0){if(e=l.lastIndexOf("}"),e<0)return i;t=l.slice(f+1,e);for(let c of t.split(",")){if(a=c.trim(),!a)continue;i.push(a.split(/\s+as\s+/).pop().trim())}l=l.slice(0,f).replace(/,\s*$/,"").trim()}for(let c of l.split(",")){if(u=c.trim(),!u)continue;if(/^\*\s+as\s+/.test(u))i.push(u.replace(/^\*\s+as\s+/,"").trim());else i.push(u)}return i};kn=async function(n,f,e=null,t=null,i=null){let u,l,a,c,r,h,o,s,w,y,A,m,R,U,_,D,M,q,S,d,K,E,Z,Q,W,C,L,X,fn,Y,Un,G,O,J,P;if(e&&t){if(h=e.getCompiled(t),h)return h}if(i&&t)i.compiling??={},i.compiling[t]=!0;return await(async()=>{try{if(s=globalThis?.__ripDebug?.enabled&&t,fn=0,D=s?f(n,{sourceMap:"inline",filename:t}):f(n),i){if(_=new Set,W=i.packages||{},Object.keys(W).length>0)l=/^(\s*import\s+(?:.*?\s+from\s+)?['"])(@rip-lang\/[^\/'"]+)((?:\/[^'"]*)?)(['"];?\s*)$/gm,D=D.replace(l,function(F,N,un,$,tn){let cn,on;if(cn=W[un],!cn)return F;return on=!$?`_pkg/${cn.short}/${cn.entry}`:$.endsWith(".rip")?`_pkg/${cn.short}${$}`:`_pkg/${cn.short}${$}.rip`,`${N}${on}${tn}`});if(Q=/^(\s*)import\s+([^'"]+?)\s+from\s+['"](@rip-lang\/[^'"]+)['"];?\s*$/gm,D=D.replace(Q,function(F,N,un,$){let tn,cn,on,b,p,v,ln,rn;if(ln=$.replace(/^(@rip-lang\/[^\/]+).*$/,"$1"),W[ln])return F;if(rn=un.trim(),rn.startsWith("type "))return`${N}// type-only import erased: ${$}`;if(b=rn.indexOf("{"),cn=rn.lastIndexOf("}"),b<0||cn<=b)return console.warn(`[Rip] Skipping non-named import from ${$}; only named imports from '@rip-lang/*' are supported.`),F;v=[];for(let en of rn.slice(b+1,cn).split(",")){if(on=en.trim().replace(/^type\s+/,""),!on)continue;if(/\s+as\s+/.test(on))[p,tn]=on.split(/\s+as\s+/).map(function(sn){return sn.trim()}),v.push(`${p}: ${tn}`);else v.push(on)}if(v.length===0)return`${N}// import erased: ${$}`;return`${N}const { ${v.join(", ")} } = globalThis;`}),e){G=/^(\s*(?:import|export)\s+(?:(.*?)\s+from\s+)?['"])([^'"]*\.rip)(['"];?\s*)$/gm,q=Array.from(D.matchAll(G));for(let F=q.length-1;F>=0;F--){let N=q[F];if([R,L,a,O,C]=N,J=su(O,t,e),J===t)continue;if(!J){if(d=`[Rip] Could not resolve import: ${O}`,t)d+=` (from ${t})`;console.warn(d);continue}if(!i.blobUrls?.[J]){if(i.compiling?.[J])continue;if(y=e.read(J),y)await kn(y,f,e,J,i)}if(r=i.blobUrls?.[J],r){Un=`${L}${r}${C}`,D=D.slice(0,N.index)+Un+D.slice(N.index+R.length);for(let un of ql(a))_.add(un)}}}u=/^\s*(?:import|export)\s+(?:(.*?)\s+from\s+)?['"][^'"]*['"];?\s*$/gm;for(let F of D.matchAll(u))for(let N of ql(F[1]))_.add(N);E={};for(let F in i.map){let N=i.map[F];if(_.has(F))continue;if(N!==t&&D.includes(`new ${F}(`)){if(!i.classes[F]){if(y=e.read(N),y){w=await kn(y,f,e,N,i),m=Sl(w);for(let un in m){let $=m[un];i.classes[un]=$}}}if(i.classes[F])E[F]=!0}}if(K=Object.keys(E),K.length>0)M=JSON.stringify(i.key),X=`const {${K.join(", ")}} = globalThis[${M}];
2976
+ `+o+"}"}return null};return(u)=>{let l=i(u,0);return l!==null?console.log(l):console.dir(u,{depth:null,colors:!0}),u}})();globalThis.raise??=(n,f)=>{throw f!==void 0?new n(f):Error(n)};globalThis.rand??=(n,f)=>f!==void 0?(n>f&&([n,f]=[f,n]),Math.floor(Math.random()*(f-n+1)+n)):n?Math.floor(Math.random()*n):Math.random();globalThis.sleep??=(n)=>new Promise((f)=>setTimeout(f,n));globalThis.todo??=(n)=>{throw Error(n||"Not implemented")};globalThis.warn??=console.warn;globalThis.zip??=(...n)=>n[0].map((f,e)=>n.map((t)=>t[e]));({__state:Sn,__computed:If,__effect:ni,__batch:ji}=globalThis.__rip);xi=globalThis.__ripComponent||{};var Ot=function(n,f){return xi.setContext(n,f)},Bt=function(n){return xi.getContext(n)},It=function(n){return xi.hasContext(n)};Ui=function(n){if(typeof window>"u"||typeof document>"u")throw Error(`Rip App: '${n}' requires a browser environment`)};Ql=new WeakMap;Dl=new WeakMap;Li=Symbol.for("rip.source");pi=Symbol.for("rip.source.family");Kl=Symbol.for("rip.defaults");Vi=Symbol.for("rip.persist");Wn=function(n){return n!=null&&(typeof n==="object"||typeof n==="function")&&(n[Li]===!0||n[pi]===!0)};Di=function(n){return n!=null&&typeof n==="function"&&n[pi]===!0};vi=0;mi=Sn(0);Qn=0;dl=function(n){return typeof n==="string"&&(n.indexOf(".")!==-1||n.indexOf("/")!==-1||n.indexOf("[")!==-1)};ru=function(n){return/^-?\d+$/.test(n)};Jl=function(n,f){let e;if(!n[Symbol.for("signals")])Object.defineProperty(n,Symbol.for("signals"),{value:new Map,enumerable:!1});if(e=n[Symbol.for("signals")].get(f),!e)e=Sn(n[f]),n[Symbol.for("signals")].set(f,e);return e};xn=function(n){return Jl(n,Symbol.for("keys"))};Hl=function(n){let f;if(!(n!=null&&typeof n==="object"))return n;if(n[Symbol.for("stash")])return n;if(n[Li])return n;if(n instanceof Date||n instanceof RegExp||n instanceof Map||n instanceof Set||n instanceof Promise)return n;if(f=Ql.get(n),f)return f;return Yl(n)};Yl=function(n){let f,e;return e=null,f={get(t,i){let u,l,a,c,r;if(i===Symbol.for("stash"))return!0;if(i===Symbol.for("raw"))return t;if(typeof i==="symbol")return Reflect.get(t,i);if(i==="length"&&Array.isArray(t))return xn(t).value,t.length;if(!Qn&&dl(i))return ci(e,i);if(u=wu(e,i),u)return u;if(l=t[i],Wn(l)){if(typeof l==="function")return l;return c=l.read(),c!=null&&typeof c==="object"?Hl(c):c}if(a=Jl(t,i),r=a.value,r!=null&&typeof r==="object")return Hl(r);return r},set(t,i,u){let l,a,c,r,h;if(!Qn&&dl(i))return yi(e,i,u),!0;if(Array.isArray(t)&&i==="length"){if(c=t.length,l=+u,t.length=l,l!==c){if(t[Symbol.for("signals")]){for(let o of((s,w)=>Array.from({length:Math.max(0,Math.abs(w-s))},(_,A)=>s+A*(s<=w?1:-1)))(Math.min(c,l),Math.max(c,l)))if(h=t[Symbol.for("signals")].get(String(o)),h!=null)h.value=t[o]}xn(t).value=++vi,mi.value++}return!0}if(a=t[i],Wn(a)&&!Wn(u)){if(Di(a))throw Error(`Rip App: cannot assign a value to keyed source '${String(i)}' — use source('${String(i)}', key) and set .value`);return a.write(u?.[Symbol.for("raw")]?u[Symbol.for("raw")]:u),mi.value++,!0}if(r=u?.[Symbol.for("raw")]?u[Symbol.for("raw")]:u,r===a)return!0;if(t[i]=r,t[Symbol.for("signals")]?.has(i))t[Symbol.for("signals")].get(i).value=r;if(a===void 0&&r!==void 0)xn(t).value=++vi;return mi.value++,!0},deleteProperty(t,i){let u;if(delete t[i],u=t[Symbol.for("signals")]?.get(i),u!=null)u.value=void 0;return xn(t).value=++vi,mi.value++,!0},ownKeys(t){return xn(t).value,Reflect.ownKeys(t)}},e=new Proxy(n,f),Ql.set(n,e),e};Xf=/([./][^./\[\s]+|\[[-+]?\d+\]|\[(?:"[^"]+"|'[^']+')\])/;$n=function(n){let f,e,t,i,u;t=("."+n).split(Xf),t.shift(),u=[],e=0;while(e<t.length){if(i=t[e],f=i[0],f==="."||f==="/")u.push(i.slice(1));else if(f==="[")if(i[1]==='"'||i[1]==="'")u.push(i.slice(2,-2));else u.push(+i.slice(1,-1));e+=2}return u};Ri=function(n,f){let e;if(typeof n==="number"&&n<0){if(e=Zn(f),Array.isArray(e))return e.length+n}return n};ci=function(n,f){let e,t;return t=$n(f),e=n,Qn++,(()=>{try{for(let i of t){if(e==null)return;e=e[Ri(i,e)]}return e}finally{Qn--}})()};yi=function(n,f,e){let t,i,u,l;return l=$n(f),u=n,Qn++,(()=>{try{for(let a=0;a<l.length;a++){let c=l[a];if(t=Ri(c,u),a===l.length-1)u[t]=e;else{if(u[t]==null)i=l[a+1],u[t]=typeof i==="number"||ru(i)?[]:{};u=u[t]}}return e}finally{Qn--}})()};Of={inc:!0,dec:!0,flip:!0,join:!0,keys:!0,has:!0,del:!0,peek:!0,reset:!0,source:!0};Ki=function(n){let f;if(!(n!=null&&typeof n==="object"))return n;if(n instanceof Date||n instanceof RegExp||n instanceof Map||n instanceof Set||n instanceof Promise)return n;if(Array.isArray(n))return(()=>{let e=[];for(let t of n)e.push(Ki(t));return e})();f={};for(let e in n){if(!Object.hasOwn(n,e))continue;let t=n[e];if(Wn(t))continue;f[e]=Ki(t)}return f};ou=function(n){if(!(n!=null&&typeof n==="object"))return;Object.defineProperty(n,Kl,{value:Ki(n),configurable:!0});return};wu=function(n,f){let e,t;if(!Of[f])return;if(e=Dl.get(n),!e)e={},Dl.set(n,e);if(e[f])return e[f];return t=(()=>{switch(f){case"inc":return function(i,u=1){let l;return l=ci(n,i)??0,yi(n,i,l+u)};case"dec":return function(i,u=1){let l;return l=ci(n,i)??0,yi(n,i,l-u)};case"flip":return function(i){let u;return u=ci(n,i)??!1,yi(n,i,!u)};case"join":return function(i,u){return ji(function(){let l;if(l=ci(n,i),!(l!=null&&typeof l==="object"))yi(n,i,{}),l=ci(n,i);return Qn++,(()=>{try{return(()=>{let a=[];for(let c in u){let r=u[c];a.push(l[c]=r)}return a})()}finally{Qn--}})()})};case"keys":return function(i){let u,l,a;return Qn++,(()=>{try{l=$n(i),u=n;for(let c of l){if(u==null)return[];u=u[Ri(c,u)]}if(!(u!=null&&typeof u==="object"))return[];return a=Zn(u),xn(a).value,Object.keys(a)}finally{Qn--}})()};case"has":return function(i){let u,l,a,c;return Qn++,(()=>{try{if(a=$n(i),!(a.length>0))return!1;l=n;for(let r=0;r<a.length;r++){let h=a[r];if(u=Ri(h,l),r===a.length-1)return c=Zn(l),xn(c).value,Object.prototype.hasOwnProperty.call(c,u);if(l==null)return!1;l=l[u]}return!1}finally{Qn--}})()};case"del":return function(i){let u,l,a;return Qn++,(()=>{try{if(a=$n(i),!(a.length>0))return;return l=n,(()=>{let c=[];for(let r=0;r<a.length;r++){let h=a[r];if(u=Ri(h,l),r===a.length-1){delete l[u];return}if(l==null)return;c.push(l=l[u])}return c})()}finally{Qn--}})()};case"reset":return function(){ji(function(){let i,u;u=Zn(n),i=u[Kl];for(let l in u){if(!Object.hasOwn(u,l))continue;let a=u[l];if(Wn(a))a.reset();else if(i)if(Object.prototype.hasOwnProperty.call(i,l))n[l]=Ki(i[l]);else delete n[l]}return u[Vi]?.()});return};case"source":return function(i,u){let l,a,c;l=null,c=Zn(n);for(let r of $n(i)){if(!(c!=null&&typeof c==="object"))break;if(c=c[r],Wn(c)){l=c;break}}if(!l)throw Error(`Rip App: source('${i}') does not resolve to a source key — declare it with source() in app/stash.rip`);if(Di(l)){if(u==null)throw Error(`Rip App: keyed source('${i}') requires a key — source('${i}', key)`);l=l.cellFor(u)}else if(u!=null)throw Error(`Rip App: source('${i}') is not keyed — drop the key argument`);return a={refetch:l.refetch,reset:l.reset},Object.defineProperty(a,"value",{get(){return l.read()},set(r){return l.write(r)}}),Object.defineProperty(a,"loading",{get(){return l.loading}}),Object.defineProperty(a,"error",{get(){return l.error}}),a};case"peek":return function(i){let u,l;if(l=Zn(n),i==null)return l;for(let a of $n(i)){if(l==null)return;if(Wn(l)){if(Di(l))return;if(l=l.peek(),l==null)return}u=typeof a==="number"&&a<0&&Array.isArray(l)?l.length+a:a,l=l[u]}return Wn(l)?Di(l)?void 0:l.peek():l}}})(),e[f]=t,t};function _u(n={}){return Yl(n)}function Zn(n){return n?.[Symbol.for("raw")]?n[Symbol.for("raw")]:n}fu=function(n,f){return Wn(f)?void 0:f};Rl=function(n){if(!(n!=null&&typeof n==="object"))return!1;for(let f in n){if(!Object.hasOwn(n,f))continue;let e=n[f];if(e==null)continue;if(Wn(e))return!0;if(typeof e==="object"&&Rl(e))return!0}return!1};Ml=function(n,f){let e,t;t=Zn(n);for(let i in f){let u=f[i];if(e=t[i],Wn(e))continue;if(u!=null&&e!=null&&typeof u==="object"&&!Array.isArray(u)&&typeof e==="object"&&!Array.isArray(e)&&Rl(e))Ml(n[i],u);else n[i]=u}return};function mu(n,f={}){let e,t,i,u,l,a,c,r,h;if(Ui("persistStash"),h=Zn(n)||n,h[Symbol.for("persisted")])return function(){return null};h[Symbol.for("persisted")]=!0,c=f.local?localStorage:sessionStorage,r=f.key||"__rip_app";try{if(l=c.getItem(r),l)a=JSON.parse(l),Ml(n.data,a)}catch{}if(e=function(){return(()=>{try{return c.setItem(r,JSON.stringify(Zn(n.data),fu))}catch{return null}})()},u=ni(function(){let o;return mi.value,o=setTimeout(e,2000),function(){return clearTimeout(o)}}),window.addEventListener("beforeunload",e),t=Zn(n.data),t!=null&&typeof t==="object")Object.defineProperty(t,Vi,{value(){return(()=>{try{return c.removeItem(r)}catch{return null}})()},configurable:!0,writable:!0});return i=!1,function(){if(i)return;if(i=!0,u?.(),window.removeEventListener("beforeunload",e),e(),t!=null&&typeof t==="object")t[Vi]=null;return h[Symbol.for("persisted")]=!1}}function gt(n,f={}){let e,t,i,u,l,a,c,r;if(e=Sn(f.initial??null),i=Sn(!1),t=Sn(null),a=0,u=null,c=async function(){let h,o;return u?.abort(),u=typeof AbortController<"u"?new AbortController:null,h=++a,i.value=!0,t.value=null,await(async()=>{try{if(o=await n(u?.signal),h!==a)return;return e.value=o,o}catch(s){if(h!==a)return;if(s?.name==="AbortError")return;throw t.value=s,s}finally{if(h===a)i.value=!1}})()},l=function(){return a++,u?.abort(),u=null,i.value=!1,t.value=null},r={data:void 0,loading:void 0,error:void 0,refetch:c,dispose:l},Object.defineProperty(r,"data",{get(){return e.value}}),Object.defineProperty(r,"loading",{get(){return i.value}}),Object.defineProperty(r,"error",{get(){return t.value}}),!f.lazy)c().catch(function(){return null});return r}Nf=/^(\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)$/i;function Ct(n){let f,e,t;if(n==null)return 0;if(typeof n==="number")return n;if(typeof n==="string"){if(n==="forever")return 1/0;if(t=n.match(Nf),t)return e=parseFloat(t[1]),(()=>{switch(t[2][0].toLowerCase()){case"s":return e*1000;case"m":return e*60000;case"h":return e*3600000;case"d":return e*86400000;case"w":return e*604800000;case"y":return e*31536000000;default:return e*1000}})();if(/^\d+$/.test(n))return parseInt(n,10)}return f=typeof n==="symbol"?String(n):JSON.stringify(n),console.warn(`[Rip] source: unrecognized staleTime ${f} — treating as 0 (use e.g. '5 min', '2 hours', a number of ms, or 'forever')`),0}bf=30000;Zl=function(n,f){let e,t,i,u,l,a,c,r,h,o,s,w;return e=Sn(null),i=Sn(!1),t=Sn(null),c=0,l=null,r=null,s=0,a=0,o=async function(_,A){let y,R;if(l?.abort(),l=typeof AbortController<"u"?new AbortController:null,y=++c,!_)i.value=!0;return await(async()=>{try{if(R=await n(l?.signal),y!==c)return R;return t.value=null,e.value=R,s=Date.now(),a=A?s+bf:0,R}catch(U){if(y!==c)return;if(U?.name==="AbortError")return;if(t.value=U,e.read()==null)throw s=0,U;return}finally{if(y===c)i.value=!1,r=null}})()},w=function(_,A){let y;return y=o(_,A),r=y,y},h=function(){return f===1/0||Date.now()-s<f||Date.now()<a},u={},u[Li]=!0,u.read=function(){let _;if(_=e.value,_==null&&!r&&s===0)w(!1).catch(function(){return null});return _},u.peek=function(){return e.read()},u.ensure=function(){let _,A;if(A=e.read(),s!==0){if(_=!h(),a=0,_&&!r)w(!0).catch(function(){return null});return Promise.resolve(A)}if(r)return r.finally(function(){return a=0});return w(!1)},u.preload=function(){let _;if(_=e.read(),s!==0){if(!h()&&!r)w(!0,!0).catch(function(){return null});return Promise.resolve(_)}if(r)return r;return w(!1,!0)},u.write=function(_){return c++,l?.abort(),l=null,r=null,i.value=!1,t.value=null,e.value=_,s=_!=null?Date.now():0,a=0,_},u.reset=function(){c++,l?.abort(),l=null,r=null,i.value=!1,t.value=null,e.value=null,s=0,a=0;return},u.refetch=function(){return w(!1)},Object.defineProperty(u,"loading",{get(){return i.value}}),Object.defineProperty(u,"error",{get(){return t.value}}),u};Pf=64;cu=function(n,f){let e,t,i;return t=new Map,e=function(u){let l,a,c;if(c=u!=null&&typeof u==="object"?JSON.stringify(u):u,l=t.get(c),l)t.delete(c),t.set(c,l);else if(l=Zl(function(r){return n(u,r)},f),t.set(c,l),t.size>Pf)for(let r of t.keys()){if(a=t.get(r),a.loading)continue;a.reset(),t.delete(r);break}return l},i=function(u){return e(u).read()},i[pi]=!0,i.cellFor=e,i.reset=function(){for(let u of t.values())u.reset();t.clear();return},i};function vt(n){let f,e;return e=Ct(n.staleTime),f=n.fetch.length>=1?cu(n.fetch,e):Zl(n.fetch,e),f}function Tt(n,f={}){let e,t,i,u,l;return t=Sn(!1),i=Sn(!1),e=Sn(null),u=0,l=async function(...a){let c,r;c=++u,t.value=!0,i.value=!1,e.value=null;try{r=await n(...a)}catch(h){if(c!==u)return;e.value=h;try{if(f.onError)return await f.onError(h);else throw h}finally{t.value=!1}}if(c!==u)return;return await(async()=>{try{return i.value=!0,await f.onSuccess?.(r),r}finally{if(c===u)t.value=!1}})()},Object.defineProperty(l,"pending",{get(){return t.value}}),Object.defineProperty(l,"succeeded",{get(){return i.value}}),Object.defineProperty(l,"error",{get(){return e.value}}),l}Wi=function(n){return typeof n==="function"?n:function(){return n.value}};Mi=function(n,f){return Object.defineProperty(n,"dispose",{value(){return f?.()},configurable:!0,writable:!0}),n};Qi=function(n,f,e){let t;return t={read(){return n.read()}},Object.defineProperty(t,"value",{get(){return n.value},set(i){return f.value=i}}),Mi(t,e)};var yu=function(n,f){let e,t,i;return t=Wi(f),i=Sn(!!t()),e=ni(function(){let u;if(t())return u=setTimeout(function(){return i.value=!0},n),function(){return clearTimeout(u)};else return i.value=!1}),typeof f!=="function"?Qi(i,f,e):Mi(i,e)},Vt=function(n,f){let e,t,i;return t=Wi(f),i=Sn(t()),e=ni(function(){let u,l;return l=t(),u=setTimeout(function(){return i.value=l},n),function(){return clearTimeout(u)}}),typeof f!=="function"?Qi(i,f,e):Mi(i,e)},jt=function(n,f){let e,t,i,u;return t=Wi(f),u=Sn(t()),i=0,e=ni(function(){let l,a,c,r;if(r=t(),l=Date.now(),a=n-(l-i),a<=0)return u.value=r,i=l;else return c=setTimeout(function(){return u.value=t(),i=Date.now()},a),function(){return clearTimeout(c)}}),typeof f!=="function"?Qi(u,f,e):Mi(u,e)},Lt=function(n,f){let e,t,i;return t=Wi(f),i=Sn(!!t()),e=ni(function(){let u;if(t())return i.value=!0;else return u=setTimeout(function(){return i.value=!1},n),function(){return clearTimeout(u)}}),typeof f!=="function"?Qi(i,f,e):Mi(i,e)};function Au(){let n,f,e,t;return f=new Map,t=new Set,n=new Map,e=function(i,u){let l=[];for(let a of Array.from(t))l.push((()=>{try{return a(i,u)}catch(c){return console.error("[Rip] watcher error:",c)}})());return l},{read(i){return f.get(i)},write(i,u){let l;return l=!f.has(i),f.set(i,u),n.delete(i),e(l?"create":"change",i)},del(i){return f.delete(i),n.delete(i),e("delete",i)},exists(i){return f.has(i)},size(){return f.size},list(i=""){let u,l,a;a=[],u=i?i+"/":"";for(let[c]of f)if(c.startsWith(u)){if(l=c.slice(u.length),l.includes("/"))continue;a.push(c)}return a},listAll(i=""){let u,l;l=[],u=i?i+"/":"";for(let[a]of f)if(a.startsWith(u))l.push(a);return l},load(i){let u=[];for(let l in i){let a=i[l];f.set(l,a),u.push(n.delete(l))}return u},watch(i){let u;return t.add(i),u=!1,function(){if(u)return;return u=!0,t.delete(i)}},getCompiled(i){return n.get(i)},setCompiled(i,u){return n.set(i,u)}}}au=function(n){let f;if(f=n.replace(/\.rip$/,""),f=f.replace(/\[\.\.\.(\w+)\]/g,"*$1"),f=f.replace(/\[(\w+)\]/g,":$1"),f=f.split("/").filter(function(e){return!/^\(.+\)$/.test(e)}).join("/"),f==="index"||f==="")return"/";return f=f.replace(/\/index$/,""),"/"+f};hu=function(n){let f,e,t;return e=[],f=n.replace(/[.+?^${}()|[\]\\]/g,"\\$&"),t=f.replace(/\*(\w+)/g,function(i,u){return e.push(u),"(.*)"}).replace(/:(\w+)/g,function(i,u){return e.push(u),"([^/]+)"}),{regex:new RegExp("^"+t+"$"),names:e}};Fl=function(n,f){let e,t;for(let i of f)if(e=n.match(i.regex.regex),e){t={};for(let u=0;u<i.regex.names.length;u++){let l=i.regex.names[u];t[l]=decodeURIComponent(e[u+1])}return{route:i,params:t}}return null};Ti=function(n,f="_route"){let e,t,i,u,l,a,c,r,h,o;c=[],i=new Map,e=n.listAll(f);for(let s of e){if(a=s.slice(f.length+1),!a.endsWith(".rip"))continue;if(u=a.split("/").pop(),u==="_layout.rip"){t=a==="_layout.rip"?"":a.slice(0,-12),i.set(t,s);continue}if(u.startsWith("_"))continue;if(h=a.split("/"),h.length>1&&h.some(function(w,_){return _<h.length-1&&w.startsWith("_")}))continue;o=au(a),l=hu(o),c.push({pattern:o,regex:l,file:s,rel:a})}r=new Map;for(let s of c){if(r.has(s.pattern))throw Error(`Rip App: '${r.get(s.pattern)}' and '${s.rel}' both resolve to '${s.pattern}'`);r.set(s.pattern,s.rel)}return c.sort(function(s,w){let _,A,y,R;if(A=(s.pattern.match(/:/g)||[]).length,R=(w.pattern.match(/:/g)||[]).length,_=s.pattern.includes("*")?1:0,y=w.pattern.includes("*")?1:0,_!==y)return _-y;if(A!==R)return A-R;return s.pattern.localeCompare(w.pattern)}),{routes:c,layouts:i}};El=function(n,f,e){let t,i,u,l;if(t=[],u=n.slice(f.length+1),l=u.split("/"),i="",e.has(""))t.push(e.get(""));for(let a=0;a<l.length;a++){let c=l[a];if(a===l.length-1)break;if(i=i?i+"/"+c:c,e.has(i))t.push(e.get(i))}return t};function Du(n,f={}){let e,t,i,u,l,a,c,r,h,o,s,w,_,A,y,R,U,m,D,M,q,S,d,K,E,Z,Q,W,C,L,X,fn,Y,Un,G,O,J,P;if(Ui("createRouter"),L=f.root||"_route",R=f.base||"",m=f.hash||!1,S=f.onError||null,G=function(F){if(!R)return F;if(F===R)return"/";if(F.startsWith(R+"/"))return F.slice(R.length);return F},o=function(F){return R?R+F:F},W=function(){let F;if(m){if(F=location.hash.slice(1),!F)return"/";return F[0]==="/"?F:"/"+F}else return location.pathname+location.search+location.hash},P=function(F){return m?F==="/"?location.pathname:"#"+F.slice(1):o(F)},c=Sn(G(m?W():location.pathname)),a=Sn({}),h=Sn(null),i=Sn([]),r=Sn({}),t=Sn(""),u=yu(100,Sn(!1)),l=Sn(c.value),O=Ti(n,L),D=new Set,J=n.watch(function(F,N){if(!N.startsWith(L+"/"))return;return O=Ti(n,L)}),C=function(F){let N,un,$,tn,cn,on,b;if(cn=F.split("?")[0].split("#")[0],$=G(cn),$=$[0]==="/"?$:"/"+$,tn=F.split("?")[1]?.split("#")[0]||"",un=F.includes("#")?F.split("#")[1]:"",on=Fl($,O.routes),on){if(N=$,tn)N+=`?${tn}`;if(un)N+=`#${un}`;ji(function(){return c.value=$,a.value=on.params,h.value=on.route,i.value=El(on.route.file,L,O.layouts),r.value=Object.fromEntries(new URLSearchParams(tn)),t.value=un,l.value=N}),b=Array.from(D);for(let p of b)try{p(X.current)}catch(v){console.error("[Rip] router onNavigate callback error:",v)}return!0}if(S)S({status:404,path:$});return!1},Z=null,typeof history<"u"&&"scrollRestoration"in history)Z=history.scrollRestoration,history.scrollRestoration="manual";if(Q=function(F){return typeof window<"u"&&window.requestAnimationFrame?window.requestAnimationFrame(F):setTimeout(F,16)},w=function(F){let N,un;if(typeof window>"u")return;return N=0,un=function(){let $;return $=Math.max(0,(document?.documentElement?.scrollHeight||0)-window.innerHeight),window.scrollTo(0,Math.min(F,$)),N+=1,F>$&&N<20?Q(un):void 0},Q(un)},Y=null,K=function(){if(Y||typeof window>"u")return;return Y=setTimeout(function(){return Y=null,(()=>{try{return history.replaceState({...history.state||{},_ripScroll:window.scrollY},"",location.href)}catch{}})()},100)},typeof window<"u")window.addEventListener("scroll",K,{passive:!0});if(d=function(F){let N;return N=F?.state?._ripScroll,C(W()),typeof N==="number"?w(N):void 0},typeof window<"u")window.addEventListener("popstate",d);if(Un=function(F){let N;if(!F?.href)return!0;if(N=(()=>{try{return new URL(F.href,location.origin)}catch{return null}})(),!N)return!0;if(N.origin!==location.origin)return!0;if(F.target==="_blank")return!0;if(F.hasAttribute("download"))return!0;if(F.hasAttribute("data-router-ignore"))return!0;if(R&&!m){if(!(N.pathname===R||N.pathname.startsWith(R+"/")))return!0}return!1},q=function(F){let N,un,$,tn;if(F.defaultPrevented)return;if(F.button!==0||F.metaKey||F.ctrlKey||F.shiftKey||F.altKey)return;$=F.target;while($&&$.tagName!=="A")$=$.parentElement;if(!$)return;if(Un($))return;return tn=new URL($.href,location.origin),F.preventDefault(),N=m&&tn.hash?tn.hash.slice(1)||"/":tn.pathname+tn.search+tn.hash,un=$.hasAttribute("data-router-noscroll"),X.push(N,{noScroll:un})},typeof document<"u")document.addEventListener("click",q);return E=new WeakSet,M=function(F){let N;if(N=F.split("?")[0].split("#")[0],N=decodeURIComponent(N),N=G(N),N[0]!=="/")N="/"+N;if(N.length>1&&N.endsWith("/"))N=N.slice(0,-1);return N},U=function(){let F;if(F=m?G(W()).split("?")[0].split("#")[0]:c.value.split("?")[0].split("#")[0],F[0]!=="/")F="/"+F;if(F.length>1&&F.endsWith("/"))F=F.slice(0,-1);return F},s=function(){let F,N,un,$,tn,cn;if(typeof document>"u")return;N=U(),F=document.querySelectorAll("a[href]");for(let on of F){if(Un(on))continue;if(cn=(()=>{try{return new URL(on.href,location.origin)}catch{return null}})(),!cn)continue;if(tn=M(cn.pathname+cn.search+cn.hash),un=null,tn===N)un="page";if(!un&&N!=="/"&&N.startsWith(tn+"/")&&tn!=="")un="true";if($=on.getAttribute("aria-current"),un){if($&&!E.has(on))continue;on.setAttribute("aria-current",un),E.add(on)}else if(E.has(on))on.removeAttribute("aria-current"),E.delete(on)}return},A=null,y=!1,fn=function(){let F;if(y)return;return y=!0,F=function(){return y=!1,s()},typeof window<"u"&&window.requestAnimationFrame?window.requestAnimationFrame(F):setTimeout(F,0)},_=ni(function(){let F;if(typeof document>"u")return;if(U(),fn(),!A)A=new MutationObserver(function(){return fn()}),F=document.body||document.documentElement,A.observe(F,{childList:!0,subtree:!0});return}),X={push(F,N){let un;if(un=typeof window<"u"?window.scrollY:0,C(F)){try{history.replaceState({...history.state||{},_ripScroll:un},"",location.href)}catch{}return history.pushState({_ripScroll:0},"",P(l.read())),!N?.noScroll&&typeof window<"u"?window.scrollTo(0,0):void 0}},replace(F,N){if(C(F))return history.replaceState({_ripScroll:0},"",P(l.read())),!N?.noScroll&&typeof window<"u"?window.scrollTo(0,0):void 0},back(){return history.back()},forward(){return history.forward()},current:void 0,path:void 0,params:void 0,route:void 0,layouts:void 0,query:void 0,hash:void 0,navigating:void 0,onNavigate(F){return D.add(F),function(){return D.delete(F)}},rebuild(){return O=Ti(n,L)},match(F){let N,un,$,tn,cn;if(/^[a-z][a-z0-9+.-]*:\/\//i.test(F)){if(cn=(()=>{try{return new URL(F,location.origin)}catch{return null}})(),!cn)return null;F=m&&cn.hash?cn.hash.slice(1)||"/":cn.pathname+cn.search+cn.hash}if($=F.split("?")[0].split("#")[0],N=G($),N=N[0]==="/"?N:"/"+N,un=F.split("?")[1]?.split("#")[0]||"",tn=Fl(N,O.routes),!tn)return null;return{path:N,params:tn.params,route:tn.route,layouts:El(tn.route.file,L,O.layouts),query:Object.fromEntries(new URLSearchParams(un)),hash:F.includes("#")?F.split("#")[1]:""}},ownsAnchor(F){return!Un(F)},routes:void 0,init(){return C(W()),X},destroy(){if(typeof window<"u")window.removeEventListener("popstate",d);if(typeof window<"u")window.removeEventListener("scroll",K);if(typeof document<"u")document.removeEventListener("click",q);if(Z!==null&&typeof history<"u")history.scrollRestoration=Z;return A?.disconnect(),A=null,_?.(),J?.(),J=null,u?.dispose?.(),D.clear()}},e=If(function(){return{path:c.value,params:a.value,route:h.value,layouts:i.value,query:r.value,hash:t.value}}),Object.defineProperty(X,"current",{get(){return e.value}}),Object.defineProperty(X,"path",{get(){return c.value}}),Object.defineProperty(X,"params",{get(){return a.value}}),Object.defineProperty(X,"route",{get(){return h.value}}),Object.defineProperty(X,"layouts",{get(){return i.value}}),Object.defineProperty(X,"query",{get(){return r.value}}),Object.defineProperty(X,"hash",{get(){return t.value}}),Object.defineProperty(X,"navigating",{get(){return u.value},set(F){return u.value=F}}),Object.defineProperty(X,"routes",{get(){return O.routes}}),X}Ul=function(n,f){if(n.length!==f.length)return!1;for(let e=0;e<n.length;e++)if(n[e]!==f[e])return!1;return!0};Hi=function(n){if(typeof n.default==="function"&&(n.default.prototype?.mount||n.default.prototype?._create))return n.default;for(let f in n){let e=n[f];if(typeof e==="function"&&(e.prototype?.mount||e.prototype?._create))return e}return typeof n.default==="function"?n.default:void 0};Sl=function(n){let f;f={};for(let e in n){let t=n[e];if(typeof t==="function"&&(t.prototype?.mount||t.prototype?._create))f[e]=t}return f};tu=function(n){let f;return f=n.split("/").pop().replace(/\.rip$/,""),f.replace(/(^|[-_])([a-z])/g,function(e,t,i){return i.toUpperCase()})};uu=function(n,f=["_app","_lib","_pkg","_route"]){let e,t,i,u,l;t={},l=Array.isArray(f)?f:[f],u=[];for(let a of l)for(let c of n.listAll(a))u.push(c);for(let a of u){if(!a.endsWith(".rip"))continue;if(e=a.split("/").pop(),e.startsWith("_"))continue;if(e==="index.rip")continue;if(i=tu(a),t[i])console.warn(`[Rip] Component name collision: ${i} (${t[i]} vs ${a})`);t[i]=a}return t};su=function(n,f,e){let t,i,u,l;if(i=n.replace(/^(\.\.\/|\.\/)+/,""),f){u=f.split("/"),u.pop();for(let a of n.split("/"))if(a==="..")u.pop();else if(a!==".")u.push(a);if(t=u.join("/"),e.exists(t))return t}if(e.exists(i))return i;for(let a of["_pkg","_lib","_app","_route"])if(l=`${a}/${i}`,e.exists(l))return l;return null};ql=function(n){let f,e,t,i,u,l,a;if(!n)return[];if(l=n.trim(),!l)return[];if(i=[],f=l.indexOf("{"),f>=0){if(e=l.lastIndexOf("}"),e<0)return i;t=l.slice(f+1,e);for(let c of t.split(",")){if(a=c.trim(),!a)continue;i.push(a.split(/\s+as\s+/).pop().trim())}l=l.slice(0,f).replace(/,\s*$/,"").trim()}for(let c of l.split(",")){if(u=c.trim(),!u)continue;if(/^\*\s+as\s+/.test(u))i.push(u.replace(/^\*\s+as\s+/,"").trim());else i.push(u)}return i};kn=async function(n,f,e=null,t=null,i=null){let u,l,a,c,r,h,o,s,w,_,A,y,R,U,m,D,M,q,S,d,K,E,Z,Q,W,C,L,X,fn,Y,Un,G,O,J,P;if(e&&t){if(h=e.getCompiled(t),h)return h}if(i&&t)i.compiling??={},i.compiling[t]=!0;return await(async()=>{try{if(s=globalThis?.__ripDebug?.enabled&&t,fn=0,D=s?f(n,{sourceMap:"inline",filename:t}):f(n),i){if(m=new Set,W=i.packages||{},Object.keys(W).length>0)l=/^(\s*import\s+(?:.*?\s+from\s+)?['"])(@rip-lang\/[^\/'"]+)((?:\/[^'"]*)?)(['"];?\s*)$/gm,D=D.replace(l,function(F,N,un,$,tn){let cn,on;if(cn=W[un],!cn)return F;return on=!$?`_pkg/${cn.short}/${cn.entry}`:$.endsWith(".rip")?`_pkg/${cn.short}${$}`:`_pkg/${cn.short}${$}.rip`,`${N}${on}${tn}`});if(Q=/^(\s*)import\s+([^'"]+?)\s+from\s+['"](@rip-lang\/[^'"]+)['"];?\s*$/gm,D=D.replace(Q,function(F,N,un,$){let tn,cn,on,b,p,v,ln,rn;if(ln=$.replace(/^(@rip-lang\/[^\/]+).*$/,"$1"),W[ln])return F;if(rn=un.trim(),rn.startsWith("type "))return`${N}// type-only import erased: ${$}`;if(b=rn.indexOf("{"),cn=rn.lastIndexOf("}"),b<0||cn<=b)return console.warn(`[Rip] Skipping non-named import from ${$}; only named imports from '@rip-lang/*' are supported.`),F;v=[];for(let en of rn.slice(b+1,cn).split(",")){if(on=en.trim().replace(/^type\s+/,""),!on)continue;if(/\s+as\s+/.test(on))[p,tn]=on.split(/\s+as\s+/).map(function(sn){return sn.trim()}),v.push(`${p}: ${tn}`);else v.push(on)}if(v.length===0)return`${N}// import erased: ${$}`;return`${N}const { ${v.join(", ")} } = globalThis;`}),e){G=/^(\s*(?:import|export)\s+(?:(.*?)\s+from\s+)?['"])([^'"]*\.rip)(['"];?\s*)$/gm,q=Array.from(D.matchAll(G));for(let F=q.length-1;F>=0;F--){let N=q[F];if([R,L,a,O,C]=N,J=su(O,t,e),J===t)continue;if(!J){if(d=`[Rip] Could not resolve import: ${O}`,t)d+=` (from ${t})`;console.warn(d);continue}if(!i.blobUrls?.[J]){if(i.compiling?.[J])continue;if(_=e.read(J),_)await kn(_,f,e,J,i)}if(r=i.blobUrls?.[J],r){Un=`${L}${r}${C}`,D=D.slice(0,N.index)+Un+D.slice(N.index+R.length);for(let un of ql(a))m.add(un)}}}u=/^\s*(?:import|export)\s+(?:(.*?)\s+from\s+)?['"][^'"]*['"];?\s*$/gm;for(let F of D.matchAll(u))for(let N of ql(F[1]))m.add(N);E={};for(let F in i.map){let N=i.map[F];if(m.has(F))continue;if(N!==t&&D.includes(`new ${F}(`)){if(!i.classes[F]){if(_=e.read(N),_){w=await kn(_,f,e,N,i),y=Sl(w);for(let un in y){let $=y[un];i.classes[un]=$}}}if(i.classes[F])E[F]=!0}}if(K=Object.keys(E),K.length>0)M=JSON.stringify(i.key),X=`const {${K.join(", ")}} = globalThis[${M}];
2977
2977
  `,D=X+D,fn+=1}if(U=t?`// ${t}
2978
- `:"",U)fn+=1;if(A=U+D,s&&fn>0){if(Z=globalThis?.__ripDebug?.offsetSourceMap,Z)A=Z(A,fn)}if(c=new Blob([A],{type:"application/javascript"}),P=URL.createObjectURL(c),Y=null,i&&t){if(i.blobUrls??={},Y=i.blobUrls[t],Y&&Y!==P)try{URL.revokeObjectURL(Y)}catch{}i.blobUrls[t]=P}if(S=await import(P),o=!0,i){m=Sl(S);for(let F in m){let N=m[F];i.classes[F]=N}}if(e&&t)e.setCompiled(t,S);return S}finally{if(i&&t){if(i.compiling)delete i.compiling[t]}if(!o&&P&&i&&t){try{URL.revokeObjectURL(P)}catch{}if(i.blobUrls?.[t]===P)delete i.blobUrls[t]}}})()};zl=function(n,f){let e;return n.innerHTML="",e=document.createElement("pre"),e.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",e.textContent=f,n.appendChild(e)};function Ru(n){let f,e,t,i,u,l,a,c,r,h,o,s,w,y,A,m,R,U,_,D,M,q,S,d,K,E,Z,Q,W,C,L,X,fn,Y,Un,G,O;if(Ui("createRenderer"),{router:W,app:e,components:u,resolver:Z,compile:i,target:Y,onError:D}=n,d=n.preload==="intent",l=typeof Y==="string"?document.querySelector(Y):Y||document.getElementById("app"),!l)l=document.createElement("div"),l.id="app",document.body.appendChild(l);return a=null,o=null,r=null,h=null,c=[],R=[],U=l,y=0,s=null,O=null,A=function(J){if(!Z)return;if(Z.blobUrls?.[J]){try{URL.revokeObjectURL(Z.blobUrls[J])}catch{}delete Z.blobUrls[J]}return Z.classes&&Z.map?(()=>{let P=[];for(let F in Z.map){let N=Z.map[F];P.push(N===J?delete Z.classes[F]:void 0)}return P})():void 0},G=function(){if(a){try{a.unmount?.({removeDOM:!1})}catch(J){console.error("[Rip] page unmount error:",J)}return a=null,o=null}},Un=function(){G();for(let J=R.length-1;J>=0;J--){let P=R[J];try{P.unmount?.({removeDOM:!0})}catch(F){console.error("[Rip] layout unmount error:",F)}}return R=[],U=l,r=null,h=null,c=[]},C=function(J,P){if(!(J&&P))return!1;if(Object.keys(J).length!==Object.keys(P).length)return!1;for(let F in J){let N=J[F];if(P[F]!==N)return!1}return!0},E=function(J){let P;P=Zn(e.data);for(let F of J.split(".")){if(!(P!=null&&typeof P==="object"))return null;if(P=P[F],Wn(P))return P}return null},w=async function(J,P,F,N=!1,un=0){let $,tn,cn,on,b,p,v,ln,rn,en,sn,wn,_n,Rn;ln=new Map;for(let An=0;An<J.length;An++){let g=J[An];if(An<un)continue;if(b=g.cls?.__gates,!(b&&b.length))continue;for(let nn of b){if(_n=typeof nn==="string"?nn:nn.path,en=typeof nn==="string"?null:nn.key,$=E(_n),!$)throw Error(`[Rip] ${g.file}: '${_n} <~' does not resolve to a source — declare it with source() in app/stash.rip`);if(rn=void 0,Di($)){if(!en)throw Error(`[Rip] ${g.file}: '${_n}' is a keyed source — gate with a key: ${_n}(params.…)`);rn=en(P||{},F||{}),$=$.cellFor(rn)}else if(en)throw Error(`[Rip] ${g.file}: '${_n}' is not a keyed source — drop the key argument`);if(p=_n+"|"+String(rn??""),v=ln.get(p),!v)v={cell:$,owners:[],path:_n},ln.set(p,v);v.owners.push(An)}}if(sn=[...ln.values()],!sn.length)return{failedIndex:1/0,failure:null};Rn=await Promise.allSettled(sn.map(function(An){return N?An.cell.preload():An.cell.ensure()})),cn=1/0,on=null;for(let An=0;An<Rn.length;An++){let g=Rn[An];if(tn=null,g.status==="rejected")tn=g.reason;else if(!N&&g.value==null)tn=Error(`[Rip] gate '${sn[An].path} <~' resolved to ${g.value}: a gated source must resolve to a non-null value or throw. For a value that can be absent, read it ungated with ~= instead of gating it.`);if(!tn)continue;if(wn=Math.min(...sn[An].owners),wn<cn)cn=wn,on={status:tn?.status??tn?.response?.status??500,message:tn?.message??String(tn),error:tn,path:sn[An].path}}return{failedIndex:cn,failure:on}},Q=function(J){let P;P=!1;for(let F=R.length-1;F>=0;F--){let N=R[F];if(N.onError)try{N.onError(J),P=!0;break}catch(un){console.error("Renderer: error boundary failed:",un)}}if(!P){if(console.error(`Renderer: gate '${J.path}' failed:`,J.error),D)D(J);return Un(),zl(l,`${J.status}: ${J.message}`)}},_=async function(J,P=!1){let F,N,un,$,tn,cn,on,b,p,v,ln,rn,en,sn,wn,_n,Rn,An,g,nn,zn,Mn,I,T,x,k,an,V,hn,yn,mn,En,Jn,Gn,Yn,gn;if({route:En,params:V,layouts:_n,query:yn}=J,!En)return;if(Jn=En.file===o&&C(V,r),mn=function(){let dn,Pn;if(dn=a?.constructor,Pn=dn?.__gates,!Pn)return!1;for(let ii of Pn)if(typeof ii!=="string"&&ii.key)try{if(ii.key(V||{},h||{})!==ii.key(V||{},yn||{}))return!0}catch{return!0}return!1},Jn&&!P&&!mn()){if(!C(yn,h)){if(h=yn,a?.load)try{await a.load(V,yn)}catch(dn){if(console.error(`Renderer: error in query-only load for ${En.file}:`,dn),D)D({status:500,message:dn.message,error:dn})}}return}return ln=++y,W.navigating=!0,await(async()=>{try{if(Yn=u.read(En.file),!Yn){if(D)D({status:404,message:`File not found: ${En.file}`});W.navigating=!1;return}if(nn=await kn(Yn,i,u,En.file,Z),ln!==y){W.navigating=!1;return}if(F=Hi(nn),!F){if(D)D({status:500,message:`No component found in ${En.file}`});W.navigating=!1;return}wn=[];for(let dn of _n){if(An=u.read(dn),!An)continue;if(Rn=await kn(An,i,u,dn,Z),ln!==y){W.navigating=!1;return}if(N=Hi(Rn),!N)continue;wn.push({file:dn,cls:N})}if(on=[...wn,{file:En.file,cls:F}],g=!Ul(_n,c),zn=g?0:wn.length,{failedIndex:p,failure:v}=await w(on,V,yn,!1,zn),ln!==y){W.navigating=!1;return}if(I=a?._target,g)Un();else G();if(r=V,h=yn,Mn=g?l:U,b=Math.min(p,wn.length),g&&_n.length>0){l.innerHTML="",Mn=l,cn=globalThis.__ripComponent?.__pushComponent,$=globalThis.__ripComponent?.__popComponent,T=null;for(let dn=0;dn<wn.length;dn++){let Pn=wn[dn];if(dn>=b)break;N=Pn.cls,hn=cn?.(T),globalThis.__ripGateMount=N;try{en=new N({app:e,params:V,router:W})}finally{globalThis.__ripGateMount=null,$?.(hn)}if(en.beforeMount){un=cn?.(en);try{en.beforeMount()}finally{$?.(un)}}gn=document.createElement("div"),gn.setAttribute("data-layout",Pn.file),Mn.appendChild(gn),en.mount(gn),R.push(en),T=en,Gn=gn.querySelector("#content")||gn,Mn=Gn}c=b<wn.length?_n.slice(0,b):[..._n],U=Mn}else if(g)l.innerHTML="",c=[],U=l;if(v){I?.remove(),Q(v),W.navigating=!1;return}an=document.createElement("div"),an.setAttribute("data-component",En.file),Mn.appendChild(an),cn=globalThis.__ripComponent?.__pushComponent,$=globalThis.__ripComponent?.__popComponent,x=R[R.length-1]||null,k=cn?.(x),globalThis.__ripGateMount=F;try{sn=new F({app:e,params:V,query:yn,router:W})}finally{globalThis.__ripGateMount=null,$?.(k)}if(sn.beforeMount){tn=cn?.(sn);try{sn.beforeMount()}finally{$?.(tn)}}if(sn.mount(an),a=sn,o=En.file,sn.load)await sn.load(V,yn);return I?.remove(),W.navigating=!1}catch(dn){if(W.navigating=!1,console.error(`Renderer: error mounting ${En.file}:`,dn),D)D({status:500,message:dn.message,error:dn});rn=!1;for(let Pn=R.length-1;Pn>=0;Pn--){let ii=R[Pn];if(ii.onError)try{ii.onError(dn),rn=!0;break}catch(Mu){console.error("Renderer: error boundary failed:",Mu)}}return(()=>{if(!rn)return Un(),zl(l,dn.stack||dn.message)})()}})()},fn=!1,S=async function(J){let P,F,N,un,$,tn,cn,on;if(N=W.match?.(J),!N?.route)return;if(tn=Ul(N.layouts,c),tn&&N.route.file===o&&C(N.params,r))return;if(P=[],!tn)for(let b of N.layouts){if($=u.read(b),!$)continue;if(un=await kn($,i,u,b,Z),F=Hi(un),F)P.push({file:b,cls:F})}if(on=u.read(N.route.file),on){if(cn=await kn(on,i,u,N.route.file,Z),F=Hi(cn),F)P.push({file:N.route.file,cls:F})}await w(P,N.params,N.query,!0);return},f=50,m={href:null,at:0},X=null,L=null,t=function(){if(X)clearTimeout(X),X=null;return L=null},M=function(J){let P,F;P=J.target;while(P&&P.tagName!=="A")P=P.parentElement;if(!P)return;if(!W.ownsAnchor?.(P))return;if(P===L)return;return t(),L=P,F=P.href,X=setTimeout(function(){let N;if(X=null,L=null,N=Date.now(),F===m.href&&N-m.at<3000)return;return m.href=F,m.at=N,S(F).catch(function(){return null})},f)},q=function(J){let P;if(!L)return;return P=J.relatedTarget,!(P&&L.contains(P))?t():void 0},K={start(){if(fn)return K;if(fn=!0,s=ni(function(){let J;return J=W.current,J.route?_(J):void 0}),O=u?.watch(function(J,P){return(Array.isArray(["change","delete"])?["change","delete"].includes(J):(J in["change","delete"]))?A(P):void 0}),d)document.addEventListener("pointerover",M,{passive:!0}),document.addEventListener("focusin",M,{passive:!0}),document.addEventListener("pointerout",q,{passive:!0}),document.addEventListener("focusout",q,{passive:!0});return W.init(),K},stop(){if(!fn)return;if(fn=!1,Un(),s)s(),s=null;if(O?.(),O=null,t(),d)document.removeEventListener("pointerover",M),document.removeEventListener("focusin",M),document.removeEventListener("pointerout",q),document.removeEventListener("focusout",q);if(Z?.blobUrls){for(let J in Z.blobUrls){if(!Object.hasOwn(Z.blobUrls,J))continue;let P=Z.blobUrls[J];try{URL.revokeObjectURL(P)}catch{}}Z.blobUrls={}}return l.innerHTML=""},remount(J=!1){let P,F;return F=typeof J==="object"?!!J.force:!!J,P=W.current,P.route?_(P,F):void 0}},K}eu=function(n){let f,e,t,i,u,l;return Ui("connectWatch"),u=1000,i=30000,f=!1,t=null,l=null,e=function(){if(f)return;return t=new EventSource(n),t.addEventListener("connected",function(){return u=1000,console.log("[Rip] Hot reload connected")}),t.addEventListener("reload",function(){return console.log("[Rip] Reloading..."),location.reload()}),t.addEventListener("css",function(){let a,c;c=document.querySelectorAll('link[rel="stylesheet"]');let r=[];for(let h of c)a=new URL(h.href),a.searchParams.set("_t",Date.now()),h.href=a.toString();return r}),t.onerror=function(){if(t.close(),t=null,f)return;return l=setTimeout(e,u),u=Math.min(u*2,i)}},e(),function(){if(f)return;if(f=!0,l)clearTimeout(l),l=null;return t?.close(),t=null}};async function pt(n={}){let f,e,t,i,u,l,a,c,r,h,o,s,w,y,A,m,R,U,_,D,M,q,S,d,K,E,Z,Q;if(Ui("launch"),e=(n.base||"").replace(/\/+$/,""),E=n.target||"#app",a=n.compile||null,A=n.persist||!1,w=n.hash||!1,!a)a=globalThis?.compileToJS||null;if(!document.querySelector(E))h=document.createElement("div"),h.id=E.replace(/^#/,""),document.body.prepend(h);if(n.bundle)i=n.bundle;else if(n.bundleUrl){if(y={},s=`__rip_etag_${n.bundleUrl}`,u=sessionStorage.getItem(s),u)y["If-None-Match"]=u;if(U=await fetch(n.bundleUrl,{headers:y}),U.status===304)i=JSON.parse(sessionStorage.getItem(`${s}_data`));else if(U.ok){if(i=await U.json(),o=U.headers.get("etag"),o)sessionStorage.setItem(s,o),sessionStorage.setItem(`${s}_data`,JSON.stringify(i))}else throw Error(`launch: ${n.bundleUrl} (${U.status})`)}else throw Error("launch: no bundle or bundleUrl provided");if(f=_u({components:{},routes:{},data:{}}),globalThis.__ripApp=f,t=Au(),i.modules)t.load(i.modules);if(l=`__rip_${e.replace(/\//g,"_")||"app"}`,_={map:uu(t),classes:{},key:l,packages:i.packages||{}},globalThis[l]=_.classes,d=null,S="_app/stash.rip",t.exists(S)){if(K=t.read(S),K)try{if(q=await kn(K,a,t,S,_),q?.stash)d=q.stash}catch(W){console.error(`[Rip] Failed to load app/stash.rip: ${W.message}`,W)}}if(d&&i.data)for(let W in i.data){let C=i.data[W];if(!Wn(d[W]))d[W]=C}if(M=d??i.data,M)f.data=M;if(ou(Zn(f.data)),i.routes)f.routes=i.routes;if(m=null,A)m=mu(f,{local:A==="local",key:`__rip_${e}`});if(f.data.title)document.title=f.data.title;if(D=Du(t,{root:"_route",base:e,hash:w,onError(W){return console.error(`[Rip] Error ${W.status}: ${W.message||W.path}`)}}),globalThis.__ripRouter=D,R=Ru({router:D,app:f,components:t,resolver:_,compile:a,target:E,preload:i.data?.preload==="intent"?"intent":!1,onError(W){return console.error(`[Rip] ${W.message}`,W.error)}}),R.start(),Z=null,i.data?.watch)Z=eu(`${e}/watch`);return Q=window,r=!1,c=function(){if(r)return;if(r=!0,Z?.(),R.stop(),D.destroy(),m?.(),delete globalThis[l],delete globalThis.__ripApp,delete globalThis.__ripRouter,delete globalThis.__ripLaunched,Q.app===f)delete Q.app;return Q.__RIP__?.app===f?delete Q.__RIP__:void 0},Q.app=f,Q.__RIP__={app:f,components:t,router:D,renderer:R,resolver:_,destroy:c,version:"0.3.0"},globalThis.__ripLaunched=!0,{app:f,components:t,router:D,renderer:R,destroy:c}}Kn=function(n,f){if(!f)return;return n.preventDefault(),n.stopPropagation(),f()};globalThis.__ariaLastFocusedEl??=null;if(typeof document<"u"&&!globalThis.__ariaFocusTrackerBound)document.addEventListener("focusin",function(n){return globalThis.__ariaLastFocusedEl=n.target},!0),globalThis.__ariaFocusTrackerBound=!0;Tf=function(n,f){if(n.isComposing)return;return(()=>{switch(n.key){case"ArrowDown":return Kn(n,f.next);case"ArrowUp":return Kn(n,f.prev);case"Home":case"PageUp":return Kn(n,f.first);case"End":case"PageDown":return Kn(n,f.last);case"Enter":case" ":return Kn(n,f.select);case"Escape":return Kn(n,f.dismiss);case"Tab":return f.tab?.();default:return n.key.length===1?f.char?.(n.key):void 0}})()};jf=function(n,f,e,t=[],i=null){let u,l,a,c,r;if(l=function(h){return typeof h==="function"?h():h},r=l(f),r&&r.__ariaPopupDismiss)r.__ariaPopupDismiss(),r.__ariaPopupDismiss=null;if(!(n&&r))return;return a=(h)=>{return![r,...t.map(l)].some(function(o){return o?.contains(h.target)})?e():void 0},c=(h)=>{if(r?.contains(h.target))return;return i?i():e()},document.addEventListener("mousedown",a),window.addEventListener("scroll",c,!0),u=function(){return document.removeEventListener("mousedown",a),window.removeEventListener("scroll",c,!0)},r.__ariaPopupDismiss=u,u};Lf=function(n=250){let f;return f=0,{block(e=n){return f=Date.now()+e},canOpen(){return Date.now()>=f}}};Cf=function(n,f,e,t=null){let i,u,l,a,c,r,h,o,s,w,y;if(a=function(A){return typeof A==="function"?A():A},i=function(){let A,m;if(A=document.activeElement,A&&A!==document.body)return A;if(m=globalThis.__ariaLastFocusedEl,m?.isConnected!==!1)return m;return null},l=a(f),!l)return;if(!Object.hasOwn(HTMLElement.prototype,"togglePopover"))return;if(h=null,y=function(A){if(A){l.hidden=!1;try{l.inert=!1}catch{}return l.removeAttribute("aria-hidden")}else{try{l.inert=!0}catch{}return l.setAttribute("aria-hidden","true"),l.hidden=!0}},o=function(){let A,m;if(m=h,h=null,!m?.focus)return;return A=function(R=6){if(m.isConnected===!1)return;try{m.focus({preventScroll:!0})}catch{m.focus()}if(document.activeElement===m||R<=1)return;return setTimeout(function(){return A(R-1)},16)},requestAnimationFrame(function(){return A()})},l.__ariaBindPopover)l.removeEventListener("toggle",l.__ariaBindPopover),l.__ariaBindPopover=null;if(c=function(A){let m;if(m=A.newState==="open",m)h=a(t)||i(),y(!0);else y(!1),o();return e?.(m)},l.addEventListener("toggle",c),l.__ariaBindPopover=c,s=l.matches(":popover-open"),u=!!n,s!==u){if(w=a(t),u)h=w||i(),y(!0);r=w&&u?{force:u,source:w}:{force:u};try{l.togglePopover(r)}catch{}}else y(u);return function(){return l.removeEventListener("toggle",c),l.__ariaBindPopover===c?l.__ariaBindPopover=null:void 0}};gf=function(n,f,e,t=!0){let i,u,l,a,c,r,h,o,s,w;if(l=function(y){return typeof y==="function"?y():y},i=function(){let y,A;if(y=document.activeElement,y&&y!==document.body)return y;if(A=globalThis.__ariaLastFocusedEl,A?.isConnected!==!1)return A;return null},u=l(f),!u?.showModal)return;if(o=null,w=function(y){if(y){u.hidden=!1;try{u.inert=!1}catch{}return u.removeAttribute("aria-hidden")}else{try{u.inert=!0}catch{}return u.setAttribute("aria-hidden","true"),u.hidden=!0}},s=function(){let y,A;if(A=o,o=null,!A?.focus)return;return y=function(m=6){if(A.isConnected===!1)return;try{A.focus({preventScroll:!0})}catch{A.focus()}if(document.activeElement===A||m<=1)return;return setTimeout(function(){return y(m-1)},16)},requestAnimationFrame(function(){return y()})},u.__ariaBindDialog)[r,h]=u.__ariaBindDialog,u.removeEventListener("cancel",r),u.removeEventListener("close",h),u.__ariaBindDialog=null;if(a=function(y){if(!t){y.preventDefault();return}return e?.(!1)},c=function(){return e?.(!1),w(!1),s()},u.addEventListener("cancel",a),u.addEventListener("close",c),u.__ariaBindDialog=[a,c],n&&!u.open){if(!o)o=i();w(!0);try{u.showModal()}catch{}}else if(!n&&u.open)u.close();else w(!!n);return function(){return u.removeEventListener("cancel",a),u.removeEventListener("close",c),u.__ariaBindDialog?.[0]===a?u.__ariaBindDialog=null:void 0}};kf=function(n,f,e="vertical"){let t,i;if(n.isComposing)return;return i=e!=="horizontal",t=e!=="vertical",(()=>{switch(n.key){case"ArrowDown":return i?Kn(n,f.next):void 0;case"ArrowUp":return i?Kn(n,f.prev):void 0;case"ArrowRight":return t?Kn(n,f.next):void 0;case"ArrowLeft":return t?Kn(n,f.prev):void 0;case"Home":case"PageUp":return Kn(n,f.first);case"End":case"PageDown":return Kn(n,f.last);case"Enter":case" ":return Kn(n,f.select);case"Escape":return Kn(n,f.dismiss);default:return n.key.length===1?f.char?.(n.key):void 0}})()};xf=function(n,f,e=4,t=!0){let i,u;if(!(n&&f))return;if(u=n.getBoundingClientRect(),f.style.position="fixed",f.style.left=`${u.left}px`,f.style.top=`${u.bottom+e}px`,f.style.minWidth=`${u.width}px`,i=f.getBoundingClientRect(),i.bottom>window.innerHeight)f.style.top=`${u.top-i.height-e}px`;if(i.right>window.innerWidth)f.style.left=`${window.innerWidth-i.width-e}px`;return t?f.style.visibility="visible":void 0};var xt='a[href],button:not([disabled]),input:not([disabled]),select:not([disabled]),textarea:not([disabled]),[tabindex]:not([tabindex="-1"])';nu=function(n){let f;return f=function(e){let t,i,u,l;if(e.key!=="Tab")return;if(l=n.querySelectorAll(xt),u=Array.from(l).filter(function(a){return a.offsetParent!==null}),!u.length)return;return t=u[0],i=u[u.length-1],e.shiftKey?document.activeElement===t?(e.preventDefault(),i.focus()):void 0:document.activeElement===i?(e.preventDefault(),t.focus()):void 0},n.addEventListener("keydown",f),function(){return n.removeEventListener("keydown",f)}};lu=function(n,f){let e,t;if(!n)return;if(t=n.querySelector("h1,h2,h3,h4,h5,h6"),t)t.id??=`${f}-title`,n.setAttribute("aria-labelledby",t.id);if(e=n.querySelector("p"),e)return e.id??=`${f}-desc`,n.setAttribute("aria-describedby",e.id)};Ai=[];Vf=function(n){let f;if(f=window.scrollY,Ai.push({instance:n,scrollY:f}),Ai.length===1)return document.body.style.position="fixed",document.body.style.top=`-${f}px`,document.body.style.width="100%"};iu=function(n){let f,e;if(f=Ai.findIndex(function(t){return t.instance===n}),f<0)return;if({scrollY:e}=Ai.splice(f,1)[0],!Ai.length)return document.body.style.position="",document.body.style.top="",document.body.style.width="",window.scrollTo(0,e)};Ci=!1;zi=!1;Wl=function(){let n,f,e;if(Ci)return zi;if(!(typeof document<"u"&&document.body))return!1;return(()=>{try{return n=document.createElement("div"),f=document.createElement("div"),n.style.cssText="position:fixed;top:100px;left:100px;width:10px;height:10px;anchor-name:--probe",f.style.cssText="position:fixed;inset:auto;margin:0;position-anchor:--probe;position-area:bottom start;width:10px;height:10px",document.body.appendChild(n),document.body.appendChild(f),e=f.getBoundingClientRect(),n.remove(),f.remove(),zi=e.top>50,Ci=!0,zi}catch{return Ci=!0,zi=!1}})()};If=["position","inset","top","right","bottom","left","margin","marginTop","marginRight","marginBottom","marginLeft","transform","minWidth","positionAnchor","positionArea","positionTry","positionVisibility"];$f=function(n){let f=[];for(let e of If)f.push(n.style[e]="");return f};pf=function(n,f,e={}){let t,i,u,l,a,c,r,h;if(!(n&&f))return;if(a=e.placement??"bottom start",l=e.offset??4,i=e.matchWidth??!1,$f(f),Wl()){if(u=`--anchor-${f.id||Math.random().toString(36).slice(2,8)}`,c=f.__ariaPrevTrigger,c&&c!==n)try{c.style.anchorName=""}catch{}switch(f.__ariaPrevTrigger=n,n.style.anchorName=u,f.style.positionAnchor=u,f.style.position="fixed",f.style.inset="auto",f.style.margin="0",f.style.positionArea=a,f.style.positionTry="flip-block, flip-inline, flip-block flip-inline",f.style.positionVisibility="anchors-visible",[h]=a.split(" "),h){case"bottom":f.style.marginTop=`${l}px`;break;case"top":f.style.marginBottom=`${l}px`;break;case"left":f.style.marginRight=`${l}px`;break;case"right":f.style.marginLeft=`${l}px`;break}return i?f.style.minWidth="anchor-size(width)":void 0}else{switch(r=n.getBoundingClientRect(),f.style.position="fixed",f.style.inset="auto",f.style.margin="0",[h,t]=a.split(" "),t??="start",h){case"bottom":f.style.top=`${r.bottom+l}px`;break;case"top":f.style.bottom=`${window.innerHeight-r.top+l}px`;break;case"left":f.style.right=`${window.innerWidth-r.left+l}px`;break;case"right":f.style.left=`${r.right+l}px`;break}if(Array.isArray(["bottom","top"])?["bottom","top"].includes(h):(h in["bottom","top"]))switch(t){case"start":f.style.left=`${r.left}px`;break;case"center":f.style.left=`${r.left+r.width/2}px`,f.style.transform="translateX(-50%)";break;case"end":f.style.right=`${window.innerWidth-r.right}px`;break}else switch(t){case"start":f.style.top=`${r.top}px`;break;case"center":f.style.top=`${r.top+r.height/2}px`,f.style.transform="translateY(-50%)";break;case"end":f.style.bottom=`${window.innerHeight-r.bottom}px`;break}return i?f.style.minWidth=`${r.width}px`:void 0}};vf=function(...n){return function(){let f=[];for(let e of n)f.push((()=>{try{return e?.()}catch{return null}})());return f}};globalThis.__aria??={listNav:Tf,rovingNav:kf,popupDismiss:jf,popupGuard:Lf,bindPopover:Cf,bindDialog:gf,positionBelow:xf,trapFocus:nu,wireAria:lu,lockScroll:Vf,unlockScroll:iu,position:pf,hasAnchor:Wl,combine:vf};globalThis.ARIA??=globalThis.__aria;ri.modules["app.rip"]=$i;for(let[n,f]of Object.entries($i))if(typeof f==="function")globalThis[n]=f;})();
2978
+ `:"",U)fn+=1;if(A=U+D,s&&fn>0){if(Z=globalThis?.__ripDebug?.offsetSourceMap,Z)A=Z(A,fn)}if(c=new Blob([A],{type:"application/javascript"}),P=URL.createObjectURL(c),Y=null,i&&t){if(i.blobUrls??={},Y=i.blobUrls[t],Y&&Y!==P)try{URL.revokeObjectURL(Y)}catch{}i.blobUrls[t]=P}if(S=await import(P),o=!0,i){y=Sl(S);for(let F in y){let N=y[F];i.classes[F]=N}}if(e&&t)e.setCompiled(t,S);return S}finally{if(i&&t){if(i.compiling)delete i.compiling[t]}if(!o&&P&&i&&t){try{URL.revokeObjectURL(P)}catch{}if(i.blobUrls?.[t]===P)delete i.blobUrls[t]}}})()};zl=function(n,f){let e;return n.innerHTML="",e=document.createElement("pre"),e.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",e.textContent=f,n.appendChild(e)};function Ru(n){let f,e,t,i,u,l,a,c,r,h,o,s,w,_,A,y,R,U,m,D,M,q,S,d,K,E,Z,Q,W,C,L,X,fn,Y,Un,G,O;if(Ui("createRenderer"),{router:W,app:e,components:u,resolver:Z,compile:i,target:Y,onError:D}=n,d=n.preload==="intent",l=typeof Y==="string"?document.querySelector(Y):Y||document.getElementById("app"),!l)l=document.createElement("div"),l.id="app",document.body.appendChild(l);return a=null,o=null,r=null,h=null,c=[],R=[],U=l,_=0,s=null,O=null,A=function(J){if(!Z)return;if(Z.blobUrls?.[J]){try{URL.revokeObjectURL(Z.blobUrls[J])}catch{}delete Z.blobUrls[J]}return Z.classes&&Z.map?(()=>{let P=[];for(let F in Z.map){let N=Z.map[F];P.push(N===J?delete Z.classes[F]:void 0)}return P})():void 0},G=function(){if(a){try{a.unmount?.({removeDOM:!1})}catch(J){console.error("[Rip] page unmount error:",J)}return a=null,o=null}},Un=function(){G();for(let J=R.length-1;J>=0;J--){let P=R[J];try{P.unmount?.({removeDOM:!0})}catch(F){console.error("[Rip] layout unmount error:",F)}}return R=[],U=l,r=null,h=null,c=[]},C=function(J,P){if(!(J&&P))return!1;if(Object.keys(J).length!==Object.keys(P).length)return!1;for(let F in J){let N=J[F];if(P[F]!==N)return!1}return!0},E=function(J){let P;P=Zn(e.data);for(let F of J.split(".")){if(!(P!=null&&typeof P==="object"))return null;if(P=P[F],Wn(P))return P}return null},w=async function(J,P,F,N=!1,un=0){let $,tn,cn,on,b,p,v,ln,rn,en,sn,wn,_n,Rn;ln=new Map;for(let An=0;An<J.length;An++){let g=J[An];if(An<un)continue;if(b=g.cls?.__gates,!(b&&b.length))continue;for(let nn of b){if(_n=typeof nn==="string"?nn:nn.path,en=typeof nn==="string"?null:nn.key,$=E(_n),!$)throw Error(`[Rip] ${g.file}: '${_n} <~' does not resolve to a source — declare it with source() in app/stash.rip`);if(rn=void 0,Di($)){if(!en)throw Error(`[Rip] ${g.file}: '${_n}' is a keyed source — gate with a key: ${_n}(params.…)`);rn=en(P||{},F||{}),$=$.cellFor(rn)}else if(en)throw Error(`[Rip] ${g.file}: '${_n}' is not a keyed source — drop the key argument`);if(p=_n+"|"+String(rn??""),v=ln.get(p),!v)v={cell:$,owners:[],path:_n},ln.set(p,v);v.owners.push(An)}}if(sn=[...ln.values()],!sn.length)return{failedIndex:1/0,failure:null};Rn=await Promise.allSettled(sn.map(function(An){return N?An.cell.preload():An.cell.ensure()})),cn=1/0,on=null;for(let An=0;An<Rn.length;An++){let g=Rn[An];if(tn=null,g.status==="rejected")tn=g.reason;else if(!N&&g.value==null)tn=Error(`[Rip] gate '${sn[An].path} <~' resolved to ${g.value}: a gated source must resolve to a non-null value or throw. For a value that can be absent, read it ungated with ~= instead of gating it.`);if(!tn)continue;if(wn=Math.min(...sn[An].owners),wn<cn)cn=wn,on={status:tn?.status??tn?.response?.status??500,message:tn?.message??String(tn),error:tn,path:sn[An].path}}return{failedIndex:cn,failure:on}},Q=function(J){let P;P=!1;for(let F=R.length-1;F>=0;F--){let N=R[F];if(N.onError)try{N.onError(J),P=!0;break}catch(un){console.error("Renderer: error boundary failed:",un)}}if(!P){if(console.error(`Renderer: gate '${J.path}' failed:`,J.error),D)D(J);return Un(),zl(l,`${J.status}: ${J.message}`)}},m=async function(J,P=!1){let F,N,un,$,tn,cn,on,b,p,v,ln,rn,en,sn,wn,_n,Rn,An,g,nn,zn,Mn,B,T,x,k,an,V,hn,yn,mn,En,Jn,Gn,Yn,gn;if({route:En,params:V,layouts:_n,query:yn}=J,!En)return;if(Jn=En.file===o&&C(V,r),mn=function(){let dn,Pn;if(dn=a?.constructor,Pn=dn?.__gates,!Pn)return!1;for(let ii of Pn)if(typeof ii!=="string"&&ii.key)try{if(ii.key(V||{},h||{})!==ii.key(V||{},yn||{}))return!0}catch{return!0}return!1},Jn&&!P&&!mn()){if(!C(yn,h)){if(h=yn,a?.load)try{await a.load(V,yn)}catch(dn){if(console.error(`Renderer: error in query-only load for ${En.file}:`,dn),D)D({status:500,message:dn.message,error:dn})}}return}return ln=++_,W.navigating=!0,await(async()=>{try{if(Yn=u.read(En.file),!Yn){if(D)D({status:404,message:`File not found: ${En.file}`});W.navigating=!1;return}if(nn=await kn(Yn,i,u,En.file,Z),ln!==_){W.navigating=!1;return}if(F=Hi(nn),!F){if(D)D({status:500,message:`No component found in ${En.file}`});W.navigating=!1;return}wn=[];for(let dn of _n){if(An=u.read(dn),!An)continue;if(Rn=await kn(An,i,u,dn,Z),ln!==_){W.navigating=!1;return}if(N=Hi(Rn),!N)continue;wn.push({file:dn,cls:N})}if(on=[...wn,{file:En.file,cls:F}],g=!Ul(_n,c),zn=g?0:wn.length,{failedIndex:p,failure:v}=await w(on,V,yn,!1,zn),ln!==_){W.navigating=!1;return}if(B=a?._target,g)Un();else G();if(r=V,h=yn,Mn=g?l:U,b=Math.min(p,wn.length),g&&_n.length>0){l.innerHTML="",Mn=l,cn=globalThis.__ripComponent?.__pushComponent,$=globalThis.__ripComponent?.__popComponent,T=null;for(let dn=0;dn<wn.length;dn++){let Pn=wn[dn];if(dn>=b)break;N=Pn.cls,hn=cn?.(T),globalThis.__ripGateMount=N;try{en=new N({app:e,params:V,router:W})}finally{globalThis.__ripGateMount=null,$?.(hn)}if(en.beforeMount){un=cn?.(en);try{en.beforeMount()}finally{$?.(un)}}gn=document.createElement("div"),gn.setAttribute("data-layout",Pn.file),Mn.appendChild(gn),en.mount(gn),R.push(en),T=en,Gn=gn.querySelector("#content")||gn,Mn=Gn}c=b<wn.length?_n.slice(0,b):[..._n],U=Mn}else if(g)l.innerHTML="",c=[],U=l;if(v){B?.remove(),Q(v),W.navigating=!1;return}an=document.createElement("div"),an.setAttribute("data-component",En.file),Mn.appendChild(an),cn=globalThis.__ripComponent?.__pushComponent,$=globalThis.__ripComponent?.__popComponent,x=R[R.length-1]||null,k=cn?.(x),globalThis.__ripGateMount=F;try{sn=new F({app:e,params:V,query:yn,router:W})}finally{globalThis.__ripGateMount=null,$?.(k)}if(sn.beforeMount){tn=cn?.(sn);try{sn.beforeMount()}finally{$?.(tn)}}if(sn.mount(an),a=sn,o=En.file,sn.load)await sn.load(V,yn);return B?.remove(),W.navigating=!1}catch(dn){if(W.navigating=!1,console.error(`Renderer: error mounting ${En.file}:`,dn),D)D({status:500,message:dn.message,error:dn});rn=!1;for(let Pn=R.length-1;Pn>=0;Pn--){let ii=R[Pn];if(ii.onError)try{ii.onError(dn),rn=!0;break}catch(Mu){console.error("Renderer: error boundary failed:",Mu)}}return(()=>{if(!rn)return Un(),zl(l,dn.stack||dn.message)})()}})()},fn=!1,S=async function(J){let P,F,N,un,$,tn,cn,on;if(N=W.match?.(J),!N?.route)return;if(tn=Ul(N.layouts,c),tn&&N.route.file===o&&C(N.params,r))return;if(P=[],!tn)for(let b of N.layouts){if($=u.read(b),!$)continue;if(un=await kn($,i,u,b,Z),F=Hi(un),F)P.push({file:b,cls:F})}if(on=u.read(N.route.file),on){if(cn=await kn(on,i,u,N.route.file,Z),F=Hi(cn),F)P.push({file:N.route.file,cls:F})}await w(P,N.params,N.query,!0);return},f=50,y={href:null,at:0},X=null,L=null,t=function(){if(X)clearTimeout(X),X=null;return L=null},M=function(J){let P,F;P=J.target;while(P&&P.tagName!=="A")P=P.parentElement;if(!P)return;if(!W.ownsAnchor?.(P))return;if(P===L)return;return t(),L=P,F=P.href,X=setTimeout(function(){let N;if(X=null,L=null,N=Date.now(),F===y.href&&N-y.at<3000)return;return y.href=F,y.at=N,S(F).catch(function(){return null})},f)},q=function(J){let P;if(!L)return;return P=J.relatedTarget,!(P&&L.contains(P))?t():void 0},K={start(){if(fn)return K;if(fn=!0,s=ni(function(){let J;return J=W.current,J.route?m(J):void 0}),O=u?.watch(function(J,P){return(Array.isArray(["change","delete"])?["change","delete"].includes(J):(J in["change","delete"]))?A(P):void 0}),d)document.addEventListener("pointerover",M,{passive:!0}),document.addEventListener("focusin",M,{passive:!0}),document.addEventListener("pointerout",q,{passive:!0}),document.addEventListener("focusout",q,{passive:!0});return W.init(),K},stop(){if(!fn)return;if(fn=!1,Un(),s)s(),s=null;if(O?.(),O=null,t(),d)document.removeEventListener("pointerover",M),document.removeEventListener("focusin",M),document.removeEventListener("pointerout",q),document.removeEventListener("focusout",q);if(Z?.blobUrls){for(let J in Z.blobUrls){if(!Object.hasOwn(Z.blobUrls,J))continue;let P=Z.blobUrls[J];try{URL.revokeObjectURL(P)}catch{}}Z.blobUrls={}}return l.innerHTML=""},remount(J=!1){let P,F;return F=typeof J==="object"?!!J.force:!!J,P=W.current,P.route?m(P,F):void 0}},K}eu=function(n){let f,e,t,i,u,l;return Ui("connectWatch"),u=1000,i=30000,f=!1,t=null,l=null,e=function(){if(f)return;return t=new EventSource(n),t.addEventListener("connected",function(){return u=1000,console.log("[Rip] Hot reload connected")}),t.addEventListener("reload",function(){return console.log("[Rip] Reloading..."),location.reload()}),t.addEventListener("css",function(){let a,c;c=document.querySelectorAll('link[rel="stylesheet"]');let r=[];for(let h of c)a=new URL(h.href),a.searchParams.set("_t",Date.now()),h.href=a.toString();return r}),t.onerror=function(){if(t.close(),t=null,f)return;return l=setTimeout(e,u),u=Math.min(u*2,i)}},e(),function(){if(f)return;if(f=!0,l)clearTimeout(l),l=null;return t?.close(),t=null}};async function pt(n={}){let f,e,t,i,u,l,a,c,r,h,o,s,w,_,A,y,R,U,m,D,M,q,S,d,K,E,Z,Q;if(Ui("launch"),e=(n.base||"").replace(/\/+$/,""),E=n.target||"#app",a=n.compile||null,A=n.persist||!1,w=n.hash||!1,!a)a=globalThis?.compileToJS||null;if(!document.querySelector(E))h=document.createElement("div"),h.id=E.replace(/^#/,""),document.body.prepend(h);if(n.bundle)i=n.bundle;else if(n.bundleUrl){if(_={},s=`__rip_etag_${n.bundleUrl}`,u=sessionStorage.getItem(s),u)_["If-None-Match"]=u;if(U=await fetch(n.bundleUrl,{headers:_}),U.status===304)i=JSON.parse(sessionStorage.getItem(`${s}_data`));else if(U.ok){if(i=await U.json(),o=U.headers.get("etag"),o)sessionStorage.setItem(s,o),sessionStorage.setItem(`${s}_data`,JSON.stringify(i))}else throw Error(`launch: ${n.bundleUrl} (${U.status})`)}else throw Error("launch: no bundle or bundleUrl provided");if(f=_u({components:{},routes:{},data:{}}),globalThis.__ripApp=f,t=Au(),i.modules)t.load(i.modules);if(l=`__rip_${e.replace(/\//g,"_")||"app"}`,m={map:uu(t),classes:{},key:l,packages:i.packages||{}},globalThis[l]=m.classes,d=null,S="_app/stash.rip",t.exists(S)){if(K=t.read(S),K)try{if(q=await kn(K,a,t,S,m),q?.stash)d=q.stash}catch(W){console.error(`[Rip] Failed to load app/stash.rip: ${W.message}`,W)}}if(d&&i.data)for(let W in i.data){let C=i.data[W];if(!Wn(d[W]))d[W]=C}if(M=d??i.data,M)f.data=M;if(ou(Zn(f.data)),i.routes)f.routes=i.routes;if(y=null,A)y=mu(f,{local:A==="local",key:`__rip_${e}`});if(f.data.title)document.title=f.data.title;if(D=Du(t,{root:"_route",base:e,hash:w,onError(W){return console.error(`[Rip] Error ${W.status}: ${W.message||W.path}`)}}),globalThis.__ripRouter=D,R=Ru({router:D,app:f,components:t,resolver:m,compile:a,target:E,preload:i.data?.preload==="intent"?"intent":!1,onError(W){return console.error(`[Rip] ${W.message}`,W.error)}}),R.start(),Z=null,i.data?.watch)Z=eu(`${e}/watch`);return Q=window,r=!1,c=function(){if(r)return;if(r=!0,Z?.(),R.stop(),D.destroy(),y?.(),delete globalThis[l],delete globalThis.__ripApp,delete globalThis.__ripRouter,delete globalThis.__ripLaunched,Q.app===f)delete Q.app;return Q.__RIP__?.app===f?delete Q.__RIP__:void 0},Q.app=f,Q.__RIP__={app:f,components:t,router:D,renderer:R,resolver:m,destroy:c,version:"0.3.0"},globalThis.__ripLaunched=!0,{app:f,components:t,router:D,renderer:R,destroy:c}}Kn=function(n,f){if(!f)return;return n.preventDefault(),n.stopPropagation(),f()};globalThis.__ariaLastFocusedEl??=null;if(typeof document<"u"&&!globalThis.__ariaFocusTrackerBound)document.addEventListener("focusin",function(n){return globalThis.__ariaLastFocusedEl=n.target},!0),globalThis.__ariaFocusTrackerBound=!0;Tf=function(n,f){if(n.isComposing)return;return(()=>{switch(n.key){case"ArrowDown":return Kn(n,f.next);case"ArrowUp":return Kn(n,f.prev);case"Home":case"PageUp":return Kn(n,f.first);case"End":case"PageDown":return Kn(n,f.last);case"Enter":case" ":return Kn(n,f.select);case"Escape":return Kn(n,f.dismiss);case"Tab":return f.tab?.();default:return n.key.length===1?f.char?.(n.key):void 0}})()};jf=function(n,f,e,t=[],i=null){let u,l,a,c,r;if(l=function(h){return typeof h==="function"?h():h},r=l(f),r&&r.__ariaPopupDismiss)r.__ariaPopupDismiss(),r.__ariaPopupDismiss=null;if(!(n&&r))return;return a=(h)=>{return![r,...t.map(l)].some(function(o){return o?.contains(h.target)})?e():void 0},c=(h)=>{if(r?.contains(h.target))return;return i?i():e()},document.addEventListener("mousedown",a),window.addEventListener("scroll",c,!0),u=function(){return document.removeEventListener("mousedown",a),window.removeEventListener("scroll",c,!0)},r.__ariaPopupDismiss=u,u};Lf=function(n=250){let f;return f=0,{block(e=n){return f=Date.now()+e},canOpen(){return Date.now()>=f}}};Cf=function(n,f,e,t=null){let i,u,l,a,c,r,h,o,s,w,_;if(a=function(A){return typeof A==="function"?A():A},i=function(){let A,y;if(A=document.activeElement,A&&A!==document.body)return A;if(y=globalThis.__ariaLastFocusedEl,y?.isConnected!==!1)return y;return null},l=a(f),!l)return;if(!Object.hasOwn(HTMLElement.prototype,"togglePopover"))return;if(h=null,_=function(A){if(A){l.hidden=!1;try{l.inert=!1}catch{}return l.removeAttribute("aria-hidden")}else{try{l.inert=!0}catch{}return l.setAttribute("aria-hidden","true"),l.hidden=!0}},o=function(){let A,y;if(y=h,h=null,!y?.focus)return;return A=function(R=6){if(y.isConnected===!1)return;try{y.focus({preventScroll:!0})}catch{y.focus()}if(document.activeElement===y||R<=1)return;return setTimeout(function(){return A(R-1)},16)},requestAnimationFrame(function(){return A()})},l.__ariaBindPopover)l.removeEventListener("toggle",l.__ariaBindPopover),l.__ariaBindPopover=null;if(c=function(A){let y;if(y=A.newState==="open",y)h=a(t)||i(),_(!0);else _(!1),o();return e?.(y)},l.addEventListener("toggle",c),l.__ariaBindPopover=c,s=l.matches(":popover-open"),u=!!n,s!==u){if(w=a(t),u)h=w||i(),_(!0);r=w&&u?{force:u,source:w}:{force:u};try{l.togglePopover(r)}catch{}}else _(u);return function(){return l.removeEventListener("toggle",c),l.__ariaBindPopover===c?l.__ariaBindPopover=null:void 0}};gf=function(n,f,e,t=!0){let i,u,l,a,c,r,h,o,s,w;if(l=function(_){return typeof _==="function"?_():_},i=function(){let _,A;if(_=document.activeElement,_&&_!==document.body)return _;if(A=globalThis.__ariaLastFocusedEl,A?.isConnected!==!1)return A;return null},u=l(f),!u?.showModal)return;if(o=null,w=function(_){if(_){u.hidden=!1;try{u.inert=!1}catch{}return u.removeAttribute("aria-hidden")}else{try{u.inert=!0}catch{}return u.setAttribute("aria-hidden","true"),u.hidden=!0}},s=function(){let _,A;if(A=o,o=null,!A?.focus)return;return _=function(y=6){if(A.isConnected===!1)return;try{A.focus({preventScroll:!0})}catch{A.focus()}if(document.activeElement===A||y<=1)return;return setTimeout(function(){return _(y-1)},16)},requestAnimationFrame(function(){return _()})},u.__ariaBindDialog)[r,h]=u.__ariaBindDialog,u.removeEventListener("cancel",r),u.removeEventListener("close",h),u.__ariaBindDialog=null;if(a=function(_){if(!t){_.preventDefault();return}return e?.(!1)},c=function(){return e?.(!1),w(!1),s()},u.addEventListener("cancel",a),u.addEventListener("close",c),u.__ariaBindDialog=[a,c],n&&!u.open){if(!o)o=i();w(!0);try{u.showModal()}catch{}}else if(!n&&u.open)u.close();else w(!!n);return function(){return u.removeEventListener("cancel",a),u.removeEventListener("close",c),u.__ariaBindDialog?.[0]===a?u.__ariaBindDialog=null:void 0}};kf=function(n,f,e="vertical"){let t,i;if(n.isComposing)return;return i=e!=="horizontal",t=e!=="vertical",(()=>{switch(n.key){case"ArrowDown":return i?Kn(n,f.next):void 0;case"ArrowUp":return i?Kn(n,f.prev):void 0;case"ArrowRight":return t?Kn(n,f.next):void 0;case"ArrowLeft":return t?Kn(n,f.prev):void 0;case"Home":case"PageUp":return Kn(n,f.first);case"End":case"PageDown":return Kn(n,f.last);case"Enter":case" ":return Kn(n,f.select);case"Escape":return Kn(n,f.dismiss);default:return n.key.length===1?f.char?.(n.key):void 0}})()};xf=function(n,f,e=4,t=!0){let i,u;if(!(n&&f))return;if(u=n.getBoundingClientRect(),f.style.position="fixed",f.style.left=`${u.left}px`,f.style.top=`${u.bottom+e}px`,f.style.minWidth=`${u.width}px`,i=f.getBoundingClientRect(),i.bottom>window.innerHeight)f.style.top=`${u.top-i.height-e}px`;if(i.right>window.innerWidth)f.style.left=`${window.innerWidth-i.width-e}px`;return t?f.style.visibility="visible":void 0};var xt='a[href],button:not([disabled]),input:not([disabled]),select:not([disabled]),textarea:not([disabled]),[tabindex]:not([tabindex="-1"])';nu=function(n){let f;return f=function(e){let t,i,u,l;if(e.key!=="Tab")return;if(l=n.querySelectorAll(xt),u=Array.from(l).filter(function(a){return a.offsetParent!==null}),!u.length)return;return t=u[0],i=u[u.length-1],e.shiftKey?document.activeElement===t?(e.preventDefault(),i.focus()):void 0:document.activeElement===i?(e.preventDefault(),t.focus()):void 0},n.addEventListener("keydown",f),function(){return n.removeEventListener("keydown",f)}};lu=function(n,f){let e,t;if(!n)return;if(t=n.querySelector("h1,h2,h3,h4,h5,h6"),t)t.id??=`${f}-title`,n.setAttribute("aria-labelledby",t.id);if(e=n.querySelector("p"),e)return e.id??=`${f}-desc`,n.setAttribute("aria-describedby",e.id)};Ai=[];Vf=function(n){let f;if(f=window.scrollY,Ai.push({instance:n,scrollY:f}),Ai.length===1)return document.body.style.position="fixed",document.body.style.top=`-${f}px`,document.body.style.width="100%"};iu=function(n){let f,e;if(f=Ai.findIndex(function(t){return t.instance===n}),f<0)return;if({scrollY:e}=Ai.splice(f,1)[0],!Ai.length)return document.body.style.position="",document.body.style.top="",document.body.style.width="",window.scrollTo(0,e)};Ci=!1;zi=!1;Wl=function(){let n,f,e;if(Ci)return zi;if(!(typeof document<"u"&&document.body))return!1;return(()=>{try{return n=document.createElement("div"),f=document.createElement("div"),n.style.cssText="position:fixed;top:100px;left:100px;width:10px;height:10px;anchor-name:--probe",f.style.cssText="position:fixed;inset:auto;margin:0;position-anchor:--probe;position-area:bottom start;width:10px;height:10px",document.body.appendChild(n),document.body.appendChild(f),e=f.getBoundingClientRect(),n.remove(),f.remove(),zi=e.top>50,Ci=!0,zi}catch{return Ci=!0,zi=!1}})()};Bf=["position","inset","top","right","bottom","left","margin","marginTop","marginRight","marginBottom","marginLeft","transform","minWidth","positionAnchor","positionArea","positionTry","positionVisibility"];$f=function(n){let f=[];for(let e of Bf)f.push(n.style[e]="");return f};pf=function(n,f,e={}){let t,i,u,l,a,c,r,h;if(!(n&&f))return;if(a=e.placement??"bottom start",l=e.offset??4,i=e.matchWidth??!1,$f(f),Wl()){if(u=`--anchor-${f.id||Math.random().toString(36).slice(2,8)}`,c=f.__ariaPrevTrigger,c&&c!==n)try{c.style.anchorName=""}catch{}switch(f.__ariaPrevTrigger=n,n.style.anchorName=u,f.style.positionAnchor=u,f.style.position="fixed",f.style.inset="auto",f.style.margin="0",f.style.positionArea=a,f.style.positionTry="flip-block, flip-inline, flip-block flip-inline",f.style.positionVisibility="anchors-visible",[h]=a.split(" "),h){case"bottom":f.style.marginTop=`${l}px`;break;case"top":f.style.marginBottom=`${l}px`;break;case"left":f.style.marginRight=`${l}px`;break;case"right":f.style.marginLeft=`${l}px`;break}return i?f.style.minWidth="anchor-size(width)":void 0}else{switch(r=n.getBoundingClientRect(),f.style.position="fixed",f.style.inset="auto",f.style.margin="0",[h,t]=a.split(" "),t??="start",h){case"bottom":f.style.top=`${r.bottom+l}px`;break;case"top":f.style.bottom=`${window.innerHeight-r.top+l}px`;break;case"left":f.style.right=`${window.innerWidth-r.left+l}px`;break;case"right":f.style.left=`${r.right+l}px`;break}if(Array.isArray(["bottom","top"])?["bottom","top"].includes(h):(h in["bottom","top"]))switch(t){case"start":f.style.left=`${r.left}px`;break;case"center":f.style.left=`${r.left+r.width/2}px`,f.style.transform="translateX(-50%)";break;case"end":f.style.right=`${window.innerWidth-r.right}px`;break}else switch(t){case"start":f.style.top=`${r.top}px`;break;case"center":f.style.top=`${r.top+r.height/2}px`,f.style.transform="translateY(-50%)";break;case"end":f.style.bottom=`${window.innerHeight-r.bottom}px`;break}return i?f.style.minWidth=`${r.width}px`:void 0}};vf=function(...n){return function(){let f=[];for(let e of n)f.push((()=>{try{return e?.()}catch{return null}})());return f}};globalThis.__aria??={listNav:Tf,rovingNav:kf,popupDismiss:jf,popupGuard:Lf,bindPopover:Cf,bindDialog:gf,positionBelow:xf,trapFocus:nu,wireAria:lu,lockScroll:Vf,unlockScroll:iu,position:pf,hasAnchor:Wl,combine:vf};globalThis.ARIA??=globalThis.__aria;ri.modules["app.rip"]=$i;for(let[n,f]of Object.entries($i))if(typeof f==="function")globalThis[n]=f;})();