SOURCE_FILE@[0; 3813) COMMENT@[0; 55) WHITESPACE@[55; 56) COMMENT@[56; 173) WHITESPACE@[173; 174) COMMENT@[174; 178) WHITESPACE@[178; 179) COMMENT@[179; 269) WHITESPACE@[269; 271) ATTR@[271; 302) POUND@[271; 272) EXCL@[272; 273) TOKEN_TREE@[273; 302) L_BRACK@[273; 274) IDENT@[274; 279) "allow" TOKEN_TREE@[279; 301) L_PAREN@[279; 280) IDENT@[280; 300) "non_camel_case_types" R_PAREN@[300; 301) R_BRACK@[301; 302) WHITESPACE@[302; 303) ATTR@[303; 323) POUND@[303; 304) EXCL@[304; 305) TOKEN_TREE@[305; 323) L_BRACK@[305; 306) IDENT@[306; 311) "allow" TOKEN_TREE@[311; 322) L_PAREN@[311; 312) IDENT@[312; 321) "dead_code" R_PAREN@[321; 322) R_BRACK@[322; 323) WHITESPACE@[323; 324) ATTR@[324; 351) POUND@[324; 325) EXCL@[325; 326) TOKEN_TREE@[326; 351) L_BRACK@[326; 327) IDENT@[327; 332) "allow" TOKEN_TREE@[332; 350) L_PAREN@[332; 333) IDENT@[333; 349) "unreachable_code" R_PAREN@[349; 350) R_BRACK@[350; 351) WHITESPACE@[351; 352) ATTR@[352; 376) POUND@[352; 353) EXCL@[353; 354) TOKEN_TREE@[354; 376) L_BRACK@[354; 355) IDENT@[355; 360) "allow" TOKEN_TREE@[360; 375) L_PAREN@[360; 361) IDENT@[361; 374) "unused_parens" R_PAREN@[374; 375) R_BRACK@[375; 376) WHITESPACE@[376; 378) ATTR@[378; 405) POUND@[378; 379) EXCL@[379; 380) TOKEN_TREE@[380; 405) L_BRACK@[380; 381) IDENT@[381; 396) "recursion_limit" WHITESPACE@[396; 397) EQ@[397; 398) WHITESPACE@[398; 399) STRING@[399; 404) R_BRACK@[404; 405) WHITESPACE@[405; 407) USE_ITEM@[407; 427) USE_KW@[407; 410) WHITESPACE@[410; 411) USE_TREE@[411; 426) PATH@[411; 426) PATH@[411; 420) PATH@[411; 414) PATH_SEGMENT@[411; 414) NAME_REF@[411; 414) IDENT@[411; 414) "std" COLONCOLON@[414; 416) PATH_SEGMENT@[416; 420) NAME_REF@[416; 420) IDENT@[416; 420) "cell" COLONCOLON@[420; 422) PATH_SEGMENT@[422; 426) NAME_REF@[422; 426) IDENT@[422; 426) "Cell" SEMI@[426; 427) WHITESPACE@[427; 428) USE_ITEM@[428; 447) USE_KW@[428; 431) WHITESPACE@[431; 432) USE_TREE@[432; 446) PATH@[432; 446) PATH@[432; 440) PATH@[432; 435) PATH_SEGMENT@[432; 435) NAME_REF@[432; 435) IDENT@[432; 435) "std" COLONCOLON@[435; 437) PATH_SEGMENT@[437; 440) NAME_REF@[437; 440) IDENT@[437; 440) "mem" COLONCOLON@[440; 442) PATH_SEGMENT@[442; 446) NAME_REF@[442; 446) IDENT@[442; 446) "swap" SEMI@[446; 447) WHITESPACE@[447; 449) COMMENT@[449; 518) WHITESPACE@[518; 520) FN_DEF@[520; 572) FN_KW@[520; 522) WHITESPACE@[522; 523) NAME@[523; 530) IDENT@[523; 530) "strange" PARAM_LIST@[530; 532) L_PAREN@[530; 531) R_PAREN@[531; 532) WHITESPACE@[532; 533) RET_TYPE@[533; 540) THIN_ARROW@[533; 535) WHITESPACE@[535; 536) PATH_TYPE@[536; 540) PATH@[536; 540) PATH_SEGMENT@[536; 540) NAME_REF@[536; 540) IDENT@[536; 540) "bool" WHITESPACE@[540; 541) BLOCK@[541; 572) L_CURLY@[541; 542) WHITESPACE@[542; 543) LET_STMT@[543; 570) LET_KW@[543; 546) WHITESPACE@[546; 547) BIND_PAT@[547; 549) NAME@[547; 549) IDENT@[547; 549) "_x" COLON@[549; 550) WHITESPACE@[550; 551) PATH_TYPE@[551; 555) PATH@[551; 555) PATH_SEGMENT@[551; 555) NAME_REF@[551; 555) IDENT@[551; 555) "bool" WHITESPACE@[555; 556) EQ@[556; 557) WHITESPACE@[557; 558) RETURN_EXPR@[558; 569) RETURN_KW@[558; 564) WHITESPACE@[564; 565) LITERAL@[565; 569) TRUE_KW@[565; 569) SEMI@[569; 570) WHITESPACE@[570; 571) R_CURLY@[571; 572) WHITESPACE@[572; 574) FN_DEF@[574; 624) FN_KW@[574; 576) WHITESPACE@[576; 577) NAME@[577; 582) IDENT@[577; 582) "funny" PARAM_LIST@[582; 584) L_PAREN@[582; 583) R_PAREN@[583; 584) WHITESPACE@[584; 585) BLOCK@[585; 624) L_CURLY@[585; 586) WHITESPACE@[586; 591) FN_DEF@[591; 607) FN_KW@[591; 593) WHITESPACE@[593; 594) NAME@[594; 595) IDENT@[594; 595) "f" PARAM_LIST@[595; 603) L_PAREN@[595; 596) PARAM@[596; 602) BIND_PAT@[596; 598) NAME@[596; 598) IDENT@[596; 598) "_x" COLON@[598; 599) WHITESPACE@[599; 600) TUPLE_TYPE@[600; 602) L_PAREN@[600; 601) R_PAREN@[601; 602) R_PAREN@[602; 603) WHITESPACE@[603; 604) BLOCK@[604; 607) L_CURLY@[604; 605) WHITESPACE@[605; 606) R_CURLY@[606; 607) WHITESPACE@[607; 612) EXPR_STMT@[612; 622) CALL_EXPR@[612; 621) PATH_EXPR@[612; 613) PATH@[612; 613) PATH_SEGMENT@[612; 613) NAME_REF@[612; 613) IDENT@[612; 613) "f" ARG_LIST@[613; 621) L_PAREN@[613; 614) RETURN_EXPR@[614; 620) RETURN_KW@[614; 620) R_PAREN@[620; 621) SEMI@[621; 622) WHITESPACE@[622; 623) R_CURLY@[623; 624) WHITESPACE@[624; 626) FN_DEF@[626; 816) FN_KW@[626; 628) WHITESPACE@[628; 629) NAME@[629; 633) IDENT@[629; 633) "what" PARAM_LIST@[633; 635) L_PAREN@[633; 634) R_PAREN@[634; 635) WHITESPACE@[635; 636) BLOCK@[636; 816) L_CURLY@[636; 637) WHITESPACE@[637; 642) FN_DEF@[642; 720) FN_KW@[642; 644) WHITESPACE@[644; 645) NAME@[645; 648) IDENT@[645; 648) "the" PARAM_LIST@[648; 664) L_PAREN@[648; 649) PARAM@[649; 663) BIND_PAT@[649; 650) NAME@[649; 650) IDENT@[649; 650) "x" COLON@[650; 651) WHITESPACE@[651; 652) REFERENCE_TYPE@[652; 663) AMP@[652; 653) PATH_TYPE@[653; 663) PATH@[653; 663) PATH_SEGMENT@[653; 663) NAME_REF@[653; 657) IDENT@[653; 657) "Cell" TYPE_ARG_LIST@[657; 663) L_ANGLE@[657; 658) TYPE_ARG@[658; 662) PATH_TYPE@[658; 662) PATH@[658; 662) PATH_SEGMENT@[658; 662) NAME_REF@[658; 662) IDENT@[658; 662) "bool" R_ANGLE@[662; 663) R_PAREN@[663; 664) WHITESPACE@[664; 665) BLOCK@[665; 720) L_CURLY@[665; 666) WHITESPACE@[666; 675) EXPR_STMT@[675; 714) RETURN_EXPR@[675; 713) RETURN_KW@[675; 681) WHITESPACE@[681; 682) WHILE_EXPR@[682; 713) WHILE_KW@[682; 687) WHITESPACE@[687; 688) CONDITION@[688; 696) PREFIX_EXPR@[688; 696) EXCL@[688; 689) METHOD_CALL_EXPR@[689; 696) PATH_EXPR@[689; 690) PATH@[689; 690) PATH_SEGMENT@[689; 690) NAME_REF@[689; 690) IDENT@[689; 690) "x" DOT@[690; 691) NAME_REF@[691; 694) IDENT@[691; 694) "get" ARG_LIST@[694; 696) L_PAREN@[694; 695) R_PAREN@[695; 696) WHITESPACE@[696; 697) BLOCK@[697; 713) L_CURLY@[697; 698) WHITESPACE@[698; 699) EXPR_STMT@[699; 711) METHOD_CALL_EXPR@[699; 710) PATH_EXPR@[699; 700) PATH@[699; 700) PATH_SEGMENT@[699; 700) NAME_REF@[699; 700) IDENT@[699; 700) "x" DOT@[700; 701) NAME_REF@[701; 704) IDENT@[701; 704) "set" ARG_LIST@[704; 710) L_PAREN@[704; 705) LITERAL@[705; 709) TRUE_KW@[705; 709) R_PAREN@[709; 710) SEMI@[710; 711) WHITESPACE@[711; 712) R_CURLY@[712; 713) SEMI@[713; 714) WHITESPACE@[714; 719) R_CURLY@[719; 720) WHITESPACE@[720; 725) LET_STMT@[725; 751) LET_KW@[725; 728) WHITESPACE@[728; 729) BIND_PAT@[729; 730) NAME@[729; 730) IDENT@[729; 730) "i" WHITESPACE@[730; 731) EQ@[731; 732) WHITESPACE@[732; 733) REF_EXPR@[733; 750) AMP@[733; 734) CALL_EXPR@[734; 750) PATH_EXPR@[734; 743) PATH@[734; 743) PATH@[734; 738) PATH_SEGMENT@[734; 738) NAME_REF@[734; 738) IDENT@[734; 738) "Cell" COLONCOLON@[738; 740) PATH_SEGMENT@[740; 743) NAME_REF@[740; 743) IDENT@[740; 743) "new" ARG_LIST@[743; 750) L_PAREN@[743; 744) LITERAL@[744; 749) FALSE_KW@[744; 749) R_PAREN@[749; 750) SEMI@[750; 751) WHITESPACE@[751; 756) LET_STMT@[756; 778) LET_KW@[756; 759) WHITESPACE@[759; 760) BIND_PAT@[760; 764) NAME@[760; 764) IDENT@[760; 764) "dont" WHITESPACE@[764; 765) EQ@[765; 766) WHITESPACE@[766; 767) BLOCK_EXPR@[767; 777) BLOCK@[767; 777) L_CURLY@[767; 768) LAMBDA_EXPR@[768; 776) PARAM_LIST@[768; 770) PIPE@[768; 769) PIPE@[769; 770) CALL_EXPR@[770; 776) PATH_EXPR@[770; 773) PATH@[770; 773) PATH_SEGMENT@[770; 773) NAME_REF@[770; 773) IDENT@[770; 773) "the" ARG_LIST@[773; 776) L_PAREN@[773; 774) PATH_EXPR@[774; 775) PATH@[774; 775) PATH_SEGMENT@[774; 775) NAME_REF@[774; 775) IDENT@[774; 775) "i" R_PAREN@[775; 776) R_CURLY@[776; 777) SEMI@[777; 778) WHITESPACE@[778; 783) EXPR_STMT@[783; 790) CALL_EXPR@[783; 789) PATH_EXPR@[783; 787) PATH@[783; 787) PATH_SEGMENT@[783; 787) NAME_REF@[783; 787) IDENT@[783; 787) "dont" ARG_LIST@[787; 789) L_PAREN@[787; 788) R_PAREN@[788; 789) SEMI@[789; 790) WHITESPACE@[790; 795) EXPR_STMT@[795; 814) MACRO_CALL@[795; 813) PATH@[795; 801) PATH_SEGMENT@[795; 801) NAME_REF@[795; 801) IDENT@[795; 801) "assert" EXCL@[801; 802) TOKEN_TREE@[802; 813) L_PAREN@[802; 803) TOKEN_TREE@[803; 812) L_PAREN@[803; 804) IDENT@[804; 805) "i" DOT@[805; 806) IDENT@[806; 809) "get" TOKEN_TREE@[809; 811) L_PAREN@[809; 810) R_PAREN@[810; 811) R_PAREN@[811; 812) R_PAREN@[812; 813) SEMI@[813; 814) WHITESPACE@[814; 815) R_CURLY@[815; 816) WHITESPACE@[816; 818) FN_DEF@[818; 1322) FN_KW@[818; 820) WHITESPACE@[820; 821) NAME@[821; 832) IDENT@[821; 832) "zombiejesus" PARAM_LIST@[832; 834) L_PAREN@[832; 833) R_PAREN@[833; 834) WHITESPACE@[834; 835) BLOCK@[835; 1322) L_CURLY@[835; 836) WHITESPACE@[836; 841) LOOP_EXPR@[841; 1320) LOOP_KW@[841; 845) WHITESPACE@[845; 846) BLOCK@[846; 1320) L_CURLY@[846; 847) WHITESPACE@[847; 856) EXPR_STMT@[856; 1283) WHILE_EXPR@[856; 1283) WHILE_KW@[856; 861) WHITESPACE@[861; 862) CONDITION@[862; 870) PAREN_EXPR@[862; 870) L_PAREN@[862; 863) RETURN_EXPR@[863; 869) RETURN_KW@[863; 869) R_PAREN@[869; 870) WHITESPACE@[870; 871) BLOCK@[871; 1283) L_CURLY@[871; 872) WHITESPACE@[872; 885) IF_EXPR@[885; 1273) IF_KW@[885; 887) WHITESPACE@[887; 888) CONDITION@[888; 896) PAREN_EXPR@[888; 896) L_PAREN@[888; 889) RETURN_EXPR@[889; 895) RETURN_KW@[889; 895) R_PAREN@[895; 896) WHITESPACE@[896; 897) BLOCK@[897; 1216) L_CURLY@[897; 898) WHITESPACE@[898; 915) EXPR_STMT@[915; 1202) MATCH_EXPR@[915; 1201) MATCH_KW@[915; 920) WHITESPACE@[920; 921) PAREN_EXPR@[921; 929) L_PAREN@[921; 922) RETURN_EXPR@[922; 928) RETURN_KW@[922; 928) R_PAREN@[928; 929) WHITESPACE@[929; 930) MATCH_ARM_LIST@[930; 1201) L_CURLY@[930; 931) WHITESPACE@[931; 952) MATCH_ARM@[952; 1147) LITERAL_PAT@[952; 953) LITERAL@[952; 953) INT_NUMBER@[952; 953) "1" WHITESPACE@[953; 954) FAT_ARROW@[954; 956) WHITESPACE@[956; 957) BLOCK_EXPR@[957; 1147) BLOCK@[957; 1147) L_CURLY@[957; 958) WHITESPACE@[958; 983) IF_EXPR@[983; 1125) IF_KW@[983; 985) WHITESPACE@[985; 986) CONDITION@[986; 994) PAREN_EXPR@[986; 994) L_PAREN@[986; 987) RETURN_EXPR@[987; 993) RETURN_KW@[987; 993) R_PAREN@[993; 994) WHITESPACE@[994; 995) BLOCK@[995; 1057) L_CURLY@[995; 996) WHITESPACE@[996; 1025) RETURN_EXPR@[1025; 1031) RETURN_KW@[1025; 1031) WHITESPACE@[1031; 1056) R_CURLY@[1056; 1057) WHITESPACE@[1057; 1058) ELSE_KW@[1058; 1062) WHITESPACE@[1062; 1063) BLOCK@[1063; 1125) L_CURLY@[1063; 1064) WHITESPACE@[1064; 1093) RETURN_EXPR@[1093; 1099) RETURN_KW@[1093; 1099) WHITESPACE@[1099; 1124) R_CURLY@[1124; 1125) WHITESPACE@[1125; 1146) R_CURLY@[1146; 1147) WHITESPACE@[1147; 1168) MATCH_ARM@[1168; 1183) PLACEHOLDER_PAT@[1168; 1169) UNDERSCORE@[1168; 1169) WHITESPACE@[1169; 1170) FAT_ARROW@[1170; 1172) WHITESPACE@[1172; 1173) BLOCK_EXPR@[1173; 1183) BLOCK@[1173; 1183) L_CURLY@[1173; 1174) WHITESPACE@[1174; 1175) RETURN_EXPR@[1175; 1181) RETURN_KW@[1175; 1181) WHITESPACE@[1181; 1182) R_CURLY@[1182; 1183) WHITESPACE@[1183; 1200) R_CURLY@[1200; 1201) SEMI@[1201; 1202) WHITESPACE@[1202; 1215) R_CURLY@[1215; 1216) WHITESPACE@[1216; 1217) ELSE_KW@[1217; 1221) WHITESPACE@[1221; 1222) IF_EXPR@[1222; 1273) IF_KW@[1222; 1224) WHITESPACE@[1224; 1225) CONDITION@[1225; 1233) PAREN_EXPR@[1225; 1233) L_PAREN@[1225; 1226) RETURN_EXPR@[1226; 1232) RETURN_KW@[1226; 1232) R_PAREN@[1232; 1233) WHITESPACE@[1233; 1234) BLOCK@[1234; 1273) L_CURLY@[1234; 1235) WHITESPACE@[1235; 1252) EXPR_STMT@[1252; 1259) RETURN_EXPR@[1252; 1258) RETURN_KW@[1252; 1258) SEMI@[1258; 1259) WHITESPACE@[1259; 1272) R_CURLY@[1272; 1273) WHITESPACE@[1273; 1282) R_CURLY@[1282; 1283) WHITESPACE@[1283; 1292) IF_EXPR@[1292; 1314) IF_KW@[1292; 1294) WHITESPACE@[1294; 1295) CONDITION@[1295; 1303) PAREN_EXPR@[1295; 1303) L_PAREN@[1295; 1296) RETURN_EXPR@[1296; 1302) RETURN_KW@[1296; 1302) R_PAREN@[1302; 1303) WHITESPACE@[1303; 1304) BLOCK@[1304; 1314) L_CURLY@[1304; 1305) WHITESPACE@[1305; 1306) EXPR_STMT@[1306; 1312) BREAK_EXPR@[1306; 1311) BREAK_KW@[1306; 1311) SEMI@[1311; 1312) WHITESPACE@[1312; 1313) R_CURLY@[1313; 1314) WHITESPACE@[1314; 1319) R_CURLY@[1319; 1320) WHITESPACE@[1320; 1321) R_CURLY@[1321; 1322) WHITESPACE@[1322; 1324) FN_DEF@[1324; 1539) FN_KW@[1324; 1326) WHITESPACE@[1326; 1327) NAME@[1327; 1334) IDENT@[1327; 1334) "notsure" PARAM_LIST@[1334; 1336) L_PAREN@[1334; 1335) R_PAREN@[1335; 1336) WHITESPACE@[1336; 1337) BLOCK@[1337; 1539) L_CURLY@[1337; 1338) WHITESPACE@[1338; 1343) LET_STMT@[1343; 1361) LET_KW@[1343; 1346) WHITESPACE@[1346; 1347) BIND_PAT@[1347; 1353) MUT_KW@[1347; 1350) WHITESPACE@[1350; 1351) NAME@[1351; 1353) IDENT@[1351; 1353) "_x" COLON@[1353; 1354) WHITESPACE@[1354; 1355) PATH_TYPE@[1355; 1360) PATH@[1355; 1360) PATH_SEGMENT@[1355; 1360) NAME_REF@[1355; 1360) IDENT@[1355; 1360) "isize" SEMI@[1360; 1361) WHITESPACE@[1361; 1366) LET_STMT@[1366; 1400) LET_KW@[1366; 1369) WHITESPACE@[1369; 1370) BIND_PAT@[1370; 1376) MUT_KW@[1370; 1373) WHITESPACE@[1373; 1374) NAME@[1374; 1376) IDENT@[1374; 1376) "_y" WHITESPACE@[1376; 1377) EQ@[1377; 1378) WHITESPACE@[1378; 1379) BIN_EXPR@[1379; 1399) PAREN_EXPR@[1379; 1387) L_PAREN@[1379; 1380) BIN_EXPR@[1380; 1386) PATH_EXPR@[1380; 1382) PATH@[1380; 1382) PATH_SEGMENT@[1380; 1382) NAME_REF@[1380; 1382) IDENT@[1380; 1382) "_x" WHITESPACE@[1382; 1383) EQ@[1383; 1384) WHITESPACE@[1384; 1385) LITERAL@[1385; 1386) INT_NUMBER@[1385; 1386) "0" R_PAREN@[1386; 1387) WHITESPACE@[1387; 1388) EQEQ@[1388; 1390) WHITESPACE@[1390; 1391) PAREN_EXPR@[1391; 1399) L_PAREN@[1391; 1392) BIN_EXPR@[1392; 1398) PATH_EXPR@[1392; 1394) PATH@[1392; 1394) PATH_SEGMENT@[1392; 1394) NAME_REF@[1392; 1394) IDENT@[1392; 1394) "_x" WHITESPACE@[1394; 1395) EQ@[1395; 1396) WHITESPACE@[1396; 1397) LITERAL@[1397; 1398) INT_NUMBER@[1397; 1398) "0" R_PAREN@[1398; 1399) SEMI@[1399; 1400) WHITESPACE@[1400; 1405) LET_STMT@[1405; 1438) LET_KW@[1405; 1408) WHITESPACE@[1408; 1409) BIND_PAT@[1409; 1415) MUT_KW@[1409; 1412) WHITESPACE@[1412; 1413) NAME@[1413; 1415) IDENT@[1413; 1415) "_z" WHITESPACE@[1415; 1416) EQ@[1416; 1417) WHITESPACE@[1417; 1418) BIN_EXPR@[1418; 1437) PAREN_EXPR@[1418; 1426) L_PAREN@[1418; 1419) BIN_EXPR@[1419; 1425) PATH_EXPR@[1419; 1421) PATH@[1419; 1421) PATH_SEGMENT@[1419; 1421) NAME_REF@[1419; 1421) IDENT@[1419; 1421) "_x" WHITESPACE@[1421; 1422) EQ@[1422; 1423) WHITESPACE@[1423; 1424) LITERAL@[1424; 1425) INT_NUMBER@[1424; 1425) "0" R_PAREN@[1425; 1426) WHITESPACE@[1426; 1427) L_ANGLE@[1427; 1428) WHITESPACE@[1428; 1429) PAREN_EXPR@[1429; 1437) L_PAREN@[1429; 1430) BIN_EXPR@[1430; 1436) PATH_EXPR@[1430; 1432) PATH@[1430; 1432) PATH_SEGMENT@[1430; 1432) NAME_REF@[1430; 1432) IDENT@[1430; 1432) "_x" WHITESPACE@[1432; 1433) EQ@[1433; 1434) WHITESPACE@[1434; 1435) LITERAL@[1435; 1436) INT_NUMBER@[1435; 1436) "0" R_PAREN@[1436; 1437) SEMI@[1437; 1438) WHITESPACE@[1438; 1443) LET_STMT@[1443; 1474) LET_KW@[1443; 1446) WHITESPACE@[1446; 1447) BIND_PAT@[1447; 1449) NAME@[1447; 1449) IDENT@[1447; 1449) "_a" WHITESPACE@[1449; 1450) EQ@[1450; 1451) WHITESPACE@[1451; 1452) BIN_EXPR@[1452; 1473) PAREN_EXPR@[1452; 1461) L_PAREN@[1452; 1453) BIN_EXPR@[1453; 1460) PATH_EXPR@[1453; 1455) PATH@[1453; 1455) PATH_SEGMENT@[1453; 1455) NAME_REF@[1453; 1455) IDENT@[1453; 1455) "_x" WHITESPACE@[1455; 1456) PLUSEQ@[1456; 1458) WHITESPACE@[1458; 1459) LITERAL@[1459; 1460) INT_NUMBER@[1459; 1460) "0" R_PAREN@[1460; 1461) WHITESPACE@[1461; 1462) EQEQ@[1462; 1464) WHITESPACE@[1464; 1465) PAREN_EXPR@[1465; 1473) L_PAREN@[1465; 1466) BIN_EXPR@[1466; 1472) PATH_EXPR@[1466; 1468) PATH@[1466; 1468) PATH_SEGMENT@[1466; 1468) NAME_REF@[1466; 1468) IDENT@[1466; 1468) "_x" WHITESPACE@[1468; 1469) EQ@[1469; 1470) WHITESPACE@[1470; 1471) LITERAL@[1471; 1472) INT_NUMBER@[1471; 1472) "0" R_PAREN@[1472; 1473) SEMI@[1473; 1474) WHITESPACE@[1474; 1479) LET_STMT@[1479; 1537) LET_KW@[1479; 1482) WHITESPACE@[1482; 1483) BIND_PAT@[1483; 1485) NAME@[1483; 1485) IDENT@[1483; 1485) "_b" WHITESPACE@[1485; 1486) EQ@[1486; 1487) WHITESPACE@[1487; 1488) BIN_EXPR@[1488; 1536) CALL_EXPR@[1488; 1510) PATH_EXPR@[1488; 1492) PATH@[1488; 1492) PATH_SEGMENT@[1488; 1492) NAME_REF@[1488; 1492) IDENT@[1488; 1492) "swap" ARG_LIST@[1492; 1510) L_PAREN@[1492; 1493) REF_EXPR@[1493; 1500) AMP@[1493; 1494) MUT_KW@[1494; 1497) WHITESPACE@[1497; 1498) PATH_EXPR@[1498; 1500) PATH@[1498; 1500) PATH_SEGMENT@[1498; 1500) NAME_REF@[1498; 1500) IDENT@[1498; 1500) "_y" COMMA@[1500; 1501) WHITESPACE@[1501; 1502) REF_EXPR@[1502; 1509) AMP@[1502; 1503) MUT_KW@[1503; 1506) WHITESPACE@[1506; 1507) PATH_EXPR@[1507; 1509) PATH@[1507; 1509) PATH_SEGMENT@[1507; 1509) NAME_REF@[1507; 1509) IDENT@[1507; 1509) "_z" R_PAREN@[1509; 1510) WHITESPACE@[1510; 1511) EQEQ@[1511; 1513) WHITESPACE@[1513; 1514) CALL_EXPR@[1514; 1536) PATH_EXPR@[1514; 1518) PATH@[1514; 1518) PATH_SEGMENT@[1514; 1518) NAME_REF@[1514; 1518) IDENT@[1514; 1518) "swap" ARG_LIST@[1518; 1536) L_PAREN@[1518; 1519) REF_EXPR@[1519; 1526) AMP@[1519; 1520) MUT_KW@[1520; 1523) WHITESPACE@[1523; 1524) PATH_EXPR@[1524; 1526) PATH@[1524; 1526) PATH_SEGMENT@[1524; 1526) NAME_REF@[1524; 1526) IDENT@[1524; 1526) "_y" COMMA@[1526; 1527) WHITESPACE@[1527; 1528) REF_EXPR@[1528; 1535) AMP@[1528; 1529) MUT_KW@[1529; 1532) WHITESPACE@[1532; 1533) PATH_EXPR@[1533; 1535) PATH@[1533; 1535) PATH_SEGMENT@[1533; 1535) NAME_REF@[1533; 1535) IDENT@[1533; 1535) "_z" R_PAREN@[1535; 1536) SEMI@[1536; 1537) WHITESPACE@[1537; 1538) R_CURLY@[1538; 1539) WHITESPACE@[1539; 1541) FN_DEF@[1541; 1741) FN_KW@[1541; 1543) WHITESPACE@[1543; 1544) NAME@[1544; 1557) IDENT@[1544; 1557) "canttouchthis" PARAM_LIST@[1557; 1559) L_PAREN@[1557; 1558) R_PAREN@[1558; 1559) WHITESPACE@[1559; 1560) RET_TYPE@[1560; 1568) THIN_ARROW@[1560; 1562) WHITESPACE@[1562; 1563) PATH_TYPE@[1563; 1568) PATH@[1563; 1568) PATH_SEGMENT@[1563; 1568) NAME_REF@[1563; 1568) IDENT@[1563; 1568) "usize" WHITESPACE@[1568; 1569) BLOCK@[1569; 1741) L_CURLY@[1569; 1570) WHITESPACE@[1570; 1575) FN_DEF@[1575; 1598) FN_KW@[1575; 1577) WHITESPACE@[1577; 1578) NAME@[1578; 1579) IDENT@[1578; 1579) "p" PARAM_LIST@[1579; 1581) L_PAREN@[1579; 1580) R_PAREN@[1580; 1581) WHITESPACE@[1581; 1582) RET_TYPE@[1582; 1589) THIN_ARROW@[1582; 1584) WHITESPACE@[1584; 1585) PATH_TYPE@[1585; 1589) PATH@[1585; 1589) PATH_SEGMENT@[1585; 1589) NAME_REF@[1585; 1589) IDENT@[1585; 1589) "bool" WHITESPACE@[1589; 1590) BLOCK@[1590; 1598) L_CURLY@[1590; 1591) WHITESPACE@[1591; 1592) LITERAL@[1592; 1596) TRUE_KW@[1592; 1596) WHITESPACE@[1596; 1597) R_CURLY@[1597; 1598) WHITESPACE@[1598; 1603) LET_STMT@[1603; 1648) LET_KW@[1603; 1606) WHITESPACE@[1606; 1607) BIND_PAT@[1607; 1609) NAME@[1607; 1609) IDENT@[1607; 1609) "_a" WHITESPACE@[1609; 1610) EQ@[1610; 1611) WHITESPACE@[1611; 1612) PAREN_EXPR@[1612; 1647) L_PAREN@[1612; 1613) BIN_EXPR@[1613; 1646) MACRO_CALL@[1613; 1628) PATH@[1613; 1619) PATH_SEGMENT@[1613; 1619) NAME_REF@[1613; 1619) IDENT@[1613; 1619) "assert" EXCL@[1619; 1620) TOKEN_TREE@[1620; 1628) L_PAREN@[1620; 1621) TOKEN_TREE@[1621; 1627) L_PAREN@[1621; 1622) TRUE_KW@[1622; 1626) R_PAREN@[1626; 1627) R_PAREN@[1627; 1628) WHITESPACE@[1628; 1629) EQEQ@[1629; 1631) WHITESPACE@[1631; 1632) PAREN_EXPR@[1632; 1646) L_PAREN@[1632; 1633) MACRO_CALL@[1633; 1645) PATH@[1633; 1639) PATH_SEGMENT@[1633; 1639) NAME_REF@[1633; 1639) IDENT@[1633; 1639) "assert" EXCL@[1639; 1640) TOKEN_TREE@[1640; 1645) L_PAREN@[1640; 1641) IDENT@[1641; 1642) "p" TOKEN_TREE@[1642; 1644) L_PAREN@[1642; 1643) R_PAREN@[1643; 1644) R_PAREN@[1644; 1645) R_PAREN@[1645; 1646) R_PAREN@[1646; 1647) SEMI@[1647; 1648) WHITESPACE@[1648; 1653) LET_STMT@[1653; 1685) LET_KW@[1653; 1656) WHITESPACE@[1656; 1657) BIND_PAT@[1657; 1659) NAME@[1657; 1659) IDENT@[1657; 1659) "_c" WHITESPACE@[1659; 1660) EQ@[1660; 1661) WHITESPACE@[1661; 1662) PAREN_EXPR@[1662; 1684) L_PAREN@[1662; 1663) BIN_EXPR@[1663; 1683) MACRO_CALL@[1663; 1677) PATH@[1663; 1669) PATH_SEGMENT@[1663; 1669) NAME_REF@[1663; 1669) IDENT@[1663; 1669) "assert" EXCL@[1669; 1670) TOKEN_TREE@[1670; 1677) L_PAREN@[1670; 1671) TOKEN_TREE@[1671; 1676) L_PAREN@[1671; 1672) IDENT@[1672; 1673) "p" TOKEN_TREE@[1673; 1675) L_PAREN@[1673; 1674) R_PAREN@[1674; 1675) R_PAREN@[1675; 1676) R_PAREN@[1676; 1677) WHITESPACE@[1677; 1678) EQEQ@[1678; 1680) WHITESPACE@[1680; 1681) TUPLE_EXPR@[1681; 1683) L_PAREN@[1681; 1682) R_PAREN@[1682; 1683) R_PAREN@[1683; 1684) SEMI@[1684; 1685) WHITESPACE@[1685; 1690) LET_STMT@[1690; 1739) LET_KW@[1690; 1693) WHITESPACE@[1693; 1694) BIND_PAT@[1694; 1696) NAME@[1694; 1696) IDENT@[1694; 1696) "_b" COLON@[1696; 1697) WHITESPACE@[1697; 1698) PATH_TYPE@[1698; 1702) PATH@[1698; 1702) PATH_SEGMENT@[1698; 1702) NAME_REF@[1698; 1702) IDENT@[1698; 1702) "bool" WHITESPACE@[1702; 1703) EQ@[1703; 1704) WHITESPACE@[1704; 1705) PAREN_EXPR@[1705; 1738) L_PAREN@[1705; 1706) BIN_EXPR@[1706; 1737) MACRO_CALL@[1706; 1723) PATH@[1706; 1713) PATH_SEGMENT@[1706; 1713) NAME_REF@[1706; 1713) IDENT@[1706; 1713) "println" EXCL@[1713; 1714) TOKEN_TREE@[1714; 1723) L_PAREN@[1714; 1715) STRING@[1715; 1719) COMMA@[1719; 1720) WHITESPACE@[1720; 1721) INT_NUMBER@[1721; 1722) "0" R_PAREN@[1722; 1723) WHITESPACE@[1723; 1724) EQEQ@[1724; 1726) WHITESPACE@[1726; 1727) PAREN_EXPR@[1727; 1737) L_PAREN@[1727; 1728) RETURN_EXPR@[1728; 1736) RETURN_KW@[1728; 1734) WHITESPACE@[1734; 1735) LITERAL@[1735; 1736) INT_NUMBER@[1735; 1736) "0" R_PAREN@[1736; 1737) R_PAREN@[1737; 1738) SEMI@[1738; 1739) WHITESPACE@[1739; 1740) R_CURLY@[1740; 1741) WHITESPACE@[1741; 1743) FN_DEF@[1743; 1904) FN_KW@[1743; 1745) WHITESPACE@[1745; 1746) NAME@[1746; 1755) IDENT@[1746; 1755) "angrydome" PARAM_LIST@[1755; 1757) L_PAREN@[1755; 1756) R_PAREN@[1756; 1757) WHITESPACE@[1757; 1758) BLOCK@[1758; 1904) L_CURLY@[1758; 1759) WHITESPACE@[1759; 1764) EXPR_STMT@[1764; 1785) LOOP_EXPR@[1764; 1785) LOOP_KW@[1764; 1768) WHITESPACE@[1768; 1769) BLOCK@[1769; 1785) L_CURLY@[1769; 1770) WHITESPACE@[1770; 1771) IF_EXPR@[1771; 1783) IF_KW@[1771; 1773) WHITESPACE@[1773; 1774) CONDITION@[1774; 1779) BREAK_EXPR@[1774; 1779) BREAK_KW@[1774; 1779) WHITESPACE@[1779; 1780) BLOCK@[1780; 1783) L_CURLY@[1780; 1781) WHITESPACE@[1781; 1782) R_CURLY@[1782; 1783) WHITESPACE@[1783; 1784) R_CURLY@[1784; 1785) WHITESPACE@[1785; 1790) LET_STMT@[1790; 1804) LET_KW@[1790; 1793) WHITESPACE@[1793; 1794) BIND_PAT@[1794; 1799) MUT_KW@[1794; 1797) WHITESPACE@[1797; 1798) NAME@[1798; 1799) IDENT@[1798; 1799) "i" WHITESPACE@[1799; 1800) EQ@[1800; 1801) WHITESPACE@[1801; 1802) LITERAL@[1802; 1803) INT_NUMBER@[1802; 1803) "0" SEMI@[1803; 1804) WHITESPACE@[1804; 1809) LOOP_EXPR@[1809; 1902) LOOP_KW@[1809; 1813) WHITESPACE@[1813; 1814) BLOCK@[1814; 1902) L_CURLY@[1814; 1815) WHITESPACE@[1815; 1816) EXPR_STMT@[1816; 1823) BIN_EXPR@[1816; 1822) PATH_EXPR@[1816; 1817) PATH@[1816; 1817) PATH_SEGMENT@[1816; 1817) NAME_REF@[1816; 1817) IDENT@[1816; 1817) "i" WHITESPACE@[1817; 1818) PLUSEQ@[1818; 1820) WHITESPACE@[1820; 1821) LITERAL@[1821; 1822) INT_NUMBER@[1821; 1822) "1" SEMI@[1822; 1823) WHITESPACE@[1823; 1824) EXPR_STMT@[1824; 1887) IF_EXPR@[1824; 1887) IF_KW@[1824; 1826) WHITESPACE@[1826; 1827) CONDITION@[1827; 1833) BIN_EXPR@[1827; 1833) PATH_EXPR@[1827; 1828) PATH@[1827; 1828) PATH_SEGMENT@[1827; 1828) NAME_REF@[1827; 1828) IDENT@[1827; 1828) "i" WHITESPACE@[1828; 1829) EQEQ@[1829; 1831) WHITESPACE@[1831; 1832) LITERAL@[1832; 1833) INT_NUMBER@[1832; 1833) "1" WHITESPACE@[1833; 1834) BLOCK@[1834; 1887) L_CURLY@[1834; 1835) WHITESPACE@[1835; 1836) MATCH_EXPR@[1836; 1885) MATCH_KW@[1836; 1841) WHITESPACE@[1841; 1842) PAREN_EXPR@[1842; 1852) L_PAREN@[1842; 1843) CONTINUE_EXPR@[1843; 1851) CONTINUE_KW@[1843; 1851) R_PAREN@[1851; 1852) WHITESPACE@[1852; 1853) MATCH_ARM_LIST@[1853; 1885) L_CURLY@[1853; 1854) WHITESPACE@[1854; 1855) MATCH_ARM@[1855; 1863) LITERAL_PAT@[1855; 1856) LITERAL@[1855; 1856) INT_NUMBER@[1855; 1856) "1" WHITESPACE@[1856; 1857) FAT_ARROW@[1857; 1859) WHITESPACE@[1859; 1860) BLOCK_EXPR@[1860; 1863) BLOCK@[1860; 1863) L_CURLY@[1860; 1861) WHITESPACE@[1861; 1862) R_CURLY@[1862; 1863) COMMA@[1863; 1864) WHITESPACE@[1864; 1865) MATCH_ARM@[1865; 1883) PLACEHOLDER_PAT@[1865; 1866) UNDERSCORE@[1865; 1866) WHITESPACE@[1866; 1867) FAT_ARROW@[1867; 1869) WHITESPACE@[1869; 1870) MACRO_CALL@[1870; 1883) PATH@[1870; 1875) PATH_SEGMENT@[1870; 1875) NAME_REF@[1870; 1875) IDENT@[1870; 1875) "panic" EXCL@[1875; 1876) TOKEN_TREE@[1876; 1883) L_PAREN@[1876; 1877) STRING@[1877; 1882) R_PAREN@[1882; 1883) WHITESPACE@[1883; 1884) R_CURLY@[1884; 1885) WHITESPACE@[1885; 1886) R_CURLY@[1886; 1887) WHITESPACE@[1887; 1894) EXPR_STMT@[1894; 1900) BREAK_EXPR@[1894; 1899) BREAK_KW@[1894; 1899) SEMI@[1899; 1900) WHITESPACE@[1900; 1901) R_CURLY@[1901; 1902) WHITESPACE@[1902; 1903) R_CURLY@[1903; 1904) WHITESPACE@[1904; 1906) FN_DEF@[1906; 1960) FN_KW@[1906; 1908) WHITESPACE@[1908; 1909) NAME@[1909; 1921) IDENT@[1909; 1921) "evil_lincoln" PARAM_LIST@[1921; 1923) L_PAREN@[1921; 1922) R_PAREN@[1922; 1923) WHITESPACE@[1923; 1924) BLOCK@[1924; 1960) L_CURLY@[1924; 1925) WHITESPACE@[1925; 1926) LET_STMT@[1926; 1958) LET_KW@[1926; 1929) WHITESPACE@[1929; 1930) BIND_PAT@[1930; 1935) NAME@[1930; 1935) IDENT@[1930; 1935) "_evil" WHITESPACE@[1935; 1936) EQ@[1936; 1937) WHITESPACE@[1937; 1938) MACRO_CALL@[1938; 1957) PATH@[1938; 1945) PATH_SEGMENT@[1938; 1945) NAME_REF@[1938; 1945) IDENT@[1938; 1945) "println" EXCL@[1945; 1946) TOKEN_TREE@[1946; 1957) L_PAREN@[1946; 1947) STRING@[1947; 1956) R_PAREN@[1956; 1957) SEMI@[1957; 1958) WHITESPACE@[1958; 1959) R_CURLY@[1959; 1960) WHITESPACE@[1960; 1962) FN_DEF@[1962; 2198) FN_KW@[1962; 1964) WHITESPACE@[1964; 1965) NAME@[1965; 1969) IDENT@[1965; 1969) "dots" PARAM_LIST@[1969; 1971) L_PAREN@[1969; 1970) R_PAREN@[1970; 1971) WHITESPACE@[1971; 1972) BLOCK@[1972; 2198) L_CURLY@[1972; 1973) WHITESPACE@[1973; 1978) EXPR_STMT@[1978; 2196) MACRO_CALL@[1978; 2195) PATH@[1978; 1987) PATH_SEGMENT@[1978; 1987) NAME_REF@[1978; 1987) IDENT@[1978; 1987) "assert_eq" EXCL@[1987; 1988) TOKEN_TREE@[1988; 2195) L_PAREN@[1988; 1989) IDENT@[1989; 1995) "String" COLONCOLON@[1995; 1997) IDENT@[1997; 2001) "from" TOKEN_TREE@[2001; 2055) L_PAREN@[2001; 2002) STRING@[2002; 2054) R_PAREN@[2054; 2055) COMMA@[2055; 2056) WHITESPACE@[2056; 2072) IDENT@[2072; 2078) "format" EXCL@[2078; 2079) TOKEN_TREE@[2079; 2194) L_PAREN@[2079; 2080) STRING@[2080; 2086) COMMA@[2086; 2087) WHITESPACE@[2087; 2088) DOTDOT@[2088; 2090) WHITESPACE@[2090; 2091) DOTDOT@[2091; 2093) WHITESPACE@[2093; 2094) DOTDOT@[2094; 2096) WHITESPACE@[2096; 2097) DOTDOT@[2097; 2099) WHITESPACE@[2099; 2100) DOTDOT@[2100; 2102) WHITESPACE@[2102; 2103) DOTDOT@[2103; 2105) WHITESPACE@[2105; 2106) DOTDOT@[2106; 2108) WHITESPACE@[2108; 2109) DOTDOT@[2109; 2111) WHITESPACE@[2111; 2112) DOTDOT@[2112; 2114) WHITESPACE@[2114; 2115) DOTDOT@[2115; 2117) WHITESPACE@[2117; 2118) DOTDOT@[2118; 2120) WHITESPACE@[2120; 2121) DOTDOT@[2121; 2123) WHITESPACE@[2123; 2124) DOTDOT@[2124; 2126) WHITESPACE@[2126; 2158) DOTDOT@[2158; 2160) WHITESPACE@[2160; 2161) DOTDOT@[2161; 2163) WHITESPACE@[2163; 2164) DOTDOT@[2164; 2166) WHITESPACE@[2166; 2167) DOTDOT@[2167; 2169) WHITESPACE@[2169; 2170) DOTDOT@[2170; 2172) WHITESPACE@[2172; 2173) DOTDOT@[2173; 2175) WHITESPACE@[2175; 2176) DOTDOT@[2176; 2178) WHITESPACE@[2178; 2179) DOTDOT@[2179; 2181) WHITESPACE@[2181; 2182) DOTDOT@[2182; 2184) WHITESPACE@[2184; 2185) DOTDOT@[2185; 2187) WHITESPACE@[2187; 2188) DOTDOT@[2188; 2190) WHITESPACE@[2190; 2191) DOTDOT@[2191; 2193) R_PAREN@[2193; 2194) R_PAREN@[2194; 2195) SEMI@[2195; 2196) WHITESPACE@[2196; 2197) R_CURLY@[2197; 2198) WHITESPACE@[2198; 2200) FN_DEF@[2200; 2693) FN_KW@[2200; 2202) WHITESPACE@[2202; 2203) NAME@[2203; 2205) IDENT@[2203; 2205) "u8" PARAM_LIST@[2205; 2213) L_PAREN@[2205; 2206) PARAM@[2206; 2212) BIND_PAT@[2206; 2208) NAME@[2206; 2208) IDENT@[2206; 2208) "u8" COLON@[2208; 2209) WHITESPACE@[2209; 2210) PATH_TYPE@[2210; 2212) PATH@[2210; 2212) PATH_SEGMENT@[2210; 2212) NAME_REF@[2210; 2212) IDENT@[2210; 2212) "u8" R_PAREN@[2212; 2213) WHITESPACE@[2213; 2214) BLOCK@[2214; 2693) L_CURLY@[2214; 2215) WHITESPACE@[2215; 2220) IF_EXPR@[2220; 2691) IF_KW@[2220; 2222) WHITESPACE@[2222; 2223) CONDITION@[2223; 2232) BIN_EXPR@[2223; 2232) PATH_EXPR@[2223; 2225) PATH@[2223; 2225) PATH_SEGMENT@[2223; 2225) NAME_REF@[2223; 2225) IDENT@[2223; 2225) "u8" WHITESPACE@[2225; 2226) NEQ@[2226; 2228) WHITESPACE@[2228; 2229) LITERAL@[2229; 2232) INT_NUMBER@[2229; 2232) "0u8" WHITESPACE@[2232; 2233) BLOCK@[2233; 2691) L_CURLY@[2233; 2234) WHITESPACE@[2234; 2243) EXPR_STMT@[2243; 2685) MACRO_CALL@[2243; 2684) PATH@[2243; 2252) PATH_SEGMENT@[2243; 2252) NAME_REF@[2243; 2252) IDENT@[2243; 2252) "assert_eq" EXCL@[2252; 2253) TOKEN_TREE@[2253; 2684) L_PAREN@[2253; 2254) INT_NUMBER@[2254; 2257) "8u8" COMMA@[2257; 2258) WHITESPACE@[2258; 2259) TOKEN_TREE@[2259; 2683) L_CURLY@[2259; 2260) WHITESPACE@[2260; 2273) IDENT@[2273; 2284) "macro_rules" EXCL@[2284; 2285) WHITESPACE@[2285; 2286) IDENT@[2286; 2288) "u8" WHITESPACE@[2288; 2289) TOKEN_TREE@[2289; 2567) L_CURLY@[2289; 2290) WHITESPACE@[2290; 2307) TOKEN_TREE@[2307; 2311) L_PAREN@[2307; 2308) IDENT@[2308; 2310) "u8" R_PAREN@[2310; 2311) WHITESPACE@[2311; 2312) FAT_ARROW@[2312; 2314) WHITESPACE@[2314; 2315) TOKEN_TREE@[2315; 2552) L_CURLY@[2315; 2316) WHITESPACE@[2316; 2337) MOD_KW@[2337; 2340) WHITESPACE@[2340; 2341) IDENT@[2341; 2343) "u8" WHITESPACE@[2343; 2344) TOKEN_TREE@[2344; 2534) L_CURLY@[2344; 2345) WHITESPACE@[2345; 2370) PUB_KW@[2370; 2373) WHITESPACE@[2373; 2374) FN_KW@[2374; 2376) WHITESPACE@[2376; 2377) IDENT@[2377; 2379) "u8" L_ANGLE@[2379; 2380) LIFETIME@[2380; 2383) "'u8" COLON@[2383; 2384) WHITESPACE@[2384; 2385) LIFETIME@[2385; 2388) "'u8" WHITESPACE@[2388; 2389) PLUS@[2389; 2390) WHITESPACE@[2390; 2391) LIFETIME@[2391; 2394) "'u8" R_ANGLE@[2394; 2395) TOKEN_TREE@[2395; 2408) L_PAREN@[2395; 2396) IDENT@[2396; 2398) "u8" COLON@[2398; 2399) WHITESPACE@[2399; 2400) AMP@[2400; 2401) LIFETIME@[2401; 2404) "'u8" WHITESPACE@[2404; 2405) IDENT@[2405; 2407) "u8" R_PAREN@[2407; 2408) WHITESPACE@[2408; 2409) THIN_ARROW@[2409; 2411) WHITESPACE@[2411; 2412) AMP@[2412; 2413) LIFETIME@[2413; 2416) "'u8" WHITESPACE@[2416; 2417) IDENT@[2417; 2419) "u8" WHITESPACE@[2419; 2420) TOKEN_TREE@[2420; 2512) L_CURLY@[2420; 2421) WHITESPACE@[2421; 2450) STRING@[2450; 2454) SEMI@[2454; 2455) WHITESPACE@[2455; 2484) IDENT@[2484; 2486) "u8" WHITESPACE@[2486; 2511) R_CURLY@[2511; 2512) WHITESPACE@[2512; 2533) R_CURLY@[2533; 2534) WHITESPACE@[2534; 2551) R_CURLY@[2551; 2552) SEMI@[2552; 2553) WHITESPACE@[2553; 2566) R_CURLY@[2566; 2567) WHITESPACE@[2567; 2581) IDENT@[2581; 2583) "u8" EXCL@[2583; 2584) TOKEN_TREE@[2584; 2588) L_PAREN@[2584; 2585) IDENT@[2585; 2587) "u8" R_PAREN@[2587; 2588) SEMI@[2588; 2589) WHITESPACE@[2589; 2602) LET_KW@[2602; 2605) WHITESPACE@[2605; 2606) AMP@[2606; 2607) IDENT@[2607; 2609) "u8" COLON@[2609; 2610) WHITESPACE@[2610; 2611) AMP@[2611; 2612) IDENT@[2612; 2614) "u8" WHITESPACE@[2614; 2615) EQ@[2615; 2616) WHITESPACE@[2616; 2617) IDENT@[2617; 2619) "u8" COLONCOLON@[2619; 2621) IDENT@[2621; 2623) "u8" TOKEN_TREE@[2623; 2629) L_PAREN@[2623; 2624) AMP@[2624; 2625) INT_NUMBER@[2625; 2628) "8u8" R_PAREN@[2628; 2629) SEMI@[2629; 2630) WHITESPACE@[2630; 2643) CRATE_KW@[2643; 2648) COLONCOLON@[2648; 2650) IDENT@[2650; 2652) "u8" TOKEN_TREE@[2652; 2657) L_PAREN@[2652; 2653) INT_NUMBER@[2653; 2656) "0u8" R_PAREN@[2656; 2657) SEMI@[2657; 2658) WHITESPACE@[2658; 2671) IDENT@[2671; 2673) "u8" WHITESPACE@[2673; 2682) R_CURLY@[2682; 2683) R_PAREN@[2683; 2684) SEMI@[2684; 2685) WHITESPACE@[2685; 2690) R_CURLY@[2690; 2691) WHITESPACE@[2691; 2692) R_CURLY@[2692; 2693) WHITESPACE@[2693; 2695) FN_DEF@[2695; 2832) FN_KW@[2695; 2697) WHITESPACE@[2697; 2698) NAME@[2698; 2703) IDENT@[2698; 2703) "fishy" PARAM_LIST@[2703; 2705) L_PAREN@[2703; 2704) R_PAREN@[2704; 2705) WHITESPACE@[2705; 2706) BLOCK@[2706; 2832) L_CURLY@[2706; 2707) WHITESPACE@[2707; 2712) EXPR_STMT@[2712; 2830) MACRO_CALL@[2712; 2829) PATH@[2712; 2721) PATH_SEGMENT@[2712; 2721) NAME_REF@[2712; 2721) IDENT@[2712; 2721) "assert_eq" EXCL@[2721; 2722) TOKEN_TREE@[2722; 2829) L_PAREN@[2722; 2723) IDENT@[2723; 2729) "String" COLONCOLON@[2729; 2731) IDENT@[2731; 2735) "from" TOKEN_TREE@[2735; 2742) L_PAREN@[2735; 2736) STRING@[2736; 2741) R_PAREN@[2741; 2742) COMMA@[2742; 2743) WHITESPACE@[2743; 2759) IDENT@[2759; 2765) "String" COLONCOLON@[2765; 2767) L_ANGLE@[2767; 2768) R_ANGLE@[2768; 2769) COLONCOLON@[2769; 2771) IDENT@[2771; 2775) "from" COLONCOLON@[2775; 2777) L_ANGLE@[2777; 2778) R_ANGLE@[2778; 2779) TOKEN_TREE@[2779; 2786) L_PAREN@[2779; 2780) STRING@[2780; 2785) R_PAREN@[2785; 2786) DOT@[2786; 2787) IDENT@[2787; 2792) "chars" COLONCOLON@[2792; 2794) L_ANGLE@[2794; 2795) R_ANGLE@[2795; 2796) TOKEN_TREE@[2796; 2798) L_PAREN@[2796; 2797) R_PAREN@[2797; 2798) DOT@[2798; 2799) IDENT@[2799; 2802) "rev" COLONCOLON@[2802; 2804) L_ANGLE@[2804; 2805) R_ANGLE@[2805; 2806) TOKEN_TREE@[2806; 2808) L_PAREN@[2806; 2807) R_PAREN@[2807; 2808) DOT@[2808; 2809) IDENT@[2809; 2816) "collect" COLONCOLON@[2816; 2818) L_ANGLE@[2818; 2819) IDENT@[2819; 2825) "String" R_ANGLE@[2825; 2826) TOKEN_TREE@[2826; 2828) L_PAREN@[2826; 2827) R_PAREN@[2827; 2828) R_PAREN@[2828; 2829) SEMI@[2829; 2830) WHITESPACE@[2830; 2831) R_CURLY@[2831; 2832) WHITESPACE@[2832; 2834) FN_DEF@[2834; 2906) FN_KW@[2834; 2836) WHITESPACE@[2836; 2837) NAME@[2837; 2842) IDENT@[2837; 2842) "union" PARAM_LIST@[2842; 2844) L_PAREN@[2842; 2843) R_PAREN@[2843; 2844) WHITESPACE@[2844; 2845) BLOCK@[2845; 2906) L_CURLY@[2845; 2846) WHITESPACE@[2846; 2851) STRUCT_DEF@[2851; 2904) UNION_KW@[2851; 2856) WHITESPACE@[2856; 2857) NAME@[2857; 2862) IDENT@[2857; 2862) "union" TYPE_PARAM_LIST@[2862; 2870) L_ANGLE@[2862; 2863) LIFETIME_PARAM@[2863; 2869) LIFETIME@[2863; 2869) "'union" R_ANGLE@[2869; 2870) WHITESPACE@[2870; 2871) NAMED_FIELD_DEF_LIST@[2871; 2904) L_CURLY@[2871; 2872) WHITESPACE@[2872; 2873) NAMED_FIELD_DEF@[2873; 2901) NAME@[2873; 2878) IDENT@[2873; 2878) "union" COLON@[2878; 2879) WHITESPACE@[2879; 2880) REFERENCE_TYPE@[2880; 2901) AMP@[2880; 2881) LIFETIME@[2881; 2887) "'union" WHITESPACE@[2887; 2888) PATH_TYPE@[2888; 2901) PATH@[2888; 2901) PATH_SEGMENT@[2888; 2901) NAME_REF@[2888; 2893) IDENT@[2888; 2893) "union" TYPE_ARG_LIST@[2893; 2901) L_ANGLE@[2893; 2894) LIFETIME_ARG@[2894; 2900) LIFETIME@[2894; 2900) "'union" R_ANGLE@[2900; 2901) COMMA@[2901; 2902) WHITESPACE@[2902; 2903) R_CURLY@[2903; 2904) WHITESPACE@[2904; 2905) R_CURLY@[2905; 2906) WHITESPACE@[2906; 2908) FN_DEF@[2908; 3042) FN_KW@[2908; 2910) WHITESPACE@[2910; 2911) NAME@[2911; 2929) IDENT@[2911; 2929) "special_characters" PARAM_LIST@[2929; 2931) L_PAREN@[2929; 2930) R_PAREN@[2930; 2931) WHITESPACE@[2931; 2932) BLOCK@[2932; 3042) L_CURLY@[2932; 2933) WHITESPACE@[2933; 2938) LET_STMT@[2938; 3021) LET_KW@[2938; 2941) WHITESPACE@[2941; 2942) BIND_PAT@[2942; 2945) NAME@[2942; 2945) IDENT@[2942; 2945) "val" WHITESPACE@[2945; 2946) EQ@[2946; 2947) WHITESPACE@[2947; 2948) PREFIX_EXPR@[2948; 3013) EXCL@[2948; 2949) PAREN_EXPR@[2949; 3013) L_PAREN@[2949; 2950) BIN_EXPR@[2950; 3012) CALL_EXPR@[2950; 2995) PAREN_EXPR@[2950; 2971) L_PAREN@[2950; 2951) LAMBDA_EXPR@[2951; 2970) PARAM_LIST@[2951; 2968) PIPE@[2951; 2952) PARAM@[2952; 2962) TUPLE_PAT@[2952; 2956) L_PAREN@[2952; 2953) DOTDOT@[2953; 2955) R_PAREN@[2955; 2956) COLON@[2956; 2957) TUPLE_TYPE@[2957; 2962) L_PAREN@[2957; 2958) PLACEHOLDER_TYPE@[2958; 2959) UNDERSCORE@[2958; 2959) COMMA@[2959; 2960) PLACEHOLDER_TYPE@[2960; 2961) UNDERSCORE@[2960; 2961) R_PAREN@[2961; 2962) COMMA@[2962; 2963) PARAM@[2963; 2967) BIND_PAT@[2963; 2967) NAME@[2963; 2965) IDENT@[2963; 2965) "__" AT@[2965; 2966) PLACEHOLDER_PAT@[2966; 2967) UNDERSCORE@[2966; 2967) PIPE@[2967; 2968) PATH_EXPR@[2968; 2970) PATH@[2968; 2970) PATH_SEGMENT@[2968; 2970) NAME_REF@[2968; 2970) IDENT@[2968; 2970) "__" R_PAREN@[2970; 2971) ARG_LIST@[2971; 2995) L_PAREN@[2971; 2972) TUPLE_EXPR@[2972; 2987) L_PAREN@[2972; 2973) REF_EXPR@[2973; 2979) AMP@[2973; 2974) PREFIX_EXPR@[2974; 2979) STAR@[2974; 2975) LITERAL@[2975; 2979) STRING@[2975; 2979) COMMA@[2979; 2980) LITERAL@[2980; 2986) CHAR@[2980; 2986) R_PAREN@[2986; 2987) COMMENT@[2987; 2991) COMMA@[2991; 2992) BLOCK_EXPR@[2992; 2994) BLOCK@[2992; 2994) L_CURLY@[2992; 2993) R_CURLY@[2993; 2994) R_PAREN@[2994; 2995) EQEQ@[2995; 2997) BLOCK_EXPR@[2997; 3012) BLOCK@[2997; 3012) L_CURLY@[2997; 2998) EXPR_STMT@[2998; 3011) REF_EXPR@[2998; 3010) AMP@[2998; 2999) INDEX_EXPR@[2999; 3010) ARRAY_EXPR@[2999; 3006) L_BRACK@[2999; 3000) RANGE_EXPR@[3000; 3005) DOTDOTEQ@[3000; 3003) RANGE_EXPR@[3003; 3005) DOTDOT@[3003; 3005) R_BRACK@[3005; 3006) L_BRACK@[3006; 3007) RANGE_EXPR@[3007; 3009) DOTDOT@[3007; 3009) R_BRACK@[3009; 3010) SEMI@[3010; 3011) R_CURLY@[3011; 3012) R_PAREN@[3012; 3013) COMMENT@[3013; 3015) WHITESPACE@[3015; 3020) SEMI@[3020; 3021) WHITESPACE@[3021; 3026) EXPR_STMT@[3026; 3040) MACRO_CALL@[3026; 3039) PATH@[3026; 3032) PATH_SEGMENT@[3026; 3032) NAME_REF@[3026; 3032) IDENT@[3026; 3032) "assert" EXCL@[3032; 3033) TOKEN_TREE@[3033; 3039) L_PAREN@[3033; 3034) EXCL@[3034; 3035) IDENT@[3035; 3038) "val" R_PAREN@[3038; 3039) SEMI@[3039; 3040) WHITESPACE@[3040; 3041) R_CURLY@[3041; 3042) WHITESPACE@[3042; 3044) FN_DEF@[3044; 3514) FN_KW@[3044; 3046) WHITESPACE@[3046; 3047) NAME@[3047; 3057) IDENT@[3047; 3057) "punch_card" PARAM_LIST@[3057; 3059) L_PAREN@[3057; 3058) R_PAREN@[3058; 3059) WHITESPACE@[3059; 3060) RET_TYPE@[3060; 3083) THIN_ARROW@[3060; 3062) WHITESPACE@[3062; 3063) IMPL_TRAIT_TYPE@[3063; 3083) IMPL_KW@[3063; 3067) WHITESPACE@[3067; 3068) TYPE_BOUND_LIST@[3068; 3083) TYPE_BOUND@[3068; 3083) PATH_TYPE@[3068; 3083) PATH@[3068; 3083) PATH@[3068; 3076) PATH@[3068; 3071) PATH_SEGMENT@[3068; 3071) NAME_REF@[3068; 3071) IDENT@[3068; 3071) "std" COLONCOLON@[3071; 3073) PATH_SEGMENT@[3073; 3076) NAME_REF@[3073; 3076) IDENT@[3073; 3076) "fmt" COLONCOLON@[3076; 3078) PATH_SEGMENT@[3078; 3083) NAME_REF@[3078; 3083) IDENT@[3078; 3083) "Debug" WHITESPACE@[3083; 3084) BLOCK@[3084; 3514) L_CURLY@[3084; 3085) WHITESPACE@[3085; 3090) RANGE_EXPR@[3090; 3512) DOTDOTEQ@[3090; 3093) RANGE_EXPR@[3093; 3512) DOTDOTEQ@[3093; 3096) RANGE_EXPR@[3096; 3512) DOTDOT@[3096; 3098) WHITESPACE@[3098; 3099) RANGE_EXPR@[3099; 3512) DOTDOT@[3099; 3101) WHITESPACE@[3101; 3105) RANGE_EXPR@[3105; 3512) DOTDOT@[3105; 3107) WHITESPACE@[3107; 3108) RANGE_EXPR@[3108; 3512) DOTDOT@[3108; 3110) WHITESPACE@[3110; 3111) RANGE_EXPR@[3111; 3512) DOTDOT@[3111; 3113) WHITESPACE@[3113; 3114) RANGE_EXPR@[3114; 3512) DOTDOT@[3114; 3116) WHITESPACE@[3116; 3120) RANGE_EXPR@[3120; 3512) DOTDOT@[3120; 3122) WHITESPACE@[3122; 3123) RANGE_EXPR@[3123; 3512) DOTDOT@[3123; 3125) WHITESPACE@[3125; 3126) RANGE_EXPR@[3126; 3512) DOTDOT@[3126; 3128) WHITESPACE@[3128; 3129) RANGE_EXPR@[3129; 3512) DOTDOT@[3129; 3131) WHITESPACE@[3131; 3135) RANGE_EXPR@[3135; 3512) DOTDOT@[3135; 3137) WHITESPACE@[3137; 3138) RANGE_EXPR@[3138; 3512) DOTDOTEQ@[3138; 3141) RANGE_EXPR@[3141; 3512) DOTDOT@[3141; 3143) WHITESPACE@[3143; 3144) RANGE_EXPR@[3144; 3512) DOTDOT@[3144; 3146) WHITESPACE@[3146; 3151) RANGE_EXPR@[3151; 3512) DOTDOTEQ@[3151; 3154) RANGE_EXPR@[3154; 3512) DOTDOT@[3154; 3156) WHITESPACE@[3156; 3157) RANGE_EXPR@[3157; 3512) DOTDOTEQ@[3157; 3160) RANGE_EXPR@[3160; 3512) DOTDOT@[3160; 3162) WHITESPACE@[3162; 3166) RANGE_EXPR@[3166; 3512) DOTDOT@[3166; 3168) WHITESPACE@[3168; 3169) RANGE_EXPR@[3169; 3512) DOTDOT@[3169; 3171) WHITESPACE@[3171; 3172) RANGE_EXPR@[3172; 3512) DOTDOT@[3172; 3174) WHITESPACE@[3174; 3175) RANGE_EXPR@[3175; 3512) DOTDOT@[3175; 3177) WHITESPACE@[3177; 3181) RANGE_EXPR@[3181; 3512) DOTDOT@[3181; 3183) WHITESPACE@[3183; 3184) RANGE_EXPR@[3184; 3512) DOTDOT@[3184; 3186) WHITESPACE@[3186; 3187) RANGE_EXPR@[3187; 3512) DOTDOT@[3187; 3189) WHITESPACE@[3189; 3190) RANGE_EXPR@[3190; 3512) DOTDOT@[3190; 3192) WHITESPACE@[3192; 3196) RANGE_EXPR@[3196; 3512) DOTDOTEQ@[3196; 3199) RANGE_EXPR@[3199; 3512) DOTDOTEQ@[3199; 3202) RANGE_EXPR@[3202; 3512) DOTDOTEQ@[3202; 3205) RANGE_EXPR@[3205; 3512) DOTDOT@[3205; 3207) WHITESPACE@[3207; 3212) RANGE_EXPR@[3212; 3512) DOTDOTEQ@[3212; 3215) RANGE_EXPR@[3215; 3512) DOTDOT@[3215; 3217) WHITESPACE@[3217; 3218) RANGE_EXPR@[3218; 3512) DOTDOTEQ@[3218; 3221) RANGE_EXPR@[3221; 3512) DOTDOT@[3221; 3223) WHITESPACE@[3223; 3227) RANGE_EXPR@[3227; 3512) DOTDOTEQ@[3227; 3230) RANGE_EXPR@[3230; 3512) DOTDOT@[3230; 3232) WHITESPACE@[3232; 3233) RANGE_EXPR@[3233; 3512) DOTDOTEQ@[3233; 3236) RANGE_EXPR@[3236; 3512) DOTDOT@[3236; 3238) WHITESPACE@[3238; 3242) RANGE_EXPR@[3242; 3512) DOTDOT@[3242; 3244) WHITESPACE@[3244; 3245) RANGE_EXPR@[3245; 3512) DOTDOTEQ@[3245; 3248) RANGE_EXPR@[3248; 3512) DOTDOTEQ@[3248; 3251) RANGE_EXPR@[3251; 3512) DOTDOT@[3251; 3253) WHITESPACE@[3253; 3257) RANGE_EXPR@[3257; 3512) DOTDOT@[3257; 3259) WHITESPACE@[3259; 3260) RANGE_EXPR@[3260; 3512) DOTDOTEQ@[3260; 3263) RANGE_EXPR@[3263; 3512) DOTDOT@[3263; 3265) WHITESPACE@[3265; 3266) RANGE_EXPR@[3266; 3512) DOTDOT@[3266; 3268) WHITESPACE@[3268; 3273) RANGE_EXPR@[3273; 3512) DOTDOTEQ@[3273; 3276) RANGE_EXPR@[3276; 3512) DOTDOTEQ@[3276; 3279) RANGE_EXPR@[3279; 3512) DOTDOT@[3279; 3281) WHITESPACE@[3281; 3282) RANGE_EXPR@[3282; 3512) DOTDOT@[3282; 3284) WHITESPACE@[3284; 3288) RANGE_EXPR@[3288; 3512) DOTDOTEQ@[3288; 3291) RANGE_EXPR@[3291; 3512) DOTDOT@[3291; 3293) WHITESPACE@[3293; 3294) RANGE_EXPR@[3294; 3512) DOTDOTEQ@[3294; 3297) RANGE_EXPR@[3297; 3512) DOTDOT@[3297; 3299) WHITESPACE@[3299; 3303) RANGE_EXPR@[3303; 3512) DOTDOTEQ@[3303; 3306) RANGE_EXPR@[3306; 3512) DOTDOT@[3306; 3308) WHITESPACE@[3308; 3309) RANGE_EXPR@[3309; 3512) DOTDOT@[3309; 3311) WHITESPACE@[3311; 3312) RANGE_EXPR@[3312; 3512) DOTDOT@[3312; 3314) WHITESPACE@[3314; 3318) RANGE_EXPR@[3318; 3512) DOTDOT@[3318; 3320) WHITESPACE@[3320; 3321) RANGE_EXPR@[3321; 3512) DOTDOTEQ@[3321; 3324) RANGE_EXPR@[3324; 3512) DOTDOT@[3324; 3326) WHITESPACE@[3326; 3327) RANGE_EXPR@[3327; 3512) DOTDOT@[3327; 3329) WHITESPACE@[3329; 3334) RANGE_EXPR@[3334; 3512) DOTDOTEQ@[3334; 3337) RANGE_EXPR@[3337; 3512) DOTDOT@[3337; 3339) WHITESPACE@[3339; 3340) RANGE_EXPR@[3340; 3512) DOTDOTEQ@[3340; 3343) RANGE_EXPR@[3343; 3512) DOTDOT@[3343; 3345) WHITESPACE@[3345; 3349) RANGE_EXPR@[3349; 3512) DOTDOTEQ@[3349; 3352) RANGE_EXPR@[3352; 3512) DOTDOT@[3352; 3354) WHITESPACE@[3354; 3355) RANGE_EXPR@[3355; 3512) DOTDOTEQ@[3355; 3358) RANGE_EXPR@[3358; 3512) DOTDOT@[3358; 3360) WHITESPACE@[3360; 3364) RANGE_EXPR@[3364; 3512) DOTDOT@[3364; 3366) WHITESPACE@[3366; 3367) RANGE_EXPR@[3367; 3512) DOTDOTEQ@[3367; 3370) RANGE_EXPR@[3370; 3512) DOTDOT@[3370; 3372) WHITESPACE@[3372; 3373) RANGE_EXPR@[3373; 3512) DOTDOT@[3373; 3375) WHITESPACE@[3375; 3379) RANGE_EXPR@[3379; 3512) DOTDOT@[3379; 3381) WHITESPACE@[3381; 3382) RANGE_EXPR@[3382; 3512) DOTDOTEQ@[3382; 3385) RANGE_EXPR@[3385; 3512) DOTDOT@[3385; 3387) WHITESPACE@[3387; 3388) RANGE_EXPR@[3388; 3512) DOTDOT@[3388; 3390) WHITESPACE@[3390; 3395) RANGE_EXPR@[3395; 3512) DOTDOTEQ@[3395; 3398) RANGE_EXPR@[3398; 3512) DOTDOT@[3398; 3400) WHITESPACE@[3400; 3401) RANGE_EXPR@[3401; 3512) DOTDOTEQ@[3401; 3404) RANGE_EXPR@[3404; 3512) DOTDOT@[3404; 3406) WHITESPACE@[3406; 3410) RANGE_EXPR@[3410; 3512) DOTDOTEQ@[3410; 3413) RANGE_EXPR@[3413; 3512) DOTDOT@[3413; 3415) WHITESPACE@[3415; 3416) RANGE_EXPR@[3416; 3512) DOTDOTEQ@[3416; 3419) RANGE_EXPR@[3419; 3512) DOTDOT@[3419; 3421) WHITESPACE@[3421; 3425) RANGE_EXPR@[3425; 3512) DOTDOT@[3425; 3427) WHITESPACE@[3427; 3428) RANGE_EXPR@[3428; 3512) DOTDOT@[3428; 3430) WHITESPACE@[3430; 3431) RANGE_EXPR@[3431; 3512) DOTDOTEQ@[3431; 3434) RANGE_EXPR@[3434; 3512) DOTDOT@[3434; 3436) WHITESPACE@[3436; 3440) RANGE_EXPR@[3440; 3512) DOTDOT@[3440; 3442) WHITESPACE@[3442; 3443) RANGE_EXPR@[3443; 3512) DOTDOTEQ@[3443; 3446) RANGE_EXPR@[3446; 3512) DOTDOT@[3446; 3448) WHITESPACE@[3448; 3449) RANGE_EXPR@[3449; 3512) DOTDOT@[3449; 3451) WHITESPACE@[3451; 3456) RANGE_EXPR@[3456; 3512) DOTDOTEQ@[3456; 3459) RANGE_EXPR@[3459; 3512) DOTDOT@[3459; 3461) WHITESPACE@[3461; 3462) RANGE_EXPR@[3462; 3512) DOTDOTEQ@[3462; 3465) RANGE_EXPR@[3465; 3512) DOTDOT@[3465; 3467) WHITESPACE@[3467; 3471) RANGE_EXPR@[3471; 3512) DOTDOT@[3471; 3473) WHITESPACE@[3473; 3474) RANGE_EXPR@[3474; 3512) DOTDOTEQ@[3474; 3477) RANGE_EXPR@[3477; 3512) DOTDOTEQ@[3477; 3480) RANGE_EXPR@[3480; 3512) DOTDOT@[3480; 3482) WHITESPACE@[3482; 3486) RANGE_EXPR@[3486; 3512) DOTDOTEQ@[3486; 3489) RANGE_EXPR@[3489; 3512) DOTDOTEQ@[3489; 3492) RANGE_EXPR@[3492; 3512) DOTDOT@[3492; 3494) WHITESPACE@[3494; 3495) RANGE_EXPR@[3495; 3512) DOTDOT@[3495; 3497) WHITESPACE@[3497; 3501) RANGE_EXPR@[3501; 3512) DOTDOT@[3501; 3503) WHITESPACE@[3503; 3504) RANGE_EXPR@[3504; 3512) DOTDOTEQ@[3504; 3507) RANGE_EXPR@[3507; 3512) DOTDOT@[3507; 3509) WHITESPACE@[3509; 3510) RANGE_EXPR@[3510; 3512) DOTDOT@[3510; 3512) WHITESPACE@[3512; 3513) R_CURLY@[3513; 3514) WHITESPACE@[3514; 3516) FN_DEF@[3516; 3552) FN_KW@[3516; 3518) WHITESPACE@[3518; 3519) NAME@[3519; 3525) IDENT@[3519; 3525) "ktulhu" PARAM_LIST@[3525; 3527) L_PAREN@[3525; 3526) R_PAREN@[3526; 3527) WHITESPACE@[3527; 3528) BLOCK@[3528; 3552) L_CURLY@[3528; 3529) WHITESPACE@[3529; 3534) SEMI@[3534; 3535) SEMI@[3535; 3536) SEMI@[3536; 3537) EXPR_STMT@[3537; 3540) TUPLE_EXPR@[3537; 3539) L_PAREN@[3537; 3538) R_PAREN@[3538; 3539) SEMI@[3539; 3540) SEMI@[3540; 3541) SEMI@[3541; 3542) SEMI@[3542; 3543) SEMI@[3543; 3544) SEMI@[3544; 3545) SEMI@[3545; 3546) SEMI@[3546; 3547) SEMI@[3547; 3548) TUPLE_EXPR@[3548; 3550) L_PAREN@[3548; 3549) R_PAREN@[3549; 3550) WHITESPACE@[3550; 3551) R_CURLY@[3551; 3552) WHITESPACE@[3552; 3554) FN_DEF@[3554; 3812) VISIBILITY@[3554; 3557) PUB_KW@[3554; 3557) WHITESPACE@[3557; 3558) FN_KW@[3558; 3560) WHITESPACE@[3560; 3561) NAME@[3561; 3565) IDENT@[3561; 3565) "main" PARAM_LIST@[3565; 3567) L_PAREN@[3565; 3566) R_PAREN@[3566; 3567) WHITESPACE@[3567; 3568) BLOCK@[3568; 3812) L_CURLY@[3568; 3569) WHITESPACE@[3569; 3574) EXPR_STMT@[3574; 3584) CALL_EXPR@[3574; 3583) PATH_EXPR@[3574; 3581) PATH@[3574; 3581) PATH_SEGMENT@[3574; 3581) NAME_REF@[3574; 3581) IDENT@[3574; 3581) "strange" ARG_LIST@[3581; 3583) L_PAREN@[3581; 3582) R_PAREN@[3582; 3583) SEMI@[3583; 3584) WHITESPACE@[3584; 3589) EXPR_STMT@[3589; 3597) CALL_EXPR@[3589; 3596) PATH_EXPR@[3589; 3594) PATH@[3589; 3594) PATH_SEGMENT@[3589; 3594) NAME_REF@[3589; 3594) IDENT@[3589; 3594) "funny" ARG_LIST@[3594; 3596) L_PAREN@[3594; 3595) R_PAREN@[3595; 3596) SEMI@[3596; 3597) WHITESPACE@[3597; 3602) EXPR_STMT@[3602; 3609) CALL_EXPR@[3602; 3608) PATH_EXPR@[3602; 3606) PATH@[3602; 3606) PATH_SEGMENT@[3602; 3606) NAME_REF@[3602; 3606) IDENT@[3602; 3606) "what" ARG_LIST@[3606; 3608) L_PAREN@[3606; 3607) R_PAREN@[3607; 3608) SEMI@[3608; 3609) WHITESPACE@[3609; 3614) EXPR_STMT@[3614; 3628) CALL_EXPR@[3614; 3627) PATH_EXPR@[3614; 3625) PATH@[3614; 3625) PATH_SEGMENT@[3614; 3625) NAME_REF@[3614; 3625) IDENT@[3614; 3625) "zombiejesus" ARG_LIST@[3625; 3627) L_PAREN@[3625; 3626) R_PAREN@[3626; 3627) SEMI@[3627; 3628) WHITESPACE@[3628; 3633) EXPR_STMT@[3633; 3643) CALL_EXPR@[3633; 3642) PATH_EXPR@[3633; 3640) PATH@[3633; 3640) PATH_SEGMENT@[3633; 3640) NAME_REF@[3633; 3640) IDENT@[3633; 3640) "notsure" ARG_LIST@[3640; 3642) L_PAREN@[3640; 3641) R_PAREN@[3641; 3642) SEMI@[3642; 3643) WHITESPACE@[3643; 3648) EXPR_STMT@[3648; 3664) CALL_EXPR@[3648; 3663) PATH_EXPR@[3648; 3661) PATH@[3648; 3661) PATH_SEGMENT@[3648; 3661) NAME_REF@[3648; 3661) IDENT@[3648; 3661) "canttouchthis" ARG_LIST@[3661; 3663) L_PAREN@[3661; 3662) R_PAREN@[3662; 3663) SEMI@[3663; 3664) WHITESPACE@[3664; 3669) EXPR_STMT@[3669; 3681) CALL_EXPR@[3669; 3680) PATH_EXPR@[3669; 3678) PATH@[3669; 3678) PATH_SEGMENT@[3669; 3678) NAME_REF@[3669; 3678) IDENT@[3669; 3678) "angrydome" ARG_LIST@[3678; 3680) L_PAREN@[3678; 3679) R_PAREN@[3679; 3680) SEMI@[3680; 3681) WHITESPACE@[3681; 3686) EXPR_STMT@[3686; 3701) CALL_EXPR@[3686; 3700) PATH_EXPR@[3686; 3698) PATH@[3686; 3698) PATH_SEGMENT@[3686; 3698) NAME_REF@[3686; 3698) IDENT@[3686; 3698) "evil_lincoln" ARG_LIST@[3698; 3700) L_PAREN@[3698; 3699) R_PAREN@[3699; 3700) SEMI@[3700; 3701) WHITESPACE@[3701; 3706) EXPR_STMT@[3706; 3713) CALL_EXPR@[3706; 3712) PATH_EXPR@[3706; 3710) PATH@[3706; 3710) PATH_SEGMENT@[3706; 3710) NAME_REF@[3706; 3710) IDENT@[3706; 3710) "dots" ARG_LIST@[3710; 3712) L_PAREN@[3710; 3711) R_PAREN@[3711; 3712) SEMI@[3712; 3713) WHITESPACE@[3713; 3718) EXPR_STMT@[3718; 3726) CALL_EXPR@[3718; 3725) PATH_EXPR@[3718; 3720) PATH@[3718; 3720) PATH_SEGMENT@[3718; 3720) NAME_REF@[3718; 3720) IDENT@[3718; 3720) "u8" ARG_LIST@[3720; 3725) L_PAREN@[3720; 3721) LITERAL@[3721; 3724) INT_NUMBER@[3721; 3724) "8u8" R_PAREN@[3724; 3725) SEMI@[3725; 3726) WHITESPACE@[3726; 3731) EXPR_STMT@[3731; 3739) CALL_EXPR@[3731; 3738) PATH_EXPR@[3731; 3736) PATH@[3731; 3736) PATH_SEGMENT@[3731; 3736) NAME_REF@[3731; 3736) IDENT@[3731; 3736) "fishy" ARG_LIST@[3736; 3738) L_PAREN@[3736; 3737) R_PAREN@[3737; 3738) SEMI@[3738; 3739) WHITESPACE@[3739; 3744) EXPR_STMT@[3744; 3752) CALL_EXPR@[3744; 3751) PATH_EXPR@[3744; 3749) PATH@[3744; 3749) PATH_SEGMENT@[3744; 3749) NAME_REF@[3744; 3749) IDENT@[3744; 3749) "union" ARG_LIST@[3749; 3751) L_PAREN@[3749; 3750) R_PAREN@[3750; 3751) SEMI@[3751; 3752) WHITESPACE@[3752; 3757) EXPR_STMT@[3757; 3778) CALL_EXPR@[3757; 3777) PATH_EXPR@[3757; 3775) PATH@[3757; 3775) PATH_SEGMENT@[3757; 3775) NAME_REF@[3757; 3775) IDENT@[3757; 3775) "special_characters" ARG_LIST@[3775; 3777) L_PAREN@[3775; 3776) R_PAREN@[3776; 3777) SEMI@[3777; 3778) WHITESPACE@[3778; 3783) EXPR_STMT@[3783; 3796) CALL_EXPR@[3783; 3795) PATH_EXPR@[3783; 3793) PATH@[3783; 3793) PATH_SEGMENT@[3783; 3793) NAME_REF@[3783; 3793) IDENT@[3783; 3793) "punch_card" ARG_LIST@[3793; 3795) L_PAREN@[3793; 3794) R_PAREN@[3794; 3795) SEMI@[3795; 3796) WHITESPACE@[3796; 3801) EXPR_STMT@[3801; 3810) CALL_EXPR@[3801; 3809) PATH_EXPR@[3801; 3807) PATH@[3801; 3807) PATH_SEGMENT@[3801; 3807) NAME_REF@[3801; 3807) IDENT@[3801; 3807) "ktulhu" ARG_LIST@[3807; 3809) L_PAREN@[3807; 3808) R_PAREN@[3808; 3809) SEMI@[3809; 3810) WHITESPACE@[3810; 3811) R_CURLY@[3811; 3812) WHITESPACE@[3812; 3813)