@finbheara/names 0.9.0 → 0.9.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunks/{index-bqx4wpkm.js → index-0qptxnwh.js} +14 -14
- package/dist/chunks/{index-bqx4wpkm.js.map → index-0qptxnwh.js.map} +1 -1
- package/dist/chunks/{index-dcv3p1rw.js → index-0vg56t5v.js} +3 -3
- package/dist/chunks/{index-m0f6bgr9.js → index-2fsdvhaf.js} +2 -2
- package/dist/chunks/{index-bpp2rfg7.js → index-852w8w1s.js} +3 -3
- package/dist/chunks/{index-zfa3bxce.js → index-d4wr471g.js} +2 -2
- package/dist/chunks/{index-qmq4wyez.js → index-fzzq5txh.js} +2 -2
- package/dist/chunks/{index-jmc5eejg.js → index-knrkej0f.js} +23 -5
- package/dist/chunks/{index-jmc5eejg.js.map → index-knrkej0f.js.map} +2 -2
- package/dist/chunks/phrase-dczgr4vs.js +11 -0
- package/dist/classifier/index.js +3 -3
- package/dist/cli/census.js +4 -4
- package/dist/index.js +7 -7
- package/dist/lexicon/index.js +1 -1
- package/dist/measure/index.js +4 -4
- package/dist/normalize/index.js +4 -4
- package/docs/NAME-NORMALIZATION.md +7 -0
- package/names.txt +12 -12
- package/package.json +1 -1
- package/dist/chunks/phrase-rbxwzwn9.js +0 -11
- /package/dist/chunks/{index-dcv3p1rw.js.map → index-0vg56t5v.js.map} +0 -0
- /package/dist/chunks/{index-m0f6bgr9.js.map → index-2fsdvhaf.js.map} +0 -0
- /package/dist/chunks/{index-bpp2rfg7.js.map → index-852w8w1s.js.map} +0 -0
- /package/dist/chunks/{index-zfa3bxce.js.map → index-d4wr471g.js.map} +0 -0
- /package/dist/chunks/{index-qmq4wyez.js.map → index-fzzq5txh.js.map} +0 -0
- /package/dist/chunks/{phrase-rbxwzwn9.js.map → phrase-dczgr4vs.js.map} +0 -0
|
@@ -5518,7 +5518,7 @@ Desmarteaux:L
|
|
|
5518
5518
|
Desmond:M
|
|
5519
5519
|
DeSocio:L
|
|
5520
5520
|
DeSousa:L
|
|
5521
|
-
|
|
5521
|
+
DeSouza:L
|
|
5522
5522
|
DeSpain:L
|
|
5523
5523
|
Despot:LC
|
|
5524
5524
|
Desrosiers:L
|
|
@@ -5696,7 +5696,7 @@ Dina:F
|
|
|
5696
5696
|
Dinah:F
|
|
5697
5697
|
Dinapoli:L
|
|
5698
5698
|
Dinara:F
|
|
5699
|
-
|
|
5699
|
+
DiNardo:L
|
|
5700
5700
|
Dine:L
|
|
5701
5701
|
Dineen:L
|
|
5702
5702
|
Dingman:L
|
|
@@ -5736,7 +5736,7 @@ Disler:L
|
|
|
5736
5736
|
Dismuke:L
|
|
5737
5737
|
Diss:L
|
|
5738
5738
|
Disse:L
|
|
5739
|
-
|
|
5739
|
+
DiStefano:L
|
|
5740
5740
|
District:T
|
|
5741
5741
|
District of Columbia:BG
|
|
5742
5742
|
Ditchman:LC
|
|
@@ -13457,7 +13457,7 @@ Macri:L
|
|
|
13457
13457
|
MacRitchie:L4
|
|
13458
13458
|
MacRobbie:L4
|
|
13459
13459
|
MacRuairi:L4
|
|
13460
|
-
|
|
13460
|
+
MacShane:L
|
|
13461
13461
|
MacSweeney:L4
|
|
13462
13462
|
Mactir:LT
|
|
13463
13463
|
MacTough:L4
|
|
@@ -14174,7 +14174,7 @@ McAleese:L
|
|
|
14174
14174
|
McAlevey:L
|
|
14175
14175
|
McAlexander:L4
|
|
14176
14176
|
McAlinden:L4
|
|
14177
|
-
|
|
14177
|
+
McAliney:L
|
|
14178
14178
|
McAlister:L
|
|
14179
14179
|
McAllaster:L4
|
|
14180
14180
|
McAllister:L4
|
|
@@ -14183,7 +14183,7 @@ McAloon:L
|
|
|
14183
14183
|
McAlpine:L
|
|
14184
14184
|
McAnally:L4
|
|
14185
14185
|
McAnaney:L
|
|
14186
|
-
|
|
14186
|
+
McAnanney:L
|
|
14187
14187
|
McAndless:L4
|
|
14188
14188
|
McAndrew:L4
|
|
14189
14189
|
McAnespy:L4
|
|
@@ -14264,7 +14264,7 @@ McCleave:L4
|
|
|
14264
14264
|
McClellan:L4
|
|
14265
14265
|
McClelland:L
|
|
14266
14266
|
McCleney:L
|
|
14267
|
-
|
|
14267
|
+
McCleverty:L
|
|
14268
14268
|
McClintock:L4
|
|
14269
14269
|
McClish:L4
|
|
14270
14270
|
McClone:L4
|
|
@@ -14284,7 +14284,7 @@ McColm:L4
|
|
|
14284
14284
|
McComas:L4
|
|
14285
14285
|
McComb:L4
|
|
14286
14286
|
McCombe:L4
|
|
14287
|
-
|
|
14287
|
+
McComber:L
|
|
14288
14288
|
McCombs:L4
|
|
14289
14289
|
McComiskey:L
|
|
14290
14290
|
McConachie:L4
|
|
@@ -14460,7 +14460,7 @@ McGoldrick:L4
|
|
|
14460
14460
|
McGonagle:LT4
|
|
14461
14461
|
McGonigal:L4
|
|
14462
14462
|
McGonigle:L4
|
|
14463
|
-
|
|
14463
|
+
McGoohan:L
|
|
14464
14464
|
McGorisk:L
|
|
14465
14465
|
McGorray:L
|
|
14466
14466
|
McGorry:L
|
|
@@ -14606,7 +14606,7 @@ McManimon:L4
|
|
|
14606
14606
|
McManis:L4
|
|
14607
14607
|
McMannon:L4
|
|
14608
14608
|
McManus:L4
|
|
14609
|
-
|
|
14609
|
+
McMartin:L
|
|
14610
14610
|
McMaster:L4
|
|
14611
14611
|
McMeekin:L4
|
|
14612
14612
|
McMenamin:L4
|
|
@@ -14636,7 +14636,7 @@ McNall:L4
|
|
|
14636
14636
|
McNally:L4
|
|
14637
14637
|
McNamara:LT4
|
|
14638
14638
|
McNamee:L4
|
|
14639
|
-
|
|
14639
|
+
McNatt:L
|
|
14640
14640
|
McNaughton:L4
|
|
14641
14641
|
McNea:L
|
|
14642
14642
|
McNeel:L4
|
|
@@ -14696,7 +14696,7 @@ McSwain:L4
|
|
|
14696
14696
|
McSweeney:L
|
|
14697
14697
|
McSwiggan:L
|
|
14698
14698
|
McSwiggen:L4
|
|
14699
|
-
|
|
14699
|
+
McTaggart:L
|
|
14700
14700
|
McTague:L4
|
|
14701
14701
|
McTavish:L4
|
|
14702
14702
|
McTeggart:LT4
|
|
@@ -23900,5 +23900,5 @@ class Lexicon2 {
|
|
|
23900
23900
|
|
|
23901
23901
|
export { CLASS_FLAGS2, MARK_FLAGS2, CLASSIFICATION_FLAGS2, TRADITION_FLAGS2, TRADITION_NAMES2, classesOf2, isSurname2, isGiven2, isFemale2, isMale2, isNeutral2, isAmbiguous2, isPlace2, isTradename2, isConcept2, isMultiWord2, isSuspicious2, isRoundTripException2, isPerson2, traditionOf2, toAscii2, isAscii2, APOSTROPHE_CHARS2, normalizeApostrophes2, lexiconKey2, lookupKey2, displaySpellings2, NAMES_TXT2, parseEntries2, Lexicon2 };
|
|
23902
23902
|
|
|
23903
|
-
//# debugId=
|
|
23904
|
-
//# sourceMappingURL=index-
|
|
23903
|
+
//# debugId=701A828D343F805E64756E2164756E21
|
|
23904
|
+
//# sourceMappingURL=index-0qptxnwh.js.map
|
|
@@ -13,6 +13,6 @@
|
|
|
13
13
|
"/**\n * `names.txt` — its own format parsed. THE ONE PARSER: every reader of the file,\n * here and downstream, goes through `parseEntries`.\n *\n * THE FORMAT IS THE FILE'S OWN HEADER'S: `Name:FLAGS`, one per line, `#` a\n * comment, a flagless line legal (and read as `F`, see `./flags.ts`). Nothing\n * here interprets a flag; `FLAGS` is handed back as the file spells it.\n *\n * THE SPLIT IS ON THE FIRST COLON. A name never contains a colon and a flag\n * string never does either, so on a well-formed line first and last agree; on a\n * malformed one (`A:B:C`) the first-colon read keeps the name intact and puts the\n * garbage in the flags, where `./flags.ts` ignores the letters it does not issue\n * and the CLI's `set` warns. A last-colon read would instead invent a name.\n *\n * BOTH SIDES ARE TRIMMED, so trailing whitespace or a CRLF checkout cannot turn\n * `L` into `L\\r` and silently fail every flag test.\n */\n\n/** One line of the file: what it spells, what it claims, and where it is. */\nexport interface NameEntry {\n\t/** the spelling, verbatim */\n\treadonly name: string;\n\t/** the flag letters and digits after the colon, verbatim; `\"\"` where the line carries none */\n\treadonly flags: string;\n\t/** 1-based line number, so a report addresses `names.txt:<line>` */\n\treadonly line: number;\n}\n\n/**\n * Every entry in the file's text, in file order.\n *\n * A comment and a blank line are skipped and NOT counted as entries, but the\n * line number is the real one: a caller's report has to address the file a\n * person opens.\n */\nexport function parseEntries(text: string): NameEntry[] {\n\tconst out: NameEntry[] = [];\n\tfor (const [i, raw] of text.split(\"\\n\").entries()) {\n\t\tif (raw.startsWith(\"#\") || raw.trim() === \"\") continue;\n\t\tconst at = raw.indexOf(\":\");\n\t\tconst name = (at === -1 ? raw : raw.slice(0, at)).trim();\n\t\tif (name === \"\") continue;\n\t\tout.push({ name, flags: at === -1 ? \"\" : raw.slice(at + 1).trim(), line: i + 1 });\n\t}\n\treturn out;\n}\n"
|
|
14
14
|
],
|
|
15
15
|
"mappings": "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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AChJD,IAAM,aAAoB;;;ACyB1B,SAAS,aAAY,CAAC,MAA2B;AAAA,EACvD,MAAM,MAA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",
|
|
16
|
-
"debugId": "
|
|
16
|
+
"debugId": "701A828D343F805E64756E2164756E21",
|
|
17
17
|
"names": []
|
|
18
18
|
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
2
|
lookupKey2,
|
|
3
3
|
Lexicon2
|
|
4
|
-
} from "./index-
|
|
4
|
+
} from "./index-0qptxnwh.js";
|
|
5
5
|
import {
|
|
6
6
|
lexiconNameOrder,
|
|
7
7
|
defaultPersonNameFactory2
|
|
8
|
-
} from "./index-
|
|
8
|
+
} from "./index-fzzq5txh.js";
|
|
9
9
|
import {
|
|
10
10
|
isNameParticle2
|
|
11
11
|
} from "./index-23rzmwe2.js";
|
|
@@ -134,4 +134,4 @@ function createNameCensus2(options = {}) {
|
|
|
134
134
|
export { createNameCensus2 };
|
|
135
135
|
|
|
136
136
|
//# debugId=42B6EBFD51EC241764756E2164756E21
|
|
137
|
-
//# sourceMappingURL=index-
|
|
137
|
+
//# sourceMappingURL=index-0vg56t5v.js.map
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
isAmbiguous2,
|
|
4
4
|
isPlace2,
|
|
5
5
|
isTradename2
|
|
6
|
-
} from "./index-
|
|
6
|
+
} from "./index-0qptxnwh.js";
|
|
7
7
|
|
|
8
8
|
// src/lexicon/place.ts
|
|
9
9
|
var JOINING_COMMA = /(?<=[^\s,]),(?=[^\s,])/g;
|
|
@@ -24,4 +24,4 @@ function isPlacePhrase(phrase, getFlags) {
|
|
|
24
24
|
export { splitWords, FIELD_END, isPlaceWordFlags, isPlacePhrase };
|
|
25
25
|
|
|
26
26
|
//# debugId=A9815F8EF12D8D4964756E2164756E21
|
|
27
|
-
//# sourceMappingURL=index-
|
|
27
|
+
//# sourceMappingURL=index-2fsdvhaf.js.map
|
|
@@ -2,12 +2,12 @@ import {
|
|
|
2
2
|
lexiconKey2,
|
|
3
3
|
lookupKey2,
|
|
4
4
|
Lexicon2
|
|
5
|
-
} from "./index-
|
|
5
|
+
} from "./index-0qptxnwh.js";
|
|
6
6
|
import {
|
|
7
7
|
splitWords,
|
|
8
8
|
FIELD_END,
|
|
9
9
|
isPlacePhrase
|
|
10
|
-
} from "./index-
|
|
10
|
+
} from "./index-2fsdvhaf.js";
|
|
11
11
|
import {
|
|
12
12
|
TEAM_DESIGNATION_WORDS2,
|
|
13
13
|
partitionTeamSuffix2,
|
|
@@ -2798,4 +2798,4 @@ function phraseClassifier2(names = Lexicon2.default(), options = {}) {
|
|
|
2798
2798
|
export { CONNECTORS2, SCHOOL_KEYWORDS2, isStopword2, createSegmenter2, createClassifier2, phraseClassifier2 };
|
|
2799
2799
|
|
|
2800
2800
|
//# debugId=6A3E8AB61D184D7064756E2164756E21
|
|
2801
|
-
//# sourceMappingURL=index-
|
|
2801
|
+
//# sourceMappingURL=index-852w8w1s.js.map
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
isPlace2,
|
|
7
7
|
isTradename2,
|
|
8
8
|
isMultiWord2
|
|
9
|
-
} from "./index-
|
|
9
|
+
} from "./index-0qptxnwh.js";
|
|
10
10
|
// src/measure/classifier-eval.ts
|
|
11
11
|
function prng(seed) {
|
|
12
12
|
let a = seed >>> 0;
|
|
@@ -88,4 +88,4 @@ function evaluateClassifier2(classifier, set, examples = 10) {
|
|
|
88
88
|
export { composeEvalSet2, evaluateClassifier2 };
|
|
89
89
|
|
|
90
90
|
//# debugId=88988FDC2AE4309964756E2164756E21
|
|
91
|
-
//# sourceMappingURL=index-
|
|
91
|
+
//# sourceMappingURL=index-d4wr471g.js.map
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
normalizeApostrophes2,
|
|
4
4
|
lexiconKey2,
|
|
5
5
|
Lexicon2
|
|
6
|
-
} from "./index-
|
|
6
|
+
} from "./index-0qptxnwh.js";
|
|
7
7
|
import {
|
|
8
8
|
canonicalTeamName2,
|
|
9
9
|
isTeamPrint2
|
|
@@ -1058,4 +1058,4 @@ function personNameFromIcao2(icao, print) {
|
|
|
1058
1058
|
export { NAME_REFUSED2, stripEveryAside2, stripTrailingCredentials2, scrubNameDetail2, scrubName2, foldNameKey2, nameFold2, PLATFORM_PLACEHOLDERS2, NAME_PLACEHOLDERS2, isPlaceholderPrint2, isNoNamePrint2, COMPOUND_SURNAMES2, isCompoundSurname2, spaceAfterComma2, isNameSuffix, tokenize, inferNameOrder2, commaReading2, lexiconNameOrder, resolveNameOrder2, splitPersonName2, classifyCell2, capitalise2, nameCase2, SURNAME_SEPARATOR2, GIVEN_SEPARATOR2, titleCaseNamePart2, spellingLookup2, parsePersonName2, formatPersonDisplay2, personDisplayName2, NAME_TRADITIONS2, traditionFromIndex2, isIcaoName2, levelOf2, givenKeyAbbreviates2, givenAbbreviates2, PersonName2, DEFAULT_PERSON_NAME_CAPACITY2, traditionLookupOf2, createPersonNameFactory2, createCachingPersonNameFactory2, defaultPersonNameFactory2, personName2, personNameFromIcao2 };
|
|
1059
1059
|
|
|
1060
1060
|
//# debugId=49F5F13DC88ECCC664756E2164756E21
|
|
1061
|
-
//# sourceMappingURL=index-
|
|
1061
|
+
//# sourceMappingURL=index-fzzq5txh.js.map
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
isGiven2,
|
|
4
4
|
isAmbiguous2,
|
|
5
5
|
Lexicon2
|
|
6
|
-
} from "./index-
|
|
6
|
+
} from "./index-0qptxnwh.js";
|
|
7
7
|
import {
|
|
8
8
|
nameFold2,
|
|
9
9
|
isPlaceholderPrint2,
|
|
@@ -13,10 +13,10 @@ import {
|
|
|
13
13
|
commaReading2,
|
|
14
14
|
levelOf2,
|
|
15
15
|
defaultPersonNameFactory2
|
|
16
|
-
} from "./index-
|
|
16
|
+
} from "./index-fzzq5txh.js";
|
|
17
17
|
import {
|
|
18
18
|
isPlaceWordFlags
|
|
19
|
-
} from "./index-
|
|
19
|
+
} from "./index-2fsdvhaf.js";
|
|
20
20
|
import {
|
|
21
21
|
isTeamPrint2
|
|
22
22
|
} from "./index-0phgwy52.js";
|
|
@@ -94,11 +94,14 @@ var given_diminutives_default = {
|
|
|
94
94
|
"the two names."
|
|
95
95
|
],
|
|
96
96
|
families: {
|
|
97
|
+
ABIGAIL: ["ABBY", "ABBIE"],
|
|
97
98
|
AIDAN: ["AIDEN", "AODHAN", "AIDY"],
|
|
98
99
|
ALEXANDER: ["ALEX", "ALEC", "SANDY", "XANDER", "ALEXANDRA", "ALEXA", "LEXI", "LEXIE"],
|
|
100
|
+
AMANDA: ["MANDY"],
|
|
99
101
|
ANDREW: ["ANDY"],
|
|
100
102
|
ANNE: ["ANN", "ANNA", "ANNIE", "NANCY", "NAN", "ANYA"],
|
|
101
103
|
ANTHONY: ["TONY"],
|
|
104
|
+
BARBARA: ["BARB"],
|
|
102
105
|
BRIDGET: ["BRIDIE", "BRID", "BRIGID", "BRIGHID", "BREDA", "BREEDA", "BIDDY"],
|
|
103
106
|
CAITLIN: ["CAITLYN", "KAITLIN", "KAITLYN", "KATELYN", "CAIT"],
|
|
104
107
|
CATHERINE: [
|
|
@@ -119,13 +122,18 @@ var given_diminutives_default = {
|
|
|
119
122
|
CHRISTOPHER: ["CHRIS", "KIT", "TOPHER"],
|
|
120
123
|
CIARA: ["KIERA", "KEIRA", "CIARRA"],
|
|
121
124
|
CIARAN: ["KIERAN", "KEIRAN"],
|
|
125
|
+
CYNTHIA: ["CINDY"],
|
|
122
126
|
DANIEL: ["DAN", "DANNY", "DANIELLE", "DANI"],
|
|
127
|
+
DEBORAH: ["DEBRA", "DEBBIE", "DEB"],
|
|
123
128
|
DEIRDRE: ["DEE", "DIDI"],
|
|
129
|
+
DOROTHY: ["DOT", "DOTTIE"],
|
|
124
130
|
EDWARD: ["ED", "EDDIE", "TED", "TEDDY", "NED"],
|
|
125
131
|
EILEEN: ["EILISH", "EILIS", "AILEEN"],
|
|
126
132
|
ELIZABETH: ["LIZ", "LIZZIE", "BETH", "BETSY", "BETTY", "ELIZA", "LIBBY", "ELSIE", "ELISE"],
|
|
127
133
|
EOIN: ["OWEN", "EOGHAN"],
|
|
134
|
+
FIONNUALA: ["FIONNULA", "FINOLA", "NUALA"],
|
|
128
135
|
FRANCIS: ["FRANK", "FRANKIE", "FRAN", "FRANCES"],
|
|
136
|
+
GILLIAN: ["GILL"],
|
|
129
137
|
GRAINNE: ["GRANIA", "GRACE", "GRAINE"],
|
|
130
138
|
JACQUELINE: ["JACKIE"],
|
|
131
139
|
JAMES: ["JIM", "JIMMY", "JAMIE", "SEAMUS", "JAY"],
|
|
@@ -133,6 +141,7 @@ var given_diminutives_default = {
|
|
|
133
141
|
JOHN: ["JACK", "JOHNNY", "SEAN", "SHANE", "JOHNNIE", "EOIN"],
|
|
134
142
|
JOSEPH: ["JOE", "JOEY", "JOSEPHINE", "JO"],
|
|
135
143
|
JUDITH: ["JUDY"],
|
|
144
|
+
KIMBERLY: ["KIMBERLEY", "KIM"],
|
|
136
145
|
MARGARET: [
|
|
137
146
|
"MAGGIE",
|
|
138
147
|
"PEGGY",
|
|
@@ -150,8 +159,10 @@ var given_diminutives_default = {
|
|
|
150
159
|
MICHAEL: ["MIKE", "MICK", "MICKEY", "MICHEAL", "MICHELLE", "MICHAELA"],
|
|
151
160
|
NICHOLAS: ["NICK", "NICKY", "NICOLE", "NICOLA", "NIKKI"],
|
|
152
161
|
NIAMH: ["NEVE", "NEEVE"],
|
|
162
|
+
PAMELA: ["PAM"],
|
|
153
163
|
PATRICK: ["PAT", "PADDY", "PADRAIG", "PATSY", "PATRICIA", "TRICIA", "TRISH", "PATTY"],
|
|
154
164
|
PETER: ["PETE", "PEADAR"],
|
|
165
|
+
PHILIPPA: ["PIPPA"],
|
|
155
166
|
RAYMOND: ["RAY"],
|
|
156
167
|
REBECCA: ["BECKY", "BECCA", "BEX"],
|
|
157
168
|
RICHARD: ["RICK", "RICKY", "DICK", "RICH", "RICHIE"],
|
|
@@ -160,11 +171,15 @@ var given_diminutives_default = {
|
|
|
160
171
|
SIOBHAN: ["SHIVAUN", "CHEVONNE", "SIOBHAIN"],
|
|
161
172
|
STEPHEN: ["STEVEN", "STEVE", "STEPHANIE", "STEPH"],
|
|
162
173
|
SUSAN: ["SUE", "SUSIE", "SUZANNE", "SUZY"],
|
|
174
|
+
TERESA: ["THERESA", "TESS"],
|
|
163
175
|
THOMAS: ["TOM", "TOMMY", "TOMAS", "THOM"],
|
|
176
|
+
VICTORIA: ["VICKY", "VICKI"],
|
|
164
177
|
VINCENT: ["VINNIE"],
|
|
165
178
|
WILLIAM: ["WILL", "BILL", "BILLY", "WILLIE", "LIAM"]
|
|
166
179
|
},
|
|
167
180
|
notAtGate: [
|
|
181
|
+
"ABBIE",
|
|
182
|
+
"ABBY",
|
|
168
183
|
"ALEXA",
|
|
169
184
|
"ALEXANDRA",
|
|
170
185
|
"ANNA",
|
|
@@ -187,6 +202,7 @@ var given_diminutives_default = {
|
|
|
187
202
|
"JO",
|
|
188
203
|
"JOSEPHINE",
|
|
189
204
|
"KATHLEEN",
|
|
205
|
+
"KIM",
|
|
190
206
|
"LEXI",
|
|
191
207
|
"LEXIE",
|
|
192
208
|
"LIAM",
|
|
@@ -206,6 +222,7 @@ var given_diminutives_default = {
|
|
|
206
222
|
"NICOLA",
|
|
207
223
|
"NICOLE",
|
|
208
224
|
"NIKKI",
|
|
225
|
+
"NUALA",
|
|
209
226
|
"OWEN",
|
|
210
227
|
"PADRAIG",
|
|
211
228
|
"PATRICIA",
|
|
@@ -221,6 +238,7 @@ var given_diminutives_default = {
|
|
|
221
238
|
"STEPH",
|
|
222
239
|
"STEPHANIE",
|
|
223
240
|
"SUZANNE",
|
|
241
|
+
"TESS",
|
|
224
242
|
"TOMAS",
|
|
225
243
|
"TRICIA",
|
|
226
244
|
"TRISH"
|
|
@@ -1340,5 +1358,5 @@ function deriveNameFormat2(prints, options = {}) {
|
|
|
1340
1358
|
}
|
|
1341
1359
|
export { repairMojibake2, sameGivenFamily2, comparePosition2, nameRelation2, nameCompare2, probablySame2, createNameSet2, createNameMap2, createNameClusters2, MAX_READINGS2, surnameParts2, printAttestsOrder2, nameReadings2, meetReading2, refinesReading2, sameReading2, chooseReadingPair2, composeReadings2, composeNames2, meetReadings2, nameMeet2, showReading2, blockKeysOfReadings2, nameBlockKeys2, namesFeasible2, INFEASIBLE_CLASSES2, editDistance2, nearSpelling2, compoundGiven2, middleForm2, infeasibleClass2, isListJoiner2, personList2, NAME_FORMATS2, nameFormatOrder2, ORDER_READINGS2, readNameCell2, DEFAULT_NAME_FORMAT_THRESHOLD2, deriveNameFormat2 };
|
|
1342
1360
|
|
|
1343
|
-
//# debugId=
|
|
1344
|
-
//# sourceMappingURL=index-
|
|
1361
|
+
//# debugId=A94FC7266AE0EB2964756E2164756E21
|
|
1362
|
+
//# sourceMappingURL=index-knrkej0f.js.map
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"/**\n * person-list.ts — THE PEOPLE A PRINTED TEACHER LIST NAMES, each one a `PersonName`.\n *\n * A directory prints its teachers as one value more often than as one value per person:\n * `Kate & Katie Mailtina`, `Julie Mailtina, TCRG & Fiona Lillick, TCRG`, `Kevin, Helena, Leona\n * ADCRG, Sinead Corrbeg TCRG`. Handed to `personName` whole, such a value parses as ONE\n * person, and every name after the first lands in the middles: `Kate & Anthony Mailtina`\n * reads `Mailtina<<Kate<&<Anthony`, whose first given is `Kate` and whose middle is `Anthony`.\n * A gate that forgives a middle one side prints then meets `Mailtina, Kate` through a\n * middle name that is really a second person. This reader is the fix at the source: the\n * value is read into its people first, and each person is parsed on its own (`personName`\n * once per person), so no second name is ever a middle.\n *\n * IT IS A GIVEN-FIRST READER, and the order is not a parameter. The comma in a directory's\n * teacher value separates people or precedes letters (`Julie Mailtina, TCRG`); measured over a\n * large results corpus, 0 of 3,371 teacher mentions prints `Surname, Given`.\n * A caller holding a surname-first cell reads it with `personName(print, \"surname-first\")`\n * and never with this.\n *\n * WHAT SEPARATES TWO PEOPLE: `&`, a spaced `and`, a comma, a semicolon and a spaced slash.\n *\n * WHAT IS NOT A PERSON: letters. A member is cut at its first LETTERS token, which is a\n * credential or a degree (`TCRG`, `ADCRG/TCRG`, `A.D.C.R.G.`, `Ph.D.`, `Esq.`), an\n * all-capitals token after the name has begun in a print that is not itself all capitals,\n * or a token carrying a digit (a phone number). What follows the letters is not the name\n * either (`Kate O'Kysko, TCRG Bristol`), and a member that is only letters names nobody.\n * A caption before the name (`Teacher:`) and a style (`Dr.`) are not the name either.\n *\n * A SHARED SURNAME IS READ, NEVER GUESSED. A member of one name token (`Kate`, `Leona`) is\n * a given name whose surname the list prints once, on the next member that has one:\n * `Kate & Katie Mailtina` is Kate Mailtina and Katie Mailtina, and `Kevin, Helena, Leona ADCRG,\n * Sinead Corrbeg TCRG` is four Corrbegs. The surname is the donor's own parsed surname,\n * particles and all, so `Livia & Ann De Histow` lends `De Histow` and not `Histow`. A lone given\n * name with no full name after it (`Carole, Patricia, Conor`) names nobody this reader\n * can read, and is dropped rather than parsed as a surname.\n *\n * A VALUE THAT IS NOT A LIST IS ONE VALUE. Where any member runs past four name tokens the\n * value is prose (idm prints paragraphs), and it is returned as the one person the producer\n * delimited, exactly as `personName(print, \"given-first\")` reads it. Cutting a paragraph at\n * its commas would mint a person out of every clause.\n */\n\nimport { type PersonName, type PersonNameFactory, defaultPersonNameFactory } from \"./factory.ts\";\n\n/** One person a list names. */\nexport interface ListedPerson {\n\t/** the member as printed, letters cut off: a verbatim slice of the value */\n\tprinted: string;\n\t/** the member parsed, with the list's shared surname where it borrowed one */\n\tname: PersonName;\n\t/** the surname borrowed from a later member, as that member printed it, or `null` */\n\tsurnameFrom: string | null;\n}\n\n/** The tokens that join two people in a list, standing alone as a name field. */\nconst JOINERS: ReadonlySet<string> = new Set([\"&\", \"and\", \"+\"]);\n\n/**\n * Is this printed name field a list joiner (`&`, `and`, `+`)? A parsed name that carries\n * one as a given field is two people read as one, and `personList` is how to read it.\n */\nexport function isListJoiner(field: string): boolean {\n\treturn JOINERS.has(field.trim().toLocaleLowerCase());\n}\n\n/** Where one person ends and the next begins. */\nconst SEPARATOR = /\\s*[&;,]\\s*|\\s+\\/\\s+|\\s+and\\s+|\\s+\\+\\s+/giu;\n\n/**\n * Letters that name nobody wherever they stand, dots removed, lower case: the CLRG\n * credentials the directories print (with the spellings they print them in), and degrees.\n */\nconst LETTERS: ReadonlySet<string> = new Set([\n\t\"adcrg\",\n\t\"adcg\",\n\t\"adcrn\",\n\t\"bg\",\n\t\"bgcrg\",\n\t\"odcrn\",\n\t\"sdcrg\",\n\t\"tcg\",\n\t\"tcrg\",\n\t\"tmcrn\",\n\t\"tmrf\",\n\t\"phd\",\n\t\"esq\",\n\t\"jd\",\n]);\n\n/** A style printed before a name, which is not a given name. Dots removed, lower case. */\nconst TITLES: ReadonlySet<string> = new Set([\"dr\", \"mr\", \"mrs\", \"ms\", \"miss\"]);\n\n/** The most name tokens a member of a list carries before the value reads as prose. */\nconst MAX_NAME_TOKENS = 4;\n\nconst EDGE = /^[(\"“'‘[]+|[)\"”'’\\].:]+$/gu;\n\n/** A token's letters, edges and dots removed; for `ADCRG/TCRG` the first piece. */\nconst bareOf = (token: string): string =>\n\t(token.replace(EDGE, \"\").split(\"/\")[0] as string).replace(/\\./gu, \"\");\n\n/**\n * Is this token letters (a credential, a degree, a phone number) rather than a name? A\n * known credential is letters anywhere; any other all-capitals token only after a name has\n * begun, so `JR Nirnirvo` and `KT Quellane` keep their initials.\n */\nfunction isLetters(token: string, begun: boolean, allCaps: boolean): boolean {\n\tif (/\\p{N}/u.test(token)) return true;\n\tconst bare = bareOf(token);\n\tif (bare === \"\" || LETTERS.has(bare.toLocaleLowerCase())) return true;\n\treturn begun && !allCaps && bare.length >= 2 && /^\\p{Lu}+$/u.test(bare);\n}\n\n/**\n * A member's name tokens: everything before its first letters token, after any caption\n * (`Teacher:`, `TCRG's:`) and any leading style (`Dr.`).\n */\nfunction nameTokens(member: string, allCaps: boolean): string[] {\n\tlet out: string[] = [];\n\tfor (const t of member.split(/\\s+/u)) {\n\t\tif (t === \"\") continue;\n\t\tif (t.endsWith(\":\")) {\n\t\t\tout = [];\n\t\t\tcontinue;\n\t\t}\n\t\tif (isLetters(t, out.length > 0, allCaps)) {\n\t\t\tif (out.length > 0) break;\n\t\t\tcontinue;\n\t\t}\n\t\tif (out.length === 0 && TITLES.has(bareOf(t).toLocaleLowerCase())) continue;\n\t\tout.push(t);\n\t}\n\treturn out;\n}\n\n/** The surname a parsed name prints, particles included, as one string. */\nconst surnamePrint = (p: PersonName): string =>\n\t[...p.surname.particles, p.surname.base].filter((s) => s !== \"\").join(\" \");\n\n/**\n * The people a given-first teacher value names, in print order. See the module docblock\n * for what separates them, what is cut as letters and how a shared surname is read.\n */\nexport function personList(\n\tprint: string,\n\tfactory: PersonNameFactory = defaultPersonNameFactory(),\n): ListedPerson[] {\n\tconst allCaps = !/\\p{Ll}/u.test(print);\n\tconst members = print\n\t\t.split(SEPARATOR)\n\t\t.map((m) => nameTokens(m, allCaps))\n\t\t.filter((tokens) => tokens.length > 0);\n\tif (members.length === 0) return [];\n\tconst whole = (): ListedPerson[] => [\n\t\t{ printed: print.trim(), name: factory.parse(print, \"given-first\"), surnameFrom: null },\n\t];\n\tif (members.some((tokens) => tokens.length > MAX_NAME_TOKENS)) return whole();\n\n\tconst out: ListedPerson[] = [];\n\tlet pending: string[] = [];\n\tfor (const tokens of members) {\n\t\tconst printed = tokens.join(\" \");\n\t\tif (tokens.length === 1) {\n\t\t\tpending.push(printed);\n\t\t\tcontinue;\n\t\t}\n\t\tconst name = factory.parse(printed, \"given-first\");\n\t\tconst surname = name.isPerson() ? surnamePrint(name) : \"\";\n\t\tif (surname !== \"\")\n\t\t\tfor (const given of pending)\n\t\t\t\tout.push({\n\t\t\t\t\tprinted: given,\n\t\t\t\t\tname: factory.parse(`${given} ${surname}`, \"given-first\"),\n\t\t\t\t\tsurnameFrom: surname,\n\t\t\t\t});\n\t\tpending = [];\n\t\tout.push({ printed, name, surnameFrom: null });\n\t}\n\treturn out;\n}\n",
|
|
12
12
|
"/**\n * name-format.ts — which order a COLLECTION of printed names uses, and whether its name\n * cells also carry a school or a place, as probabilities.\n *\n * ## One print, then many\n *\n * `readNameCell` reads one printed name cell: which part is the name, which part (if\n * any) is a school or a place, how its comma reads, and which order the lexicon reads\n * its name part in. `deriveNameFormat` scores those readings over a collection, and\n * `deriveNameFormat([print])` is the one-print answer in the same shape.\n *\n * The collection is a DOCUMENT: one results sheet, one roster, one column. Deciding\n * what a document is (grouping rows by source, by event, by year), corroborating a\n * reading across documents, and hand-written declarations stay with the caller. A\n * derived format is a declaration the caller makes about a document, never a guess\n * about one print: hand it to `splitPersonName` (via `nameFormatOrder`) and to the\n * classifier as the document's order.\n *\n * ## The three formats\n *\n * - `First Last`: given-first (`Zelvine Quorrish`);\n * - `Last, First`: surname-first with a separator comma (`Quorrish, Zelvine`);\n * - `Last First`: surname-first with no comma (`QUORRISH ZELVINE`).\n *\n * `inferNameOrder` reads one print by its comma, so it reads `Last First` as\n * given-first. The token-position reading below is the only signal that sees it.\n *\n * ## How a print's commas are read\n *\n * A comma may be an order separator (`Quorrish, Zelvine`), a place delimiter\n * (`Zelvine Quorrish, Zandrel`), school glue (`Zelvine Quorrish, Quorrish Academy`), a\n * suffix delimiter (`Ydris Vantrell, Jr.`) or stray punctuation. The place and the\n * school are cut off first, each consuming the comma before it, and the comma that is\n * left is read by `commaReading`, the rule `inferNameOrder` reads one print with. A\n * print with a separator comma is not also read for token position.\n *\n * - A PLACE is a trailing field after a spaced dash, a comma (after a name of two or\n * more tokens), or inside a trailing parenthesis, every word of which the lexicon\n * flags as a place (`isPlaceWordFlags`, the classifier's place-phrase rule). After a\n * `:` (the name + school + region glue), the tail's trailing place fields are the\n * place and whatever precedes them is a school.\n * - A SCHOOL is the part after a `:` that is not a place, the row's own school cell\n * where the name cell prints it again at its end, or what the injected segmenter\n * (`createSegmenter` from `@finbheara/names/classifier`, built on the same lexicon\n * as `options.lexicon`) reads after the person span. This module never imports the\n * classifier; with neither a segmenter nor a row school, `hasSchool` is `null`.\n *\n * ## Token position against the lexicon\n *\n * A two-token name part with no separator comma is read against `names.txt`: a token\n * is GIVEN-ONLY (`F`/`M`/`N`, no `L`/`A`) or SURNAME-ONLY (`L`, no `F`/`M`/`N`/`A`),\n * and the print reads given-first or surname-first where one of each sits at either\n * end. Where one token is settled and the other is absent from the lexicon, the\n * settled token orients the print alone: the ONE-TOKEN reading, its own class because\n * it is noisier. A token the lexicon does not settle contributes nothing. The lexicon\n * is keyed case-insensitively, so `QUORRISH ZELVINE` and `Quorrish Zelvine` read the\n * same.\n *\n * ## Probabilistic, not a vote\n *\n * Each read print is scored independently under each format: whether it carries a\n * separator comma, and, for a lexicon reading, which way it points GIVEN its class.\n * The class itself is not scored, because how many prints the lexicon can read is a\n * fact about its coverage, not about order; so each print consistent with a format\n * can only raise that format. Smoothing keeps a small collection near uniform. Because\n * the prints are scored independently, a large collection is confident even when it\n * prints both orders; the separate MIXED test (a binomial test of the dissent count\n * against the dissent rate documents of the leading format show) turns such a\n * collection `unknown` and sets `mixed`. `hasSchool` and `hasLocation` are the\n * probability that MOST cells carry the part, given the reader's recall and false-read\n * rate. Every rate is fitted by `training/fit-name-format.ts`; the threshold and the\n * mixed test's level are decided, and the pull request that set them records both.\n */\n\nimport { isAmbiguous, isGiven, isSurname } from \"../lexicon/flags.ts\";\nimport { Lexicon } from \"../lexicon/index.ts\";\nimport { isPlaceWordFlags } from \"../lexicon/place.ts\";\nimport { isNoNamePrint, isPlaceholderPrint } from \"./name-placeholder.ts\";\nimport {\n\ttype CommaReading,\n\ttype NameOrder,\n\tcommaReading,\n\tisNameSuffix,\n\ttokenize,\n} from \"./name-split.ts\";\nimport { isTeamPrint } from \"./team-name.ts\";\n\n/** A printed-name order, as a document prints it. */\nexport type NameFormat = \"First Last\" | \"Last, First\" | \"Last First\";\n\n/** The three formats, in the order every vector below is laid out. */\nexport const NAME_FORMATS: readonly NameFormat[] = [\"First Last\", \"Last, First\", \"Last First\"];\n\n/** A collection's verdict: a format, or `\"unknown\"` where none clears the threshold. */\nexport type NameFormatVerdict = NameFormat | \"unknown\";\n\n/**\n * The `NameOrder` a verdict declares: `First Last` is given-first, both surname-first\n * forms are surname-first, and `unknown` stays `unknown`.\n */\nexport function nameFormatOrder(verdict: NameFormatVerdict): NameOrder {\n\tif (verdict === \"unknown\") return \"unknown\";\n\treturn verdict === \"First Last\" ? \"given-first\" : \"surname-first\";\n}\n\n/**\n * What one print says about order. `comma` is a separator comma; the others are the\n * lexicon's token-position readings, two tokens settled or one.\n */\nexport type OrderReading =\n\t| \"comma\"\n\t| \"given-first:two-token\"\n\t| \"surname-first:two-token\"\n\t| \"given-first:one-token\"\n\t| \"surname-first:one-token\";\n\n/** The order readings, in the order every count vector below is laid out. */\nexport const ORDER_READINGS: readonly OrderReading[] = [\n\t\"comma\",\n\t\"given-first:two-token\",\n\t\"surname-first:two-token\",\n\t\"given-first:one-token\",\n\t\"surname-first:one-token\",\n];\n\n/** Why a print was not read at all: it names nobody, or it is a team designation. */\nexport type SkipReason = \"empty\" | \"no-name\" | \"team\";\n\n/** How a print's comma was read, `place` where it delimited a trailing place. */\nexport type CommaClass = CommaReading | \"place\";\n\n/** One printed name cell, read. */\nexport interface NameCellReading {\n\t/** The print, verbatim. */\n\tprint: string;\n\t/** Set where the print was not read; every other field is then empty. */\n\tskipped?: SkipReason;\n\t/**\n\t * The name part: the print with its school and place cut off, whitespace collapsed.\n\t * Hand it to the splitter in place of the print.\n\t */\n\tname: string;\n\t/** The school part, where the segmenter read one. */\n\tschool?: string;\n\t/** The place part, where a delimited place was read. */\n\tlocation?: string;\n\t/**\n\t * How the print's commas read. `place` and `glue` are commas the place or school\n\t * reading consumed; the rest are `commaReading` of the name part.\n\t */\n\tcommas: readonly CommaClass[];\n\t/** The order reading, or `undefined` where the name part orients nothing. */\n\torder?: OrderReading;\n\t/** The order the reading points to; `undefined` where there is none. */\n\torderPoints?: \"given-first\" | \"surname-first\";\n\t/** Name tokens read (suffixes and punctuation-only tokens set aside). */\n\ttokens: number;\n}\n\n/** The counts behind a verdict. */\nexport interface NameFormatEvidence {\n\t/** Every print given. */\n\tprints: number;\n\t/** Prints not read, by reason. */\n\tskipped: Record<SkipReason, number>;\n\t/** Prints carrying a separator comma. */\n\tseparatorCommas: number;\n\t/** Commas that were not order separators, by class. */\n\tdiscountedCommas: Record<Exclude<CommaClass, \"none\" | \"separator\">, number>;\n\t/** Prints oriented by the lexicon, by reading. */\n\tlexicon: Record<Exclude<OrderReading, \"comma\">, number>;\n\t/** Read prints that orient nothing. */\n\tunread: number;\n\t/** Read prints carrying a school; `null` where no segmenter was given. */\n\tschool: number | null;\n\t/** Read prints carrying a place. */\n\tlocation: number;\n}\n\n/** A collection's answer. One print's answer has the same shape. */\nexport interface NameFormatResult {\n\t/** Over the three formats, summing to 1. */\n\tprobabilities: Record<NameFormat, number>;\n\t/** The format whose probability clears the threshold, else `\"unknown\"`. */\n\tverdict: NameFormatVerdict;\n\t/** The probability that the name cells carry a school; `null` without a segmenter. */\n\thasSchool: number | null;\n\t/** The probability that the name cells carry a place. */\n\thasLocation: number;\n\t/**\n\t * True where the dissent is too large for the leading format to have printed it: the\n\t * collection prints both orders, and the verdict is `unknown`.\n\t */\n\tmixed: boolean;\n\tevidence: NameFormatEvidence;\n\t/**\n\t * The readings that point to the order the verdict does not: given-first readings\n\t * under a surname-first verdict and the reverse. Where the verdict is `\"unknown\"`,\n\t * against the most probable format.\n\t */\n\tdissent: NameCellReading[];\n\t/** Every print's reading, in input order. */\n\treadings: NameCellReading[];\n}\n\n/** What the segmenter returns that is read here; the classifier's `SegmentResult` is one. */\nexport interface CellSegmentation {\n\treadonly person: readonly string[];\n\treadonly school: readonly string[];\n\treadonly location: readonly string[];\n}\n\n/** The segmenter as read here; the classifier's `createSegmenter(lexicon)` is one. */\nexport interface CellSegmenter {\n\tsegmentTokens(tokens: string[]): CellSegmentation;\n}\n\nexport interface NameCellOptions {\n\t/** The lexicon read for token position and places. Default: `Lexicon.default()`. */\n\tlexicon?: Lexicon;\n\t/** Reads the school part. Without one, no school is read. */\n\tsegmenter?: CellSegmenter | null;\n\t/** Read delimited places. Default true; `false` reads every comma by `commaReading`. */\n\treadLocation?: boolean;\n\t/**\n\t * The document's cells carry places (`deriveNameFormat` sets it where `hasLocation`\n\t * passes 0.5 on a first reading): a comma after a name of two or more tokens that no\n\t * given name follows is read as a place delimiter, so a place the lexicon does not\n\t * know is not read as `Last, First`.\n\t */\n\tplaceColumn?: boolean;\n}\n\nexport interface NameFormatOptions extends NameCellOptions {\n\t/** The probability a format must reach to be the verdict. Default `DEFAULT_NAME_FORMAT_THRESHOLD`. */\n\tthreshold?: number;\n}\n\n/**\n * A print given as its name cell, or as the cell and its row's own school cell. Where\n * the name cell prints that school again at its end, the school is cut off there.\n */\nexport type PrintedNameCell = string | { name: string; school?: string };\n\n// ─── one print ──────────────────────────────────────────────────────────────\n\nconst HAS_LETTER = /\\p{L}/u;\nconst SPACED_DASH = /\\s[-–—]\\s/gu;\n\n/** A field every word of which (split at `,` and `/`) is a place word. */\nfunction isPlaceField(field: string, flagsOf: (t: string) => string | null): boolean {\n\tconst words = field\n\t\t.split(/[\\s,/]+/u)\n\t\t.map((w) => w.replace(/^[.(]+|[.)]+$/gu, \"\"))\n\t\t.filter((w) => w !== \"\");\n\treturn words.length > 0 && words.every((w) => isPlaceWordFlags(flagsOf(w) ?? \"\"));\n}\n\nfunction givenOnly(flags: string | null): boolean {\n\treturn flags !== null && isGiven(flags) && !isSurname(flags) && !isAmbiguous(flags);\n}\n\nfunction surnameOnly(flags: string | null): boolean {\n\treturn flags !== null && isSurname(flags) && !isGiven(flags) && !isAmbiguous(flags);\n}\n\n/** Two tokens, read against the lexicon. */\nfunction tokenOrder(a: string | null, b: string | null): OrderReading | undefined {\n\tif (givenOnly(a) && surnameOnly(b)) return \"given-first:two-token\";\n\tif (surnameOnly(a) && givenOnly(b)) return \"surname-first:two-token\";\n\tif (a !== null && b !== null) return undefined;\n\tif (b === null && givenOnly(a)) return \"given-first:one-token\";\n\tif (a === null && surnameOnly(b)) return \"given-first:one-token\";\n\tif (b === null && surnameOnly(a)) return \"surname-first:one-token\";\n\tif (a === null && givenOnly(b)) return \"surname-first:one-token\";\n\treturn undefined;\n}\n\n/** The order a reading points to. */\nexport function orderReadingPoints(r: OrderReading): \"given-first\" | \"surname-first\" {\n\treturn r === \"given-first:two-token\" || r === \"given-first:one-token\"\n\t\t? \"given-first\"\n\t\t: \"surname-first\";\n}\n\n/** A lexicon, its flag lookup bound once per lexicon. */\nconst flagLookups = new WeakMap<Lexicon, (t: string) => string | null>();\nfunction flagsOfLexicon(lexicon: Lexicon): (t: string) => string | null {\n\tlet f = flagLookups.get(lexicon);\n\tif (f === undefined) {\n\t\tf = (t) => lexicon.getNameFlags(t);\n\t\tflagLookups.set(lexicon, f);\n\t}\n\treturn f;\n}\n\n/**\n * Read one printed name cell: its name, school and place parts, how its commas read,\n * and the order its name part reads in.\n */\nexport function readNameCell(\n\tcell: PrintedNameCell,\n\toptions: NameCellOptions = {},\n): NameCellReading {\n\tconst print = typeof cell === \"string\" ? cell : cell.name;\n\tconst rowSchool =\n\t\ttypeof cell === \"string\" ? \"\" : (cell.school ?? \"\").replace(/\\s+/gu, \" \").trim();\n\tconst flagsOf = flagsOfLexicon(options.lexicon ?? Lexicon.default());\n\tconst readLocation = options.readLocation ?? true;\n\tconst skip = (skipped: SkipReason): NameCellReading => ({\n\t\tprint,\n\t\tskipped,\n\t\tname: \"\",\n\t\tcommas: [],\n\t\ttokens: 0,\n\t});\n\n\tlet s = print.replace(/\\s+/gu, \" \").trim();\n\tif (s === \"\") return skip(\"empty\");\n\tif (isNoNamePrint(s) || isPlaceholderPrint(s)) return skip(\"no-name\");\n\tif (isTeamPrint(s)) return skip(\"team\");\n\n\tconst places: string[] = [];\n\tconst commas: CommaClass[] = [];\n\tlet school: string | undefined;\n\tif (readLocation) {\n\t\t// After a colon: the glue of a name + school + region print. The tail's trailing\n\t\t// place fields are the place; whatever precedes them in the tail is a school.\n\t\tconst colon = s.indexOf(\":\");\n\t\tif (colon > 0) {\n\t\t\tlet tail = s.slice(colon + 1).trim();\n\t\t\ts = s.slice(0, colon).trim();\n\t\t\tconst tailPlaces: string[] = [];\n\t\t\tfor (;;) {\n\t\t\t\tif (isPlaceField(tail, flagsOf)) {\n\t\t\t\t\ttailPlaces.unshift(tail);\n\t\t\t\t\tfor (const _ of tail.matchAll(/,/gu)) commas.push(\"place\");\n\t\t\t\t\ttail = \"\";\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tconst at = tail.lastIndexOf(\",\");\n\t\t\t\tif (at <= 0) break;\n\t\t\t\tconst field = tail.slice(at + 1).trim();\n\t\t\t\tif (field === \"\" || !isPlaceField(field, flagsOf)) break;\n\t\t\t\ttailPlaces.unshift(field);\n\t\t\t\tcommas.push(\"place\");\n\t\t\t\ttail = tail.slice(0, at).trim();\n\t\t\t}\n\t\t\tif (tailPlaces.length > 0) places.unshift(tailPlaces.join(\", \"));\n\t\t\tif (HAS_LETTER.test(tail)) school = tail;\n\t\t}\n\t\t// A trailing parenthesis naming a place.\n\t\tconst paren = /\\s*\\(([^()]*)\\)\\s*$/u.exec(s);\n\t\tif (paren !== null && paren.index > 0 && isPlaceField(paren[1] as string, flagsOf)) {\n\t\t\tplaces.unshift((paren[1] as string).trim());\n\t\t\ts = s.slice(0, paren.index).trim();\n\t\t}\n\t\t// After each spaced dash from the end, while each tail is a place.\n\t\tfor (;;) {\n\t\t\tconst dashes = [...s.matchAll(SPACED_DASH)];\n\t\t\tconst dash = dashes[dashes.length - 1];\n\t\t\tif (dash === undefined || dash.index <= 0) break;\n\t\t\tconst tail = s.slice(dash.index + dash[0].length).trim();\n\t\t\tif (!isPlaceField(tail, flagsOf)) break;\n\t\t\tplaces.unshift(tail);\n\t\t\tfor (const _ of tail.matchAll(/,/gu)) commas.push(\"place\");\n\t\t\ts = s.slice(0, dash.index).trim();\n\t\t}\n\t\t// Comma fields from the end, while each is a place.\n\t\tfor (;;) {\n\t\t\tconst at = s.lastIndexOf(\",\");\n\t\t\tif (at <= 0) break;\n\t\t\tconst tail = s.slice(at + 1).trim();\n\t\t\tif (tail === \"\" || !isPlaceField(tail, flagsOf)) break;\n\t\t\tconst head = s.slice(0, at).trim();\n\t\t\t// A one-token head is a surname before its given name (`Ospindle, Lirabel`), and a\n\t\t\t// given name the lexicon also knows as a place is still a given name there.\n\t\t\tif (tokenize(head.replace(/,/gu, \" \")).filter((t) => HAS_LETTER.test(t)).length < 2) break;\n\t\t\tplaces.unshift(tail);\n\t\t\tcommas.push(\"place\");\n\t\t\ts = head;\n\t\t}\n\t}\n\t// Asides other than a place are not part of the name.\n\ts = s\n\t\t.replace(/\\([^()]*\\)/gu, \" \")\n\t\t.replace(/\\s+/gu, \" \")\n\t\t.trim();\n\tif (!HAS_LETTER.test(s)) {\n\t\tif (places.length === 0) return skip(\"no-name\");\n\t\ts = \"\";\n\t}\n\n\t// The row's own school cell, printed again at the end of the name cell.\n\tif (school === undefined && rowSchool !== \"\" && HAS_LETTER.test(rowSchool)) {\n\t\tconst at = s.toLocaleLowerCase().lastIndexOf(rowSchool.toLocaleLowerCase());\n\t\t// Only at a word boundary: `Zelvine QVarrow Hall` does not end with `Varrow Hall`.\n\t\tif (at > 0 && at + rowSchool.length === s.length && /[\\s,;:-]/u.test(s[at - 1] ?? \"\")) {\n\t\t\tconst head = s.slice(0, at);\n\t\t\tif (HAS_LETTER.test(head)) {\n\t\t\t\tschool = s.slice(at);\n\t\t\t\tif (/,\\s*$/u.test(head)) commas.push(\"glue\");\n\t\t\t\ts = head.replace(/[\\s,;:-]+$/u, \"\");\n\t\t\t}\n\t\t}\n\t}\n\tif (school === undefined && options.segmenter && s !== \"\") {\n\t\tconst words = s.split(\" \");\n\t\tconst kept: number[] = [];\n\t\tconst clean: string[] = [];\n\t\tfor (const [i, w] of words.entries()) {\n\t\t\tconst c = w.replace(/^[,;.]+|[,;.]+$/gu, \"\");\n\t\t\tif (!HAS_LETTER.test(c)) continue;\n\t\t\tkept.push(i);\n\t\t\tclean.push(c);\n\t\t}\n\t\tif (clean.length >= 2) {\n\t\t\tconst seg = options.segmenter.segmentTokens(clean);\n\t\t\tif (seg.person.length > 0 && seg.school.length > 0) {\n\t\t\t\tconst cut = kept[seg.person.length] as number;\n\t\t\t\tschool = seg.school.join(\" \");\n\t\t\t\tif (seg.location.length > 0) places.unshift(seg.location.join(\" \"));\n\t\t\t\tconst tail = words.slice(cut).join(\" \");\n\t\t\t\tfor (const _ of tail.matchAll(/,/gu)) commas.push(\"glue\");\n\t\t\t\ts = words\n\t\t\t\t\t.slice(0, cut)\n\t\t\t\t\t.join(\" \")\n\t\t\t\t\t.replace(/[\\s,;-]+$/u, \"\");\n\t\t\t\tif (/,\\s*$/u.test(words.slice(0, cut).join(\" \"))) commas.push(\"glue\");\n\t\t\t}\n\t\t}\n\t}\n\n\tlet comma = commaReading(s);\n\t// In a document whose cells carry places, a comma after a name of two or more\n\t// tokens, followed by no given name, delimits a place the lexicon does not know.\n\tif (comma === \"separator\" && readLocation && options.placeColumn) {\n\t\tconst at = s.lastIndexOf(\",\");\n\t\tconst head = s.slice(0, at).trim();\n\t\tconst tail = s.slice(at + 1).trim();\n\t\tconst headTokens = tokenize(head).filter((t) => HAS_LETTER.test(t));\n\t\tconst tailTokens = tokenize(tail).filter((t) => HAS_LETTER.test(t));\n\t\tconst givenInTail = tailTokens.some((t) => {\n\t\t\tconst f = flagsOf(t);\n\t\t\treturn f !== null && isGiven(f);\n\t\t});\n\t\tif (headTokens.length >= 2 && tailTokens.length > 0 && !givenInTail) {\n\t\t\tplaces.push(tail);\n\t\t\tcommas.push(\"place\");\n\t\t\ts = head;\n\t\t\tcomma = commaReading(s);\n\t\t}\n\t}\n\tif (comma !== \"none\") commas.push(comma);\n\tconst out: NameCellReading = {\n\t\tprint,\n\t\tname: s,\n\t\tcommas,\n\t\ttokens: 0,\n\t\t...(school !== undefined ? { school } : {}),\n\t\t...(places.length > 0 ? { location: places.join(\", \") } : {}),\n\t};\n\tconst tokens = tokenize(s.replace(/,/gu, \" \")).filter(\n\t\t(t) => HAS_LETTER.test(t) && !isNameSuffix(t),\n\t);\n\tout.tokens = tokens.length;\n\tif (comma === \"separator\") {\n\t\tout.order = \"comma\";\n\t} else if (comma !== \"glue\" && comma !== \"particle\" && tokens.length === 2) {\n\t\tconst order = tokenOrder(flagsOf(tokens[0] as string), flagsOf(tokens[1] as string));\n\t\tif (order !== undefined) out.order = order;\n\t}\n\tif (out.order !== undefined) out.orderPoints = orderReadingPoints(out.order);\n\treturn out;\n}\n\n// ─── many prints ────────────────────────────────────────────────────────────\n\n/** Natural log of the gamma function (Lanczos, g = 7), for positive arguments. */\nfunction logGamma(x: number): number {\n\tif (x < 0.5) return Math.log(Math.PI / Math.sin(Math.PI * x)) - logGamma(1 - x);\n\tconst c = [\n\t\t0.99999999999980993, 676.5203681218851, -1259.1392167224028, 771.32342877765313,\n\t\t-176.61502916214059, 12.507343278686905, -0.13857109526572012, 9.9843695780195716e-6,\n\t\t1.5056327351493116e-7,\n\t];\n\tconst z = x - 1;\n\tlet a = c[0] as number;\n\tconst t = z + 7.5;\n\tfor (let i = 1; i < 9; i++) a += (c[i] as number) / (z + i);\n\treturn 0.5 * Math.log(2 * Math.PI) + (z + 0.5) * Math.log(t) - t + Math.log(a);\n}\n\n/** `P(X >= k)` for `X` binomial over `n` trials with rate `p`. */\nexport function binomialTail(k: number, n: number, p: number): number {\n\tif (k <= 0) return 1;\n\tif (p <= 0) return 0;\n\tif (p >= 1) return 1;\n\tconst lp = Math.log(p);\n\tconst lq = Math.log1p(-p);\n\tlet tail = 0;\n\tfor (let j = k; j <= n; j++)\n\t\ttail += Math.exp(\n\t\t\tlogGamma(n + 1) - logGamma(j + 1) - logGamma(n - j + 1) + j * lp + (n - j) * lq,\n\t\t);\n\treturn Math.min(1, tail);\n}\n\n/** Posterior over hypotheses with a uniform prior: softmax of the log likelihoods. */\nfunction posterior(logs: readonly number[]): number[] {\n\tconst m = Math.max(...logs);\n\tconst e = logs.map((l) => Math.exp(l - m));\n\tconst z = e.reduce((x, y) => x + y, 0);\n\treturn e.map((x) => x / z);\n}\n\n/** How the reader sees a part (school or place): how often it reads one that is there, and one that is not. */\nexport interface PartReader {\n\t/** P(read | the cell carries one). */\n\trecall: number;\n\t/** P(read | the cell carries none). */\n\tfalseRate: number;\n}\n\n/**\n * The fitted model. Every print is read independently given the format:\n *\n * - `comma`: P(a read print carries a separator comma | format);\n * - `surnameFirst`: P(a lexicon reading points surname-first | its class, format).\n * The CLASS (two-token or one-token) is taken as given, not scored: how many prints\n * the lexicon can read at all is a fact about the lexicon's coverage, not about\n * order. So each consistent print can only raise the format it is consistent with.\n * - `dissent`: the share of oriented prints that point against a format's order in\n * documents of that format; the mixed-document test's bound.\n * - `school`, `location`: the reader's recall and false-read rate for each part.\n */\nexport interface NameFormatModel {\n\tcomma: Record<NameFormat, number>;\n\tsurnameFirst: Record<NameFormat, { twoToken: number; oneToken: number }>;\n\tdissent: Record<NameFormat, number>;\n\t/**\n\t * Uninformative pseudo-prints mixed into the order probabilities: with `n` oriented\n\t * prints, each probability is `(n·p + smoothing/3) / (n + smoothing)`, and each\n\t * part probability is `(n·p + smoothing/2) / (n + smoothing)` over `n` read prints,\n\t * so a small population stays near uniform whatever its likelihoods say.\n\t */\n\tsmoothing: number;\n\t/**\n\t * The mixed-document test's level: a collection whose dissent count is less\n\t * probable than this, binomially, at the leading format's `dissent` rate, prints\n\t * both orders; its verdict is `unknown` (`mixed`) however the probabilities fall.\n\t */\n\tmixedTail: number;\n\tschool: PartReader;\n\tlocation: PartReader;\n}\n\n/**\n * FITTED by `training/fit-name-format.ts` (and its selection of `smoothing`; the\n * threshold and `mixedTail` are decided, see the pull request). Provenance:\n *\n * corpus: corpus-v3.0.0-188, solo competitions, transcript and manifested halves\n * command: NAMES_CORPUS_DIR=<corpus-v3.0.0-188> bun training/fit-name-format.ts\n * split: 80/10/10 by event-year, `splitOf` (FNV-1a of the event-year, no seed)\n * date: 2026-10-02\n *\n * Refit when the readings above change.\n */\nexport const NAME_FORMAT_MODEL: NameFormatModel = {\n\tcomma: { \"First Last\": 0.00001237, \"Last, First\": 0.9989, \"Last First\": 0.0009921 },\n\tsurnameFirst: {\n\t\t\"First Last\": { twoToken: 0.0008603, oneToken: 0.02476 },\n\t\t\"Last, First\": { twoToken: 0.5, oneToken: 0.0625 },\n\t\t\"Last First\": { twoToken: 0.9972, oneToken: 0.9604 },\n\t},\n\tdissent: { \"First Last\": 0.004387, \"Last, First\": 0.0004406, \"Last First\": 0.01895 },\n\tsmoothing: 0.25,\n\tmixedTail: 0.01,\n\tschool: { recall: 0.9945, falseRate: 0.0248 },\n\tlocation: { recall: 0.6772, falseRate: 0.0001503 },\n};\n\n/** The default threshold (see `NAME_FORMAT_MODEL`). */\nexport const DEFAULT_NAME_FORMAT_THRESHOLD = 0.95;\n\n/** The order readings of a collection, counted in `ORDER_READINGS` order. */\nexport function orderCounts(readings: readonly NameCellReading[]): number[] {\n\tconst counts = ORDER_READINGS.map(() => 0);\n\tfor (const r of readings) if (r.order !== undefined) counts[ORDER_READINGS.indexOf(r.order)]!++;\n\treturn counts;\n}\n\n/** Log likelihood of a collection's readings under one format. */\nfunction orderLogLikelihood(\n\tcounts: readonly number[],\n\tread: number,\n\tmodel: NameFormatModel,\n\tf: NameFormat,\n): number {\n\tconst [comma, gf2, sf2, gf1, sf1] = counts as [number, number, number, number, number];\n\tconst k = model.comma[f];\n\tconst s = model.surnameFirst[f];\n\treturn (\n\t\tcomma * Math.log(k) +\n\t\t(read - comma) * Math.log1p(-k) +\n\t\tsf2 * Math.log(s.twoToken) +\n\t\tgf2 * Math.log1p(-s.twoToken) +\n\t\tsf1 * Math.log(s.oneToken) +\n\t\tgf1 * Math.log1p(-s.oneToken)\n\t);\n}\n\n/**\n * P(most cells carry the part | `k` of `n` read prints read one): the share `θ` of\n * cells carrying it is uniform a priori, each print reads one with probability\n * `θ·recall + (1 - θ)·falseRate`, and the answer is the posterior mass of `θ ≥ 1/2`.\n */\nexport function partProbability(k: number, n: number, reader: PartReader): number {\n\tif (n === 0) return 0.5;\n\tconst steps = 200;\n\tlet lo = 0;\n\tlet hi = 0;\n\tconst logs: number[] = [];\n\tfor (let i = 0; i < steps; i++) {\n\t\tconst theta = (i + 0.5) / steps;\n\t\tconst q = theta * reader.recall + (1 - theta) * reader.falseRate;\n\t\tlogs.push(k * Math.log(q) + (n - k) * Math.log1p(-q));\n\t}\n\tconst m = Math.max(...logs);\n\tfor (const [i, l] of logs.entries()) {\n\t\tconst w = Math.exp(l - m);\n\t\tif ((i + 0.5) / steps >= 0.5) hi += w;\n\t\telse lo += w;\n\t}\n\treturn hi / (lo + hi);\n}\n\n/** Score a collection's readings under a model. Exported for the fit; callers use `deriveNameFormat`. */\nexport function scoreReadings(\n\treadings: readonly NameCellReading[],\n\tmodel: NameFormatModel,\n\tthreshold: number,\n\tschoolRead: boolean,\n): NameFormatResult {\n\tconst evidence: NameFormatEvidence = {\n\t\tprints: readings.length,\n\t\tskipped: { empty: 0, \"no-name\": 0, team: 0 },\n\t\tseparatorCommas: 0,\n\t\tdiscountedCommas: { place: 0, glue: 0, trailing: 0, suffix: 0, particle: 0 },\n\t\tlexicon: {\n\t\t\t\"given-first:two-token\": 0,\n\t\t\t\"surname-first:two-token\": 0,\n\t\t\t\"given-first:one-token\": 0,\n\t\t\t\"surname-first:one-token\": 0,\n\t\t},\n\t\tunread: 0,\n\t\tschool: schoolRead ? 0 : null,\n\t\tlocation: 0,\n\t};\n\tlet read = 0;\n\tfor (const r of readings) {\n\t\tif (r.skipped !== undefined) {\n\t\t\tevidence.skipped[r.skipped]++;\n\t\t\tcontinue;\n\t\t}\n\t\tread++;\n\t\tfor (const c of r.commas) {\n\t\t\tif (c === \"separator\") evidence.separatorCommas++;\n\t\t\telse if (c !== \"none\") evidence.discountedCommas[c]++;\n\t\t}\n\t\tif (r.order === undefined) evidence.unread++;\n\t\telse if (r.order !== \"comma\") evidence.lexicon[r.order]++;\n\t\tif (r.school !== undefined && evidence.school !== null) evidence.school++;\n\t\tif (r.location !== undefined) evidence.location++;\n\t}\n\n\tconst counts = orderCounts(readings);\n\tconst oriented = counts.reduce((a, b) => a + b, 0);\n\tconst smooth = (x: number, n: number, k: number): number =>\n\t\tn + model.smoothing === 0 ? x : (n * x + model.smoothing / k) / (n + model.smoothing);\n\tconst p = posterior(NAME_FORMATS.map((f) => orderLogLikelihood(counts, read, model, f))).map(\n\t\t(x) => smooth(x, oriented, NAME_FORMATS.length),\n\t);\n\tconst probabilities = Object.fromEntries(\n\t\tNAME_FORMATS.map((f, i) => [f, p[i] as number]),\n\t) as Record<NameFormat, number>;\n\tlet best = 0;\n\tfor (let i = 1; i < p.length; i++) if ((p[i] as number) > (p[best] as number)) best = i;\n\tconst leading = NAME_FORMATS[best] as NameFormat;\n\tconst against = nameFormatOrder(leading) === \"given-first\" ? \"surname-first\" : \"given-first\";\n\tconst dissent = readings.filter((r) => r.orderPoints === against);\n\tconst mixed =\n\t\tdissent.length > 0 &&\n\t\tbinomialTail(dissent.length, oriented, model.dissent[leading]) < model.mixedTail;\n\tconst verdict: NameFormatVerdict =\n\t\t!mixed && (p[best] as number) >= threshold ? leading : \"unknown\";\n\n\treturn {\n\t\tprobabilities,\n\t\tverdict,\n\t\thasSchool:\n\t\t\tevidence.school === null\n\t\t\t\t? null\n\t\t\t\t: smooth(partProbability(evidence.school, read, model.school), read, 2),\n\t\thasLocation: smooth(partProbability(evidence.location, read, model.location), read, 2),\n\t\tmixed,\n\t\tevidence,\n\t\tdissent,\n\t\treadings: [...readings],\n\t};\n}\n\n/**\n * Which printed-name order one collection of name cells uses, and whether the cells\n * carry a school or a place. See the module comment.\n */\nexport function deriveNameFormat(\n\tprints: Iterable<PrintedNameCell>,\n\toptions: NameFormatOptions = {},\n): NameFormatResult {\n\tconst cells = [...prints];\n\tconst threshold = options.threshold ?? DEFAULT_NAME_FORMAT_THRESHOLD;\n\tconst schoolRead =\n\t\tBoolean(options.segmenter) || cells.some((c) => typeof c !== \"string\" && Boolean(c.school));\n\tconst first = scoreReadings(\n\t\tcells.map((c) => readNameCell(c, options)),\n\t\tNAME_FORMAT_MODEL,\n\t\tthreshold,\n\t\tschoolRead,\n\t);\n\tif (first.hasLocation <= 0.5 || options.readLocation === false || options.placeColumn)\n\t\treturn first;\n\treturn scoreReadings(\n\t\tcells.map((c) => readNameCell(c, { ...options, placeColumn: true })),\n\t\tNAME_FORMAT_MODEL,\n\t\tthreshold,\n\t\tschoolRead,\n\t);\n}\n"
|
|
13
13
|
],
|
|
14
|
-
"mappings": "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",
|
|
15
|
-
"debugId": "
|
|
14
|
+
"mappings": "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",
|
|
15
|
+
"debugId": "A94FC7266AE0EB2964756E2164756E21",
|
|
16
16
|
"names": []
|
|
17
17
|
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import {
|
|
2
|
+
phraseClassifier2
|
|
3
|
+
} from "./index-852w8w1s.js";
|
|
4
|
+
import"./index-2fsdvhaf.js";
|
|
5
|
+
import"./index-0qptxnwh.js";
|
|
6
|
+
export {
|
|
7
|
+
phraseClassifier2 as phraseClassifier
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
//# debugId=BD8F5B3E6DE1DCF664756E2164756E21
|
|
11
|
+
//# sourceMappingURL=phrase-dczgr4vs.js.map
|
package/dist/classifier/index.js
CHANGED
|
@@ -6,9 +6,9 @@ import {
|
|
|
6
6
|
createSegmenter2,
|
|
7
7
|
createClassifier2,
|
|
8
8
|
phraseClassifier2
|
|
9
|
-
} from "../chunks/index-
|
|
10
|
-
import"../chunks/index-
|
|
11
|
-
import"../chunks/index-
|
|
9
|
+
} from "../chunks/index-852w8w1s.js";
|
|
10
|
+
import"../chunks/index-2fsdvhaf.js";
|
|
11
|
+
import"../chunks/index-0qptxnwh.js";
|
|
12
12
|
export {
|
|
13
13
|
CONNECTORS2 as CONNECTORS,
|
|
14
14
|
SCHOOL_KEYWORDS2 as SCHOOL_KEYWORDS,
|
package/dist/cli/census.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import"../chunks/index-
|
|
2
|
+
import"../chunks/index-0qptxnwh.js";
|
|
3
3
|
import {
|
|
4
4
|
createNameCensus2
|
|
5
|
-
} from "../chunks/index-
|
|
6
|
-
import"../chunks/index-
|
|
5
|
+
} from "../chunks/index-0vg56t5v.js";
|
|
6
|
+
import"../chunks/index-fzzq5txh.js";
|
|
7
7
|
import { createRequire } from "node:module";
|
|
8
8
|
var __require = /* @__PURE__ */ createRequire(import.meta.url);
|
|
9
9
|
|
|
@@ -20,7 +20,7 @@ async function main(argv) {
|
|
|
20
20
|
const limit = Number(value("limit") ?? 25);
|
|
21
21
|
const field = value("field") ?? "name";
|
|
22
22
|
const orderField = value("order-field") ?? "order";
|
|
23
|
-
const classifier = flag("classify") ? (await import("../chunks/phrase-
|
|
23
|
+
const classifier = flag("classify") ? (await import("../chunks/phrase-dczgr4vs.js")).phraseClassifier() : undefined;
|
|
24
24
|
const census = createNameCensus2(classifier === undefined ? {} : { classifier });
|
|
25
25
|
for await (const line of createInterface({
|
|
26
26
|
input: process.stdin,
|
package/dist/index.js
CHANGED
|
@@ -29,7 +29,7 @@ import {
|
|
|
29
29
|
NAMES_TXT2,
|
|
30
30
|
parseEntries2,
|
|
31
31
|
Lexicon2
|
|
32
|
-
} from "./chunks/index-
|
|
32
|
+
} from "./chunks/index-0qptxnwh.js";
|
|
33
33
|
import {
|
|
34
34
|
CONNECTORS2,
|
|
35
35
|
SCHOOL_KEYWORDS2,
|
|
@@ -37,7 +37,7 @@ import {
|
|
|
37
37
|
createSegmenter2,
|
|
38
38
|
createClassifier2,
|
|
39
39
|
phraseClassifier2
|
|
40
|
-
} from "./chunks/index-
|
|
40
|
+
} from "./chunks/index-852w8w1s.js";
|
|
41
41
|
import"./chunks/index-jwx1mm4k.js";
|
|
42
42
|
import {
|
|
43
43
|
repairMojibake2,
|
|
@@ -79,14 +79,14 @@ import {
|
|
|
79
79
|
readNameCell2,
|
|
80
80
|
DEFAULT_NAME_FORMAT_THRESHOLD2,
|
|
81
81
|
deriveNameFormat2
|
|
82
|
-
} from "./chunks/index-
|
|
82
|
+
} from "./chunks/index-knrkej0f.js";
|
|
83
83
|
import {
|
|
84
84
|
composeEvalSet2,
|
|
85
85
|
evaluateClassifier2
|
|
86
|
-
} from "./chunks/index-
|
|
86
|
+
} from "./chunks/index-d4wr471g.js";
|
|
87
87
|
import {
|
|
88
88
|
createNameCensus2
|
|
89
|
-
} from "./chunks/index-
|
|
89
|
+
} from "./chunks/index-0vg56t5v.js";
|
|
90
90
|
import {
|
|
91
91
|
NAME_REFUSED2,
|
|
92
92
|
stripEveryAside2,
|
|
@@ -130,8 +130,8 @@ import {
|
|
|
130
130
|
defaultPersonNameFactory2,
|
|
131
131
|
personName2,
|
|
132
132
|
personNameFromIcao2
|
|
133
|
-
} from "./chunks/index-
|
|
134
|
-
import"./chunks/index-
|
|
133
|
+
} from "./chunks/index-fzzq5txh.js";
|
|
134
|
+
import"./chunks/index-2fsdvhaf.js";
|
|
135
135
|
import {
|
|
136
136
|
TEAM_WORD2,
|
|
137
137
|
TEAM_DESIGNATION_WORDS2,
|
package/dist/lexicon/index.js
CHANGED
package/dist/measure/index.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
composeEvalSet2,
|
|
3
3
|
evaluateClassifier2
|
|
4
|
-
} from "../chunks/index-
|
|
4
|
+
} from "../chunks/index-d4wr471g.js";
|
|
5
5
|
import {
|
|
6
6
|
createNameCensus2
|
|
7
|
-
} from "../chunks/index-
|
|
8
|
-
import"../chunks/index-
|
|
9
|
-
import"../chunks/index-
|
|
7
|
+
} from "../chunks/index-0vg56t5v.js";
|
|
8
|
+
import"../chunks/index-fzzq5txh.js";
|
|
9
|
+
import"../chunks/index-0qptxnwh.js";
|
|
10
10
|
export {
|
|
11
11
|
composeEvalSet2 as composeEvalSet,
|
|
12
12
|
createNameCensus2 as createNameCensus,
|
package/dist/normalize/index.js
CHANGED
|
@@ -38,7 +38,7 @@ import {
|
|
|
38
38
|
readNameCell2,
|
|
39
39
|
DEFAULT_NAME_FORMAT_THRESHOLD2,
|
|
40
40
|
deriveNameFormat2
|
|
41
|
-
} from "../chunks/index-
|
|
41
|
+
} from "../chunks/index-knrkej0f.js";
|
|
42
42
|
import {
|
|
43
43
|
NAME_REFUSED2,
|
|
44
44
|
stripEveryAside2,
|
|
@@ -82,8 +82,8 @@ import {
|
|
|
82
82
|
defaultPersonNameFactory2,
|
|
83
83
|
personName2,
|
|
84
84
|
personNameFromIcao2
|
|
85
|
-
} from "../chunks/index-
|
|
86
|
-
import"../chunks/index-
|
|
85
|
+
} from "../chunks/index-fzzq5txh.js";
|
|
86
|
+
import"../chunks/index-2fsdvhaf.js";
|
|
87
87
|
import {
|
|
88
88
|
TEAM_WORD2,
|
|
89
89
|
TEAM_DESIGNATION_WORDS2,
|
|
@@ -96,7 +96,7 @@ import {
|
|
|
96
96
|
} from "../chunks/index-0phgwy52.js";
|
|
97
97
|
import {
|
|
98
98
|
lexiconKey2
|
|
99
|
-
} from "../chunks/index-
|
|
99
|
+
} from "../chunks/index-0qptxnwh.js";
|
|
100
100
|
export {
|
|
101
101
|
COMPOUND_SURNAMES2 as COMPOUND_SURNAMES,
|
|
102
102
|
DEFAULT_NAME_FORMAT_THRESHOLD2 as DEFAULT_NAME_FORMAT_THRESHOLD,
|
|
@@ -43,6 +43,13 @@ Levels (NN0–NN4) are defined under [Consumer contract](#consumer-contract).
|
|
|
43
43
|
filters in a spreadsheet, and many systems do not carry accents.
|
|
44
44
|
- The ICAO shape `Surname<<Given<Middle` is the key a row is filed under. It supports
|
|
45
45
|
sorting by surname, prefix matching on surname, and grouping siblings.
|
|
46
|
+
- A compound surname printed with a hyphen and with a space is one field at NN3
|
|
47
|
+
(`Ava Smithson-Ward` and `SMITHSON WARD, AVA` both reach `SMITHSONWARD<<AVA`). NN2 keeps
|
|
48
|
+
the print's joiner, so compare at NN3 (`surnameKey()`, `probablySame(a, b, "nn3")`),
|
|
49
|
+
never by NN2 equality. The fold needs the parse to read both tokens as surname: a
|
|
50
|
+
given-first `Ava Smithson Ward` is a middle name and a surname (`WARD<<AVA<SMITHSON`), and
|
|
51
|
+
a comma-less `SMITHSON WARD AVA` declared surname-first takes only the leading token
|
|
52
|
+
(plus any particles) as the surname (`SMITHSON<<WARD<AVA`).
|
|
46
53
|
|
|
47
54
|
## What causes the edge cases
|
|
48
55
|
|
package/names.txt
CHANGED
|
@@ -5362,7 +5362,7 @@ Desmarteaux:L
|
|
|
5362
5362
|
Desmond:M
|
|
5363
5363
|
DeSocio:L
|
|
5364
5364
|
DeSousa:L
|
|
5365
|
-
|
|
5365
|
+
DeSouza:L
|
|
5366
5366
|
DeSpain:L
|
|
5367
5367
|
Despot:LC
|
|
5368
5368
|
Desrosiers:L
|
|
@@ -5540,7 +5540,7 @@ Dina:F
|
|
|
5540
5540
|
Dinah:F
|
|
5541
5541
|
Dinapoli:L
|
|
5542
5542
|
Dinara:F
|
|
5543
|
-
|
|
5543
|
+
DiNardo:L
|
|
5544
5544
|
Dine:L
|
|
5545
5545
|
Dineen:L
|
|
5546
5546
|
Dingman:L
|
|
@@ -5580,7 +5580,7 @@ Disler:L
|
|
|
5580
5580
|
Dismuke:L
|
|
5581
5581
|
Diss:L
|
|
5582
5582
|
Disse:L
|
|
5583
|
-
|
|
5583
|
+
DiStefano:L
|
|
5584
5584
|
District:T
|
|
5585
5585
|
District of Columbia:BG
|
|
5586
5586
|
Ditchman:LC
|
|
@@ -13301,7 +13301,7 @@ Macri:L
|
|
|
13301
13301
|
MacRitchie:L4
|
|
13302
13302
|
MacRobbie:L4
|
|
13303
13303
|
MacRuairi:L4
|
|
13304
|
-
|
|
13304
|
+
MacShane:L
|
|
13305
13305
|
MacSweeney:L4
|
|
13306
13306
|
Mactir:LT
|
|
13307
13307
|
MacTough:L4
|
|
@@ -14018,7 +14018,7 @@ McAleese:L
|
|
|
14018
14018
|
McAlevey:L
|
|
14019
14019
|
McAlexander:L4
|
|
14020
14020
|
McAlinden:L4
|
|
14021
|
-
|
|
14021
|
+
McAliney:L
|
|
14022
14022
|
McAlister:L
|
|
14023
14023
|
McAllaster:L4
|
|
14024
14024
|
McAllister:L4
|
|
@@ -14027,7 +14027,7 @@ McAloon:L
|
|
|
14027
14027
|
McAlpine:L
|
|
14028
14028
|
McAnally:L4
|
|
14029
14029
|
McAnaney:L
|
|
14030
|
-
|
|
14030
|
+
McAnanney:L
|
|
14031
14031
|
McAndless:L4
|
|
14032
14032
|
McAndrew:L4
|
|
14033
14033
|
McAnespy:L4
|
|
@@ -14108,7 +14108,7 @@ McCleave:L4
|
|
|
14108
14108
|
McClellan:L4
|
|
14109
14109
|
McClelland:L
|
|
14110
14110
|
McCleney:L
|
|
14111
|
-
|
|
14111
|
+
McCleverty:L
|
|
14112
14112
|
McClintock:L4
|
|
14113
14113
|
McClish:L4
|
|
14114
14114
|
McClone:L4
|
|
@@ -14128,7 +14128,7 @@ McColm:L4
|
|
|
14128
14128
|
McComas:L4
|
|
14129
14129
|
McComb:L4
|
|
14130
14130
|
McCombe:L4
|
|
14131
|
-
|
|
14131
|
+
McComber:L
|
|
14132
14132
|
McCombs:L4
|
|
14133
14133
|
McComiskey:L
|
|
14134
14134
|
McConachie:L4
|
|
@@ -14304,7 +14304,7 @@ McGoldrick:L4
|
|
|
14304
14304
|
McGonagle:LT4
|
|
14305
14305
|
McGonigal:L4
|
|
14306
14306
|
McGonigle:L4
|
|
14307
|
-
|
|
14307
|
+
McGoohan:L
|
|
14308
14308
|
McGorisk:L
|
|
14309
14309
|
McGorray:L
|
|
14310
14310
|
McGorry:L
|
|
@@ -14450,7 +14450,7 @@ McManimon:L4
|
|
|
14450
14450
|
McManis:L4
|
|
14451
14451
|
McMannon:L4
|
|
14452
14452
|
McManus:L4
|
|
14453
|
-
|
|
14453
|
+
McMartin:L
|
|
14454
14454
|
McMaster:L4
|
|
14455
14455
|
McMeekin:L4
|
|
14456
14456
|
McMenamin:L4
|
|
@@ -14480,7 +14480,7 @@ McNall:L4
|
|
|
14480
14480
|
McNally:L4
|
|
14481
14481
|
McNamara:LT4
|
|
14482
14482
|
McNamee:L4
|
|
14483
|
-
|
|
14483
|
+
McNatt:L
|
|
14484
14484
|
McNaughton:L4
|
|
14485
14485
|
McNea:L
|
|
14486
14486
|
McNeel:L4
|
|
@@ -14540,7 +14540,7 @@ McSwain:L4
|
|
|
14540
14540
|
McSweeney:L
|
|
14541
14541
|
McSwiggan:L
|
|
14542
14542
|
McSwiggen:L4
|
|
14543
|
-
|
|
14543
|
+
McTaggart:L
|
|
14544
14544
|
McTague:L4
|
|
14545
14545
|
McTavish:L4
|
|
14546
14546
|
McTeggart:LT4
|
package/package.json
CHANGED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
phraseClassifier2
|
|
3
|
-
} from "./index-bpp2rfg7.js";
|
|
4
|
-
import"./index-m0f6bgr9.js";
|
|
5
|
-
import"./index-bqx4wpkm.js";
|
|
6
|
-
export {
|
|
7
|
-
phraseClassifier2 as phraseClassifier
|
|
8
|
-
};
|
|
9
|
-
|
|
10
|
-
//# debugId=BD8F5B3E6DE1DCF664756E2164756E21
|
|
11
|
-
//# sourceMappingURL=phrase-rbxwzwn9.js.map
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|