rip-lang 3.14.4 → 3.14.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
- (()=>{var{defineProperty:Y2,getOwnPropertyNames:o3,getOwnPropertyDescriptor:r3}=Object,s3=Object.prototype.hasOwnProperty;function t3(f){return this[f]}var e3=(f)=>{var U=(j2??=new WeakMap).get(f),_;if(U)return U;if(U=Y2({},"__esModule",{value:!0}),f&&typeof f==="object"||typeof f==="function"){for(var W of o3(f))if(!s3.call(U,W))Y2(U,W,{get:t3.bind(f,W),enumerable:!(_=r3(f,W))||_.enumerable})}return j2.set(f,U),U},j2;var u4=(f)=>f;function f4(f,U){this[f]=u4.bind(null,U)}var b2=(f,U)=>{for(var _ in U)Y2(f,_,{get:U[_],enumerable:!0,configurable:!0,set:f4.bind(U,_)})};var $0={};b2($0,{rip:()=>J3,processRipScripts:()=>A3,parser:()=>z1,importRip:()=>S1,getStdlibCode:()=>m1,getReactiveRuntime:()=>k1,getComponentRuntime:()=>i1,formatSExpr:()=>X1,formatErrorHTML:()=>R2,formatError:()=>I1,compileToJS:()=>D1,compile:()=>f2,VERSION:()=>Q3,RipError:()=>Z1,Lexer:()=>K1,Compiler:()=>l1,CodeEmitter:()=>Y1,BUILD_DATE:()=>z3});var $4={symbolIds:{$accept:0,$end:1,error:2,Root:3,Body:4,Line:5,TERMINATOR:6,Expression:7,ExpressionLine:8,Statement:9,Return:10,STATEMENT:11,Import:12,Export:13,Value:14,Code:15,Operation:16,Assign:17,ReactiveAssign:18,ComputedAssign:19,ReadonlyAssign:20,Effect:21,If:22,Try:23,While:24,For:25,Switch:26,Class:27,Component:28,Render:29,Throw:30,Yield:31,Def:32,Enum:33,Schema:34,CodeLine:35,OperationLine:36,Assignable:37,Literal:38,Parenthetical:39,Range:40,Invocation:41,DoIife:42,This:43,Super:44,MetaProperty:45,MapLiteral:46,AlphaNumeric:47,JS:48,Regex:49,UNDEFINED:50,NULL:51,BOOL:52,INFINITY:53,NAN:54,SYMBOL:55,NUMBER:56,String:57,Identifier:58,IDENTIFIER:59,Property:60,PROPERTY:61,STRING:62,STRING_START:63,Interpolations:64,STRING_END:65,InterpolationChunk:66,INTERPOLATION_START:67,INTERPOLATION_END:68,INDENT:69,OUTDENT:70,REGEX:71,REGEX_START:72,REGEX_END:73,RegexWithIndex:74,",":75,"=":76,REACTIVE_ASSIGN:77,COMPUTED_ASSIGN:78,Block:79,READONLY_ASSIGN:80,EFFECT:81,SimpleAssignable:82,Array:83,Object:84,ThisProperty:85,".":86,"?.":87,INDEX_START:88,INDEX_END:89,Slice:90,PICK_START:91,PickList:92,OptComma:93,PICK_END:94,OPTPICK_START:95,ES6_OPTIONAL_INDEX:96,"{":97,ObjAssignable:98,":":99,FOR:100,ForVariables:101,FOROF:102,"}":103,WHEN:104,OWN:105,AssignList:106,AssignObj:107,ObjRestValue:108,SimpleObjAssignable:109,"[":110,"]":111,"@":112,"...":113,ObjSpreadExpr:114,SUPER:115,Arguments:116,DYNAMIC_IMPORT:117,MAP_START:118,MAP_END:119,MapAssignList:120,MapAssignObj:121,MapAssignable:122,PickItem:123,PickKey:124,Elisions:125,ArgElisionList:126,OptElisions:127,ArgElision:128,Arg:129,Elision:130,RangeDots:131,"..":132,DEF:133,CALL_START:134,ParamList:135,CALL_END:136,PARAM_START:137,PARAM_END:138,FuncGlyph:139,"->":140,"=>":141,Param:142,ParamVar:143,Splat:144,ES6_OPTIONAL_CALL:145,ArgList:146,SimpleArgs:147,THIS:148,NEW_TARGET:149,IMPORT_META:150,"(":151,")":152,RETURN:153,THROW:154,YIELD:155,FROM:156,IfBlock:157,IF:158,ELSE:159,UnlessBlock:160,UNLESS:161,POST_IF:162,POST_UNLESS:163,TRY:164,Catch:165,FINALLY:166,CATCH:167,SWITCH:168,Whens:169,When:170,LEADING_WHEN:171,WhileSource:172,WHILE:173,UNTIL:174,Loop:175,LOOP:176,FORIN:177,BY:178,FORAS:179,AWAIT:180,FORASAWAIT:181,ForValue:182,CLASS:183,EXTENDS:184,ENUM:185,SCHEMA:186,SCHEMA_BODY:187,COMPONENT:188,ComponentBody:189,ComponentLine:190,OFFER:191,ACCEPT:192,RENDER:193,IMPORT:194,ImportDefaultSpecifier:195,ImportNamespaceSpecifier:196,ImportSpecifierList:197,ImportSpecifier:198,AS:199,DEFAULT:200,IMPORT_ALL:201,EXPORT:202,ExportSpecifierList:203,EXPORT_ALL:204,ExportSpecifier:205,UNARY:206,DO:207,DO_IIFE:208,UNARY_MATH:209,"-":210,"+":211,"?":212,PRESENCE:213,"--":214,"++":215,MATH:216,"**":217,SHIFT:218,COMPARE:219,"&":220,"^":221,"|":222,"||":223,"??":224,"&&":225,PIPE:226,RELATION:227,TERNARY:228,COMPOUND_ASSIGN:229},tokenNames:{2:"error",6:"TERMINATOR",11:"STATEMENT",48:"JS",50:"UNDEFINED",51:"NULL",52:"BOOL",53:"INFINITY",54:"NAN",55:"SYMBOL",56:"NUMBER",59:"IDENTIFIER",61:"PROPERTY",62:"STRING",63:"STRING_START",65:"STRING_END",67:"INTERPOLATION_START",68:"INTERPOLATION_END",69:"INDENT",70:"OUTDENT",71:"REGEX",72:"REGEX_START",73:"REGEX_END",75:",",76:"=",77:"REACTIVE_ASSIGN",78:"COMPUTED_ASSIGN",80:"READONLY_ASSIGN",81:"EFFECT",86:".",87:"?.",88:"INDEX_START",89:"INDEX_END",91:"PICK_START",94:"PICK_END",95:"OPTPICK_START",96:"ES6_OPTIONAL_INDEX",97:"{",99:":",100:"FOR",102:"FOROF",103:"}",104:"WHEN",105:"OWN",110:"[",111:"]",112:"@",113:"...",115:"SUPER",117:"DYNAMIC_IMPORT",118:"MAP_START",119:"MAP_END",132:"..",133:"DEF",134:"CALL_START",136:"CALL_END",137:"PARAM_START",138:"PARAM_END",140:"->",141:"=>",145:"ES6_OPTIONAL_CALL",148:"THIS",149:"NEW_TARGET",150:"IMPORT_META",151:"(",152:")",153:"RETURN",154:"THROW",155:"YIELD",156:"FROM",158:"IF",159:"ELSE",161:"UNLESS",162:"POST_IF",163:"POST_UNLESS",164:"TRY",166:"FINALLY",167:"CATCH",168:"SWITCH",171:"LEADING_WHEN",173:"WHILE",174:"UNTIL",176:"LOOP",177:"FORIN",178:"BY",179:"FORAS",180:"AWAIT",181:"FORASAWAIT",183:"CLASS",184:"EXTENDS",185:"ENUM",186:"SCHEMA",187:"SCHEMA_BODY",188:"COMPONENT",191:"OFFER",192:"ACCEPT",193:"RENDER",194:"IMPORT",199:"AS",200:"DEFAULT",201:"IMPORT_ALL",202:"EXPORT",204:"EXPORT_ALL",206:"UNARY",207:"DO",208:"DO_IIFE",209:"UNARY_MATH",210:"-",211:"+",212:"?",213:"PRESENCE",214:"--",215:"++",216:"MATH",217:"**",218:"SHIFT",219:"COMPARE",220:"&",221:"^",222:"|",223:"||",224:"??",225:"&&",226:"PIPE",227:"RELATION",228:"TERNARY",229:"COMPOUND_ASSIGN"},parseTable:(()=>{let f=[112,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,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,-1,1,2,3,4,5,6,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,1,1,0,2,1,5,-2,112,5,1,5,62,2,82,-3,-3,-3,-3,-3,30,1,5,62,1,1,5,25,11,25,16,10,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-6,-6,-6,-6,-6,-6,131,-6,-6,-6,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,9,1,5,62,1,1,5,36,25,16,-7,-7,-7,-7,-7,-7,-7,-7,-7,14,1,5,62,1,1,5,36,25,16,10,1,9,1,1,-8,-8,-8,-8,-8,-8,-8,-8,-8,132,133,134,101,102,58,1,5,51,5,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,3,3,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-13,-13,137,110,111,-13,-13,-13,-13,140,141,142,-13,143,-13,144,145,-13,-13,-13,-13,-13,-13,-13,138,-13,-13,146,-13,-13,139,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,135,136,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,47,1,5,62,1,1,5,11,1,1,1,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-14,-14,-14,-14,-14,-14,147,148,149,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,9,1,5,62,1,1,5,36,25,16,-34,-34,-34,-34,-34,-34,-34,-34,-34,9,1,5,62,1,1,5,36,25,16,-35,-35,-35,-35,-35,-35,-35,-35,-35,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-36,-36,-36,-36,-36,-36,-36,-36,150,151,152,153,154,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,18,6,52,1,10,1,5,8,1,1,12,13,2,1,22,1,2,4,1,-217,159,109,-217,-217,-217,161,162,160,104,164,163,158,155,-217,-217,156,157,111,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,3,1,6,2,1,7,2,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,166,4,5,6,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,167,107,108,165,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,108,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,168,169,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,108,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,171,172,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,173,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,179,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,180,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,106,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,181,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,182,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,48,14,1,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,12,13,2,3,2,1,19,2,1,1,7,1,1,1,57,184,185,186,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,183,75,76,98,104,87,91,88,89,94,174,175,95,96,90,92,93,86,178,48,14,1,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,12,13,2,3,2,1,19,2,1,1,7,1,1,1,57,184,185,186,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,187,75,76,98,104,87,91,88,89,94,174,175,95,96,90,92,93,86,178,64,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,188,189,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,190,108,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,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,7,2,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,192,191,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,167,107,108,193,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,194,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,2,69,10,167,195,2,69,10,167,196,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,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,-307,14,40,18,1,24,1,1,12,4,4,5,2,31,37,2,200,159,109,161,162,160,104,197,198,87,163,202,199,201,106,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,203,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,204,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,94,1,5,8,1,22,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,4,3,1,1,1,4,5,3,2,1,2,1,1,6,1,1,1,2,2,1,1,13,4,1,1,1,1,1,7,1,1,1,1,7,3,1,10,1,3,1,1,2,3,24,2,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-349,-349,184,185,186,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-349,167,-349,107,108,-349,205,207,75,76,98,-349,-349,104,-349,-349,-349,-349,-349,87,-349,91,-349,88,89,94,-349,-349,-349,174,-349,175,95,96,90,92,93,86,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,206,178,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,2,69,115,208,209,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,7,2,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,211,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,167,107,108,210,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,106,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,212,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,213,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,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,3,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,6,1,1,1,1,4,5,3,2,1,2,1,1,6,1,1,1,2,2,1,1,13,1,3,1,1,1,1,1,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,4,4,1,1,1,1,1,1,1,1,1,2,2,1,2,5,1,8,4,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-268,-268,214,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-268,215,-268,107,108,-268,55,54,75,76,98,-268,-268,104,-268,-268,-268,-268,-268,87,-268,91,-268,88,89,94,-268,-268,68,-268,174,-268,175,95,96,90,92,93,86,-268,72,66,67,216,56,99,-268,57,100,-268,-268,58,62,59,-268,-268,60,103,-268,-268,-268,51,-268,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,2,58,1,217,109,2,58,1,218,109,1,187,219,6,15,20,102,2,1,1,221,220,44,45,95,96,144,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,3,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,6,1,1,1,1,4,5,3,2,1,2,1,1,6,1,1,1,2,2,1,1,13,1,3,1,1,1,1,1,7,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,4,4,1,1,1,1,1,1,1,1,1,2,2,1,2,5,1,8,4,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-265,-265,222,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-265,223,-265,107,108,-265,55,54,75,76,98,-265,-265,104,-265,-265,-265,-265,-265,87,-265,91,-265,88,89,94,-265,-265,68,-265,174,-265,175,95,96,90,92,93,86,-265,72,66,67,56,99,-265,57,100,-265,-265,58,62,59,-265,-265,60,103,-265,-265,-265,51,-265,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,9,57,1,1,3,1,34,98,1,5,224,228,109,110,111,227,225,226,229,63,14,1,3,1,1,1,6,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,9,1,1,1,1,12,13,2,3,2,1,15,4,2,1,1,7,1,1,1,32,2,3,12,4,4,184,185,236,237,238,239,231,232,233,234,242,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,235,109,110,111,107,108,55,243,75,76,98,230,87,91,88,89,94,68,174,175,95,96,90,92,93,86,63,69,64,240,241,178,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,111,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,3,1,6,2,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,244,3,4,5,6,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,245,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,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,3,1,6,2,1,3,6,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,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,246,255,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,252,107,108,253,55,54,75,76,98,104,61,87,247,91,257,88,89,94,248,249,251,254,250,68,44,45,95,96,256,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,4,86,2,28,18,259,260,258,146,2,116,18,261,146,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,58,1,5,54,1,1,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-250,-250,262,263,-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,-250,1,86,264,1,86,265,35,6,33,8,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,6,1,1,1,3,8,1,1,12,13,2,1,6,1,1,1,29,-155,283,274,275,278,277,276,279,280,284,105,106,271,109,272,263,110,111,-155,-155,107,108,-155,281,282,273,104,164,163,270,266,267,268,269,86,57,11,37,2,1,1,1,1,1,1,3,3,1,6,2,1,9,16,3,10,2,3,2,1,15,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,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,37,2,1,1,1,1,1,1,3,3,1,6,2,1,9,16,3,10,2,3,2,1,15,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,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,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,285,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,286,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,287,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,288,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,7,2,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,290,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,167,107,108,289,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,23,6,41,9,1,1,1,1,1,1,1,6,1,5,10,13,5,3,1,1,1,1,2,1,-116,296,105,106,298,109,299,263,110,111,-116,-116,-116,300,291,-116,292,297,301,293,294,295,302,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,48,14,1,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,12,13,2,3,2,1,19,2,1,1,7,1,1,1,57,184,185,186,35,36,37,303,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,243,75,76,98,104,87,91,88,89,94,174,175,95,96,90,92,93,86,178,67,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,4,3,3,1,10,1,3,1,1,2,3,15,11,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,59,1,5,56,1,2,2,1,1,1,3,2,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,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,6,57,5,1,1,2,1,307,110,111,304,305,306,114,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,3,1,5,2,1,1,9,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,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,-5,308,-5,4,5,6,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-5,-5,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,-5,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,309,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,310,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,311,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,312,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,313,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,314,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,315,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,316,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,317,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,320,170,318,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,319,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,323,170,321,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,322,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,326,170,324,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,325,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,327,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,328,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,329,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,330,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,331,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,14,40,18,1,24,1,1,12,4,4,5,2,31,37,2,335,159,109,161,162,160,104,332,333,87,163,202,334,201,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,336,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,337,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,57,1,5,56,1,5,1,1,3,2,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,57,1,5,56,1,5,1,1,3,2,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,2,116,18,338,146,2,60,1,339,263,2,60,1,340,263,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,3,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,7,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,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,341,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,346,80,81,82,83,84,85,105,106,97,109,110,111,342,107,108,344,55,54,75,76,98,343,104,61,87,91,348,88,89,94,345,347,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,8,58,1,1,1,8,23,31,1,353,109,354,263,350,349,351,352,8,58,1,1,1,8,23,31,1,353,109,354,263,356,355,351,352,1,88,357,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,3,1,6,2,1,9,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,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,362,255,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,361,107,108,55,54,75,76,98,104,61,87,91,257,88,89,94,360,68,358,44,45,95,96,256,359,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,2,60,1,363,263,2,60,1,364,263,106,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,365,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,366,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,107,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,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,368,367,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,369,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,107,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,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,371,370,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,372,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,108,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,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,7,2,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,374,373,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,167,107,108,375,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,107,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,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,377,376,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,378,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,108,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,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,7,2,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,380,379,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,167,107,108,381,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,11,6,63,1,5,18,1,9,8,8,17,2,-261,-261,-261,383,384,-261,-261,-261,-261,-261,382,6,6,63,1,5,61,2,-218,-218,-218,-218,-218,-218,7,6,63,1,5,1,60,2,-222,-222,-222,-222,385,-222,-222,15,6,52,1,10,1,5,8,1,1,12,13,2,24,2,5,-225,159,109,-225,-225,-225,161,162,160,104,164,163,-225,-225,386,11,6,63,1,5,1,26,34,2,39,2,2,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,11,6,63,1,5,1,26,34,2,39,2,2,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,11,6,63,1,5,1,26,34,2,39,2,2,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,11,6,63,1,5,1,26,34,2,39,2,2,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,2,60,1,262,263,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,3,1,6,2,1,3,6,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,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,362,255,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,252,107,108,253,55,54,75,76,98,104,61,87,247,91,257,88,89,94,248,249,251,254,250,68,44,45,95,96,256,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,9,1,5,62,1,1,5,36,25,16,-214,-214,-214,-214,-214,-214,-214,-214,-214,111,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,3,1,7,1,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,388,3,4,5,6,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,387,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,130,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,123,-420,-420,-420,-420,9,1,5,62,1,1,5,36,25,16,-417,-417,-417,-417,-417,-417,-417,-417,-417,5,162,1,9,1,1,132,133,134,101,102,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,130,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,123,-421,-421,-421,-421,9,1,5,62,1,1,5,36,25,16,-418,-418,-418,-418,-418,-418,-418,-418,-418,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,130,-422,-422,-422,-422,-422,-422,-422,-422,-422,116,-422,-422,-422,-422,-422,-422,123,-422,-422,-422,-422,18,6,52,1,10,1,5,8,1,1,12,13,2,1,22,1,2,4,1,-217,159,109,-217,-217,-217,161,162,160,104,164,163,158,389,-217,-217,156,157,2,69,10,167,165,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,168,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,171,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,5,15,122,2,1,1,221,174,175,95,96,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,130,-423,-423,-423,-423,-423,-423,-423,-423,-423,116,-423,-423,-423,-423,-423,-423,123,-423,-423,-423,-423,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,130,-424,-424,-424,-424,-424,-424,-424,-424,-424,116,-424,-424,-424,-424,-424,-424,123,-424,-424,-424,-424,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,130,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,123,-427,-427,-427,-427,2,84,13,390,104,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-429,-429,-89,-89,-429,-429,-429,-429,-89,-89,-89,-89,-89,-89,-89,-89,-429,-89,-429,-89,-89,-429,-429,-429,-429,-429,-429,-429,-429,-429,-89,-429,-429,-89,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-89,-89,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,12,57,5,1,23,1,1,3,4,1,20,18,11,137,110,111,140,141,142,143,144,145,138,146,139,3,86,1,1,147,148,149,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-430,-430,-89,-89,-430,-430,-430,-430,-89,-89,-89,-89,-89,-89,-89,-89,-430,-89,-430,-89,-89,-430,-430,-430,-430,-430,-430,-430,-430,-430,-89,-430,-430,-89,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-89,-89,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,107,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,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,393,391,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,392,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-86,-86,-86,-86,-86,-86,-86,-86,-86,131,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,128,129,130,101,102,-86,-86,-86,-86,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,394,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,3,69,10,79,167,395,396,47,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,2,1,1,6,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,397,398,399,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,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,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,4,102,75,2,2,401,400,402,403,11,58,1,24,1,1,12,4,9,2,31,39,159,109,161,162,160,104,404,164,163,202,201,11,58,1,24,1,1,12,4,9,2,31,39,159,109,161,162,160,104,405,164,163,202,201,3,69,10,99,167,406,407,5,75,27,75,2,2,408,-347,-347,-347,-347,6,75,1,26,75,2,2,-345,409,-345,-345,-345,-345,22,69,31,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,410,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,3,169,1,1,411,412,413,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,414,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,63,1,5,56,1,5,1,1,5,1,1,1,1,1,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-353,-353,-89,-89,-353,167,-353,-353,-89,-89,-89,415,-89,-89,-89,-89,-89,-353,-89,-353,-89,-89,-353,-353,-353,-353,-353,-353,-353,-353,-353,-89,-353,-353,-89,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,416,-353,-353,-89,-89,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,112,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,1,1,1,1,1,1,8,4,1,1,1,1,1,3,1,419,420,421,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,417,418,422,423,65,73,74,46,47,71,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,424,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-370,-370,-370,-370,-370,-370,-370,-370,-370,131,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,130,101,102,-370,-370,-370,-370,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,130,-266,-266,-266,-266,-266,-266,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,2,84,13,425,104,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,130,-269,-269,-269,-269,-269,-269,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,2,84,13,426,104,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,427,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,3,69,10,55,167,429,428,2,69,10,167,430,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,9,1,5,62,1,1,5,36,25,16,-419,-419,-419,-419,-419,-419,-419,-419,-419,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,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,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,130,-263,-263,-263,-263,-263,-263,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,2,84,13,431,104,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,2,75,81,433,432,1,156,434,7,58,1,10,34,94,1,2,439,109,438,435,436,437,440,2,75,81,-387,-387,1,199,441,26,6,41,9,1,1,1,1,1,1,1,6,1,5,10,13,5,3,1,1,1,1,2,1,87,3,2,-116,296,105,106,446,109,299,263,110,111,445,-116,-116,300,291,442,292,297,301,293,294,295,302,447,443,444,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-92,-92,-92,-92,-92,-92,-92,-92,448,-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,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,106,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,449,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,450,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,1,156,451,60,1,5,56,1,5,1,1,5,2,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-36,-36,-36,-36,-36,-36,-36,-36,151,152,153,154,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,2,6,146,112,452,110,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,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,453,3,4,5,6,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,30,6,63,1,5,25,11,2,18,1,4,26,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-243,-243,-243,-243,131,-243,348,454,347,-243,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,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,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,3,1,8,1,3,6,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,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,362,255,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,253,55,54,75,76,98,104,61,87,455,91,257,88,89,94,457,456,68,44,45,95,96,256,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,11,6,63,1,5,18,1,9,8,8,8,9,-261,-261,-261,459,460,-261,-261,-261,-261,458,-261,62,6,5,37,2,1,1,1,1,1,1,3,3,1,6,1,1,1,3,6,16,3,10,1,1,1,2,2,1,15,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,461,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-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,63,1,5,36,-189,-189,-189,-189,-189,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,3,1,6,2,1,3,6,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,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,362,255,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,252,107,108,253,55,54,75,76,98,104,61,87,91,257,88,89,94,463,462,251,254,250,68,44,45,95,96,256,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,62,6,5,37,2,1,1,1,1,1,1,3,3,1,6,1,1,1,3,6,16,3,10,1,1,1,2,2,1,15,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,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,63,1,5,36,-194,-194,-194,-194,-194,6,6,63,1,5,36,25,-244,-244,-244,-244,-244,-244,6,6,63,1,5,36,25,-245,-245,-245,-245,-245,-245,111,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,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,1,1,1,3,6,1,1,1,1,12,3,10,1,1,3,2,1,15,3,1,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,-246,464,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-246,-246,107,108,-246,55,54,75,76,98,104,61,87,-246,91,88,89,94,68,-246,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,57,1,5,56,1,5,1,1,3,2,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,2,60,1,465,263,106,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,466,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,467,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,57,1,5,56,1,5,1,1,3,2,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,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,-235,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,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,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,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,2,60,1,468,263,2,60,1,469,263,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-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,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,471,470,-261,-261,-261,-261,-261,5,6,63,1,5,44,-156,-156,-156,-156,-156,1,99,472,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,473,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,1,99,-172,1,99,-173,1,99,-174,1,99,-175,1,99,-176,1,99,-177,1,99,-178,1,99,-179,1,99,-180,1,99,-181,1,99,-182,1,99,-183,1,99,-184,1,99,-185,23,69,10,21,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,474,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,23,69,10,21,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,475,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-300,-300,-300,-300,-300,-300,-300,-300,-300,131,-300,-300,476,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,130,101,102,-300,-300,-300,-300,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-302,-302,-302,-302,-302,-302,-302,-302,-302,131,-302,-302,477,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,130,101,102,-302,-302,-302,-302,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,46,1,5,62,1,1,5,4,10,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-309,-309,-309,167,-309,-309,478,-309,-309,-309,131,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,130,101,102,-309,-309,-309,-309,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,6,6,63,1,5,24,4,-121,-121,-121,-121,479,-121,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,481,480,-261,-261,-261,-261,-261,7,6,63,1,5,1,23,4,-130,-130,-130,-130,482,-130,-130,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,483,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,3,60,1,49,262,263,484,6,6,63,1,5,24,4,-133,-133,-133,-133,-133,-133,5,6,63,1,5,28,-117,-117,-117,-117,-117,13,6,63,1,5,1,10,1,1,3,4,4,4,31,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,13,6,63,1,5,1,10,1,1,3,4,4,4,31,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,13,6,63,1,5,1,10,1,1,3,4,4,4,31,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,5,6,63,1,5,28,-122,-122,-122,-122,-122,17,39,4,1,14,1,1,1,23,1,12,12,3,2,1,2,31,3,488,490,489,298,109,299,263,487,300,104,485,91,486,491,492,90,86,57,1,5,56,1,5,1,1,3,2,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-40,-40,-40,-40,-40,-40,-40,493,-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,6,57,5,1,2,1,1,307,110,111,494,495,306,4,62,1,2,2,-61,-61,-61,-61,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,3,1,5,1,2,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,496,3,4,5,6,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,498,497,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,4,62,1,2,2,-66,-66,-66,-66,5,1,5,62,2,82,-4,-4,-4,-4,-4,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,130,-433,-433,-433,-433,-433,-433,-433,-433,115,116,-433,-433,-433,-433,-433,-433,123,-433,-433,-433,-433,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,130,-434,-434,-434,-434,-434,-434,-434,-434,115,116,-434,-434,-434,-434,-434,-434,123,-434,-434,-434,-434,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,130,-435,-435,-435,-435,-435,-435,-435,-435,-435,116,-435,-435,-435,-435,-435,-435,123,-435,-435,-435,-435,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,130,-436,-436,-436,-436,-436,-436,-436,-436,-436,116,-436,-436,-436,-436,-436,-436,123,-436,-436,-436,-436,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,130,-437,-437,-437,-437,-437,-437,114,113,115,116,-437,-437,-437,-437,-437,-437,123,-437,-437,-437,-437,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,130,-438,-438,-438,-438,-438,-438,114,113,115,116,117,-438,-438,-438,-438,-438,123,-438,-438,126,-438,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,130,-439,-439,-439,-439,-439,-439,114,113,115,116,117,118,-439,-439,-439,-439,123,-439,-439,126,-439,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,130,-440,-440,-440,-440,-440,-440,114,113,115,116,117,118,119,-440,-440,-440,123,-440,-440,126,-440,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,130,-441,-441,-441,-441,-441,-441,114,113,115,116,117,118,119,120,-441,-441,123,-441,-441,126,-441,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,130,-449,-449,-449,-449,-449,-449,114,113,115,116,117,118,119,120,121,-449,123,124,-449,126,-449,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-450,-450,-450,-450,-450,-450,-450,-450,-450,131,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,128,129,130,101,102,-450,-450,-450,-450,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,130,-448,-448,-448,-448,-448,-448,114,113,115,116,117,118,119,120,121,-448,123,-448,-448,126,-448,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,130,-451,-451,-451,-451,-451,-451,114,113,115,116,117,118,119,120,121,122,123,124,-451,126,-451,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,130,-452,-452,-452,-452,-452,-452,114,113,115,116,117,-452,-452,-452,-452,-452,123,-452,-452,-452,-452,22,99,1,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,499,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-280,-280,-280,-280,-280,-280,-280,-280,-280,131,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,500,-280,-280,130,101,102,-280,-280,-280,-280,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-284,-284,-284,-284,-284,-284,-284,-284,-284,131,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,130,101,102,-284,-284,-284,-284,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,4,102,75,2,2,502,501,503,504,11,58,1,24,1,1,12,4,9,2,31,39,159,109,161,162,160,104,505,164,163,202,201,11,58,1,24,1,1,12,4,9,2,31,39,159,109,161,162,160,104,506,164,163,202,201,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,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,-343,-343,-343,507,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-279,-279,-279,-279,-279,-279,-279,-279,-279,131,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,130,101,102,-279,-279,-279,-279,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-283,-283,-283,-283,-283,-283,-283,-283,-283,131,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,130,101,102,-283,-283,-283,-283,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,57,1,5,56,1,5,1,1,3,2,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,25,89,11,13,18,1,30,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,508,131,348,509,347,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,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,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,5,7,3,10,2,1,2,2,1,13,1,1,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,510,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,511,104,61,87,91,348,88,89,94,345,347,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,1,89,512,1,89,513,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,7,1,1,9,1,1,1,1,4,8,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,514,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-208,107,108,55,54,75,76,98,-208,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-48,-48,-48,-48,-48,-48,-48,515,-48,-48,-48,-70,-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,58,11,37,2,1,1,1,1,1,1,3,3,1,7,1,1,9,8,8,3,10,2,3,2,1,15,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,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,37,2,1,1,1,1,1,1,3,3,1,7,1,1,9,8,8,3,10,2,3,2,1,15,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,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,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,517,516,-261,-261,-261,-261,-261,7,58,1,1,1,31,31,1,353,109,354,263,518,351,352,4,6,64,5,19,-163,-163,-163,-163,6,6,64,5,1,18,5,-166,-166,-166,520,-166,519,6,6,64,5,1,18,5,-170,-170,-170,-170,-170,-170,6,6,64,5,1,18,5,-171,-171,-171,-171,-171,-171,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,517,521,-261,-261,-261,-261,-261,7,58,1,1,1,31,31,1,353,109,354,263,522,351,352,106,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,523,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,524,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,57,1,5,56,1,5,1,1,3,2,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,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,-236,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,526,525,-261,-261,-261,-261,-261,5,6,63,1,5,61,-238,-238,-238,-238,-238,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,3,1,6,2,1,9,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,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,362,255,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,361,107,108,55,54,75,76,98,104,61,87,91,257,88,89,94,360,68,44,45,95,96,256,527,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,27,6,63,1,5,25,11,25,26,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-243,-243,-243,-243,131,-243,-243,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,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,-107,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,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,-108,22,89,11,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,528,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,529,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,130,-71,-71,-71,-71,-71,-71,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,530,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,531,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-74,-74,-74,-74,-74,-74,-74,-74,-74,131,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,128,129,130,101,102,-74,-74,-74,-74,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,532,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,533,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-77,-77,-77,-77,-77,-77,-77,-77,-77,131,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,128,129,130,101,102,-77,-77,-77,-77,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,534,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-80,-80,-80,-80,-80,-80,-80,-80,-80,131,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,128,129,130,101,102,-80,-80,-80,-80,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,535,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,536,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-83,-83,-83,-83,-83,-83,-83,-83,-83,131,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,128,129,130,101,102,-83,-83,-83,-83,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,537,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,3,139,1,1,538,95,96,19,6,52,1,10,1,13,1,1,9,3,6,7,1,1,1,6,17,6,1,-262,159,109,-262,-262,161,162,160,-262,104,-262,164,-262,163,158,-262,-262,539,157,2,6,63,540,541,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,542,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,6,6,63,1,5,61,2,-224,-224,-224,-224,-224,-224,59,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,3,1,4,2,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-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,64,112,543,11,6,63,1,5,18,1,9,8,8,17,2,-261,-261,-261,383,384,-261,-261,-261,-261,-261,544,1,70,545,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,130,-454,-454,-454,-454,-454,-454,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,546,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,547,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-87,-87,-87,-87,-87,-87,-87,-87,-87,131,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,128,129,130,101,102,-87,-87,-87,-87,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,548,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,3,7,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,549,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,2,69,10,167,550,6,58,1,10,10,5,13,551,109,167,553,552,104,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,554,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,555,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,556,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,557,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,1,102,558,1,179,559,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,560,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,10,58,1,24,1,1,12,13,2,31,39,159,109,161,162,160,104,164,163,202,561,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,562,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,3,169,1,1,563,412,413,4,70,89,11,1,564,565,566,413,3,70,89,12,-296,-296,-296,106,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,6,1,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,568,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,567,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,46,1,5,62,1,1,5,4,10,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-351,-351,-351,167,-351,-351,569,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,130,-351,-351,-351,-351,-351,-351,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,570,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,2,6,64,572,571,2,6,64,-361,-361,23,6,64,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-364,-364,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,2,6,64,-365,-365,7,6,64,92,1,9,1,1,-366,-366,132,133,134,101,102,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,573,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,1,59,574,22,69,31,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,575,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,1,70,576,1,70,577,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,130,-271,-271,-271,-271,-271,-271,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,18,6,52,1,10,1,5,8,1,1,12,13,2,1,22,1,2,4,1,-217,159,109,-217,-217,-217,161,162,160,104,164,163,158,578,-217,-217,156,157,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,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,-357,1,70,579,3,57,5,1,580,110,111,3,97,99,5,582,581,229,3,57,5,1,583,110,111,1,156,584,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,586,585,-261,-261,-261,-261,-261,5,6,63,1,5,28,-378,-378,-378,-378,-378,6,58,1,10,128,1,2,439,109,438,587,437,440,6,6,63,1,5,28,96,-383,-383,-383,-383,-383,588,6,6,63,1,5,28,96,-385,-385,-385,-385,-385,589,2,58,1,590,109,14,1,5,62,1,1,5,36,25,16,4,6,1,10,1,-389,-389,-389,-389,-389,-389,-389,-389,-389,591,-389,-389,-389,-389,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,593,592,-261,-261,-261,-261,-261,5,6,63,1,5,28,-407,-407,-407,-407,-407,6,58,1,10,131,3,2,595,109,445,447,594,444,14,6,63,1,5,1,10,1,1,3,4,4,4,31,65,-412,-412,-412,-412,-127,-127,-127,-127,-127,-127,-127,-412,-127,596,6,6,63,1,5,28,96,-415,-415,-415,-415,-415,597,107,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,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,599,598,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,600,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,30,1,5,62,1,1,5,25,11,25,16,10,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-402,-402,-402,-402,-402,-402,131,-402,-402,-402,-402,-402,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,2,84,13,601,104,3,57,5,1,602,110,111,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,2,6,64,112,603,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,604,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,62,6,5,37,2,1,1,1,1,1,1,3,3,1,6,1,1,1,3,6,16,3,10,1,1,1,2,2,1,15,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,461,-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,63,1,5,36,-195,-195,-195,-195,-195,2,69,42,606,605,123,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,3,1,6,1,1,1,3,6,1,1,1,1,9,3,3,3,7,1,1,1,2,2,1,1,6,3,1,1,3,3,1,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,-262,362,255,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-262,-262,107,108,253,55,54,75,76,98,-262,104,61,-262,87,-262,91,257,88,89,94,-262,608,607,254,250,68,-262,44,45,95,96,256,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,4,6,63,1,41,609,-196,-196,-196,62,6,5,37,2,1,1,1,1,1,1,3,3,1,6,1,1,1,3,6,16,3,10,1,1,1,2,2,1,15,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,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,63,1,5,18,1,9,8,8,8,9,-261,-261,-261,459,460,-261,-261,-261,-261,610,-261,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,3,1,8,1,3,6,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,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,362,255,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,253,55,54,75,76,98,104,61,87,91,257,88,89,94,457,456,68,44,45,95,96,256,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,27,6,63,1,5,25,11,25,26,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-230,-230,-230,-230,131,-230,-230,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,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,-252,22,89,11,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,611,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,612,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,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,-255,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,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,-256,3,6,63,50,614,615,613,37,6,33,8,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,6,1,1,1,11,1,1,9,3,6,7,1,1,1,6,2,1,14,15,-262,283,274,275,278,277,276,279,280,284,105,106,271,109,272,263,110,111,-262,-262,107,108,281,282,273,-262,104,-262,164,-262,163,270,-262,616,269,-262,86,106,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,617,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,618,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,26,6,63,1,5,25,19,43,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-162,-162,-162,-162,131,-162,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,619,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,620,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,621,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,106,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,622,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,623,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,3,6,63,34,625,626,624,25,6,41,9,1,1,1,1,1,1,1,6,1,15,9,4,5,4,1,1,1,1,1,1,6,17,-262,296,105,106,298,109,299,263,110,111,-262,-262,300,-262,628,-262,627,301,293,294,-262,295,302,-262,-262,106,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,629,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,630,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,22,100,11,51,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,131,631,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,632,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,12,6,63,1,5,11,1,1,3,4,8,13,18,-134,-134,-134,-134,-136,-136,-136,-136,-136,-134,633,146,12,6,63,1,5,11,1,1,3,4,8,13,18,-135,-135,-135,-135,635,636,637,638,639,-135,634,146,11,6,63,1,5,11,1,1,3,4,8,31,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,11,6,63,1,5,11,1,1,3,4,8,31,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,11,6,63,1,5,11,1,1,3,4,8,31,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,11,6,63,1,5,11,1,1,3,4,8,31,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,4,86,2,28,18,259,260,640,146,2,116,18,641,146,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,59,1,5,56,1,2,2,1,1,1,3,2,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,4,62,1,2,2,-62,-62,-62,-62,2,6,62,112,642,110,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,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,643,3,4,5,6,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,4,62,1,2,2,-65,-65,-65,-65,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,644,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,106,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,646,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,645,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,647,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,648,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,649,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,650,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,1,102,651,1,179,652,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,653,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,7,1,1,9,1,1,1,1,4,8,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,654,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-206,107,108,55,54,75,76,98,-206,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,25,70,30,13,18,1,30,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,655,131,348,509,347,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,1,70,656,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,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,-104,23,70,19,11,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-207,-207,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,657,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,2,6,88,659,658,14,6,52,1,1,1,8,1,24,9,8,8,4,1,12,-262,353,109,354,263,-262,-262,-262,-262,-262,-262,660,352,-262,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,517,661,-261,-261,-261,-261,-261,5,58,1,1,1,63,353,109,354,263,662,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,663,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,2,6,88,659,664,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,517,665,-261,-261,-261,-261,-261,22,89,11,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,666,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,667,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,3,6,63,67,669,670,668,119,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,3,1,6,1,1,1,9,1,1,1,1,9,3,3,3,7,1,1,1,2,2,1,1,10,4,3,1,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,-262,362,255,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-262,-262,107,108,55,54,75,76,98,-262,104,61,-262,87,-262,91,257,88,89,94,-262,671,68,-262,44,45,95,96,256,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,526,672,-261,-261,-261,-261,-261,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,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,-109,22,70,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,673,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,130,-72,-72,-72,-72,-72,-72,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,22,70,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,674,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-75,-75,-75,-75,-75,-75,-75,-75,-75,131,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,128,129,130,101,102,-75,-75,-75,-75,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,22,70,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,675,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-78,-78,-78,-78,-78,-78,-78,-78,-78,131,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,128,129,130,101,102,-78,-78,-78,-78,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-81,-81,-81,-81,-81,-81,-81,-81,-81,131,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,128,129,130,101,102,-81,-81,-81,-81,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,22,70,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,676,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-84,-84,-84,-84,-84,-84,-84,-84,-84,131,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,128,129,130,101,102,-84,-84,-84,-84,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,111,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,3,1,6,2,1,7,2,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,678,4,5,6,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,167,107,108,677,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,6,6,63,1,5,61,2,-219,-219,-219,-219,-219,-219,11,58,1,24,1,1,12,13,2,1,29,1,159,109,161,162,160,104,164,163,158,679,157,18,6,52,1,10,1,5,8,1,1,12,13,2,1,22,1,2,4,1,-217,159,109,-217,-217,-217,161,162,160,104,164,163,158,680,-217,-217,156,157,27,6,63,1,5,25,36,2,24,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-223,-223,-223,-223,131,-223,-223,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,59,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,3,1,4,2,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,3,139,1,1,681,95,96,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,22,70,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,682,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,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,130,-456,-456,-456,-456,-456,-456,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,23,69,10,21,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,683,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,2,69,10,167,684,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,2,69,10,167,685,2,69,10,167,686,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,3,7,1,3,1,1,2,29,1,5,1,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,-291,25,69,10,21,4,58,1,9,1,1,4,32,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,687,131,688,128,129,130,101,102,689,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,24,69,10,21,4,58,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,690,131,691,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,24,69,10,21,4,58,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,692,131,693,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,24,69,10,21,4,58,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,694,131,695,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,696,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,697,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,23,69,10,21,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,698,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,4,102,75,2,2,-348,-348,-348,-348,26,75,25,2,60,1,9,1,1,3,2,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-346,131,-346,128,129,130,101,102,-346,-346,-346,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,4,70,89,11,1,699,700,566,413,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,2,69,10,167,701,3,70,89,12,-297,-297,-297,3,69,6,4,167,703,702,23,69,6,25,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-247,-247,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,46,1,5,62,1,1,5,4,10,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-355,-355,-355,167,-355,-355,704,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,130,-355,-355,-355,-355,-355,-355,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,113,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,3,1,7,1,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,2,1,1,1,1,8,4,1,1,1,1,1,3,1,-363,419,420,421,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-363,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,705,422,423,65,73,74,46,47,71,48,49,50,52,53,23,6,64,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-367,-367,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,2,6,64,-368,-368,112,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,1,1,1,1,1,1,8,4,1,1,1,1,1,3,1,419,420,421,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,706,418,422,423,65,73,74,46,47,71,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,383,384,-261,-261,-261,-261,707,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,1,156,708,6,58,1,10,128,1,2,439,109,438,709,437,440,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,3,57,5,1,710,110,111,3,6,63,34,712,713,711,12,6,52,1,10,1,24,9,8,8,17,62,2,-262,439,109,-262,-262,-262,-262,-262,-262,-262,714,440,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,586,715,-261,-261,-261,-261,-261,2,58,1,716,109,2,58,1,717,109,1,156,-388,3,57,5,1,718,110,111,3,6,63,34,720,721,719,12,6,52,1,10,1,24,9,8,8,17,64,5,-262,595,109,-262,-262,-262,-262,-262,-262,-262,447,722,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,593,723,-261,-261,-261,-261,-261,6,6,63,1,5,28,96,-412,-412,-412,-412,-412,596,3,58,1,141,724,109,725,2,58,1,726,109,30,1,5,62,1,1,5,25,11,25,16,10,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-395,-395,-395,-395,-395,-395,131,-395,-395,-395,-395,-395,130,-395,-395,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,727,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,728,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,1,70,729,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,1,152,730,22,100,11,51,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,131,731,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,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,3,1,6,2,1,3,6,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,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,362,255,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,252,107,108,253,55,54,75,76,98,104,61,87,91,257,88,89,94,463,732,251,254,250,68,44,45,95,96,256,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,5,6,63,1,5,36,-190,-190,-190,-190,-190,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,3,1,6,1,1,1,3,6,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,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,362,255,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-197,-197,107,108,253,55,54,75,76,98,104,61,87,-197,91,257,88,89,94,457,456,68,44,45,95,96,256,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,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,3,1,8,1,3,6,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,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,362,255,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,253,55,54,75,76,98,104,61,87,91,257,88,89,94,463,733,254,250,68,44,45,95,96,256,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,2,69,1,606,734,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,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,-253,22,70,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,735,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,29,39,8,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,8,1,11,1,1,12,13,2,1,8,1,29,283,274,275,278,277,276,279,280,284,105,106,271,109,272,263,110,111,107,108,281,282,273,104,164,163,270,736,269,86,35,6,33,8,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,6,1,1,1,3,8,1,1,12,13,2,1,6,1,1,1,29,-155,283,274,275,278,277,276,279,280,284,105,106,271,109,272,263,110,111,-155,-155,107,108,-155,281,282,273,104,164,163,270,-155,737,268,269,86,5,6,63,1,5,44,-157,-157,-157,-157,-157,26,6,63,1,5,25,19,43,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-160,-160,-160,-160,131,-160,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,738,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,2,69,10,167,739,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,130,-301,-301,-301,-301,-301,-301,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,130,-303,-303,-303,-303,-303,-303,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,26,6,63,1,5,25,3,59,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-123,-123,-123,-123,740,-123,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,741,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,17,47,9,1,1,1,1,1,1,1,22,13,9,1,1,1,2,1,296,105,106,298,109,299,263,110,111,300,628,742,301,293,294,295,302,23,6,41,9,1,1,1,1,1,1,1,6,1,5,10,13,5,3,1,1,1,1,2,1,-116,296,105,106,298,109,299,263,110,111,-116,-116,-116,300,628,-116,743,297,301,293,294,295,302,5,6,63,1,5,28,-118,-118,-118,-118,-118,6,6,63,1,5,24,4,-121,-121,-121,-121,744,-121,26,6,63,1,5,25,3,59,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-125,-125,-125,-125,131,-125,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,745,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,6,6,63,1,5,24,4,-131,-131,-131,-131,-131,-131,22,100,11,51,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,131,746,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,11,6,63,1,5,11,1,1,3,4,8,31,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,11,6,63,1,5,11,1,1,3,4,8,31,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,2,60,1,747,263,2,60,1,748,263,106,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,749,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,750,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,8,58,1,1,1,8,23,31,1,353,109,354,263,752,751,351,352,8,58,1,1,1,8,23,31,1,353,109,354,263,754,753,351,352,11,6,63,1,5,11,1,1,3,4,8,31,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,11,6,63,1,5,11,1,1,3,4,8,31,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,4,62,1,2,2,-63,-63,-63,-63,2,6,64,112,755,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,130,-453,-453,-453,-453,-453,-453,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,756,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-282,-282,-282,-282,-282,-282,-282,-282,-282,131,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,130,101,102,-282,-282,-282,-282,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,757,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,130,-328,-328,-328,758,-328,-328,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,759,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,130,-333,-333,-333,-333,-333,-333,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,760,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,130,-337,-337,-337,-337,-337,-337,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,761,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,130,-341,-341,-341,-341,-341,-341,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,762,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,763,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,130,-344,-344,-344,-344,-344,-344,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,23,70,19,11,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-205,-205,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,1,89,764,1,89,765,22,89,11,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-69,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,6,58,1,1,1,62,1,353,109,354,263,766,352,4,6,64,5,19,-164,-164,-164,-164,2,6,64,659,767,5,6,64,5,1,18,-167,-167,-167,768,-167,25,6,64,5,19,6,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-168,-168,-168,-168,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,2,6,64,659,769,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,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,-105,22,70,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,770,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,57,1,5,56,1,5,1,1,3,2,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,111,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,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,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,362,255,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,257,88,89,94,771,68,44,45,95,96,256,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,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,3,1,6,2,1,9,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,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,362,255,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,361,107,108,55,54,75,76,98,104,61,87,91,257,88,89,94,360,68,44,45,95,96,256,772,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,5,6,63,1,5,61,-239,-239,-239,-239,-239,3,6,63,1,669,670,773,1,89,774,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,9,1,5,62,1,1,5,36,25,16,-213,-213,-213,-213,-213,-213,-213,-213,-213,6,6,63,1,5,61,2,-220,-220,-220,-220,-220,-220,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,383,775,-261,-261,-261,-261,-261,2,69,10,167,677,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,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,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,3,7,1,3,1,1,2,29,1,5,1,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,-289,-289,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,3,7,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-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,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,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,-311,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,776,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,777,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,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,-316,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,778,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,779,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,780,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,24,69,10,21,4,58,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,781,131,782,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,24,69,10,21,4,58,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,783,131,784,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,2,69,10,167,785,1,70,786,4,6,64,89,12,787,-298,-298,-298,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,788,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,2,6,64,-362,-362,2,6,64,572,789,2,69,10,167,790,3,57,5,1,791,110,111,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,586,792,-261,-261,-261,-261,-261,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,1,156,793,4,58,1,139,2,439,109,794,440,6,58,1,10,128,1,2,439,109,438,795,437,440,5,6,63,1,5,28,-379,-379,-379,-379,-379,3,6,63,1,712,713,796,5,6,63,1,5,28,-384,-384,-384,-384,-384,5,6,63,1,5,28,-386,-386,-386,-386,-386,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,14,1,5,62,1,1,5,36,25,16,4,6,1,10,1,-390,-390,-390,-390,-390,-390,-390,-390,-390,797,-390,-390,-390,-390,4,58,1,141,5,595,109,447,798,6,58,1,10,131,3,2,595,109,445,447,799,444,5,6,63,1,5,28,-408,-408,-408,-408,-408,3,6,63,1,720,721,800,5,6,63,1,5,28,-413,-413,-413,-413,-413,5,6,63,1,5,28,-414,-414,-414,-414,-414,5,6,63,1,5,28,-416,-416,-416,-416,-416,30,1,5,62,1,1,5,25,11,25,16,10,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-396,-396,-396,-396,-396,-396,131,-396,-396,-396,-396,-396,130,-396,-396,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,22,70,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,801,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,11,6,63,1,5,18,1,9,8,8,8,9,-261,-261,-261,459,460,-261,-261,-261,-261,802,-261,5,6,63,1,5,36,-191,-191,-191,-191,-191,5,6,63,1,5,36,-192,-192,-192,-192,-192,1,89,803,5,6,63,1,5,44,-158,-158,-158,-158,-158,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,471,804,-261,-261,-261,-261,-261,22,70,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,805,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,14,40,18,1,24,1,1,12,4,4,5,2,31,37,2,335,159,109,161,162,160,104,806,807,87,163,202,334,201,22,70,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,808,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,5,6,63,1,5,28,-119,-119,-119,-119,-119,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,481,809,-261,-261,-261,-261,-261,106,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,810,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,623,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,22,70,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,811,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,6,6,63,1,5,24,4,-132,-132,-132,-132,-132,-132,11,6,63,1,5,11,1,1,3,4,8,31,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,11,6,63,1,5,11,1,1,3,4,8,31,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,22,89,11,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,812,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,813,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,517,814,-261,-261,-261,-261,-261,7,58,1,1,1,31,31,1,353,109,354,263,815,351,352,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,517,816,-261,-261,-261,-261,-261,7,58,1,1,1,31,31,1,353,109,354,263,817,351,352,1,68,818,22,70,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,819,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,820,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,821,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,822,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,823,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,824,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,825,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,130,-335,-335,-335,-335,-335,-335,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,826,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,130,-339,-339,-339,-339,-339,-339,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,4,6,64,5,19,-165,-165,-165,-165,1,94,827,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,828,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,1,94,829,1,89,830,5,6,63,1,5,61,-240,-240,-240,-240,-240,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,526,831,-261,-261,-261,-261,-261,5,6,63,1,5,61,-241,-241,-241,-241,-241,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,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,-110,3,6,63,1,540,541,832,24,69,10,21,62,1,9,1,1,4,32,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,833,131,128,129,130,101,102,834,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,24,69,10,21,4,58,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,835,131,836,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,23,69,10,21,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,837,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,23,69,10,21,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,838,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,23,69,10,21,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,839,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,840,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,841,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,1,70,842,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,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,-295,3,70,89,12,-299,-299,-299,23,69,6,25,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-248,-248,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,3,6,63,34,712,713,843,3,57,5,1,844,110,111,5,6,63,1,5,28,-380,-380,-380,-380,-380,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,586,845,-261,-261,-261,-261,-261,5,6,63,1,5,28,-381,-381,-381,-381,-381,3,57,5,1,846,110,111,5,6,63,1,5,28,-409,-409,-409,-409,-409,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,593,847,-261,-261,-261,-261,-261,5,6,63,1,5,28,-410,-410,-410,-410,-410,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,2,69,1,606,848,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,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,-254,3,6,63,1,614,615,849,5,6,63,1,5,44,-161,-161,-161,-161,-161,4,102,75,2,2,850,501,503,504,11,58,1,24,1,1,12,4,9,2,31,39,159,109,161,162,160,104,851,164,163,202,201,5,6,63,1,5,28,-124,-124,-124,-124,-124,3,6,63,1,625,626,852,26,6,63,1,5,25,3,59,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-123,-123,-123,-123,131,-123,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,5,6,63,1,5,28,-126,-126,-126,-126,-126,11,6,63,1,5,11,1,1,3,4,8,31,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,22,70,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,853,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,2,6,88,659,854,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,517,855,-261,-261,-261,-261,-261,2,6,88,659,856,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,517,857,-261,-261,-261,-261,-261,4,62,1,2,2,-64,-64,-64,-64,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,130,-329,-329,-329,858,-329,-329,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,859,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,130,-330,-330,-330,-330,-330,-330,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,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,130,-334,-334,-334,-334,-334,-334,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,130,-338,-338,-338,-338,-338,-338,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,130,-342,-342,-342,-342,-342,-342,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,860,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,861,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,25,6,64,5,19,6,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-169,-169,-169,-169,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,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,-106,3,6,63,1,669,670,862,6,6,63,1,5,61,2,-221,-221,-221,-221,-221,-221,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,863,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,864,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,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,-317,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,23,69,10,21,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,865,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,23,69,10,21,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,866,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,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,1,156,867,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,3,6,63,1,712,713,868,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,3,6,63,1,720,721,869,5,6,63,1,5,36,-193,-193,-193,-193,-193,5,6,63,1,5,44,-159,-159,-159,-159,-159,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,870,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,1,102,871,5,6,63,1,5,28,-120,-120,-120,-120,-120,1,89,872,11,6,63,1,5,11,1,1,3,4,8,31,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,2,6,64,659,873,11,6,63,1,5,11,1,1,3,4,8,31,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,2,6,64,659,874,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,875,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,876,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,130,-336,-336,-336,-336,-336,-336,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,130,-340,-340,-340,-340,-340,-340,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,5,6,63,1,5,61,-242,-242,-242,-242,-242,23,69,10,21,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,877,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,23,69,10,21,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,878,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,3,57,5,1,879,110,111,5,6,63,1,5,28,-382,-382,-382,-382,-382,5,6,63,1,5,28,-411,-411,-411,-411,-411,46,1,5,62,1,1,5,14,4,1,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-333,-333,-333,-333,-333,882,-333,880,-333,-333,-333,-333,-333,881,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,130,-333,-333,-333,-333,-333,-333,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,883,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,11,6,63,1,5,11,1,1,3,4,8,31,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,1,94,884,1,94,885,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,130,-331,-331,-331,-331,-331,-331,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,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,130,-332,-332,-332,-332,-332,-332,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,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,-315,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,1,103,886,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,887,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,8,6,63,1,24,9,8,8,17,-262,-262,-262,-262,-262,-262,-262,-262,46,1,5,62,1,1,5,14,4,1,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-335,-335,-335,-335,-335,882,-335,888,-335,-335,-335,-335,-335,889,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,130,-335,-335,-335,-335,-335,-335,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,11,6,63,1,5,11,1,1,3,4,8,31,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,11,6,63,1,5,11,1,1,3,4,8,31,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,46,1,5,62,1,1,5,14,4,1,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-334,-334,-334,-334,-334,882,-334,890,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,130,-334,-334,-334,-334,-334,-334,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,1,103,891,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,892,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,1,103,893,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,46,1,5,62,1,1,5,14,4,1,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-336,-336,-336,-336,-336,882,-336,894,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,130,-336,-336,-336,-336,-336,-336,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,1,103,895,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114],U=[],_=0,W,u,$,F;while(_<f.length){W=f[_++],u={},$=0,F=[];while(W--)$+=f[_++],F.push($);for($ of F)u[$]=f[_++];U.push(u)}return U})(),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,8,1,8,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,47,1,47,1,58,1,60,1,57,1,57,3,64,1,64,2,66,3,66,5,66,2,66,1,49,1,49,3,74,3,74,1,17,3,17,4,17,5,18,3,18,4,18,5,19,3,19,4,19,3,20,3,20,4,20,5,21,3,21,4,21,3,21,2,21,3,21,2,37,1,37,1,37,1,82,1,82,1,82,3,82,3,82,4,82,6,82,4,82,6,82,5,82,5,82,7,82,7,82,4,82,5,82,7,82,3,82,3,82,4,82,6,84,10,84,12,84,11,84,13,84,4,106,0,106,1,106,3,106,4,106,6,107,1,107,1,107,3,107,5,107,3,107,5,109,1,109,1,109,1,98,1,98,3,98,4,98,1,108,2,108,2,114,1,114,1,114,1,114,1,114,1,114,2,114,2,114,2,114,2,114,3,114,3,114,4,114,6,114,5,114,5,114,7,114,7,46,2,46,4,120,0,120,1,120,3,120,4,120,6,121,3,121,5,121,2,92,1,92,3,92,4,123,1,123,3,123,3,123,5,124,1,124,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,83,2,83,3,83,4,126,1,126,3,126,4,126,4,126,6,128,1,128,2,127,1,127,2,125,1,125,2,130,1,130,2,131,1,131,1,40,5,90,3,90,2,90,2,90,1,32,6,32,3,15,5,15,2,35,5,35,2,139,1,139,1,135,0,135,1,135,3,135,4,135,6,142,1,142,3,142,2,142,1,143,1,143,1,143,1,143,1,144,2,41,2,41,2,41,3,41,2,41,2,116,2,116,4,146,1,146,3,146,4,146,4,146,6,129,1,129,1,129,1,129,1,147,1,147,3,43,1,43,1,85,2,44,3,44,4,44,6,45,3,45,3,79,2,79,3,39,3,39,5,93,0,93,1,10,2,10,4,10,1,30,2,30,4,31,1,31,2,31,4,31,3,157,3,157,5,160,3,160,5,22,1,22,3,22,1,22,3,22,3,22,7,22,5,22,3,22,3,23,2,23,3,23,4,23,5,165,3,165,3,165,2,26,5,26,7,26,4,26,6,169,1,169,2,170,3,170,4,172,2,172,4,172,2,172,4,24,2,24,2,24,2,24,1,175,2,175,2,175,3,25,5,25,7,25,7,25,9,25,9,25,5,25,7,25,6,25,8,25,5,25,7,25,6,25,8,25,5,25,7,25,3,25,5,25,5,25,7,25,7,25,9,25,9,25,5,25,7,25,6,25,8,25,5,25,7,25,6,25,8,25,5,25,7,25,3,25,5,182,1,182,3,101,1,101,3,27,1,27,2,27,3,27,4,27,2,27,3,27,4,27,5,33,3,34,2,28,4,28,6,189,1,189,3,189,2,190,1,190,1,190,1,190,2,190,2,29,2,29,2,12,2,12,4,12,4,12,5,12,7,12,6,12,9,197,1,197,3,197,4,197,4,197,6,198,1,198,3,198,1,198,3,195,1,196,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,203,1,203,3,203,4,203,4,203,6,205,1,205,3,205,3,205,1,205,3,36,2,36,2,36,2,16,2,16,2,16,2,16,2,16,2,16,2,16,2,16,2,16,4,16,2,16,2,16,2,16,2,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,5,16,3,16,5,16,4,42,2],ruleActions:(f,U,_,W)=>{let u=U,$=U.length-1;switch(f){case 1:return["program"];case 2:return["program",...u[$]];case 3:case 61:case 117:case 156:case 163:case 194:case 198:case 218:case 238:case 247:case 296:case 347:case 361:case 378:case 407:return[u[$]];case 4:case 118:case 157:case 164:case 219:case 239:case 248:case 362:case 379:case 408:return[...u[$-2],u[$]];case 5:case 63:case 201:case 363:return u[$-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 51:case 52:case 53:case 55:case 56:case 57:case 58:case 59:case 66:case 67:case 89:case 90:case 91:case 92:case 93: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 278:case 307:case 345:case 364:case 365:case 366:case 383:case 385:case 387:case 412:case 415:return u[$];case 49:case 179:return"undefined";case 50:case 178:return"null";case 54:case 185:return["symbol",u[$]];case 60:return["str",...u[$-1]];case 62:case 195:case 199:case 297:return[...u[$-1],u[$]];case 64:case 237:case 241:case 381:case 410:return u[$-2];case 65:return"";case 68:return["regex",u[$-1]];case 69:return["regex-index",u[$-2],u[$]];case 70:return["regex-index",u[$],null];case 71:case 125:return["=",u[$-2],u[$]];case 72:return["=",u[$-3],u[$]];case 73:case 126:return["=",u[$-4],u[$-1]];case 74:return["state",u[$-2],u[$]];case 75:return["state",u[$-3],u[$]];case 76:return["state",u[$-4],u[$-1]];case 77:case 79:return["computed",u[$-2],u[$]];case 78:return["computed",u[$-3],u[$]];case 80:return["readonly",u[$-2],u[$]];case 81:return["readonly",u[$-3],u[$]];case 82:return["readonly",u[$-4],u[$-1]];case 83:case 85:return["effect",u[$-2],u[$]];case 84:return["effect",u[$-3],u[$]];case 86:case 87:case 88:return["effect",null,u[$]];case 94:case 107:case 145:return[".",u[$-2],u[$]];case 95:case 108:case 146:return["?.",u[$-2],u[$]];case 96:case 98:case 109:case 147:return["[]",u[$-3],u[$-1]];case 97:case 99:case 110:case 148:return["[]",u[$-5],u[$-2]];case 100:case 149:return[".{}",u[$-4],...u[$-2]];case 101:case 150:return["?.{}",u[$-4],...u[$-2]];case 102:case 151:return[".{}",u[$-6],...u[$-3]];case 103:case 152:return["?.{}",u[$-6],...u[$-3]];case 104:return[u[$-1][0],u[$-3],...u[$-1].slice(1)];case 105:return["optindex",u[$-4],u[$-1]];case 106:return["optindex",u[$-6],u[$-2]];case 111:return["object-comprehension",u[$-8],u[$-6],[["for-of",u[$-4],u[$-2],!1]],[]];case 112:return["object-comprehension",u[$-10],u[$-8],[["for-of",u[$-6],u[$-4],!1]],[u[$-2]]];case 113:return["object-comprehension",u[$-9],u[$-7],[["for-of",u[$-4],u[$-2],!0]],[]];case 114:return["object-comprehension",u[$-11],u[$-9],[["for-of",u[$-6],u[$-4],!0]],[u[$-2]]];case 115:return["object",...u[$-2]];case 116:case 155:case 196:case 217:case 236:return[];case 119:case 158:case 165:case 220:case 240:case 380:case 409:return[...u[$-3],u[$]];case 120:case 159:case 221:case 242:case 382:case 411:return[...u[$-5],...u[$-2]];case 121:return[null,u[$],u[$]];case 123:case 160:return[":",u[$-2],u[$]];case 124:case 161:return[":",u[$-4],u[$-1]];case 131:return["dynamicKey",u[$-1]];case 132:return["[]","this",u[$-1]];case 134:case 135:case 162:case 230:return["...",u[$]];case 141:case 234:return["super",...u[$]];case 142:case 143:case 144:case 232:case 235:return[u[$-1],...u[$]];case 153:return["map-literal"];case 154:return["map-literal",...u[$-2]];case 166:return[u[$],u[$],null];case 167:return[u[$-2],u[$],null];case 168:return[u[$-2],u[$-2],u[$]];case 169:return[u[$-4],u[$-2],u[$]];case 186:return["array"];case 187:return["array",...u[$-1]];case 188:return["array",...u[$-2],...u[$-1]];case 190:return[...u[$-2],...u[$]];case 191:return[...u[$-3],...u[$]];case 192:return[...u[$-2],...u[$-1]];case 193:return[...u[$-5],...u[$-4],...u[$-2],...u[$-1]];case 197:return[...u[$]];case 200:return null;case 202:return"..";case 203:case 246:return"...";case 204:return[u[$-2],u[$-3],u[$-1]];case 205:case 435:case 437:case 438:case 452:case 454:return[u[$-1],u[$-2],u[$]];case 206:return[u[$],u[$-1],null];case 207:return[u[$-1],null,u[$]];case 208:return[u[$],null,null];case 209:return["def",u[$-4],u[$-2],u[$]];case 210:return["def",u[$-1],[],u[$]];case 211:case 213:return[u[$-1],u[$-3],u[$]];case 212:case 214:return[u[$-1],[],u[$]];case 223:case 346:return["default",u[$-2],u[$]];case 224:return["rest",u[$]];case 225:return["expansion"];case 231:return["tagged-template",u[$-1],u[$]];case 233:return["optcall",u[$-2],...u[$]];case 249:case 250:return"this";case 251:return[".","this",u[$]];case 252:return[".","super",u[$]];case 253:return["[]","super",u[$-1]];case 254:return["[]","super",u[$-2]];case 255:return[".","new",u[$]];case 256:return[".","import",u[$]];case 257:return["block"];case 258:return["block",...u[$-1]];case 259:return u[$-1].length===1?u[$-1][0]:["block",...u[$-1]];case 260:return u[$-2].length===1?u[$-2][0]:["block",...u[$-2]];case 263:return["return",u[$]];case 264:return["return",u[$-1]];case 265:return["return"];case 266:return["throw",u[$]];case 267:return["throw",u[$-1]];case 268:return["yield"];case 269:return["yield",u[$]];case 270:return["yield",u[$-1]];case 271:return["yield-from",u[$]];case 272:return["if",u[$-1],u[$]];case 273:return u[$-4].length===3?["if",u[$-4][1],u[$-4][2],["if",u[$-1],u[$]]]:[...u[$-4],["if",u[$-1],u[$]]];case 274:return["if",["!",u[$-1]],u[$]];case 275:return["if",["!",u[$-3]],u[$-2],u[$]];case 277:return u[$-2].length===3?["if",u[$-2][1],u[$-2][2],u[$]]:[...u[$-2],u[$]];case 279:case 280:return["if",u[$],[u[$-2]]];case 281:return["?:",u[$-4],u[$-6],u[$-1]];case 282:return["?:",u[$-2],u[$-4],u[$]];case 283:case 284:return["if",["!",u[$]],[u[$-2]]];case 285:return["try",u[$]];case 286:return["try",u[$-1],u[$]];case 287:return["try",u[$-2],u[$]];case 288:return["try",u[$-3],u[$-2],u[$]];case 289:case 290:case 417:case 420:case 422:return[u[$-1],u[$]];case 291:return[null,u[$]];case 292:return["switch",u[$-3],u[$-1],null];case 293:return["switch",u[$-5],u[$-3],u[$-1]];case 294:return["switch",null,u[$-1],null];case 295:return["switch",null,u[$-3],u[$-1]];case 298:return["when",u[$-1],u[$]];case 299:return["when",u[$-2],u[$-1]];case 300:return["while",u[$]];case 301:return["while",u[$-2],u[$]];case 302:return["while",["!",u[$]]];case 303:return["while",["!",u[$-2]],u[$]];case 304:return u[$-1].length===2?[u[$-1][0],u[$-1][1],u[$]]:[u[$-1][0],u[$-1][1],u[$-1][2],u[$]];case 305:case 306:return u[$].length===2?[u[$][0],u[$][1],[u[$-1]]]:[u[$][0],u[$][1],u[$][2],[u[$-1]]];case 308:return["loop",u[$]];case 309:return["loop",[u[$]]];case 310:return["loop-n",u[$-1],u[$]];case 311:return["for-in",u[$-3],u[$-1],null,null,u[$]];case 312:return["for-in",u[$-5],u[$-3],null,u[$-1],u[$]];case 313:return["for-in",u[$-5],u[$-3],u[$-1],null,u[$]];case 314:return["for-in",u[$-7],u[$-5],u[$-1],u[$-3],u[$]];case 315:return["for-in",u[$-7],u[$-5],u[$-3],u[$-1],u[$]];case 316:return["for-of",u[$-3],u[$-1],!1,null,u[$]];case 317:return["for-of",u[$-5],u[$-3],!1,u[$-1],u[$]];case 318:return["for-of",u[$-3],u[$-1],!0,null,u[$]];case 319:return["for-of",u[$-5],u[$-3],!0,u[$-1],u[$]];case 320:return["for-as",u[$-3],u[$-1],!1,null,u[$]];case 321:return["for-as",u[$-5],u[$-3],!1,u[$-1],u[$]];case 322:case 324:return["for-as",u[$-3],u[$-1],!0,null,u[$]];case 323:case 325:return["for-as",u[$-5],u[$-3],!0,u[$-1],u[$]];case 326:return["for-in",[],u[$-1],null,null,u[$]];case 327:return["for-in",[],u[$-3],u[$-1],null,u[$]];case 328:return["comprehension",u[$-4],[["for-in",u[$-2],u[$],null]],[]];case 329:return["comprehension",u[$-6],[["for-in",u[$-4],u[$-2],null]],[u[$]]];case 330:return["comprehension",u[$-6],[["for-in",u[$-4],u[$-2],u[$]]],[]];case 331:return["comprehension",u[$-8],[["for-in",u[$-6],u[$-4],u[$]]],[u[$-2]]];case 332:return["comprehension",u[$-8],[["for-in",u[$-6],u[$-4],u[$-2]]],[u[$]]];case 333:return["comprehension",u[$-4],[["for-of",u[$-2],u[$],!1]],[]];case 334:return["comprehension",u[$-6],[["for-of",u[$-4],u[$-2],!1]],[u[$]]];case 335:return["comprehension",u[$-5],[["for-of",u[$-2],u[$],!0]],[]];case 336:return["comprehension",u[$-7],[["for-of",u[$-4],u[$-2],!0]],[u[$]]];case 337:return["comprehension",u[$-4],[["for-as",u[$-2],u[$],!1,null]],[]];case 338:return["comprehension",u[$-6],[["for-as",u[$-4],u[$-2],!1,null]],[u[$]]];case 339:return["comprehension",u[$-5],[["for-as",u[$-2],u[$],!0,null]],[]];case 340:return["comprehension",u[$-7],[["for-as",u[$-4],u[$-2],!0,null]],[u[$]]];case 341:return["comprehension",u[$-4],[["for-as",u[$-2],u[$],!0,null]],[]];case 342:return["comprehension",u[$-6],[["for-as",u[$-4],u[$-2],!0,null]],[u[$]]];case 343:return["comprehension",u[$-2],[["for-in",[],u[$],null]],[]];case 344:return["comprehension",u[$-4],[["for-in",[],u[$-2],u[$]]],[]];case 348:case 384:case 386:case 413:case 414:case 416:return[u[$-2],u[$]];case 349:return["class",null,null];case 350:return["class",null,null,u[$]];case 351:return["class",null,u[$]];case 352:return["class",null,u[$-1],u[$]];case 353:return["class",u[$],null];case 354:return["class",u[$-1],null,u[$]];case 355:return["class",u[$-2],u[$]];case 356:return["class",u[$-3],u[$-1],u[$]];case 357:return["enum",u[$-1],u[$]];case 358:return["schema",u[$]];case 359:return["component",null,["block",...u[$-1]]];case 360:return["component",u[$-3],["block",...u[$-1]]];case 367:return["offer",u[$]];case 368:return["accept",u[$]];case 369:case 370:return["render",u[$]];case 371:case 374:return["import","{}",u[$]];case 372:case 373:return["import",u[$-2],u[$]];case 375:return["import",u[$-4],u[$]];case 376:return["import",u[$-4],u[$-2],u[$]];case 377:return["import",u[$-7],u[$-4],u[$]];case 388:return["*",u[$]];case 389:return["export","{}"];case 390:return["export",u[$-2]];case 391:case 392:case 393:case 394:case 398:case 399:case 400:case 401:return["export",u[$]];case 395:return["export",["=",u[$-2],u[$]]];case 396:return["export",["=",u[$-3],u[$]]];case 397:return["export",["=",u[$-4],u[$-1]]];case 402:return["export-default",u[$]];case 403:return["export-default",u[$-1]];case 404:return["export-all",u[$]];case 405:return["export-from","{}",u[$]];case 406:return["export-from",u[$-4],u[$]];case 418:case 419:case 421:case 457:return["do-iife",u[$]];case 423:return["-",u[$]];case 424:return["+",u[$]];case 425:return["?",u[$-1]];case 426:return["presence",u[$-1]];case 427:return["await",u[$]];case 428:return["await",u[$-1]];case 429:return["--",u[$],!1];case 430:return["++",u[$],!1];case 431:return["--",u[$-1],!0];case 432:return["++",u[$-1],!0];case 433:return["+",u[$-2],u[$]];case 434:return["-",u[$-2],u[$]];case 436:return["**",u[$-2],u[$]];case 439:return["&",u[$-2],u[$]];case 440:return["^",u[$-2],u[$]];case 441:return["|",u[$-2],u[$]];case 442:case 443:case 444:case 445:case 446:case 447:return["control",u[$-1],u[$-2],u[$]];case 448:return["&&",u[$-2],u[$]];case 449:return["||",u[$-2],u[$]];case 450:return["??",u[$-2],u[$]];case 451:return["|>",u[$-2],u[$]];case 453:return["?:",u[$-4],u[$-2],u[$]];case 455:return[u[$-3],u[$-4],u[$-1]];case 456:return[u[$-2],u[$-3],u[$]]}},parseError(f,U){let _,W,u,$,F,Y,Z;if(U.recoverable)return this.trace(f);else throw u=(U.line||0)+1,_=U.loc?.c||0,Z=U.token?` (token: ${U.token})`:"",Y=U.text?` near '${U.text}'`:"",$=`line ${u}, column ${_}`,F=`Parse error at ${$}${Z}${Y}: ${f}`,W=Error(F),W.hash=U,W},parse(f){let U,_,W,u,$,F,Y,Z,G,Q,z,A,J,K,D,w,X,H,q,B,R,S,O,P,M,I;[B,I,Q]=[[0],[null],[]],[J,M,O,S,w]=[this.parseTable,"",0,0,0],[_,U]=[2,1],Z=Object.create(this.lexer),H={ctx:{}};for(let L in this.ctx){if(!Object.hasOwn(this.ctx,L))continue;let V=this.ctx[L];H.ctx[L]=V}if(Z.setInput(f,H.ctx),[H.ctx.lexer,H.ctx.parser]=[Z,this],Z.loc==null)Z.loc={};P=Z.loc,Q.push(P),this.parseError=typeof H.ctx.parseError==="function"?H.ctx.parseError:Object.getPrototypeOf(this).parseError,Y=()=>{let L;if(L=Z.lex()||U,typeof L!=="number")L=this.symbolIds[L]||L;return L},R=K=q=W=D=A=F=z=$=null,X={};while(!0){if(q=B[B.length-1],R==null)R=Y();if(W=J[q]?.[R],W==null){if(u="",!w)$=(()=>{let L=[];for(let V in J[q]){if(!Object.hasOwn(J[q],V))continue;if(this.tokenNames[V]&&V>_)L.push(`'${this.tokenNames[V]}'`)}return L})();throw u=(()=>{if(Z.showPosition)return`Parse error on line ${O+1}:
1
+ (()=>{var{defineProperty:Y2,getOwnPropertyNames:o3,getOwnPropertyDescriptor:r3}=Object,s3=Object.prototype.hasOwnProperty;function t3(f){return this[f]}var e3=(f)=>{var U=(j2??=new WeakMap).get(f),_;if(U)return U;if(U=Y2({},"__esModule",{value:!0}),f&&typeof f==="object"||typeof f==="function"){for(var W of o3(f))if(!s3.call(U,W))Y2(U,W,{get:t3.bind(f,W),enumerable:!(_=r3(f,W))||_.enumerable})}return j2.set(f,U),U},j2;var u4=(f)=>f;function f4(f,U){this[f]=u4.bind(null,U)}var b2=(f,U)=>{for(var _ in U)Y2(f,_,{get:U[_],enumerable:!0,configurable:!0,set:f4.bind(U,_)})};var $0={};b2($0,{rip:()=>J3,processRipScripts:()=>A3,parser:()=>z1,importRip:()=>S1,getStdlibCode:()=>m1,getReactiveRuntime:()=>k1,getComponentRuntime:()=>i1,formatSExpr:()=>X1,formatErrorHTML:()=>R2,formatError:()=>I1,compileToJS:()=>D1,compile:()=>f2,VERSION:()=>Q3,RipError:()=>Z1,Lexer:()=>K1,Compiler:()=>l1,CodeEmitter:()=>Y1,BUILD_DATE:()=>z3});var $4={symbolIds:{$accept:0,$end:1,error:2,Root:3,Body:4,Line:5,TERMINATOR:6,Expression:7,ExpressionLine:8,Statement:9,Return:10,STATEMENT:11,Import:12,Export:13,Value:14,Code:15,Operation:16,Assign:17,ReactiveAssign:18,ComputedAssign:19,ReadonlyAssign:20,Effect:21,If:22,Try:23,While:24,For:25,Switch:26,Class:27,Component:28,Render:29,Throw:30,Yield:31,Def:32,Enum:33,Schema:34,CodeLine:35,OperationLine:36,Assignable:37,Literal:38,Parenthetical:39,Range:40,Invocation:41,DoIife:42,This:43,Super:44,MetaProperty:45,MapLiteral:46,AlphaNumeric:47,JS:48,Regex:49,UNDEFINED:50,NULL:51,BOOL:52,INFINITY:53,NAN:54,SYMBOL:55,NUMBER:56,String:57,Identifier:58,IDENTIFIER:59,Property:60,PROPERTY:61,STRING:62,STRING_START:63,Interpolations:64,STRING_END:65,InterpolationChunk:66,INTERPOLATION_START:67,INTERPOLATION_END:68,INDENT:69,OUTDENT:70,REGEX:71,REGEX_START:72,REGEX_END:73,RegexWithIndex:74,",":75,"=":76,REACTIVE_ASSIGN:77,COMPUTED_ASSIGN:78,Block:79,READONLY_ASSIGN:80,EFFECT:81,SimpleAssignable:82,Array:83,Object:84,ThisProperty:85,".":86,"?.":87,INDEX_START:88,INDEX_END:89,Slice:90,PICK_START:91,PickList:92,OptComma:93,PICK_END:94,OPTPICK_START:95,ES6_OPTIONAL_INDEX:96,"{":97,ObjAssignable:98,":":99,FOR:100,ForVariables:101,FOROF:102,"}":103,WHEN:104,OWN:105,AssignList:106,AssignObj:107,ObjRestValue:108,SimpleObjAssignable:109,"[":110,"]":111,"@":112,"...":113,ObjSpreadExpr:114,SUPER:115,Arguments:116,DYNAMIC_IMPORT:117,MAP_START:118,MAP_END:119,MapAssignList:120,MapAssignObj:121,MapAssignable:122,PickItem:123,PickKey:124,Elisions:125,ArgElisionList:126,OptElisions:127,ArgElision:128,Arg:129,Elision:130,RangeDots:131,"..":132,DEF:133,CALL_START:134,ParamList:135,CALL_END:136,PARAM_START:137,PARAM_END:138,FuncGlyph:139,"->":140,"=>":141,Param:142,ParamVar:143,Splat:144,ES6_OPTIONAL_CALL:145,ArgList:146,SimpleArgs:147,THIS:148,NEW_TARGET:149,IMPORT_META:150,"(":151,")":152,RETURN:153,THROW:154,YIELD:155,FROM:156,IfBlock:157,IF:158,ELSE:159,UnlessBlock:160,UNLESS:161,POST_IF:162,POST_UNLESS:163,TRY:164,Catch:165,FINALLY:166,CATCH:167,SWITCH:168,Whens:169,When:170,LEADING_WHEN:171,WhileSource:172,WHILE:173,UNTIL:174,Loop:175,LOOP:176,FORIN:177,BY:178,FORAS:179,AWAIT:180,FORASAWAIT:181,ForValue:182,CLASS:183,EXTENDS:184,ENUM:185,SCHEMA:186,SCHEMA_BODY:187,COMPONENT:188,ComponentBody:189,ComponentLine:190,OFFER:191,ACCEPT:192,RENDER:193,IMPORT:194,ImportDefaultSpecifier:195,ImportNamespaceSpecifier:196,ImportSpecifierList:197,ImportSpecifier:198,AS:199,DEFAULT:200,IMPORT_ALL:201,EXPORT:202,ExportSpecifierList:203,EXPORT_ALL:204,ExportSpecifier:205,UNARY:206,DO:207,DO_IIFE:208,UNARY_MATH:209,"-":210,"+":211,"?":212,PRESENCE:213,"--":214,"++":215,MATH:216,"**":217,SHIFT:218,COMPARE:219,"&":220,"^":221,"|":222,"||":223,"??":224,"&&":225,PIPE:226,RELATION:227,TERNARY:228,COMPOUND_ASSIGN:229},tokenNames:{2:"error",6:"TERMINATOR",11:"STATEMENT",48:"JS",50:"UNDEFINED",51:"NULL",52:"BOOL",53:"INFINITY",54:"NAN",55:"SYMBOL",56:"NUMBER",59:"IDENTIFIER",61:"PROPERTY",62:"STRING",63:"STRING_START",65:"STRING_END",67:"INTERPOLATION_START",68:"INTERPOLATION_END",69:"INDENT",70:"OUTDENT",71:"REGEX",72:"REGEX_START",73:"REGEX_END",75:",",76:"=",77:"REACTIVE_ASSIGN",78:"COMPUTED_ASSIGN",80:"READONLY_ASSIGN",81:"EFFECT",86:".",87:"?.",88:"INDEX_START",89:"INDEX_END",91:"PICK_START",94:"PICK_END",95:"OPTPICK_START",96:"ES6_OPTIONAL_INDEX",97:"{",99:":",100:"FOR",102:"FOROF",103:"}",104:"WHEN",105:"OWN",110:"[",111:"]",112:"@",113:"...",115:"SUPER",117:"DYNAMIC_IMPORT",118:"MAP_START",119:"MAP_END",132:"..",133:"DEF",134:"CALL_START",136:"CALL_END",137:"PARAM_START",138:"PARAM_END",140:"->",141:"=>",145:"ES6_OPTIONAL_CALL",148:"THIS",149:"NEW_TARGET",150:"IMPORT_META",151:"(",152:")",153:"RETURN",154:"THROW",155:"YIELD",156:"FROM",158:"IF",159:"ELSE",161:"UNLESS",162:"POST_IF",163:"POST_UNLESS",164:"TRY",166:"FINALLY",167:"CATCH",168:"SWITCH",171:"LEADING_WHEN",173:"WHILE",174:"UNTIL",176:"LOOP",177:"FORIN",178:"BY",179:"FORAS",180:"AWAIT",181:"FORASAWAIT",183:"CLASS",184:"EXTENDS",185:"ENUM",186:"SCHEMA",187:"SCHEMA_BODY",188:"COMPONENT",191:"OFFER",192:"ACCEPT",193:"RENDER",194:"IMPORT",199:"AS",200:"DEFAULT",201:"IMPORT_ALL",202:"EXPORT",204:"EXPORT_ALL",206:"UNARY",207:"DO",208:"DO_IIFE",209:"UNARY_MATH",210:"-",211:"+",212:"?",213:"PRESENCE",214:"--",215:"++",216:"MATH",217:"**",218:"SHIFT",219:"COMPARE",220:"&",221:"^",222:"|",223:"||",224:"??",225:"&&",226:"PIPE",227:"RELATION",228:"TERNARY",229:"COMPOUND_ASSIGN"},parseTable:(()=>{let f=[112,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,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,-1,1,2,3,4,5,6,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,1,1,0,2,1,5,-2,112,5,1,5,62,2,82,-3,-3,-3,-3,-3,30,1,5,62,1,1,5,25,11,25,16,10,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-6,-6,-6,-6,-6,-6,131,-6,-6,-6,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,9,1,5,62,1,1,5,36,25,16,-7,-7,-7,-7,-7,-7,-7,-7,-7,14,1,5,62,1,1,5,36,25,16,10,1,9,1,1,-8,-8,-8,-8,-8,-8,-8,-8,-8,132,133,134,101,102,58,1,5,51,5,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,3,3,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-13,-13,137,110,111,-13,-13,-13,-13,140,141,142,-13,143,-13,144,145,-13,-13,-13,-13,-13,-13,-13,138,-13,-13,146,-13,-13,139,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,135,136,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,-13,47,1,5,62,1,1,5,11,1,1,1,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-14,-14,-14,-14,-14,-14,147,148,149,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,-14,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,-15,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,-16,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,-17,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,-18,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,-19,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,-20,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,-21,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,-22,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,-23,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,-24,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,-25,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,-26,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,-27,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,-28,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,-29,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,-30,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,-31,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,-32,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,-33,9,1,5,62,1,1,5,36,25,16,-34,-34,-34,-34,-34,-34,-34,-34,-34,9,1,5,62,1,1,5,36,25,16,-35,-35,-35,-35,-35,-35,-35,-35,-35,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,-9,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,-10,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,-11,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,-12,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-36,-36,-36,-36,-36,-36,-36,-36,150,151,152,153,154,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,-37,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,-38,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,-39,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,-40,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,-41,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,-42,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,-43,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,-44,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,-45,18,6,52,1,10,1,5,8,1,1,12,13,2,1,22,1,2,4,1,-217,159,109,-217,-217,-217,161,162,160,104,164,163,158,155,-217,-217,156,157,111,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,3,1,6,2,1,7,2,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,166,4,5,6,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,167,107,108,165,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,108,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,168,169,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,108,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,171,172,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,173,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,179,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,180,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,106,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,181,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,182,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,48,14,1,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,12,13,2,3,2,1,19,2,1,1,7,1,1,1,57,184,185,186,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,183,75,76,98,104,87,91,88,89,94,174,175,95,96,90,92,93,86,178,48,14,1,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,12,13,2,3,2,1,19,2,1,1,7,1,1,1,57,184,185,186,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,187,75,76,98,104,87,91,88,89,94,174,175,95,96,90,92,93,86,178,64,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,188,189,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,190,108,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,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,7,2,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,192,191,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,167,107,108,193,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,194,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,-276,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,-278,2,69,10,167,195,2,69,10,167,196,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,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,-307,14,40,18,1,24,1,1,12,4,4,5,2,31,37,2,200,159,109,161,162,160,104,197,198,87,163,202,199,201,106,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,203,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,204,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,94,1,5,8,1,22,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,4,3,1,1,1,4,5,3,2,1,2,1,1,6,1,1,1,2,2,1,1,13,4,1,1,1,1,1,7,1,1,1,1,7,3,1,10,1,3,1,1,2,3,24,2,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-349,-349,184,185,186,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-349,167,-349,107,108,-349,205,207,75,76,98,-349,-349,104,-349,-349,-349,-349,-349,87,-349,91,-349,88,89,94,-349,-349,-349,174,-349,175,95,96,90,92,93,86,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,206,178,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,-349,2,69,115,208,209,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,7,2,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,211,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,167,107,108,210,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,106,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,212,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,213,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,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,3,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,6,1,1,1,1,4,5,3,2,1,2,1,1,6,1,1,1,2,2,1,1,13,1,3,1,1,1,1,1,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,4,4,1,1,1,1,1,1,1,1,1,2,2,1,2,5,1,8,4,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-268,-268,214,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-268,215,-268,107,108,-268,55,54,75,76,98,-268,-268,104,-268,-268,-268,-268,-268,87,-268,91,-268,88,89,94,-268,-268,68,-268,174,-268,175,95,96,90,92,93,86,-268,72,66,67,216,56,99,-268,57,100,-268,-268,58,62,59,-268,-268,60,103,-268,-268,-268,51,-268,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,-268,2,58,1,217,109,2,58,1,218,109,1,187,219,6,15,20,102,2,1,1,221,220,44,45,95,96,144,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,3,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,6,1,1,1,1,4,5,3,2,1,2,1,1,6,1,1,1,2,2,1,1,13,1,3,1,1,1,1,1,7,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,4,4,1,1,1,1,1,1,1,1,1,2,2,1,2,5,1,8,4,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-265,-265,222,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-265,223,-265,107,108,-265,55,54,75,76,98,-265,-265,104,-265,-265,-265,-265,-265,87,-265,91,-265,88,89,94,-265,-265,68,-265,174,-265,175,95,96,90,92,93,86,-265,72,66,67,56,99,-265,57,100,-265,-265,58,62,59,-265,-265,60,103,-265,-265,-265,51,-265,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,-265,9,57,1,1,3,1,34,98,1,5,224,228,109,110,111,227,225,226,229,63,14,1,3,1,1,1,6,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,9,1,1,1,1,12,13,2,3,2,1,15,4,2,1,1,7,1,1,1,32,2,3,12,4,4,184,185,236,237,238,239,231,232,233,234,242,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,235,109,110,111,107,108,55,243,75,76,98,230,87,91,88,89,94,68,174,175,95,96,90,92,93,86,63,69,64,240,241,178,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,-90,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,-91,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,-46,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,-47,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,-48,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,-49,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,-50,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,-51,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,-52,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,-53,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,-54,111,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,3,1,6,2,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,244,3,4,5,6,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,245,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,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,3,1,6,2,1,3,6,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,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,246,255,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,252,107,108,253,55,54,75,76,98,104,61,87,247,91,257,88,89,94,248,249,251,254,250,68,44,45,95,96,256,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,4,86,2,28,18,259,260,258,146,2,116,18,261,146,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,-249,58,1,5,54,1,1,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-250,-250,262,263,-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,-250,1,86,264,1,86,265,35,6,33,8,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,6,1,1,1,3,8,1,1,12,13,2,1,6,1,1,1,29,-155,283,274,275,278,277,276,279,280,284,105,106,271,109,272,263,110,111,-155,-155,107,108,-155,281,282,273,104,164,163,270,266,267,268,269,86,57,11,37,2,1,1,1,1,1,1,3,3,1,6,2,1,9,16,3,10,2,3,2,1,15,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,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,37,2,1,1,1,1,1,1,3,3,1,6,2,1,9,16,3,10,2,3,2,1,15,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,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,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,-92,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,-93,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,285,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,286,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,287,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,288,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,7,2,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,290,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,167,107,108,289,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,23,6,41,9,1,1,1,1,1,1,1,6,1,5,10,13,5,3,1,1,1,1,2,1,-116,296,105,106,298,109,299,263,110,111,-116,-116,-116,300,291,-116,292,297,301,293,294,295,302,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,-55,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,-56,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,-67,48,14,1,22,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,10,1,1,1,12,13,2,3,2,1,19,2,1,1,7,1,1,1,57,184,185,186,35,36,37,303,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,243,75,76,98,104,87,91,88,89,94,174,175,95,96,90,92,93,86,178,67,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,4,3,3,1,10,1,3,1,1,2,3,15,11,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,-57,59,1,5,56,1,2,2,1,1,1,3,2,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,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,6,57,5,1,1,2,1,307,110,111,304,305,306,114,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,3,1,5,2,1,1,9,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,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,-5,308,-5,4,5,6,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-5,-5,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,-5,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,309,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,310,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,311,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,312,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,313,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,314,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,315,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,316,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,317,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,320,170,318,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,319,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,323,170,321,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,322,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,326,170,324,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,325,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,327,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,328,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,329,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,330,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,331,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,-306,14,40,18,1,24,1,1,12,4,4,5,2,31,37,2,335,159,109,161,162,160,104,332,333,87,163,202,334,201,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,336,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,337,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,-305,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,-425,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,-426,57,1,5,56,1,5,1,1,3,2,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,-231,57,1,5,56,1,5,1,1,3,2,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,-232,2,116,18,338,146,2,60,1,339,263,2,60,1,340,263,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,3,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,7,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,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,341,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,346,80,81,82,83,84,85,105,106,97,109,110,111,342,107,108,344,55,54,75,76,98,343,104,61,87,91,348,88,89,94,345,347,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,8,58,1,1,1,8,23,31,1,353,109,354,263,350,349,351,352,8,58,1,1,1,8,23,31,1,353,109,354,263,356,355,351,352,1,88,357,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,3,1,6,2,1,9,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,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,362,255,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,361,107,108,55,54,75,76,98,104,61,87,91,257,88,89,94,360,68,358,44,45,95,96,256,359,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,2,60,1,363,263,2,60,1,364,263,106,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,365,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,366,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,107,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,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,368,367,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,369,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,107,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,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,371,370,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,372,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,108,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,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,7,2,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,374,373,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,167,107,108,375,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,107,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,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,377,376,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,378,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,108,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,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,7,2,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,380,379,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,167,107,108,381,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,11,6,63,1,5,18,1,9,8,8,17,2,-261,-261,-261,383,384,-261,-261,-261,-261,-261,382,6,6,63,1,5,61,2,-218,-218,-218,-218,-218,-218,7,6,63,1,5,1,60,2,-222,-222,-222,-222,385,-222,-222,15,6,52,1,10,1,5,8,1,1,12,13,2,24,2,5,-225,159,109,-225,-225,-225,161,162,160,104,164,163,-225,-225,386,11,6,63,1,5,1,26,34,2,39,2,2,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,-226,11,6,63,1,5,1,26,34,2,39,2,2,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,-227,11,6,63,1,5,1,26,34,2,39,2,2,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,-228,11,6,63,1,5,1,26,34,2,39,2,2,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,-229,2,60,1,262,263,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,3,1,6,2,1,3,6,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,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,362,255,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,252,107,108,253,55,54,75,76,98,104,61,87,247,91,257,88,89,94,248,249,251,254,250,68,44,45,95,96,256,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,-212,9,1,5,62,1,1,5,36,25,16,-214,-214,-214,-214,-214,-214,-214,-214,-214,111,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,3,1,7,1,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,388,3,4,5,6,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,387,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,130,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,-420,123,-420,-420,-420,-420,9,1,5,62,1,1,5,36,25,16,-417,-417,-417,-417,-417,-417,-417,-417,-417,5,162,1,9,1,1,132,133,134,101,102,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,130,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,-421,123,-421,-421,-421,-421,9,1,5,62,1,1,5,36,25,16,-418,-418,-418,-418,-418,-418,-418,-418,-418,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,-422,130,-422,-422,-422,-422,-422,-422,-422,-422,-422,116,-422,-422,-422,-422,-422,-422,123,-422,-422,-422,-422,18,6,52,1,10,1,5,8,1,1,12,13,2,1,22,1,2,4,1,-217,159,109,-217,-217,-217,161,162,160,104,164,163,158,389,-217,-217,156,157,2,69,10,167,165,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,168,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,171,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,5,15,122,2,1,1,221,174,175,95,96,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,-423,130,-423,-423,-423,-423,-423,-423,-423,-423,-423,116,-423,-423,-423,-423,-423,-423,123,-423,-423,-423,-423,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,-424,130,-424,-424,-424,-424,-424,-424,-424,-424,-424,116,-424,-424,-424,-424,-424,-424,123,-424,-424,-424,-424,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,130,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,-427,123,-427,-427,-427,-427,2,84,13,390,104,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-429,-429,-89,-89,-429,-429,-429,-429,-89,-89,-89,-89,-89,-89,-89,-89,-429,-89,-429,-89,-89,-429,-429,-429,-429,-429,-429,-429,-429,-429,-89,-429,-429,-89,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-89,-89,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,-429,12,57,5,1,23,1,1,3,4,1,20,18,11,137,110,111,140,141,142,143,144,145,138,146,139,3,86,1,1,147,148,149,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-430,-430,-89,-89,-430,-430,-430,-430,-89,-89,-89,-89,-89,-89,-89,-89,-430,-89,-430,-89,-89,-430,-430,-430,-430,-430,-430,-430,-430,-430,-89,-430,-430,-89,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-89,-89,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,-430,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,-431,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,-432,107,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,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,393,391,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,392,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-86,-86,-86,-86,-86,-86,-86,-86,-86,131,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,-86,128,129,130,101,102,-86,-86,-86,-86,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,394,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,-88,3,69,10,79,167,395,396,47,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,2,1,1,6,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,397,398,399,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,-285,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,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,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,-304,4,102,75,2,2,401,400,402,403,11,58,1,24,1,1,12,4,9,2,31,39,159,109,161,162,160,104,404,164,163,202,201,11,58,1,24,1,1,12,4,9,2,31,39,159,109,161,162,160,104,405,164,163,202,201,3,69,10,99,167,406,407,5,75,27,75,2,2,408,-347,-347,-347,-347,6,75,1,26,75,2,2,-345,409,-345,-345,-345,-345,22,69,31,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,410,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,3,169,1,1,411,412,413,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,-350,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,414,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,63,1,5,56,1,5,1,1,5,1,1,1,1,1,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-353,-353,-89,-89,-353,167,-353,-353,-89,-89,-89,415,-89,-89,-89,-89,-89,-353,-89,-353,-89,-89,-353,-353,-353,-353,-353,-353,-353,-353,-353,-89,-353,-353,-89,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,416,-353,-353,-89,-89,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,-353,112,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,1,1,1,1,1,1,8,4,1,1,1,1,1,3,1,419,420,421,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,417,418,422,423,65,73,74,46,47,71,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,424,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,-369,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-370,-370,-370,-370,-370,-370,-370,-370,-370,131,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,-370,130,101,102,-370,-370,-370,-370,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,-266,130,-266,-266,-266,-266,-266,-266,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,2,84,13,425,104,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,-269,130,-269,-269,-269,-269,-269,-269,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,2,84,13,426,104,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,427,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,3,69,10,55,167,429,428,2,69,10,167,430,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,-358,9,1,5,62,1,1,5,36,25,16,-419,-419,-419,-419,-419,-419,-419,-419,-419,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,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,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,-457,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,-263,130,-263,-263,-263,-263,-263,-263,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,2,84,13,431,104,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,-371,2,75,81,433,432,1,156,434,7,58,1,10,34,94,1,2,439,109,438,435,436,437,440,2,75,81,-387,-387,1,199,441,26,6,41,9,1,1,1,1,1,1,1,6,1,5,10,13,5,3,1,1,1,1,2,1,87,3,2,-116,296,105,106,446,109,299,263,110,111,445,-116,-116,300,291,442,292,297,301,293,294,295,302,447,443,444,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,-391,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,-392,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,-393,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,-394,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-92,-92,-92,-92,-92,-92,-92,-92,448,-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,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,-398,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,-399,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,-400,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,-401,106,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,449,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,450,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,1,156,451,60,1,5,56,1,5,1,1,5,2,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-36,-36,-36,-36,-36,-36,-36,-36,151,152,153,154,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,-36,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,-89,2,6,146,112,452,110,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,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,453,3,4,5,6,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,30,6,63,1,5,25,11,2,18,1,4,26,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-243,-243,-243,-243,131,-243,348,454,347,-243,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,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,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,3,1,8,1,3,6,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,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,362,255,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,253,55,54,75,76,98,104,61,87,455,91,257,88,89,94,457,456,68,44,45,95,96,256,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,11,6,63,1,5,18,1,9,8,8,8,9,-261,-261,-261,459,460,-261,-261,-261,-261,458,-261,62,6,5,37,2,1,1,1,1,1,1,3,3,1,6,1,1,1,3,6,16,3,10,1,1,1,2,2,1,15,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,461,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-198,-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,63,1,5,36,-189,-189,-189,-189,-189,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,3,1,6,2,1,3,6,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,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,362,255,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,252,107,108,253,55,54,75,76,98,104,61,87,91,257,88,89,94,463,462,251,254,250,68,44,45,95,96,256,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,62,6,5,37,2,1,1,1,1,1,1,3,3,1,6,1,1,1,3,6,16,3,10,1,1,1,2,2,1,15,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,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,63,1,5,36,-194,-194,-194,-194,-194,6,6,63,1,5,36,25,-244,-244,-244,-244,-244,-244,6,6,63,1,5,36,25,-245,-245,-245,-245,-245,-245,111,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,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,1,1,1,3,6,1,1,1,1,12,3,10,1,1,3,2,1,15,3,1,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,-246,464,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-246,-246,107,108,-246,55,54,75,76,98,104,61,87,-246,91,88,89,94,68,-246,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,57,1,5,56,1,5,1,1,3,2,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,-234,2,60,1,465,263,106,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,466,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,467,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,57,1,5,56,1,5,1,1,3,2,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,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,-235,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,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,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,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,2,60,1,468,263,2,60,1,469,263,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-153,-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,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,471,470,-261,-261,-261,-261,-261,5,6,63,1,5,44,-156,-156,-156,-156,-156,1,99,472,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,473,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,1,99,-172,1,99,-173,1,99,-174,1,99,-175,1,99,-176,1,99,-177,1,99,-178,1,99,-179,1,99,-180,1,99,-181,1,99,-182,1,99,-183,1,99,-184,1,99,-185,23,69,10,21,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,474,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,23,69,10,21,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,475,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-300,-300,-300,-300,-300,-300,-300,-300,-300,131,-300,-300,476,-300,-300,-300,-300,-300,-300,-300,-300,-300,-300,130,101,102,-300,-300,-300,-300,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-302,-302,-302,-302,-302,-302,-302,-302,-302,131,-302,-302,477,-302,-302,-302,-302,-302,-302,-302,-302,-302,-302,130,101,102,-302,-302,-302,-302,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,-308,46,1,5,62,1,1,5,4,10,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-309,-309,-309,167,-309,-309,478,-309,-309,-309,131,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,-309,130,101,102,-309,-309,-309,-309,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,6,6,63,1,5,24,4,-121,-121,-121,-121,479,-121,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,481,480,-261,-261,-261,-261,-261,7,6,63,1,5,1,23,4,-130,-130,-130,-130,482,-130,-130,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,483,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,3,60,1,49,262,263,484,6,6,63,1,5,24,4,-133,-133,-133,-133,-133,-133,5,6,63,1,5,28,-117,-117,-117,-117,-117,13,6,63,1,5,1,10,1,1,3,4,4,4,31,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,-127,13,6,63,1,5,1,10,1,1,3,4,4,4,31,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,-128,13,6,63,1,5,1,10,1,1,3,4,4,4,31,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,-129,5,6,63,1,5,28,-122,-122,-122,-122,-122,17,39,4,1,14,1,1,1,23,1,12,12,3,2,1,2,31,3,488,490,489,298,109,299,263,487,300,104,485,91,486,491,492,90,86,57,1,5,56,1,5,1,1,3,2,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-40,-40,-40,-40,-40,-40,-40,493,-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,6,57,5,1,2,1,1,307,110,111,494,495,306,4,62,1,2,2,-61,-61,-61,-61,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,3,1,5,1,2,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,496,3,4,5,6,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,498,497,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,4,62,1,2,2,-66,-66,-66,-66,5,1,5,62,2,82,-4,-4,-4,-4,-4,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,-433,130,-433,-433,-433,-433,-433,-433,-433,-433,115,116,-433,-433,-433,-433,-433,-433,123,-433,-433,-433,-433,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,-434,130,-434,-434,-434,-434,-434,-434,-434,-434,115,116,-434,-434,-434,-434,-434,-434,123,-434,-434,-434,-434,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,-435,130,-435,-435,-435,-435,-435,-435,-435,-435,-435,116,-435,-435,-435,-435,-435,-435,123,-435,-435,-435,-435,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,-436,130,-436,-436,-436,-436,-436,-436,-436,-436,-436,116,-436,-436,-436,-436,-436,-436,123,-436,-436,-436,-436,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,-437,130,-437,-437,-437,-437,-437,-437,114,113,115,116,-437,-437,-437,-437,-437,-437,123,-437,-437,-437,-437,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,-438,130,-438,-438,-438,-438,-438,-438,114,113,115,116,117,-438,-438,-438,-438,-438,123,-438,-438,126,-438,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,-439,130,-439,-439,-439,-439,-439,-439,114,113,115,116,117,118,-439,-439,-439,-439,123,-439,-439,126,-439,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,-440,130,-440,-440,-440,-440,-440,-440,114,113,115,116,117,118,119,-440,-440,-440,123,-440,-440,126,-440,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,-441,130,-441,-441,-441,-441,-441,-441,114,113,115,116,117,118,119,120,-441,-441,123,-441,-441,126,-441,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,-442,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,-443,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,-449,130,-449,-449,-449,-449,-449,-449,114,113,115,116,117,118,119,120,121,-449,123,124,-449,126,-449,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,-444,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,-445,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-450,-450,-450,-450,-450,-450,-450,-450,-450,131,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,-450,128,129,130,101,102,-450,-450,-450,-450,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,-446,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,-447,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,-448,130,-448,-448,-448,-448,-448,-448,114,113,115,116,117,118,119,120,121,-448,123,-448,-448,126,-448,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,-451,130,-451,-451,-451,-451,-451,-451,114,113,115,116,117,118,119,120,121,122,123,124,-451,126,-451,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,-452,130,-452,-452,-452,-452,-452,-452,114,113,115,116,117,-452,-452,-452,-452,-452,123,-452,-452,-452,-452,22,99,1,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,499,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-280,-280,-280,-280,-280,-280,-280,-280,-280,131,-280,-280,-280,-280,-280,-280,-280,-280,-280,-280,500,-280,-280,130,101,102,-280,-280,-280,-280,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-284,-284,-284,-284,-284,-284,-284,-284,-284,131,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,-284,130,101,102,-284,-284,-284,-284,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,4,102,75,2,2,502,501,503,504,11,58,1,24,1,1,12,4,9,2,31,39,159,109,161,162,160,104,505,164,163,202,201,11,58,1,24,1,1,12,4,9,2,31,39,159,109,161,162,160,104,506,164,163,202,201,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,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,-343,-343,-343,507,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,-343,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-279,-279,-279,-279,-279,-279,-279,-279,-279,131,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,-279,130,101,102,-279,-279,-279,-279,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-283,-283,-283,-283,-283,-283,-283,-283,-283,131,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,-283,130,101,102,-283,-283,-283,-283,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,57,1,5,56,1,5,1,1,3,2,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,-233,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,-94,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,-95,25,89,11,13,18,1,30,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,508,131,348,509,347,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,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,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,5,7,3,10,2,1,2,2,1,13,1,1,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,510,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,511,104,61,87,91,348,88,89,94,345,347,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,1,89,512,1,89,513,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,7,1,1,9,1,1,1,1,4,8,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,514,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-208,107,108,55,54,75,76,98,-208,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-48,-48,-48,-48,-48,-48,-48,515,-48,-48,-48,-70,-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,58,11,37,2,1,1,1,1,1,1,3,3,1,7,1,1,9,8,8,3,10,2,3,2,1,15,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,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,37,2,1,1,1,1,1,1,3,3,1,7,1,1,9,8,8,3,10,2,3,2,1,15,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,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,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,517,516,-261,-261,-261,-261,-261,7,58,1,1,1,31,31,1,353,109,354,263,518,351,352,4,6,64,5,19,-163,-163,-163,-163,6,6,64,5,1,18,5,-166,-166,-166,520,-166,519,6,6,64,5,1,18,5,-170,-170,-170,-170,-170,-170,6,6,64,5,1,18,5,-171,-171,-171,-171,-171,-171,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,517,521,-261,-261,-261,-261,-261,7,58,1,1,1,31,31,1,353,109,354,263,522,351,352,106,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,523,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,524,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,57,1,5,56,1,5,1,1,3,2,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,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,-236,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,526,525,-261,-261,-261,-261,-261,5,6,63,1,5,61,-238,-238,-238,-238,-238,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,3,1,6,2,1,9,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,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,362,255,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,361,107,108,55,54,75,76,98,104,61,87,91,257,88,89,94,360,68,44,45,95,96,256,527,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,27,6,63,1,5,25,11,25,26,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-243,-243,-243,-243,131,-243,-243,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,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,-107,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,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,-108,22,89,11,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,528,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,529,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,-71,130,-71,-71,-71,-71,-71,-71,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,530,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,531,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-74,-74,-74,-74,-74,-74,-74,-74,-74,131,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,-74,128,129,130,101,102,-74,-74,-74,-74,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,532,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,533,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-77,-77,-77,-77,-77,-77,-77,-77,-77,131,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,-77,128,129,130,101,102,-77,-77,-77,-77,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,534,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,-79,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-80,-80,-80,-80,-80,-80,-80,-80,-80,131,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,-80,128,129,130,101,102,-80,-80,-80,-80,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,535,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,536,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-83,-83,-83,-83,-83,-83,-83,-83,-83,131,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,-83,128,129,130,101,102,-83,-83,-83,-83,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,537,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,-85,3,139,1,1,538,95,96,19,6,52,1,10,1,13,1,1,9,3,6,7,1,1,1,6,17,6,1,-262,159,109,-262,-262,161,162,160,-262,104,-262,164,-262,163,158,-262,-262,539,157,2,6,63,540,541,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,542,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,6,6,63,1,5,61,2,-224,-224,-224,-224,-224,-224,59,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,3,1,4,2,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-257,-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,64,112,543,11,6,63,1,5,18,1,9,8,8,17,2,-261,-261,-261,383,384,-261,-261,-261,-261,-261,544,1,70,545,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,-454,130,-454,-454,-454,-454,-454,-454,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,546,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,547,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-87,-87,-87,-87,-87,-87,-87,-87,-87,131,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,-87,128,129,130,101,102,-87,-87,-87,-87,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,-277,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,548,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,3,7,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,549,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,-286,2,69,10,167,550,6,58,1,10,10,5,13,551,109,167,553,552,104,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,554,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,555,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,556,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,557,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,1,102,558,1,179,559,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,-326,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,560,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,10,58,1,24,1,1,12,13,2,31,39,159,109,161,162,160,104,164,163,202,561,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,562,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,3,169,1,1,563,412,413,4,70,89,11,1,564,565,566,413,3,70,89,12,-296,-296,-296,106,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,6,1,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,568,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,567,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,46,1,5,62,1,1,5,4,10,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-351,-351,-351,167,-351,-351,569,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,-351,130,-351,-351,-351,-351,-351,-351,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,-354,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,570,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,2,6,64,572,571,2,6,64,-361,-361,23,6,64,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-364,-364,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,2,6,64,-365,-365,7,6,64,92,1,9,1,1,-366,-366,132,133,134,101,102,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,573,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,1,59,574,22,69,31,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,575,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,1,70,576,1,70,577,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,-271,130,-271,-271,-271,-271,-271,-271,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,18,6,52,1,10,1,5,8,1,1,12,13,2,1,22,1,2,4,1,-217,159,109,-217,-217,-217,161,162,160,104,164,163,158,578,-217,-217,156,157,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,-210,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,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,-357,1,70,579,3,57,5,1,580,110,111,3,97,99,5,582,581,229,3,57,5,1,583,110,111,1,156,584,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,586,585,-261,-261,-261,-261,-261,5,6,63,1,5,28,-378,-378,-378,-378,-378,6,58,1,10,128,1,2,439,109,438,587,437,440,6,6,63,1,5,28,96,-383,-383,-383,-383,-383,588,6,6,63,1,5,28,96,-385,-385,-385,-385,-385,589,2,58,1,590,109,14,1,5,62,1,1,5,36,25,16,4,6,1,10,1,-389,-389,-389,-389,-389,-389,-389,-389,-389,591,-389,-389,-389,-389,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,593,592,-261,-261,-261,-261,-261,5,6,63,1,5,28,-407,-407,-407,-407,-407,6,58,1,10,131,3,2,595,109,445,447,594,444,14,6,63,1,5,1,10,1,1,3,4,4,4,31,65,-412,-412,-412,-412,-127,-127,-127,-127,-127,-127,-127,-412,-127,596,6,6,63,1,5,28,96,-415,-415,-415,-415,-415,597,107,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,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,599,598,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,600,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,30,1,5,62,1,1,5,25,11,25,16,10,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-402,-402,-402,-402,-402,-402,131,-402,-402,-402,-402,-402,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,2,84,13,601,104,3,57,5,1,602,110,111,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,-259,2,6,64,112,603,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,604,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,-187,62,6,5,37,2,1,1,1,1,1,1,3,3,1,6,1,1,1,3,6,16,3,10,1,1,1,2,2,1,15,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,461,-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,63,1,5,36,-195,-195,-195,-195,-195,2,69,42,606,605,123,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,3,1,6,1,1,1,3,6,1,1,1,1,9,3,3,3,7,1,1,1,2,2,1,1,6,3,1,1,3,3,1,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,-262,362,255,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-262,-262,107,108,253,55,54,75,76,98,-262,104,61,-262,87,-262,91,257,88,89,94,-262,608,607,254,250,68,-262,44,45,95,96,256,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,4,6,63,1,41,609,-196,-196,-196,62,6,5,37,2,1,1,1,1,1,1,3,3,1,6,1,1,1,3,6,16,3,10,1,1,1,2,2,1,15,4,3,1,7,1,1,1,2,1,1,3,3,3,4,5,1,2,4,3,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,63,1,5,18,1,9,8,8,8,9,-261,-261,-261,459,460,-261,-261,-261,-261,610,-261,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,3,1,8,1,3,6,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,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,362,255,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,253,55,54,75,76,98,104,61,87,91,257,88,89,94,457,456,68,44,45,95,96,256,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,27,6,63,1,5,25,11,25,26,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-230,-230,-230,-230,131,-230,-230,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,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,-252,22,89,11,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,611,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,612,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,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,-255,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,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,-256,3,6,63,50,614,615,613,37,6,33,8,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,6,1,1,1,11,1,1,9,3,6,7,1,1,1,6,2,1,14,15,-262,283,274,275,278,277,276,279,280,284,105,106,271,109,272,263,110,111,-262,-262,107,108,281,282,273,-262,104,-262,164,-262,163,270,-262,616,269,-262,86,106,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,617,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,618,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,26,6,63,1,5,25,19,43,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-162,-162,-162,-162,131,-162,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,-272,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,619,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,-274,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,620,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,621,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,-310,106,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,622,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,623,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,3,6,63,34,625,626,624,25,6,41,9,1,1,1,1,1,1,1,6,1,15,9,4,5,4,1,1,1,1,1,1,6,17,-262,296,105,106,298,109,299,263,110,111,-262,-262,300,-262,628,-262,627,301,293,294,-262,295,302,-262,-262,106,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,629,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,630,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,22,100,11,51,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,131,631,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,632,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,12,6,63,1,5,11,1,1,3,4,8,13,18,-134,-134,-134,-134,-136,-136,-136,-136,-136,-134,633,146,12,6,63,1,5,11,1,1,3,4,8,13,18,-135,-135,-135,-135,635,636,637,638,639,-135,634,146,11,6,63,1,5,11,1,1,3,4,8,31,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,-137,11,6,63,1,5,11,1,1,3,4,8,31,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,-138,11,6,63,1,5,11,1,1,3,4,8,31,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,-139,11,6,63,1,5,11,1,1,3,4,8,31,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,-140,4,86,2,28,18,259,260,640,146,2,116,18,641,146,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,-68,59,1,5,56,1,2,2,1,1,1,3,2,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,-60,4,62,1,2,2,-62,-62,-62,-62,2,6,62,112,642,110,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,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,643,3,4,5,6,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,4,62,1,2,2,-65,-65,-65,-65,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,644,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,106,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,646,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,645,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,647,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,648,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,649,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,650,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,1,102,651,1,179,652,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,653,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,-96,107,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,7,1,1,9,1,1,1,1,4,8,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,654,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-206,107,108,55,54,75,76,98,-206,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,25,70,30,13,18,1,30,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,655,131,348,509,347,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,1,70,656,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,-98,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,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,-104,23,70,19,11,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-207,-207,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,657,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,2,6,88,659,658,14,6,52,1,1,1,8,1,24,9,8,8,4,1,12,-262,353,109,354,263,-262,-262,-262,-262,-262,-262,660,352,-262,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,517,661,-261,-261,-261,-261,-261,5,58,1,1,1,63,353,109,354,263,662,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,663,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,2,6,88,659,664,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,517,665,-261,-261,-261,-261,-261,22,89,11,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,666,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,667,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,3,6,63,67,669,670,668,119,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,3,1,6,1,1,1,9,1,1,1,1,9,3,3,3,7,1,1,1,2,2,1,1,10,4,3,1,2,1,1,3,4,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,-262,362,255,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-262,-262,107,108,55,54,75,76,98,-262,104,61,-262,87,-262,91,257,88,89,94,-262,671,68,-262,44,45,95,96,256,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,526,672,-261,-261,-261,-261,-261,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,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,-109,22,70,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,673,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,-72,130,-72,-72,-72,-72,-72,-72,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,22,70,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,674,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-75,-75,-75,-75,-75,-75,-75,-75,-75,131,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,-75,128,129,130,101,102,-75,-75,-75,-75,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,22,70,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,675,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-78,-78,-78,-78,-78,-78,-78,-78,-78,131,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,-78,128,129,130,101,102,-78,-78,-78,-78,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-81,-81,-81,-81,-81,-81,-81,-81,-81,131,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,-81,128,129,130,101,102,-81,-81,-81,-81,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,22,70,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,676,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-84,-84,-84,-84,-84,-84,-84,-84,-84,131,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,-84,128,129,130,101,102,-84,-84,-84,-84,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,111,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,3,1,6,2,1,7,2,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,678,4,5,6,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,167,107,108,677,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,6,6,63,1,5,61,2,-219,-219,-219,-219,-219,-219,11,58,1,24,1,1,12,13,2,1,29,1,159,109,161,162,160,104,164,163,158,679,157,18,6,52,1,10,1,5,8,1,1,12,13,2,1,22,1,2,4,1,-217,159,109,-217,-217,-217,161,162,160,104,164,163,158,680,-217,-217,156,157,27,6,63,1,5,25,36,2,24,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-223,-223,-223,-223,131,-223,-223,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,59,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,3,1,4,2,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,-258,3,139,1,1,681,95,96,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,-428,22,70,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,682,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,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,130,-456,-456,-456,-456,-456,-456,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,23,69,10,21,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,683,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,2,69,10,167,684,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,-287,2,69,10,167,685,2,69,10,167,686,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,3,7,1,3,1,1,2,29,1,5,1,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,-291,25,69,10,21,4,58,1,9,1,1,4,32,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,687,131,688,128,129,130,101,102,689,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,24,69,10,21,4,58,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,690,131,691,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,24,69,10,21,4,58,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,692,131,693,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,24,69,10,21,4,58,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,694,131,695,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,696,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,697,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,23,69,10,21,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,698,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,4,102,75,2,2,-348,-348,-348,-348,26,75,25,2,60,1,9,1,1,3,2,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-346,131,-346,128,129,130,101,102,-346,-346,-346,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,4,70,89,11,1,699,700,566,413,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,-294,2,69,10,167,701,3,70,89,12,-297,-297,-297,3,69,6,4,167,703,702,23,69,6,25,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-247,-247,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,-352,46,1,5,62,1,1,5,4,10,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-355,-355,-355,167,-355,-355,704,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,-355,130,-355,-355,-355,-355,-355,-355,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,-359,113,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,3,1,7,1,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,2,1,1,1,1,8,4,1,1,1,1,1,3,1,-363,419,420,421,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-363,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,705,422,423,65,73,74,46,47,71,48,49,50,52,53,23,6,64,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-367,-367,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,2,6,64,-368,-368,112,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,1,1,1,1,1,1,8,4,1,1,1,1,1,3,1,419,420,421,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,44,45,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,706,418,422,423,65,73,74,46,47,71,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,-267,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,-270,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,383,384,-261,-261,-261,-261,707,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,-264,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,-372,1,156,708,6,58,1,10,128,1,2,439,109,438,709,437,440,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,-373,3,57,5,1,710,110,111,3,6,63,34,712,713,711,12,6,52,1,10,1,24,9,8,8,17,62,2,-262,439,109,-262,-262,-262,-262,-262,-262,-262,714,440,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,586,715,-261,-261,-261,-261,-261,2,58,1,716,109,2,58,1,717,109,1,156,-388,3,57,5,1,718,110,111,3,6,63,34,720,721,719,12,6,52,1,10,1,24,9,8,8,17,64,5,-262,595,109,-262,-262,-262,-262,-262,-262,-262,447,722,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,593,723,-261,-261,-261,-261,-261,6,6,63,1,5,28,96,-412,-412,-412,-412,-412,596,3,58,1,141,724,109,725,2,58,1,726,109,30,1,5,62,1,1,5,25,11,25,16,10,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-395,-395,-395,-395,-395,-395,131,-395,-395,-395,-395,-395,130,-395,-395,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,727,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,728,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,1,70,729,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,-404,1,152,730,22,100,11,51,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,131,731,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,-188,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,3,1,6,2,1,3,6,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,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,362,255,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,252,107,108,253,55,54,75,76,98,104,61,87,91,257,88,89,94,463,732,251,254,250,68,44,45,95,96,256,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,5,6,63,1,5,36,-190,-190,-190,-190,-190,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,3,1,6,1,1,1,3,6,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,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,362,255,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,-197,-197,107,108,253,55,54,75,76,98,104,61,87,-197,91,257,88,89,94,457,456,68,44,45,95,96,256,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,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,3,1,8,1,3,6,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,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,362,255,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,253,55,54,75,76,98,104,61,87,91,257,88,89,94,463,733,254,250,68,44,45,95,96,256,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,2,69,1,606,734,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,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,-253,22,70,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,735,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,-154,29,39,8,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,8,1,11,1,1,12,13,2,1,8,1,29,283,274,275,278,277,276,279,280,284,105,106,271,109,272,263,110,111,107,108,281,282,273,104,164,163,270,736,269,86,35,6,33,8,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,6,1,1,1,3,8,1,1,12,13,2,1,6,1,1,1,29,-155,283,274,275,278,277,276,279,280,284,105,106,271,109,272,263,110,111,-155,-155,107,108,-155,281,282,273,104,164,163,270,-155,737,268,269,86,5,6,63,1,5,44,-157,-157,-157,-157,-157,26,6,63,1,5,25,19,43,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-160,-160,-160,-160,131,-160,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,738,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,2,69,10,167,739,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,-301,130,-301,-301,-301,-301,-301,-301,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,-303,130,-303,-303,-303,-303,-303,-303,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,26,6,63,1,5,25,3,59,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-123,-123,-123,-123,740,-123,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,741,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,-115,17,47,9,1,1,1,1,1,1,1,22,13,9,1,1,1,2,1,296,105,106,298,109,299,263,110,111,300,628,742,301,293,294,295,302,23,6,41,9,1,1,1,1,1,1,1,6,1,5,10,13,5,3,1,1,1,1,2,1,-116,296,105,106,298,109,299,263,110,111,-116,-116,-116,300,628,-116,743,297,301,293,294,295,302,5,6,63,1,5,28,-118,-118,-118,-118,-118,6,6,63,1,5,24,4,-121,-121,-121,-121,744,-121,26,6,63,1,5,25,3,59,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-125,-125,-125,-125,131,-125,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,745,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,6,6,63,1,5,24,4,-131,-131,-131,-131,-131,-131,22,100,11,51,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,131,746,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,11,6,63,1,5,11,1,1,3,4,8,31,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,-143,11,6,63,1,5,11,1,1,3,4,8,31,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,-144,2,60,1,747,263,2,60,1,748,263,106,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,749,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,750,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,8,58,1,1,1,8,23,31,1,353,109,354,263,752,751,351,352,8,58,1,1,1,8,23,31,1,353,109,354,263,754,753,351,352,11,6,63,1,5,11,1,1,3,4,8,31,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,-141,11,6,63,1,5,11,1,1,3,4,8,31,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,-142,4,62,1,2,2,-63,-63,-63,-63,2,6,64,112,755,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,-453,130,-453,-453,-453,-453,-453,-453,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,756,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-282,-282,-282,-282,-282,-282,-282,-282,-282,131,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,-282,130,101,102,-282,-282,-282,-282,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,757,-328,-328,-328,-328,-328,-328,-328,-328,-328,-328,130,-328,-328,-328,758,-328,-328,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,759,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,130,-333,-333,-333,-333,-333,-333,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,760,-337,-337,-337,-337,-337,-337,-337,-337,-337,-337,130,-337,-337,-337,-337,-337,-337,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,761,-341,-341,-341,-341,-341,-341,-341,-341,-341,-341,130,-341,-341,-341,-341,-341,-341,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,762,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,763,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,-344,130,-344,-344,-344,-344,-344,-344,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,23,70,19,11,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-205,-205,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,1,89,764,1,89,765,22,89,11,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-69,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,-100,6,58,1,1,1,62,1,353,109,354,263,766,352,4,6,64,5,19,-164,-164,-164,-164,2,6,64,659,767,5,6,64,5,1,18,-167,-167,-167,768,-167,25,6,64,5,19,6,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-168,-168,-168,-168,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,-101,2,6,64,659,769,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,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,-105,22,70,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,770,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,57,1,5,56,1,5,1,1,3,2,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,-237,111,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,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,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,362,255,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,257,88,89,94,771,68,44,45,95,96,256,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,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,3,1,6,2,1,9,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,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,362,255,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,361,107,108,55,54,75,76,98,104,61,87,91,257,88,89,94,360,68,44,45,95,96,256,772,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,46,47,71,48,49,50,52,53,5,6,63,1,5,61,-239,-239,-239,-239,-239,3,6,63,1,669,670,773,1,89,774,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,-73,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,-76,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,-82,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,-211,9,1,5,62,1,1,5,36,25,16,-213,-213,-213,-213,-213,-213,-213,-213,-213,6,6,63,1,5,61,2,-220,-220,-220,-220,-220,-220,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,383,775,-261,-261,-261,-261,-261,2,69,10,167,677,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,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,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,-455,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,-273,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,-288,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,3,7,1,3,1,1,2,29,1,5,1,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,-289,-289,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,3,7,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-290,-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,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,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,-311,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,776,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,777,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,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,-316,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,778,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,-320,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,779,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,-324,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,780,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,24,69,10,21,4,58,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,781,131,782,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,24,69,10,21,4,58,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,783,131,784,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,-327,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,-292,2,69,10,167,785,1,70,786,4,6,64,89,12,787,-298,-298,-298,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,788,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,-356,2,6,64,-362,-362,2,6,64,572,789,2,69,10,167,790,3,57,5,1,791,110,111,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,586,792,-261,-261,-261,-261,-261,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,-374,1,156,793,4,58,1,139,2,439,109,794,440,6,58,1,10,128,1,2,439,109,438,795,437,440,5,6,63,1,5,28,-379,-379,-379,-379,-379,3,6,63,1,712,713,796,5,6,63,1,5,28,-384,-384,-384,-384,-384,5,6,63,1,5,28,-386,-386,-386,-386,-386,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,-405,14,1,5,62,1,1,5,36,25,16,4,6,1,10,1,-390,-390,-390,-390,-390,-390,-390,-390,-390,797,-390,-390,-390,-390,4,58,1,141,5,595,109,447,798,6,58,1,10,131,3,2,595,109,445,447,799,444,5,6,63,1,5,28,-408,-408,-408,-408,-408,3,6,63,1,720,721,800,5,6,63,1,5,28,-413,-413,-413,-413,-413,5,6,63,1,5,28,-414,-414,-414,-414,-414,5,6,63,1,5,28,-416,-416,-416,-416,-416,30,1,5,62,1,1,5,25,11,25,16,10,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-396,-396,-396,-396,-396,-396,131,-396,-396,-396,-396,-396,130,-396,-396,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,22,70,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,801,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,-403,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,-260,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,-204,11,6,63,1,5,18,1,9,8,8,8,9,-261,-261,-261,459,460,-261,-261,-261,-261,802,-261,5,6,63,1,5,36,-191,-191,-191,-191,-191,5,6,63,1,5,36,-192,-192,-192,-192,-192,1,89,803,5,6,63,1,5,44,-158,-158,-158,-158,-158,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,471,804,-261,-261,-261,-261,-261,22,70,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,805,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,-275,14,40,18,1,24,1,1,12,4,4,5,2,31,37,2,335,159,109,161,162,160,104,806,807,87,163,202,334,201,22,70,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,808,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,5,6,63,1,5,28,-119,-119,-119,-119,-119,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,481,809,-261,-261,-261,-261,-261,106,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,6,2,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,810,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,623,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,22,70,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,811,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,6,6,63,1,5,24,4,-132,-132,-132,-132,-132,-132,11,6,63,1,5,11,1,1,3,4,8,31,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,-145,11,6,63,1,5,11,1,1,3,4,8,31,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,-146,22,89,11,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,812,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,813,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,517,814,-261,-261,-261,-261,-261,7,58,1,1,1,31,31,1,353,109,354,263,815,351,352,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,517,816,-261,-261,-261,-261,-261,7,58,1,1,1,31,31,1,353,109,354,263,817,351,352,1,68,818,22,70,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,819,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,820,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,821,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,822,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,823,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,824,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,825,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,130,-335,-335,-335,-335,-335,-335,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,826,-339,-339,-339,-339,-339,-339,-339,-339,-339,-339,130,-339,-339,-339,-339,-339,-339,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,-97,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,-99,4,6,64,5,19,-165,-165,-165,-165,1,94,827,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,828,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,1,94,829,1,89,830,5,6,63,1,5,61,-240,-240,-240,-240,-240,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,526,831,-261,-261,-261,-261,-261,5,6,63,1,5,61,-241,-241,-241,-241,-241,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,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,-110,3,6,63,1,540,541,832,24,69,10,21,62,1,9,1,1,4,32,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,833,131,128,129,130,101,102,834,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,24,69,10,21,4,58,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,835,131,836,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,23,69,10,21,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,837,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,23,69,10,21,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,838,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,23,69,10,21,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,839,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,-318,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,840,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,-322,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,841,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,1,70,842,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,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,-295,3,70,89,12,-299,-299,-299,23,69,6,25,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-248,-248,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,-360,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,-209,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,-376,3,6,63,34,712,713,843,3,57,5,1,844,110,111,5,6,63,1,5,28,-380,-380,-380,-380,-380,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,586,845,-261,-261,-261,-261,-261,5,6,63,1,5,28,-381,-381,-381,-381,-381,3,57,5,1,846,110,111,5,6,63,1,5,28,-409,-409,-409,-409,-409,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,593,847,-261,-261,-261,-261,-261,5,6,63,1,5,28,-410,-410,-410,-410,-410,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,-397,2,69,1,606,848,56,1,5,56,1,5,1,1,5,11,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,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,-254,3,6,63,1,614,615,849,5,6,63,1,5,44,-161,-161,-161,-161,-161,4,102,75,2,2,850,501,503,504,11,58,1,24,1,1,12,4,9,2,31,39,159,109,161,162,160,104,851,164,163,202,201,5,6,63,1,5,28,-124,-124,-124,-124,-124,3,6,63,1,625,626,852,26,6,63,1,5,25,3,59,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-123,-123,-123,-123,131,-123,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,5,6,63,1,5,28,-126,-126,-126,-126,-126,11,6,63,1,5,11,1,1,3,4,8,31,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,-147,22,70,30,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,853,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,2,6,88,659,854,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,517,855,-261,-261,-261,-261,-261,2,6,88,659,856,10,6,63,1,5,18,1,9,8,8,17,-261,-261,-261,517,857,-261,-261,-261,-261,-261,4,62,1,2,2,-64,-64,-64,-64,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,-281,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,-329,130,-329,-329,-329,858,-329,-329,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,859,-330,-330,-330,-330,-330,-330,-330,-330,-330,-330,130,-330,-330,-330,-330,-330,-330,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,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,130,-334,-334,-334,-334,-334,-334,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,-338,130,-338,-338,-338,-338,-338,-338,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,-342,130,-342,-342,-342,-342,-342,-342,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,860,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,861,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,-102,25,6,64,5,19,6,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-169,-169,-169,-169,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,-103,65,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,3,26,1,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,-106,3,6,63,1,669,670,862,6,6,63,1,5,61,2,-221,-221,-221,-221,-221,-221,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,-312,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,863,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,-313,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,864,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,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,-317,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,-321,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,-325,23,69,10,21,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,865,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,23,69,10,21,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,866,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,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,1,156,867,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,-375,3,6,63,1,712,713,868,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,-406,3,6,63,1,720,721,869,5,6,63,1,5,36,-193,-193,-193,-193,-193,5,6,63,1,5,44,-159,-159,-159,-159,-159,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,870,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,1,102,871,5,6,63,1,5,28,-120,-120,-120,-120,-120,1,89,872,11,6,63,1,5,11,1,1,3,4,8,31,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,-149,2,6,64,659,873,11,6,63,1,5,11,1,1,3,4,8,31,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,-150,2,6,64,659,874,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,875,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,876,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,130,-336,-336,-336,-336,-336,-336,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,-340,130,-340,-340,-340,-340,-340,-340,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,5,6,63,1,5,61,-242,-242,-242,-242,-242,23,69,10,21,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,877,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,23,69,10,21,62,1,9,1,1,36,1,5,1,1,1,1,1,1,1,1,1,1,1,1,167,878,131,128,129,130,101,102,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,-319,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,-323,3,57,5,1,879,110,111,5,6,63,1,5,28,-382,-382,-382,-382,-382,5,6,63,1,5,28,-411,-411,-411,-411,-411,46,1,5,62,1,1,5,14,4,1,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-333,-333,-333,-333,-333,882,-333,880,-333,-333,-333,-333,-333,881,-333,-333,-333,-333,-333,-333,-333,-333,-333,-333,130,-333,-333,-333,-333,-333,-333,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,883,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,11,6,63,1,5,11,1,1,3,4,8,31,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,-148,1,94,884,1,94,885,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,-331,130,-331,-331,-331,-331,-331,-331,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,45,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,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,130,-332,-332,-332,-332,-332,-332,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,-314,44,1,5,62,1,1,5,14,5,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,10,1,3,1,1,2,29,1,5,1,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,-315,13,1,5,62,1,1,5,36,25,16,10,1,10,1,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,-377,1,103,886,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,887,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,8,6,63,1,24,9,8,8,17,-262,-262,-262,-262,-262,-262,-262,-262,46,1,5,62,1,1,5,14,4,1,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-335,-335,-335,-335,-335,882,-335,888,-335,-335,-335,-335,-335,889,-335,-335,-335,-335,-335,-335,-335,-335,-335,-335,130,-335,-335,-335,-335,-335,-335,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,11,6,63,1,5,11,1,1,3,4,8,31,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,-151,11,6,63,1,5,11,1,1,3,4,8,31,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,-152,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,-111,46,1,5,62,1,1,5,14,4,1,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-334,-334,-334,-334,-334,882,-334,890,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,-334,130,-334,-334,-334,-334,-334,-334,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,1,103,891,105,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,8,1,9,1,1,1,1,12,3,10,2,3,2,1,15,4,2,1,1,7,1,1,1,2,1,1,2,1,2,1,3,4,4,1,1,1,1,4,3,2,1,2,5,1,8,4,1,1,1,1,1,3,1,892,170,30,31,32,33,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,34,35,36,37,38,39,40,41,42,43,77,78,79,80,81,82,83,84,85,105,106,97,109,110,111,107,108,55,54,75,76,98,104,61,87,91,88,89,94,68,174,175,95,96,90,92,93,86,72,66,67,56,99,57,100,58,62,59,101,102,60,103,51,63,69,70,64,65,73,74,176,177,178,48,49,50,52,53,1,103,893,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,-113,46,1,5,62,1,1,5,14,4,1,5,1,2,1,1,7,2,6,13,4,2,14,7,3,1,9,1,1,3,1,1,2,29,1,5,1,1,1,1,1,1,1,1,1,1,1,1,-336,-336,-336,-336,-336,882,-336,894,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,-336,130,-336,-336,-336,-336,-336,-336,114,113,115,116,117,118,119,120,121,122,123,124,125,126,127,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,-112,1,103,895,61,1,5,56,1,5,1,1,5,1,1,1,2,1,5,1,1,1,2,3,1,1,3,1,2,1,1,7,2,6,13,2,2,2,7,7,7,3,1,10,1,3,1,1,2,29,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114,-114],U=[],_=0,W,u,$,F;while(_<f.length){W=f[_++],u={},$=0,F=[];while(W--)$+=f[_++],F.push($);for($ of F)u[$]=f[_++];U.push(u)}return U})(),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,8,1,8,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,47,1,47,1,58,1,60,1,57,1,57,3,64,1,64,2,66,3,66,5,66,2,66,1,49,1,49,3,74,3,74,1,17,3,17,4,17,5,18,3,18,4,18,5,19,3,19,4,19,3,20,3,20,4,20,5,21,3,21,4,21,3,21,2,21,3,21,2,37,1,37,1,37,1,82,1,82,1,82,3,82,3,82,4,82,6,82,4,82,6,82,5,82,5,82,7,82,7,82,4,82,5,82,7,82,3,82,3,82,4,82,6,84,10,84,12,84,11,84,13,84,4,106,0,106,1,106,3,106,4,106,6,107,1,107,1,107,3,107,5,107,3,107,5,109,1,109,1,109,1,98,1,98,3,98,4,98,1,108,2,108,2,114,1,114,1,114,1,114,1,114,1,114,2,114,2,114,2,114,2,114,3,114,3,114,4,114,6,114,5,114,5,114,7,114,7,46,2,46,4,120,0,120,1,120,3,120,4,120,6,121,3,121,5,121,2,92,1,92,3,92,4,123,1,123,3,123,3,123,5,124,1,124,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,83,2,83,3,83,4,126,1,126,3,126,4,126,4,126,6,128,1,128,2,127,1,127,2,125,1,125,2,130,1,130,2,131,1,131,1,40,5,90,3,90,2,90,2,90,1,32,6,32,3,15,5,15,2,35,5,35,2,139,1,139,1,135,0,135,1,135,3,135,4,135,6,142,1,142,3,142,2,142,1,143,1,143,1,143,1,143,1,144,2,41,2,41,2,41,3,41,2,41,2,116,2,116,4,146,1,146,3,146,4,146,4,146,6,129,1,129,1,129,1,129,1,147,1,147,3,43,1,43,1,85,2,44,3,44,4,44,6,45,3,45,3,79,2,79,3,39,3,39,5,93,0,93,1,10,2,10,4,10,1,30,2,30,4,31,1,31,2,31,4,31,3,157,3,157,5,160,3,160,5,22,1,22,3,22,1,22,3,22,3,22,7,22,5,22,3,22,3,23,2,23,3,23,4,23,5,165,3,165,3,165,2,26,5,26,7,26,4,26,6,169,1,169,2,170,3,170,4,172,2,172,4,172,2,172,4,24,2,24,2,24,2,24,1,175,2,175,2,175,3,25,5,25,7,25,7,25,9,25,9,25,5,25,7,25,6,25,8,25,5,25,7,25,6,25,8,25,5,25,7,25,3,25,5,25,5,25,7,25,7,25,9,25,9,25,5,25,7,25,6,25,8,25,5,25,7,25,6,25,8,25,5,25,7,25,3,25,5,182,1,182,3,101,1,101,3,27,1,27,2,27,3,27,4,27,2,27,3,27,4,27,5,33,3,34,2,28,4,28,6,189,1,189,3,189,2,190,1,190,1,190,1,190,2,190,2,29,2,29,2,12,2,12,4,12,4,12,5,12,7,12,6,12,9,197,1,197,3,197,4,197,4,197,6,198,1,198,3,198,1,198,3,195,1,196,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,203,1,203,3,203,4,203,4,203,6,205,1,205,3,205,3,205,1,205,3,36,2,36,2,36,2,16,2,16,2,16,2,16,2,16,2,16,2,16,2,16,2,16,4,16,2,16,2,16,2,16,2,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,3,16,5,16,3,16,5,16,4,42,2],ruleActions:(f,U,_,W)=>{let u=U,$=U.length-1;switch(f){case 1:return["program"];case 2:return["program",...u[$]];case 3:case 61:case 117:case 156:case 163:case 194:case 198:case 218:case 238:case 247:case 296:case 347:case 361:case 378:case 407:return[u[$]];case 4:case 118:case 157:case 164:case 219:case 239:case 248:case 362:case 379:case 408:return[...u[$-2],u[$]];case 5:case 63:case 201:case 363:return u[$-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 51:case 52:case 53:case 55:case 56:case 57:case 58:case 59:case 66:case 67:case 89:case 90:case 91:case 92:case 93: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 278:case 307:case 345:case 364:case 365:case 366:case 383:case 385:case 387:case 412:case 415:return u[$];case 49:case 179:return"undefined";case 50:case 178:return"null";case 54:case 185:return["symbol",u[$]];case 60:return["str",...u[$-1]];case 62:case 195:case 199:case 297:return[...u[$-1],u[$]];case 64:case 237:case 241:case 381:case 410:return u[$-2];case 65:return"";case 68:return["regex",u[$-1]];case 69:return["regex-index",u[$-2],u[$]];case 70:return["regex-index",u[$],null];case 71:case 125:return["=",u[$-2],u[$]];case 72:return["=",u[$-3],u[$]];case 73:case 126:return["=",u[$-4],u[$-1]];case 74:return["state",u[$-2],u[$]];case 75:return["state",u[$-3],u[$]];case 76:return["state",u[$-4],u[$-1]];case 77:case 79:return["computed",u[$-2],u[$]];case 78:return["computed",u[$-3],u[$]];case 80:return["readonly",u[$-2],u[$]];case 81:return["readonly",u[$-3],u[$]];case 82:return["readonly",u[$-4],u[$-1]];case 83:case 85:return["effect",u[$-2],u[$]];case 84:return["effect",u[$-3],u[$]];case 86:case 87:case 88:return["effect",null,u[$]];case 94:case 107:case 145:return[".",u[$-2],u[$]];case 95:case 108:case 146:return["?.",u[$-2],u[$]];case 96:case 98:case 109:case 147:return["[]",u[$-3],u[$-1]];case 97:case 99:case 110:case 148:return["[]",u[$-5],u[$-2]];case 100:case 149:return[".{}",u[$-4],...u[$-2]];case 101:case 150:return["?.{}",u[$-4],...u[$-2]];case 102:case 151:return[".{}",u[$-6],...u[$-3]];case 103:case 152:return["?.{}",u[$-6],...u[$-3]];case 104:return[u[$-1][0],u[$-3],...u[$-1].slice(1)];case 105:return["optindex",u[$-4],u[$-1]];case 106:return["optindex",u[$-6],u[$-2]];case 111:return["object-comprehension",u[$-8],u[$-6],[["for-of",u[$-4],u[$-2],!1]],[]];case 112:return["object-comprehension",u[$-10],u[$-8],[["for-of",u[$-6],u[$-4],!1]],[u[$-2]]];case 113:return["object-comprehension",u[$-9],u[$-7],[["for-of",u[$-4],u[$-2],!0]],[]];case 114:return["object-comprehension",u[$-11],u[$-9],[["for-of",u[$-6],u[$-4],!0]],[u[$-2]]];case 115:return["object",...u[$-2]];case 116:case 155:case 196:case 217:case 236:return[];case 119:case 158:case 165:case 220:case 240:case 380:case 409:return[...u[$-3],u[$]];case 120:case 159:case 221:case 242:case 382:case 411:return[...u[$-5],...u[$-2]];case 121:return[null,u[$],u[$]];case 123:case 160:return[":",u[$-2],u[$]];case 124:case 161:return[":",u[$-4],u[$-1]];case 131:return["dynamicKey",u[$-1]];case 132:return["[]","this",u[$-1]];case 134:case 135:case 162:case 230:return["...",u[$]];case 141:case 234:return["super",...u[$]];case 142:case 143:case 144:case 232:case 235:return[u[$-1],...u[$]];case 153:return["map-literal"];case 154:return["map-literal",...u[$-2]];case 166:return[u[$],u[$],null];case 167:return[u[$-2],u[$],null];case 168:return[u[$-2],u[$-2],u[$]];case 169:return[u[$-4],u[$-2],u[$]];case 186:return["array"];case 187:return["array",...u[$-1]];case 188:return["array",...u[$-2],...u[$-1]];case 190:return[...u[$-2],...u[$]];case 191:return[...u[$-3],...u[$]];case 192:return[...u[$-2],...u[$-1]];case 193:return[...u[$-5],...u[$-4],...u[$-2],...u[$-1]];case 197:return[...u[$]];case 200:return null;case 202:return"..";case 203:case 246:return"...";case 204:return[u[$-2],u[$-3],u[$-1]];case 205:case 435:case 437:case 438:case 452:case 454:return[u[$-1],u[$-2],u[$]];case 206:return[u[$],u[$-1],null];case 207:return[u[$-1],null,u[$]];case 208:return[u[$],null,null];case 209:return["def",u[$-4],u[$-2],u[$]];case 210:return["def",u[$-1],[],u[$]];case 211:case 213:return[u[$-1],u[$-3],u[$]];case 212:case 214:return[u[$-1],[],u[$]];case 223:case 346:return["default",u[$-2],u[$]];case 224:return["rest",u[$]];case 225:return["expansion"];case 231:return["tagged-template",u[$-1],u[$]];case 233:return["optcall",u[$-2],...u[$]];case 249:case 250:return"this";case 251:return[".","this",u[$]];case 252:return[".","super",u[$]];case 253:return["[]","super",u[$-1]];case 254:return["[]","super",u[$-2]];case 255:return[".","new",u[$]];case 256:return[".","import",u[$]];case 257:return["block"];case 258:return["block",...u[$-1]];case 259:return u[$-1].length===1?u[$-1][0]:["block",...u[$-1]];case 260:return u[$-2].length===1?u[$-2][0]:["block",...u[$-2]];case 263:return["return",u[$]];case 264:return["return",u[$-1]];case 265:return["return"];case 266:return["throw",u[$]];case 267:return["throw",u[$-1]];case 268:return["yield"];case 269:return["yield",u[$]];case 270:return["yield",u[$-1]];case 271:return["yield-from",u[$]];case 272:return["if",u[$-1],u[$]];case 273:return u[$-4].length===3?["if",u[$-4][1],u[$-4][2],["if",u[$-1],u[$]]]:[...u[$-4],["if",u[$-1],u[$]]];case 274:return["if",["!",u[$-1]],u[$]];case 275:return["if",["!",u[$-3]],u[$-2],u[$]];case 277:return u[$-2].length===3?["if",u[$-2][1],u[$-2][2],u[$]]:[...u[$-2],u[$]];case 279:case 280:return["if",u[$],[u[$-2]]];case 281:return["?:",u[$-4],u[$-6],u[$-1]];case 282:return["?:",u[$-2],u[$-4],u[$]];case 283:case 284:return["if",["!",u[$]],[u[$-2]]];case 285:return["try",u[$]];case 286:return["try",u[$-1],u[$]];case 287:return["try",u[$-2],u[$]];case 288:return["try",u[$-3],u[$-2],u[$]];case 289:case 290:case 417:case 420:case 422:return[u[$-1],u[$]];case 291:return[null,u[$]];case 292:return["switch",u[$-3],u[$-1],null];case 293:return["switch",u[$-5],u[$-3],u[$-1]];case 294:return["switch",null,u[$-1],null];case 295:return["switch",null,u[$-3],u[$-1]];case 298:return["when",u[$-1],u[$]];case 299:return["when",u[$-2],u[$-1]];case 300:return["while",u[$]];case 301:return["while",u[$-2],u[$]];case 302:return["while",["!",u[$]]];case 303:return["while",["!",u[$-2]],u[$]];case 304:return u[$-1].length===2?[u[$-1][0],u[$-1][1],u[$]]:[u[$-1][0],u[$-1][1],u[$-1][2],u[$]];case 305:case 306:return u[$].length===2?[u[$][0],u[$][1],[u[$-1]]]:[u[$][0],u[$][1],u[$][2],[u[$-1]]];case 308:return["loop",u[$]];case 309:return["loop",[u[$]]];case 310:return["loop-n",u[$-1],u[$]];case 311:return["for-in",u[$-3],u[$-1],null,null,u[$]];case 312:return["for-in",u[$-5],u[$-3],null,u[$-1],u[$]];case 313:return["for-in",u[$-5],u[$-3],u[$-1],null,u[$]];case 314:return["for-in",u[$-7],u[$-5],u[$-1],u[$-3],u[$]];case 315:return["for-in",u[$-7],u[$-5],u[$-3],u[$-1],u[$]];case 316:return["for-of",u[$-3],u[$-1],!1,null,u[$]];case 317:return["for-of",u[$-5],u[$-3],!1,u[$-1],u[$]];case 318:return["for-of",u[$-3],u[$-1],!0,null,u[$]];case 319:return["for-of",u[$-5],u[$-3],!0,u[$-1],u[$]];case 320:return["for-as",u[$-3],u[$-1],!1,null,u[$]];case 321:return["for-as",u[$-5],u[$-3],!1,u[$-1],u[$]];case 322:case 324:return["for-as",u[$-3],u[$-1],!0,null,u[$]];case 323:case 325:return["for-as",u[$-5],u[$-3],!0,u[$-1],u[$]];case 326:return["for-in",[],u[$-1],null,null,u[$]];case 327:return["for-in",[],u[$-3],u[$-1],null,u[$]];case 328:return["comprehension",u[$-4],[["for-in",u[$-2],u[$],null]],[]];case 329:return["comprehension",u[$-6],[["for-in",u[$-4],u[$-2],null]],[u[$]]];case 330:return["comprehension",u[$-6],[["for-in",u[$-4],u[$-2],u[$]]],[]];case 331:return["comprehension",u[$-8],[["for-in",u[$-6],u[$-4],u[$]]],[u[$-2]]];case 332:return["comprehension",u[$-8],[["for-in",u[$-6],u[$-4],u[$-2]]],[u[$]]];case 333:return["comprehension",u[$-4],[["for-of",u[$-2],u[$],!1]],[]];case 334:return["comprehension",u[$-6],[["for-of",u[$-4],u[$-2],!1]],[u[$]]];case 335:return["comprehension",u[$-5],[["for-of",u[$-2],u[$],!0]],[]];case 336:return["comprehension",u[$-7],[["for-of",u[$-4],u[$-2],!0]],[u[$]]];case 337:return["comprehension",u[$-4],[["for-as",u[$-2],u[$],!1,null]],[]];case 338:return["comprehension",u[$-6],[["for-as",u[$-4],u[$-2],!1,null]],[u[$]]];case 339:return["comprehension",u[$-5],[["for-as",u[$-2],u[$],!0,null]],[]];case 340:return["comprehension",u[$-7],[["for-as",u[$-4],u[$-2],!0,null]],[u[$]]];case 341:return["comprehension",u[$-4],[["for-as",u[$-2],u[$],!0,null]],[]];case 342:return["comprehension",u[$-6],[["for-as",u[$-4],u[$-2],!0,null]],[u[$]]];case 343:return["comprehension",u[$-2],[["for-in",[],u[$],null]],[]];case 344:return["comprehension",u[$-4],[["for-in",[],u[$-2],u[$]]],[]];case 348:case 384:case 386:case 413:case 414:case 416:return[u[$-2],u[$]];case 349:return["class",null,null];case 350:return["class",null,null,u[$]];case 351:return["class",null,u[$]];case 352:return["class",null,u[$-1],u[$]];case 353:return["class",u[$],null];case 354:return["class",u[$-1],null,u[$]];case 355:return["class",u[$-2],u[$]];case 356:return["class",u[$-3],u[$-1],u[$]];case 357:return["enum",u[$-1],u[$]];case 358:return["schema",u[$]];case 359:return["component",null,["block",...u[$-1]]];case 360:return["component",u[$-3],["block",...u[$-1]]];case 367:return["offer",u[$]];case 368:return["accept",u[$]];case 369:case 370:return["render",u[$]];case 371:case 374:return["import","{}",u[$]];case 372:case 373:return["import",u[$-2],u[$]];case 375:return["import",u[$-4],u[$]];case 376:return["import",u[$-4],u[$-2],u[$]];case 377:return["import",u[$-7],u[$-4],u[$]];case 388:return["*",u[$]];case 389:return["export","{}"];case 390:return["export",u[$-2]];case 391:case 392:case 393:case 394:case 398:case 399:case 400:case 401:return["export",u[$]];case 395:return["export",["=",u[$-2],u[$]]];case 396:return["export",["=",u[$-3],u[$]]];case 397:return["export",["=",u[$-4],u[$-1]]];case 402:return["export-default",u[$]];case 403:return["export-default",u[$-1]];case 404:return["export-all",u[$]];case 405:return["export-from","{}",u[$]];case 406:return["export-from",u[$-4],u[$]];case 418:case 419:case 421:case 457:return["do-iife",u[$]];case 423:return["-",u[$]];case 424:return["+",u[$]];case 425:return["?",u[$-1]];case 426:return["presence",u[$-1]];case 427:return["await",u[$]];case 428:return["await",u[$-1]];case 429:return["--",u[$],!1];case 430:return["++",u[$],!1];case 431:return["--",u[$-1],!0];case 432:return["++",u[$-1],!0];case 433:return["+",u[$-2],u[$]];case 434:return["-",u[$-2],u[$]];case 436:return["**",u[$-2],u[$]];case 439:return["&",u[$-2],u[$]];case 440:return["^",u[$-2],u[$]];case 441:return["|",u[$-2],u[$]];case 442:case 443:case 444:case 445:case 446:case 447:return["control",u[$-1],u[$-2],u[$]];case 448:return["&&",u[$-2],u[$]];case 449:return["||",u[$-2],u[$]];case 450:return["??",u[$-2],u[$]];case 451:return["|>",u[$-2],u[$]];case 453:return["?:",u[$-4],u[$-2],u[$]];case 455:return[u[$-3],u[$-4],u[$-1]];case 456:return[u[$-2],u[$-3],u[$]]}},parseError(f,U){let _,W,u,$,F,Y,Z;if(U.recoverable)return this.trace(f);else throw u=(U.line||0)+1,_=U.loc?.c||0,Z=U.token?` (token: ${U.token})`:"",Y=U.text?` near '${U.text}'`:"",$=`line ${u}, column ${_}`,F=`Parse error at ${$}${Z}${Y}: ${f}`,W=Error(F),W.hash=U,W},parse(f){let U,_,W,u,$,F,Y,Z,G,Q,z,A,J,K,D,w,X,R,H,B,O,I,q,P,M,S;[B,S,Q]=[[0],[null],[]],[J,M,q,I,w]=[this.parseTable,"",0,0,0],[_,U]=[2,1],Z=Object.create(this.lexer),R={ctx:{}};for(let L in this.ctx){if(!Object.hasOwn(this.ctx,L))continue;let C=this.ctx[L];R.ctx[L]=C}if(Z.setInput(f,R.ctx),[R.ctx.lexer,R.ctx.parser]=[Z,this],Z.loc==null)Z.loc={};P=Z.loc,Q.push(P),this.parseError=typeof R.ctx.parseError==="function"?R.ctx.parseError:Object.getPrototypeOf(this).parseError,Y=()=>{let L;if(L=Z.lex()||U,typeof L!=="number")L=this.symbolIds[L]||L;return L},O=K=H=W=D=A=F=z=$=null,X={};while(!0){if(H=B[B.length-1],O==null)O=Y();if(W=J[H]?.[O],W==null){if(u="",!w)$=(()=>{let L=[];for(let C in J[H]){if(!Object.hasOwn(J[H],C))continue;if(this.tokenNames[C]&&C>_)L.push(`'${this.tokenNames[C]}'`)}return L})();throw u=(()=>{if(Z.showPosition)return`Parse error on line ${q+1}:
2
2
  ${Z.showPosition()}
3
- Expecting ${$.join(", ")}, got '${this.tokenNames[R]||R}'`;else return`Parse error on line ${O+1}: Unexpected ${R===U?"end of input":`'${this.tokenNames[R]||R}'`}`,this.parseError(u,{text:Z.match,token:this.tokenNames[R]||R,line:Z.line,loc:P,expected:$})})(),Error(u)}if(W>0)if(B.push(R,W),I.push(Z.text),Q.push(Z.loc),R=null,!K){if([S,M,O,P]=[Z.len,Z.text,Z.line,Z.loc],w>0)w--}else[R,K]=[K,null];else if(W<0){if(F=this.ruleTable[-W*2+1],X.$=I[I.length-F],G=Q[Q.length-(F||1)],X._$={r:G.r,c:G.c},D=this.ruleActions.call(X,-W,I,Q,H.ctx),D!=null)X.$=D;if(Array.isArray(X.$))X.$.loc=X._$;if(F)B.length-=F*2,I.length-=F,Q.length-=F;B.push(this.ruleTable[-W*2]),I.push(X.$),Q.push(X._$),z=J[B[B.length-2]][B[B.length-1]],B.push(z)}else if(W===0)return I[I.length-1]}},trace(){},ctx:{}},U4=(f={})=>{let U=Object.create($4);return Object.defineProperty(U,"ctx",{value:{...f},enumerable:!1,writable:!0,configurable:!0}),U},z1=U4();var W0=z1.parse.bind(z1);var W4=new Set(["input","shape","model","mixin","enum"]),c2="input",_4=new Set(["beforeValidation","afterValidation","beforeSave","afterSave","beforeCreate","afterCreate","beforeUpdate","afterUpdate","beforeDestroy","afterDestroy"]),Y4=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 a1(f,U){if(f)f.prototype.rewriteSchema=function(){F4(this)},g1._LexerCtor=f;if(U)U.prototype.emitSchema=function(_,W,u){return P4(this,_,W,u)},U.prototype.getSchemaRuntime=function(){return c4()}}var h2=new Set(["defaultMaxString"]);function F4(f){let U=f.tokens,_={defaultMaxString:null},W=0,u=0;while(u<U.length){let $=U[u];if($[0]==="INDENT")W++;else if($[0]==="OUTDENT")W--;let F=Z4(U,u,_,W);if(F>0){U.splice(u,F);continue}if(G4(U,u))Q4(f,U,u,_);u++}}function Z4(f,U,_,W){let u=f[U];if(!u||u[0]!=="IDENTIFIER"||u[1]!=="schema")return 0;if(f[U+1]?.[0]!==".")return 0;let $=f[U+2];if(!$||$[0]!=="PROPERTY")return 0;if(f[U+3]?.[0]!=="=")return 0;let F=f[U-1];if(F){let z=F[0];if(z!=="TERMINATOR"&&z!=="INDENT"&&z!=="OUTDENT")return 0}let Y=$[1];if(!h2.has(Y))throw g($,`Unknown schema pragma 'schema.${Y}'. Known pragmas: ${[...h2].join(", ")}.`);if(W>0)throw g($,`Schema pragma 'schema.${Y}' 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 Z=f[U+4];if(!Z||Z[0]!=="NUMBER")throw g(Z||$,`Pragma 'schema.${Y}' requires a number literal. Example: schema.${Y} = 100.`);let G=Number(Z[1]);if(!Number.isFinite(G)||G<0||!Number.isInteger(G))throw g(Z,`Pragma 'schema.${Y}' expects a non-negative integer (got ${Z[1]}). Use 0 to disable.`);_[Y]=G===0?null:G;let Q=U+5;if(f[Q]?.[0]==="TERMINATOR")Q++;return Q-U}function G4(f,U){let _=f[U];if(!_||_[0]!=="IDENTIFIER"||_[1]!=="schema")return!1;let W=f[U-1];if(W){let $=W[0];if($==="."||$==="?.")return!1;if(W[0]==="IDENTIFIER"||W[0]==="PROPERTY"||W[0]===")"||W[0]==="]"||W[0]==="}"||W[0]==="STRING"||W[0]==="NUMBER"){if(!Y4.has($))return!1}}let u=U+1;if(f[u]?.[0]==="SYMBOL")u++;if(f[u]?.[0]==="TERMINATOR"){if(f[u][1]===";")return!0;u++}return f[u]?.[0]==="INDENT"}function Q4(f,U,_,W){let u=U[_],$=null,F=c2,Y=_+1;if(U[Y]?.[0]==="SYMBOL"){$=U[Y];let J=$[1];if(!W4.has(J))throw g($,`Unknown schema kind :${J}. Expected one of :input, :shape, :model, :mixin, :enum.`);F=J,Y++}let Z,G;if(U[Y]?.[0]==="TERMINATOR"&&U[Y][1]===";"){let J=Y+1,K=J,D=0,w=U[J]?.loc?.r??null;while(K<U.length){let X=U[K],H=X[0];if(D===0&&w!=null&&X.loc&&X.loc.r>w)break;if(H==="("||H==="["||H==="{"||H==="CALL_START"||H==="INDEX_START"||H==="PARAM_START")D++;else if(H===")"||H==="]"||H==="}"||H==="CALL_END"||H==="INDEX_END"||H==="PARAM_END")D--;else if(D===0&&H==="TERMINATOR"&&X[1]!==";")break;else if(D===0&&(H==="INDENT"||H==="OUTDENT"))break;else if(D===0&&H==="->")throw g(X,"Inline schema body does not support '->' (method/hook/transform). Use the indented form.");else if(D===0&&H==="EFFECT")throw g(X,"Inline schema body does not support '~>' (computed getter). Use the indented form.");else if(D===0&&H==="UNARY_MATH"&&X[1]==="!"&&U[K+1]?.[0]==="COMPARE"&&U[K+1][1]===">")throw g(X,"Inline schema body does not support '!>' (eager derived). Use the indented form.");K++}while(K>J&&U[K-1][0]==="TERMINATOR")K--;if(Z=U.slice(J,K),G=K,!Z.length)throw g(u,`Inline schema body is empty. Either add '; field; …' entries after 'schema${$?" :"+F:""};' or switch to the indented form.`)}else{if(U[Y]?.[0]==="TERMINATOR")Y++;if(U[Y]?.[0]!=="INDENT")throw g(u,`Expected indented schema body after 'schema${$?" :"+F:""}'.`);let J=Y,K=v4(U,J);if(K<0)throw g(U[J],"Unterminated schema body.");Z=U.slice(J+1,K),G=K+1}let Q=z4(F,Z,{schemaLoc:u.loc,kindLoc:$?.loc??null,kind:F,defaultMaxString:W?.defaultMaxString??null}),z=G2("SCHEMA","schema",u),A=G2("SCHEMA_BODY",F,u);A.data={descriptor:Q},U.splice(_,G-_,z,A)}function z4(f,U,_){let W=[],u=A4(U);if(f===c2&&!_.kindLoc&&u.length>0&&u[0][0]?.[0]==="SYMBOL")f="enum",_.kind="enum";if(f==="enum")for(let $ of u)R4($,W);else{for(let $ of u)X4(f,$,W,_);if(f==="mixin")for(let $ of W){if($.tag==="method"||$.tag==="computed"||$.tag==="hook")throw g({loc:$.headerLoc||$.loc},`:mixin schemas are fields-only. '${$.name}' is a ${$.tag}; move it to a :shape or :model.`);if($.tag==="ensure")throw g({loc:$.headerLoc||$.loc},":mixin schemas don't accept @ensure refinements. Move the invariant to a :shape or :model that composes this mixin.");if($.tag==="directive"&&$.name!=="mixin")throw g({loc:$.loc},`:mixin schemas only accept '@mixin Name' directives. '@${$.name}' is not allowed.`)}else if(f==="input")for(let $ of W){if($.tag==="method"||$.tag==="computed"||$.tag==="hook")throw g({loc:$.headerLoc||$.loc},`:input schemas are fields-only. '${$.name}' is a ${$.tag}; use :shape or :model if you need behavior.`);if($.tag==="directive"&&$.name!=="mixin")throw g({loc:$.loc},`:input schemas only accept '@mixin Name' and '@ensure'. '@${$.name}' is not allowed.`)}else if(f==="shape")for(let $ of W){if($.tag==="hook")throw g({loc:$.headerLoc||$.loc},`:shape schemas don't have lifecycle hooks. '${$.name}' runs only on :model; move it or remove it.`);if($.tag==="directive"&&$.name!=="mixin")throw g({loc:$.loc},`:shape schemas only accept '@mixin Name'. '@${$.name}' is :model-only.`)}}return{kind:f,loc:_.schemaLoc,kindLoc:_.kindLoc,entries:W}}function A4(f){let U=[],_=[],W=0;for(let u of f){let $=u[0];if($==="INDENT")W++;if($==="OUTDENT")W--;if($==="TERMINATOR"&&W===0){if(_.length)U.push(_),_=[];continue}_.push(u)}if(_.length)U.push(_);return U}var J4=new Set(["string","email","url","phone","zip"]);function X4(f,U,_,W){let u=U[0];if(!u)return;if(u[0]==="@"){let S=U[1];if(!S||S[0]!=="IDENTIFIER"&&S[0]!=="PROPERTY")throw g(u,"Expected directive name after '@'.");let O=U.slice(2),P=S[1];if(P==="ensure"){let I=M4(O,u);for(let L of I)_.push({tag:"ensure",name:"ensure",message:L.message,paramTokens:L.paramTokens,bodyTokens:L.bodyTokens,loc:L.loc,headerLoc:u.loc});return}let M=null;if(P==="belongs_to"||P==="has_many"||P==="has_one"||P==="one"||P==="many"||P==="mixin"){let I=O[0];if(I&&(I[0]==="IDENTIFIER"||I[0]==="PROPERTY")){let L=I.data?.predicate===!0;if(!L&&O[1]?.[0]==="?")L=!0;M=[{target:I[1],optional:L}]}}_.push({tag:"directive",name:P,args:M,argTokens:O,loc:u.loc});return}if(u[0]==="PROPERTY"){D4(f,u,U,_);return}if(u[0]!=="IDENTIFIER")throw g(u,`Unexpected ${u[0]} at schema top level. Allowed: fields ('name! type'), directives ('@name'), methods ('name: -> body'), or computed getters ('name: ~> body').`);let $=u[1];if(U[1]?.[0]===":")throw g(U[1],"Schema fields use 'name type' (space, no colon). For methods or computed use 'name: -> body' or 'name: ~> body'.");let F=y4(u),Y=1;while(Y<U.length){let S=U[Y];if(!(U[Y-1]&&!U[Y-1].spaced))break;if(S[0]==="#"||S[0]==="?"||S[0]==="!"){F.push(S[0]),Y++;continue}break}let Z=U[Y];if(Z?.[0]===":")throw g(Z,"Schema fields use 'name type' (space, no colon). Got 'name:'. For methods/computed use 'name: -> body' or 'name: ~> body'.");let G="string",Q=null;if(Z?.[0]==="IDENTIFIER")G=Z[1],Y++;else if(Z?.[0]==="STRING"){Q=[JSON.parse(Z[1])],Y++;while(U[Y]?.[0]==="|"&&U[Y+1]?.[0]==="STRING")Y++,Q.push(JSON.parse(U[Y][1])),Y++;if(U[Y]?.[0]==="|"){let S=U[Y+1],O=S?.[0]??"<end>";throw g(S||U[Y],`Literal unions contain string literals only. '${O}' is not allowed as a union member. Use the '?' modifier for nullability.`)}if(Q.length<2)throw g(Z,`Literal union needs at least two string literals. Use '${JSON.stringify(Q[0])}' as a default with '[${JSON.stringify(Q[0])}]' instead.`);G="literal-union"}let z=!1,A=U[Y]?.[0],J=U[Y+1]?.[0];if((A==="["||A==="INDEX_START")&&(J==="]"||J==="INDEX_END"))z=!0,Y+=2;let K=U.slice(Y);if((Z?.[0]==="IDENTIFIER"||Z?.[0]==="STRING")&&K[0]?.[0]==="->")throw g(K[0],`Field '${$}' has a transform after the type; a comma is required before '->'. Write '${$} ${G}, -> …'.`);let w=null,X=null,H=null,q=null,B=null;if(K.length>0){if(K[0]?.[0]===",")K=K.slice(1);let S=c1(K);for(let O=0;O<S.length;O++){let P=S[O];while(P.length&&(P[0][0]==="INDENT"||P[0][0]==="TERMINATOR"))P=P.slice(1);if(!P.length)continue;if(P[0][0]!=="->"){let I=w4(P);if(I>0)throw g(P[I],`Field '${$}' has a transform after other content; a comma is required before '->'. Write 'name! <constraints>, -> <body>'.`)}let M=P[0];if(M[0]!=="->"){while(P.length&&(P[P.length-1][0]==="OUTDENT"||P[P.length-1][0]==="TERMINATOR"))P=P.slice(0,-1);if(!P.length)continue;M=P[0]}if(M[0]==="["||M[0]==="INDEX_START"){if(w)throw g(M,`Field '${$}' has more than one '[…]' constraint. At most one default / regex bracket per field.`);w=P}else if(M[0]==="{"){if(X)throw g(M,`Field '${$}' has more than one '{…}' attrs bracket.`);X=P}else if(K4(P)){if(H)throw g(M,`Field '${$}' has more than one range constraint. Only one 'min..max' per field.`);H=P}else if(M[0]==="REGEX"&&P.length===1){if(q)throw g(M,`Field '${$}' has more than one regex constraint.`);q=M}else if(M[0]==="->"){if(O!==S.length-1)throw g(M,`Transform '-> …' must be the last element on the field line for '${$}'.`);B=P.slice(1)}else throw g(M,`Unexpected trailer for field '${$}'. Expected '[…]' default, '{…}' attrs, '/regex/', 'min..max' range, or '-> transform'.`)}}if(z&&Q)throw g(Z,"Array-of-literal-union is not supported. Use 'string[]' if you need an array of strings.");let R=null;if(W?.defaultMaxString!=null&&!q&&!Q&&J4.has(G))R=W.defaultMaxString;_.push({tag:"field",name:$,modifiers:F,typeName:G,array:z,literals:Q,constraintTokens:w,attrsTokens:X,rangeTokens:H,regexToken:q,transformTokens:B,defaultMax:R,loc:u.loc})}function w4(f){let U=0;for(let _=0;_<f.length;_++){let W=f[_][0];if(W==="("||W==="["||W==="{"||W==="CALL_START"||W==="INDEX_START"||W==="PARAM_START")U++;else if(W===")"||W==="]"||W==="}"||W==="CALL_END"||W==="INDEX_END"||W==="PARAM_END")U--;else if(U===0&&W==="->")return _}return-1}function K4(f){let U=0,_=!1;if(f[U]?.[0]==="-"&&f[U+1]?.[0]==="NUMBER")U+=2,_=!0;else if(f[U]?.[0]==="NUMBER")U++,_=!0;if(f[U]?.[0]!=="..")return!1;U++;let W=!1;if(f[U]?.[0]==="-"&&f[U+1]?.[0]==="NUMBER")U+=2,W=!0;else if(f[U]?.[0]==="NUMBER")U++,W=!0;return(_||W)&&U===f.length}function D4(f,U,_,W){let u=U[1],$=_[1];if(!$||$[0]!==":")throw g(U,`Expected ':' after '${u}' before arrow.`);let F=_[2],Y=_[3],Z,G,Q;if(F&&F[0]==="->")Z="->",G=F.loc,Q=3;else if(F&&F[0]==="EFFECT")Z="~>",G=F.loc,Q=3;else if(F&&F[0]==="UNARY_MATH"&&F[1]==="!"&&Y&&Y[0]==="COMPARE"&&Y[1]===">"&&!F.spaced)Z="!>",G=F.loc,Q=4;else throw g($,`Schema top-level '${u}:' must be followed by '->' (method/hook), '~>' (computed getter), or '!>' (eager derived).`);let z=_.slice(Q),A=_4.has(u),J;if(Z==="~>")J="computed";else if(Z==="!>")J="derived";else if(f==="model"&&A)J="hook";else J="method";W.push({tag:J,name:u,arrow:Z,paramTokens:[],bodyTokens:z,headerLoc:U.loc,arrowLoc:G})}function M4(f,U){let _=f;if(!_.length)throw g(U,"@ensure requires 'message, (x) -> body' or '[...]' array of pairs.");if(_[0]?.[0]==="CALL_START"&&_[_.length-1]?.[0]==="CALL_END")_=_.slice(1,-1);if(!_.length)throw g(U,"@ensure requires 'message, (x) -> body' or '[...]' array of pairs.");let W=_[0];if(W[0]==="["||W[0]==="INDEX_START"){let $=H4(_,W),F=q4($);if(F.length===0)throw g(W,"@ensure [...] must contain at least one 'message, fn' pair.");if(F.length%2!==0)throw g(W,`@ensure [...] must have pairs of 'message, fn' (got ${F.length} elements; odd count).`);let Y=[];for(let Z=0;Z<F.length;Z+=2)Y.push(y2(F[Z],F[Z+1],W));return Y}let u=c1(_);if(u.length<2)throw g(W,"@ensure inline form must be 'message, (x) -> body'. Did you forget the comma?");if(u.length>2)throw g(W,`@ensure inline form takes exactly 'message, fn' (got ${u.length} comma-separated parts). Use '@ensure [...]' for multiple refinements.`);return[y2(u[0],u[1],W)]}function H4(f,U){let _=0,W=[];for(let u=0;u<f.length;u++){let $=f[u],F=$[0];if(F==="["||F==="INDEX_START"){if(_++,_===1)continue}if(F==="]"||F==="INDEX_END"){if(_--,_===0){if(u<f.length-1)throw g(f[u+1],"@ensure [...] must be the only argument — extra tokens after ']'.");if(W.length>=2&&W[0][0]==="INDENT"&&W[W.length-1][0]==="OUTDENT"){let Y=0,Z=!1;for(let G=0;G<W.length;G++)if(W[G][0]==="INDENT")Y++;else if(W[G][0]==="OUTDENT"){if(Y--,Y===0&&G===W.length-1){Z=!0;break}if(Y===0)break}if(Z)W=W.slice(1,-1)}return W}}if(_>=1)W.push($)}throw g(U,"@ensure: unclosed '['.")}function q4(f){let U=[],_=[],W=0;for(let u of f){let $=u[0];if($==="("||$==="["||$==="{"||$==="CALL_START"||$==="INDEX_START"||$==="PARAM_START"||$==="INDENT")W++;if($===")"||$==="]"||$==="}"||$==="CALL_END"||$==="INDEX_END"||$==="PARAM_END"||$==="OUTDENT")W--;if(W===0&&($===","||$==="TERMINATOR")){if(_.length)U.push(_),_=[];continue}_.push(u)}if(_.length)U.push(_);return U}function y2(f,U,_){if(!f||!f.length)throw g(_,"@ensure: missing message (expected a string literal).");if(f.length!==1||f[0][0]!=="STRING")throw g(f[0]||_,"@ensure: each refinement's first element must be a string literal message.");let W=f[0],u=JSON.parse(W[1]);if(!U||!U.length)throw g(W,"@ensure: missing function after message.");let $=U[0];if($[0]!=="("&&$[0]!=="PARAM_START")throw g($,"@ensure: expected '(args) -> body' after the message. Predicates must declare their parameter explicitly — '(u) -> ...'.");let F=1,Y=1,Z=[];while(Y<U.length&&F>0){let z=U[Y],A=z[0];if(A==="("||A==="PARAM_START")F++;if(A===")"||A==="PARAM_END"){if(F--,F===0){Y++;break}}Z.push(z),Y++}if(F!==0)throw g($,"@ensure: unclosed '(' in predicate parameters.");let G=U[Y];if(!G||G[0]!=="->")throw g(G||U[Y-1]||W,"@ensure: expected '->' after predicate parameters.");let Q=U.slice(Y+1);if(!Q.length)throw g(G,"@ensure: predicate function body is empty.");return{message:u,paramTokens:Z,bodyTokens:Q,loc:W.loc}}function O4(f,U){if(!f.length)return[];return c1(f).map((W)=>{let u=W.filter(($)=>$[0]!=="TERMINATOR");if(u.length!==1||u[0][0]!=="IDENTIFIER")throw g(u[0]||U,"@ensure: predicate parameters must be plain identifiers.");return u[0][1]})}function R4(f,U){let _=f[0];if(!_)return;if(_[0]==="@"){let $=f[1],F=$&&($[0]==="IDENTIFIER"||$[0]==="PROPERTY")?$[1]:"directive";throw g(_,`:enum schemas don't accept '@${F}'. Enums hold only :symbol members. Move the invariant to a :shape or :model that uses this enum as a field type.`)}if(_[0]!=="SYMBOL")throw g(_,`Enum member must be a :symbol. Use ':${_[1]??"name"}' for a bare member or ':${_[1]??"name"} value' for a valued one.`);let W=_[1],u=f[1];if(!u){U.push({tag:"enum-member",name:W,value:void 0,loc:_.loc});return}if(u[0]===":")throw g(u,`Enum member ':${W}' — drop the ':' before the value. Use ':${W} value'.`);if(f.length>2)throw g(f[2],`Extra tokens after enum member ':${W}' value.`);U.push({tag:"enum-member",name:W,value:g4(u),loc:_.loc})}function P4(f,U,_,W){let u=_[0],$=B4(u);if(!$)throw Error("schema: missing descriptor on SCHEMA_BODY token");f.usesSchemas=!0;let F=f._schemaName||null,Y=[`kind: ${JSON.stringify($.kind)}`];if(F)Y.push(`name: ${JSON.stringify(F)}`);return Y.push(`entries: [${$.entries.map((Z)=>I4(f,Z)).join(", ")}]`),`__schema({${Y.join(", ")}})`}function B4(f){if(f&&typeof f==="object"){if(f.descriptor)return f.descriptor;if(f.data?.descriptor)return f.data.descriptor}return null}function I4(f,U){switch(U.tag){case"field":{let _=['tag: "field"',`name: ${JSON.stringify(U.name)}`,`modifiers: ${JSON.stringify(U.modifiers)}`,`typeName: ${JSON.stringify(U.typeName)}`,`array: ${U.array?"true":"false"}`];if(U.literals)_.push(`literals: ${JSON.stringify(U.literals)}`);let W=U.rangeTokens?C4(U.rangeTokens,U):null,u=U.constraintTokens?L4(U.constraintTokens,U):null,$=U.regexToken?V4(U.regexToken):null,F=T4(W,u,$,U);if(F)_.push(`constraints: ${F}`);if(U.transformTokens)_.push(`transform: ${N4(f,U.transformTokens)}`);return`{${_.join(", ")}}`}case"directive":{let _=['tag: "directive"',`name: ${JSON.stringify(U.name)}`],W=b4(U.name,U.argTokens||[]);if(W)_.push(`args: ${W}`);return`{${_.join(", ")}}`}case"ensure":{let _=E4(f,U);return`{${['tag: "ensure"',`message: ${JSON.stringify(U.message)}`,`fn: ${_}`].join(", ")}}`}case"computed":case"method":case"hook":case"derived":{let _=S4(f,U);return`{${[`tag: ${JSON.stringify(U.tag)}`,`name: ${JSON.stringify(U.name)}`,`fn: ${_}`].join(", ")}}`}case"enum-member":{let _=['tag: "enum-member"',`name: ${JSON.stringify(U.name)}`];if(U.value!==void 0)_.push(`value: ${JSON.stringify(U.value)}`);return`{${_.join(", ")}}`}default:return'{tag: "unknown"}'}}function S4(f,U){let _=g1(U.bodyTokens);if(!_)return"(function() {})";let W=["->",[],_];return f.emit(W,"value")}function N4(f,U){let _=g1(U);if(!_)return"(function() { return undefined; })";let W=["->",[],_];return f.emit(W,"value")}function E4(f,U){let _=g1(U.bodyTokens);if(!_)return"(function() { return undefined; })";let u=["->",O4(U.paramTokens,U),_];return f.emit(u,"value")}function L4(f,U){let _=f.slice(1,-1),W=c1(_);if(!W.length)return{c:null};let u=W.map(($)=>x2($,U));if(u.length===1){let $=u[0];if($ instanceof RegExp)throw g(f[0],`Regex constraints are written bare, not in brackets. Replace '[${$}]' with '${$}'.`);return{c:{default:$}}}if(u.length===2&&typeof u[0]==="number"&&typeof u[1]==="number")throw g(f[0],`Size/value ranges use 'min..max' syntax, not brackets. Replace '[${u[0]}, ${u[1]}]' with '${u[0]}..${u[1]}'.`);if(u.length===3&&u.every(($)=>typeof $==="number"))throw g(f[0],`Range + default is two separate constraints in v2. Replace '[${u[0]}, ${u[1]}, ${u[2]}]' with '${u[0]}..${u[1]}, [${u[2]}]'.`);throw g(f[0],`Constraint bracket takes a single default value in v2. Got ${u.length} elements.`)}function V4(f){let U=f[1],_=/^\/((?:\\.|[^\\/])+)\/([a-z]*)$/.exec(U);if(!_)throw g(f,`Invalid regex literal ${JSON.stringify(U)}.`);try{return new RegExp(_[1],_[2])}catch(W){throw g(f,`Invalid regex '${U}': ${W.message}`)}}function C4(f,U){let _=0,W=()=>{let Y=1;if(f[_]?.[0]==="-")Y=-1,_++;let Z=f[_++],G=x2([Z],U);if(typeof G!=="number")throw g(Z,"Range endpoints must be numeric literals.");return Y*G},u;if(f[_]?.[0]!=="..")u=W();_++;let $;if(_<f.length)$=W();if(u!==void 0&&$!==void 0&&u>$)throw g(f[0],`Range '${u}..${$}' is reversed. Write the smaller endpoint first.`);let F={};if(u!==void 0)F.min=u;if($!==void 0)F.max=$;return F}function T4(f,U,_,W){let u=U&&U.c||{},$=f&&f.min===void 0;if(f){if(f.min!==void 0)u.min=f.min;if(f.max!==void 0)u.max=f.max;if($&&u.min===void 0&&W?.modifiers?.includes("!"))u.min=1}if(_)u.regex=_;if(W?.defaultMax!=null&&u.max===void 0)u.max=W.defaultMax;if(u.min!==void 0&&u.max!==void 0&&u.min>u.max){let F=f&&f.min!==void 0?`range min ${f.min}`:"implicit min=1 from `!`",Y=f&&f.max!==void 0?`range max ${f.max}`:`pragma defaultMaxString=${W?.defaultMax}`;throw g({loc:W?.loc},`Field '${W?.name}' would have impossible constraints min=${u.min} > max=${u.max} after sugar is applied (${F} vs ${Y}). Write an explicit range or drop the conflicting pragma.`)}if(u.min===void 0&&u.max===void 0&&u.default===void 0&&u.regex===void 0)return null;return j4(u)}function j4(f){let U=[];if(f.min!==void 0)U.push(`min: ${F2(f.min)}`);if(f.max!==void 0)U.push(`max: ${F2(f.max)}`);if(f.default!==void 0)U.push(`default: ${F2(f.default)}`);if(f.regex!==void 0)U.push(`regex: ${f.regex.toString()}`);return U.length?`{${U.join(", ")}}`:null}function F2(f){if(f===null)return"null";if(f===void 0)return"undefined";if(typeof f==="string")return JSON.stringify(f);if(typeof f==="number"||typeof f==="boolean")return String(f);if(f instanceof RegExp)return f.toString();return JSON.stringify(f)}function b4(f,U){if(f==="idStart"&&!U.length)throw g(null,"@idStart requires an integer literal, e.g. @idStart 10001.");if(!U.length)return null;if(f==="belongs_to"||f==="has_many"||f==="has_one"||f==="one"||f==="many"||f==="mixin"){let _=U[0];if(!_||_[0]!=="IDENTIFIER"&&_[0]!=="PROPERTY")throw g(_||U[U.length-1],`@${f} requires a target name.`);let W=_[1],u=_.data?.predicate===!0,$=1;if(!u&&U[$]?.[0]==="?")u=!0,$++;let F=[`target: ${JSON.stringify(W)}`];if(u)F.push("optional: true");return`[{${F.join(", ")}}]`}if(f==="index"){let _=[],W=!1,u=0;if(U[u]?.[0]==="IDENTIFIER"||U[u]?.[0]==="PROPERTY")_.push(U[u][1]),u++;else if(U[u]?.[0]==="["||U[u]?.[0]==="INDEX_START"){let F=[],Y=1;u++;while(u<U.length&&Y>0){let Z=U[u];if(Z[0]==="["||Z[0]==="INDEX_START")Y++;if(Z[0]==="]"||Z[0]==="INDEX_END"){if(Y--,Y===0){u++;break}}F.push(Z),u++}for(let Z of c1(F))if(Z[0]&&(Z[0][0]==="IDENTIFIER"||Z[0][0]==="PROPERTY"))_.push(Z[0][1])}if(U[u]?.[0]==="#")W=!0;let $=[`fields: ${JSON.stringify(_)}`];if(W)$.push("unique: true");return`[{${$.join(", ")}}]`}if(f==="idStart"){let _=U[0],W=1,u=_;if(_&&_[0]==="-"&&U[1]&&U[1][0]==="NUMBER")W=-1,u=U[1];if(!u||u[0]!=="NUMBER")throw g(_||U[U.length-1],"@idStart requires an integer literal, e.g. @idStart 10001.");let $=W*Number(u[1]);if(!Number.isInteger($))throw g(u,"@idStart requires an integer literal; got "+u[1]+".");return"[{value: "+$+"}]"}return null}function x2(f,U){if(!f.length)throw g(null,"Empty constraint value.");let _=f[0],W=_[0];if(f.length===1){if(W==="NUMBER")return Number(_[1]);if(W==="STRING")return JSON.parse(_[1]);if(W==="BOOL")return _[1]==="true";if(W==="NULL")return null;if(W==="UNDEFINED")return;if(W==="REGEX")return h4(_[1]);if(W==="SYMBOL")return _[1]}if(f.length===2&&W==="-"&&f[1][0]==="NUMBER")return-Number(f[1][1]);throw g(_,`Constraint values must be literals (number, string, boolean, null, regex, :symbol). Got ${W}.`)}function h4(f){let U=typeof f==="string"?f:String(f),_=U.match(/^\/(.*)\/([gimsuy]*)$/s);return _?new RegExp(_[1],_[2]):new RegExp(U)}function g1(f){if(!f||!f.length)return null;let U=g1._LexerCtor;if(!U)throw Error("schema: parseBodyTokens called before Lexer was wired");let _=Object.create(U.prototype),W=f.slice();if(W.length>=2&&W[0]?.[0]==="INDENT"){let G=0,Q=-1;for(let z=0;z<W.length;z++)if(W[z][0]==="INDENT")G++;else if(W[z][0]==="OUTDENT"){if(G--,G===0){Q=z;break}}if(Q===W.length-1)W=W.slice(1,-1)}if(_.tokens=W,_.seenFor=_.seenImport=_.seenExport=!1,_.ends=[],_.indent=0,_.outdebt=0,_.indents=[],_.tokens[_.tokens.length-1]?.[0]!=="TERMINATOR")_.tokens.push(G2("TERMINATOR",`
3
+ Expecting ${$.join(", ")}, got '${this.tokenNames[O]||O}'`;else return`Parse error on line ${q+1}: Unexpected ${O===U?"end of input":`'${this.tokenNames[O]||O}'`}`,this.parseError(u,{text:Z.match,token:this.tokenNames[O]||O,line:Z.line,loc:P,expected:$})})(),Error(u)}if(W>0)if(B.push(O,W),S.push(Z.text),Q.push(Z.loc),O=null,!K){if([I,M,q,P]=[Z.len,Z.text,Z.line,Z.loc],w>0)w--}else[O,K]=[K,null];else if(W<0){if(F=this.ruleTable[-W*2+1],X.$=S[S.length-F],G=Q[Q.length-(F||1)],X._$={r:G.r,c:G.c},D=this.ruleActions.call(X,-W,S,Q,R.ctx),D!=null)X.$=D;if(Array.isArray(X.$))X.$.loc=X._$;if(F)B.length-=F*2,S.length-=F,Q.length-=F;B.push(this.ruleTable[-W*2]),S.push(X.$),Q.push(X._$),z=J[B[B.length-2]][B[B.length-1]],B.push(z)}else if(W===0)return S[S.length-1]}},trace(){},ctx:{}},U4=(f={})=>{let U=Object.create($4);return Object.defineProperty(U,"ctx",{value:{...f},enumerable:!1,writable:!0,configurable:!0}),U},z1=U4();var W0=z1.parse.bind(z1);var W4=new Set(["input","shape","model","mixin","enum"]),c2="input",_4=new Set(["beforeValidation","afterValidation","beforeSave","afterSave","beforeCreate","afterCreate","beforeUpdate","afterUpdate","beforeDestroy","afterDestroy"]),Y4=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 a1(f,U){if(f)f.prototype.rewriteSchema=function(){F4(this)},g1._LexerCtor=f;if(U)U.prototype.emitSchema=function(_,W,u){return P4(this,_,W,u)},U.prototype.getSchemaRuntime=function(){return c4()}}var h2=new Set(["defaultMaxString"]);function F4(f){let U=f.tokens,_={defaultMaxString:null},W=0,u=0;while(u<U.length){let $=U[u];if($[0]==="INDENT")W++;else if($[0]==="OUTDENT")W--;let F=Z4(U,u,_,W);if(F>0){U.splice(u,F);continue}if(G4(U,u))Q4(f,U,u,_);u++}}function Z4(f,U,_,W){let u=f[U];if(!u||u[0]!=="IDENTIFIER"||u[1]!=="schema")return 0;if(f[U+1]?.[0]!==".")return 0;let $=f[U+2];if(!$||$[0]!=="PROPERTY")return 0;if(f[U+3]?.[0]!=="=")return 0;let F=f[U-1];if(F){let z=F[0];if(z!=="TERMINATOR"&&z!=="INDENT"&&z!=="OUTDENT")return 0}let Y=$[1];if(!h2.has(Y))throw g($,`Unknown schema pragma 'schema.${Y}'. Known pragmas: ${[...h2].join(", ")}.`);if(W>0)throw g($,`Schema pragma 'schema.${Y}' 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 Z=f[U+4];if(!Z||Z[0]!=="NUMBER")throw g(Z||$,`Pragma 'schema.${Y}' requires a number literal. Example: schema.${Y} = 100.`);let G=Number(Z[1]);if(!Number.isFinite(G)||G<0||!Number.isInteger(G))throw g(Z,`Pragma 'schema.${Y}' expects a non-negative integer (got ${Z[1]}). Use 0 to disable.`);_[Y]=G===0?null:G;let Q=U+5;if(f[Q]?.[0]==="TERMINATOR")Q++;return Q-U}function G4(f,U){let _=f[U];if(!_||_[0]!=="IDENTIFIER"||_[1]!=="schema")return!1;let W=f[U-1];if(W){let $=W[0];if($==="."||$==="?.")return!1;if(W[0]==="IDENTIFIER"||W[0]==="PROPERTY"||W[0]===")"||W[0]==="]"||W[0]==="}"||W[0]==="STRING"||W[0]==="NUMBER"){if(!Y4.has($))return!1}}let u=U+1;if(f[u]?.[0]==="SYMBOL")u++;if(f[u]?.[0]==="TERMINATOR"){if(f[u][1]===";")return!0;u++}return f[u]?.[0]==="INDENT"}function Q4(f,U,_,W){let u=U[_],$=null,F=c2,Y=_+1;if(U[Y]?.[0]==="SYMBOL"){$=U[Y];let J=$[1];if(!W4.has(J))throw g($,`Unknown schema kind :${J}. Expected one of :input, :shape, :model, :mixin, :enum.`);F=J,Y++}let Z,G;if(U[Y]?.[0]==="TERMINATOR"&&U[Y][1]===";"){let J=Y+1,K=J,D=0,w=U[J]?.loc?.r??null;while(K<U.length){let X=U[K],R=X[0];if(D===0&&w!=null&&X.loc&&X.loc.r>w)break;if(R==="("||R==="["||R==="{"||R==="CALL_START"||R==="INDEX_START"||R==="PARAM_START")D++;else if(R===")"||R==="]"||R==="}"||R==="CALL_END"||R==="INDEX_END"||R==="PARAM_END")D--;else if(D===0&&R==="TERMINATOR"&&X[1]!==";")break;else if(D===0&&(R==="INDENT"||R==="OUTDENT"))break;else if(D===0&&R==="->")throw g(X,"Inline schema body does not support '->' (method/hook/transform). Use the indented form.");else if(D===0&&R==="EFFECT")throw g(X,"Inline schema body does not support '~>' (computed getter). Use the indented form.");else if(D===0&&R==="UNARY_MATH"&&X[1]==="!"&&U[K+1]?.[0]==="COMPARE"&&U[K+1][1]===">")throw g(X,"Inline schema body does not support '!>' (eager derived). Use the indented form.");K++}while(K>J&&U[K-1][0]==="TERMINATOR")K--;if(Z=U.slice(J,K),G=K,!Z.length)throw g(u,`Inline schema body is empty. Either add '; field; …' entries after 'schema${$?" :"+F:""};' or switch to the indented form.`)}else{if(U[Y]?.[0]==="TERMINATOR")Y++;if(U[Y]?.[0]!=="INDENT")throw g(u,`Expected indented schema body after 'schema${$?" :"+F:""}'.`);let J=Y,K=v4(U,J);if(K<0)throw g(U[J],"Unterminated schema body.");Z=U.slice(J+1,K),G=K+1}let Q=z4(F,Z,{schemaLoc:u.loc,kindLoc:$?.loc??null,kind:F,defaultMaxString:W?.defaultMaxString??null}),z=G2("SCHEMA","schema",u),A=G2("SCHEMA_BODY",F,u);A.data={descriptor:Q},U.splice(_,G-_,z,A)}function z4(f,U,_){let W=[],u=A4(U);if(f===c2&&!_.kindLoc&&u.length>0&&u[0][0]?.[0]==="SYMBOL")f="enum",_.kind="enum";if(f==="enum")for(let $ of u)R4($,W);else{for(let $ of u)X4(f,$,W,_);if(f==="mixin")for(let $ of W){if($.tag==="method"||$.tag==="computed"||$.tag==="hook")throw g({loc:$.headerLoc||$.loc},`:mixin schemas are fields-only. '${$.name}' is a ${$.tag}; move it to a :shape or :model.`);if($.tag==="ensure")throw g({loc:$.headerLoc||$.loc},":mixin schemas don't accept @ensure refinements. Move the invariant to a :shape or :model that composes this mixin.");if($.tag==="directive"&&$.name!=="mixin")throw g({loc:$.loc},`:mixin schemas only accept '@mixin Name' directives. '@${$.name}' is not allowed.`)}else if(f==="input")for(let $ of W){if($.tag==="method"||$.tag==="computed"||$.tag==="hook")throw g({loc:$.headerLoc||$.loc},`:input schemas are fields-only. '${$.name}' is a ${$.tag}; use :shape or :model if you need behavior.`);if($.tag==="directive"&&$.name!=="mixin")throw g({loc:$.loc},`:input schemas only accept '@mixin Name' and '@ensure'. '@${$.name}' is not allowed.`)}else if(f==="shape")for(let $ of W){if($.tag==="hook")throw g({loc:$.headerLoc||$.loc},`:shape schemas don't have lifecycle hooks. '${$.name}' runs only on :model; move it or remove it.`);if($.tag==="directive"&&$.name!=="mixin")throw g({loc:$.loc},`:shape schemas only accept '@mixin Name'. '@${$.name}' is :model-only.`)}}return{kind:f,loc:_.schemaLoc,kindLoc:_.kindLoc,entries:W}}function A4(f){let U=[],_=[],W=0;for(let u of f){let $=u[0];if($==="INDENT")W++;if($==="OUTDENT")W--;if($==="TERMINATOR"&&W===0){if(_.length)U.push(_),_=[];continue}_.push(u)}if(_.length)U.push(_);return U}var J4=new Set(["string","email","url","phone","zip"]);function X4(f,U,_,W){let u=U[0];if(!u)return;if(u[0]==="@"){let I=U[1];if(!I||I[0]!=="IDENTIFIER"&&I[0]!=="PROPERTY")throw g(u,"Expected directive name after '@'.");let q=U.slice(2),P=I[1];if(P==="ensure"){let S=M4(q,u);for(let L of S)_.push({tag:"ensure",name:"ensure",message:L.message,paramTokens:L.paramTokens,bodyTokens:L.bodyTokens,loc:L.loc,headerLoc:u.loc});return}let M=null;if(P==="belongs_to"||P==="has_many"||P==="has_one"||P==="one"||P==="many"||P==="mixin"){let S=q[0];if(S&&(S[0]==="IDENTIFIER"||S[0]==="PROPERTY")){let L=S.data?.predicate===!0;if(!L&&q[1]?.[0]==="?")L=!0;M=[{target:S[1],optional:L}]}}_.push({tag:"directive",name:P,args:M,argTokens:q,loc:u.loc});return}if(u[0]==="PROPERTY"){D4(f,u,U,_);return}if(u[0]!=="IDENTIFIER")throw g(u,`Unexpected ${u[0]} at schema top level. Allowed: fields ('name! type'), directives ('@name'), methods ('name: -> body'), or computed getters ('name: ~> body').`);let $=u[1];if(U[1]?.[0]===":")throw g(U[1],"Schema fields use 'name type' (space, no colon). For methods or computed use 'name: -> body' or 'name: ~> body'.");let F=y4(u),Y=1;while(Y<U.length){let I=U[Y];if(!(U[Y-1]&&!U[Y-1].spaced))break;if(I[0]==="#"||I[0]==="?"||I[0]==="!"){F.push(I[0]),Y++;continue}break}let Z=U[Y];if(Z?.[0]===":")throw g(Z,"Schema fields use 'name type' (space, no colon). Got 'name:'. For methods/computed use 'name: -> body' or 'name: ~> body'.");let G="string",Q=null;if(Z?.[0]==="IDENTIFIER")G=Z[1],Y++;else if(Z?.[0]==="STRING"){Q=[JSON.parse(Z[1])],Y++;while(U[Y]?.[0]==="|"&&U[Y+1]?.[0]==="STRING")Y++,Q.push(JSON.parse(U[Y][1])),Y++;if(U[Y]?.[0]==="|"){let I=U[Y+1],q=I?.[0]??"<end>";throw g(I||U[Y],`Literal unions contain string literals only. '${q}' is not allowed as a union member. Use the '?' modifier for nullability.`)}if(Q.length<2)throw g(Z,`Literal union needs at least two string literals. Use '${JSON.stringify(Q[0])}' as a default with '[${JSON.stringify(Q[0])}]' instead.`);G="literal-union"}let z=!1,A=U[Y]?.[0],J=U[Y+1]?.[0];if((A==="["||A==="INDEX_START")&&(J==="]"||J==="INDEX_END"))z=!0,Y+=2;let K=U.slice(Y);if((Z?.[0]==="IDENTIFIER"||Z?.[0]==="STRING")&&K[0]?.[0]==="->")throw g(K[0],`Field '${$}' has a transform after the type; a comma is required before '->'. Write '${$} ${G}, -> …'.`);let w=null,X=null,R=null,H=null,B=null;if(K.length>0){if(K[0]?.[0]===",")K=K.slice(1);let I=c1(K);for(let q=0;q<I.length;q++){let P=I[q];while(P.length&&(P[0][0]==="INDENT"||P[0][0]==="TERMINATOR"))P=P.slice(1);if(!P.length)continue;if(P[0][0]!=="->"){let S=w4(P);if(S>0)throw g(P[S],`Field '${$}' has a transform after other content; a comma is required before '->'. Write 'name! <constraints>, -> <body>'.`)}let M=P[0];if(M[0]!=="->"){while(P.length&&(P[P.length-1][0]==="OUTDENT"||P[P.length-1][0]==="TERMINATOR"))P=P.slice(0,-1);if(!P.length)continue;M=P[0]}if(M[0]==="["||M[0]==="INDEX_START"){if(w)throw g(M,`Field '${$}' has more than one '[…]' constraint. At most one default / regex bracket per field.`);w=P}else if(M[0]==="{"){if(X)throw g(M,`Field '${$}' has more than one '{…}' attrs bracket.`);X=P}else if(K4(P)){if(R)throw g(M,`Field '${$}' has more than one range constraint. Only one 'min..max' per field.`);R=P}else if(M[0]==="REGEX"&&P.length===1){if(H)throw g(M,`Field '${$}' has more than one regex constraint.`);H=M}else if(M[0]==="->"){if(q!==I.length-1)throw g(M,`Transform '-> …' must be the last element on the field line for '${$}'.`);B=P.slice(1)}else throw g(M,`Unexpected trailer for field '${$}'. Expected '[…]' default, '{…}' attrs, '/regex/', 'min..max' range, or '-> transform'.`)}}if(z&&Q)throw g(Z,"Array-of-literal-union is not supported. Use 'string[]' if you need an array of strings.");let O=null;if(W?.defaultMaxString!=null&&!H&&!Q&&J4.has(G))O=W.defaultMaxString;_.push({tag:"field",name:$,modifiers:F,typeName:G,array:z,literals:Q,constraintTokens:w,attrsTokens:X,rangeTokens:R,regexToken:H,transformTokens:B,defaultMax:O,loc:u.loc})}function w4(f){let U=0;for(let _=0;_<f.length;_++){let W=f[_][0];if(W==="("||W==="["||W==="{"||W==="CALL_START"||W==="INDEX_START"||W==="PARAM_START")U++;else if(W===")"||W==="]"||W==="}"||W==="CALL_END"||W==="INDEX_END"||W==="PARAM_END")U--;else if(U===0&&W==="->")return _}return-1}function K4(f){let U=0,_=!1;if(f[U]?.[0]==="-"&&f[U+1]?.[0]==="NUMBER")U+=2,_=!0;else if(f[U]?.[0]==="NUMBER")U++,_=!0;if(f[U]?.[0]!=="..")return!1;U++;let W=!1;if(f[U]?.[0]==="-"&&f[U+1]?.[0]==="NUMBER")U+=2,W=!0;else if(f[U]?.[0]==="NUMBER")U++,W=!0;return(_||W)&&U===f.length}function D4(f,U,_,W){let u=U[1],$=_[1];if(!$||$[0]!==":")throw g(U,`Expected ':' after '${u}' before arrow.`);let F=_[2],Y=_[3],Z,G,Q;if(F&&F[0]==="->")Z="->",G=F.loc,Q=3;else if(F&&F[0]==="EFFECT")Z="~>",G=F.loc,Q=3;else if(F&&F[0]==="UNARY_MATH"&&F[1]==="!"&&Y&&Y[0]==="COMPARE"&&Y[1]===">"&&!F.spaced)Z="!>",G=F.loc,Q=4;else throw g($,`Schema top-level '${u}:' must be followed by '->' (method/hook), '~>' (computed getter), or '!>' (eager derived).`);let z=_.slice(Q),A=_4.has(u),J;if(Z==="~>")J="computed";else if(Z==="!>")J="derived";else if(f==="model"&&A)J="hook";else J="method";W.push({tag:J,name:u,arrow:Z,paramTokens:[],bodyTokens:z,headerLoc:U.loc,arrowLoc:G})}function M4(f,U){let _=f;if(!_.length)throw g(U,"@ensure requires 'message, (x) -> body' or '[...]' array of pairs.");if(_[0]?.[0]==="CALL_START"&&_[_.length-1]?.[0]==="CALL_END")_=_.slice(1,-1);if(!_.length)throw g(U,"@ensure requires 'message, (x) -> body' or '[...]' array of pairs.");let W=_[0];if(W[0]==="["||W[0]==="INDEX_START"){let $=H4(_,W),F=q4($);if(F.length===0)throw g(W,"@ensure [...] must contain at least one 'message, fn' pair.");if(F.length%2!==0)throw g(W,`@ensure [...] must have pairs of 'message, fn' (got ${F.length} elements; odd count).`);let Y=[];for(let Z=0;Z<F.length;Z+=2)Y.push(y2(F[Z],F[Z+1],W));return Y}let u=c1(_);if(u.length<2)throw g(W,"@ensure inline form must be 'message, (x) -> body'. Did you forget the comma?");if(u.length>2)throw g(W,`@ensure inline form takes exactly 'message, fn' (got ${u.length} comma-separated parts). Use '@ensure [...]' for multiple refinements.`);return[y2(u[0],u[1],W)]}function H4(f,U){let _=0,W=[];for(let u=0;u<f.length;u++){let $=f[u],F=$[0];if(F==="["||F==="INDEX_START"){if(_++,_===1)continue}if(F==="]"||F==="INDEX_END"){if(_--,_===0){if(u<f.length-1)throw g(f[u+1],"@ensure [...] must be the only argument — extra tokens after ']'.");if(W.length>=2&&W[0][0]==="INDENT"&&W[W.length-1][0]==="OUTDENT"){let Y=0,Z=!1;for(let G=0;G<W.length;G++)if(W[G][0]==="INDENT")Y++;else if(W[G][0]==="OUTDENT"){if(Y--,Y===0&&G===W.length-1){Z=!0;break}if(Y===0)break}if(Z)W=W.slice(1,-1)}return W}}if(_>=1)W.push($)}throw g(U,"@ensure: unclosed '['.")}function q4(f){let U=[],_=[],W=0;for(let u of f){let $=u[0];if($==="("||$==="["||$==="{"||$==="CALL_START"||$==="INDEX_START"||$==="PARAM_START"||$==="INDENT")W++;if($===")"||$==="]"||$==="}"||$==="CALL_END"||$==="INDEX_END"||$==="PARAM_END"||$==="OUTDENT")W--;if(W===0&&($===","||$==="TERMINATOR")){if(_.length)U.push(_),_=[];continue}_.push(u)}if(_.length)U.push(_);return U}function y2(f,U,_){if(!f||!f.length)throw g(_,"@ensure: missing message (expected a string literal).");if(f.length!==1||f[0][0]!=="STRING")throw g(f[0]||_,"@ensure: each refinement's first element must be a string literal message.");let W=f[0],u=JSON.parse(W[1]);if(!U||!U.length)throw g(W,"@ensure: missing function after message.");let $=U[0];if($[0]!=="("&&$[0]!=="PARAM_START")throw g($,"@ensure: expected '(args) -> body' after the message. Predicates must declare their parameter explicitly — '(u) -> ...'.");let F=1,Y=1,Z=[];while(Y<U.length&&F>0){let z=U[Y],A=z[0];if(A==="("||A==="PARAM_START")F++;if(A===")"||A==="PARAM_END"){if(F--,F===0){Y++;break}}Z.push(z),Y++}if(F!==0)throw g($,"@ensure: unclosed '(' in predicate parameters.");let G=U[Y];if(!G||G[0]!=="->")throw g(G||U[Y-1]||W,"@ensure: expected '->' after predicate parameters.");let Q=U.slice(Y+1);if(!Q.length)throw g(G,"@ensure: predicate function body is empty.");return{message:u,paramTokens:Z,bodyTokens:Q,loc:W.loc}}function O4(f,U){if(!f.length)return[];return c1(f).map((W)=>{let u=W.filter(($)=>$[0]!=="TERMINATOR");if(u.length!==1||u[0][0]!=="IDENTIFIER")throw g(u[0]||U,"@ensure: predicate parameters must be plain identifiers.");return u[0][1]})}function R4(f,U){let _=f[0];if(!_)return;if(_[0]==="@"){let $=f[1],F=$&&($[0]==="IDENTIFIER"||$[0]==="PROPERTY")?$[1]:"directive";throw g(_,`:enum schemas don't accept '@${F}'. Enums hold only :symbol members. Move the invariant to a :shape or :model that uses this enum as a field type.`)}if(_[0]!=="SYMBOL")throw g(_,`Enum member must be a :symbol. Use ':${_[1]??"name"}' for a bare member or ':${_[1]??"name"} value' for a valued one.`);let W=_[1],u=f[1];if(!u){U.push({tag:"enum-member",name:W,value:void 0,loc:_.loc});return}if(u[0]===":")throw g(u,`Enum member ':${W}' — drop the ':' before the value. Use ':${W} value'.`);if(f.length>2)throw g(f[2],`Extra tokens after enum member ':${W}' value.`);U.push({tag:"enum-member",name:W,value:g4(u),loc:_.loc})}function P4(f,U,_,W){let u=_[0],$=B4(u);if(!$)throw Error("schema: missing descriptor on SCHEMA_BODY token");f.usesSchemas=!0;let F=f._schemaName||null,Y=[`kind: ${JSON.stringify($.kind)}`];if(F)Y.push(`name: ${JSON.stringify(F)}`);return Y.push(`entries: [${$.entries.map((Z)=>I4(f,Z)).join(", ")}]`),`__schema({${Y.join(", ")}})`}function B4(f){if(f&&typeof f==="object"){if(f.descriptor)return f.descriptor;if(f.data?.descriptor)return f.data.descriptor}return null}function I4(f,U){switch(U.tag){case"field":{let _=['tag: "field"',`name: ${JSON.stringify(U.name)}`,`modifiers: ${JSON.stringify(U.modifiers)}`,`typeName: ${JSON.stringify(U.typeName)}`,`array: ${U.array?"true":"false"}`];if(U.literals)_.push(`literals: ${JSON.stringify(U.literals)}`);let W=U.rangeTokens?C4(U.rangeTokens,U):null,u=U.constraintTokens?L4(U.constraintTokens,U):null,$=U.regexToken?V4(U.regexToken):null,F=T4(W,u,$,U);if(F)_.push(`constraints: ${F}`);if(U.transformTokens)_.push(`transform: ${N4(f,U.transformTokens)}`);return`{${_.join(", ")}}`}case"directive":{let _=['tag: "directive"',`name: ${JSON.stringify(U.name)}`],W=b4(U.name,U.argTokens||[]);if(W)_.push(`args: ${W}`);return`{${_.join(", ")}}`}case"ensure":{let _=E4(f,U);return`{${['tag: "ensure"',`message: ${JSON.stringify(U.message)}`,`fn: ${_}`].join(", ")}}`}case"computed":case"method":case"hook":case"derived":{let _=S4(f,U);return`{${[`tag: ${JSON.stringify(U.tag)}`,`name: ${JSON.stringify(U.name)}`,`fn: ${_}`].join(", ")}}`}case"enum-member":{let _=['tag: "enum-member"',`name: ${JSON.stringify(U.name)}`];if(U.value!==void 0)_.push(`value: ${JSON.stringify(U.value)}`);return`{${_.join(", ")}}`}default:return'{tag: "unknown"}'}}function S4(f,U){let _=g1(U.bodyTokens);if(!_)return"(function() {})";let W=["->",[],_];return f.emit(W,"value")}function N4(f,U){let _=g1(U);if(!_)return"(function() { return undefined; })";let W=["->",[],_];return f.emit(W,"value")}function E4(f,U){let _=g1(U.bodyTokens);if(!_)return"(function() { return undefined; })";let u=["->",O4(U.paramTokens,U),_];return f.emit(u,"value")}function L4(f,U){let _=f.slice(1,-1),W=c1(_);if(!W.length)return{c:null};let u=W.map(($)=>x2($,U));if(u.length===1){let $=u[0];if($ instanceof RegExp)throw g(f[0],`Regex constraints are written bare, not in brackets. Replace '[${$}]' with '${$}'.`);return{c:{default:$}}}if(u.length===2&&typeof u[0]==="number"&&typeof u[1]==="number")throw g(f[0],`Size/value ranges use 'min..max' syntax, not brackets. Replace '[${u[0]}, ${u[1]}]' with '${u[0]}..${u[1]}'.`);if(u.length===3&&u.every(($)=>typeof $==="number"))throw g(f[0],`Range + default is two separate constraints in v2. Replace '[${u[0]}, ${u[1]}, ${u[2]}]' with '${u[0]}..${u[1]}, [${u[2]}]'.`);throw g(f[0],`Constraint bracket takes a single default value in v2. Got ${u.length} elements.`)}function V4(f){let U=f[1],_=/^\/((?:\\.|[^\\/])+)\/([a-z]*)$/.exec(U);if(!_)throw g(f,`Invalid regex literal ${JSON.stringify(U)}.`);try{return new RegExp(_[1],_[2])}catch(W){throw g(f,`Invalid regex '${U}': ${W.message}`)}}function C4(f,U){let _=0,W=()=>{let Y=1;if(f[_]?.[0]==="-")Y=-1,_++;let Z=f[_++],G=x2([Z],U);if(typeof G!=="number")throw g(Z,"Range endpoints must be numeric literals.");return Y*G},u;if(f[_]?.[0]!=="..")u=W();_++;let $;if(_<f.length)$=W();if(u!==void 0&&$!==void 0&&u>$)throw g(f[0],`Range '${u}..${$}' is reversed. Write the smaller endpoint first.`);let F={};if(u!==void 0)F.min=u;if($!==void 0)F.max=$;return F}function T4(f,U,_,W){let u=U&&U.c||{},$=f&&f.min===void 0;if(f){if(f.min!==void 0)u.min=f.min;if(f.max!==void 0)u.max=f.max;if($&&u.min===void 0&&W?.modifiers?.includes("!"))u.min=1}if(_)u.regex=_;if(W?.defaultMax!=null&&u.max===void 0)u.max=W.defaultMax;if(u.min!==void 0&&u.max!==void 0&&u.min>u.max){let F=f&&f.min!==void 0?`range min ${f.min}`:"implicit min=1 from `!`",Y=f&&f.max!==void 0?`range max ${f.max}`:`pragma defaultMaxString=${W?.defaultMax}`;throw g({loc:W?.loc},`Field '${W?.name}' would have impossible constraints min=${u.min} > max=${u.max} after sugar is applied (${F} vs ${Y}). Write an explicit range or drop the conflicting pragma.`)}if(u.min===void 0&&u.max===void 0&&u.default===void 0&&u.regex===void 0)return null;return j4(u)}function j4(f){let U=[];if(f.min!==void 0)U.push(`min: ${F2(f.min)}`);if(f.max!==void 0)U.push(`max: ${F2(f.max)}`);if(f.default!==void 0)U.push(`default: ${F2(f.default)}`);if(f.regex!==void 0)U.push(`regex: ${f.regex.toString()}`);return U.length?`{${U.join(", ")}}`:null}function F2(f){if(f===null)return"null";if(f===void 0)return"undefined";if(typeof f==="string")return JSON.stringify(f);if(typeof f==="number"||typeof f==="boolean")return String(f);if(f instanceof RegExp)return f.toString();return JSON.stringify(f)}function b4(f,U){if(f==="idStart"&&!U.length)throw g(null,"@idStart requires an integer literal, e.g. @idStart 10001.");if(!U.length)return null;if(f==="belongs_to"||f==="has_many"||f==="has_one"||f==="one"||f==="many"||f==="mixin"){let _=U[0];if(!_||_[0]!=="IDENTIFIER"&&_[0]!=="PROPERTY")throw g(_||U[U.length-1],`@${f} requires a target name.`);let W=_[1],u=_.data?.predicate===!0,$=1;if(!u&&U[$]?.[0]==="?")u=!0,$++;let F=[`target: ${JSON.stringify(W)}`];if(u)F.push("optional: true");return`[{${F.join(", ")}}]`}if(f==="index"){let _=[],W=!1,u=0;if(U[u]?.[0]==="IDENTIFIER"||U[u]?.[0]==="PROPERTY")_.push(U[u][1]),u++;else if(U[u]?.[0]==="["||U[u]?.[0]==="INDEX_START"){let F=[],Y=1;u++;while(u<U.length&&Y>0){let Z=U[u];if(Z[0]==="["||Z[0]==="INDEX_START")Y++;if(Z[0]==="]"||Z[0]==="INDEX_END"){if(Y--,Y===0){u++;break}}F.push(Z),u++}for(let Z of c1(F))if(Z[0]&&(Z[0][0]==="IDENTIFIER"||Z[0][0]==="PROPERTY"))_.push(Z[0][1])}if(U[u]?.[0]==="#")W=!0;let $=[`fields: ${JSON.stringify(_)}`];if(W)$.push("unique: true");return`[{${$.join(", ")}}]`}if(f==="idStart"){let _=U[0],W=1,u=_;if(_&&_[0]==="-"&&U[1]&&U[1][0]==="NUMBER")W=-1,u=U[1];if(!u||u[0]!=="NUMBER")throw g(_||U[U.length-1],"@idStart requires an integer literal, e.g. @idStart 10001.");let $=W*Number(u[1]);if(!Number.isInteger($))throw g(u,"@idStart requires an integer literal; got "+u[1]+".");return"[{value: "+$+"}]"}return null}function x2(f,U){if(!f.length)throw g(null,"Empty constraint value.");let _=f[0],W=_[0];if(f.length===1){if(W==="NUMBER")return Number(_[1]);if(W==="STRING")return JSON.parse(_[1]);if(W==="BOOL")return _[1]==="true";if(W==="NULL")return null;if(W==="UNDEFINED")return;if(W==="REGEX")return h4(_[1]);if(W==="SYMBOL")return _[1]}if(f.length===2&&W==="-"&&f[1][0]==="NUMBER")return-Number(f[1][1]);throw g(_,`Constraint values must be literals (number, string, boolean, null, regex, :symbol). Got ${W}.`)}function h4(f){let U=typeof f==="string"?f:String(f),_=U.match(/^\/(.*)\/([gimsuy]*)$/s);return _?new RegExp(_[1],_[2]):new RegExp(U)}function g1(f){if(!f||!f.length)return null;let U=g1._LexerCtor;if(!U)throw Error("schema: parseBodyTokens called before Lexer was wired");let _=Object.create(U.prototype),W=f.slice();if(W.length>=2&&W[0]?.[0]==="INDENT"){let G=0,Q=-1;for(let z=0;z<W.length;z++)if(W[z][0]==="INDENT")G++;else if(W[z][0]==="OUTDENT"){if(G--,G===0){Q=z;break}}if(Q===W.length-1)W=W.slice(1,-1)}if(_.tokens=W,_.seenFor=_.seenImport=_.seenExport=!1,_.ends=[],_.indent=0,_.outdebt=0,_.indents=[],_.tokens[_.tokens.length-1]?.[0]!=="TERMINATOR")_.tokens.push(G2("TERMINATOR",`
4
4
  `,f[f.length-1]));try{_.rewriteTypes?.(),_.tagPostfixConditionals?.(),_.rewriteTaggedTemplates?.(),_.addImplicitBracesAndParens?.(),_.addImplicitCallCommas?.()}catch(G){throw g(f[0],`schema: failed to compile body: ${G.message}`)}let $=_.tokens.filter((G)=>G[0]!=="TYPE_DECL"),F=z1.lexer;z1.lexer={tokens:$,pos:0,setInput(){},lex(){if(this.pos>=this.tokens.length)return 1;let G=this.tokens[this.pos++],Q=G[1];if(G.data)Q=new String(Q),Object.assign(Q,G.data);return this.text=Q,this.loc=G.loc,this.line=G.loc?.r,G[0]}};let Y;try{Y=z1.parse("")}finally{z1.lexer=F}if(!Array.isArray(Y)||Y[0]!=="program")return null;let Z=Y.slice(1);if(Z.length===0)return null;if(Z.length===1)return Z[0];return["block",...Z]}function y4(f){let U=[],_=f.data;if(_?.await===!0)U.push("!");if(_?.predicate===!0)U.push("?");return U}function v4(f,U){let _=0;for(let W=U;W<f.length;W++)if(f[W][0]==="INDENT")_++;else if(f[W][0]==="OUTDENT"){if(_--,_===0)return W}return-1}function c1(f){let U=[],_=[],W=0;for(let u of f){let $=u[0];if($==="("||$==="["||$==="{"||$==="CALL_START"||$==="INDEX_START"||$==="PARAM_START"||$==="INDENT")W++;if($===")"||$==="]"||$==="}"||$==="CALL_END"||$==="INDEX_END"||$==="PARAM_END"||$==="OUTDENT")W--;if($===","&&W===0){if(_.length)U.push(_);_=[];continue}_.push(u)}if(_.length)U.push(_);return U}function g4(f){let U=f[0],_=f[1];if(U==="NUMBER")return Number(_);if(U==="STRING")return JSON.parse(_);if(U==="BOOL")return _==="true";if(U==="NULL")return null;if(U==="UNDEFINED")return;return _}function G2(f,U,_){let W=[f,U];if(W.pre=0,W.data=null,W.loc=_?.loc??{r:0,c:0,n:0},W.spaced=!1,W.newLine=!1,W.generated=!0,_)W.origin=_;return W}function g(f,U){let _=f?.loc||{r:0,c:0},W=Error(U);return W.name="SchemaSyntaxError",W.loc=_,W.line=_.r,W.column=_.c,W.phase="schema",W.code="E_SCHEMA",W}var Z2=1,l2=`
5
5
  // ---- Rip Schema Runtime ----------------------------------------------------
6
6
  // Four layers, lazy compilation:
@@ -1295,10 +1295,10 @@ function __schema(descriptor) {
1295
1295
  })();
1296
1296
 
1297
1297
  // === End Schema Runtime ===
1298
- `;function c4(){return l2.trimStart()}var m2=["interface SchemaIssue { field: string; error: string; message: string; }","type SchemaSafeResult<T> = { ok: true; value: T; errors: null } | { ok: false; value: null; errors: SchemaIssue[] };","interface Schema<Out, In = unknown> {"," parse(data: In): Out;"," safe(data: In): SchemaSafeResult<Out>;"," ok(data: unknown): boolean;"," pick<K extends keyof In>(...keys: K[]): Schema<Pick<In, K>, Pick<In, K>>;"," omit<K extends keyof In>(...keys: K[]): Schema<Omit<In, K>, Omit<In, K>>;"," partial(): Schema<Partial<In>, Partial<In>>;"," required<K extends keyof In>(...keys: K[]): Schema<Omit<In, K> & Required<Pick<In, K>>, Omit<In, K> & Required<Pick<In, K>>>;"," extend<U>(other: Schema<U>): Schema<In & U, In & U>;","}","interface SchemaQuery<T> {"," all(): Promise<T[]>;"," first(): Promise<T | null>;"," count(): Promise<number>;"," limit(n: number): SchemaQuery<T>;"," offset(n: number): SchemaQuery<T>;"," order(spec: string): SchemaQuery<T>;","}","interface ModelSchema<Instance, Data = unknown> extends Schema<Instance, Data> {"," find(id: unknown): Promise<Instance | null>;"," findMany(ids: unknown[]): Promise<Instance[]>;"," where(cond: Record<string, unknown> | string, ...params: unknown[]): SchemaQuery<Instance>;"," all(limit?: number): Promise<Instance[]>;"," first(): Promise<Instance | null>;"," count(cond?: Record<string, unknown>): Promise<number>;"," create(data: Partial<Data>): Promise<Instance>;"," toSQL(options?: { dropFirst?: boolean; header?: string; idStart?: number }): string;","}"],x4={string:"string",text:"string",email:"string",url:"string",uuid:"string",phone:"string",zip:"string",number:"number",integer:"number",boolean:"boolean",date:"Date",datetime:"Date",json:"unknown",any:"any"};function l4(f){if(f.typeName==="literal-union"&&f.literals?.length)return f.literals.map((_)=>JSON.stringify(_)).join(" | ");let U=x4[f.typeName]??f.typeName;return f.array?`${U}[]`:U}function m4(f){if(!Array.isArray(f))return null;if((f[0]?.valueOf?.()??f[0])!=="schema")return null;let _=f[1];if(!_||typeof _!=="object")return null;if(_.descriptor)return _.descriptor;if(_.data?.descriptor)return _.data.descriptor;return null}function k2(f,U){let _=[];if(Q2(f,_),!_.length)return!1;let W=new Set(_.map(($)=>$.name)),u=new Map(_.map(($)=>[$.name,$]));for(let $ of _)if($.descriptor.kind==="mixin")v2($,u,W,U);for(let $ of _)if($.descriptor.kind!=="mixin")v2($,u,W,U);return!0}function Q2(f,U){if(!Array.isArray(f))return;let _=f[0]?.valueOf?.()??f[0],W=!1,u=null;if(_==="export"&&Array.isArray(f[1])){let $=f[1];if(($[0]?.valueOf?.()??$[0])==="=")W=!0,u=$;else Q2(f[1],U)}else if(_==="=")u=f;else if(_==="program"||_==="block"){for(let $=1;$<f.length;$++)if(Array.isArray(f[$]))Q2(f[$],U)}if(u&&Array.isArray(u[2])){let $=u[1]?.valueOf?.()??u[1],F=m4(u[2]);if(typeof $==="string"&&F)U.push({name:$,descriptor:F,exported:W})}}function v2(f,U,_,W){let{name:u,descriptor:$,exported:F}=f,Y=F?"export ":"",Z=F?"":"declare ";if($.kind==="enum"){let w=[];for(let H of $.entries){if(H.tag!=="enum-member")continue;let q=H.value!==void 0?H.value:H.name;w.push(typeof q==="string"?JSON.stringify(q):String(q))}let X=w.length?w.join(" | "):"never";W.push(`${Y}type ${u} = ${X};`),W.push(`${Y}${Z}const ${u}: { parse(data: unknown): ${u}; safe(data: unknown): SchemaSafeResult<${u}>; ok(data: unknown): data is ${u}; };`);return}if($.kind==="mixin"){let w=g2($);W.push(`${Y}type ${u} = { ${w.join("; ")} };`);return}let G=g2($),Q=k4($,U),z=[],A=[];for(let w of $.entries)if(w.tag==="method")z.push(`${w.name}: (...args: any[]) => unknown`);else if(w.tag==="computed")A.push(`readonly ${w.name}: unknown`);let J=`{ ${G.join("; ")} }`,K=Q.length?`${J} & ${Q.join(" & ")}`:J;if($.kind==="model"){let w=`${u}Data`,X=`${u}Instance`,H=i4($,_),q=[...A,...z,...H,`save(): Promise<${X}>`,`destroy(): Promise<${X}>`,"ok(): boolean","errors(): SchemaIssue[]",`toJSON(): ${w}`];W.push(`${Y}type ${w} = ${K};`),W.push(`${Y}type ${X} = ${w} & { ${q.join("; ")} };`),W.push(`${Y}${Z}const ${u}: ModelSchema<${X}, ${w}>;`);return}if($.kind==="shape"){let w=`${u}Data`,X=`${u}Instance`,H=z.length+A.length>0;if(W.push(`${Y}type ${w} = ${K};`),H)W.push(`${Y}type ${X} = ${w} & { ${[...A,...z].join("; ")} };`),W.push(`${Y}${Z}const ${u}: Schema<${X}, ${w}>;`);else W.push(`${Y}${Z}const ${u}: Schema<${w}, ${w}>;`);return}let D=`${u}Value`;W.push(`${Y}type ${D} = ${K};`),W.push(`${Y}${Z}const ${u}: Schema<${D}, ${D}>;`)}function k4(f,U){let _=[];for(let W of f.entries){if(W.tag!=="directive"||W.name!=="mixin")continue;let u=W.args,$=u&&u[0]&&u[0].target;if(!$)continue;let F=U&&U.get($);if(F&&F.descriptor.kind==="mixin")_.push($)}return _}function i4(f,U){let _=[];for(let W of f.entries){if(W.tag!=="directive")continue;let u=W.args;if(!u||!u[0])continue;let $=u[0].target;if(!$)continue;let F=u[0].optional===!0,Y=$[0].toLowerCase()+$.slice(1),Z=`${$}Instance`,G=U&&U.has($);if(W.name==="belongs_to"){let Q=G?F?`${Z} | null`:`${Z} | null`:"unknown";_.push(`${Y}(): Promise<${Q}>`)}else if(W.name==="has_one"||W.name==="one"){let Q=G?`${Z} | null`:"unknown";_.push(`${Y}(): Promise<${Q}>`)}else if(W.name==="has_many"||W.name==="many"){let Q=G?`${Z}[]`:"unknown[]",z=d4(Y);_.push(`${z}(): Promise<${Q}>`)}}return _}function d4(f){let U=f.toLowerCase();if(/[^aeiouy]y$/i.test(f))return f.slice(0,-1)+"ies";if(/(s|x|z|ch|sh)$/i.test(f))return f+"es";return f+"s"}function g2(f){let U=[];for(let _ of f.entries){if(_.tag!=="field")continue;let u=_.modifiers.includes("!")?"":"?";U.push(`${_.name}${u}: ${l4(_)}`)}return U}if(typeof globalThis<"u"&&!globalThis.__ripSchema)try{(0,eval)(l2)}catch{}var p4=["type __RipElementMap = HTMLElementTagNameMap & Omit<SVGElementTagNameMap, keyof HTMLElementTagNameMap>;","type __RipTag = keyof __RipElementMap;","type __RipBrowserElement = Omit<HTMLElement, 'querySelector' | 'querySelectorAll' | 'closest' | 'setAttribute' | 'hidden'> & { hidden: boolean | 'until-found'; setAttribute(qualifiedName: string, value: any): void; querySelector(selectors: string): __RipBrowserElement | null; querySelectorAll(selectors: string): NodeListOf<__RipBrowserElement>; closest(selectors: string): __RipBrowserElement | null; };","type __RipDomEl<K extends __RipTag> = Omit<__RipElementMap[K], 'querySelector' | 'querySelectorAll' | 'closest' | 'setAttribute' | 'hidden'> & __RipBrowserElement;","type __RipAttrKeys<T> = { [K in keyof T]-?: K extends 'style' | 'classList' | 'className' | 'nodeValue' | 'textContent' | 'innerHTML' | 'innerText' | 'outerHTML' | 'outerText' | 'scrollLeft' | 'scrollTop' ? never : K extends `on${string}` | `aria${string}Element` | `aria${string}Elements` ? never : T[K] extends (...args: any[]) => any ? never : (<V>() => V extends Pick<T, K> ? 1 : 2) extends (<V>() => V extends { -readonly [P in K]: T[P] } ? 1 : 2) ? K : never }[keyof T] & string;","type __RipEvents = { [K in keyof HTMLElementEventMap as `@${K}`]?: ((event: HTMLElementEventMap[K]) => void) | null };","type __RipClassValue = string | boolean | null | undefined | Record<string, boolean> | __RipClassValue[];","type __RipProps<K extends __RipTag> = { [P in __RipAttrKeys<__RipElementMap[K]>]?: __RipElementMap[K][P] } & __RipEvents & { ref?: string; class?: __RipClassValue | __RipClassValue[]; style?: string; [k: `data-${string}`]: any; [k: `aria-${string}`]: any };"];var n4=["type __RipAriaNavHandlers = { next?: () => void; prev?: () => void; first?: () => void; last?: () => void; select?: () => void; dismiss?: () => void; tab?: () => void; char?: () => void; };","declare const ARIA: {"," bindPopover(open: boolean, popover: () => Element | null | undefined, setOpen: (isOpen: boolean) => void, source?: (() => Element | null | undefined) | null): void;"," bindDialog(open: boolean, dialog: () => Element | null | undefined, setOpen: (isOpen: boolean) => void, dismissable?: boolean): void;"," popupDismiss(open: boolean, popup: () => Element | null | undefined, close: () => void, els?: Array<() => Element | null | undefined>, repos?: (() => void) | null): void;"," popupGuard(delay?: number): any;"," listNav(event: KeyboardEvent, handlers: __RipAriaNavHandlers): void;"," rovingNav(event: KeyboardEvent, handlers: __RipAriaNavHandlers, orientation?: 'vertical' | 'horizontal' | 'both'): void;"," positionBelow(trigger: Element | null | undefined, popup: Element | null | undefined, gap?: number, setVisible?: boolean): void;"," position(trigger: Element | null | undefined, floating: Element | null | undefined, opts?: any): void;"," trapFocus(panel: Element | null | undefined): void;"," wireAria(panel: Element, id: string): void;"," lockScroll(instance: any): void;"," unlockScroll(instance: any): void;"," hasAnchor: boolean;"," [key: string]: any;","};"],a4="interface Signal<T> { value: T; read(): T; lock(): Signal<T>; free(): Signal<T>; kill(): T; }",o4="declare function __state<T>(value: T | Signal<T>): Signal<T>;",r4="interface Computed<T> { readonly value: T; read(): T; lock(): Computed<T>; free(): Computed<T>; kill(): T; }",s4="declare function __computed<T>(fn: () => T): Computed<T>;",t4="declare function __effect(fn: () => void | (() => void)): () => void;";function p2(f){let U=f.prototype;U.rewriteTypes=function(){let _=this.tokens,W=this.typeRefNames=new Set,u=($,F,Y)=>{let Z=[$,F];if(Z.pre=0,Z.data=null,Z.loc=Y?.loc??{r:0,c:0,n:0},Z.spaced=!1,Z.newLine=!1,Z.generated=!0,Y)Z.origin=Y;return Z};this.scanTokens(($,F,Y)=>{let Z=$[0];if(Z==="IDENTIFIER"){let G=Y[F+1];if(G&&G[0]==="COMPARE"&&G[1]==="<"&&!G.spaced){let Q=Y[F-1]?.[0]==="DEF",z=d2(Y,F+1);if(z){let A=F+1+z.length,J=!Q&&Y[A]?.[0]==="="&&Y[A+1]?.[0]==="COMPONENT";if(Q||J){if(!$.data)$.data={};if($.data.typeParams=M1(z),Y.splice(F+1,z.length),Q&&Y[F+1]?.[0]==="("){Y[F+1][0]="CALL_START";let K=1,D=F+2;while(D<Y.length&&K>0){if(Y[D][0]==="("||Y[D][0]==="CALL_START")K++;if(Y[D][0]===")"||Y[D][0]==="CALL_END")K--;if(K===0)Y[D][0]="CALL_END";D++}}}}}}if(Z==="TYPE_ANNOTATION"){let G=Y[F-1];if(!G)return 1;let Q=i2(Y,F+1),z=M1(Q),A=G,J="type";if(G[0]==="CALL_END"||G[0]===")"){let D=1,w=F-2;while(w>=0&&D>0){let X=Y[w][0];if(X==="CALL_END"||X===")")D++;if(X==="CALL_START"||X==="(")D--;w--}if(w>=0)A=Y[w];J="returnType"}else if(G[0]==="PARAM_END"){let D=F+1+Q.consumed,w=Y[D];if(w&&(w[0]==="->"||w[0]==="=>"))A=w;J="returnType"}else if(G[0]==="IDENTIFIER"&&F>=2&&Y[F-2]?.[0]==="DEF")J="returnType";if(!A.data)A.data={};A.data[J]=z;for(let D of Q)if(D[0]==="IDENTIFIER")W.add(D[1]);let K=1+Q.consumed;return Y.splice(F,K),0}if(Z==="IDENTIFIER"&&$[1]==="type"){let G=Y[F-1]?.[0];if(!(!G||G==="TERMINATOR"||G==="INDENT"||G==="EXPORT"))return 1;let z=F+1,A=Y[z];if(!A||A[0]!=="IDENTIFIER")return 1;let J=A[1],K=G==="EXPORT",D=K?F-1:F,w=z+1;if(Y[w]?.[0]==="COMPARE"&&Y[w]?.[1]==="<"&&!Y[w].spaced){let R=d2(Y,w);if(R){if(!A.data)A.data={};A.data.typeParams=M1(R),Y.splice(w,R.length)}}if(Y[w]?.[0]!=="=")return 1;let X=(R)=>{let S=u("TYPE_DECL",J,A);if(S.data={name:J,typeText:R,exported:K},A.data?.typeParams)S.data.typeParams=A.data.typeParams;return S},H=w+1,q=Y[H];if(q&&(q[0]==="TERMINATOR"||q[0]==="INDENT")){let R=e4(Y,H);if(R)return Y.splice(D,R.endIdx-D+1,X(R.typeText)),0}if(q&&q[0]==="INDENT"){let R=A2(Y,H);return Y.splice(D,R-D+1,X(z2(Y,H))),0}let B=i2(Y,H);return Y.splice(D,H+B.consumed-D,X(M1(B))),0}if(Z==="INTERFACE"){let G=F>=1&&Y[F-1]?.[0]==="EXPORT",Q=F+1,z=Y[Q];if(!z)return 1;let A=z[1],J=null,K=Q+1;if(Y[K]?.[0]==="EXTENDS")J=Y[K+1]?.[1],K=K+2;if(Y[K]?.[0]==="INDENT"){let D=z2(Y,K),w=A2(Y,K),X=u("TYPE_DECL",A,z);X.data={name:A,kind:"interface",extends:J,typeText:D,exported:G};let H=G?F-1:F,q=w-H+1;return Y.splice(H,q,X),0}return 1}return 1});for(let $=_.length-1;$>=0;$--){if(_[$][0]!=="DEF")continue;let F=_[$+1];if(!F||F[0]!=="IDENTIFIER")continue;let Y=$+2;if(_[Y]?.[0]!=="CALL_START")continue;let Z=1;Y++;while(Y<_.length&&Z>0){if(_[Y][0]==="CALL_START")Z++;if(_[Y][0]==="CALL_END")Z--;Y++}let G=Y-1,Q=_[Y];if(Q&&Q[0]!=="TERMINATOR")continue;let z=F.data?.returnType;if(!z){for(let X=$+2;X<=G;X++)if(_[X].data?.type){z=!0;break}}if(!z)continue;let A=_.slice($,Y+1),J=$>=1&&_[$-1]?.[0]==="EXPORT",K=J?$-1:$,D=Y+1-K,w=u("TYPE_DECL",F[1],F);if(w.data={name:F[1],kind:"overload",overloadTokens:A,exported:J},F.data?.typeParams)w.data.typeParams=F.data.typeParams;_.splice(K,D,w)}}}function i2(f,U){let _=[],W=0,u=U;while(U<f.length){let $=f[U],F=$[0],Y=F==="("||F==="["||F==="{"||F==="CALL_START"||F==="PARAM_START"||F==="INDEX_START"||F==="COMPARE"&&$[1]==="<",Z=F===")"||F==="]"||F==="}"||F==="CALL_END"||F==="PARAM_END"||F==="INDEX_END"||F==="COMPARE"&&$[1]===">";if(F==="SHIFT"&&$[1]===">>"&&W>=2){W-=2,_.push($),U++;continue}if(Y){W++,_.push($),U++;continue}if(Z){if(W>0){W--,_.push($),U++;continue}break}if(W===0){if(F==="INDENT"&&_.length>0&&_[_.length-1][0]==="=>"){U++;let G=1;while(U<f.length&&G>0)if(f[U][0]==="INDENT")G++,U++;else if(f[U][0]==="OUTDENT")G--,U++;else _.push(f[U]),U++;continue}if(F==="="||F==="REACTIVE_ASSIGN"||F==="COMPUTED_ASSIGN"||F==="READONLY_ASSIGN"||F==="EFFECT"||F==="TERMINATOR"||F==="INDENT"||F==="OUTDENT"||F==="->"||F===",")break}_.push($),U++}return _.consumed=U-u,_}function M1(f){if(f.length===0)return"";if(f[0]?.[0]==="=>")f.unshift(["","()"]);let U=f.map((_)=>_[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 d2(f,U){if(U>=f.length)return null;let _=f[U];if(_[0]!=="COMPARE"||_[1]!=="<")return null;let W=[_],u=1,$=U+1;while($<f.length&&u>0){let F=f[$];if(W.push(F),F[0]==="COMPARE"&&F[1]==="<")u++;else if(F[0]==="COMPARE"&&F[1]===">")u--;$++}return u===0?W:null}function z2(f,U){let _=[],W=U+1,u=1;while(W<f.length&&u>0){let $=f[W];if($[0]==="INDENT"){u++,W++;continue}if($[0]==="OUTDENT"){if(u--,u===0)break;W++;continue}if($[0]==="TERMINATOR"){W++;continue}if(u===1&&$[0]==="["){let Y=[];W++;while(W<f.length&&f[W][0]!=="]")Y.push(f[W]),W++;if(W++,f[W]?.[1]===":"||f[W]?.[0]==="TYPE_ANNOTATION")W++;let Z=[];while(W<f.length){let z=f[W];if(z[0]==="TERMINATOR"||z[0]==="OUTDENT")break;Z.push(z),W++}let G=M1(Y),Q=M1(Z);_.push(`[${G}]: ${Q}`);continue}let F=$[0]==="PROPERTY"||$[0]==="IDENTIFIER"||u===1&&/^[a-zA-Z_$]/.test($[1])&&f[W+1]?.[0]==="TYPE_ANNOTATION";if(u===1&&F){let Y=$[1],Z=!1,G=!1;if(W++,Y==="readonly"&&f[W]&&(f[W][0]==="PROPERTY"||f[W][0]==="IDENTIFIER"||/^[a-zA-Z_$]/.test(f[W][1])&&f[W+1]?.[0]==="TYPE_ANNOTATION")){if(G=!0,Y=f[W][1],f[W].data?.predicate)Z=!0;W++}if($.data?.predicate)Z=!0;if(f[W]?.[1]==="?"&&!f[W]?.spaced)Z=!0,W++;if(f[W]?.[1]===":"||f[W]?.[0]==="TYPE_ANNOTATION")W++;let Q=[],z=0;while(W<f.length){let D=f[W];if(D[0]==="IDENTIFIER"&&D[1]==="type"&&f[W+1]?.[0]==="INDENT"){W++;let w=z2(f,W);Q.push(["",w]);let X=1;W++;while(W<f.length&&X>0){if(f[W][0]==="INDENT")X++;if(f[W][0]==="OUTDENT")X--;W++}continue}if(D[0]==="INDENT"){z++,W++;continue}if(D[0]==="OUTDENT"){if(z>0){z--,W++;continue}break}if(D[0]==="TERMINATOR"&&z===0)break;Q.push(D),W++}let A=M1(Q),J=G?"readonly ":"",K=Z?"?":"";_.push(`${J}${Y}${K}: ${A}`)}else W++}return"{ "+_.join("; ")+" }"}function A2(f,U){let _=0;for(let W=U;W<f.length;W++){if(f[W][0]==="INDENT")_++;if(f[W][0]==="OUTDENT"){if(_--,_===0)return W}}return f.length-1}function e4(f,U){let _=U;if(f[_]?.[0]==="TERMINATOR")_++;if(f[_]?.[0]!=="INDENT")return null;let W=_;_++;while(_<f.length&&f[_][0]==="TERMINATOR")_++;if(!f[_]||f[_][1]!=="|")return null;let u=[],$=1;_=W+1;while(_<f.length&&$>0){let Y=f[_];if(Y[0]==="INDENT"){$++,_++;continue}if(Y[0]==="OUTDENT"){if($--,$===0)break;_++;continue}if(Y[0]==="TERMINATOR"){_++;continue}if(Y[1]==="|"&&$===1){_++;let Z=[];while(_<f.length){let G=f[_];if(G[0]==="TERMINATOR"||G[0]==="OUTDENT"||G[1]==="|"&&$===1)break;Z.push(G),_++}if(Z.length>0)u.push(M1(Z));continue}_++}if(u.length===0)return null;let F=A2(f,W);return{typeText:u.join(" | "),endIdx:F}}function X2(f,U=null,_=""){let W=[],u=0,$=" ",F=()=>$.repeat(u),Y=!1,Z=new Set,G=!1,Q=!1,z=!1,A=typeof _==="string"?_.split(`
1299
- `):[];for(let R=0;R<f.length;R++){let S=f[R][0];if(S==="REACTIVE_ASSIGN")G=!0;else if(S==="COMPUTED_ASSIGN")Q=!0}let J=(R,S,O)=>{if(S.startsWith("{ ")&&S.endsWith(" }")){let P=0,M=-1;for(let I=0;I<S.length;I++)if(S[I]==="{")P++;else if(S[I]==="}"){if(P--,P===0){M=I;break}}if(M===S.length-1){let I=S.slice(2,-2),L=[],V=0,N=0;for(let C=0;C<I.length;C++)if(I[C]==="{")N++;else if(I[C]==="}")N--;else if(N===0&&I[C]===";"&&I[C+1]===" ")L.push(I.slice(V,C)),V=C+2;if(V<I.length)L.push(I.slice(V));if(L=L.filter((C)=>C.trim()),L.length>0){W.push(`${F()}${R}{`),u++;for(let C of L)W.push(`${F()}${C};`);u--,W.push(`${F()}}${O}`);return}}}W.push(`${F()}${R}${S}${O}`)},K=(R,S)=>{S++;let O=0;while(S<R.length){let P=R[S];if(P[0]==="("||P[0]==="["||P[0]==="{")O++;if(P[0]===")"||P[0]==="]"||P[0]==="}"){if(O===0)break;O--}if(O===0&&P[1]===",")break;S++}return S},D=(R,S)=>{let O=[],P=!1,M=S+1,I=1;while(M<R.length&&I>0){if(R[M][0]==="{")I++;if(R[M][0]==="}")I--;if(I<=0){M++;break}if(R[M][0]==="..."||R[M][0]==="SPREAD"){if(M++,R[M]?.[0]==="IDENTIFIER")O.push({kind:"rest",propName:R[M][1]}),M++;continue}if(R[M][0]==="PROPERTY"&&R[M+1]?.[0]===":"){let N=R[M][1];if(M+=2,R[M]?.[0]==="{"){let C=D(R,M);if(C.hasAnyType)P=!0;O.push({kind:"nested-obj",propName:N,inner:C}),M=C.endJ;continue}if(R[M]?.[0]==="["){let C=w(R,M);if(C.hasAnyType)P=!0;O.push({kind:"nested-arr",propName:N,inner:C}),M=C.endJ;continue}if(R[M]?.[0]==="IDENTIFIER"){let C=R[M][1],E=R[M].data?.type;if(E)P=!0;let l=R[M+1]?.[0]==="=";if(O.push({kind:"rename",propName:N,localName:C,type:E?_1(E):null,hasDefault:l}),M++,l)M=K(R,M)}continue}if(R[M][0]==="IDENTIFIER"){let N=R[M][1],C=R[M].data?.type;if(C)P=!0;let E=R[M+1]?.[0]==="=";if(O.push({kind:"simple",propName:N,type:C?_1(C):null,hasDefault:E}),M++,E)M=K(R,M);continue}M++}let L=[],V=[];for(let N of O)if(N.kind==="rest")L.push(`...${N.propName}`),V.push("[key: string]: unknown");else if(N.kind==="nested-obj"||N.kind==="nested-arr")L.push(`${N.propName}: ${N.inner.patternStr}`),V.push(`${N.propName}: ${N.inner.typeStr}`);else if(N.kind==="rename")L.push(`${N.propName}: ${N.localName}`),V.push(`${N.propName}${N.hasDefault?"?":""}: ${N.type||"any"}`);else L.push(N.propName),V.push(`${N.propName}${N.hasDefault?"?":""}: ${N.type||"any"}`);return{patternStr:`{${L.join(", ")}}`,typeStr:`{${V.join(", ")}}`,endJ:M,hasAnyType:P}},w=(R,S)=>{let O=[],P=[],M=!1,I=S+1,L=1;while(I<R.length&&L>0){if(R[I][0]==="[")L++;if(R[I][0]==="]")L--;if(L>0&&R[I][0]==="IDENTIFIER"){let V=R[I][1],N=R[I].data?.type;if(O.push(V),P.push(N?_1(N):null),N)M=!0}I++}return{patternStr:`[${O.join(", ")}]`,typeStr:`[${P.map((V)=>V||"any").join(", ")}]`,endJ:I,hasAnyType:M}},X=(R,S)=>{let O=[],P=[],M=S,I=R[M]?.[0];if(I!=="CALL_START"&&I!=="PARAM_START")return{params:O,fields:P,endIdx:M};let L=I==="CALL_START"?"CALL_END":"PARAM_END";M++;let V=0;while(M<R.length&&!(R[M][0]===L&&V===0)){let N=R[M];if(N[1]===","&&V===0){M++;continue}if(N[0]==="{"||N[0]==="["||N[0]==="CALL_START"||N[0]==="PARAM_START"||N[0]==="INDEX_START")V++;if(N[0]==="}"||N[0]==="]"||N[0]==="CALL_END"||N[0]==="PARAM_END"||N[0]==="INDEX_END"){V--,M++;continue}if(N[0]==="@"){if(M++,R[M]?.[0]==="PROPERTY"||R[M]?.[0]==="IDENTIFIER"){let C=R[M][1],E=R[M].data?.type;if(O.push(E?`${C}: ${_1(E)}`:C),E)P.push({name:C,type:_1(E)});M++}continue}if(N[0]==="SPREAD"||N[1]==="..."){if(M++,R[M]?.[0]==="IDENTIFIER"){let C=R[M][1],E=R[M].data?.type;O.push(E?`...${C}: ${_1(E)}`:`...${C}: any[]`),M++}continue}if(N[0]==="{"){V--;let C=D(R,M);if(M=C.endJ,C.hasAnyType)O.push(`${C.patternStr}: ${C.typeStr}`);else O.push(C.patternStr);continue}if(N[0]==="["){V--;let C=w(R,M);if(M=C.endJ,C.hasAnyType)O.push(`${C.patternStr}: ${C.typeStr}`);else O.push(C.patternStr);continue}if(N[0]==="IDENTIFIER"){let C=N[1],E=N.data?.type,l=!1;if(R[M+1]?.[0]==="=")l=!0;let T=l||N.data?.predicate;if(E)O.push(`${C}${T?"?":""}: ${_1(E)}`);else O.push(C);if(M++,l){M++;let j=0;while(M<R.length){let b=R[M];if(b[0]==="("||b[0]==="["||b[0]==="{")j++;if(b[0]===")"||b[0]==="]"||b[0]==="}")j--;if(j===0&&(b[1]===","||b[0]==="CALL_END"))break;M++}}continue}M++}return{params:O,fields:P,endIdx:M}};for(let R=0;R<f.length;R++){let S=f[R],O=S[0],P=!1;if(O==="EXPORT"){if(P=!0,R++,R>=f.length)break;if(S=f[R],O=S[0],O==="DEFAULT"){if(R++,R>=f.length)break;if(S=f[R],O=S[0],O==="IDENTIFIER")W.push(`${F()}export default ${S[1]};`);continue}}if(O==="IMPORT"){let M=[],I=R+1;while(I<f.length&&f[I][0]!=="TERMINATOR")M.push(f[I]),I++;let L="import "+M.map((V)=>V[1]).join(" ");L=L.replace(/\s+/g," ").replace(/\s*,\s*/g,", ").replace(/\{\s*/g,"{ ").replace(/\s*\}/g," }").trim(),W.push(`${F()}${L};`),R=I;continue}if(O==="TYPE_DECL"){let M=S.data;if(!M)continue;let I=P||M.exported?"export ":"",L=M.typeParams||"";if(M.kind==="overload"){let V=M.overloadTokens,N=V[1],{params:C}=X(V,2),E=N.data?.returnType,l=E?`: ${_1(E)}`:"",T=Y?"":I?"":"declare ",j=M.typeParams||"";if(Y)W.push(`${F()}${M.name}${j}(${C.join(", ")})${l};`);else W.push(`${F()}${I}${T}function ${M.name}${j}(${C.join(", ")})${l};`)}else if(M.kind==="interface"){let V=M.extends?` extends ${M.extends}`:"";J(`${I}interface ${M.name}${L}${V} `,M.typeText||"{}","")}else{let V=_1(M.typeText||"");J(`${I}type ${M.name}${L} = `,V,";")}continue}if(O==="ENUM"){let M=P?"export ":"",I=f[R+1];if(!I)continue;let L=I[1],V=R+2;if(f[V]?.[0]==="INDENT"){W.push(`${F()}${M}enum ${L} {`),u++,V++;let N=[];while(V<f.length&&f[V][0]!=="OUTDENT"){if(f[V][0]==="TERMINATOR"){V++;continue}if(f[V][0]==="IDENTIFIER"){let C=f[V][1];if(V++,f[V]?.[1]==="="){V++;let E=f[V]?.[1];N.push(`${C} = ${E}`),V++}else N.push(C)}else V++}for(let C=0;C<N.length;C++){let E=C<N.length-1?",":"";W.push(`${F()}${N[C]}${E}`)}u--,W.push(`${F()}}`)}continue}if(O==="CLASS"){let M=P?"export ":"",I=f[R+1];if(!I)continue;let L=I[1],V="",N=R+2;if(f[N]?.[0]==="EXTENDS")V=` extends ${f[N+1]?.[1]||""}`,N+=2;if(f[N]?.[0]==="INDENT"){let C=!1,E=N+1;while(E<f.length&&f[E][0]!=="OUTDENT"){if(f[E].data?.type||f[E].data?.returnType){C=!0;break}E++}if(C)W.push(`${F()}${M}declare class ${L}${V} {`),Y=!0,Z.clear(),u++}continue}if(O==="DEF"){let M=f[R+1];if(!M)continue;let I=M[1],L=M.data?.returnType;if(!L&&M.data?.await===!0)L="void";let V=M.data?.typeParams||"",{params:N,endIdx:C}=X(f,R+2);if(L||N.some((E)=>E.includes(":"))){let E=P?"export ":"",l=Y?"":P?"":"declare ",T=L?`: ${_1(L)}`:"",j=N.join(", ");if(Y)W.push(`${F()}${I}${V}(${j})${T};`);else W.push(`${F()}${E}${l}function ${I}${V}(${j})${T};`)}R=C;continue}if(O==="{"&&Y){let M=R+1,I=1;while(M<f.length&&I>0){let L=f[M];if(L[0]==="{"){I++,M++;continue}if(L[0]==="}"){I--,M++;continue}if(L[0]==="TERMINATOR"){M++;continue}if(L[0]==="PROPERTY"&&I===1){let V=L[1],N=L.data?.returnType;if(M++,f[M]?.[1]===":")M++;let C=[],E=[];if(f[M]?.[0]==="PARAM_START"){let l=X(f,M);C=l.params,E=l.fields,M=l.endIdx+1}if(f[M]?.[0]==="->"||f[M]?.[0]==="=>")M++;if(f[M]?.[0]==="INDENT"){let l=1;M++;while(M<f.length&&l>0){if(f[M][0]==="INDENT")l++;if(f[M][0]==="OUTDENT")l--;M++}}if(N||C.some((l)=>l.includes(":"))){let l=N?`: ${_1(N)}`:"",T=C.join(", ");if(V==="constructor"&&E.length){for(let j of E)if(!Z.has(j.name))W.push(`${F()}${j.name}: ${j.type};`),Z.add(j.name)}W.push(`${F()}${V}(${T})${l};`)}continue}M++}R=M-1;continue}if(O==="INDENT")continue;if(O==="OUTDENT"){if(Y)u--,W.push(`${F()}}`),Y=!1;continue}if(O==="IDENTIFIER"&&!Y&&f[R+1]?.[0]==="="&&(f[R+2]?.[0]==="PARAM_START"||f[R+2]?.[0]==="(")){let M=S[1],I=R+2,{params:L}=X(f,I),V=I,N=0;while(V<f.length){if(f[V][0]==="PARAM_START"||f[V][0]==="(")N++;if(f[V][0]==="PARAM_END"||f[V][0]===")")N--;if(N===0&&(f[V][0]==="->"||f[V][0]==="=>"))break;V++}let C=f[V]?.data?.returnType;if(C||L.some((E)=>E.includes(":"))){let E=P?"export ":"",l=P?"":"declare ",T=C?`: ${_1(C)}`:"",j=L.join(", ");W.push(`${F()}${E}${l}function ${M}(${j})${T};`);continue}}if(O==="IDENTIFIER"&&S.data?.type){let M=S[1],I=_1(S.data.type),L=f[R+1];if(L){let V=P?"export ":"",N=P?"":"declare ";if(L[0]==="READONLY_ASSIGN")W.push(`${F()}${V}${N}const ${M}: ${I};`);else if(L[0]==="REACTIVE_ASSIGN")G=!0,W.push(`${F()}${V}${N}const ${M}: Signal<${I}>;`);else if(L[0]==="COMPUTED_ASSIGN")Q=!0,W.push(`${F()}${V}${N}const ${M}: Computed<${I}>;`);else if(L[0]==="EFFECT")W.push(`${F()}${V}${N}const ${M}: () => void;`);else if(L[0]==="="){let C=R+2;if(f[C]?.[0]==="PARAM_START"){let l=1,T=C+1;while(T<f.length&&l>0){if(f[T][0]==="PARAM_START")l++;if(f[T][0]==="PARAM_END")l--;T++}C=T}let E=f[C];if(E&&(E[0]==="->"||E[0]==="=>")&&E.data?.returnType){let l=_1(E.data.returnType),{params:T}=X(f,R+2),j=T.join(", ");W.push(`${F()}${V}${N}function ${M}(${j}): ${l};`)}else if(Y)W.push(`${F()}${M}: ${I};`),Z.add(M);else W.push(`${F()}${V}let ${M}: ${I};`)}else if(Y)W.push(`${F()}${M}: ${I};`),Z.add(M)}else if(Y)W.push(`${F()}${M}: ${I};`)}}let H=new Set,q=!1;if(U){if(z=J2(U,W,F,u,H,A)||z,H.size>0)for(let S=W.length-1;S>=0;S--){let O=W[S].match(/(?:declare |export )*(?:const|let) (\w+)/);if(O&&H.has(O[1]))W.splice(S,1)}let R=[];if(q=k2(U,R),q){let S=new Set;for(let O of R){let P=O.match(/(?:declare |export )*const (\w+)/);if(P)S.add(P[1])}for(let O=W.length-1;O>=0;O--){let P=W[O].match(/(?:declare |export )*(?:const|let) (\w+)/);if(P&&S.has(P[1]))W.splice(O,1)}W.push(...R)}}if(W.length===0)return null;let B=[];if(z)B.push(...p4);if(/\bARIA\./.test(_))B.push(...n4);if(G)B.push(a4),B.push(o4);if(Q)B.push(r4),B.push(s4);if(G||Q)B.push(t4);if(q)B.push(...m2);if(B.length>0)B.push("");return B.concat(W).join(`
1298
+ `;function c4(){return l2.trimStart()}var m2=["interface SchemaIssue { field: string; error: string; message: string; }","type SchemaSafeResult<T> = { ok: true; value: T; errors: null } | { ok: false; value: null; errors: SchemaIssue[] };","interface Schema<Out, In = unknown> {"," parse(data: In): Out;"," safe(data: In): SchemaSafeResult<Out>;"," ok(data: unknown): boolean;"," pick<K extends keyof In>(...keys: K[]): Schema<Pick<In, K>, Pick<In, K>>;"," omit<K extends keyof In>(...keys: K[]): Schema<Omit<In, K>, Omit<In, K>>;"," partial(): Schema<Partial<In>, Partial<In>>;"," required<K extends keyof In>(...keys: K[]): Schema<Omit<In, K> & Required<Pick<In, K>>, Omit<In, K> & Required<Pick<In, K>>>;"," extend<U>(other: Schema<U>): Schema<In & U, In & U>;","}","interface SchemaQuery<T> {"," all(): Promise<T[]>;"," first(): Promise<T | null>;"," count(): Promise<number>;"," limit(n: number): SchemaQuery<T>;"," offset(n: number): SchemaQuery<T>;"," order(spec: string): SchemaQuery<T>;","}","interface ModelSchema<Instance, Data = unknown> extends Schema<Instance, Data> {"," find(id: unknown): Promise<Instance | null>;"," findMany(ids: unknown[]): Promise<Instance[]>;"," where(cond: Record<string, unknown> | string, ...params: unknown[]): SchemaQuery<Instance>;"," all(limit?: number): Promise<Instance[]>;"," first(): Promise<Instance | null>;"," count(cond?: Record<string, unknown>): Promise<number>;"," create(data: Partial<Data>): Promise<Instance>;"," toSQL(options?: { dropFirst?: boolean; header?: string; idStart?: number }): string;","}"],x4={string:"string",text:"string",email:"string",url:"string",uuid:"string",phone:"string",zip:"string",number:"number",integer:"number",boolean:"boolean",date:"Date",datetime:"Date",json:"unknown",any:"any"};function l4(f){if(f.typeName==="literal-union"&&f.literals?.length)return f.literals.map((_)=>JSON.stringify(_)).join(" | ");let U=x4[f.typeName]??f.typeName;return f.array?`${U}[]`:U}function m4(f){if(!Array.isArray(f))return null;if((f[0]?.valueOf?.()??f[0])!=="schema")return null;let _=f[1];if(!_||typeof _!=="object")return null;if(_.descriptor)return _.descriptor;if(_.data?.descriptor)return _.data.descriptor;return null}function k2(f,U){let _=[];if(Q2(f,_),!_.length)return!1;let W=new Set(_.map(($)=>$.name)),u=new Map(_.map(($)=>[$.name,$]));for(let $ of _)if($.descriptor.kind==="mixin")v2($,u,W,U);for(let $ of _)if($.descriptor.kind!=="mixin")v2($,u,W,U);return!0}function Q2(f,U){if(!Array.isArray(f))return;let _=f[0]?.valueOf?.()??f[0],W=!1,u=null;if(_==="export"&&Array.isArray(f[1])){let $=f[1];if(($[0]?.valueOf?.()??$[0])==="=")W=!0,u=$;else Q2(f[1],U)}else if(_==="=")u=f;else if(_==="program"||_==="block"){for(let $=1;$<f.length;$++)if(Array.isArray(f[$]))Q2(f[$],U)}if(u&&Array.isArray(u[2])){let $=u[1]?.valueOf?.()??u[1],F=m4(u[2]);if(typeof $==="string"&&F)U.push({name:$,descriptor:F,exported:W})}}function v2(f,U,_,W){let{name:u,descriptor:$,exported:F}=f,Y=F?"export ":"",Z=F?"":"declare ";if($.kind==="enum"){let w=[];for(let R of $.entries){if(R.tag!=="enum-member")continue;let H=R.value!==void 0?R.value:R.name;w.push(typeof H==="string"?JSON.stringify(H):String(H))}let X=w.length?w.join(" | "):"never";W.push(`${Y}type ${u} = ${X};`),W.push(`${Y}${Z}const ${u}: { parse(data: unknown): ${u}; safe(data: unknown): SchemaSafeResult<${u}>; ok(data: unknown): data is ${u}; };`);return}if($.kind==="mixin"){let w=g2($);W.push(`${Y}type ${u} = { ${w.join("; ")} };`);return}let G=g2($),Q=k4($,U),z=[],A=[];for(let w of $.entries)if(w.tag==="method")z.push(`${w.name}: (...args: any[]) => unknown`);else if(w.tag==="computed")A.push(`readonly ${w.name}: unknown`);let J=`{ ${G.join("; ")} }`,K=Q.length?`${J} & ${Q.join(" & ")}`:J;if($.kind==="model"){let w=`${u}Data`,X=`${u}Instance`,R=i4($,_),H=[...A,...z,...R,`save(): Promise<${X}>`,`destroy(): Promise<${X}>`,"ok(): boolean","errors(): SchemaIssue[]",`toJSON(): ${w}`];W.push(`${Y}type ${w} = ${K};`),W.push(`${Y}type ${X} = ${w} & { ${H.join("; ")} };`),W.push(`${Y}${Z}const ${u}: ModelSchema<${X}, ${w}>;`);return}if($.kind==="shape"){let w=`${u}Data`,X=`${u}Instance`,R=z.length+A.length>0;if(W.push(`${Y}type ${w} = ${K};`),R)W.push(`${Y}type ${X} = ${w} & { ${[...A,...z].join("; ")} };`),W.push(`${Y}${Z}const ${u}: Schema<${X}, ${w}>;`);else W.push(`${Y}${Z}const ${u}: Schema<${w}, ${w}>;`);return}let D=`${u}Value`;W.push(`${Y}type ${D} = ${K};`),W.push(`${Y}${Z}const ${u}: Schema<${D}, ${D}>;`)}function k4(f,U){let _=[];for(let W of f.entries){if(W.tag!=="directive"||W.name!=="mixin")continue;let u=W.args,$=u&&u[0]&&u[0].target;if(!$)continue;let F=U&&U.get($);if(F&&F.descriptor.kind==="mixin")_.push($)}return _}function i4(f,U){let _=[];for(let W of f.entries){if(W.tag!=="directive")continue;let u=W.args;if(!u||!u[0])continue;let $=u[0].target;if(!$)continue;let F=u[0].optional===!0,Y=$[0].toLowerCase()+$.slice(1),Z=`${$}Instance`,G=U&&U.has($);if(W.name==="belongs_to"){let Q=G?F?`${Z} | null`:`${Z} | null`:"unknown";_.push(`${Y}(): Promise<${Q}>`)}else if(W.name==="has_one"||W.name==="one"){let Q=G?`${Z} | null`:"unknown";_.push(`${Y}(): Promise<${Q}>`)}else if(W.name==="has_many"||W.name==="many"){let Q=G?`${Z}[]`:"unknown[]",z=p4(Y);_.push(`${z}(): Promise<${Q}>`)}}return _}function p4(f){let U=f.toLowerCase();if(/[^aeiouy]y$/i.test(f))return f.slice(0,-1)+"ies";if(/(s|x|z|ch|sh)$/i.test(f))return f+"es";return f+"s"}function g2(f){let U=[];for(let _ of f.entries){if(_.tag!=="field")continue;let u=_.modifiers.includes("!")?"":"?";U.push(`${_.name}${u}: ${l4(_)}`)}return U}if(typeof globalThis<"u"&&!globalThis.__ripSchema)try{(0,eval)(l2)}catch{}var d4=["type __RipElementMap = HTMLElementTagNameMap & Omit<SVGElementTagNameMap, keyof HTMLElementTagNameMap>;","type __RipTag = keyof __RipElementMap;","type __RipBrowserElement = Omit<HTMLElement, 'querySelector' | 'querySelectorAll' | 'closest' | 'setAttribute' | 'hidden'> & { hidden: boolean | 'until-found'; setAttribute(qualifiedName: string, value: any): void; querySelector(selectors: string): __RipBrowserElement | null; querySelectorAll(selectors: string): NodeListOf<__RipBrowserElement>; closest(selectors: string): __RipBrowserElement | null; };","type __RipDomEl<K extends __RipTag> = Omit<__RipElementMap[K], 'querySelector' | 'querySelectorAll' | 'closest' | 'setAttribute' | 'hidden'> & __RipBrowserElement;","type __RipAttrKeys<T> = { [K in keyof T]-?: K extends 'style' | 'classList' | 'className' | 'nodeValue' | 'textContent' | 'innerHTML' | 'innerText' | 'outerHTML' | 'outerText' | 'scrollLeft' | 'scrollTop' ? never : K extends `on${string}` | `aria${string}Element` | `aria${string}Elements` ? never : T[K] extends (...args: any[]) => any ? never : (<V>() => V extends Pick<T, K> ? 1 : 2) extends (<V>() => V extends { -readonly [P in K]: T[P] } ? 1 : 2) ? K : never }[keyof T] & string;","type __RipEvents = { [K in keyof HTMLElementEventMap as `@${K}`]?: ((event: HTMLElementEventMap[K]) => void) | null };","type __RipClassValue = string | boolean | null | undefined | Record<string, boolean> | __RipClassValue[];","type __RipProps<K extends __RipTag> = { [P in __RipAttrKeys<__RipElementMap[K]>]?: __RipElementMap[K][P] } & __RipEvents & { ref?: string; class?: __RipClassValue | __RipClassValue[]; style?: string; [k: `data-${string}`]: any; [k: `aria-${string}`]: any };"];var n4=["type __RipAriaNavHandlers = { next?: () => void; prev?: () => void; first?: () => void; last?: () => void; select?: () => void; dismiss?: () => void; tab?: () => void; char?: () => void; };","declare const ARIA: {"," bindPopover(open: boolean, popover: () => Element | null | undefined, setOpen: (isOpen: boolean) => void, source?: (() => Element | null | undefined) | null): void;"," bindDialog(open: boolean, dialog: () => Element | null | undefined, setOpen: (isOpen: boolean) => void, dismissable?: boolean): void;"," popupDismiss(open: boolean, popup: () => Element | null | undefined, close: () => void, els?: Array<() => Element | null | undefined>, repos?: (() => void) | null): void;"," popupGuard(delay?: number): any;"," listNav(event: KeyboardEvent, handlers: __RipAriaNavHandlers): void;"," rovingNav(event: KeyboardEvent, handlers: __RipAriaNavHandlers, orientation?: 'vertical' | 'horizontal' | 'both'): void;"," positionBelow(trigger: Element | null | undefined, popup: Element | null | undefined, gap?: number, setVisible?: boolean): void;"," position(trigger: Element | null | undefined, floating: Element | null | undefined, opts?: any): void;"," trapFocus(panel: Element | null | undefined): void;"," wireAria(panel: Element, id: string): void;"," lockScroll(instance: any): void;"," unlockScroll(instance: any): void;"," hasAnchor: boolean;"," [key: string]: any;","};"],a4="interface Signal<T> { value: T; read(): T; lock(): Signal<T>; free(): Signal<T>; kill(): T; }",o4="declare function __state<T>(value: T | Signal<T>): Signal<T>;",r4="interface Computed<T> { readonly value: T; read(): T; lock(): Computed<T>; free(): Computed<T>; kill(): T; }",s4="declare function __computed<T>(fn: () => T): Computed<T>;",t4="declare function __effect(fn: () => void | (() => void)): () => void;";function d2(f){let U=f.prototype;U.rewriteTypes=function(){let _=this.tokens,W=this.typeRefNames=new Set,u=($,F,Y)=>{let Z=[$,F];if(Z.pre=0,Z.data=null,Z.loc=Y?.loc??{r:0,c:0,n:0},Z.spaced=!1,Z.newLine=!1,Z.generated=!0,Y)Z.origin=Y;return Z};this.scanTokens(($,F,Y)=>{let Z=$[0];if(Z==="IDENTIFIER"){let G=Y[F+1];if(G&&G[0]==="COMPARE"&&G[1]==="<"&&!G.spaced){let Q=Y[F-1]?.[0]==="DEF",z=p2(Y,F+1);if(z){let A=F+1+z.length,J=!Q&&Y[A]?.[0]==="="&&Y[A+1]?.[0]==="COMPONENT";if(Q||J){if(!$.data)$.data={};if($.data.typeParams=M1(z),Y.splice(F+1,z.length),Q&&Y[F+1]?.[0]==="("){Y[F+1][0]="CALL_START";let K=1,D=F+2;while(D<Y.length&&K>0){if(Y[D][0]==="("||Y[D][0]==="CALL_START")K++;if(Y[D][0]===")"||Y[D][0]==="CALL_END")K--;if(K===0)Y[D][0]="CALL_END";D++}}}}}}if(Z==="TYPE_ANNOTATION"){let G=Y[F-1];if(!G)return 1;let Q=i2(Y,F+1),z=M1(Q),A=G,J="type";if(G[0]==="CALL_END"||G[0]===")"){let D=1,w=F-2;while(w>=0&&D>0){let X=Y[w][0];if(X==="CALL_END"||X===")")D++;if(X==="CALL_START"||X==="(")D--;w--}if(w>=0)A=Y[w];J="returnType"}else if(G[0]==="PARAM_END"){let D=F+1+Q.consumed,w=Y[D];if(w&&(w[0]==="->"||w[0]==="=>"))A=w;J="returnType"}else if(G[0]==="IDENTIFIER"&&F>=2&&Y[F-2]?.[0]==="DEF")J="returnType";if(!A.data)A.data={};A.data[J]=z;for(let D of Q)if(D[0]==="IDENTIFIER")W.add(D[1]);let K=1+Q.consumed;return Y.splice(F,K),0}if(Z==="IDENTIFIER"&&$[1]==="type"){let G=Y[F-1]?.[0];if(!(!G||G==="TERMINATOR"||G==="INDENT"||G==="EXPORT"))return 1;let z=F+1,A=Y[z];if(!A||A[0]!=="IDENTIFIER")return 1;let J=A[1],K=G==="EXPORT",D=K?F-1:F,w=z+1;if(Y[w]?.[0]==="COMPARE"&&Y[w]?.[1]==="<"&&!Y[w].spaced){let O=p2(Y,w);if(O){if(!A.data)A.data={};A.data.typeParams=M1(O),Y.splice(w,O.length)}}if(Y[w]?.[0]!=="=")return 1;let X=(O)=>{let I=u("TYPE_DECL",J,A);if(I.data={name:J,typeText:O,exported:K},A.data?.typeParams)I.data.typeParams=A.data.typeParams;return I},R=w+1,H=Y[R];if(H&&(H[0]==="TERMINATOR"||H[0]==="INDENT")){let O=e4(Y,R);if(O)return Y.splice(D,O.endIdx-D+1,X(O.typeText)),0}if(H&&H[0]==="INDENT"){let O=A2(Y,R);return Y.splice(D,O-D+1,X(z2(Y,R))),0}let B=i2(Y,R);return Y.splice(D,R+B.consumed-D,X(M1(B))),0}if(Z==="INTERFACE"){let G=F>=1&&Y[F-1]?.[0]==="EXPORT",Q=F+1,z=Y[Q];if(!z)return 1;let A=z[1],J=null,K=Q+1;if(Y[K]?.[0]==="EXTENDS")J=Y[K+1]?.[1],K=K+2;if(Y[K]?.[0]==="INDENT"){let D=z2(Y,K),w=A2(Y,K),X=u("TYPE_DECL",A,z);X.data={name:A,kind:"interface",extends:J,typeText:D,exported:G};let R=G?F-1:F,H=w-R+1;return Y.splice(R,H,X),0}return 1}return 1});for(let $=_.length-1;$>=0;$--){if(_[$][0]!=="DEF")continue;let F=_[$+1];if(!F||F[0]!=="IDENTIFIER")continue;let Y=$+2;if(_[Y]?.[0]!=="CALL_START")continue;let Z=1;Y++;while(Y<_.length&&Z>0){if(_[Y][0]==="CALL_START")Z++;if(_[Y][0]==="CALL_END")Z--;Y++}let G=Y-1,Q=_[Y];if(Q&&Q[0]!=="TERMINATOR")continue;let z=F.data?.returnType;if(!z){for(let X=$+2;X<=G;X++)if(_[X].data?.type){z=!0;break}}if(!z)continue;let A=_.slice($,Y+1),J=$>=1&&_[$-1]?.[0]==="EXPORT",K=J?$-1:$,D=Y+1-K,w=u("TYPE_DECL",F[1],F);if(w.data={name:F[1],kind:"overload",overloadTokens:A,exported:J},F.data?.typeParams)w.data.typeParams=F.data.typeParams;_.splice(K,D,w)}}}function i2(f,U){let _=[],W=0,u=U;while(U<f.length){let $=f[U],F=$[0],Y=F==="("||F==="["||F==="{"||F==="CALL_START"||F==="PARAM_START"||F==="INDEX_START"||F==="COMPARE"&&$[1]==="<",Z=F===")"||F==="]"||F==="}"||F==="CALL_END"||F==="PARAM_END"||F==="INDEX_END"||F==="COMPARE"&&$[1]===">";if(F==="SHIFT"&&$[1]===">>"&&W>=2){W-=2,_.push($),U++;continue}if(Y){W++,_.push($),U++;continue}if(Z){if(W>0){W--,_.push($),U++;continue}break}if(W===0){if(F==="INDENT"&&_.length>0&&_[_.length-1][0]==="=>"){U++;let G=1;while(U<f.length&&G>0)if(f[U][0]==="INDENT")G++,U++;else if(f[U][0]==="OUTDENT")G--,U++;else _.push(f[U]),U++;continue}if(F==="="||F==="REACTIVE_ASSIGN"||F==="COMPUTED_ASSIGN"||F==="READONLY_ASSIGN"||F==="EFFECT"||F==="TERMINATOR"||F==="INDENT"||F==="OUTDENT"||F==="->"||F===",")break}_.push($),U++}return _.consumed=U-u,_}function M1(f){if(f.length===0)return"";if(f[0]?.[0]==="=>")f.unshift(["","()"]);let U=f.map((_)=>_[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 p2(f,U){if(U>=f.length)return null;let _=f[U];if(_[0]!=="COMPARE"||_[1]!=="<")return null;let W=[_],u=1,$=U+1;while($<f.length&&u>0){let F=f[$];if(W.push(F),F[0]==="COMPARE"&&F[1]==="<")u++;else if(F[0]==="COMPARE"&&F[1]===">")u--;$++}return u===0?W:null}function z2(f,U){let _=[],W=U+1,u=1;while(W<f.length&&u>0){let $=f[W];if($[0]==="INDENT"){u++,W++;continue}if($[0]==="OUTDENT"){if(u--,u===0)break;W++;continue}if($[0]==="TERMINATOR"){W++;continue}if(u===1&&$[0]==="["){let Y=[];W++;while(W<f.length&&f[W][0]!=="]")Y.push(f[W]),W++;if(W++,f[W]?.[1]===":"||f[W]?.[0]==="TYPE_ANNOTATION")W++;let Z=[];while(W<f.length){let z=f[W];if(z[0]==="TERMINATOR"||z[0]==="OUTDENT")break;Z.push(z),W++}let G=M1(Y),Q=M1(Z);_.push(`[${G}]: ${Q}`);continue}let F=$[0]==="PROPERTY"||$[0]==="IDENTIFIER"||u===1&&/^[a-zA-Z_$]/.test($[1])&&f[W+1]?.[0]==="TYPE_ANNOTATION";if(u===1&&F){let Y=$[1],Z=!1,G=!1;if(W++,Y==="readonly"&&f[W]&&(f[W][0]==="PROPERTY"||f[W][0]==="IDENTIFIER"||/^[a-zA-Z_$]/.test(f[W][1])&&f[W+1]?.[0]==="TYPE_ANNOTATION")){if(G=!0,Y=f[W][1],f[W].data?.predicate)Z=!0;W++}if($.data?.predicate)Z=!0;if(f[W]?.[1]==="?"&&!f[W]?.spaced)Z=!0,W++;if(f[W]?.[1]===":"||f[W]?.[0]==="TYPE_ANNOTATION")W++;let Q=[],z=0;while(W<f.length){let D=f[W];if(D[0]==="IDENTIFIER"&&D[1]==="type"&&f[W+1]?.[0]==="INDENT"){W++;let w=z2(f,W);Q.push(["",w]);let X=1;W++;while(W<f.length&&X>0){if(f[W][0]==="INDENT")X++;if(f[W][0]==="OUTDENT")X--;W++}continue}if(D[0]==="INDENT"){z++,W++;continue}if(D[0]==="OUTDENT"){if(z>0){z--,W++;continue}break}if(D[0]==="TERMINATOR"&&z===0)break;Q.push(D),W++}let A=M1(Q),J=G?"readonly ":"",K=Z?"?":"";_.push(`${J}${Y}${K}: ${A}`)}else W++}return"{ "+_.join("; ")+" }"}function A2(f,U){let _=0;for(let W=U;W<f.length;W++){if(f[W][0]==="INDENT")_++;if(f[W][0]==="OUTDENT"){if(_--,_===0)return W}}return f.length-1}function e4(f,U){let _=U;if(f[_]?.[0]==="TERMINATOR")_++;if(f[_]?.[0]!=="INDENT")return null;let W=_;_++;while(_<f.length&&f[_][0]==="TERMINATOR")_++;if(!f[_]||f[_][1]!=="|")return null;let u=[],$=1;_=W+1;while(_<f.length&&$>0){let Y=f[_];if(Y[0]==="INDENT"){$++,_++;continue}if(Y[0]==="OUTDENT"){if($--,$===0)break;_++;continue}if(Y[0]==="TERMINATOR"){_++;continue}if(Y[1]==="|"&&$===1){_++;let Z=[];while(_<f.length){let G=f[_];if(G[0]==="TERMINATOR"||G[0]==="OUTDENT"||G[1]==="|"&&$===1)break;Z.push(G),_++}if(Z.length>0)u.push(M1(Z));continue}_++}if(u.length===0)return null;let F=A2(f,W);return{typeText:u.join(" | "),endIdx:F}}function X2(f,U=null,_=""){let W=[],u=0,$=" ",F=()=>$.repeat(u),Y=!1,Z=new Set,G=!1,Q=!1,z=!1,A=typeof _==="string"?_.split(`
1299
+ `):[];for(let O=0;O<f.length;O++){let I=f[O][0];if(I==="REACTIVE_ASSIGN")G=!0;else if(I==="COMPUTED_ASSIGN")Q=!0}let J=(O,I,q)=>{if(I.startsWith("{ ")&&I.endsWith(" }")){let P=0,M=-1;for(let S=0;S<I.length;S++)if(I[S]==="{")P++;else if(I[S]==="}"){if(P--,P===0){M=S;break}}if(M===I.length-1){let S=I.slice(2,-2),L=[],C=0,N=0;for(let V=0;V<S.length;V++)if(S[V]==="{")N++;else if(S[V]==="}")N--;else if(N===0&&S[V]===";"&&S[V+1]===" ")L.push(S.slice(C,V)),C=V+2;if(C<S.length)L.push(S.slice(C));if(L=L.filter((V)=>V.trim()),L.length>0){W.push(`${F()}${O}{`),u++;for(let V of L)W.push(`${F()}${V};`);u--,W.push(`${F()}}${q}`);return}}}W.push(`${F()}${O}${I}${q}`)},K=(O,I)=>{I++;let q=0;while(I<O.length){let P=O[I];if(P[0]==="("||P[0]==="["||P[0]==="{")q++;if(P[0]===")"||P[0]==="]"||P[0]==="}"){if(q===0)break;q--}if(q===0&&P[1]===",")break;I++}return I},D=(O,I)=>{let q=[],P=!1,M=I+1,S=1;while(M<O.length&&S>0){if(O[M][0]==="{")S++;if(O[M][0]==="}")S--;if(S<=0){M++;break}if(O[M][0]==="..."||O[M][0]==="SPREAD"){if(M++,O[M]?.[0]==="IDENTIFIER")q.push({kind:"rest",propName:O[M][1]}),M++;continue}if(O[M][0]==="PROPERTY"&&O[M+1]?.[0]===":"){let N=O[M][1];if(M+=2,O[M]?.[0]==="{"){let V=D(O,M);if(V.hasAnyType)P=!0;q.push({kind:"nested-obj",propName:N,inner:V}),M=V.endJ;continue}if(O[M]?.[0]==="["){let V=w(O,M);if(V.hasAnyType)P=!0;q.push({kind:"nested-arr",propName:N,inner:V}),M=V.endJ;continue}if(O[M]?.[0]==="IDENTIFIER"){let V=O[M][1],E=O[M].data?.type;if(E)P=!0;let m=O[M+1]?.[0]==="=";if(q.push({kind:"rename",propName:N,localName:V,type:E?_1(E):null,hasDefault:m}),M++,m)M=K(O,M)}continue}if(O[M][0]==="IDENTIFIER"){let N=O[M][1],V=O[M].data?.type;if(V)P=!0;let E=O[M+1]?.[0]==="=";if(q.push({kind:"simple",propName:N,type:V?_1(V):null,hasDefault:E}),M++,E)M=K(O,M);continue}M++}let L=[],C=[];for(let N of q)if(N.kind==="rest")L.push(`...${N.propName}`),C.push("[key: string]: unknown");else if(N.kind==="nested-obj"||N.kind==="nested-arr")L.push(`${N.propName}: ${N.inner.patternStr}`),C.push(`${N.propName}: ${N.inner.typeStr}`);else if(N.kind==="rename")L.push(`${N.propName}: ${N.localName}`),C.push(`${N.propName}${N.hasDefault?"?":""}: ${N.type||"any"}`);else L.push(N.propName),C.push(`${N.propName}${N.hasDefault?"?":""}: ${N.type||"any"}`);return{patternStr:`{${L.join(", ")}}`,typeStr:`{${C.join(", ")}}`,endJ:M,hasAnyType:P}},w=(O,I)=>{let q=[],P=[],M=!1,S=I+1,L=1;while(S<O.length&&L>0){if(O[S][0]==="[")L++;if(O[S][0]==="]")L--;if(L>0&&O[S][0]==="IDENTIFIER"){let C=O[S][1],N=O[S].data?.type;if(q.push(C),P.push(N?_1(N):null),N)M=!0}S++}return{patternStr:`[${q.join(", ")}]`,typeStr:`[${P.map((C)=>C||"any").join(", ")}]`,endJ:S,hasAnyType:M}},X=(O,I)=>{let q=[],P=[],M=I,S=O[M]?.[0];if(S!=="CALL_START"&&S!=="PARAM_START")return{params:q,fields:P,endIdx:M};let L=S==="CALL_START"?"CALL_END":"PARAM_END";M++;let C=0;while(M<O.length&&!(O[M][0]===L&&C===0)){let N=O[M];if(N[1]===","&&C===0){M++;continue}if(N[0]==="{"||N[0]==="["||N[0]==="CALL_START"||N[0]==="PARAM_START"||N[0]==="INDEX_START")C++;if(N[0]==="}"||N[0]==="]"||N[0]==="CALL_END"||N[0]==="PARAM_END"||N[0]==="INDEX_END"){C--,M++;continue}if(N[0]==="@"){if(M++,O[M]?.[0]==="PROPERTY"||O[M]?.[0]==="IDENTIFIER"){let V=O[M][1],E=O[M].data?.type;if(q.push(E?`${V}: ${_1(E)}`:V),E)P.push({name:V,type:_1(E)});M++}continue}if(N[0]==="SPREAD"||N[1]==="..."){if(M++,O[M]?.[0]==="IDENTIFIER"){let V=O[M][1],E=O[M].data?.type;q.push(E?`...${V}: ${_1(E)}`:`...${V}: any[]`),M++}continue}if(N[0]==="{"){C--;let V=D(O,M);if(M=V.endJ,V.hasAnyType)q.push(`${V.patternStr}: ${V.typeStr}`);else q.push(V.patternStr);continue}if(N[0]==="["){C--;let V=w(O,M);if(M=V.endJ,V.hasAnyType)q.push(`${V.patternStr}: ${V.typeStr}`);else q.push(V.patternStr);continue}if(N[0]==="IDENTIFIER"){let V=N[1],E=N.data?.type,m=!1;if(O[M+1]?.[0]==="=")m=!0;let T=m||N.data?.predicate;if(E)q.push(`${V}${T?"?":""}: ${_1(E)}`);else q.push(V);if(M++,m){M++;let j=0;while(M<O.length){let b=O[M];if(b[0]==="("||b[0]==="["||b[0]==="{")j++;if(b[0]===")"||b[0]==="]"||b[0]==="}")j--;if(j===0&&(b[1]===","||b[0]==="CALL_END"))break;M++}}continue}M++}return{params:q,fields:P,endIdx:M}};for(let O=0;O<f.length;O++){let I=f[O],q=I[0],P=!1;if(q==="EXPORT"){if(P=!0,O++,O>=f.length)break;if(I=f[O],q=I[0],q==="DEFAULT"){if(O++,O>=f.length)break;if(I=f[O],q=I[0],q==="IDENTIFIER")W.push(`${F()}export default ${I[1]};`);continue}}if(q==="IMPORT"){let M=[],S=O+1;while(S<f.length&&f[S][0]!=="TERMINATOR")M.push(f[S]),S++;let L="import "+M.map((C)=>C[1]).join(" ");L=L.replace(/\s+/g," ").replace(/\s*,\s*/g,", ").replace(/\{\s*/g,"{ ").replace(/\s*\}/g," }").trim(),W.push(`${F()}${L};`),O=S;continue}if(q==="TYPE_DECL"){let M=I.data;if(!M)continue;let S=P||M.exported?"export ":"",L=M.typeParams||"";if(M.kind==="overload"){let C=M.overloadTokens,N=C[1],{params:V}=X(C,2),E=N.data?.returnType,m=E?`: ${_1(E)}`:"",T=Y?"":S?"":"declare ",j=M.typeParams||"";if(Y)W.push(`${F()}${M.name}${j}(${V.join(", ")})${m};`);else W.push(`${F()}${S}${T}function ${M.name}${j}(${V.join(", ")})${m};`)}else if(M.kind==="interface"){let C=M.extends?` extends ${M.extends}`:"";J(`${S}interface ${M.name}${L}${C} `,M.typeText||"{}","")}else{let C=_1(M.typeText||"");J(`${S}type ${M.name}${L} = `,C,";")}continue}if(q==="ENUM"){let M=P?"export ":"",S=f[O+1];if(!S)continue;let L=S[1],C=O+2;if(f[C]?.[0]==="INDENT"){W.push(`${F()}${M}enum ${L} {`),u++,C++;let N=[];while(C<f.length&&f[C][0]!=="OUTDENT"){if(f[C][0]==="TERMINATOR"){C++;continue}if(f[C][0]==="IDENTIFIER"){let V=f[C][1];if(C++,f[C]?.[1]==="="){C++;let E=f[C]?.[1];N.push(`${V} = ${E}`),C++}else N.push(V)}else C++}for(let V=0;V<N.length;V++){let E=V<N.length-1?",":"";W.push(`${F()}${N[V]}${E}`)}u--,W.push(`${F()}}`)}continue}if(q==="CLASS"){let M=P?"export ":"",S=f[O+1];if(!S)continue;let L=S[1],C="",N=O+2;if(f[N]?.[0]==="EXTENDS")C=` extends ${f[N+1]?.[1]||""}`,N+=2;if(f[N]?.[0]==="INDENT"){let V=!1,E=N+1;while(E<f.length&&f[E][0]!=="OUTDENT"){if(f[E].data?.type||f[E].data?.returnType){V=!0;break}E++}if(V)W.push(`${F()}${M}declare class ${L}${C} {`),Y=!0,Z.clear(),u++}continue}if(q==="DEF"){let M=f[O+1];if(!M)continue;let S=M[1],L=M.data?.returnType;if(!L&&M.data?.await===!0)L="void";let C=M.data?.typeParams||"",{params:N,endIdx:V}=X(f,O+2);if(L||N.some((E)=>E.includes(":"))){let E=P?"export ":"",m=Y?"":P?"":"declare ",T=L?`: ${_1(L)}`:"",j=N.join(", ");if(Y)W.push(`${F()}${S}${C}(${j})${T};`);else W.push(`${F()}${E}${m}function ${S}${C}(${j})${T};`)}O=V;continue}if(q==="{"&&Y){let M=O+1,S=1;while(M<f.length&&S>0){let L=f[M];if(L[0]==="{"){S++,M++;continue}if(L[0]==="}"){S--,M++;continue}if(L[0]==="TERMINATOR"){M++;continue}if(L[0]==="PROPERTY"&&S===1){let C=L[1],N=L.data?.returnType;if(M++,f[M]?.[1]===":")M++;let V=[],E=[];if(f[M]?.[0]==="PARAM_START"){let m=X(f,M);V=m.params,E=m.fields,M=m.endIdx+1}if(f[M]?.[0]==="->"||f[M]?.[0]==="=>")M++;if(f[M]?.[0]==="INDENT"){let m=1;M++;while(M<f.length&&m>0){if(f[M][0]==="INDENT")m++;if(f[M][0]==="OUTDENT")m--;M++}}if(N||V.some((m)=>m.includes(":"))){let m=N?`: ${_1(N)}`:"",T=V.join(", ");if(C==="constructor"&&E.length){for(let j of E)if(!Z.has(j.name))W.push(`${F()}${j.name}: ${j.type};`),Z.add(j.name)}W.push(`${F()}${C}(${T})${m};`)}continue}M++}O=M-1;continue}if(q==="INDENT")continue;if(q==="OUTDENT"){if(Y)u--,W.push(`${F()}}`),Y=!1;continue}if(q==="IDENTIFIER"&&!Y&&f[O+1]?.[0]==="="&&(f[O+2]?.[0]==="PARAM_START"||f[O+2]?.[0]==="(")){let M=I[1],S=O+2,{params:L}=X(f,S),C=S,N=0;while(C<f.length){if(f[C][0]==="PARAM_START"||f[C][0]==="(")N++;if(f[C][0]==="PARAM_END"||f[C][0]===")")N--;if(N===0&&(f[C][0]==="->"||f[C][0]==="=>"))break;C++}let V=f[C]?.data?.returnType;if(V||L.some((E)=>E.includes(":"))){let E=P?"export ":"",m=P?"":"declare ",T=V?`: ${_1(V)}`:"",j=L.join(", ");W.push(`${F()}${E}${m}function ${M}(${j})${T};`);continue}}if(q==="IDENTIFIER"&&I.data?.type){let M=I[1],S=_1(I.data.type),L=f[O+1];if(L){let C=P?"export ":"",N=P?"":"declare ";if(L[0]==="READONLY_ASSIGN")W.push(`${F()}${C}${N}const ${M}: ${S};`);else if(L[0]==="REACTIVE_ASSIGN")G=!0,W.push(`${F()}${C}${N}const ${M}: Signal<${S}>;`);else if(L[0]==="COMPUTED_ASSIGN")Q=!0,W.push(`${F()}${C}${N}const ${M}: Computed<${S}>;`);else if(L[0]==="EFFECT")W.push(`${F()}${C}${N}const ${M}: () => void;`);else if(L[0]==="="){let V=O+2;if(f[V]?.[0]==="PARAM_START"){let m=1,T=V+1;while(T<f.length&&m>0){if(f[T][0]==="PARAM_START")m++;if(f[T][0]==="PARAM_END")m--;T++}V=T}let E=f[V];if(E&&(E[0]==="->"||E[0]==="=>")&&E.data?.returnType){let m=_1(E.data.returnType),{params:T}=X(f,O+2),j=T.join(", ");W.push(`${F()}${C}${N}function ${M}(${j}): ${m};`)}else if(Y)W.push(`${F()}${M}: ${S};`),Z.add(M);else W.push(`${F()}${C}let ${M}: ${S};`)}else if(Y)W.push(`${F()}${M}: ${S};`),Z.add(M)}else if(Y)W.push(`${F()}${M}: ${S};`)}}let R=new Set,H=!1;if(U){if(z=J2(U,W,F,u,R,A)||z,R.size>0)for(let I=W.length-1;I>=0;I--){let q=W[I].match(/(?:declare |export )*(?:const|let) (\w+)/);if(q&&R.has(q[1]))W.splice(I,1)}let O=[];if(H=k2(U,O),H){let I=new Set;for(let q of O){let P=q.match(/(?:declare |export )*const (\w+)/);if(P)I.add(P[1])}for(let q=W.length-1;q>=0;q--){let P=W[q].match(/(?:declare |export )*(?:const|let) (\w+)/);if(P&&I.has(P[1]))W.splice(q,1)}W.push(...O)}}if(W.length===0)return null;let B=[];if(z)B.push(...d4);if(/\bARIA\./.test(_))B.push(...n4);if(G)B.push(a4),B.push(o4);if(Q)B.push(r4),B.push(s4);if(G||Q)B.push(t4);if(H)B.push(...m2);if(B.length>0)B.push("");return B.concat(W).join(`
1300
1300
  `)+`
1301
- `}function _1(f){if(!f)return f;return f=f.replace(/::/g,":"),f=f.replace(/(\w+(?:<[^>]+>)?)\?\?/g,"$1 | null | undefined"),f=f.replace(/(\w+(?:<[^>]+>)?)\?(?![.:])/g,"$1 | undefined"),f=f.replace(/(\w+(?:<[^>]+>)?)\!/g,"NonNullable<$1>"),f}function J2(f,U,_,W,u,$){if(!Array.isArray(f))return!1;let F=f[0]?.valueOf?.()??f[0],Y=!1,Z=new Map,G=(D)=>typeof D==="string"&&/^[a-z]/.test(D),Q=(D)=>{if(!Array.isArray(D))return;let w=D[0]?.valueOf?.()??D[0];if(G(w))for(let X=1;X<D.length;X++){let H=D[X];if(!Array.isArray(H))continue;if((H[0]?.valueOf?.()??H[0])!=="object")continue;for(let B=1;B<H.length;B++){let R=H[B];if(!Array.isArray(R))continue;if((R[0]?.valueOf?.()??R[0])!=="ref")continue;let O=R[1]?.valueOf?.()??R[1];if(typeof O==="string")O=O.replace(/^["']|["']$/g,"");if(typeof O==="string"&&!Z.has(O))Z.set(O,`__RipDomEl<'${w}'> | null`)}}for(let X=1;X<D.length;X++)if(Array.isArray(D[X]))Q(D[X])},z=!1,A=null,J=null,K="";if(F==="export"&&Array.isArray(f[1])){z=!0;let D=f[1];if((D[0]?.valueOf?.()??D[0])==="="&&Array.isArray(D[2])&&(D[2][0]?.valueOf?.()??D[2][0])==="component")K=D[1]?.typeParams||"",A=D[1]?.valueOf?.()??D[1],J=D[2]}else if(F==="="&&Array.isArray(f[2])&&(f[2][0]?.valueOf?.()??f[2][0])==="component")K=f[1]?.typeParams||"",A=f[1]?.valueOf?.()??f[1],J=f[2];if(A&&J){let D=z?"export ":"",w=J[1]?.valueOf?.()??null,X=w?`__RipProps<'${w}'>`:null;if(X)Y=!0;let H=J[2],q=Array.isArray(H)&&(H[0]?.valueOf?.()??H[0])==="block"?H.slice(1):H?[H]:[],B=[],R=[],S=!1,O=(P)=>{let M=P?.valueOf?.()??P;if(typeof M!=="string")return null;if(M==="true"||M==="false")return"boolean";if(/^-?\d+(\.\d+)?$/.test(M))return"number";if(M.startsWith('"')||M.startsWith("'"))return"string";return null};for(let P of q){if(!Array.isArray(P))continue;let M=P[0]?.valueOf?.()??P[0],I,L,V,N,C;if(M==="state"||M==="readonly"||M==="computed"){if(I=P[1],V=Array.isArray(I)&&(I[0]?.valueOf?.()??I[0])==="."&&(I[1]?.valueOf?.()??I[1])==="this",L=V?I[2]?.valueOf?.()??I[2]:I?.valueOf?.()??I,N=V?I[2]?.type:I?.type,C=!0,!V){u.add(L);let T=M==="computed"?"Computed":"Signal",j=N?_1(N):O(P[2])||"any";R.push(` ${L}: ${T}<${j}>;`);continue}}else if(M==="."){if(V=(P[1]?.valueOf?.()??P[1])==="this",L=V?P[2]?.valueOf?.()??P[2]:null,N=V?P[2]?.type:null,C=!1,!V&&L)u.add(L)}else if(M==="object"){for(let T=1;T<P.length;T++){let j=P[T];if(!Array.isArray(j)||j.length<3)continue;let b=j[1]?.valueOf?.()??j[1],i=j[2];if(!Array.isArray(i))continue;let r=i[0]?.valueOf?.()??i[0];if(r!=="->"&&r!=="=>")continue;let U1=i[1];if(!Array.isArray(U1))continue;if(!U1.some((x)=>x?.type))continue;let v=[];for(let x of U1){let d=x?.valueOf?.()??x,o=x?.type?_1(x.type):"any";v.push(`${d}: ${o}`)}R.push(` ${b}(${v.join(", ")}): void;`)}continue}else if(M==="render"){Y=!0,Q(P[1]);continue}else continue;if(!V||!L)continue;let E=N?_1(N):"any",l=C?"?":"";if(!C)S=!0;if(B.push(` ${L}${l}: ${E};`),M==="state")B.push(` __bind_${L}__?: Signal<${E}>;`)}if(U.push(`${D}declare class ${A}${K} {`),B.length>0||X){let P=S?"":"?";if(B.length>0){U.push(` constructor(props${P}: {`);for(let M of B)U.push(M);U.push(X?` } & ${X});`:" });")}else U.push(` constructor(props${P}: ${X});`)}else U.push(" constructor(props?: {});");for(let[P,M]of Z)R.push(` ${P}: ${M};`);for(let P of R)U.push(P);U.push("}")}if(F==="program"||F==="block"){for(let D=1;D<f.length;D++)if(Array.isArray(f[D]))Y=J2(f[D],U,_,W,u,$)||Y}if(F==="export"&&Array.isArray(f[1])&&!J)Y=J2(f[1],U,_,W,u,$)||Y;return Y}function n2(f,U,_){let[W,u]=U,$=W?.valueOf?.()??W,F=[];if(Array.isArray(u)){let G=u[0]==="block"?u.slice(1):[u];for(let Q of G)if(Array.isArray(Q)){if(Q[0]?.valueOf?.()==="="){let z=Q[1]?.valueOf?.()??Q[1],A=Q[2]?.valueOf?.()??Q[2];F.push([z,A])}}}if(F.length===0)return`const ${$} = {}`;let Y=F.map(([G,Q])=>`${G}: ${Q}`).join(", "),Z=F.map(([G,Q])=>`${Q}: "${G}"`).join(", ");return`const ${$} = {${Y}, ${Z}}`}var a2=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"]),o2=new Set(["undefined","Infinity","NaN","then","unless","until","loop","of","by","when","def","component","render","enum","interface"]),K2={and:"&&",or:"||",is:"==",isnt:"!=",not:"!",yes:"true",no:"false",on:"true",off:"false"},r2=new Set(Object.keys(K2)),u5=new Set(["case","function","var","void","with","const","let","native","implements","package","private","protected","public","static"]),f5=new Set(["break","continue","debugger"]),$5=new Set(["NEW","TYPEOF","DELETE"]),U5=new Set(["IN","OF","INSTANCEOF"]),s1=new Set(["IDENTIFIER","PROPERTY",")","]","@","THIS","SUPER","DYNAMIC_IMPORT","?."]),t1=new Set([...s1,"NUMBER","INFINITY","NAN","STRING","STRING_END","REGEX","REGEX_END","BOOL","NULL","UNDEFINED","}","MAP_END","SYMBOL"]),o1=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"]),W5=new Set(["+","-"]),_5=new Set(["POST_IF","POST_UNLESS","FOR","WHILE","UNTIL","WHEN","BY","LOOP","TERMINATOR","||","&&","PIPE"]),Y5=new Set(["STRING","STRING_END","REGEX","REGEX_END","NUMBER","BOOL","NULL","UNDEFINED","INFINITY","NAN","]","}","MAP_END","SYMBOL"]),H1=new Set(["(","[","{","MAP_START","PICK_START","OPTPICK_START","INDENT","CALL_START","PARAM_START","INDEX_START","STRING_START","INTERPOLATION_START","REGEX_START"]),w1=new Set([")","]","}","MAP_END","PICK_END","OUTDENT","CALL_END","PARAM_END","INDEX_END","STRING_END","INTERPOLATION_END","REGEX_END"]),F5={"(":")",")":"(","[":"]","]":"[","{":"}","}":"{",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"},s2=new Set(["CATCH","THEN","ELSE","FINALLY",...w1]),w2=new Set(["IDENTIFIER","PROPERTY","SUPER",")","CALL_END","]","INDEX_END","@","THIS"]),Z5=new Set(["IDENTIFIER","PROPERTY",")","CALL_END","]","INDEX_END"]),G5=new Set(["IF","TRY","FINALLY","CATCH","CLASS","SWITCH","COMPONENT","FOR"]),t2=new Set(["ELSE","->","=>","TRY","FINALLY","THEN"]),Q5=new Set(["TERMINATOR","CATCH","FINALLY","ELSE","OUTDENT","LEADING_WHEN"]),V1=new Set(["INDENT","OUTDENT","TERMINATOR"]),q1=(f)=>f?.[0]==="IDENTIFIER"||f?.[0]==="PROPERTY",r1=(f,U)=>{if(f?.[0]===".")return!0;if(f?.[0]==="-")return f.spaced===!1&&!f.newLine&&U?.spaced===!1&&!U?.newLine;return!1},e2=new Set([".","?."]),u3=new Set(["\\",".","?.","UNARY","DO","DO_IIFE","MATH","UNARY_MATH","+","-","**","SHIFT","RELATION","COMPARE","&","^","|","&&","||","TERNARY","EXTENDS"]),z5=new Set([...t1,"++","--"]),f3=new Set(["-=","+=","/=","*=","%=","||=","&&=","?=","??=","<<=",">>=",">>>=","&=","^=","|=","**=","//=","%%="]),A5=new Set(["*","/","%","//","%%"]),J5=new Set(["==","!=","===","!==","<",">","<=",">=","=~"]),X5=new Set(["<<",">>",">>>"]),w5=new Set(["!","~"]),K5=/^(?!\d)((?:(?!\s)[$\w\x7f-\uffff])+(?:!|[?](?![.?![(]))?)([^\n\S]*:(?![=:]))?/,D5=/^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,M5=/^(?:<=>|::|\*>|[-=]>|~>|~=|:=|=!|===|!==|\?\!|\?\?|=~|\|>|[-+*\/%<>&|^!?=]=|>>>=?|([-+:])\1|([&|<>*\/%])\2=?|\?\.?|\.{2,3})/,H5=/^[^\n\S]+/,q5=/^(?:\n[^\n\S]*)+/,O5=/^(\s*)###([^#][\s\S]*?)(?:###([^\n\S]*)|###$)|^((?:\s*#(?!##[^#]).*)+)/,R5=/^[-=]>/,P5=/^(?:~[=>]|=!)/,B5=/^(?:'''\\|"""\\|'''|"""|'|")/,I5=/^(?:[^\\']|\\[\s\S])*/,S5=/^(?:[^\\"#$]|\\[\s\S]|\#(?!\{)|\$(?!\{))*/,N5=/^(?:[^\\']|\\[\s\S]|'(?!''))*/,E5=/^(?:[^\\"#$]|\\[\s\S]|"(?!"")|\#(?!\{)|\$(?!\{))*/,$3=/\n+([^\n\S]*)(?=\S)/g,L5=/^\/(?!\/)((?:[^[\/\n\\]|\\[^\n]|\[(?:\\[^\n]|[^\]\n\\])*\])*)(\/)?/,U3=/^\w*/,V5=/^(?!.*(.).*\1)[gimsuy]*$/,C5=/^(?:[^\\\/#\s]|\\[\s\S]|\/(?!\/\/)|\#(?!\{)|\s+(?:#(?!\{).*)?)*/,T5=/^`(?!``)((?:[^`\\]|\\[\s\S])*)`/,j5=/^```((?:[^`\\]|\\[\s\S]|`(?!``))*)```/,b5=/\s+$/,W3=/^\s*(?:,|\??\.(?![.\d]))/,h5=65279;function e1(f,U,{pre:_=0,row:W=0,col:u=0,len:$=0,data:F=null}={}){let Y=[f,U];return Y.pre=_,Y.data=F,Y.loc={r:W,c:u,n:$},Y.spaced=_>0,Y.newLine=!1,Y}function A1(f,U,_){let W=e1(f,U);if(W.generated=!0,_)W.origin=_;return W}function J1(f,{row:U=0,col:_=0,len:W=1}={}){let u=SyntaxError(f);throw u.location={first_line:U,first_column:_,last_column:_+W-1},u}function y5(f){if(f==null)return NaN;switch(f.charAt(1)){case"b":return parseInt(f.slice(2).replace(/_/g,""),2);case"o":return parseInt(f.slice(2).replace(/_/g,""),8);case"x":return parseInt(f.slice(2).replace(/_/g,""),16);default:return parseFloat(f.replace(/_/g,""))}}class K1{tokenize(f,U={}){this.code=f,this.tokens=[],this.ends=[],this.chunk="",this.pos=0,this.row=U.row||0,this.col=U.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,f=this.clean(f),this.code=f;while(this.pos<f.length){this.chunk=f.slice(this.pos);let _=this.identifierToken()||this.commentToken()||this.whitespaceToken()||this.lineToken()||this.stringToken()||this.numberToken()||this.regexToken()||this.jsToken()||this.literalToken();if(_===0)J1(`unexpected character: ${this.chunk.charAt(0)}`,{row:this.row,col:this.col});if(this.advance(_),U.untilBalanced&&this.ends.length===0)return{tokens:this.tokens,index:this.pos}}if(this.closeIndentation(),this.ends.length>0){let _=this.ends[this.ends.length-1];J1(`missing ${_.tag}`,{row:this.row,col:this.col})}if(U.rewrite===!1)return this.tokens;return this.rewrite(this.tokens)}clean(f){if(f.charCodeAt(0)===h5)f=f.slice(1);if(f=f.replace(/\r\n?/g,`
1301
+ `}function _1(f){if(!f)return f;return f=f.replace(/::/g,":"),f=f.replace(/(\w+(?:<[^>]+>)?)\?\?/g,"$1 | null | undefined"),f=f.replace(/(\w+(?:<[^>]+>)?)\?(?![.:])/g,"$1 | undefined"),f=f.replace(/(\w+(?:<[^>]+>)?)\!/g,"NonNullable<$1>"),f}function J2(f,U,_,W,u,$){if(!Array.isArray(f))return!1;let F=f[0]?.valueOf?.()??f[0],Y=!1,Z=new Map,G=(D)=>typeof D==="string"&&/^[a-z]/.test(D),Q=(D)=>{if(!Array.isArray(D))return;let w=D[0]?.valueOf?.()??D[0];if(G(w))for(let X=1;X<D.length;X++){let R=D[X];if(!Array.isArray(R))continue;if((R[0]?.valueOf?.()??R[0])!=="object")continue;for(let B=1;B<R.length;B++){let O=R[B];if(!Array.isArray(O))continue;if((O[0]?.valueOf?.()??O[0])!=="ref")continue;let q=O[1]?.valueOf?.()??O[1];if(typeof q==="string")q=q.replace(/^["']|["']$/g,"");if(typeof q==="string"&&!Z.has(q))Z.set(q,`__RipDomEl<'${w}'> | null`)}}for(let X=1;X<D.length;X++)if(Array.isArray(D[X]))Q(D[X])},z=!1,A=null,J=null,K="";if(F==="export"&&Array.isArray(f[1])){z=!0;let D=f[1];if((D[0]?.valueOf?.()??D[0])==="="&&Array.isArray(D[2])&&(D[2][0]?.valueOf?.()??D[2][0])==="component")K=D[1]?.typeParams||"",A=D[1]?.valueOf?.()??D[1],J=D[2]}else if(F==="="&&Array.isArray(f[2])&&(f[2][0]?.valueOf?.()??f[2][0])==="component")K=f[1]?.typeParams||"",A=f[1]?.valueOf?.()??f[1],J=f[2];if(A&&J){let D=z?"export ":"",w=J[1]?.valueOf?.()??null,X=w?`__RipProps<'${w}'>`:null;if(X)Y=!0;let R=J[2],H=Array.isArray(R)&&(R[0]?.valueOf?.()??R[0])==="block"?R.slice(1):R?[R]:[],B=[],O=[],I=!1,q=(P)=>{let M=P?.valueOf?.()??P;if(typeof M!=="string")return null;if(M==="true"||M==="false")return"boolean";if(/^-?\d+(\.\d+)?$/.test(M))return"number";if(M.startsWith('"')||M.startsWith("'"))return"string";return null};for(let P of H){if(!Array.isArray(P))continue;let M=P[0]?.valueOf?.()??P[0],S,L,C,N,V;if(M==="state"||M==="readonly"||M==="computed"){if(S=P[1],C=Array.isArray(S)&&(S[0]?.valueOf?.()??S[0])==="."&&(S[1]?.valueOf?.()??S[1])==="this",L=C?S[2]?.valueOf?.()??S[2]:S?.valueOf?.()??S,N=C?S[2]?.type:S?.type,V=!0,!C){u.add(L);let T=M==="computed"?"Computed":"Signal",j=N?_1(N):q(P[2])||"any";O.push(` ${L}: ${T}<${j}>;`);continue}}else if(M==="."){if(C=(P[1]?.valueOf?.()??P[1])==="this",L=C?P[2]?.valueOf?.()??P[2]:null,N=C?P[2]?.type:null,V=!1,!C&&L)u.add(L)}else if(M==="object"){for(let T=1;T<P.length;T++){let j=P[T];if(!Array.isArray(j)||j.length<3)continue;let b=j[1]?.valueOf?.()??j[1],c=j[2];if(!Array.isArray(c))continue;let o=c[0]?.valueOf?.()??c[0];if(o!=="->"&&o!=="=>")continue;let $1=c[1];if(!Array.isArray($1))continue;if(!$1.some((l)=>l?.type))continue;let v=[];for(let l of $1){let d=l?.valueOf?.()??l,s=l?.type?_1(l.type):"any";v.push(`${d}: ${s}`)}O.push(` ${b}(${v.join(", ")}): void;`)}continue}else if(M==="render"){Y=!0,Q(P[1]);continue}else continue;if(!C||!L)continue;let E=N?_1(N):"any",m=V?"?":"";if(!V)I=!0;if(B.push(` ${L}${m}: ${E};`),M==="state")B.push(` __bind_${L}__?: Signal<${E}>;`)}if(U.push(`${D}declare class ${A}${K} {`),B.length>0||X){let P=I?"":"?";if(B.length>0){U.push(` constructor(props${P}: {`);for(let M of B)U.push(M);U.push(X?` } & ${X});`:" });")}else U.push(` constructor(props${P}: ${X});`)}else U.push(" constructor(props?: {});");for(let[P,M]of Z)O.push(` ${P}: ${M};`);for(let P of O)U.push(P);U.push("}")}if(F==="program"||F==="block"){for(let D=1;D<f.length;D++)if(Array.isArray(f[D]))Y=J2(f[D],U,_,W,u,$)||Y}if(F==="export"&&Array.isArray(f[1])&&!J)Y=J2(f[1],U,_,W,u,$)||Y;return Y}function n2(f,U,_){let[W,u]=U,$=W?.valueOf?.()??W,F=[];if(Array.isArray(u)){let G=u[0]==="block"?u.slice(1):[u];for(let Q of G)if(Array.isArray(Q)){if(Q[0]?.valueOf?.()==="="){let z=Q[1]?.valueOf?.()??Q[1],A=Q[2]?.valueOf?.()??Q[2];F.push([z,A])}}}if(F.length===0)return`const ${$} = {}`;let Y=F.map(([G,Q])=>`${G}: ${Q}`).join(", "),Z=F.map(([G,Q])=>`${Q}: "${G}"`).join(", ");return`const ${$} = {${Y}, ${Z}}`}var a2=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"]),o2=new Set(["undefined","Infinity","NaN","then","unless","until","loop","of","by","when","def","component","render","enum","interface"]),K2={and:"&&",or:"||",is:"==",isnt:"!=",not:"!",yes:"true",no:"false",on:"true",off:"false"},r2=new Set(Object.keys(K2)),u5=new Set(["case","function","var","void","with","const","let","native","implements","package","private","protected","public","static"]),f5=new Set(["break","continue","debugger"]),$5=new Set(["NEW","TYPEOF","DELETE"]),U5=new Set(["IN","OF","INSTANCEOF"]),s1=new Set(["IDENTIFIER","PROPERTY",")","]","@","THIS","SUPER","DYNAMIC_IMPORT","?."]),t1=new Set([...s1,"NUMBER","INFINITY","NAN","STRING","STRING_END","REGEX","REGEX_END","BOOL","NULL","UNDEFINED","}","MAP_END","SYMBOL"]),o1=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"]),W5=new Set(["+","-"]),_5=new Set(["POST_IF","POST_UNLESS","FOR","WHILE","UNTIL","WHEN","BY","LOOP","TERMINATOR","||","&&","PIPE"]),Y5=new Set(["STRING","STRING_END","REGEX","REGEX_END","NUMBER","BOOL","NULL","UNDEFINED","INFINITY","NAN","]","}","MAP_END","SYMBOL"]),H1=new Set(["(","[","{","MAP_START","PICK_START","OPTPICK_START","INDENT","CALL_START","PARAM_START","INDEX_START","STRING_START","INTERPOLATION_START","REGEX_START"]),w1=new Set([")","]","}","MAP_END","PICK_END","OUTDENT","CALL_END","PARAM_END","INDEX_END","STRING_END","INTERPOLATION_END","REGEX_END"]),F5={"(":")",")":"(","[":"]","]":"[","{":"}","}":"{",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"},s2=new Set(["CATCH","THEN","ELSE","FINALLY",...w1]),w2=new Set(["IDENTIFIER","PROPERTY","SUPER",")","CALL_END","]","INDEX_END","@","THIS"]),Z5=new Set(["IDENTIFIER","PROPERTY",")","CALL_END","]","INDEX_END"]),G5=new Set(["IF","TRY","FINALLY","CATCH","CLASS","SWITCH","COMPONENT","FOR"]),t2=new Set(["ELSE","->","=>","TRY","FINALLY","THEN"]),Q5=new Set(["TERMINATOR","CATCH","FINALLY","ELSE","OUTDENT","LEADING_WHEN"]),V1=new Set(["INDENT","OUTDENT","TERMINATOR"]),q1=(f)=>f?.[0]==="IDENTIFIER"||f?.[0]==="PROPERTY",r1=(f,U)=>{if(f?.[0]===".")return!0;if(f?.[0]==="-")return f.spaced===!1&&!f.newLine&&U?.spaced===!1&&!U?.newLine;return!1},e2=new Set([".","?."]),u3=new Set(["\\",".","?.","UNARY","DO","DO_IIFE","MATH","UNARY_MATH","+","-","**","SHIFT","RELATION","COMPARE","&","^","|","&&","||","TERNARY","EXTENDS"]),z5=new Set([...t1,"++","--"]),f3=new Set(["-=","+=","/=","*=","%=","||=","&&=","?=","??=","<<=",">>=",">>>=","&=","^=","|=","**=","//=","%%="]),A5=new Set(["*","/","%","//","%%"]),J5=new Set(["==","!=","===","!==","<",">","<=",">=","=~"]),X5=new Set(["<<",">>",">>>"]),w5=new Set(["!","~"]),K5=/^(?!\d)((?:(?!\s)[$\w\x7f-\uffff])+(?:!|[?](?![.?![(]))?)([^\n\S]*:(?![=:]))?/,D5=/^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,M5=/^(?:<=>|::|\*>|[-=]>|~>|~=|:=|=!|===|!==|\?\!|\?\?|=~|\|>|[-+*\/%<>&|^!?=]=|>>>=?|([-+:])\1|([&|<>*\/%])\2=?|\?\.?|\.{2,3})/,H5=/^[^\n\S]+/,q5=/^(?:\n[^\n\S]*)+/,O5=/^(\s*)###([^#][\s\S]*?)(?:###([^\n\S]*)|###$)|^((?:\s*#(?!##[^#]).*)+)/,R5=/^[-=]>/,P5=/^(?:~[=>]|=!)/,B5=/^(?:'''\\|"""\\|'''|"""|'|")/,I5=/^(?:[^\\']|\\[\s\S])*/,S5=/^(?:[^\\"#$]|\\[\s\S]|\#(?!\{)|\$(?!\{))*/,N5=/^(?:[^\\']|\\[\s\S]|'(?!''))*/,E5=/^(?:[^\\"#$]|\\[\s\S]|"(?!"")|\#(?!\{)|\$(?!\{))*/,$3=/\n+([^\n\S]*)(?=\S)/g,L5=/^\/(?!\/)((?:[^[\/\n\\]|\\[^\n]|\[(?:\\[^\n]|[^\]\n\\])*\])*)(\/)?/,U3=/^\w*/,V5=/^(?!.*(.).*\1)[gimsuy]*$/,C5=/^(?:[^\\\/#\s]|\\[\s\S]|\/(?!\/\/)|\#(?!\{)|\s+(?:#(?!\{).*)?)*/,T5=/^`(?!``)((?:[^`\\]|\\[\s\S])*)`/,j5=/^```((?:[^`\\]|\\[\s\S]|`(?!``))*)```/,b5=/\s+$/,W3=/^\s*(?:,|\??\.(?![.\d]))/,h5=65279;function e1(f,U,{pre:_=0,row:W=0,col:u=0,len:$=0,data:F=null}={}){let Y=[f,U];return Y.pre=_,Y.data=F,Y.loc={r:W,c:u,n:$},Y.spaced=_>0,Y.newLine=!1,Y}function A1(f,U,_){let W=e1(f,U);if(W.generated=!0,_)W.origin=_;return W}function J1(f,{row:U=0,col:_=0,len:W=1}={}){let u=SyntaxError(f);throw u.location={first_line:U,first_column:_,last_column:_+W-1},u}function y5(f){if(f==null)return NaN;switch(f.charAt(1)){case"b":return parseInt(f.slice(2).replace(/_/g,""),2);case"o":return parseInt(f.slice(2).replace(/_/g,""),8);case"x":return parseInt(f.slice(2).replace(/_/g,""),16);default:return parseFloat(f.replace(/_/g,""))}}class K1{tokenize(f,U={}){this.code=f,this.tokens=[],this.ends=[],this.chunk="",this.pos=0,this.row=U.row||0,this.col=U.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,f=this.clean(f),this.code=f;while(this.pos<f.length){this.chunk=f.slice(this.pos);let _=this.identifierToken()||this.commentToken()||this.whitespaceToken()||this.lineToken()||this.stringToken()||this.numberToken()||this.regexToken()||this.jsToken()||this.literalToken();if(_===0)J1(`unexpected character: ${this.chunk.charAt(0)}`,{row:this.row,col:this.col});if(this.advance(_),U.untilBalanced&&this.ends.length===0)return{tokens:this.tokens,index:this.pos}}if(this.closeIndentation(),this.ends.length>0){let _=this.ends[this.ends.length-1];J1(`missing ${_.tag}`,{row:this.row,col:this.col})}if(U.rewrite===!1)return this.tokens;return this.rewrite(this.tokens)}clean(f){if(f.charCodeAt(0)===h5)f=f.slice(1);if(f=f.replace(/\r\n?/g,`
1302
1302
  `),f=f.replace(b5,""),/^[^\n\S]/.test(f))f=`
1303
1303
  `+f;return f}advance(f){let U=this.code.slice(this.pos,this.pos+f);for(let _=0;_<U.length;_++)if(U[_]===`
1304
1304
  `)this.row++,this.col=0;else this.col++;this.pos+=f}emit(f,U,{len:_,data:W,pre:u}={}){let $=e1(f,U,{pre:u??0,row:this.row,col:this.col,len:_??(typeof U==="string"?U.length:0),data:W});return this.tokens.push($),$}prev(){return this.tokens[this.tokens.length-1]}prevTag(){let f=this.prev();return f?f[0]:void 0}prevVal(){let f=this.prev();return f?f[1]:void 0}inPickKeyPos(){let f=this.prev();if(!f)return!1;let U=f[0];if(U!=="{"&&U!==","&&U!==":"&&U!=="TERMINATOR"&&U!=="INDENT"&&U!=="OUTDENT")return!1;let _=0,W=this.tokens;for(let u=W.length-1;u>=0;u--){let $=W[u],F=$[0];if(F==="}"||F==="PICK_END"){_++;continue}if(F==="{"||F==="PICK_START"||F==="OPTPICK_START"){if(_===0){let Y=W[u-1];return!!(Y&&(Y[0]==="."||Y[0]==="?.")&&!Y.spaced&&!$.spaced)}_--;continue}if(_===0&&(F==="("||F==="CALL_START"||F==="["||F==="INDEX_START"))return!1}return!1}identifierToken(){if(P5.test(this.chunk))return 0;let f=K5.exec(this.chunk);if(!f)return 0;let[,U,_]=f,W=U.length,u={},$;if(U==="own"&&this.prevTag()==="FOR")return this.emit("OWN",U,{len:W}),W;if(U==="from"&&this.prevTag()==="YIELD")return this.emit("FROM",U,{len:W}),W;if(U==="as"&&!this.seenFor&&(this.seenImport||this.seenExport)){if(this.seenImport){if(this.prevVal()==="*")this.prev()[0]="IMPORT_ALL"}let Q=this.prevTag();if(Q==="DEFAULT"||Q==="IMPORT_ALL"||Q==="IDENTIFIER")return this.emit("AS",U,{len:W}),W}if((U==="as"||U==="as!")&&this.seenFor)return this.seenFor=!1,this.emit(U==="as!"?"FORASAWAIT":"FORAS","as",{len:W}),W;if(U==="default"&&this.seenExport&&(this.prevTag()==="EXPORT"||this.prevTag()==="AS"))return this.emit("DEFAULT",U,{len:W}),W;let F;if(U==="do"&&(F=/^(\s*super)(?!\(\))/.exec(this.chunk.slice(3))))return this.emit("SUPER","super"),this.emit("CALL_START","("),this.emit("CALL_END",")"),F[1].length+3;let Y=this.prev();if(_&&Y&&Y[0]==="TERNARY")_=null;if(_&&_.length>1&&/[a-zA-Z_$]/.test(this.chunk[W+_.length]))_=null;if(_||Y&&(Y[0]==="."||Y[0]==="?."||!Y.spaced&&Y[0]==="@")||this.inPickKeyPos()){if($="PROPERTY",this.inRenderBlock&&Y&&Y[0]==="."&&!_){let Q=this.chunk.slice(W);while(Q[0]==="-"&&/^-[a-zA-Z]/.test(Q)){let z=/^-([a-zA-Z][\w]*)/.exec(Q);if(!z)break;U+="-"+z[1],W+=1+z[1].length,Q=this.chunk.slice(W)}}}else $="IDENTIFIER";let Z=U.endsWith("!")||U.endsWith("?")?U.slice(0,-1):U;if($==="IDENTIFIER"&&!U.endsWith("!")&&!U.endsWith("?")&&(a2.has(U)||o2.has(U)||r2.has(U))&&!(this.exportSpecifierList&&r2.has(U))){if(K2[U]!==void 0)u.original=U,U=K2[U];$=this.classifyKeyword(U,$,u)}if($==="IDENTIFIER"&&u5.has(Z))if(Z==="void"&&(this.inTypeAnnotation||this.prevTag()==="=>"));else J1(`reserved word '${Z}'`,{row:this.row,col:this.col,len:W});if($==="PROPERTY"&&Y){if(Y[0]==="."&&this.tokens.length>1){let Q=this.tokens[this.tokens.length-2];if(Q[0]==="UNARY"&&Q[1]==="new")Q[0]="NEW_TARGET";if(Q[0]==="IMPORT"&&Q[1]==="import")this.seenImport=!1,Q[0]="IMPORT_META"}}if(U.length>1&&U.endsWith("!"))u.await=!0,U=U.slice(0,-1);if(U.length>1&&U.endsWith("?"))u.predicate=!0,U=U.slice(0,-1);let G=this.emit($,U,{len:W,data:Object.keys(u).length?u:null});if($==="RENDER")this.inRenderBlock=!0,this.renderIndent=this.indent;if(_)return this.emit(":",":",{len:1}),W+_.length;return W}classifyKeyword(f,U,_){switch(f){case"!":return"UNARY";case"==":case"!=":return"COMPARE";case"true":case"false":return"BOOL";case"&&":case"||":return f}if(f5.has(f))return"STATEMENT";let W=f.toUpperCase();if(W==="WHEN"&&V1.has(this.prevTag()))return"LEADING_WHEN";if(W==="FOR")return this.seenFor={endsLength:this.ends.length},"FOR";if(W==="UNLESS")return"UNLESS";if(W==="IMPORT")return this.seenImport=!0,"IMPORT";if(W==="EXPORT")return this.seenExport=!0,"EXPORT";if($5.has(W))return"UNARY";if(U5.has(W)){if(W!=="INSTANCEOF"&&this.seenFor)return this.seenFor=!1,"FOR"+W;if(this.prevVal()==="!"){let u=this.tokens.pop();_.invert=u.data?.original||u[1]}return"RELATION"}if(a2.has(f)||o2.has(f))return W;return U}commentToken(){if(this.inRenderBlock){if(/^#[a-zA-Z_]/.test(this.chunk)){let U=this.prev();if(U&&(U[0]==="IDENTIFIER"||U[0]==="PROPERTY"))return 0;let _=/^#([a-zA-Z_][\w-]*)/.exec(this.chunk);if(_)return this.emit("IDENTIFIER","div#"+_[1]),_[0].length}if(/^\s+#[a-zA-Z_]/.test(this.chunk))return 0}if(this.chunk[0]==="#"){let U=this.prev();if(U&&!U.spaced&&!U.newLine&&(U[0]==="IDENTIFIER"||U[0]==="PROPERTY"))return 0}let f=O5.exec(this.chunk);if(!f)return 0;return f[0].length}whitespaceToken(){let f=H5.exec(this.chunk);if(!f&&this.chunk[0]!==`
@@ -1306,20 +1306,20 @@ function __schema(descriptor) {
1306
1306
  `);if(this.isUnfinished()){if(_<this.indent&&/^\s*,/.test(this.chunk)&&!u3.has(this.prevTag())){if(this.outdentTo(_,U.length),this.prevTag()==="TERMINATOR")this.tokens.pop();return U.length}return U.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,_===this.indent)return this.emitNewline(),U.length;if(_>this.indent){if(!this.tokens.length)return this.indent=_,U.length;let W=_-this.indent;return this.emit("INDENT",W,{len:_}),this.indents.push(W),this.ends.push({tag:"OUTDENT"}),this.indent=_,U.length}return this.outdentTo(_,U.length),U.length}outdentTo(f,U=0){if(this.inRenderBlock&&f<=this.renderIndent)this.inRenderBlock=!1;let _=this.indent-f;while(_>0){let W=this.indents[this.indents.length-1];if(!W)_=0;else this.indents.pop(),this.pair("OUTDENT"),this.emit("OUTDENT",_,{len:U}),_-=W}this.emitNewline(),this.indent=f}closeIndentation(){this.outdentTo(0)}emitNewline(){if(this.prevTag()!=="TERMINATOR")this.emit("TERMINATOR",`
1307
1307
  `,{len:0})}isUnfinished(){if(this.inRenderBlock&&W3.test(this.chunk)&&/^\s*\./.test(this.chunk))return!1;if(this.inRenderBlock&&this.prevTag()==="."){let _=this.tokens.length;if(_>=2){let W=this.tokens[_-2][0];if(W==="INDENT"||W==="TERMINATOR"||W==="OUTDENT")return!1}}let f=this.tokens[this.tokens.length-1];if(f?.[0]==="COMPARE"&&f[1]===">"||f?.[0]==="SHIFT"&&(f[1]===">>"||f[1]===">>>")){let _=0;for(let W=this.tokens.length-1;W>=0;W--){let u=this.tokens[W];if(u[0]==="COMPARE"&&u[1]===">")_++;else if(u[0]==="SHIFT"&&u[1]===">>")_+=2;else if(u[0]==="SHIFT"&&u[1]===">>>")_+=3;else if(u[0]==="COMPARE"&&u[1]==="<")_--;if(_===0&&u[0]==="TYPE_ANNOTATION")return!1;if(_===0&&u[0]==="IDENTIFIER"&&u[1]==="type")return!1;if(u[0]==="TERMINATOR"||u[0]==="INDENT"||u[0]==="OUTDENT")break}}return W3.test(this.chunk)||u3.has(this.prevTag())}pair(f){let U=this.ends[this.ends.length-1];if(!U||f!==U.tag){if(U?.tag==="OUTDENT"){let _=this.indents[this.indents.length-1];if(_)this.outdentTo(this.indent-_);return this.pair(f)}J1(`unmatched ${f}`,{row:this.row,col:this.col})}return this.ends.pop()}stringToken(){let f=B5.exec(this.chunk);if(!f)return 0;let U=f[0],_=U.length>1&&U.endsWith("\\"),W=_?U.slice(0,-1):U,u=this.prev();if(u&&this.prevVal()==="from"&&(this.seenImport||this.seenExport))u[0]="FROM";let $;switch(W){case"'":$=I5;break;case'"':$=S5;break;case"'''":$=N5;break;case'"""':$=E5;break}let{tokens:F,index:Y}=this.matchWithInterpolations($,U,W),Z=W.length===3,G=null;if(Z)G=this.processHeredocIndent(Y,W,F);return this.mergeInterpolationTokens(F,{quote:W,indent:G,endOffset:Y,raw:_}),Y}processHeredocIndent(f,U,_){let W=f-U.length,u=W-1;while(u>=0&&this.chunk[u]!==`
1308
1308
  `)u--;u++;let $=this.chunk.slice(u,W),F=/^\s*$/.test($)?$.length:null,Y="";for(let Q of _)if(Q[0]==="NEOSTRING")Y+=Q[1];let Z=null,G;$3.lastIndex=0;while(G=$3.exec(Y))if(Z===null||G[1].length>0&&G[1].length<Z.length)Z=G[1];if(F===null)return Z;if(Z===null)return" ".repeat(F);if(F<=Z.length)return" ".repeat(F);return Z}matchWithInterpolations(f,U,_,W){if(!_)_=U;if(!W)W=/^[#$]\{/;let u=[],$=U.length;if(this.chunk.slice(0,$)!==U)return null;let F=this.chunk.slice($);while(!0){let[Y]=f.exec(F);u.push(["NEOSTRING",Y,{offset:$}]),F=F.slice(Y.length),$+=Y.length;let Z=W.exec(F);if(!Z)break;let Q=Z[0].length-1,z=F.slice(Q),A=new K1().tokenize(z,{row:this.row,col:this.col+$+Q,untilBalanced:!0,rewrite:!1}),J=A.index+Q;if(F[J-1]==="}"){let D=A.tokens[0],w=A.tokens[A.tokens.length-1];D[0]="INTERPOLATION_START",D[1]="(",w[0]="INTERPOLATION_END",w[1]=")"}if(A.tokens[1]?.[0]==="TERMINATOR")A.tokens.splice(1,1);let K=A.tokens.length;if(K>2&&A.tokens[K-3]?.[0]==="INDENT"&&A.tokens[K-2]?.[0]==="OUTDENT")A.tokens.splice(K-3,2);u.push(["TOKENS",A.tokens]),F=F.slice(J),$+=J}if(F.slice(0,_.length)!==_)J1(`missing ${_}`,{row:this.row,col:this.col});return{tokens:u,index:$+_.length}}mergeInterpolationTokens(f,{quote:U,indent:_,endOffset:W,raw:u}){if(f.length>1)this.emit("STRING_START","(",{len:U?.length||0,data:{quote:U}});for(let $=0;$<f.length;$++){let[F,Y]=f[$];if(F==="TOKENS")for(let Z of Y)this.tokens.push(Z);else if(F==="NEOSTRING"){let Z=Y;if(_){let G=new RegExp("\\n"+_,"g");Z=Z.replace(G,`
1309
- `)}if($===0&&U?.length===3)Z=Z.replace(/^\n/,"");if($===f.length-1&&U?.length===3)Z=Z.replace(/\n[^\S\n]*$/,"");if(u)Z=Z.replace(/\\([nrtbfv0\\'"`xu])/g,"\\\\$1");this.emit("STRING",`"${Z}"`,{len:Y.length,data:{quote:U}})}}if(f.length>1)this.emit("STRING_END",")",{len:U?.length||0});return W}numberToken(){let f=D5.exec(this.chunk);if(!f)return 0;let U=f[0],_=U.length,W={row:this.row,col:this.col};if(/^0[BOX]/.test(U))J1(`radix prefix in '${U}' must be lowercase`,{...W,col:W.col+1});if(/^0\d*[89]/.test(U))J1(`decimal literal '${U}' must not be prefixed with '0'`,{...W,len:_});if(/^0\d+/.test(U))J1(`octal literal '${U}' must be prefixed with '0o'`,{...W,len:_});let u=y5(U),$=u===1/0?"INFINITY":"NUMBER",F={parsedValue:u};if($==="INFINITY")F.original=U;return this.emit($,U,{len:_,data:F}),_}regexToken(){let f=this.matchWithInterpolations(C5,"///");if(f){let{tokens:G,index:Q}=f,[z]=U3.exec(this.chunk.slice(Q)),A=Q+z.length;if(G.length===1||!G.some((J)=>J[0]==="TOKENS")){let J=(G[0]?.[1]||"").replace(/(?<!\\)\//g,"\\/");this.emit("REGEX",`/${J}/${z}`,{len:A,data:{delimiter:"///",heregex:{flags:z}}})}else{if(this.emit("REGEX_START","(",{len:0}),this.emit("IDENTIFIER","RegExp",{len:0}),this.emit("CALL_START","(",{len:0}),this.mergeInterpolationTokens(G,{quote:"///",endOffset:A-z.length}),z)this.emit(",",",",{len:0}),this.emit("STRING",`"${z}"`,{len:z.length});this.emit(")",")",{len:0}),this.emit("REGEX_END",")",{len:0})}return A}let U=L5.exec(this.chunk);if(!U)return 0;let[_,W,u]=U,$=this.prev();if($){if($.spaced&&s1.has($[0])&&(!u||/^\/=?\s/.test(_)))return 0;if(z5.has($[0])&&!($.spaced&&s1.has($[0])))return 0}if(!u)J1("missing / (unclosed regex)",{row:this.row,col:this.col});let F=_.length,[Y]=U3.exec(this.chunk.slice(F)),Z=F+Y.length;if(!V5.test(Y))J1(`invalid regular expression flags ${Y}`,{row:this.row,col:this.col+F,len:Y.length});return this.emit("REGEX",`/${W}/${Y}`,{len:Z,data:{delimiter:"/"}}),Z}jsToken(){if(this.chunk[0]!=="`")return 0;let f=j5.exec(this.chunk)||T5.exec(this.chunk);if(!f)return 0;let U=f[1],_=f[0].length;return this.emit("JS",U,{len:_,data:{here:f[0].startsWith("```")}}),_}wordLiteral(){if(this.chunk[0]!=="%"||this.chunk[1]!=="w")return 0;let f=this.chunk[2];if(!f||/\s/.test(f))return 0;let _={"[":"]","(":")","{":"}","<":">"}[f]||f,W=_!==f,u=1,$=3;while($<this.chunk.length&&u>0){let G=this.chunk[$];if(G==="\\"){$+=2;continue}if(W&&G===f)u++;if(G===_)u--;if(u>0)$++}if(u!==0)return 0;let F=this.chunk.slice(3,$),Y=$+1,Z=[];if(F.trim()){let G=F.trim().split(/(?<!\\)\s+/);for(let Q of G)Z.push(Q.replace(/\\ /g," "))}this.emit("[","[",{len:Y});for(let G=0;G<Z.length;G++){if(G>0)this.emit(",",",");this.emit("STRING",`"${Z[G]}"`)}return this.emit("]","]"),Y}symbolToken(){if(this.chunk[0]!==":")return 0;let f=this.chunk[1];if(!f||f==="="||f===":"||/\s/.test(f))return 0;if(!/[a-zA-Z_$]/.test(f))return 0;let U=/^((?:(?!\s)[$\w\x7f-\uffff])+)/.exec(this.chunk.slice(1));if(!U)return 0;let _=U[1],W=_.length+1;return this.emit("SYMBOL",_,{len:W}),W}literalToken(){let f=this.wordLiteral();if(f)return f;let U=this.symbolToken();if(U)return U;let _=M5.exec(this.chunk),W=_?_[0]:this.chunk.charAt(0),u=W,$=this.prev();if(R5.test(W))this.tagParameters();if(W==="="&&$&&$[1]==="."&&!$.spaced){let F=this.tokens,Y=F.length-2;while(Y>=1&&F[Y][0]==="PROPERTY"&&F[Y-1]?.[1]===".")Y-=2;if(Y>=0&&(F[Y][0]==="IDENTIFIER"||F[Y][0]===")"||F[Y][0]==="]")){let Z=F.slice(Y,F.length-1);$[0]="=",$[1]="=";for(let G of Z)this.tokens.push(e1(G[0],G[1],{pre:0,row:G[2],col:G[3],len:G[4]}));return this.tokens.push(e1(".",".",{pre:0,row:this.row,col:this.col,len:1})),W.length}}if($&&(W==="="||f3.has(W))){if(W==="="&&($[1]==="||"||$[1]==="&&"||$[1]==="??")&&!$.spaced)return $[0]="COMPOUND_ASSIGN",$[1]+="=",W.length}if(W==="("&&$?.[0]==="IMPORT")$[0]="DYNAMIC_IMPORT";if(W==="{"&&this.seenImport)this.importSpecifierList=!0;if(W==="}"&&this.importSpecifierList)this.importSpecifierList=!1;if(W==="{"&&$?.[0]==="EXPORT")this.exportSpecifierList=!0;if(W==="}"&&this.exportSpecifierList)this.exportSpecifierList=!1;if(W===";")this.seenFor=this.seenImport=this.seenExport=!1,this.inTypeAnnotation=!1,u="TERMINATOR";else if(W==="|>")u="PIPE";else if(W==="::"&&/^[a-zA-Z_$]/.test(this.chunk[2]||""))return this.emit(".","."),this.emit("PROPERTY","prototype"),this.emit(".","."),2;else if(W==="::")u="TYPE_ANNOTATION",this.inTypeAnnotation=!0;else if(W==="~=")u="COMPUTED_ASSIGN";else if(W===":=")u="REACTIVE_ASSIGN";else if(W==="<=>")u="BIND";else if(W==="~>")u="EFFECT",this.inTypeAnnotation=!1;else if(W==="=!")u="READONLY_ASSIGN",this.inTypeAnnotation=!1;else if(W==="*>"&&(!$||$[0]==="TERMINATOR"||$[0]==="INDENT"||$[0]==="OUTDENT")&&(/^[a-zA-Z_$]/.test(this.chunk[2]||"")||this.chunk[2]==="@")){let F=this.chunk.slice(2),Y=/^@(\s*)=(?!=)/.exec(F);if(Y){let G=Y[1];this.emit("IDENTIFIER","Object"),this.emit(".",".");let Q=this.emit("PROPERTY","assign");return Q.spaced=!0,this.emit("@","@"),this.emit(",",","),3+G.length+1}let Z=/^(@?(?:(?!\s)[$\w\x7f-\uffff])+(?:\.[a-zA-Z_$][\w]*)*)(\s*)=(?!=)/.exec(F);if(Z){let G=Z[1],Q=Z[2],z=G[0]==="@",A=z?G.slice(1):G,J=A?A.split("."):[],K=()=>{if(z){if(this.emit("@","@"),J.length>0)this.emit("PROPERTY",J[0])}else this.emit("IDENTIFIER",J[0]);for(let w=1;w<J.length;w++)this.emit(".","."),this.emit("PROPERTY",J[w])};K(),this.emit("=","="),this.emit("IDENTIFIER","Object"),this.emit(".","."),this.emit("PROPERTY","assign"),this.emit("CALL_START","("),K(),this.emit("COMPOUND_ASSIGN","??="),this.emit("{","{"),this.emit("}","}"),this.emit(",",",");let D=this.prev();return D.mergeClose=!0,2+G.length+Q.length+1}}else if(W==="*"&&$?.[0]==="EXPORT")u="EXPORT_ALL";else if(A5.has(W))u="MATH";else if(J5.has(W))u="COMPARE";else if(f3.has(W))u="COMPOUND_ASSIGN";else if(w5.has(W))u="UNARY_MATH";else if(X5.has(W))u="SHIFT";else if(W==="?"&&$?.spaced)u="TERNARY";else if(W==="?!"&&$&&!$.spaced)u="PRESENCE";else if(W==="?"&&(this.chunk[1]==="["||this.chunk[1]==="("))u="?.";else if($){if(W==="("&&!$.spaced&&s1.has($[0])){if($[0]==="?.")$[0]="ES6_OPTIONAL_CALL";u="CALL_START"}if(W==="["&&!$.spaced&&t1.has($[0])){if(u="INDEX_START",$[0]==="?.")$[0]="ES6_OPTIONAL_INDEX"}}if(this.inTypeAnnotation&&(W==="="||u==="COMPOUND_ASSIGN"))this.inTypeAnnotation=!1;if(W==="("||W==="{"||W==="[")this.ends.push({tag:F5[W],origin:[u,W]});else if(W===")"||W==="}"||W==="]")this.pair(W);return this.emit(u,W,{len:W.length}),W.length}tagParameters(){if(this.prevTag()!==")")return this.tagDoIife();let f=this.tokens.length-1,U=[];this.tokens[f][0]="PARAM_END";while(f-- >0){let _=this.tokens[f];if(_[0]===")")U.push(_);else if(_[0]==="("||_[0]==="CALL_START")if(U.length)U.pop();else if(_[0]==="(")return _[0]="PARAM_START",this.tagDoIife(f-1);else{this.tokens[this.tokens.length-1][0]="CALL_END";return}}}tagDoIife(f){let U=this.tokens[f??this.tokens.length-1];if(U?.[0]==="DO")U[0]="DO_IIFE"}rewrite(f){return this.tokens=f,this.removeLeadingNewlines(),this.rewriteDottedPicks(),this.rewriteMapLiterals(),this.closeMergeAssignments(),this.closeOpenCalls(),this.closeOpenIndexes(),this.normalizeLines(),this.rewriteRender?.(),this.rewriteSchema?.(),this.rewriteTypes(),this.tagPostfixConditionals(),this.rewriteTaggedTemplates(),this.addImplicitBracesAndParens(),this.addImplicitCallCommas(),this.tokens}removeLeadingNewlines(){let f=0;while(this.tokens[f]?.[0]==="TERMINATOR")f++;if(f>0)this.tokens.splice(0,f)}rewriteMapLiterals(){let f=this.tokens;for(let U=0;U<f.length;U++){if(f[U][0]!=="MATH"||f[U][1]!=="*")continue;let _=f[U+1];if(!_||_[0]!=="{")continue;if(f[U].spaced||f[U].newLine)continue;let W=f[U-1];if(W&&t1.has(W[0]))continue;f.splice(U,1),f[U][0]="MAP_START";let u=1;for(let $=U+1;$<f.length&&u>0;$++){let F=f[$][0];if(F==="{"||F==="MAP_START")u++;if(F==="}"){if(u--,u===0)f[$][0]="MAP_END"}}}}rewriteDottedPicks(){let f=this.tokens;for(let U=0;U<f.length;U++){let _=f[U][0];if(_!=="."&&_!=="?.")continue;let W=f[U+1];if(!W||W[0]!=="{")continue;if(f[U].spaced||f[U].newLine)continue;let u=f[U-1];if(!u||!t1.has(u[0]))continue;let $=_==="?.";f.splice(U,1),f[U][0]=$?"OPTPICK_START":"PICK_START";let F=1;for(let Y=U+1;Y<f.length&&F>0;Y++){let Z=f[Y][0];if(Z==="{"||Z==="PICK_START"||Z==="OPTPICK_START")F++;else if(Z==="}"){if(F--,F===0){f[Y][0]="PICK_END";break}}}}}closeOpenCalls(){this.scanTokens((f,U)=>{if(f[0]==="CALL_START")this.detectEnd(U+1,(_)=>_[0]===")"||_[0]==="CALL_END",(_)=>_[0]="CALL_END");return 1})}closeOpenIndexes(){this.scanTokens((f,U)=>{if(f[0]==="INDEX_START")this.detectEnd(U+1,(_)=>_[0]==="]"||_[0]==="INDEX_END",(_,W)=>{if(this.tokens[W+1]?.[0]===":")f[0]="[",_[0]="]";else _[0]="INDEX_END"});return 1})}normalizeLines(){let f=null,U=null,_=null,W=($,F)=>{return $[1]!==";"&&Q5.has($[0])&&!($[0]==="TERMINATOR"&&s2.has(this.tokens[F+1]?.[0]))&&!($[0]==="ELSE"&&f!=="THEN")||$[0]==="INDENT"&&!$.generated&&(f==="->"||f==="=>")||$[0]===","&&(f==="->"||f==="=>")&&!this.commaInImplicitCall(F)&&!this.commaInImplicitObject(F)||e2.has($[0])&&(this.tokens[F-1]?.newLine||this.tokens[F-1]?.[0]==="OUTDENT")},u=($,F)=>{let Y=this.tokens[F-1]?.[0]===","?F-1:F;this.tokens.splice(Y,0,_)};this.scanTokens(($,F,Y)=>{let[Z]=$;if(Z==="TERMINATOR"){if(this.tokens[F+1]?.[0]==="ELSE"&&this.tokens[F-1]?.[0]!=="OUTDENT")return Y.splice(F,1,...this.makeIndentation()),1;if(s2.has(this.tokens[F+1]?.[0]))return Y.splice(F,1),0}if(Z==="CATCH")for(let G=1;G<=2;G++){let Q=this.tokens[F+G]?.[0];if(Q==="OUTDENT"||Q==="TERMINATOR"||Q==="FINALLY")return Y.splice(F+G,0,...this.makeIndentation()),2+G}if((Z==="->"||Z==="=>")&&(this.tokens[F+1]?.[0]===","||this.tokens[F+1]?.[0]==="]"))return[U,_]=this.makeIndentation(),Y.splice(F+1,0,U,_),1;if(t2.has(Z)&&this.tokens[F+1]?.[0]!=="INDENT"&&!(Z==="ELSE"&&this.tokens[F+1]?.[0]==="IF")&&!(Z==="ELSE"&&this.tokens[F-1]?.[0]!=="OUTDENT")){if(f=Z,[U,_]=this.makeIndentation(),Z==="THEN")U.fromThen=!0;if(Y.splice(F+1,0,U),Z==="THEN"&&this.singleLineOwner(F)==="LEADING_WHEN")this.detectWhenThenEnd(F+2,W,u);else this.detectEnd(F+2,W,u);if(Z==="THEN")Y.splice(F,1);return 1}return 1})}singleLineOwner(f){let U=new Set(["LEADING_WHEN","IF","POST_IF","UNLESS","POST_UNLESS","ELSE","CATCH","TRY","FINALLY","->","=>"]);for(let _=f-1;_>=0;_--){let W=this.tokens[_],u=W?.[0];if(U.has(u))return u;if(V1.has(u)||W?.newLine)return null}return null}detectWhenThenEnd(f,U,_){let W=0,u=0;while(f<this.tokens.length){let $=this.tokens[f],F=$[0];if(W===0){if(F==="THEN"&&this.singleLineOwner(f)!=="LEADING_WHEN")u++;else if(F==="ELSE"&&u>0)u--;else if(U.call(this,$,f))return _.call(this,$,f)}if(H1.has(F))W++;if(w1.has(F))W--;if(W<0)return _.call(this,$,f);f++}}tagPostfixConditionals(){let f=null,U=(W,u)=>{return W[0]==="TERMINATOR"||W[0]==="INDENT"&&!t2.has(this.tokens[u-1]?.[0])},_=(W)=>{if(W[0]!=="INDENT"||W.generated&&!W.fromThen)f[0]="POST_"+f[0]};this.scanTokens((W,u)=>{if(W[0]!=="IF"&&W[0]!=="UNLESS")return 1;if(this.tokens[u-1]?.[0]==="INTERPOLATION_START")return 1;return f=W,this.detectEnd(u+1,U,_),1})}rewriteTaggedTemplates(){let f=this.tokens;for(let U=f.length-2;U>=0;U--)if(f[U][0]==="IDENTIFIER"&&f[U][1]==="$"&&(f[U+1]?.[0]==="STRING"||f[U+1]?.[0]==="STRING_START")){let _=f[U-1];if(_&&Z5.has(_[0])){if(f.splice(U,1),_.spaced=!1,f[U].spaced=!1,f[U].pre=0,f[U].newLine)f[U].newLine=!1}}}addImplicitBracesAndParens(){let f=[],U=!1;this.scanTokens((_,W,u)=>{let[$]=_,F=u[W-1]||[],Y=u[W+1]||[],[Z]=F,[G]=Y,Q=W,z=(P)=>W-Q+P,A=()=>f[f.length-1],J=(P)=>P?.[2]?.ours,K=()=>J(A())&&A()?.[0]==="(",D=()=>J(A())&&A()?.[0]==="{",w=(P)=>{f.push(["(",P,{ours:!0}]),u.splice(P,0,A1("CALL_START","("))},X=()=>{f.pop(),u.splice(W,0,A1("CALL_END",")")),W+=1},H=(P,M={})=>{f.push(["{",P,{sameLine:!0,startsLine:M.startsLine??!0,ours:!0}]);let I=A1("{","{");if(!I.data)I.data={};I.data.generated=!0,u.splice(P,0,I)},q=(P)=>{P=P??W,f.pop(),u.splice(P,0,A1("}","}")),W+=1};if((K()||D())&&G5.has($))return f.push(["CONTROL",W,{ours:!0}]),z(1);if($==="INDENT"&&J(A())){if(Z!=="=>"&&Z!=="->"&&Z!=="["&&Z!=="("&&Z!==","&&Z!=="{"&&Z!=="ELSE"&&Z!=="=")while(K()||D()&&Z!==":")if(K())X();else q();if(A()?.[2]?.ours&&A()[0]==="CONTROL")f.pop();return f.push([$,W]),z(1)}if(H1.has($))return f.push([$,W]),z(1);if(w1.has($)){while(J(A()))if(K())X();else if(D())q();else f.pop();f.pop()}let B=!1;if(G==="-"&&!Y.spaced&&!Y.newLine&&q1(_))for(let P=W;P<u.length-2;P+=2){if(!r1(u[P+1],u[P+2]))break;if(!q1(u[P+2]))break;if(u[P+3]?.[0]===":"){B=!0;break}}if(!B&&w2.has($)&&_.spaced&&(o1.has(G)||G==="..."&&o1.has(u[W+2]?.[0])||W5.has(G)&&!Y.spaced&&!Y.newLine)&&!(($==="]"||$==="}")&&(G==="->"||G==="=>")))return w(W+1),z(2);if(w2.has($)&&this.tokens[W+1]?.[0]==="INDENT"&&this.looksObjectish(W+2)&&!this.findTagsBackwards(W,["CLASS","EXTENDS","IF","CATCH","SWITCH","LEADING_WHEN","FOR","WHILE","UNTIL"]))return w(W+1),f.push(["INDENT",W+2]),z(3);if($==="TERNARY")U=!0;if($===":"){if(U)return U=!1,z(1);if(q1(u[W-1])&&r1(u[W-2],u[W-1])){let I=W-2;while(I>=2&&r1(u[I],u[I+1])&&q1(u[I-1]))I-=2;if(I+=1,q1(u[I])){let L="";for(let N=I;N<W;N++)L+=u[N][1];let V=A1("STRING",`"${L}"`,u[I]);V.pre=u[I].pre,V.spaced=u[I].spaced,V.newLine=u[I].newLine,V.loc=u[I].loc,u.splice(I,W-I,V),W=I+1}}let P=w1.has(this.tokens[W-1]?.[0])?f[f.length-1]?.[1]??W-1:W-1;if(this.tokens[W-2]?.[0]==="@")P=W-2;let M=P<=0||V1.has(this.tokens[P-1]?.[0])||this.tokens[P-1]?.newLine;if(A()){let[I,L]=A(),V=f[f.length-2],N=(C)=>C==="{"||C==="MAP_START"||C==="PICK_START"||C==="OPTPICK_START";if((N(I)||I==="INDENT"&&N(V?.[0])&&!J(V))&&(M||this.tokens[P-1]?.[0]===","||N(this.tokens[P-1]?.[0])||N(this.tokens[P]?.[0])))return z(1)}return H(P,{startsLine:!!M}),z(2)}if(V1.has($))for(let P=f.length-1;P>=0;P--){if(!J(f[P]))break;if(f[P][0]==="{")f[P][2].sameLine=!1}let R=Z==="OUTDENT"||F.newLine,S=$==="||"||$==="&&",O=!1;if(S){let P=W+1,M=u[P]?.[0];if(M==="("||M==="["||M==="{"){for(let I=1;++P<u.length&&I>0;)if(M=u[P][0],M==="("||M==="["||M==="{")I++;else if(M===")"||M==="]"||M==="}")I--}else if(M&&M!=="TERMINATOR"&&M!=="OUTDENT"&&M!==",")P++;O=u[P]?.[0]===","}if(_5.has($)&&!O||e2.has($)&&R)while(J(A())){let[P,,{sameLine:M,startsLine:I}]=A();if(K()&&Z!==",")X();else if(D()&&!S&&M&&$!=="TERMINATOR"&&Z!==":")q();else if(D()&&$==="TERMINATOR"&&Z!==","&&!(I&&this.looksObjectish(W+1)))q();else if(A()?.[2]?.ours&&A()[0]==="CONTROL"&&u[A()[1]]?.[0]==="CLASS"&&$==="TERMINATOR")f.pop();else break}if($===","&&!this.looksObjectish(W+1)&&D()&&(G!=="TERMINATOR"||!this.looksObjectish(W+2))){let P=G==="OUTDENT"?1:0;while(D())q(W+P)}return z(1)})}addImplicitCallCommas(){let f=0,U=0,_=this.tokens;while(U<_.length){let W=_[U][0],u=U>0?_[U-1][0]:null;if(W==="CALL_START"||W==="(")f++;if(W==="CALL_END"||W===")")f--;if(f>0&&(W==="->"||W==="=>")&&Y5.has(u))_.splice(U,0,A1(",",",")),U++;U++}}scanTokens(f){let U=0;while(U<this.tokens.length)U+=f.call(this,this.tokens[U],U,this.tokens)}detectEnd(f,U,_,W={}){let u=0;while(f<this.tokens.length){let $=this.tokens[f];if(u===0&&U.call(this,$,f))return _.call(this,$,f);if(H1.has($[0]))u++;if(w1.has($[0]))u--;if(u<0){if(W.returnOnNegativeLevel)return;return _.call(this,$,f)}f++}}closeMergeAssignments(){let f=this.tokens;for(let U=0;U<f.length;U++){if(!f[U].mergeClose)continue;let _=0;for(let W=U+1;W<f.length;W++){let u=f[W][0];if(u==="("||u==="["||u==="{"||u==="CALL_START"||u==="INDEX_START"||u==="INDENT")_++;if(u===")"||u==="]"||u==="}"||u==="CALL_END"||u==="INDEX_END"||u==="OUTDENT")_--;if(_<0||_===0&&u==="TERMINATOR"){f.splice(W,0,A1("CALL_END",")",f[W-1]));break}if(W===f.length-1){f.splice(W+1,0,A1("CALL_END",")",f[W]));break}}}}commaInImplicitCall(f){let U=0;for(let _=f-1;_>=0;_--){let W=this.tokens[_][0];if(w1.has(W)){U++;continue}if(H1.has(W)){if(W==="INDENT")return!1;if(U--,U<0)return!1;continue}if(U>0)continue;if(w2.has(W)&&this.tokens[_].spaced){let u=this.tokens[_+1]?.[0];return o1.has(u)||u==="..."&&o1.has(this.tokens[_+2]?.[0])}}return!1}commaInImplicitObject(f){let U=0;for(let _=f-1;_>=0;_--){let W=this.tokens[_][0];if(w1.has(W)){U++;continue}if(H1.has(W)){if(U--,U<0)return!1;continue}if(U>0)continue;if(W===":"&&_>0&&this.tokens[_-1][0]==="PROPERTY")return this.looksObjectish(f+1);if(V1.has(W))return!1}return!1}looksObjectish(f){if(!this.tokens[f])return!1;if(this.tokens[f]?.[0]==="@"&&this.tokens[f+2]?.[0]===":")return!0;if(this.tokens[f+1]?.[0]===":")return!0;if(q1(this.tokens[f]))for(let U=f+1;U<this.tokens.length;U+=2){if(!r1(this.tokens[U],this.tokens[U+1]))break;if(!q1(this.tokens[U+1]))break;if(this.tokens[U+2]?.[0]===":")return!0}if(H1.has(this.tokens[f]?.[0])){let U=null;if(this.detectEnd(f+1,(_)=>w1.has(_[0]),(_,W)=>U=W),U&&this.tokens[U+1]?.[0]===":")return!0}return!1}findTagsBackwards(f,U){let _=new Set(U),W=[];while(f>=0){let u=this.tokens[f]?.[0];if(!W.length&&_.has(u))return!0;if(w1.has(u))W.push(u);if(H1.has(u)&&W.length)W.pop();if(!W.length&&(H1.has(u)&&!this.tokens[f]?.generated||V1.has(u)))break;f--}return!1}makeIndentation(f){let U=A1("INDENT",2),_=A1("OUTDENT",2);if(f)U.generated=_.generated=!0,U.origin=_.origin=f;else U.explicit=_.explicit=!0;return[U,_]}}p2(K1);a1(K1);var v5=["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"],_3=new Set(v5);var g5=["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 c5=["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"],x5=["math","param","portal"],Y3=new Set([...g5,...x5]),O1=new Set(c5),R1=new Set([...Y3,...O1]);var F3="__bind_",Z3="__",D2=new Set(["beforeMount","mounted","updated","beforeUnmount","unmounted","onError"]),l5=new Set(["disabled","hidden","readonly","required","checked","selected","autofocus","autoplay","controls","loop","muted","multiple","novalidate","open","reversed","defer","async","formnovalidate","allowfullscreen","inert"]),M2="http://www.w3.org/2000/svg";function m5(f){for(let U of f){if(!Array.isArray(U))continue;let _=U[1]instanceof String?U[1].valueOf():U[1],W=U[2]instanceof String?U[2].valueOf():U[2];if(_==="type"&&typeof W==="string")return W.replace(/^["']|["']$/g,"")}return null}function P1(f){if(typeof f==="string"||f instanceof String)return f.valueOf();if(Array.isArray(f)&&f[0]==="."&&f[1]==="this"&&(typeof f[2]==="string"||f[2]instanceof String))return f[2].valueOf();return null}function H2(f){return Array.isArray(f)&&f[0]==="."&&f[1]==="this"}function q2(f){if(f instanceof String&&f.type)return f.type;if(Array.isArray(f)&&f[2]instanceof String&&f[2].type)return f[2].type;return null}function G3(f,U){let _=(Y,Z)=>Y instanceof String?Y[Z]:void 0,W=U.prototype.classifyKeyword;U.prototype.classifyKeyword=function(Y,Z,G){if(Y==="offer"||Y==="accept"){let Q=0;for(let z=this.tokens.length-1;z>=0;z--){let A=this.tokens[z][0];if(A==="OUTDENT")Q++;else if(A==="INDENT")Q--;if(Q<0&&this.tokens[z-1]?.[0]==="COMPONENT")return Y.toUpperCase()}return Z}return W.call(this,Y,Z,G)},U.prototype.rewriteRender=function(){let Y=(X,H,q)=>{let B=[X,H];if(B.pre=0,B.data=null,B.loc=q?.loc??{r:0,c:0,n:0},B.spaced=!1,B.newLine=!1,B.generated=!0,q)B.origin=q;return B},Z=!1,G=0,Q=0,z=[],A=(X)=>{let H=X.split("#")[0];return R1.has(H)},J=(X)=>{if(!X||typeof X!=="string")return!1;return/^[A-Z][A-Za-z0-9]*[a-z][A-Za-z0-9]*$/.test(X)},K=(X)=>{return A(X)||J(X)},D=(X,H,q,B)=>{let R=1,S=H;while(S>=0&&R>0){let O=X[S][0];if(O===q)R++;else if(O===B)R--;if(R>0)S--}return S},w=(X,H)=>{let q=H;while(q>0){let B=X[q-1][0];if(B==="TERMINATOR"||B==="RENDER")break;if(B==="INDENT"||B==="OUTDENT"){let R=X[q][0];if(R==="CALL_END"||R===")"){q=D(X,q-1,R,R==="CALL_END"?"CALL_START":"(");continue}break}if(B==="CALL_END"||B===")"){q=D(X,q-2,B,B==="CALL_END"?"CALL_START":"(");continue}if(B==="INTERPOLATION_END"){q=D(X,q-2,"INTERPOLATION_END","INTERPOLATION_START");continue}if(B==="STRING_END"){q=D(X,q-2,"STRING_END","STRING_START");continue}q--}return X[q]&&X[q][0]==="IDENTIFIER"&&(K(X[q][1])||(q===0||X[q-1][0]==="INDENT"||X[q-1][0]==="TERMINATOR"||X[q-1][0]==="RENDER"))};this.scanTokens(function(X,H,q){let B=X[0],R=H<q.length-1?q[H+1]:null;if(B==="RENDER")return Z=!0,G=Q+1,1;if(B==="INDENT")return Q++,1;if(B==="OUTDENT"){Q--;let S=0;while(z.length>0&&z[z.length-1]>Q){let O=Y("CALL_END",")",X);q.splice(H+1+S,0,O),z.pop(),S++}if(Z&&Q<G)Z=!1;return 1+S}if(!Z)return 1;if(B==="="&&H>0){let S=q[H-1][0];if(S==="TERMINATOR"||S==="INDENT"||S==="RENDER"){let O=Y("IDENTIFIER","__text__",X),P=Y("CALL_START","(",X);return q.splice(H,1,O,P),this.detectEnd(H+2,(M)=>M[0]==="TERMINATOR"||M[0]==="OUTDENT",(M,I)=>q.splice(I,0,Y("CALL_END",")",M)),{returnOnNegativeLevel:!0}),2}}if(B==="UNARY_MATH"&&X[1]==="~"&&R&&R[0]==="IDENTIFIER"){X[0]="PROPERTY",X[1]="__transition__";let S=Y(":",":",X),O=Y("STRING",`"${R[1]}"`,R);return q.splice(H+1,1,S,O),1}if(B==="PROPERTY"&&X[1][0]==="$"&&X[1].length>1)return X[0]="STRING",X[1]=`"data-${X[1].slice(1)}"`,1;if(B==="IDENTIFIER"&&!X.spaced){let S=[X[1]],O=H+1;while(O+1<q.length){let P=q[O],M=q[O+1];if(P[0]==="-"&&!P.spaced&&(M[0]==="IDENTIFIER"||M[0]==="PROPERTY")){if(S.push(M[1]),O+=2,M[0]==="PROPERTY")break}else break}if(S.length>1&&O>H+1&&q[O-1][0]==="PROPERTY"){let P=S.join("-");if(P[0]==="$")P="data-"+P.slice(1);return X[0]="STRING",X[1]=`"${P}"`,q.splice(H+1,O-H-1),1}}if(B==="."){let S=H>0?q[H-1]:null,O=S?S[0]:null;if(O==="INDENT"||O==="TERMINATOR"){if(R&&R[0]==="PROPERTY"){let P=H+2<q.length?q[H+2]:null;if(!P||P[0]!==":"){let M=Y("IDENTIFIER","div",X);return q.splice(H,0,M),2}}if(!R||R[0]!=="(")return X[0]="IDENTIFIER",X[1]="div",0}}if(B==="IDENTIFIER"||B==="PROPERTY"){let S=q[H+1],O=q[H+2];if(S&&S[0]==="#"&&O&&(O[0]==="PROPERTY"||O[0]==="IDENTIFIER")){if(X[1]=X[1]+"#"+O[1],O.spaced)X.spaced=!0;return q.splice(H+1,2),0}}if(B==="BIND"){let S=H>0?q[H-1]:null,O=q[H+1];if(S&&(S[0]==="IDENTIFIER"||S[0]==="PROPERTY")&&O&&O[0]==="IDENTIFIER")return S[1]=`__bind_${S[1]}__`,X[0]=":",X[1]=":",1}if(B==="@"){let S=H+1;if(S<q.length&&q[S][0]==="PROPERTY"){S++;while(S+1<q.length&&q[S][0]==="."&&q[S+1][0]==="PROPERTY")S+=2;if(S>H+2&&S<q.length&&q[S][0]===":"){let O=Y("[","[",X);q.splice(H,0,O);let P=Y("]","]",q[S+1]);return q.splice(S+1,0,P),2}}}if(B==="."&&R&&R[0]==="("){let S=H>0?q[H-1]:null,O=S?S[0]:null,P=O==="INDENT"||O==="TERMINATOR",M=Y("PROPERTY","__clsx",X);R[0]="CALL_START";let I=1;for(let L=H+2;L<q.length&&I>0;L++)if(q[L][0]==="("||q[L][0]==="CALL_START")I++;else if(q[L][0]===")"){if(I--,I===0)q[L][0]="CALL_END"}else if(q[L][0]==="CALL_END")I--;if(P){let L=Y("IDENTIFIER","div",X);return q.splice(H,0,L),q.splice(H+2,0,M),3}else if(O===":")return q[H]=Y("IDENTIFIER","__clsx",X),1;else return q.splice(H+1,0,M),2}if(R&&R[0]==="INDENT"){if(R.fromThen)return 1;if(B==="->"||B==="=>"||B==="CALL_START"||B==="(")return 1;let S=!1,O=H>0?q[H-1][0]:null,P=O==="IF"||O==="UNLESS"||O==="WHILE"||O==="UNTIL"||O==="WHEN"||O==="FORIN"||O==="FOROF"||O==="FORAS"||O==="FORASAWAIT"||O==="BY",M=!1;if(B==="CALL_END"){let L=1;for(let V=H-1;V>=0&&L>0;V--)if(q[V][0]==="CALL_END")L++;else if(q[V][0]==="CALL_START"){if(L--,L===0&&V>0&&q[V-1][0]==="PROPERTY"&&q[V-1][1]==="__clsx")M=!0}}let I=B==="IDENTIFIER"&&(O==="INDENT"||O==="TERMINATOR"||O==="RENDER");if(M)S=!0;else if(B==="IDENTIFIER"&&K(X[1])&&!P)S=!0;else if(B==="IDENTIFIER"&&!P)S=I||w(q,H);else if(B==="PROPERTY"||B==="STRING"||B==="STRING_END"||B==="NUMBER"||B==="BOOL"||B==="CALL_END"||B===")"||B==="PRESENCE")S=w(q,H);if(S){let L=!1;if(B==="PROPERTY"&&H>0&&q[H-1][0]==="."){let N=H;while(N>=2&&q[N-1][0]==="."&&q[N-2][0]==="PROPERTY")N-=2;if(N>=2&&q[N-1][0]==="."&&q[N-2][0]==="IDENTIFIER"&&K(q[N-2][1])){let C=N>=3?q[N-3][0]:null;if(!C||C==="INDENT"||C==="OUTDENT"||C==="TERMINATOR"||C==="RENDER")L=!0}}if(M||B==="IDENTIFIER"&&(K(X[1])||I)||L){let N=Y("CALL_START","(",X),C=Y("->","->",X);return C.newLine=!0,q.splice(H+1,0,N,C),z.push(Q+1),3}else{let N=Y(",",",",X),C=Y("->","->",X);return C.newLine=!0,q.splice(H+1,0,N,C),3}}}if(B==="IDENTIFIER"&&J(X[1])&&R&&(R[0]==="OUTDENT"||R[0]==="TERMINATOR"))return q.splice(H+1,0,Y("CALL_START","(",X),Y("CALL_END",")",X)),3;return 1})};let u=f.prototype;u.isHtmlTag=function(Y){let Z=Y.split("#")[0];return R1.has(Z.toLowerCase())},u.isComponent=function(Y){if(!Y||typeof Y!=="string")return!1;return/^[A-Z][A-Za-z0-9]*[a-z][A-Za-z0-9]*$/.test(Y)},u.collectTemplateClasses=function(Y){let Z=[],G=Y;while(this.is(G,".")){let J=G[2];if(typeof J==="string"||J instanceof String)Z.unshift(J.valueOf());G=G[1]}let Q=typeof G==="string"?G:G instanceof String?G.valueOf():null;if(Q===null)return{tag:null,classes:Z,id:void 0,base:G};let[z,A]=Q.split("#");if(!z)z="div";return{tag:z,classes:Z,id:A,base:G}};let $=(Y)=>typeof Y==="string"?Y:Y instanceof String?Y.valueOf():null,F=(Y,Z)=>{if(!(Y instanceof String))return Z;let G=new String(Z);if(Y.predicate)G.predicate=!0;if(Y.await)G.await=!0;return G.predicate||G.await?G:Z};u.transformComponentMembers=function(Y,Z=new Set){let G=this._self;if(!Array.isArray(Y)){let Q=$(Y);if(Q&&Z.has(Q))return Y;if(Q&&this.reactiveMembers&&this.reactiveMembers.has(Q))return[".",[".",G,Q],F(Y,"value")];if(Q&&this.componentMembers&&this.componentMembers.has(Q))return[".",G,F(Y,Q)];return Y}if(Y[0]==="."&&Y[1]==="this"&&$(Y[2])!=null){let Q=Y[2],z=$(Q);if(this.reactiveMembers&&this.reactiveMembers.has(z))return[".",[".",G,z],F(Q,"value")];return this._factoryMode?[".",G,Q]:Y}if(Y[0]==="."||Y[0]==="?.")return[Y[0],this.transformComponentMembers(Y[1]),Y[2]];if(Y[0]==="->"){let Q=Y[1],z=new Set(Z);if(Array.isArray(Q))for(let A of Q){let J=$(Array.isArray(A)&&A[0]==="default"?A[1]:A);if(J)z.add(J)}return["=>",Y[1],this.transformComponentMembers(Y[2],z)]}if(Y[0]==="object"||Y[0]==="map-literal")return[Y[0],...Y.slice(1).map((Q)=>{if(Array.isArray(Q)&&Q[0]==="...")return["...",this.transformComponentMembers(Q[1],Z)];if(Array.isArray(Q)&&Q.length>=2){let z=Q[1],A=Array.isArray(z)?this.transformComponentMembers(z,Z):z,J=this.transformComponentMembers(Q[2],Z);return[Q[0],A,J]}return this.transformComponentMembers(Q,Z)})];if(Y[0]==="block"||Y[0]==="program"){let Q=new Set(Z),z=[Y[0]];for(let A=1;A<Y.length;A++){let J=Y[A];if(Array.isArray(J)&&J[0]==="="){let K=$(J[1]);if(K&&!(this.reactiveMembers&&this.reactiveMembers.has(K))){z.push(["=",J[1],this.transformComponentMembers(J[2],Q)]),Q.add(K);continue}}z.push(this.transformComponentMembers(J,Q))}return z}return Y.map((Q)=>this.transformComponentMembers(Q,Z))},u.emitComponent=function(Y,Z,G,Q){let[,z]=Z,A=this.is(z,"block")?z.slice(1):[],J=[],K=[],D=[],w=[],X=[],H=[],q=[],B=[],R=null,S=new Set,O=new Set;for(let T of A){if(!Array.isArray(T))continue;let[j]=T;if(j==="offer"){if(T=T[1],!Array.isArray(T))continue;j=T[0];let b=P1(T[1]);if(b)q.push(b)}if(j==="accept"){let b=typeof T[1]==="string"?T[1]:P1(T[1]);if(b)B.push(b),S.add(b),O.add(b)}else if(j==="."&&T[1]==="this"&&P1(T)){let b=typeof T[2]==="string"||T[2]instanceof String?T[2].valueOf():null;if(b)J.push({name:b,value:void 0,isPublic:!0,type:T[2]?.type||null,required:!0}),S.add(b),O.add(b)}else if(j==="state"){let b=P1(T[1]);if(b)J.push({name:b,value:T[2],isPublic:H2(T[1]),type:q2(T[1])}),S.add(b),O.add(b)}else if(j==="computed"){let b=P1(T[1]);if(b)K.push({name:b,expr:T[2],type:q2(T[1])}),S.add(b),O.add(b)}else if(j==="readonly"){let b=P1(T[1]);if(b)D.push({name:b,value:T[2],isPublic:H2(T[1]),type:q2(T[1])}),S.add(b)}else if(j==="="){let b=P1(T[1]);if(b)if(D2.has(b))X.push({name:b,value:T[2]});else{let i=T[2];if(Array.isArray(i)&&(i[0]==="->"||i[0]==="=>"))w.push({name:b,func:i}),S.add(b);else J.push({name:b,value:i,isPublic:H2(T[1])}),S.add(b),O.add(b)}}else if(j==="effect")H.push(T);else if(j==="render")R=T;else if(j==="object")for(let b=1;b<T.length;b++){let i=T[b];if(!Array.isArray(i))continue;let[,r,U1]=i;if(typeof r==="string"&&D2.has(r))X.push({name:r,value:U1});else if(typeof r==="string")w.push({name:r,func:U1}),S.add(r)}}let P=new Map;for(let{name:T}of w)if(/^on[A-Z]/.test(T)&&!D2.has(T)){let j=T[2].toLowerCase()+T.slice(3);if(_3.has(j))P.set(j,T)}let M=Z[0]?.valueOf?.()??null,I=new Set;for(let{name:T,isPublic:j}of J)if(j)I.add(T);for(let{name:T,isPublic:j}of D)if(j)I.add(T);let L=this.componentMembers,V=this.reactiveMembers,N=this._autoEventHandlers,C=this._inheritsTag;if(this.componentMembers=S,this.reactiveMembers=O,this._autoEventHandlers=P.size>0?P:null,this._inheritsTag=M||null,this.options.stubComponents){let T=(y)=>y?y.replace(/::/g,":").replace(/(\w+(?:<[^>]+>)?)\?\?/g,"$1 | null | undefined").replace(/(\w+(?:<[^>]+>)?)\?(?![.:])/g,"$1 | undefined").replace(/(\w+(?:<[^>]+>)?)\!/g,"NonNullable<$1>"):null,j=[],b=this._componentTypeParams||"";j.push(`class ${b}{`),j.push(" declare _root: Element | null; declare app: any;"),j.push(" emit(_name: string, _detail?: any): void {}");let i=[];for(let{name:y,type:v,isPublic:x,required:d}of J){if(!x)continue;let o=T(v),u1=d?"":"?";i.push(`${y}${u1}: ${o||"any"}`),i.push(`__bind_${y}__?: Signal<${o||"any"}>`)}for(let{name:y,type:v,isPublic:x}of D){if(!x)continue;let d=T(v);i.push(`${y}?: ${d||"any"}`)}{let v=i.length>0&&J.some((d)=>d.isPublic&&d.required)?"":"?",x=i.length>0?`{${i.join("; ")}}`:"{}";if(M)x+=` & __RipProps<'${M}'>`;j.push(` constructor(_props${v}: ${x}) {}`)}let r=(y)=>{let v=y?.valueOf?.()??y;if(typeof v!=="string")return null;if(v==="true"||v==="false")return"boolean";if(/^-?\d+(\.\d+)?$/.test(v))return"number";if(v.startsWith('"')||v.startsWith("'"))return"string";return null};for(let{name:y,type:v,value:x}of J){let d=T(v)||r(x);j.push(d?` declare ${y}: Signal<${d}>;`:` declare ${y}: Signal<any>;`)}for(let{name:y,type:v,value:x}of D){let d=T(v)||r(x);j.push(d?` declare ${y}: ${d};`:` declare ${y}: any;`)}for(let{name:y,expr:v,type:x}of K){let d=T(x),o=d?`: Computed<${d}>`:"";if(this.is(v,"block")){let u1=this.transformComponentMembers(v),c=this.emitFunctionBody(u1);j.push(` ${y}${o} = __computed(() => ${c});`)}else{let u1=this.emitInComponent(v,"value");j.push(` ${y}${o} = __computed(() => ${u1});`)}}j.push(" _init(props) {");for(let{name:y,value:v,isPublic:x}of D){let d=this.emitInComponent(v,"value");j.push(x?` this.${y} = props.${y} ?? ${d};`:` this.${y} = ${d};`)}for(let{name:y,value:v,isPublic:x,required:d,type:o}of J)if(x&&d)j.push(` this.${y} = __state(props.__bind_${y}__ ?? props.${y});`);else if(x){let u1=this.emitInComponent(v,"value");j.push(` this.${y} = __state(props.__bind_${y}__ ?? props.${y} ?? ${u1});`)}else{let u1=this.emitInComponent(v,"value");j.push(` this.${y} = __state(${u1});`)}for(let y of H){let v=y[2],x=this.containsAwait(v)?"async ":"";if(this.is(v,"block")){let d=this.transformComponentMembers(v),o=this.emitFunctionBody(d,[],!0);j.push(` __effect(${x}() => ${o});`)}else{let d=this.emitInComponent(v,"value");j.push(` __effect(${x}() => { ${d}; });`)}}j.push(" }");let U1=new Map;for(let[y,v]of P)U1.set(v,y);if(R){let y=(v)=>{if(!Array.isArray(v))return;let x=v[0]?.valueOf?.()??v[0];if(typeof x==="string"&&x!=="object"&&x!=="switch"&&R1.has(x.split(/[.#]/)[0]))for(let d=1;d<v.length;d++){let o=v[d],u1=this.is(o,"object")?o:null;if(!u1&&Array.isArray(o)&&(o[0]==="->"||o[0]==="=>")&&this.is(o[2],"block")){for(let c=1;c<o[2].length;c++)if(this.is(o[2][c],"object")){u1=o[2][c];break}}if(!u1)continue;for(let c=1;c<u1.length;c++){let n=u1[c];if(!Array.isArray(n)||n.length<2)continue;let[,s,e]=n;if(Array.isArray(s)&&s[0]==="."&&s[1]==="this"&&Array.isArray(e)&&e[0]==="."&&e[1]==="this"){let h=typeof s[2]==="string"?s[2]:s[2]?.valueOf?.(),p=typeof e[2]==="string"?e[2]:e[2]?.valueOf?.();if(h&&p&&!U1.has(p))U1.set(p,h)}}}for(let d=1;d<v.length;d++)y(v[d])};y(R)}for(let{name:y,func:v}of w)if(Array.isArray(v)&&(v[0]==="->"||v[0]==="=>")){let[,x,d]=v;if((!x||Array.isArray(x)&&x.length===0)&&this.containsIt(d))x=["it"];let o=Array.isArray(x)?x.map((e)=>{let h=this.formatParam(e);if(e?.type)h+=`: ${e.type}`;return h}).join(", "):"",u1=U1.get(y);if(u1&&Array.isArray(x)&&x.length>0){let e=x[0];if(!(e?.type||e instanceof String&&e.type)&&typeof(e?.valueOf?.()??e)==="string"){let p=e?.valueOf?.()??e;o=o.replace(p,`${p}: HTMLElementEventMap['${u1}']`)}}let c=this.reactiveMembers?this.transformComponentMembers(d):d,n=this.containsAwait(d),s=this.emitFunctionBody(c,x||[]);j.push(` ${n?"async ":""}${y}(${o}) ${s}`)}for(let{name:y,value:v}of X)if(Array.isArray(v)&&(v[0]==="->"||v[0]==="=>")){let[,x,d]=v,o=Array.isArray(x)?x.map((s)=>this.formatParam(s)).join(", "):"",u1=this.reactiveMembers?this.transformComponentMembers(d):d,c=this.containsAwait(d),n=this.emitFunctionBody(u1,x||[]);j.push(` ${c?"async ":""}${y}(${o}) ${n}`)}if(R){let y=[],v=0,x=this.options.source?.split(`
1310
- `),d=(c)=>{let n=[];for(let s of c){let e=null;if(this.is(s,"object"))e=s;else if(Array.isArray(s)&&(s[0]==="->"||s[0]==="=>")&&this.is(s[2],"block")){for(let h=1;h<s[2].length;h++)if(this.is(s[2][h],"object")){e=s[2][h];break}}if(e)for(let h=1;h<e.length;h++){let p=e[h],[,m,t]=p;if(typeof m==="string"&&!m.startsWith("@")){let $1=p.loc?.r??e.loc?.r;if(m.startsWith("__bind_")&&m.endsWith("__")){let a=typeof t==="string"&&this.reactiveMembers?.has(t)?`this.${t}`:this.emitInComponent(t,"value");n.push({code:`${m}: ${a}`,srcLine:$1})}else{let a=this.emitInComponent(t,"value");n.push({code:`${m}: ${a}`,srcLine:$1})}}}}return n},o=(c)=>{let n=[];for(let s of c){let e=null;if(this.is(s,"object"))e=s;else if(Array.isArray(s)&&(s[0]==="->"||s[0]==="=>")&&this.is(s[2],"block")){for(let h=1;h<s[2].length;h++)if(this.is(s[2][h],"object")){e=s[2][h];break}}if(e)for(let h=1;h<e.length;h++){let p=e[h];if(!Array.isArray(p)||p.length<2)continue;let[,m,t]=p,$1=p.loc?.r??e.loc?.r;if(Array.isArray(m)&&m[0]==="."&&m[1]==="this"){let a=typeof m[2]==="string"?m[2]:m[2]?.valueOf?.();if(!a)continue;let f1="@"+a.split(".")[0],_2=this.emitInComponent(t,"value");n.push({code:`'${f1}': ${_2}`,srcLine:$1})}else if(typeof m==="string"){if(m==="key"){let a=this.emitInComponent(t,"value"),f1=$1!=null?` // @rip-src:${$1}`:"";y.push(` (${a});${f1}`);continue}if(m.startsWith("__bind_")&&m.endsWith("__")){let a=m.slice(7,-2),f1=this.emitInComponent(t,"value");n.push({code:`${a}: ${f1}`,srcLine:$1})}else{let a=this.emitInComponent(t,"value");n.push({code:`${m}: ${a}`,srcLine:$1})}}}}return n},u1=(c)=>{if(!Array.isArray(c))return;let n=c[0]?.valueOf?.()??c[0];if(n==="object")return;if(n==="if"||n==="unless"){let h=c[1];if(h!=null){let p=this.emitInComponent(h,"value"),m=c.loc?.r,t=m!=null?` // @rip-src:${m}`:"";y.push(` ${p};${t}`)}}else if(n==="?:"){let h=this.emitInComponent(c,"value"),p=c.loc?.r,m=p!=null?` // @rip-src:${p}`:"";y.push(` ${h};${m}`)}else if(n==="switch"){let h=c[1];if(h!=null){let p=this.emitInComponent(h,"value"),m=c.loc?.r,t=m!=null?` // @rip-src:${m}`:"";y.push(` ${p};${t}`)}}else if(n==="for-in"||n==="for-of"||n==="for-as"){let h=c[1],p=c[2];if(p!=null){let m=this.emitInComponent(p,"value"),t=c.loc?.r,$1=t!=null?` // @rip-src:${t}`:"",a;if(Array.isArray(h))if(h.length===1){let f1=h[0];a=Array.isArray(f1)?this.emitDestructuringPattern(f1):String(f1)}else if(n==="for-of")a=`[${h.map((f1)=>String(f1)).join(", ")}]`;else a=String(h[0]);else a=String(h);if(n==="for-of")y.push(` for (const ${a} of Object.entries(${m})) {${$1}`);else y.push(` for (const ${a} of ${m}) {${$1}`);for(let f1=3;f1<c.length;f1++)if(c[f1]!=null)u1(c[f1]);y.push(" }");return}}else if(n==="__text__"){let h=c[1];if(h!=null){let p=this.emitInComponent(h,"value"),m=c.loc?.r,t=m!=null?` // @rip-src:${m}`:"";y.push(` ${p};${t}`)}return}else if(n==="str"){try{let h=this.emitInComponent(c,"value"),p=c.loc?.r,m=p!=null?` // @rip-src:${p}`:"";y.push(` ${h};${m}`)}catch{}return}let s=(h,p,m)=>{if(typeof h!=="string"||!/^[a-z][\w-]*$/.test(h))return;if(f.GENERATORS[h])return;if(h==="null"||h==="undefined"||h==="true"||h==="false")return;let t=p.loc?.r;if(t!=null&&x){let a=new RegExp(`\\b${h}\\b`);for(let f1=t;f1<x.length;f1++)if(a.test(x[f1])){t=f1;break}}let $1=t!=null?` // @rip-src:${t}`:"";if(this.componentMembers&&this.componentMembers.has(h))y.push(` this.${h};${$1}`);else if(m)y.push(` ${h};${$1}`);else y.push(` __ripEl('${h}');${$1}`)},e=typeof n==="string"&&/^[a-z][\w-]*$/.test(n)&&!f.GENERATORS[n]&&R1.has(n.split(/[.#]/)[0]);if(n==="block")for(let h=1;h<c.length;h++)s(c[h],c,!1);else if(e){for(let h=1;h<c.length;h++)s(c[h],c,!0);for(let h=1;h<c.length;h++){let p=c[h];if(!Array.isArray(p))continue;let m=p[0]?.valueOf?.()??p[0];if(m==="object"||m==="block"||m==="__text__")continue;if(typeof m==="string"){if(/^[A-Z]/.test(m))continue;if(R1.has(m.split(/[.#]/)[0]))continue;if(/^[a-z][\w-]*$/.test(m)&&!f.GENERATORS[m])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(m))continue}try{let t=this.emitInComponent(p,"value"),$1=p.loc?.r??c.loc?.r,a=$1!=null?` // @rip-src:${$1}`:"";y.push(` ${t};${a}`)}catch{}}}for(let h=1;h<c.length;h++)u1(c[h]);if(typeof n==="string"&&/^[A-Z]/.test(n)){let h=d(c.slice(1)),p=`_${v++}`,m=`ConstructorParameters<typeof ${n}>[0] & {}`;if(h.length===0){let t=c.loc?.r;y.push(` const ${p}: ${m} = {};`+(t!=null?` // @rip-src:${t}`:""))}else if(h.length===1){let t=c.loc?.r??h[0].srcLine;y.push(` const ${p}: ${m} = {${h[0].code}};`+(t!=null?` // @rip-src:${t}`:""))}else{let t=c.loc?.r;if(new Set(h.map((a)=>a.srcLine).filter((a)=>a!=null)).size<=1){let a=h[0].srcLine??t;y.push(` const ${p}: ${m} = {${h.map((f1)=>f1.code).join(", ")}};`+(a!=null?` // @rip-src:${a}`:""))}else{y.push(` const ${p}: ${m} = {`+(t!=null?` // @rip-src:${t}`:""));for(let a of h)y.push(` ${a.code},`+(a.srcLine!=null?` // @rip-src:${a.srcLine}`:""));y.push(" };")}}}else if(typeof n==="string"&&!f.GENERATORS[n]&&(R1.has(n.split(/[.#]/)[0])||/^[a-z][\w-]*$/.test(n)&&c.length>1)){let h=n.split(/[.#]/)[0],p=o(c.slice(1)),m=c.loc?.r,t=m!=null?` // @rip-src:${m}`:"";if(p.length===0)y.push(` __ripEl('${h}');${t}`);else if(p.length===1){let $1=p[0].srcLine??m,a=$1!=null?` // @rip-src:${$1}`:"";y.push(` __ripEl('${h}', {${p[0].code}});${a}`)}else if(new Set(p.map((a)=>a.srcLine).filter((a)=>a!=null)).size<=1){let a=p[0].srcLine??m,f1=a!=null?` // @rip-src:${a}`:"";y.push(` __ripEl('${h}', {${p.map((_2)=>_2.code).join(", ")}});${f1}`)}else{y.push(` __ripEl('${h}', {${t}`);for(let a of p)y.push(` ${a.code},`+(a.srcLine!=null?` // @rip-src:${a.srcLine}`:""));y.push(" });")}}};if(u1(R),y.length>0){j.push(" _render() {");for(let c of y)j.push(c);j.push(" }")}}return j.push("}"),this.componentMembers=L,this.reactiveMembers=V,this._autoEventHandlers=N,this._inheritsTag=C,j.join(`
1311
- `)}this.usesTemplates=!0,this.usesReactivity=!0;let E=[],l="";E.push("class extends __Component {"),E.push(" _init(props) {");for(let{name:T,value:j,isPublic:b}of D){let i=this.emitInComponent(j,"value");E.push(b?` this.${T} = props.${T} ?? ${i};`:` this.${T} = ${i};`)}for(let T of B)E.push(` this.${T} = getContext('${T}');`);for(let{name:T,value:j,isPublic:b,required:i}of J)if(b&&i)E.push(` this.${T} = __state(props.__bind_${T}__ ?? props.${T});`);else if(b){let r=this.emitInComponent(j,"value");E.push(` this.${T} = __state(props.__bind_${T}__ ?? props.${T} ?? ${r});`)}else{let r=this.emitInComponent(j,"value");E.push(` this.${T} = __state(${r});`)}if(M){if(E.push(" this._rest = {};"),E.push(" for (const __k in props) {"),I.size>0){let T=[...I].map((j)=>`__k !== '${j}'`).join(" && ");E.push(` if (${T} && !__k.startsWith('__bind_')) this._rest[__k] = props[__k];`)}else E.push(" if (!__k.startsWith('__bind_')) this._rest[__k] = props[__k];");E.push(" }")}for(let{name:T,expr:j}of K)if(this.is(j,"block")){let b=this.transformComponentMembers(j),i=this.emitFunctionBody(b);E.push(` this.${T} = __computed(() => ${i});`)}else{let b=this.emitInComponent(j,"value");E.push(` this.${T} = __computed(() => ${b});`)}for(let T of q)E.push(` setContext('${T}', this.${T});`);for(let T of H){let j=T[2],b=this.containsAwait(j)?"async ":"";if(this.is(j,"block")){let i=this.transformComponentMembers(j),r=this.emitFunctionBody(i,[],!0);E.push(` __effect(${b}() => ${r});`)}else{let i=this.emitInComponent(j,"value");E.push(` __effect(${b}() => { ${i}; });`)}}if(E.push(" }"),M)E.push(" _setRestProp(key, value) {"),E.push(" if (key.startsWith('__bind_')) return;"),E.push(" this._rest || (this._rest = {});"),E.push(" if (value == null) delete this._rest[key];"),E.push(" else this._rest[key] = value;"),E.push(" this._applyInheritedProp(this._inheritedEl, key, value);"),E.push(" }"),E.push(" _applyRestToInheritedEl() {"),E.push(" if (!this._inheritedEl || !this._rest) return;"),E.push(" for (const key in this._rest) this._applyInheritedProp(this._inheritedEl, key, this._rest[key]);"),E.push(" }"),E.push(" _applyInheritedProp(el, key, value) {"),E.push(" if (!el || key === 'key' || key === 'ref' || key === 'children' || key.startsWith('__bind_')) return;"),E.push(" if (key[0] === '@') {"),E.push(" const event = key.slice(1).split('.')[0];"),E.push(" this._restHandlers || (this._restHandlers = {});"),E.push(" const prev = this._restHandlers[key];"),E.push(" if (prev) el.removeEventListener(event, prev);"),E.push(" if (typeof value === 'function') {"),E.push(" const next = (e) => __batch(() => value(e));"),E.push(" this._restHandlers[key] = next;"),E.push(" el.addEventListener(event, next);"),E.push(" } else {"),E.push(" delete this._restHandlers[key];"),E.push(" }"),E.push(" return;"),E.push(" }"),E.push(" if (key === 'class' || key === 'className') {"),E.push(" if (el instanceof SVGElement) el.setAttribute('class', __clsx(value));"),E.push(" else el.className = __clsx(value);"),E.push(" return;"),E.push(" }"),E.push(" if (key === 'style') {"),E.push(" if (value == null) { el.removeAttribute('style'); return; }"),E.push(" if (typeof value === 'string') { el.setAttribute('style', value); return; }"),E.push(" if (typeof value === 'object') { Object.assign(el.style, value); return; }"),E.push(" }"),E.push(" if (key === 'innerHTML' || key === 'textContent' || key === 'innerText') {"),E.push(" el[key] = value ?? '';"),E.push(" return;"),E.push(" }"),E.push(" if (key in el && !key.includes('-')) {"),E.push(" el[key] = value;"),E.push(" return;"),E.push(" }"),E.push(" if (value == null || value === false) {"),E.push(" el.removeAttribute(key);"),E.push(" return;"),E.push(" }"),E.push(" if (value === true) {"),E.push(" el.setAttribute(key, '');"),E.push(" return;"),E.push(" }"),E.push(" el.setAttribute(key, value);"),E.push(" }");for(let{name:T,func:j}of w)if(Array.isArray(j)&&(j[0]==="->"||j[0]==="=>")){let[,b,i]=j;if((!b||Array.isArray(b)&&b.length===0)&&this.containsIt(i))b=["it"];let r=Array.isArray(b)?b.map((x)=>this.formatParam(x)).join(", "):"",U1=this.reactiveMembers?this.transformComponentMembers(i):i,y=this.containsAwait(i),v=this.emitFunctionBody(U1,b||[]);E.push(` ${y?"async ":""}${T}(${r}) ${v}`)}for(let{name:T,value:j}of X)if(Array.isArray(j)&&(j[0]==="->"||j[0]==="=>")){let[,b,i]=j,r=Array.isArray(b)?b.map((x)=>this.formatParam(x)).join(", "):"",U1=this.reactiveMembers?this.transformComponentMembers(i):i,y=this.containsAwait(i),v=this.emitFunctionBody(U1,b||[]);E.push(` ${y?"async ":""}${T}(${r}) ${v}`)}if(R){let T=R[1],j=this.buildRender(T);if(j.blockFactories.length>0)l=j.blockFactories.join(`
1309
+ `)}if($===0&&U?.length===3)Z=Z.replace(/^\n/,"");if($===f.length-1&&U?.length===3)Z=Z.replace(/\n[^\S\n]*$/,"");if(u)Z=Z.replace(/\\([nrtbfv0\\'"`xu])/g,"\\\\$1");this.emit("STRING",`"${Z}"`,{len:Y.length,data:{quote:U}})}}if(f.length>1)this.emit("STRING_END",")",{len:U?.length||0});return W}numberToken(){let f=D5.exec(this.chunk);if(!f)return 0;let U=f[0],_=U.length,W={row:this.row,col:this.col};if(/^0[BOX]/.test(U))J1(`radix prefix in '${U}' must be lowercase`,{...W,col:W.col+1});if(/^0\d*[89]/.test(U))J1(`decimal literal '${U}' must not be prefixed with '0'`,{...W,len:_});if(/^0\d+/.test(U))J1(`octal literal '${U}' must be prefixed with '0o'`,{...W,len:_});let u=y5(U),$=u===1/0?"INFINITY":"NUMBER",F={parsedValue:u};if($==="INFINITY")F.original=U;return this.emit($,U,{len:_,data:F}),_}regexToken(){let f=this.matchWithInterpolations(C5,"///");if(f){let{tokens:G,index:Q}=f,[z]=U3.exec(this.chunk.slice(Q)),A=Q+z.length;if(G.length===1||!G.some((J)=>J[0]==="TOKENS")){let J=(G[0]?.[1]||"").replace(/(?<!\\)\//g,"\\/");this.emit("REGEX",`/${J}/${z}`,{len:A,data:{delimiter:"///",heregex:{flags:z}}})}else{if(this.emit("REGEX_START","(",{len:0}),this.emit("IDENTIFIER","RegExp",{len:0}),this.emit("CALL_START","(",{len:0}),this.mergeInterpolationTokens(G,{quote:"///",endOffset:A-z.length}),z)this.emit(",",",",{len:0}),this.emit("STRING",`"${z}"`,{len:z.length});this.emit(")",")",{len:0}),this.emit("REGEX_END",")",{len:0})}return A}let U=L5.exec(this.chunk);if(!U)return 0;let[_,W,u]=U,$=this.prev();if($){if($.spaced&&s1.has($[0])&&(!u||/^\/=?\s/.test(_)))return 0;if(z5.has($[0])&&!($.spaced&&s1.has($[0])))return 0}if(!u)J1("missing / (unclosed regex)",{row:this.row,col:this.col});let F=_.length,[Y]=U3.exec(this.chunk.slice(F)),Z=F+Y.length;if(!V5.test(Y))J1(`invalid regular expression flags ${Y}`,{row:this.row,col:this.col+F,len:Y.length});return this.emit("REGEX",`/${W}/${Y}`,{len:Z,data:{delimiter:"/"}}),Z}jsToken(){if(this.chunk[0]!=="`")return 0;let f=j5.exec(this.chunk)||T5.exec(this.chunk);if(!f)return 0;let U=f[1],_=f[0].length;return this.emit("JS",U,{len:_,data:{here:f[0].startsWith("```")}}),_}wordLiteral(){if(this.chunk[0]!=="%"||this.chunk[1]!=="w")return 0;let f=this.chunk[2];if(!f||/\s/.test(f))return 0;let _={"[":"]","(":")","{":"}","<":">"}[f]||f,W=_!==f,u=1,$=3;while($<this.chunk.length&&u>0){let G=this.chunk[$];if(G==="\\"){$+=2;continue}if(W&&G===f)u++;if(G===_)u--;if(u>0)$++}if(u!==0)return 0;let F=this.chunk.slice(3,$),Y=$+1,Z=[];if(F.trim()){let G=F.trim().split(/(?<!\\)\s+/);for(let Q of G)Z.push(Q.replace(/\\ /g," "))}this.emit("[","[",{len:Y});for(let G=0;G<Z.length;G++){if(G>0)this.emit(",",",");this.emit("STRING",`"${Z[G]}"`)}return this.emit("]","]"),Y}symbolToken(){if(this.chunk[0]!==":")return 0;let f=this.chunk[1];if(!f||f==="="||f===":"||/\s/.test(f))return 0;if(!/[a-zA-Z_$]/.test(f))return 0;let U=/^((?:(?!\s)[$\w\x7f-\uffff])+)/.exec(this.chunk.slice(1));if(!U)return 0;let _=U[1],W=_.length+1;return this.emit("SYMBOL",_,{len:W}),W}literalToken(){let f=this.wordLiteral();if(f)return f;let U=this.symbolToken();if(U)return U;let _=M5.exec(this.chunk),W=_?_[0]:this.chunk.charAt(0),u=W,$=this.prev();if(R5.test(W))this.tagParameters();if(W==="="&&$&&$[1]==="."&&!$.spaced){let F=this.tokens,Y=F.length-2;while(Y>=1&&F[Y][0]==="PROPERTY"&&F[Y-1]?.[1]===".")Y-=2;if(Y>=0&&(F[Y][0]==="IDENTIFIER"||F[Y][0]===")"||F[Y][0]==="]")){let Z=F.slice(Y,F.length-1);$[0]="=",$[1]="=";for(let G of Z)this.tokens.push(e1(G[0],G[1],{pre:0,row:G[2],col:G[3],len:G[4]}));return this.tokens.push(e1(".",".",{pre:0,row:this.row,col:this.col,len:1})),W.length}}if($&&(W==="="||f3.has(W))){if(W==="="&&($[1]==="||"||$[1]==="&&"||$[1]==="??")&&!$.spaced)return $[0]="COMPOUND_ASSIGN",$[1]+="=",W.length}if(W==="("&&$?.[0]==="IMPORT")$[0]="DYNAMIC_IMPORT";if(W==="{"&&this.seenImport)this.importSpecifierList=!0;if(W==="}"&&this.importSpecifierList)this.importSpecifierList=!1;if(W==="{"&&$?.[0]==="EXPORT")this.exportSpecifierList=!0;if(W==="}"&&this.exportSpecifierList)this.exportSpecifierList=!1;if(W===";")this.seenFor=this.seenImport=this.seenExport=!1,this.inTypeAnnotation=!1,u="TERMINATOR";else if(W==="|>")u="PIPE";else if(W==="::"&&/^[a-zA-Z_$]/.test(this.chunk[2]||""))return this.emit(".","."),this.emit("PROPERTY","prototype"),this.emit(".","."),2;else if(W==="::")u="TYPE_ANNOTATION",this.inTypeAnnotation=!0;else if(W==="~=")u="COMPUTED_ASSIGN";else if(W===":=")u="REACTIVE_ASSIGN";else if(W==="<=>")u="BIND";else if(W==="~>")u="EFFECT",this.inTypeAnnotation=!1;else if(W==="=!")u="READONLY_ASSIGN",this.inTypeAnnotation=!1;else if(W==="*>"&&(!$||$[0]==="TERMINATOR"||$[0]==="INDENT"||$[0]==="OUTDENT")&&(/^[a-zA-Z_$]/.test(this.chunk[2]||"")||this.chunk[2]==="@")){let F=this.chunk.slice(2),Y=/^@(\s*)=(?!=)/.exec(F);if(Y){let G=Y[1];this.emit("IDENTIFIER","Object"),this.emit(".",".");let Q=this.emit("PROPERTY","assign");return Q.spaced=!0,this.emit("@","@"),this.emit(",",","),3+G.length+1}let Z=/^(@?(?:(?!\s)[$\w\x7f-\uffff])+(?:\.[a-zA-Z_$][\w]*)*)(\s*)=(?!=)/.exec(F);if(Z){let G=Z[1],Q=Z[2],z=G[0]==="@",A=z?G.slice(1):G,J=A?A.split("."):[],K=()=>{if(z){if(this.emit("@","@"),J.length>0)this.emit("PROPERTY",J[0])}else this.emit("IDENTIFIER",J[0]);for(let w=1;w<J.length;w++)this.emit(".","."),this.emit("PROPERTY",J[w])};K(),this.emit("=","="),this.emit("IDENTIFIER","Object"),this.emit(".","."),this.emit("PROPERTY","assign"),this.emit("CALL_START","("),K(),this.emit("COMPOUND_ASSIGN","??="),this.emit("{","{"),this.emit("}","}"),this.emit(",",",");let D=this.prev();return D.mergeClose=!0,2+G.length+Q.length+1}}else if(W==="*"&&$?.[0]==="EXPORT")u="EXPORT_ALL";else if(A5.has(W))u="MATH";else if(J5.has(W))u="COMPARE";else if(f3.has(W))u="COMPOUND_ASSIGN";else if(w5.has(W))u="UNARY_MATH";else if(X5.has(W))u="SHIFT";else if(W==="?"&&$?.spaced)u="TERNARY";else if(W==="?!"&&$&&!$.spaced)u="PRESENCE";else if(W==="?"&&(this.chunk[1]==="["||this.chunk[1]==="("))u="?.";else if($){if(W==="("&&!$.spaced&&s1.has($[0])){if($[0]==="?.")$[0]="ES6_OPTIONAL_CALL";u="CALL_START"}if(W==="["&&!$.spaced&&t1.has($[0])){if(u="INDEX_START",$[0]==="?.")$[0]="ES6_OPTIONAL_INDEX"}}if(this.inTypeAnnotation&&(W==="="||u==="COMPOUND_ASSIGN"))this.inTypeAnnotation=!1;if(W==="("||W==="{"||W==="[")this.ends.push({tag:F5[W],origin:[u,W]});else if(W===")"||W==="}"||W==="]")this.pair(W);return this.emit(u,W,{len:W.length}),W.length}tagParameters(){if(this.prevTag()!==")")return this.tagDoIife();let f=this.tokens.length-1,U=[];this.tokens[f][0]="PARAM_END";while(f-- >0){let _=this.tokens[f];if(_[0]===")")U.push(_);else if(_[0]==="("||_[0]==="CALL_START")if(U.length)U.pop();else if(_[0]==="(")return _[0]="PARAM_START",this.tagDoIife(f-1);else{this.tokens[this.tokens.length-1][0]="CALL_END";return}}}tagDoIife(f){let U=this.tokens[f??this.tokens.length-1];if(U?.[0]==="DO")U[0]="DO_IIFE"}rewrite(f){return this.tokens=f,this.removeLeadingNewlines(),this.rewriteDottedPicks(),this.rewriteMapLiterals(),this.closeMergeAssignments(),this.closeOpenCalls(),this.closeOpenIndexes(),this.normalizeLines(),this.rewriteRender?.(),this.rewriteSchema?.(),this.rewriteTypes(),this.tagPostfixConditionals(),this.rewriteTaggedTemplates(),this.addImplicitBracesAndParens(),this.addImplicitCallCommas(),this.tokens}removeLeadingNewlines(){let f=0;while(this.tokens[f]?.[0]==="TERMINATOR")f++;if(f>0)this.tokens.splice(0,f)}rewriteMapLiterals(){let f=this.tokens;for(let U=0;U<f.length;U++){if(f[U][0]!=="MATH"||f[U][1]!=="*")continue;let _=f[U+1];if(!_||_[0]!=="{")continue;if(f[U].spaced||f[U].newLine)continue;let W=f[U-1];if(W&&t1.has(W[0]))continue;f.splice(U,1),f[U][0]="MAP_START";let u=1;for(let $=U+1;$<f.length&&u>0;$++){let F=f[$][0];if(F==="{"||F==="MAP_START")u++;if(F==="}"){if(u--,u===0)f[$][0]="MAP_END"}}}}rewriteDottedPicks(){let f=this.tokens;for(let U=0;U<f.length;U++){let _=f[U][0];if(_!=="."&&_!=="?.")continue;let W=f[U+1];if(!W||W[0]!=="{")continue;if(f[U].spaced||f[U].newLine)continue;let u=f[U-1];if(!u||!t1.has(u[0]))continue;let $=_==="?.";f.splice(U,1),f[U][0]=$?"OPTPICK_START":"PICK_START";let F=1;for(let Y=U+1;Y<f.length&&F>0;Y++){let Z=f[Y][0];if(Z==="{"||Z==="PICK_START"||Z==="OPTPICK_START")F++;else if(Z==="}"){if(F--,F===0){f[Y][0]="PICK_END";break}}}}}closeOpenCalls(){this.scanTokens((f,U)=>{if(f[0]==="CALL_START")this.detectEnd(U+1,(_)=>_[0]===")"||_[0]==="CALL_END",(_)=>_[0]="CALL_END");return 1})}closeOpenIndexes(){this.scanTokens((f,U)=>{if(f[0]==="INDEX_START")this.detectEnd(U+1,(_)=>_[0]==="]"||_[0]==="INDEX_END",(_,W)=>{if(this.tokens[W+1]?.[0]===":")f[0]="[",_[0]="]";else _[0]="INDEX_END"});return 1})}normalizeLines(){let f=null,U=null,_=null,W=($,F)=>{return $[1]!==";"&&Q5.has($[0])&&!($[0]==="TERMINATOR"&&s2.has(this.tokens[F+1]?.[0]))&&!($[0]==="ELSE"&&f!=="THEN")||$[0]==="INDENT"&&!$.generated&&(f==="->"||f==="=>")||$[0]===","&&(f==="->"||f==="=>")&&!this.commaInImplicitCall(F)&&!this.commaInImplicitObject(F)||e2.has($[0])&&(this.tokens[F-1]?.newLine||this.tokens[F-1]?.[0]==="OUTDENT")},u=($,F)=>{let Y=this.tokens[F-1]?.[0]===","?F-1:F;this.tokens.splice(Y,0,_)};this.scanTokens(($,F,Y)=>{let[Z]=$;if(Z==="TERMINATOR"){if(this.tokens[F+1]?.[0]==="ELSE"&&this.tokens[F-1]?.[0]!=="OUTDENT")return Y.splice(F,1,...this.makeIndentation()),1;if(s2.has(this.tokens[F+1]?.[0]))return Y.splice(F,1),0}if(Z==="CATCH")for(let G=1;G<=2;G++){let Q=this.tokens[F+G]?.[0];if(Q==="OUTDENT"||Q==="TERMINATOR"||Q==="FINALLY")return Y.splice(F+G,0,...this.makeIndentation()),2+G}if((Z==="->"||Z==="=>")&&(this.tokens[F+1]?.[0]===","||this.tokens[F+1]?.[0]==="]"))return[U,_]=this.makeIndentation(),Y.splice(F+1,0,U,_),1;if(t2.has(Z)&&this.tokens[F+1]?.[0]!=="INDENT"&&!(Z==="ELSE"&&this.tokens[F+1]?.[0]==="IF")&&!(Z==="ELSE"&&this.tokens[F-1]?.[0]!=="OUTDENT")){if(f=Z,[U,_]=this.makeIndentation(),Z==="THEN")U.fromThen=!0;if(Y.splice(F+1,0,U),Z==="THEN"&&this.singleLineOwner(F)==="LEADING_WHEN")this.detectWhenThenEnd(F+2,W,u);else this.detectEnd(F+2,W,u);if(Z==="THEN")Y.splice(F,1);return 1}return 1})}singleLineOwner(f){let U=new Set(["LEADING_WHEN","IF","POST_IF","UNLESS","POST_UNLESS","ELSE","CATCH","TRY","FINALLY","->","=>"]);for(let _=f-1;_>=0;_--){let W=this.tokens[_],u=W?.[0];if(U.has(u))return u;if(V1.has(u)||W?.newLine)return null}return null}detectWhenThenEnd(f,U,_){let W=0,u=0;while(f<this.tokens.length){let $=this.tokens[f],F=$[0];if(W===0){if(F==="THEN"&&this.singleLineOwner(f)!=="LEADING_WHEN")u++;else if(F==="ELSE"&&u>0)u--;else if(U.call(this,$,f))return _.call(this,$,f)}if(H1.has(F))W++;if(w1.has(F))W--;if(W<0)return _.call(this,$,f);f++}}tagPostfixConditionals(){let f=null,U=(W,u)=>{return W[0]==="TERMINATOR"||W[0]==="INDENT"&&!t2.has(this.tokens[u-1]?.[0])},_=(W)=>{if(W[0]!=="INDENT"||W.generated&&!W.fromThen)f[0]="POST_"+f[0]};this.scanTokens((W,u)=>{if(W[0]!=="IF"&&W[0]!=="UNLESS")return 1;if(this.tokens[u-1]?.[0]==="INTERPOLATION_START")return 1;return f=W,this.detectEnd(u+1,U,_),1})}rewriteTaggedTemplates(){let f=this.tokens;for(let U=f.length-2;U>=0;U--)if(f[U][0]==="IDENTIFIER"&&f[U][1]==="$"&&(f[U+1]?.[0]==="STRING"||f[U+1]?.[0]==="STRING_START")){let _=f[U-1];if(_&&Z5.has(_[0])){if(f.splice(U,1),_.spaced=!1,f[U].spaced=!1,f[U].pre=0,f[U].newLine)f[U].newLine=!1}}}addImplicitBracesAndParens(){let f=[],U=!1;this.scanTokens((_,W,u)=>{let[$]=_,F=u[W-1]||[],Y=u[W+1]||[],[Z]=F,[G]=Y,Q=W,z=(P)=>W-Q+P,A=()=>f[f.length-1],J=(P)=>P?.[2]?.ours,K=()=>J(A())&&A()?.[0]==="(",D=()=>J(A())&&A()?.[0]==="{",w=(P)=>{f.push(["(",P,{ours:!0}]),u.splice(P,0,A1("CALL_START","("))},X=()=>{f.pop(),u.splice(W,0,A1("CALL_END",")")),W+=1},R=(P,M={})=>{f.push(["{",P,{sameLine:!0,startsLine:M.startsLine??!0,ours:!0}]);let S=A1("{","{");if(!S.data)S.data={};S.data.generated=!0,u.splice(P,0,S)},H=(P)=>{P=P??W,f.pop(),u.splice(P,0,A1("}","}")),W+=1};if((K()||D())&&G5.has($))return f.push(["CONTROL",W,{ours:!0}]),z(1);if($==="INDENT"&&J(A())){if(Z!=="=>"&&Z!=="->"&&Z!=="["&&Z!=="("&&Z!==","&&Z!=="{"&&Z!=="ELSE"&&Z!=="=")while(K()||D()&&Z!==":")if(K())X();else H();if(A()?.[2]?.ours&&A()[0]==="CONTROL")f.pop();return f.push([$,W]),z(1)}if(H1.has($))return f.push([$,W]),z(1);if(w1.has($)){while(J(A()))if(K())X();else if(D())H();else f.pop();f.pop()}let B=!1;if(G==="-"&&!Y.spaced&&!Y.newLine&&q1(_))for(let P=W;P<u.length-2;P+=2){if(!r1(u[P+1],u[P+2]))break;if(!q1(u[P+2]))break;if(u[P+3]?.[0]===":"){B=!0;break}}if(!B&&w2.has($)&&_.spaced&&(o1.has(G)||G==="..."&&o1.has(u[W+2]?.[0])||W5.has(G)&&!Y.spaced&&!Y.newLine)&&!(($==="]"||$==="}")&&(G==="->"||G==="=>")))return w(W+1),z(2);if(w2.has($)&&this.tokens[W+1]?.[0]==="INDENT"&&this.looksObjectish(W+2)&&!this.findTagsBackwards(W,["CLASS","EXTENDS","IF","CATCH","SWITCH","LEADING_WHEN","FOR","WHILE","UNTIL"]))return w(W+1),f.push(["INDENT",W+2]),z(3);if($==="TERNARY")U=!0;if($===":"){if(U)return U=!1,z(1);if(q1(u[W-1])&&r1(u[W-2],u[W-1])){let S=W-2;while(S>=2&&r1(u[S],u[S+1])&&q1(u[S-1]))S-=2;if(S+=1,q1(u[S])){let L="";for(let N=S;N<W;N++)L+=u[N][1];let C=A1("STRING",`"${L}"`,u[S]);C.pre=u[S].pre,C.spaced=u[S].spaced,C.newLine=u[S].newLine,C.loc=u[S].loc,u.splice(S,W-S,C),W=S+1}}let P=w1.has(this.tokens[W-1]?.[0])?f[f.length-1]?.[1]??W-1:W-1;if(this.tokens[W-2]?.[0]==="@")P=W-2;let M=P<=0||V1.has(this.tokens[P-1]?.[0])||this.tokens[P-1]?.newLine;if(A()){let[S,L]=A(),C=f[f.length-2],N=(V)=>V==="{"||V==="MAP_START"||V==="PICK_START"||V==="OPTPICK_START";if((N(S)||S==="INDENT"&&N(C?.[0])&&!J(C))&&(M||this.tokens[P-1]?.[0]===","||N(this.tokens[P-1]?.[0])||N(this.tokens[P]?.[0])))return z(1)}return R(P,{startsLine:!!M}),z(2)}if(V1.has($))for(let P=f.length-1;P>=0;P--){if(!J(f[P]))break;if(f[P][0]==="{")f[P][2].sameLine=!1}let O=Z==="OUTDENT"||F.newLine,I=$==="||"||$==="&&",q=!1;if(I){let P=W+1,M=u[P]?.[0];if(M==="("||M==="["||M==="{"){for(let S=1;++P<u.length&&S>0;)if(M=u[P][0],M==="("||M==="["||M==="{")S++;else if(M===")"||M==="]"||M==="}")S--}else if(M&&M!=="TERMINATOR"&&M!=="OUTDENT"&&M!==",")P++;q=u[P]?.[0]===","}if(_5.has($)&&!q||e2.has($)&&O)while(J(A())){let[P,,{sameLine:M,startsLine:S}]=A();if(K()&&Z!==",")X();else if(D()&&!I&&M&&$!=="TERMINATOR"&&Z!==":")H();else if(D()&&$==="TERMINATOR"&&Z!==","&&!(S&&this.looksObjectish(W+1)))H();else if(A()?.[2]?.ours&&A()[0]==="CONTROL"&&u[A()[1]]?.[0]==="CLASS"&&$==="TERMINATOR")f.pop();else break}if($===","&&!this.looksObjectish(W+1)&&D()&&(G!=="TERMINATOR"||!this.looksObjectish(W+2))){let P=G==="OUTDENT"?1:0;while(D())H(W+P)}return z(1)})}addImplicitCallCommas(){let f=0,U=0,_=this.tokens;while(U<_.length){let W=_[U][0],u=U>0?_[U-1][0]:null;if(W==="CALL_START"||W==="(")f++;if(W==="CALL_END"||W===")")f--;if(f>0&&(W==="->"||W==="=>")&&Y5.has(u))_.splice(U,0,A1(",",",")),U++;U++}}scanTokens(f){let U=0;while(U<this.tokens.length)U+=f.call(this,this.tokens[U],U,this.tokens)}detectEnd(f,U,_,W={}){let u=0;while(f<this.tokens.length){let $=this.tokens[f];if(u===0&&U.call(this,$,f))return _.call(this,$,f);if(H1.has($[0]))u++;if(w1.has($[0]))u--;if(u<0){if(W.returnOnNegativeLevel)return;return _.call(this,$,f)}f++}}closeMergeAssignments(){let f=this.tokens;for(let U=0;U<f.length;U++){if(!f[U].mergeClose)continue;let _=0;for(let W=U+1;W<f.length;W++){let u=f[W][0];if(u==="("||u==="["||u==="{"||u==="CALL_START"||u==="INDEX_START"||u==="INDENT")_++;if(u===")"||u==="]"||u==="}"||u==="CALL_END"||u==="INDEX_END"||u==="OUTDENT")_--;if(_<0||_===0&&u==="TERMINATOR"){f.splice(W,0,A1("CALL_END",")",f[W-1]));break}if(W===f.length-1){f.splice(W+1,0,A1("CALL_END",")",f[W]));break}}}}commaInImplicitCall(f){let U=0;for(let _=f-1;_>=0;_--){let W=this.tokens[_][0];if(w1.has(W)){U++;continue}if(H1.has(W)){if(W==="INDENT")return!1;if(U--,U<0)return!1;continue}if(U>0)continue;if(w2.has(W)&&this.tokens[_].spaced){let u=this.tokens[_+1]?.[0];return o1.has(u)||u==="..."&&o1.has(this.tokens[_+2]?.[0])}}return!1}commaInImplicitObject(f){let U=0;for(let _=f-1;_>=0;_--){let W=this.tokens[_][0];if(w1.has(W)){U++;continue}if(H1.has(W)){if(U--,U<0)return!1;continue}if(U>0)continue;if(W===":"&&_>0&&this.tokens[_-1][0]==="PROPERTY")return this.looksObjectish(f+1);if(V1.has(W))return!1}return!1}looksObjectish(f){if(!this.tokens[f])return!1;if(this.tokens[f]?.[0]==="@"&&this.tokens[f+2]?.[0]===":")return!0;if(this.tokens[f+1]?.[0]===":")return!0;if(q1(this.tokens[f]))for(let U=f+1;U<this.tokens.length;U+=2){if(!r1(this.tokens[U],this.tokens[U+1]))break;if(!q1(this.tokens[U+1]))break;if(this.tokens[U+2]?.[0]===":")return!0}if(H1.has(this.tokens[f]?.[0])){let U=null;if(this.detectEnd(f+1,(_)=>w1.has(_[0]),(_,W)=>U=W),U&&this.tokens[U+1]?.[0]===":")return!0}return!1}findTagsBackwards(f,U){let _=new Set(U),W=[];while(f>=0){let u=this.tokens[f]?.[0];if(!W.length&&_.has(u))return!0;if(w1.has(u))W.push(u);if(H1.has(u)&&W.length)W.pop();if(!W.length&&(H1.has(u)&&!this.tokens[f]?.generated||V1.has(u)))break;f--}return!1}makeIndentation(f){let U=A1("INDENT",2),_=A1("OUTDENT",2);if(f)U.generated=_.generated=!0,U.origin=_.origin=f;else U.explicit=_.explicit=!0;return[U,_]}}d2(K1);a1(K1);var v5=["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"],_3=new Set(v5);var g5=["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 c5=["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"],x5=["math","param","portal"],Y3=new Set([...g5,...x5]),O1=new Set(c5),R1=new Set([...Y3,...O1]);var F3="__bind_",Z3="__",D2=new Set(["beforeMount","mounted","updated","beforeUnmount","unmounted","onError"]),l5=new Set(["disabled","hidden","readonly","required","checked","selected","autofocus","autoplay","controls","loop","muted","multiple","novalidate","open","reversed","defer","async","formnovalidate","allowfullscreen","inert"]),M2="http://www.w3.org/2000/svg";function m5(f){for(let U of f){if(!Array.isArray(U))continue;let _=U[1]instanceof String?U[1].valueOf():U[1],W=U[2]instanceof String?U[2].valueOf():U[2];if(_==="type"&&typeof W==="string")return W.replace(/^["']|["']$/g,"")}return null}function P1(f){if(typeof f==="string"||f instanceof String)return f.valueOf();if(Array.isArray(f)&&f[0]==="."&&f[1]==="this"&&(typeof f[2]==="string"||f[2]instanceof String))return f[2].valueOf();return null}function H2(f){return Array.isArray(f)&&f[0]==="."&&f[1]==="this"}function q2(f){if(f instanceof String&&f.type)return f.type;if(Array.isArray(f)&&f[2]instanceof String&&f[2].type)return f[2].type;return null}function G3(f,U){let _=(Y,Z)=>Y instanceof String?Y[Z]:void 0,W=U.prototype.classifyKeyword;U.prototype.classifyKeyword=function(Y,Z,G){if(Y==="offer"||Y==="accept"){let Q=0;for(let z=this.tokens.length-1;z>=0;z--){let A=this.tokens[z][0];if(A==="OUTDENT")Q++;else if(A==="INDENT")Q--;if(Q<0&&this.tokens[z-1]?.[0]==="COMPONENT")return Y.toUpperCase()}return Z}return W.call(this,Y,Z,G)},U.prototype.rewriteRender=function(){let Y=(X,R,H)=>{let B=[X,R];if(B.pre=0,B.data=null,B.loc=H?.loc??{r:0,c:0,n:0},B.spaced=!1,B.newLine=!1,B.generated=!0,H)B.origin=H;return B},Z=!1,G=0,Q=0,z=[],A=(X)=>{let R=X.split("#")[0];return R1.has(R)},J=(X)=>{if(!X||typeof X!=="string")return!1;return/^[A-Z][A-Za-z0-9]*[a-z][A-Za-z0-9]*$/.test(X)},K=(X)=>{return A(X)||J(X)},D=(X,R,H,B)=>{let O=1,I=R;while(I>=0&&O>0){let q=X[I][0];if(q===H)O++;else if(q===B)O--;if(O>0)I--}return I},w=(X,R)=>{let H=R;while(H>0){let B=X[H-1][0];if(B==="TERMINATOR"||B==="RENDER")break;if(B==="INDENT"||B==="OUTDENT"){let O=X[H][0];if(O==="CALL_END"||O===")"){H=D(X,H-1,O,O==="CALL_END"?"CALL_START":"(");continue}break}if(B==="CALL_END"||B===")"){H=D(X,H-2,B,B==="CALL_END"?"CALL_START":"(");continue}if(B==="INTERPOLATION_END"){H=D(X,H-2,"INTERPOLATION_END","INTERPOLATION_START");continue}if(B==="STRING_END"){H=D(X,H-2,"STRING_END","STRING_START");continue}H--}return X[H]&&X[H][0]==="IDENTIFIER"&&(K(X[H][1])||(H===0||X[H-1][0]==="INDENT"||X[H-1][0]==="TERMINATOR"||X[H-1][0]==="RENDER"))};this.scanTokens(function(X,R,H){let B=X[0],O=R<H.length-1?H[R+1]:null;if(B==="RENDER")return Z=!0,G=Q+1,1;if(B==="INDENT")return Q++,1;if(B==="OUTDENT"){Q--;let I=0;while(z.length>0&&z[z.length-1]>Q){let q=Y("CALL_END",")",X);H.splice(R+1+I,0,q),z.pop(),I++}if(Z&&Q<G)Z=!1;return 1+I}if(!Z)return 1;if(B==="="&&R>0){let I=H[R-1][0];if(I==="TERMINATOR"||I==="INDENT"||I==="RENDER"){let q=Y("IDENTIFIER","__text__",X),P=Y("CALL_START","(",X);return H.splice(R,1,q,P),this.detectEnd(R+2,(M)=>M[0]==="TERMINATOR"||M[0]==="OUTDENT",(M,S)=>H.splice(S,0,Y("CALL_END",")",M)),{returnOnNegativeLevel:!0}),2}}if(B==="UNARY_MATH"&&X[1]==="~"&&O&&O[0]==="IDENTIFIER"){X[0]="PROPERTY",X[1]="__transition__";let I=Y(":",":",X),q=Y("STRING",`"${O[1]}"`,O);return H.splice(R+1,1,I,q),1}if(B==="PROPERTY"&&X[1][0]==="$"&&X[1].length>1)return X[0]="STRING",X[1]=`"data-${X[1].slice(1)}"`,1;if(B==="IDENTIFIER"&&!X.spaced){let I=[X[1]],q=R+1;while(q+1<H.length){let P=H[q],M=H[q+1];if(P[0]==="-"&&!P.spaced&&(M[0]==="IDENTIFIER"||M[0]==="PROPERTY")){if(I.push(M[1]),q+=2,M[0]==="PROPERTY")break}else break}if(I.length>1&&q>R+1&&H[q-1][0]==="PROPERTY"){let P=I.join("-");if(P[0]==="$")P="data-"+P.slice(1);return X[0]="STRING",X[1]=`"${P}"`,H.splice(R+1,q-R-1),1}}if(B==="."){let I=R>0?H[R-1]:null,q=I?I[0]:null;if(q==="INDENT"||q==="TERMINATOR"){if(O&&O[0]==="PROPERTY"){let P=R+2<H.length?H[R+2]:null;if(!P||P[0]!==":"){let M=Y("IDENTIFIER","div",X);return H.splice(R,0,M),2}}if(!O||O[0]!=="(")return X[0]="IDENTIFIER",X[1]="div",0}}if(B==="IDENTIFIER"||B==="PROPERTY"){let I=H[R+1],q=H[R+2];if(I&&I[0]==="#"&&q&&(q[0]==="PROPERTY"||q[0]==="IDENTIFIER")){if(X[1]=X[1]+"#"+q[1],q.spaced)X.spaced=!0;return H.splice(R+1,2),0}}if(B==="BIND"){let I=R>0?H[R-1]:null,q=H[R+1];if(I&&(I[0]==="IDENTIFIER"||I[0]==="PROPERTY")&&q&&q[0]==="IDENTIFIER")return I[1]=`__bind_${I[1]}__`,X[0]=":",X[1]=":",1}if(B==="@"){let I=R+1;if(I<H.length&&H[I][0]==="PROPERTY"){I++;while(I+1<H.length&&H[I][0]==="."&&H[I+1][0]==="PROPERTY")I+=2;if(I>R+2&&I<H.length&&H[I][0]===":"){let q=Y("[","[",X);H.splice(R,0,q);let P=Y("]","]",H[I+1]);return H.splice(I+1,0,P),2}}}if(B==="."&&O&&O[0]==="("){let I=R>0?H[R-1]:null,q=I?I[0]:null,P=q==="INDENT"||q==="TERMINATOR",M=Y("PROPERTY","__clsx",X);O[0]="CALL_START";let S=1;for(let L=R+2;L<H.length&&S>0;L++)if(H[L][0]==="("||H[L][0]==="CALL_START")S++;else if(H[L][0]===")"){if(S--,S===0)H[L][0]="CALL_END"}else if(H[L][0]==="CALL_END")S--;if(P){let L=Y("IDENTIFIER","div",X);return H.splice(R,0,L),H.splice(R+2,0,M),3}else if(q===":")return H[R]=Y("IDENTIFIER","__clsx",X),1;else return H.splice(R+1,0,M),2}if(O&&O[0]==="INDENT"){if(O.fromThen)return 1;if(B==="->"||B==="=>"||B==="CALL_START"||B==="(")return 1;let I=!1,q=R>0?H[R-1][0]:null,P=q==="IF"||q==="UNLESS"||q==="WHILE"||q==="UNTIL"||q==="WHEN"||q==="FORIN"||q==="FOROF"||q==="FORAS"||q==="FORASAWAIT"||q==="BY",M=!1;if(B==="CALL_END"){let L=1;for(let C=R-1;C>=0&&L>0;C--)if(H[C][0]==="CALL_END")L++;else if(H[C][0]==="CALL_START"){if(L--,L===0&&C>0&&H[C-1][0]==="PROPERTY"&&H[C-1][1]==="__clsx")M=!0}}let S=B==="IDENTIFIER"&&(q==="INDENT"||q==="TERMINATOR"||q==="RENDER");if(M)I=!0;else if(B==="IDENTIFIER"&&K(X[1])&&!P)I=!0;else if(B==="IDENTIFIER"&&!P)I=S||w(H,R);else if(B==="PROPERTY"||B==="STRING"||B==="STRING_END"||B==="NUMBER"||B==="BOOL"||B==="CALL_END"||B===")"||B==="PRESENCE")I=w(H,R);if(I){let L=!1;if(B==="PROPERTY"&&R>0&&H[R-1][0]==="."){let N=R;while(N>=2&&H[N-1][0]==="."&&H[N-2][0]==="PROPERTY")N-=2;if(N>=2&&H[N-1][0]==="."&&H[N-2][0]==="IDENTIFIER"&&K(H[N-2][1])){let V=N>=3?H[N-3][0]:null;if(!V||V==="INDENT"||V==="OUTDENT"||V==="TERMINATOR"||V==="RENDER")L=!0}}if(M||B==="IDENTIFIER"&&(K(X[1])||S)||L){let N=Y("CALL_START","(",X),V=Y("->","->",X);return V.newLine=!0,H.splice(R+1,0,N,V),z.push(Q+1),3}else{let N=Y(",",",",X),V=Y("->","->",X);return V.newLine=!0,H.splice(R+1,0,N,V),3}}}if(B==="IDENTIFIER"&&J(X[1])&&O&&(O[0]==="OUTDENT"||O[0]==="TERMINATOR"))return H.splice(R+1,0,Y("CALL_START","(",X),Y("CALL_END",")",X)),3;return 1})};let u=f.prototype;u.isHtmlTag=function(Y){let Z=Y.split("#")[0];return R1.has(Z.toLowerCase())},u.isComponent=function(Y){if(!Y||typeof Y!=="string")return!1;return/^[A-Z][A-Za-z0-9]*[a-z][A-Za-z0-9]*$/.test(Y)},u.collectTemplateClasses=function(Y){let Z=[],G=Y;while(this.is(G,".")){let J=G[2];if(typeof J==="string"||J instanceof String)Z.unshift(J.valueOf());G=G[1]}let Q=typeof G==="string"?G:G instanceof String?G.valueOf():null;if(Q===null)return{tag:null,classes:Z,id:void 0,base:G};let[z,A]=Q.split("#");if(!z)z="div";return{tag:z,classes:Z,id:A,base:G}};let $=(Y)=>typeof Y==="string"?Y:Y instanceof String?Y.valueOf():null,F=(Y,Z)=>{if(!(Y instanceof String))return Z;let G=new String(Z);if(Y.predicate)G.predicate=!0;if(Y.await)G.await=!0;return G.predicate||G.await?G:Z};u.transformComponentMembers=function(Y,Z=new Set){let G=this._self;if(!Array.isArray(Y)){let Q=$(Y);if(Q&&Z.has(Q))return Y;if(Q&&this.reactiveMembers&&this.reactiveMembers.has(Q))return[".",[".",G,Q],F(Y,"value")];if(Q&&this.componentMembers&&this.componentMembers.has(Q))return[".",G,F(Y,Q)];return Y}if(Y[0]==="."&&Y[1]==="this"&&$(Y[2])!=null){let Q=Y[2],z=$(Q);if(this.reactiveMembers&&this.reactiveMembers.has(z))return[".",[".",G,z],F(Q,"value")];return this._factoryMode?[".",G,Q]:Y}if(Y[0]==="."||Y[0]==="?.")return[Y[0],this.transformComponentMembers(Y[1]),Y[2]];if(Y[0]==="->"){let Q=Y[1],z=new Set(Z);if(Array.isArray(Q))for(let A of Q){let J=$(Array.isArray(A)&&A[0]==="default"?A[1]:A);if(J)z.add(J)}return["=>",Y[1],this.transformComponentMembers(Y[2],z)]}if(Y[0]==="object"||Y[0]==="map-literal")return[Y[0],...Y.slice(1).map((Q)=>{if(Array.isArray(Q)&&Q[0]==="...")return["...",this.transformComponentMembers(Q[1],Z)];if(Array.isArray(Q)&&Q.length>=2){let z=Q[1],A=Array.isArray(z)?this.transformComponentMembers(z,Z):z,J=this.transformComponentMembers(Q[2],Z);return[Q[0],A,J]}return this.transformComponentMembers(Q,Z)})];if(Y[0]==="block"||Y[0]==="program"){let Q=new Set(Z),z=[Y[0]];for(let A=1;A<Y.length;A++){let J=Y[A];if(Array.isArray(J)&&J[0]==="="){let K=$(J[1]);if(K&&!(this.reactiveMembers&&this.reactiveMembers.has(K))){z.push(["=",J[1],this.transformComponentMembers(J[2],Q)]),Q.add(K);continue}}z.push(this.transformComponentMembers(J,Q))}return z}return Y.map((Q)=>this.transformComponentMembers(Q,Z))},u.emitComponent=function(Y,Z,G,Q){let[,z]=Z,A=this.is(z,"block")?z.slice(1):[],J=[],K=[],D=[],w=[],X=[],R=[],H=[],B=[],O=null,I=new Set,q=new Set;for(let T of A){if(!Array.isArray(T))continue;let[j]=T;if(j==="offer"){if(T=T[1],!Array.isArray(T))continue;j=T[0];let b=P1(T[1]);if(b)H.push(b)}if(j==="accept"){let b=typeof T[1]==="string"?T[1]:P1(T[1]);if(b)B.push(b),I.add(b),q.add(b)}else if(j==="."&&T[1]==="this"&&P1(T)){let b=typeof T[2]==="string"||T[2]instanceof String?T[2].valueOf():null;if(b)J.push({name:b,value:void 0,isPublic:!0,type:T[2]?.type||null,required:!0}),I.add(b),q.add(b)}else if(j==="state"){let b=P1(T[1]);if(b)J.push({name:b,value:T[2],isPublic:H2(T[1]),type:q2(T[1])}),I.add(b),q.add(b)}else if(j==="computed"){let b=P1(T[1]);if(b)K.push({name:b,expr:T[2],type:q2(T[1])}),I.add(b),q.add(b)}else if(j==="readonly"){let b=P1(T[1]);if(b)D.push({name:b,value:T[2],isPublic:H2(T[1]),type:q2(T[1])}),I.add(b)}else if(j==="="){let b=P1(T[1]);if(b)if(D2.has(b))X.push({name:b,value:T[2]});else{let c=T[2];if(Array.isArray(c)&&(c[0]==="->"||c[0]==="=>"))w.push({name:b,func:c}),I.add(b);else J.push({name:b,value:c,isPublic:H2(T[1])}),I.add(b),q.add(b)}}else if(j==="effect")R.push(T);else if(j==="render")O=T;else if(j==="object")for(let b=1;b<T.length;b++){let c=T[b];if(!Array.isArray(c))continue;let[,o,$1]=c;if(typeof o==="string"&&D2.has(o))X.push({name:o,value:$1});else if(typeof o==="string")w.push({name:o,func:$1}),I.add(o)}}let P=new Map;for(let{name:T}of w)if(/^on[A-Z]/.test(T)&&!D2.has(T)){let j=T[2].toLowerCase()+T.slice(3);if(_3.has(j))P.set(j,T)}let M=Z[0]?.valueOf?.()??null,S=new Set;for(let{name:T,isPublic:j}of J)if(j)S.add(T);for(let{name:T,isPublic:j}of D)if(j)S.add(T);let L=this.componentMembers,C=this.reactiveMembers,N=this._autoEventHandlers,V=this._inheritsTag;if(this.componentMembers=I,this.reactiveMembers=q,this._autoEventHandlers=P.size>0?P:null,this._inheritsTag=M||null,this.options.stubComponents){let T=(y)=>y?y.replace(/::/g,":").replace(/(\w+(?:<[^>]+>)?)\?\?/g,"$1 | null | undefined").replace(/(\w+(?:<[^>]+>)?)\?(?![.:])/g,"$1 | undefined").replace(/(\w+(?:<[^>]+>)?)\!/g,"NonNullable<$1>"):null,j=[],b=this._componentTypeParams||"";j.push(`class ${b}{`),j.push(" declare _root: Element | null; declare app: any;"),j.push(" emit(_name: string, _detail?: any): void {}");let c=[];for(let{name:y,type:v,isPublic:l,required:d}of J){if(!l)continue;let s=T(v),u1=d?"":"?";c.push(`${y}${u1}: ${s||"any"}`),c.push(`__bind_${y}__?: Signal<${s||"any"}>`)}for(let{name:y,type:v,isPublic:l}of D){if(!l)continue;let d=T(v);c.push(`${y}?: ${d||"any"}`)}{let v=c.length>0&&J.some((d)=>d.isPublic&&d.required)?"":"?",l=c.length>0?`{${c.join("; ")}}`:"{}";if(M)l+=` & __RipProps<'${M}'>`;j.push(` constructor(_props${v}: ${l}) {}`)}let o=(y)=>{let v=y?.valueOf?.()??y;if(typeof v!=="string")return null;if(v==="true"||v==="false")return"boolean";if(/^-?\d+(\.\d+)?$/.test(v))return"number";if(v.startsWith('"')||v.startsWith("'"))return"string";return null};for(let{name:y,type:v,value:l}of J){let d=T(v)||o(l);j.push(d?` declare ${y}: Signal<${d}>;`:` declare ${y}: Signal<any>;`)}for(let{name:y,type:v,value:l}of D){let d=T(v)||o(l);j.push(d?` declare ${y}: ${d};`:` declare ${y}: any;`)}for(let{name:y,expr:v,type:l}of K){let d=T(l),s=d?`: Computed<${d}>`:"";if(this.is(v,"block")){let u1=this.transformComponentMembers(v),x=this.emitFunctionBody(u1);j.push(` ${y}${s} = __computed(() => ${x});`)}else{let u1=this.emitInComponent(v,"value");j.push(` ${y}${s} = __computed(() => ${u1});`)}}j.push(" _init(props) {");for(let{name:y,value:v,isPublic:l}of D){let d=this.emitInComponent(v,"value");j.push(l?` this.${y} = props.${y} ?? ${d};`:` this.${y} = ${d};`)}for(let{name:y,value:v,isPublic:l,required:d,type:s}of J)if(l&&d)j.push(` this.${y} = __state(props.__bind_${y}__ ?? props.${y});`);else if(l){let u1=this.emitInComponent(v,"value");j.push(` this.${y} = __state(props.__bind_${y}__ ?? props.${y} ?? ${u1});`)}else{let u1=this.emitInComponent(v,"value");j.push(` this.${y} = __state(${u1});`)}for(let y of R){let v=y[2],l=this.containsAwait(v)?"async ":"";if(this.is(v,"block")){let d=this.transformComponentMembers(v),s=this.emitFunctionBody(d,[],!0);j.push(` __effect(${l}() => ${s});`)}else{let d=this.emitInComponent(v,"value");j.push(` __effect(${l}() => { ${d}; });`)}}j.push(" }");let $1=new Map;for(let[y,v]of P)$1.set(v,y);if(O){let y=(v)=>{if(!Array.isArray(v))return;let l=v[0]?.valueOf?.()??v[0];if(typeof l==="string"&&l!=="object"&&l!=="switch"&&R1.has(l.split(/[.#]/)[0]))for(let d=1;d<v.length;d++){let s=v[d],u1=this.is(s,"object")?s:null;if(!u1&&Array.isArray(s)&&(s[0]==="->"||s[0]==="=>")&&this.is(s[2],"block")){for(let x=1;x<s[2].length;x++)if(this.is(s[2][x],"object")){u1=s[2][x];break}}if(!u1)continue;for(let x=1;x<u1.length;x++){let n=u1[x];if(!Array.isArray(n)||n.length<2)continue;let[,r,e]=n;if(Array.isArray(r)&&r[0]==="."&&r[1]==="this"&&Array.isArray(e)&&e[0]==="."&&e[1]==="this"){let h=typeof r[2]==="string"?r[2]:r[2]?.valueOf?.(),p=typeof e[2]==="string"?e[2]:e[2]?.valueOf?.();if(h&&p&&!$1.has(p))$1.set(p,h)}}}for(let d=1;d<v.length;d++)y(v[d])};y(O)}for(let{name:y,func:v}of w)if(Array.isArray(v)&&(v[0]==="->"||v[0]==="=>")){let[,l,d]=v;if((!l||Array.isArray(l)&&l.length===0)&&this.containsIt(d))l=["it"];let s=Array.isArray(l)?l.map((e)=>{let h=this.formatParam(e);if(e?.type)h+=`: ${e.type}`;return h}).join(", "):"",u1=$1.get(y);if(u1&&Array.isArray(l)&&l.length>0){let e=l[0];if(!(e?.type||e instanceof String&&e.type)&&typeof(e?.valueOf?.()??e)==="string"){let p=e?.valueOf?.()??e;s=s.replace(p,`${p}: HTMLElementEventMap['${u1}']`)}}let x=this.reactiveMembers?this.transformComponentMembers(d):d,n=this.containsAwait(d),r=this.emitFunctionBody(x,l||[]);j.push(` ${n?"async ":""}${y}(${s}) ${r}`)}for(let{name:y,value:v}of X)if(Array.isArray(v)&&(v[0]==="->"||v[0]==="=>")){let[,l,d]=v,s=Array.isArray(l)?l.map((r)=>this.formatParam(r)).join(", "):"",u1=this.reactiveMembers?this.transformComponentMembers(d):d,x=this.containsAwait(d),n=this.emitFunctionBody(u1,l||[]);j.push(` ${x?"async ":""}${y}(${s}) ${n}`)}if(O){let y=[],v=0,l=this.options.source?.split(`
1310
+ `),d=(x)=>{let n=[];for(let r of x){let e=null;if(this.is(r,"object"))e=r;else if(Array.isArray(r)&&(r[0]==="->"||r[0]==="=>")&&this.is(r[2],"block")){for(let h=1;h<r[2].length;h++)if(this.is(r[2][h],"object")){e=r[2][h];break}}if(e)for(let h=1;h<e.length;h++){let p=e[h],[,k,t]=p;if(typeof k==="string"&&!k.startsWith("@")){let U1=p.loc?.r??e.loc?.r;if(k.startsWith("__bind_")&&k.endsWith("__")){let a=typeof t==="string"&&this.reactiveMembers?.has(t)?`this.${t}`:this.emitInComponent(t,"value");n.push({code:`${k}: ${a}`,srcLine:U1})}else{let a=this.emitInComponent(t,"value");n.push({code:`${k}: ${a}`,srcLine:U1})}}}}return n},s=(x)=>{let n=[];for(let r of x){let e=null;if(this.is(r,"object"))e=r;else if(Array.isArray(r)&&(r[0]==="->"||r[0]==="=>")&&this.is(r[2],"block")){for(let h=1;h<r[2].length;h++)if(this.is(r[2][h],"object")){e=r[2][h];break}}if(e)for(let h=1;h<e.length;h++){let p=e[h];if(!Array.isArray(p)||p.length<2)continue;let[,k,t]=p,U1=p.loc?.r??e.loc?.r;if(Array.isArray(k)&&k[0]==="."&&k[1]==="this"){let a=typeof k[2]==="string"?k[2]:k[2]?.valueOf?.();if(!a)continue;let f1="@"+a.split(".")[0],_2=this.emitInComponent(t,"value");n.push({code:`'${f1}': ${_2}`,srcLine:U1})}else if(typeof k==="string"){if(k==="key"){let a=this.emitInComponent(t,"value"),f1=U1!=null?` // @rip-src:${U1}`:"";y.push(` (${a});${f1}`);continue}if(k.startsWith("__bind_")&&k.endsWith("__")){let a=k.slice(7,-2),f1=this.emitInComponent(t,"value");n.push({code:`${a}: ${f1}`,srcLine:U1})}else{let a=this.emitInComponent(t,"value");n.push({code:`${k}: ${a}`,srcLine:U1})}}}}return n},u1=(x)=>{if(!Array.isArray(x))return;let n=x[0]?.valueOf?.()??x[0];if(n==="object")return;if(n==="if"||n==="unless"){let h=x[1];if(h!=null){let p=this.emitInComponent(h,"value"),k=x.loc?.r,t=k!=null?` // @rip-src:${k}`:"";y.push(` ${p};${t}`)}}else if(n==="?:"){let h=this.emitInComponent(x,"value"),p=x.loc?.r,k=p!=null?` // @rip-src:${p}`:"";y.push(` ${h};${k}`)}else if(n==="switch"){let h=x[1];if(h!=null){let p=this.emitInComponent(h,"value"),k=x.loc?.r,t=k!=null?` // @rip-src:${k}`:"";y.push(` ${p};${t}`)}}else if(n==="for-in"||n==="for-of"||n==="for-as"){let h=x[1],p=x[2];if(p!=null){let k=this.emitInComponent(p,"value"),t=x.loc?.r,U1=t!=null?` // @rip-src:${t}`:"",a;if(Array.isArray(h))if(h.length===1){let f1=h[0];a=Array.isArray(f1)?this.emitDestructuringPattern(f1):String(f1)}else if(n==="for-of")a=`[${h.map((f1)=>String(f1)).join(", ")}]`;else a=String(h[0]);else a=String(h);if(n==="for-of")y.push(` for (const ${a} of Object.entries(${k})) {${U1}`);else y.push(` for (const ${a} of ${k}) {${U1}`);for(let f1=3;f1<x.length;f1++)if(x[f1]!=null)u1(x[f1]);y.push(" }");return}}else if(n==="__text__"){let h=x[1];if(h!=null){let p=this.emitInComponent(h,"value"),k=x.loc?.r,t=k!=null?` // @rip-src:${k}`:"";y.push(` ${p};${t}`)}return}else if(n==="str"){try{let h=this.emitInComponent(x,"value"),p=x.loc?.r,k=p!=null?` // @rip-src:${p}`:"";y.push(` ${h};${k}`)}catch{}return}let r=(h,p,k)=>{if(typeof h!=="string"||!/^[a-z][\w-]*$/.test(h))return;if(f.GENERATORS[h])return;if(h==="null"||h==="undefined"||h==="true"||h==="false")return;let t=p.loc?.r;if(t!=null&&l){let a=new RegExp(`\\b${h}\\b`);for(let f1=t;f1<l.length;f1++)if(a.test(l[f1])){t=f1;break}}let U1=t!=null?` // @rip-src:${t}`:"";if(this.componentMembers&&this.componentMembers.has(h))y.push(` this.${h};${U1}`);else if(k)y.push(` ${h};${U1}`);else y.push(` __ripEl('${h}');${U1}`)},e=typeof n==="string"&&/^[a-z][\w-]*$/.test(n)&&!f.GENERATORS[n]&&R1.has(n.split(/[.#]/)[0]);if(n==="block")for(let h=1;h<x.length;h++)r(x[h],x,!1);else if(e){for(let h=1;h<x.length;h++)r(x[h],x,!0);for(let h=1;h<x.length;h++){let p=x[h];if(!Array.isArray(p))continue;let k=p[0]?.valueOf?.()??p[0];if(k==="object"||k==="block"||k==="__text__")continue;if(typeof k==="string"){if(/^[A-Z]/.test(k))continue;if(R1.has(k.split(/[.#]/)[0]))continue;if(/^[a-z][\w-]*$/.test(k)&&!f.GENERATORS[k])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(k))continue}try{let t=this.emitInComponent(p,"value"),U1=p.loc?.r??x.loc?.r,a=U1!=null?` // @rip-src:${U1}`:"";y.push(` ${t};${a}`)}catch{}}}for(let h=1;h<x.length;h++)u1(x[h]);if(typeof n==="string"&&/^[A-Z]/.test(n)){let h=d(x.slice(1)),p=`_${v++}`,k=`ConstructorParameters<typeof ${n}>[0] & {}`;if(h.length===0){let t=x.loc?.r;y.push(` const ${p}: ${k} = {};`+(t!=null?` // @rip-src:${t}`:""))}else if(h.length===1){let t=x.loc?.r??h[0].srcLine;y.push(` const ${p}: ${k} = {${h[0].code}};`+(t!=null?` // @rip-src:${t}`:""))}else{let t=x.loc?.r;if(new Set(h.map((a)=>a.srcLine).filter((a)=>a!=null)).size<=1){let a=h[0].srcLine??t;y.push(` const ${p}: ${k} = {${h.map((f1)=>f1.code).join(", ")}};`+(a!=null?` // @rip-src:${a}`:""))}else{y.push(` const ${p}: ${k} = {`+(t!=null?` // @rip-src:${t}`:""));for(let a of h)y.push(` ${a.code},`+(a.srcLine!=null?` // @rip-src:${a.srcLine}`:""));y.push(" };")}}}else if(typeof n==="string"&&!f.GENERATORS[n]&&(R1.has(n.split(/[.#]/)[0])||/^[a-z][\w-]*$/.test(n)&&x.length>1)){let h=n.split(/[.#]/)[0],p=s(x.slice(1)),k=x.loc?.r,t=k!=null?` // @rip-src:${k}`:"";if(p.length===0)y.push(` __ripEl('${h}');${t}`);else if(p.length===1){let U1=p[0].srcLine??k,a=U1!=null?` // @rip-src:${U1}`:"";y.push(` __ripEl('${h}', {${p[0].code}});${a}`)}else if(new Set(p.map((a)=>a.srcLine).filter((a)=>a!=null)).size<=1){let a=p[0].srcLine??k,f1=a!=null?` // @rip-src:${a}`:"";y.push(` __ripEl('${h}', {${p.map((_2)=>_2.code).join(", ")}});${f1}`)}else{y.push(` __ripEl('${h}', {${t}`);for(let a of p)y.push(` ${a.code},`+(a.srcLine!=null?` // @rip-src:${a.srcLine}`:""));y.push(" });")}}};if(u1(O),y.length>0){j.push(" _render() {");for(let x of y)j.push(x);j.push(" }")}}return j.push("}"),this.componentMembers=L,this.reactiveMembers=C,this._autoEventHandlers=N,this._inheritsTag=V,j.join(`
1311
+ `)}this.usesTemplates=!0,this.usesReactivity=!0;let E=[],m="";E.push("class extends __Component {"),E.push(" _init(props) {");for(let{name:T,value:j,isPublic:b}of D){let c=this.emitInComponent(j,"value");E.push(b?` this.${T} = props.${T} ?? ${c};`:` this.${T} = ${c};`)}for(let T of B)E.push(` this.${T} = getContext('${T}');`);for(let{name:T,value:j,isPublic:b,required:c}of J)if(b&&c)E.push(` this.${T} = __state(props.__bind_${T}__ ?? props.${T});`);else if(b){let o=this.emitInComponent(j,"value");E.push(` this.${T} = __state(props.__bind_${T}__ ?? props.${T} ?? ${o});`)}else{let o=this.emitInComponent(j,"value");E.push(` this.${T} = __state(${o});`)}if(M){if(E.push(" this._rest = {};"),E.push(" for (const __k in props) {"),S.size>0){let T=[...S].map((j)=>`__k !== '${j}'`).join(" && ");E.push(` if (${T} && !__k.startsWith('__bind_')) this._rest[__k] = props[__k];`)}else E.push(" if (!__k.startsWith('__bind_')) this._rest[__k] = props[__k];");E.push(" }")}for(let{name:T,expr:j}of K)if(this.is(j,"block")){let b=this.transformComponentMembers(j),c=this.emitFunctionBody(b);E.push(` this.${T} = __computed(() => ${c});`)}else{let b=this.emitInComponent(j,"value");E.push(` this.${T} = __computed(() => ${b});`)}for(let T of H)E.push(` setContext('${T}', this.${T});`);for(let T of R){let j=T[2],b=this.containsAwait(j)?"async ":"";if(this.is(j,"block")){let c=this.transformComponentMembers(j),o=this.emitFunctionBody(c,[],!0);E.push(` __effect(${b}() => ${o});`)}else{let c=this.emitInComponent(j,"value");E.push(` __effect(${b}() => { ${c}; });`)}}if(E.push(" }"),M)E.push(" _setRestProp(key, value) {"),E.push(" if (key.startsWith('__bind_')) return;"),E.push(" this._rest || (this._rest = {});"),E.push(" if (value == null) delete this._rest[key];"),E.push(" else this._rest[key] = value;"),E.push(" this._applyInheritedProp(this._inheritedEl, key, value);"),E.push(" }"),E.push(" _applyRestToInheritedEl() {"),E.push(" if (!this._inheritedEl || !this._rest) return;"),E.push(" for (const key in this._rest) this._applyInheritedProp(this._inheritedEl, key, this._rest[key]);"),E.push(" }"),E.push(" _applyInheritedProp(el, key, value) {"),E.push(" if (!el || key === 'key' || key === 'ref' || key === 'children' || key.startsWith('__bind_')) return;"),E.push(" if (key[0] === '@') {"),E.push(" const event = key.slice(1).split('.')[0];"),E.push(" this._restHandlers || (this._restHandlers = {});"),E.push(" const prev = this._restHandlers[key];"),E.push(" if (prev) el.removeEventListener(event, prev);"),E.push(" if (typeof value === 'function') {"),E.push(" const next = (e) => __batch(() => value(e));"),E.push(" this._restHandlers[key] = next;"),E.push(" el.addEventListener(event, next);"),E.push(" } else {"),E.push(" delete this._restHandlers[key];"),E.push(" }"),E.push(" return;"),E.push(" }"),E.push(" if (key === 'class' || key === 'className') {"),E.push(" if (el instanceof SVGElement) el.setAttribute('class', __clsx(value));"),E.push(" else el.className = __clsx(value);"),E.push(" return;"),E.push(" }"),E.push(" if (key === 'style') {"),E.push(" if (value == null) { el.removeAttribute('style'); return; }"),E.push(" if (typeof value === 'string') { el.setAttribute('style', value); return; }"),E.push(" if (typeof value === 'object') { Object.assign(el.style, value); return; }"),E.push(" }"),E.push(" if (key === 'innerHTML' || key === 'textContent' || key === 'innerText') {"),E.push(" el[key] = value ?? '';"),E.push(" return;"),E.push(" }"),E.push(" if (key in el && !key.includes('-')) {"),E.push(" el[key] = value;"),E.push(" return;"),E.push(" }"),E.push(" if (value == null || value === false) {"),E.push(" el.removeAttribute(key);"),E.push(" return;"),E.push(" }"),E.push(" if (value === true) {"),E.push(" el.setAttribute(key, '');"),E.push(" return;"),E.push(" }"),E.push(" el.setAttribute(key, value);"),E.push(" }");for(let{name:T,func:j}of w)if(Array.isArray(j)&&(j[0]==="->"||j[0]==="=>")){let[,b,c]=j;if((!b||Array.isArray(b)&&b.length===0)&&this.containsIt(c))b=["it"];let o=Array.isArray(b)?b.map((l)=>this.formatParam(l)).join(", "):"",$1=this.reactiveMembers?this.transformComponentMembers(c):c,y=this.containsAwait(c),v=this.emitFunctionBody($1,b||[]);E.push(` ${y?"async ":""}${T}(${o}) ${v}`)}for(let{name:T,value:j}of X)if(Array.isArray(j)&&(j[0]==="->"||j[0]==="=>")){let[,b,c]=j,o=Array.isArray(b)?b.map((l)=>this.formatParam(l)).join(", "):"",$1=this.reactiveMembers?this.transformComponentMembers(c):c,y=this.containsAwait(c),v=this.emitFunctionBody($1,b||[]);E.push(` ${y?"async ":""}${T}(${o}) ${v}`)}if(O){let T=O[1],j=this.buildRender(T);if(j.blockFactories.length>0)m=j.blockFactories.join(`
1312
1312
 
1313
1313
  `)+`
1314
1314
 
1315
- `;E.push(" _create() {");for(let b of j.createLines)E.push(` ${b}`);if(E.push(` return ${j.rootVar};`),E.push(" }"),j.setupLines.length>0){E.push(" _setup() {");for(let b of j.setupLines)E.push(` ${b}`);E.push(" }")}}if(E.push("}"),this.componentMembers=L,this.reactiveMembers=V,this._autoEventHandlers=N,this._inheritsTag=C,l)return`(() => {
1316
- ${l}return ${E.join(`
1315
+ `;E.push(" _create() {");for(let b of j.createLines)E.push(` ${b}`);if(E.push(` return ${j.rootVar};`),E.push(" }"),j.setupLines.length>0){E.push(" _setup() {");for(let b of j.setupLines)E.push(` ${b}`);E.push(" }")}}if(E.push("}"),this.componentMembers=L,this.reactiveMembers=C,this._autoEventHandlers=N,this._inheritsTag=V,m)return`(() => {
1316
+ ${m}return ${E.join(`
1317
1317
  `)};
1318
1318
  })()`;return E.join(`
1319
- `)},u.emitInComponent=function(Y,Z){if(typeof Y==="string"&&this.reactiveMembers&&this.reactiveMembers.has(Y))return`${this._self}.${Y}.value`;if(typeof Y==="string"&&this.componentMembers&&this.componentMembers.has(Y))return`${this._self}.${Y}`;if(Array.isArray(Y)&&this.reactiveMembers){let G=this.transformComponentMembers(Y);return this.emit(G,Z)}return this.emit(Y,Z)},u.emitRender=function(Y,Z,G,Q){this.error("render blocks can only be used inside a component",Q)},u.emitOffer=function(Y,Z,G,Q){this.error("offer can only be used inside a component",Q)},u.emitAccept=function(Y,Z,G,Q){this.error("accept can only be used inside a component",Q)},u.buildRender=function(Y){this._elementCount=0,this._textCount=0,this._blockCount=0,this._createLines=[],this._setupLines=[],this._blockFactories=[],this._loopVarStack=[],this._factoryMode=!1,this._factoryVars=null,this._fragChildren=new Map,this._pendingAutoWire=!1,this._autoWireEl=null,this._autoWireExplicit=null,this._inheritsTargetBound=!1;let Z=this.is(Y,"block")?Y.slice(1):[Y],G;if(Z.length===0||Z.length===1&&Z[0]==="null")G="null";else if(Z.length===1)this._pendingAutoWire=!!this._autoEventHandlers,G=this.emitNode(Z[0]),this._pendingAutoWire=!1;else{G=this.newElementVar("frag"),this._createLines.push(`${G} = document.createDocumentFragment();`);let Q=[];for(let z of Z){let A=this.emitNode(z);this._createLines.push(`${G}.appendChild(${A});`),Q.push(A)}this._fragChildren.set(G,Q)}return{createLines:this._createLines,setupLines:this._setupLines,blockFactories:this._blockFactories,rootVar:G}},u.newBlockVar=function(){return`create_block_${this._blockCount++}`},u.newElementVar=function(Y="el"){let Z=`_${Y}${this._elementCount++}`;if(this._factoryVars)this._factoryVars.add(Z);return this._factoryMode?Z:`this.${Z}`},u.newTextVar=function(){let Y=`_t${this._textCount++}`;if(this._factoryVars)this._factoryVars.add(Y);return this._factoryMode?Y:`this.${Y}`},Object.defineProperty(u,"_self",{get(){return this._factoryMode?"ctx":"this"}}),u._pushEffect=function(Y){if(this._factoryMode)this._setupLines.push(`disposers.push(__effect(() => { ${Y} }));`);else this._setupLines.push(`__effect(() => { ${Y} });`)},u.emitNode=function(Y){if(typeof Y==="string"||Y instanceof String){let J=Y.valueOf();if(J.startsWith('"')||J.startsWith("'")||J.startsWith("`")){let H=this.newTextVar();return this._createLines.push(`${H} = document.createTextNode(${J});`),H}if(this.reactiveMembers&&this.reactiveMembers.has(J)){let H=this.newTextVar();return this._createLines.push(`${H} = document.createTextNode('');`),this._pushEffect(`${H}.data = ${this._self}.${J}.value;`),H}if(J==="slot"&&this.componentMembers){let H=this._self,q=this.newElementVar("slot");return this._createLines.push(`${q} = ${H}.children instanceof Node ? ${H}.children : (${H}.children != null ? document.createTextNode(String(${H}.children)) : document.createComment(''));`),q}let[K,D]=J.split("#"),w=this.newElementVar(),X=K||"div";if(O1.has(X)||this._svgDepth>0)this._createLines.push(`${w} = document.createElementNS('${M2}', '${X}');`);else this._createLines.push(`${w} = document.createElement('${X}');`);if(D)this._createLines.push(`${w}.id = '${D}';`);return this._bindInheritedTarget(X,w),w}if(!Array.isArray(Y)){let J=this.newElementVar("c");return this._createLines.push(`${J} = document.createComment('unknown');`),J}let[Z,...G]=Y,Q=typeof Z==="string"?Z:Z instanceof String?Z.valueOf():null;if(Q&&this.isComponent(Q))return this.emitChildComponent(Q,G);if(Q==="slot"&&this.componentMembers){let J=this._self,K=this.newElementVar("slot");return this._createLines.push(`${K} = ${J}.children instanceof Node ? ${J}.children : (${J}.children != null ? document.createTextNode(String(${J}.children)) : document.createComment(''));`),K}if(Q==="switch"){let J=G[0],K=G[1]||[],w=G[2]||null;for(let H=K.length-1;H>=0;H--){let[,q,B]=K[H],R;if(J===null)R=q.length===1?q[0]:q.reduce((S,O)=>S?["||",S,O]:O,null);else R=q.length===1?["==",J,q[0]]:q.map((S)=>["==",J,S]).reduce((S,O)=>S?["||",S,O]:O,null);w=["if",R,B,w]}if(w){if(Array.isArray(w)&&w[0]==="if")return this.emitConditional(w);return this.emitTemplateBlock(w)}let X=this.newElementVar("c");return this._createLines.push(`${X} = document.createComment('switch');`),X}if(Q&&this.isHtmlTag(Q)&&!_(Z,"text")){let[J,K]=Q.split("#");return this.emitTag(J||"div",[],G,K)}if(Q==="."){let[,J,K]=Y;if(J==="this"&&typeof K==="string"){let R=this._self;if(this.reactiveMembers&&this.reactiveMembers.has(K)){let O=this.newTextVar();return this._createLines.push(`${O} = document.createTextNode('');`),this._pushEffect(`${O}.data = ${R}.${K}.value;`),O}let S=this.newElementVar("slot");return this._createLines.push(`${S} = ${R}.${K} instanceof Node ? ${R}.${K} : (${R}.${K} != null ? document.createTextNode(String(${R}.${K})) : document.createComment(''));`),S}let{tag:D,classes:w,id:X,base:H}=this.collectTemplateClasses(Y);if(!_(H,"text")&&D&&this.isHtmlTag(D))return this.emitTag(D,w,[],X);let q=this.newTextVar(),B=this.emitInComponent(Y,"value");return this._createLines.push(`${q} = document.createTextNode(String(${B}));`),q}if(Array.isArray(Z)){if(Array.isArray(Z[0])&&Z[0][0]==="."&&(Z[0][2]==="__clsx"||Z[0][2]instanceof String&&Z[0][2].valueOf()==="__clsx")){let w=Z[0][1],X=Z.slice(1);if(Array.isArray(w)){let{tag:q,classes:B,id:R}=this.collectTemplateClasses(w);if(q){let S=B.map((O)=>`"${O}"`);return this.emitDynamicTag(q,X,G,S,R)}}let H=typeof w==="string"?w:w.valueOf();return this.emitDynamicTag(H,X,G)}let{tag:J,classes:K,id:D}=this.collectTemplateClasses(Z);if(J&&this.isHtmlTag(J)){if(K.length>0&&K[K.length-1]==="__clsx"){let X=K.slice(0,-1).map((H)=>`"${H}"`);return this.emitDynamicTag(J,G,[],X,D)}return this.emitTag(J,K,G,D)}}if(Q==="->"||Q==="=>")return this.emitTemplateBlock(G[1]);if(Q==="if")return this.emitConditional(Y);if(Q==="for"||Q==="for-in"||Q==="for-of"||Q==="for-as")return this.emitTemplateLoop(Y);if(Q==="__text__"){let J=G[0]??"undefined",K=this.newTextVar(),D=this.emitInComponent(J,"value");if(this.hasReactiveDeps(J))this._createLines.push(`${K} = document.createTextNode('');`),this._pushEffect(`${K}.data = String(${D});`);else this._createLines.push(`${K} = document.createTextNode(String(${D}));`);return K}let z=this.newTextVar(),A=this.emitInComponent(Y,"value");if(this.hasReactiveDeps(Y))this._createLines.push(`${z} = document.createTextNode('');`),this._pushEffect(`${z}.data = ${A};`);else this._createLines.push(`${z} = document.createTextNode(String(${A}));`);return z},u.appendChildren=function(Y,Z){for(let G of Z)if(this.is(G,"->")||this.is(G,"=>")){let Q=G[2];if(this.is(Q,"block"))for(let z of Q.slice(1))if(this.is(z,"object"))this.emitAttributes(Y,z);else{let A=this.emitNode(z);this._createLines.push(`${Y}.appendChild(${A});`)}else if(Q){let z=this.emitNode(Q);this._createLines.push(`${Y}.appendChild(${z});`)}}else if(this.is(G,"object"))this.emitAttributes(Y,G);else if(typeof G==="string"||G instanceof String){let Q=G.valueOf(),z=Q.split(/[#.]/)[0];if(this.isHtmlTag(z||"div")||this.isComponent(z)){let A=this.emitNode(G);this._createLines.push(`${Y}.appendChild(${A});`)}else{let A=this.newTextVar();if(Q.startsWith('"')||Q.startsWith("'")||Q.startsWith("`"))this._createLines.push(`${A} = document.createTextNode(${Q});`);else if(this.reactiveMembers&&this.reactiveMembers.has(Q))this._createLines.push(`${A} = document.createTextNode('');`),this._pushEffect(`${A}.data = ${this._self}.${Q}.value;`);else if(this.componentMembers&&this.componentMembers.has(Q))this._createLines.push(`${A} = document.createTextNode(String(${this._self}.${Q}));`);else this._createLines.push(`${A} = document.createTextNode(${this.emitInComponent(G,"value")});`);this._createLines.push(`${Y}.appendChild(${A});`)}}else if(G){let Q=this.emitNode(G);this._createLines.push(`${Y}.appendChild(${Q});`)}},u._claimAutoWire=function(Y){if(!this._pendingAutoWire||!this._autoEventHandlers?.size)return!1;return this._pendingAutoWire=!1,this._autoWireEl=Y,this._autoWireExplicit=new Set,!0},u._emitAutoWire=function(Y,Z){if(!Z)return;for(let[G,Q]of this._autoEventHandlers)if(!this._autoWireExplicit.has(G))this._createLines.push(`${Y}.addEventListener('${G}', (e) => __batch(() => ${this._self}.${Q}(e)));`);this._autoWireEl=null,this._autoWireExplicit=null},u._bindInheritedTarget=function(Y,Z){if(!this._inheritsTag||this._factoryMode||this._inheritsTargetBound)return;if(Y!==this._inheritsTag)return;this._inheritsTargetBound=!0,this._createLines.push(`this._inheritedEl = ${Z};`),this._createLines.push("this._applyRestToInheritedEl();")},u.emitTag=function(Y,Z,G,Q){let z=this.newElementVar(),A=O1.has(Y)||this._svgDepth>0;if(A)this._createLines.push(`${z} = document.createElementNS('${M2}', '${Y}');`);else this._createLines.push(`${z} = document.createElement('${Y}');`);if(Q)this._createLines.push(`${z}.id = '${Q}';`);if(this._bindInheritedTarget(Y,z),this._componentName&&this._elementCount===1&&!this._factoryMode&&!this.options.skipDataPart)this._createLines.push(`${z}.setAttribute('data-part', '${this._componentName}');`);let J=this._claimAutoWire(z),K=this._pendingClassArgs,D=this._pendingClassEl;if(Z.length>0)this._pendingClassArgs=[`'${Z.join(" ")}'`],this._pendingClassEl=z;if(Y==="svg")this._svgDepth=(this._svgDepth||0)+1;if(this.appendChildren(z,G),Y==="svg")this._svgDepth--;if(Z.length>0){if(this._pendingClassArgs.length===1)if(A)this._createLines.push(`${z}.setAttribute('class', '${Z.join(" ")}');`);else this._createLines.push(`${z}.className = '${Z.join(" ")}';`);else{let w=this._pendingClassArgs.join(", ");if(A)this._pushEffect(`${z}.setAttribute('class', __clsx(${w}));`);else this._pushEffect(`${z}.className = __clsx(${w});`)}this._pendingClassArgs=K,this._pendingClassEl=D}return this._emitAutoWire(z,J),z},u.emitDynamicTag=function(Y,Z,G,Q,z){let A=this.newElementVar();if(O1.has(Y)||this._svgDepth>0)this._createLines.push(`${A} = document.createElementNS('${M2}', '${Y}');`);else this._createLines.push(`${A} = document.createElement('${Y}');`);if(z)this._createLines.push(`${A}.id = '${z}';`);this._bindInheritedTarget(Y,A);let J=this._claimAutoWire(A),K=[...Q||[],...Z.map((X)=>this.emitInComponent(X,"value"))],D=this._pendingClassArgs,w=this._pendingClassEl;if(this._pendingClassArgs=K,this._pendingClassEl=A,Y==="svg")this._svgDepth=(this._svgDepth||0)+1;if(this.appendChildren(A,G),Y==="svg")this._svgDepth--;if(this._pendingClassArgs.length>0){let X=this._pendingClassArgs.join(", ");if(O1.has(Y)||this._svgDepth>0)this._pushEffect(`${A}.setAttribute('class', __clsx(${X}));`);else this._pushEffect(`${A}.className = __clsx(${X});`)}return this._pendingClassArgs=D,this._pendingClassEl=w,this._emitAutoWire(A,J),A},u.emitAttributes=function(Y,Z){let G=m5(Z.slice(1));for(let Q=1;Q<Z.length;Q++){let[,z,A]=Z[Q];if(this.is(z,".")&&z[1]==="this"){let J=z[2];if(this._autoWireExplicit&&this._autoWireEl===Y)this._autoWireExplicit.add(J);if(typeof A==="string"&&this.componentMembers?.has(A))this._createLines.push(`${Y}.addEventListener('${J}', (e) => __batch(() => ${this._self}.${A}(e)));`);else{let K=this.emitInComponent(A,"value");this._createLines.push(`${Y}.addEventListener('${J}', (e) => __batch(() => (${K})(e)));`)}continue}if(typeof z==="string"||z instanceof String){if(z.startsWith('"')&&z.endsWith('"'))z=z.slice(1,-1);if(z==="class"||z==="className"){let K=this.emitInComponent(A,"value");if(this._pendingClassArgs&&this._pendingClassEl===Y)this._pendingClassArgs.push(K);else if(this.hasReactiveDeps(A))if(this._svgDepth>0)this._pushEffect(`${Y}.setAttribute('class', __clsx(${K}));`);else this._pushEffect(`${Y}.className = __clsx(${K});`);else if(this._svgDepth>0)this._createLines.push(`${Y}.setAttribute('class', ${K});`);else this._createLines.push(`${Y}.className = ${K};`);continue}if(z==="__transition__"){let K=String(A).replace(/^["']|["']$/g,"");this._createLines.push(`this._t = "${K}";`);continue}if(z==="ref"){let K=String(A).replace(/^["']|["']$/g,"");this._createLines.push(`${this._self}.${K} = ${Y};`);continue}if(z.startsWith(F3)&&z.endsWith(Z3)){let K=z.slice(F3.length,-Z3.length),D=this.emitInComponent(A,"value"),w,X;if(K==="checked")w="change",X="e.target.checked";else w="input",X=G==="number"||G==="range"?"e.target.valueAsNumber":"e.target.value";this._pushEffect(`${Y}.${K} = ${D};`);let H=`${D} = ${X}`,q=!this.isSimpleAssignable(A)&&this.findRootReactiveMember(A);if(q)H+=`; ${this._self}.${q}.touch?.()`;this._createLines.push(`${Y}.addEventListener('${w}', (e) => { ${H}; });`);continue}let J=this.emitInComponent(A,"value");if((z==="value"||z==="checked")&&this.hasReactiveDeps(A)){this._pushEffect(`${Y}.${z} = ${J};`);continue}if(z==="innerHTML"||z==="textContent"||z==="innerText")if(this.hasReactiveDeps(A))this._pushEffect(`${Y}.${z} = ${J};`);else this._createLines.push(`${Y}.${z} = ${J};`);else if(l5.has(z))if(this.hasReactiveDeps(A))this._pushEffect(`${Y}.toggleAttribute('${z}', !!${J});`);else this._createLines.push(`if (${J}) ${Y}.setAttribute('${z}', '');`);else if(this.hasReactiveDeps(A))if(Array.isArray(A)&&A[0]==="presence")this._pushEffect(`{ const __v = ${J}; __v == null ? ${Y}.removeAttribute('${z}') : ${Y}.setAttribute('${z}', __v); }`);else this._pushEffect(`${Y}.setAttribute('${z}', ${J});`);else if(Array.isArray(A)&&A[0]==="presence")this._createLines.push(`{ const __v = ${J}; if (__v != null) ${Y}.setAttribute('${z}', __v); }`);else this._createLines.push(`${Y}.setAttribute('${z}', ${J});`)}}},u.emitTemplateBlock=function(Y){if(!Array.isArray(Y)||Y[0]!=="block")return this.emitNode(Y);let Z=Y.slice(1);if(Z.length===0){let z=this.newElementVar("empty");return this._createLines.push(`${z} = document.createComment('');`),z}if(Z.length===1)return this.emitNode(Z[0]);let G=this.newElementVar("frag");this._createLines.push(`${G} = document.createDocumentFragment();`);let Q=[];for(let z of Z){let A=this.emitNode(z);this._createLines.push(`${G}.appendChild(${A});`),Q.push(A)}return this._fragChildren.set(G,Q),G},u.emitConditional=function(Y){if(this._pendingAutoWire=!1,Y.length>4){let B=Y[Y.length-1];for(let R=Y.length-2;R>=3;R--)B=[...Y[R],B];Y=[Y[0],Y[1],Y[2],B]}let[,Z,G,Q]=Y,z=this.newElementVar("anchor");this._createLines.push(`${z} = document.createComment('if');`);let A=this.emitInComponent(Z,"value"),J=this._loopVarStack.map((B)=>`${B.itemVar}, ${B.indexVar}`).join(", "),K=J?`, ${J}`:"",D=this.newBlockVar();this.emitConditionBranch(D,G);let w=null;if(Q)w=this.newBlockVar(),this.emitConditionBranch(w,Q);let X=[];X.push(`// Conditional: ${D}${w?" / "+w:""}`),X.push("{"),X.push(` const anchor = ${z};`),X.push(" let currentBlock = null;"),X.push(" let showing = null;");let H=this._factoryMode?"disposers.push(__effect(() => {":"__effect(() => {",q=this._factoryMode?"}));":"});";if(X.push(` ${H}`),X.push(` const show = !!(${A});`),X.push(` const want = show ? 'then' : ${Q?"'else'":"null"};`),X.push(" if (want === showing) return;"),X.push(""),X.push(" if (currentBlock) {"),X.push(" const leaving = currentBlock;"),X.push(" if (leaving._t) { __transition(leaving._first, leaving._t, 'leave', () => leaving.d(true)); }"),X.push(" else { leaving.d(true); }"),X.push(" currentBlock = null;"),X.push(" }"),X.push(" showing = want;"),X.push(""),X.push(" if (want === 'then') {"),X.push(` currentBlock = ${D}(${this._self}${K});`),X.push(" currentBlock.c();"),X.push(" if (anchor.parentNode) currentBlock.m(anchor.parentNode, anchor.nextSibling);"),X.push(` currentBlock.p(${this._self}${K});`),X.push(" if (currentBlock._t) __transition(currentBlock._first, currentBlock._t, 'enter');"),X.push(" }"),Q)X.push(" if (want === 'else') {"),X.push(` currentBlock = ${w}(${this._self}${K});`),X.push(" currentBlock.c();"),X.push(" if (anchor.parentNode) currentBlock.m(anchor.parentNode, anchor.nextSibling);"),X.push(` currentBlock.p(${this._self}${K});`),X.push(" if (currentBlock._t) __transition(currentBlock._first, currentBlock._t, 'enter');"),X.push(" }");if(X.push(` ${q}`),this._factoryMode)X.push(" disposers.push(() => { if (currentBlock) { currentBlock.d(true); currentBlock = null; } });");return X.push("}"),this._setupLines.push(X.join(`
1320
- `)),z},u.emitConditionBranch=function(Y,Z){let G=[this._createLines,this._setupLines,this._factoryMode,this._factoryVars];this._createLines=[],this._setupLines=[],this._factoryMode=!0,this._factoryVars=new Set;let Q=this.emitTemplateBlock(Z),z=this._createLines,A=this._setupLines,J=this._factoryVars;[this._createLines,this._setupLines,this._factoryMode,this._factoryVars]=G;let K=this._loopVarStack.map((w)=>`${w.itemVar}, ${w.indexVar}`).join(", "),D=K?`, ${K}`:"";this.emitBlockFactory(Y,`ctx${D}`,Q,z,A,J)},u.emitBlockFactory=function(Y,Z,G,Q,z,A,J){let K=[];if(K.push(`function ${Y}(${Z}) {`),A.size>0)K.push(` let ${[...A].join(", ")};`);let D=z.length>0;if(D)K.push(" let disposers = [];");if(K.push(" return {"),J)K.push(" _s: true,");let w=this._fragChildren.get(G),X=w?w[0]:G;K.push(" c() {");for(let H of Q)K.push(` ${H}`);if(K.push(` this._first = ${X};`),K.push(" },"),K.push(" m(target, anchor) {"),w)for(let H of w)K.push(` if (target) target.insertBefore(${H}, anchor);`);else K.push(` if (target) target.insertBefore(${G}, anchor);`);if(K.push(" },"),K.push(` p(${Z}) {`),D){K.push(" disposers.forEach(d => d());"),K.push(" disposers = [];");for(let H of z)K.push(` ${H}`)}if(K.push(" },"),K.push(" d(detaching) {"),D)K.push(" disposers.forEach(d => d());");if(w)for(let H of w)K.push(` if (detaching && ${H}) ${H}.remove();`);else K.push(` if (detaching && ${G}) ${G}.remove();`);K.push(" }"),K.push(" };"),K.push("}"),this._blockFactories.push(K.join(`
1321
- `))},u.emitTemplateLoop=function(Y){this._pendingAutoWire=!1;let[Z,G,Q,z,A,J]=Y,K=this.newBlockVar(),D=this.newElementVar("anchor");this._createLines.push(`${D} = document.createComment('for');`);let w=Array.isArray(G)?G:[G],X=w[0],H=w[1]||null;if(!H){let i=new Set(this._loopVarStack.flatMap((r)=>[r.itemVar,r.indexVar]));i.add(X);for(let r of["i","j","k","l","m","n"])if(!i.has(r)){H=r;break}H=H||`_i${this._loopVarStack.length}`}let q=this.emitInComponent(Q,"value"),B=X;if(this.is(J,"block")&&J.length>1){let i=J[1];if(Array.isArray(i))for(let r of i){if(this.is(r,"object"))for(let U1=1;U1<r.length;U1++){let[y,v]=r[U1];if(y==="key"){B=this.emit(v,"value");break}}if(B!==X)break}}let R=[this._createLines,this._setupLines,this._factoryMode,this._factoryVars];this._createLines=[],this._setupLines=[],this._factoryMode=!0,this._factoryVars=new Set;let S=this._loopVarStack.map((i)=>`${i.itemVar}, ${i.indexVar}`).join(", "),O=S?`, ${S}`:"";this._loopVarStack.push({itemVar:X,indexVar:H});let P=this.emitTemplateBlock(J);this._loopVarStack.pop();let M=this._createLines,I=this._setupLines,L=this._factoryVars;[this._createLines,this._setupLines,this._factoryMode,this._factoryVars]=R;let V=I.length===0,N=`ctx, ${X}, ${H}${O}`;this.emitBlockFactory(K,N,P,M,I,L,V);let E=B!==X?`(${X}, ${H}) => ${B}`:"null",l=S?`, ${S}`:"",T=[];T.push(`// Loop: ${K}`),T.push("{"),T.push(" const __s = { blocks: [], keys: [] };");let j=this._factoryMode?"disposers.push(__effect(() => {":"__effect(() => {",b=this._factoryMode?"}));":"});";return T.push(` ${j}`),T.push(` __reconcile(${D}, __s, ${q}, ${this._self}, ${K}, ${E}${l});`),T.push(` ${b}`),T.push("}"),this._setupLines.push(T.join(`
1322
- `)),D},u.emitChildComponent=function(Y,Z){this._pendingAutoWire=!1;let G=this.newElementVar("inst"),Q=this.newElementVar("el"),{propsCode:z,reactiveProps:A,eventBindings:J,childrenSetupLines:K}=this.buildComponentProps(Z),D=this._self;this._createLines.push(`{ const __prev = __pushComponent(${D}); try {`),this._createLines.push(`${G} = new ${Y}(${z});`),this._createLines.push(`${Q} = ${G}._root = ${G}._create();`),this._createLines.push(`(${D}._children || (${D}._children = [])).push(${G});`),this._createLines.push("} finally { __popComponent(__prev); } }");for(let{event:w,value:X}of J){let H=this.emitInComponent(X,"value");this._createLines.push(`${Q}.addEventListener('${w}', (e) => __batch(() => (${H})(e)));`)}this._setupLines.push(`try { if (${G}._setup) ${G}._setup(); if (${G}.mounted) ${G}.mounted(); } catch (__e) { __handleComponentError(__e, ${G}); }`);for(let{key:w,valueCode:X}of A)this._pushEffect(`if (${G}.${w} && typeof ${G}.${w} === 'object' && 'value' in ${G}.${w}) ${G}.${w}.value = ${X}; else if (${G}._setRestProp) ${G}._setRestProp('${w}', ${X});`);for(let w of K)this._setupLines.push(w);return Q},u.buildComponentProps=function(Y){let Z=[],G=[],Q=[],z=null,A=[],J=(w,X)=>{if(w.startsWith("@")){Q.push({event:w.slice(1).split(".")[0],value:X});return}if(this.reactiveMembers&&(typeof X==="string"&&this.reactiveMembers.has(X)||Array.isArray(X)&&X[0]==="."&&X[1]==="this"&&typeof X[2]==="string"&&this.reactiveMembers.has(X[2]))){let q=typeof X==="string"?X:X[2];Z.push(`${w}: ${this._self}.${q}`)}else{let q=this.emitInComponent(X,"value");if(Z.push(`${w}: ${q}`),this.hasReactiveDeps(X))G.push({key:w,valueCode:q})}},K=(w)=>{for(let X=1;X<w.length;X++){let[,H,q]=w[X];if(typeof H==="string")J(H,q);else if(Array.isArray(H)&&H[0]==="."&&H[1]==="this"&&typeof H[2]==="string")Q.push({event:H[2],value:q})}};for(let w of Y)if(this.is(w,"object"))K(w);else if(Array.isArray(w)&&(w[0]==="->"||w[0]==="=>")){let X=w[2];if(X){if(this.is(X,"block")){let H=[];for(let q of X.slice(1))if(this.is(q,"object"))K(q);else H.push(q);X=H.length>0?["block",...H]:null}if(X){let H=this._createLines,q=this._setupLines;this._createLines=[],this._setupLines=[],z=this.emitTemplateBlock(X);let B=this._createLines,R=this._setupLines;this._createLines=H,this._setupLines=q;for(let S of B)this._createLines.push(S);A.push(...R),Z.push(`children: ${z}`)}}}else if(w&&!z){let X=this.newTextVar(),H=this.emitInComponent(w,"value");if(this.hasReactiveDeps(w)){this._createLines.push(`${X} = document.createTextNode('');`);let q=`${X}.data = ${H};`,B=this._factoryMode?`disposers.push(__effect(() => { ${q} }));`:`__effect(() => { ${q} });`;A.push(B)}else this._createLines.push(`${X} = document.createTextNode(${H});`);z=X,Z.push(`children: ${z}`)}return{propsCode:Z.length>0?`{ ${Z.join(", ")} }`:"{}",reactiveProps:G,eventBindings:Q,childrenSetupLines:A}},u.hasReactiveDeps=function(Y){if(typeof Y==="string")return!!(this.reactiveMembers&&this.reactiveMembers.has(Y));if(!Array.isArray(Y))return!1;if(Y[0]==="."&&Y[1]==="this"&&typeof Y[2]==="string")return!!(this.reactiveMembers&&this.reactiveMembers.has(Y[2]));if(Y[0]==="."&&this._rootsAtThis(Y[1]))return!0;if(Array.isArray(Y[0])&&Y[0][0]==="."&&Y[0][1]==="this"){let Z=$(Y[0][2]);if(Z&&this.componentMembers?.has(Z))return!0}for(let Z of Y)if(this.hasReactiveDeps(Z))return!0;return!1},u.isSimpleAssignable=function(Y){if(typeof Y==="string")return!!(this.reactiveMembers&&this.reactiveMembers.has(Y));if(Array.isArray(Y)&&Y[0]==="."&&Y[1]==="this"&&typeof Y[2]==="string")return!!(this.reactiveMembers&&this.reactiveMembers.has(Y[2]));return!1},u.findRootReactiveMember=function(Y){if(typeof Y==="string")return this.reactiveMembers?.has(Y)?Y:null;if(!Array.isArray(Y))return null;if(Y[0]==="."&&Y[1]==="this"&&typeof Y[2]==="string")return this.reactiveMembers?.has(Y[2])?Y[2]:null;if(Y[0]==="."||Y[0]==="[]")return this.findRootReactiveMember(Y[1]);return null},u._rootsAtThis=function(Y){if(typeof Y==="string")return Y==="this";if(!Array.isArray(Y)||Y[0]!==".")return!1;return this._rootsAtThis(Y[1])},u.getComponentRuntime=function(){return`
1319
+ `)},u.emitInComponent=function(Y,Z){if(typeof Y==="string"&&this.reactiveMembers&&this.reactiveMembers.has(Y))return`${this._self}.${Y}.value`;if(typeof Y==="string"&&this.componentMembers&&this.componentMembers.has(Y))return`${this._self}.${Y}`;if(Array.isArray(Y)&&this.reactiveMembers){let G=this.transformComponentMembers(Y);return this.emit(G,Z)}return this.emit(Y,Z)},u.emitRender=function(Y,Z,G,Q){this.error("render blocks can only be used inside a component",Q)},u.emitOffer=function(Y,Z,G,Q){this.error("offer can only be used inside a component",Q)},u.emitAccept=function(Y,Z,G,Q){this.error("accept can only be used inside a component",Q)},u.buildRender=function(Y){this._elementCount=0,this._textCount=0,this._blockCount=0,this._createLines=[],this._setupLines=[],this._blockFactories=[],this._loopVarStack=[],this._factoryMode=!1,this._factoryVars=null,this._fragChildren=new Map,this._pendingAutoWire=!1,this._autoWireEl=null,this._autoWireExplicit=null,this._inheritsTargetBound=!1;let Z=this.is(Y,"block")?Y.slice(1):[Y],G;if(Z.length===0||Z.length===1&&Z[0]==="null")G="null";else if(Z.length===1)this._pendingAutoWire=!!this._autoEventHandlers,G=this.emitNode(Z[0]),this._pendingAutoWire=!1;else{G=this.newElementVar("frag"),this._createLines.push(`${G} = document.createDocumentFragment();`);let Q=[];for(let z of Z){let A=this.emitNode(z);this._createLines.push(`${G}.appendChild(${A});`),Q.push(A)}this._fragChildren.set(G,Q)}return{createLines:this._createLines,setupLines:this._setupLines,blockFactories:this._blockFactories,rootVar:G}},u.newBlockVar=function(){return`create_block_${this._blockCount++}`},u.newElementVar=function(Y="el"){let Z=`_${Y}${this._elementCount++}`;if(this._factoryVars)this._factoryVars.add(Z);return this._factoryMode?Z:`this.${Z}`},u.newTextVar=function(){let Y=`_t${this._textCount++}`;if(this._factoryVars)this._factoryVars.add(Y);return this._factoryMode?Y:`this.${Y}`},Object.defineProperty(u,"_self",{get(){return this._factoryMode?"ctx":"this"}}),u._pushEffect=function(Y){if(this._factoryMode)this._setupLines.push(`disposers.push(__effect(() => { ${Y} }));`);else this._setupLines.push(`__effect(() => { ${Y} });`)},u.emitNode=function(Y){if(typeof Y==="string"||Y instanceof String){let J=Y.valueOf();if(J.startsWith('"')||J.startsWith("'")||J.startsWith("`")){let R=this.newTextVar();return this._createLines.push(`${R} = document.createTextNode(${J});`),R}if(this.reactiveMembers&&this.reactiveMembers.has(J)){let R=this.newTextVar();return this._createLines.push(`${R} = document.createTextNode('');`),this._pushEffect(`${R}.data = ${this._self}.${J}.value;`),R}if(J==="slot"&&this.componentMembers){let R=this._self,H=this.newElementVar("slot");return this._createLines.push(`${H} = ${R}.children instanceof Node ? ${R}.children : (${R}.children != null ? document.createTextNode(String(${R}.children)) : document.createComment(''));`),H}let[K,D]=J.split("#"),w=this.newElementVar(),X=K||"div";if(O1.has(X)||this._svgDepth>0)this._createLines.push(`${w} = document.createElementNS('${M2}', '${X}');`);else this._createLines.push(`${w} = document.createElement('${X}');`);if(D)this._createLines.push(`${w}.id = '${D}';`);return this._bindInheritedTarget(X,w),w}if(!Array.isArray(Y)){let J=this.newElementVar("c");return this._createLines.push(`${J} = document.createComment('unknown');`),J}let[Z,...G]=Y,Q=typeof Z==="string"?Z:Z instanceof String?Z.valueOf():null;if(Q&&this.isComponent(Q))return this.emitChildComponent(Q,G);if(Q==="slot"&&this.componentMembers){let J=this._self,K=this.newElementVar("slot");return this._createLines.push(`${K} = ${J}.children instanceof Node ? ${J}.children : (${J}.children != null ? document.createTextNode(String(${J}.children)) : document.createComment(''));`),K}if(Q==="switch"){let J=G[0],K=G[1]||[],w=G[2]||null;for(let R=K.length-1;R>=0;R--){let[,H,B]=K[R],O;if(J===null)O=H.length===1?H[0]:H.reduce((I,q)=>I?["||",I,q]:q,null);else O=H.length===1?["==",J,H[0]]:H.map((I)=>["==",J,I]).reduce((I,q)=>I?["||",I,q]:q,null);w=["if",O,B,w]}if(w){if(Array.isArray(w)&&w[0]==="if")return this.emitConditional(w);return this.emitTemplateBlock(w)}let X=this.newElementVar("c");return this._createLines.push(`${X} = document.createComment('switch');`),X}if(Q&&this.isHtmlTag(Q)&&!_(Z,"text")){let[J,K]=Q.split("#");return this.emitTag(J||"div",[],G,K)}if(Q==="."){let[,J,K]=Y;if(J==="this"&&typeof K==="string"){let O=this._self;if(this.reactiveMembers&&this.reactiveMembers.has(K)){let q=this.newTextVar();return this._createLines.push(`${q} = document.createTextNode('');`),this._pushEffect(`${q}.data = ${O}.${K}.value;`),q}let I=this.newElementVar("slot");return this._createLines.push(`${I} = ${O}.${K} instanceof Node ? ${O}.${K} : (${O}.${K} != null ? document.createTextNode(String(${O}.${K})) : document.createComment(''));`),I}let{tag:D,classes:w,id:X,base:R}=this.collectTemplateClasses(Y);if(!_(R,"text")&&D&&this.isHtmlTag(D))return this.emitTag(D,w,[],X);let H=this.newTextVar(),B=this.emitInComponent(Y,"value");return this._createLines.push(`${H} = document.createTextNode(String(${B}));`),H}if(Array.isArray(Z)){if(Array.isArray(Z[0])&&Z[0][0]==="."&&(Z[0][2]==="__clsx"||Z[0][2]instanceof String&&Z[0][2].valueOf()==="__clsx")){let w=Z[0][1],X=Z.slice(1);if(Array.isArray(w)){let{tag:H,classes:B,id:O}=this.collectTemplateClasses(w);if(H){let I=B.map((q)=>`"${q}"`);return this.emitDynamicTag(H,X,G,I,O)}}let R=typeof w==="string"?w:w.valueOf();return this.emitDynamicTag(R,X,G)}let{tag:J,classes:K,id:D}=this.collectTemplateClasses(Z);if(J&&this.isHtmlTag(J)){if(K.length>0&&K[K.length-1]==="__clsx"){let X=K.slice(0,-1).map((R)=>`"${R}"`);return this.emitDynamicTag(J,G,[],X,D)}return this.emitTag(J,K,G,D)}}if(Q==="->"||Q==="=>")return this.emitTemplateBlock(G[1]);if(Q==="if")return this.emitConditional(Y);if(Q==="for"||Q==="for-in"||Q==="for-of"||Q==="for-as")return this.emitTemplateLoop(Y);if(Q==="__text__"){let J=G[0]??"undefined",K=this.newTextVar(),D=this.emitInComponent(J,"value");if(this.hasReactiveDeps(J))this._createLines.push(`${K} = document.createTextNode('');`),this._pushEffect(`${K}.data = String(${D});`);else this._createLines.push(`${K} = document.createTextNode(String(${D}));`);return K}let z=this.newTextVar(),A=this.emitInComponent(Y,"value");if(this.hasReactiveDeps(Y))this._createLines.push(`${z} = document.createTextNode('');`),this._pushEffect(`${z}.data = ${A};`);else this._createLines.push(`${z} = document.createTextNode(String(${A}));`);return z},u.appendChildren=function(Y,Z){for(let G of Z)if(this.is(G,"->")||this.is(G,"=>")){let Q=G[2];if(this.is(Q,"block"))for(let z of Q.slice(1))if(this.is(z,"object"))this.emitAttributes(Y,z);else{let A=this.emitNode(z);this._createLines.push(`${Y}.appendChild(${A});`)}else if(Q){let z=this.emitNode(Q);this._createLines.push(`${Y}.appendChild(${z});`)}}else if(this.is(G,"object"))this.emitAttributes(Y,G);else if(typeof G==="string"||G instanceof String){let Q=G.valueOf(),z=Q.split(/[#.]/)[0];if(this.isHtmlTag(z||"div")||this.isComponent(z)){let A=this.emitNode(G);this._createLines.push(`${Y}.appendChild(${A});`)}else{let A=this.newTextVar();if(Q.startsWith('"')||Q.startsWith("'")||Q.startsWith("`"))this._createLines.push(`${A} = document.createTextNode(${Q});`);else if(this.reactiveMembers&&this.reactiveMembers.has(Q))this._createLines.push(`${A} = document.createTextNode('');`),this._pushEffect(`${A}.data = ${this._self}.${Q}.value;`);else if(this.componentMembers&&this.componentMembers.has(Q))this._createLines.push(`${A} = document.createTextNode(String(${this._self}.${Q}));`);else this._createLines.push(`${A} = document.createTextNode(${this.emitInComponent(G,"value")});`);this._createLines.push(`${Y}.appendChild(${A});`)}}else if(G){let Q=this.emitNode(G);this._createLines.push(`${Y}.appendChild(${Q});`)}},u._claimAutoWire=function(Y){if(!this._pendingAutoWire||!this._autoEventHandlers?.size)return!1;return this._pendingAutoWire=!1,this._autoWireEl=Y,this._autoWireExplicit=new Set,!0},u._emitAutoWire=function(Y,Z){if(!Z)return;for(let[G,Q]of this._autoEventHandlers)if(!this._autoWireExplicit.has(G))this._createLines.push(`${Y}.addEventListener('${G}', (e) => __batch(() => ${this._self}.${Q}(e)));`);this._autoWireEl=null,this._autoWireExplicit=null},u._bindInheritedTarget=function(Y,Z){if(!this._inheritsTag||this._factoryMode||this._inheritsTargetBound)return;if(Y!==this._inheritsTag)return;this._inheritsTargetBound=!0,this._createLines.push(`this._inheritedEl = ${Z};`),this._createLines.push("this._applyRestToInheritedEl();")},u.emitTag=function(Y,Z,G,Q){let z=this.newElementVar(),A=O1.has(Y)||this._svgDepth>0;if(A)this._createLines.push(`${z} = document.createElementNS('${M2}', '${Y}');`);else this._createLines.push(`${z} = document.createElement('${Y}');`);if(Q)this._createLines.push(`${z}.id = '${Q}';`);if(this._bindInheritedTarget(Y,z),this._componentName&&this._elementCount===1&&!this._factoryMode&&!this.options.skipDataPart)this._createLines.push(`${z}.setAttribute('data-part', '${this._componentName}');`);let J=this._claimAutoWire(z),K=this._pendingClassArgs,D=this._pendingClassEl;if(Z.length>0)this._pendingClassArgs=[`'${Z.join(" ")}'`],this._pendingClassEl=z;if(Y==="svg")this._svgDepth=(this._svgDepth||0)+1;if(this.appendChildren(z,G),Y==="svg")this._svgDepth--;if(Z.length>0){if(this._pendingClassArgs.length===1)if(A)this._createLines.push(`${z}.setAttribute('class', '${Z.join(" ")}');`);else this._createLines.push(`${z}.className = '${Z.join(" ")}';`);else{let w=this._pendingClassArgs.join(", ");if(A)this._pushEffect(`${z}.setAttribute('class', __clsx(${w}));`);else this._pushEffect(`${z}.className = __clsx(${w});`)}this._pendingClassArgs=K,this._pendingClassEl=D}return this._emitAutoWire(z,J),z},u.emitDynamicTag=function(Y,Z,G,Q,z){let A=this.newElementVar();if(O1.has(Y)||this._svgDepth>0)this._createLines.push(`${A} = document.createElementNS('${M2}', '${Y}');`);else this._createLines.push(`${A} = document.createElement('${Y}');`);if(z)this._createLines.push(`${A}.id = '${z}';`);this._bindInheritedTarget(Y,A);let J=this._claimAutoWire(A),K=[...Q||[],...Z.map((X)=>this.emitInComponent(X,"value"))],D=this._pendingClassArgs,w=this._pendingClassEl;if(this._pendingClassArgs=K,this._pendingClassEl=A,Y==="svg")this._svgDepth=(this._svgDepth||0)+1;if(this.appendChildren(A,G),Y==="svg")this._svgDepth--;if(this._pendingClassArgs.length>0){let X=this._pendingClassArgs.join(", ");if(O1.has(Y)||this._svgDepth>0)this._pushEffect(`${A}.setAttribute('class', __clsx(${X}));`);else this._pushEffect(`${A}.className = __clsx(${X});`)}return this._pendingClassArgs=D,this._pendingClassEl=w,this._emitAutoWire(A,J),A},u.emitAttributes=function(Y,Z){let G=m5(Z.slice(1));for(let Q=1;Q<Z.length;Q++){let[,z,A]=Z[Q];if(this.is(z,".")&&z[1]==="this"){let J=z[2];if(this._autoWireExplicit&&this._autoWireEl===Y)this._autoWireExplicit.add(J);if(typeof A==="string"&&this.componentMembers?.has(A))this._createLines.push(`${Y}.addEventListener('${J}', (e) => __batch(() => ${this._self}.${A}(e)));`);else{let K=this.emitInComponent(A,"value");this._createLines.push(`${Y}.addEventListener('${J}', (e) => __batch(() => (${K})(e)));`)}continue}if(typeof z==="string"||z instanceof String){if(z.startsWith('"')&&z.endsWith('"'))z=z.slice(1,-1);if(z==="class"||z==="className"){let K=this.emitInComponent(A,"value");if(this._pendingClassArgs&&this._pendingClassEl===Y)this._pendingClassArgs.push(K);else if(this.hasReactiveDeps(A))if(this._svgDepth>0)this._pushEffect(`${Y}.setAttribute('class', __clsx(${K}));`);else this._pushEffect(`${Y}.className = __clsx(${K});`);else if(this._svgDepth>0)this._createLines.push(`${Y}.setAttribute('class', ${K});`);else this._createLines.push(`${Y}.className = ${K};`);continue}if(z==="__transition__"){let K=String(A).replace(/^["']|["']$/g,"");this._createLines.push(`this._t = "${K}";`);continue}if(z==="ref"){let K=String(A).replace(/^["']|["']$/g,"");this._createLines.push(`${this._self}.${K} = ${Y};`);continue}if(z.startsWith(F3)&&z.endsWith(Z3)){let K=z.slice(F3.length,-Z3.length),D=this.emitInComponent(A,"value"),w,X;if(K==="checked")w="change",X="e.target.checked";else w="input",X=G==="number"||G==="range"?"e.target.valueAsNumber":"e.target.value";this._pushEffect(`${Y}.${K} = ${D};`);let R=`${D} = ${X}`,H=!this.isSimpleAssignable(A)&&this.findRootReactiveMember(A);if(H)R+=`; ${this._self}.${H}.touch?.()`;this._createLines.push(`${Y}.addEventListener('${w}', (e) => { ${R}; });`);continue}let J=this.emitInComponent(A,"value");if((z==="value"||z==="checked")&&this.hasReactiveDeps(A)){this._pushEffect(`${Y}.${z} = ${J};`);continue}if(z==="innerHTML"||z==="textContent"||z==="innerText")if(this.hasReactiveDeps(A))this._pushEffect(`${Y}.${z} = ${J};`);else this._createLines.push(`${Y}.${z} = ${J};`);else if(l5.has(z))if(this.hasReactiveDeps(A))this._pushEffect(`${Y}.toggleAttribute('${z}', !!${J});`);else this._createLines.push(`if (${J}) ${Y}.setAttribute('${z}', '');`);else if(this.hasReactiveDeps(A))if(Array.isArray(A)&&A[0]==="presence")this._pushEffect(`{ const __v = ${J}; __v == null ? ${Y}.removeAttribute('${z}') : ${Y}.setAttribute('${z}', __v); }`);else this._pushEffect(`${Y}.setAttribute('${z}', ${J});`);else if(Array.isArray(A)&&A[0]==="presence")this._createLines.push(`{ const __v = ${J}; if (__v != null) ${Y}.setAttribute('${z}', __v); }`);else this._createLines.push(`${Y}.setAttribute('${z}', ${J});`)}}},u.emitTemplateBlock=function(Y){if(!Array.isArray(Y)||Y[0]!=="block")return this.emitNode(Y);let Z=Y.slice(1);if(Z.length===0){let z=this.newElementVar("empty");return this._createLines.push(`${z} = document.createComment('');`),z}if(Z.length===1)return this.emitNode(Z[0]);let G=this.newElementVar("frag");this._createLines.push(`${G} = document.createDocumentFragment();`);let Q=[];for(let z of Z){let A=this.emitNode(z);this._createLines.push(`${G}.appendChild(${A});`),Q.push(A)}return this._fragChildren.set(G,Q),G},u.emitConditional=function(Y){if(this._pendingAutoWire=!1,Y.length>4){let B=Y[Y.length-1];for(let O=Y.length-2;O>=3;O--)B=[...Y[O],B];Y=[Y[0],Y[1],Y[2],B]}let[,Z,G,Q]=Y,z=this.newElementVar("anchor");this._createLines.push(`${z} = document.createComment('if');`);let A=this.emitInComponent(Z,"value"),J=this._loopVarStack.map((B)=>`${B.itemVar}, ${B.indexVar}`).join(", "),K=J?`, ${J}`:"",D=this.newBlockVar();this.emitConditionBranch(D,G);let w=null;if(Q)w=this.newBlockVar(),this.emitConditionBranch(w,Q);let X=[];X.push(`// Conditional: ${D}${w?" / "+w:""}`),X.push("{"),X.push(` const anchor = ${z};`),X.push(" let currentBlock = null;"),X.push(" let showing = null;");let R=this._factoryMode?"disposers.push(__effect(() => {":"__effect(() => {",H=this._factoryMode?"}));":"});";if(X.push(` ${R}`),X.push(` const show = !!(${A});`),X.push(` const want = show ? 'then' : ${Q?"'else'":"null"};`),X.push(" if (want === showing) return;"),X.push(""),X.push(" if (currentBlock) {"),X.push(" const leaving = currentBlock;"),X.push(" if (leaving._t) { __transition(leaving._first, leaving._t, 'leave', () => leaving.d(true)); }"),X.push(" else { leaving.d(true); }"),X.push(" currentBlock = null;"),X.push(" }"),X.push(" showing = want;"),X.push(""),X.push(" if (want === 'then') {"),X.push(` currentBlock = ${D}(${this._self}${K});`),X.push(" currentBlock.c();"),X.push(" if (anchor.parentNode) currentBlock.m(anchor.parentNode, anchor.nextSibling);"),X.push(` currentBlock.p(${this._self}${K});`),X.push(" if (currentBlock._t) __transition(currentBlock._first, currentBlock._t, 'enter');"),X.push(" }"),Q)X.push(" if (want === 'else') {"),X.push(` currentBlock = ${w}(${this._self}${K});`),X.push(" currentBlock.c();"),X.push(" if (anchor.parentNode) currentBlock.m(anchor.parentNode, anchor.nextSibling);"),X.push(` currentBlock.p(${this._self}${K});`),X.push(" if (currentBlock._t) __transition(currentBlock._first, currentBlock._t, 'enter');"),X.push(" }");if(X.push(` ${H}`),this._factoryMode)X.push(" disposers.push(() => { if (currentBlock) { currentBlock.d(true); currentBlock = null; } });");return X.push("}"),this._setupLines.push(X.join(`
1320
+ `)),z},u.emitConditionBranch=function(Y,Z){let G=[this._createLines,this._setupLines,this._factoryMode,this._factoryVars];this._createLines=[],this._setupLines=[],this._factoryMode=!0,this._factoryVars=new Set;let Q=this.emitTemplateBlock(Z),z=this._createLines,A=this._setupLines,J=this._factoryVars;[this._createLines,this._setupLines,this._factoryMode,this._factoryVars]=G;let K=this._loopVarStack.map((w)=>`${w.itemVar}, ${w.indexVar}`).join(", "),D=K?`, ${K}`:"";this.emitBlockFactory(Y,`ctx${D}`,Q,z,A,J)},u.emitBlockFactory=function(Y,Z,G,Q,z,A,J){let K=[];if(K.push(`function ${Y}(${Z}) {`),A.size>0)K.push(` let ${[...A].join(", ")};`);let D=z.length>0;if(D)K.push(" let disposers = [];");if(K.push(" return {"),J)K.push(" _s: true,");let w=this._fragChildren.get(G),X=w?w[0]:G;K.push(" c() {");for(let R of Q)K.push(` ${R}`);if(K.push(` this._first = ${X};`),K.push(" },"),K.push(" m(target, anchor) {"),w)for(let R of w)K.push(` if (target) target.insertBefore(${R}, anchor);`);else K.push(` if (target) target.insertBefore(${G}, anchor);`);if(K.push(" },"),K.push(` p(${Z}) {`),D){K.push(" disposers.forEach(d => d());"),K.push(" disposers = [];");for(let R of z)K.push(` ${R}`)}if(K.push(" },"),K.push(" d(detaching) {"),D)K.push(" disposers.forEach(d => d());");if(w)for(let R of w)K.push(` if (detaching && ${R}) ${R}.remove();`);else K.push(` if (detaching && ${G}) ${G}.remove();`);K.push(" }"),K.push(" };"),K.push("}"),this._blockFactories.push(K.join(`
1321
+ `))},u.emitTemplateLoop=function(Y){this._pendingAutoWire=!1;let[Z,G,Q,z,A,J]=Y,K=this.newBlockVar(),D=this.newElementVar("anchor");this._createLines.push(`${D} = document.createComment('for');`);let w=Array.isArray(G)?G:[G],X=w[0],R=w[1]||null;if(!R){let c=new Set(this._loopVarStack.flatMap((o)=>[o.itemVar,o.indexVar]));c.add(X);for(let o of["i","j","k","l","m","n"])if(!c.has(o)){R=o;break}R=R||`_i${this._loopVarStack.length}`}let H=this.emitInComponent(Q,"value"),B=X;if(this.is(J,"block")&&J.length>1){let c=J[1];if(Array.isArray(c))for(let o of c){if(this.is(o,"object"))for(let $1=1;$1<o.length;$1++){let[y,v]=o[$1];if(y==="key"){B=this.emit(v,"value");break}}if(B!==X)break}}let O=[this._createLines,this._setupLines,this._factoryMode,this._factoryVars];this._createLines=[],this._setupLines=[],this._factoryMode=!0,this._factoryVars=new Set;let I=this._loopVarStack.map((c)=>`${c.itemVar}, ${c.indexVar}`).join(", "),q=I?`, ${I}`:"";this._loopVarStack.push({itemVar:X,indexVar:R});let P=this.emitTemplateBlock(J);this._loopVarStack.pop();let M=this._createLines,S=this._setupLines,L=this._factoryVars;[this._createLines,this._setupLines,this._factoryMode,this._factoryVars]=O;let C=S.length===0,N=`ctx, ${X}, ${R}${q}`;this.emitBlockFactory(K,N,P,M,S,L,C);let E=B!==X?`(${X}, ${R}) => ${B}`:"null",m=I?`, ${I}`:"",T=[];T.push(`// Loop: ${K}`),T.push("{"),T.push(" const __s = { blocks: [], keys: [] };");let j=this._factoryMode?"disposers.push(__effect(() => {":"__effect(() => {",b=this._factoryMode?"}));":"});";return T.push(` ${j}`),T.push(` __reconcile(${D}, __s, ${H}, ${this._self}, ${K}, ${E}${m});`),T.push(` ${b}`),T.push("}"),this._setupLines.push(T.join(`
1322
+ `)),D},u.emitChildComponent=function(Y,Z){this._pendingAutoWire=!1;let G=this.newElementVar("inst"),Q=this.newElementVar("el"),{propsCode:z,reactiveProps:A,eventBindings:J,childrenSetupLines:K}=this.buildComponentProps(Z),D=this._self;this._createLines.push(`{ const __prev = __pushComponent(${D}); try {`),this._createLines.push(`${G} = new ${Y}(${z});`),this._createLines.push(`${Q} = ${G}._root = ${G}._create();`),this._createLines.push(`(${D}._children || (${D}._children = [])).push(${G});`),this._createLines.push("} finally { __popComponent(__prev); } }");for(let{event:w,value:X}of J){let R=this.emitInComponent(X,"value");this._createLines.push(`${Q}.addEventListener('${w}', (e) => __batch(() => (${R})(e)));`)}this._setupLines.push(`try { if (${G}._setup) ${G}._setup(); if (${G}.mounted) ${G}.mounted(); } catch (__e) { __handleComponentError(__e, ${G}); }`);for(let{key:w,valueCode:X}of A)this._pushEffect(`if (${G}.${w} && typeof ${G}.${w} === 'object' && 'value' in ${G}.${w}) ${G}.${w}.value = ${X}; else if (${G}._setRestProp) ${G}._setRestProp('${w}', ${X});`);for(let w of K)this._setupLines.push(w);return Q},u.buildComponentProps=function(Y){let Z=[],G=[],Q=[],z=null,A=[],J=(w,X)=>{if(w.startsWith("@")){Q.push({event:w.slice(1).split(".")[0],value:X});return}if(this.reactiveMembers&&(typeof X==="string"&&this.reactiveMembers.has(X)||Array.isArray(X)&&X[0]==="."&&X[1]==="this"&&typeof X[2]==="string"&&this.reactiveMembers.has(X[2]))){let H=typeof X==="string"?X:X[2];Z.push(`${w}: ${this._self}.${H}`)}else{let H=this.emitInComponent(X,"value");if(Z.push(`${w}: ${H}`),this.hasReactiveDeps(X))G.push({key:w,valueCode:H})}},K=(w)=>{for(let X=1;X<w.length;X++){let[,R,H]=w[X];if(typeof R==="string")J(R,H);else if(Array.isArray(R)&&R[0]==="."&&R[1]==="this"&&typeof R[2]==="string")Q.push({event:R[2],value:H})}};for(let w of Y)if(this.is(w,"object"))K(w);else if(Array.isArray(w)&&(w[0]==="->"||w[0]==="=>")){let X=w[2];if(X){if(this.is(X,"block")){let R=[];for(let H of X.slice(1))if(this.is(H,"object"))K(H);else R.push(H);X=R.length>0?["block",...R]:null}if(X){let R=this._createLines,H=this._setupLines;this._createLines=[],this._setupLines=[],z=this.emitTemplateBlock(X);let B=this._createLines,O=this._setupLines;this._createLines=R,this._setupLines=H;for(let I of B)this._createLines.push(I);A.push(...O),Z.push(`children: ${z}`)}}}else if(w&&!z){let X=this.newTextVar(),R=this.emitInComponent(w,"value");if(this.hasReactiveDeps(w)){this._createLines.push(`${X} = document.createTextNode('');`);let H=`${X}.data = ${R};`,B=this._factoryMode?`disposers.push(__effect(() => { ${H} }));`:`__effect(() => { ${H} });`;A.push(B)}else this._createLines.push(`${X} = document.createTextNode(${R});`);z=X,Z.push(`children: ${z}`)}return{propsCode:Z.length>0?`{ ${Z.join(", ")} }`:"{}",reactiveProps:G,eventBindings:Q,childrenSetupLines:A}},u.hasReactiveDeps=function(Y){if(typeof Y==="string")return!!(this.reactiveMembers&&this.reactiveMembers.has(Y));if(!Array.isArray(Y))return!1;if(Y[0]==="."&&Y[1]==="this"&&typeof Y[2]==="string")return!!(this.reactiveMembers&&this.reactiveMembers.has(Y[2]));if(Y[0]==="."&&this._rootsAtThis(Y[1]))return!0;if(Array.isArray(Y[0])&&Y[0][0]==="."&&Y[0][1]==="this"){let Z=$(Y[0][2]);if(Z&&this.componentMembers?.has(Z))return!0}for(let Z of Y)if(this.hasReactiveDeps(Z))return!0;return!1},u.isSimpleAssignable=function(Y){if(typeof Y==="string")return!!(this.reactiveMembers&&this.reactiveMembers.has(Y));if(Array.isArray(Y)&&Y[0]==="."&&Y[1]==="this"&&typeof Y[2]==="string")return!!(this.reactiveMembers&&this.reactiveMembers.has(Y[2]));return!1},u.findRootReactiveMember=function(Y){if(typeof Y==="string")return this.reactiveMembers?.has(Y)?Y:null;if(!Array.isArray(Y))return null;if(Y[0]==="."&&Y[1]==="this"&&typeof Y[2]==="string")return this.reactiveMembers?.has(Y[2])?Y[2]:null;if(Y[0]==="."||Y[0]==="[]")return this.findRootReactiveMember(Y[1]);return null},u._rootsAtThis=function(Y){if(typeof Y==="string")return Y==="this";if(!Array.isArray(Y)||Y[0]!==".")return!1;return this._rootsAtThis(Y[1])},u.getComponentRuntime=function(){return`
1323
1323
  // ============================================================================
1324
1324
  // Rip Component Runtime
1325
1325
  // ============================================================================
@@ -1603,7 +1603,7 @@ if (typeof globalThis !== 'undefined') {
1603
1603
  `}}function C1(f){let U="",_=f<0?-f<<1|1:f<<1;do{let W=_&31;if(_>>>=5,_>0)W|=32;U+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[W]}while(_>0);return U}class O2{constructor(f,U,_=null){this.file=f,this.source=U,this.sourceContent=_,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(f){while(this.lines.length<=f)this.lines.push([])}addName(f){if(this.nameIndex.has(f))return this.nameIndex.get(f);let U=this.names.length;return this.names.push(f),this.nameIndex.set(f,U),U}addMapping(f,U,_,W,u){if(this.ensureLine(f),this.currentLine!==f)this.prevGenCol=0,this.currentLine=f;if(_==null){this.lines[f].push(C1(U-this.prevGenCol)),this.prevGenCol=U;return}this.mappings.push({genLine:f,genCol:U,origLine:_,origCol:W});let $=C1(U-this.prevGenCol);if(this.prevGenCol=U,$+=C1(0),$+=C1(_-this.prevOrigLine),this.prevOrigLine=_,$+=C1(W-this.prevOrigCol),this.prevOrigCol=W,u!=null){let F=this.addName(u);$+=C1(F-this.prevNameIdx),this.prevNameIdx=F}this.lines[f].push($)}toReverseMap(){let f=new Map;for(let U of this.mappings){if(!f.has(U.origLine))f.set(U.origLine,[]);f.get(U.origLine).push({origCol:U.origCol,genLine:U.genLine,genCol:U.genCol})}return f}toJSON(){let f=this.lines.map((_)=>_.join(",")).join(";"),U={version:3,file:this.file,sources:[this.source],names:this.names,mappings:f};if(this.sourceContent!=null)U.sourcesContent=[this.sourceContent];return JSON.stringify(U)}}class Z1 extends Error{constructor(f,{code:U=null,file:_=null,line:W=null,column:u=null,length:$=1,source:F=null,suggestion:Y=null,phase:Z=null}={}){super(f);this.name="RipError",this.code=U,this.file=_,this.line=W,this.column=u,this.length=$,this.source=F,this.suggestion=Y,this.phase=Z}static fromLexer(f,U,_){let W=f.location||{};return new Z1(f.message,{code:"E_SYNTAX",file:_,line:W.first_line??null,column:W.first_column??null,length:W.last_column!=null&&W.first_column!=null?W.last_column-W.first_column+1:1,source:U,phase:"lexer"})}static fromParser(f,U,_){let W=f.hash||{},u=W.loc||{},$=W.line??u.r??null,F=u.first_column??u.c??null,Y=null;if(W.expected?.length){if(Y=`Expected ${W.expected.slice(0,5).map((A)=>A.replace(/'/g,"")).join(", ")}`,W.expected.length>5)Y+=`, ... (${W.expected.length} total)`}let Z=W.token||"token",G=W.text?` near '${W.text}'`:"",Q=`Unexpected ${Z}${G}`;return new Z1(Q,{code:"E_PARSE",file:_,line:$,column:F,length:W.text?.length||1,source:U,suggestion:Y,phase:"parser"})}static fromSExpr(f,U,_,W,u){let $=U?.loc||{};return new Z1(f,{code:"E_CODEGEN",file:W,line:$.r??null,column:$.c??null,length:$.n??1,source:_,suggestion:u,phase:"codegen"})}get locationString(){let f=[];if(this.file)f.push(this.file);if(this.line!=null)f.push(`${this.line+1}:${(this.column??0)+1}`);return f.join(":")}format({color:f=!0}={}){let U=f?{red:"\x1B[31m",yellow:"\x1B[33m",cyan:"\x1B[36m",dim:"\x1B[2m",bold:"\x1B[1m",reset:"\x1B[0m"}:{red:"",yellow:"",cyan:"",dim:"",bold:"",reset:""},_=[],W=this.locationString,u=W?`${U.cyan}${W}${U.reset} `:"";_.push(`${u}${U.red}${U.bold}error${U.reset}${U.bold}: ${this.message}${U.reset}`);let $=this._snippet();if($){_.push("");for(let F of $)if(F.type==="source")_.push(`${U.dim}${F.gutter}${U.reset}${F.text}`);else if(F.type==="caret")_.push(`${U.dim}${F.gutter}${U.reset}${U.red}${U.bold}${F.text}${U.reset}`)}if(this.suggestion)_.push(""),_.push(`${U.yellow}hint${U.reset}: ${this.suggestion}`);return _.join(`
1604
1604
  `)}formatHTML(){let f=[];f.push('<div class="rip-error">'),f.push("<style>"),f.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; }'),f.push(".rip-error .re-header { color: #f38ba8; font-weight: 600; }"),f.push(".rip-error .re-loc { color: #89b4fa; }"),f.push(".rip-error .re-gutter { color: #585b70; user-select: none; }"),f.push(".rip-error .re-caret { color: #f38ba8; font-weight: 700; }"),f.push(".rip-error .re-hint { color: #f9e2af; }"),f.push(".rip-error .re-snippet { margin: 8px 0; }"),f.push("</style>");let U=this.locationString,_=U?`<span class="re-loc">${B1(U)}</span> `:"";f.push(`<div class="re-header">${_}error: ${B1(this.message)}</div>`);let W=this._snippet();if(W){f.push('<pre class="re-snippet">');for(let u of W)if(u.type==="source")f.push(`<span class="re-gutter">${B1(u.gutter)}</span>${B1(u.text)}`);else if(u.type==="caret")f.push(`<span class="re-gutter">${B1(u.gutter)}</span><span class="re-caret">${B1(u.text)}</span>`);f.push("</pre>")}if(this.suggestion)f.push(`<div class="re-hint">hint: ${B1(this.suggestion)}</div>`);return f.push("</div>"),f.join(`
1605
1605
  `)}_snippet(){if(this.source==null||this.line==null)return null;let f=this.source.split(`
1606
- `),U=this.line;if(U<0||U>=f.length)return null;let _=2,W=Math.max(0,U-_),u=Math.min(f.length-1,U+_),$=String(u+1).length,F=[];for(let Y=W;Y<=u;Y++){let G=` ${String(Y+1).padStart($)} │ `;if(F.push({type:"source",gutter:G,text:f[Y]}),Y===U&&this.column!=null){let Q=" ".repeat(this.column),z=Math.max(1,Math.min(this.length||1,f[Y].length-this.column)),A="^".repeat(z),J=" ".repeat($+2)+"│ ";F.push({type:"caret",gutter:J,text:`${Q}${A}`})}}return F}}function k5(f){return f instanceof SyntaxError&&f.location!=null}function i5(f){return!(f instanceof SyntaxError)&&f.hash!=null}function T1(f,U,_){if(f instanceof Z1){if(_&&!f.file)f.file=_;if(U&&!f.source)f.source=U;return f}if(k5(f))return Z1.fromLexer(f,U,_);if(i5(f))return Z1.fromParser(f,U,_);return new Z1(f.message,{file:_,source:U,phase:"unknown"})}function I1(f,{source:U,file:_,color:W=!0}={}){return(f instanceof Z1?f:T1(f,U,_)).format({color:W})}function R2(f,{source:U,file:_}={}){return(f instanceof Z1?f:T1(f,U,_)).formatHTML()}function B1(f){return f.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}var W1=(f,U)=>f instanceof String?f[U]:void 0,k=(f)=>f instanceof String?f.valueOf():f,d5=new Set(["+","-","*","/","%","//","%%","**","==","!=","<",">","<=",">=","===","!==","&&","||","??","not","&","|","^","<<",">>",">>>","=",".","?.","[]","!","typeof","void","delete","new","...","rest","expansion","optindex","optcall"]),p5=new Set(["def","class","if","unless","for-in","for-of","for-as","while","until","loop","switch","try","throw"]),n5=new Set(["true","false","null","undefined","Infinity","NaN"]);function u2(f){if(!Array.isArray(f)||f.length===0)return!1;let U=f[0]?.valueOf?.()??f[0];if(d5.has(U))return!0;return f.length<=4&&!f.some(Array.isArray)}function x1(f){if(Array.isArray(f))return"(???)";if(typeof f==="number")return String(f);if(f===null)return"null";if(f==="")return'""';let U=String(f);if(U[0]==="/"&&U.indexOf(`
1606
+ `),U=this.line;if(U<0||U>=f.length)return null;let _=2,W=Math.max(0,U-_),u=Math.min(f.length-1,U+_),$=String(u+1).length,F=[];for(let Y=W;Y<=u;Y++){let G=` ${String(Y+1).padStart($)} │ `;if(F.push({type:"source",gutter:G,text:f[Y]}),Y===U&&this.column!=null){let Q=" ".repeat(this.column),z=Math.max(1,Math.min(this.length||1,f[Y].length-this.column)),A="^".repeat(z),J=" ".repeat($+2)+"│ ";F.push({type:"caret",gutter:J,text:`${Q}${A}`})}}return F}}function k5(f){return f instanceof SyntaxError&&f.location!=null}function i5(f){return!(f instanceof SyntaxError)&&f.hash!=null}function T1(f,U,_){if(f instanceof Z1){if(_&&!f.file)f.file=_;if(U&&!f.source)f.source=U;return f}if(k5(f))return Z1.fromLexer(f,U,_);if(i5(f))return Z1.fromParser(f,U,_);return new Z1(f.message,{file:_,source:U,phase:"unknown"})}function I1(f,{source:U,file:_,color:W=!0}={}){return(f instanceof Z1?f:T1(f,U,_)).format({color:W})}function R2(f,{source:U,file:_}={}){return(f instanceof Z1?f:T1(f,U,_)).formatHTML()}function B1(f){return f.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}var W1=(f,U)=>f instanceof String?f[U]:void 0,i=(f)=>f instanceof String?f.valueOf():f,p5=new Set(["+","-","*","/","%","//","%%","**","==","!=","<",">","<=",">=","===","!==","&&","||","??","not","&","|","^","<<",">>",">>>","=",".","?.","[]","!","typeof","void","delete","new","...","rest","expansion","optindex","optcall"]),d5=new Set(["def","class","if","unless","for-in","for-of","for-as","while","until","loop","switch","try","throw"]),n5=new Set(["true","false","null","undefined","Infinity","NaN"]);function u2(f){if(!Array.isArray(f)||f.length===0)return!1;let U=f[0]?.valueOf?.()??f[0];if(p5.has(U))return!0;return f.length<=4&&!f.some(Array.isArray)}function x1(f){if(Array.isArray(f))return"(???)";if(typeof f==="number")return String(f);if(f===null)return"null";if(f==="")return'""';let U=String(f);if(U[0]==="/"&&U.indexOf(`
1607
1607
  `)>=0){let _=U.match(/\/([gimsuvy]*)$/),W=_?_[1]:"",u=U.slice(1);return u=W?u.slice(0,-W.length-1):u.slice(0,-1),`"/${u.split(`
1608
1608
  `).map((Y)=>Y.replace(/#.*$/,"").trim()).join("")}/${W}"`}return U}function X1(f,U=0,_=!1){if(!Array.isArray(f))return x1(f);if(_&&f[0]==="program"){let G=f[1],z=[Array.isArray(G)?"(program":"(program "+x1(G)],A=Array.isArray(G)?1:2;for(let J=A;J<f.length;J++){let K=X1(f[J],2,!1);z.push(K[0]==="("?" "+K:K)}return z.push(")"),z.join(`
1609
1609
  `)}let W=f[0];if(u2(f)&&f.slice(1).every((G)=>!Array.isArray(G)||u2(G))){let Q=`(${f.map((z)=>Array.isArray(z)?X1(z,0,!1):x1(z)).join(" ")})`;if(!Q.includes(`
@@ -1615,8 +1615,8 @@ if (typeof globalThis !== 'undefined') {
1615
1615
  `)}class Y1{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",break:"emitBreak",continue:"emitContinue","?":"emitExistential",presence:"emitPresence","?:":"emitTernary","|>":"emitPipe",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(f={}){if(this.options=f,this.indentLevel=0,this.indentString=" ",this.comprehensionDepth=0,this.dataSection=f.dataSection,this.sourceMap=f.sourceMap||null,f.reactiveVars)this.reactiveVars=new Set(f.reactiveVars)}error(f,U,{suggestion:_}={}){throw Z1.fromSExpr(f,U,this.options.source,this.options.filename,_)}compile(f){this.programVars=new Set,this.functionVars=new Map,this.helpers=new Set,this.scopeStack=[],this.collectProgramVariables(f);let U=this.emit(f);if(this.sourceMap)this.buildMappings();return U}buildMappings(){if(!this._stmtEntries)return;let f=this._preambleLines;for(let U of this._stmtEntries){if(U.loc)this.sourceMap.addMapping(f,0,U.loc.r,U.loc.c);if(U.sexpr&&U.loc)this.recordSubMappings(U.code,U.sexpr,f);f+=U.code.split(`
1616
1616
  `).length}}static _isColInsideString(f,U){let _=!1,W="";for(let u=0;u<f.length&&u<U;u++){let $=f[u];if(_){if($==="\\"){u++;continue}if($===W)_=!1}else if($==='"'||$==="'"||$==="`")_=!0,W=$}return _}recordSubMappings(f,U,_){let W=U.loc?U.loc.r:0,u=[];this.collectSubExprs(U,u);let $=f.split(`
1617
1617
  `);for(let{name:F,origLine:Y,origCol:Z}of u){let G=F.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),Q=new RegExp("\\b"+G+"\\b","g"),z,A=null,J=1/0,K=Y-W;while((z=Q.exec(f))!==null){let w=f.substring(0,z.index).split(`
1618
- `),X=w.length-1,H=w[w.length-1].length,q=$[X];if(q&&Y1._isColInsideString(q,H))continue;let B=_+X,R=Math.abs(X-K)*1e4+Math.abs(H-Z);if(R<J)J=R,A={genLine:B,genCol:H}}if(A)this.sourceMap.addMapping(A.genLine,A.genCol,Y,Z)}}collectSubExprs(f,U){if(!Array.isArray(f))return;let _=f[0];if(Array.isArray(_)||_!=null&&typeof _!=="string"&&!(_ instanceof String)){for(let u=0;u<f.length;u++)if(Array.isArray(f[u]))this.collectSubExprs(f[u],U);return}if(f.loc){_=k(_);let u=null;if(_==="."){if(typeof f[2]==="string")u=f[2]}else if(typeof _==="string"&&/^[=+\-*/%<>!&|?~^]|^\.\.?$|^def$|^class$|^state$|^computed$|^readonly$|^for-/.test(_)){if(typeof f[1]==="string"&&/^[a-zA-Z_$]/.test(f[1]))u=f[1]}else if(typeof _==="string"&&/^[a-zA-Z_$]/.test(_))u=_;if(u)U.push({name:u,origLine:f.loc.r,origCol:f.loc.c})}let W=_==="->"||_==="=>"?2:1;for(let u=W;u<f.length;u++)if(Array.isArray(f[u]))this.collectSubExprs(f[u],U)}collectProgramVariables(f){if(!Array.isArray(f))return;let[U,..._]=f;if(U=k(U),Array.isArray(U)){f.forEach((W)=>this.collectProgramVariables(W));return}if(U==="export"||U==="export-default"||U==="export-all"||U==="export-from")return;if(U==="state"||U==="computed"){let[W]=_,u=k(W)??W;if(!this.reactiveVars)this.reactiveVars=new Set;this.reactiveVars.add(u);return}if(U==="readonly"){let[W]=_,u=k(W)??W;if(!this.readonlyVars)this.readonlyVars=new Set;this.readonlyVars.add(u);return}if(U==="component")return;if(U==="enum")return;if(Y1.ASSIGNMENT_OPS.has(U)){let[W,u]=_;if(typeof W==="string"||W instanceof String){let $=k(W);if(!this.reactiveVars?.has($)&&!this.readonlyVars?.has($))this.programVars.add($)}else if(this.is(W,"array"))this.collectVarsFromArray(W,this.programVars);else if(this.is(W,"object"))this.collectVarsFromObject(W,this.programVars);this.collectProgramVariables(u);return}if(U==="for-in"||U==="for-of"||U==="for-as"){this.collectVarsFromLoopHead(_[0],this.programVars),_.slice(1).forEach((W)=>this.collectProgramVariables(W));return}if(U==="def"||U==="->"||U==="=>"||U==="effect")return;if(U==="if"){let[W,u,$]=_;if(this.collectProgramVariables(W),this.collectProgramVariables(u),$)this.collectProgramVariables($);return}if(U==="try"){if(this.collectProgramVariables(_[0]),_.length>=2&&Array.isArray(_[1])&&_[1].length===2&&_[1][0]!=="block"){let[W,u]=_[1];if(W&&this.is(W,"object"))W.slice(1).forEach(($)=>{if(Array.isArray($)&&$.length===2&&typeof $[1]==="string")this.programVars.add($[1])});else if(W&&this.is(W,"array"))W.slice(1).forEach(($)=>{if(typeof $==="string")this.programVars.add($)});this.collectProgramVariables(u)}if(_.length===3)this.collectProgramVariables(_[2]);else if(_.length===2&&(!Array.isArray(_[1])||_[1][0]==="block"))this.collectProgramVariables(_[1]);return}_.forEach((W)=>this.collectProgramVariables(W))}collectFunctionVariables(f){let U=new Set,_=(W)=>{if(!Array.isArray(W))return;let[u,...$]=W;if(u=k(u),Array.isArray(u)){W.forEach((F)=>_(F));return}if(Y1.ASSIGNMENT_OPS.has(u)){let[F,Y]=$;if(typeof F==="string")U.add(F);else if(this.is(F,"array"))this.collectVarsFromArray(F,U);else if(this.is(F,"object"))this.collectVarsFromObject(F,U);_(Y);return}if(u==="for-in"||u==="for-of"||u==="for-as"){this.collectVarsFromLoopHead($[0],U),$.slice(1).forEach(_);return}if(u==="def"||u==="->"||u==="=>"||u==="effect")return;if(u==="try"){if(_($[0]),$.length>=2&&Array.isArray($[1])&&$[1].length===2&&$[1][0]!=="block"){let[F,Y]=$[1];if(F&&this.is(F,"object"))F.slice(1).forEach((Z)=>{if(Array.isArray(Z)&&Z.length===2&&typeof Z[1]==="string")U.add(Z[1])});else if(F&&this.is(F,"array"))F.slice(1).forEach((Z)=>{if(typeof Z==="string")U.add(Z)});_(Y)}if($.length===3)_($[2]);else if($.length===2&&(!Array.isArray($[1])||$[1][0]==="block"))_($[1]);return}$.forEach((F)=>_(F))};return _(f),U}emit(f,U="statement"){if(f instanceof String){if(W1(f,"await")===!0)return`await ${k(f)}()`;if(W1(f,"predicate"))return`(${k(f)} != null)`;if(W1(f,"delimiter")==="///"&&W1(f,"heregex")){let Y=k(f),Z=Y.match(/^\/(.*)\/([gimsuvy]*)$/s);if(Z){let[,G,Q]=Z;return`/${this.processHeregex(G)}/${Q}`}return Y}let F=W1(f,"quote");if(F){let Y=k(f);if(F==='"""'||F==="'''"){let G=this.extractStringContent(f);return G=G.replace(/`/g,"\\`").replace(/\${/g,"\\${"),`\`${G}\``}if(Y[0]===F)return Y;let Z=Y.slice(1,-1);return`${F}${Z}${F}`}f=k(f)}if(typeof f==="string"){if(f.startsWith('"')||f.startsWith("'")||f.startsWith("`")){if(this.options.debug)console.warn("[Rip] Unexpected quoted primitive:",f);let F=f.slice(1,-1);if(F.includes(`
1619
- `))return`\`${F.replace(/`/g,"\\`").replace(/\$\{/g,"\\${")}\``;let Y=F.includes("'")&&!F.includes('"')?'"':"'",Z=F.replace(new RegExp(Y,"g"),`\\${Y}`);return`${Y}${Z}${Y}`}if(this.reactiveVars?.has(f)&&!this.suppressReactiveUnwrap)return`${f}.value`;return f}if(typeof f==="number")return String(f);if(f===null||f===void 0)return"null";if(!Array.isArray(f))this.error(`Invalid s-expression: ${JSON.stringify(f)}`,f);let[_,...W]=f,u=W1(_,"await");_=k(_);let $=Y1.GENERATORS[_];if($)return this[$](_,W,U,f);if(typeof _==="string"&&!_.startsWith('"')&&!_.startsWith("'")){if(Y1.NUMBER_START_RE.test(_))return _;if(_==="super"&&this.currentMethodName&&this.currentMethodName!=="constructor")return`super.${this.currentMethodName}(${this._emitArgs(W)})`;let F=this._tryPostfixCall(_,W,U);if(F)return F;let Y=u===!0,Z=`${this.emit(_,"value")}(${this._emitArgs(W)})`;return Y?`await ${Z}`:Z}if(Array.isArray(_)&&typeof _[0]==="string"){if(["=","+=","-=","*=","/=","%=","**=","&&=","||=","??=","if","return","throw"].includes(_[0]))return`(${f.map((Y)=>this.emit(Y,"value")).join(", ")})`}if(Array.isArray(_)){if(_[0]==="."&&(_[2]==="new"||k(_[2])==="new")){let Q=_[1],z=this.emit(Q,"value");return`new ${Array.isArray(Q)?`(${z})`:z}(${this._emitArgs(W)})`}let F=this._tryPostfixCall(_,W,U);if(F)return F;let Y=!1,Z;if(_[0]==="."&&W1(_[2],"await")===!0){Y=!0;let[Q,z]=_.slice(1),A=this.emit(Q,"value");Z=`${Y1.NUMBER_LITERAL_RE.test(A)||(this.is(Q,"object")||this.is(Q,"await")||this.is(Q,"yield"))?`(${A})`:A}.${k(z)}`}else Z=this.emit(_,"value");let G=`${Z}(${this._emitArgs(W)})`;return Y?`await ${G}`:G}this.error(`Unknown s-expression type: ${_}`,f)}emitProgram(f,U,_,W){let u="",$=[],F=[];for(let J of U){if(!Array.isArray(J)){F.push(J);continue}if(J[0]==="import")$.push(J);else F.push(J)}let Y=["def","class","if","for-in","for-of","for-as","while","loop","switch","try"],Z=F.map((J,K)=>{let D=F.length===1&&$.length===0,w=this.is(J,"object"),X=w&&J.length===2&&Array.isArray(J[1])&&Array.isArray(J[1][2])&&J[1][2][0]==="comprehension",H=this.is(J,"comprehension")||this.is(J,"object-comprehension")||this.is(J,"do-iife"),q=this.programVars.size===0,B=D&&w&&q&&!H&&!X,S=K===F.length-1&&H,O;if(B)O=`(${this.emit(J,"value")})`;else if(S)O=this.emit(J,"value");else O=this.emit(J,"statement");if(O&&!O.endsWith(";")){let M=Array.isArray(J)?J[0]:null;if(!Y.includes(M)||!O.endsWith("}"))O+=";"}let P=Array.isArray(J)?J.loc:null;return{code:O,loc:P,sexpr:Array.isArray(J)?J:null}}),G=Z.map((J)=>J.code).join(`
1618
+ `),X=w.length-1,R=w[w.length-1].length,H=$[X];if(H&&Y1._isColInsideString(H,R))continue;let B=_+X,O=Math.abs(X-K)*1e4+Math.abs(R-Z);if(O<J)J=O,A={genLine:B,genCol:R}}if(A)this.sourceMap.addMapping(A.genLine,A.genCol,Y,Z)}}collectSubExprs(f,U){if(!Array.isArray(f))return;let _=f[0];if(Array.isArray(_)||_!=null&&typeof _!=="string"&&!(_ instanceof String)){for(let u=0;u<f.length;u++)if(Array.isArray(f[u]))this.collectSubExprs(f[u],U);return}if(f.loc){_=i(_);let u=null;if(_==="."){if(typeof f[2]==="string")u=f[2]}else if(typeof _==="string"&&/^[=+\-*/%<>!&|?~^]|^\.\.?$|^def$|^class$|^state$|^computed$|^readonly$|^for-/.test(_)){if(typeof f[1]==="string"&&/^[a-zA-Z_$]/.test(f[1]))u=f[1]}else if(typeof _==="string"&&/^[a-zA-Z_$]/.test(_))u=_;if(u)U.push({name:u,origLine:f.loc.r,origCol:f.loc.c})}let W=_==="->"||_==="=>"?2:1;for(let u=W;u<f.length;u++)if(Array.isArray(f[u]))this.collectSubExprs(f[u],U)}collectProgramVariables(f){if(!Array.isArray(f))return;let[U,..._]=f;if(U=i(U),Array.isArray(U)){f.forEach((W)=>this.collectProgramVariables(W));return}if(U==="export"||U==="export-default"||U==="export-all"||U==="export-from")return;if(U==="state"||U==="computed"){let[W]=_,u=i(W)??W;if(!this.reactiveVars)this.reactiveVars=new Set;this.reactiveVars.add(u);return}if(U==="readonly"){let[W]=_,u=i(W)??W;if(!this.readonlyVars)this.readonlyVars=new Set;this.readonlyVars.add(u);return}if(U==="component")return;if(U==="enum")return;if(Y1.ASSIGNMENT_OPS.has(U)){let[W,u]=_;if(typeof W==="string"||W instanceof String){let $=i(W);if(!this.reactiveVars?.has($)&&!this.readonlyVars?.has($))this.programVars.add($)}else if(this.is(W,"array"))this.collectVarsFromArray(W,this.programVars);else if(this.is(W,"object"))this.collectVarsFromObject(W,this.programVars);this.collectProgramVariables(u);return}if(U==="for-in"||U==="for-of"||U==="for-as"){this.collectVarsFromLoopHead(_[0],this.programVars),_.slice(1).forEach((W)=>this.collectProgramVariables(W));return}if(U==="def"||U==="->"||U==="=>"||U==="effect")return;if(U==="if"){let[W,u,$]=_;if(this.collectProgramVariables(W),this.collectProgramVariables(u),$)this.collectProgramVariables($);return}if(U==="try"){if(this.collectProgramVariables(_[0]),_.length>=2&&Array.isArray(_[1])&&_[1].length===2&&_[1][0]!=="block"){let[W,u]=_[1];if(W&&this.is(W,"object"))W.slice(1).forEach(($)=>{if(Array.isArray($)&&$.length===2&&typeof $[1]==="string")this.programVars.add($[1])});else if(W&&this.is(W,"array"))W.slice(1).forEach(($)=>{if(typeof $==="string")this.programVars.add($)});this.collectProgramVariables(u)}if(_.length===3)this.collectProgramVariables(_[2]);else if(_.length===2&&(!Array.isArray(_[1])||_[1][0]==="block"))this.collectProgramVariables(_[1]);return}_.forEach((W)=>this.collectProgramVariables(W))}collectFunctionVariables(f){let U=new Set,_=(W)=>{if(!Array.isArray(W))return;let[u,...$]=W;if(u=i(u),Array.isArray(u)){W.forEach((F)=>_(F));return}if(Y1.ASSIGNMENT_OPS.has(u)){let[F,Y]=$;if(typeof F==="string")U.add(F);else if(this.is(F,"array"))this.collectVarsFromArray(F,U);else if(this.is(F,"object"))this.collectVarsFromObject(F,U);_(Y);return}if(u==="for-in"||u==="for-of"||u==="for-as"){this.collectVarsFromLoopHead($[0],U),$.slice(1).forEach(_);return}if(u==="def"||u==="->"||u==="=>"||u==="effect")return;if(u==="try"){if(_($[0]),$.length>=2&&Array.isArray($[1])&&$[1].length===2&&$[1][0]!=="block"){let[F,Y]=$[1];if(F&&this.is(F,"object"))F.slice(1).forEach((Z)=>{if(Array.isArray(Z)&&Z.length===2&&typeof Z[1]==="string")U.add(Z[1])});else if(F&&this.is(F,"array"))F.slice(1).forEach((Z)=>{if(typeof Z==="string")U.add(Z)});_(Y)}if($.length===3)_($[2]);else if($.length===2&&(!Array.isArray($[1])||$[1][0]==="block"))_($[1]);return}$.forEach((F)=>_(F))};return _(f),U}emit(f,U="statement"){if(f instanceof String){if(W1(f,"await")===!0)return`await ${i(f)}()`;if(W1(f,"predicate"))return`(${i(f)} != null)`;if(W1(f,"delimiter")==="///"&&W1(f,"heregex")){let Y=i(f),Z=Y.match(/^\/(.*)\/([gimsuvy]*)$/s);if(Z){let[,G,Q]=Z;return`/${this.processHeregex(G)}/${Q}`}return Y}let F=W1(f,"quote");if(F){let Y=i(f);if(F==='"""'||F==="'''"){let G=this.extractStringContent(f);return G=G.replace(/`/g,"\\`").replace(/\${/g,"\\${"),`\`${G}\``}if(Y[0]===F)return Y;let Z=Y.slice(1,-1);return`${F}${Z}${F}`}f=i(f)}if(typeof f==="string"){if(f.startsWith('"')||f.startsWith("'")||f.startsWith("`")){if(this.options.debug)console.warn("[Rip] Unexpected quoted primitive:",f);let F=f.slice(1,-1);if(F.includes(`
1619
+ `))return`\`${F.replace(/`/g,"\\`").replace(/\$\{/g,"\\${")}\``;let Y=F.includes("'")&&!F.includes('"')?'"':"'",Z=F.replace(new RegExp(Y,"g"),`\\${Y}`);return`${Y}${Z}${Y}`}if(this.reactiveVars?.has(f)&&!this.suppressReactiveUnwrap)return`${f}.value`;return f}if(typeof f==="number")return String(f);if(f===null||f===void 0)return"null";if(!Array.isArray(f))this.error(`Invalid s-expression: ${JSON.stringify(f)}`,f);let[_,...W]=f,u=W1(_,"await");_=i(_);let $=Y1.GENERATORS[_];if($)return this[$](_,W,U,f);if(typeof _==="string"&&!_.startsWith('"')&&!_.startsWith("'")){if(Y1.NUMBER_START_RE.test(_))return _;if(_==="super"&&this.currentMethodName&&this.currentMethodName!=="constructor")return`super.${this.currentMethodName}(${this._emitArgs(W)})`;let F=this._tryPostfixCall(_,W,U);if(F)return F;let Y=u===!0,Z=`${this.emit(_,"value")}(${this._emitArgs(W)})`;return Y?`await ${Z}`:Z}if(Array.isArray(_)&&typeof _[0]==="string"){if(["=","+=","-=","*=","/=","%=","**=","&&=","||=","??=","if","return","throw"].includes(_[0]))return`(${f.map((Y)=>this.emit(Y,"value")).join(", ")})`}if(Array.isArray(_)){if(_[0]==="."&&(_[2]==="new"||i(_[2])==="new")){let Q=_[1],z=this.emit(Q,"value");return`new ${Array.isArray(Q)?`(${z})`:z}(${this._emitArgs(W)})`}let F=this._tryPostfixCall(_,W,U);if(F)return F;let Y=!1,Z;if(_[0]==="."&&W1(_[2],"await")===!0){Y=!0;let[Q,z]=_.slice(1),A=this.emit(Q,"value");Z=`${Y1.NUMBER_LITERAL_RE.test(A)||(this.is(Q,"object")||this.is(Q,"await")||this.is(Q,"yield"))?`(${A})`:A}.${i(z)}`}else Z=this.emit(_,"value");let G=`${Z}(${this._emitArgs(W)})`;return Y?`await ${G}`:G}this.error(`Unknown s-expression type: ${_}`,f)}emitProgram(f,U,_,W){let u="",$=[],F=[];for(let J of U){if(!Array.isArray(J)){F.push(J);continue}if(J[0]==="import")$.push(J);else F.push(J)}let Y=["def","class","if","for-in","for-of","for-as","while","loop","switch","try"],Z=F.map((J,K)=>{let D=F.length===1&&$.length===0,w=this.is(J,"object"),X=w&&J.length===2&&Array.isArray(J[1])&&Array.isArray(J[1][2])&&J[1][2][0]==="comprehension",R=this.is(J,"comprehension")||this.is(J,"object-comprehension")||this.is(J,"do-iife"),H=this.programVars.size===0,B=D&&w&&H&&!R&&!X,I=K===F.length-1&&R,q;if(B)q=`(${this.emit(J,"value")})`;else if(I)q=this.emit(J,"value");else q=this.emit(J,"statement");if(q&&!q.endsWith(";")){let M=Array.isArray(J)?J[0]:null;if(!Y.includes(M)||!q.endsWith("}"))q+=";"}let P=Array.isArray(J)?J.loc:null;return{code:q,loc:P,sexpr:Array.isArray(J)?J:null}}),G=Z.map((J)=>J.code).join(`
1620
1620
  `),Q=!1;if($.length>0)u+=$.map((J)=>this.addSemicolon(J,this.emit(J,"statement"))).join(`
1621
1621
  `),Q=!0;if(this.programVars.size>0){let J=this.programVars.has("_");if(J)this.programVars.delete("_");if(this.programVars.size>0){let K=Array.from(this.programVars).sort().join(", ");if(K){if(Q)u+=`
1622
1622
  `;u+=`let ${K};
@@ -1653,27 +1653,27 @@ _setDataSection();
1653
1653
 
1654
1654
  function _setDataSection() {
1655
1655
  DATA = ${JSON.stringify(this.dataSection)};
1656
- }`;return u}emitBinaryOp(f,U,_,W){if((f==="+"||f==="-")&&U.length===1)return`(${f}${this.emit(U[0],"value")})`;let[u,$]=U;if(f==="*"){let Y=u?.valueOf?.()??u;if(typeof Y==="string"&&/^["']/.test(Y))return`${this.emit(u,"value")}.repeat(${this.emit($,"value")})`}let F=new Set(["<",">","<=",">="]);if(F.has(f)&&Array.isArray(u)){let Y=u[0]?.valueOf?.()??u[0];if(F.has(Y)){let Z=this.emit(u[1],"value"),G=this.emit(u[2],"value"),Q=this.emit($,"value");return`((${Z} ${Y} ${G}) && (${G} ${f} ${Q}))`}}if(f==="==")f="===";if(f==="!=")f="!==";return`(${this.emit(u,"value")} ${f} ${this.emit($,"value")})`}emitModulo(f,U){let[_,W]=U;return this.helpers.add("modulo"),`modulo(${this.emit(_,"value")}, ${this.emit(W,"value")})`}emitModuloAssign(f,U){let[_,W]=U;this.helpers.add("modulo");let u=this.emit(_,"value"),$=this.emit(W,"value");return`${u} = modulo(${u}, ${$})`}emitFloorDiv(f,U){let[_,W]=U;return`Math.floor(${this.emit(_,"value")} / ${this.emit(W,"value")})`}emitFloorDivAssign(f,U){let[_,W]=U,u=this.emit(_,"value"),$=this.emit(W,"value");return`${u} = Math.floor(${u} / ${$})`}emitAssignment(f,U,_,W){let[u,$]=U,F=f==="?="?"??=":f,Y=this._findOptionalInTarget(u);if(Y){let q=this.emit(Y.guard,"value"),B=this.emit(Y.rewritten,"value"),R=this.emit($,"value");if(_==="value")return`(${q} != null ? (${B} ${F} ${R}) : undefined)`;return`if (${q} != null) ${B} ${F} ${R}`}let Z=this.is($,"->")||this.is($,"=>")||this.is($,"def");if(u instanceof String&&W1(u,"await")!==void 0&&!Z){let q=W1(u,"await")===!0?"!":"&";this.error(`Cannot use ${q} sigil in variable declaration '${k(u)}'`,W)}if(u instanceof String&&W1(u,"await")===!0&&Z)this.nextFunctionIsVoid=!0;let G=this.is(u,"array",0),Q=this.is(u,"object",0);if(G||Q){let q=this.emit($,"value");return Q&&_==="statement"?`(${q})`:q}if(Array.isArray($)&&F==="="&&$[0]==="control"){let[,q,B,R]=$,S=k(q),O=R[0]==="return",P=this.emit(u,"value"),M=this.emit(B,"value"),I=R.length>1?R[1]:null,L=O?I?`return ${this.emit(I,"value")}`:"return":I?`throw ${this.emit(I,"value")}`:"throw new Error()";if(_==="value"){if(S==="??")return`(() => { const __v = ${M}; if (__v == null) ${L}; return (${P} = __v); })()`;if(S==="||")return`(() => { const __v = ${M}; if (!__v) ${L}; return (${P} = __v); })()`;return`(() => { const __v = ${M}; if (__v) ${L}; return (${P} = __v); })()`}if(S==="??")return`if ((${P} = ${M}) == null) ${L}`;if(S==="||")return`if (!(${P} = ${M})) ${L}`;return`if ((${P} = ${M})) ${L}`}if(this.is(u,"array")){let q=u.slice(1).findIndex((B)=>this.is(B,"...")||B==="...");if(q!==-1&&q<u.length-2){let B=u.slice(1),R=B.slice(q+1),S=R.length;if(S>0){let O=this.emit($,"value"),M=B.slice(0,q).map((C)=>C===","?"":typeof C==="string"?C:this.emit(C,"value")).join(", "),I=R.map((C)=>C===","?"":typeof C==="string"?C:this.emit(C,"value")).join(", ");this.helpers.add("slice"),B.forEach((C)=>{if(C===","||C==="...")return;if(typeof C==="string")this.programVars.add(C);else if(this.is(C,"...")&&typeof C[1]==="string")this.programVars.add(C[1])});let L=B[q],V=this.is(L,"...")?L[1]:null,N=[];if(M)N.push(`[${M}] = ${O}`);if(V)N.push(`[...${V}] = ${O}.slice(${q}, -${S})`);return N.push(`[${I}] = slice.call(${O}, -${S})`),N.join(", ")}}}if(_==="statement"&&f==="="&&Array.isArray($)&&($[0]==="||"||$[0]==="&&")&&$.length===3){let[q,B,R]=$;if(this.is(R,"if")&&R.length===3){let[,S,O]=R,P=Array.isArray(O)&&O.length===1?O[0]:O,M=[q,B,P],I=this.emit(u,"value"),L=this.emit(S,"value"),V=this.emit(M,"value");return`if (${L}) ${I} = ${V}`}}if(_==="statement"&&f==="="&&Array.isArray($)&&$.length===3){let[q,B,R]=$,S=Array.isArray(R)&&R.length===1&&(!Array.isArray(R[0])||R[0][0]!=="block");if(q==="if"&&S){let O=Array.isArray(R)&&R.length===1?R[0]:R,P=this.emit(u,"value"),M=this.unwrapLogical(this.emit(B,"value")),I=this.emit(O,"value");return`if (${M}) ${P} = ${I}`}}let z;if(u instanceof String&&W1(u,"await")!==void 0)z=k(u);else if(typeof u==="string"&&this.reactiveVars?.has(u))z=`${u}.value`;else z=this.emit(u,"value");let A=this._componentName,J=this._componentTypeParams,K=this._schemaName;if(this.is($,"component")&&(typeof u==="string"||u instanceof String))this._componentName=k(u),this._componentTypeParams=u.typeParams||"";if(this.is($,"schema")&&(typeof u==="string"||u instanceof String))this._schemaName=k(u);let D=this.emit($,"value");if(this._componentName=A,this._componentTypeParams=J,this._schemaName=K,!(this.is($,"object")||this.is($,".{}")||this.is($,"?.{}")))D=this.unwrap(D);let X=_==="value",H=_==="statement"&&this.is(u,"object");if(X||H)return`(${z} ${F} ${D})`;return`${z} ${F} ${D}`}emitPropertyAccess(f,U,_,W){let[u,$]=U;if(this._atParamMap&&u==="this"){let G=this._atParamMap.get(k($));if(G)return G}let F=this.emit(u,"value"),Z=Y1.NUMBER_LITERAL_RE.test(F)||F.startsWith("await ")||(this.is(u,"object")||this.is(u,"yield"))?`(${F})`:F;if(W1($,"await")===!0)return`await ${Z}.${k($)}()`;if(W1($,"predicate"))return`(${Z}.${k($)} != null)`;return`${Z}.${k($)}`}emitOptionalProperty(f,U){let[_,W]=U;return`${this.emit(_,"value")}?.${W}`}emitPick(f,U,_,W){let[u,...$]=U,F=this.emit(u,"value"),Y=this._isSimplePickSource(u),Z=Y?F:"_",G=$.map(([Q,z,A])=>{let J=`${Z}.${k(Q)}`;if(A!==null&&A!==void 0)J=`(${J} ?? ${this.emit(A,"value")})`;return`${k(z)}: ${J}`}).join(", ");if(Y)return`({${G}})`;return`((_) => ({${G}}))(${F})`}emitOptPick(f,U,_,W){let[u,...$]=U,F=this.emit(u,"value"),Y=this._isSimplePickSource(u),Z=Y?F:"_",G=$.map(([Q,z,A])=>{let J=`${Z}.${k(Q)}`;if(A!==null&&A!==void 0)J=`(${J} ?? ${this.emit(A,"value")})`;return`${k(z)}: ${J}`}).join(", ");if(Y)return`(${F} == null ? undefined : {${G}})`;return`((_) => _ == null ? undefined : ({${G}}))(${F})`}_isSimplePickSource(f){if(typeof f!=="string")return!1;return f==="this"||f==="@"||/^[A-Za-z_$][\w$]*$/.test(f)}emitRegexIndex(f,U){let[_,W,u]=U;this.helpers.add("toMatchable"),this.programVars.add("_");let $=this.emit(_,"value"),F=this.emit(W,"value"),Y=u!==null?this.emit(u,"value"):"0",Z=F.includes("/m")?", true":"";return`(_ = toMatchable(${$}${Z}).match(${F})) && _[${Y}]`}emitIndexAccess(f,U){let[_,W]=U;if(this.is(W,"..")||this.is(W,"...")){let u=W[0]==="..",$=this.emit(_,"value"),[F,Y]=W.slice(1),Z=(A)=>{if(A===null)return null;let J=k(A)??A;if(typeof J==="number")return J;if(typeof J==="string"&&/^\d+$/.test(J))return+J;if(Array.isArray(A)&&A[0]==="-"&&A.length===2){let K=k(A[1])??A[1];if(typeof K==="number")return-K;if(typeof K==="string"&&/^\d+$/.test(K))return-K}return null},G=(A,J,K)=>{let D=Z(K);if(D!==null&&D!==-1)return`${$}.slice(${A}, ${D+1})`;return`${$}.slice(${A}, +${J} + 1 || 9e9)`};if(F===null&&Y===null)return`${$}.slice()`;if(F===null){if(u&&this.is(Y,"-",1)&&(k(Y[1])??Y[1])==1)return`${$}.slice(0)`;let A=this.emit(Y,"value");return u?G("0",A,Y):`${$}.slice(0, ${A})`}if(Y===null)return`${$}.slice(${this.emit(F,"value")})`;let Q=this.emit(F,"value");if(u&&this.is(Y,"-",1)&&(k(Y[1])??Y[1])==1)return`${$}.slice(${Q})`;let z=this.emit(Y,"value");return u?G(Q,z,Y):`${$}.slice(${Q}, ${z})`}if(this.is(W,"-",1)){let u=k(W[1])??W[1];if(typeof u==="number"||typeof u==="string"&&/^\d+$/.test(u))return`${this.emit(_,"value")}.at(-${u})`}return`${this.emit(_,"value")}[${this.unwrap(this.emit(W,"value"))}]`}emitOptIndex(f,U){let[_,W]=U;if(this.is(W,"-",1)){let u=k(W[1])??W[1];if(typeof u==="number"||typeof u==="string"&&/^\d+$/.test(u))return`${this.emit(_,"value")}?.at(-${u})`}return`${this.emit(_,"value")}?.[${this.emit(W,"value")}]`}emitOptCall(f,U){let[_,...W]=U;return`${this.emit(_,"value")}?.(${W.map((u)=>this.emit(u,"value")).join(", ")})`}emitDef(f,U,_,W){let[u,$,F]=U,Y=W1(u,"await")===!0,Z=k(u),G=this.emitParamList($),Q=this.emitFunctionBody(F,$,Y),z=this.containsAwait(F),A=this.containsYield(F);return`${z?"async ":""}function${A?"*":""} ${Z}(${G}) ${Q}`}emitThinArrow(f,U,_,W){let[u,$]=U;if((!u||Array.isArray(u)&&u.length===0)&&this.containsIt($))u=["it"];let F=this.nextFunctionIsVoid||!1;this.nextFunctionIsVoid=!1;let Y=this.emitParamList(u),Z=this.emitFunctionBody($,u,F),G=this.containsAwait($),Q=this.containsYield($),z=`${G?"async ":""}function${Q?"*":""}(${Y}) ${Z}`;return _==="value"?`(${z})`:z}emitFatArrow(f,U,_,W){let[u,$]=U;if((!u||Array.isArray(u)&&u.length===0)&&this.containsIt($))u=["it"];let F=this.nextFunctionIsVoid||!1;this.nextFunctionIsVoid=!1;let Y=this.emitParamList(u),G=u.length===1&&typeof u[0]==="string"&&!Y.includes("=")&&!Y.includes("...")&&!Y.includes("[")&&!Y.includes("{")?Y:`(${Y})`,z=this.containsAwait($)?"async ":"";if(!F){if(this.is($,"block")&&$.length===2){let J=$[1],K=Array.isArray(J)?J[0]:null;if(K!=="return"&&!p5.has(K)){let D=this.emit(J,"value");if(D[0]==="{")D=`(${D})`;return`${z}${G} => ${D}`}}if(!Array.isArray($)||$[0]!=="block"){let J=this.emit($,"value");if(J[0]==="{")J=`(${J})`;return`${z}${G} => ${J}`}}let A=this.emitFunctionBody($,u,F);return`${z}${G} => ${A}`}emitReturn(f,U,_,W){if(U.length===0)return"return";let[u]=U;if(this.sideEffectOnly&&!(this.is(u,"->")||this.is(u,"=>")))this.error("Cannot return a value from a void function (declared with !)",W);if(this.is(u,"if")){let[,$,F,...Y]=u;if(Y.length===0){let Z=Array.isArray(F)&&F.length===1?F[0]:F;return`if (${this.emit($,"value")}) return ${this.emit(Z,"value")}`}}if(this.is(u,"new")&&Array.isArray(u[1])&&u[1][0]==="if"){let[,$,F]=u[1],Y=Array.isArray(F)&&F.length===1?F[0]:F;return`if (${this.emit($,"value")}) return ${this.emit(["new",Y],"value")}`}return`return ${this.emit(u,"value")}`}emitState(f,U){let[_,W]=U;this.usesReactivity=!0;let u=k(_)??_;if(!this.reactiveVars)this.reactiveVars=new Set;return this.reactiveVars.add(u),`const ${u} = __state(${this.emit(W,"value")})`}emitComputed(f,U){let[_,W]=U;if(this.usesReactivity=!0,!this.reactiveVars)this.reactiveVars=new Set;let u=k(_)??_;if(this.reactiveVars.add(u),this.is(W,"block")&&W.length>2)return`const ${u} = __computed(() => ${this.emitFunctionBody(W)})`;return`const ${u} = __computed(() => ${this.emit(W,"value")})`}emitReadonly(f,U){let[_,W]=U;return`const ${k(_)??_} = ${this.emit(W,"value")}`}emitEffect(f,U){let[_,W]=U;this.usesReactivity=!0;let u;if(this.is(W,"block"))u=this.emitFunctionBody(W);else if(this.is(W,"->")||this.is(W,"=>")){let F=this.emit(W,"value");if(_)return`const ${k(_)??this.emit(_,"value")} = __effect(${F})`;return`__effect(${F})`}else u=`{ ${this.emit(W,"value")}; }`;let $=`__effect(() => ${u})`;if(_)return`const ${k(_)??this.emit(_,"value")} = ${$}`;return $}emitBreak(){return"break"}emitContinue(){return"continue"}emitExistential(f,U){return`(${this.emit(U[0],"value")} != null)`}emitPresence(f,U){return`(${this.emit(U[0],"value")} ? true : undefined)`}emitTernary(f,U,_){let[W,u,$]=U;if((u?.[0]?.valueOf?.()??u?.[0])==="="&&Array.isArray(u)){let Y=this.emit(u[1],"value"),Z=this.emit(u[2],"value"),G=this.emit($,"value");return`${Y} = (${this.unwrap(this.emit(W,"value"))} ? ${Z} : ${G})`}return`(${this.unwrap(this.emit(W,"value"))} ? ${this.emit(u,"value")} : ${this.emit($,"value")})`}emitPipe(f,U){let[_,W]=U,u=this.emit(_,"value");if(Array.isArray(W)&&W.length>1){let $=W[0];if(Array.isArray($)||typeof $==="string"&&/^[a-zA-Z_$]/.test($)){let Y=this.emit($,"value"),Z=W.slice(1).map((G)=>this.emit(G,"value"));return`${Y}(${u}, ${Z.join(", ")})`}}return`${this.emit(W,"value")}(${u})`}emitLoop(f,U){return`while (true) ${this.emitLoopBody(U[0])}`}emitLoopN(f,U){let[_,W]=U;return`for (let it = 0; it < ${this.emit(_,"value")}; it++) ${this.emitLoopBody(W)}`}emitAwait(f,U){return`await ${this.emit(U[0],"value")}`}emitYield(f,U){return U.length===0?"yield":`yield ${this.emit(U[0],"value")}`}emitYieldFrom(f,U){return`yield* ${this.emit(U[0],"value")}`}emitIf(f,U,_,W){let[u,$,...F]=U;return _==="value"?this.emitIfAsExpression(u,$,F):this.emitIfAsStatement(u,$,F)}emitForIn(f,U,_,W){let[u,$,F,Y,Z]=U;if(_==="value"&&this.comprehensionDepth===0){let X=["for-in",u,$,F];return this.emit(["comprehension",Z,[X],Y?[Y]:[]],_)}let G=Array.isArray(u)?u:[u],Q=G.length===0,[z,A]=Q?["_i",null]:G,J=this.is(z,"array")||this.is(z,"object")?this.emitDestructuringPattern(z):z;if(F&&F!==null){let X=this.emit($,"value"),H=A||"_i",q=this.emit(F,"value"),B=this.is(F,"-",1),R=B&&(F[1]==="1"||F[1]===1||k(F[1])==="1"),S=!B&&(F==="1"||F===1||k(F)==="1"),O;if(R)O=`for (let ${H} = ${X}.length - 1; ${H} >= 0; ${H}--) `;else if(S)O=`for (let ${H} = 0; ${H} < ${X}.length; ${H}++) `;else if(B)O=`for (let ${H} = ${X}.length - 1; ${H} >= 0; ${H} += ${q}) `;else O=`for (let ${H} = 0; ${H} < ${X}.length; ${H} += ${q}) `;if(this.is(Z,"block")){let P=Z.slice(1);this.indentLevel++;let M=[];if(!Q)M.push(`${J} = ${X}[${H}];`);if(Y)M.push(`if (${this.emit(Y,"value")}) {`),this.indentLevel++,M.push(...this.formatStatements(P)),this.indentLevel--,M.push(this.indent()+"}");else M.push(...P.map((I)=>this.addSemicolon(I,this.emit(I,"statement"))));return this.indentLevel--,O+`{
1657
- ${M.map((I)=>this.indent()+I).join(`
1656
+ }`;return u}emitBinaryOp(f,U,_,W){if((f==="+"||f==="-")&&U.length===1)return`(${f}${this.emit(U[0],"value")})`;let[u,$]=U;if(f==="*"){let Y=u?.valueOf?.()??u;if(typeof Y==="string"&&/^["']/.test(Y))return`${this.emit(u,"value")}.repeat(${this.emit($,"value")})`}let F=new Set(["<",">","<=",">="]);if(F.has(f)&&Array.isArray(u)){let Y=u[0]?.valueOf?.()??u[0];if(F.has(Y)){let Z=this.emit(u[1],"value"),G=this.emit(u[2],"value"),Q=this.emit($,"value");return`((${Z} ${Y} ${G}) && (${G} ${f} ${Q}))`}}if(f==="==")f="===";if(f==="!=")f="!==";return`(${this.emit(u,"value")} ${f} ${this.emit($,"value")})`}emitModulo(f,U){let[_,W]=U;return this.helpers.add("modulo"),`modulo(${this.emit(_,"value")}, ${this.emit(W,"value")})`}emitModuloAssign(f,U){let[_,W]=U;this.helpers.add("modulo");let u=this.emit(_,"value"),$=this.emit(W,"value");return`${u} = modulo(${u}, ${$})`}emitFloorDiv(f,U){let[_,W]=U;return`Math.floor(${this.emit(_,"value")} / ${this.emit(W,"value")})`}emitFloorDivAssign(f,U){let[_,W]=U,u=this.emit(_,"value"),$=this.emit(W,"value");return`${u} = Math.floor(${u} / ${$})`}emitAssignment(f,U,_,W){let[u,$]=U,F=f==="?="?"??=":f,Y=this._findOptionalInTarget(u);if(Y){let H=this.emit(Y.guard,"value"),B=this.emit(Y.rewritten,"value"),O=this.emit($,"value");if(_==="value")return`(${H} != null ? (${B} ${F} ${O}) : undefined)`;return`if (${H} != null) ${B} ${F} ${O}`}let Z=this.is($,"->")||this.is($,"=>")||this.is($,"def");if(u instanceof String&&W1(u,"await")!==void 0&&!Z){let H=W1(u,"await")===!0?"!":"&";this.error(`Cannot use ${H} sigil in variable declaration '${i(u)}'`,W)}if(u instanceof String&&W1(u,"await")===!0&&Z)this.nextFunctionIsVoid=!0;let G=this.is(u,"array",0),Q=this.is(u,"object",0);if(G||Q){let H=this.emit($,"value");return Q&&_==="statement"?`(${H})`:H}if(Array.isArray($)&&F==="="&&$[0]==="control"){let[,H,B,O]=$,I=i(H),q=O[0]==="return",P=this.emit(u,"value"),M=this.emit(B,"value"),S=O.length>1?O[1]:null,L=q?S?`return ${this.emit(S,"value")}`:"return":S?`throw ${this.emit(S,"value")}`:"throw new Error()";if(_==="value"){if(I==="??")return`(() => { const __v = ${M}; if (__v == null) ${L}; return (${P} = __v); })()`;if(I==="||")return`(() => { const __v = ${M}; if (!__v) ${L}; return (${P} = __v); })()`;return`(() => { const __v = ${M}; if (__v) ${L}; return (${P} = __v); })()`}if(I==="??")return`if ((${P} = ${M}) == null) ${L}`;if(I==="||")return`if (!(${P} = ${M})) ${L}`;return`if ((${P} = ${M})) ${L}`}if(this.is(u,"array")){let H=u.slice(1).findIndex((B)=>this.is(B,"...")||B==="...");if(H!==-1&&H<u.length-2){let B=u.slice(1),O=B.slice(H+1),I=O.length;if(I>0){let q=this.emit($,"value"),M=B.slice(0,H).map((V)=>V===","?"":typeof V==="string"?V:this.emit(V,"value")).join(", "),S=O.map((V)=>V===","?"":typeof V==="string"?V:this.emit(V,"value")).join(", ");this.helpers.add("slice"),B.forEach((V)=>{if(V===","||V==="...")return;if(typeof V==="string")this.programVars.add(V);else if(this.is(V,"...")&&typeof V[1]==="string")this.programVars.add(V[1])});let L=B[H],C=this.is(L,"...")?L[1]:null,N=[];if(M)N.push(`[${M}] = ${q}`);if(C)N.push(`[...${C}] = ${q}.slice(${H}, -${I})`);return N.push(`[${S}] = slice.call(${q}, -${I})`),N.join(", ")}}}if(_==="statement"&&f==="="&&Array.isArray($)&&($[0]==="||"||$[0]==="&&")&&$.length===3){let[H,B,O]=$;if(this.is(O,"if")&&O.length===3){let[,I,q]=O,P=Array.isArray(q)&&q.length===1?q[0]:q,M=[H,B,P],S=this.emit(u,"value"),L=this.emit(I,"value"),C=this.emit(M,"value");return`if (${L}) ${S} = ${C}`}}if(_==="statement"&&f==="="&&Array.isArray($)&&$.length===3){let[H,B,O]=$,I=Array.isArray(O)&&O.length===1&&(!Array.isArray(O[0])||O[0][0]!=="block");if(H==="if"&&I){let q=Array.isArray(O)&&O.length===1?O[0]:O,P=this.emit(u,"value"),M=this.unwrapLogical(this.emit(B,"value")),S=this.emit(q,"value");return`if (${M}) ${P} = ${S}`}}let z;if(u instanceof String&&W1(u,"await")!==void 0)z=i(u);else if(typeof u==="string"&&this.reactiveVars?.has(u))z=`${u}.value`;else z=this.emit(u,"value");let A=this._componentName,J=this._componentTypeParams,K=this._schemaName;if(this.is($,"component")&&(typeof u==="string"||u instanceof String))this._componentName=i(u),this._componentTypeParams=u.typeParams||"";if(this.is($,"schema")&&(typeof u==="string"||u instanceof String))this._schemaName=i(u);let D=this.emit($,"value");if(this._componentName=A,this._componentTypeParams=J,this._schemaName=K,!(this.is($,"object")||this.is($,".{}")||this.is($,"?.{}")))D=this.unwrap(D);let X=_==="value",R=_==="statement"&&this.is(u,"object");if(X||R)return`(${z} ${F} ${D})`;return`${z} ${F} ${D}`}emitPropertyAccess(f,U,_,W){let[u,$]=U;if(this._atParamMap&&u==="this"){let G=this._atParamMap.get(i($));if(G)return G}let F=this.emit(u,"value"),Z=Y1.NUMBER_LITERAL_RE.test(F)||F.startsWith("await ")||(this.is(u,"object")||this.is(u,"yield"))?`(${F})`:F;if(W1($,"await")===!0)return`await ${Z}.${i($)}()`;if(W1($,"predicate"))return`(${Z}.${i($)} != null)`;return`${Z}.${i($)}`}emitOptionalProperty(f,U){let[_,W]=U;return`${this.emit(_,"value")}?.${W}`}emitPick(f,U,_,W){let[u,...$]=U,F=this.emit(u,"value"),Y=this._isSimplePickSource(u),Z=Y?F:"_",G=$.map(([Q,z,A])=>{let J=`${Z}.${i(Q)}`;if(A!==null&&A!==void 0)J=`(${J} ?? ${this.emit(A,"value")})`;return`${i(z)}: ${J}`}).join(", ");if(Y)return`({${G}})`;return`((_) => ({${G}}))(${F})`}emitOptPick(f,U,_,W){let[u,...$]=U,F=this.emit(u,"value"),Y=this._isSimplePickSource(u),Z=Y?F:"_",G=$.map(([Q,z,A])=>{let J=`${Z}.${i(Q)}`;if(A!==null&&A!==void 0)J=`(${J} ?? ${this.emit(A,"value")})`;return`${i(z)}: ${J}`}).join(", ");if(Y)return`(${F} == null ? undefined : {${G}})`;return`((_) => _ == null ? undefined : ({${G}}))(${F})`}_isSimplePickSource(f){if(typeof f!=="string")return!1;return f==="this"||f==="@"||/^[A-Za-z_$][\w$]*$/.test(f)}emitRegexIndex(f,U){let[_,W,u]=U;this.helpers.add("toMatchable"),this.programVars.add("_");let $=this.emit(_,"value"),F=this.emit(W,"value"),Y=u!==null?this.emit(u,"value"):"0",Z=F.includes("/m")?", true":"";return`(_ = toMatchable(${$}${Z}).match(${F})) && _[${Y}]`}emitIndexAccess(f,U){let[_,W]=U;if(this.is(W,"..")||this.is(W,"...")){let u=W[0]==="..",$=this.emit(_,"value"),[F,Y]=W.slice(1),Z=(A)=>{if(A===null)return null;let J=i(A)??A;if(typeof J==="number")return J;if(typeof J==="string"&&/^\d+$/.test(J))return+J;if(Array.isArray(A)&&A[0]==="-"&&A.length===2){let K=i(A[1])??A[1];if(typeof K==="number")return-K;if(typeof K==="string"&&/^\d+$/.test(K))return-K}return null},G=(A,J,K)=>{let D=Z(K);if(D!==null&&D!==-1)return`${$}.slice(${A}, ${D+1})`;return`${$}.slice(${A}, +${J} + 1 || 9e9)`};if(F===null&&Y===null)return`${$}.slice()`;if(F===null){if(u&&this.is(Y,"-",1)&&(i(Y[1])??Y[1])==1)return`${$}.slice(0)`;let A=this.emit(Y,"value");return u?G("0",A,Y):`${$}.slice(0, ${A})`}if(Y===null)return`${$}.slice(${this.emit(F,"value")})`;let Q=this.emit(F,"value");if(u&&this.is(Y,"-",1)&&(i(Y[1])??Y[1])==1)return`${$}.slice(${Q})`;let z=this.emit(Y,"value");return u?G(Q,z,Y):`${$}.slice(${Q}, ${z})`}if(this.is(W,"-",1)){let u=i(W[1])??W[1];if(typeof u==="number"||typeof u==="string"&&/^\d+$/.test(u))return`${this.emit(_,"value")}.at(-${u})`}return`${this.emit(_,"value")}[${this.unwrap(this.emit(W,"value"))}]`}emitOptIndex(f,U){let[_,W]=U;if(this.is(W,"-",1)){let u=i(W[1])??W[1];if(typeof u==="number"||typeof u==="string"&&/^\d+$/.test(u))return`${this.emit(_,"value")}?.at(-${u})`}return`${this.emit(_,"value")}?.[${this.emit(W,"value")}]`}emitOptCall(f,U){let[_,...W]=U;return`${this.emit(_,"value")}?.(${W.map((u)=>this.emit(u,"value")).join(", ")})`}emitDef(f,U,_,W){let[u,$,F]=U,Y=W1(u,"await")===!0,Z=i(u),G=this.emitParamList($),Q=this.emitFunctionBody(F,$,Y),z=this.containsAwait(F),A=this.containsYield(F);return`${z?"async ":""}function${A?"*":""} ${Z}(${G}) ${Q}`}emitThinArrow(f,U,_,W){let[u,$]=U;if((!u||Array.isArray(u)&&u.length===0)&&this.containsIt($))u=["it"];let F=this.nextFunctionIsVoid||!1;this.nextFunctionIsVoid=!1;let Y=this.emitParamList(u),Z=this.emitFunctionBody($,u,F),G=this.containsAwait($),Q=this.containsYield($),z=`${G?"async ":""}function${Q?"*":""}(${Y}) ${Z}`;return _==="value"?`(${z})`:z}emitFatArrow(f,U,_,W){let[u,$]=U;if((!u||Array.isArray(u)&&u.length===0)&&this.containsIt($))u=["it"];let F=this.nextFunctionIsVoid||!1;this.nextFunctionIsVoid=!1;let Y=this.emitParamList(u),G=u.length===1&&typeof u[0]==="string"&&!Y.includes("=")&&!Y.includes("...")&&!Y.includes("[")&&!Y.includes("{")?Y:`(${Y})`,z=this.containsAwait($)?"async ":"";if(!F){if(this.is($,"block")&&$.length===2){let J=$[1],K=Array.isArray(J)?J[0]:null;if(K!=="return"&&!d5.has(K)){let D=this.emit(J,"value");if(D[0]==="{")D=`(${D})`;return`${z}${G} => ${D}`}}if(!Array.isArray($)||$[0]!=="block"){let J=this.emit($,"value");if(J[0]==="{")J=`(${J})`;return`${z}${G} => ${J}`}}let A=this.emitFunctionBody($,u,F);return`${z}${G} => ${A}`}emitReturn(f,U,_,W){if(U.length===0)return"return";let[u]=U;if(this.sideEffectOnly&&!(this.is(u,"->")||this.is(u,"=>")))this.error("Cannot return a value from a void function (declared with !)",W);if(this.is(u,"if")){let[,$,F,...Y]=u;if(Y.length===0){let Z=Array.isArray(F)&&F.length===1?F[0]:F;return`if (${this.emit($,"value")}) return ${this.emit(Z,"value")}`}}if(this.is(u,"new")&&Array.isArray(u[1])&&u[1][0]==="if"){let[,$,F]=u[1],Y=Array.isArray(F)&&F.length===1?F[0]:F;return`if (${this.emit($,"value")}) return ${this.emit(["new",Y],"value")}`}return`return ${this.emit(u,"value")}`}emitState(f,U){let[_,W]=U;this.usesReactivity=!0;let u=i(_)??_;if(!this.reactiveVars)this.reactiveVars=new Set;return this.reactiveVars.add(u),`const ${u} = __state(${this.emit(W,"value")})`}emitComputed(f,U){let[_,W]=U;if(this.usesReactivity=!0,!this.reactiveVars)this.reactiveVars=new Set;let u=i(_)??_;if(this.reactiveVars.add(u),this.is(W,"block")&&W.length>2)return`const ${u} = __computed(() => ${this.emitFunctionBody(W)})`;return`const ${u} = __computed(() => ${this.emit(W,"value")})`}emitReadonly(f,U){let[_,W]=U;return`const ${i(_)??_} = ${this.emit(W,"value")}`}emitEffect(f,U){let[_,W]=U;this.usesReactivity=!0;let u;if(this.is(W,"block"))u=this.emitFunctionBody(W);else if(this.is(W,"->")||this.is(W,"=>")){let F=this.emit(W,"value");if(_)return`const ${i(_)??this.emit(_,"value")} = __effect(${F})`;return`__effect(${F})`}else u=`{ ${this.emit(W,"value")}; }`;let $=`__effect(() => ${u})`;if(_)return`const ${i(_)??this.emit(_,"value")} = ${$}`;return $}emitBreak(){return"break"}emitContinue(){return"continue"}emitExistential(f,U){return`(${this.emit(U[0],"value")} != null)`}emitPresence(f,U){return`(${this.emit(U[0],"value")} ? true : undefined)`}emitTernary(f,U,_){let[W,u,$]=U;if((u?.[0]?.valueOf?.()??u?.[0])==="="&&Array.isArray(u)){let Y=this.emit(u[1],"value"),Z=this.emit(u[2],"value"),G=this.emit($,"value");return`${Y} = (${this.unwrap(this.emit(W,"value"))} ? ${Z} : ${G})`}return`(${this.unwrap(this.emit(W,"value"))} ? ${this.emit(u,"value")} : ${this.emit($,"value")})`}emitPipe(f,U){let[_,W]=U,u=this.emit(_,"value");if(Array.isArray(W)&&W.length>1){let $=W[0];if(Array.isArray($)||typeof $==="string"&&/^[a-zA-Z_$]/.test($)){let Y=this.emit($,"value"),Z=W.slice(1).map((G)=>this.emit(G,"value"));return`${Y}(${u}, ${Z.join(", ")})`}}return`${this.emit(W,"value")}(${u})`}emitLoop(f,U){return`while (true) ${this.emitLoopBody(U[0])}`}emitLoopN(f,U){let[_,W]=U;return`for (let it = 0; it < ${this.emit(_,"value")}; it++) ${this.emitLoopBody(W)}`}emitAwait(f,U){return`await ${this.emit(U[0],"value")}`}emitYield(f,U){return U.length===0?"yield":`yield ${this.emit(U[0],"value")}`}emitYieldFrom(f,U){return`yield* ${this.emit(U[0],"value")}`}emitIf(f,U,_,W){let[u,$,...F]=U;return _==="value"?this.emitIfAsExpression(u,$,F):this.emitIfAsStatement(u,$,F)}emitForIn(f,U,_,W){let[u,$,F,Y,Z]=U;if(_==="value"&&this.comprehensionDepth===0){let w=["for-in",u,$,F];return this.emit(["comprehension",Z,[w],Y?[Y]:[]],_)}let G=Array.isArray(u)?u:[u],Q=G.length===0,[z,A]=Q?["_i",null]:G,J=this.is(z,"array")||this.is(z,"object")?this.emitDestructuringPattern(z):z;if(F&&F!==null){let w=this.emit($,"value"),X=A||"_i",R=this.emit(F,"value"),H=this.is(F,"-",1),B=H&&(F[1]==="1"||F[1]===1||i(F[1])==="1"),O=!H&&(F==="1"||F===1||i(F)==="1"),I;if(B)I=`for (let ${X} = ${w}.length - 1; ${X} >= 0; ${X}--) `;else if(O)I=`for (let ${X} = 0; ${X} < ${w}.length; ${X}++) `;else if(H)I=`for (let ${X} = ${w}.length - 1; ${X} >= 0; ${X} += ${R}) `;else I=`for (let ${X} = 0; ${X} < ${w}.length; ${X} += ${R}) `;if(this.is(Z,"block")){let q=Z.slice(1);this.indentLevel++;let P=[];if(!Q)P.push(`let ${J} = ${w}[${X}];`);if(Y)P.push(`if (${this.emit(Y,"value")}) {`),this.indentLevel++,P.push(...this.formatStatements(q)),this.indentLevel--,P.push(this.indent()+"}");else P.push(...q.map((M)=>this.addSemicolon(M,this.emit(M,"statement"))));return this.indentLevel--,I+`{
1657
+ ${P.map((M)=>this.indent()+M).join(`
1658
1658
  `)}
1659
- ${this.indent()}}`}if(Q)return Y?O+`{ if (${this.emit(Y,"value")}) ${this.emit(Z,"statement")}; }`:O+`{ ${this.emit(Z,"statement")}; }`;return Y?O+`{ ${J} = ${X}[${H}]; if (${this.emit(Y,"value")}) ${this.emit(Z,"statement")}; }`:O+`{ ${J} = ${X}[${H}]; ${this.emit(Z,"statement")}; }`}if(A){let X=this.emit($,"value"),H=`for (let ${A} = 0; ${A} < ${X}.length; ${A}++) `;if(this.is(Z,"block")){if(H+=`{
1660
- `,this.indentLevel++,H+=this.indent()+`${J} = ${X}[${A}];
1661
- `,Y)H+=this.indent()+`if (${this.unwrap(this.emit(Y,"value"))}) {
1662
- `,this.indentLevel++,H+=this.formatStatements(Z.slice(1)).join(`
1659
+ ${this.indent()}}`}if(Q)return Y?I+`{ if (${this.emit(Y,"value")}) ${this.emit(Z,"statement")}; }`:I+`{ ${this.emit(Z,"statement")}; }`;return Y?I+`{ let ${J} = ${w}[${X}]; if (${this.emit(Y,"value")}) ${this.emit(Z,"statement")}; }`:I+`{ let ${J} = ${w}[${X}]; ${this.emit(Z,"statement")}; }`}if(A){let w=this.emit($,"value"),X=`for (let ${A} = 0; ${A} < ${w}.length; ${A}++) `;if(this.is(Z,"block")){if(X+=`{
1660
+ `,this.indentLevel++,X+=this.indent()+`let ${J} = ${w}[${A}];
1661
+ `,Y)X+=this.indent()+`if (${this.unwrap(this.emit(Y,"value"))}) {
1662
+ `,this.indentLevel++,X+=this.formatStatements(Z.slice(1)).join(`
1663
1663
  `)+`
1664
- `,this.indentLevel--,H+=this.indent()+`}
1665
- `;else H+=this.formatStatements(Z.slice(1)).join(`
1664
+ `,this.indentLevel--,X+=this.indent()+`}
1665
+ `;else X+=this.formatStatements(Z.slice(1)).join(`
1666
1666
  `)+`
1667
- `;this.indentLevel--,H+=this.indent()+"}"}else H+=Y?`{ ${J} = ${X}[${A}]; if (${this.unwrap(this.emit(Y,"value"))}) ${this.emit(Z,"statement")}; }`:`{ ${J} = ${X}[${A}]; ${this.emit(Z,"statement")}; }`;return H}let K=Array.isArray($)&&$[0];if(K instanceof String)K=k(K);if(K===".."||K==="..."){let X=K==="...",[H,q]=$.slice(1),B=(R)=>typeof R==="number"||typeof R==="string"&&!R.includes("(")||R instanceof String&&!k(R).includes("(")||this.is(R,".");if(B(H)&&B(q)){let R=this.emit(H,"value"),S=this.emit(q,"value"),O=X?"<":"<=",P=F?`${J} += ${this.emit(F,"value")}`:`${J}++`,M=`for (let ${J} = ${R}; ${J} ${O} ${S}; ${P}) `;return M+=Y?this.emitLoopBodyWithGuard(Z,Y):this.emitLoopBody(Z),M}}let w=`for (${Q?"let ":""}${J} of ${this.emit($,"value")}) `;return w+=Y?this.emitLoopBodyWithGuard(Z,Y):this.emitLoopBody(Z),w}emitForOf(f,U,_,W){let[u,$,F,Y,Z]=U;if(_==="value"&&this.comprehensionDepth===0){let J=["for-of",u,$,F];return this.emit(["comprehension",Z,[J],Y?[Y]:[]],_)}let[G,Q]=Array.isArray(u)?u:[u],z=this.emit($,"value"),A=`for (${G} in ${z}) `;if(F&&!Q&&!Y){if(this.is(Z,"block")){this.indentLevel++;let J=[`if (!Object.hasOwn(${z}, ${G})) continue;`,...Z.slice(1).map((K)=>this.addSemicolon(K,this.emit(K,"statement")))];return this.indentLevel--,A+`{
1667
+ `;this.indentLevel--,X+=this.indent()+"}"}else X+=Y?`{ let ${J} = ${w}[${A}]; if (${this.unwrap(this.emit(Y,"value"))}) ${this.emit(Z,"statement")}; }`:`{ let ${J} = ${w}[${A}]; ${this.emit(Z,"statement")}; }`;return X}let K=Array.isArray($)&&$[0];if(K instanceof String)K=i(K);if(K===".."||K==="..."){let w=K==="...",[X,R]=$.slice(1),H=(B)=>typeof B==="number"||typeof B==="string"&&!B.includes("(")||B instanceof String&&!i(B).includes("(")||this.is(B,".");if(H(X)&&H(R)){let B=this.emit(X,"value"),O=this.emit(R,"value"),I=w?"<":"<=",q=F?`${J} += ${this.emit(F,"value")}`:`${J}++`,P=`for (let ${J} = ${B}; ${J} ${I} ${O}; ${q}) `;return P+=Y?this.emitLoopBodyWithGuard(Z,Y):this.emitLoopBody(Z),P}}let D=`for (let ${J} of ${this.emit($,"value")}) `;return D+=Y?this.emitLoopBodyWithGuard(Z,Y):this.emitLoopBody(Z),D}emitForOf(f,U,_,W){let[u,$,F,Y,Z]=U;if(_==="value"&&this.comprehensionDepth===0){let J=["for-of",u,$,F];return this.emit(["comprehension",Z,[J],Y?[Y]:[]],_)}let[G,Q]=Array.isArray(u)?u:[u],z=this.emit($,"value"),A=`for (let ${G} in ${z}) `;if(F&&!Q&&!Y){if(this.is(Z,"block")){this.indentLevel++;let J=[`if (!Object.hasOwn(${z}, ${G})) continue;`,...Z.slice(1).map((K)=>this.addSemicolon(K,this.emit(K,"statement")))];return this.indentLevel--,A+`{
1668
1668
  ${J.map((K)=>this.indent()+K).join(`
1669
1669
  `)}
1670
- ${this.indent()}}`}return A+`{ if (!Object.hasOwn(${z}, ${G})) continue; ${this.emit(Z,"statement")}; }`}if(Q){if(this.is(Z,"block")){let K=Z.slice(1);this.indentLevel++;let D=[];if(F)D.push(`if (!Object.hasOwn(${z}, ${G})) continue;`);if(D.push(`${Q} = ${z}[${G}];`),Y)D.push(`if (${this.emit(Y,"value")}) {`),this.indentLevel++,D.push(...K.map((w)=>this.addSemicolon(w,this.emit(w,"statement")))),this.indentLevel--,D.push(this.indent()+"}");else D.push(...K.map((w)=>this.addSemicolon(w,this.emit(w,"statement"))));return this.indentLevel--,A+`{
1670
+ ${this.indent()}}`}return A+`{ if (!Object.hasOwn(${z}, ${G})) continue; ${this.emit(Z,"statement")}; }`}if(Q){if(this.is(Z,"block")){let K=Z.slice(1);this.indentLevel++;let D=[];if(F)D.push(`if (!Object.hasOwn(${z}, ${G})) continue;`);if(D.push(`let ${Q} = ${z}[${G}];`),Y)D.push(`if (${this.emit(Y,"value")}) {`),this.indentLevel++,D.push(...K.map((w)=>this.addSemicolon(w,this.emit(w,"statement")))),this.indentLevel--,D.push(this.indent()+"}");else D.push(...K.map((w)=>this.addSemicolon(w,this.emit(w,"statement"))));return this.indentLevel--,A+`{
1671
1671
  ${D.map((w)=>this.indent()+w).join(`
1672
1672
  `)}
1673
- ${this.indent()}}`}let J="";if(F)J+=`if (!Object.hasOwn(${z}, ${G})) continue; `;if(J+=`${Q} = ${z}[${G}]; `,Y)J+=`if (${this.emit(Y,"value")}) `;return J+=`${this.emit(Z,"statement")};`,A+`{ ${J} }`}return A+=Y?this.emitLoopBodyWithGuard(Z,Y):this.emitLoopBody(Z),A}emitForAs(f,U,_,W){let u=Array.isArray(U[0])?U[0]:[U[0]],[$]=u,F=U[1],Y=U[2],Z=U[3],G=U[4],Q=!1,z=[];if(this.is($,"array")){let w=$.slice(1),X=w.findIndex((H)=>this.is(H,"...")||H==="...");if(X!==-1&&X<w.length-1){Q=!0;let H=w.slice(X+1),q=H.length,B=w.slice(0,X),R=w[X],S=this.is(R,"...")?R[1]:"_rest",O=B.map((I)=>I===","?"":typeof I==="string"?I:this.emit(I,"value")).join(", "),P=O?`${O}, ...${S}`:`...${S}`,M=H.map((I)=>I===","?"":typeof I==="string"?I:this.emit(I,"value")).join(", ");z.push(`[${P}] = _item`),z.push(`[${M}] = ${S}.splice(-${q})`),this.helpers.add("slice"),w.forEach((I)=>{if(I===","||I==="...")return;if(typeof I==="string")this.programVars.add(I);else if(this.is(I,"...")&&typeof I[1]==="string")this.programVars.add(I[1])})}}let A=this.emit(F,"value"),J=Y?"await ":"",K;if(Q)K="_item";else if(this.is($,"array")||this.is($,"object"))K=this.emitDestructuringPattern($);else K=$;let D=`for ${J}(${K} of ${A}) `;if(Q&&z.length>0){let w=this.unwrapBlock(G),X=this.withIndent(()=>[...z.map((H)=>this.indent()+H+";"),...this.formatStatements(w)]);D+=`{
1673
+ ${this.indent()}}`}let J="";if(F)J+=`if (!Object.hasOwn(${z}, ${G})) continue; `;if(J+=`let ${Q} = ${z}[${G}]; `,Y)J+=`if (${this.emit(Y,"value")}) `;return J+=`${this.emit(Z,"statement")};`,A+`{ ${J} }`}return A+=Y?this.emitLoopBodyWithGuard(Z,Y):this.emitLoopBody(Z),A}emitForAs(f,U,_,W){let u=Array.isArray(U[0])?U[0]:[U[0]],[$]=u,F=U[1],Y=U[2],Z=U[3],G=U[4],Q=!1,z=[];if(this.is($,"array")){let w=$.slice(1),X=w.findIndex((R)=>this.is(R,"...")||R==="...");if(X!==-1&&X<w.length-1){Q=!0;let R=w.slice(X+1),H=R.length,B=w.slice(0,X),O=w[X],I=this.is(O,"...")?O[1]:"_rest",q=B.map((S)=>S===","?"":typeof S==="string"?S:this.emit(S,"value")).join(", "),P=q?`${q}, ...${I}`:`...${I}`,M=R.map((S)=>S===","?"":typeof S==="string"?S:this.emit(S,"value")).join(", ");z.push(`[${P}] = _item`),z.push(`[${M}] = ${I}.splice(-${H})`),this.helpers.add("slice"),w.forEach((S)=>{if(S===","||S==="...")return;if(typeof S==="string")this.programVars.add(S);else if(this.is(S,"...")&&typeof S[1]==="string")this.programVars.add(S[1])})}}let A=this.emit(F,"value"),J=Y?"await ":"",K;if(Q)K="_item";else if(this.is($,"array")||this.is($,"object"))K=this.emitDestructuringPattern($);else K=$;let D=`for ${J}(let ${K} of ${A}) `;if(Q&&z.length>0){let w=this.unwrapBlock(G),X=this.withIndent(()=>[...z.map((R)=>this.indent()+R+";"),...this.formatStatements(w)]);D+=`{
1674
1674
  ${X.join(`
1675
1675
  `)}
1676
- ${this.indent()}}`}else D+=Z?this.emitLoopBodyWithGuard(G,Z):this.emitLoopBody(G);return D}emitWhile(f,U){let _=U[0],W=U.length===3?U[1]:null,u=U[U.length-1];return`while (${this.unwrap(this.emit(_,"value"))}) `+(W?this.emitLoopBodyWithGuard(u,W):this.emitLoopBody(u))}emitRange(f,U){if(f==="..."){if(U.length===1)return`...${this.emit(U[0],"value")}`;let[F,Y]=U,Z=this.emit(F,"value"),G=this.emit(Y,"value");return`((s, e) => Array.from({length: Math.max(0, Math.abs(e - s))}, (_, i) => s + (i * (s <= e ? 1 : -1))))(${Z}, ${G})`}let[_,W]=U,u=this.emit(_,"value"),$=this.emit(W,"value");return`((s, e) => Array.from({length: Math.abs(e - s) + 1}, (_, i) => s + (i * (s <= e ? 1 : -1))))(${u}, ${$})`}emitNot(f,U){let[_]=U;if(typeof _==="string"||_ instanceof String)return`!${this.emit(_,"value")}`;if(Array.isArray(_)){if([".","?.","[]","optindex","optcall"].includes(_[0]))return`!${this.emit(_,"value")}`}let W=this.emit(_,"value");return W.startsWith("(")?`!${W}`:`(!${W})`}emitBitwiseNot(f,U){return`(~${this.emit(U[0],"value")})`}emitIncDec(f,U){let[_,W]=U,u=this.emit(_,"value");return W?`(${u}${f})`:`(${f}${u})`}emitTypeof(f,U){return`typeof ${this.emit(U[0],"value")}`}emitDelete(f,U){return`(delete ${this.emit(U[0],"value")})`}emitInstanceof(f,U,_,W){let[u,$]=U,F=W1(W[0],"invert"),Y=`(${this.emit(u,"value")} instanceof ${this.emit($,"value")})`;return F?`(!${Y})`:Y}emitIn(f,U,_,W){let[u,$]=U,F=this.emit(u,"value"),Y=W1(W[0],"invert");if(this.is($,"object")){let Q=`(${F} in ${this.emit($,"value")})`;return Y?`(!${Q})`:Q}let Z=this.emit($,"value"),G=`(Array.isArray(${Z}) || typeof ${Z} === 'string' ? ${Z}.includes(${F}) : (${F} in ${Z}))`;return Y?`(!${G})`:G}emitOf(f,U,_,W){let[u,$]=U,F=this.emit(u,"value"),Y=this.emit($,"value"),Z=W1(W[0],"invert"),G=`(${F} in ${Y})`;return Z?`(!${G})`:G}emitRegexMatch(f,U){let[_,W]=U;this.helpers.add("toMatchable"),this.programVars.add("_");let u=this.emit(W,"value"),$=u.includes("/m")?", true":"";return`(_ = toMatchable(${this.emit(_,"value")}${$}).match(${u}))`}emitNew(f,U){let[_]=U;if(this.is(_,".")||this.is(_,"?.")){let[W,u,$]=_;if(Array.isArray(u)&&!u[0].startsWith)return`(${this.emit(["new",u],"value")}).${$}`;return`new ${this.emit(u,"value")}.${$}`}if(Array.isArray(_)){let[W,...u]=_;return`new ${this.emit(W,"value")}(${u.map(($)=>this.unwrap(this.emit($,"value"))).join(", ")})`}return`new ${this.emit(_,"value")}()`}emitLogicalAnd(f,U,_,W){let u=this.flattenBinaryChain(W).slice(1);if(u.length===0)return"true";if(u.length===1)return this.emit(u[0],"value");return`(${u.map(($)=>this.emit($,"value")).join(" && ")})`}emitLogicalOr(f,U,_,W){let u=this.flattenBinaryChain(W).slice(1);if(u.length===0)return"true";if(u.length===1)return this.emit(u[0],"value");return`(${u.map(($)=>this.emit($,"value")).join(" || ")})`}emitSymbol(f,U){return`Symbol.for(${JSON.stringify(U[0])})`}emitArray(f,U){let _=U.length>0&&U[U.length-1]===",",W=U.map((u)=>{if(u===",")return"";if(u==="...")return"";if(this.is(u,"..."))return`...${this.emit(u[1],"value")}`;return this.emit(u,"value")}).join(", ");return _?`[${W},]`:`[${W}]`}emitObject(f,U,_){if(U.length===1&&Array.isArray(U[0])&&Array.isArray(U[0][2])&&U[0][2][0]==="comprehension"){let[,u,$]=U[0],[,F,Y,Z]=$;return this.emit(["object-comprehension",u,F,Y,Z],_)}return`{${U.map((u)=>{if(this.is(u,"..."))return`...${this.emit(u[1],"value")}`;let[$,F,Y]=u,Z;if(this.is(F,"dynamicKey"))Z=`[${this.emit(F[1],"value")}]`;else if(this.is(F,"str"))Z=`[${this.emit(F,"value")}]`;else this.suppressReactiveUnwrap=!0,Z=this.emit(F,"value"),this.suppressReactiveUnwrap=!1;let G=this.emit(Y,"value");if($==="=")return`${Z} = ${G}`;if($===":")return`${Z}: ${G}`;if(Z===G&&!Array.isArray(F))return Z;return`${Z}: ${G}`}).join(", ")}}`}emitMap(f,U,_){if(U.length===0)return"new Map()";return`new Map([${U.map((u)=>{if(this.is(u,"..."))return`...${this.emit(u[1],"value")}`;let[,$,F]=u,Y;if(Array.isArray($))Y=this.emit($,"value");else{let G=k($)??$;Y=!G.startsWith('"')&&!G.startsWith("'")&&!G.startsWith("/")&&!Y1.NUMBER_START_RE.test(G)&&!n5.has(G)?`"${G}"`:this.emit($,"value")}let Z=this.emit(F,"value");return`[${Y}, ${Z}]`}).join(", ")}])`}emitBlock(f,U,_){if(_==="statement")return`{
1676
+ ${this.indent()}}`}else D+=Z?this.emitLoopBodyWithGuard(G,Z):this.emitLoopBody(G);return D}emitWhile(f,U){let _=U[0],W=U.length===3?U[1]:null,u=U[U.length-1];return`while (${this.unwrap(this.emit(_,"value"))}) `+(W?this.emitLoopBodyWithGuard(u,W):this.emitLoopBody(u))}emitRange(f,U){if(f==="..."){if(U.length===1)return`...${this.emit(U[0],"value")}`;let[F,Y]=U,Z=this.emit(F,"value"),G=this.emit(Y,"value");return`((s, e) => Array.from({length: Math.max(0, Math.abs(e - s))}, (_, i) => s + (i * (s <= e ? 1 : -1))))(${Z}, ${G})`}let[_,W]=U,u=this.emit(_,"value"),$=this.emit(W,"value");return`((s, e) => Array.from({length: Math.abs(e - s) + 1}, (_, i) => s + (i * (s <= e ? 1 : -1))))(${u}, ${$})`}emitNot(f,U){let[_]=U;if(typeof _==="string"||_ instanceof String)return`!${this.emit(_,"value")}`;if(Array.isArray(_)){if([".","?.","[]","optindex","optcall"].includes(_[0]))return`!${this.emit(_,"value")}`}let W=this.emit(_,"value");return W.startsWith("(")?`!${W}`:`(!${W})`}emitBitwiseNot(f,U){return`(~${this.emit(U[0],"value")})`}emitIncDec(f,U){let[_,W]=U,u=this.emit(_,"value");return W?`(${u}${f})`:`(${f}${u})`}emitTypeof(f,U){return`typeof ${this.emit(U[0],"value")}`}emitDelete(f,U){return`(delete ${this.emit(U[0],"value")})`}emitInstanceof(f,U,_,W){let[u,$]=U,F=W1(W[0],"invert"),Y=`(${this.emit(u,"value")} instanceof ${this.emit($,"value")})`;return F?`(!${Y})`:Y}emitIn(f,U,_,W){let[u,$]=U,F=this.emit(u,"value"),Y=W1(W[0],"invert");if(this.is($,"object")){let Q=`(${F} in ${this.emit($,"value")})`;return Y?`(!${Q})`:Q}let Z=this.emit($,"value"),G=`(Array.isArray(${Z}) || typeof ${Z} === 'string' ? ${Z}.includes(${F}) : (${F} in ${Z}))`;return Y?`(!${G})`:G}emitOf(f,U,_,W){let[u,$]=U,F=this.emit(u,"value"),Y=this.emit($,"value"),Z=W1(W[0],"invert"),G=`(${F} in ${Y})`;return Z?`(!${G})`:G}emitRegexMatch(f,U){let[_,W]=U;this.helpers.add("toMatchable"),this.programVars.add("_");let u=this.emit(W,"value"),$=u.includes("/m")?", true":"";return`(_ = toMatchable(${this.emit(_,"value")}${$}).match(${u}))`}emitNew(f,U){let[_]=U;if(this.is(_,".")||this.is(_,"?.")){let[W,u,$]=_;if(Array.isArray(u)&&!u[0].startsWith)return`(${this.emit(["new",u],"value")}).${$}`;return`new ${this.emit(u,"value")}.${$}`}if(Array.isArray(_)){let[W,...u]=_;return`new ${this.emit(W,"value")}(${u.map(($)=>this.unwrap(this.emit($,"value"))).join(", ")})`}return`new ${this.emit(_,"value")}()`}emitLogicalAnd(f,U,_,W){let u=this.flattenBinaryChain(W).slice(1);if(u.length===0)return"true";if(u.length===1)return this.emit(u[0],"value");return`(${u.map(($)=>this.emit($,"value")).join(" && ")})`}emitLogicalOr(f,U,_,W){let u=this.flattenBinaryChain(W).slice(1);if(u.length===0)return"true";if(u.length===1)return this.emit(u[0],"value");return`(${u.map(($)=>this.emit($,"value")).join(" || ")})`}emitSymbol(f,U){return`Symbol.for(${JSON.stringify(U[0])})`}emitArray(f,U){let _=U.length>0&&U[U.length-1]===",",W=U.map((u)=>{if(u===",")return"";if(u==="...")return"";if(this.is(u,"..."))return`...${this.emit(u[1],"value")}`;return this.emit(u,"value")}).join(", ");return _?`[${W},]`:`[${W}]`}emitObject(f,U,_){if(U.length===1&&Array.isArray(U[0])&&Array.isArray(U[0][2])&&U[0][2][0]==="comprehension"){let[,u,$]=U[0],[,F,Y,Z]=$;return this.emit(["object-comprehension",u,F,Y,Z],_)}return`{${U.map((u)=>{if(this.is(u,"..."))return`...${this.emit(u[1],"value")}`;let[$,F,Y]=u,Z;if(this.is(F,"dynamicKey"))Z=`[${this.emit(F[1],"value")}]`;else if(this.is(F,"str"))Z=`[${this.emit(F,"value")}]`;else this.suppressReactiveUnwrap=!0,Z=this.emit(F,"value"),this.suppressReactiveUnwrap=!1;let G=this.emit(Y,"value");if($==="=")return`${Z} = ${G}`;if($===":")return`${Z}: ${G}`;if(Z===G&&!Array.isArray(F))return Z;return`${Z}: ${G}`}).join(", ")}}`}emitMap(f,U,_){if(U.length===0)return"new Map()";return`new Map([${U.map((u)=>{if(this.is(u,"..."))return`...${this.emit(u[1],"value")}`;let[,$,F]=u,Y;if(Array.isArray($))Y=this.emit($,"value");else{let G=i($)??$;Y=!G.startsWith('"')&&!G.startsWith("'")&&!G.startsWith("/")&&!Y1.NUMBER_START_RE.test(G)&&!n5.has(G)?`"${G}"`:this.emit($,"value")}let Z=this.emit(F,"value");return`[${Y}, ${Z}]`}).join(", ")}])`}emitBlock(f,U,_){if(_==="statement")return`{
1677
1677
  ${this.withIndent(()=>this.formatStatements(U)).join(`
1678
1678
  `)}
1679
1679
  ${this.indent()}}`;if(U.length===0)return"undefined";if(U.length===1)return this.emit(U[0],_);let W=U[U.length-1];if(Array.isArray(W)&&["break","continue","return","throw"].includes(W[0])){let $=U.map((F)=>this.addSemicolon(F,this.emit(F,"statement")));return`{
@@ -1681,16 +1681,16 @@ ${this.withIndent(()=>$.map((F)=>this.indent()+F).join(`
1681
1681
  `))}
1682
1682
  ${this.indent()}}`}return`(${U.map(($)=>this.emit($,"value")).join(", ")})`}emitTry(f,U,_){let W=_==="value",u="try ",$=U[0];if(u+=W&&this.is($,"block")?this.emitBlockWithReturns($):this.emit($,"statement"),U.length>=2&&Array.isArray(U[1])&&U[1].length===2&&U[1][0]!=="block"){let[F,Y]=U[1];if(u+=" catch",F&&(this.is(F,"object")||this.is(F,"array"))){u+=" (error)";let Z=`(${this.emit(F,"value")} = error)`;Y=this.is(Y,"block")?["block",Z,...Y.slice(1)]:["block",Z,Y]}else if(F)u+=` (${F})`;u+=" "+(W&&this.is(Y,"block")?this.emitBlockWithReturns(Y):this.emit(Y,"statement"))}else if(U.length===2)u+=" finally "+this.emit(U[1],"statement");if(U.length===3)u+=" finally "+this.emit(U[2],"statement");if(U.length===1)u+=" catch {}";if(W){let F=this.containsAwait(U[0])||U[1]&&this.containsAwait(U[1])||U[2]&&this.containsAwait(U[2]);return this.asyncIIFE(F,u)}return u}emitThrow(f,U,_){let[W]=U;if(Array.isArray(W)){let $=W,F=null;if(W[0]==="new"&&Array.isArray(W[1])&&W[1][0]==="if")F="new",$=W[1];else if(W[0]==="if")$=W;if($[0]==="if"){let[,Y,Z]=$,G=Array.isArray(Z)&&Z.length===1?Z[0]:Z;W=F==="new"?["new",G]:G;let Q=this.emit(Y,"value"),z=`throw ${this.emit(W,"value")}`;return`if (${Q}) {
1683
1683
  ${this.indent()} ${z};
1684
- ${this.indent()}}`}}let u=`throw ${this.emit(W,"value")}`;return _==="value"?`(() => { ${u}; })()`:u}emitControl(f,U,_){let[W,u,$]=U,F=k(W),Y=$[0]==="return",Z=this.emit(u,"value"),G=$.length>1?$[1]:null,Q=Y?G?`return ${this.emit(G,"value")}`:"return":G?`throw ${this.emit(G,"value")}`:"throw new Error()",z=this.wrapForCondition(Z);if(_==="value"){if(F==="??")return`(() => { const __v = ${Z}; if (__v == null) ${Q}; return __v; })()`;if(F==="||")return`(() => { const __v = ${Z}; if (!__v) ${Q}; return __v; })()`;return`(() => { const __v = ${Z}; if (__v) ${Q}; return __v; })()`}if(F==="??")return`if (${z} == null) ${Q}`;if(F==="||")return`if (!${z}) ${Q}`;return`if (${z}) ${Q}`}emitSwitch(f,U,_){let[W,u,$]=U;if(W===null)return this.emitSwitchAsIfChain(u,$,_);let F=`switch (${this.emit(W,"value")}) {
1685
- `;this.indentLevel++;for(let Y of u){let[,Z,G]=Y;for(let Q of Z){let z=k(Q)??Q,A;if(Array.isArray(z))A=this.emit(z,"value");else if(typeof z==="string"&&(z.startsWith('"')||z.startsWith("'")))A=`'${z.slice(1,-1)}'`;else A=this.emit(z,"value");F+=this.indent()+`case ${A}:
1684
+ ${this.indent()}}`}}let u=`throw ${this.emit(W,"value")}`;return _==="value"?`(() => { ${u}; })()`:u}emitControl(f,U,_){let[W,u,$]=U,F=i(W),Y=$[0]==="return",Z=this.emit(u,"value"),G=$.length>1?$[1]:null,Q=Y?G?`return ${this.emit(G,"value")}`:"return":G?`throw ${this.emit(G,"value")}`:"throw new Error()",z=this.wrapForCondition(Z);if(_==="value"){if(F==="??")return`(() => { const __v = ${Z}; if (__v == null) ${Q}; return __v; })()`;if(F==="||")return`(() => { const __v = ${Z}; if (!__v) ${Q}; return __v; })()`;return`(() => { const __v = ${Z}; if (__v) ${Q}; return __v; })()`}if(F==="??")return`if (${z} == null) ${Q}`;if(F==="||")return`if (!${z}) ${Q}`;return`if (${z}) ${Q}`}emitSwitch(f,U,_){let[W,u,$]=U;if(W===null)return this.emitSwitchAsIfChain(u,$,_);let F=`switch (${this.emit(W,"value")}) {
1685
+ `;this.indentLevel++;for(let Y of u){let[,Z,G]=Y;for(let Q of Z){let z=i(Q)??Q,A;if(Array.isArray(z))A=this.emit(z,"value");else if(typeof z==="string"&&(z.startsWith('"')||z.startsWith("'")))A=`'${z.slice(1,-1)}'`;else A=this.emit(z,"value");F+=this.indent()+`case ${A}:
1686
1686
  `}this.indentLevel++,F+=this.emitSwitchCaseBody(G,_),this.indentLevel--}if($)F+=this.indent()+`default:
1687
- `,this.indentLevel++,F+=this.emitSwitchCaseBody($,_),this.indentLevel--;if(this.indentLevel--,F+=this.indent()+"}",_==="value"){let Y=this.containsAwait(W)||u.some((Z)=>this.containsAwait(Z[1])||this.containsAwait(Z[2]))||$&&this.containsAwait($);return this.asyncIIFE(Y,F)}return F}emitWhen(f,U,_,W){this.error("when clause should be handled by switch",W)}_forInHeader(f,U,_){let W=Array.isArray(f)?f:[f],u=W.length===0,[$,F]=u?["_i",null]:W,Y=this.is($,"array")||this.is($,"object")?this.emitDestructuringPattern($):$;if(_&&_!==null){let G=Array.isArray(U)&&U[0];if(G instanceof String)G=k(G);if(G===".."||G==="..."){let q=G==="...",[B,R]=U.slice(1),S=this.emit(B,"value"),O=this.emit(R,"value"),P=this.emit(_,"value");return{header:`for (let ${Y} = ${S}; ${Y} ${q?"<":"<="} ${O}; ${Y} += ${P})`,setup:null}}let z=this.emit(U,"value"),A=F||"_i",J=this.emit(_,"value"),K=this.is(_,"-",1),D=K&&(_[1]==="1"||_[1]===1||k(_[1])==="1"),w=!K&&(_==="1"||_===1||k(_)==="1"),X=D?`${A}--`:w?`${A}++`:`${A} += ${J}`;return{header:K?`for (let ${A} = ${z}.length - 1; ${A} >= 0; ${X})`:`for (let ${A} = 0; ${A} < ${z}.length; ${X})`,setup:u?null:`${Y} = ${z}[${A}];`}}if(F){let G=this.emit(U,"value");return{header:`for (let ${F} = 0; ${F} < ${G}.length; ${F}++)`,setup:`${Y} = ${G}[${F}];`}}return{header:`for (${u?"let ":""}${Y} of ${this.emit(U,"value")})`,setup:null}}_forOfHeader(f,U,_){let W=Array.isArray(f)?f:[f],[u,$]=W,F=this.is(u,"array")||this.is(u,"object")?this.emitDestructuringPattern(u):u,Y=this.emit(U,"value");return{header:`for (${F} in ${Y})`,own:_,vv:$,oc:Y,kvp:F}}_forAsHeader(f,U,_){let W=Array.isArray(f)?f:[f],[u]=W,$=this.is(u,"array")||this.is(u,"object")?this.emitDestructuringPattern(u):u;return{header:`for ${_?"await ":""}(${$} of ${this.emit(U,"value")})`}}emitComprehension(f,U,_){let[W,u,$]=U;if(_==="statement")return this.emitComprehensionAsLoop(W,u,$);if(this.comprehensionTarget)return this.emitComprehensionWithTarget(W,u,$,this.comprehensionTarget);let F=this.containsAwait(W)||u.some((Q)=>this.containsAwait(Q))||$.some((Q)=>this.containsAwait(Q)),Y=this.asyncIIFEOpen(F)+`
1687
+ `,this.indentLevel++,F+=this.emitSwitchCaseBody($,_),this.indentLevel--;if(this.indentLevel--,F+=this.indent()+"}",_==="value"){let Y=this.containsAwait(W)||u.some((Z)=>this.containsAwait(Z[1])||this.containsAwait(Z[2]))||$&&this.containsAwait($);return this.asyncIIFE(Y,F)}return F}emitWhen(f,U,_,W){this.error("when clause should be handled by switch",W)}_forInHeader(f,U,_){let W=Array.isArray(f)?f:[f],u=W.length===0,[$,F]=u?["_i",null]:W,Y=this.is($,"array")||this.is($,"object")?this.emitDestructuringPattern($):$;if(_&&_!==null){let Z=Array.isArray(U)&&U[0];if(Z instanceof String)Z=i(Z);if(Z===".."||Z==="..."){let R=Z==="...",[H,B]=U.slice(1),O=this.emit(H,"value"),I=this.emit(B,"value"),q=this.emit(_,"value");return{header:`for (let ${Y} = ${O}; ${Y} ${R?"<":"<="} ${I}; ${Y} += ${q})`,setup:null}}let Q=this.emit(U,"value"),z=F||"_i",A=this.emit(_,"value"),J=this.is(_,"-",1),K=J&&(_[1]==="1"||_[1]===1||i(_[1])==="1"),D=!J&&(_==="1"||_===1||i(_)==="1"),w=K?`${z}--`:D?`${z}++`:`${z} += ${A}`;return{header:J?`for (let ${z} = ${Q}.length - 1; ${z} >= 0; ${w})`:`for (let ${z} = 0; ${z} < ${Q}.length; ${w})`,setup:u?null:`let ${Y} = ${Q}[${z}];`}}if(F){let Z=this.emit(U,"value");return{header:`for (let ${F} = 0; ${F} < ${Z}.length; ${F}++)`,setup:`let ${Y} = ${Z}[${F}];`}}return{header:`for (let ${Y} of ${this.emit(U,"value")})`,setup:null}}_forOfHeader(f,U,_){let W=Array.isArray(f)?f:[f],[u,$]=W,F=this.is(u,"array")||this.is(u,"object")?this.emitDestructuringPattern(u):u,Y=this.emit(U,"value");return{header:`for (let ${F} in ${Y})`,own:_,vv:$,oc:Y,kvp:F}}_forAsHeader(f,U,_){let W=Array.isArray(f)?f:[f],[u]=W,$=this.is(u,"array")||this.is(u,"object")?this.emitDestructuringPattern(u):u;return{header:`for ${_?"await ":""}(let ${$} of ${this.emit(U,"value")})`}}emitComprehension(f,U,_){let[W,u,$]=U;if(_==="statement")return this.emitComprehensionAsLoop(W,u,$);if(this.comprehensionTarget)return this.emitComprehensionWithTarget(W,u,$,this.comprehensionTarget);let F=this.containsAwait(W)||u.some((Q)=>this.containsAwait(Q))||$.some((Q)=>this.containsAwait(Q)),Y=this.asyncIIFEOpen(F)+`
1688
1688
  `;this.indentLevel++,this.comprehensionDepth++,Y+=this.indent()+`const result = [];
1689
1689
  `;for(let Q of u){let[z,A,J,K]=Q;if(z==="for-in"){let{header:D,setup:w}=this._forInHeader(A,J,K);if(Y+=this.indent()+D+` {
1690
1690
  `,this.indentLevel++,w)Y+=this.indent()+w+`
1691
- `}else if(z==="for-of"){let{header:D,own:w,vv:X,oc:H,kvp:q}=this._forOfHeader(A,J,K);if(Y+=this.indent()+D+` {
1692
- `,this.indentLevel++,w)Y+=this.indent()+`if (!Object.hasOwn(${H}, ${q})) continue;
1693
- `;if(X)Y+=this.indent()+`${X} = ${H}[${q}];
1691
+ `}else if(z==="for-of"){let{header:D,own:w,vv:X,oc:R,kvp:H}=this._forOfHeader(A,J,K);if(Y+=this.indent()+D+` {
1692
+ `,this.indentLevel++,w)Y+=this.indent()+`if (!Object.hasOwn(${R}, ${H})) continue;
1693
+ `;if(X)Y+=this.indent()+`let ${X} = ${R}[${H}];
1694
1694
  `}else if(z==="for-as"){let{header:D}=this._forAsHeader(A,J,Q[3]);Y+=this.indent()+D+` {
1695
1695
  `,this.indentLevel++}}for(let Q of $)Y+=this.indent()+`if (${this.emit(Q,"value")}) {
1696
1696
  `,this.indentLevel++;let Z=(Q)=>{if(typeof Q==="string"&&(Q==="break"||Q==="continue"))return!0;if(!Array.isArray(Q))return!1;if(["break","continue","return","throw"].includes(Q[0]))return!0;if(Q[0]==="if")return Q.slice(1).some(Z);return Q.some(Z)},G=["for-in","for-of","for-as","while","loop"];if(this.is(W,"block"))for(let Q=0;Q<W.length-1;Q++){let z=W[Q+1];if(Q!==W.length-2||Z(z))Y+=this.indent()+this.emit(z,"statement")+`;
@@ -1704,9 +1704,9 @@ ${this.indent()}}`}}let u=`throw ${this.emit(W,"value")}`;return _==="value"?`((
1704
1704
  `;return Y+=this.indent()+`return result;
1705
1705
  `,this.indentLevel--,this.comprehensionDepth--,Y+=this.indent()+"})()",Y}emitObjectComprehension(f,U,_){let[W,u,$,F]=U,Y=this.containsAwait(W)||this.containsAwait(u)||$.some((G)=>this.containsAwait(G))||F.some((G)=>this.containsAwait(G)),Z=this.asyncIIFEOpen(Y)+`
1706
1706
  `;this.indentLevel++,Z+=this.indent()+`const result = {};
1707
- `;for(let G of $){let[Q,z,A,J]=G;if(Q==="for-of"){let[K,D]=z,w=this.emit(A,"value");if(Z+=this.indent()+`for (${K} in ${w}) {
1707
+ `;for(let G of $){let[Q,z,A,J]=G;if(Q==="for-of"){let[K,D]=z,w=this.emit(A,"value");if(Z+=this.indent()+`for (let ${K} in ${w}) {
1708
1708
  `,this.indentLevel++,J)Z+=this.indent()+`if (!Object.hasOwn(${w}, ${K})) continue;
1709
- `;if(D)Z+=this.indent()+`${D} = ${w}[${K}];
1709
+ `;if(D)Z+=this.indent()+`let ${D} = ${w}[${K}];
1710
1710
  `}}for(let G of F)Z+=this.indent()+`if (${this.emit(G,"value")}) {
1711
1711
  `,this.indentLevel++;Z+=this.indent()+`result[${this.emit(W,"value")}] = ${this.emit(u,"value")};
1712
1712
  `;for(let G=0;G<F.length;G++)this.indentLevel--,Z+=this.indent()+`}
@@ -1718,26 +1718,26 @@ ${this.indent()}}`}}let u=`throw ${this.emit(W,"value")}`;return _==="value"?`((
1718
1718
  `}else F+=this.indent()+this.emit(z,"statement")+`;
1719
1719
  `;this.indentLevel--}else{this.indentLevel++;for(let Q of Z)if(this.is(Q,"=")&&Array.isArray(Q[1])&&Q[1][0]==="."&&Q[1][1]==="this")F+=this.indent()+`static ${Q[1][2]} = ${this.emit(Q[2],"value")};
1720
1720
  `;else F+=this.indent()+this.emit(Q,"statement")+`;
1721
- `;this.indentLevel--}}}return F+=this.indent()+"}",F}_emitClassMembers(f,U){let _="",W=[];for(let[,u,$]of f){let F=this.is(u,".")&&u[1]==="this",Y=this.is(u,"computed"),Z=this.extractMemberName(u);if(this.is($,"=>")&&!F&&!Y&&Z!=="constructor")W.push(Z)}for(let[,u,$]of f){let F=this.is(u,".")&&u[1]==="this",Y=this.is(u,"computed"),Z=this.extractMemberName(u);if(this.is($,"->")||this.is($,"=>")){let[,G,Q]=$,z=this.containsAwait(Q),A=this.containsYield(Q),J=G,K=[];if(Z==="constructor"){let X=!!U,H=X?new Map:null;J=G.map((q)=>{if(this.is(q,".")&&q[1]==="this"){let B=q[2],R=X?`_${B}`:B;if(K.push(`this.${B} = ${R}`),X)H.set(B,R);return R}if(this.is(q,"default")&&this.is(q[1],".")&&q[1][1]==="this"){let B=q[1][2],R=X?`_${B}`:B;if(K.push(`this.${B} = ${R}`),X)H.set(B,R);return["default",R,q[2]]}return q});for(let q of W)K.unshift(`this.${q} = this.${q}.bind(this)`);if(H?.size>0)this._atParamMap=H}let D=this.emitParamList(J),w=(F?"static ":"")+(z?"async ":"")+(A?"*":"");if(_+=this.indent()+`${w}${Z}(${D}) `,!Y)this.currentMethodName=Z;_+=this.emitMethodBody(Q,K,Z==="constructor",J),this._atParamMap=null,this.currentMethodName=null,_+=`
1721
+ `;this.indentLevel--}}}return F+=this.indent()+"}",F}_emitClassMembers(f,U){let _="",W=[];for(let[,u,$]of f){let F=this.is(u,".")&&u[1]==="this",Y=this.is(u,"computed"),Z=this.extractMemberName(u);if(this.is($,"=>")&&!F&&!Y&&Z!=="constructor")W.push(Z)}for(let[,u,$]of f){let F=this.is(u,".")&&u[1]==="this",Y=this.is(u,"computed"),Z=this.extractMemberName(u);if(this.is($,"->")||this.is($,"=>")){let[,G,Q]=$,z=this.containsAwait(Q),A=this.containsYield(Q),J=G,K=[];if(Z==="constructor"){let X=!!U,R=X?new Map:null;J=G.map((H)=>{if(this.is(H,".")&&H[1]==="this"){let B=H[2],O=X?`_${B}`:B;if(K.push(`this.${B} = ${O}`),X)R.set(B,O);return O}if(this.is(H,"default")&&this.is(H[1],".")&&H[1][1]==="this"){let B=H[1][2],O=X?`_${B}`:B;if(K.push(`this.${B} = ${O}`),X)R.set(B,O);return["default",O,H[2]]}return H});for(let H of W)K.unshift(`this.${H} = this.${H}.bind(this)`);if(R?.size>0)this._atParamMap=R}let D=this.emitParamList(J),w=(F?"static ":"")+(z?"async ":"")+(A?"*":"");if(_+=this.indent()+`${w}${Z}(${D}) `,!Y)this.currentMethodName=Z;_+=this.emitMethodBody(Q,K,Z==="constructor",J),this._atParamMap=null,this.currentMethodName=null,_+=`
1722
1722
  `}else if(F)_+=this.indent()+`static ${Z} = ${this.emit($,"value")};
1723
1723
  `;else _+=this.indent()+`${Z} = ${this.emit($,"value")};
1724
- `}return _}emitSuper(f,U){if(U.length===0){if(this.currentMethodName&&this.currentMethodName!=="constructor")return`super.${this.currentMethodName}()`;return"super"}let _=U.map((W)=>this.unwrap(this.emit(W,"value"))).join(", ");if(this.currentMethodName&&this.currentMethodName!=="constructor")return`super.${this.currentMethodName}(${_})`;return`super(${_})`}emitImport(f,U,_,W){if(U.length===1){let Y=`import(${this.emit(U[0],"value")})`;if(W1(W[0],"await")===!0)return`(await ${Y})`;return Y}if(this.options.skipImports)return"";if(U.length===3){let[Y,Z,G]=U,Q=this.addJsExtensionAndAssertions(G);if(Z[0]==="*"&&Z.length===2)return`import ${Y}, * as ${Z[1]} from ${Q}`;let z=Z.map((A)=>Array.isArray(A)&&A.length===2?`${A[0]} as ${A[1]}`:A).join(", ");return`import ${Y}, { ${z} } from ${Q}`}let[u,$]=U,F=this.addJsExtensionAndAssertions($);if(typeof u==="string")return`import ${u} from ${F}`;if(Array.isArray(u)){if(u[0]==="*"&&u.length===2)return`import * as ${u[1]} from ${F}`;return`import { ${u.map((Z)=>Array.isArray(Z)&&Z.length===2?`${Z[0]} as ${Z[1]}`:Z).join(", ")} } from ${F}`}return`import ${this.emit(u,"value")} from ${F}`}emitExport(f,U){let[_]=U;if(this.options.skipExports){if(this.is(_,"=")){let W=this._componentName,u=this._componentTypeParams,$=this._schemaName;if(this.is(_[2],"component"))this._componentName=k(_[1]),this._componentTypeParams=_[1]?.typeParams||"";if(this.is(_[2],"schema"))this._schemaName=k(_[1]);let F=`const ${_[1]} = ${this.emit(_[2],"value")}`;return this._componentName=W,this._componentTypeParams=u,this._schemaName=$,F}if(Array.isArray(_)&&_.every((W)=>typeof W==="string"))return"";return this.emit(_,"statement")}if(this.is(_,"=")){let W=this._componentName,u=this._componentTypeParams,$=this._schemaName;if(this.is(_[2],"component"))this._componentName=k(_[1]),this._componentTypeParams=_[1]?.typeParams||"";if(this.is(_[2],"schema"))this._schemaName=k(_[1]);let F=`export const ${_[1]} = ${this.emit(_[2],"value")}`;return this._componentName=W,this._componentTypeParams=u,this._schemaName=$,F}if(Array.isArray(_)&&_.every((W)=>typeof W==="string"))return`export { ${_.join(", ")} }`;return`export ${this.emit(_,"statement")}`}emitExportDefault(f,U){let[_]=U;if(this.options.skipExports){if(this.is(_,"="))return`const ${_[1]} = ${this.emit(_[2],"value")}`;return this.emit(_,"statement")}if(this.is(_,"="))return`const ${_[1]} = ${this.emit(_[2],"value")};
1725
- export default ${_[1]}`;return`export default ${this.emit(_,"statement")}`}emitExportAll(f,U){if(this.options.skipExports)return"";return`export * from ${this.addJsExtensionAndAssertions(U[0])}`}emitExportFrom(f,U){if(this.options.skipExports)return"";let[_,W]=U,u=this.addJsExtensionAndAssertions(W);if(Array.isArray(_))return`export { ${_.map((F)=>Array.isArray(F)&&F.length===2?`${F[0]} as ${F[1]}`:F).join(", ")} } from ${u}`;return`export ${_} from ${u}`}emitDoIIFE(f,U){return`(${this.emit(U[0],"statement")})()`}emitRegex(f,U){return U.length===0?f:this.emit(U[0],"value")}emitTaggedTemplate(f,U){let[_,W]=U,u=this.emit(_,"value"),$=this.emit(W,"value");if($.startsWith("`"))return`${u}${$}`;if($.startsWith('"')||$.startsWith("'"))return`${u}\`${$.slice(1,-1)}\``;return`${u}\`${$}\``}emitString(f,U){let _="`";for(let W of U)if(W instanceof String)_+=this.extractStringContent(W);else if(typeof W==="string")if(W.startsWith('"')||W.startsWith("'")){if(this.options.debug)console.warn("[Rip] Unexpected quoted primitive in str:",W);_+=W.slice(1,-1)}else _+=W;else if(Array.isArray(W))if(W.length===1&&typeof W[0]==="string"&&!Array.isArray(W[0])){let u=W[0];_+=/^[\d"']/.test(u)?"${"+this.emit(u,"value")+"}":"${"+u+"}"}else{let u=W.length===1&&Array.isArray(W[0])?W[0]:W;_+="${"+this.emit(u,"value")+"}"}return _+"`"}findPostfixConditional(f){if(!Array.isArray(f))return null;let U=f[0];if(U==="if"&&f.length===3)return{type:U,condition:f[1],value:f[2]};if(U==="+"||U==="-"||U==="*"||U==="/")for(let _=1;_<f.length;_++){let W=this.findPostfixConditional(f[_]);if(W)return W.parentOp=U,W.operandIndex=_,W.otherOperands=f.slice(1).filter((u,$)=>$!==_-1),W}return null}rebuildWithoutConditional(f){let U=Array.isArray(f.value)&&f.value.length===1?f.value[0]:f.value;if(f.parentOp)return[f.parentOp,...f.otherOperands,U];return U}_tryPostfixCall(f,U,_){if(_!=="statement"||U.length!==1)return null;let W=this.findPostfixConditional(U[0]);if(!W)return null;let u=this.rebuildWithoutConditional(W),$=this.emit(f,"value"),F=this.emit(W.condition,"value"),Y=this.emit(u,"value");return`if (${F}) ${$}(${Y})`}_emitArgs(f){return f.map((U)=>this.unwrap(this.emit(U,"value"))).join(", ")}emitDestructuringPattern(f){return this.formatParam(f)}emitParamList(f){let U=f.findIndex((W)=>this.is(W,"expansion"));if(U!==-1){let W=f.slice(0,U),u=f.slice(U+1),$=W.map((F)=>this.formatParam(F)).join(", ");return this.expansionAfterParams=u,$?`${$}, ..._rest`:"..._rest"}let _=f.findIndex((W)=>this.is(W,"rest"));if(_!==-1&&_<f.length-1){let W=f.slice(0,_),u=f[_],$=f.slice(_+1),F=W.map((Y)=>this.formatParam(Y));return this.restMiddleParam={restName:u[1],afterParams:$,beforeCount:W.length},F.length>0?`${F.join(", ")}, ...${u[1]}`:`...${u[1]}`}return this.expansionAfterParams=null,this.restMiddleParam=null,f.map((W)=>this.formatParam(W)).join(", ")}formatParam(f){if(typeof f==="string")return f;if(f instanceof String)return f.valueOf();if(this.is(f,"rest"))return`...${f[1]}`;if(this.is(f,"default"))return`${this.formatParam(f[1])} = ${this.emit(f[2],"value")}`;if(this.is(f,".")&&f[1]==="this")return f[2];if(this.is(f,"array"))return`[${f.slice(1).map((_)=>{if(_===",")return"";if(_==="...")return"";if(this.is(_,"..."))return`...${_[1]}`;if(this.is(_,"=")&&typeof _[1]==="string")return`${_[1]} = ${this.emit(_[2],"value")}`;if(typeof _==="string")return _;return this.formatParam(_)}).join(", ")}]`;if(this.is(f,"object"))return`{${f.slice(1).map((_)=>{if(this.is(_,"..."))return`...${_[1]}`;if(this.is(_,"default"))return`${_[1]} = ${this.emit(_[2],"value")}`;let[W,u,$]=_;if(W==="=")return`${u} = ${this.emit($,"value")}`;if(u===$)return u;return`${u}: ${this.formatParam($)}`}).join(", ")}}`;return JSON.stringify(f)}emitBodyWithReturns(f,U=[],_={}){let{sideEffectOnly:W=!1,autoAssignments:u=[],isConstructor:$=!1,hasExpansionParams:F=!1}=_,Y=this.sideEffectOnly;this.sideEffectOnly=W;let Z=new Set,G=(D)=>{if(typeof D==="string")Z.add(D);else if(Array.isArray(D)){if(D[0]==="rest"||D[0]==="..."){if(typeof D[1]==="string")Z.add(D[1])}else if(D[0]==="default"){if(typeof D[1]==="string")Z.add(D[1])}else if(D[0]==="array"||D[0]==="object")this.collectVarsFromArray(D,Z)}};if(Array.isArray(U))U.forEach(G);let Q=this.collectFunctionVariables(f),z=new Set([...Q].filter((D)=>!this.programVars.has(D)&&!this.reactiveVars?.has(D)&&!Z.has(D)&&!this.scopeStack.some((w)=>w.has(D)))),A=["return","throw","break","continue"],J=["for-in","for-of","for-as","while","loop"];if(this.scopeStack.push(new Set([...z,...Z])),this.is(f,"block")){let D=this.unwrapBlock(f);if(F&&this.expansionAfterParams?.length>0)D=[...this.expansionAfterParams.map((B,R)=>{return`const ${typeof B==="string"?B:JSON.stringify(B)} = _rest[_rest.length - ${this.expansionAfterParams.length-R}]`}),...D],this.expansionAfterParams=null;if(this.restMiddleParam){let{restName:q,afterParams:B}=this.restMiddleParam,R=B.length,S=[];if(B.forEach((O,P)=>{let M=typeof O==="string"?O:this.is(O,"default")?O[1]:JSON.stringify(O);S.push(`const ${M} = ${q}[${q}.length - ${R-P}]`)}),R>0)S.push(`${q} = ${q}.slice(0, -${R})`);D=[...S,...D],this.restMiddleParam=null}this.indentLevel++;let w=`{
1724
+ `}return _}emitSuper(f,U){if(U.length===0){if(this.currentMethodName&&this.currentMethodName!=="constructor")return`super.${this.currentMethodName}()`;return"super"}let _=U.map((W)=>this.unwrap(this.emit(W,"value"))).join(", ");if(this.currentMethodName&&this.currentMethodName!=="constructor")return`super.${this.currentMethodName}(${_})`;return`super(${_})`}emitImport(f,U,_,W){if(U.length===1){let Y=`import(${this.emit(U[0],"value")})`;if(W1(W[0],"await")===!0)return`(await ${Y})`;return Y}if(this.options.skipImports)return"";if(U.length===3){let[Y,Z,G]=U,Q=this.addJsExtensionAndAssertions(G);if(Z[0]==="*"&&Z.length===2)return`import ${Y}, * as ${Z[1]} from ${Q}`;let z=Z.map((A)=>Array.isArray(A)&&A.length===2?`${A[0]} as ${A[1]}`:A).join(", ");return`import ${Y}, { ${z} } from ${Q}`}let[u,$]=U,F=this.addJsExtensionAndAssertions($);if(typeof u==="string")return`import ${u} from ${F}`;if(Array.isArray(u)){if(u[0]==="*"&&u.length===2)return`import * as ${u[1]} from ${F}`;return`import { ${u.map((Z)=>Array.isArray(Z)&&Z.length===2?`${Z[0]} as ${Z[1]}`:Z).join(", ")} } from ${F}`}return`import ${this.emit(u,"value")} from ${F}`}emitExport(f,U){let[_]=U;if(this.options.skipExports){if(this.is(_,"=")){let W=this._componentName,u=this._componentTypeParams,$=this._schemaName;if(this.is(_[2],"component"))this._componentName=i(_[1]),this._componentTypeParams=_[1]?.typeParams||"";if(this.is(_[2],"schema"))this._schemaName=i(_[1]);let F=`const ${_[1]} = ${this.emit(_[2],"value")}`;return this._componentName=W,this._componentTypeParams=u,this._schemaName=$,F}if(Array.isArray(_)&&_.every((W)=>typeof W==="string"))return"";return this.emit(_,"statement")}if(this.is(_,"=")){let W=this._componentName,u=this._componentTypeParams,$=this._schemaName;if(this.is(_[2],"component"))this._componentName=i(_[1]),this._componentTypeParams=_[1]?.typeParams||"";if(this.is(_[2],"schema"))this._schemaName=i(_[1]);let F=`export const ${_[1]} = ${this.emit(_[2],"value")}`;return this._componentName=W,this._componentTypeParams=u,this._schemaName=$,F}if(Array.isArray(_)&&_.every((W)=>typeof W==="string"))return`export { ${_.join(", ")} }`;return`export ${this.emit(_,"statement")}`}emitExportDefault(f,U){let[_]=U;if(this.options.skipExports){if(this.is(_,"="))return`const ${_[1]} = ${this.emit(_[2],"value")}`;return this.emit(_,"statement")}if(this.is(_,"="))return`const ${_[1]} = ${this.emit(_[2],"value")};
1725
+ export default ${_[1]}`;return`export default ${this.emit(_,"statement")}`}emitExportAll(f,U){if(this.options.skipExports)return"";return`export * from ${this.addJsExtensionAndAssertions(U[0])}`}emitExportFrom(f,U){if(this.options.skipExports)return"";let[_,W]=U,u=this.addJsExtensionAndAssertions(W);if(Array.isArray(_))return`export { ${_.map((F)=>Array.isArray(F)&&F.length===2?`${F[0]} as ${F[1]}`:F).join(", ")} } from ${u}`;return`export ${_} from ${u}`}emitDoIIFE(f,U){return`(${this.emit(U[0],"statement")})()`}emitRegex(f,U){return U.length===0?f:this.emit(U[0],"value")}emitTaggedTemplate(f,U){let[_,W]=U,u=this.emit(_,"value"),$=this.emit(W,"value");if($.startsWith("`"))return`${u}${$}`;if($.startsWith('"')||$.startsWith("'"))return`${u}\`${$.slice(1,-1)}\``;return`${u}\`${$}\``}emitString(f,U){let _="`";for(let W of U)if(W instanceof String)_+=this.extractStringContent(W);else if(typeof W==="string")if(W.startsWith('"')||W.startsWith("'")){if(this.options.debug)console.warn("[Rip] Unexpected quoted primitive in str:",W);_+=W.slice(1,-1)}else _+=W;else if(Array.isArray(W))if(W.length===1&&typeof W[0]==="string"&&!Array.isArray(W[0])){let u=W[0];_+=/^[\d"']/.test(u)?"${"+this.emit(u,"value")+"}":"${"+u+"}"}else{let u=W.length===1&&Array.isArray(W[0])?W[0]:W;_+="${"+this.emit(u,"value")+"}"}return _+"`"}findPostfixConditional(f){if(!Array.isArray(f))return null;let U=f[0];if(U==="if"&&f.length===3)return{type:U,condition:f[1],value:f[2]};if(U==="+"||U==="-"||U==="*"||U==="/")for(let _=1;_<f.length;_++){let W=this.findPostfixConditional(f[_]);if(W)return W.parentOp=U,W.operandIndex=_,W.otherOperands=f.slice(1).filter((u,$)=>$!==_-1),W}return null}rebuildWithoutConditional(f){let U=Array.isArray(f.value)&&f.value.length===1?f.value[0]:f.value;if(f.parentOp)return[f.parentOp,...f.otherOperands,U];return U}_tryPostfixCall(f,U,_){if(_!=="statement"||U.length!==1)return null;let W=this.findPostfixConditional(U[0]);if(!W)return null;let u=this.rebuildWithoutConditional(W),$=this.emit(f,"value"),F=this.emit(W.condition,"value"),Y=this.emit(u,"value");return`if (${F}) ${$}(${Y})`}_emitArgs(f){return f.map((U)=>this.unwrap(this.emit(U,"value"))).join(", ")}emitDestructuringPattern(f){return this.formatParam(f)}emitParamList(f){let U=f.findIndex((W)=>this.is(W,"expansion"));if(U!==-1){let W=f.slice(0,U),u=f.slice(U+1),$=W.map((F)=>this.formatParam(F)).join(", ");return this.expansionAfterParams=u,$?`${$}, ..._rest`:"..._rest"}let _=f.findIndex((W)=>this.is(W,"rest"));if(_!==-1&&_<f.length-1){let W=f.slice(0,_),u=f[_],$=f.slice(_+1),F=W.map((Y)=>this.formatParam(Y));return this.restMiddleParam={restName:u[1],afterParams:$,beforeCount:W.length},F.length>0?`${F.join(", ")}, ...${u[1]}`:`...${u[1]}`}return this.expansionAfterParams=null,this.restMiddleParam=null,f.map((W)=>this.formatParam(W)).join(", ")}formatParam(f){if(typeof f==="string")return f;if(f instanceof String)return f.valueOf();if(this.is(f,"rest"))return`...${f[1]}`;if(this.is(f,"default"))return`${this.formatParam(f[1])} = ${this.emit(f[2],"value")}`;if(this.is(f,".")&&f[1]==="this")return f[2];if(this.is(f,"array"))return`[${f.slice(1).map((_)=>{if(_===",")return"";if(_==="...")return"";if(this.is(_,"..."))return`...${_[1]}`;if(this.is(_,"=")&&typeof _[1]==="string")return`${_[1]} = ${this.emit(_[2],"value")}`;if(typeof _==="string")return _;return this.formatParam(_)}).join(", ")}]`;if(this.is(f,"object"))return`{${f.slice(1).map((_)=>{if(this.is(_,"..."))return`...${_[1]}`;if(this.is(_,"default"))return`${_[1]} = ${this.emit(_[2],"value")}`;let[W,u,$]=_;if(W==="=")return`${u} = ${this.emit($,"value")}`;if(u===$)return u;return`${u}: ${this.formatParam($)}`}).join(", ")}}`;return JSON.stringify(f)}emitBodyWithReturns(f,U=[],_={}){let{sideEffectOnly:W=!1,autoAssignments:u=[],isConstructor:$=!1,hasExpansionParams:F=!1}=_,Y=this.sideEffectOnly;this.sideEffectOnly=W;let Z=new Set,G=(D)=>{if(typeof D==="string")Z.add(D);else if(Array.isArray(D)){if(D[0]==="rest"||D[0]==="..."){if(typeof D[1]==="string")Z.add(D[1])}else if(D[0]==="default"){if(typeof D[1]==="string")Z.add(D[1])}else if(D[0]==="array"||D[0]==="object")this.collectVarsFromArray(D,Z)}};if(Array.isArray(U))U.forEach(G);let Q=this.collectFunctionVariables(f),z=new Set([...Q].filter((D)=>!this.programVars.has(D)&&!this.reactiveVars?.has(D)&&!Z.has(D)&&!this.scopeStack.some((w)=>w.has(D)))),A=["return","throw","break","continue"],J=["for-in","for-of","for-as","while","loop"];if(this.scopeStack.push(new Set([...z,...Z])),this.is(f,"block")){let D=this.unwrapBlock(f);if(F&&this.expansionAfterParams?.length>0)D=[...this.expansionAfterParams.map((B,O)=>{return`const ${typeof B==="string"?B:JSON.stringify(B)} = _rest[_rest.length - ${this.expansionAfterParams.length-O}]`}),...D],this.expansionAfterParams=null;if(this.restMiddleParam){let{restName:H,afterParams:B}=this.restMiddleParam,O=B.length,I=[];if(B.forEach((q,P)=>{let M=typeof q==="string"?q:this.is(q,"default")?q[1]:JSON.stringify(q);I.push(`const ${M} = ${H}[${H}.length - ${O-P}]`)}),O>0)I.push(`${H} = ${H}.slice(0, -${O})`);D=[...I,...D],this.restMiddleParam=null}this.indentLevel++;let w=`{
1726
1726
  `;if(z.size>0)w+=this.indent()+`let ${Array.from(z).sort().join(", ")};
1727
- `;let X=u.length>0&&D.length>0&&Array.isArray(D[0])&&D[0][0]==="super",H=(q)=>{q.forEach((B,R)=>{let S=R===q.length-1,O=Array.isArray(B)?B[0]:null;if(!S&&O==="comprehension"){let[,L,V,N]=B;w+=this.indent()+this.emitComprehensionAsLoop(L,V,N)+`
1728
- `;return}if(!$&&!W&&S&&O==="if"){let[L,V,...N]=B.slice(1),C=(l)=>this.is(l,"block")&&l.length>2;if(this.hasStatementInBranch(V)||N.some((l)=>this.hasStatementInBranch(l))||C(V)||N.some(C)){w+=this.emitIfElseWithEarlyReturns(B)+`
1729
- `;return}}if(!$&&!W&&S&&O==="="){let[L,V]=B.slice(1);if(typeof L==="string"&&Array.isArray(V)){let N=V[0];if(N==="comprehension"||N==="for-in"){this.comprehensionTarget=L,w+=this.emit(V,"value"),this.comprehensionTarget=null,w+=this.indent()+`return ${L};
1730
- `;return}}}if(!$&&!W&&S&&J.includes(O)){if(this.containsYield(B)){w+=this.indent()+this.addSemicolon(B,this.emit(B,"statement"))+`
1727
+ `;let X=u.length>0&&D.length>0&&Array.isArray(D[0])&&D[0][0]==="super",R=(H)=>{H.forEach((B,O)=>{let I=O===H.length-1,q=Array.isArray(B)?B[0]:null;if(!I&&q==="comprehension"){let[,L,C,N]=B;w+=this.indent()+this.emitComprehensionAsLoop(L,C,N)+`
1728
+ `;return}if(!$&&!W&&I&&q==="if"){let[L,C,...N]=B.slice(1),V=(m)=>this.is(m,"block")&&m.length>2;if(this.hasStatementInBranch(C)||N.some((m)=>this.hasStatementInBranch(m))||V(C)||N.some(V)){w+=this.emitIfElseWithEarlyReturns(B)+`
1729
+ `;return}}if(!$&&!W&&I&&q==="="){let[L,C]=B.slice(1);if(typeof L==="string"&&Array.isArray(C)){let N=C[0];if(N==="comprehension"||N==="for-in"){this.comprehensionTarget=L,w+=this.emit(C,"value"),this.comprehensionTarget=null,w+=this.indent()+`return ${L};
1730
+ `;return}}}if(!$&&!W&&I&&J.includes(q)){if(this.containsYield(B)){w+=this.indent()+this.addSemicolon(B,this.emit(B,"statement"))+`
1731
1731
  `;return}w+=this.indent()+`const _result = [];
1732
1732
  `,this.comprehensionTarget="_result";let L=this._skipCompTargetInit;this._skipCompTargetInit=!0,w+=this.emit(B,"value"),this._skipCompTargetInit=L,this.comprehensionTarget=null,w+=this.indent()+`return _result;
1733
- `;return}let P=!$&&!W&&S&&!A.includes(O)&&!this.hasExplicitControlFlow(B),M=P?"value":"statement",I=this.emit(B,M);if(P)w+=this.indent()+"return "+I+`;
1734
- `;else w+=this.indent()+this.addSemicolon(B,I)+`
1733
+ `;return}let P=!$&&!W&&I&&!A.includes(q)&&!this.hasExplicitControlFlow(B),M=P?"value":"statement",S=this.emit(B,M);if(P)w+=this.indent()+"return "+S+`;
1734
+ `;else w+=this.indent()+this.addSemicolon(B,S)+`
1735
1735
  `})};if(X){if(D.length===1&&!$)w+=this.indent()+"return "+this.emit(D[0],"value")+`;
1736
1736
  `;else w+=this.indent()+this.emit(D[0],"statement")+`;
1737
1737
  `;for(let B of u)w+=this.indent()+B+`;
1738
- `;H(D.slice(1))}else{for(let q of u)w+=this.indent()+q+`;
1739
- `;H(D)}if(W&&D.length>0){let q=Array.isArray(D[D.length-1])?D[D.length-1][0]:null;if(!A.includes(q))w+=this.indent()+`return;
1740
- `}return this.indentLevel--,w+=this.indent()+"}",this.scopeStack.pop(),this.sideEffectOnly=Y,w}this.sideEffectOnly=Y;let K;if($&&u.length>0){let D=Array.isArray(f)&&f[0]==="super",w=this.emit(f,"statement"),X=u.map((H)=>`${H};`).join(" ");K=D?`{ ${w}; ${X} }`:`{ ${X} ${w}; }`}else if($||this.hasExplicitControlFlow(f))K=`{ ${this.emit(f,"statement")}; }`;else if(Array.isArray(f)&&(A.includes(f[0])||J.includes(f[0])))K=`{ ${this.emit(f,"statement")}; }`;else if(W)K=`{ ${this.emit(f,"statement")}; return; }`;else K=`{ return ${this.emit(f,"value")}; }`;return this.scopeStack.pop(),K}emitFunctionBody(f,U=[],_=!1){return this.emitBodyWithReturns(f,U,{sideEffectOnly:_,hasExpansionParams:this.expansionAfterParams?.length>0})}emitMethodBody(f,U=[],_=!1,W=[]){return this.emitBodyWithReturns(f,W,{autoAssignments:U,isConstructor:_})}emitBlockWithReturns(f){if(!Array.isArray(f)||f[0]!=="block")return this.emit(f,"statement");let U=this.unwrapBlock(f);return`{
1738
+ `;R(D.slice(1))}else{for(let H of u)w+=this.indent()+H+`;
1739
+ `;R(D)}if(W&&D.length>0){let H=Array.isArray(D[D.length-1])?D[D.length-1][0]:null;if(!A.includes(H))w+=this.indent()+`return;
1740
+ `}return this.indentLevel--,w+=this.indent()+"}",this.scopeStack.pop(),this.sideEffectOnly=Y,w}this.sideEffectOnly=Y;let K;if($&&u.length>0){let D=Array.isArray(f)&&f[0]==="super",w=this.emit(f,"statement"),X=u.map((R)=>`${R};`).join(" ");K=D?`{ ${w}; ${X} }`:`{ ${X} ${w}; }`}else if($||this.hasExplicitControlFlow(f))K=`{ ${this.emit(f,"statement")}; }`;else if(Array.isArray(f)&&(A.includes(f[0])||J.includes(f[0])))K=`{ ${this.emit(f,"statement")}; }`;else if(W)K=`{ ${this.emit(f,"statement")}; return; }`;else K=`{ return ${this.emit(f,"value")}; }`;return this.scopeStack.pop(),K}emitFunctionBody(f,U=[],_=!1){return this.emitBodyWithReturns(f,U,{sideEffectOnly:_,hasExpansionParams:this.expansionAfterParams?.length>0})}emitMethodBody(f,U=[],_=!1,W=[]){return this.emitBodyWithReturns(f,W,{autoAssignments:U,isConstructor:_})}emitBlockWithReturns(f){if(!Array.isArray(f)||f[0]!=="block")return this.emit(f,"statement");let U=this.unwrapBlock(f);return`{
1741
1741
  ${this.withIndent(()=>U.map((W,u)=>{let $=u===U.length-1,F=Array.isArray(W)?W[0]:null,Y=$&&!["return","throw","break","continue"].includes(F),Z=this.emit(W,Y?"value":"statement");return Y?this.indent()+"return "+Z+";":this.indent()+Z+";"})).join(`
1742
1742
  `)}
1743
1743
  ${this.indent()}}`}emitLoopBody(f){if(!Array.isArray(f))return`{ ${this.emit(f,"statement")}; }`;if(f[0]==="block"||Array.isArray(f[0])){let U=f[0]==="block"?f.slice(1):f;return`{
@@ -1760,7 +1760,7 @@ ${this.indent()}}`}return`{ if (${this.emit(U,"value")}) ${this.emit(f,"statemen
1760
1760
  `;return this.indentLevel--,u+=this.indent()+`}
1761
1761
  `,u}if(Y==="for-of"){let{header:z,own:A,vv:J,oc:K,kvp:D}=this._forOfHeader(Z,G,Q);if(u+=this.indent()+z+` {
1762
1762
  `,this.indentLevel++,A)u+=this.indent()+`if (!Object.hasOwn(${K}, ${D})) continue;
1763
- `;if(J)u+=this.indent()+`${J} = ${K}[${D}];
1763
+ `;if(J)u+=this.indent()+`let ${J} = ${K}[${D}];
1764
1764
  `;if(_?.length>0)u+=this.indent()+`if (${_.map((w)=>this.emit(w,"value")).join(" && ")}) {
1765
1765
  `,this.indentLevel++;if(F(),_?.length>0)this.indentLevel--,u+=this.indent()+`}
1766
1766
  `;return this.indentLevel--,u+=this.indent()+`}
@@ -1778,14 +1778,14 @@ ${this.indent()}}`}return`{ if (${this.emit(U,"value")}) ${this.emit(f,"statemen
1778
1778
  `;return $(),this.indentLevel--,W+=this.indent()+"}",W}if(F==="for-as"){let{header:Q}=this._forAsHeader(Y,Z,G);return W+=Q+` {
1779
1779
  `,this.indentLevel++,$(),this.indentLevel--,W+=this.indent()+"}",W}if(F==="for-of"){let{header:Q,own:z,vv:A,oc:J,kvp:K}=this._forOfHeader(Y,Z,G);if(W+=Q+` {
1780
1780
  `,this.indentLevel++,z)W+=this.indent()+`if (!Object.hasOwn(${J}, ${K})) continue;
1781
- `;if(A)W+=this.indent()+`${A} = ${J}[${K}];
1781
+ `;if(A)W+=this.indent()+`let ${A} = ${J}[${K}];
1782
1782
  `;return $(),this.indentLevel--,W+=this.indent()+"}",W}}return this.emit(["comprehension",f,U,_],"value")}emitIfElseWithEarlyReturns(f){let[U,_,W,...u]=f,$="",F=this.emit(_,"value");$+=this.indent()+`if (${F}) {
1783
1783
  `,$+=this.withIndent(()=>this.emitBranchWithReturn(W)),$+=this.indent()+"}";for(let Y of u)if($+=" else ",this.is(Y,"if")){let[,Z,G,...Q]=Y;$+=`if (${this.emit(Z,"value")}) {
1784
1784
  `,$+=this.withIndent(()=>this.emitBranchWithReturn(G)),$+=this.indent()+"}";for(let z of Q)$+=` else {
1785
1785
  `,$+=this.withIndent(()=>this.emitBranchWithReturn(z)),$+=this.indent()+"}"}else $+=`{
1786
1786
  `,$+=this.withIndent(()=>this.emitBranchWithReturn(Y)),$+=this.indent()+"}";return $}emitBranchWithReturn(f){f=this.unwrapIfBranch(f);let U=this.unwrapBlock(f),_="";for(let W=0;W<U.length;W++){let u=W===U.length-1,$=U[W],F=Array.isArray($)?$[0]:null;if(u&&!(F==="return"||F==="throw"||F==="break"||F==="continue"))_+=this.indent()+`return ${this.emit($,"value")};
1787
1787
  `;else _+=this.indent()+this.emit($,"statement")+`;
1788
- `}return _}emitIfAsExpression(f,U,_){if(this.is(U,"block")&&U.length>2||this.hasStatementInBranch(U)||_.some((Y)=>this.is(Y,"block")&&Y.length>2||this.hasStatementInBranch(Y)||this.hasNestedMultiStatement(Y))){let Y=this.containsAwait(f)||this.containsAwait(U)||_.some((G)=>this.containsAwait(G)),Z=this.asyncIIFEOpen(Y)+" ";Z+=`if (${this.emit(f,"value")}) `,Z+=this.emitBlockWithReturns(U);for(let G of _)if(Z+=" else ",this.is(G,"if")){let[Q,z,A,...J]=G;Z+=`if (${this.emit(z,"value")}) `,Z+=this.emitBlockWithReturns(A);for(let K of J)if(Z+=" else ",this.is(K,"if")){let[D,w,X,...H]=K;Z+=`if (${this.emit(w,"value")}) `,Z+=this.emitBlockWithReturns(X),_.push(...H)}else Z+=this.emitBlockWithReturns(K)}else Z+=this.emitBlockWithReturns(G);return Z+" })()"}let u=this.extractExpression(this.unwrapIfBranch(U)),$=this.buildTernaryChain(_),F=this.emit(f,"value");if(this.is(f,"yield")||this.is(f,"await"))F=`(${F})`;return`(${F} ? ${u} : ${$})`}emitIfAsStatement(f,U,_){let W=`if (${this.unwrap(this.emit(f,"value"))}) `;W+=this.emit(this.unwrapIfBranch(U),"statement");for(let u of _)W+=" else "+this.emit(this.unwrapIfBranch(u),"statement");return W}emitSwitchCaseBody(f,U){let _="",W=this.hasExplicitControlFlow(f),u=this.unwrapBlock(f);if(W)for(let $ of u)_+=this.indent()+this.emit($,"statement")+`;
1788
+ `}return _}emitIfAsExpression(f,U,_){if(this.is(U,"block")&&U.length>2||this.hasStatementInBranch(U)||_.some((Y)=>this.is(Y,"block")&&Y.length>2||this.hasStatementInBranch(Y)||this.hasNestedMultiStatement(Y))){let Y=this.containsAwait(f)||this.containsAwait(U)||_.some((G)=>this.containsAwait(G)),Z=this.asyncIIFEOpen(Y)+" ";Z+=`if (${this.emit(f,"value")}) `,Z+=this.emitBlockWithReturns(U);for(let G of _)if(Z+=" else ",this.is(G,"if")){let[Q,z,A,...J]=G;Z+=`if (${this.emit(z,"value")}) `,Z+=this.emitBlockWithReturns(A);for(let K of J)if(Z+=" else ",this.is(K,"if")){let[D,w,X,...R]=K;Z+=`if (${this.emit(w,"value")}) `,Z+=this.emitBlockWithReturns(X),_.push(...R)}else Z+=this.emitBlockWithReturns(K)}else Z+=this.emitBlockWithReturns(G);return Z+" })()"}let u=this.extractExpression(this.unwrapIfBranch(U)),$=this.buildTernaryChain(_),F=this.emit(f,"value");if(this.is(f,"yield")||this.is(f,"await"))F=`(${F})`;return`(${F} ? ${u} : ${$})`}emitIfAsStatement(f,U,_){let W=`if (${this.unwrap(this.emit(f,"value"))}) `;W+=this.emit(this.unwrapIfBranch(U),"statement");for(let u of _)W+=" else "+this.emit(this.unwrapIfBranch(u),"statement");return W}emitSwitchCaseBody(f,U){let _="",W=this.hasExplicitControlFlow(f),u=this.unwrapBlock(f);if(W)for(let $ of u)_+=this.indent()+this.emit($,"statement")+`;
1789
1789
  `;else if(U==="value")if(this.is(f,"block")&&f.length>2)for(let $=0;$<u.length;$++)if($===u.length-1)_+=this.indent()+`return ${this.emit(u[$],"value")};
1790
1790
  `;else _+=this.indent()+this.emit(u[$],"statement")+`;
1791
1791
  `;else _+=this.indent()+`return ${this.extractExpression(f)};
@@ -1799,11 +1799,11 @@ ${this.indent()}}`}return`{ if (${this.emit(U,"value")}) ${this.emit(f,"statemen
1799
1799
  `;this.indentLevel--,W+=this.indent()+"}"}if(U){if(W+=` else {
1800
1800
  `,this.indentLevel++,_==="value")W+=this.indent()+`return ${this.extractExpression(U)};
1801
1801
  `;else for(let u of this.unwrapBlock(U))W+=this.indent()+this.emit(u,"statement")+`;
1802
- `;this.indentLevel--,W+=this.indent()+"}"}if(_==="value"){let u=f.some(($)=>this.containsAwait($[1])||this.containsAwait($[2]))||U&&this.containsAwait(U);return this.asyncIIFE(u,W)}return W}asyncIIFE(f,U){return`${f?"await ":""}(${f?"async ":""}() => { ${U} })()`}asyncIIFEOpen(f){return`${f?"await ":""}(${f?"async ":""}() => {`}extractExpression(f){let U=this.unwrapBlock(f);return U.length>0?this.emit(U[U.length-1],"value"):"undefined"}unwrapBlock(f){if(!Array.isArray(f))return[f];if(f[0]==="block")return f.slice(1);if(Array.isArray(f[0])){if(typeof f[0][0]==="string")return[f];return f}return[f]}indent(){return this.indentString.repeat(this.indentLevel)}needsSemicolon(f,U){if(!U||U.endsWith(";"))return!1;if(!U.endsWith("}"))return!0;let _=Array.isArray(f)?f[0]:null;return!["def","class","if","for-in","for-of","for-as","while","loop","switch","try"].includes(_)}addSemicolon(f,U){return U+(this.needsSemicolon(f,U)?";":"")}formatStatements(f,U="statement"){return f.map((_)=>this.indent()+this.addSemicolon(_,this.emit(_,U)))}wrapForCondition(f){if(/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(f))return f;if(f.startsWith("(")&&f.endsWith(")"))return f;return`(${f})`}hasExplicitControlFlow(f){if(!Array.isArray(f))return!1;let U=f[0];if(U==="return"||U==="throw"||U==="break"||U==="continue")return!0;if(U==="block")return f.slice(1).some((_)=>Array.isArray(_)&&["return","throw","break","continue"].includes(_[0]));if(U==="switch"){let[,,_]=f;return _?.some((W)=>{return this.unwrapBlock(W[2]).some(($)=>Array.isArray($)&&["return","throw","break","continue"].includes($[0]))})}if(U==="if"){let[,,_,W]=f;return this.branchHasControlFlow(_)&&W&&this.branchHasControlFlow(W)}return!1}branchHasControlFlow(f){if(!Array.isArray(f))return!1;let U=this.unwrapBlock(f);if(U.length===0)return!1;let _=U[U.length-1];return Array.isArray(_)&&["return","throw","break","continue"].includes(_[0])}withIndent(f){this.indentLevel++;let U=f();return this.indentLevel--,U}is(f,U,_){if(!Array.isArray(f))return null;if((k(f[0])??f[0])!==U)return null;let W=f.slice(1);if(_!=null&&W.length!==_)return null;return W}unwrap(f){if(typeof f!=="string")return f;while(f.startsWith("(")&&f.endsWith(")")){let U=0,_=0,W=!0,u=!1;for(let $=0;$<f.length;$++){if(f[$]==="(")U++;if(f[$]===")")U--;if(f[$]==="["||f[$]==="{")_++;if(f[$]==="]"||f[$]==="}")_--;if(f[$]===","&&U===1&&_===0)u=!0;if(U===0&&$<f.length-1){W=!1;break}}if(u)W=!1;if(W)f=f.slice(1,-1);else break}return f}_findOptionalInTarget(f){if(!Array.isArray(f))return null;if(f[0]==="?.")return{guard:f[1],rewritten:[".",f[1],f[2]]};if(f[0]==="optindex")return{guard:f[1],rewritten:["[]",f[1],f[2]]};if(f[0]==="."||f[0]==="[]"){let U=this._findOptionalInTarget(f[1]);if(U)return{guard:U.guard,rewritten:[f[0],U.rewritten,f[2]]}}return null}unwrapLogical(f){if(typeof f!=="string")return f;while(f.startsWith("(")&&f.endsWith(")")){let U=0,_=1/0;for(let W=1;W<f.length-1;W++){if(f[W]==="(")U++;if(f[W]===")")U--;_=Math.min(_,U)}if(_>=0)f=f.slice(1,-1);else break}return f}unwrapIfBranch(f){if(Array.isArray(f)&&f.length===1&&(!Array.isArray(f[0])||f[0][0]!=="block"))return f[0];return f}flattenBinaryChain(f){if(!Array.isArray(f)||f.length<3)return f;let[U,..._]=f;if(U!=="&&"&&U!=="||")return f;let W=[],u=($)=>{if(Array.isArray($)&&$[0]===U)for(let F=1;F<$.length;F++)u($[F]);else W.push($)};for(let $ of _)u($);return[U,...W]}hasStatementInBranch(f){if(!Array.isArray(f))return!1;if(f.length===1&&Array.isArray(f[0]))return this.hasStatementInBranch(f[0]);let U=f[0];if(U==="return"||U==="throw"||U==="break"||U==="continue")return!0;if(U==="block")return f.slice(1).some((_)=>this.hasStatementInBranch(_));return!1}hasNestedMultiStatement(f){if(!Array.isArray(f))return!1;if(f[0]==="if"){let[U,_,W,...u]=f;return this.is(W,"block")&&W.length>2||u.some(($)=>this.hasNestedMultiStatement($))}return!1}buildTernaryChain(f){if(f.length===0)return"undefined";if(f.length===1)return this.extractExpression(this.unwrapIfBranch(f[0]));let U=f[0];if(this.is(U,"if")){let[_,W,u,...$]=U,F=this.extractExpression(this.unwrapIfBranch(u)),Y=this.buildTernaryChain([...$,...f.slice(1)]);return`(${this.emit(W,"value")} ? ${F} : ${Y})`}return this.extractExpression(this.unwrapIfBranch(U))}collectVarsFromArray(f,U){f.slice(1).forEach((_)=>{if(_===","||_==="...")return;if(typeof _==="string"){U.add(_);return}if(Array.isArray(_)){if(_[0]==="..."&&typeof _[1]==="string")U.add(_[1]);else if(_[0]==="="&&typeof _[1]==="string")U.add(_[1]);else if(_[0]==="array")this.collectVarsFromArray(_,U);else if(_[0]==="object")this.collectVarsFromObject(_,U)}})}collectVarsFromLoopHead(f,U){if(!Array.isArray(f))return;f.forEach((_)=>{if(_==null)return;if(typeof _==="string"){U.add(_);return}if(Array.isArray(_)){if(_[0]==="array")this.collectVarsFromArray(_,U);else if(_[0]==="object")this.collectVarsFromObject(_,U)}})}collectVarsFromObject(f,U){f.slice(1).forEach((_)=>{if(!Array.isArray(_))return;if(_[0]==="..."&&typeof _[1]==="string"){U.add(_[1]);return}if(_.length>=2){let[W,u,$]=_;if(W==="="){if(typeof u==="string")U.add(u)}else if(typeof $==="string")U.add($);else if(Array.isArray($)){if($[0]==="array")this.collectVarsFromArray($,U);else if($[0]==="object")this.collectVarsFromObject($,U)}}})}extractStringContent(f){let U=k(f).slice(1,-1),_=W1(f,"indent");if(_)U=U.replace(new RegExp(`\\n${_}`,"g"),`
1802
+ `;this.indentLevel--,W+=this.indent()+"}"}if(_==="value"){let u=f.some(($)=>this.containsAwait($[1])||this.containsAwait($[2]))||U&&this.containsAwait(U);return this.asyncIIFE(u,W)}return W}asyncIIFE(f,U){return`${f?"await ":""}(${f?"async ":""}() => { ${U} })()`}asyncIIFEOpen(f){return`${f?"await ":""}(${f?"async ":""}() => {`}extractExpression(f){let U=this.unwrapBlock(f);return U.length>0?this.emit(U[U.length-1],"value"):"undefined"}unwrapBlock(f){if(!Array.isArray(f))return[f];if(f[0]==="block")return f.slice(1);if(Array.isArray(f[0])){if(typeof f[0][0]==="string")return[f];return f}return[f]}indent(){return this.indentString.repeat(this.indentLevel)}needsSemicolon(f,U){if(!U||U.endsWith(";"))return!1;if(!U.endsWith("}"))return!0;let _=Array.isArray(f)?f[0]:null;return!["def","class","if","for-in","for-of","for-as","while","loop","switch","try"].includes(_)}addSemicolon(f,U){return U+(this.needsSemicolon(f,U)?";":"")}formatStatements(f,U="statement"){return f.map((_)=>this.indent()+this.addSemicolon(_,this.emit(_,U)))}wrapForCondition(f){if(/^[a-zA-Z_$][a-zA-Z0-9_$]*$/.test(f))return f;if(f.startsWith("(")&&f.endsWith(")"))return f;return`(${f})`}hasExplicitControlFlow(f){if(!Array.isArray(f))return!1;let U=f[0];if(U==="return"||U==="throw"||U==="break"||U==="continue")return!0;if(U==="block")return f.slice(1).some((_)=>Array.isArray(_)&&["return","throw","break","continue"].includes(_[0]));if(U==="switch"){let[,,_]=f;return _?.some((W)=>{return this.unwrapBlock(W[2]).some(($)=>Array.isArray($)&&["return","throw","break","continue"].includes($[0]))})}if(U==="if"){let[,,_,W]=f;return this.branchHasControlFlow(_)&&W&&this.branchHasControlFlow(W)}return!1}branchHasControlFlow(f){if(!Array.isArray(f))return!1;let U=this.unwrapBlock(f);if(U.length===0)return!1;let _=U[U.length-1];return Array.isArray(_)&&["return","throw","break","continue"].includes(_[0])}withIndent(f){this.indentLevel++;let U=f();return this.indentLevel--,U}is(f,U,_){if(!Array.isArray(f))return null;if((i(f[0])??f[0])!==U)return null;let W=f.slice(1);if(_!=null&&W.length!==_)return null;return W}unwrap(f){if(typeof f!=="string")return f;while(f.startsWith("(")&&f.endsWith(")")){let U=0,_=0,W=!0,u=!1;for(let $=0;$<f.length;$++){if(f[$]==="(")U++;if(f[$]===")")U--;if(f[$]==="["||f[$]==="{")_++;if(f[$]==="]"||f[$]==="}")_--;if(f[$]===","&&U===1&&_===0)u=!0;if(U===0&&$<f.length-1){W=!1;break}}if(u)W=!1;if(W)f=f.slice(1,-1);else break}return f}_findOptionalInTarget(f){if(!Array.isArray(f))return null;if(f[0]==="?.")return{guard:f[1],rewritten:[".",f[1],f[2]]};if(f[0]==="optindex")return{guard:f[1],rewritten:["[]",f[1],f[2]]};if(f[0]==="."||f[0]==="[]"){let U=this._findOptionalInTarget(f[1]);if(U)return{guard:U.guard,rewritten:[f[0],U.rewritten,f[2]]}}return null}unwrapLogical(f){if(typeof f!=="string")return f;while(f.startsWith("(")&&f.endsWith(")")){let U=0,_=1/0;for(let W=1;W<f.length-1;W++){if(f[W]==="(")U++;if(f[W]===")")U--;_=Math.min(_,U)}if(_>=0)f=f.slice(1,-1);else break}return f}unwrapIfBranch(f){if(Array.isArray(f)&&f.length===1&&(!Array.isArray(f[0])||f[0][0]!=="block"))return f[0];return f}flattenBinaryChain(f){if(!Array.isArray(f)||f.length<3)return f;let[U,..._]=f;if(U!=="&&"&&U!=="||")return f;let W=[],u=($)=>{if(Array.isArray($)&&$[0]===U)for(let F=1;F<$.length;F++)u($[F]);else W.push($)};for(let $ of _)u($);return[U,...W]}hasStatementInBranch(f){if(!Array.isArray(f))return!1;if(f.length===1&&Array.isArray(f[0]))return this.hasStatementInBranch(f[0]);let U=f[0];if(U==="return"||U==="throw"||U==="break"||U==="continue")return!0;if(U==="block")return f.slice(1).some((_)=>this.hasStatementInBranch(_));return!1}hasNestedMultiStatement(f){if(!Array.isArray(f))return!1;if(f[0]==="if"){let[U,_,W,...u]=f;return this.is(W,"block")&&W.length>2||u.some(($)=>this.hasNestedMultiStatement($))}return!1}buildTernaryChain(f){if(f.length===0)return"undefined";if(f.length===1)return this.extractExpression(this.unwrapIfBranch(f[0]));let U=f[0];if(this.is(U,"if")){let[_,W,u,...$]=U,F=this.extractExpression(this.unwrapIfBranch(u)),Y=this.buildTernaryChain([...$,...f.slice(1)]);return`(${this.emit(W,"value")} ? ${F} : ${Y})`}return this.extractExpression(this.unwrapIfBranch(U))}collectVarsFromArray(f,U){f.slice(1).forEach((_)=>{if(_===","||_==="...")return;if(typeof _==="string"){U.add(_);return}if(Array.isArray(_)){if(_[0]==="..."&&typeof _[1]==="string")U.add(_[1]);else if(_[0]==="="&&typeof _[1]==="string")U.add(_[1]);else if(_[0]==="array")this.collectVarsFromArray(_,U);else if(_[0]==="object")this.collectVarsFromObject(_,U)}})}collectVarsFromLoopHead(f,U){if(!Array.isArray(f))return;f.forEach((_)=>{if(_==null)return;if(typeof _==="string"){U.add(_);return}if(Array.isArray(_)){if(_[0]==="array")this.collectVarsFromArray(_,U);else if(_[0]==="object")this.collectVarsFromObject(_,U)}})}collectVarsFromObject(f,U){f.slice(1).forEach((_)=>{if(!Array.isArray(_))return;if(_[0]==="..."&&typeof _[1]==="string"){U.add(_[1]);return}if(_.length>=2){let[W,u,$]=_;if(W==="="){if(typeof u==="string")U.add(u)}else if(typeof $==="string")U.add($);else if(Array.isArray($)){if($[0]==="array")this.collectVarsFromArray($,U);else if($[0]==="object")this.collectVarsFromObject($,U)}}})}extractStringContent(f){let U=i(f).slice(1,-1),_=W1(f,"indent");if(_)U=U.replace(new RegExp(`\\n${_}`,"g"),`
1803
1803
  `);if(W1(f,"initialChunk")&&U.startsWith(`
1804
1804
  `))U=U.slice(1);if(W1(f,"finalChunk")&&U.endsWith(`
1805
1805
  `))U=U.slice(0,-1);return U}processHeregex(f){let U="",_=!1,W=0,u=()=>{let $=0,F=W-1;while(F>=0&&f[F]==="\\")$++,F--;return $%2===1};while(W<f.length){let $=f[W];if($==="["&&!u()){_=!0,U+=$,W++;continue}if($==="]"&&_&&!u()){_=!1,U+=$,W++;continue}if(_){U+=$,W++;continue}if(/\s/.test($)){W++;continue}if($==="#"){if(u()){U+=$,W++;continue}let F=W-1;while(F>=0&&f[F]==="\\")F--;if(F<W-1){U+=$,W++;continue}while(W<f.length&&f[W]!==`
1806
- `)W++;continue}U+=$,W++}return U}addJsExtensionAndAssertions(f){if(f instanceof String)f=k(f);if(typeof f!=="string")return f;let _=f.startsWith('"')||f.startsWith("'")?f.slice(1,-1):f,W=_.startsWith("./")||_.startsWith("../"),u=_,$="";if(W){let F=_.lastIndexOf("/"),Y=F>=0?_.substring(F+1):_;if(Y.includes(".")){if(Y.endsWith(".json"))$=" with { type: 'json' }"}else u=_+".js"}return`'${u}'`+$}containsIt(f){if(!f)return!1;if(f==="it"||f instanceof String&&k(f)==="it")return!0;if(typeof f!=="object")return!1;if(this.is(f,"def")||this.is(f,"->")||this.is(f,"=>"))return!1;if(Array.isArray(f))return f.some((U)=>this.containsIt(U));return!1}containsAwait(f){if(!f)return!1;if(f instanceof String&&W1(f,"await")===!0)return!0;if(typeof f!=="object")return!1;if(this.is(f,"await"))return!0;if(this.is(f,"for-as")&&f[3]===!0)return!0;if(this.is(f,"def")||this.is(f,"->")||this.is(f,"=>")||this.is(f,"class"))return!1;if(Array.isArray(f))return f.some((U)=>this.containsAwait(U));return!1}containsYield(f){if(!f)return!1;if(typeof f!=="object")return!1;if(this.is(f,"yield")||this.is(f,"yield-from"))return!0;if(this.is(f,"def")||this.is(f,"->")||this.is(f,"=>")||this.is(f,"class"))return!1;if(Array.isArray(f))return f.some((U)=>this.containsYield(U));return!1}extractMemberName(f){if(this.is(f,".")&&f[1]==="this")return f[2];if(this.is(f,"computed"))return`[${this.emit(f[1],"value")}]`;return f}getReactiveRuntime(){return`// ============================================================================
1806
+ `)W++;continue}U+=$,W++}return U}addJsExtensionAndAssertions(f){if(f instanceof String)f=i(f);if(typeof f!=="string")return f;let _=f.startsWith('"')||f.startsWith("'")?f.slice(1,-1):f,W=_.startsWith("./")||_.startsWith("../"),u=_,$="";if(W){let F=_.lastIndexOf("/"),Y=F>=0?_.substring(F+1):_;if(Y.includes(".")){if(Y.endsWith(".json"))$=" with { type: 'json' }"}else u=_+".js"}return`'${u}'`+$}containsIt(f){if(!f)return!1;if(f==="it"||f instanceof String&&i(f)==="it")return!0;if(typeof f!=="object")return!1;if(this.is(f,"def")||this.is(f,"->")||this.is(f,"=>"))return!1;if(Array.isArray(f))return f.some((U)=>this.containsIt(U));return!1}containsAwait(f){if(!f)return!1;if(f instanceof String&&W1(f,"await")===!0)return!0;if(typeof f!=="object")return!1;if(this.is(f,"await"))return!0;if(this.is(f,"for-as")&&f[3]===!0)return!0;if(this.is(f,"def")||this.is(f,"->")||this.is(f,"=>")||this.is(f,"class"))return!1;if(Array.isArray(f))return f.some((U)=>this.containsAwait(U));return!1}containsYield(f){if(!f)return!1;if(typeof f!=="object")return!1;if(this.is(f,"yield")||this.is(f,"yield-from"))return!0;if(this.is(f,"def")||this.is(f,"->")||this.is(f,"=>")||this.is(f,"class"))return!1;if(Array.isArray(f))return f.some((U)=>this.containsYield(U));return!1}extractMemberName(f){if(this.is(f,".")&&f[1]==="this")return f[2];if(this.is(f,"computed"))return`[${this.emit(f[1],"value")}]`;return f}getReactiveRuntime(){return`// ============================================================================
1807
1807
  // Rip Reactive Runtime
1808
1808
  // A minimal, fine-grained reactivity system
1809
1809
  //
@@ -2036,7 +2036,7 @@ if (typeof globalThis !== 'undefined') {
2036
2036
  `),u=W.findIndex((w)=>w==="__DATA__");if(u!==-1){let w=W.slice(u+1);_=w.length>0?w.join(`
2037
2037
  `)+`
2038
2038
  `:"",f=W.slice(0,u).join(`
2039
- `)}let $=new K1,F;try{F=$.tokenize(f)}catch(w){throw T1(w,f,this.options.filename)}if(this.options.showTokens)F.forEach((w)=>console.log(`${w[0].padEnd(12)} ${JSON.stringify(w[1])}`)),console.log();let Y=null,Z=null;if(this.options.types==="emit"||this.options.types==="check"||this.options.types===!0)Z=[...F];if(F=F.filter((w)=>w[0]!=="TYPE_DECL"),$.typeRefNames?.size>0){let w=$.typeRefNames,X=new Set,H=!1;for(let q of F){if(q[0]==="IMPORT"){H=!0;continue}if(H&&q[0]==="TERMINATOR"){H=!1;continue}if(H)continue;if(q[0]==="IDENTIFIER")X.add(q[1])}for(let q=F.length-1;q>=0;q--){if(F[q][0]!=="IMPORT")continue;let B=q+1;if(B>=F.length)continue;if(F[B][0]==="CALL_START"||F[B][0]==="(")continue;if(F[B][0]==="STRING")continue;let R=[];while(B<F.length&&F[B][0]!=="FROM"&&F[B][0]!=="TERMINATOR"){if(F[B][0]==="IDENTIFIER")R.push(F[B][1]);B++}if(R.length===0)continue;if(R.some((O)=>X.has(O)))continue;if(!R.some((O)=>w.has(O)))continue;let S=B;while(S<F.length&&F[S][0]!=="TERMINATOR")S++;if(S<F.length)S++;F.splice(q,S-q)}}while(F.length>0&&F[0][0]==="TERMINATOR")F.shift();if(F.every((w)=>w[0]==="TERMINATOR")){if(Z)Y=X2(Z,["program"],f);return{tokens:F,sexpr:["program"],code:"",dts:Y,data:_,reactiveVars:{}}}let G=null;z1.lexer={tokens:F,pos:0,setInput:function(){},lex:function(){if(this.pos>=this.tokens.length)return 1;let w=this.tokens[this.pos++],X=w[1];if(w.data)X=new String(X),Object.assign(X,w.data);return this.text=X,this.loc=w.loc,this.line=w.loc?.r,G=w.loc,w[0]}};let Q;try{Q=z1.parse(f)}catch(w){if(/\?\s*\([^)]*\?[^)]*:[^)]*\)\s*:/.test(f)||/\?\s+\w+\s+\?\s+/.test(f))throw new Z1("Nested ternary operators are not supported",{code:"E_PARSE",source:f,file:this.options.filename,suggestion:"Use if/else statements instead.",phase:"parser"});let X=T1(w,f,this.options.filename);if(X.phase==="parser"&&G)X.line=G.r??X.line,X.column=G.c??X.column,X.length=G.n||1;throw X}if(this.options.showSExpr)console.log(X1(Q,0,!0)),console.log();let z=null;if(this.options.sourceMap){let w=(this.options.filename||"output")+".js",X=this.options.filename||"input.rip";z=new O2(w,X,f)}let A=new Y1({dataSection:_,source:f,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,sourceMap:z}),J=A.compile(Q),K=z?z.toJSON():null,D=z?z.toReverseMap():null;if(K&&this.options.sourceMap==="inline"){let w=typeof Buffer<"u"?Buffer.from(K).toString("base64"):btoa(K);J+=`
2039
+ `)}let $=new K1,F;try{F=$.tokenize(f)}catch(w){throw T1(w,f,this.options.filename)}if(this.options.showTokens)F.forEach((w)=>console.log(`${w[0].padEnd(12)} ${JSON.stringify(w[1])}`)),console.log();let Y=null,Z=null;if(this.options.types==="emit"||this.options.types==="check"||this.options.types===!0)Z=[...F];if(F=F.filter((w)=>w[0]!=="TYPE_DECL"),$.typeRefNames?.size>0){let w=$.typeRefNames,X=new Set,R=!1;for(let H of F){if(H[0]==="IMPORT"){R=!0;continue}if(R&&H[0]==="TERMINATOR"){R=!1;continue}if(R)continue;if(H[0]==="IDENTIFIER")X.add(H[1])}for(let H=F.length-1;H>=0;H--){if(F[H][0]!=="IMPORT")continue;let B=H+1;if(B>=F.length)continue;if(F[B][0]==="CALL_START"||F[B][0]==="(")continue;if(F[B][0]==="STRING")continue;let O=[];while(B<F.length&&F[B][0]!=="FROM"&&F[B][0]!=="TERMINATOR"){if(F[B][0]==="IDENTIFIER")O.push(F[B][1]);B++}if(O.length===0)continue;if(O.some((q)=>X.has(q)))continue;if(!O.some((q)=>w.has(q)))continue;let I=B;while(I<F.length&&F[I][0]!=="TERMINATOR")I++;if(I<F.length)I++;F.splice(H,I-H)}}while(F.length>0&&F[0][0]==="TERMINATOR")F.shift();if(F.every((w)=>w[0]==="TERMINATOR")){if(Z)Y=X2(Z,["program"],f);return{tokens:F,sexpr:["program"],code:"",dts:Y,data:_,reactiveVars:{}}}let G=null;z1.lexer={tokens:F,pos:0,setInput:function(){},lex:function(){if(this.pos>=this.tokens.length)return 1;let w=this.tokens[this.pos++],X=w[1];if(w.data)X=new String(X),Object.assign(X,w.data);return this.text=X,this.loc=w.loc,this.line=w.loc?.r,G=w.loc,w[0]}};let Q;try{Q=z1.parse(f)}catch(w){if(/\?\s*\([^)]*\?[^)]*:[^)]*\)\s*:/.test(f)||/\?\s+\w+\s+\?\s+/.test(f))throw new Z1("Nested ternary operators are not supported",{code:"E_PARSE",source:f,file:this.options.filename,suggestion:"Use if/else statements instead.",phase:"parser"});let X=T1(w,f,this.options.filename);if(X.phase==="parser"&&G)X.line=G.r??X.line,X.column=G.c??X.column,X.length=G.n||1;throw X}if(this.options.showSExpr)console.log(X1(Q,0,!0)),console.log();let z=null;if(this.options.sourceMap){let w=(this.options.filename||"output")+".js",X=this.options.filename||"input.rip";z=new O2(w,X,f)}let A=new Y1({dataSection:_,source:f,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,sourceMap:z}),J=A.compile(Q),K=z?z.toJSON():null,D=z?z.toReverseMap():null;if(K&&this.options.sourceMap==="inline"){let w=typeof Buffer<"u"?Buffer.from(K).toString("base64"):btoa(K);J+=`
2040
2040
  //# sourceMappingURL=data:application/json;base64,${w}`}else if(K&&this.options.filename)J+=`
2041
2041
  //# sourceMappingURL=${this.options.filename}.js.map`;if(Z)Y=X2(Z,Q,f);return{tokens:F,sexpr:Q,code:J,dts:Y,map:K,reverseMap:D,data:_,reactiveVars:A.reactiveVars}}compileToJS(f){return this.compile(f).code}compileToSExpr(f){return this.compile(f).sexpr}}G3(Y1,K1);Y1.prototype.emitEnum=n2;a1(null,Y1);function f2(f,U={}){return new l1(U).compile(f)}function D1(f,U={}){return new l1(U).compileToJS(f)}function m1(){return`globalThis.abort ??= (msg) => { if (msg) console.error(msg); process.exit(1); };
2042
2042
  globalThis.assert ??= (v, msg) => { if (!v) throw new Error(msg || "Assertion failed"); };
@@ -2051,7 +2051,7 @@ globalThis.sleep ??= (ms) => new Promise(r => setTimeout(r, ms));
2051
2051
  globalThis.todo ??= (msg) => { throw new Error(msg || "Not implemented"); };
2052
2052
  globalThis.warn ??= console.warn;
2053
2053
  globalThis.zip ??= (...a) => a[0].map((_, i) => a.map(b => b[i]));
2054
- `}function k1(){return new Y1({}).getReactiveRuntime()}function i1(){return new Y1({}).getComponentRuntime()}var Q3="3.14.4",z3="2026-04-23@16:29:21GMT";if(typeof globalThis<"u"){if(!globalThis.__rip)Function(k1())();if(!globalThis.__ripComponent)Function(i1())()}var a5=(f)=>{let U=f.match(/^[ \t]*(?=\S)/gm),_=Math.min(...(U||[]).map((W)=>W.length));return f.replace(RegExp(`^[ ]{${_}}`,"gm"),"").trim()};async function A3(){let f=[],U=document.querySelector('script[src$="rip.min.js"], script[src$="rip.js"]'),_=U?.getAttribute("data-src");if(_){for(let W of _.trim().split(/\s+/))if(W)f.push({url:W})}for(let W of document.querySelectorAll('script[type="text/rip"]'))if(W.src)f.push({url:W.src});else{let u=a5(W.textContent);if(u)f.push({code:u})}if(f.length>0){let W=await Promise.allSettled(f.map(async(Z)=>{if(!Z.url)return;let G=await fetch(Z.url);if(!G.ok)throw Error(`${Z.url} (${G.status})`);if(Z.url.endsWith(".rip"))Z.code=await G.text();else{let Q=await G.json();Z.bundle=Q}}));for(let Z of W)if(Z.status==="rejected")console.warn("Rip: fetch failed:",Z.reason.message);let u=[],$=[];for(let Z of f)if(Z.bundle)u.push(Z.bundle);else if(Z.code)$.push(Z);let F=U?.getAttribute("data-router");if(F!=null&&u.length>0){let Z={skipRuntimes:!0,skipExports:!0,skipImports:!0};if($.length>0){let Q="";for(let z of $)try{Q+=D1(z.code,Z)+`
2054
+ `}function k1(){return new Y1({}).getReactiveRuntime()}function i1(){return new Y1({}).getComponentRuntime()}var Q3="3.14.5",z3="2026-04-24@12:50:45GMT";if(typeof globalThis<"u"){if(!globalThis.__rip)Function(k1())();if(!globalThis.__ripComponent)Function(i1())()}var a5=(f)=>{let U=f.match(/^[ \t]*(?=\S)/gm),_=Math.min(...(U||[]).map((W)=>W.length));return f.replace(RegExp(`^[ ]{${_}}`,"gm"),"").trim()};async function A3(){let f=[],U=document.querySelector('script[src$="rip.min.js"], script[src$="rip.js"]'),_=U?.getAttribute("data-src");if(_){for(let W of _.trim().split(/\s+/))if(W)f.push({url:W})}for(let W of document.querySelectorAll('script[type="text/rip"]'))if(W.src)f.push({url:W.src});else{let u=a5(W.textContent);if(u)f.push({code:u})}if(f.length>0){let W=await Promise.allSettled(f.map(async(Z)=>{if(!Z.url)return;let G=await fetch(Z.url);if(!G.ok)throw Error(`${Z.url} (${G.status})`);if(Z.url.endsWith(".rip"))Z.code=await G.text();else{let Q=await G.json();Z.bundle=Q}}));for(let Z of W)if(Z.status==="rejected")console.warn("Rip: fetch failed:",Z.reason.message);let u=[],$=[];for(let Z of f)if(Z.bundle)u.push(Z.bundle);else if(Z.code)$.push(Z);let F=U?.getAttribute("data-router");if(F!=null&&u.length>0){let Z={skipRuntimes:!0,skipExports:!0,skipImports:!0};if($.length>0){let Q="";for(let z of $)try{Q+=D1(z.code,Z)+`
2055
2055
  `}catch(A){console.error(I1(A,{source:z.code,file:z.url||"inline",color:!1}))}if(Q)try{await(0,eval)(`(async()=>{
2056
2056
  ${Q}
2057
2057
  })()`)}catch(z){console.error("Rip runtime error:",z)}}let G=S1.modules?.["ui.rip"];if(G?.launch){let Q=u[u.length-1],z=U.getAttribute("data-persist"),A={bundle:Q,hash:F==="hash"};if(z!=null)A.persist=z==="local"?"local":!0;await G.launch("",A)}}else{let Z=[];for(let z of u){for(let[A,J]of Object.entries(z.components||{}))Z.push({code:J,url:A});if(z.data){let A=U?.getAttribute("data-state"),J={};if(A)try{J=JSON.parse(A)}catch{}Object.assign(J,z.data),U?.setAttribute("data-state",JSON.stringify(J))}}Z.push(...$);let G={skipRuntimes:!0,skipExports:!0,skipImports:!0},Q=[];for(let z of Z){if(!z.code)continue;try{let A=D1(z.code,G);Q.push({js:A,url:z.url||"inline"})}catch(A){console.error(I1(A,{source:z.code,file:z.url||"inline",color:!1}))}}if(!globalThis.__ripApp&&U){let z=globalThis.stash;if(z){let A={},J=U.getAttribute("data-state");if(J)try{A=JSON.parse(J)}catch(w){console.error("Rip: invalid data-state JSON:",w.message)}let K=z({data:A});if(globalThis.__ripApp=K,typeof window<"u")window.app=K;let D=U.getAttribute("data-persist");if(D!=null&&globalThis.persistStash)globalThis.persistStash(K,{local:D==="local"})}}if(Q.length>0){let z=Q.map((J)=>J.js).join(`
@@ -2062,6 +2062,6 @@ ${z}
2062
2062
  ${K.js}
2063
2063
  })()`)}catch(D){console.error(` → source: ${K.url}`,D.message)}}else console.error("Rip runtime error:",J)}}}}if(U?.hasAttribute("data-reload")&&!globalThis.__ripLaunched){let W=!1,u=1000,$=30000,F=()=>{let Y=new EventSource("/watch");Y.addEventListener("connected",()=>{if(u=1000,W)location.reload();W=!0}),Y.addEventListener("reload",(Z)=>{if(Z.data==="styles"){let G=Date.now(),Q=0;if(document.querySelectorAll('link[rel="stylesheet"]').forEach((z)=>{if(new URL(z.href).origin!==location.origin)return;let A=new URL(z.href);A.searchParams.set("_r",G),z.href=A.toString(),Q++}),!Q)location.reload()}else location.reload()}),Y.onerror=()=>{Y.close(),setTimeout(F,u),u=Math.min(u*2,$)}};F()}}async function S1(f){for(let[F,Y]of Object.entries(S1.modules))if(f.includes(F))return Y;let U=await fetch(f).then((F)=>{if(!F.ok)throw Error(`importRip: ${f} (${F.status})`);return F.text()}),_=D1(U),W=`// ${f}
2064
2064
  `,u=new Blob([W+_],{type:"application/javascript"});return await import(URL.createObjectURL(u))}S1.modules={};function J3(f){try{let U=f.replace(/^/gm," "),W=D1(`do ->
2065
- ${U}`).replace(/^let\s+[^;]+;\s*\n\s*/m,"");W=W.replace(/^const\s+(\w+)\s*=/gm,"globalThis.$1 =");let u=(0,eval)(W);if(u&&typeof u.then==="function")return u.then(($)=>{if($!==void 0)globalThis._=$;return $});if(u!==void 0)globalThis._=u;return u}catch(U){console.error(I1(U,{source:f,color:!1}));return}}if(typeof globalThis<"u")globalThis.rip=J3,globalThis.importRip=S1,globalThis.compileToJS=D1,globalThis.__ripExports={compile:f2,compileToJS:D1,formatSExpr:X1,getStdlibCode:m1,VERSION:Q3,BUILD_DATE:z3,getReactiveRuntime:k1,getComponentRuntime:i1};if(typeof document<"u")globalThis.__ripScriptsReady=new Promise((f)=>{let U=()=>A3().then(f);if(document.readyState==="loading")document.addEventListener("DOMContentLoaded",()=>queueMicrotask(U));else queueMicrotask(U)});var W2={};b2(W2,{throttle:()=>t5,stash:()=>k3,setContext:()=>x3,raw:()=>v1,persistStash:()=>i3,launch:()=>u0,isStash:()=>o5,hold:()=>e5,hasContext:()=>h3,getContext:()=>j3,delay:()=>d3,debounce:()=>s5,createRouter:()=>n3,createResource:()=>r5,createRenderer:()=>a3,createComponents:()=>p3});var P2,X3,E2,w3,L2,L1,F1,K3,D3,V2,M3,H3,b1,G1,q3,O3,R3,P3,B3,I3,S3,N3,Q1,B2,p1,n1,U2,E3,L3,$2,d1,V3,C3,T3,I2,S2,j3,b3,C2,h3,y3,N2,E1,T2,v3,g3,h1,c3,x3,N1,l3,j1,y1,m3;globalThis.abort??=(f)=>{if(f)console.error(f);process.exit(1)};globalThis.assert??=(f,U)=>{if(!f)throw Error(U||"Assertion failed")};globalThis.exit??=(f)=>process.exit(f||0);globalThis.kind??=(f)=>f!=null?(f.constructor?.name||Object.prototype.toString.call(f).slice(8,-1)).toLowerCase():String(f);globalThis.noop??=()=>{};globalThis.p??=console.log;globalThis.pp??=(f)=>{return console.log(JSON.stringify(f,null,2)),f};globalThis.raise??=(f,U)=>{throw U!==void 0?new f(U):Error(f)};globalThis.rand??=(f,U)=>U!==void 0?(f>U&&([f,U]=[U,f]),Math.floor(Math.random()*(U-f+1)+f)):f?Math.floor(Math.random()*f):Math.random();globalThis.sleep??=(f)=>new Promise((U)=>setTimeout(U,f));globalThis.todo??=(f)=>{throw Error(f||"Not implemented")};globalThis.warn??=console.warn;globalThis.zip??=(...f)=>f[0].map((U,_)=>f.map((W)=>W[_]));({__state:F1,__effect:L1,__batch:L2}=globalThis.__rip);({setContext:x3,getContext:j3,hasContext:h3}=globalThis.__ripComponent||{});E2=new WeakMap;P2=new WeakMap;B2=0;U2=F1(0);Q1=0;N2=function(f){return typeof f==="string"&&(f.indexOf(".")!==-1||f.indexOf("/")!==-1||f.indexOf("[")!==-1)};y3=function(f){return/^-?\d+$/.test(f)};C2=function(f,U){let _;if(!f[Symbol.for("signals")])Object.defineProperty(f,Symbol.for("signals"),{value:new Map,enumerable:!1});if(_=f[Symbol.for("signals")].get(U),!_)_=F1(f[U]),f[Symbol.for("signals")].set(U,_);return _};E1=function(f){return C2(f,Symbol.for("keys"))};m3=function(f){let U;if(!(f!=null&&typeof f==="object"))return f;if(f[Symbol.for("stash")])return f;if(f instanceof Date||f instanceof RegExp||f instanceof Map||f instanceof Set||f instanceof Promise)return f;if(U=E2.get(f),U)return U;return T2(f)};T2=function(f){let U,_;return _=null,U={get:function(W,u){let $,F,Y;if(u===Symbol.for("stash"))return!0;if(u===Symbol.for("raw"))return W;if(typeof u==="symbol")return Reflect.get(W,u);if(u==="length"&&Array.isArray(W))return E1(W).value,W.length;if(!Q1&&N2(u))return N1(_,u);if($=l3(_,u),$)return $;if(F=C2(W,u),Y=F.value,Y!=null&&typeof Y==="object")return m3(Y);return Y},set:function(W,u,$){let F,Y;if(!Q1&&N2(u))return j1(_,u,$),!0;if(F=W[u],Y=$?.[Symbol.for("raw")]?$[Symbol.for("raw")]:$,Y===F)return!0;if(W[u]=Y,W[Symbol.for("signals")]?.has(u))W[Symbol.for("signals")].get(u).value=Y;if(F===void 0&&Y!==void 0)E1(W).value=++B2;return U2.value++,!0},deleteProperty:function(W,u){let $;if(delete W[u],$=W[Symbol.for("signals")]?.get(u),$!=null)$.value=void 0;return E1(W).value=++B2,U2.value++,!0},ownKeys:function(W){return E1(W).value,Reflect.ownKeys(W)}},_=new Proxy(f,U),E2.set(f,_),_};X3=/([./][^./\[\s]+|\[[-+]?\d+\]|\[(?:"[^"]+"|'[^']+')\])/;y1=function(f){let U,_,W,u,$;W=("."+f).split(X3),W.shift(),$=[],_=0;while(_<W.length){if(u=W[_],U=u[0],U==="."||U==="/")$.push(u.slice(1));else if(U==="[")if(u[1]==='"'||u[1]==="'")$.push(u.slice(2,-2));else $.push(+u.slice(1,-1));_+=2}return $};h1=function(f,U){let _;if(typeof f==="number"&&f<0){if(_=v1(U),Array.isArray(_))return _.length+f}return f};N1=function(f,U){let _,W,u;return u=y1(U),_=f,Q1++,(()=>{try{for(W of u){if(_==null)return;_=_[h1(W,_)]}return _}finally{Q1--}})()};j1=function(f,U,_){let W,u,$,F,Y,Z;return Z=y1(U),F=f,Q1++,(()=>{try{for(let G=0;G<Z.length;G++)if(Y=Z[G],u=h1(Y,F),G===Z.length-1)F[u]=_;else{if(F[u]==null)$=Z[G+1],F[u]=typeof $==="number"||y3($)?[]:{};F=F[u]}return _}finally{Q1--}})()};w3={inc:!0,dec:!0,flip:!0,join:!0,keys:!0,has:!0,del:!0};l3=function(f,U){let _,W;if(!w3[U])return;if(_=P2.get(f),!_)_={},P2.set(f,_);if(_[U])return _[U];return W=(()=>{switch(U){case"inc":return function(u,$=1){let F;return F=N1(f,u)??0,j1(f,u,F+$)};case"dec":return function(u,$=1){let F;return F=N1(f,u)??0,j1(f,u,F-$)};case"flip":return function(u){let $;return $=N1(f,u)??!1,j1(f,u,!$)};case"join":return function(u,$){return L2(function(){let F,Y,Z;if(Y=N1(f,u),!(Y!=null&&typeof Y==="object"))j1(f,u,{}),Y=N1(f,u);return Q1++,(()=>{try{return(()=>{let G=[];for(F in $)Z=$[F],G.push(Y[F]=Z);return G})()}finally{Q1--}})()})};case"keys":return function(u){let $,F,Y,Z;return Q1++,(()=>{try{Y=y1(u),$=f;for(F of Y){if($==null)return[];$=$[h1(F,$)]}if(!($!=null&&typeof $==="object"))return[];return Z=v1($),E1(Z).value,Object.keys(Z)}finally{Q1--}})()};case"has":return function(u){let $,F,Y,Z,G,Q;return Q1++,(()=>{try{if(G=y1(u),!(G.length>0))return!1;Y=f;for(let z=0;z<G.length;z++){if(Z=G[z],F=h1(Z,Y),z===G.length-1)return Q=v1(Y),E1(Q).value,Object.prototype.hasOwnProperty.call(Q,F);if(Y==null)return!1;Y=Y[F]}return!1}finally{Q1--}})()};case"del":return function(u){let $,F,Y,Z,G;return Q1++,(()=>{try{if(G=y1(u),!(G.length>0))return;return Y=f,(()=>{let Q=[];for(let z=0;z<G.length;z++){if(Z=G[z],F=h1(Z,Y),z===G.length-1){delete Y[F];return}if(Y==null)return;Q.push(Y=Y[F])}return Q})()}finally{Q1--}})()}}})(),_[U]=W,W};var k3=function(f={}){return T2(f)},v1=function(f){return f?.[Symbol.for("raw")]?f[Symbol.for("raw")]:f},o5=function(f){return f?.[Symbol.for("stash")]===!0},i3=function(f,U={}){let _,W,u,$,F,Y,Z,G;if(Z=v1(f)||f,Z[Symbol.for("persisted")])return;Z[Symbol.for("persisted")]=!0,F=U.local?localStorage:sessionStorage,Y=U.key||"__rip_app";try{if(u=F.getItem(Y),u){$=JSON.parse(u);for(W in $)G=$[W],f.data[W]=G}}catch{}return _=function(){return(()=>{try{return F.setItem(Y,JSON.stringify(v1(f.data)))}catch{return null}})()},L1(function(){let Q;return U2.value,Q=setTimeout(_,2000),function(){return clearTimeout(Q)}}),window.addEventListener("beforeunload",_)},r5=function(f,U={}){let _,W,u,$,F;if(_=F1(U.initial||null),u=F1(!1),W=F1(null),$=async function(){let Y;return u.value=!0,W.value=null,await(async()=>{try{return Y=await f(),_.value=Y}catch(Z){return W.value=Z}finally{u.value=!1}})()},F={data:void 0,loading:void 0,error:void 0,refetch:$},Object.defineProperty(F,"data",{get:function(){return _.value}}),Object.defineProperty(F,"loading",{get:function(){return u.value}}),Object.defineProperty(F,"error",{get:function(){return W.value}}),!U.lazy)$();return F};n1=function(f){return typeof f==="function"?f:function(){return f.value}};p1=function(f,U){let _;return _={read:function(){return f.read()}},Object.defineProperty(_,"value",{get:function(){return f.value},set:function(W){return U.value=W}}),_};var d3=function(f,U){let _,W;return _=n1(U),W=F1(!!_()),L1(function(){let u;if(_())return u=setTimeout(function(){return W.value=!0},f),function(){return clearTimeout(u)};else return W.value=!1}),typeof U!=="function"?p1(W,U):W},s5=function(f,U){let _,W;return _=n1(U),W=F1(_()),L1(function(){let u,$;return $=_(),u=setTimeout(function(){return W.value=$},f),function(){return clearTimeout(u)}}),typeof U!=="function"?p1(W,U):W},t5=function(f,U){let _,W,u;return _=n1(U),u=F1(_()),W=0,L1(function(){let $,F,Y,Z;if(Z=_(),$=Date.now(),F=f-($-W),F<=0)return u.value=Z,W=$;else return Y=setTimeout(function(){return u.value=_(),W=Date.now()},F),function(){return clearTimeout(Y)}}),typeof U!=="function"?p1(u,U):u},e5=function(f,U){let _,W;return _=n1(U),W=F1(!!_()),L1(function(){let u;if(_())return W.value=!0;else return u=setTimeout(function(){return W.value=!1},f),function(){return clearTimeout(u)}}),typeof U!=="function"?p1(W,U):W},p3=function(){let f,U,_,W;return U=new Map,W=[],f=new Map,_=function(u,$){let F,Y=[];for(F of W)Y.push(F(u,$));return Y},{read:function(u){return U.get(u)},write:function(u,$){let F;return F=!U.has(u),U.set(u,$),f.delete(u),_(F?"create":"change",u)},del:function(u){return U.delete(u),f.delete(u),_("delete",u)},exists:function(u){return U.has(u)},size:function(){return U.size},list:function(u=""){let $,F,Y,Z;Z=[],F=u?u+"/":"";for([$]of U)if($.startsWith(F)){if(Y=$.slice(F.length),Y.includes("/"))continue;Z.push($)}return Z},listAll:function(u=""){let $,F,Y;Y=[],F=u?u+"/":"";for([$]of U)if($.startsWith(F))Y.push($);return Y},load:function(u){let $,F,Y=[];for(F in u)$=u[F],Y.push(U.set(F,$));return Y},watch:function(u){return W.push(u),function(){return W.splice(W.indexOf(u),1)}},getCompiled:function(u){return f.get(u)},setCompiled:function(u,$){return f.set(u,$)}}};T3=function(f){let U;if(U=f.replace(/\.rip$/,""),U=U.replace(/\[\.\.\.(\w+)\]/g,"*$1"),U=U.replace(/\[(\w+)\]/g,":$1"),U==="index")return"/";return U=U.replace(/\/index$/,""),"/"+U};g3=function(f){let U,_;return U=[],_=f.replace(/\*(\w+)/g,function(W,u){return U.push(u),"(.+)"}).replace(/:(\w+)/g,function(W,u){return U.push(u),"([^/]+)"}),{regex:new RegExp("^"+_+"$"),names:U}};v3=function(f,U){let _,W,u,$,F;for(F of U)if(W=f.match(F.regex.regex),W){$={};for(let Y=0;Y<F.regex.names.length;Y++)u=F.regex.names[Y],$[u]=decodeURIComponent(W[Y+1]);return{route:F,params:$}}return null};$2=function(f,U="components"){let _,W,u,$,F,Y,Z,G,Q,z;G=[],$=new Map,_=f.listAll(U);for(u of _){if(Z=u.slice(U.length+1),!Z.endsWith(".rip"))continue;if(F=Z.split("/").pop(),F==="_layout.rip"){W=Z==="_layout.rip"?"":Z.slice(0,-12),$.set(W,u);continue}if(F.startsWith("_"))continue;if(Q=Z.split("/"),Q.length>1&&Q.some(function(A,J){return J<Q.length-1&&A.startsWith("_")}))continue;z=T3(Z),Y=g3(z),G.push({pattern:z,regex:Y,file:u,rel:Z})}return G.sort(function(A,J){let K,D,w,X;if(D=(A.pattern.match(/:/g)||[]).length,X=(J.pattern.match(/:/g)||[]).length,K=A.pattern.includes("*")?1:0,w=J.pattern.includes("*")?1:0,K!==w)return K-w;if(D!==X)return D-X;return A.pattern.localeCompare(J.pattern)}),{routes:G,layouts:$}};b3=function(f,U,_){let W,u,$,F,Y,Z;if(W=[],F=f.slice(U.length+1),Z=F.split("/"),u="",_.has(""))W.push(_.get(""));for(let G=0;G<Z.length;G++){if(Y=Z[G],G===Z.length-1)break;if(u=u?u+"/"+Y:Y,_.has(u))W.push(_.get(u))}return W};var n3=function(f,U={}){let _,W,u,$,F,Y,Z,G,Q,z,A,J,K,D,w,X,H,q,B,R,S;if(H=U.root||"components",Q=U.base||"",z=U.hash||!1,K=U.onError||null,B=function(O){return Q&&O.startsWith(Q)?O.slice(Q.length)||"/":O},G=function(O){return Q?Q+O:O},w=function(){let O;if(z){if(O=location.hash.slice(1),!O)return"/";return O[0]==="/"?O:"/"+O}else return location.pathname+location.search+location.hash},S=function(O){return z?O==="/"?location.pathname:"#"+O.slice(1):G(O)},F=F1(B(z?w():location.pathname)),$=F1({}),Z=F1(null),W=F1([]),Y=F1({}),_=F1(""),u=d3(100,F1(!1)),R=$2(f,H),A=new Set,f.watch(function(O,P){if(!P.startsWith(H+"/"))return;return R=$2(f,H)}),X=function(O){let P,M,I,L,V,N;if(V=O.split("?")[0].split("#")[0],I=B(V),I=I[0]==="/"?I:"/"+I,L=O.split("?")[1]?.split("#")[0]||"",M=O.includes("#")?O.split("#")[1]:"",N=v3(I,R.routes),N){L2(function(){return F.value=I,$.value=N.params,Z.value=N.route,W.value=b3(N.route.file,H,R.layouts),Y.value=Object.fromEntries(new URLSearchParams(L)),_.value=M});for(P of A)P(q.current);return!0}if(K)K({status:404,path:I});return!1},D=function(){return X(w())},typeof window<"u")window.addEventListener("popstate",D);if(J=function(O){let P,M,I;if(O.button!==0||O.metaKey||O.ctrlKey||O.shiftKey||O.altKey)return;M=O.target;while(M&&M.tagName!=="A")M=M.parentElement;if(!M?.href)return;if(I=new URL(M.href,location.origin),I.origin!==location.origin)return;if(M.target==="_blank"||M.hasAttribute("data-external"))return;return O.preventDefault(),P=z&&I.hash?I.hash.slice(1)||"/":I.pathname+I.search+I.hash,q.push(P)},typeof document<"u")document.addEventListener("click",J);return q={push:function(O){return X(O)?history.pushState(null,"",S(F.read())):void 0},replace:function(O){return X(O)?history.replaceState(null,"",S(F.read())):void 0},back:function(){return history.back()},forward:function(){return history.forward()},current:void 0,path:void 0,params:void 0,route:void 0,layouts:void 0,query:void 0,hash:void 0,navigating:void 0,onNavigate:function(O){return A.add(O),function(){return A.delete(O)}},rebuild:function(){return R=$2(f,H)},routes:void 0,init:function(){return X(w()),q},destroy:function(){if(typeof window<"u")window.removeEventListener("popstate",D);if(typeof document<"u")document.removeEventListener("click",J);return A.clear()}},Object.defineProperty(q,"current",{get:function(){return{path:F.value,params:$.value,route:Z.value,layouts:W.value,query:Y.value,hash:_.value}}}),Object.defineProperty(q,"path",{get:function(){return F.value}}),Object.defineProperty(q,"params",{get:function(){return $.value}}),Object.defineProperty(q,"route",{get:function(){return Z.value}}),Object.defineProperty(q,"layouts",{get:function(){return W.value}}),Object.defineProperty(q,"query",{get:function(){return Y.value}}),Object.defineProperty(q,"hash",{get:function(){return _.value}}),Object.defineProperty(q,"navigating",{get:function(){return u.value},set:function(O){return u.value=O}}),Object.defineProperty(q,"routes",{get:function(){return R.routes}}),q};E3=function(f,U){let _,W;if(f.length!==U.length)return!1;for(let u=0;u<f.length;u++)if(W=f[u],W!==U[u])return!1;return!0};S2=function(f){let U,_;for(U in f)if(_=f[U],typeof _==="function"&&(_.prototype?.mount||_.prototype?._create))return _;return typeof f.default==="function"?f.default:void 0};I2=function(f){let U,_,W;_={};for(U in f)if(W=f[U],typeof W==="function"&&(W.prototype?.mount||W.prototype?._create))_[U]=W;return _};C3=function(f){let U;return U=f.split("/").pop().replace(/\.rip$/,""),U.replace(/(^|[-_])([a-z])/g,function(_,W,u){return u.toUpperCase()})};L3=function(f,U="components"){let _,W,u,$;W={};for($ of f.listAll(U)){if(!$.endsWith(".rip"))continue;if(_=$.split("/").pop(),_.startsWith("_"))continue;if(u=C3($),W[u])console.warn(`[Rip] Component name collision: ${u} (${W[u]} vs ${$})`);W[u]=$}return W};c3=function(f,U,_){let W,u,$,F,Y,Z;if($=f.replace(/^(\.\.\/|\.\/)+/,""),W=$.split("/").pop(),U){Y=U.split("/"),Y.pop();for(Z of f.split("/"))if(Z==="..")Y.pop();else if(Z!==".")Y.push(Z);if(u=Y.join("/"),_.exists(u))return u}if(_.exists(`components/_lib/${$}`))return`components/_lib/${$}`;if(_.exists(`components/${$}`))return`components/${$}`;for(F of _.listAll("components"))if(F.endsWith(`/${W}`))return F;return null};d1=async function(f,U,_=null,W=null,u=null){let $,F,Y,Z,G,Q,z,A,J,K,D,w,X,H,q,B,R,S,O,P,M,I,L,V,N,C,E,l,T,j;if(_&&W){if(Y=_.getCompiled(W),Y)return Y}if(u&&W)u.compiling??={},u.compiling[W]=!0;if(D=U(f),u){if(K=new Set,_){C=/^(\s*import\s+(?:\{([^}]+)\}\s+from\s+|.*?\s+from\s+)?['"])([^'"]*\.rip)(['"];?\s*)$/gm,H=Array.from(D.matchAll(C));for(let b=H.length-1;b>=0;b--){if(X=H[b],[A,L,O,E,I]=X,l=c3(E,W,_),l===W)continue;if(!l){if(B=`[Rip] Could not resolve import: ${E}`,W)B+=` (from ${W})`;console.warn(B);continue}if(!u.blobUrls?.[l]){if(u.compiling?.[l])continue;if(Q=_.read(l),Q)await d1(Q,U,_,l,u)}if(F=u.blobUrls?.[l],F){if(N=`${L}${F}${I}`,D=D.slice(0,X.index)+N+D.slice(X.index+A.length),O)for(R of O.split(","))K.add(R.trim().split(/\s+as\s+/).pop().trim())}}}M={};for(S in u.map){if(G=u.map[S],K.has(S))continue;if(G!==W&&D.includes(`new ${S}(`)){if(!u.classes[S]){if(Q=_.read(G),Q){Z=await d1(Q,U,_,G,u),z=I2(Z);for(w in z)j=z[w],u.classes[w]=j}}if(u.classes[S])M[S]=!0}}if(P=Object.keys(M),P.length>0)V=`const {${P.join(", ")}} = globalThis['${u.key}'];
2066
- `,D=V+D}if(J=W?`// ${W}
2067
- `:"",$=new Blob([J+D],{type:"application/javascript"}),T=URL.createObjectURL($),u&&W){if(u.blobUrls??={},u.blobUrls[W]=T,u.compiling)delete u.compiling[W]}if(q=await import(T),u){z=I2(q);for(w in z)j=z[w],u.classes[w]=j}if(_&&W)_.setCompiled(W,q);return q};var a3=function(f={}){let U,_,W,u,$,F,Y,Z,G,Q,z,A,J,K,D,w,X,H,q,B,R,S;if({router:B,app:U,components:$,resolver:q,compile:W,target:R,onError:X}=f,F=typeof R==="string"?document.querySelector(R):R||document.getElementById("app"),!F)F=document.createElement("div"),F.id="app",document.body.appendChild(F);return Y=null,Q=null,G=null,Z=[],J=[],D=F,A=0,z=null,u=new Map,K=f.cacheSize||10,_=function(){let O,P;if(Y&&Q){if(Y.beforeUnmount)Y.beforeUnmount();if(u.set(Q,Y),u.size>K){if(P=u.keys().next().value,O=u.get(P),O.unmounted)O.unmounted();u.delete(P)}return Y=null,Q=null}},S=function(){let O;_();for(let P=J.length-1;P>=0;P--){if(O=J[P],O.beforeUnmount)O.beforeUnmount();if(O.unmounted)O.unmounted();O._target?.remove()}return J=[],D=F},$.watch(function(O,P){let M;if(u.has(P)){if(M=u.get(P),M.unmounted)M.unmounted();return u.delete(P)}}),w=async function(O){let P,M,I,L,V,N,C,E,l,T,j,b,i,r,U1,y,v,x,d,o,u1,c,n;if({route:o,params:v,layouts:l,query:d}=O,!o)return;if(o.file===Q&&JSON.stringify(v)===JSON.stringify(G))return;return G=v,L=++A,B.navigating=!0,await(async()=>{try{if(c=$.read(o.file),!c){if(X)X({status:404,message:`File not found: ${o.file}`});B.navigating=!1;return}if(i=await d1(c,W,$,o.file,q),L!==A){B.navigating=!1;return}if(P=S2(i),!P){if(X)X({status:500,message:`No component found in ${o.file}`});B.navigating=!1;return}if(b=!E3(l,Z),U1=Y?._target,b)S();else _();if(r=b?F:D,b&&l.length>0){F.innerHTML="",r=F;for(E of l){if(j=$.read(E),!j)continue;if(T=await d1(j,W,$,E,q),L!==A){B.navigating=!1;return}if(M=S2(T),!M)continue;if(N=new M({app:U,params:v,router:B}),N.beforeMount)N.beforeMount();n=document.createElement("div"),n.setAttribute("data-layout",E),r.appendChild(n),N.mount(n),J.push(N),u1=n.querySelector("#content")||n,r=u1}Z=[...l],D=r}else if(b)F.innerHTML="",Z=[],D=F;if(I=u.get(o.file),I){if(u.delete(o.file),r.appendChild(I._target),Y=I,Q=o.file,v)I.params=v;if(d)I.query=d;if(I.mounted)I.mounted();if(I.load)await I.load(v,d)}else{if(y=document.createElement("div"),y.setAttribute("data-component",o.file),r.appendChild(y),C=new P({app:U,params:v,query:d,router:B}),C.beforeMount)C.beforeMount();if(C.mount(y),Y=C,Q=o.file,C.load)await C.load(v,d)}return U1?.remove(),B.navigating=!1}catch(s){if(B.navigating=!1,console.error(`Renderer: error mounting ${o.file}:`,s),X)X({status:500,message:s.message,error:s});V=!1;for(let e=J.length-1;e>=0;e--)if(N=J[e],N.onError)try{N.onError(s),V=!0;break}catch(h){console.error("Renderer: error boundary failed:",h)}return(()=>{if(!V)return x=document.createElement("pre"),x.style.cssText="color:red;padding:1em",x.textContent=s.stack||s.message,F.innerHTML="",F.appendChild(x)})()}})()},H={start:function(){return z=L1(function(){let O;return O=B.current,O.route?w(O):void 0}),B.init(),H},stop:function(){if(S(),z)z(),z=null;return F.innerHTML=""},remount:function(){let O;return O=B.current,O.route?w(O):void 0},cache:u},H};V3=function(f){let U,_,W;return W=1000,_=30000,U=function(){let u;return u=new EventSource(f),u.addEventListener("connected",function(){return W=1000,console.log("[Rip] Hot reload connected")}),u.addEventListener("reload",function(){return console.log("[Rip] Reloading..."),location.reload()}),u.addEventListener("css",function(){let $,F=[];for($ of document.querySelectorAll('link[rel="stylesheet"]'))f=new URL($.href),f.searchParams.set("_t",Date.now()),$.href=f.toString();return F}),u.onerror=function(){return u.close(),setTimeout(U,W),W=Math.min(W*2,_)}},U()};var u0=async function(f="",U={}){let _,W,u,$,F,Y,Z,G,Q,z,A,J,K,D,w,X,H;if(globalThis.__ripLaunched=!0,typeof f==="object")U=f,f="";if(f=f.replace(/\/+$/,""),H=U.target||"#app",Y=U.compile||null,J=U.persist||!1,z=U.hash||!1,!Y)Y=globalThis?.compileToJS||null;if(typeof document<"u"&&!document.querySelector(H))Z=document.createElement("div"),Z.id=H.replace(/^#/,""),document.body.prepend(Z);if(U.bundle)u=U.bundle;else if(U.bundleUrl){if(A={},Q=`__rip_etag_${U.bundleUrl}`,$=sessionStorage.getItem(Q),$)A["If-None-Match"]=$;if(D=await fetch(U.bundleUrl,{headers:A}),D.status===304)u=JSON.parse(sessionStorage.getItem(`${Q}_data`));else if(D.ok){if(u=await D.json(),G=D.headers.get("etag"),G)sessionStorage.setItem(Q,G),sessionStorage.setItem(`${Q}_data`,JSON.stringify(u))}else throw Error(`launch: ${U.bundleUrl} (${D.status})`)}else throw Error("launch: no bundle or bundleUrl provided");if(_=k3({components:{},routes:{},data:{}}),globalThis.__ripApp=_,u.data)_.data=u.data;if(u.routes)_.routes=u.routes;if(J&&typeof sessionStorage<"u")i3(_,{local:J==="local",key:`__rip_${f}`});if(W=p3(),u.components)W.load(u.components);if(F=`__rip_${f.replace(/\//g,"_")||"app"}`,w={map:L3(W),classes:{},key:F},typeof globalThis<"u")globalThis[F]=w.classes;if(_.data.title&&typeof document<"u")document.title=_.data.title;if(X=n3(W,{root:"components",base:f,hash:z,onError:function(q){return console.error(`[Rip] Error ${q.status}: ${q.message||q.path}`)}}),K=a3({router:X,app:_,components:W,resolver:w,compile:Y,target:H,onError:function(q){return console.error(`[Rip] ${q.message}`,q.error)}}),K.start(),u.data?.watch)V3(`${f}/watch`);if(typeof window<"u")window.app=_,window.__RIP__={app:_,components:W,router:X,renderer:K,cache:K.cache,version:"0.3.0"};return{app:_,components:W,router:X,renderer:K}};G1=function(f,U){if(!U)return;return f.preventDefault(),f.stopPropagation(),U()};globalThis.__ariaLastFocusedEl??=null;if(typeof document<"u"&&!globalThis.__ariaFocusTrackerBound)document.addEventListener("focusin",function(f){return globalThis.__ariaLastFocusedEl=f.target},!0),globalThis.__ariaFocusTrackerBound=!0;M3=function(f,U){if(f.isComposing)return;return(()=>{switch(f.key){case"ArrowDown":return G1(f,U.next);case"ArrowUp":return G1(f,U.prev);case"Home":case"PageUp":return G1(f,U.first);case"End":case"PageDown":return G1(f,U.last);case"Enter":case" ":return G1(f,U.select);case"Escape":return G1(f,U.dismiss);case"Tab":return U.tab?.();default:return f.key.length===1?U.char?.(f.key):void 0}})()};q3=function(f,U,_,W=[],u=null){let $,F,Y;if(!f)return;return $=function(Z){return typeof Z==="function"?Z():Z},F=(Z)=>{return![$(U),...W.map($)].some(function(G){return G?.contains(Z.target)})?_():void 0},Y=(Z)=>{if($(U)?.contains(Z.target))return;return u?u():_()},document.addEventListener("mousedown",F),window.addEventListener("scroll",Y,!0),function(){return document.removeEventListener("mousedown",F),window.removeEventListener("scroll",Y,!0)}};O3=function(f=250){let U;return U=0,{block:function(_=f){return U=Date.now()+_},canOpen:function(){return Date.now()>=U}}};D3=function(f,U,_,W=null){let u,$,F,Y,Z,G,Q,z,A,J,K;if(Y=function(D){return typeof D==="function"?D():D},u=function(){let D,w;if(D=document.activeElement,D&&D!==document.body)return D;if(w=globalThis.__ariaLastFocusedEl,w?.isConnected!==!1)return w;return null},F=Y(U),!F)return;if(!Object.hasOwn(HTMLElement.prototype,"togglePopover"))return;if(Q=null,K=function(D){if(D){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}},z=function(){let D,w;if(w=Q,Q=null,!w?.focus)return;return D=function(X=6){if(w.isConnected===!1)return;try{w.focus({preventScroll:!0})}catch{w.focus()}if(document.activeElement===w||X<=1)return;return setTimeout(function(){return D(X-1)},16)},requestAnimationFrame(function(){return D()})},Z=function(D){let w;if(w=D.newState==="open",w)Q=Y(W)||u(),K(!0);else K(!1),z();return _?.(w)},F.addEventListener("toggle",Z),A=F.matches(":popover-open"),$=!!f,A!==$){if(J=Y(W),$)Q=J||u(),K(!0);G=J&&$?{force:$,source:J}:{force:$};try{F.togglePopover(G)}catch{}}else K($);return function(){return F.removeEventListener("toggle",Z)}};K3=function(f,U,_,W=!0){let u,$,F,Y,Z,G,Q,z;if(F=function(A){return typeof A==="function"?A():A},u=function(){let A,J;if(A=document.activeElement,A&&A!==document.body)return A;if(J=globalThis.__ariaLastFocusedEl,J?.isConnected!==!1)return J;return null},$=F(U),!$?.showModal)return;if(G=null,z=function(A){if(A){$.hidden=!1;try{$.inert=!1}catch{}return $.removeAttribute("aria-hidden")}else{try{$.inert=!0}catch{}return $.setAttribute("aria-hidden","true"),$.hidden=!0}},Q=function(){let A,J;if(J=G,G=null,!J?.focus)return;return A=function(K=6){if(J.isConnected===!1)return;try{J.focus({preventScroll:!0})}catch{J.focus()}if(document.activeElement===J||K<=1)return;return setTimeout(function(){return A(K-1)},16)},requestAnimationFrame(function(){return A()})},Y=function(A){if(!W){A.preventDefault();return}return _?.(!1)},Z=function(){return _?.(!1),z(!1),Q()},$.addEventListener("cancel",Y),$.addEventListener("close",Z),f&&!$.open){if(!G)G=u();z(!0);try{$.showModal()}catch{}}else if(!f&&$.open)$.close();else z(!!f);return function(){return $.removeEventListener("cancel",Y),$.removeEventListener("close",Z)}};B3=function(f,U,_="vertical"){let W,u;if(f.isComposing)return;return u=_!=="horizontal",W=_!=="vertical",(()=>{switch(f.key){case"ArrowDown":return u?G1(f,U.next):void 0;case"ArrowUp":return u?G1(f,U.prev):void 0;case"ArrowRight":return W?G1(f,U.next):void 0;case"ArrowLeft":return W?G1(f,U.prev):void 0;case"Home":case"PageUp":return G1(f,U.first);case"End":case"PageDown":return G1(f,U.last);case"Enter":case" ":return G1(f,U.select);case"Escape":return G1(f,U.dismiss);default:return f.key.length===1?U.char?.(f.key):void 0}})()};P3=function(f,U,_=4,W=!0){let u,$;if(!(f&&U))return;if($=f.getBoundingClientRect(),U.style.position="fixed",U.style.left=`${$.left}px`,U.style.top=`${$.bottom+_}px`,U.style.minWidth=`${$.width}px`,u=U.getBoundingClientRect(),u.bottom>window.innerHeight)U.style.top=`${$.top-u.height-_}px`;if(u.right>window.innerWidth)U.style.left=`${window.innerWidth-u.width-_}px`;return W?U.style.visibility="visible":void 0};var f0='a[href],button:not([disabled]),input:not([disabled]),select:not([disabled]),textarea:not([disabled]),[tabindex]:not([tabindex="-1"])';I3=function(f){let U;return U=function(_){let W,u,$;if(_.key!=="Tab")return;if($=Array.from(f.querySelectorAll(f0)).filter(function(F){return F.offsetParent!==null}),!$.length)return;return W=$[0],u=$[$.length-1],_.shiftKey?document.activeElement===W?(_.preventDefault(),u.focus()):void 0:document.activeElement===u?(_.preventDefault(),W.focus()):void 0},f.addEventListener("keydown",U),function(){return f.removeEventListener("keydown",U)}};N3=function(f,U){let _,W;if(!f)return;if(W=f.querySelector("h1,h2,h3,h4,h5,h6"),W)W.id??=`${U}-title`,f.setAttribute("aria-labelledby",W.id);if(_=f.querySelector("p"),_)return _.id??=`${U}-desc`,f.setAttribute("aria-describedby",_.id)};b1=[];H3=function(f){let U;if(U=window.scrollY,b1.push({instance:f,scrollY:U}),b1.length===1)return document.body.style.position="fixed",document.body.style.top=`-${U}px`,document.body.style.width="100%"};S3=function(f){let U,_;if(U=b1.findIndex(function(W){return W.instance===f}),U<0)return;if({scrollY:_}=b1.splice(U,1)[0],!b1.length)return document.body.style.position="",document.body.style.top="",document.body.style.width="",window.scrollTo(0,_)};V2=function(){let f,U,_;return(()=>{try{if(!document?.createElement)return!1;return f=document.createElement("div"),U=document.createElement("div"),f.style.cssText="position:fixed;top:100px;left:100px;width:10px;height:10px;anchor-name:--probe",U.style.cssText="position:fixed;inset:auto;margin:0;position-anchor:--probe;position-area:bottom start;width:10px;height:10px",document.body.appendChild(f),document.body.appendChild(U),_=U.getBoundingClientRect(),f.remove(),U.remove(),_.top>50}catch{return!1}})()}();R3=function(f,U,_={}){let W,u,$,F,Y,Z,G;if(!(f&&U))return;if(Y=_.placement??"bottom start",F=_.offset??4,u=_.matchWidth??!1,V2){switch($=`--anchor-${U.id||Math.random().toString(36).slice(2,8)}`,f.style.anchorName=$,U.style.positionAnchor=$,U.style.position="fixed",U.style.inset="auto",U.style.margin="0",U.style.positionArea=Y,U.style.positionTry="flip-block, flip-inline, flip-block flip-inline",U.style.positionVisibility="anchors-visible",[G]=Y.split(" "),U.style.marginTop="",U.style.marginBottom="",U.style.marginLeft="",U.style.marginRight="",G){case"bottom":U.style.marginTop=`${F}px`;break;case"top":U.style.marginBottom=`${F}px`;break;case"left":U.style.marginRight=`${F}px`;break;case"right":U.style.marginLeft=`${F}px`;break}return u?U.style.minWidth="anchor-size(width)":void 0}else{switch(Z=f.getBoundingClientRect(),U.style.position="fixed",U.style.inset="auto",U.style.margin="0",[G,W]=Y.split(" "),W??="start",G){case"bottom":U.style.top=`${Z.bottom+F}px`;break;case"top":U.style.bottom=`${window.innerHeight-Z.top+F}px`;break;case"left":U.style.right=`${window.innerWidth-Z.left+F}px`;break;case"right":U.style.left=`${Z.right+F}px`;break}if(Array.isArray(["bottom","top"])?["bottom","top"].includes(G):(G in["bottom","top"]))switch(W){case"start":U.style.left=`${Z.left}px`;break;case"center":U.style.left=`${Z.left+Z.width/2}px`,U.style.transform="translateX(-50%)";break;case"end":U.style.right=`${window.innerWidth-Z.right}px`;break}else switch(W){case"start":U.style.top=`${Z.top}px`;break;case"center":U.style.top=`${Z.top+Z.height/2}px`,U.style.transform="translateY(-50%)";break;case"end":U.style.bottom=`${window.innerHeight-Z.bottom}px`;break}return u?U.style.minWidth=`${Z.width}px`:void 0}};globalThis.__aria??={listNav:M3,rovingNav:B3,popupDismiss:q3,popupGuard:O3,bindPopover:D3,bindDialog:K3,positionBelow:P3,trapFocus:I3,wireAria:N3,lockScroll:H3,unlockScroll:S3,position:R3,hasAnchor:V2};globalThis.ARIA??=globalThis.__aria;S1.modules["ui.rip"]=W2;for(let[f,U]of Object.entries(W2))if(typeof U==="function")globalThis[f]=U;})();
2065
+ ${U}`).replace(/^let\s+[^;]+;\s*\n\s*/m,"");W=W.replace(/^const\s+(\w+)\s*=/gm,"globalThis.$1 =");let u=(0,eval)(W);if(u&&typeof u.then==="function")return u.then(($)=>{if($!==void 0)globalThis._=$;return $});if(u!==void 0)globalThis._=u;return u}catch(U){console.error(I1(U,{source:f,color:!1}));return}}if(typeof globalThis<"u")globalThis.rip=J3,globalThis.importRip=S1,globalThis.compileToJS=D1,globalThis.__ripExports={compile:f2,compileToJS:D1,formatSExpr:X1,getStdlibCode:m1,VERSION:Q3,BUILD_DATE:z3,getReactiveRuntime:k1,getComponentRuntime:i1};if(typeof document<"u")globalThis.__ripScriptsReady=new Promise((f)=>{let U=()=>A3().then(f);if(document.readyState==="loading")document.addEventListener("DOMContentLoaded",()=>queueMicrotask(U));else queueMicrotask(U)});var W2={};b2(W2,{throttle:()=>t5,stash:()=>k3,setContext:()=>x3,raw:()=>v1,persistStash:()=>i3,launch:()=>u0,isStash:()=>o5,hold:()=>e5,hasContext:()=>h3,getContext:()=>j3,delay:()=>p3,debounce:()=>s5,createRouter:()=>n3,createResource:()=>r5,createRenderer:()=>a3,createComponents:()=>d3});var P2,X3,E2,w3,L2,L1,F1,K3,D3,V2,M3,H3,b1,G1,q3,O3,R3,P3,B3,I3,S3,N3,Q1,B2,d1,n1,U2,E3,L3,$2,p1,V3,C3,T3,I2,S2,j3,b3,C2,h3,y3,N2,E1,T2,v3,g3,h1,c3,x3,N1,l3,j1,y1,m3;globalThis.abort??=(f)=>{if(f)console.error(f);process.exit(1)};globalThis.assert??=(f,U)=>{if(!f)throw Error(U||"Assertion failed")};globalThis.exit??=(f)=>process.exit(f||0);globalThis.kind??=(f)=>f!=null?(f.constructor?.name||Object.prototype.toString.call(f).slice(8,-1)).toLowerCase():String(f);globalThis.noop??=()=>{};globalThis.p??=console.log;globalThis.pp??=(f)=>{return console.log(JSON.stringify(f,null,2)),f};globalThis.raise??=(f,U)=>{throw U!==void 0?new f(U):Error(f)};globalThis.rand??=(f,U)=>U!==void 0?(f>U&&([f,U]=[U,f]),Math.floor(Math.random()*(U-f+1)+f)):f?Math.floor(Math.random()*f):Math.random();globalThis.sleep??=(f)=>new Promise((U)=>setTimeout(U,f));globalThis.todo??=(f)=>{throw Error(f||"Not implemented")};globalThis.warn??=console.warn;globalThis.zip??=(...f)=>f[0].map((U,_)=>f.map((W)=>W[_]));({__state:F1,__effect:L1,__batch:L2}=globalThis.__rip);({setContext:x3,getContext:j3,hasContext:h3}=globalThis.__ripComponent||{});E2=new WeakMap;P2=new WeakMap;B2=0;U2=F1(0);Q1=0;N2=function(f){return typeof f==="string"&&(f.indexOf(".")!==-1||f.indexOf("/")!==-1||f.indexOf("[")!==-1)};y3=function(f){return/^-?\d+$/.test(f)};C2=function(f,U){let _;if(!f[Symbol.for("signals")])Object.defineProperty(f,Symbol.for("signals"),{value:new Map,enumerable:!1});if(_=f[Symbol.for("signals")].get(U),!_)_=F1(f[U]),f[Symbol.for("signals")].set(U,_);return _};E1=function(f){return C2(f,Symbol.for("keys"))};m3=function(f){let U;if(!(f!=null&&typeof f==="object"))return f;if(f[Symbol.for("stash")])return f;if(f instanceof Date||f instanceof RegExp||f instanceof Map||f instanceof Set||f instanceof Promise)return f;if(U=E2.get(f),U)return U;return T2(f)};T2=function(f){let U,_;return _=null,U={get:function(W,u){let $,F,Y;if(u===Symbol.for("stash"))return!0;if(u===Symbol.for("raw"))return W;if(typeof u==="symbol")return Reflect.get(W,u);if(u==="length"&&Array.isArray(W))return E1(W).value,W.length;if(!Q1&&N2(u))return N1(_,u);if($=l3(_,u),$)return $;if(F=C2(W,u),Y=F.value,Y!=null&&typeof Y==="object")return m3(Y);return Y},set:function(W,u,$){let F,Y;if(!Q1&&N2(u))return j1(_,u,$),!0;if(F=W[u],Y=$?.[Symbol.for("raw")]?$[Symbol.for("raw")]:$,Y===F)return!0;if(W[u]=Y,W[Symbol.for("signals")]?.has(u))W[Symbol.for("signals")].get(u).value=Y;if(F===void 0&&Y!==void 0)E1(W).value=++B2;return U2.value++,!0},deleteProperty:function(W,u){let $;if(delete W[u],$=W[Symbol.for("signals")]?.get(u),$!=null)$.value=void 0;return E1(W).value=++B2,U2.value++,!0},ownKeys:function(W){return E1(W).value,Reflect.ownKeys(W)}},_=new Proxy(f,U),E2.set(f,_),_};X3=/([./][^./\[\s]+|\[[-+]?\d+\]|\[(?:"[^"]+"|'[^']+')\])/;y1=function(f){let U,_,W,u,$;W=("."+f).split(X3),W.shift(),$=[],_=0;while(_<W.length){if(u=W[_],U=u[0],U==="."||U==="/")$.push(u.slice(1));else if(U==="[")if(u[1]==='"'||u[1]==="'")$.push(u.slice(2,-2));else $.push(+u.slice(1,-1));_+=2}return $};h1=function(f,U){let _;if(typeof f==="number"&&f<0){if(_=v1(U),Array.isArray(_))return _.length+f}return f};N1=function(f,U){let _,W,u;return u=y1(U),_=f,Q1++,(()=>{try{for(let $ of u){if(_==null)return;_=_[h1($,_)]}return _}finally{Q1--}})()};j1=function(f,U,_){let W,u,$,F,Y,Z;return Z=y1(U),F=f,Q1++,(()=>{try{for(let G=0;G<Z.length;G++){let Q=Z[G];if(u=h1(Q,F),G===Z.length-1)F[u]=_;else{if(F[u]==null)$=Z[G+1],F[u]=typeof $==="number"||y3($)?[]:{};F=F[u]}}return _}finally{Q1--}})()};w3={inc:!0,dec:!0,flip:!0,join:!0,keys:!0,has:!0,del:!0};l3=function(f,U){let _,W;if(!w3[U])return;if(_=P2.get(f),!_)_={},P2.set(f,_);if(_[U])return _[U];return W=(()=>{switch(U){case"inc":return function(u,$=1){let F;return F=N1(f,u)??0,j1(f,u,F+$)};case"dec":return function(u,$=1){let F;return F=N1(f,u)??0,j1(f,u,F-$)};case"flip":return function(u){let $;return $=N1(f,u)??!1,j1(f,u,!$)};case"join":return function(u,$){return L2(function(){let F,Y,Z;if(Y=N1(f,u),!(Y!=null&&typeof Y==="object"))j1(f,u,{}),Y=N1(f,u);return Q1++,(()=>{try{return(()=>{let G=[];for(let Q in $){let z=$[Q];G.push(Y[Q]=z)}return G})()}finally{Q1--}})()})};case"keys":return function(u){let $,F,Y,Z;return Q1++,(()=>{try{Y=y1(u),$=f;for(let G of Y){if($==null)return[];$=$[h1(G,$)]}if(!($!=null&&typeof $==="object"))return[];return Z=v1($),E1(Z).value,Object.keys(Z)}finally{Q1--}})()};case"has":return function(u){let $,F,Y,Z,G,Q;return Q1++,(()=>{try{if(G=y1(u),!(G.length>0))return!1;Y=f;for(let z=0;z<G.length;z++){let A=G[z];if(F=h1(A,Y),z===G.length-1)return Q=v1(Y),E1(Q).value,Object.prototype.hasOwnProperty.call(Q,F);if(Y==null)return!1;Y=Y[F]}return!1}finally{Q1--}})()};case"del":return function(u){let $,F,Y,Z,G;return Q1++,(()=>{try{if(G=y1(u),!(G.length>0))return;return Y=f,(()=>{let Q=[];for(let z=0;z<G.length;z++){let A=G[z];if(F=h1(A,Y),z===G.length-1){delete Y[F];return}if(Y==null)return;Q.push(Y=Y[F])}return Q})()}finally{Q1--}})()}}})(),_[U]=W,W};var k3=function(f={}){return T2(f)},v1=function(f){return f?.[Symbol.for("raw")]?f[Symbol.for("raw")]:f},o5=function(f){return f?.[Symbol.for("stash")]===!0},i3=function(f,U={}){let _,W,u,$,F,Y,Z,G;if(Z=v1(f)||f,Z[Symbol.for("persisted")])return;Z[Symbol.for("persisted")]=!0,F=U.local?localStorage:sessionStorage,Y=U.key||"__rip_app";try{if(u=F.getItem(Y),u){$=JSON.parse(u);for(let Q in $){let z=$[Q];f.data[Q]=z}}}catch{}return _=function(){return(()=>{try{return F.setItem(Y,JSON.stringify(v1(f.data)))}catch{return null}})()},L1(function(){let Q;return U2.value,Q=setTimeout(_,2000),function(){return clearTimeout(Q)}}),window.addEventListener("beforeunload",_)},r5=function(f,U={}){let _,W,u,$,F;if(_=F1(U.initial||null),u=F1(!1),W=F1(null),$=async function(){let Y;return u.value=!0,W.value=null,await(async()=>{try{return Y=await f(),_.value=Y}catch(Z){return W.value=Z}finally{u.value=!1}})()},F={data:void 0,loading:void 0,error:void 0,refetch:$},Object.defineProperty(F,"data",{get:function(){return _.value}}),Object.defineProperty(F,"loading",{get:function(){return u.value}}),Object.defineProperty(F,"error",{get:function(){return W.value}}),!U.lazy)$();return F};n1=function(f){return typeof f==="function"?f:function(){return f.value}};d1=function(f,U){let _;return _={read:function(){return f.read()}},Object.defineProperty(_,"value",{get:function(){return f.value},set:function(W){return U.value=W}}),_};var p3=function(f,U){let _,W;return _=n1(U),W=F1(!!_()),L1(function(){let u;if(_())return u=setTimeout(function(){return W.value=!0},f),function(){return clearTimeout(u)};else return W.value=!1}),typeof U!=="function"?d1(W,U):W},s5=function(f,U){let _,W;return _=n1(U),W=F1(_()),L1(function(){let u,$;return $=_(),u=setTimeout(function(){return W.value=$},f),function(){return clearTimeout(u)}}),typeof U!=="function"?d1(W,U):W},t5=function(f,U){let _,W,u;return _=n1(U),u=F1(_()),W=0,L1(function(){let $,F,Y,Z;if(Z=_(),$=Date.now(),F=f-($-W),F<=0)return u.value=Z,W=$;else return Y=setTimeout(function(){return u.value=_(),W=Date.now()},F),function(){return clearTimeout(Y)}}),typeof U!=="function"?d1(u,U):u},e5=function(f,U){let _,W;return _=n1(U),W=F1(!!_()),L1(function(){let u;if(_())return W.value=!0;else return u=setTimeout(function(){return W.value=!1},f),function(){return clearTimeout(u)}}),typeof U!=="function"?d1(W,U):W},d3=function(){let f,U,_,W;return U=new Map,W=[],f=new Map,_=function(u,$){let F,Y=[];for(let Z of W)Y.push(Z(u,$));return Y},{read:function(u){return U.get(u)},write:function(u,$){let F;return F=!U.has(u),U.set(u,$),f.delete(u),_(F?"create":"change",u)},del:function(u){return U.delete(u),f.delete(u),_("delete",u)},exists:function(u){return U.has(u)},size:function(){return U.size},list:function(u=""){let $,F,Y,Z;Z=[],F=u?u+"/":"";for(let[G]of U)if(G.startsWith(F)){if(Y=G.slice(F.length),Y.includes("/"))continue;Z.push(G)}return Z},listAll:function(u=""){let $,F,Y;Y=[],F=u?u+"/":"";for(let[Z]of U)if(Z.startsWith(F))Y.push(Z);return Y},load:function(u){let $,F,Y=[];for(let Z in u){let G=u[Z];Y.push(U.set(Z,G))}return Y},watch:function(u){return W.push(u),function(){return W.splice(W.indexOf(u),1)}},getCompiled:function(u){return f.get(u)},setCompiled:function(u,$){return f.set(u,$)}}};T3=function(f){let U;if(U=f.replace(/\.rip$/,""),U=U.replace(/\[\.\.\.(\w+)\]/g,"*$1"),U=U.replace(/\[(\w+)\]/g,":$1"),U==="index")return"/";return U=U.replace(/\/index$/,""),"/"+U};g3=function(f){let U,_;return U=[],_=f.replace(/\*(\w+)/g,function(W,u){return U.push(u),"(.+)"}).replace(/:(\w+)/g,function(W,u){return U.push(u),"([^/]+)"}),{regex:new RegExp("^"+_+"$"),names:U}};v3=function(f,U){let _,W,u,$,F;for(let Y of U)if(W=f.match(Y.regex.regex),W){$={};for(let Z=0;Z<Y.regex.names.length;Z++){let G=Y.regex.names[Z];$[G]=decodeURIComponent(W[Z+1])}return{route:Y,params:$}}return null};$2=function(f,U="components"){let _,W,u,$,F,Y,Z,G,Q,z;G=[],$=new Map,_=f.listAll(U);for(let A of _){if(Z=A.slice(U.length+1),!Z.endsWith(".rip"))continue;if(F=Z.split("/").pop(),F==="_layout.rip"){W=Z==="_layout.rip"?"":Z.slice(0,-12),$.set(W,A);continue}if(F.startsWith("_"))continue;if(Q=Z.split("/"),Q.length>1&&Q.some(function(J,K){return K<Q.length-1&&J.startsWith("_")}))continue;z=T3(Z),Y=g3(z),G.push({pattern:z,regex:Y,file:A,rel:Z})}return G.sort(function(A,J){let K,D,w,X;if(D=(A.pattern.match(/:/g)||[]).length,X=(J.pattern.match(/:/g)||[]).length,K=A.pattern.includes("*")?1:0,w=J.pattern.includes("*")?1:0,K!==w)return K-w;if(D!==X)return D-X;return A.pattern.localeCompare(J.pattern)}),{routes:G,layouts:$}};b3=function(f,U,_){let W,u,$,F,Y,Z;if(W=[],F=f.slice(U.length+1),Z=F.split("/"),u="",_.has(""))W.push(_.get(""));for(let G=0;G<Z.length;G++){let Q=Z[G];if(G===Z.length-1)break;if(u=u?u+"/"+Q:Q,_.has(u))W.push(_.get(u))}return W};var n3=function(f,U={}){let _,W,u,$,F,Y,Z,G,Q,z,A,J,K,D,w,X,R,H,B,O,I;if(R=U.root||"components",Q=U.base||"",z=U.hash||!1,K=U.onError||null,B=function(q){return Q&&q.startsWith(Q)?q.slice(Q.length)||"/":q},G=function(q){return Q?Q+q:q},w=function(){let q;if(z){if(q=location.hash.slice(1),!q)return"/";return q[0]==="/"?q:"/"+q}else return location.pathname+location.search+location.hash},I=function(q){return z?q==="/"?location.pathname:"#"+q.slice(1):G(q)},F=F1(B(z?w():location.pathname)),$=F1({}),Z=F1(null),W=F1([]),Y=F1({}),_=F1(""),u=p3(100,F1(!1)),O=$2(f,R),A=new Set,f.watch(function(q,P){if(!P.startsWith(R+"/"))return;return O=$2(f,R)}),X=function(q){let P,M,S,L,C,N;if(C=q.split("?")[0].split("#")[0],S=B(C),S=S[0]==="/"?S:"/"+S,L=q.split("?")[1]?.split("#")[0]||"",M=q.includes("#")?q.split("#")[1]:"",N=v3(S,O.routes),N){L2(function(){return F.value=S,$.value=N.params,Z.value=N.route,W.value=b3(N.route.file,R,O.layouts),Y.value=Object.fromEntries(new URLSearchParams(L)),_.value=M});for(let V of A)V(H.current);return!0}if(K)K({status:404,path:S});return!1},D=function(){return X(w())},typeof window<"u")window.addEventListener("popstate",D);if(J=function(q){let P,M,S;if(q.button!==0||q.metaKey||q.ctrlKey||q.shiftKey||q.altKey)return;M=q.target;while(M&&M.tagName!=="A")M=M.parentElement;if(!M?.href)return;if(S=new URL(M.href,location.origin),S.origin!==location.origin)return;if(M.target==="_blank"||M.hasAttribute("data-external"))return;return q.preventDefault(),P=z&&S.hash?S.hash.slice(1)||"/":S.pathname+S.search+S.hash,H.push(P)},typeof document<"u")document.addEventListener("click",J);return H={push:function(q){return X(q)?history.pushState(null,"",I(F.read())):void 0},replace:function(q){return X(q)?history.replaceState(null,"",I(F.read())):void 0},back:function(){return history.back()},forward:function(){return history.forward()},current:void 0,path:void 0,params:void 0,route:void 0,layouts:void 0,query:void 0,hash:void 0,navigating:void 0,onNavigate:function(q){return A.add(q),function(){return A.delete(q)}},rebuild:function(){return O=$2(f,R)},routes:void 0,init:function(){return X(w()),H},destroy:function(){if(typeof window<"u")window.removeEventListener("popstate",D);if(typeof document<"u")document.removeEventListener("click",J);return A.clear()}},Object.defineProperty(H,"current",{get:function(){return{path:F.value,params:$.value,route:Z.value,layouts:W.value,query:Y.value,hash:_.value}}}),Object.defineProperty(H,"path",{get:function(){return F.value}}),Object.defineProperty(H,"params",{get:function(){return $.value}}),Object.defineProperty(H,"route",{get:function(){return Z.value}}),Object.defineProperty(H,"layouts",{get:function(){return W.value}}),Object.defineProperty(H,"query",{get:function(){return Y.value}}),Object.defineProperty(H,"hash",{get:function(){return _.value}}),Object.defineProperty(H,"navigating",{get:function(){return u.value},set:function(q){return u.value=q}}),Object.defineProperty(H,"routes",{get:function(){return O.routes}}),H};E3=function(f,U){let _,W;if(f.length!==U.length)return!1;for(let u=0;u<f.length;u++)if(f[u]!==U[u])return!1;return!0};S2=function(f){let U,_;for(let W in f){let u=f[W];if(typeof u==="function"&&(u.prototype?.mount||u.prototype?._create))return u}return typeof f.default==="function"?f.default:void 0};I2=function(f){let U,_,W;_={};for(let u in f){let $=f[u];if(typeof $==="function"&&($.prototype?.mount||$.prototype?._create))_[u]=$}return _};C3=function(f){let U;return U=f.split("/").pop().replace(/\.rip$/,""),U.replace(/(^|[-_])([a-z])/g,function(_,W,u){return u.toUpperCase()})};L3=function(f,U="components"){let _,W,u,$;W={};for(let F of f.listAll(U)){if(!F.endsWith(".rip"))continue;if(_=F.split("/").pop(),_.startsWith("_"))continue;if(u=C3(F),W[u])console.warn(`[Rip] Component name collision: ${u} (${W[u]} vs ${F})`);W[u]=F}return W};c3=function(f,U,_){let W,u,$,F,Y,Z;if($=f.replace(/^(\.\.\/|\.\/)+/,""),W=$.split("/").pop(),U){Y=U.split("/"),Y.pop();for(let G of f.split("/"))if(G==="..")Y.pop();else if(G!==".")Y.push(G);if(u=Y.join("/"),_.exists(u))return u}if(_.exists(`components/_lib/${$}`))return`components/_lib/${$}`;if(_.exists(`components/${$}`))return`components/${$}`;for(let G of _.listAll("components"))if(G.endsWith(`/${W}`))return G;return null};p1=async function(f,U,_=null,W=null,u=null){let $,F,Y,Z,G,Q,z,A,J,K,D,w,X,R,H,B,O,I,q,P,M,S,L,C,N,V,E,m,T,j;if(_&&W){if(Y=_.getCompiled(W),Y)return Y}if(u&&W)u.compiling??={},u.compiling[W]=!0;if(D=U(f),u){if(K=new Set,_){V=/^(\s*import\s+(?:\{([^}]+)\}\s+from\s+|.*?\s+from\s+)?['"])([^'"]*\.rip)(['"];?\s*)$/gm,R=Array.from(D.matchAll(V));for(let b=R.length-1;b>=0;b--){let c=R[b];if([A,L,q,E,S]=c,m=c3(E,W,_),m===W)continue;if(!m){if(B=`[Rip] Could not resolve import: ${E}`,W)B+=` (from ${W})`;console.warn(B);continue}if(!u.blobUrls?.[m]){if(u.compiling?.[m])continue;if(Q=_.read(m),Q)await p1(Q,U,_,m,u)}if(F=u.blobUrls?.[m],F){if(N=`${L}${F}${S}`,D=D.slice(0,c.index)+N+D.slice(c.index+A.length),q)for(let o of q.split(","))K.add(o.trim().split(/\s+as\s+/).pop().trim())}}}M={};for(let b in u.map){let c=u.map[b];if(K.has(b))continue;if(c!==W&&D.includes(`new ${b}(`)){if(!u.classes[b]){if(Q=_.read(c),Q){Z=await p1(Q,U,_,c,u),z=I2(Z);for(let o in z){let $1=z[o];u.classes[o]=$1}}}if(u.classes[b])M[b]=!0}}if(P=Object.keys(M),P.length>0)C=`const {${P.join(", ")}} = globalThis['${u.key}'];
2066
+ `,D=C+D}if(J=W?`// ${W}
2067
+ `:"",$=new Blob([J+D],{type:"application/javascript"}),T=URL.createObjectURL($),u&&W){if(u.blobUrls??={},u.blobUrls[W]=T,u.compiling)delete u.compiling[W]}if(H=await import(T),u){z=I2(H);for(let b in z){let c=z[b];u.classes[b]=c}}if(_&&W)_.setCompiled(W,H);return H};var a3=function(f={}){let U,_,W,u,$,F,Y,Z,G,Q,z,A,J,K,D,w,X,R,H,B,O,I;if({router:B,app:U,components:$,resolver:H,compile:W,target:O,onError:X}=f,F=typeof O==="string"?document.querySelector(O):O||document.getElementById("app"),!F)F=document.createElement("div"),F.id="app",document.body.appendChild(F);return Y=null,Q=null,G=null,Z=[],J=[],D=F,A=0,z=null,u=new Map,K=f.cacheSize||10,_=function(){let q,P;if(Y&&Q){if(Y.beforeUnmount)Y.beforeUnmount();if(u.set(Q,Y),u.size>K){if(P=u.keys().next().value,q=u.get(P),q.unmounted)q.unmounted();u.delete(P)}return Y=null,Q=null}},I=function(){let q;_();for(let P=J.length-1;P>=0;P--){let M=J[P];if(M.beforeUnmount)M.beforeUnmount();if(M.unmounted)M.unmounted();M._target?.remove()}return J=[],D=F},$.watch(function(q,P){let M;if(u.has(P)){if(M=u.get(P),M.unmounted)M.unmounted();return u.delete(P)}}),w=async function(q){let P,M,S,L,C,N,V,E,m,T,j,b,c,o,$1,y,v,l,d,s,u1,x,n;if({route:s,params:v,layouts:m,query:d}=q,!s)return;if(s.file===Q&&JSON.stringify(v)===JSON.stringify(G))return;return G=v,L=++A,B.navigating=!0,await(async()=>{try{if(x=$.read(s.file),!x){if(X)X({status:404,message:`File not found: ${s.file}`});B.navigating=!1;return}if(c=await p1(x,W,$,s.file,H),L!==A){B.navigating=!1;return}if(P=S2(c),!P){if(X)X({status:500,message:`No component found in ${s.file}`});B.navigating=!1;return}if(b=!E3(m,Z),$1=Y?._target,b)I();else _();if(o=b?F:D,b&&m.length>0){F.innerHTML="",o=F;for(let r of m){if(j=$.read(r),!j)continue;if(T=await p1(j,W,$,r,H),L!==A){B.navigating=!1;return}if(M=S2(T),!M)continue;if(N=new M({app:U,params:v,router:B}),N.beforeMount)N.beforeMount();n=document.createElement("div"),n.setAttribute("data-layout",r),o.appendChild(n),N.mount(n),J.push(N),u1=n.querySelector("#content")||n,o=u1}Z=[...m],D=o}else if(b)F.innerHTML="",Z=[],D=F;if(S=u.get(s.file),S){if(u.delete(s.file),o.appendChild(S._target),Y=S,Q=s.file,v)S.params=v;if(d)S.query=d;if(S.mounted)S.mounted();if(S.load)await S.load(v,d)}else{if(y=document.createElement("div"),y.setAttribute("data-component",s.file),o.appendChild(y),V=new P({app:U,params:v,query:d,router:B}),V.beforeMount)V.beforeMount();if(V.mount(y),Y=V,Q=s.file,V.load)await V.load(v,d)}return $1?.remove(),B.navigating=!1}catch(r){if(B.navigating=!1,console.error(`Renderer: error mounting ${s.file}:`,r),X)X({status:500,message:r.message,error:r});C=!1;for(let e=J.length-1;e>=0;e--){let h=J[e];if(h.onError)try{h.onError(r),C=!0;break}catch(p){console.error("Renderer: error boundary failed:",p)}}return(()=>{if(!C)return l=document.createElement("pre"),l.style.cssText="color:red;padding:1em",l.textContent=r.stack||r.message,F.innerHTML="",F.appendChild(l)})()}})()},R={start:function(){return z=L1(function(){let q;return q=B.current,q.route?w(q):void 0}),B.init(),R},stop:function(){if(I(),z)z(),z=null;return F.innerHTML=""},remount:function(){let q;return q=B.current,q.route?w(q):void 0},cache:u},R};V3=function(f){let U,_,W;return W=1000,_=30000,U=function(){let u;return u=new EventSource(f),u.addEventListener("connected",function(){return W=1000,console.log("[Rip] Hot reload connected")}),u.addEventListener("reload",function(){return console.log("[Rip] Reloading..."),location.reload()}),u.addEventListener("css",function(){let $,F=[];for(let Y of document.querySelectorAll('link[rel="stylesheet"]'))f=new URL(Y.href),f.searchParams.set("_t",Date.now()),Y.href=f.toString();return F}),u.onerror=function(){return u.close(),setTimeout(U,W),W=Math.min(W*2,_)}},U()};var u0=async function(f="",U={}){let _,W,u,$,F,Y,Z,G,Q,z,A,J,K,D,w,X,R;if(globalThis.__ripLaunched=!0,typeof f==="object")U=f,f="";if(f=f.replace(/\/+$/,""),R=U.target||"#app",Y=U.compile||null,J=U.persist||!1,z=U.hash||!1,!Y)Y=globalThis?.compileToJS||null;if(typeof document<"u"&&!document.querySelector(R))Z=document.createElement("div"),Z.id=R.replace(/^#/,""),document.body.prepend(Z);if(U.bundle)u=U.bundle;else if(U.bundleUrl){if(A={},Q=`__rip_etag_${U.bundleUrl}`,$=sessionStorage.getItem(Q),$)A["If-None-Match"]=$;if(D=await fetch(U.bundleUrl,{headers:A}),D.status===304)u=JSON.parse(sessionStorage.getItem(`${Q}_data`));else if(D.ok){if(u=await D.json(),G=D.headers.get("etag"),G)sessionStorage.setItem(Q,G),sessionStorage.setItem(`${Q}_data`,JSON.stringify(u))}else throw Error(`launch: ${U.bundleUrl} (${D.status})`)}else throw Error("launch: no bundle or bundleUrl provided");if(_=k3({components:{},routes:{},data:{}}),globalThis.__ripApp=_,u.data)_.data=u.data;if(u.routes)_.routes=u.routes;if(J&&typeof sessionStorage<"u")i3(_,{local:J==="local",key:`__rip_${f}`});if(W=d3(),u.components)W.load(u.components);if(F=`__rip_${f.replace(/\//g,"_")||"app"}`,w={map:L3(W),classes:{},key:F},typeof globalThis<"u")globalThis[F]=w.classes;if(_.data.title&&typeof document<"u")document.title=_.data.title;if(X=n3(W,{root:"components",base:f,hash:z,onError:function(H){return console.error(`[Rip] Error ${H.status}: ${H.message||H.path}`)}}),K=a3({router:X,app:_,components:W,resolver:w,compile:Y,target:R,onError:function(H){return console.error(`[Rip] ${H.message}`,H.error)}}),K.start(),u.data?.watch)V3(`${f}/watch`);if(typeof window<"u")window.app=_,window.__RIP__={app:_,components:W,router:X,renderer:K,cache:K.cache,version:"0.3.0"};return{app:_,components:W,router:X,renderer:K}};G1=function(f,U){if(!U)return;return f.preventDefault(),f.stopPropagation(),U()};globalThis.__ariaLastFocusedEl??=null;if(typeof document<"u"&&!globalThis.__ariaFocusTrackerBound)document.addEventListener("focusin",function(f){return globalThis.__ariaLastFocusedEl=f.target},!0),globalThis.__ariaFocusTrackerBound=!0;M3=function(f,U){if(f.isComposing)return;return(()=>{switch(f.key){case"ArrowDown":return G1(f,U.next);case"ArrowUp":return G1(f,U.prev);case"Home":case"PageUp":return G1(f,U.first);case"End":case"PageDown":return G1(f,U.last);case"Enter":case" ":return G1(f,U.select);case"Escape":return G1(f,U.dismiss);case"Tab":return U.tab?.();default:return f.key.length===1?U.char?.(f.key):void 0}})()};q3=function(f,U,_,W=[],u=null){let $,F,Y;if(!f)return;return $=function(Z){return typeof Z==="function"?Z():Z},F=(Z)=>{return![$(U),...W.map($)].some(function(G){return G?.contains(Z.target)})?_():void 0},Y=(Z)=>{if($(U)?.contains(Z.target))return;return u?u():_()},document.addEventListener("mousedown",F),window.addEventListener("scroll",Y,!0),function(){return document.removeEventListener("mousedown",F),window.removeEventListener("scroll",Y,!0)}};O3=function(f=250){let U;return U=0,{block:function(_=f){return U=Date.now()+_},canOpen:function(){return Date.now()>=U}}};D3=function(f,U,_,W=null){let u,$,F,Y,Z,G,Q,z,A,J,K;if(Y=function(D){return typeof D==="function"?D():D},u=function(){let D,w;if(D=document.activeElement,D&&D!==document.body)return D;if(w=globalThis.__ariaLastFocusedEl,w?.isConnected!==!1)return w;return null},F=Y(U),!F)return;if(!Object.hasOwn(HTMLElement.prototype,"togglePopover"))return;if(Q=null,K=function(D){if(D){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}},z=function(){let D,w;if(w=Q,Q=null,!w?.focus)return;return D=function(X=6){if(w.isConnected===!1)return;try{w.focus({preventScroll:!0})}catch{w.focus()}if(document.activeElement===w||X<=1)return;return setTimeout(function(){return D(X-1)},16)},requestAnimationFrame(function(){return D()})},Z=function(D){let w;if(w=D.newState==="open",w)Q=Y(W)||u(),K(!0);else K(!1),z();return _?.(w)},F.addEventListener("toggle",Z),A=F.matches(":popover-open"),$=!!f,A!==$){if(J=Y(W),$)Q=J||u(),K(!0);G=J&&$?{force:$,source:J}:{force:$};try{F.togglePopover(G)}catch{}}else K($);return function(){return F.removeEventListener("toggle",Z)}};K3=function(f,U,_,W=!0){let u,$,F,Y,Z,G,Q,z;if(F=function(A){return typeof A==="function"?A():A},u=function(){let A,J;if(A=document.activeElement,A&&A!==document.body)return A;if(J=globalThis.__ariaLastFocusedEl,J?.isConnected!==!1)return J;return null},$=F(U),!$?.showModal)return;if(G=null,z=function(A){if(A){$.hidden=!1;try{$.inert=!1}catch{}return $.removeAttribute("aria-hidden")}else{try{$.inert=!0}catch{}return $.setAttribute("aria-hidden","true"),$.hidden=!0}},Q=function(){let A,J;if(J=G,G=null,!J?.focus)return;return A=function(K=6){if(J.isConnected===!1)return;try{J.focus({preventScroll:!0})}catch{J.focus()}if(document.activeElement===J||K<=1)return;return setTimeout(function(){return A(K-1)},16)},requestAnimationFrame(function(){return A()})},Y=function(A){if(!W){A.preventDefault();return}return _?.(!1)},Z=function(){return _?.(!1),z(!1),Q()},$.addEventListener("cancel",Y),$.addEventListener("close",Z),f&&!$.open){if(!G)G=u();z(!0);try{$.showModal()}catch{}}else if(!f&&$.open)$.close();else z(!!f);return function(){return $.removeEventListener("cancel",Y),$.removeEventListener("close",Z)}};B3=function(f,U,_="vertical"){let W,u;if(f.isComposing)return;return u=_!=="horizontal",W=_!=="vertical",(()=>{switch(f.key){case"ArrowDown":return u?G1(f,U.next):void 0;case"ArrowUp":return u?G1(f,U.prev):void 0;case"ArrowRight":return W?G1(f,U.next):void 0;case"ArrowLeft":return W?G1(f,U.prev):void 0;case"Home":case"PageUp":return G1(f,U.first);case"End":case"PageDown":return G1(f,U.last);case"Enter":case" ":return G1(f,U.select);case"Escape":return G1(f,U.dismiss);default:return f.key.length===1?U.char?.(f.key):void 0}})()};P3=function(f,U,_=4,W=!0){let u,$;if(!(f&&U))return;if($=f.getBoundingClientRect(),U.style.position="fixed",U.style.left=`${$.left}px`,U.style.top=`${$.bottom+_}px`,U.style.minWidth=`${$.width}px`,u=U.getBoundingClientRect(),u.bottom>window.innerHeight)U.style.top=`${$.top-u.height-_}px`;if(u.right>window.innerWidth)U.style.left=`${window.innerWidth-u.width-_}px`;return W?U.style.visibility="visible":void 0};var f0='a[href],button:not([disabled]),input:not([disabled]),select:not([disabled]),textarea:not([disabled]),[tabindex]:not([tabindex="-1"])';I3=function(f){let U;return U=function(_){let W,u,$;if(_.key!=="Tab")return;if($=Array.from(f.querySelectorAll(f0)).filter(function(F){return F.offsetParent!==null}),!$.length)return;return W=$[0],u=$[$.length-1],_.shiftKey?document.activeElement===W?(_.preventDefault(),u.focus()):void 0:document.activeElement===u?(_.preventDefault(),W.focus()):void 0},f.addEventListener("keydown",U),function(){return f.removeEventListener("keydown",U)}};N3=function(f,U){let _,W;if(!f)return;if(W=f.querySelector("h1,h2,h3,h4,h5,h6"),W)W.id??=`${U}-title`,f.setAttribute("aria-labelledby",W.id);if(_=f.querySelector("p"),_)return _.id??=`${U}-desc`,f.setAttribute("aria-describedby",_.id)};b1=[];H3=function(f){let U;if(U=window.scrollY,b1.push({instance:f,scrollY:U}),b1.length===1)return document.body.style.position="fixed",document.body.style.top=`-${U}px`,document.body.style.width="100%"};S3=function(f){let U,_;if(U=b1.findIndex(function(W){return W.instance===f}),U<0)return;if({scrollY:_}=b1.splice(U,1)[0],!b1.length)return document.body.style.position="",document.body.style.top="",document.body.style.width="",window.scrollTo(0,_)};V2=function(){let f,U,_;return(()=>{try{if(!document?.createElement)return!1;return f=document.createElement("div"),U=document.createElement("div"),f.style.cssText="position:fixed;top:100px;left:100px;width:10px;height:10px;anchor-name:--probe",U.style.cssText="position:fixed;inset:auto;margin:0;position-anchor:--probe;position-area:bottom start;width:10px;height:10px",document.body.appendChild(f),document.body.appendChild(U),_=U.getBoundingClientRect(),f.remove(),U.remove(),_.top>50}catch{return!1}})()}();R3=function(f,U,_={}){let W,u,$,F,Y,Z,G;if(!(f&&U))return;if(Y=_.placement??"bottom start",F=_.offset??4,u=_.matchWidth??!1,V2){switch($=`--anchor-${U.id||Math.random().toString(36).slice(2,8)}`,f.style.anchorName=$,U.style.positionAnchor=$,U.style.position="fixed",U.style.inset="auto",U.style.margin="0",U.style.positionArea=Y,U.style.positionTry="flip-block, flip-inline, flip-block flip-inline",U.style.positionVisibility="anchors-visible",[G]=Y.split(" "),U.style.marginTop="",U.style.marginBottom="",U.style.marginLeft="",U.style.marginRight="",G){case"bottom":U.style.marginTop=`${F}px`;break;case"top":U.style.marginBottom=`${F}px`;break;case"left":U.style.marginRight=`${F}px`;break;case"right":U.style.marginLeft=`${F}px`;break}return u?U.style.minWidth="anchor-size(width)":void 0}else{switch(Z=f.getBoundingClientRect(),U.style.position="fixed",U.style.inset="auto",U.style.margin="0",[G,W]=Y.split(" "),W??="start",G){case"bottom":U.style.top=`${Z.bottom+F}px`;break;case"top":U.style.bottom=`${window.innerHeight-Z.top+F}px`;break;case"left":U.style.right=`${window.innerWidth-Z.left+F}px`;break;case"right":U.style.left=`${Z.right+F}px`;break}if(Array.isArray(["bottom","top"])?["bottom","top"].includes(G):(G in["bottom","top"]))switch(W){case"start":U.style.left=`${Z.left}px`;break;case"center":U.style.left=`${Z.left+Z.width/2}px`,U.style.transform="translateX(-50%)";break;case"end":U.style.right=`${window.innerWidth-Z.right}px`;break}else switch(W){case"start":U.style.top=`${Z.top}px`;break;case"center":U.style.top=`${Z.top+Z.height/2}px`,U.style.transform="translateY(-50%)";break;case"end":U.style.bottom=`${window.innerHeight-Z.bottom}px`;break}return u?U.style.minWidth=`${Z.width}px`:void 0}};globalThis.__aria??={listNav:M3,rovingNav:B3,popupDismiss:q3,popupGuard:O3,bindPopover:D3,bindDialog:K3,positionBelow:P3,trapFocus:I3,wireAria:N3,lockScroll:H3,unlockScroll:S3,position:R3,hasAnchor:V2};globalThis.ARIA??=globalThis.__aria;S1.modules["ui.rip"]=W2;for(let[f,U]of Object.entries(W2))if(typeof U==="function")globalThis[f]=U;})();