31:
81:
1940:
1356:, which is simply the table of arguments normally passed to the parser. The hook returns a string, which is then parsed as usual. A powerful feature of hooks is that they can add arbitrary values to the argument table, which may be referenced in the string returned by the hook. Generally, the format string returned by the hook is specified in some form by the
1684:
The root table is named based on the established abbreviation for the country or state, which is the same as the abbreviation used in the module title. This table stores the various types used in that particular place. Most of the remaining code in the module defines these various types. The module
966:
The most straightforward functionality provided by nested tables is switching. In its most basic form, the table consists of a series of key-value pairs, with the keys being route numbers and the values being the format strings used by those routes. Usually, the format string returned does not need
1568:
Functionality exists to display multiple shields for one route, which is used to display tolled and free shields for routes where they differ. This is done by supplying a table with two values, which are listed without indices. The parser is called twice by the calling module, and it returns one
99:
At its most basic level, this module is a nested table of strings. At the top is the root table, named for the abbreviation of a country, state, or province. This table stores the type data for a particular place, which is named in the comment in the first line, and is returned at the end of the
718:
is called, it is passed up to three parameters. The second one is the field to parse, and the last one is a rarely-used option designed for multiple-shield types. The first and most important parameter is a table of arguments collected by the calling module, which generally includes the state,
1657:
Each country has its own module. In the United States and Canada, each state/territory/province also has its own module. Each module begins with a comment stating the name of the country or state, followed by the root table declaration, as follows (from
801:. This is the string that will ultimately be parsed and returned by the parser. A format string is an ordinary string object. The power of these strings comes in the form of two special instructions that are recognized by the parser.
1336:
Due to technical limitations, these string modules cannot contain functions. Rather than force functionality into the string framework, the parser can call functions in a separate hooks module. The functions in this module,
845:
The two statements may be combined. The parser will parse the if-then-else statement first, and then perform the argument inclusion. This combination is commonly used with bannered routes in the United States, where the
962:
Some logic is too complicated to represent with only format strings. This framework provides several methods to express complex data. All of these involve storing a nested table as the value of a field.
1341:, are more-or-less fully functional functions. The exact functionalities of these hooks are beyond the scope of this documentation. Descriptions of these hooks may be found on their documentation page.
1865:
It is possible to predefine several types for a location by inheriting them from another module. In this example, the module for
Albania inherits all of the specified types from the Europe module.
1857:. The parser will import that module and process the type as if the original module had declared it itself. The alias declaration may not add or override any data in the type table it points to.
1703:
There are two ways to define a type as an alias. If the type is defined within the module, simply set the new type as equal to the type being aliased, as shown above (from
1786:
If the type is defined in a separate module, such as a state highway type being used in another state's module, a special syntax may be used to refer to that module (from
2617:
Leave a blank line between types. Type aliases should be set off from their base type by a blank line, but no blank lines should be placed between the aliases themselves.
2641:
46:
719:
country, or both; the type and number of the route; and a few miscellaneous arguments. This table of arguments forms the basis of the parser's format string syntax.
2669:
2637:
42:
797:
The most basic value that can be used for most type table fields is a specially formatted string, which will be referred to in this documentation as a
971:
entry should be provided to handle any route numbers not explicitly stated. The following is a representative example of route-based switching (from
1072:
In this example, Highways 917 and 980 have non-standard shield names, which are explicitly provided. Other route numbers use the default format.
50:
1079:
field of the table. Nesting switches on different arguments is also allowed. A good example that uses both forms of switching can be found in
1184:
argument is used for the primary switch. If the route is in Simcoe County, a second switch is performed, this time on the route number.
502:
Once a type is defined, it can be referenced later in the code. As seen here, it is common to define all parameters for main types like
2623:
2608:
Align table fields using tabs. All tables should be aligned so that fields line up with each other, as shown in the above examples.
735:: The country the route is located in. If the country is not passed by the calling module, the parser will attempt to include it.
1959:
1854:
1787:
1659:
1570:
1080:
972:
812:
entry in the arguments table described earlier. This is what allows the route number to be spliced into a shield or link name.
739:
The above entries are primarily used to find the string module itself, so they should not be a concern for module writers.
1338:
186:. Currently, these are the types used by all countries. By convention, they are always specified, using an empty string
2631:
2230:
1704:
1361:
1213:
38:
1208:
field is returned. Existence testing may be chained by using a second ifexists table as the value of the first table's
1075:
Switching on other arguments is also allowed. The name of the argument to be used for switching is stated in the
331:
can be used for aliasing different types that have a similar base structure, such as U.S. Highway special routes.
715:
386:
341:
779:: A tag used to disambiguate the link target. This is mostly used for bannered routes in the United States.
317:
71:
789:
Parser hooks, which will be described later, can add entries to this table that may be used by strings.
100:
module. The table is composed of further tables, one per type. The basic syntax for a type table is:
763:: The county the route is located in. This is usually used for county routes in the United States.
2217:
Similarly, subtypes can be created in the same manner. This example creates 9 subtypes each for
746:: The type of the route. This determines the entry of the root table that is used by the parser.
2627:
226:
is used when a different shield is desired at the top of an infobox, such as for county roads.
834:
argument. If the result of the test is true, the statement is replaced with the value of the
351:
stores a code representing the width of the shield. It is most often helpful when used with
17:
1348:
field in a table as equal to the name of a hook. Hooks receive two arguments, both tables:
1180:
In this example, which is a shield table that is reused by several types in
Ontario, the
818:. This functions as a rudimentary if-then-else statement. The parser tests the value of
57:
This module is used to store type data for use with several road templates, including
400:
393:
1360:
field of the table, though there are exceptions. Here is an example of a hook (from
850:
argument is tested and the link disambiguation is adjusted accordingly, as follows:
752:: The route "number". This is easily the most important argument for module writers.
61:
1974:
types are all created from the same code. At the bottom that is an override for
722:
The table accessible by the strings includes the following entries by default:
371:
stores the specific section number for those routes that are defined by law.
1954:
It is possible to create multiple types based on a specified pattern using
25:
1200:, the parser will perform existence testing on the result of parsing the
938:. If not, the statement is replaced with the empty string placed in the
77:. Background information and a summary of the syntax are listed below.
379:
specifies the native language name of the route displayed by an infobox
1212:
field, and so on. Here's an example of nested existence testing (from
785:: This rare entry is used exclusively for West Virginia county routes.
808:
form. The parser will replace such a statement with the value of the
313:
is used when a different shield is desired in lists that utilize the
2614:
Add spaces to either side of an assignment operator (equals sign).
830:
may be empty, in which case the parser tests the existence of the
1536:
In this example, the parser will process the link by calling the
1192:
Another use for tables is existence testing. If a table has the
934:
argument was provided. If so, it replaces the statement with
1540:
hook. In short, this hook takes the argument referenced in
2604:
There are a few style guidelines that should be followed:
355:. Can be omitted entirely when unused; common values are
2662:
2654:
2650:
1548:, and stores it in the field in the arguments noted in
838:
block. Otherwise, it is replaced with the value of the
769:: This entry is similar in function and utility to the
203:
specifies the name of the route displayed by an infobox
1344:
Generally speaking, a hook is called by setting the
1204:
field. If the test fails, the result of parsing the
339:
stores the name of the special route plate, such as
389:code of the native language; this code is used by
1544:, passes it through the mask module specified in
882:"U.S. Route %route% Business (Alabama)"
2647:Editors can experiment in this module's sandbox
1946:Only one module may be inherited at this time.
1435:"Nuevo Leon State Highway %route%.PNG"
822:to see if it is equal to the value specified in
729:: The state or province the route is located in.
209:specifies the target of a link generated, if any
2074:"US %%route%% Washington %s.svg"
197:determines the shield that is displayed, if any
3266:-- Countries without separate state modules --
1516:"%fullstate% State Highway %route%"
1142:"Niagara Regional Road %route%.svg"
930:field, the parser first checks to see if the
506:and then to use aliases for subtypes such as
8:
1569:shield per call. An example may be found in
1352:, which is the table in the definition; and
1133:"Durham Regional Road %route%.svg"
815:The second special string is in the form of
2731:-- Countries with separate state modules --
2611:Each table field should be on its own line.
756:The following entries are used less often:
3423:"Module:Road data/strings/%s/%s"
1169:"Simcoe County Road %route%.JPG"
1124:"York Regional Road %route%.svg"
560:"U.S. Route %route% in Missouri"
1115:"Essex County Road %route%.png"
170:The four main fields in a type table are
1930:"Module:Road data/strings/EUR"
219:Other common fields in road data tables
3509:"Module:Road data/strings/%s"
1620:"Texas State Highway %route%"
1552:. The hook returns the string given in
2050:"US %%route%% (%s).svg"
1608:"Toll Texas %route% new.svg"
215:determines the displayed abbreviation.
1745:"Route %route% (Hong Kong)"
1157:"Simcoe county road 52.png"
1040:"Arkansas Highway %route% "
1028:"Arkansas 980(Airport).svg"
434:"PE-%route% route sign.svg"
7:
967:parsing, but the option is there. A
1757:"Route %route%"
1685:ends by returning the root table:
1423:"HIGHWAYSON %route%.jpg"
946:with the route number and, if the
446:"National Route %route%"
24:
2212:"US %route% (1961).svg"
1939:
1900:"Module:Road data/util"
1052:"Hwy. %route%"
954:with the value of that argument.
942:block. Then, the parser replaces
647:" Alternate (Missouri)"
482:"Ruta nacional %route%"
1938:
1296:"UK road B%route%.png"
1263:"UK road B%route%.svg"
1010:"Arkansas %route%.svg"
458:"Peru Highway %route%"
29:
1960:Module:Road data/strings/USA/WA
1855:Module:Road data/strings/USA/NY
1788:Module:Road data/strings/USA/NJ
1733:"HK Route%route%.svg"
1660:Module:Road data/strings/USA/AS
1632:"SH %route%"
1528:"SH %route%"
1480:"Road data/masks/MEX"
973:Module:Road data/strings/USA/AR
689:"Alternate plate.svg"
572:"US %route%"
277:"County Road %route%"
1019:"Arkansas 917-1.svg"
906:"Business plate.svg"
548:"U.S. Route %route%"
265:"County %route%.svg"
253:"CR %route% jct.svg"
1:
1602:"Texas %route%.svg"
1339:Module:Road data/parser/hooks
345:. Can be omitted when unused.
2632:Module:Road data/strings/doc
2231:Module:Road data/strings/USA
1705:Module:Road data/strings/HKG
1560:argument added by the hook.
1362:Module:Road data/strings/MEX
1214:Module:Road data/strings/GBR
714:When the parser function of
2233:. That, in turn, modifies
894:"US-%route% Bus."
3556:
2621:
1556:, which has access to the
870:"US %route%.svg"
536:"US %route%.svg"
3533:
3529:
3522:
3494:
3460:
3456:
3449:
3442:
3408:
3374:
3361:
3345:
3311:
3307:
3300:
3296:
3274:
3270:
3263:
3259:
3240:
3236:
3070:
2886:
2879:
2875:
804:The first is anything in
2856:
2852:
2758:
2751:
2735:
2728:
2724:
2696:
2680:
2677:
2243:
1984:
1958:. In this example from
1867:
1792:
1709:
1687:
1664:
1575:
1366:
1218:
1085:
977:
852:
512:
410:
229:
102:
2670:Subpages of this module
950:argument was provided,
716:Module:Road data/parser
2549:" plate.svg"
1849:type as a link to the
470:"PE-%route%"
301:"CR %route%"
190:if there is no value.
2882:--- United States ---
1504:"fullstate"
83:View regional modules
1323:"B%route%"
323:series of templates.
95:Hierarchy and fields
34:Module documentation
3335:countriesWithStates
3243:countriesWithStates
2859:countriesWithStates
2741:countriesWithStates
1845:This code sets the
1564:Other functionality
793:Basic string syntax
2333:"Scenic"
2229:is inherited from
2188:"square"
1825:"USA/NY"
1106:"county"
1064:"expand"
918:"expand"
701:"expand"
584:"expand"
342:Business plate.svg
2351:"Truck"
1667:-- American Samoa
1492:"state"
1411:"state"
1188:Existence testing
926:When parsing the
677:" Alt."
494:"es-pe"
3547:
3541:
3540:
3537:
3531:
3527:
3526:
3520:
3519:
3516:
3513:
3510:
3507:
3504:
3501:
3498:
3492:
3491:
3488:
3485:
3482:
3479:
3476:
3473:
3470:
3467:
3464:
3458:
3454:
3453:
3447:
3446:
3440:
3439:
3436:
3433:
3430:
3427:
3424:
3421:
3418:
3415:
3412:
3406:
3405:
3402:
3399:
3396:
3393:
3390:
3387:
3384:
3381:
3378:
3372:
3371:
3368:
3365:
3359:
3358:
3355:
3352:
3349:
3343:
3342:
3339:
3336:
3333:
3330:
3327:
3324:
3321:
3318:
3315:
3309:
3305:
3304:
3303:-- Processing --
3298:
3294:
3293:
3290:
3287:
3284:
3281:
3278:
3272:
3268:
3267:
3261:
3257:
3256:
3253:
3250:
3247:
3244:
3238:
3234:
3233:
3230:
3227:
3224:
3221:
3218:
3215:
3212:
3209:
3206:
3203:
3200:
3197:
3194:
3191:
3188:
3185:
3182:
3179:
3176:
3173:
3170:
3167:
3164:
3161:
3158:
3155:
3152:
3149:
3146:
3143:
3140:
3137:
3134:
3131:
3128:
3125:
3122:
3119:
3116:
3113:
3110:
3107:
3104:
3101:
3098:
3095:
3092:
3089:
3086:
3083:
3080:
3077:
3074:
3068:
3067:
3064:
3061:
3058:
3055:
3052:
3049:
3046:
3043:
3040:
3037:
3034:
3031:
3028:
3025:
3022:
3019:
3016:
3013:
3010:
3007:
3004:
3001:
2998:
2995:
2992:
2989:
2986:
2983:
2980:
2977:
2974:
2971:
2968:
2965:
2962:
2959:
2956:
2953:
2950:
2947:
2944:
2941:
2938:
2935:
2932:
2929:
2926:
2923:
2920:
2917:
2914:
2911:
2908:
2905:
2902:
2899:
2896:
2893:
2890:
2884:
2883:
2877:
2873:
2872:
2869:
2866:
2863:
2860:
2854:
2850:
2849:
2846:
2843:
2840:
2837:
2834:
2831:
2828:
2825:
2822:
2819:
2816:
2813:
2810:
2807:
2804:
2801:
2798:
2795:
2792:
2789:
2786:
2783:
2780:
2777:
2774:
2771:
2768:
2765:
2762:
2756:
2755:
2749:
2748:
2745:
2742:
2739:
2733:
2732:
2726:
2722:
2721:
2718:
2715:
2712:
2709:
2706:
2703:
2700:
2694:
2693:
2690:
2687:
2684:
2666:
2658:
2645:
2595:
2592:
2589:
2586:
2583:
2580:
2577:
2574:
2571:
2568:
2565:
2562:
2559:
2556:
2553:
2550:
2547:
2544:
2541:
2538:
2535:
2532:
2529:
2526:
2523:
2520:
2517:
2514:
2511:
2508:
2505:
2502:
2499:
2496:
2493:
2490:
2487:
2484:
2481:
2478:
2475:
2472:
2469:
2466:
2463:
2460:
2457:
2454:
2451:
2448:
2445:
2442:
2439:
2436:
2433:
2430:
2427:
2424:
2421:
2418:
2415:
2412:
2409:
2406:
2403:
2400:
2397:
2394:
2391:
2388:
2385:
2382:
2379:
2376:
2373:
2370:
2367:
2364:
2361:
2358:
2355:
2352:
2349:
2346:
2345:"Temp"
2343:
2340:
2339:"Spur"
2337:
2334:
2331:
2328:
2325:
2322:
2321:"Conn"
2319:
2316:
2313:
2310:
2307:
2304:
2301:
2298:
2295:
2292:
2289:
2286:
2283:
2280:
2277:
2274:
2271:
2268:
2265:
2262:
2259:
2256:
2253:
2250:
2247:
2240:
2236:
2228:
2224:
2220:
2213:
2210:
2207:
2204:
2201:
2198:
2195:
2192:
2189:
2186:
2183:
2180:
2177:
2174:
2171:
2168:
2165:
2162:
2159:
2156:
2153:
2150:
2147:
2144:
2141:
2138:
2135:
2132:
2129:
2126:
2123:
2120:
2117:
2114:
2111:
2108:
2105:
2102:
2099:
2096:
2093:
2090:
2087:
2084:
2081:
2078:
2075:
2072:
2069:
2066:
2063:
2060:
2057:
2054:
2051:
2048:
2045:
2042:
2039:
2036:
2033:
2030:
2027:
2024:
2021:
2020:"1961"
2018:
2015:
2014:"1948"
2012:
2009:
2008:"1926"
2006:
2003:
2000:
1997:
1994:
1991:
1988:
1981:
1977:
1973:
1969:
1965:
1957:
1945:
1942:
1941:
1934:
1931:
1928:
1925:
1922:
1919:
1916:
1913:
1910:
1907:
1904:
1901:
1898:
1895:
1892:
1889:
1886:
1883:
1880:
1877:
1874:
1871:
1861:Inheriting types
1852:
1848:
1841:
1838:
1835:
1832:
1829:
1826:
1823:
1820:
1817:
1814:
1811:
1808:
1805:
1802:
1799:
1796:
1782:
1779:
1776:
1773:
1770:
1767:
1764:
1761:
1758:
1755:
1752:
1749:
1746:
1743:
1740:
1737:
1734:
1731:
1728:
1725:
1722:
1719:
1716:
1713:
1694:
1691:
1680:
1677:
1674:
1671:
1668:
1648:
1645:
1642:
1639:
1636:
1633:
1630:
1627:
1624:
1621:
1618:
1615:
1612:
1609:
1606:
1603:
1600:
1597:
1594:
1591:
1588:
1585:
1582:
1579:
1559:
1555:
1551:
1547:
1543:
1539:
1532:
1529:
1526:
1523:
1520:
1517:
1514:
1511:
1508:
1505:
1502:
1499:
1496:
1493:
1490:
1487:
1484:
1481:
1478:
1475:
1472:
1469:
1468:"mask"
1466:
1463:
1460:
1457:
1454:
1451:
1448:
1445:
1442:
1439:
1436:
1433:
1430:
1427:
1424:
1421:
1418:
1415:
1412:
1409:
1406:
1403:
1400:
1397:
1394:
1391:
1388:
1385:
1382:
1379:
1376:
1373:
1370:
1359:
1355:
1351:
1347:
1327:
1324:
1321:
1318:
1315:
1312:
1309:
1306:
1303:
1300:
1297:
1294:
1291:
1288:
1285:
1282:
1279:
1276:
1273:
1270:
1267:
1264:
1261:
1258:
1255:
1252:
1249:
1246:
1243:
1240:
1237:
1234:
1231:
1228:
1225:
1222:
1211:
1207:
1203:
1199:
1195:
1183:
1176:
1173:
1170:
1167:
1164:
1161:
1158:
1155:
1152:
1149:
1146:
1143:
1140:
1137:
1134:
1131:
1128:
1125:
1122:
1119:
1116:
1113:
1110:
1107:
1104:
1101:
1098:
1095:
1092:
1089:
1078:
1068:
1065:
1062:
1059:
1056:
1053:
1050:
1047:
1044:
1041:
1038:
1035:
1032:
1029:
1026:
1023:
1020:
1017:
1014:
1011:
1008:
1005:
1002:
999:
996:
993:
990:
987:
984:
981:
970:
953:
949:
945:
941:
937:
933:
929:
922:
919:
916:
913:
910:
907:
904:
901:
898:
895:
892:
889:
886:
883:
880:
877:
874:
871:
868:
865:
862:
859:
856:
849:
841:
837:
833:
829:
825:
821:
817:
811:
807:
784:
778:
772:
768:
762:
751:
745:
734:
728:
710:Parser arguments
705:
702:
699:
696:
693:
690:
687:
684:
681:
678:
675:
672:
669:
666:
663:
660:
657:
654:
651:
648:
645:
642:
639:
636:
633:
630:
627:
624:
621:
618:
615:
612:
609:
606:
603:
600:
597:
594:
591:
588:
585:
582:
579:
576:
573:
570:
567:
564:
561:
558:
555:
552:
549:
546:
543:
540:
537:
534:
531:
528:
525:
522:
519:
516:
509:
505:
498:
495:
492:
489:
486:
483:
480:
477:
474:
471:
468:
465:
462:
459:
456:
453:
450:
447:
444:
441:
438:
435:
432:
429:
426:
423:
420:
417:
414:
398:
392:
384:
378:
370:
362:
358:
354:
350:
344:
338:
330:
322:
316:
312:
305:
302:
299:
296:
293:
290:
287:
284:
281:
278:
275:
272:
269:
266:
263:
260:
257:
254:
251:
248:
245:
242:
239:
236:
233:
225:
214:
208:
202:
196:
189:
185:
181:
177:
173:
166:
163:
160:
157:
154:
151:
148:
145:
142:
139:
136:
133:
130:
127:
124:
121:
118:
115:
112:
109:
106:
86:
84:
76:
70:
66:
60:
54:
35:
33:
32:
18:Module:Road data
3555:
3554:
3550:
3549:
3548:
3546:
3545:
3544:
3543:
3542:
3538:
3535:
3532:
3528:
3524:
3521:
3517:
3514:
3511:
3508:
3505:
3502:
3499:
3496:
3493:
3489:
3486:
3483:
3480:
3477:
3474:
3471:
3468:
3465:
3462:
3459:
3455:
3451:
3448:
3444:
3441:
3437:
3434:
3431:
3428:
3425:
3422:
3419:
3416:
3413:
3410:
3407:
3403:
3400:
3397:
3394:
3391:
3388:
3385:
3382:
3379:
3376:
3373:
3369:
3366:
3363:
3360:
3356:
3353:
3350:
3347:
3344:
3340:
3337:
3334:
3331:
3328:
3325:
3322:
3319:
3316:
3313:
3310:
3306:
3302:
3299:
3295:
3291:
3288:
3285:
3282:
3279:
3276:
3273:
3269:
3265:
3262:
3258:
3254:
3251:
3248:
3245:
3242:
3239:
3235:
3231:
3228:
3225:
3222:
3219:
3216:
3213:
3210:
3207:
3204:
3201:
3198:
3195:
3192:
3189:
3186:
3183:
3180:
3177:
3174:
3171:
3168:
3165:
3162:
3159:
3156:
3153:
3150:
3147:
3144:
3141:
3138:
3135:
3132:
3129:
3126:
3123:
3120:
3117:
3114:
3111:
3108:
3105:
3102:
3099:
3096:
3093:
3090:
3087:
3084:
3081:
3078:
3075:
3072:
3069:
3065:
3062:
3059:
3056:
3053:
3050:
3047:
3044:
3041:
3038:
3035:
3032:
3029:
3026:
3023:
3020:
3017:
3014:
3011:
3008:
3005:
3002:
2999:
2996:
2993:
2990:
2987:
2984:
2981:
2978:
2975:
2972:
2969:
2966:
2963:
2960:
2957:
2954:
2951:
2948:
2945:
2942:
2939:
2936:
2933:
2930:
2927:
2924:
2921:
2918:
2915:
2912:
2909:
2906:
2903:
2900:
2897:
2894:
2891:
2888:
2885:
2881:
2878:
2874:
2870:
2867:
2864:
2861:
2858:
2855:
2851:
2847:
2844:
2841:
2838:
2835:
2832:
2829:
2826:
2823:
2820:
2817:
2814:
2811:
2808:
2805:
2802:
2799:
2796:
2793:
2790:
2787:
2784:
2781:
2778:
2775:
2772:
2769:
2766:
2763:
2760:
2757:
2753:
2750:
2746:
2743:
2740:
2737:
2734:
2730:
2727:
2723:
2719:
2716:
2713:
2710:
2707:
2704:
2701:
2698:
2695:
2691:
2688:
2685:
2682:
2679:
2674:
2673:
2668:
2660:
2648:
2646:
2635:
2620:
2602:
2597:
2596:
2593:
2590:
2587:
2584:
2581:
2578:
2575:
2572:
2569:
2566:
2563:
2560:
2557:
2554:
2551:
2548:
2545:
2542:
2539:
2536:
2533:
2530:
2527:
2524:
2521:
2518:
2515:
2512:
2509:
2506:
2503:
2500:
2497:
2494:
2491:
2488:
2485:
2482:
2479:
2476:
2473:
2470:
2467:
2464:
2461:
2458:
2455:
2452:
2449:
2446:
2443:
2440:
2437:
2434:
2431:
2428:
2425:
2422:
2419:
2416:
2413:
2410:
2407:
2404:
2401:
2398:
2395:
2392:
2389:
2386:
2383:
2380:
2377:
2374:
2371:
2368:
2365:
2362:
2359:
2356:
2353:
2350:
2347:
2344:
2341:
2338:
2335:
2332:
2329:
2327:"Opt"
2326:
2323:
2320:
2317:
2315:"Byp"
2314:
2311:
2309:"Bus"
2308:
2305:
2303:"Alt"
2302:
2299:
2296:
2293:
2290:
2287:
2284:
2281:
2278:
2275:
2272:
2269:
2266:
2263:
2260:
2257:
2254:
2251:
2248:
2245:
2238:
2234:
2226:
2222:
2218:
2215:
2214:
2211:
2208:
2205:
2202:
2199:
2196:
2193:
2190:
2187:
2184:
2181:
2178:
2175:
2172:
2169:
2166:
2163:
2160:
2157:
2154:
2151:
2148:
2145:
2142:
2139:
2136:
2133:
2130:
2127:
2124:
2121:
2118:
2115:
2112:
2109:
2106:
2103:
2100:
2097:
2094:
2091:
2088:
2085:
2082:
2079:
2076:
2073:
2070:
2067:
2064:
2061:
2058:
2055:
2052:
2049:
2046:
2043:
2040:
2037:
2034:
2031:
2028:
2025:
2022:
2019:
2016:
2013:
2010:
2007:
2004:
2001:
1998:
1995:
1992:
1989:
1986:
1979:
1975:
1971:
1967:
1963:
1955:
1952:
1943:
1936:
1935:
1932:
1929:
1926:
1923:
1920:
1917:
1914:
1911:
1908:
1905:
1902:
1899:
1896:
1893:
1890:
1887:
1884:
1881:
1878:
1875:
1872:
1869:
1863:
1850:
1846:
1843:
1842:
1839:
1836:
1833:
1830:
1827:
1824:
1821:
1818:
1815:
1812:
1809:
1806:
1803:
1800:
1797:
1794:
1784:
1783:
1780:
1777:
1774:
1771:
1768:
1765:
1762:
1759:
1756:
1753:
1750:
1747:
1744:
1741:
1738:
1735:
1732:
1729:
1726:
1723:
1720:
1717:
1714:
1711:
1701:
1696:
1695:
1692:
1689:
1682:
1681:
1678:
1675:
1672:
1669:
1666:
1655:
1650:
1649:
1646:
1643:
1640:
1637:
1634:
1631:
1628:
1625:
1622:
1619:
1616:
1613:
1610:
1607:
1604:
1601:
1598:
1595:
1592:
1589:
1586:
1583:
1580:
1577:
1566:
1557:
1553:
1549:
1545:
1541:
1537:
1534:
1533:
1530:
1527:
1524:
1521:
1518:
1515:
1512:
1509:
1506:
1503:
1500:
1497:
1494:
1491:
1488:
1485:
1482:
1479:
1476:
1473:
1470:
1467:
1464:
1461:
1458:
1455:
1452:
1449:
1446:
1443:
1440:
1437:
1434:
1431:
1428:
1425:
1422:
1419:
1416:
1413:
1410:
1407:
1404:
1401:
1398:
1395:
1392:
1389:
1386:
1383:
1380:
1377:
1374:
1371:
1368:
1357:
1353:
1349:
1345:
1334:
1329:
1328:
1325:
1322:
1319:
1316:
1313:
1310:
1307:
1304:
1301:
1298:
1295:
1292:
1289:
1286:
1283:
1280:
1277:
1274:
1271:
1268:
1265:
1262:
1259:
1256:
1253:
1250:
1247:
1244:
1241:
1238:
1235:
1232:
1229:
1226:
1223:
1220:
1209:
1205:
1201:
1197:
1193:
1190:
1181:
1178:
1177:
1174:
1171:
1168:
1165:
1162:
1159:
1156:
1153:
1150:
1147:
1144:
1141:
1138:
1135:
1132:
1129:
1126:
1123:
1120:
1117:
1114:
1111:
1108:
1105:
1102:
1099:
1096:
1093:
1091:regionalShields
1090:
1087:
1076:
1070:
1069:
1066:
1063:
1060:
1057:
1054:
1051:
1048:
1045:
1042:
1039:
1036:
1033:
1030:
1027:
1024:
1021:
1018:
1015:
1012:
1009:
1006:
1003:
1000:
997:
994:
991:
988:
985:
982:
979:
968:
960:
951:
947:
943:
939:
935:
931:
927:
924:
923:
920:
917:
914:
911:
908:
905:
902:
899:
896:
893:
890:
887:
884:
881:
878:
875:
872:
869:
866:
863:
860:
857:
854:
847:
839:
835:
831:
827:
823:
819:
816:
809:
805:
795:
782:
776:
770:
766:
760:
749:
743:
732:
726:
712:
707:
706:
703:
700:
697:
694:
691:
688:
685:
682:
679:
676:
673:
670:
667:
664:
661:
658:
655:
652:
649:
646:
643:
640:
637:
634:
631:
628:
625:
622:
619:
616:
613:
610:
607:
604:
601:
598:
595:
592:
589:
586:
583:
580:
577:
574:
571:
568:
565:
562:
559:
556:
553:
550:
547:
544:
541:
538:
535:
532:
529:
526:
523:
520:
517:
514:
507:
503:
500:
499:
496:
493:
490:
487:
484:
481:
478:
475:
472:
469:
466:
463:
460:
457:
454:
451:
448:
445:
442:
439:
436:
433:
430:
427:
424:
421:
418:
415:
412:
396:
390:
382:
376:
368:
360:
356:
352:
348:
340:
336:
328:
320:
314:
310:
307:
306:
303:
300:
297:
294:
291:
288:
285:
282:
279:
276:
273:
270:
267:
264:
261:
258:
255:
252:
249:
246:
243:
240:
237:
234:
231:
223:
212:
206:
200:
194:
187:
183:
179:
175:
171:
168:
167:
164:
161:
158:
155:
152:
149:
146:
143:
140:
137:
134:
131:
128:
125:
122:
119:
116:
113:
110:
107:
104:
97:
92:
82:
80:
74:
68:
64:
58:
55:
36:
30:
28:
22:
21:
20:
12:
11:
5:
3553:
3551:
2754:--- Canada ---
2678:
2659:and testcases
2619:
2618:
2615:
2612:
2609:
2601:
2598:
2244:
1985:
1951:
1948:
1868:
1862:
1859:
1837:"NY"
1793:
1710:
1700:
1697:
1688:
1665:
1654:
1651:
1576:
1565:
1562:
1367:
1333:
1330:
1219:
1189:
1186:
1086:
978:
959:
956:
853:
794:
791:
787:
786:
780:
774:
764:
754:
753:
747:
737:
736:
730:
711:
708:
513:
411:
409:
408:
380:
373:
372:
365:
364:
346:
333:
332:
325:
324:
230:
228:
227:
217:
216:
210:
204:
198:
103:
96:
93:
91:
88:
27:
26:
23:
15:
14:
13:
10:
9:
6:
4:
3:
2:
3552:
3534:
3530:
3523:
3495:
3461:
3457:
3450:
3443:
3409:
3375:
3362:
3346:
3312:
3308:
3301:
3297:
3289:'HKG'
3275:
3271:
3264:
3260:
3241:
3237:
3071:
2887:
2880:
2876:
2857:
2853:
2759:
2752:
2736:
2729:
2725:
2697:
2681:
2676:
2671:
2664:
2656:
2652:
2643:
2639:
2633:
2629:
2625:
2624:documentation
2616:
2613:
2610:
2607:
2606:
2605:
2599:
2513:" "
2471:" "
2435:" "
2242:
2241:accordingly.
2232:
1983:
1961:
1950:Advanced uses
1949:
1947:
1866:
1860:
1858:
1856:
1791:
1789:
1708:
1706:
1698:
1686:
1663:
1661:
1652:
1574:
1572:
1563:
1561:
1365:
1363:
1342:
1340:
1331:
1217:
1215:
1196:field set to
1187:
1185:
1084:
1082:
1073:
976:
974:
964:
957:
955:
851:
843:
813:
802:
800:
799:format string
792:
790:
781:
775:
765:
759:
758:
757:
748:
742:
741:
740:
731:
725:
724:
723:
720:
717:
709:
511:
406:
404:
395:
388:
381:
375:
374:
367:
366:
347:
343:
335:
334:
327:
326:
319:
318:Routelist row
309:
308:
222:
221:
220:
211:
205:
199:
193:
192:
191:
101:
94:
89:
87:
85:
78:
73:
72:routelist row
63:
52:
48:
44:
40:
19:
3411:countryTable
3370:countryTable
3351:countryTable
3229:'WY'
3223:'WV'
3217:'WI'
3211:'WA'
3205:'VT'
3199:'VI'
3193:'VA'
3187:'UT'
3181:'TX'
3175:'TN'
3169:'SD'
3163:'SC'
3157:'RI'
3151:'PR'
3145:'PA'
3139:'OR'
3133:'OK'
3127:'OH'
3121:'NY'
3115:'NV'
3109:'NM'
3103:'NJ'
3097:'NH'
3091:'NE'
3085:'ND'
3079:'NC'
3073:'MT'
3063:'MS'
3057:'MO'
3051:'MN'
3045:'MI'
3039:'ME'
3033:'MD'
3027:'MA'
3021:'LA'
3015:'KY'
3009:'KS'
3003:'IN'
2997:'IL'
2991:'ID'
2985:'IA'
2979:'HI'
2973:'GU'
2967:'GA'
2961:'FL'
2955:'DE'
2949:'DC'
2943:'CT'
2937:'CO'
2931:'CA'
2925:'AZ'
2919:'AS'
2913:'AR'
2907:'AL'
2901:'AK'
2845:'YT'
2839:'SK'
2833:'QC'
2827:'PE'
2821:'ON'
2815:'NU'
2809:'NT'
2803:'NS'
2797:'NL'
2791:'NB'
2785:'MB'
2779:'BC'
2773:'AB'
2675:
2603:
2543:bannerprefix
2273:'SR'
2267:'WA'
2216:
1953:
1937:
1864:
1844:
1785:
1702:
1683:
1656:
1567:
1535:
1447:""
1343:
1335:
1311:""
1191:
1179:
1074:
1071:
965:
961:
925:
844:
814:
803:
798:
796:
788:
755:
738:
721:
713:
501:
402:
397:}}
391:{{
321:}}
315:{{
289:""
218:
169:
162:""
150:""
138:""
126:""
98:
79:
75:}}
69:{{
65:}}
59:{{
56:
2628:transcluded
476:translation
377:translation
49:] [
45:] [
41:] [
2622:The above
2525:abbrsuffix
2411:shieldmain
2399:shieldmain
2206:shieldmain
2062:shieldmain
1980:shieldmain
1870:-- Albania
1350:parameters
806:%argument%
311:shieldlist
259:shieldmain
224:shieldmain
3484:countries
3280:countries
1653:Structure
1558:fullstate
1269:otherwise
1210:otherwise
1206:otherwise
958:Switching
405:templates
387:ISO 639-2
1853:type in
1699:Aliasing
1393:ifexists
1278:ifexists
1245:ifexists
1194:ifexists
810:argument
767:township
3515:country
3472:country
3429:country
3317:country
2714:ustring
2653:|
2642:history
2640:|
2291:auxType
2235:auxType
2225:. The
1976:US 1961
1972:US 1961
1968:US 1948
1964:US 1926
1924:require
1894:require
1554:default
1510:default
1441:default
1358:default
1290:default
1257:default
1202:default
1163:default
1081:Ontario
1004:default
969:default
944:%route%
936:%dab%,
842:block.
733:country
385:is the
369:section
47:history
3536:return
3503:format
3417:format
3398:states
3323:states
2720:format
2702:format
2667:pages.
2663:create
2655:mirror
2651:create
2531:banner
2489:suffix
2393:shield
2381:shield
2297:ipairs
2261:ipairs
2068:format
2044:format
2038:shield
2002:ipairs
1970:, and
1962:, the
1956:ipairs
1912:addAll
1819:module
1727:shield
1690:return
1593:shield
1550:masked
1498:masked
1384:shield
1236:shield
1182:county
995:shield
900:banner
864:shield
828:equals
824:equals
773:entry.
771:county
761:county
683:banner
617:shield
599:shield
530:shield
508:US-Alt
428:shield
361:expand
357:square
353:banner
337:banner
247:shield
195:shield
182:, and
172:shield
120:shield
90:Syntax
3478:pairs
3435:state
3392:pairs
3386:state
3348:local
3329:pairs
3277:local
2889:local
2761:local
2738:local
2699:local
2683:local
2630:from
2600:Style
2585:width
2573:width
2360:local
2182:width
1885:local
1873:local
1810:alias
1781:Route
1769:route
1718:Route
1670:local
1638:width
1571:Texas
1332:Hooks
1088:local
1058:width
952:%dab%
912:width
783:denom
750:route
727:state
695:width
578:width
401:Lang-
349:width
105:place
53:]
51:purge
37:[
16:<
2638:edit
2561:spec
2537:spec
2519:spec
2507:abbr
2495:abbr
2483:name
2477:spec
2465:link
2453:link
2447:name
2441:spec
2429:name
2417:name
2363:spec
2255:type
2239:spec
2237:and
2221:and
2176:abbr
2158:abbr
2152:link
2134:link
2128:name
2110:name
2104:base
2086:base
2080:year
2056:year
1996:year
1906:util
1888:util
1831:type
1751:abbr
1739:link
1626:abbr
1614:link
1584:Both
1546:mask
1542:base
1538:mask
1522:abbr
1486:base
1474:mask
1462:hook
1453:link
1399:true
1354:args
1346:hook
1317:abbr
1305:link
1284:true
1251:true
1198:true
1046:abbr
1034:link
940:else
928:link
888:abbr
876:link
840:else
836:then
744:type
671:abbr
653:abbr
641:base
623:link
566:abbr
554:link
542:base
488:lang
464:abbr
452:link
440:name
399:and
394:Lang
383:lang
359:and
329:base
295:abbr
283:link
271:name
213:abbr
207:link
201:name
184:abbr
180:link
176:name
156:abbr
144:link
132:name
111:type
67:and
43:edit
39:view
3525:end
3463:for
3452:end
3445:end
3377:for
3314:for
3255:USA
3249:USA
2892:USA
2871:CAN
2865:CAN
2764:CAN
2626:is
2594:end
2591:end
2567:aux
2555:aux
2282:for
2246:for
2227:aux
2197:end
1987:for
1978:'s
1918:ALB
1876:ALB
1790:):
1775:HKG
1763:HKG
1712:HKG
1707:):
1662:):
1429:NLE
1417:SON
1405:arg
1369:MEX
1364:):
1221:GBR
1216:):
1100:arg
1077:arg
975:):
948:dab
932:dab
848:dab
832:arg
820:arg
777:dab
413:PER
232:USA
188:"",
62:jct
3490:do
3475:in
3404:do
3389:in
3357:{}
3341:do
3326:in
2747:{}
2708:mw
2692:{}
2634:.
2579:WA
2546:..
2516:..
2510:..
2501:WA
2486:..
2474:..
2468:..
2459:WA
2438:..
2432:..
2423:WA
2405:WA
2387:WA
2372:WA
2369:WA
2357:do
2354:})
2300:({
2294:in
2279:do
2276:})
2264:({
2258:in
2223:SR
2219:WA
2200:WA
2170:US
2164:WA
2146:US
2140:WA
2122:US
2116:WA
2098:US
2092:WA
2083:),
2059:),
2029:WA
2026:do
2023:})
2005:({
1999:in
1982:.
1966:,
1933:))
1882:{}
1851:NY
1847:NY
1840:}}
1801:NY
1795:NJ
1693:AS
1679:{}
1673:AS
1644:40
1611:},
1578:TX
1573::
1519:},
1450:},
1375:SH
1302:},
1083::
1031:},
986:AR
980:AR
855:AL
826:.
674:..
665:US
659:MO
644:..
635:US
629:MO
611:US
605:MO
590:MO
521:US
515:MO
510:.
504:US
419:RN
403:xx
238:CR
178:,
174:,
3539:p
3518:)
3512:,
3506:(
3500:=
3497:p
3487:)
3481:(
3469:,
3466:_
3438:)
3432:,
3426:,
3420:(
3414:=
3401:)
3395:(
3383:,
3380:_
3367:=
3364:p
3354:=
3338:)
3332:(
3320:,
3292:}
3286:{
3283:=
3252:=
3246:.
3232:}
3226:,
3220:,
3214:,
3208:,
3202:,
3196:,
3190:,
3184:,
3178:,
3172:,
3166:,
3160:,
3154:,
3148:,
3142:,
3136:,
3130:,
3124:,
3118:,
3112:,
3106:,
3100:,
3094:,
3088:,
3082:,
3076:,
3066:,
3060:,
3054:,
3048:,
3042:,
3036:,
3030:,
3024:,
3018:,
3012:,
3006:,
3000:,
2994:,
2988:,
2982:,
2976:,
2970:,
2964:,
2958:,
2952:,
2946:,
2940:,
2934:,
2928:,
2922:,
2916:,
2910:,
2904:,
2898:{
2895:=
2868:=
2862:.
2848:}
2842:,
2836:,
2830:,
2824:,
2818:,
2812:,
2806:,
2800:,
2794:,
2788:,
2782:,
2776:,
2770:{
2767:=
2744:=
2717:.
2711:.
2705:=
2689:=
2686:p
2672:.
2665:)
2661:(
2657:)
2649:(
2644:)
2636:(
2588:}
2582:.
2576:=
2570:,
2564:.
2558:=
2552:,
2540:.
2534:=
2528:,
2522:.
2504:.
2498:=
2492:,
2480:.
2462:.
2456:=
2450:,
2444:.
2426:.
2420:=
2414:,
2408:.
2402:=
2396:,
2390:.
2384:=
2378:{
2375:=
2366:=
2348:,
2342:,
2336:,
2330:,
2324:,
2318:,
2312:,
2306:,
2288:,
2285:_
2270:,
2252:,
2249:_
2209:=
2203:.
2194:}
2191:,
2185:=
2179:,
2173:.
2167:.
2161:=
2155:,
2149:.
2143:.
2137:=
2131:,
2125:.
2119:.
2113:=
2107:,
2101:.
2095:.
2089:=
2077:,
2071:(
2065:=
2053:,
2047:(
2041:=
2035:{
2032:=
2017:,
2011:,
1993:,
1990:_
1944:*
1927:(
1921:,
1915:(
1909:.
1903:)
1897:(
1891:=
1879:=
1834:=
1828:,
1822:=
1816:{
1813:=
1807:{
1804:=
1798:.
1778:.
1772:=
1766:.
1760:}
1754:=
1748:,
1742:=
1736:,
1730:=
1724:{
1721:=
1715:.
1676:=
1647:}
1641:=
1635:,
1629:=
1623:,
1617:=
1605:,
1599:{
1596:=
1590:{
1587:=
1581:.
1531:}
1525:=
1513:=
1507:,
1501:=
1495:,
1489:=
1483:,
1477:=
1471:,
1465:=
1459:{
1456:=
1444:=
1438:,
1432:=
1426:,
1420:=
1414:,
1408:=
1402:,
1396:=
1390:{
1387:=
1381:{
1378:=
1372:.
1326:}
1320:=
1314:,
1308:=
1299:}
1293:=
1287:,
1281:=
1275:{
1272:=
1266:,
1260:=
1254:,
1248:=
1242:{
1239:=
1233:{
1230:=
1227:B
1224:.
1175:}
1172:}
1166:=
1160:,
1154:=
1151:{
1148:=
1145:,
1139:=
1136:,
1130:=
1127:,
1121:=
1118:,
1112:=
1109:,
1103:=
1097:{
1094:=
1067:}
1061:=
1055:,
1049:=
1043:,
1037:=
1025:=
1022:,
1016:=
1013:,
1007:=
1001:{
998:=
992:{
989:=
983:.
921:}
915:=
909:,
903:=
897:,
891:=
885:,
879:=
873:,
867:=
861:{
858:=
704:}
698:=
692:,
686:=
680:,
668:.
662:.
656:=
650:,
638:.
632:.
626:=
620:,
614:.
608:.
602:=
596:{
593:=
587:}
581:=
575:,
569:=
563:,
557:=
551:,
545:=
539:,
533:=
527:{
524:=
518:.
497:}
491:=
485:,
479:=
473:,
467:=
461:,
455:=
449:,
443:=
437:,
431:=
425:{
422:=
416:.
407:.
363:.
304:}
298:=
292:,
286:=
280:,
274:=
268:,
262:=
256:,
250:=
244:{
241:=
235:.
165:}
159:=
153:,
147:=
141:,
135:=
129:,
123:=
117:{
114:=
108:.
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.