rip-lang 3.16.3 → 3.17.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/docs/dist/rip.js +707 -251
- package/docs/dist/rip.min.js +191 -191
- package/docs/dist/rip.min.js.br +0 -0
- package/docs/extensions/vscode/print/print-1.0.15.vsix +0 -0
- package/docs/extensions/vscode/print/print-latest.vsix +0 -0
- package/docs/extensions/vscode/rip/rip-latest.vsix +0 -0
- package/docs/extensions/vscode/rip/vscode-rip-0.7.1.vsix +0 -0
- package/package.json +1 -1
- package/src/compiler.js +19 -7
- package/src/dts.js +22 -15
- package/src/lexer.js +30 -1
- package/src/typecheck.js +164 -22
- package/src/types.js +463 -2
package/docs/dist/rip.min.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(()=>{var{defineProperty
|
|
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=`
|
|
2
2
|
// ---- Rip Schema Runtime ----------------------------------------------------
|
|
3
3
|
// Four layers, lazy compilation:
|
|
4
4
|
// 1 (descriptor) object passed to __schema({...}). Raw metadata.
|
|
@@ -28,7 +28,7 @@ var { __schema, SchemaError, __SchemaRegistry, __schemaSetAdapter } = (function(
|
|
|
28
28
|
return globalThis.__ripSchema;
|
|
29
29
|
}
|
|
30
30
|
|
|
31
|
-
`,
|
|
31
|
+
`,bl=`
|
|
32
32
|
// __schemaSetAdapter / __schemaTransaction are server/migration-only.
|
|
33
33
|
// In validate mode they don't exist (browser mode stubs transaction);
|
|
34
34
|
// export undefined / throwing slots so destructure works everywhere.
|
|
@@ -80,7 +80,7 @@ var { __schema, SchemaError, __SchemaRegistry, __schemaSetAdapter } = (function(
|
|
|
80
80
|
})();
|
|
81
81
|
|
|
82
82
|
// === End Schema Runtime ===
|
|
83
|
-
`,
|
|
83
|
+
`,nl=`class SchemaError extends Error {
|
|
84
84
|
constructor(issues, schemaName, schemaKind) {
|
|
85
85
|
super(__schemaFormatIssues(issues, schemaName));
|
|
86
86
|
this.name = 'SchemaError';
|
|
@@ -1809,7 +1809,7 @@ function __schema(descriptor) {
|
|
|
1809
1809
|
if (def.name) __SchemaRegistry.register(def);
|
|
1810
1810
|
return def;
|
|
1811
1811
|
}
|
|
1812
|
-
`;var
|
|
1812
|
+
`;var Pl=`// Browser stubs — throwing replacements for every ORM / DDL helper that
|
|
1813
1813
|
// the validate fragment references but doesn't implement. Loaded ONLY
|
|
1814
1814
|
// in browser mode.
|
|
1815
1815
|
//
|
|
@@ -1856,34 +1856,37 @@ 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,Oe=(n)=>{z=n},K=(n,l)=>{if(l&&Array.isArray(n))Object.defineProperty(n,"subLocs",{value:l,enumerable:!1,configurable:!0,writable:!0});return n},Dn=(n)=>n&&n.subLocs?n.subLocs:Array.isArray(n)?n.map(()=>null):[],zf={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],l=[],u=0,t,i,f,e;while(u<n.length){t=n[u++],i={},f=0,e=[];while(t--)f+=n[u++],e.push(f);for(f of e)i[f]=n[u++];l.push(i)}return l})(),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,l,u,t)=>{let i=l,f=u,e=l.length-1;switch(n){case 1:return K(["program"],z?[null]:null);case 2:return K(["program",...i[e]],z?[null,...Dn(i[e])]: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 K([i[e]],z?[f[e]]:null);case 4:case 118:case 156:case 163:case 219:case 239:case 367:case 384:case 413:return K([...i[e-2],i[e]],z?[...Dn(i[e-2]),f[e]]:null);case 5:case 64:case 201:case 368:return i[e-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[e];case 50:case 179:return"undefined";case 51:case 178:return"null";case 55:case 185:return K(["symbol",i[e]],z?[null,f[e]]:null);case 61:return K(["str",...i[e-1]],z?[null,...Dn(i[e-1])]:null);case 63:case 195:case 199:case 300:return K([...i[e-1],i[e]],z?[...Dn(i[e-1]),f[e]]:null);case 65:case 237:case 241:case 386:case 415:return i[e-2];case 66:return"";case 69:return K(["regex",i[e-1]],z?[null,f[e-1]]:null);case 70:return K(["regex-index",i[e-2],i[e]],z?[null,f[e-2],f[e]]:null);case 71:return K(["regex-index",i[e],null],z?[null,f[e],null]:null);case 72:case 125:return K(["=",i[e-2],i[e]],z?[null,f[e-2],f[e]]:null);case 73:return K(["=",i[e-3],i[e]],z?[null,f[e-3],f[e]]:null);case 74:case 126:return K(["=",i[e-4],i[e-1]],z?[null,f[e-4],f[e-1]]:null);case 75:return K(["state",i[e-2],i[e]],z?[null,f[e-2],f[e]]:null);case 76:return K(["state",i[e-3],i[e]],z?[null,f[e-3],f[e]]:null);case 77:return K(["state",i[e-4],i[e-1]],z?[null,f[e-4],f[e-1]]:null);case 78:case 80:return K(["computed",i[e-2],i[e]],z?[null,f[e-2],f[e]]:null);case 79:return K(["computed",i[e-3],i[e]],z?[null,f[e-3],f[e]]:null);case 81:return K(["readonly",i[e-2],i[e]],z?[null,f[e-2],f[e]]:null);case 82:return K(["readonly",i[e-3],i[e]],z?[null,f[e-3],f[e]]:null);case 83:return K(["readonly",i[e-4],i[e-1]],z?[null,f[e-4],f[e-1]]:null);case 84:return K(["gate",i[e-2],i[e]],z?[null,f[e-2],f[e]]:null);case 85:case 87:return K(["effect",i[e-2],i[e]],z?[null,f[e-2],f[e]]:null);case 86:return K(["effect",i[e-3],i[e]],z?[null,f[e-3],f[e]]:null);case 88:case 89:case 90:return K(["effect",null,i[e]],z?[null,null,f[e]]:null);case 98:case 145:return K([".",i[e-2],i[e]],z?[null,f[e-2],f[e]]:null);case 99:case 146:return K(["?.",i[e-2],i[e]],z?[null,f[e-2],f[e]]:null);case 100:case 102:case 147:return["[]",i[e-3],i[e-1]];case 101:case 103:case 148:return["[]",i[e-5],i[e-2]];case 104:case 149:return K([".{}",i[e-4],...i[e-2]],z?[null,f[e-4],...Dn(i[e-2])]:null);case 105:case 150:return K(["?.{}",i[e-4],...i[e-2]],z?[null,f[e-4],...Dn(i[e-2])]:null);case 106:case 151:return K([".{}",i[e-6],...i[e-3]],z?[null,f[e-6],...Dn(i[e-3])]:null);case 107:case 152:return K(["?.{}",i[e-6],...i[e-3]],z?[null,f[e-6],...Dn(i[e-3])]:null);case 108:return[i[e-1][0],i[e-3],...i[e-1].slice(1)];case 109:return K(["optindex",i[e-4],i[e-1]],z?[null,f[e-4],f[e-1]]:null);case 110:return K(["optindex",i[e-6],i[e-2]],z?[null,f[e-6],f[e-2]]:null);case 111:return["object-comprehension",i[e-8],i[e-6],[["for-of",i[e-4],i[e-2],!1]],[]];case 112:return["object-comprehension",i[e-10],i[e-8],[["for-of",i[e-6],i[e-4],!1]],[i[e-2]]];case 113:return["object-comprehension",i[e-9],i[e-7],[["for-of",i[e-4],i[e-2],!0]],[]];case 114:return["object-comprehension",i[e-11],i[e-9],[["for-of",i[e-6],i[e-4],!0]],[i[e-2]]];case 115:return K(["object",...i[e-2]],z?[null,...Dn(i[e-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 K([...i[e-3],i[e]],z?[...Dn(i[e-3]),f[e]]:null);case 120:case 158:case 165:case 221:case 242:case 387:case 416:return K([...i[e-5],...i[e-2]],z?[...Dn(i[e-5]),...Dn(i[e-2])]:null);case 121:return K([null,i[e],i[e]],z?[null,f[e],f[e]]:null);case 123:case 159:return K([":",i[e-2],i[e]],z?[null,f[e-2],f[e]]:null);case 124:case 160:return K([":",i[e-4],i[e-1]],z?[null,f[e-4],f[e-1]]:null);case 131:return K(["dynamicKey",i[e-1]],z?[null,f[e-1]]:null);case 132:return["[]","this",i[e-1]];case 134:case 135:case 161:case 230:return K(["...",i[e]],z?[null,f[e]]:null);case 141:case 234:return K(["super",...i[e]],z?[null,...Dn(i[e])]:null);case 142:case 143:case 144:case 232:case 235:return K([i[e-1],...i[e]],z?[f[e-1],...Dn(i[e])]:null);case 153:return K(["map-literal",...i[e-2]],z?[null,...Dn(i[e-2])]:null);case 166:return K([i[e],i[e],null],z?[f[e],f[e],null]:null);case 167:return K([i[e-2],i[e],null],z?[f[e-2],f[e],null]:null);case 168:return K([i[e-2],i[e-2],i[e]],z?[f[e-2],f[e-2],f[e]]:null);case 169:return K([i[e-4],i[e-2],i[e]],z?[f[e-4],f[e-2],f[e]]:null);case 186:return K(["array"],z?[null]:null);case 187:return K(["array",...i[e-1]],z?[null,...Dn(i[e-1])]:null);case 188:return K(["array",...i[e-2],...i[e-1]],z?[null,...Dn(i[e-2]),...Dn(i[e-1])]:null);case 190:return K([...i[e-2],...i[e]],z?[...Dn(i[e-2]),...Dn(i[e])]:null);case 191:return K([...i[e-3],...i[e]],z?[...Dn(i[e-3]),...Dn(i[e])]:null);case 192:return K([...i[e-2],...i[e-1]],z?[...Dn(i[e-2]),...Dn(i[e-1])]:null);case 193:return K([...i[e-5],...i[e-4],...i[e-2],...i[e-1]],z?[...Dn(i[e-5]),...Dn(i[e-4]),...Dn(i[e-2]),...Dn(i[e-1])]:null);case 197:return K([...i[e]],z?[...Dn(i[e])]:null);case 200:return null;case 202:return"..";case 203:case 246:return"...";case 204:return K([i[e-2],i[e-3],i[e-1]],z?[f[e-2],f[e-3],f[e-1]]:null);case 205:case 440:case 442:case 443:case 456:case 458:return K([i[e-1],i[e-2],i[e]],z?[f[e-1],f[e-2],f[e]]:null);case 206:return K([i[e],i[e-1],null],z?[f[e],f[e-1],null]:null);case 207:return K([i[e-1],null,i[e]],z?[f[e-1],null,f[e]]:null);case 208:return K([i[e],null,null],z?[f[e],null,null]:null);case 209:return K(["def",i[e-4],i[e-2],i[e]],z?[null,f[e-4],f[e-2],f[e]]:null);case 210:return["def",i[e-1],[],i[e]];case 211:case 213:return K([i[e-1],i[e-3],i[e]],z?[f[e-1],f[e-3],f[e]]:null);case 212:case 214:return[i[e-1],[],i[e]];case 223:case 349:return K(["default",i[e-2],i[e]],z?[null,f[e-2],f[e]]:null);case 224:return K(["rest",i[e]],z?[null,f[e]]:null);case 225:return K(["expansion"],z?[null]:null);case 231:return K(["tagged-template",i[e-1],i[e]],z?[null,f[e-1],f[e]]:null);case 233:return K(["optcall",i[e-2],...i[e]],z?[null,f[e-2],...Dn(i[e])]:null);case 247:return[i[e]];case 248:return[...i[e-2],i[e]];case 249:case 250:return"this";case 251:return K([".","this",i[e]],z?[null,null,f[e]]:null);case 252:return K([".","super",i[e]],z?[null,null,f[e]]:null);case 253:return["[]","super",i[e-1]];case 254:return["[]","super",i[e-2]];case 255:return K([".","new",i[e]],z?[null,null,f[e]]:null);case 256:return K([".","import",i[e]],z?[null,null,f[e]]:null);case 257:return K(["block"],z?[null]:null);case 258:return K(["block",...i[e-1]],z?[null,...Dn(i[e-1])]:null);case 259:return i[e-1].length===1?(Array.isArray(i[e-1][0])&&(i[e-1][0].parenthesized=!0),i[e-1][0]):["block",...i[e-1]];case 260:return i[e-2].length===1?(Array.isArray(i[e-2][0])&&(i[e-2][0].parenthesized=!0),i[e-2][0]):["block",...i[e-2]];case 263:return K(["return",i[e]],z?[null,f[e]]:null);case 264:return K(["return",i[e-1]],z?[null,f[e-1]]:null);case 265:return K(["return"],z?[null]:null);case 266:return K(["throw",i[e]],z?[null,f[e]]:null);case 267:return K(["throw",i[e-1]],z?[null,f[e-1]]:null);case 268:return K(["yield"],z?[null]:null);case 269:return K(["yield",i[e]],z?[null,f[e]]:null);case 270:return K(["yield",i[e-1]],z?[null,f[e-1]]:null);case 271:return K(["yield-from",i[e]],z?[null,f[e]]:null);case 272:case 274:return K(["if",i[e-1],i[e]],z?[null,f[e-1],f[e]]:null);case 273:case 275:return K(["if",i[e-2],i[e-1],i[e]],z?[null,f[e-2],f[e-1],f[e]]:null);case 277:return["if",["!",i[e-1]],i[e]];case 278:return["if",["!",i[e-3]],i[e-2],i[e]];case 281:case 282:return["if",i[e],[i[e-2]]];case 283:return K(["?:",i[e-4],i[e-6],i[e-1]],z?[null,f[e-4],f[e-6],f[e-1]]:null);case 284:return K(["?:",i[e-2],i[e-4],i[e]],z?[null,f[e-2],f[e-4],f[e]]:null);case 285:case 286:return["if",["!",i[e]],[i[e-2]]];case 287:return K(["try",i[e]],z?[null,f[e]]:null);case 288:return K(["try",i[e-1],i[e]],z?[null,f[e-1],f[e]]:null);case 289:return K(["try",i[e-2],i[e]],z?[null,f[e-2],f[e]]:null);case 290:return K(["try",i[e-3],i[e-2],i[e]],z?[null,f[e-3],f[e-2],f[e]]:null);case 291:case 292:case 293:case 422:case 425:case 427:return K([i[e-1],i[e]],z?[f[e-1],f[e]]:null);case 294:return K([null,i[e]],z?[null,f[e]]:null);case 295:return K(["switch",i[e-3],i[e-1],null],z?[null,f[e-3],f[e-1],null]:null);case 296:return K(["switch",i[e-5],i[e-3],i[e-1]],z?[null,f[e-5],f[e-3],f[e-1]]:null);case 297:return K(["switch",null,i[e-1],null],z?[null,null,f[e-1],null]:null);case 298:return K(["switch",null,i[e-3],i[e-1]],z?[null,null,f[e-3],f[e-1]]:null);case 301:return K(["when",i[e-1],i[e]],z?[null,f[e-1],f[e]]:null);case 302:return K(["when",i[e-2],i[e-1]],z?[null,f[e-2],f[e-1]]:null);case 303:return K(["while",i[e]],z?[null,f[e]]:null);case 304:return K(["while",i[e-2],i[e]],z?[null,f[e-2],f[e]]:null);case 305:return["while",["!",i[e]]];case 306:return["while",["!",i[e-2]],i[e]];case 307:return i[e-1].length===2?[i[e-1][0],i[e-1][1],i[e]]:[i[e-1][0],i[e-1][1],i[e-1][2],i[e]];case 308:case 309:return i[e].length===2?[i[e][0],i[e][1],[i[e-1]]]:[i[e][0],i[e][1],i[e][2],[i[e-1]]];case 311:return K(["loop",i[e]],z?[null,f[e]]:null);case 312:return["loop",[i[e]]];case 313:return K(["loop-n",i[e-1],i[e]],z?[null,f[e-1],f[e]]:null);case 314:return K(["for-in",i[e-3],i[e-1],null,null,i[e]],z?[null,f[e-3],f[e-1],null,null,f[e]]:null);case 315:return K(["for-in",i[e-5],i[e-3],null,i[e-1],i[e]],z?[null,f[e-5],f[e-3],null,f[e-1],f[e]]:null);case 316:return K(["for-in",i[e-5],i[e-3],i[e-1],null,i[e]],z?[null,f[e-5],f[e-3],f[e-1],null,f[e]]:null);case 317:return K(["for-in",i[e-7],i[e-5],i[e-1],i[e-3],i[e]],z?[null,f[e-7],f[e-5],f[e-1],f[e-3],f[e]]:null);case 318:return K(["for-in",i[e-7],i[e-5],i[e-3],i[e-1],i[e]],z?[null,f[e-7],f[e-5],f[e-3],f[e-1],f[e]]:null);case 319:return K(["for-of",i[e-3],i[e-1],!1,null,i[e]],z?[null,f[e-3],f[e-1],null,null,f[e]]:null);case 320:return K(["for-of",i[e-5],i[e-3],!1,i[e-1],i[e]],z?[null,f[e-5],f[e-3],null,f[e-1],f[e]]:null);case 321:return K(["for-of",i[e-3],i[e-1],!0,null,i[e]],z?[null,f[e-3],f[e-1],null,null,f[e]]:null);case 322:return K(["for-of",i[e-5],i[e-3],!0,i[e-1],i[e]],z?[null,f[e-5],f[e-3],null,f[e-1],f[e]]:null);case 323:return K(["for-as",i[e-3],i[e-1],!1,null,i[e]],z?[null,f[e-3],f[e-1],null,null,f[e]]:null);case 324:return K(["for-as",i[e-5],i[e-3],!1,i[e-1],i[e]],z?[null,f[e-5],f[e-3],null,f[e-1],f[e]]:null);case 325:case 327:return K(["for-as",i[e-3],i[e-1],!0,null,i[e]],z?[null,f[e-3],f[e-1],null,null,f[e]]:null);case 326:case 328:return K(["for-as",i[e-5],i[e-3],!0,i[e-1],i[e]],z?[null,f[e-5],f[e-3],null,f[e-1],f[e]]:null);case 329:return["for-in",[],i[e-1],null,null,i[e]];case 330:return["for-in",[],i[e-3],i[e-1],null,i[e]];case 331:return["comprehension",i[e-4],[["for-in",i[e-2],i[e],null]],[]];case 332:return["comprehension",i[e-6],[["for-in",i[e-4],i[e-2],null]],[i[e]]];case 333:return["comprehension",i[e-6],[["for-in",i[e-4],i[e-2],i[e]]],[]];case 334:return["comprehension",i[e-8],[["for-in",i[e-6],i[e-4],i[e]]],[i[e-2]]];case 335:return["comprehension",i[e-8],[["for-in",i[e-6],i[e-4],i[e-2]]],[i[e]]];case 336:return["comprehension",i[e-4],[["for-of",i[e-2],i[e],!1]],[]];case 337:return["comprehension",i[e-6],[["for-of",i[e-4],i[e-2],!1]],[i[e]]];case 338:return["comprehension",i[e-5],[["for-of",i[e-2],i[e],!0]],[]];case 339:return["comprehension",i[e-7],[["for-of",i[e-4],i[e-2],!0]],[i[e]]];case 340:return["comprehension",i[e-4],[["for-as",i[e-2],i[e],!1,null]],[]];case 341:return["comprehension",i[e-6],[["for-as",i[e-4],i[e-2],!1,null]],[i[e]]];case 342:return["comprehension",i[e-5],[["for-as",i[e-2],i[e],!0,null]],[]];case 343:return["comprehension",i[e-7],[["for-as",i[e-4],i[e-2],!0,null]],[i[e]]];case 344:return["comprehension",i[e-4],[["for-as",i[e-2],i[e],!0,null]],[]];case 345:return["comprehension",i[e-6],[["for-as",i[e-4],i[e-2],!0,null]],[i[e]]];case 346:return["comprehension",i[e-2],[["for-in",[],i[e],null]],[]];case 347:return["comprehension",i[e-4],[["for-in",[],i[e-2],i[e]]],[]];case 351:case 389:case 391:case 418:case 419:case 421:return K([i[e-2],i[e]],z?[f[e-2],f[e]]:null);case 354:return K(["class",null,null],z?[null,null,null]:null);case 355:return K(["class",null,null,i[e]],z?[null,null,null,f[e]]:null);case 356:return K(["class",null,i[e]],z?[null,null,f[e]]:null);case 357:return K(["class",null,i[e-1],i[e]],z?[null,null,f[e-1],f[e]]:null);case 358:return K(["class",i[e],null],z?[null,f[e],null]:null);case 359:return K(["class",i[e-1],null,i[e]],z?[null,f[e-1],null,f[e]]:null);case 360:return K(["class",i[e-2],i[e]],z?[null,f[e-2],f[e]]:null);case 361:return K(["class",i[e-3],i[e-1],i[e]],z?[null,f[e-3],f[e-1],f[e]]:null);case 362:return K(["enum",i[e-1],i[e]],z?[null,f[e-1],f[e]]:null);case 363:return K(["schema",i[e]],z?[null,f[e]]:null);case 364:return["component",null,["block",...i[e-1]]];case 365:return["component",i[e-3],["block",...i[e-1]]];case 372:return K(["offer",i[e]],z?[null,f[e]]:null);case 373:return K(["accept",i[e]],z?[null,f[e]]:null);case 374:case 375:return K(["render",i[e]],z?[null,f[e]]:null);case 376:case 379:return K(["import","{}",i[e]],z?[null,null,f[e]]:null);case 377:case 378:return K(["import",i[e-2],i[e]],z?[null,f[e-2],f[e]]:null);case 380:return K(["import",i[e-4],i[e]],z?[null,f[e-4],f[e]]:null);case 381:return K(["import",i[e-4],i[e-2],i[e]],z?[null,f[e-4],f[e-2],f[e]]:null);case 382:return K(["import",i[e-7],i[e-4],i[e]],z?[null,f[e-7],f[e-4],f[e]]:null);case 393:return K(["*",i[e]],z?[null,f[e]]:null);case 394:return K(["export","{}"],z?[null,null]:null);case 395:return K(["export",i[e-2]],z?[null,f[e-2]]:null);case 396:case 397:case 398:case 399:case 403:case 404:case 405:case 406:return K(["export",i[e]],z?[null,f[e]]:null);case 400:return["export",["=",i[e-2],i[e]]];case 401:return["export",["=",i[e-3],i[e]]];case 402:return["export",["=",i[e-4],i[e-1]]];case 407:return K(["export-default",i[e]],z?[null,f[e]]:null);case 408:return K(["export-default",i[e-1]],z?[null,f[e-1]]:null);case 409:return K(["export-all",i[e]],z?[null,f[e]]:null);case 410:return K(["export-from","{}",i[e]],z?[null,null,f[e]]:null);case 411:return K(["export-from",i[e-4],i[e]],z?[null,f[e-4],f[e]]:null);case 423:case 424:case 426:case 461:return K(["do-iife",i[e]],z?[null,f[e]]:null);case 428:return K(["-",i[e]],z?[null,f[e]]:null);case 429:return K(["+",i[e]],z?[null,f[e]]:null);case 430:return K(["?",i[e-1]],z?[null,f[e-1]]:null);case 431:return K(["presence",i[e-1]],z?[null,f[e-1]]:null);case 432:return K(["await",i[e]],z?[null,f[e]]:null);case 433:return K(["await",i[e-1]],z?[null,f[e-1]]:null);case 434:return K(["--",i[e],!1],z?[null,f[e],null]:null);case 435:return K(["++",i[e],!1],z?[null,f[e],null]:null);case 436:return K(["--",i[e-1],!0],z?[null,f[e-1],null]:null);case 437:return K(["++",i[e-1],!0],z?[null,f[e-1],null]:null);case 438:return K(["+",i[e-2],i[e]],z?[null,f[e-2],f[e]]:null);case 439:return K(["-",i[e-2],i[e]],z?[null,f[e-2],f[e]]:null);case 441:return K(["**",i[e-2],i[e]],z?[null,f[e-2],f[e]]:null);case 444:return K(["&",i[e-2],i[e]],z?[null,f[e-2],f[e]]:null);case 445:return K(["^",i[e-2],i[e]],z?[null,f[e-2],f[e]]:null);case 446:return K(["|",i[e-2],i[e]],z?[null,f[e-2],f[e]]:null);case 447:case 448:case 449:case 450:case 451:case 452:return K(["control",i[e-1],i[e-2],i[e]],z?[null,f[e-1],f[e-2],f[e]]:null);case 453:return K(["&&",i[e-2],i[e]],z?[null,f[e-2],f[e]]:null);case 454:return K(["||",i[e-2],i[e]],z?[null,f[e-2],f[e]]:null);case 455:return K(["??",i[e-2],i[e]],z?[null,f[e-2],f[e]]:null);case 457:return K(["?:",i[e-4],i[e-2],i[e]],z?[null,f[e-4],f[e-2],f[e]]:null);case 459:return K([i[e-3],i[e-4],i[e-1]],z?[f[e-3],f[e-4],f[e-1]]:null);case 460:return K([i[e-2],i[e-3],i[e]],z?[f[e-2],f[e-3],f[e]]:null)}},parseError(n,l){let u,t,i,f,e,a,c;if(l.recoverable)return this.trace(n);else throw i=(l.line||0)+1,u=l.loc?.c||0,c=l.token?` (token: ${l.token})`:"",a=l.text?` near '${l.text}'`:"",f=`line ${i}, column ${u}`,e=`Parse error at ${f}${c}${a}: ${n}`,t=Error(e),t.hash=l,t},parse(n){let l,u,t,i,f,e,a,c,r,h,o,s,w,m,y,_,R,d,A,D,M,U,S,F,W,q,Y,H;[U,H,o]=[[0],[null],[]],[y,Y,W,F,d]=[this.parseTable,"",0,0,0],[u,l]=[2,1],r=Object.create(this.lexer),D={ctx:{}};for(let g in this.ctx){if(!Object.hasOwn(this.ctx,g))continue;let v=this.ctx[g];D.ctx[g]=v}if(r.setInput(n,D.ctx),[D.ctx.lexer,D.ctx.parser]=[r,this],r.loc==null)r.loc={};q=r.loc,o.push(q),this.parseError=typeof D.ctx.parseError==="function"?D.ctx.parseError:Object.getPrototypeOf(this).parseError,c=()=>{let g;if(g=r.lex()||l,typeof g!=="number")g=this.symbolIds[g]||g;return g},S=_=M=t=R=m=a=w=f=null,A={};while(!0){if(M=U[U.length-1],S==null)S=c();if(t=y[M]?.[S],t==null){if(i="",!d)f=(()=>{let g=[];for(let v in y[M]){if(!Object.hasOwn(y[M],v))continue;if(this.tokenNames[v]&&v>u)g.push(`'${this.tokenNames[v]}'`)}return g})();throw i=(()=>{if(r.showPosition)return`Parse error on line ${W+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,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}:
|
|
1860
1860
|
${r.showPosition()}
|
|
1861
|
-
Expecting ${f.join(", ")}, got '${this.tokenNames[S]||S}'`;else return`Parse error on line ${W+1}: Unexpected ${S===l?"end of input":`'${this.tokenNames[S]||S}'`}`,this.parseError(i,{text:r.match,token:this.tokenNames[S]||S,line:r.line,loc:q,expected:f})})(),Error(i)}if(t>0)if(U.push(S,t),H.push(r.text),o.push(r.loc),S=null,!_){if([F,Y,W,q]=[r.len,r.text,r.line,r.loc],d>0)d--}else[S,_]=[_,null];else if(t<0){if(a=this.ruleTable[-t*2+1],A.$=H[H.length-a],h=o[o.length-(a||1)],e=a?o[o.length-1]:h,s=e!=null&&e.r===h.r&&h.c!=null&&e.c!=null?e.c+(e.n||0)-h.c:h.n||0,A._$={r:h.r,c:h.c,n:s},R=this.ruleActions.call(A,-t,H,o,D.ctx),R!=null)A.$=R;if(Array.isArray(A.$))A.$.loc=A._$;if(a)U.length-=a*2,H.length-=a,o.length-=a;U.push(this.ruleTable[-t*2]),H.push(A.$),o.push(A._$),w=y[U[U.length-2]][U[U.length-1]],U.push(w)}else if(t===0)return H[H.length-1]}},trace(){},ctx:{}},Kf=(n={})=>{let l=Object.create(zf);return Object.defineProperty(l,"ctx",{value:{...n},enumerable:!1,writable:!0,configurable:!0}),l},Zn=Kf();var xt=Zn.parse.bind(Zn);var ie=null;function Ve(n){ie=n}var Hf=new Set(["input","shape","model","mixin","enum","union"]),pe="input",Pe=new Set(["integer","number","boolean","date","datetime"]),Qf={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"},gf=new Set(["beforeValidation","afterValidation","beforeSave","afterSave","beforeCreate","afterCreate","beforeUpdate","afterUpdate","beforeDestroy","afterDestroy","afterCommit","afterRollback"]),Wf=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 Ji(n,l){if(n)n.prototype.rewriteSchema=function(){Jf(this)},ei._LexerCtor=n;if(l)l.prototype.emitSchema=function(u,t,i){return xf(this,u,t,i)},l.prototype.getSchemaRuntime=function(){let u=this.options?.schemaMode||"migration";return Eu({mode:u})}}var Ie=new Set(["defaultMaxString"]);function Jf(n){let l=n.tokens,u={defaultMaxString:null},t=0,i=0;while(i<l.length){let f=l[i];if(f[0]==="INDENT")t++;else if(f[0]==="OUTDENT")t--;let e=Yf(l,i,u,t);if(e>0){l.splice(i,e);continue}if(Gf(l,i))Zf(n,l,i,u);i++}}function Yf(n,l,u,t){let i=n[l];if(!i||i[0]!=="IDENTIFIER"||i[1]!=="schema")return 0;if(n[l+1]?.[0]!==".")return 0;let f=n[l+2];if(!f||f[0]!=="PROPERTY")return 0;if(n[l+3]?.[0]!=="=")return 0;let e=n[l-1];if(e){let o=e[0];if(o!=="TERMINATOR"&&o!=="INDENT"&&o!=="OUTDENT")return 0}let a=f[1];if(!Ie.has(a))throw I(f,`Unknown schema pragma 'schema.${a}'. Known pragmas: ${[...Ie].join(", ")}.`);if(t>0)throw I(f,`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[l+4];if(!c||c[0]!=="NUMBER")throw I(c||f,`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.`);u[a]=r===0?null:r;let h=l+5;if(n[h]?.[0]==="TERMINATOR")h++;return h-l}function Gf(n,l){let u=n[l];if(!u||u[0]!=="IDENTIFIER"||u[1]!=="schema")return!1;let t=n[l-1];if(t){let f=t[0];if(f==="."||f==="?.")return!1;if(t[0]==="IDENTIFIER"||t[0]==="PROPERTY"||t[0]===")"||t[0]==="]"||t[0]==="}"||t[0]==="STRING"||t[0]==="NUMBER"){if(!Wf.has(f))return!1}}let i=l+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 Zf(n,l,u,t){let i=l[u],f=null,e=pe,a=u+1;if(l[a]?.[0]==="SYMBOL"){f=l[a];let m=f[1];if(!Hf.has(m))throw I(f,`Unknown schema kind :${m}. Expected one of :input, :shape, :model, :mixin, :enum, :union.`);e=m,a++}let c=null;if(l[a]?.[0]===","&&(l[a+1]?.[0]==="PROPERTY"||l[a+1]?.[0]==="IDENTIFIER")&&l[a+1]?.[1]==="on"){if(e!=="model")throw I(l[a+1],`'on:' (per-schema adapter) applies to :model only — :${e} never queries a database.`);let m=a+2;if(l[m]?.[0]===":")m++;let y=m;while(m<l.length&&l[m][0]!=="TERMINATOR"&&l[m][0]!=="INDENT")m++;if(c=l.slice(y,m),!c.length)throw I(l[a+1],"'on:' requires an adapter expression — 'schema :model, on: analytics'.");a=m}let r,h;if(l[a]?.[0]==="TERMINATOR"&&l[a][1]===";"){let m=a+1,y=m,_=0,R=l[m]?.loc?.r??null;while(y<l.length){let d=l[y],A=d[0];if(_===0&&R!=null&&d.loc&&d.loc.r>R)break;if(A==="("||A==="["||A==="{"||A==="CALL_START"||A==="INDEX_START"||A==="PARAM_START")_++;else if(A===")"||A==="]"||A==="}"||A==="CALL_END"||A==="INDEX_END"||A==="PARAM_END"){if(_--,_<0)break}else if(_===0&&A==="TERMINATOR"&&d[1]!==";")break;else if(_===0&&(A==="INDENT"||A==="OUTDENT"))break;else if(_===0&&A==="->")throw I(d,"Inline schema body does not support '->' (method/hook/transform). Use the indented form.");else if(_===0&&A==="EFFECT")throw I(d,"Inline schema body does not support '~>' (computed getter). Use the indented form.");else if(_===0&&A==="UNARY_MATH"&&d[1]==="!"&&l[y+1]?.[0]==="COMPARE"&&l[y+1][1]===">")throw I(d,"Inline schema body does not support '!>' (eager derived). Use the indented form.");y++}while(y>m&&l[y-1][0]==="TERMINATOR")y--;if(r=l.slice(m,y),h=y,!r.length)throw I(i,`Inline schema body is empty. Either add '; field; …' entries after 'schema${f?" :"+e:""};' or switch to the indented form.`)}else{if(l[a]?.[0]==="TERMINATOR")a++;if(l[a]?.[0]!=="INDENT")throw I(i,`Expected indented schema body after 'schema${f?" :"+e:""}'.`);let m=a,y=Su(l,m);if(y<0)throw I(l[m],"Unterminated schema body.");r=l.slice(m+1,y),h=y+1}let o=bf(e,r,{schemaLoc:i.loc,kindLoc:f?.loc??null,kind:e,defaultMaxString:t?.defaultMaxString??null});if(c)o.adapterTokens=c;let s=ee("SCHEMA","schema",i),w=ee("SCHEMA_BODY",e,i);w.data={descriptor:o},l.splice(u,h-u,s,w)}function bf(n,l,u){let t=[],i=Nf(l);if(n===pe&&!u.kindLoc&&i.length>0&&i[0][0]?.[0]==="SYMBOL")n="enum",u.kind="enum";if(n==="enum")for(let f of i)Lf(f,t);else if(n==="union"){for(let a of i)pf(a,t);let f=t.filter((a)=>a.tag==="directive"&&a.name==="on").length,e=t.filter((a)=>a.tag==="union-member");if(f!==1)throw I({loc:u.schemaLoc},f===0?":union requires an '@on :field' discriminator — untagged unions are not supported.":`:union takes exactly one '@on :field' discriminator (got ${f}).`);if(e.length<2)throw I({loc:u.schemaLoc},`:union needs at least two constituent schemas (got ${e.length}).`)}else{for(let f of i)Of(n,f,t,u);if(n==="mixin")for(let f of t){if(f.tag==="method"||f.tag==="computed"||f.tag==="hook")throw I({loc:f.headerLoc||f.loc},`:mixin schemas are fields-only. '${f.name}' is a ${f.tag}; move it to a :shape or :model.`);if(f.tag==="ensure")throw I({loc:f.headerLoc||f.loc},":mixin schemas don't accept @ensure refinements. Move the invariant to a :shape or :model that composes this mixin.");if(f.tag==="scope"||f.tag==="defaultScope")throw I({loc:f.headerLoc||f.loc},`:mixin schemas don't accept query scopes. '@${f.tag==="scope"?"scope":"defaultScope"}' is :model-only.`);if(f.tag==="directive"&&f.name!=="mixin")throw I({loc:f.loc},`:mixin schemas only accept '@mixin Name' directives. '@${f.name}' is not allowed.`)}else if(n==="input")for(let f of t){if(f.tag==="method"||f.tag==="computed"||f.tag==="hook")throw I({loc:f.headerLoc||f.loc},`:input schemas are fields-only. '${f.name}' is a ${f.tag}; use :shape or :model if you need behavior.`);if(f.tag==="scope"||f.tag==="defaultScope")throw I({loc:f.headerLoc||f.loc},`:input schemas don't accept query scopes. '@${f.tag==="scope"?"scope":"defaultScope"}' is :model-only.`);if(f.tag==="directive"&&f.name!=="mixin")throw I({loc:f.loc},`:input schemas only accept '@mixin Name' and '@ensure'. '@${f.name}' is not allowed.`)}else if(n==="shape")for(let f of t){if(f.tag==="hook")throw I({loc:f.headerLoc||f.loc},`:shape schemas don't have lifecycle hooks. '${f.name}' runs only on :model; move it or remove it.`);if(f.tag==="scope"||f.tag==="defaultScope")throw I({loc:f.headerLoc||f.loc},`:shape schemas don't accept query scopes. '@${f.tag==="scope"?"scope":"defaultScope"}' is :model-only.`);if(f.tag==="directive"&&f.name!=="mixin")throw I({loc:f.loc},`:shape schemas only accept '@mixin Name'. '@${f.name}' is :model-only.`)}}return{kind:n,loc:u.schemaLoc,kindLoc:u.kindLoc,entries:t}}function Nf(n){let l=[],u=[],t=0;for(let i of n){let f=i[0];if(f==="INDENT")t++;if(f==="OUTDENT")t--;if(f==="TERMINATOR"&&t===0){if(u.length)l.push(u),u=[];continue}u.push(i)}if(u.length)l.push(u);return l}var Xf=new Set(["string","email","url","phone","zip"]);function Of(n,l,u,t){let i=l[0];if(!i)return;if(i[0]==="@"){let q=l[1];if(!q||q[0]!=="IDENTIFIER"&&q[0]!=="PROPERTY")throw I(i,"Expected directive name after '@'.");let Y=l.slice(2),H=q[1];if(H==="ensure"){let v=q.data?.bang===!0,p=Cf(Y,i);for(let b of p)u.push({tag:"ensure",name:"ensure",message:b.message,field:b.field||null,async:v,paramTokens:b.paramTokens,bodyTokens:b.bodyTokens,loc:b.loc,headerLoc:i.loc});return}if(H==="scope"){let v=vf(Y,i);u.push({tag:"scope",name:v.name,paramTokens:v.paramTokens,bodyTokens:v.bodyTokens,loc:i.loc,headerLoc:i.loc});return}if(H==="defaultScope"){let v=Le(Yi(Y),i,"@defaultScope");if(v.paramTokens.length)throw I(i,"@defaultScope takes no parameters — write '@defaultScope -> @where(...)'.");u.push({tag:"defaultScope",name:"defaultScope",paramTokens:[],bodyTokens:v.bodyTokens,loc:i.loc,headerLoc:i.loc});return}let g=null;if(H==="belongs_to"||H==="has_many"||H==="has_one"||H==="one"||H==="many"||H==="mixin"){let v=Y[0];if(v&&(v[0]==="IDENTIFIER"||v[0]==="PROPERTY")){let p=v.data?.optional===!0;if(!p&&Y[1]?.[0]==="?")p=!0;g=[{target:v[1],optional:p}]}}u.push({tag:"directive",name:H,args:g,argTokens:Y,loc:i.loc});return}if(i[0]==="PROPERTY"){Bf(n,i,l,u);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 f=i[1];if(l[1]?.[0]===":")throw I(l[1],"Schema fields use 'name type' (space, no colon). For methods or computed use 'name: -> body' or 'name: ~> body'.");let e=Uu(i),a=1;while(a<l.length){let q=l[a];if(!(l[a-1]&&!l[a-1].spaced))break;if(q[0]==="#")throw I(q,`The '#' unique modifier was removed. Mark uniqueness with '@unique': inline as '${f}! <type> @unique', or as a directive '@unique :${f}' (composite: '@unique [:a, :b]').`);if(q[0]==="?"||q[0]==="!"){e.push(q[0]),a++;continue}break}let c=l[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 q=l[a+1];if(q?.[0]==="SYMBOL"){o=!0,s=q[1];let Y=Qf[s];if(Y&&typeof Y==="object")r=Y.type,w=!0;else r=Y||"any";a+=2,c=q}else if(q?.[0]==="IDENTIFIER"){if(!Pe.has(q[1]))throw I(q,`'~${q[1]}' is not coercible. Built-in coercion is defined for: ${[...Pe].join(", ")}. `+`Named coercers use a symbol — '~:${q[1]}' — and resolve through the registry `+`(@rip-lang/validate's vocabulary, or schema.registerCoercer). For anything else, write an explicit transform: '${f}, -> …'.`);o=!0,r=q[1],a+=2,c=q}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(l[a]?.[0]==="|"&&l[a+1]?.[0]==="STRING")a++,h.push(JSON.parse(l[a][1])),a++;if(l[a]?.[0]==="|"){let q=l[a+1],Y=q?.[0]??"<end>";throw I(q||l[a],`Literal unions contain string literals only. '${Y}' is not allowed as a union member. Use the '?' modifier for nullability.`)}r="literal-union"}let m=!1,y=l[a]?.[0],_=l[a+1]?.[0];if((y==="["||y==="INDEX_START")&&(_==="]"||_==="INDEX_END"))m=!0,a+=2;if(o&&m)throw I(c,`Coercion ('~${r}') does not apply to array types. Coerce per-element with a transform instead.`);if(w)m=!0;let R=l.slice(a);if((c?.[0]==="IDENTIFIER"||c?.[0]==="STRING")&&R[0]?.[0]==="->")throw I(R[0],`Field '${f}' has a transform after the type; a comma is required before '->'. Write '${f} ${r}, -> …'.`);let A=null,D=null,M=null,U=null,S=null,F=!1;if(R.length>0){if(R[0]?.[0]===",")R=R.slice(1);if(R.length>=2&&R[0][0]==="INDENT"){let Y=0,H=-1;for(let g=0;g<R.length;g++)if(R[g][0]==="INDENT")Y++;else if(R[g][0]==="OUTDENT"){if(Y--,Y===0){H=g;break}}if(H===R.length-1)R=R.slice(1,-1)}let q=li(R);for(let Y=0;Y<q.length;Y++){let H=q[Y];while(H.length&&(H[0][0]==="INDENT"||H[0][0]==="TERMINATOR"))H=H.slice(1);if(!H.length)continue;if(H[0][0]!=="->"){let v=Pf(H);if(v>0)throw I(H[v],`Field '${f}' has a transform after other content; a comma is required before '->'. Write 'name! <constraints>, -> <body>'.`)}let g=H[0];if(g[0]!=="->"){while(H.length&&(H[H.length-1][0]==="OUTDENT"||H[H.length-1][0]==="TERMINATOR"))H=H.slice(0,-1);if(!H.length)continue;g=H[0]}if(g[0]==="["||g[0]==="INDEX_START"){if(A)throw I(g,`Field '${f}' has more than one '[…]' constraint. At most one default / regex bracket per field.`);A=H}else if(g[0]==="{"){if(D)throw I(g,`Field '${f}' has more than one '{…}' attrs bracket.`);D=H}else if(If(H)){if(M)throw I(g,`Field '${f}' has more than one range constraint. Only one 'min..max' per field.`);M=H}else if(g[0]==="REGEX"&&H.length===1){if(U)throw I(g,`Field '${f}' has more than one regex constraint.`);U=g}else if(g[0]==="->"){if(Y!==q.length-1)throw I(g,`Transform '-> …' must be the last element on the field line for '${f}'.`);S=H.slice(1)}else if(g[0]==="@"){let v=H[1],p=v&&(v[0]==="IDENTIFIER"||v[0]==="PROPERTY")?v[1]:null;if(H.length===2&&p==="unique"){if(F)throw I(g,`Field '${f}' has more than one '@unique'.`);F=!0}else throw I(g,`Unknown inline attribute '@${p??""}' on field '${f}'. The only inline attribute is '@unique'.`)}else throw I(g,`Unexpected trailer for field '${f}'. Expected '[…]' default, '{…}' attrs, '/regex/', 'min..max' range, '-> transform', or '@unique'.`)}}if(m&&h)throw I(c,"Array-of-literal-union is not supported. Use 'string[]' if you need an array of strings.");let W=null;if(t?.defaultMaxString!=null&&!U&&!h&&Xf.has(r))W=t.defaultMaxString;if(o&&S)throw I(i,`Field '${f}' has both '~${r}' coercion and a '->' transform. `+"A transform replaces coercion — coerce inside it instead.");u.push({tag:"field",name:f,modifiers:e,unique:F,typeName:r,array:m,literals:h,coerce:o,coercer:s,constraintTokens:A,attrsTokens:D,rangeTokens:M,regexToken:U,transformTokens:S,defaultMax:W,loc:i.loc})}function Pf(n){let l=0;for(let u=0;u<n.length;u++){let t=n[u][0];if(t==="("||t==="["||t==="{"||t==="CALL_START"||t==="INDEX_START"||t==="PARAM_START")l++;else if(t===")"||t==="]"||t==="}"||t==="CALL_END"||t==="INDEX_END"||t==="PARAM_END")l--;else if(l===0&&t==="->")return u}return-1}function If(n){let l=0,u=!1;if(n[l]?.[0]==="-"&&n[l+1]?.[0]==="NUMBER")l+=2,u=!0;else if(n[l]?.[0]==="NUMBER")l++,u=!0;if(n[l]?.[0]!=="..")return!1;l++;let t=!1;if(n[l]?.[0]==="-"&&n[l+1]?.[0]==="NUMBER")l+=2,t=!0;else if(n[l]?.[0]==="NUMBER")l++,t=!0;return(u||t)&&l===n.length}function Bf(n,l,u,t){let i=l[1],f=u[1];if(!f||f[0]!==":")throw I(l,`Expected ':' after '${i}' before arrow.`);let e=2,a=[],c=!1;if(u[e]&&(u[e][0]==="PARAM_START"||u[e][0]==="(")){c=!0;let R=1;e++;while(e<u.length&&R>0){let d=u[e][0];if(d==="("||d==="PARAM_START")R++;if(d===")"||d==="PARAM_END"){if(R--,R===0){e++;break}}a.push(u[e]),e++}if(R!==0)throw I(u[2],`'${i}': unclosed '(' in parameters.`)}let r=u[e],h=u[e+1],o,s,w;if(r&&r[0]==="->")o="->",s=r.loc,w=e+1;else if(r&&r[0]==="EFFECT")o="~>",s=r.loc,w=e+1;else if(r&&r[0]==="UNARY_MATH"&&r[1]==="!"&&h&&h[0]==="COMPARE"&&h[1]===">"&&!r.spaced)o="!>",s=r.loc,w=e+2;else throw I(f,`Schema top-level '${i}:' must be followed by '->' (method/hook), '~>' (computed getter), or '!>' (eager derived).`);let m=u.slice(w),y=gf.has(i),_;if(o==="~>")_="computed";else if(o==="!>")_="derived";else if(n==="model"&&y)_="hook";else _="method";if(c&&_!=="method")throw I(f,`'${i}': ${_==="hook"?"lifecycle hooks":_==="computed"?"computed getters (~>)":"eager-derived fields (!>)"} take no parameters — only methods do.`);t.push({tag:_,name:i,arrow:o,paramTokens:a,bodyTokens:m,headerLoc:l.loc,arrowLoc:s})}function Yi(n){if(n[0]?.[0]==="CALL_START"&&n[n.length-1]?.[0]==="CALL_END")return n.slice(1,-1);return n}function vf(n,l){let u=Yi(n);if(!u.length)throw I(l,"@scope requires ':name, -> body' (or ':name, (args) -> body').");let t=u[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 f=u.slice(1);if(f[0]?.[0]===",")f=f.slice(1);if(!f.length)throw I(t,`@scope :${i} is missing its body — '@scope :${i}, -> @where(...)'.`);let e=Le(f,t,`@scope :${i}`);return{name:i,paramTokens:e.paramTokens,bodyTokens:e.bodyTokens}}function Le(n,l,u){if(!n.length)throw I(l,`${u}: expected '-> body' or '(args) -> body'.`);let t=[],i=0,f=n[0];if(f[0]==="("||f[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(f,`${u}: unclosed '(' in parameters.`)}let e=n[i];if(!e||e[0]!=="->")throw I(e||l,`${u}: expected '->' ${t.length?"after parameters":"to start the body"}.`);let a=n.slice(i+1);if(!a.length)throw I(e,`${u}: function body is empty.`);return{paramTokens:t,bodyTokens:a}}function Cf(n,l){let u=n;if(!u.length)throw I(l,"@ensure requires 'message, (x) -> body' or '[...]' array of pairs.");if(u[0]?.[0]==="CALL_START"&&u[u.length-1]?.[0]==="CALL_END")u=u.slice(1,-1);if(!u.length)throw I(l,"@ensure requires 'message, (x) -> body' or '[...]' array of pairs.");let t=u[0];if(t[0]==="["||t[0]==="INDEX_START"){let f=Tf(u,t),e=jf(f);if(e.length===0)throw I(t,"@ensure [...] must contain at least one 'message, fn' pair.");return Be(e,t)}let i=li(u);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&&!xe(i[1]))throw I(t,`@ensure inline form takes 'message[, :field], fn' (got ${i.length} comma-separated parts). Use '@ensure [...]' for multiple refinements.`);return Be(i,t)}function xe(n){return n&&n.length===1&&n[0][0]==="SYMBOL"}function Be(n,l){let u=[],t=0;while(t<n.length){let i=n[t++],f=null;if(t<n.length&&xe(n[t]))f=n[t++];if(t>=n.length)throw I(i?.[0]||l,"@ensure: missing function after message"+(f?" and :field":"")+".");u.push(Vf(i,f,n[t++],l))}return u}function Tf(n,l){let u=0,t=[];for(let i=0;i<n.length;i++){let f=n[i],e=f[0];if(e==="["||e==="INDEX_START"){if(u++,u===1)continue}if(e==="]"||e==="INDEX_END"){if(u--,u===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(u>=1)t.push(f)}throw I(l,"@ensure: unclosed '['.")}function jf(n){let l=[],u=[],t=0;for(let i of n){let f=i[0];if(f==="("||f==="["||f==="{"||f==="CALL_START"||f==="INDEX_START"||f==="PARAM_START"||f==="INDENT")t++;if(f===")"||f==="]"||f==="}"||f==="CALL_END"||f==="INDEX_END"||f==="PARAM_END"||f==="OUTDENT")t--;if(t===0&&(f===","||f==="TERMINATOR")){if(u.length)l.push(u),u=[];continue}u.push(i)}if(u.length)l.push(u);return l}function Vf(n,l,u,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],f=JSON.parse(i[1]),e=l?l[0][1]:null;if(!u||!u.length)throw I(i,"@ensure: missing function after message.");let a=u[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<u.length&&c>0){let w=u[r],m=w[0];if(m==="("||m==="PARAM_START")c++;if(m===")"||m==="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=u[r];if(!o||o[0]!=="->")throw I(o||u[r-1]||i,"@ensure: expected '->' after predicate parameters.");let s=u.slice(r+1);if(!s.length)throw I(o,"@ensure: predicate function body is empty.");return{message:f,field:e,paramTokens:h,bodyTokens:s,loc:i.loc}}function ke(n,l){if(!n.length)return[];return li(n).map((t)=>{let i=t.filter((f)=>f[0]!=="TERMINATOR");if(i.length!==1||i[0][0]!=="IDENTIFIER")throw I(i[0]||l,"@ensure: predicate parameters must be plain identifiers.");return i[0][1]})}function pf(n,l){let u=n[0];if(!u)return;if(u[0]==="@"){let t=n[1];if(!t||t[1]!=="on")throw I(t||u,`:union bodies accept only '@on :field' and constituent schema names. '@${t?.[1]??""}' is not allowed.`);let i=Yi(n.slice(2)),f=i[0];if(!f||f[0]!=="SYMBOL")throw I(f||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.");l.push({tag:"directive",name:"on",args:[{field:f[1]}],argTokens:n.slice(2),loc:u.loc});return}if(u[0]==="IDENTIFIER"&&n.length===1){l.push({tag:"union-member",name:u[1],loc:u.loc});return}throw I(u,`:union bodies accept only '@on :field' and bare constituent schema names (one per line). Got ${u[0]}${n.length>1?" followed by "+n[1][0]:""}.`)}function Lf(n,l){let u=n[0];if(!u)return;if(u[0]==="@"){let f=n[1],e=f&&(f[0]==="IDENTIFIER"||f[0]==="PROPERTY")?f[1]:"directive";throw I(u,`:enum schemas don't accept '@${e}'. Enums hold only :symbol members. Move the invariant to a :shape or :model that uses this enum as a field type.`)}if(u[0]!=="SYMBOL")throw I(u,`Enum member must be a :symbol. Use ':${u[1]??"name"}' for a bare member or ':${u[1]??"name"} value' for a valued one.`);let t=u[1],i=n[1];if(!i){l.push({tag:"enum-member",name:t,value:void 0,loc:u.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.`);l.push({tag:"enum-member",name:t,value:qu(i),loc:u.loc})}function xf(n,l,u,t){let i=u[0],f=le(i);if(!f)throw Error("schema: missing descriptor on SCHEMA_BODY token");n.usesSchemas=!0;let e=n._schemaName||null,a=[`kind: ${JSON.stringify(f.kind)}`];if(e)a.push(`name: ${JSON.stringify(e)}`);else if(n.options.inlineTypes&&(f.kind==="shape"||f.kind==="input")){let c=n._schemaAnon??=[],r=`__AnonSchema${c.length+1}`;a.push(`__anon: ${JSON.stringify(r)}`),c.push({name:r,descriptor:f})}if(a.push(`entries: [${f.entries.map((c)=>au(n,c)).join(", ")}]`),f.adapterTokens){let c=ei(f.adapterTokens);if(c)a.push(`adapter: ${n.emit(du(c),"value")}`)}return`__schema({${a.join(", ")}})`}function le(n){if(n&&typeof n==="object"){if(n.descriptor)return n.descriptor;if(n.data?.descriptor)return n.data.descriptor}return null}function kf(n){if(!Array.isArray(n))return null;if((n[0]?.valueOf?.()??n[0])!=="schema")return null;return le(n[1])}var $f=new Set(["pick","omit","partial","required","extend"]);function Nn(n){return n&&n.valueOf?n.valueOf():n}function $e(n){return n.entries.some((l)=>l.tag==="directive"&&l.name==="mixin")}function nu(n){return(n.replace(/([a-z0-9])([A-Z])/g,"$1_$2").toLowerCase()+"_id").replace(/_([a-z])/g,(u,t)=>t.toUpperCase())}function iu(n){if($e(n))return null;let l=new Map;for(let e of n.entries)if(e.tag==="field")l.set(e.name,e);if(n.kind!=="model")return l;let u=(e,a,c)=>{if(!l.has(e))l.set(e,{tag:"field",name:e,modifiers:c?["!"]:["?"],typeName:a,array:!1})},t=!1,i=!1,f=[];for(let e of n.entries){if(e.tag!=="directive")continue;if(e.name==="timestamps")t=!0;else if(e.name==="softDelete")i=!0;else if(e.name==="belongs_to"){let a=e.args&&e.args[0]&&e.args[0].target;if(a)f.push({fk:nu(a),required:e.args[0].optional!==!0})}}if(u("id","integer",!0),t)u("createdAt","datetime",!0),u("updatedAt","datetime",!0);if(i)u("deletedAt","datetime",!1);for(let{fk:e,required:a}of f)u(e,"integer",a);return l}function eu(n){if($e(n))return null;let l=new Map;for(let u of n.entries)if(u.tag==="field")l.set(u.name,u);return l}function ve(n,l){let u=n.modifiers.filter((i)=>i!==(l==="partial"?"!":"?")),t=l==="partial"?"?":"!";if(!u.includes(t))u=[...u,t];return{...n,modifiers:u}}function lu(n,l,u){switch(l.method){case"pick":{let t=new Map;for(let i of l.keys){if(!n.has(i))return null;t.set(i,n.get(i))}return t}case"omit":{let t=new Set(l.keys),i=new Map;for(let[f,e]of n)if(!t.has(f))i.set(f,e);return i}case"partial":{let t=new Map;for(let[i,f]of n)t.set(i,ve(f,"partial"));return t}case"required":{let t=new Set(l.keys),i=new Map;for(let[f,e]of n)i.set(f,t.has(f)?ve(e,"required"):e);return i}case"extend":{let t=l.otherDescriptor||u.get(l.otherName);if(!t)return null;let i=eu(t);if(!i)return null;let f=new Map(n);for(let[e,a]of i){if(f.has(e))return null;f.set(e,a)}return f}default:return null}}function fu(n,l,u){let t=iu(n);if(!t)return null;for(let i of l)if(t=lu(t,i,u),!t)return null;return{kind:"shape",entries:[...t.values()]}}function uu(n){let l=[],u=n;while(!0){if(!Array.isArray(u))return null;let t=u[0];if(!Array.isArray(t))return null;if(Nn(t[0])!==".")return null;let i=Nn(t[2]);if(!$f.has(i))return null;let f=u.slice(1),e;if(i==="partial"){if(f.length)return null;e={method:i}}else if(i==="extend"){if(f.length!==1)return null;let r=f[0];if(Array.isArray(r)){let h=kf(r);if(!h||h.kind!=="shape"&&h.kind!=="input")return null;e={method:i,otherDescriptor:h}}else{let h=Nn(r);if(typeof h!=="string"||!/^[A-Za-z_$][\w$]*$/.test(h))return null;e={method:i,otherName:h}}}else{let r=tu(f);if(!r||!r.length)return null;e={method:i,keys:r}}l.unshift(e);let a=t[1];if(Array.isArray(a)){u=a;continue}let c=Nn(a);if(typeof c!=="string")return null;return{base:c,ops:l}}}function tu(n){let l=[];for(let u of n)if(Array.isArray(u)){if(Nn(u[0])!=="array")return null;for(let t=1;t<u.length;t++){let i=Ce(u[t]);if(i==null)return null;l.push(i)}}else{let t=Ce(u);if(t==null)return null;l.push(t)}return l}function Ce(n){let l=Nn(n);if(typeof l!=="string"||l.length<2)return null;let u=l[0];if(u!=='"'&&u!=="'"||l[l.length-1]!==u)return null;let t=l.slice(1,-1);if(/[\\#]/.test(t))return null;return t}function nl(n){if(!Array.isArray(n))return;let l=Nn(n[0]),u=l==="program"||l==="block"?n.slice(1):[n],t=new Map;for(let i of u){if(!Array.isArray(i))continue;let f=i;if(Nn(i[0])==="export"&&Array.isArray(i[1]))f=i[1];if(Nn(f[0])!=="="||!Array.isArray(f[2]))continue;let e=Nn(f[1]);if(typeof e!=="string")continue;if(Nn(f[2][0])==="schema"){let o=le(f[2][1]);if(o)t.set(e,o);continue}let a=uu(f[2]);if(!a)continue;let c=t.get(a.base);if(!c)continue;let r=fu(c,a.ops,t);if(!r)continue;let h=new String("shape");h.descriptor=r,h.data={descriptor:r},f[2]=["schema",h],t.set(e,r)}}function au(n,l){switch(l.tag){case"field":{let u=['tag: "field"',`name: ${JSON.stringify(l.name)}`,`modifiers: ${JSON.stringify(l.modifiers)}`,`typeName: ${JSON.stringify(l.typeName)}`,`array: ${l.array?"true":"false"}`];if(l.unique)u.push("unique: true");if(l.literals)u.push(`literals: ${JSON.stringify(l.literals)}`);if(l.coerce){if(u.push("coerce: true"),l.coercer)u.push(`coercer: ${JSON.stringify(l.coercer)}`)}let t=l.rangeTokens?mu(l.rangeTokens,l):null,i=l.constraintTokens?wu(l.constraintTokens,l):null,f=l.regexToken?_u(l.regexToken):null,e=yu(t,i,f,l);if(e)u.push(`constraints: ${e}`);if(l.attrsTokens){let a=Au(l.attrsTokens,l);if(a)u.push(`attrs: ${a}`)}if(l.transformTokens)u.push(`transform: ${hu(n,l.transformTokens)}`);return`{${u.join(", ")}}`}case"directive":{let u=['tag: "directive"',`name: ${JSON.stringify(l.name)}`],t=Ru(l.name,l.argTokens||[]);if(t)u.push(`args: ${t}`);return`{${u.join(", ")}}`}case"ensure":{let u=ou(n,l),t=['tag: "ensure"',`message: ${JSON.stringify(l.message)}`,`fn: ${u}`];if(l.field)t.push(`field: ${JSON.stringify(l.field)}`);if(l.async)t.push("async: true");return`{${t.join(", ")}}`}case"scope":case"defaultScope":{let u=su(n,l);return`{${[`tag: ${JSON.stringify(l.tag)}`,`name: ${JSON.stringify(l.name)}`,`fn: ${u}`].join(", ")}}`}case"computed":case"method":case"hook":case"derived":{let u=cu(n,l);return`{${[`tag: ${JSON.stringify(l.tag)}`,`name: ${JSON.stringify(l.name)}`,`fn: ${u}`].join(", ")}}`}case"enum-member":{let u=['tag: "enum-member"',`name: ${JSON.stringify(l.name)}`];if(l.value!==void 0)u.push(`value: ${JSON.stringify(l.value)}`);return`{${u.join(", ")}}`}case"union-member":return`{tag: "union-member", name: ${JSON.stringify(l.name)}}`;default:return'{tag: "unknown"}'}}function ru(n,l){if(!l.paramTokens||!l.paramTokens.length)return[];return li(l.paramTokens).map((t)=>{let i=t.filter((e)=>e[0]!=="TERMINATOR"&&e[0]!=="INDENT"&&e[0]!=="OUTDENT");if(i.length!==1||i[0][0]!=="IDENTIFIER")throw I(i[0]||{loc:l.headerLoc},`'${l.name}': method parameters must be plain identifiers (with optional ':: Type' annotations).`);let f=new String(i[0][1]);if(n.options.inlineTypes)f.type=i[0].data?.type||"any";return f})}function cu(n,l){let u=ei(l.bodyTokens),t=ru(n,l);if(!u)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 f=["->",i,u],e=n.emit(f,"value"),a=l.tag==="computed"||l.tag==="derived"||l.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:l.name,tag:l.tag,fnExpr:e})}return e}function hu(n,l){let u=ei(l);if(!u)return"(function() { return undefined; })";let t=new String("it");t.type="any";let i=["->",[t],u];return n.emit(i,"value")}function su(n,l){let u=ei(l.bodyTokens);if(!u)return"(function() { return this; })";let i=["->",l.paramTokens.length?ke(l.paramTokens,l):[],u];return n.emit(i,"value")}function ou(n,l){let u=ei(l.bodyTokens);if(!u)return"(function() { return undefined; })";let i=["->",ke(l.paramTokens,l),u];return n.emit(i,"value")}function wu(n,l){let u=n.slice(1,-1),t=li(u);if(!t.length)return{c:null};let i=t.map((f)=>fe(f,l));if(i.length===1){let f=i[0];if(f instanceof RegExp)throw I(n[0],`Regex constraints are written bare, not in brackets. Replace '[${f}]' with '${f}'.`);return{c:{default:f}}}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((f)=>typeof f==="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 _u(n){let l=n[1],u=/^\/((?:\\.|[^\\/])+)\/([a-z]*)$/.exec(l);if(!u)throw I(n,`Invalid regex literal ${JSON.stringify(l)}.`);try{return new RegExp(u[1],u[2])}catch(t){throw I(n,`Invalid regex '${l}': ${t.message}`)}}function mu(n,l){let u=0,t=()=>{let a=1;if(n[u]?.[0]==="-")a=-1,u++;let c=n[u++],r=fe([c],l);if(typeof r!=="number")throw I(c,"Range endpoints must be numeric literals.");return a*r},i;if(n[u]?.[0]!=="..")i=t();u++;let f;if(u<n.length)f=t();if(i!==void 0&&f!==void 0&&i>f)throw I(n[0],`Range '${i}..${f}' is reversed. Write the smaller endpoint first.`);let e={};if(i!==void 0)e.min=i;if(f!==void 0)e.max=f;return e}function yu(n,l,u,t){let i=l&&l.c||{},f=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(f&&i.min===void 0&&t?.modifiers?.includes("!"))i.min=1}if(u)i.regex=u;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 e=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 (${e} 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 Du(i)}var Te=new Set(["was"]);function Au(n,l){let u=n.slice(1,-1).filter((f)=>f[0]!=="TERMINATOR"&&f[0]!=="INDENT"&&f[0]!=="OUTDENT"),t=li(u),i=[];for(let f of t){if(!f.length)continue;let e=f[0];if(e[0]!=="PROPERTY"&&e[0]!=="IDENTIFIER")throw I(e,`Field attrs must be '{key: value}' pairs. Got ${e[0]}.`);let a=e[1];if(!Te.has(a))throw I(e,`Unknown field attr '${a}'. Known attrs: ${[...Te].join(", ")}.`);let c=1;if(f[c]?.[0]===":")c++;let r=fe(f.slice(c),l);if(a==="was"&&typeof r!=="string")throw I(e,`Field attr 'was' requires a string column name, e.g. {was: "first_name"}.`);i.push(`${a}: ${Wi(r)}`)}return i.length?`{${i.join(", ")}}`:null}function Du(n){let l=[];if(n.min!==void 0)l.push(`min: ${Wi(n.min)}`);if(n.max!==void 0)l.push(`max: ${Wi(n.max)}`);if(n.default!==void 0)l.push(`default: ${Wi(n.default)}`);if(n.regex!==void 0)l.push(`regex: ${n.regex.toString()}`);return l.length?`{${l.join(", ")}}`:null}function Wi(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 je(n){let l=(i)=>i&&(i[0]==="IDENTIFIER"||i[0]==="PROPERTY"||i[0]==="SYMBOL"),u=[],t=0;if(l(n[t]))u.push(n[t][1]);else if(n[t]?.[0]==="["||n[t]?.[0]==="INDEX_START"){let i=[],f=1;t++;while(t<n.length&&f>0){let e=n[t];if(e[0]==="["||e[0]==="INDEX_START")f++;if(e[0]==="]"||e[0]==="INDEX_END"){if(f--,f===0){t++;break}}i.push(e),t++}for(let e of li(i))if(l(e[0]))u.push(e[0][1])}return u}function Ru(n,l){if(n==="idStart"&&!l.length)throw I(null,"@idStart requires an integer literal, e.g. @idStart 10001.");if(!l.length)return null;if(n==="belongs_to"||n==="has_many"||n==="has_one"||n==="one"||n==="many"||n==="mixin"){let u=l[0];if(!u||u[0]!=="IDENTIFIER"&&u[0]!=="PROPERTY")throw I(u||l[l.length-1],`@${n} requires a target name.`);let t=u[1],i=u.data?.optional===!0,f=1;if(!i&&l[f]?.[0]==="?")i=!0,f++;let e=[`target: ${JSON.stringify(t)}`];if(i)e.push("optional: true");return`[{${e.join(", ")}}]`}if(n==="unique"){let u=je(l);if(!u.length)throw I(l[0]||l[l.length-1],"@unique requires a field name or list — '@unique :email' or '@unique [:a, :b]'.");return`[{fields: ${JSON.stringify(u)}}]`}if(n==="index"){let u=je(l);return`[{fields: ${JSON.stringify(u)}}]`}if(n==="on"){let u=Yi(l)[0];if(u&&u[0]==="SYMBOL")return`[{field: ${JSON.stringify(u[1])}}]`;throw I(u||l[l.length-1],"@on requires the discriminator field as a :symbol — '@on :kind'.")}if(n==="tableWas"){if(l[0]?.[0]==="CALL_START"&&l[l.length-1]?.[0]==="CALL_END")l=l.slice(1,-1);let u=l[0];if(u&&u[0]==="STRING")return`[{name: ${u[1]}}]`;if(u&&(u[0]==="IDENTIFIER"||u[0]==="PROPERTY"))return`[{name: ${JSON.stringify(u[1])}}]`;throw I(u||l[l.length-1],"@tableWas requires the previous table name, e.g. @tableWas legacy_users.")}if(n==="idStart"){let u=l[0],t=1,i=u;if(u&&u[0]==="-"&&l[1]&&l[1][0]==="NUMBER")t=-1,i=l[1];if(!i||i[0]!=="NUMBER")throw I(u||l[l.length-1],"@idStart requires an integer literal, e.g. @idStart 10001.");let f=t*Number(i[1]);if(!Number.isInteger(f))throw I(i,"@idStart requires an integer literal; got "+i[1]+".");return"[{value: "+f+"}]"}return null}function fe(n,l){if(!n.length)throw I(null,"Empty constraint value.");let u=n[0],t=u[0];if(n.length===1){if(t==="NUMBER")return Number(u[1]);if(t==="STRING")return JSON.parse(u[1]);if(t==="BOOL")return u[1]==="true";if(t==="NULL")return null;if(t==="UNDEFINED")return;if(t==="REGEX")return Mu(u[1]);if(t==="SYMBOL")return u[1]}if(n.length===2&&t==="-"&&n[1][0]==="NUMBER")return-Number(n[1][1]);throw I(u,`Constraint values must be literals (number, string, boolean, null, regex, :symbol). Got ${t}.`)}function Mu(n){let l=typeof n==="string"?n:String(n),u=l.match(/^\/(.*)\/([gimsuy]*)$/s);return u?new RegExp(u[1],u[2]):new RegExp(l)}function du(n){if(Array.isArray(n)){if((n[0]?.valueOf?.()??n[0])==="block"&&n.length===2)return n[1]}return n}function ei(n){if(!n||!n.length)return null;let l=ei._LexerCtor;if(!l)throw Error("schema: parseBodyTokens called before Lexer was wired");let u=Object.create(l.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(u.tokens=t,u.seenFor=u.seenImport=u.seenExport=!1,u.ends=[],u.indent=0,u.outdebt=0,u.indents=[],u.tokens[u.tokens.length-1]?.[0]!=="TERMINATOR")u.tokens.push(ee("TERMINATOR",`
|
|
1862
|
-
`,n[n.length-1]));try{
|
|
1863
|
-
`+Xe;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(be+l+Ne).trimStart()}Ve(il);var Fu=il({mode:"browser"});if(typeof globalThis<"u"&&!globalThis.__ripSchema)try{(0,eval)(Fu)}catch{}function fl(n){let l=n.prototype;l.rewriteTypes=function(){let u=this.tokens,t=this.typeRefNames=new Set,i=(f,e,a)=>{let c=[f,e];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((f,e,a)=>{let c=f[0];if(c==="IDENTIFIER"){let r=a[e+1];if(r&&r[0]==="COMPARE"&&r[1]==="<"&&!r.spaced){let h=a[e-1]?.[0]==="DEF",o=ll(a,e+1);if(o){let s=e+1+o.length,w=!h&&a[s]?.[0]==="="&&a[s+1]?.[0]==="COMPONENT";if(h||w){if(!f.data)f.data={};if(f.data.typeParams=jn(o),a.splice(e+1,o.length),h&&a[e+1]?.[0]==="("){a[e+1][0]="CALL_START";let m=1,y=e+2;while(y<a.length&&m>0){if(a[y][0]==="("||a[y][0]==="CALL_START")m++;if(a[y][0]===")"||a[y][0]==="CALL_END")m--;if(m===0)a[y][0]="CALL_END";y++}}}}}}if(c==="TYPE_ANNOTATION"){let r=a[e-1];if(!r)return 1;let h=el(a,e+1),o=jn(h),s=r,w="type";if(r[0]==="CALL_END"||r[0]===")"){let y=1,_=e-2;while(_>=0&&y>0){let R=a[_][0];if(R==="CALL_END"||R===")")y++;if(R==="CALL_START"||R==="(")y--;_--}if(_>=0)s=a[_];w="returnType"}else if(r[0]==="PARAM_END"){let y=e+1+h.consumed,_=a[y];if(_&&(_[0]==="->"||_[0]==="=>"))s=_;w="returnType"}else if(r[0]==="IDENTIFIER"&&e>=2&&a[e-2]?.[0]==="DEF")w="returnType";if(!s.data)s.data={};s.data[w]=o;for(let y of h)if(y[0]==="IDENTIFIER")t.add(y[1]);let m=1+h.consumed;return a.splice(e,m),0}if(c==="IDENTIFIER"&&f[1]==="type"){let r=a[e-1]?.[0];if(!(!r||r==="TERMINATOR"||r==="INDENT"||r==="EXPORT"))return 1;let o=e+1,s=a[o];if(!s||s[0]!=="IDENTIFIER")return 1;let w=s[1],m=r==="EXPORT",y=m?e-1:e,_=o+1;if(a[_]?.[0]==="COMPARE"&&a[_]?.[1]==="<"&&!a[_].spaced){let U=ll(a,_);if(U){if(!s.data)s.data={};s.data.typeParams=jn(U),a.splice(_,U.length)}}if(a[_]?.[0]!=="=")return 1;let R=(U)=>{let S=i("TYPE_DECL",w,s);if(S.data={name:w,typeText:U,exported:m},s.data?.typeParams)S.data.typeParams=s.data.typeParams;return S},d=_+1,A=a[d],D=(U,S)=>{for(let F=U;F<=S&&F<a.length;F++)if(a[F][0]==="IDENTIFIER")t.add(a[F][1])};if(A&&(A[0]==="TERMINATOR"||A[0]==="INDENT")){let U=zu(a,d);if(U)return D(d,U.endIdx),a.splice(y,U.endIdx-y+1,R(U.typeText)),0}if(A&&A[0]==="INDENT"){let U=te(a,d);return D(d,U),a.splice(y,U-y+1,R(ue(a,d))),0}let M=el(a,d);return D(d,d+M.consumed-1),a.splice(y,d+M.consumed-y,R(jn(M))),0}if(c==="INTERFACE"){let r=e>=1&&a[e-1]?.[0]==="EXPORT",h=e+1,o=a[h];if(!o)return 1;let s=o[1],w=null,m=h+1;if(a[m]?.[0]==="EXTENDS")w=a[m+1]?.[1],m=m+2;if(a[m]?.[0]==="INDENT"){let y=ue(a,m),_=te(a,m);for(let D=m;D<=_&&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:y,exported:r};let d=r?e-1:e,A=_-d+1;return a.splice(d,A,R),0}return 1}return 1});for(let f=u.length-1;f>=0;f--){if(u[f][0]!=="DEF")continue;let e=u[f+1];if(!e||e[0]!=="IDENTIFIER")continue;let a=f+2;if(u[a]?.[0]!=="CALL_START")continue;let c=1;a++;while(a<u.length&&c>0){if(u[a][0]==="CALL_START")c++;if(u[a][0]==="CALL_END")c--;a++}let r=a-1,h=u[a];if(h&&h[0]!=="TERMINATOR")continue;let o=e.data?.returnType;if(!o){for(let R=f+2;R<=r;R++)if(u[R].data?.type){o=!0;break}}if(!o)continue;let s=u.slice(f,a+1),w=f>=1&&u[f-1]?.[0]==="EXPORT",m=w?f-1:f,y=a+1-m,_=i("TYPE_DECL",e[1],e);if(_.data={name:e[1],kind:"overload",overloadTokens:s,exported:w},e.data?.typeParams)_.data.typeParams=e.data.typeParams;u.splice(m,y,_)}}}function el(n,l){let u=[],t=0,i=[],f=l;while(l<n.length){let e=n[l],a=e[0],c=a==="("||a==="["||a==="{"||a==="CALL_START"||a==="PARAM_START"||a==="INDEX_START"||a==="COMPARE"&&e[1]==="<",r=a===")"||a==="]"||a==="}"||a==="CALL_END"||a==="PARAM_END"||a==="INDEX_END"||a==="COMPARE"&&e[1]===">";if(a==="SHIFT"&&e[1]===">>"&&t>=2){if(t-=2,i[i.length-1]==="<")i.pop();if(i[i.length-1]==="<")i.pop();u.push(e),l++;continue}if(c){t++;let h=a==="{"?"{":a==="["||a==="INDEX_START"?"[":a==="COMPARE"&&e[1]==="<"?"<":"(";i.push(h),u.push(e),l++;continue}if(r){if(t>0){t--,i.pop(),u.push(e),l++;continue}break}if(t===0){if(a==="INDENT"&&u.length>0&&u[u.length-1][0]==="=>"){l++;let h=1;while(l<n.length&&h>0)if(n[l][0]==="INDENT")h++,l++;else if(n[l][0]==="OUTDENT")h--,l++;else u.push(n[l]),l++;continue}if(a==="="||a==="REACTIVE_ASSIGN"||a==="COMPUTED_ASSIGN"||a==="READONLY_ASSIGN"||a==="EFFECT"||a==="GATE"||a==="TERMINATOR"||a==="INDENT"||a==="OUTDENT"||a==="->"||a===",")break}if(t>0&&(a==="INDENT"||a==="OUTDENT")){l++;continue}if(t>0&&a==="TERMINATOR"){u.push(["",";"]),l++;continue}if(a==="PROPERTY"&&i[i.length-1]==="{"){let h=u[u.length-1],o=h?.[0],s=h?.[1];if(h&&o!=="{"&&o!==","&&!(o===""&&s===";"))u.push(["",";"])}u.push(e),l++}return u.consumed=l-f,u}function jn(n){if(n.length===0)return"";if(n[0]?.[0]==="=>")n.unshift(["","()"]);{let t=0;for(let i of n){let f=i[0];if(f==="{")t++;else if(f==="}")t--;else if(f==="TYPE_ANNOTATION"&&t>0){let e=i.loc,a=e?` (line ${e.r}, col ${e.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=e,c}}}let u=n.map((t,i)=>{let f=n[i+1];if(t.data?.optional&&f&&(f[0]==="TYPE_ANNOTATION"||f[0]===":"))return`${t[1]}?`;if(t[0]==="JS")return"`"+t[1]+"`";return t[1]}).join(" ").replace(/\s+/g," ").trim();return u=u.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,": "),u}function ll(n,l){if(l>=n.length)return null;let u=n[l];if(u[0]!=="COMPARE"||u[1]!=="<")return null;let t=[u],i=1,f=l+1;while(f<n.length&&i>0){let e=n[f];if(t.push(e),e[0]==="COMPARE"&&e[1]==="<")i++;else if(e[0]==="COMPARE"&&e[1]===">")i--;f++}return i===0?t:null}function ue(n,l){let u=[],t=l+1,i=1;while(t<n.length&&i>0){let f=n[t];if(f[0]==="INDENT"){i++,t++;continue}if(f[0]==="OUTDENT"){if(i--,i===0)break;t++;continue}if(f[0]==="TERMINATOR"){t++;continue}if(i===1&&f[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=jn(a),h=jn(c);u.push(`[${r}]: ${h}`);continue}let e=f[0]==="PROPERTY"||f[0]==="IDENTIFIER"||i===1&&/^[a-zA-Z_$]/.test(f[1])&&n[t+1]?.[0]==="TYPE_ANNOTATION";if(i===1&&e){let a=f[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(f.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 _=n[t];if(_[0]==="IDENTIFIER"&&_[1]==="type"&&n[t+1]?.[0]==="INDENT"){t++;let R=ue(n,t);h.push(["",R]);let d=1;t++;while(t<n.length&&d>0){if(n[t][0]==="INDENT")d++;if(n[t][0]==="OUTDENT")d--;t++}continue}if(_[0]==="INDENT"){o++,t++;continue}if(_[0]==="OUTDENT"){if(o>0){o--,t++;continue}break}if(_[0]==="TERMINATOR"&&o===0)break;h.push(_),t++}let s=jn(h),w=r?"readonly ":"",m=c?"?":"",y=!1;if(!c&&s.startsWith("(")){let _=0;for(let R=0;R<s.length;R++){let d=s[R];if(d==="(")_++;else if(d===")"){if(_--,_===0){let A=s.slice(R+1).trimStart();if(A===""||A.startsWith(":")&&!A.startsWith("::"))y=!0;break}}}}if(y)u.push(`${w}${a}${s}`);else u.push(`${w}${a}${m}: ${s}`)}else t++}return"{ "+u.join("; ")+" }"}function te(n,l){let u=0;for(let t=l;t<n.length;t++){if(n[t][0]==="INDENT")u++;if(n[t][0]==="OUTDENT"){if(u--,u===0)return t}}return n.length-1}function zu(n,l){let u=l;if(n[u]?.[0]==="TERMINATOR")u++;if(n[u]?.[0]!=="INDENT")return null;let t=u;u++;while(u<n.length&&n[u][0]==="TERMINATOR")u++;if(!n[u]||n[u][1]!=="|")return null;let i=[],f=1;u=t+1;while(u<n.length&&f>0){let a=n[u];if(a[0]==="INDENT"){f++,u++;continue}if(a[0]==="OUTDENT"){if(f--,f===0)break;u++;continue}if(a[0]==="TERMINATOR"){u++;continue}if(a[1]==="|"&&f===1){u++;let c=[];while(u<n.length){let r=n[u];if(r[0]==="TERMINATOR"||r[0]==="OUTDENT"||r[1]==="|"&&f===1)break;c.push(r),u++}if(c.length>0)i.push(jn(c));continue}u++}if(i.length===0)return null;let e=te(n,t);return{typeText:i.join(" | "),endIdx:e}}var ul=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"]),tl=new Set(["undefined","Infinity","NaN","then","unless","until","loop","of","by","when","def","component","render","enum","interface"]),re={and:"&&",or:"||",is:"==",isnt:"!=",not:"!",yes:"true",no:"false",on:"true",off:"false"},al=new Set(Object.keys(re)),Ku=new Set(["case","function","var","void","with","const","let","native","implements","package","private","protected","public","static"]),Hu=new Set(["break","continue","debugger"]),Qu=new Set(["NEW","TYPEOF","DELETE"]),gu=new Set(["IN","OF","INSTANCEOF"]),bi=new Set(["IDENTIFIER","PROPERTY",")","]","@","THIS","SUPER","DYNAMIC_IMPORT","?."]),Ni=new Set([...bi,"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"]),Wu=new Set(["+","-"]),Ju=new Set(["POST_IF","POST_UNLESS","FOR","WHILE","UNTIL","WHEN","BY","LOOP","TERMINATOR","||","&&","??"]),Yu=new Set(["STRING","STRING_END","REGEX","REGEX_END","NUMBER","BOOL","NULL","UNDEFINED","INFINITY","NAN","]","}","MAP_END","SYMBOL"]),Vn=new Set(["(","[","{","MAP_START","PICK_START","OPTPICK_START","INDENT","CALL_START","PARAM_START","INDEX_START","STRING_START","INTERPOLATION_START","REGEX_START"]),vn=new Set([")","]","}","MAP_END","PICK_END","OUTDENT","CALL_END","PARAM_END","INDEX_END","STRING_END","INTERPOLATION_END","REGEX_END"]),Gu={"(":")",")":"(","[":"]","]":"[","{":"}","}":"{",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"},rl=new Set(["CATCH","THEN","ELSE","FINALLY",...vn]),ae=new Set(["IDENTIFIER","PROPERTY","SUPER",")","CALL_END","]","INDEX_END","@","THIS"]),Zu=new Set(["IDENTIFIER","PROPERTY",")","CALL_END","]","INDEX_END"]),bu=new Set(["IF","TRY","FINALLY","CATCH","CLASS","SWITCH","COMPONENT","FOR"]),Nu=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"]),cl=new Set(["ELSE","->","=>","TRY","FINALLY","THEN"]),Xu=new Set(["TERMINATOR","CATCH","FINALLY","ELSE","OUTDENT","LEADING_WHEN"]),hi=new Set(["INDENT","OUTDENT","TERMINATOR"]),fi=(n)=>n?.[0]==="IDENTIFIER"||n?.[0]==="PROPERTY",Zi=(n,l)=>{if(n?.[0]===".")return!0;if(n?.[0]==="-")return n.spaced===!1&&!n.newLine&&l?.spaced===!1&&!l?.newLine;return!1},hl=new Set([".","?."]),sl=new Set(["\\",".","?.","UNARY","DO","DO_IIFE","MATH","UNARY_MATH","+","-","**","SHIFT","RELATION","COMPARE","&","^","|","&&","||","TERNARY","EXTENDS"]),Ou=new Set([...Ni,"++","--"]),ol=new Set(["-=","+=","/=","*=","%=","||=","&&=","?=","??=","<<=",">>=",">>>=","&=","^=","|=","**=","//=","%%="]),Pu=new Set(["*","/","%","//","%%"]),Iu=new Set(["==","!=","===","!==","<",">","<=",">=","=~"]),Bu=new Set(["<<",">>",">>>"]),vu=new Set(["!","~"]),Cu=/^(?!\d)((?:(?!\s)[$\w\x7f-\uffff])+(?:!|[?](?![.?![(]))?)([^\n\S]*:(?![=:]))?/,Tu=/^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,ju=/^(?:<=>|<~|::|\*>|[-=]>|~>|~=|:=|=!|===|!==|\?\!|\?\?|=~|[-+*\/%<>&|^!?=]=|>>>=?|([-+:])\1|([&|<>*\/%])\2=?|\?\.?|\.{2,3})/,Vu=/^[^\n\S]+/,pu=/^(?:\n[^\n\S]*)+/,Lu=/^(\s*)###([^#][\s\S]*?)(?:###([^\n\S]*)|###$)|^((?:\s*#(?!##[^#]).*)+)/,xu=/^[-=]>/,ku=/^(?:~[=>]|=!)/,$u=/^(?:'''\\|"""\\|'''|"""|'|")/,nt=/^(?:[^\\']|\\[\s\S])*/,it=/^(?:[^\\"#$]|\\[\s\S]|\#(?!\{)|\$(?!\{))*/,et=/^(?:[^\\']|\\[\s\S]|'(?!''))*/,lt=/^(?:[^\\"#$]|\\[\s\S]|"(?!"")|\#(?!\{)|\$(?!\{))*/,wl=/\n+([^\n\S]*)(?=\S)/g,ft=/^\/(?!\/)((?:[^[\/\n\\]|\\[^\n]|\[(?:\\[^\n]|[^\]\n\\])*\])*)(\/)?/,_l=/^\w*/,ut=/^(?!.*(.).*\1)[gimsuy]*$/,tt=/^(?:[^\\\/#\s]|\\[\s\S]|\/(?!\/\/)|\#(?!\{)|\s+(?:#(?!\{).*)?)*/,at=/^`(?!``)((?:[^`\\]|\\[\s\S])*)`/,rt=/^```((?:[^`\\]|\\[\s\S]|`(?!``))*)```/,ct=/\s+$/,ml=/^\s*(?:,|\??\.(?![.\d]))/,ht=65279;function Xi(n,l,{pre:u=0,row:t=0,col:i=0,len:f=0,data:e=null}={}){let a=[n,l];return a.pre=u,a.data=e,a.loc={r:t,c:i,n:f},a.spaced=u>0,a.newLine=!1,a}function On(n,l,u){let t=Xi(n,l);if(t.generated=!0,u)t.origin=u;return t}function Pn(n,{row:l=0,col:u=0,len:t=1}={}){let i=SyntaxError(n);throw i.location={first_line:l,first_column:u,last_column:u+t-1},i}function st(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 Cn{tokenize(n,l={}){this.code=n,this.tokens=[],this.ends=[],this.chunk="",this.pos=0,this.row=l.row||0,this.col=l.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 u=this.identifierToken()||this.commentToken()||this.whitespaceToken()||this.lineToken()||this.stringToken()||this.numberToken()||this.regexToken()||this.jsToken()||this.literalToken();if(u===0)Pn(`unexpected character: ${this.chunk.charAt(0)}`,{row:this.row,col:this.col});if(this.advance(u),l.untilBalanced&&this.ends.length===0)return{tokens:this.tokens,index:this.pos}}if(this.closeIndentation(),this.ends.length>0){let u=this.ends[this.ends.length-1];Pn(`missing ${u.tag}`,{row:this.row,col:this.col})}if(l.rewrite===!1)return this.tokens;return this.rewrite(this.tokens)}clean(n){if(n.charCodeAt(0)===ht)n=n.slice(1);if(n=n.replace(/\r\n?/g,`
|
|
1864
|
-
`)
|
|
1865
|
-
|
|
1866
|
-
`)this.row++,this.col=0;else this.col++;this.pos+=n}emit(n,l,{len:u,data:t,pre:i}={}){let f=Xi(n,l,{pre:i??0,row:this.row,col:this.col,len:u??(typeof l==="string"?l.length:0),data:t});return this.tokens.push(f),f}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 l=this.tokens[n-1];if(!l||l[1]!==":")return!1;let u=this.tokens[n-2];if(!u)return!1;let t=u[0];return t===")"||t==="CALL_END"||t==="PARAM_END"}inPickKeyPos(){let n=this.prev();if(!n)return!1;let l=n[0];if(l!=="{"&&l!==","&&l!==":"&&l!=="TERMINATOR"&&l!=="INDENT"&&l!=="OUTDENT")return!1;let u=0,t=this.tokens;for(let i=t.length-1;i>=0;i--){let f=t[i],e=f[0];if(e==="}"||e==="PICK_END"){u++;continue}if(e==="{"||e==="PICK_START"||e==="OPTPICK_START"){if(u===0){let a=t[i-1];return!!(a&&(a[0]==="."||a[0]==="?.")&&!a.spaced&&!f.spaced)}u--;continue}if(u===0&&(e==="("||e==="CALL_START"||e==="["||e==="INDEX_START"))return!1}return!1}identifierToken(){if(ku.test(this.chunk))return 0;let n=Cu.exec(this.chunk);if(!n)return 0;let[,l,u]=n,t=l.length,i={},f;if(l==="own"&&this.prevTag()==="FOR")return this.emit("OWN",l,{len:t}),t;if(l==="from"&&this.prevTag()==="YIELD")return this.emit("FROM",l,{len:t}),t;if(l==="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",l,{len:t}),t}if((l==="as"||l==="as!")&&this.seenFor)return this.seenFor=!1,this.emit(l==="as!"?"FORASAWAIT":"FORAS","as",{len:t}),t;if(l==="default"&&this.seenExport&&(this.prevTag()==="EXPORT"||this.prevTag()==="AS"))return this.emit("DEFAULT",l,{len:t}),t;let e;if(l==="do"&&(e=/^(\s*super)(?!\(\))/.exec(this.chunk.slice(3))))return this.emit("SUPER","super"),this.emit("CALL_START","("),this.emit("CALL_END",")"),e[1].length+3;let a=this.prev();if(u&&a&&a[0]==="TERNARY")u=null;if(u&&u.length>1&&/[a-zA-Z_$]/.test(this.chunk[t+u.length]))u=null;if(u||a&&(a[0]==="."||a[0]==="?."||!a.spaced&&a[0]==="@")||this.inPickKeyPos()){if(f="PROPERTY",this.inRenderBlock&&a&&a[0]==="."&&!u){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;l+="-"+o[1],t+=1+o[1].length,h=this.chunk.slice(t)}}}else f="IDENTIFIER";let c=l.endsWith("!")||l.endsWith("?")?l.slice(0,-1):l;if(f==="IDENTIFIER"&&!l.endsWith("!")&&!l.endsWith("?")&&(ul.has(l)||tl.has(l)||al.has(l))&&!(this.exportSpecifierList&&al.has(l))){if(re[l]!==void 0)i.original=l,l=re[l];f=this.classifyKeyword(l,f,i)}if(f==="IDENTIFIER"&&Ku.has(c))if(c==="void"&&(this.inTypeAnnotation||this.prevTag()==="=>"||this.isReturnTypeSlot()));else Pn(`reserved word '${c}'`,{row:this.row,col:this.col,len:t});if(f==="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(l.length>1&&l.endsWith("!"))i.bang=!0,l=l.slice(0,-1);if(l.length>1&&l.endsWith("?"))i.optional=!0,l=l.slice(0,-1);let r=this.emit(f,l,{len:t,data:Object.keys(i).length?i:null});if(f==="RENDER")this.inRenderBlock=!0,this.renderIndent=this.indent;if(u)return this.emit(":",":",{len:1}),t+u.length;return t}classifyKeyword(n,l,u){switch(n){case"!":return"UNARY";case"==":case"!=":return"COMPARE";case"true":case"false":return"BOOL";case"&&":case"||":return n}if(Hu.has(n))return"STATEMENT";let t=n.toUpperCase();if(t==="WHEN"&&hi.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(Qu.has(t))return"UNARY";if(gu.has(t)){if(t!=="INSTANCEOF"&&this.seenFor)return this.seenFor=!1,"FOR"+t;if(this.prevVal()==="!"){let i=this.tokens.pop();u.invert=i.data?.original||i[1]}return"RELATION"}if(ul.has(n)||tl.has(n))return t;return l}commentToken(){if(this.inRenderBlock){if(/^#[a-zA-Z_]/.test(this.chunk)){let l=this.prev();if(l&&(l[0]==="IDENTIFIER"||l[0]==="PROPERTY"))return 0;let u=/^#([a-zA-Z_][\w-]*)/.exec(this.chunk);if(u)return this.emit("IDENTIFIER","div#"+u[1]),u[0].length}if(/^\s+#[a-zA-Z_]/.test(this.chunk))return 0}let n=Lu.exec(this.chunk);if(!n)return 0;return n[0].length}whitespaceToken(){let n=Vu.exec(this.chunk);if(!n&&this.chunk[0]!==`
|
|
1867
|
-
`)
|
|
1868
|
-
|
|
1869
|
-
|
|
1870
|
-
`)
|
|
1871
|
-
`)}if(f===0&&l?.length===3)c=c.replace(/^\n/,"");if(f===n.length-1&&l?.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:l}})}}if(n.length>1)this.emit("STRING_END",")",{len:l?.length||0});return t}numberToken(){let n=Tu.exec(this.chunk);if(!n)return 0;let l=n[0],u=l.length,t={row:this.row,col:this.col};if(/^0[BOX]/.test(l))Pn(`radix prefix in '${l}' must be lowercase`,{...t,col:t.col+1});if(/^0\d*[89]/.test(l))Pn(`decimal literal '${l}' must not be prefixed with '0'`,{...t,len:u});if(/^0\d+/.test(l))Pn(`octal literal '${l}' must be prefixed with '0o'`,{...t,len:u});let i=st(l),f=i===1/0?"INFINITY":"NUMBER",e={parsedValue:i};if(f==="INFINITY")e.original=l;return this.emit(f,l,{len:u,data:e}),u}regexToken(){let n=this.matchWithInterpolations(tt,"///");if(n){let{tokens:r,index:h}=n,[o]=_l.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 l=ft.exec(this.chunk);if(!l)return 0;let[u,t,i]=l,f=this.prev();if(f){if(f.spaced&&bi.has(f[0])&&(!i||/^\/=?\s/.test(u)))return 0;if(Ou.has(f[0])&&!(f.spaced&&bi.has(f[0])))return 0}if(!i)Pn("missing / (unclosed regex)",{row:this.row,col:this.col});let e=u.length,[a]=_l.exec(this.chunk.slice(e)),c=e+a.length;if(!ut.test(a))Pn(`invalid regular expression flags ${a}`,{row:this.row,col:this.col+e,len:a.length});return this.emit("REGEX",`/${t}/${a}`,{len:c,data:{delimiter:"/"}}),c}jsToken(){if(this.chunk[0]!=="`")return 0;let n=rt.exec(this.chunk)||at.exec(this.chunk);if(!n)return 0;let l=n[1],u=n[0].length;return this.emit("JS",l,{len:u,data:{here:n[0].startsWith("```")}}),u}wordLiteral(){if(this.chunk[0]!=="%"||this.chunk[1]!=="w")return 0;let n=this.chunk[2];if(!n||/\s/.test(n))return 0;let u={"[":"]","(":")","{":"}","<":">"}[n]||n,t=u!==n,i=1,f=3;while(f<this.chunk.length&&i>0){let r=this.chunk[f];if(r==="\\"){f+=2;continue}if(t&&r===n)i++;if(r===u)i--;if(i>0)f++}if(i!==0)return 0;let e=this.chunk.slice(3,f),a=f+1,c=[];if(e.trim()){let r=e.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 l=/^((?:(?!\s)[$\w\x7f-\uffff])+)/.exec(this.chunk.slice(1));if(!l)return 0;let u=l[1],t=u.length+1;return this.emit("SYMBOL",u,{len:t}),t}literalToken(){let n=this.wordLiteral();if(n)return n;let l=this.symbolToken();if(l)return l;let u=ju.exec(this.chunk),t=u?u[0]:this.chunk.charAt(0),i=t,f=this.prev();if(xu.test(t))this.tagParameters();if(t==="="&&f&&f[1]==="."&&!f.spaced){let e=this.tokens,a=e.length-2;while(a>=1&&e[a][0]==="PROPERTY"&&e[a-1]?.[1]===".")a-=2;if(a>=0&&(e[a][0]==="IDENTIFIER"||e[a][0]===")"||e[a][0]==="]")){let c=e.slice(a,e.length-1);f[0]="=",f[1]="=";for(let r of c)this.tokens.push(Xi(r[0],r[1],{pre:0,row:r[2],col:r[3],len:r[4]}));return this.tokens.push(Xi(".",".",{pre:0,row:this.row,col:this.col,len:1})),t.length}}if(f&&(t==="="||ol.has(t))){if(t==="="&&(f[1]==="||"||f[1]==="&&"||f[1]==="??")&&!f.spaced)return f[0]="COMPOUND_ASSIGN",f[1]+="=",t.length}if(t==="("&&f?.[0]==="IMPORT")f[0]="DYNAMIC_IMPORT";if(t==="{"&&this.seenImport)this.importSpecifierList=!0;if(t==="}"&&this.importSpecifierList)this.importSpecifierList=!1;if(t==="{"&&f?.[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==="*>"&&(!f||f[0]==="TERMINATOR"||f[0]==="INDENT"||f[0]==="OUTDENT")&&(/^[a-zA-Z_$]/.test(this.chunk[2]||"")||this.chunk[2]==="@")){let e=this.chunk.slice(2),a=/^@(\s*)=(?!=)/.exec(e);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(e);if(c){let r=c[1],h=c[2],o=r[0]==="@",s=o?r.slice(1):r,w=s?s.split("."):[],m=()=>{if(o){if(this.emit("@","@"),w.length>0)this.emit("PROPERTY",w[0])}else this.emit("IDENTIFIER",w[0]);for(let _=1;_<w.length;_++)this.emit(".","."),this.emit("PROPERTY",w[_])};m(),this.emit("=","="),this.emit("IDENTIFIER","Object"),this.emit(".","."),this.emit("PROPERTY","assign"),this.emit("CALL_START","("),m(),this.emit("COMPOUND_ASSIGN","??="),this.emit("{","{"),this.emit("}","}"),this.emit(",",",");let y=this.prev();return y.mergeClose=!0,2+r.length+h.length+1}}else if(t==="*"&&f?.[0]==="EXPORT")i="EXPORT_ALL";else if(Pu.has(t))i="MATH";else if(Iu.has(t))i="COMPARE";else if(ol.has(t))i="COMPOUND_ASSIGN";else if(vu.has(t))i="UNARY_MATH";else if(Bu.has(t))i="SHIFT";else if(t==="?"&&f?.spaced)i="TERNARY";else if(t==="?!"&&f&&!f.spaced)i="PRESENCE";else if(t==="?"&&(this.chunk[1]==="["||this.chunk[1]==="("))i="?.";else if(f){if(t==="("&&!f.spaced&&bi.has(f[0])){if(f[0]==="?.")f[0]="ES6_OPTIONAL_CALL";i="CALL_START"}if(t==="["&&!f.spaced&&Ni.has(f[0])){if(i="INDEX_START",f[0]==="?.")f[0]="ES6_OPTIONAL_INDEX"}}if(this.inTypeAnnotation&&(t==="="||i==="COMPOUND_ASSIGN"))this.inTypeAnnotation=!1;if(t==="="){let e=this.tokens.length;if(e>=2&&this.tokens[e-1][0]==="IDENTIFIER"&&this.tokens[e-2][0]==="IDENTIFIER"&&this.tokens[e-2][1]==="type"&&(e===2||this.tokens[e-3][0]==="TERMINATOR"||this.tokens[e-3][0]==="INDENT"||this.tokens[e-3][0]==="OUTDENT"||this.tokens[e-3][0]==="EXPORT"))this.inTypeAnnotation=!0}if(t==="("||t==="{"||t==="[")this.ends.push({tag:Gu[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,f=t-1,e=-1;while(f>=0){let a=this.tokens[f],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"){if(f>0&&this.tokens[f-1][0]===")")e=f-1;break}if(c==="TERMINATOR"||c==="INDENT"||c==="OUTDENT"||c==="="||c==="->"||c==="=>")break}f--}if(e<0)return this.tagDoIife();n=e}let l=n,u=[];this.tokens[l][0]="PARAM_END";while(l-- >0){let t=this.tokens[l];if(t[0]===")")u.push(t);else if(t[0]==="("||t[0]==="CALL_START")if(u.length)u.pop();else if(t[0]==="(")return t[0]="PARAM_START",this.tagDoIife(l-1);else{this.tokens[n][0]="CALL_END";return}}}tagDoIife(n){let l=this.tokens[n??this.tokens.length-1];if(l?.[0]==="DO")l[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 l=0;l<n.length;l++){if(n[l][0]!=="MATH"||n[l][1]!=="*")continue;let u=n[l+1];if(!u||u[0]!=="{")continue;if(n[l].spaced||n[l].newLine)continue;let t=n[l-1];if(t&&Ni.has(t[0]))continue;n.splice(l,1),n[l][0]="MAP_START";let i=1;for(let f=l+1;f<n.length&&i>0;f++){let e=n[f][0];if(e==="{"||e==="MAP_START")i++;if(e==="}"){if(i--,i===0)n[f][0]="MAP_END"}}}}rewriteDottedPicks(){let n=this.tokens;for(let l=0;l<n.length;l++){let u=n[l][0];if(u!=="."&&u!=="?.")continue;let t=n[l+1];if(!t||t[0]!=="{")continue;if(n[l].spaced||n[l].newLine)continue;let i=n[l-1];if(!i||!Ni.has(i[0]))continue;let f=u==="?.";n.splice(l,1),n[l][0]=f?"OPTPICK_START":"PICK_START";let e=1;for(let a=l+1;a<n.length&&e>0;a++){let c=n[a][0];if(c==="{"||c==="PICK_START"||c==="OPTPICK_START")e++;else if(c==="}"){if(e--,e===0){n[a][0]="PICK_END";break}}}}}closeOpenCalls(){this.scanTokens((n,l)=>{if(n[0]==="CALL_START")this.detectEnd(l+1,(u)=>u[0]===")"||u[0]==="CALL_END",(u)=>u[0]="CALL_END");return 1})}closeOpenIndexes(){this.scanTokens((n,l)=>{if(n[0]==="INDEX_START")this.detectEnd(l+1,(u)=>u[0]==="]"||u[0]==="INDEX_END",(u,t)=>{if(this.tokens[t+1]?.[0]===":")n[0]="[",u[0]="]";else u[0]="INDEX_END"});return 1})}normalizeLines(){let n=null,l=null,u=null,t=(f,e)=>{return f[1]!==";"&&Xu.has(f[0])&&!(f[0]==="TERMINATOR"&&rl.has(this.tokens[e+1]?.[0]))&&!(f[0]==="ELSE"&&n!=="THEN")||f[0]==="INDENT"&&!f.generated&&(n==="->"||n==="=>")||f[0]===","&&(n==="->"||n==="=>"||n==="THEN"||n==="ELSE")&&!this.commaInImplicitCall(e)&&!this.commaInImplicitObject(e)||hl.has(f[0])&&(this.tokens[e-1]?.newLine||this.tokens[e-1]?.[0]==="OUTDENT")},i=(f,e)=>{let a=this.tokens[e-1]?.[0]===","?e-1:e;this.tokens.splice(a,0,u)};this.scanTokens((f,e,a)=>{let[c]=f;if(c==="TERMINATOR"){if(this.tokens[e+1]?.[0]==="ELSE"&&this.tokens[e-1]?.[0]!=="OUTDENT")return a.splice(e,1,...this.makeIndentation()),1;if(rl.has(this.tokens[e+1]?.[0]))return a.splice(e,1),0}if(c==="CATCH")for(let r=1;r<=2;r++){let h=this.tokens[e+r]?.[0];if(h==="OUTDENT"||h==="TERMINATOR"||h==="FINALLY")return a.splice(e+r,0,...this.makeIndentation()),2+r}if((c==="->"||c==="=>")&&(this.tokens[e+1]?.[0]===","||this.tokens[e+1]?.[0]==="]"))return[l,u]=this.makeIndentation(),a.splice(e+1,0,l,u),1;if(cl.has(c)&&this.tokens[e+1]?.[0]!=="INDENT"&&!(c==="ELSE"&&this.tokens[e+1]?.[0]==="IF")&&!(c==="ELSE"&&this.tokens[e-1]?.[0]!=="OUTDENT")){if(n=c,[l,u]=this.makeIndentation(),c==="THEN")l.fromThen=!0;if(a.splice(e+1,0,l),c==="THEN"&&this.singleLineOwner(e)==="LEADING_WHEN")this.detectWhenThenEnd(e+2,t,i);else this.detectEnd(e+2,t,i);if(c==="THEN")a.splice(e,1);return 1}return 1})}singleLineOwner(n){let l=new Set(["LEADING_WHEN","IF","POST_IF","UNLESS","POST_UNLESS","ELSE","CATCH","TRY","FINALLY","->","=>"]);for(let u=n-1;u>=0;u--){let t=this.tokens[u],i=t?.[0];if(l.has(i))return i;if(hi.has(i)||t?.newLine)return null}return null}detectWhenThenEnd(n,l,u){let t=0,i=0;while(n<this.tokens.length){let f=this.tokens[n],e=f[0];if(t===0){if(e==="THEN"&&this.singleLineOwner(n)!=="LEADING_WHEN")i++;else if(e==="ELSE"&&i>0)i--;else if(l.call(this,f,n))return u.call(this,f,n)}if(Vn.has(e))t++;if(vn.has(e))t--;if(t<0)return u.call(this,f,n);n++}}tagPostfixConditionals(){let n=null,l=(t,i)=>{return t[0]==="TERMINATOR"||t[0]==="INDENT"&&!cl.has(this.tokens[i-1]?.[0])},u=(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,l,u),1})}rewriteTaggedTemplates(){let n=this.tokens;for(let l=n.length-2;l>=0;l--)if(n[l][0]==="IDENTIFIER"&&n[l][1]==="$"&&(n[l+1]?.[0]==="STRING"||n[l+1]?.[0]==="STRING_START")){let u=n[l-1];if(u&&Zu.has(u[0])){if(n.splice(l,1),u.spaced=!1,n[l].spaced=!1,n[l].pre=0,n[l].newLine)n[l].newLine=!1}}}addImplicitBracesAndParens(){let n=[],l=!1;this.scanTokens((u,t,i)=>{let[f]=u,e=i[t-1]||[],a=i[t+1]||[],[c]=e,[r]=a,h=t,o=(q)=>t-h+q,s=()=>n[n.length-1],w=(q)=>q?.[2]?.ours,m=()=>w(s())&&s()?.[0]==="(",y=()=>w(s())&&s()?.[0]==="{",_=(q)=>{n.push(["(",q,{ours:!0}]),i.splice(q,0,On("CALL_START","("))},R=()=>{n.pop(),i.splice(t,0,On("CALL_END",")")),t+=1},d=(q,Y={})=>{n.push(["{",q,{sameLine:!0,startsLine:Y.startsLine??!0,ours:!0}]);let H=On("{","{");if(!H.data)H.data={};H.data.generated=!0,i.splice(q,0,H)},A=(q)=>{q=q??t,n.pop(),i.splice(q,0,On("}","}")),t+=1},D=f==="FOR"&&!u.newLine&&Nu.has(c);if((m()||y())&&bu.has(f)&&!D)return n.push(["CONTROL",t,{ours:!0}]),o(1);if(f==="INDENT"&&w(s())){if(c!=="=>"&&c!=="->"&&c!=="["&&c!=="("&&c!==","&&c!=="{"&&c!=="ELSE"&&c!=="=")while(m()||y()&&c!==":")if(m())R();else A();if(s()?.[2]?.ours&&s()[0]==="CONTROL")n.pop();return n.push([f,t]),o(1)}if(Vn.has(f))return n.push([f,t]),o(1);if(vn.has(f)){while(w(s()))if(m())R();else if(y())A();else n.pop();n.pop()}let M=!1;if(r==="-"&&!a.spaced&&!a.newLine&&fi(u))for(let q=t;q<i.length-2;q+=2){if(!Zi(i[q+1],i[q+2]))break;if(!fi(i[q+2]))break;if(i[q+3]?.[0]===":"){M=!0;break}}if(!M&&ae.has(f)&&u.spaced&&(Gi.has(r)||r==="..."&&Gi.has(i[t+2]?.[0])||Wu.has(r)&&!a.spaced&&!a.newLine)&&!((f==="]"||f==="}")&&(r==="->"||r==="=>")))return _(t+1),o(2);if(ae.has(f)&&this.tokens[t+1]?.[0]==="INDENT"&&this.looksObjectish(t+2)&&!this.findTagsBackwards(t,["CLASS","EXTENDS","IF","CATCH","SWITCH","LEADING_WHEN","FOR","WHILE","UNTIL"]))return _(t+1),n.push(["INDENT",t+2]),o(3);if(f==="TERNARY")l=!0;if(f===":"){if(l)return l=!1,o(1);if(fi(i[t-1])&&Zi(i[t-2],i[t-1])){let H=t-2;while(H>=2&&Zi(i[H],i[H+1])&&fi(i[H-1]))H-=2;if(H+=1,fi(i[H])){let g="";for(let p=H;p<t;p++)g+=i[p][1];let v=On("STRING",`"${g}"`,i[H]);v.pre=i[H].pre,v.spaced=i[H].spaced,v.newLine=i[H].newLine,v.loc=i[H].loc,i.splice(H,t-H,v),t=H+1}}let q=vn.has(this.tokens[t-1]?.[0])?n[n.length-1]?.[1]??t-1:t-1;if(this.tokens[t-2]?.[0]==="@")q=t-2;let Y=q<=0||hi.has(this.tokens[q-1]?.[0])||this.tokens[q-1]?.newLine;if(s()){let[H,g]=s(),v=n[n.length-2],p=(b)=>b==="{"||b==="MAP_START"||b==="PICK_START"||b==="OPTPICK_START";if((p(H)||H==="INDENT"&&p(v?.[0])&&!w(v))&&(Y||this.tokens[q-1]?.[0]===","||p(this.tokens[q-1]?.[0])||p(this.tokens[q]?.[0])))return o(1)}return d(q,{startsLine:!!Y}),o(2)}if(hi.has(f))for(let q=n.length-1;q>=0;q--){if(!w(n[q]))break;if(n[q][0]==="{")n[q][2].sameLine=!1}let U=c==="OUTDENT"||e.newLine,S=f==="||"||f==="&&"||f==="??",F=!1;if(S){let q=t+1,Y=i[q]?.[0];if(Y==="("||Y==="["||Y==="{"){for(let H=1;++q<i.length&&H>0;)if(Y=i[q][0],Y==="("||Y==="["||Y==="{")H++;else if(Y===")"||Y==="]"||Y==="}")H--}else if(Y&&Y!=="TERMINATOR"&&Y!=="OUTDENT"&&Y!==",")q++;F=i[q]?.[0]===","}let W=(q)=>{for(let Y=0;q<i.length;q++){let H=i[q][0];if(H==="("||H==="["||H==="{"||H==="CALL_START"||H==="INDEX_START"||H==="INDENT")Y++;else if(H===")"||H==="]"||H==="}"||H==="CALL_END"||H==="INDEX_END"||H==="OUTDENT"){if(Y===0)return!1;Y--}else if(H==="TERMINATOR"&&Y===0)return this.looksObjectish(q+1)}return!1};if(Ju.has(f)&&!F||hl.has(f)&&U)while(w(s())){let[q,,{sameLine:Y,startsLine:H}]=s();if(m()&&c!==",")R();else if(y()&&!S&&Y&&f!=="TERMINATOR"&&c!==":"&&!((f==="POST_IF"||f==="POST_UNLESS")&&W(t+1)))A();else if(y()&&f==="TERMINATOR"&&c!==","&&!(H&&this.looksObjectish(t+1)))A();else if(s()?.[2]?.ours&&s()[0]==="CONTROL"&&i[s()[1]]?.[0]==="CLASS"&&f==="TERMINATOR")n.pop();else break}if(f===","&&!this.looksObjectish(t+1)&&y()&&(r!=="TERMINATOR"||!this.looksObjectish(t+2))){let q=r==="OUTDENT"?1:0;while(y())A(t+q)}return o(1)})}addImplicitCallCommas(){let n=0,l=0,u=this.tokens;while(l<u.length){let t=u[l][0],i=l>0?u[l-1][0]:null;if(t==="CALL_START"||t==="(")n++;if(t==="CALL_END"||t===")")n--;if(n>0&&(t==="->"||t==="=>")&&Yu.has(i))u.splice(l,0,On(",",",")),l++;l++}}scanTokens(n){let l=0;while(l<this.tokens.length)l+=n.call(this,this.tokens[l],l,this.tokens)}detectEnd(n,l,u,t={}){let i=0;while(n<this.tokens.length){let f=this.tokens[n];if(i===0&&l.call(this,f,n))return u.call(this,f,n);if(Vn.has(f[0]))i++;if(vn.has(f[0]))i--;if(i<0){if(t.returnOnNegativeLevel)return;return u.call(this,f,n)}n++}}closeMergeAssignments(){let n=this.tokens;for(let l=0;l<n.length;l++){if(!n[l].mergeClose)continue;let u=0;for(let t=l+1;t<n.length;t++){let i=n[t][0];if(i==="("||i==="["||i==="{"||i==="CALL_START"||i==="INDEX_START"||i==="INDENT")u++;if(i===")"||i==="]"||i==="}"||i==="CALL_END"||i==="INDEX_END"||i==="OUTDENT")u--;if(u<0||u===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 l=0;for(let u=n-1;u>=0;u--){let t=this.tokens[u][0];if(vn.has(t)){l++;continue}if(Vn.has(t)){if(t==="INDENT")return!1;if(l--,l<0)return!1;continue}if(l>0)continue;if(ae.has(t)&&this.tokens[u].spaced){let i=this.tokens[u+1]?.[0];return Gi.has(i)||i==="..."&&Gi.has(this.tokens[u+2]?.[0])}}return!1}commaInImplicitObject(n){let l=0;for(let u=n-1;u>=0;u--){let t=this.tokens[u][0];if(vn.has(t)){l++;continue}if(Vn.has(t)){if(l--,l<0)return!1;continue}if(l>0)continue;if(t===":"&&u>0&&this.tokens[u-1][0]==="PROPERTY")return this.looksObjectish(n+1);if(hi.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(fi(this.tokens[n]))for(let l=n+1;l<this.tokens.length;l+=2){if(!Zi(this.tokens[l],this.tokens[l+1]))break;if(!fi(this.tokens[l+1]))break;if(this.tokens[l+2]?.[0]===":")return!0}if(Vn.has(this.tokens[n]?.[0])){let l=null;if(this.detectEnd(n+1,(u)=>vn.has(u[0]),(u,t)=>l=t),l&&this.tokens[l+1]?.[0]===":")return!0}return!1}findTagsBackwards(n,l){let u=new Set(l),t=[];while(n>=0){let i=this.tokens[n]?.[0];if(!t.length&&u.has(i))return!0;if(vn.has(i))t.push(i);if(Vn.has(i)&&t.length)t.pop();if(!t.length&&(Vn.has(i)&&!this.tokens[n]?.generated||hi.has(i)))break;n--}return!1}makeIndentation(n){let l=On("INDENT",2),u=On("OUTDENT",2);if(n)l.generated=u.generated=!0,l.origin=u.origin=n;else l.explicit=u.explicit=!0;return[l,u]}}fl(Cn);Ji(Cn);var ot=["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"],yl=new Set(ot);var wt=["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 _t=["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"],mt=["math","param","portal"],Al=new Set([...wt,...mt]),pn=new Set(_t),ui=new Set([...Al,...pn]);var Dl="__bind_",Rl="__",ce=new Set(["beforeMount","mounted","beforeUnmount","unmounted","onError"]),Ml="{ status?: number; message?: string; error?: Error; path?: string }",yt=new Set(["disabled","hidden","readonly","required","checked","selected","autofocus","autoplay","controls","loop","muted","multiple","novalidate","open","reversed","defer","async","formnovalidate","allowfullscreen","inert"]),he="http://www.w3.org/2000/svg";function At(n){for(let l of n){if(!Array.isArray(l))continue;let u=l[1]instanceof String?l[1].valueOf():l[1],t=l[2]instanceof String?l[2].valueOf():l[2];if(u==="type"&&typeof t==="string")return t.replace(/^["']|["']$/g,"")}return null}function Ln(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 se(n){return Array.isArray(n)&&n[0]==="."&&n[1]==="this"}function Ui(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 dl(n){let l=[];while(Array.isArray(n)&&n[0]==="."){let u=n[2];if(!(typeof u==="string"||u instanceof String))return null;l.unshift(u.valueOf()),n=n[1]}if(typeof n==="string"||n instanceof String)l.unshift(n.valueOf());else return null;return l}function Dt(n){let l,u=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"};u=n[0],l=n[1]}let t=dl(u);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:l}}function Rt(n){let l={error:"a keyed gate key may only reference params or query (e.g. params.id)"},u=typeof n==="string"||n instanceof String?n.valueOf():null;if(u!=null){if(/^-?[\d.]/.test(u)||u.startsWith('"')||u.startsWith("'"))return{code:u,stubCode:u};return l}let t=dl(n);if(!t)return l;if(t[0]==="this")t.shift();if(t[0]!=="params"&&t[0]!=="query"||t.length<2)return l;let i=t.join(".");return{code:i,stubCode:`this.${i}`}}function Ul(n,l){let u=(r,h)=>r instanceof String?r[h]:void 0,t=l.prototype.classifyKeyword;l.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 m=this.tokens[w][0];if(m==="OUTDENT")s++;else if(m==="INDENT")s--;if(s<0&&this.tokens[w-1]?.[0]==="COMPONENT")return r.toUpperCase()}return h}return t.call(this,r,h,o)},l.prototype.rewriteRender=function(){let r=(A,D,M)=>{let U=[A,D];if(U.pre=0,U.data=null,U.loc=M?.loc??{r:0,c:0,n:0},U.spaced=!1,U.newLine=!1,U.generated=!0,M)U.origin=M;return U},h=!1,o=0,s=0,w=[],m=(A)=>{let D=A.split("#")[0];return ui.has(D)},y=(A)=>{if(!A||typeof A!=="string")return!1;return/^[A-Z][A-Za-z0-9]*[a-z][A-Za-z0-9]*$/.test(A)},_=(A)=>{return m(A)||y(A)},R=(A,D,M,U)=>{let S=1,F=D;while(F>=0&&S>0){let W=A[F][0];if(W===M)S++;else if(W===U)S--;if(S>0)F--}return F},d=(A,D)=>{let M=D;while(M>0&&A[M][0]==="OUTDENT")M=R(A,M-1,"OUTDENT","INDENT");while(M>0){let U=A[M-1][0];if(U==="TERMINATOR"||U==="RENDER")break;if(U==="OUTDENT"){M=R(A,M-2,"OUTDENT","INDENT");continue}if(U==="INDENT"){let S=A[M][0];if(S==="CALL_END"||S===")"){M=R(A,M-1,S,S==="CALL_END"?"CALL_START":"(");continue}break}if(U==="CALL_END"||U===")"){M=R(A,M-2,U,U==="CALL_END"?"CALL_START":"(");continue}if(U==="INTERPOLATION_END"){M=R(A,M-2,"INTERPOLATION_END","INTERPOLATION_START");continue}if(U==="STRING_END"){M=R(A,M-2,"STRING_END","STRING_START");continue}M--}return A[M]&&A[M][0]==="IDENTIFIER"&&(_(A[M][1])||(M===0||A[M-1][0]==="INDENT"||A[M-1][0]==="TERMINATOR"||A[M-1][0]==="RENDER"))};this.scanTokens(function(A,D,M){let U=A[0],S=D<M.length-1?M[D+1]:null;if(U==="RENDER")return h=!0,o=s+1,1;if(U==="INDENT")return s++,1;if(U==="OUTDENT"){s--;let F=0;while(w.length>0&&w[w.length-1]>s){let W=r("CALL_END",")",A);M.splice(D+1+F,0,W),w.pop(),F++}if(h&&s<o)h=!1;return 1+F}if(!h)return 1;if(U==="="&&D>0){let F=M[D-1][0];if(F==="TERMINATOR"||F==="INDENT"||F==="RENDER"){let W=r("IDENTIFIER","__text__",A),q=r("CALL_START","(",A);return M.splice(D,1,W,q),this.detectEnd(D+2,(Y)=>Y[0]==="TERMINATOR"||Y[0]==="OUTDENT",(Y,H)=>M.splice(H,0,r("CALL_END",")",Y)),{returnOnNegativeLevel:!0}),2}}if(U==="UNARY_MATH"&&A[1]==="~"&&S&&S[0]==="IDENTIFIER"){A[0]="PROPERTY",A[1]="__transition__";let F=r(":",":",A),W=r("STRING",`"${S[1]}"`,S);return M.splice(D+1,1,F,W),1}if(U==="PROPERTY"&&A[1][0]==="$"&&A[1].length>1)return A[0]="STRING",A[1]=`"data-${A[1].slice(1)}"`,1;if(U==="IDENTIFIER"&&!A.spaced){let F=[A[1]],W=D+1;while(W+1<M.length){let q=M[W],Y=M[W+1];if(q[0]==="-"&&!q.spaced&&(Y[0]==="IDENTIFIER"||Y[0]==="PROPERTY")){if(F.push(Y[1]),W+=2,Y[0]==="PROPERTY")break}else break}if(F.length>1&&W>D+1&&M[W-1][0]==="PROPERTY"){let q=F.join("-");if(q[0]==="$")q="data-"+q.slice(1);return A[0]="STRING",A[1]=`"${q}"`,M.splice(D+1,W-D-1),1}}if(U==="."){let F=D>0?M[D-1]:null,W=F?F[0]:null;if(W==="INDENT"||W==="TERMINATOR"){if(S&&S[0]==="PROPERTY"){let q=D+2<M.length?M[D+2]:null;if(!q||q[0]!==":"){let Y=r("IDENTIFIER","div",A);return M.splice(D,0,Y),2}}if(!S||S[0]!=="(")return A[0]="IDENTIFIER",A[1]="div",0}}if(U==="IDENTIFIER"||U==="PROPERTY"){let F=M[D+1],W=M[D+2];if(F&&F[0]==="#"&&W&&(W[0]==="PROPERTY"||W[0]==="IDENTIFIER")){if(A[1]=A[1]+"#"+W[1],W.spaced)A.spaced=!0;return M.splice(D+1,2),0}}if(U==="BIND"){let F=D>0?M[D-1]:null,W=M[D+1];if(F&&(F[0]==="IDENTIFIER"||F[0]==="PROPERTY")&&W&&W[0]==="IDENTIFIER")return F[1]=`__bind_${F[1]}__`,A[0]=":",A[1]=":",1}if(U==="@"){let F=D+1;if(F<M.length&&M[F][0]==="PROPERTY"){F++;while(F+1<M.length&&M[F][0]==="."&&M[F+1][0]==="PROPERTY")F+=2;if(F>D+2&&F<M.length&&M[F][0]===":"){let W=r("[","[",A);M.splice(D,0,W);let q=r("]","]",M[F+1]);return M.splice(F+1,0,q),2}}}if(U==="."&&S&&S[0]==="("){let F=D>0?M[D-1]:null,W=F?F[0]:null,q=W==="INDENT"||W==="TERMINATOR",Y=r("PROPERTY","__clsx",A);S[0]="CALL_START";let H=1;for(let g=D+2;g<M.length&&H>0;g++)if(M[g][0]==="("||M[g][0]==="CALL_START")H++;else if(M[g][0]===")"){if(H--,H===0)M[g][0]="CALL_END"}else if(M[g][0]==="CALL_END")H--;if(q){let g=r("IDENTIFIER","div",A);return M.splice(D,0,g),M.splice(D+2,0,Y),3}else if(W===":")return M[D]=r("IDENTIFIER","__clsx",A),1;else return M.splice(D+1,0,Y),2}if(S&&S[0]==="INDENT"){if(S.fromThen)return 1;if(U==="->"||U==="=>"||U==="CALL_START"||U==="(")return 1;let F=!1,W=D>0?M[D-1][0]:null,q=W==="IF"||W==="UNLESS"||W==="WHILE"||W==="UNTIL"||W==="WHEN"||W==="FORIN"||W==="FOROF"||W==="FORAS"||W==="FORASAWAIT"||W==="BY",Y=!1;if(U==="CALL_END"){let g=1;for(let v=D-1;v>=0&&g>0;v--)if(M[v][0]==="CALL_END")g++;else if(M[v][0]==="CALL_START"){if(g--,g===0&&v>0&&M[v-1][0]==="PROPERTY"&&M[v-1][1]==="__clsx")Y=!0}}let H=U==="IDENTIFIER"&&(W==="INDENT"||W==="TERMINATOR"||W==="RENDER");if(Y)F=!0;else if(U==="IDENTIFIER"&&_(A[1])&&!q)F=!0;else if(U==="IDENTIFIER"&&!q)F=H||d(M,D);else if(U==="PROPERTY"||U==="STRING"||U==="STRING_END"||U==="NUMBER"||U==="BOOL"||U==="CALL_END"||U===")"||U==="]"||U==="INDEX_END"||U==="}"||U==="MAP_END"||U==="PRESENCE")F=d(M,D);if(F){let g=!1;if(U==="PROPERTY"&&D>0&&M[D-1][0]==="."){let p=D;while(p>=2&&M[p-1][0]==="."&&M[p-2][0]==="PROPERTY")p-=2;if(p>=2&&M[p-1][0]==="."&&M[p-2][0]==="IDENTIFIER"&&_(M[p-2][1])){let b=p>=3?M[p-3][0]:null;if(!b||b==="INDENT"||b==="OUTDENT"||b==="TERMINATOR"||b==="RENDER")g=!0}}if(Y||U==="IDENTIFIER"&&(_(A[1])||H)||g){let p=r("CALL_START","(",A),b=r("->","->",A);return b.newLine=!0,M.splice(D+1,0,p,b),w.push(s+1),3}else{let p=r(",",",",A),b=r("->","->",A);return b.newLine=!0,M.splice(D+1,0,p,b),3}}}if(U==="IDENTIFIER"&&y(A[1])&&S&&(S[0]==="OUTDENT"||S[0]==="TERMINATOR"))return M.splice(D+1,0,r("CALL_START","(",A),r("CALL_END",")",A)),3;return 1})};let i=n.prototype;i.isHtmlTag=function(r){let h=r.split("#")[0];return ui.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 y=o[2];if(typeof y==="string"||y instanceof String)h.unshift(y.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,m]=s.split("#");if(!w)w="div";return{tag:w,classes:h,id:m,base:o}};let f=(r)=>typeof r==="string"?r:r instanceof String?r.valueOf():null,e=(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=(_)=>{if(_==null)return null;if(!Array.isArray(_))return _?.loc?.r??null;if(_.loc?.r)return _.loc.r;if(_[0]?.loc?.r)return _[0].loc.r;for(let R of _){if(R?.loc?.r)return R.loc.r;if(Array.isArray(R)){let d=s(R);if(d!=null)return d}}return null},w=o.map(s);if(w.every((_)=>_==null))return r;let m=r.split(`
|
|
1872
|
-
|
|
1873
|
-
`)},i.transformComponentMembers=function(r,h=new Set){let o=this._self;if(!Array.isArray(r)){let s=f(r);if(s&&h.has(s))return r;if(s&&this.reactiveMembers&&this.reactiveMembers.has(s))return[".",[".",o,s],e(r,"value")];if(s&&this.componentMembers&&this.componentMembers.has(s))return[".",o,e(r,s)];return r}if(r[0]==="."&&r[1]==="this"&&f(r[2])!=null){let s=r[2],w=f(s);if(this.reactiveMembers&&this.reactiveMembers.has(w))return[".",[".",o,w],e(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 m of s){let y=f(Array.isArray(m)&&m[0]==="default"?m[1]:m);if(y)w.add(y)}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],m=Array.isArray(w)?this.transformComponentMembers(w,h):w,y=this.transformComponentMembers(s[2],h);return[s[0],m,y]}return this.transformComponentMembers(s,h)})];if(r[0]==="block"||r[0]==="program"){let s=new Set(h),w=[r[0]];for(let m=1;m<r.length;m++){let y=r[m];if(Array.isArray(y)&&y[0]==="="){let _=f(y[1]);if(_&&!(this.reactiveMembers&&this.reactiveMembers.has(_))){w.push(["=",y[1],this.transformComponentMembers(y[2],s)]),s.add(_);continue}}w.push(this.transformComponentMembers(y,s))}return w}return r.map((s)=>this.transformComponentMembers(s,h))},i.emitComponent=function(r,h,o,s){let[,w]=h,m=this.is(w,"block")?w.slice(1):[],y=[],_=[],R=[],d=[],A=[],D=[],M=[],U=[],S=[],F=null,W=new Set,q=new Set;for(let G of m){if(!Array.isArray(G))continue;let[O]=G;if(O==="offer"){if(G=G[1],!Array.isArray(G))continue;O=G[0];let Q=Ln(G[1]);if(Q)U.push(Q)}if(O==="accept"){let Q=typeof G[1]==="string"?G[1]:Ln(G[1]);if(Q)S.push(Q),W.add(Q),q.add(Q)}else if(O==="."&&G[1]==="this"&&Ln(G)){let Q=typeof G[2]==="string"||G[2]instanceof String?G[2].valueOf():null;if(Q){let X=Oi(G);y.push({name:Q,value:void 0,isPublic:!0,type:G[2]?.type||null,required:!X,optional:X,srcLine:G.loc?.r}),W.add(Q),q.add(Q)}}else if(O==="state"){let Q=Ln(G[1]);if(Q)y.push({name:Q,value:G[2],isPublic:se(G[1]),type:Ui(G[1]),optional:Oi(G[1]),srcLine:G.loc?.r}),W.add(Q),q.add(Q)}else if(O==="computed"){let Q=Ln(G[1]);if(Q)_.push({name:Q,expr:G[2],type:Ui(G[1]),srcLine:G.loc?.r}),W.add(Q),q.add(Q)}else if(O==="gate"){let Q=Ln(G[1]);if(Q){let X=Dt(G[2]);if(X.error)this.error(X.error,G);let E=null;if(X.keyExpr!==void 0){if(E=Rt(X.keyExpr),E.error)this.error(E.error,G)}R.push({name:Q,path:X.path,key:E,type:Ui(G[1]),srcLine:G.loc?.r}),W.add(Q),q.add(Q)}}else if(O==="readonly"){let Q=Ln(G[1]);if(Q)d.push({name:Q,value:G[2],isPublic:se(G[1]),type:Ui(G[1]),optional:Oi(G[1]),srcLine:G.loc?.r}),W.add(Q)}else if(O==="="){let Q=Ln(G[1]);if(Q)if(ce.has(Q))D.push({name:Q,value:G[2]});else{let X=G[2];if(Array.isArray(X)&&(X[0]==="->"||X[0]==="=>"))A.push({name:Q,func:X}),W.add(Q);else y.push({name:Q,value:X,isPublic:se(G[1]),type:Ui(G[1]),optional:Oi(G[1]),srcLine:G.loc?.r}),W.add(Q),q.add(Q)}}else if(O==="effect")M.push(G);else if(O==="render")F=G;else if(O==="object")for(let Q=1;Q<G.length;Q++){let X=G[Q];if(!Array.isArray(X))continue;let[,E,Z]=X;if(typeof E==="string"&&ce.has(E))D.push({name:E,value:Z});else if(typeof E==="string")A.push({name:E,func:Z}),W.add(E)}}if(R.length>0){if(!this._gateDecls)this._gateDecls=[];for(let{path:G,key:O,srcLine:Q}of R)this._gateDecls.push({path:G,keyed:!!O,line:(Q??0)+1})}let Y=new Map;for(let{name:G}of A)if(/^on[A-Z]/.test(G)&&!ce.has(G)){let O=G[2].toLowerCase()+G.slice(3);if(yl.has(O))Y.set(O,G)}let H=h[0]?.valueOf?.()??null,g=new Set;for(let{name:G,isPublic:O}of y)if(O)g.add(G);for(let{name:G,isPublic:O}of d)if(O)g.add(G);if(H)W.add("rest"),q.add("rest");let v=this.componentMembers,p=this.reactiveMembers,b=this._autoEventHandlers,ln=this._inheritsTag;if(this.componentMembers=W,this.reactiveMembers=q,this._autoEventHandlers=Y.size>0?Y:null,this._inheritsTag=H||null,this.options.stubComponents){let G=(N)=>N?N.replace(/::/g,":"):null,O=[],Q=this._componentTypeParams||"";O.push(`class ${Q}{`),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 X=new Set(D.map((N)=>N.name)),E=[];if(!X.has("beforeMount"))E.push("beforeMount?(): void;");if(!X.has("mounted"))E.push("mounted?(): void;");if(!X.has("beforeUnmount"))E.push("beforeUnmount?(): void;");if(!X.has("unmounted"))E.push("unmounted?(): void;");if(!X.has("onError"))E.push(`onError?(err: ${Ml}): void;`);if(E.length)O.push(" "+E.join(" "));O.push(" emit(_name: string, _detail?: any): void {}");let Z=[],fn=[];for(let{name:N,type:L,isPublic:C,required:en,optional:rn}of y){if(!C)continue;let un=G(L)||"any";if(rn??!en)Z.push(`${N}?: ${un}`),Z.push(`__bind_${N}__?: Signal<${un}>`);else fn.push(`({ ${N}: ${un}; __bind_${N}__?: Signal<${un}> } | { ${N}?: ${un}; __bind_${N}__: Signal<${un}> })`)}for(let{name:N,type:L,isPublic:C}of d){if(!C)continue;let en=G(L)||"any";Z.push(`${N}?: ${en}`)}{let N=fn.length>0?"":"?",L=[];if(Z.length)L.push(`{${Z.join("; ")}}`);L.push(...fn);let C=L.length?L.join(" & "):"{}";if(H)C+=` & __RipProps<'${H}'>`;O.push(` constructor(_props${N}: ${C}) {}`)}let k=(N)=>{let L=N?.valueOf?.()??N;if(typeof L!=="string")return null;if(L==="true"||L==="false")return"boolean";if(/^-?\d+(\.\d+)?$/.test(L))return"number";if(L.startsWith('"')||L.startsWith("'"))return"string";return null},tn=(N)=>{if(!Array.isArray(N)){if(typeof N==="string"||N instanceof String){let C=N.valueOf();return C==="this"||q.has(C)}return!1}let L=N[0]?.valueOf?.()??N[0];if(L==="->"||L==="=>")return!1;return N.some(tn)},cn=[];for(let{name:N,type:L,value:C,isPublic:en,optional:rn,srcLine:un}of y){let sn=G(L)||k(C),wn=C===void 0||(C?.valueOf?.()??C)==="undefined",Rn=sn?rn&&wn?`${sn} | undefined`:sn:null,An=un!=null?` // @rip-src:${un}`:"";if(!Rn&&!en&&!wn&&!tn(C))cn.push({name:N,value:C,marker:An});else O.push((Rn?` declare ${N}: Signal<${Rn}>;`:` declare ${N}: Signal<any>;`)+An)}if(H)O.push(` declare rest: Signal<__RipProps<'${H}'>>;`);for(let{name:N,type:L,value:C}of d){let en=G(L)||k(C);O.push(en?` declare ${N}: ${en};`:` declare ${N}: any;`)}for(let{name:N,path:L,key:C,type:en,srcLine:rn}of R){let un=G(en),sn=un?`: Computed<${un}>`:"",wn=C?`this.app.data.${L}(${C.stubCode})`:`this.app.data.${L}`,_n=rn!=null?` // @rip-src:${rn}`:"";O.push(` ${N}${sn} = __computed(() => __ripGate(${wn}));`+_n)}for(let{name:N,expr:L,type:C}of _){let en=G(C),rn=en?`: Computed<${en}>`:"";if(this.is(L,"block")){let un=this.transformComponentMembers(L),sn=this.emitFunctionBody(un);O.push(` ${N}${rn} = __computed(() => ${sn});`)}else{let un=this.emitInComponent(L,"value");O.push(` ${N}${rn} = __computed(() => ${un});`)}}for(let{name:N,value:L,marker:C}of cn){let en=this.emitInComponent(L,"value");O.push(` ${N} = __state(${en});`+C)}O.push(" _init(props) {");for(let{name:N,value:L,isPublic:C,srcLine:en}of d){let rn=this.emitInComponent(L,"value"),un=en!=null?` // @rip-src:${en}`:"";O.push((C?` this.${N} = props.${N} ?? ${rn};`:` this.${N} = ${rn};`)+un)}for(let{name:N,value:L,isPublic:C,required:en,type:rn,srcLine:un}of y){if(cn.some((wn)=>wn.name===N))continue;let sn=un!=null?` // @rip-src:${un}`:"";if(C&&(en||L===void 0))O.push(` this.${N} = __state(props.__bind_${N}__ ?? props.${N});`+sn);else if(C){let wn=this.emitInComponent(L,"value");O.push(` this.${N} = __state(props.__bind_${N}__ ?? props.${N} ?? ${wn});`+sn)}else{let wn=this.emitInComponent(L,"value");O.push(` this.${N} = __state(${wn});`+sn)}}for(let N of M){let L=N[2],C=this.containsAwait(L)?"async ":"";if(this.is(L,"block")){let en=this.transformComponentMembers(L),rn=this.emitFunctionBody(en);O.push(` __effect(${C}() => ${rn});`)}else{let en=this.emitInComponent(L,"value");O.push(` __effect(${C}() => { return ${en}; });`)}}O.push(" }");let on=new Map;for(let[N,L]of Y)on.set(L,N);if(F){let N=(L)=>{if(!Array.isArray(L))return;let C=L[0]?.valueOf?.()??L[0];if(typeof C==="string"&&C!=="object"&&C!=="switch"&&ui.has(C.split(/[.#]/)[0]))for(let en=1;en<L.length;en++){let rn=L[en],un=this.is(rn,"object")?rn:null;if(!un&&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")){un=rn[2][sn];break}}if(!un)continue;for(let sn=1;sn<un.length;sn++){let wn=un[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?.(),B=typeof Rn[2]==="string"?Rn[2]:Rn[2]?.valueOf?.();if(An&&B&&!on.has(B))on.set(B,An)}}}for(let en=1;en<L.length;en++)N(L[en])};N(F)}for(let{name:N,func:L}of A)if(Array.isArray(L)&&(L[0]==="->"||L[0]==="=>")){let[,C,en]=L;if((!C||Array.isArray(C)&&C.length===0)&&this.containsIt(en))C=["it"];let rn=Array.isArray(C)?C.map((Rn)=>this.formatParam(Rn)).join(", "):"",un=on.get(N);if(un&&Array.isArray(C)&&C.length>0){let Rn=C[0];if(!(Rn?.type||Rn instanceof String&&Rn.type)&&typeof(Rn?.valueOf?.()??Rn)==="string"){let B=Rn?.valueOf?.()??Rn;rn=rn.replace(B,`${B}: HTMLElementEventMap['${un}']`)}}let sn=this.reactiveMembers?this.transformComponentMembers(en):en,wn=this.containsAwait(en),_n=this.emitFunctionBody(sn,C||[]);_n=this.addBodyRipSrcMarkers(_n,en),O.push(` ${wn?"async ":""}${N}(${rn}) ${_n}`)}for(let{name:N,value:L}of D)if(Array.isArray(L)&&(L[0]==="->"||L[0]==="=>")){let[,C,en]=L,rn=Array.isArray(C)?C.map((_n)=>this.formatParam(_n)).join(", "):"";if(N==="onError"&&Array.isArray(C)&&C.length===1){let _n=C[0];if((typeof _n==="string"||_n instanceof String)&&!u(_n,"type"))rn=`${_n.valueOf()}: ${Ml}`}let un=this.reactiveMembers?this.transformComponentMembers(en):en,sn=this.containsAwait(en),wn=this.emitFunctionBody(un,C||[]);wn=this.addBodyRipSrcMarkers(wn,en),O.push(` ${sn?"async ":""}${N}(${rn}) ${wn}`)}if(F){let N=[],L=0,C=this.options.source?.split(`
|
|
1874
|
-
`),en=(B)=>typeof B==="string"&&/^["'`]\//.test(B)?`__ripRoute(${B})`:B,rn=/^[a-zA-Z_$][\w$]*$/,un=(B)=>typeof B==="string"&&rn.test(B)&&!/^(?:true|false|null|undefined)$/.test(B)&&!n.GENERATORS[B]&&!this._isInScopeValue(B),sn=(B,nn)=>{if(nn==null||!C)return nn;let zn=new RegExp(`(?<![\\w$.#@])${B}(?![\\w$])`);for(let Mn=nn;Mn<C.length;Mn++)if(C[Mn]&&zn.test(C[Mn]))return Mn;return nn},wn=(B,nn,zn)=>{let Mn=sn(B,nn);if(Mn!=null&&Mn===zn)return;N.push(` ({ ${B}: true });`+(Mn!=null?` // @rip-src:${Mn}`:""))},_n=(B,nn)=>{let zn=[],Mn=[];for(let P of B){let T=null;if(this.is(P,"object"))T=P;else if(Array.isArray(P)&&(P[0]==="->"||P[0]==="=>")&&this.is(P[2],"block")){let x=P[2].loc?.r??nn;for(let $=1;$<P[2].length;$++){let an=P[2][$];if(this.is(an,"object")){if(!T)T=an}else if(un(an))wn(an,x,nn)}}else if(un(P)){wn(P,nn,nn);continue}if(T)for(let x=1;x<T.length;x++){let $=T[x],[,an,j]=$,hn=$.loc?.r??T.loc?.r;if(Array.isArray(an)&&an[0]==="."&&an[1]==="this"){try{let yn=this.emitInComponent(j,"value");Mn.push({code:yn,srcLine:hn})}catch{}continue}if(typeof an==="string"&&an.startsWith("@")){try{let yn=this.emitInComponent(j,"value");Mn.push({code:yn,srcLine:hn})}catch{}continue}if(typeof an==="string")if(an.startsWith("__bind_")&&an.endsWith("__")){let yn=typeof j==="string"&&this.reactiveMembers?.has(j)?`this.${j}`:this.emitInComponent(j,"value");zn.push({code:`${an}: ${yn}`,srcLine:hn})}else{let yn=this.emitInComponent(j,"value"),mn=an==="href"?en(yn):yn;zn.push({code:`${an}: ${mn}`,srcLine:hn})}}}return zn.sideExprs=Mn,zn},Rn=(B,nn,zn)=>{let Mn=[],P=(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 B){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 $=T[2].loc?.r??zn;for(let an=1;an<T[2].length;an++){let j=T[2][an];if(this.is(j,"object")){if(!x)x=j}else if(un(j))wn(j,$,zn)}}else if(un(T)){wn(T,zn,zn);continue}if(x)for(let $=1;$<x.length;$++){let an=x[$];if(!Array.isArray(an)||an.length<2)continue;let[,j,hn]=an,yn=an.loc?.r??x.loc?.r;if(Array.isArray(j)&&j[0]==="."&&j[1]==="this"){let mn=typeof j[2]==="string"?j[2]:j[2]?.valueOf?.();if(!mn)continue;let qn=mn.split(".")[0],Wn=this.emitInComponent(hn,"value");if(Array.isArray(hn)&&(hn[0]==="->"||hn[0]==="=>")){let Gn=hn[1]?.[0],Jn=typeof Gn==="string"?Gn:Gn?.valueOf?.();if(Jn&&!(Gn&&Gn.type)&&/^[A-Za-z_$][\w$]*$/.test(Jn)){let Bn=`RipEvent<HTMLElementEventMap['${qn}'], __RipElementMap['${nn}']>`;Wn=Wn[0]==="("?Wn.replace(new RegExp("^\\(\\s*"+Jn+"\\b"),`(${Jn}: ${Bn}`):Wn.replace(new RegExp("^"+Jn+"\\b"),`(${Jn}: ${Bn})`)}}Mn.push({code:`'@${qn}': ${Wn}`,srcLine:yn})}else if(typeof j==="string"){if(j==="key"){let mn=this.emitInComponent(hn,"value"),qn=yn!=null?` // @rip-src:${yn}`:"";N.push(` (${mn});${qn}`);continue}if(j.startsWith("__bind_")&&j.endsWith("__")){let mn=j.slice(7,-2),qn=this.emitInComponent(hn,"value");Mn.push({code:`${mn}: ${qn}`,srcLine:yn})}else{let mn=this.emitInComponent(hn,"value"),qn=j==="href"?P(mn):mn;Mn.push({code:`${j}: ${qn}`,srcLine:yn})}}}}return Mn},An=(B)=>{if(!Array.isArray(B))return;let nn=B[0]?.valueOf?.()??B[0];if(Array.isArray(nn)&&nn[0]==="."){let P=[],T=(x)=>{if(typeof x==="string")return P.push(x),!0;if(Array.isArray(x)&&x[0]==="."&&P.length===0){if(!T(x[1]))return!1;if(typeof x[2]!=="string"||!/^[\w-]+$/.test(x[2]))return!1;return P.push(".",x[2]),!0}return!1};if(T(nn)&&P.length>=3&&/^[a-z][\w-]*$/.test(P[0])){let x=P.join(""),$=[x];for(let j=1;j<B.length;j++)$.push(B[j]);if(B.loc)$.loc=B.loc;$._astNode=B;let an=(j)=>{if(Array.isArray(j)&&j[0]==="."){if(j.loc)delete j.loc;an(j[1])}};an(nn),B=$,nn=x}}if(nn==="object")return;if(nn==="if"||nn==="unless"){let P=B[1];if(P!=null){let T=this.emitInComponent(P,"value"),x=B.loc?.r,$=x!=null?` // @rip-src:${x}`:"",an=nn==="unless"?`!(${T})`:T;if(N.push(` if (${an}) {${$}`),B[2]!=null)An(B[2]);let j=B.slice(3).filter((hn)=>hn!=null);if(j.length){N.push(" } else {");for(let hn of j)An(hn)}N.push(" }");return}}else if(nn==="?:"){let P=this.emitInComponent(B,"value"),T=B.loc?.r,x=T!=null?` // @rip-src:${T}`:"";N.push(` ${P};${x}`);return}else if(nn==="switch"){let P=B[1];if(P!=null){let T=this.emitInComponent(P,"value"),x=B.loc?.r,$=x!=null?` // @rip-src:${x}`:"";N.push(` ${T};${$}`)}}else if(nn==="for-in"||nn==="for-of"||nn==="for-as"){let P=B[1],T=B[2];if(T!=null){let x=this.emitInComponent(T,"value"),$=B.loc?.r,an=$!=null?` // @rip-src:${$}`:"",j;if(Array.isArray(P))if(P.length===1){let mn=P[0];j=Array.isArray(mn)?this.emitDestructuringPattern(mn):String(mn)}else if(nn==="for-of")j=`[${P.map((mn)=>String(mn)).join(", ")}]`;else j=String(P[0]);else j=String(P);if(nn==="for-of")N.push(` for (const ${j} of Object.entries(${x})) {${an}`);else N.push(` for (const ${j} of ${x}) {${an}`);let hn=(mn)=>typeof mn==="string"||mn instanceof String?String(mn):null,yn=Array.isArray(P)?{itemVar:hn(P[0]),indexVar:hn(P[1])}:{itemVar:hn(P),indexVar:null};(this._loopVarStack||(this._loopVarStack=[])).push(yn);for(let mn=3;mn<B.length;mn++)if(B[mn]!=null)An(B[mn]);this._loopVarStack.pop(),N.push(" }");return}}else if(nn==="__text__"){let P=B[1];if(P!=null){let T=this.emitInComponent(P,"value"),x=B.loc?.r,$=x!=null?` // @rip-src:${x}`:"";N.push(` ${T};${$}`)}return}else if(nn==="str"){try{let P=this.emitInComponent(B,"value"),T=B.loc?.r,x=T!=null?` // @rip-src:${T}`:"";N.push(` ${P};${x}`)}catch{}return}else if(nn==="."||nn==="?."){let P=B;while(Array.isArray(P)&&(P[0]==="."||P[0]==="?."))P=P[1];let T=typeof P==="string"?P:P?.valueOf?.();if(typeof T==="string"&&!this.isHtmlTag(T)&&!n.GENERATORS[T])try{let x=this.emitInComponent(B,"value"),$=B.loc?.r,an=$!=null?` // @rip-src:${$}`:"";N.push(` ${x};${an}`)}catch{}return}let zn=(P,T,x)=>{if(typeof P!=="string"||!/^[a-z][\w-]*$/.test(P))return;if(n.GENERATORS[P])return;if(P==="null"||P==="undefined"||P==="true"||P==="false")return;let $=T.loc?.r,an=null;if($!=null&&C){let hn=new RegExp(`\\b${P}\\b`,"g");for(let yn=$;yn<C.length;yn++){let mn=C[yn];if(!mn)continue;let qn=yn===T.loc.r?T.loc.c+1:0;hn.lastIndex=qn;let Wn,Gn=-1;while((Wn=hn.exec(mn))!==null){let Jn=Wn.index>0?mn[Wn.index-1]:"";if(Jn==="."||Jn==="#")continue;Gn=Wn.index;break}if(Gn>=0){$=yn,an=Gn;break}}}let j=$!=null?` // @rip-src:${$}`:"";if($!=null&&an!=null){let hn=T._astNode||T;if(!hn._anchors)hn._anchors=[];hn._anchors.push({name:P,origLine:$,origCol:an})}if(this.componentMembers&&this.componentMembers.has(P))N.push(` this.${P};${j}`);else if(this._isInScopeValue(P))N.push(` ${P};${j}`);else if(!x&&this.isHtmlTag(P))N.push(` __ripEl('${P}');${j}`)},Mn=typeof nn==="string"&&/^[a-z][\w-]*(?:[.#][\w-]+)*$/.test(nn)&&!n.GENERATORS[nn]&&ui.has(nn.split(/[.#]/)[0]);if(nn==="block")for(let P=1;P<B.length;P++)zn(B[P],B,!1);else if(typeof nn==="string"&&/^[A-Z]/.test(nn))for(let P=1;P<B.length;P++)zn(B[P],B,!0);else if(Mn){for(let P=1;P<B.length;P++)zn(B[P],B,!0);for(let P=1;P<B.length;P++){let T=B[P];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(ui.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 $=this.emitInComponent(T,"value"),an=T.loc?.r??B.loc?.r,j=an!=null?` // @rip-src:${an}`:"";N.push(` ${$};${j}`)}catch{}}}for(let P=1;P<B.length;P++)An(B[P]);if(typeof nn==="string"&&/^[A-Z]/.test(nn)){let P=_n(B.slice(1),B.loc?.r),T=`_${L++}`,x=`ConstructorParameters<typeof ${nn}>[0] & {}`;if(P.length===0){let $=B.loc?.r;N.push(` const ${T}: ${x} = {};`+($!=null?` // @rip-src:${$}`:""))}else if(P.length===1){let $=B.loc?.r??P[0].srcLine;N.push(` const ${T}: ${x} = {${P[0].code}};`+($!=null?` // @rip-src:${$}`:""))}else{let $=B.loc?.r;if(new Set(P.map((j)=>j.srcLine).filter((j)=>j!=null)).size<=1){let j=P[0].srcLine??$;N.push(` const ${T}: ${x} = {${P.map((hn)=>hn.code).join(", ")}};`+(j!=null?` // @rip-src:${j}`:""))}else{N.push(` const ${T}: ${x} = {`+($!=null?` // @rip-src:${$}`:""));for(let j of P)N.push(` ${j.code},`+(j.srcLine!=null?` // @rip-src:${j.srcLine}`:""));N.push(" };")}}if(P.sideExprs)for(let $ of P.sideExprs)N.push(` ${$.code};`+($.srcLine!=null?` // @rip-src:${$.srcLine}`:""))}else if(typeof nn==="string"&&!n.GENERATORS[nn]&&(ui.has(nn.split(/[.#]/)[0])||/^[a-z][\w-]*$/.test(nn)&&B.length>1)){let P=nn.split(/[.#]/)[0],T=pn.has(P)?"__ripSvgEl":"__ripEl",x=Rn(B.slice(1),P,B.loc?.r),$=B.loc?.r,an=$!=null?` // @rip-src:${$}`:"";if(x.length===0)N.push(` ${T}('${P}');${an}`);else if(x.length===1){let j=x[0].srcLine??$,hn=j!=null?` // @rip-src:${j}`:"";N.push(` ${T}('${P}', {${x[0].code}});${hn}`)}else if(new Set(x.map((hn)=>hn.srcLine).filter((hn)=>hn!=null)).size<=1){let hn=x[0].srcLine??$,yn=hn!=null?` // @rip-src:${hn}`:"";N.push(` ${T}('${P}', {${x.map((mn)=>mn.code).join(", ")}});${yn}`)}else{N.push(` ${T}('${P}', {${an}`);for(let hn of x)N.push(` ${hn.code},`+(hn.srcLine!=null?` // @rip-src:${hn.srcLine}`:""));N.push(" });")}}};if(An(F),N.length>0){O.push(" _render() {");for(let B of N)O.push(B);O.push(" }")}}return O.push("}"),this.componentMembers=v,this.reactiveMembers=p,this._autoEventHandlers=b,this._inheritsTag=ln,O.join(`
|
|
1875
|
-
`)
|
|
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(`
|
|
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
|
+
`)}_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,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""")}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,`
|
|
1867
|
+
`),n=n.replace(mt,""),/^[^\n\S]/.test(n))n=`
|
|
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]!==`
|
|
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
|
+
`);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(`
|
|
1876
1879
|
|
|
1877
1880
|
`)+`
|
|
1878
1881
|
|
|
1879
|
-
`;
|
|
1880
|
-
${
|
|
1882
|
+
`;Y.push(" _create() {");for(let J of O.createLines)Y.push(` ${J}`);if(this._fragChildren.has(O.rootVar))Y.push(` this._nodes = [...${O.rootVar}.childNodes];`);if(Y.push(` return ${O.rootVar};`),Y.push(" }"),O.setupLines.length>0){Y.push(" _setup() {");for(let J of O.setupLines)Y.push(` ${J}`);Y.push(" }")}}if(Y.push("}"),this.componentMembers=C,this.reactiveMembers=L,this._autoEventHandlers=X,this._inheritsTag=fn,Un)return`(() => {
|
|
1883
|
+
${Un}return ${Y.join(`
|
|
1881
1884
|
`)};
|
|
1882
|
-
})()`;return
|
|
1883
|
-
`)},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,m)=>w+(this._isRenderBinding(m)?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 m of h){let y=this.emitNode(m);if(y!=null)w=y}this._pendingAutoWire=!1,s=w}else{s=this.newElementVar("frag"),this._createLines.push(`${s} = document.createDocumentFragment();`);let w=[];for(let m of h){let y=this.emitNode(m);if(y==null)continue;this._createLines.push(`${s}.appendChild(${y});`),w.push(y)}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[y,_,R]=r,d=this.emitInComponent(R,"value");if(y==="=")(this._factoryMode?this._factoryVars:this._renderTopLocals).add(_),this._addRenderLocal(_);return this._createLines.push(`${_} ${y} ${d};`),null}if(typeof r==="string"||r instanceof String){let y=r.valueOf();if(y.startsWith('"')||y.startsWith("'")||y.startsWith("`")){let D=this.newTextVar();return this._createLines.push(`${D} = document.createTextNode(${y});`),D}if(this.reactiveMembers&&this.reactiveMembers.has(y)){let D=this.newTextVar();return this._createLines.push(`${D} = document.createTextNode('');`),this._pushEffect(`${D}.data = ${this._self}.${y}.value;`),D}if(this._isRenderLocal(y)){let D=this.newTextVar();return this._createLines.push(`${D} = document.createTextNode(String(${y}));`),D}if(y==="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[_,R]=y.split("#"),d=this.newElementVar(),A=_||"div";if(pn.has(A)||this._svgDepth>0)this._createLines.push(`${d} = document.createElementNS('${he}', '${A}');`);else this._createLines.push(`${d} = document.createElement('${A}');`);if(R)this._createLines.push(`${d}.id = '${R}';`);return this._bindInheritedTarget(A,d),d}if(!Array.isArray(r)){let y=this.newElementVar("c");return this._createLines.push(`${y} = document.createComment('unknown');`),y}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 y=this._self,_=this.newElementVar("slot");return this._createLines.push(`${_} = ${y}.children instanceof Node ? ${y}.children : (${y}.children != null ? document.createTextNode(String(${y}.children)) : document.createComment(''));`),_}if(s==="switch"){let y=o[0],_=o[1]||[],d=o[2]||null;for(let D=_.length-1;D>=0;D--){let[,M,U]=_[D],S;if(y===null)S=M.length===1?M[0]:M.reduce((F,W)=>F?["||",F,W]:W,null);else S=M.length===1?["==",y,M[0]]:M.map((F)=>["==",y,F]).reduce((F,W)=>F?["||",F,W]:W,null);d=["if",S,U,d]}if(d){if(Array.isArray(d)&&d[0]==="if")return this.emitConditional(d);return this.emitTemplateBlock(d)}let A=this.newElementVar("c");return this._createLines.push(`${A} = document.createComment('switch');`),A}if(s&&this.isHtmlTag(s)&&!u(h,"text")&&!this._isRenderLocal(s)){let[y,_]=s.split("#");return this.emitTag(y||"div",[],o,_)}if(s==="."){let[,y,_]=r;if(y==="this"&&typeof _==="string"){let S=this._self;if(this.reactiveMembers&&this.reactiveMembers.has(_)){let W=this.newTextVar();return this._createLines.push(`${W} = document.createTextNode('');`),this._pushEffect(`${W}.data = ${S}.${_}.value;`),W}let F=this.newElementVar("slot");return this._createLines.push(`${F} = ${S}.${_} instanceof Node ? ${S}.${_} : (${S}.${_} != null ? document.createTextNode(String(${S}.${_})) : document.createComment(''));`),F}let{tag:R,classes:d,id:A,base:D}=this.collectTemplateClasses(r);if(!u(D,"text")&&R&&this.isHtmlTag(R)&&!this._isRenderLocal(R))return this.emitTag(R,d,[],A);let M=this.newTextVar(),U=this.emitInComponent(r,"value");return this._createLines.push(`${M} = document.createTextNode(String(${U}));`),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 d=h[0][1],A=h.slice(1);if(Array.isArray(d)){let{tag:M,classes:U,id:S}=this.collectTemplateClasses(d);if(M){let F=U.map((W)=>`"${W}"`);return this.emitDynamicTag(M,A,o,F,S)}}let D=typeof d==="string"?d:d.valueOf();return this.emitDynamicTag(D,A,o)}let{tag:y,classes:_,id:R}=this.collectTemplateClasses(h);if(y&&this.isHtmlTag(y)&&!this._isRenderLocal(y)){if(_.length>0&&_[_.length-1]==="__clsx"){let A=_.slice(0,-1).map((D)=>`"${D}"`);return this.emitDynamicTag(y,o,[],A,R)}return this.emitTag(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 y=o[0]??"undefined",_=this.newTextVar(),R=this.emitInComponent(y,"value");if(this.hasReactiveDeps(y))this._createLines.push(`${_} = document.createTextNode('');`),this._pushEffect(`${_}.data = String(${R});`);else this._createLines.push(`${_} = document.createTextNode(String(${R}));`);return _}let w=this.newTextVar(),m=this.emitInComponent(r,"value");if(this.hasReactiveDeps(r))this._createLines.push(`${w} = document.createTextNode('');`),this._pushEffect(`${w}.data = ${m};`);else this._createLines.push(`${w} = document.createTextNode(String(${m}));`);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 m=this.emitNode(w);if(m==null)continue;this._createLines.push(`${r}.appendChild(${m});`)}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 m=this.emitNode(o);this._createLines.push(`${r}.appendChild(${m});`)}else if(/^[A-Za-z_$][\w$]*$/.test(s)&&!this._isInScopeValue(s))this.emitAttributes(r,["object",[":",s,"true"]]);else{let m=this.newTextVar();if(s.startsWith('"')||s.startsWith("'")||s.startsWith("`"))this._createLines.push(`${m} = document.createTextNode(${s});`);else if(this.reactiveMembers&&this.reactiveMembers.has(s))this._createLines.push(`${m} = document.createTextNode('');`),this._pushEffect(`${m}.data = ${this._self}.${s}.value;`);else if(this.componentMembers&&this.componentMembers.has(s))this._createLines.push(`${m} = document.createTextNode(String(${this._self}.${s}));`);else this._createLines.push(`${m} = document.createTextNode(${this.emitInComponent(o,"value")});`);this._createLines.push(`${r}.appendChild(${m});`)}}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(),m=pn.has(r)||this._svgDepth>0;if(m)this._createLines.push(`${w} = document.createElementNS('${he}', '${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 y=this._claimAutoWire(w),_=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(m)this._createLines.push(`${w}.setAttribute('class', '${h.join(" ")}');`);else this._createLines.push(`${w}.className = '${h.join(" ")}';`);else{let d=this._pendingClassArgs.join(", ");if(m)this._pushEffect(`${w}.setAttribute('class', __clsx(${d}));`);else this._pushEffect(`${w}.className = __clsx(${d});`)}this._pendingClassArgs=_,this._pendingClassEl=R}return this._emitAutoWire(w,y),w},i.emitDynamicTag=function(r,h,o,s,w){let m=this.newElementVar();if(pn.has(r)||this._svgDepth>0)this._createLines.push(`${m} = document.createElementNS('${he}', '${r}');`);else this._createLines.push(`${m} = document.createElement('${r}');`);if(w)this._createLines.push(`${m}.id = '${w}';`);this._bindInheritedTarget(r,m);let y=this._claimAutoWire(m),_=[...s||[],...h.map((A)=>this.emitInComponent(A,"value"))],R=this._pendingClassArgs,d=this._pendingClassEl;if(this._pendingClassArgs=_,this._pendingClassEl=m,r==="svg")this._svgDepth=(this._svgDepth||0)+1;if(this.appendChildren(m,o),r==="svg")this._svgDepth--;if(this._pendingClassArgs.length>0){let A=this._pendingClassArgs.join(", ");if(pn.has(r)||this._svgDepth>0)this._pushEffect(`${m}.setAttribute('class', __clsx(${A}));`);else this._pushEffect(`${m}.className = __clsx(${A});`)}return this._pendingClassArgs=R,this._pendingClassEl=d,this._emitAutoWire(m,y),m},i.emitAttributes=function(r,h){let o=At(h.slice(1));for(let s=1;s<h.length;s++){let[,w,m]=h[s];if(this.is(w,".")&&w[1]==="this"){let y=w[2];if(this._autoWireExplicit&&this._autoWireEl===r)this._autoWireExplicit.add(y);if(typeof m==="string"&&this.componentMembers?.has(m))this._createLines.push(`${r}.addEventListener('${y}', (e) => __batch(() => ${this._self}.${m}(e)));`);else{let _=this.emitInComponent(m,"value");this._createLines.push(`${r}.addEventListener('${y}', (e) => __batch(() => (${_})(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 _=this.emitInComponent(m,"value");if(this._pendingClassArgs&&this._pendingClassEl===r)this._pendingClassArgs.push(_);else if(this.hasReactiveDeps(m))if(this._svgDepth>0)this._pushEffect(`${r}.setAttribute('class', __clsx(${_}));`);else this._pushEffect(`${r}.className = __clsx(${_});`);else{let R=Array.isArray(m)?`__clsx(${_})`:_;if(this._svgDepth>0)this._createLines.push(`${r}.setAttribute('class', ${R});`);else this._createLines.push(`${r}.className = ${R};`)}continue}if(w==="__transition__"){let _=String(m).replace(/^["']|["']$/g,"");this._createLines.push(`this._t = "${_}";`);continue}if(w==="ref"){let _=String(m).replace(/^["']|["']$/g,"");this._createLines.push(`${this._self}.${_} = ${r};`);continue}if(w.startsWith(Dl)&&w.endsWith(Rl)){let _=w.slice(Dl.length,-Rl.length),R=this.emitInComponent(m,"value"),d,A;if(_==="checked")d="change",A="e.target.checked";else d="input",A=o==="number"||o==="range"?"e.target.valueAsNumber":"e.target.value";this._pushEffect(`${r}.${_} = ${R};`);let D=`${R} = ${A}`,M=!this.isSimpleAssignable(m)&&this.findRootReactiveMember(m);if(M)D+=`; ${this._self}.${M}.touch?.()`;this._createLines.push(`${r}.addEventListener('${d}', (e) => { ${D}; });`);continue}let y=this.emitInComponent(m,"value");if((w==="value"||w==="checked")&&this.hasReactiveDeps(m)){this._pushEffect(`${r}.${w} = ${y};`);continue}if(w==="innerHTML"||w==="textContent"||w==="innerText")if(this.hasReactiveDeps(m))this._pushEffect(`${r}.${w} = ${y};`);else this._createLines.push(`${r}.${w} = ${y};`);else if(yt.has(w))if(this.hasReactiveDeps(m))this._pushEffect(`${r}.toggleAttribute('${w}', !!${y});`);else this._createLines.push(`if (${y}) ${r}.setAttribute('${w}', '');`);else if(this.hasReactiveDeps(m))if(Array.isArray(m)&&m[0]==="presence")this._pushEffect(`{ const __v = ${y}; __v == null ? ${r}.removeAttribute('${w}') : ${r}.setAttribute('${w}', __v); }`);else this._pushEffect(`${r}.setAttribute('${w}', ${y});`);else if(Array.isArray(m)&&m[0]==="presence")this._createLines.push(`{ const __v = ${y}; if (__v != null) ${r}.setAttribute('${w}', __v); }`);else this._createLines.push(`${r}.setAttribute('${w}', ${y});`)}}},i.emitTemplateBlock=function(r){if(!Array.isArray(r)||r[0]!=="block"){let m=this.emitNode(r);if(m!=null)return m;let y=this.newElementVar("empty");return this._createLines.push(`${y} = document.createComment('');`),y}let h=r.slice(1);if(h.length===0){let m=this.newElementVar("empty");return this._createLines.push(`${m} = document.createComment('');`),m}let o=h.reduce((m,y)=>m+(this._isRenderBinding(y)?0:1),0);if(o===0){for(let y of h)this.emitNode(y);let m=this.newElementVar("empty");return this._createLines.push(`${m} = document.createComment('');`),m}if(o===1){let m=null;for(let y of h){let _=this.emitNode(y);if(_!=null)m=_}return m}let s=this.newElementVar("frag");this._createLines.push(`${s} = document.createDocumentFragment();`);let w=[];for(let m of h){let y=this.emitNode(m);if(y==null)continue;this._createLines.push(`${s}.appendChild(${y});`),w.push(y)}return this._fragChildren.set(s,w),s},i.emitConditional=function(r){if(this._pendingAutoWire=!1,r.length>4){let U=r[r.length-1];for(let S=r.length-2;S>=3;S--)U=[...r[S],U];r=[r[0],r[1],r[2],U]}let[,h,o,s]=r,w=this.newElementVar("anchor");this._createLines.push(`${w} = document.createComment('if');`);let m=this.emitInComponent(h,"value"),y=this._loopVarStack.map((U)=>`${U.itemVar}, ${U.indexVar}`).join(", "),_=y?`, ${y}`:"",R=this.newBlockVar();this.emitConditionBranch(R,o);let d=null;if(s)d=this.newBlockVar(),this.emitConditionBranch(d,s);let A=[];A.push(`// Conditional: ${R}${d?" / "+d:""}`),A.push("{"),A.push(` const anchor = ${w};`),A.push(" let currentBlock = null;"),A.push(" let showing = null;");let D=this._factoryMode?"disposers.push(__effect(() => {":"__effect(() => {",M=this._factoryMode?"}, {skipRegister: true}));":"});";if(A.push(` ${D}`),A.push(` const show = !!(${m});`),A.push(` const want = show ? 'then' : ${s?"'else'":"null"};`),A.push(" if (want === showing) return;"),A.push(""),A.push(" if (currentBlock) {"),A.push(" const leaving = currentBlock;"),A.push(" if (leaving._t) { __transition(leaving._first, leaving._t, 'leave', () => leaving.d(true)); }"),A.push(" else { leaving.d(true); }"),A.push(" currentBlock = null;"),A.push(" }"),A.push(" showing = want;"),A.push(""),A.push(" if (want === 'then') {"),A.push(` currentBlock = ${R}(${this._self}${_});`),A.push(" currentBlock.c();"),A.push(" if (anchor.parentNode) currentBlock.m(anchor.parentNode, anchor.nextSibling);"),A.push(` currentBlock.p(${this._self}${_});`),A.push(" if (currentBlock._t) __transition(currentBlock._first, currentBlock._t, 'enter');"),A.push(" }"),s)A.push(" if (want === 'else') {"),A.push(` currentBlock = ${d}(${this._self}${_});`),A.push(" currentBlock.c();"),A.push(" if (anchor.parentNode) currentBlock.m(anchor.parentNode, anchor.nextSibling);"),A.push(` currentBlock.p(${this._self}${_});`),A.push(" if (currentBlock._t) __transition(currentBlock._first, currentBlock._t, 'enter');"),A.push(" }");if(A.push(` ${M}`),this._factoryMode)A.push(" disposers.push(() => { if (currentBlock) { currentBlock.d(true); currentBlock = null; } });");else A.push(" { const __cur = globalThis.__ripComponent?.__getCurrentComponent?.(); if (__cur) (__cur._disposers ??= []).push(() => { if (currentBlock) { currentBlock.d(true); currentBlock = null; } }); }");return A.push("}"),this._setupLines.push(A.join(`
|
|
1884
|
-
`)),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,
|
|
1885
|
-
`))},i.emitTemplateLoop=function(r){this._pendingAutoWire=!1;let[h,o,s,w,
|
|
1886
|
-
`)),R},i.emitChildComponent=function(r,h){this._pendingAutoWire=!1;let o=this.newElementVar("inst"),s=this.newElementVar("el"),{propsCode:w,reactiveProps:
|
|
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`
|
|
1887
1890
|
// ============================================================================
|
|
1888
1891
|
// Rip Component Runtime
|
|
1889
1892
|
// ============================================================================
|
|
@@ -2318,12 +2321,12 @@ if (typeof globalThis !== 'undefined') {
|
|
|
2318
2321
|
globalThis.__ripComponent = { __pushComponent, __popComponent, __getCurrentComponent, setContext, getContext, hasContext, __clsx, __lis, __reconcile, __transition, __handleComponentError, __gateBind, __detach, __Component };
|
|
2319
2322
|
}
|
|
2320
2323
|
|
|
2321
|
-
`}}function
|
|
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=`
|
|
2322
2325
|
;
|
|
2323
|
-
`,
|
|
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+`
|
|
2324
2327
|
//# sourceMappingURL=data:application/json;base64,`+t+`
|
|
2325
|
-
`}var
|
|
2326
|
-
`)i++,
|
|
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
|
+
`)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
|
|
2327
2330
|
globalThis.abort ??= (msg) => { if (msg) console.error(msg); process.exit(1); };
|
|
2328
2331
|
globalThis.assert ??= (v, msg) => { if (!v) throw new Error(msg || "Assertion failed"); };
|
|
2329
2332
|
globalThis.exit ??= (code) => process.exit(code || 0);
|
|
@@ -2368,31 +2371,28 @@ globalThis.todo ??= (msg) => { throw new Error(msg || "Not implemented"); };
|
|
|
2368
2371
|
globalThis.warn ??= console.warn;
|
|
2369
2372
|
globalThis.zip ??= (...a) => a[0].map((_, i) => a.map(b => b[i]));
|
|
2370
2373
|
// rip:stdlib:end
|
|
2371
|
-
`}function
|
|
2372
|
-
`)
|
|
2373
|
-
`)}
|
|
2374
|
-
`)
|
|
2375
|
-
`)
|
|
2376
|
-
`)
|
|
2377
|
-
`)
|
|
2378
|
-
`))
|
|
2379
|
-
`))
|
|
2380
|
-
`)
|
|
2381
|
-
`)}
|
|
2382
|
-
`)){
|
|
2383
|
-
`)
|
|
2384
|
-
`).length}}if(!this.
|
|
2385
|
-
`).
|
|
2386
|
-
`),
|
|
2387
|
-
`)
|
|
2388
|
-
|
|
2389
|
-
`),h=!1;if(f.length>0){let w=f.map((m)=>{return{code:this.addSemicolon(m,this.emit(m,"statement")),loc:Array.isArray(m)?m.loc:null,sexpr:Array.isArray(m)?m:null}});this._importEntries=w,i+=w.map((m)=>m.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 m=Array.from(this.programVars).sort().join(", ");if(m){if(h)i+=`
|
|
2391
|
-
`;i+=`let ${m};
|
|
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(`
|
|
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(`
|
|
2379
|
+
`))l=l.split(`
|
|
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(`
|
|
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
|
+
`).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
|
+
`).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(`
|
|
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};
|
|
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+=`
|
|
2395
|
-
`;i+=
|
|
2395
|
+
`;i+=oi(),h=!0;let w=s?"var":"const";if(this.helpers.has("slice"))i+=`${w} slice = [].slice;
|
|
2396
2396
|
`,h=!0;if(this.helpers.has("modulo"))i+=`${w} modulo = (n, d) => { n = +n; d = +d; return (n % d + d) % d; };
|
|
2397
2397
|
`,h=!0;if(this.helpers.has("toMatchable"))i+=`${w} toMatchable = (v, allowNewlines) => {
|
|
2398
2398
|
`,i+=` if (typeof v === "string") return !allowNewlines && /[\\n\\r]/.test(v) ? null : v;
|
|
@@ -2422,169 +2422,169 @@ _setDataSection();
|
|
|
2422
2422
|
|
|
2423
2423
|
function _setDataSection() {
|
|
2424
2424
|
DATA = ${JSON.stringify(this.dataSection)};
|
|
2425
|
-
}`;return i}emitBinaryOp(n,l,u,t){if((n==="+"||n==="-")&&l.length===1)return`(${n}${this.emit(l[0],"value")})`;let[i,f]=l;if(n==="*"){let a=i?.valueOf?.()??i;if(typeof a==="string"&&/^["']/.test(a))return`${this.emit(i,"value")}.repeat(${this.emit(f,"value")})`}let e=new Set(["<",">","<=",">=","==","===","!=","!=="]);if(e.has(n)&&Array.isArray(i)&&!i.parenthesized){let a=i[0]?.valueOf?.()??i[0];if(e.has(a)){let c=(s)=>s==="=="?"===":s==="!="?"!==":s,r=this.emit(i,"value"),h=this.emit(i[2],"value"),o=this.emit(f,"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(f,"value")})`}}return`(${this.emit(i,"value")} ${n} ${this.emit(f,"value")})`}emitModulo(n,l){let[u,t]=l;return this.helpers.add("modulo"),`modulo(${this.emit(u,"value")}, ${this.emit(t,"value")})`}emitModuloAssign(n,l){let[u,t]=l;this.helpers.add("modulo");let i=this.emit(u,"value"),f=this.emit(t,"value");return`${i} = modulo(${i}, ${f})`}emitFloorDiv(n,l){let[u,t]=l;return`Math.floor(${this.emit(u,"value")} / ${this.emit(t,"value")})`}emitFloorDivAssign(n,l){let[u,t]=l,i=this.emit(u,"value"),f=this.emit(t,"value");return`${i} = Math.floor(${i} / ${f})`}emitAssignment(n,l,u,t){let[i,f]=l,e=n==="?="?"??=":n;if(this.is(i,"array")||this.is(i,"object"))this._validateBindingPattern(i,t);let a=this._findOptionalInTarget(i);if(a){let d=this.emit(a.guard,"value"),A=this.emit(a.rewritten,"value"),D=this.emit(f,"value");if(u==="value")return`(${d} != null ? (${A} ${e} ${D}) : undefined)`;return`if (${d} != null) ${A} ${e} ${D}`}this.applyVoidMarker(i,f,t);let c=this.is(i,"array",0),r=this.is(i,"object",0);if(c||r){let d=this.emit(f,"value");return r&&u==="statement"?`(${d})`:d}if(Array.isArray(f)&&e==="="&&f[0]==="control"){let[,d,A,D]=f,M=V(d),U=D[0]==="return",S=this.emit(i,"value"),F=this.emit(A,"value"),W=D.length>1?D[1]:null,q=U?W?`return ${this.emit(W,"value")}`:"return":W?`throw ${this.emit(W,"value")}`:"throw new Error()";if(u==="value"){if(M==="??")return`(() => { const __v = ${F}; if (__v == null) ${q}; return (${S} = __v); })()`;if(M==="||")return`(() => { const __v = ${F}; if (!__v) ${q}; return (${S} = __v); })()`;return`(() => { const __v = ${F}; if (__v) ${q}; return (${S} = __v); })()`}if(M==="??")return`if ((${S} = ${F}) == null) ${q}`;if(M==="||")return`if (!(${S} = ${F})) ${q}`;return`if ((${S} = ${F})) ${q}`}if(this.is(i,"array")){let d=i.slice(1).findIndex((A)=>this.is(A,"...")||A==="...");if(d!==-1&&d<i.length-2){let A=i.slice(1),D=A.slice(d+1),M=D.length;if(M>0){let U=this.emit(f,"value"),F=A.slice(0,d).map((g)=>g===","?"":typeof g==="string"?g:this.emit(g,"value")).join(", "),W=D.map((g)=>g===","?"":typeof g==="string"?g:this.emit(g,"value")).join(", ");this.helpers.add("slice"),A.forEach((g)=>{if(g===","||g==="...")return;if(typeof g==="string")this.programVars.add(g);else if(this.is(g,"...")&&typeof g[1]==="string")this.programVars.add(g[1])});let q=A[d],Y=this.is(q,"...")?q[1]:null,H=[];if(F)H.push(`[${F}] = ${U}`);if(Y)H.push(`[...${Y}] = ${U}.slice(${d}, -${M})`);return H.push(`[${W}] = slice.call(${U}, -${M})`),H.join(", ")}}}if(u==="statement"&&n==="="&&Array.isArray(f)&&(f[0]==="||"||f[0]==="&&")&&f.length===3){let[d,A,D]=f;if(this.is(D,"if")&&D.length===3){let[,M,U]=D,S=Array.isArray(U)&&U.length===1?U[0]:U,F=[d,A,S],W=this.emit(i,"value"),q=this.emit(M,"value"),Y=this.emit(F,"value");return`if (${q}) ${W} = ${Y}`}}if(u==="statement"&&n==="="&&Array.isArray(f)&&f.length===3){let[d,A,D]=f,M=Array.isArray(D)&&D.length===1&&(!Array.isArray(D[0])||D[0][0]!=="block");if(d==="if"&&M){let U=Array.isArray(D)&&D.length===1?D[0]:D,S=this.emit(i,"value"),F=this.unwrapLogical(this.emit(A,"value")),W=this.emit(U,"value");return`if (${F}) ${S} = ${W}`}}let h;if(i instanceof String&&Un(i,"bang")!==void 0)h=V(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(f,"component")&&(typeof i==="string"||i instanceof String))this._componentName=V(i),this._componentTypeParams=i.typeParams||"";if(this.is(f,"schema")&&(typeof i==="string"||i instanceof String))this._schemaName=V(i);let m=this.emit(f,"value");if(this._componentName=o,this._componentTypeParams=s,this._schemaName=w,!(this.is(f,"object")||this.is(f,".{}")||this.is(f,"?.{}")))m=this.unwrap(m);let _=u==="value",R=u==="statement"&&this.is(i,"object");if(_||R)return`(${h} ${e} ${m})`;return`${h} ${e} ${m}`}emitPropertyAccess(n,l,u,t){let[i,f]=l;if(this._atParamMap&&i==="this"){let r=this._atParamMap.get(V(f));if(r)return r}let e=this.emit(i,"value"),c=Fn.NUMBER_LITERAL_RE.test(e)||e.startsWith("await ")||(this.is(i,"object")||this.is(i,"yield"))?`(${e})`:e;if(Un(f,"bang")===!0)return`await ${c}.${V(f)}()`;if(Un(f,"optional"))return`(${c}.${V(f)} != null)`;return`${c}.${V(f)}`}emitOptionalProperty(n,l){let[u,t]=l;return`${this.emit(u,"value")}?.${t}`}emitPick(n,l,u,t){let[i,...f]=l,e=this.emit(i,"value"),a=this._isSimplePickSource(i),c=a?e:"_",r=f.map(([h,o,s])=>{let w=`${c}.${V(h)}`;if(s!==null&&s!==void 0)w=`(${w} ?? ${this.emit(s,"value")})`;return`${V(o)}: ${w}`}).join(", ");if(a)return`({${r}})`;return`((_) => ({${r}}))(${e})`}emitOptPick(n,l,u,t){let[i,...f]=l,e=this.emit(i,"value"),a=this._isSimplePickSource(i),c=a?e:"_",r=f.map(([h,o,s])=>{let w=`${c}.${V(h)}`;if(s!==null&&s!==void 0)w=`(${w} ?? ${this.emit(s,"value")})`;return`${V(o)}: ${w}`}).join(", ");if(a)return`(${e} == null ? undefined : {${r}})`;return`((_) => _ == null ? undefined : ({${r}}))(${e})`}_isSimplePickSource(n){if(typeof n!=="string")return!1;return n==="this"||n==="@"||/^[A-Za-z_$][\w$]*$/.test(n)}emitRegexIndex(n,l){let[u,t,i]=l;this.helpers.add("toMatchable"),this.programVars.add("_");let f=this.emit(u,"value"),e=this.emit(t,"value"),a=i!==null?this.emit(i,"value"):"0",c=e.includes("/m")?", true":"";return`((_ = toMatchable(${f}${c}).match(${e})) && _[${a}])`}emitIndexAccess(n,l){let[u,t]=l;if(this.is(t,"..")||this.is(t,"...")){let i=t[0]==="..",f=this.emit(u,"value"),[e,a]=t.slice(1),c=(s)=>{if(s===null)return null;let w=V(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 m=V(s[1])??s[1];if(typeof m==="number")return-m;if(typeof m==="string"&&/^\d+$/.test(m))return-m}return null},r=(s,w,m)=>{let y=c(m);if(y!==null&&y!==-1)return`${f}.slice(${s}, ${y+1})`;return`${f}.slice(${s}, +${w} + 1 || 9e9)`};if(e===null&&a===null)return`${f}.slice()`;if(e===null){if(i&&this.is(a,"-",1)&&(V(a[1])??a[1])==1)return`${f}.slice(0)`;let s=this.emit(a,"value");return i?r("0",s,a):`${f}.slice(0, ${s})`}if(a===null)return`${f}.slice(${this.emit(e,"value")})`;let h=this.emit(e,"value");if(i&&this.is(a,"-",1)&&(V(a[1])??a[1])==1)return`${f}.slice(${h})`;let o=this.emit(a,"value");return i?r(h,o,a):`${f}.slice(${h}, ${o})`}if(this.is(t,"-",1)){let i=V(t[1])??t[1];if(typeof i==="number"||typeof i==="string"&&/^\d+$/.test(i))return`${this.emit(u,"value")}.at(-${i})`}return`${this.emit(u,"value")}[${this.unwrap(this.emit(t,"value"))}]`}emitOptIndex(n,l){let[u,t]=l;if(this.is(t,"-",1)){let i=V(t[1])??t[1];if(typeof i==="number"||typeof i==="string"&&/^\d+$/.test(i))return`${this.emit(u,"value")}?.at(-${i})`}return`${this.emit(u,"value")}?.[${this.emit(t,"value")}]`}emitOptCall(n,l){let[u,...t]=l;return`${this.emit(u,"value")}?.(${t.map((i)=>this.emit(i,"value")).join(", ")})`}emitDef(n,l,u,t){let[i,f,e]=l,a=Un(i,"bang")===!0,c=V(i),r=this.emitParamList(f),h=this.emitFunctionBody(e,f,a),o=this.containsAwait(e),s=this.containsYield(e),w=this.inlineReturnType(i);return`${o?"async ":""}function${s?"*":""} ${c}(${r})${w} ${h}`}inlineReturnType(n){if(!this.options.inlineTypes)return"";let l=Un(n,"returnType");return l?`: ${oi(l)}`:""}emitThinArrow(n,l,u,t){let[i,f]=l;if((!i||Array.isArray(i)&&i.length===0)&&this.containsIt(f))i=["it"];let e=t.isVoid||!1,a=this.emitParamList(i),c=this.emitFunctionBody(f,i,e),r=this.containsAwait(f),h=this.containsYield(f),o=`${r?"async ":""}function${h?"*":""}(${a}) ${c}`;return u==="value"?`(${o})`:o}emitFatArrow(n,l,u,t){let[i,f]=l;if((!i||Array.isArray(i)&&i.length===0)&&this.containsIt(f))i=["it"];let e=t.isVoid||!1,a=this.emitParamList(i),r=i.length===1&&typeof i[0]==="string"&&!a.includes("=")&&!a.includes("...")&&!a.includes("[")&&!a.includes("{")?a:`(${a})`,o=this.containsAwait(f)?"async ":"";if(!e){if(this.is(f,"block")&&f.length===2){let w=f[1],m=Array.isArray(w)?w[0]:null;if(m!=="return"&&!Wt.has(m)){let y=this.emit(w,"value");if(y[0]==="{")y=`(${y})`;return`${o}${r} => ${y}`}}if(!Array.isArray(f)||f[0]!=="block"){let w=this.emit(f,"value");if(w[0]==="{")w=`(${w})`;return`${o}${r} => ${w}`}}let s=this.emitFunctionBody(f,i,e);return`${o}${r} => ${s}`}emitReturn(n,l,u,t){if(l.length===0)return"return";let[i]=l;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[,f,e,...a]=i;if(a.length===0){let c=Array.isArray(e)&&e.length===1?e[0]:e;return`if (${this.emit(f,"value")}) return ${this.emit(c,"value")}`}}if(this.is(i,"new")&&Array.isArray(i[1])&&i[1][0]==="if"){let[,f,e]=i[1],a=Array.isArray(e)&&e.length===1?e[0]:e;return`if (${this.emit(f,"value")}) return ${this.emit(["new",a],"value")}`}return`return ${this.emit(i,"value")}`}emitState(n,l){let[u,t]=l;this.usesReactivity=!0;let i=V(u)??u;if(!this.reactiveVars)this.reactiveVars=new Set;return this.reactiveVars.add(i),`const ${i} = __state(${this.emit(t,"value")})`}emitComputed(n,l){let[u,t]=l;if(this.usesReactivity=!0,!this.reactiveVars)this.reactiveVars=new Set;let i=V(u)??u;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,l){let[u,t]=l;return`const ${V(u)??u} = ${this.emit(t,"value")}`}emitGate(n,l,u,t){this.error("'<~' (render-ready gate) is only valid at the top of a component body",t)}emitEffect(n,l){let[u,t]=l;this.usesReactivity=!0;let i;if(this.is(t,"block"))i=this.emitFunctionBody(t);else if(this.is(t,"->")||this.is(t,"=>")){let e=this.emit(t,"value");if(u)return`const ${V(u)??this.emit(u,"value")} = __effect(${e})`;return`__effect(${e})`}else i=`{ ${this.emit(t,"value")}; }`;let f=`__effect(() => ${i})`;if(u)return`const ${V(u)??this.emit(u,"value")} = ${f}`;return f}emitBreak(){return"break"}emitContinue(){return"continue"}emitExistential(n,l){return`(${this.emit(l[0],"value")} != null)`}emitPresence(n,l){return`(${this.emit(l[0],"value")} ? true : undefined)`}emitTernary(n,l,u){let[t,i,f]=l;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(f,"value");return`${a} = (${this.unwrap(this.emit(t,"value"))} ? ${c} : ${r})`}return`(${this.unwrap(this.emit(t,"value"))} ? ${this.emit(i,"value")} : ${this.emit(f,"value")})`}emitLoop(n,l,u){if(u==="value")return this.emitLoopAsValue("while (true)",l[0]);return`while (true) ${this.emitLoopBody(l[0])}`}emitLoopN(n,l,u){let[t,i]=l,e=`for (let it = 0; it < ${this.emit(t,"value")}; it++)`;if(u==="value")return this.emitLoopAsValue(e,i);return`${e} ${this.emitLoopBody(i)}`}emitLoopAsValue(n,l,u){let t=this.containsAwait(l)||u!=null&&this.containsAwait(u),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"),_=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)+`
|
|
2426
2426
|
`;if(this.indentLevel++,i+=this.indent()+`const result = [];
|
|
2427
2427
|
`,i+=this.indent()+n+` {
|
|
2428
|
-
`,this.indentLevel++,
|
|
2429
|
-
`;let
|
|
2428
|
+
`,this.indentLevel++,e!=null)i+=this.indent()+`if (!(${this.unwrap(this.emit(e,"value"))})) continue;
|
|
2429
|
+
`;let u;if(!Array.isArray(f))u=[f];else if(f[0]==="block")u=f.slice(1);else if(Array.isArray(f[0]))u=f;else u=[f];let l=["for-in","for-of","for-as","while","loop"],a=(c)=>{if(typeof c==="string"&&(c==="break"||c==="continue"))return!0;if(!Array.isArray(c))return!1;if(["break","continue","return","throw"].includes(c[0]))return!0;if(c[0]==="if")return c.slice(1).some(a);return c.some(a)};for(let c=0;c<u.length;c++){let r=u[c];if(c!==u.length-1||a(r)||Array.isArray(r)&&l.includes(r[0]))i+=this.indent()+this.addSemicolon(r,this.emit(r,"statement"))+`
|
|
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,
|
|
2434
|
-
${
|
|
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+`{
|
|
2434
|
+
${d.map((K)=>this.indent()+K).join(`
|
|
2435
2435
|
`)}
|
|
2436
|
-
${this.indent()}}`}if(h)return a?
|
|
2437
|
-
`,this.indentLevel++,R+=this.indent()+`let ${w} = ${
|
|
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}];
|
|
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} = ${
|
|
2445
|
-
${w.map((
|
|
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(`
|
|
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
|
|
2448
|
-
${
|
|
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(`
|
|
2449
2449
|
`)}
|
|
2450
|
-
${this.indent()}}`}let w="";if(
|
|
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+=`{
|
|
2451
2451
|
${R.join(`
|
|
2452
2452
|
`)}
|
|
2453
|
-
${this.indent()}}`}else
|
|
2454
|
-
`)))[s];if(!
|
|
2455
|
-
`)))[s];if(!
|
|
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},
|
|
2456
2456
|
${o.join(`,
|
|
2457
|
-
`)}}`}emitMap(n,
|
|
2458
|
-
${this.withIndent(()=>this.formatStatements(
|
|
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
|
+
${this.withIndent(()=>this.formatStatements(f)).join(`
|
|
2459
2459
|
`)}
|
|
2460
|
-
${this.indent()}}`;if(
|
|
2461
|
-
${this.withIndent(()=>
|
|
2460
|
+
${this.indent()}}`;if(f.length===0)return"undefined";if(f.length===1)return this.emit(f[0],e);let t=f[f.length-1];if(Array.isArray(t)&&["break","continue","return","throw"].includes(t[0])){let u=f.map((l)=>this.addSemicolon(l,this.emit(l,"statement")));return`{
|
|
2461
|
+
${this.withIndent(()=>u.map((l)=>this.indent()+l).join(`
|
|
2462
2462
|
`))}
|
|
2463
|
-
${this.indent()}}`}return`(${
|
|
2463
|
+
${this.indent()}}`}return`(${f.map((u)=>this.emit(u,"value")).join(", ")})`}emitTry(n,f,e){let t=e==="value",i="try ",u=f[0];if(i+=t&&this.is(u,"block")?this.emitBlockWithReturns(u):this.emit(u,"statement"),f.length>=2&&Array.isArray(f[1])&&f[1].length===2&&f[1][0]!=="block"){let[l,a]=f[1];if(i+=" catch",l&&(this.is(l,"object")||this.is(l,"array"))){i+=" (error)";let c=`(${this.emit(l,"value")} = error)`;a=this.is(a,"block")?["block",c,...a.slice(1)]:["block",c,a]}else if(l)i+=` (${l})`;i+=" "+(t&&this.is(a,"block")?this.emitBlockWithReturns(a):this.emit(a,"statement"))}else if(f.length===2)i+=" finally "+this.emit(f[1],"statement");if(f.length===3)i+=" finally "+this.emit(f[2],"statement");if(f.length===1)i+=" catch {}";if(t){let l=this.containsAwait(f[0])||f[1]&&this.containsAwait(f[1])||f[2]&&this.containsAwait(f[2]);return this.asyncIIFE(l,i)}return i}emitThrow(n,f,e){let[t]=f;if(Array.isArray(t)){let u=t,l=null;if(t[0]==="new"&&Array.isArray(t[1])&&t[1][0]==="if")l="new",u=t[1];else if(t[0]==="if")u=t;if(u[0]==="if"){let[,a,c]=u,r=Array.isArray(c)&&c.length===1?c[0]:c;t=l==="new"?["new",r]:r;let h=this.emit(a,"value"),o=`throw ${this.emit(t,"value")}`;return`if (${h}) {
|
|
2464
2464
|
${this.indent()} ${o};
|
|
2465
|
-
${this.indent()}}`}}let i=`throw ${this.emit(t,"value")}`;return
|
|
2466
|
-
`;this.indentLevel++;for(let a of i){let[,c,r]=a;for(let h of c){let o=
|
|
2467
|
-
`}this.indentLevel++,
|
|
2468
|
-
`,this.indentLevel++,
|
|
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
|
+
`;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
|
+
`}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)+`
|
|
2469
2469
|
`;this.indentLevel++,this.comprehensionDepth++,a+=this.indent()+`const result = [];
|
|
2470
|
-
`;for(let h of i){let[o,s,w,
|
|
2471
|
-
`,this.indentLevel++,
|
|
2472
|
-
`}else if(o==="for-of"){let{header:
|
|
2473
|
-
`,this.indentLevel++,
|
|
2474
|
-
`;if(R)a+=this.indent()+`let ${R} = ${
|
|
2475
|
-
`}else if(o==="for-as"){let{header:
|
|
2476
|
-
`,this.indentLevel++}}for(let h of
|
|
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}[${_}];
|
|
2475
|
+
`}else if(o==="for-as"){let{header:A}=this._forAsHeader(s,w,h[3]);a+=this.indent()+A+` {
|
|
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")+`;
|
|
2478
2478
|
`;else if(Array.isArray(o)&&r.includes(o[0]))a+=this.indent()+this.emit(o,"statement")+`;
|
|
2479
2479
|
`;else a+=this.indent()+`result.push(${this.emit(o,"value")});
|
|
2480
2480
|
`}else if(c(t))a+=this.indent()+this.emit(t,"statement")+`;
|
|
2481
2481
|
`;else if(Array.isArray(t)&&r.includes(t[0]))a+=this.indent()+this.emit(t,"statement")+`;
|
|
2482
2482
|
`;else a+=this.indent()+`result.push(${this.emit(t,"value")});
|
|
2483
|
-
`;for(let h=0;h<
|
|
2483
|
+
`;for(let h=0;h<u.length;h++)this.indentLevel--,a+=this.indent()+`}
|
|
2484
2484
|
`;for(let h=0;h<i.length;h++)this.indentLevel--,a+=this.indent()+`}
|
|
2485
2485
|
`;return a+=this.indent()+`return result;
|
|
2486
|
-
`,this.indentLevel--,this.comprehensionDepth--,a+=this.indent()+"})()",a}emitObjectComprehension(n,
|
|
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
|
|
2489
|
-
`,this.indentLevel++,w)c+=this.indent()+`if (!Object.hasOwn(${
|
|
2490
|
-
`;if(
|
|
2491
|
-
`}}for(let r of
|
|
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}];
|
|
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
|
-
`;for(let r=0;r<
|
|
2494
|
-
`;for(let r=0;r<
|
|
2493
|
+
`;for(let r=0;r<l.length;r++)this.indentLevel--,c+=this.indent()+`}
|
|
2494
|
+
`;for(let r=0;r<u.length;r++)this.indentLevel--,c+=this.indent()+`}
|
|
2495
2495
|
`;return c+=this.indent()+`return result;
|
|
2496
|
-
`,this.indentLevel--,c+=this.indent()+"})()",c}emitClass(n,
|
|
2497
|
-
`,
|
|
2498
|
-
`;else
|
|
2499
|
-
`}else
|
|
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")
|
|
2501
|
-
`;else
|
|
2502
|
-
`;this.indentLevel--}}}return
|
|
2503
|
-
`}else if(e
|
|
2504
|
-
`;else
|
|
2505
|
-
`}return
|
|
2506
|
-
`)),i=n.loc.r,
|
|
2507
|
-
export default ${
|
|
2508
|
-
`;if(o.size>0){let
|
|
2509
|
-
`}let R=i.length>0&&
|
|
2510
|
-
`;return}if(!
|
|
2511
|
-
`;return}}if(!
|
|
2512
|
-
`;return}}}if(!
|
|
2513
|
-
`;return}if(!(
|
|
2514
|
-
`;return}
|
|
2515
|
-
`,this.comprehensionTarget="_result";let
|
|
2516
|
-
`;return}let
|
|
2517
|
-
`;else
|
|
2518
|
-
`})};if(R){if(
|
|
2519
|
-
`;else
|
|
2520
|
-
`;for(let D of i)
|
|
2521
|
-
`;
|
|
2522
|
-
`;let
|
|
2523
|
-
`}return this.indentLevel--,
|
|
2524
|
-
${this.withIndent(()=>
|
|
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")};
|
|
2498
|
+
`;else l+=this.indent()+this.emit(o,"statement")+`;
|
|
2499
|
+
`}else l+=this.indent()+this.emit(o,"statement")+`;
|
|
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
|
+
`;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+=`
|
|
2503
|
+
`}else if(l)e+=this.indent()+`static ${c} = ${this.emit(u,"value")};
|
|
2504
|
+
`;else e+=this.indent()+`${c} = ${this.emit(u,"value")};
|
|
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`{
|
|
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
|
-
${this.indent()}}`}emitLoopBody(n){if(!Array.isArray(n))return`{ ${this.emit(n,"statement")}; }`;if(n[0]==="block"||Array.isArray(n[0])){let
|
|
2527
|
-
${this.withIndent(()=>
|
|
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`{
|
|
2527
|
+
${this.withIndent(()=>f.map((t)=>{if(this.is(t,"comprehension")){let[,i,u,l]=t;return this.indent()+this.emitComprehensionAsLoop(i,u,l)}return this.indent()+this.addSemicolon(t,this.emit(t,"statement"))})).join(`
|
|
2528
2528
|
`)}
|
|
2529
|
-
${this.indent()}}`}return`{ ${this.emit(n,"statement")}; }`}emitLoopBodyWithGuard(n,
|
|
2530
|
-
`,
|
|
2531
|
-
${i}${
|
|
2529
|
+
${this.indent()}}`}return`{ ${this.emit(n,"statement")}; }`}emitLoopBodyWithGuard(n,f){let e=this.unwrap(this.emit(f,"value"));if(!Array.isArray(n))return`{ if (${e}) ${this.emit(n,"statement")}; }`;if(n[0]==="block"||Array.isArray(n[0])){let t=n[0]==="block"?n.slice(1):n,i=this.withIndent(()=>this.indent()),u=`if (${e}) {
|
|
2530
|
+
`,l=this.withIndent(()=>{this.indentLevel++;let c=this.formatStatements(t);return this.indentLevel--,c}),a=this.withIndent(()=>this.indent()+"}");return`{
|
|
2531
|
+
${i}${u}${l.join(`
|
|
2532
2532
|
`)}
|
|
2533
2533
|
${a}
|
|
2534
|
-
${this.indent()}}`}return`{ if (${this.emit(
|
|
2535
|
-
`;let
|
|
2534
|
+
${this.indent()}}`}return`{ if (${this.emit(f,"value")}) ${this.emit(n,"statement")}; }`}emitComprehensionWithTarget(n,f,e,t){let i="";if(!this._skipCompTargetInit)i+=this.indent()+`${t} = [];
|
|
2535
|
+
`;let u=(a)=>{if(typeof a==="string"&&(a==="break"||a==="continue"))return!0;if(!Array.isArray(a))return!1;if(["break","continue","return","throw"].includes(a[0]))return!0;if(a[0]==="if")return a.slice(1).some(u);return a.some(u)},l=()=>{let a=["for-in","for-of","for-as","while","loop"];if(this.is(n,"block"))for(let c=0;c<n.length-1;c++){let r=n[c+1];if(c!==n.length-2||u(r)||Array.isArray(r)&&a.includes(r[0]))i+=this.indent()+this.emit(r,"statement")+`;
|
|
2536
2536
|
`;else i+=this.indent()+`${t}.push(${this.emit(r,"value")});
|
|
2537
|
-
`}else if(
|
|
2537
|
+
`}else if(u(n))i+=this.indent()+this.emit(n,"statement")+`;
|
|
2538
2538
|
`;else i+=this.indent()+`${t}.push(${this.emit(n,"value")});
|
|
2539
|
-
`};if(
|
|
2539
|
+
`};if(f.length===1){let[a,c,r,h]=f[0];if(a==="for-in"){let{header:o,setup:s}=this._forInHeader(c,r,h);if(i+=this.indent()+o+` {
|
|
2540
2540
|
`,this.indentLevel++,s)i+=this.indent()+s+`
|
|
2541
|
-
`;if(
|
|
2542
|
-
`,this.indentLevel++;if(
|
|
2541
|
+
`;if(e?.length>0)i+=this.indent()+`if (${e.map((w)=>this.emit(w,"value")).join(" && ")}) {
|
|
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:
|
|
2545
|
-
`,this.indentLevel++,s)i+=this.indent()+`if (!Object.hasOwn(${
|
|
2546
|
-
`;if(w)i+=this.indent()+`let ${w} = ${
|
|
2547
|
-
`;if(
|
|
2548
|
-
`,this.indentLevel++;if(
|
|
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(" && ")}) {
|
|
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+` {
|
|
2551
|
-
`,this.indentLevel++,
|
|
2552
|
-
`,this.indentLevel++;if(
|
|
2551
|
+
`,this.indentLevel++,e?.length>0)i+=this.indent()+`if (${e.map((s)=>this.emit(s,"value")).join(" && ")}) {
|
|
2552
|
+
`,this.indentLevel++;if(l(),e?.length>0)this.indentLevel--,i+=this.indent()+`}
|
|
2553
2553
|
`;return this.indentLevel--,i+=this.indent()+`}
|
|
2554
|
-
`,i}}return i="",i+=this.indent()+`${t} = ${this.emit(["comprehension",n,
|
|
2555
|
-
`,i}emitComprehensionAsLoop(n,
|
|
2554
|
+
`,i}}return i="",i+=this.indent()+`${t} = ${this.emit(["comprehension",n,f,e||[]],"value")};
|
|
2555
|
+
`,i}emitComprehensionAsLoop(n,f,e){let t="",i=e?.length?e.map((l)=>this.emit(l,"value")).join(" && "):null,u=()=>{if(i)t+=this.indent()+`if (${i}) {
|
|
2556
2556
|
`,this.indentLevel++,t+=this.indent()+this.emit(n,"statement")+`;
|
|
2557
2557
|
`,this.indentLevel--,t+=this.indent()+`}
|
|
2558
2558
|
`;else t+=this.indent()+this.emit(n,"statement")+`;
|
|
2559
|
-
`};if(
|
|
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
|
-
`;return
|
|
2562
|
-
`,this.indentLevel++,
|
|
2563
|
-
`,this.indentLevel++,o)t+=this.indent()+`if (!Object.hasOwn(${w}, ${
|
|
2564
|
-
`;if(s)t+=this.indent()+`let ${s} = ${w}[${
|
|
2565
|
-
`;return
|
|
2566
|
-
`;t+=this.withIndent(()=>this.emitBranchWithReturn(
|
|
2567
|
-
`,t+=this.withIndent(()=>this.emitBranchWithReturn(i)),t+=this.indent()+"}";return t}emitBranchWithReturn(n){n=this.unwrapIfBranch(n);let
|
|
2568
|
-
`;else
|
|
2569
|
-
`}return
|
|
2570
|
-
`;else if(
|
|
2571
|
-
`;else
|
|
2572
|
-
`;else
|
|
2573
|
-
`;else{if(i.length===1&&this.is(i[0],"if")&&!this.hasStatementInBranch(i[0])&&!this.hasNestedMultiStatement(i[0])){let[
|
|
2574
|
-
`}else if(this.is(n,"block")&&n.length>1)for(let
|
|
2575
|
-
`;else
|
|
2576
|
-
`;
|
|
2577
|
-
`}return
|
|
2578
|
-
`,this.indentLevel++,
|
|
2579
|
-
`;else for(let c of this.unwrapBlock(
|
|
2580
|
-
`;this.indentLevel--,t+=this.indent()+"}"}if(
|
|
2581
|
-
`,this.indentLevel++,
|
|
2582
|
-
`;else for(let i of this.unwrapBlock(
|
|
2583
|
-
`;this.indentLevel--,t+=this.indent()+"}"}if(
|
|
2584
|
-
`);if(
|
|
2585
|
-
`))
|
|
2586
|
-
`))
|
|
2587
|
-
`)t++;continue}
|
|
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}];
|
|
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
|
+
`;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
|
+
`,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")};
|
|
2568
|
+
`;else e+=this.indent()+this.emit(u,"statement")+`;
|
|
2569
|
+
`}return e}emitIfAsExpression(n,f,e){if(this.is(f,"block")&&f.length>2||this.hasStatementInBranch(f)||e.some((a)=>this.is(a,"block")&&a.length>2||this.hasStatementInBranch(a)||this.hasNestedMultiStatement(a))){let a=this.containsAwait(n)||this.containsAwait(f)||e.some((c)=>this.containsAwait(c));return this.asyncIIFEOpen(a)+" "+this.emitIfChain(n,f,e)+" })()"}let i=this.extractExpression(this.unwrapIfBranch(f)),u=this.buildTernaryChain(e),l=this.emit(n,"value");if(this.is(n,"yield")||this.is(n,"await"))l=`(${l})`;return`(${l} ? ${i} : ${u})`}emitIfChain(n,f,e){let t=`if (${this.emit(n,"value")}) `+this.emitBlockWithReturns(f);for(let i of e)if(t+=" else ",this.is(i,"if")){let[,u,l,...a]=i;t+=this.emitIfChain(u,l,a)}else t+=this.emitBlockWithReturns(i);return t}emitIfAsStatement(n,f,e){let t=`if (${this.unwrap(this.emit(n,"value"))}) `;t+=this.emit(this.unwrapIfBranch(f),"statement");for(let i of e)t+=" else "+this.emit(this.unwrapIfBranch(i),"statement");return t}emitSwitchCaseBody(n,f){let e="",t=this.hasExplicitControlFlow(n),i=this.unwrapBlock(n);if(t)for(let u of i)e+=this.indent()+this.emit(u,"statement")+`;
|
|
2570
|
+
`;else if(f==="value")if(this.is(n,"block")&&n.length>2)for(let u=0;u<i.length;u++)if(u===i.length-1)e+=this.indent()+`return ${this.emit(i[u],"value")};
|
|
2571
|
+
`;else e+=this.indent()+this.emit(i[u],"statement")+`;
|
|
2572
|
+
`;else e+=this.indent()+`return ${this.extractExpression(n)};
|
|
2573
|
+
`;else{if(i.length===1&&this.is(i[0],"if")&&!this.hasStatementInBranch(i[0])&&!this.hasNestedMultiStatement(i[0])){let[u,l,a,...c]=i[0],r=this.extractExpression(this.unwrapIfBranch(a)),h=this.buildTernaryChain(c);e+=this.indent()+`(${this.unwrap(this.emit(l,"value"))} ? ${r} : ${h});
|
|
2574
|
+
`}else if(this.is(n,"block")&&n.length>1)for(let u of i)e+=this.indent()+this.emit(u,"statement")+`;
|
|
2575
|
+
`;else e+=this.indent()+this.emit(n,"statement")+`;
|
|
2576
|
+
`;e+=this.indent()+`break;
|
|
2577
|
+
`}return e}emitSwitchAsIfChain(n,f,e){let t="";for(let i=0;i<n.length;i++){let[,u,l]=n[i],a=Array.isArray(u)?u[0]:u;if(t+=(i===0?"":" else ")+`if (${this.emit(a,"value")}) {
|
|
2578
|
+
`,this.indentLevel++,e==="value")t+=this.indent()+`return ${this.extractExpression(l)};
|
|
2579
|
+
`;else for(let c of this.unwrapBlock(l))t+=this.indent()+this.emit(c,"statement")+`;
|
|
2580
|
+
`;this.indentLevel--,t+=this.indent()+"}"}if(f){if(t+=` else {
|
|
2581
|
+
`,this.indentLevel++,e==="value")t+=this.indent()+`return ${this.extractExpression(f)};
|
|
2582
|
+
`;else for(let i of this.unwrapBlock(f))t+=this.indent()+this.emit(i,"statement")+`;
|
|
2583
|
+
`;this.indentLevel--,t+=this.indent()+"}"}if(e==="value"){let i=n.some((u)=>this.containsAwait(u[1])||this.containsAwait(u[2]))||f&&this.containsAwait(f);return this.asyncIIFE(i,t)}return t}asyncIIFE(n,f){return`${n?"await ":""}(${n?"async ":""}() => { ${f} })()`}asyncIIFEOpen(n){return`${n?"await ":""}(${n?"async ":""}() => {`}extractExpression(n){let f=this.unwrapBlock(n);return f.length>0?this.emit(f[f.length-1],"value"):"undefined"}unwrapBlock(n){if(!Array.isArray(n))return[n];if(n[0]==="block")return n.slice(1);if(Array.isArray(n[0])){if(typeof n[0][0]==="string")return[n];return n}return[n]}indent(){return this.indentString.repeat(this.indentLevel)}needsSemicolon(n,f){if(!f||f.endsWith(";"))return!1;if(!f.endsWith("}"))return!0;let e=Array.isArray(n)?n[0]:null;return!["def","class","if","for-in","for-of","for-as","while","loop","switch","try"].includes(e)}addSemicolon(n,f){return f+(this.needsSemicolon(n,f)?";":"")}formatStatements(n,f="statement"){return n.map((e)=>this.indent()+this.addSemicolon(e,this.emit(e,f)))}wrapForCondition(n){if(/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(n))return n;if(n.startsWith("(")&&n.endsWith(")"))return n;return`(${n})`}hasExplicitControlFlow(n){if(!Array.isArray(n))return!1;let f=n[0];if(f==="return"||f==="throw"||f==="break"||f==="continue")return!0;if(f==="block")return n.slice(1).some((e)=>Array.isArray(e)&&["return","throw","break","continue"].includes(e[0]));if(f==="switch"){let[,,e]=n;return e?.some((t)=>{return this.unwrapBlock(t[2]).some((u)=>Array.isArray(u)&&["return","throw","break","continue"].includes(u[0]))})}if(f==="if"){let[,,e,t]=n;return this.branchHasControlFlow(e)&&t&&this.branchHasControlFlow(t)}return!1}branchHasControlFlow(n){if(!Array.isArray(n))return!1;let f=this.unwrapBlock(n);if(f.length===0)return!1;let e=f[f.length-1];return Array.isArray(e)&&["return","throw","break","continue"].includes(e[0])}withIndent(n){this.indentLevel++;let f=n();return this.indentLevel--,f}is(n,f,e){if(!Array.isArray(n))return null;if((j(n[0])??n[0])!==f)return null;let t=n.slice(1);if(e!=null&&t.length!==e)return null;return t}unwrap(n){if(typeof n!=="string")return n;while(n.startsWith("(")&&n.endsWith(")")){let f=0,e=0,t=!0,i=!1;for(let u=0;u<n.length;u++){if(n[u]==="(")f++;if(n[u]===")")f--;if(n[u]==="["||n[u]==="{")e++;if(n[u]==="]"||n[u]==="}")e--;if(n[u]===","&&f===1&&e===0)i=!0;if(f===0&&u<n.length-1){t=!1;break}}if(i)t=!1;if(t)n=n.slice(1,-1);else break}return n}_findOptionalInTarget(n){if(!Array.isArray(n))return null;if(n[0]==="?.")return{guard:n[1],rewritten:[".",n[1],n[2]]};if(n[0]==="optindex")return{guard:n[1],rewritten:["[]",n[1],n[2]]};if(n[0]==="."||n[0]==="[]"){let f=this._findOptionalInTarget(n[1]);if(f)return{guard:f.guard,rewritten:[n[0],f.rewritten,n[2]]}}return null}_validateBindingPattern(n,f){if(!Array.isArray(n))return;let e=n[0];if(e==="comprehension"||e==="object-comprehension")this.error(`Cannot use ${e} as a destructuring target`,f);if(e==="array"){for(let t of n.slice(1))this._validateBindingPattern(t,f);return}if(e==="object"){for(let t of n.slice(1)){if(!Array.isArray(t))continue;let i=t[0];if(i===null)this._validateBindingPattern(t[2],f);else if(i===":")this._validateBindingPattern(t[2],f);else if(i==="=")this._validateBindingPattern(t[1],f);else if(i==="...")this._validateBindingPattern(t[1],f);else this.error(`Unexpected object entry '${i}' in destructuring target`,f)}return}if(e==="..."||e==="default"||e==="="){this._validateBindingPattern(n[1],f);return}if(e==="."||e==="[]")return;if(e==="?."||e==="optindex"||e==="optcall")this.error("Cannot use optional chain as a destructuring target",f);this.error(`Cannot use '${e}' expression as a destructuring target`,f)}unwrapLogical(n){if(typeof n!=="string")return n;while(n.startsWith("(")&&n.endsWith(")")){let f=0,e=1/0;for(let t=1;t<n.length-1;t++){if(n[t]==="(")f++;if(n[t]===")")f--;e=Math.min(e,f)}if(e>=0)n=n.slice(1,-1);else break}return n}unwrapIfBranch(n){if(Array.isArray(n)&&n.length===1&&(!Array.isArray(n[0])||n[0][0]!=="block"))return n[0];return n}flattenBinaryChain(n){if(!Array.isArray(n)||n.length<3)return n;let[f,...e]=n;if(f!=="&&"&&f!=="||")return n;let t=[],i=(u)=>{if(Array.isArray(u)&&u[0]===f)for(let l=1;l<u.length;l++)i(u[l]);else t.push(u)};for(let u of e)i(u);return[f,...t]}hasStatementInBranch(n){if(!Array.isArray(n))return!1;if(n.length===1&&Array.isArray(n[0]))return this.hasStatementInBranch(n[0]);let f=n[0];if(f==="return"||f==="throw"||f==="break"||f==="continue")return!0;if(f==="block")return n.slice(1).some((e)=>this.hasStatementInBranch(e));return!1}hasNestedMultiStatement(n){if(!Array.isArray(n))return!1;if(n[0]==="if"){let[f,e,t,...i]=n;return this.is(t,"block")&&t.length>2||i.some((u)=>this.hasNestedMultiStatement(u))}return!1}buildTernaryChain(n){if(n.length===0)return"undefined";let f=this.unwrapIfBranch(n[0]);if(this.is(f,"if")){let[,e,t,...i]=f,u=this.extractExpression(this.unwrapIfBranch(t)),l=this.buildTernaryChain(i);return`(${this.emit(e,"value")} ? ${u} : ${l})`}return this.extractExpression(f)}collectVarsFromArray(n,f){n.slice(1).forEach((e)=>{if(e===","||e==="...")return;if(typeof e==="string"){f.add(e);return}if(Array.isArray(e)){if(e[0]==="..."&&typeof e[1]==="string")f.add(e[1]);else if(e[0]==="="&&typeof e[1]==="string")f.add(e[1]);else if(e[0]==="array")this.collectVarsFromArray(e,f);else if(e[0]==="object")this.collectVarsFromObject(e,f)}})}collectVarsFromLoopHead(n,f){if(!Array.isArray(n))return;n.forEach((e)=>{if(e==null)return;if(typeof e==="string"){f.add(e);return}if(Array.isArray(e)){if(e[0]==="array")this.collectVarsFromArray(e,f);else if(e[0]==="object")this.collectVarsFromObject(e,f)}})}collectVarsFromObject(n,f){n.slice(1).forEach((e)=>{if(!Array.isArray(e))return;if(e[0]==="..."&&typeof e[1]==="string"){f.add(e[1]);return}if(e.length>=2){let[t,i,u]=e;if(t==="="){if(typeof i==="string")f.add(i)}else if(typeof u==="string")f.add(u);else if(Array.isArray(u)){if(u[0]==="array")this.collectVarsFromArray(u,f);else if(u[0]==="object")this.collectVarsFromObject(u,f)}}})}extractStringContent(n){let f=j(n).slice(1,-1),e=qn(n,"indent");if(e)f=f.replace(new RegExp(`\\n${e}`,"g"),`
|
|
2584
|
+
`);if(qn(n,"initialChunk")&&f.startsWith(`
|
|
2585
|
+
`))f=f.slice(1);if(qn(n,"finalChunk")&&f.endsWith(`
|
|
2586
|
+
`))f=f.slice(0,-1);return f}processHeregex(n){let f="",e=!1,t=0,i=()=>{let u=0,l=t-1;while(l>=0&&n[l]==="\\")u++,l--;return u%2===1};while(t<n.length){let u=n[t];if(u==="["&&!i()){e=!0,f+=u,t++;continue}if(u==="]"&&e&&!i()){e=!1,f+=u,t++;continue}if(e){f+=u,t++;continue}if(/\s/.test(u)){t++;continue}if(u==="#"){if(i()){f+=u,t++;continue}let l=t-1;while(l>=0&&n[l]==="\\")l--;if(l<t-1){f+=u,t++;continue}while(t<n.length&&n[t]!==`
|
|
2587
|
+
`)t++;continue}f+=u,t++}return f}addJsExtensionAndAssertions(n){if(n instanceof String)n=j(n);if(typeof n!=="string")return n;let e=n.startsWith('"')||n.startsWith("'")?n.slice(1,-1):n,t=e.startsWith("./")||e.startsWith("../"),i=e,u="";if(t){let l=e.lastIndexOf("/"),a=l>=0?e.substring(l+1):e;if(a.includes(".")){if(a.endsWith(".json"))u=" with { type: 'json' }"}else i=e+".js"}return`'${i}'`+u}containsIt(n){if(!n)return!1;if(n==="it"||n instanceof String&&j(n)==="it")return!0;if(typeof n!=="object")return!1;if(this.is(n,"def")||this.is(n,"->")||this.is(n,"=>"))return!1;if(Array.isArray(n))return n.some((f)=>this.containsIt(f));return!1}containsAwait(n){if(!n)return!1;if(n instanceof String&&qn(n,"bang")===!0)return!0;if(typeof n!=="object")return!1;if(this.is(n,"await"))return!0;if(this.is(n,"for-as")&&n[3]===!0)return!0;if(this.is(n,"def")||this.is(n,"->")||this.is(n,"=>")||this.is(n,"class"))return!1;if(Array.isArray(n))return n.some((f)=>this.containsAwait(f));return!1}containsYield(n){if(!n)return!1;if(typeof n!=="object")return!1;if(this.is(n,"yield")||this.is(n,"yield-from"))return!0;if(this.is(n,"def")||this.is(n,"->")||this.is(n,"=>")||this.is(n,"class"))return!1;if(Array.isArray(n))return n.some((f)=>this.containsYield(f));return!1}extractMemberName(n){if(this.is(n,".")&&n[1]==="this")return n[2];if(this.is(n,"computed"))return`[${this.emit(n[1],"value")}]`;return n}getReactiveRuntime(){return`// ============================================================================
|
|
2588
2588
|
// Rip Reactive Runtime
|
|
2589
2589
|
// A minimal, fine-grained reactivity system
|
|
2590
2590
|
//
|
|
@@ -2949,30 +2949,30 @@ if (typeof globalThis !== 'undefined') {
|
|
|
2949
2949
|
}
|
|
2950
2950
|
|
|
2951
2951
|
// === End Reactive Runtime ===
|
|
2952
|
-
`}}class
|
|
2953
|
-
`),i=t.findIndex((
|
|
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(`
|
|
2954
2954
|
`)+`
|
|
2955
2955
|
`:"",n=t.slice(0,i).join(`
|
|
2956
|
-
`)}let
|
|
2957
|
-
//# sourceMappingURL=data:application/json;base64,${
|
|
2958
|
-
//# sourceMappingURL=${this.options.filename}.js.map`;if(c&&
|
|
2959
|
-
`+t+n.slice(
|
|
2960
|
-
`+t}function
|
|
2961
|
-
${
|
|
2962
|
-
})()`}if(typeof globalThis<"u")globalThis.__ripDebug={enabled:!0,offsetSourceMap:
|
|
2963
|
-
${
|
|
2964
|
-
})()`)}catch(D){console.error(`Rip runtime error in ${R}:`,D)}}let
|
|
2965
|
-
${R}.mount(${JSON.stringify(
|
|
2966
|
-
`:"",D=
|
|
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.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)+`
|
|
2959
|
+
`+t+n.slice(u.index);return n+`
|
|
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
|
+
${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?`
|
|
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()=>{
|
|
2967
2967
|
${M}
|
|
2968
|
-
})()`)}catch(S){if(
|
|
2969
|
-
`,i=new Blob([t+
|
|
2970
|
-
${
|
|
2971
|
-
`+c+
|
|
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}
|
|
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`[
|
|
2971
|
+
`+c+u.map((h)=>i(h,l+1)??"null").join(`
|
|
2972
2972
|
`+c)+`
|
|
2973
|
-
`+r+"]"}if(a==="object"){let c=Object.getPrototypeOf(
|
|
2974
|
-
`+h+r.map((s)=>t(s)+": "+(i(
|
|
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
|
+
`+h+r.map((s)=>t(s)+": "+(i(u[s],l+1)??"null")).join(`
|
|
2975
2975
|
`+h)+`
|
|
2976
|
-
`+o+"}"}return null};return(f)=>{let e=i(f,0);return e!==null?console.log(e):console.dir(f,{depth:null,colors:!0}),f}})();globalThis.raise??=(n,l)=>{throw l!==void 0?new n(l):Error(n)};globalThis.rand??=(n,l)=>l!==void 0?(n>l&&([n,l]=[l,n]),Math.floor(Math.random()*(l-n+1)+n)):n?Math.floor(Math.random()*n):Math.random();globalThis.sleep??=(n)=>new Promise((l)=>setTimeout(l,n));globalThis.todo??=(n)=>{throw Error(n||"Not implemented")};globalThis.warn??=console.warn;globalThis.zip??=(...n)=>n[0].map((l,u)=>n.map((t)=>t[u]));({__state:Sn,__computed:Ol,__effect:ni,__batch:Vi}=globalThis.__rip);xi=globalThis.__ripComponent||{};var Zt=function(n,l){return xi.setContext(n,l)},bt=function(n){return xi.getContext(n)},Nt=function(n){return xi.hasContext(n)};di=function(n){if(typeof window>"u"||typeof document>"u")throw Error(`Rip App: '${n}' requires a browser environment`)};Qe=new WeakMap;De=new WeakMap;pi=Symbol.for("rip.source");Li=Symbol.for("rip.source.family");He=Symbol.for("rip.defaults");ji=Symbol.for("rip.persist");gn=function(n){return n!=null&&(typeof n==="object"||typeof n==="function")&&(n[pi]===!0||n[Li]===!0)};Di=function(n){return n!=null&&typeof n==="function"&&n[Li]===!0};Ci=0;mi=Sn(0);Qn=0;Ee=function(n){return typeof n==="string"&&(n.indexOf(".")!==-1||n.indexOf("/")!==-1||n.indexOf("[")!==-1)};af=function(n){return/^-?\d+$/.test(n)};We=function(n,l){let u;if(!n[Symbol.for("signals")])Object.defineProperty(n,Symbol.for("signals"),{value:new Map,enumerable:!1});if(u=n[Symbol.for("signals")].get(l),!u)u=Sn(n[l]),n[Symbol.for("signals")].set(l,u);return u};xn=function(n){return We(n,Symbol.for("keys"))};Ke=function(n){let l;if(!(n!=null&&typeof n==="object"))return n;if(n[Symbol.for("stash")])return n;if(n[pi])return n;if(n instanceof Date||n instanceof RegExp||n instanceof Map||n instanceof Set||n instanceof Promise)return n;if(l=Qe.get(n),l)return l;return Je(n)};Je=function(n){let l,u;return u=null,l={get(t,i){let f,e,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&&Ee(i))return ci(u,i);if(f=of(u,i),f)return f;if(e=t[i],gn(e)){if(typeof e==="function")return e;return c=e.read(),c!=null&&typeof c==="object"?Ke(c):c}if(a=We(t,i),r=a.value,r!=null&&typeof r==="object")return Ke(r);return r},set(t,i,f){let e,a,c,r,h;if(!Qn&&Ee(i))return yi(u,i,f),!0;if(Array.isArray(t)&&i==="length"){if(c=t.length,e=+f,t.length=e,e!==c){if(t[Symbol.for("signals")]){for(let o of((s,w)=>Array.from({length:Math.max(0,Math.abs(w-s))},(m,y)=>s+y*(s<=w?1:-1)))(Math.min(c,e),Math.max(c,e)))if(h=t[Symbol.for("signals")].get(String(o)),h!=null)h.value=t[o]}xn(t).value=++Ci,mi.value++}return!0}if(a=t[i],gn(a)&&!gn(f)){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(f?.[Symbol.for("raw")]?f[Symbol.for("raw")]:f),mi.value++,!0}if(r=f?.[Symbol.for("raw")]?f[Symbol.for("raw")]:f,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=++Ci;return mi.value++,!0},deleteProperty(t,i){let f;if(delete t[i],f=t[Symbol.for("signals")]?.get(i),f!=null)f.value=void 0;return xn(t).value=++Ci,mi.value++,!0},ownKeys(t){return xn(t).value,Reflect.ownKeys(t)}},u=new Proxy(n,l),Qe.set(n,u),u};Gl=/([./][^./\[\s]+|\[[-+]?\d+\]|\[(?:"[^"]+"|'[^']+')\])/;kn=function(n){let l,u,t,i,f;t=("."+n).split(Gl),t.shift(),f=[],u=0;while(u<t.length){if(i=t[u],l=i[0],l==="."||l==="/")f.push(i.slice(1));else if(l==="[")if(i[1]==='"'||i[1]==="'")f.push(i.slice(2,-2));else f.push(+i.slice(1,-1));u+=2}return f};Ri=function(n,l){let u;if(typeof n==="number"&&n<0){if(u=Yn(l),Array.isArray(u))return u.length+n}return n};ci=function(n,l){let u,t;return t=kn(l),u=n,Qn++,(()=>{try{for(let i of t){if(u==null)return;u=u[Ri(i,u)]}return u}finally{Qn--}})()};yi=function(n,l,u){let t,i,f,e;return e=kn(l),f=n,Qn++,(()=>{try{for(let a=0;a<e.length;a++){let c=e[a];if(t=Ri(c,f),a===e.length-1)f[t]=u;else{if(f[t]==null)i=e[a+1],f[t]=typeof i==="number"||af(i)?[]:{};f=f[t]}}return u}finally{Qn--}})()};Nl={inc:!0,dec:!0,flip:!0,join:!0,keys:!0,has:!0,del:!0,peek:!0,reset:!0,source:!0};Hi=function(n){let l;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 u=[];for(let t of n)u.push(Hi(t));return u})();l={};for(let u in n){if(!Object.hasOwn(n,u))continue;let t=n[u];if(gn(t))continue;l[u]=Hi(t)}return l};sf=function(n){if(!(n!=null&&typeof n==="object"))return;Object.defineProperty(n,He,{value:Hi(n),configurable:!0});return};of=function(n,l){let u,t;if(!Nl[l])return;if(u=De.get(n),!u)u={},De.set(n,u);if(u[l])return u[l];return t=(()=>{switch(l){case"inc":return function(i,f=1){let e;return e=ci(n,i)??0,yi(n,i,e+f)};case"dec":return function(i,f=1){let e;return e=ci(n,i)??0,yi(n,i,e-f)};case"flip":return function(i){let f;return f=ci(n,i)??!1,yi(n,i,!f)};case"join":return function(i,f){return Vi(function(){let e;if(e=ci(n,i),!(e!=null&&typeof e==="object"))yi(n,i,{}),e=ci(n,i);return Qn++,(()=>{try{return(()=>{let a=[];for(let c in f){let r=f[c];a.push(e[c]=r)}return a})()}finally{Qn--}})()})};case"keys":return function(i){let f,e,a;return Qn++,(()=>{try{e=kn(i),f=n;for(let c of e){if(f==null)return[];f=f[Ri(c,f)]}if(!(f!=null&&typeof f==="object"))return[];return a=Yn(f),xn(a).value,Object.keys(a)}finally{Qn--}})()};case"has":return function(i){let f,e,a,c;return Qn++,(()=>{try{if(a=kn(i),!(a.length>0))return!1;e=n;for(let r=0;r<a.length;r++){let h=a[r];if(f=Ri(h,e),r===a.length-1)return c=Yn(e),xn(c).value,Object.prototype.hasOwnProperty.call(c,f);if(e==null)return!1;e=e[f]}return!1}finally{Qn--}})()};case"del":return function(i){let f,e,a;return Qn++,(()=>{try{if(a=kn(i),!(a.length>0))return;return e=n,(()=>{let c=[];for(let r=0;r<a.length;r++){let h=a[r];if(f=Ri(h,e),r===a.length-1){delete e[f];return}if(e==null)return;c.push(e=e[f])}return c})()}finally{Qn--}})()};case"reset":return function(){Vi(function(){let i,f;f=Yn(n),i=f[He];for(let e in f){if(!Object.hasOwn(f,e))continue;let a=f[e];if(gn(a))a.reset();else if(i)if(Object.prototype.hasOwnProperty.call(i,e))n[e]=Hi(i[e]);else delete n[e]}return f[ji]?.()});return};case"source":return function(i,f){let e,a,c;e=null,c=Yn(n);for(let r of kn(i)){if(!(c!=null&&typeof c==="object"))break;if(c=c[r],gn(c)){e=c;break}}if(!e)throw Error(`Rip App: source('${i}') does not resolve to a source key — declare it with source() in app/stash.rip`);if(Di(e)){if(f==null)throw Error(`Rip App: keyed source('${i}') requires a key — source('${i}', key)`);e=e.cellFor(f)}else if(f!=null)throw Error(`Rip App: source('${i}') is not keyed — drop the key argument`);return a={refetch:e.refetch,reset:e.reset},Object.defineProperty(a,"value",{get(){return e.read()},set(r){return e.write(r)}}),Object.defineProperty(a,"loading",{get(){return e.loading}}),Object.defineProperty(a,"error",{get(){return e.error}}),a};case"peek":return function(i){let f,e;if(e=Yn(n),i==null)return e;for(let a of kn(i)){if(e==null)return;if(gn(e)){if(Di(e))return;if(e=e.peek(),e==null)return}f=typeof a==="number"&&a<0&&Array.isArray(e)?e.length+a:a,e=e[f]}return gn(e)?Di(e)?void 0:e.peek():e}}})(),u[l]=t,t};function wf(n={}){return Je(n)}function Yn(n){return n?.[Symbol.for("raw")]?n[Symbol.for("raw")]:n}ef=function(n,l){return gn(l)?void 0:l};Re=function(n){if(!(n!=null&&typeof n==="object"))return!1;for(let l in n){if(!Object.hasOwn(n,l))continue;let u=n[l];if(u==null)continue;if(gn(u))return!0;if(typeof u==="object"&&Re(u))return!0}return!1};Me=function(n,l){let u,t;t=Yn(n);for(let i in l){let f=l[i];if(u=t[i],gn(u))continue;if(f!=null&&u!=null&&typeof f==="object"&&!Array.isArray(f)&&typeof u==="object"&&!Array.isArray(u)&&Re(u))Me(n[i],f);else n[i]=f}return};function _f(n,l={}){let u,t,i,f,e,a,c,r,h;if(di("persistStash"),h=Yn(n)||n,h[Symbol.for("persisted")])return function(){return null};h[Symbol.for("persisted")]=!0,c=l.local?localStorage:sessionStorage,r=l.key||"__rip_app";try{if(e=c.getItem(r),e)a=JSON.parse(e),Me(n.data,a)}catch{}if(u=function(){return(()=>{try{return c.setItem(r,JSON.stringify(Yn(n.data),ef))}catch{return null}})()},f=ni(function(){let o;return mi.value,o=setTimeout(u,2000),function(){return clearTimeout(o)}}),window.addEventListener("beforeunload",u),t=Yn(n.data),t!=null&&typeof t==="object")Object.defineProperty(t,ji,{value(){return(()=>{try{return c.removeItem(r)}catch{return null}})()},configurable:!0,writable:!0});return i=!1,function(){if(i)return;if(i=!0,f?.(),window.removeEventListener("beforeunload",u),u(),t!=null&&typeof t==="object")t[ji]=null;return h[Symbol.for("persisted")]=!1}}function Xt(n,l={}){let u,t,i,f,e,a,c,r;if(u=Sn(l.initial??null),i=Sn(!1),t=Sn(null),a=0,f=null,c=async function(){let h,o;return f?.abort(),f=typeof AbortController<"u"?new AbortController:null,h=++a,i.value=!0,t.value=null,await(async()=>{try{if(o=await n(f?.signal),h!==a)return;return u.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}})()},e=function(){return a++,f?.abort(),f=null,i.value=!1,t.value=null},r={data:void 0,loading:void 0,error:void 0,refetch:c,dispose:e},Object.defineProperty(r,"data",{get(){return u.value}}),Object.defineProperty(r,"loading",{get(){return i.value}}),Object.defineProperty(r,"error",{get(){return t.value}}),!l.lazy)c().catch(function(){return null});return r}Yl=/^(\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 Ot(n){let l,u,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(Yl),t)return u=parseFloat(t[1]),(()=>{switch(t[2][0].toLowerCase()){case"s":return u*1000;case"m":return u*60000;case"h":return u*3600000;case"d":return u*86400000;case"w":return u*604800000;case"y":return u*31536000000;default:return u*1000}})();if(/^\d+$/.test(n))return parseInt(n,10)}return l=typeof n==="symbol"?String(n):JSON.stringify(n),console.warn(`[Rip] source: unrecognized staleTime ${l} — treating as 0 (use e.g. '5 min', '2 hours', a number of ms, or 'forever')`),0}Zl=30000;Ye=function(n,l){let u,t,i,f,e,a,c,r,h,o,s,w;return u=Sn(null),i=Sn(!1),t=Sn(null),c=0,e=null,r=null,s=0,a=0,o=async function(m,y){let _,R;if(e?.abort(),e=typeof AbortController<"u"?new AbortController:null,_=++c,!m)i.value=!0;return await(async()=>{try{if(R=await n(e?.signal),_!==c)return R;return t.value=null,u.value=R,s=Date.now(),a=y?s+Zl:0,R}catch(d){if(_!==c)return;if(d?.name==="AbortError")return;if(t.value=d,u.read()==null)throw s=0,d;return}finally{if(_===c)i.value=!1,r=null}})()},w=function(m,y){let _;return _=o(m,y),r=_,_},h=function(){return l===1/0||Date.now()-s<l||Date.now()<a},f={},f[pi]=!0,f.read=function(){let m;if(m=u.value,m==null&&!r&&s===0)w(!1).catch(function(){return null});return m},f.peek=function(){return u.read()},f.ensure=function(){let m,y;if(y=u.read(),s!==0){if(m=!h(),a=0,m&&!r)w(!0).catch(function(){return null});return Promise.resolve(y)}if(r)return r.finally(function(){return a=0});return w(!1)},f.preload=function(){let m;if(m=u.read(),s!==0){if(!h()&&!r)w(!0,!0).catch(function(){return null});return Promise.resolve(m)}if(r)return r;return w(!1,!0)},f.write=function(m){return c++,e?.abort(),e=null,r=null,i.value=!1,t.value=null,u.value=m,s=m!=null?Date.now():0,a=0,m},f.reset=function(){c++,e?.abort(),e=null,r=null,i.value=!1,t.value=null,u.value=null,s=0,a=0;return},f.refetch=function(){return w(!1)},Object.defineProperty(f,"loading",{get(){return i.value}}),Object.defineProperty(f,"error",{get(){return t.value}}),f};bl=64;rf=function(n,l){let u,t,i;return t=new Map,u=function(f){let e,a,c;if(c=f!=null&&typeof f==="object"?JSON.stringify(f):f,e=t.get(c),e)t.delete(c),t.set(c,e);else if(e=Ye(function(r){return n(f,r)},l),t.set(c,e),t.size>bl)for(let r of t.keys()){if(a=t.get(r),a.loading)continue;a.reset(),t.delete(r);break}return e},i=function(f){return u(f).read()},i[Li]=!0,i.cellFor=u,i.reset=function(){for(let f of t.values())f.reset();t.clear();return},i};function Pt(n){let l,u;return u=Ot(n.staleTime),l=n.fetch.length>=1?rf(n.fetch,u):Ye(n.fetch,u),l}function It(n,l={}){let u,t,i,f,e;return t=Sn(!1),i=Sn(!1),u=Sn(null),f=0,e=async function(...a){let c,r;c=++f,t.value=!0,i.value=!1,u.value=null;try{r=await n(...a)}catch(h){if(c!==f)return;u.value=h;try{if(l.onError)return await l.onError(h);else throw h}finally{t.value=!1}}if(c!==f)return;return await(async()=>{try{return i.value=!0,await l.onSuccess?.(r),r}finally{if(c===f)t.value=!1}})()},Object.defineProperty(e,"pending",{get(){return t.value}}),Object.defineProperty(e,"succeeded",{get(){return i.value}}),Object.defineProperty(e,"error",{get(){return u.value}}),e}gi=function(n){return typeof n==="function"?n:function(){return n.value}};Mi=function(n,l){return Object.defineProperty(n,"dispose",{value(){return l?.()},configurable:!0,writable:!0}),n};Qi=function(n,l,u){let t;return t={read(){return n.read()}},Object.defineProperty(t,"value",{get(){return n.value},set(i){return l.value=i}}),Mi(t,u)};var mf=function(n,l){let u,t,i;return t=gi(l),i=Sn(!!t()),u=ni(function(){let f;if(t())return f=setTimeout(function(){return i.value=!0},n),function(){return clearTimeout(f)};else return i.value=!1}),typeof l!=="function"?Qi(i,l,u):Mi(i,u)},Bt=function(n,l){let u,t,i;return t=gi(l),i=Sn(t()),u=ni(function(){let f,e;return e=t(),f=setTimeout(function(){return i.value=e},n),function(){return clearTimeout(f)}}),typeof l!=="function"?Qi(i,l,u):Mi(i,u)},vt=function(n,l){let u,t,i,f;return t=gi(l),f=Sn(t()),i=0,u=ni(function(){let e,a,c,r;if(r=t(),e=Date.now(),a=n-(e-i),a<=0)return f.value=r,i=e;else return c=setTimeout(function(){return f.value=t(),i=Date.now()},a),function(){return clearTimeout(c)}}),typeof l!=="function"?Qi(f,l,u):Mi(f,u)},Ct=function(n,l){let u,t,i;return t=gi(l),i=Sn(!!t()),u=ni(function(){let f;if(t())return i.value=!0;else return f=setTimeout(function(){return i.value=!1},n),function(){return clearTimeout(f)}}),typeof l!=="function"?Qi(i,l,u):Mi(i,u)};function yf(){let n,l,u,t;return l=new Map,t=new Set,n=new Map,u=function(i,f){let e=[];for(let a of Array.from(t))e.push((()=>{try{return a(i,f)}catch(c){return console.error("[Rip] watcher error:",c)}})());return e},{read(i){return l.get(i)},write(i,f){let e;return e=!l.has(i),l.set(i,f),n.delete(i),u(e?"create":"change",i)},del(i){return l.delete(i),n.delete(i),u("delete",i)},exists(i){return l.has(i)},size(){return l.size},list(i=""){let f,e,a;a=[],f=i?i+"/":"";for(let[c]of l)if(c.startsWith(f)){if(e=c.slice(f.length),e.includes("/"))continue;a.push(c)}return a},listAll(i=""){let f,e;e=[],f=i?i+"/":"";for(let[a]of l)if(a.startsWith(f))e.push(a);return e},load(i){let f=[];for(let e in i){let a=i[e];l.set(e,a),f.push(n.delete(e))}return f},watch(i){let f;return t.add(i),f=!1,function(){if(f)return;return f=!0,t.delete(i)}},getCompiled(i){return n.get(i)},setCompiled(i,f){return n.set(i,f)}}}tf=function(n){let l;if(l=n.replace(/\.rip$/,""),l=l.replace(/\[\.\.\.(\w+)\]/g,"*$1"),l=l.replace(/\[(\w+)\]/g,":$1"),l=l.split("/").filter(function(u){return!/^\(.+\)$/.test(u)}).join("/"),l==="index"||l==="")return"/";return l=l.replace(/\/index$/,""),"/"+l};cf=function(n){let l,u,t;return u=[],l=n.replace(/[.+?^${}()|[\]\\]/g,"\\$&"),t=l.replace(/\*(\w+)/g,function(i,f){return u.push(f),"(.*)"}).replace(/:(\w+)/g,function(i,f){return u.push(f),"([^/]+)"}),{regex:new RegExp("^"+t+"$"),names:u}};Fe=function(n,l){let u,t;for(let i of l)if(u=n.match(i.regex.regex),u){t={};for(let f=0;f<i.regex.names.length;f++){let e=i.regex.names[f];t[e]=decodeURIComponent(u[f+1])}return{route:i,params:t}}return null};Ti=function(n,l="_route"){let u,t,i,f,e,a,c,r,h,o;c=[],i=new Map,u=n.listAll(l);for(let s of u){if(a=s.slice(l.length+1),!a.endsWith(".rip"))continue;if(f=a.split("/").pop(),f==="_layout.rip"){t=a==="_layout.rip"?"":a.slice(0,-12),i.set(t,s);continue}if(f.startsWith("_"))continue;if(h=a.split("/"),h.length>1&&h.some(function(w,m){return m<h.length-1&&w.startsWith("_")}))continue;o=tf(a),e=cf(o),c.push({pattern:o,regex:e,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 m,y,_,R;if(y=(s.pattern.match(/:/g)||[]).length,R=(w.pattern.match(/:/g)||[]).length,m=s.pattern.includes("*")?1:0,_=w.pattern.includes("*")?1:0,m!==_)return m-_;if(y!==R)return y-R;return s.pattern.localeCompare(w.pattern)}),{routes:c,layouts:i}};qe=function(n,l,u){let t,i,f,e;if(t=[],f=n.slice(l.length+1),e=f.split("/"),i="",u.has(""))t.push(u.get(""));for(let a=0;a<e.length;a++){let c=e[a];if(a===e.length-1)break;if(i=i?i+"/"+c:c,u.has(i))t.push(u.get(i))}return t};function Af(n,l={}){let u,t,i,f,e,a,c,r,h,o,s,w,m,y,_,R,d,A,D,M,U,S,F,W,q,Y,H,g,v,p,b,ln,J,dn,G,O,Q,X;if(di("createRouter"),p=l.root||"_route",R=l.base||"",A=l.hash||!1,S=l.onError||null,G=function(E){if(!R)return E;if(E===R)return"/";if(E.startsWith(R+"/"))return E.slice(R.length);return E},o=function(E){return R?R+E:E},g=function(){let E;if(A){if(E=location.hash.slice(1),!E)return"/";return E[0]==="/"?E:"/"+E}else return location.pathname+location.search+location.hash},X=function(E){return A?E==="/"?location.pathname:"#"+E.slice(1):o(E)},c=Sn(G(A?g():location.pathname)),a=Sn({}),h=Sn(null),i=Sn([]),r=Sn({}),t=Sn(""),f=mf(100,Sn(!1)),e=Sn(c.value),O=Ti(n,p),D=new Set,Q=n.watch(function(E,Z){if(!Z.startsWith(p+"/"))return;return O=Ti(n,p)}),v=function(E){let Z,fn,k,tn,cn,on,N;if(cn=E.split("?")[0].split("#")[0],k=G(cn),k=k[0]==="/"?k:"/"+k,tn=E.split("?")[1]?.split("#")[0]||"",fn=E.includes("#")?E.split("#")[1]:"",on=Fe(k,O.routes),on){if(Z=k,tn)Z+=`?${tn}`;if(fn)Z+=`#${fn}`;Vi(function(){return c.value=k,a.value=on.params,h.value=on.route,i.value=qe(on.route.file,p,O.layouts),r.value=Object.fromEntries(new URLSearchParams(tn)),t.value=fn,e.value=Z}),N=Array.from(D);for(let L of N)try{L(b.current)}catch(C){console.error("[Rip] router onNavigate callback error:",C)}return!0}if(S)S({status:404,path:k});return!1},Y=null,typeof history<"u"&&"scrollRestoration"in history)Y=history.scrollRestoration,history.scrollRestoration="manual";if(H=function(E){return typeof window<"u"&&window.requestAnimationFrame?window.requestAnimationFrame(E):setTimeout(E,16)},w=function(E){let Z,fn;if(typeof window>"u")return;return Z=0,fn=function(){let k;return k=Math.max(0,(document?.documentElement?.scrollHeight||0)-window.innerHeight),window.scrollTo(0,Math.min(E,k)),Z+=1,E>k&&Z<20?H(fn):void 0},H(fn)},J=null,W=function(){if(J||typeof window>"u")return;return J=setTimeout(function(){return J=null,(()=>{try{return history.replaceState({...history.state||{},_ripScroll:window.scrollY},"",location.href)}catch{}})()},100)},typeof window<"u")window.addEventListener("scroll",W,{passive:!0});if(F=function(E){let Z;return Z=E?.state?._ripScroll,v(g()),typeof Z==="number"?w(Z):void 0},typeof window<"u")window.addEventListener("popstate",F);if(dn=function(E){let Z;if(!E?.href)return!0;if(Z=(()=>{try{return new URL(E.href,location.origin)}catch{return null}})(),!Z)return!0;if(Z.origin!==location.origin)return!0;if(E.target==="_blank")return!0;if(E.hasAttribute("download"))return!0;if(E.hasAttribute("data-router-ignore"))return!0;if(R&&!A){if(!(Z.pathname===R||Z.pathname.startsWith(R+"/")))return!0}return!1},U=function(E){let Z,fn,k,tn;if(E.defaultPrevented)return;if(E.button!==0||E.metaKey||E.ctrlKey||E.shiftKey||E.altKey)return;k=E.target;while(k&&k.tagName!=="A")k=k.parentElement;if(!k)return;if(dn(k))return;return tn=new URL(k.href,location.origin),E.preventDefault(),Z=A&&tn.hash?tn.hash.slice(1)||"/":tn.pathname+tn.search+tn.hash,fn=k.hasAttribute("data-router-noscroll"),b.push(Z,{noScroll:fn})},typeof document<"u")document.addEventListener("click",U);return q=new WeakSet,M=function(E){let Z;if(Z=E.split("?")[0].split("#")[0],Z=decodeURIComponent(Z),Z=G(Z),Z[0]!=="/")Z="/"+Z;if(Z.length>1&&Z.endsWith("/"))Z=Z.slice(0,-1);return Z},d=function(){let E;if(E=A?G(g()).split("?")[0].split("#")[0]:c.value.split("?")[0].split("#")[0],E[0]!=="/")E="/"+E;if(E.length>1&&E.endsWith("/"))E=E.slice(0,-1);return E},s=function(){let E,Z,fn,k,tn,cn;if(typeof document>"u")return;Z=d(),E=document.querySelectorAll("a[href]");for(let on of E){if(dn(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),fn=null,tn===Z)fn="page";if(!fn&&Z!=="/"&&Z.startsWith(tn+"/")&&tn!=="")fn="true";if(k=on.getAttribute("aria-current"),fn){if(k&&!q.has(on))continue;on.setAttribute("aria-current",fn),q.add(on)}else if(q.has(on))on.removeAttribute("aria-current"),q.delete(on)}return},y=null,_=!1,ln=function(){let E;if(_)return;return _=!0,E=function(){return _=!1,s()},typeof window<"u"&&window.requestAnimationFrame?window.requestAnimationFrame(E):setTimeout(E,0)},m=ni(function(){let E;if(typeof document>"u")return;if(d(),ln(),!y)y=new MutationObserver(function(){return ln()}),E=document.body||document.documentElement,y.observe(E,{childList:!0,subtree:!0});return}),b={push(E,Z){let fn;if(fn=typeof window<"u"?window.scrollY:0,v(E)){try{history.replaceState({...history.state||{},_ripScroll:fn},"",location.href)}catch{}return history.pushState({_ripScroll:0},"",X(e.read())),!Z?.noScroll&&typeof window<"u"?window.scrollTo(0,0):void 0}},replace(E,Z){if(v(E))return history.replaceState({_ripScroll:0},"",X(e.read())),!Z?.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(E){return D.add(E),function(){return D.delete(E)}},rebuild(){return O=Ti(n,p)},match(E){let Z,fn,k,tn,cn;if(/^[a-z][a-z0-9+.-]*:\/\//i.test(E)){if(cn=(()=>{try{return new URL(E,location.origin)}catch{return null}})(),!cn)return null;E=A&&cn.hash?cn.hash.slice(1)||"/":cn.pathname+cn.search+cn.hash}if(k=E.split("?")[0].split("#")[0],Z=G(k),Z=Z[0]==="/"?Z:"/"+Z,fn=E.split("?")[1]?.split("#")[0]||"",tn=Fe(Z,O.routes),!tn)return null;return{path:Z,params:tn.params,route:tn.route,layouts:qe(tn.route.file,p,O.layouts),query:Object.fromEntries(new URLSearchParams(fn)),hash:E.includes("#")?E.split("#")[1]:""}},ownsAnchor(E){return!dn(E)},routes:void 0,init(){return v(g()),b},destroy(){if(typeof window<"u")window.removeEventListener("popstate",F);if(typeof window<"u")window.removeEventListener("scroll",W);if(typeof document<"u")document.removeEventListener("click",U);if(Y!==null&&typeof history<"u")history.scrollRestoration=Y;return y?.disconnect(),y=null,m?.(),Q?.(),Q=null,f?.dispose?.(),D.clear()}},u=Ol(function(){return{path:c.value,params:a.value,route:h.value,layouts:i.value,query:r.value,hash:t.value}}),Object.defineProperty(b,"current",{get(){return u.value}}),Object.defineProperty(b,"path",{get(){return c.value}}),Object.defineProperty(b,"params",{get(){return a.value}}),Object.defineProperty(b,"route",{get(){return h.value}}),Object.defineProperty(b,"layouts",{get(){return i.value}}),Object.defineProperty(b,"query",{get(){return r.value}}),Object.defineProperty(b,"hash",{get(){return t.value}}),Object.defineProperty(b,"navigating",{get(){return f.value},set(E){return f.value=E}}),Object.defineProperty(b,"routes",{get(){return O.routes}}),b}de=function(n,l){if(n.length!==l.length)return!1;for(let u=0;u<n.length;u++)if(n[u]!==l[u])return!1;return!0};Ki=function(n){if(typeof n.default==="function"&&(n.default.prototype?.mount||n.default.prototype?._create))return n.default;for(let l in n){let u=n[l];if(typeof u==="function"&&(u.prototype?.mount||u.prototype?._create))return u}return typeof n.default==="function"?n.default:void 0};Se=function(n){let l;l={};for(let u in n){let t=n[u];if(typeof t==="function"&&(t.prototype?.mount||t.prototype?._create))l[u]=t}return l};uf=function(n){let l;return l=n.split("/").pop().replace(/\.rip$/,""),l.replace(/(^|[-_])([a-z])/g,function(u,t,i){return i.toUpperCase()})};lf=function(n,l=["_app","_lib","_pkg","_route"]){let u,t,i,f,e;t={},e=Array.isArray(l)?l:[l],f=[];for(let a of e)for(let c of n.listAll(a))f.push(c);for(let a of f){if(!a.endsWith(".rip"))continue;if(u=a.split("/").pop(),u.startsWith("_"))continue;if(u==="index.rip")continue;if(i=uf(a),t[i])console.warn(`[Rip] Component name collision: ${i} (${t[i]} vs ${a})`);t[i]=a}return t};hf=function(n,l,u){let t,i,f,e;if(i=n.replace(/^(\.\.\/|\.\/)+/,""),l){f=l.split("/"),f.pop();for(let a of n.split("/"))if(a==="..")f.pop();else if(a!==".")f.push(a);if(t=f.join("/"),u.exists(t))return t}if(u.exists(i))return i;for(let a of["_pkg","_lib","_app","_route"])if(e=`${a}/${i}`,u.exists(e))return e;return null};Ue=function(n){let l,u,t,i,f,e,a;if(!n)return[];if(e=n.trim(),!e)return[];if(i=[],l=e.indexOf("{"),l>=0){if(u=e.lastIndexOf("}"),u<0)return i;t=e.slice(l+1,u);for(let c of t.split(",")){if(a=c.trim(),!a)continue;i.push(a.split(/\s+as\s+/).pop().trim())}e=e.slice(0,l).replace(/,\s*$/,"").trim()}for(let c of e.split(",")){if(f=c.trim(),!f)continue;if(/^\*\s+as\s+/.test(f))i.push(f.replace(/^\*\s+as\s+/,"").trim());else i.push(f)}return i};$n=async function(n,l,u=null,t=null,i=null){let f,e,a,c,r,h,o,s,w,m,y,_,R,d,A,D,M,U,S,F,W,q,Y,H,g,v,p,b,ln,J,dn,G,O,Q,X;if(u&&t){if(h=u.getCompiled(t),h)return h}if(i&&t)i.compiling??={},i.compiling[t]=!0;return await(async()=>{try{if(s=globalThis?.__ripDebug?.enabled&&t,ln=0,D=s?l(n,{sourceMap:"inline",filename:t}):l(n),i){if(A=new Set,g=i.packages||{},Object.keys(g).length>0)e=/^(\s*import\s+(?:.*?\s+from\s+)?['"])(@rip-lang\/[^\/'"]+)((?:\/[^'"]*)?)(['"];?\s*)$/gm,D=D.replace(e,function(E,Z,fn,k,tn){let cn,on;if(cn=g[fn],!cn)return E;return on=!k?`_pkg/${cn.short}/${cn.entry}`:k.endsWith(".rip")?`_pkg/${cn.short}${k}`:`_pkg/${cn.short}${k}.rip`,`${Z}${on}${tn}`});if(H=/^(\s*)import\s+([^'"]+?)\s+from\s+['"](@rip-lang\/[^'"]+)['"];?\s*$/gm,D=D.replace(H,function(E,Z,fn,k){let tn,cn,on,N,L,C,en,rn;if(en=k.replace(/^(@rip-lang\/[^\/]+).*$/,"$1"),g[en])return E;if(rn=fn.trim(),rn.startsWith("type "))return`${Z}// type-only import erased: ${k}`;if(N=rn.indexOf("{"),cn=rn.lastIndexOf("}"),N<0||cn<=N)return console.warn(`[Rip] Skipping non-named import from ${k}; only named imports from '@rip-lang/*' are supported.`),E;C=[];for(let un of rn.slice(N+1,cn).split(",")){if(on=un.trim().replace(/^type\s+/,""),!on)continue;if(/\s+as\s+/.test(on))[L,tn]=on.split(/\s+as\s+/).map(function(sn){return sn.trim()}),C.push(`${L}: ${tn}`);else C.push(on)}if(C.length===0)return`${Z}// import erased: ${k}`;return`${Z}const { ${C.join(", ")} } = globalThis;`}),u){G=/^(\s*(?:import|export)\s+(?:(.*?)\s+from\s+)?['"])([^'"]*\.rip)(['"];?\s*)$/gm,U=Array.from(D.matchAll(G));for(let E=U.length-1;E>=0;E--){let Z=U[E];if([R,p,a,O,v]=Z,Q=hf(O,t,u),Q===t)continue;if(!Q){if(F=`[Rip] Could not resolve import: ${O}`,t)F+=` (from ${t})`;console.warn(F);continue}if(!i.blobUrls?.[Q]){if(i.compiling?.[Q])continue;if(m=u.read(Q),m)await $n(m,l,u,Q,i)}if(r=i.blobUrls?.[Q],r){dn=`${p}${r}${v}`,D=D.slice(0,Z.index)+dn+D.slice(Z.index+R.length);for(let fn of Ue(a))A.add(fn)}}}f=/^\s*(?:import|export)\s+(?:(.*?)\s+from\s+)?['"][^'"]*['"];?\s*$/gm;for(let E of D.matchAll(f))for(let Z of Ue(E[1]))A.add(Z);q={};for(let E in i.map){let Z=i.map[E];if(A.has(E))continue;if(Z!==t&&D.includes(`new ${E}(`)){if(!i.classes[E]){if(m=u.read(Z),m){w=await $n(m,l,u,Z,i),_=Se(w);for(let fn in _){let k=_[fn];i.classes[fn]=k}}}if(i.classes[E])q[E]=!0}}if(W=Object.keys(q),W.length>0)M=JSON.stringify(i.key),b=`const {${W.join(", ")}} = globalThis[${M}];
|
|
2977
|
-
`,D=
|
|
2978
|
-
`:"",d)ln+=1;if(y=d+D,s&&ln>0){if(Y=globalThis?.__ripDebug?.offsetSourceMap,Y)y=Y(y,ln)}if(c=new Blob([y],{type:"application/javascript"}),X=URL.createObjectURL(c),J=null,i&&t){if(i.blobUrls??={},J=i.blobUrls[t],J&&J!==X)try{URL.revokeObjectURL(J)}catch{}i.blobUrls[t]=X}if(S=await import(X),o=!0,i){_=Se(S);for(let E in _){let Z=_[E];i.classes[E]=Z}}if(u&&t)u.setCompiled(t,S);return S}finally{if(i&&t){if(i.compiling)delete i.compiling[t]}if(!o&&X&&i&&t){try{URL.revokeObjectURL(X)}catch{}if(i.blobUrls?.[t]===X)delete i.blobUrls[t]}}})()};ze=function(n,l){let u;return n.innerHTML="",u=document.createElement("pre"),u.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",u.textContent=l,n.appendChild(u)};function Df(n){let l,u,t,i,f,e,a,c,r,h,o,s,w,m,y,_,R,d,A,D,M,U,S,F,W,q,Y,H,g,v,p,b,ln,J,dn,G,O;if(di("createRenderer"),{router:g,app:u,components:f,resolver:Y,compile:i,target:J,onError:D}=n,F=n.preload==="intent",e=typeof J==="string"?document.querySelector(J):J||document.getElementById("app"),!e)e=document.createElement("div"),e.id="app",document.body.appendChild(e);return a=null,o=null,r=null,h=null,c=[],R=[],d=e,m=0,s=null,O=null,y=function(Q){if(!Y)return;if(Y.blobUrls?.[Q]){try{URL.revokeObjectURL(Y.blobUrls[Q])}catch{}delete Y.blobUrls[Q]}return Y.classes&&Y.map?(()=>{let X=[];for(let E in Y.map){let Z=Y.map[E];X.push(Z===Q?delete Y.classes[E]:void 0)}return X})():void 0},G=function(){if(a){try{a.unmount?.({removeDOM:!1})}catch(Q){console.error("[Rip] page unmount error:",Q)}return a=null,o=null}},dn=function(){G();for(let Q=R.length-1;Q>=0;Q--){let X=R[Q];try{X.unmount?.({removeDOM:!0})}catch(E){console.error("[Rip] layout unmount error:",E)}}return R=[],d=e,r=null,h=null,c=[]},v=function(Q,X){if(!(Q&&X))return!1;if(Object.keys(Q).length!==Object.keys(X).length)return!1;for(let E in Q){let Z=Q[E];if(X[E]!==Z)return!1}return!0},q=function(Q){let X;X=Yn(u.data);for(let E of Q.split(".")){if(!(X!=null&&typeof X==="object"))return null;if(X=X[E],gn(X))return X}return null},w=async function(Q,X,E,Z=!1,fn=0){let k,tn,cn,on,N,L,C,en,rn,un,sn,wn,_n,Rn;en=new Map;for(let An=0;An<Q.length;An++){let B=Q[An];if(An<fn)continue;if(N=B.cls?.__gates,!(N&&N.length))continue;for(let nn of N){if(_n=typeof nn==="string"?nn:nn.path,un=typeof nn==="string"?null:nn.key,k=q(_n),!k)throw Error(`[Rip] ${B.file}: '${_n} <~' does not resolve to a source — declare it with source() in app/stash.rip`);if(rn=void 0,Di(k)){if(!un)throw Error(`[Rip] ${B.file}: '${_n}' is a keyed source — gate with a key: ${_n}(params.…)`);rn=un(X||{},E||{}),k=k.cellFor(rn)}else if(un)throw Error(`[Rip] ${B.file}: '${_n}' is not a keyed source — drop the key argument`);if(L=_n+"|"+String(rn??""),C=en.get(L),!C)C={cell:k,owners:[],path:_n},en.set(L,C);C.owners.push(An)}}if(sn=[...en.values()],!sn.length)return{failedIndex:1/0,failure:null};Rn=await Promise.allSettled(sn.map(function(An){return Z?An.cell.preload():An.cell.ensure()})),cn=1/0,on=null;for(let An=0;An<Rn.length;An++){let B=Rn[An];if(tn=null,B.status==="rejected")tn=B.reason;else if(!Z&&B.value==null)tn=Error(`[Rip] gate '${sn[An].path} <~' resolved to ${B.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}},H=function(Q){let X;X=!1;for(let E=R.length-1;E>=0;E--){let Z=R[E];if(Z.onError)try{Z.onError(Q),X=!0;break}catch(fn){console.error("Renderer: error boundary failed:",fn)}}if(!X){if(console.error(`Renderer: gate '${Q.path}' failed:`,Q.error),D)D(Q);return dn(),ze(e,`${Q.status}: ${Q.message}`)}},A=async function(Q,X=!1){let E,Z,fn,k,tn,cn,on,N,L,C,en,rn,un,sn,wn,_n,Rn,An,B,nn,zn,Mn,P,T,x,$,an,j,hn,yn,mn,qn,Wn,Gn,Jn,Bn;if({route:qn,params:j,layouts:_n,query:yn}=Q,!qn)return;if(Wn=qn.file===o&&v(j,r),mn=function(){let En,Xn;if(En=a?.constructor,Xn=En?.__gates,!Xn)return!1;for(let ii of Xn)if(typeof ii!=="string"&&ii.key)try{if(ii.key(j||{},h||{})!==ii.key(j||{},yn||{}))return!0}catch{return!0}return!1},Wn&&!X&&!mn()){if(!v(yn,h)){if(h=yn,a?.load)try{await a.load(j,yn)}catch(En){if(console.error(`Renderer: error in query-only load for ${qn.file}:`,En),D)D({status:500,message:En.message,error:En})}}return}return en=++m,g.navigating=!0,await(async()=>{try{if(Jn=f.read(qn.file),!Jn){if(D)D({status:404,message:`File not found: ${qn.file}`});g.navigating=!1;return}if(nn=await $n(Jn,i,f,qn.file,Y),en!==m){g.navigating=!1;return}if(E=Ki(nn),!E){if(D)D({status:500,message:`No component found in ${qn.file}`});g.navigating=!1;return}wn=[];for(let En of _n){if(An=f.read(En),!An)continue;if(Rn=await $n(An,i,f,En,Y),en!==m){g.navigating=!1;return}if(Z=Ki(Rn),!Z)continue;wn.push({file:En,cls:Z})}if(on=[...wn,{file:qn.file,cls:E}],B=!de(_n,c),zn=B?0:wn.length,{failedIndex:L,failure:C}=await w(on,j,yn,!1,zn),en!==m){g.navigating=!1;return}if(P=a?._target,B)dn();else G();if(r=j,h=yn,Mn=B?e:d,N=Math.min(L,wn.length),B&&_n.length>0){e.innerHTML="",Mn=e,cn=globalThis.__ripComponent?.__pushComponent,k=globalThis.__ripComponent?.__popComponent,T=null;for(let En=0;En<wn.length;En++){let Xn=wn[En];if(En>=N)break;Z=Xn.cls,hn=cn?.(T),globalThis.__ripGateMount=Z;try{un=new Z({app:u,params:j,router:g})}finally{globalThis.__ripGateMount=null,k?.(hn)}if(un.beforeMount){fn=cn?.(un);try{un.beforeMount()}finally{k?.(fn)}}Bn=document.createElement("div"),Bn.setAttribute("data-layout",Xn.file),Mn.appendChild(Bn),un.mount(Bn),R.push(un),T=un,Gn=Bn.querySelector("#content")||Bn,Mn=Gn}c=N<wn.length?_n.slice(0,N):[..._n],d=Mn}else if(B)e.innerHTML="",c=[],d=e;if(C){P?.remove(),H(C),g.navigating=!1;return}an=document.createElement("div"),an.setAttribute("data-component",qn.file),Mn.appendChild(an),cn=globalThis.__ripComponent?.__pushComponent,k=globalThis.__ripComponent?.__popComponent,x=R[R.length-1]||null,$=cn?.(x),globalThis.__ripGateMount=E;try{sn=new E({app:u,params:j,query:yn,router:g})}finally{globalThis.__ripGateMount=null,k?.($)}if(sn.beforeMount){tn=cn?.(sn);try{sn.beforeMount()}finally{k?.(tn)}}if(sn.mount(an),a=sn,o=qn.file,sn.load)await sn.load(j,yn);return P?.remove(),g.navigating=!1}catch(En){if(g.navigating=!1,console.error(`Renderer: error mounting ${qn.file}:`,En),D)D({status:500,message:En.message,error:En});rn=!1;for(let Xn=R.length-1;Xn>=0;Xn--){let ii=R[Xn];if(ii.onError)try{ii.onError(En),rn=!0;break}catch(Rf){console.error("Renderer: error boundary failed:",Rf)}}return(()=>{if(!rn)return dn(),ze(e,En.stack||En.message)})()}})()},ln=!1,S=async function(Q){let X,E,Z,fn,k,tn,cn,on;if(Z=g.match?.(Q),!Z?.route)return;if(tn=de(Z.layouts,c),tn&&Z.route.file===o&&v(Z.params,r))return;if(X=[],!tn)for(let N of Z.layouts){if(k=f.read(N),!k)continue;if(fn=await $n(k,i,f,N,Y),E=Ki(fn),E)X.push({file:N,cls:E})}if(on=f.read(Z.route.file),on){if(cn=await $n(on,i,f,Z.route.file,Y),E=Ki(cn),E)X.push({file:Z.route.file,cls:E})}await w(X,Z.params,Z.query,!0);return},l=50,_={href:null,at:0},b=null,p=null,t=function(){if(b)clearTimeout(b),b=null;return p=null},M=function(Q){let X,E;X=Q.target;while(X&&X.tagName!=="A")X=X.parentElement;if(!X)return;if(!g.ownsAnchor?.(X))return;if(X===p)return;return t(),p=X,E=X.href,b=setTimeout(function(){let Z;if(b=null,p=null,Z=Date.now(),E===_.href&&Z-_.at<3000)return;return _.href=E,_.at=Z,S(E).catch(function(){return null})},l)},U=function(Q){let X;if(!p)return;return X=Q.relatedTarget,!(X&&p.contains(X))?t():void 0},W={start(){if(ln)return W;if(ln=!0,s=ni(function(){let Q;return Q=g.current,Q.route?A(Q):void 0}),O=f?.watch(function(Q,X){return(Array.isArray(["change","delete"])?["change","delete"].includes(Q):(Q in["change","delete"]))?y(X):void 0}),F)document.addEventListener("pointerover",M,{passive:!0}),document.addEventListener("focusin",M,{passive:!0}),document.addEventListener("pointerout",U,{passive:!0}),document.addEventListener("focusout",U,{passive:!0});return g.init(),W},stop(){if(!ln)return;if(ln=!1,dn(),s)s(),s=null;if(O?.(),O=null,t(),F)document.removeEventListener("pointerover",M),document.removeEventListener("focusin",M),document.removeEventListener("pointerout",U),document.removeEventListener("focusout",U);if(Y?.blobUrls){for(let Q in Y.blobUrls){if(!Object.hasOwn(Y.blobUrls,Q))continue;let X=Y.blobUrls[Q];try{URL.revokeObjectURL(X)}catch{}}Y.blobUrls={}}return e.innerHTML=""},remount(Q=!1){let X,E;return E=typeof Q==="object"?!!Q.force:!!Q,X=g.current,X.route?A(X,E):void 0}},W}ff=function(n){let l,u,t,i,f,e;return di("connectWatch"),f=1000,i=30000,l=!1,t=null,e=null,u=function(){if(l)return;return t=new EventSource(n),t.addEventListener("connected",function(){return f=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,l)return;return e=setTimeout(u,f),f=Math.min(f*2,i)}},u(),function(){if(l)return;if(l=!0,e)clearTimeout(e),e=null;return t?.close(),t=null}};async function Tt(n={}){let l,u,t,i,f,e,a,c,r,h,o,s,w,m,y,_,R,d,A,D,M,U,S,F,W,q,Y,H;if(di("launch"),u=(n.base||"").replace(/\/+$/,""),q=n.target||"#app",a=n.compile||null,y=n.persist||!1,w=n.hash||!1,!a)a=globalThis?.compileToJS||null;if(!document.querySelector(q))h=document.createElement("div"),h.id=q.replace(/^#/,""),document.body.prepend(h);if(n.bundle)i=n.bundle;else if(n.bundleUrl){if(m={},s=`__rip_etag_${n.bundleUrl}`,f=sessionStorage.getItem(s),f)m["If-None-Match"]=f;if(d=await fetch(n.bundleUrl,{headers:m}),d.status===304)i=JSON.parse(sessionStorage.getItem(`${s}_data`));else if(d.ok){if(i=await d.json(),o=d.headers.get("etag"),o)sessionStorage.setItem(s,o),sessionStorage.setItem(`${s}_data`,JSON.stringify(i))}else throw Error(`launch: ${n.bundleUrl} (${d.status})`)}else throw Error("launch: no bundle or bundleUrl provided");if(l=wf({components:{},routes:{},data:{}}),globalThis.__ripApp=l,t=yf(),i.modules)t.load(i.modules);if(e=`__rip_${u.replace(/\//g,"_")||"app"}`,A={map:lf(t),classes:{},key:e,packages:i.packages||{}},globalThis[e]=A.classes,F=null,S="_app/stash.rip",t.exists(S)){if(W=t.read(S),W)try{if(U=await $n(W,a,t,S,A),U?.stash)F=U.stash}catch(g){console.error(`[Rip] Failed to load app/stash.rip: ${g.message}`,g)}}if(F&&i.data)for(let g in i.data){let v=i.data[g];if(!gn(F[g]))F[g]=v}if(M=F??i.data,M)l.data=M;if(sf(Yn(l.data)),i.routes)l.routes=i.routes;if(_=null,y)_=_f(l,{local:y==="local",key:`__rip_${u}`});if(l.data.title)document.title=l.data.title;if(D=Af(t,{root:"_route",base:u,hash:w,onError(g){return console.error(`[Rip] Error ${g.status}: ${g.message||g.path}`)}}),globalThis.__ripRouter=D,R=Df({router:D,app:l,components:t,resolver:A,compile:a,target:q,preload:i.data?.preload==="intent"?"intent":!1,onError(g){return console.error(`[Rip] ${g.message}`,g.error)}}),R.start(),Y=null,i.data?.watch)Y=ff(`${u}/watch`);return H=window,r=!1,c=function(){if(r)return;if(r=!0,Y?.(),R.stop(),D.destroy(),_?.(),delete globalThis[e],delete globalThis.__ripApp,delete globalThis.__ripRouter,delete globalThis.__ripLaunched,H.app===l)delete H.app;return H.__RIP__?.app===l?delete H.__RIP__:void 0},H.app=l,H.__RIP__={app:l,components:t,router:D,renderer:R,resolver:A,destroy:c,version:"0.3.0"},globalThis.__ripLaunched=!0,{app:l,components:t,router:D,renderer:R,destroy:c}}Hn=function(n,l){if(!l)return;return n.preventDefault(),n.stopPropagation(),l()};globalThis.__ariaLastFocusedEl??=null;if(typeof document<"u"&&!globalThis.__ariaFocusTrackerBound)document.addEventListener("focusin",function(n){return globalThis.__ariaLastFocusedEl=n.target},!0),globalThis.__ariaFocusTrackerBound=!0;vl=function(n,l){if(n.isComposing)return;return(()=>{switch(n.key){case"ArrowDown":return Hn(n,l.next);case"ArrowUp":return Hn(n,l.prev);case"Home":case"PageUp":return Hn(n,l.first);case"End":case"PageDown":return Hn(n,l.last);case"Enter":case" ":return Hn(n,l.select);case"Escape":return Hn(n,l.dismiss);case"Tab":return l.tab?.();default:return n.key.length===1?l.char?.(n.key):void 0}})()};Tl=function(n,l,u,t=[],i=null){let f,e,a,c,r;if(e=function(h){return typeof h==="function"?h():h},r=e(l),r&&r.__ariaPopupDismiss)r.__ariaPopupDismiss(),r.__ariaPopupDismiss=null;if(!(n&&r))return;return a=(h)=>{return![r,...t.map(e)].some(function(o){return o?.contains(h.target)})?u():void 0},c=(h)=>{if(r?.contains(h.target))return;return i?i():u()},document.addEventListener("mousedown",a),window.addEventListener("scroll",c,!0),f=function(){return document.removeEventListener("mousedown",a),window.removeEventListener("scroll",c,!0)},r.__ariaPopupDismiss=f,f};jl=function(n=250){let l;return l=0,{block(u=n){return l=Date.now()+u},canOpen(){return Date.now()>=l}}};Il=function(n,l,u,t=null){let i,f,e,a,c,r,h,o,s,w,m;if(a=function(y){return typeof y==="function"?y():y},i=function(){let y,_;if(y=document.activeElement,y&&y!==document.body)return y;if(_=globalThis.__ariaLastFocusedEl,_?.isConnected!==!1)return _;return null},e=a(l),!e)return;if(!Object.hasOwn(HTMLElement.prototype,"togglePopover"))return;if(h=null,m=function(y){if(y){e.hidden=!1;try{e.inert=!1}catch{}return e.removeAttribute("aria-hidden")}else{try{e.inert=!0}catch{}return e.setAttribute("aria-hidden","true"),e.hidden=!0}},o=function(){let y,_;if(_=h,h=null,!_?.focus)return;return y=function(R=6){if(_.isConnected===!1)return;try{_.focus({preventScroll:!0})}catch{_.focus()}if(document.activeElement===_||R<=1)return;return setTimeout(function(){return y(R-1)},16)},requestAnimationFrame(function(){return y()})},e.__ariaBindPopover)e.removeEventListener("toggle",e.__ariaBindPopover),e.__ariaBindPopover=null;if(c=function(y){let _;if(_=y.newState==="open",_)h=a(t)||i(),m(!0);else m(!1),o();return u?.(_)},e.addEventListener("toggle",c),e.__ariaBindPopover=c,s=e.matches(":popover-open"),f=!!n,s!==f){if(w=a(t),f)h=w||i(),m(!0);r=w&&f?{force:f,source:w}:{force:f};try{e.togglePopover(r)}catch{}}else m(f);return function(){return e.removeEventListener("toggle",c),e.__ariaBindPopover===c?e.__ariaBindPopover=null:void 0}};Pl=function(n,l,u,t=!0){let i,f,e,a,c,r,h,o,s,w;if(e=function(m){return typeof m==="function"?m():m},i=function(){let m,y;if(m=document.activeElement,m&&m!==document.body)return m;if(y=globalThis.__ariaLastFocusedEl,y?.isConnected!==!1)return y;return null},f=e(l),!f?.showModal)return;if(o=null,w=function(m){if(m){f.hidden=!1;try{f.inert=!1}catch{}return f.removeAttribute("aria-hidden")}else{try{f.inert=!0}catch{}return f.setAttribute("aria-hidden","true"),f.hidden=!0}},s=function(){let m,y;if(y=o,o=null,!y?.focus)return;return m=function(_=6){if(y.isConnected===!1)return;try{y.focus({preventScroll:!0})}catch{y.focus()}if(document.activeElement===y||_<=1)return;return setTimeout(function(){return m(_-1)},16)},requestAnimationFrame(function(){return m()})},f.__ariaBindDialog)[r,h]=f.__ariaBindDialog,f.removeEventListener("cancel",r),f.removeEventListener("close",h),f.__ariaBindDialog=null;if(a=function(m){if(!t){m.preventDefault();return}return u?.(!1)},c=function(){return u?.(!1),w(!1),s()},f.addEventListener("cancel",a),f.addEventListener("close",c),f.__ariaBindDialog=[a,c],n&&!f.open){if(!o)o=i();w(!0);try{f.showModal()}catch{}}else if(!n&&f.open)f.close();else w(!!n);return function(){return f.removeEventListener("cancel",a),f.removeEventListener("close",c),f.__ariaBindDialog?.[0]===a?f.__ariaBindDialog=null:void 0}};xl=function(n,l,u="vertical"){let t,i;if(n.isComposing)return;return i=u!=="horizontal",t=u!=="vertical",(()=>{switch(n.key){case"ArrowDown":return i?Hn(n,l.next):void 0;case"ArrowUp":return i?Hn(n,l.prev):void 0;case"ArrowRight":return t?Hn(n,l.next):void 0;case"ArrowLeft":return t?Hn(n,l.prev):void 0;case"Home":case"PageUp":return Hn(n,l.first);case"End":case"PageDown":return Hn(n,l.last);case"Enter":case" ":return Hn(n,l.select);case"Escape":return Hn(n,l.dismiss);default:return n.key.length===1?l.char?.(n.key):void 0}})()};pl=function(n,l,u=4,t=!0){let i,f;if(!(n&&l))return;if(f=n.getBoundingClientRect(),l.style.position="fixed",l.style.left=`${f.left}px`,l.style.top=`${f.bottom+u}px`,l.style.minWidth=`${f.width}px`,i=l.getBoundingClientRect(),i.bottom>window.innerHeight)l.style.top=`${f.top-i.height-u}px`;if(i.right>window.innerWidth)l.style.left=`${window.innerWidth-i.width-u}px`;return t?l.style.visibility="visible":void 0};var jt='a[href],button:not([disabled]),input:not([disabled]),select:not([disabled]),textarea:not([disabled]),[tabindex]:not([tabindex="-1"])';kl=function(n){let l;return l=function(u){let t,i,f,e;if(u.key!=="Tab")return;if(e=n.querySelectorAll(jt),f=Array.from(e).filter(function(a){return a.offsetParent!==null}),!f.length)return;return t=f[0],i=f[f.length-1],u.shiftKey?document.activeElement===t?(u.preventDefault(),i.focus()):void 0:document.activeElement===i?(u.preventDefault(),t.focus()):void 0},n.addEventListener("keydown",l),function(){return n.removeEventListener("keydown",l)}};nf=function(n,l){let u,t;if(!n)return;if(t=n.querySelector("h1,h2,h3,h4,h5,h6"),t)t.id??=`${l}-title`,n.setAttribute("aria-labelledby",t.id);if(u=n.querySelector("p"),u)return u.id??=`${l}-desc`,n.setAttribute("aria-describedby",u.id)};Ai=[];Cl=function(n){let l;if(l=window.scrollY,Ai.push({instance:n,scrollY:l}),Ai.length===1)return document.body.style.position="fixed",document.body.style.top=`-${l}px`,document.body.style.width="100%"};$l=function(n){let l,u;if(l=Ai.findIndex(function(t){return t.instance===n}),l<0)return;if({scrollY:u}=Ai.splice(l,1)[0],!Ai.length)return document.body.style.position="",document.body.style.top="",document.body.style.width="",window.scrollTo(0,u)};vi=!1;zi=!1;ge=function(){let n,l,u;if(vi)return zi;if(!(typeof document<"u"&&document.body))return!1;return(()=>{try{return n=document.createElement("div"),l=document.createElement("div"),n.style.cssText="position:fixed;top:100px;left:100px;width:10px;height:10px;anchor-name:--probe",l.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(l),u=l.getBoundingClientRect(),n.remove(),l.remove(),zi=u.top>50,vi=!0,zi}catch{return vi=!0,zi=!1}})()};Xl=["position","inset","top","right","bottom","left","margin","marginTop","marginRight","marginBottom","marginLeft","transform","minWidth","positionAnchor","positionArea","positionTry","positionVisibility"];Ll=function(n){let l=[];for(let u of Xl)l.push(n.style[u]="");return l};Vl=function(n,l,u={}){let t,i,f,e,a,c,r,h;if(!(n&&l))return;if(a=u.placement??"bottom start",e=u.offset??4,i=u.matchWidth??!1,Ll(l),ge()){if(f=`--anchor-${l.id||Math.random().toString(36).slice(2,8)}`,c=l.__ariaPrevTrigger,c&&c!==n)try{c.style.anchorName=""}catch{}switch(l.__ariaPrevTrigger=n,n.style.anchorName=f,l.style.positionAnchor=f,l.style.position="fixed",l.style.inset="auto",l.style.margin="0",l.style.positionArea=a,l.style.positionTry="flip-block, flip-inline, flip-block flip-inline",l.style.positionVisibility="anchors-visible",[h]=a.split(" "),h){case"bottom":l.style.marginTop=`${e}px`;break;case"top":l.style.marginBottom=`${e}px`;break;case"left":l.style.marginRight=`${e}px`;break;case"right":l.style.marginLeft=`${e}px`;break}return i?l.style.minWidth="anchor-size(width)":void 0}else{switch(r=n.getBoundingClientRect(),l.style.position="fixed",l.style.inset="auto",l.style.margin="0",[h,t]=a.split(" "),t??="start",h){case"bottom":l.style.top=`${r.bottom+e}px`;break;case"top":l.style.bottom=`${window.innerHeight-r.top+e}px`;break;case"left":l.style.right=`${window.innerWidth-r.left+e}px`;break;case"right":l.style.left=`${r.right+e}px`;break}if(Array.isArray(["bottom","top"])?["bottom","top"].includes(h):(h in["bottom","top"]))switch(t){case"start":l.style.left=`${r.left}px`;break;case"center":l.style.left=`${r.left+r.width/2}px`,l.style.transform="translateX(-50%)";break;case"end":l.style.right=`${window.innerWidth-r.right}px`;break}else switch(t){case"start":l.style.top=`${r.top}px`;break;case"center":l.style.top=`${r.top+r.height/2}px`,l.style.transform="translateY(-50%)";break;case"end":l.style.bottom=`${window.innerHeight-r.bottom}px`;break}return i?l.style.minWidth=`${r.width}px`:void 0}};Bl=function(...n){return function(){let l=[];for(let u of n)l.push((()=>{try{return u?.()}catch{return null}})());return l}};globalThis.__aria??={listNav:vl,rovingNav:xl,popupDismiss:Tl,popupGuard:jl,bindPopover:Il,bindDialog:Pl,positionBelow:pl,trapFocus:kl,wireAria:nf,lockScroll:Cl,unlockScroll:$l,position:Vl,hasAnchor:ge,combine:Bl};globalThis.ARIA??=globalThis.__aria;ri.modules["app.rip"]=ki;for(let[n,l]of Object.entries(ki))if(typeof l==="function")globalThis[n]=l;})();
|
|
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}];
|
|
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;})();
|