indickit 0.9.0 → 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -8
- package/dist/deromanize.js +1 -1
- package/dist/normalize.js +1 -1
- package/dist/phonetic-search.js +1 -1
- package/dist/phonetic.js +1 -1
- package/dist/romanize.js +1 -1
- package/dist/stem.js +1 -1
- package/dist/types/js/phonetic-engine.d.ts +21 -0
- package/dist/types/js/phonetic-search.d.ts +4 -2
- package/dist/types/js/phonetic.d.ts +2 -9
- package/dist/types/js/romanize.d.ts +0 -2
- package/package.json +1 -1
package/dist/phonetic-search.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var u={version:"2026-10-08",profiles:{names:{key:2,cost:1,vowel:1,div:4,stop_permille:20,stop_min_names:100,round:!0},text:{key:1,cost:2,vowel:2,div:5,stop_permille:null,stop_min_names:0,round:!1}},posterior_temperature:2,deletion_min_classes:3,loose_joined_min_classes:4,fine_folds:["nasal-all","v-b","retroflex","s-c","ng-k","ur-w-u"],thresholds:{names:74,villages:72,text_10:80,text_20:70},pow:[1e6,993092,986233,979420,972655,965936,959264,952638,946058,939523,933033,926588,920188,913831,907519,901250,895025,888843,882703,876606,870551,864537,858565,852635,846745,840896,835088,829320,823591,817902,812252,806642,801070,795536,790041,784584,779165,773782,768438,763130,757858,752623,747425,742262,737135,732043,726986,721965,716978,712025,707107,702222,697372,692555,687771,683020,678302,673617,668964,664343,659754,655197,650671,646176,641713,637280,632878,628507,624165,619854,615572,611320,607097,602904,598739,594604,590496,586417,582367,578344,574349,570382,566442,562529,558644,554785,550953,547147,543367,539614,535887,532185,528509,524858,521233,517632,514057,510506,506980,503478,500000,496546,493116,489710,486327,482968,479632,476319,473029,469761,466516,463294,460094,456916,453760,450625,447513,444421,441351,438303,435275,432269,429283,426317,423373,420448,417544,414660,411796,408951,406126,403321,400535,397768,395021,392292,389582,386891,384219,381565,378929,376312,373712,371131,368567,366021,363493,360982,358489,356013,353553,351111,348686,346277,343885,341510,339151,336808,334482,332171,329877,327598,325335,323088,320856,318640,316439,314253,312083,309927,307786,305660,303549,301452,299370,297302,295248,293209,291183,289172,287175,285191,283221,281265,279322,277392,275476,273573,271684,269807,267943,266093,264255,262429,260616,258816,257028,255253,253490,251739,250000,248273,246558,244855,243164,241484,239816,238159,236514,234881,233258,231647,230047,228458,226880,225313,223756,222211,220676,219151,217638,216134,214641,213159,211686,210224,208772,207330,205898,204476,203063,201660,200267,198884,197510,196146,194791,193446,192109,190782,189465,188156,186856,185565,184284,183011,181747,180491,179244,178006,176777,175556,174343,173139,171943,170755,169576,168404,167241,166086,164938,163799,162668,161544,160428,159320,158220,157127,156041,154963,153893,152830,151774,150726,149685,148651,147624,146604,145592,144586,143587,142595,141610,140632,139661,138696,137738,136787,135842,134904,133972,133046,132127,131215,130308,129408,128514,127627,126745,125869,125000,124137,123279,122428,121582,120742,119908,119080,118257,117440,116629,115824,115023,114229,113440,112656,111878,111105,110338,109576,108819,108067,107321,106579,105843,105112,104386,103665,102949,102238,101532,100830,100134,99442,98755,98073,97396,96723,96055,95391,94732,94078,93428,92783,92142,91505,90873,90246,89622,89003,88388,87778,87171,86569,85971,85378,84788,84202,83620,83043,82469,81900,81334,80772,80214,79660,79110,78563,78021,77482,76947,76415,75887,75363,74842,74325,73812,73302,72796,72293,71794,71298,70805,70316,69830,69348,68869,68393,67921,67452,66986,66523,66064,65607,65154,64704,64257,63813,63372,62935,62500,62068,61640,61214,60791,60371,59954,59540,59129,58720,58315,57912,57512,57114,56720,56328,55939,55553,55169,54788,54409,54034,53660,53290,52922,52556,52193,51832,51474,51119,50766,50415,50067,49721,49378,49037,48698,48361,48027,47696,47366,47039,46714,46391,46071,45753,45437,45123,44811,44502,44194,43889,43586,43285,42986,42689,42394,42101,41810,41521,41235,40950,40667,40386,40107,39830,39555,39282,39010,38741,38473,38208,37944,37681,37421,37163,36906,36651,36398,36147,35897,35649,35403,35158,34915,34674,34435,34197,33960,33726,33493,33262,33032,32804,32577,32352,32129,31907,31686,31467,31250,31034,30820,30607,30395,30186,29977,29770,29564,29360,29157,28956,28756,28557,28360,28164,27970,27776,27584,27394,27205,27017,26830,26645,26461,26278,26096,25916,25737,25559,25383,25208,25033,24861,24689,24518,24349,24181,24014,23848,23683,23519,23357,23196,23035,22876,22718,22561,22406,22251,22097,21944,21793,21642,21493,21344,21197,21051,20905,20761,20617,20475,20333,20193,20054,19915,19777,19641,19505,19370,19237,19104,18972,18841,18711,18581,18453,18326,18199,18073,17948,17824,17701,17579,17458,17337,17217,17098,16980,16863,16746,16631,16516,16402,16289,16176,16064,15953,15843,15734,15625,15517,15410,15303,15198,15093,14989,14885,14782,14680,14579,14478,14378,14279,14180,14082,13985,13888,13792,13697,13602,13508,13415,13322,13230,13139,13048,12958,12869,12780,12691,12604,12517,12430,12344,12259,12174,12090,12007,11924,11842,11760,11679,11598,11518,11438,11359,11281,11203,11125,11049,10972,10896,10821,10746,10672,10598,10525,10453,10380,10309,10237,10167,10097,10027,9958,9889,9820,9753,9685,9618,9552,9486,9420,9355,9291,9227,9163,9099,9037,8974,8912,8851,8790,8729,8669,8609,8549,8490,8431,8373,8315,8258,8201,8144,8088,8032,7977,7922,7867,7812,7759,7705,7652,7599,7546,7494,7442,7391,7340,7289,7239,7189,7139,7090,7041,6992,6944,6896,6848,6801,6754,6708,6661,6615,6570,6524,6479,6434,6390,6346,6302,6258,6215,6172,6130,6087,6045,6003,5962,5921,5880,5839,5799,5759,5719,5680,5640,5601,5563,5524,5486,5448,5411,5373,5336,5299,5263,5226,5190,5154,5119,5083,5048,5013,4979,4944,4910,4876,4843,4809,4776,4743,4710,4678,4645,4613,4581,4550,4518,4487,4456,4425,4395,4364,4334,4304,4275,4245,4216,4187,4158,4129,4100,4072,4044,4016,3988,3961,3933,3906,3879,3852,3826,3799,3773,3747,3721,3696,3670,3645,3619,3594,3570,3545,3521,3496,3472,3448,3424,3401,3377,3354,3331,3308,3285,3262,3240,3217,3195,3173,3151,3129,3108,3086,3065,3044,3023,3002,2981,2960,2940,2920,2899,2879,2860,2840,2820,2801,2781,2762,2743,2724,2705,2687,2668,2650,2631,2613,2595,2577,2559,2542,2524,2507,2489,2472,2455,2438,2421,2405,2388,2371,2355,2339,2323,2307,2291,2275,2259,2244,2228,2213,2197,2182,2167,2152,2137,2123,2108,2093,2079,2064,2050,2036,2022,2008,1994,1980,1967,1953,1940,1926,1913,1900,1887,1874,1861,1848,1835,1822,1810,1797,1785,1772,1760,1748,1736,1724,1712,1700,1689,1677,1665,1654,1642,1631,1620,1609,1597,1586,1575,1565,1554,1543,1532,1522,1511,1501,1490,1480,1470,1460,1450,1440,1430,1420,1410,1400,1391,1381,1372,1362,1353,1343,1334,1325,1316,1307,1298,1289,1280,1271,1262,1253,1245,1236,1228,1219,1211,1202,1194,1186,1178,1169,1161,1153,1145,1137,1130,1122,1114,1106,1099,1091,1084,1076,1069,1061,1054,1047,1039,1032,1025,1018,1011,1004,997,990,983,977,970,963,956,950,943,937,930,924,918,911,905,899,892,886,880,874,868,862,856,850,844,838,833,827,821,816,810,804,799,793,788,782,777,772,766,761,756,750,745,740,735,730,725,720,715,710,705,700,695,691,686,681,676,672,667,662,658,653,649,644,640,635,631,627,622,618,614,610,605,601,597,593,589,585,581,577,573,569,565,561,557,553,549,546,542,538,534,531,527,523,520,516,513,509,506,502,499,495,492,488,485,482,478,475,472,468,465,462,459,456,452,449,446,443,440,437,434,431,428,425,422,419,416,413,411,408,405,402,399,397,394,391,388,386,383,380,378,375,373,370,367,365,362,360,357,355,353,350,348,345,343,341,338,336,334,331,329,327,324,322,320,318,316,313,311,309,307,305,303,301,298,296,294,292,290,288,286,284,282,280,279,277,275,273,271,269,267,265,263,262,260,258,256,255,253,251,249,248,246,244,242,241,239,237,236,234,233,231,229,228,226,225,223,222,220,219,217,216,214,213,211,210,208,207,205,204,202,201,200,198,197,196,194,193,192,190,189,188,186,185,184,182,181,180,179,177,176,175,174,173,171,170,169,168,167,166,164,163,162,161,160,159,158,157,156,155,153,152,151,150,149,148,147,146,145,144,143,142,141,140,139,138,137,136,135,135,134,133,132,131,130,129,128,127,126,126,125,124,123,122,121,120,120,119,118,117,116,115,115,114,113,112,112,111,110,109,109,108,107,106,106,105,104,103,103,102,101,101,100,99,98,98,97,96,96,95,94,94,93,93,92,91,91,90,89,89,88,88,87,86,86,85,85,84,83,83,82,82,81,81,80,79,79,78,78,77,77,76,76,75,75,74,74,73,73,72,72,71,71,70,70,69,69,68,68,67,67,66,66,65,65,65,64,64,63,63,62,62,61,61,61,60,60,59,59,59,58,58,57,57,57,56,56,55,55,55,54,54,54,53,53,52,52,52,51,51,51,50,50,50,49,49,49,48,48,48,47,47,47,46,46,46,45,45,45,44,44,44,43,43,43,43,42,42,42,41,41,41,41,40,40,40,39,39,39,39,38,38,38,38,37,37,37,37,36,36,36,36,35,35,35,35,34,34,34,34,33,33,33,33,32,32,32,32,32,31,31,31,31,31,30,30,30,30,29,29,29,29,29,28,28,28,28,28,28,27,27,27,27,27,26,26,26,26,26,25,25,25,25,25,25,24,24,24,24,24,24,23,23,23,23,23,23,22,22,22,22,22,22,22,21,21,21,21,21,21,21,20,20,20,20,20,20,20,19,19,19,19,19,19,19,19,18,18,18,18,18,18,18,18,17,17,17,17,17,17,17,17,16,16,16,16,16,16,16,16,16,15,15,15,15,15,15,15,15,15,15,14,14,14,14,14,14,14,14,14,14,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],exp2:[65536,70240,75281,80684,86475,92682,99334,106464,114105,122295,131072,140479,150562,161369,172951,185364,198668,212927,228210,244589,262144,280959,301124,322737,345901,370728,397336,425854,456419,489178,524288,561918,602249,645474,691802,741455,794672,851708,912838,978356,1048576,1123836,1204498,1290948,1383604,1482910,1589344,1703417,1825677,1956712,2097152,2247672,2408995,2581897,2767209,2965821,3178688,3406833,3651354,3913424,4194304,4495344,4817990,5163794,5534417,5931642,6357376,6813667,7302707,7826848,8388608,8990687,9635980,10327588,11068835,11863283,12714752,13627334,14605415,15653696,16777216,17981375,19271960,20655176,22137669,23726566,25429504,27254668,29210830,31307392,33554432,35962750,38543921,41310351,44275338,47453133,50859008,54509336,58421659,62614784,67108864,71925500,77087842,82620703,88550677,94906266,101718017,109018671,116843319,125229568,134217728,143850999,154175683,165241406,177101354,189812531,203436034,218037342,233686637,250459137,268435456,287701998,308351367,330482812,354202708,379625062,406872068,436074685,467373275,500918273,536870912,575403996,616702733,660965624,708405415,759250125,813744135,872149370,934746550,1001836546,1073741824,1150807993,1233405467,1321931248,1416810831,1518500250,1627488271,1744298739,1869493099,2003673092,2147483648,2301615985,2466810934,2643862496,2833621662,3037000500,3254976542,3488597478,3738986199,4007346185,4294967296,4603231970,4933621868,5287724992,5667243324,6074001000,6509953083,6977194957,7477972398,8014692369,8589934592,9206463941,9867243735,10575449984,11334486647,12148002000,13019906166,13954389914,14955944795,16029384739,17179869184,18412927881,19734487471,21150899968,22668973294,24296004000,26039812333,27908779828,29911889591,32058769478,34359738368,36825855763,39468974941,42301799936,45337946589,48592008000,52079624665,55817559655,59823779182,64117538956,68719476736,73651711525,78937949883,84603599872,90675893177,97184015999,104159249331,111635119310,119647558364,128235077912,137438953472,147303423050,157875899766,169207199743,181351786355,194368031998,208318498661,223270238621,239295116728,256470155823,274877906944,294606846100,315751799532,338414399486,362703572709,388736063997,416636997323,446540477241,478590233456,512940311647,549755813888,589213692200,631503599063,676828798972,725407145419,777472127994,833273994645,893080954483,957180466911,1025880623293,1099511627776,1178427384400,1263007198126,1353657597944,1450814290837,1554944255988,1666547989291,1786161908965,1914360933822,2051761246587,2199023255552,2356854768801,2526014396253,2707315195888,2901628581674,3109888511975,3333095978582,3572323817930,3828721867644,4103522493173,4398046511104,4713709537602,5052028792506,5414630391777,5803257163349,6219777023951,6666191957164,7144647635861,7657443735288,8207044986347,8796093022208,9427419075203,10104057585011,10829260783554,11606514326698,12439554047902,13332383914327,14289295271722,15314887470577,16414089972694,17592186044416,18854838150406,20208115170022,21658521567107,23213028653395,24879108095804,26664767828654,28578590543443,30629774941153,32828179945387,35184372088832,37709676300813,40416230340045,43317043134214,46426057306791,49758216191608,53329535657309,57157181086886,61259549882306,65656359890774,70368744177664,75419352601626,80832460680090,86634086268429,92852114613582,99516432383215,106659071314618,114314362173773,122519099764613,131312719781548,140737488355328,150838705203251,161664921360180,173268172536857,185704229227163,199032864766430,213318142629235,228628724347546,245038199529225,262625439563096,281474976710656,301677410406503,323329842720360,346536345073714,371408458454326,398065729532861,426636285258470,457257448695093,490076399058449,525250879126193,562949953421312,603354820813005,646659685440720,693072690147428,742816916908653,796131459065722,853272570516940,914514897390186,980152798116898,1050501758252385,1125899906842624]};var o={version:"2026-10-07",folds:["nasal-all","ng-k","retroflex","s-c","v-b"],brahmic:{from:2304,to:3455,class_by_offset:{"2":"ṁ","5":"a","6":"a","7":"i","8":"i","9":"u","10":"u","11":"r","12":"l","13":"e","14":"e","15":"e","16":"e","17":"o","18":"o","19":"o","20":"o","21":"k","22":"k","23":"k","24":"k","25":"ṅ","26":"c","27":"c","28":"c","29":"c","30":"ñ","31":"ṭ","32":"ṭ","33":"ṭ","34":"ṭ","35":"ṇ","36":"t","37":"t","38":"t","39":"t","40":"n","41":"n","42":"p","43":"p","44":"p","45":"p","46":"m","47":"y","48":"r","49":"r","50":"l","51":"l","52":"l","53":"v","54":"s","55":"s","56":"s","57":"h","62":"a","63":"i","64":"i","65":"u","66":"u","67":"r","68":"r","69":"e","70":"e","71":"e","72":"e","73":"o","74":"o","75":"o","76":"o","87":"o","96":"r","97":"l","98":"l","99":"l"},virama_offset:77,candrabindu_offset:1,candrabindu_class:"ṁ",nukta_offset:60,flap_offsets:[33,34],flap_class:"ṛ"},extra:{ৎ:"t",ৰ:"r",ৱ:"v",ୱ:"v","ੰ":"ṁ","ਂ":"ṁ",ൺ:"ṇ",ൻ:"n",ർ:"r",ൽ:"l",ൾ:"l",ൿ:"k",ൔ:"m",ൕ:"y",ൖ:"l",ड़:"ṛ",ढ़:"ṛ",ড়:"ṛ",ঢ়:"ṛ",ଡ଼:"ṛ",ଢ଼:"ṛ",ੜ:"ṛ"},urdu:{from:1536,to:1791,letters:{ا:"a",آ:"a",أ:"a",ب:"p",پ:"p",ت:"t",ٹ:"ṭ",ث:"s",ج:"c",چ:"c",ح:"h",خ:"k",د:"t",ڈ:"ṭ",ذ:"c",ر:"r",ڑ:"ṛ",ز:"c",ژ:"c",س:"s",ش:"s",ص:"s",ض:"c",ط:"t",ظ:"c",غ:"k",ف:"p",ق:"k",ک:"k",ك:"k",گ:"k",ل:"l",م:"m",ن:"n",ں:"ṁ",و:"v",ؤ:"u",ہ:"h",ه:"h",ۃ:"a",ی:"y",ي:"y",ى:"y",ئ:"y",ے:"e",ۓ:"e",ٻ:"p",ڀ:"p",ٺ:"ṭ",ٽ:"ṭ",ٿ:"t",ڄ:"c",ڃ:"ñ",ڇ:"c",ڊ:"ṭ",ڌ:"t",ڍ:"ṭ",ڏ:"t",ڙ:"ṛ",ڦ:"p",ڪ:"k",ڱ:"ṅ",ڳ:"k",ڻ:"ṇ",ٲ:"a",ٳ:"a",ۆ:"o",ۄ:"o",ێ:"e",ؠ:"y"},ain:"ع",waw:"و",waw_v_before:"اآ",final_he:"ہه",final_he_h_after:"اآو"},meetei:{ranges:[[43744,43775],[43968,44031]],letters:{ꯀ:"k",ꯁ:"s",ꯂ:"l",ꯃ:"m",ꯄ:"p",ꯅ:"n",ꯆ:"c",ꯇ:"t",ꯈ:"k",ꯉ:"ṅ",ꯊ:"t",ꯋ:"v",ꯌ:"y",ꯍ:"h",ꯎ:"u",ꯏ:"i",ꯐ:"p",ꯑ:"a",ꯒ:"k",ꯓ:"c",ꯔ:"r",ꯕ:"p",ꯖ:"c",ꯗ:"t",ꯘ:"k",ꯙ:"t",ꯚ:"p",ꯛ:"k",ꯜ:"l",ꯝ:"m",ꯞ:"p",ꯟ:"n",ꯠ:"t",ꯡ:"ṅ",ꯢ:"i","ꯣ":"o","ꯤ":"i","ꯥ":"a","ꯦ":"e","ꯧ":"o","ꯨ":"u","ꯩ":"e","ꯪ":"ṁ",ꫠ:"e",ꫡ:"o",ꫢ:"c",ꫣ:"ñ",ꫤ:"ṭ",ꫥ:"ṭ",ꫦ:"ṭ",ꫧ:"ṭ",ꫨ:"ṇ",ꫩ:"s",ꫪ:"s","ꫫ":"i","ꫬ":"u","ꫭ":"e","ꫮ":"o","ꫯ":"o"}},ol_chiki:{from:7248,to:7295,letters:{ᱚ:"o",ᱛ:"t",ᱜ:"k",ᱝ:"ṅ",ᱞ:"l",ᱟ:"a",ᱠ:"k",ᱡ:"c",ᱢ:"m",ᱣ:"v",ᱤ:"i",ᱥ:"s",ᱦ:"h",ᱧ:"ñ",ᱨ:"r",ᱩ:"u",ᱪ:"c",ᱫ:"t",ᱬ:"ṇ",ᱭ:"y",ᱮ:"e",ᱯ:"p",ᱰ:"ṭ",ᱱ:"n",ᱲ:"ṛ",ᱳ:"o",ᱴ:"ṭ",ᱵ:"p",ᱶ:"v",ᱷ:"h",ᱸ:"ṁ"},aspiration:"ᱷ"},latin:{groups:[["ngh","nĝ"],["chh","c"],["ch","c"],["jh","c"],["kh","k"],["gh","k"],["th","t"],["dh","t"],["ph","p"],["bh","p"],["sh","s"],["ck","k"],["aa","a"],["ai","e"],["ei","e"],["au","o"],["ee","i"],["oo","u"],["x","ks"]],letters:{a:"a",e:"e",i:"i",o:"o",u:"u",k:"k",g:"k",q:"k",j:"c",z:"c",t:"t",d:"t",n:"n",m:"m",p:"p",b:"p",f:"p",v:"v",w:"v",y:"y",r:"r",l:"l",s:"s",h:"h"},w_ambiguous_unless_before:"aeiou"},class_map:{m:"n",s:"c",v:"p",w:"p",ñ:"n",ĝ:"k",ṁ:"n",ṅ:"n",ṇ:"n",ṛ:"t",ṭ:"t"},vowels:"aeiou",steps:{"ng-k":!0,"initial-vowels-alike":!1,"drop-h":!1,"drop-y":!1,"drop-y-after-i":!1,"drop-vowels":!1,"drop-final-vowel":!1},branches:[],joined:{min_classes:8,when:"the strict keys find nobody"},digit_zeros:[48,1632,1776,2406,2534,2662,2790,2918,3046,3174,3302,3430,7248,44016],max_keys:16,suffixes:[]};var d={version:"2026-10-07",folds:["nasal-all","ng-k","retroflex","s-c","ur-w-u","v-b"],brahmic:{from:2304,to:3455,class_by_offset:{"2":"ṁ","5":"a","6":"a","7":"i","8":"i","9":"u","10":"u","11":"r","12":"l","13":"e","14":"e","15":"e","16":"e","17":"o","18":"o","19":"o","20":"o","21":"k","22":"k","23":"k","24":"k","25":"ṅ","26":"c","27":"c","28":"c","29":"c","30":"ñ","31":"ṭ","32":"ṭ","33":"ṭ","34":"ṭ","35":"ṇ","36":"t","37":"t","38":"t","39":"t","40":"n","41":"n","42":"p","43":"p","44":"p","45":"p","46":"m","47":"y","48":"r","49":"r","50":"l","51":"l","52":"l","53":"v","54":"s","55":"s","56":"s","57":"h","62":"a","63":"i","64":"i","65":"u","66":"u","67":"r","68":"r","69":"e","70":"e","71":"e","72":"e","73":"o","74":"o","75":"o","76":"o","87":"o","96":"r","97":"l","98":"l","99":"l"},virama_offset:77,candrabindu_offset:1,candrabindu_class:"ṁ",nukta_offset:60,flap_offsets:[33,34],flap_class:"ṛ"},extra:{ৎ:"t",ৰ:"r",ৱ:"v",ୱ:"v","ੰ":"ṁ","ਂ":"ṁ",ൺ:"ṇ",ൻ:"n",ർ:"r",ൽ:"l",ൾ:"l",ൿ:"k",ൔ:"m",ൕ:"y",ൖ:"l",ड़:"ṛ",ढ़:"ṛ",ড়:"ṛ",ঢ়:"ṛ",ଡ଼:"ṛ",ଢ଼:"ṛ",ੜ:"ṛ"},urdu:{from:1536,to:1791,letters:{ا:"a",آ:"a",أ:"a",ب:"p",پ:"p",ت:"t",ٹ:"ṭ",ث:"s",ج:"c",چ:"c",ح:"h",خ:"k",د:"t",ڈ:"ṭ",ذ:"c",ر:"r",ڑ:"ṛ",ز:"c",ژ:"c",س:"s",ش:"s",ص:"s",ض:"c",ط:"t",ظ:"c",غ:"k",ف:"p",ق:"k",ک:"k",ك:"k",گ:"k",ل:"l",م:"m",ن:"n",ں:"ṁ",و:"v",ؤ:"u",ہ:"h",ه:"h",ۃ:"a",ی:"y",ي:"y",ى:"y",ئ:"y",ے:"e",ۓ:"e",ٻ:"p",ڀ:"p",ٺ:"ṭ",ٽ:"ṭ",ٿ:"t",ڄ:"c",ڃ:"ñ",ڇ:"c",ڊ:"ṭ",ڌ:"t",ڍ:"ṭ",ڏ:"t",ڙ:"ṛ",ڦ:"p",ڪ:"k",ڱ:"ṅ",ڳ:"k",ڻ:"ṇ",ٲ:"a",ٳ:"a",ۆ:"o",ۄ:"o",ێ:"e",ؠ:"y"},ain:"ع",waw:"و",waw_v_before:"اآ",final_he:"ہه",final_he_h_after:"اآو"},meetei:{ranges:[[43744,43775],[43968,44031]],letters:{ꯀ:"k",ꯁ:"s",ꯂ:"l",ꯃ:"m",ꯄ:"p",ꯅ:"n",ꯆ:"c",ꯇ:"t",ꯈ:"k",ꯉ:"ṅ",ꯊ:"t",ꯋ:"v",ꯌ:"y",ꯍ:"h",ꯎ:"u",ꯏ:"i",ꯐ:"p",ꯑ:"a",ꯒ:"k",ꯓ:"c",ꯔ:"r",ꯕ:"p",ꯖ:"c",ꯗ:"t",ꯘ:"k",ꯙ:"t",ꯚ:"p",ꯛ:"k",ꯜ:"l",ꯝ:"m",ꯞ:"p",ꯟ:"n",ꯠ:"t",ꯡ:"ṅ",ꯢ:"i","ꯣ":"o","ꯤ":"i","ꯥ":"a","ꯦ":"e","ꯧ":"o","ꯨ":"u","ꯩ":"e","ꯪ":"ṁ",ꫠ:"e",ꫡ:"o",ꫢ:"c",ꫣ:"ñ",ꫤ:"ṭ",ꫥ:"ṭ",ꫦ:"ṭ",ꫧ:"ṭ",ꫨ:"ṇ",ꫩ:"s",ꫪ:"s","ꫫ":"i","ꫬ":"u","ꫭ":"e","ꫮ":"o","ꫯ":"o"}},ol_chiki:{from:7248,to:7295,letters:{ᱚ:"o",ᱛ:"t",ᱜ:"k",ᱝ:"ṅ",ᱞ:"l",ᱟ:"a",ᱠ:"k",ᱡ:"c",ᱢ:"m",ᱣ:"v",ᱤ:"i",ᱥ:"s",ᱦ:"h",ᱧ:"ñ",ᱨ:"r",ᱩ:"u",ᱪ:"c",ᱫ:"t",ᱬ:"ṇ",ᱭ:"y",ᱮ:"e",ᱯ:"p",ᱰ:"ṭ",ᱱ:"n",ᱲ:"ṛ",ᱳ:"o",ᱴ:"ṭ",ᱵ:"p",ᱶ:"v",ᱷ:"h",ᱸ:"ṁ"},aspiration:"ᱷ"},latin:{groups:[["ngh","nĝ"],["chh","c"],["ch","c"],["jh","c"],["kh","k"],["gh","k"],["th","t"],["dh","t"],["ph","p"],["bh","p"],["sh","s"],["ck","k"],["aa","a"],["ai","e"],["ei","e"],["au","o"],["ee","i"],["oo","u"],["x","ks"]],letters:{a:"a",e:"e",i:"i",o:"o",u:"u",k:"k",g:"k",q:"k",j:"c",z:"c",t:"t",d:"t",n:"n",m:"m",p:"p",b:"p",f:"p",v:"v",w:"v",y:"y",r:"r",l:"l",s:"s",h:"h"},w_ambiguous_unless_before:"aeiou"},class_map:{m:"n",s:"c",v:"p",w:"p",ñ:"n",ĝ:"k",ṁ:"n",ṅ:"n",ṇ:"n",ṛ:"t",ṭ:"t"},vowels:"aeiou",steps:{"ng-k":!0,"initial-vowels-alike":!1,"drop-h":!1,"drop-y":!1,"drop-y-after-i":!1,"drop-vowels":!1,"drop-final-vowel":!1},branches:[{from:1536,to:1791,class:"w",also:"u"}],joined:{min_classes:8,when:"the strict keys find nobody"},digit_zeros:[48,1632,1776,2406,2534,2662,2790,2918,3046,3174,3302,3430,7248,44016],max_keys:16,suffixes:[]};var c="0.9.0";var J={version:"2026-10-07",folds:["bn-case","brahmic-av-u","drop-vowels","drop-y","flap-r","gu-case","latin-ngh","latin-w-u","ml-case","nasal-all","ng-k","or-case","retroflex","s-c","ta-case","ta-k-h","te-case","ur-w-u","v-b"],brahmic:{from:2304,to:3455,class_by_offset:{"2":"ṁ","5":"a","6":"a","7":"i","8":"i","9":"u","10":"u","11":"r","12":"l","13":"e","14":"e","15":"e","16":"e","17":"o","18":"o","19":"o","20":"o","21":"k","22":"k","23":"k","24":"k","25":"ṅ","26":"c","27":"c","28":"c","29":"c","30":"ñ","31":"ṭ","32":"ṭ","33":"ṭ","34":"ṭ","35":"ṇ","36":"t","37":"t","38":"t","39":"t","40":"n","41":"n","42":"p","43":"p","44":"p","45":"p","46":"m","47":"y","48":"r","49":"r","50":"l","51":"l","52":"l","53":"v","54":"s","55":"s","56":"s","57":"h","62":"a","63":"i","64":"i","65":"u","66":"u","67":"r","68":"r","69":"e","70":"e","71":"e","72":"e","73":"o","74":"o","75":"o","76":"o","87":"o","96":"r","97":"l","98":"l","99":"l"},virama_offset:77,candrabindu_offset:1,candrabindu_class:"ṁ",nukta_offset:60,flap_offsets:[33,34],flap_class:"ṛ"},extra:{ৎ:"t",ৰ:"r",ৱ:"v",ୱ:"v","ੰ":"ṁ","ਂ":"ṁ",ൺ:"ṇ",ൻ:"n",ർ:"r",ൽ:"l",ൾ:"l",ൿ:"k",ൔ:"m",ൕ:"y",ൖ:"l",ड़:"ṛ",ढ़:"ṛ",ড়:"ṛ",ঢ়:"ṛ",ଡ଼:"ṛ",ଢ଼:"ṛ",ੜ:"ṛ"},urdu:{from:1536,to:1791,letters:{ا:"a",آ:"a",أ:"a",ب:"p",پ:"p",ت:"t",ٹ:"ṭ",ث:"s",ج:"c",چ:"c",ح:"h",خ:"k",د:"t",ڈ:"ṭ",ذ:"c",ر:"r",ڑ:"ṛ",ز:"c",ژ:"c",س:"s",ش:"s",ص:"s",ض:"c",ط:"t",ظ:"c",غ:"k",ف:"p",ق:"k",ک:"k",ك:"k",گ:"k",ل:"l",م:"m",ن:"n",ں:"ṁ",و:"v",ؤ:"u",ہ:"h",ه:"h",ۃ:"a",ی:"y",ي:"y",ى:"y",ئ:"y",ے:"e",ۓ:"e",ٻ:"p",ڀ:"p",ٺ:"ṭ",ٽ:"ṭ",ٿ:"t",ڄ:"c",ڃ:"ñ",ڇ:"c",ڊ:"ṭ",ڌ:"t",ڍ:"ṭ",ڏ:"t",ڙ:"ṛ",ڦ:"p",ڪ:"k",ڱ:"ṅ",ڳ:"k",ڻ:"ṇ",ٲ:"a",ٳ:"a",ۆ:"o",ۄ:"o",ێ:"e",ؠ:"y"},ain:"ع",waw:"و",waw_v_before:"اآ",final_he:"ہه",final_he_h_after:"اآو"},meetei:{ranges:[[43744,43775],[43968,44031]],letters:{ꯀ:"k",ꯁ:"s",ꯂ:"l",ꯃ:"m",ꯄ:"p",ꯅ:"n",ꯆ:"c",ꯇ:"t",ꯈ:"k",ꯉ:"ṅ",ꯊ:"t",ꯋ:"v",ꯌ:"y",ꯍ:"h",ꯎ:"u",ꯏ:"i",ꯐ:"p",ꯑ:"a",ꯒ:"k",ꯓ:"c",ꯔ:"r",ꯕ:"p",ꯖ:"c",ꯗ:"t",ꯘ:"k",ꯙ:"t",ꯚ:"p",ꯛ:"k",ꯜ:"l",ꯝ:"m",ꯞ:"p",ꯟ:"n",ꯠ:"t",ꯡ:"ṅ",ꯢ:"i","ꯣ":"o","ꯤ":"i","ꯥ":"a","ꯦ":"e","ꯧ":"o","ꯨ":"u","ꯩ":"e","ꯪ":"ṁ",ꫠ:"e",ꫡ:"o",ꫢ:"c",ꫣ:"ñ",ꫤ:"ṭ",ꫥ:"ṭ",ꫦ:"ṭ",ꫧ:"ṭ",ꫨ:"ṇ",ꫩ:"s",ꫪ:"s","ꫫ":"i","ꫬ":"u","ꫭ":"e","ꫮ":"o","ꫯ":"o"}},ol_chiki:{from:7248,to:7295,letters:{ᱚ:"o",ᱛ:"t",ᱜ:"k",ᱝ:"ṅ",ᱞ:"l",ᱟ:"a",ᱠ:"k",ᱡ:"c",ᱢ:"m",ᱣ:"v",ᱤ:"i",ᱥ:"s",ᱦ:"h",ᱧ:"ñ",ᱨ:"r",ᱩ:"u",ᱪ:"c",ᱫ:"t",ᱬ:"ṇ",ᱭ:"y",ᱮ:"e",ᱯ:"p",ᱰ:"ṭ",ᱱ:"n",ᱲ:"ṛ",ᱳ:"o",ᱴ:"ṭ",ᱵ:"p",ᱶ:"v",ᱷ:"h",ᱸ:"ṁ"},aspiration:"ᱷ"},latin:{groups:[["ngh","nĝ"],["chh","c"],["ch","c"],["jh","c"],["kh","k"],["gh","k"],["th","t"],["dh","t"],["ph","p"],["bh","p"],["sh","s"],["ck","k"],["aa","a"],["ai","e"],["ei","e"],["au","o"],["ee","i"],["oo","u"],["x","ks"]],letters:{a:"a",e:"e",i:"i",o:"o",u:"u",k:"k",g:"k",q:"k",j:"c",z:"c",t:"t",d:"t",n:"n",m:"m",p:"p",b:"p",f:"p",v:"v",w:"v",y:"y",r:"r",l:"l",s:"s",h:"h"},w_ambiguous_unless_before:"aeiou"},class_map:{m:"n",s:"c",v:"p",w:"p",ñ:"n",ĝ:"k",ṁ:"n",ṅ:"n",ṇ:"n",ṛ:"t",ṭ:"t"},vowels:"aeiou",steps:{"ng-k":!0,"initial-vowels-alike":!1,"drop-h":!1,"drop-y":!0,"drop-y-after-i":!1,"drop-vowels":!0,"drop-final-vowel":!1},branches:[{from:2304,to:3455,class:"v",also:"u",after:"aṁ",not_before:"aieo"},{from:1536,to:7295,class:"ṛ",also:"r"},{from:0,to:127,class:"ĝ",also:"h"},{from:0,to:127,class:"w",also:"u"},{from:2944,to:3071,class:"k",also:"h"},{from:1536,to:1791,class:"w",also:"u"}],joined:{min_classes:8,when:"the strict keys find nobody"},digit_zeros:[48,1632,1776,2406,2534,2662,2790,2918,3046,3174,3302,3430,7248,44016],max_keys:16,suffixes:[{from:2432,to:2559,endings:["য়ের","দের","এর","ের","কে","তে"]},{from:2688,to:2815,endings:["માં","નું","થી","ના","ની","ને"]},{from:3328,to:3455,endings:["യ്ക്ക്","ന്റെ","യുടെ","യിലെ","ക്ക്","ുടെ","യിൽ","ിലെ","ോട്","ിന്","ിൽ","നെ","യെ","ും"]},{from:2816,to:2943,endings:["ଙ୍କର","ଙ୍କୁ","ଙ୍କ","ରେ","ରୁ","କୁ"]},{from:2944,to:3071,endings:["ுக்கு","யின்","வின்","க்கு","யில்","ிடம்","ுடன்","ின்","ில்","ால்","ும்"]},{from:3072,to:3199,endings:["యొక్క","లోని","గారు","లో","కు","కి","ని","తో","ను"]}]};var Y={unicode:"15.0.0",python:"3.12.13",ranges:[1536,1791,1872,1919,2304,3455,7248,7295,7376,7423,43232,43263,43744,44031,64336,65023,65136,65279,72448,72543],mn:[1552,1562,1611,1631,1648,1648,1750,1756,1759,1764,1767,1768,1770,1773,2304,2306,2362,2362,2364,2364,2369,2376,2381,2381,2385,2391,2402,2403,2433,2433,2492,2492,2497,2500,2509,2509,2530,2531,2558,2558,2561,2562,2620,2620,2625,2626,2631,2632,2635,2637,2641,2641,2672,2673,2677,2677,2689,2690,2748,2748,2753,2757,2759,2760,2765,2765,2786,2787,2810,2815,2817,2817,2876,2876,2879,2879,2881,2884,2893,2893,2901,2902,2914,2915,2946,2946,3008,3008,3021,3021,3072,3072,3076,3076,3132,3132,3134,3136,3142,3144,3146,3149,3157,3158,3170,3171,3201,3201,3260,3260,3263,3263,3270,3270,3276,3277,3298,3299,3328,3329,3387,3388,3393,3396,3405,3405,3426,3427,7376,7378,7380,7392,7394,7400,7405,7405,7412,7412,7416,7417,43232,43249,43263,43263,43756,43757,43766,43766,44005,44005,44008,44008,44013,44013],m:[1552,1562,1611,1631,1648,1648,1750,1756,1759,1764,1767,1768,1770,1773,2304,2307,2362,2364,2366,2383,2385,2391,2402,2403,2433,2435,2492,2492,2494,2500,2503,2504,2507,2509,2519,2519,2530,2531,2558,2558,2561,2563,2620,2620,2622,2626,2631,2632,2635,2637,2641,2641,2672,2673,2677,2677,2689,2691,2748,2748,2750,2757,2759,2761,2763,2765,2786,2787,2810,2815,2817,2819,2876,2876,2878,2884,2887,2888,2891,2893,2901,2903,2914,2915,2946,2946,3006,3010,3014,3016,3018,3021,3031,3031,3072,3076,3132,3132,3134,3140,3142,3144,3146,3149,3157,3158,3170,3171,3201,3203,3260,3260,3262,3268,3270,3272,3274,3277,3285,3286,3298,3299,3315,3315,3328,3331,3387,3388,3390,3396,3398,3400,3402,3405,3415,3415,3426,3427,7376,7378,7380,7400,7405,7405,7412,7412,7415,7417,43232,43249,43263,43263,43755,43759,43765,43766,44003,44010,44012,44013],l:[1568,1610,1646,1647,1649,1747,1749,1749,1765,1766,1774,1775,1786,1788,1791,1791,1872,1919,2308,2361,2365,2365,2384,2384,2392,2401,2417,2432,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2493,2493,2510,2510,2524,2525,2527,2529,2544,2545,2556,2556,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2649,2652,2654,2654,2674,2676,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2749,2749,2768,2768,2784,2785,2809,2809,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2877,2877,2908,2909,2911,2913,2929,2929,2947,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3024,3024,3077,3084,3086,3088,3090,3112,3114,3129,3133,3133,3160,3162,3165,3165,3168,3169,3200,3200,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3261,3261,3293,3294,3296,3297,3313,3314,3332,3340,3342,3344,3346,3386,3389,3389,3406,3406,3412,3414,3423,3425,3450,3455,7258,7293,7401,7404,7406,7411,7413,7414,7418,7418,43250,43255,43259,43259,43261,43262,43744,43754,43762,43764,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43824,43866,43868,43881,43888,44002,64336,64433,64467,64829,64848,64911,64914,64967,65008,65019,65136,65140,65142,65276],ccc:[1552,1559,230,1560,1560,30,1561,1561,31,1562,1562,32,1611,1611,27,1612,1612,28,1613,1613,29,1614,1614,30,1615,1615,31,1616,1616,32,1617,1617,33,1618,1618,34,1619,1620,230,1621,1622,220,1623,1627,230,1628,1628,220,1629,1630,230,1631,1631,220,1648,1648,35,1750,1756,230,1759,1762,230,1763,1763,220,1764,1764,230,1767,1768,230,1770,1770,220,1771,1772,230,1773,1773,220,2364,2364,7,2381,2381,9,2385,2385,230,2386,2386,220,2387,2388,230,2492,2492,7,2509,2509,9,2558,2558,230,2620,2620,7,2637,2637,9,2748,2748,7,2765,2765,9,2876,2876,7,2893,2893,9,3021,3021,9,3132,3132,7,3149,3149,9,3157,3157,84,3158,3158,91,3260,3260,7,3277,3277,9,3387,3388,9,3405,3405,9,7376,7378,230,7380,7380,1,7381,7385,220,7386,7387,230,7388,7391,220,7392,7392,230,7394,7400,1,7405,7405,220,7412,7412,230,7416,7417,230,43232,43249,230,43766,43766,9,44013,44013,9],decomp:{"1570":[1575,1619],"1571":[1575,1620],"1572":[1608,1620],"1573":[1575,1621],"1574":[1610,1620],"1728":[1749,1620],"1730":[1729,1620],"1747":[1746,1620],"2345":[2344,2364],"2353":[2352,2364],"2356":[2355,2364],"2392":[2325,2364],"2393":[2326,2364],"2394":[2327,2364],"2395":[2332,2364],"2396":[2337,2364],"2397":[2338,2364],"2398":[2347,2364],"2399":[2351,2364],"2507":[2503,2494],"2508":[2503,2519],"2524":[2465,2492],"2525":[2466,2492],"2527":[2479,2492],"2611":[2610,2620],"2614":[2616,2620],"2649":[2582,2620],"2650":[2583,2620],"2651":[2588,2620],"2654":[2603,2620],"2888":[2887,2902],"2891":[2887,2878],"2892":[2887,2903],"2908":[2849,2876],"2909":[2850,2876],"2964":[2962,3031],"3018":[3014,3006],"3019":[3015,3006],"3020":[3014,3031],"3144":[3142,3158],"3264":[3263,3285],"3271":[3270,3285],"3272":[3270,3286],"3274":[3270,3266],"3275":[3274,3285],"3402":[3398,3390],"3403":[3399,3390],"3404":[3398,3415]},excl:[2392,2393,2394,2395,2396,2397,2398,2399,2524,2525,2527,2611,2614,2649,2650,2651,2654,2908,2909]};var e2=Y.unicode,b=1,R1=2,r=4,E=8,s=new Map,K=new Map,w=new Map;for(let t=0;t<Y.ranges.length;t+=2)for(let m=Y.ranges[t];m<=Y.ranges[t+1];m++)s.set(m,0);var N=(t,m)=>{for(let _=0;_<t.length;_+=2)for(let f=t[_];f<=t[_+1];f++)s.set(f,s.get(f)|m)};N(Y.mn,b);N(Y.m,R1);N(Y.l,r);for(let t=0;t<Y.ccc.length;t+=3)for(let m=Y.ccc[t];m<=Y.ccc[t+1];m++)s.set(m,s.get(m)|Y.ccc[t+2]<<4);var j1=new Set(Y.excl);for(let[t,m]of Object.entries(Y.decomp)){let _=Number(t);if(K.set(_,m),m.length===2&&!j1.has(_))w.set(m[0]*1114112+m[1],_),s.set(m[1],s.get(m[1])|E)}var S=(t)=>String.fromCodePoint(t);function D(t,m,_){let f="";for(let e=m;e<_;e+=8192)f+=String.fromCodePoint(...t.slice(e,Math.min(_,e+8192)));return f}function t1(t){let m=s.get(t);return m===void 0?/\p{Mn}/u.test(S(t)):(m&b)!==0}function m1(t){let m=s.get(t);return m===void 0?/\p{L}/u.test(S(t)):(m&r)!==0}function I(t){if(!s.has(t))return Array.from(S(t).normalize("NFD"),(_)=>_.codePointAt(0));let m=K.get(t);return m?m.flatMap(I):[t]}var D1=(t,m)=>t>>4===0&&(t&E)===0&&!K.has(m);function C(t){let m=Array.from(t,(f)=>f.codePointAt(0)),_="";for(let f=0;f<m.length;){let e=f+1,k=s.has(m[f]);for(;e<m.length;e++){let h=s.get(m[e]);if(h===void 0)k=!1;else if(D1(h,m[e]))break}_+=k?E1(m,f,e):D(m,f,e).normalize("NFC"),f=e}return _}function E1(t,m,_){let f=0,e=!0;for(let l=m;l<_&&e;l++){let v=s.get(t[l]),$=v>>4;if(K.has(t[l])||(v&E)!==0||$!==0&&$<f)e=!1;f=$}if(e)return D(t,m,_);let k=[];for(let l=m;l<_;l++)k.push(...I(t[l]));let h=(l)=>s.get(l)>>4;for(let l=0;l<k.length;){if(h(k[l])===0){l++;continue}let v=l;while(v<k.length&&h(k[v])!==0)v++;let $=k.slice(l,v).sort((P,B)=>h(P)-h(B));for(let P=0;P<$.length;P++)k[l+P]=$[P];l=v}let y=[],z=-1;for(let l of k){let v=h(l);if(z>=0&&(y.length-1===z||h(y[y.length-1])<v)){let $=w.get(y[z]*1114112+l);if($!==void 0){y[z]=$;continue}}if(v===0)z=y.length;y.push(l)}return D(y,0,y.length)}var _1="\x00";function f1(t){let m=t.brahmic,_=Array(128);for(let[n,g]of Object.entries(m.class_by_offset))_[Number(n)]=g;let f=new Map(Object.entries(t.extra)),e=new Map(Object.entries(t.urdu.letters)),k=new Map(Object.entries(t.meetei.letters)),h=new Map(Object.entries(t.ol_chiki.letters)),y=Array(128);for(let[n,g]of Object.entries(t.latin.letters))y[n.charCodeAt(0)]=g;let z=t.latin.groups,l=t.latin.w_ambiguous_unless_before,v=new Map(Object.entries(t.class_map)),$=new Set(t.vowels),P=t.steps,B=t.urdu;function R(n){return t.meetei.ranges.some(([g,H])=>n>=g&&n<=H)}function Y1(n){let g="",H=-1;for(let Q=0;Q<n.length;Q++){let G=n[Q],Z=f.get(G);if(Z!==void 0){g+=Z,H=-1;continue}let V=n.charCodeAt(Q);if(V<m.from||V>m.to)continue;let X=V&127,j=_[X];if(X===m.nukta_offset&&m.flap_offsets.includes(H)&&g)g=g.slice(0,-1)+m.flap_class;else if(X===m.virama_offset);else if(X===m.candrabindu_offset)g+=m.candrabindu_class;else if(j!==void 0)g+=j;if(j!==void 0)H=X;else if(X!==m.nukta_offset&&X!==m.virama_offset)H=-1}return g}function s1(n){let g="",H=0;t:while(H<n.length){for(let[G,Z]of z)if(n.startsWith(G,H)){g+=Z,H+=G.length;continue t}let Q=n.charCodeAt(H);if(Q===99){let G=n[H+1];g+=G==="e"||G==="i"||G==="y"?"s":"k"}else if(Q===119&&H>0&&!l.includes(n[H+1]??" "))g+="w";else g+=y[Q]??"";H++}return g}function a1(n){let g=n[0]===B.ain?"a":"";for(let Q=0;Q<n.length;Q++){let G=n[Q];if(G===B.waw&&Q>0&&!(Q+1<n.length&&B.waw_v_before.includes(n[Q+1])))g+="w";else g+=e.get(G)??""}let H=n.length;if(H>1&&B.final_he.includes(n[H-1])&&!B.final_he_h_after.includes(n[H-2]))g=g.slice(0,-1)+"a";return g}function B1(n){let g="";for(let H of n){if(H===t.ol_chiki.aspiration&&g&&!$.has(g[g.length-1]))continue;g+=h.get(H)??""}return g}function F1(n){let g="";for(let H of n)g+=k.get(H)??"";return g}function U1(n){let g=!0;for(let G=0;G<n.length;G++)if(n.charCodeAt(G)>127){g=!1;break}if(g)return s1(n);let H=!1,Q=!1;for(let G=0;G<n.length;G++){let Z=n.charCodeAt(G);if(Z>=B.from&&Z<=B.to)return a1(n);if(Z>=t.ol_chiki.from&&Z<=t.ol_chiki.to)H=!0;else if(R(Z))Q=!0}if(H)return B1(n);if(Q)return F1(n);return Y1(n)}function W1(n){if(P["ng-k"]){let Z="";for(let V=0;V<n.length;V++)if(Z+=n[V],n[V]==="ṅ"&&n[V+1]!=="k")Z+="k";n=Z}let g="";for(let Z=0;Z<n.length;Z++)g+=v.get(n[Z])??n[Z];if(!g)return g;let H=g[0];if(P["initial-vowels-alike"]&&$.has(H))H="a";let Q=H;for(let Z=1;Z<g.length;Z++){let V=g[Z];if(P["drop-h"]&&V==="h")continue;if(P["drop-y"]&&V==="y")continue;if(P["drop-vowels"]&&$.has(V))continue;Q+=V}if(P["drop-final-vowel"]&&Q.length>1&&$.has(Q[Q.length-1]))Q=Q.slice(0,-1);let G=Q[0];for(let Z=1;Z<Q.length;Z++)if(Q[Z]!==Q[Z-1])G+=Q[Z];return G}function T1(n,g,H){let Q=g>0?n[g-1]:"^",G=g+1<n.length?n[g+1]:"$";return(H.after===void 0||H.after.includes(Q))&&(H.before===void 0||H.before.includes(G))&&!(H.not_before??"").includes(G)}function J1(n){let g=U1(n),H=[g];for(let Q of t.branches){if(!g.includes(Q.class))continue;let G=!1;for(let Z=0;Z<n.length;Z++){let V=n.charCodeAt(Z);if(V>=Q.from&&V<=Q.to){G=!0;break}}if(!G)continue;for(let Z=0;Z<g.length;Z++)if(g[Z]===Q.class&&H.length*2<=t.max_keys&&T1(g,Z,Q)){let V=Q.also||_1;H=H.concat(H.map((X)=>X.slice(0,Z)+V+X.slice(Z+1)))}}return H.map((Q)=>Q.replaceAll(_1,""))}function K1(n){let g="";for(let H=0;H<n.length;H++){let Q=n.charCodeAt(H),G=t.digit_zeros.find((Z)=>Q>=Z&&Q<=Z+9);if(G===void 0)return;g+=String.fromCharCode(48+Q-G)}return g||void 0}return function(g){let H=K1(g);if(H!==void 0)return[H];let Q=[g],G=g.charCodeAt(0);for(let V of t.suffixes){if(G<V.from||G>V.to)continue;for(let X of V.endings)if(g.endsWith(X)&&g.length-X.length>=2){Q.push(g.slice(0,-X.length));break}}let Z=new Set;for(let V of Q)for(let X of J1(V))Z.add(W1(X));return Z.delete(""),[...Z].sort()}}var N1=f1(J),e1={compile:(t)=>f1(t),normalize:(t)=>S1(t),engine:N1},g2=J.version,h1=256;function S1(t){let m="";for(let _ of t)for(let f of I(_.codePointAt(0))){if(t1(f))continue;if(f>=128)return C(t);m+=String.fromCodePoint(f)}return m.toLowerCase()}function l1(t){return t.replace(/\([^)]*\)/g," ").split(/[^\S\ufeff]|[\x1c-\x1f\x85.\-,'’]/u).filter(Boolean)}var k1=J.joined.min_classes;var a=u,$2=a.version,G2=a.thresholds,{compile:$1,normalize:p1,engine:i1}=e1,O1=$1(o),q1=$1(d),g1=k1,p=1073741824,F=Math.floor;function y1(t){return t>=0&&t<a.pow.length?a.pow[t]:0}function u1(t,m){let _=0;while(_+1<a.exp2.length&&m*a.exp2[_+1]<=t*65536)_++;return _}function x(t,m){let _=t.length+m.length;if(!_)return 1e4;let f=Array(m.length+1).fill(0),e=Array(m.length+1).fill(0);for(let k of t){e[0]=0;for(let h=0;h<m.length;h++)e[h+1]=k===m[h]?f[h]+1:Math.max(f[h+1],e[h]);[f,e]=[e,f]}return F((40000*f[m.length]+_)/(2*_))}var G1=(t,m)=>F((2*t+m)/(2*m)),T=(t)=>/^[\x00-\x7f]*$/.test(t),U=(t)=>i1(t);function i(t){let m=[];for(let _ of l1(t)){if(_=p1(_),T(_))_=_.replace(/[^a-z0-9]/g,"");if(_&&U(_).length)m.push(_)}return m}var M=(t)=>[...t.toLowerCase()].filter((m)=>m>="a"&&m<="z"),L=(t)=>[...C(t)].filter((m)=>m!==""&&m!==""&&!/^(?:[^\S]|[\x1c-\x1f\x85])$/u.test(m));function n1(t){let m=[...t];if(m.length<a.deletion_min_classes)return[];return m.map((_,f)=>m.slice(0,f).join("")+m.slice(f+1).join(""))}var A=(t)=>[...O1(t)[0]??""];function v1(t){let m=[...t].some((e)=>e>=""&&e<="ۿ"),_=new Set,f=[];for(let e of q1(t)){let k=[...e],h=[k[0],...k.slice(1).filter((z)=>z!=="a").map((z)=>z==="y"?"i":z)];if(m&&h.length>1&&h[h.length-1]==="h")h.pop();let y=h.join("");if(!_.has(y))_.add(y),f.push(h)}return f}function O(t,m){let _=0;for(let f of v1(t))for(let e of v1(m))_=Math.max(_,x(f,e));return _}var o1=[[1536,1791,"arab"],[1872,1919,"arab"],[2304,2431,"deva"],[2432,2559,"beng"],[2560,2687,"guru"],[2688,2815,"gujr"],[2816,2943,"orya"],[2944,3071,"taml"],[3072,3199,"telu"],[3200,3327,"knda"],[3328,3455,"mlym"],[7248,7295,"olck"],[43968,44031,"mtei"]];function z1(t){for(let m of t){let _=m.codePointAt(0);if(m1(_))return o1.find(([f,e])=>_>=f&&_<=e)?.[2]??""}return""}class P1{idx=new Map;v;c;units=new Map;constructor(t){let m=t.latin??t.x,_=t.native??t.y,f=[...m,..._];f.forEach((e,k)=>this.idx.set(e,k+1)),this.v=f.length+1,this.c=new Float64Array(this.v*this.v).fill(p),t.c.forEach(([e,k],h)=>{this.c.fill(e,h*this.v,(h+1)*this.v);for(let[y,z]of k)this.c[h*this.v+y]=z}),this.c[0]=0;for(let[e,k,h,y]of t.units??[]){let z=new Float64Array(this.v).fill(p);if(h>=0)z.fill(h,m.length+1);for(let[l,v]of y)z[l]=v<0?p:v;this.units.set(e*this.v+k,z)}}ids(t){return t.map((m)=>this.idx.get(m)??0)}align(t,m,_){let f=t.length,e=m.length,k=e+1,h=this.v,y=this.c,z=new Float64Array((f+1)*k);for(let l=1;l<=f;l++)z[l*k]=z[(l-1)*k]+y[t[l-1]*h];for(let l=1;l<=e;l++)z[l]=z[l-1]+y[m[l-1]];for(let l=1;l<=f;l++)for(let v=1;v<=e;v++){let $=z[(l-1)*k+v-1]+y[t[l-1]*h+m[v-1]];if($=Math.min($,z[(l-1)*k+v]+y[t[l-1]*h]),$=Math.min($,z[l*k+v-1]+y[m[v-1]]),_&&l>=2){let P=this.units.get(t[l-2]*h+t[l-1]);if(P)$=Math.min($,z[(l-2)*k+v-1]+P[m[v-1]])}z[l*k+v]=$}return z[f*k+e]}}var d1=`https://cdn.jsdelivr.net/gh/micahchoo/indickit@v${c}/phonetic/scorer/`,V1=new URL("../phonetic/scorer/",import.meta.url);async function H1(t){let m=await fetch(t);if(!m.ok)throw Error(`phonetic-search: ${t}: ${m.status}`);return m.arrayBuffer()}var c1=async(t)=>{try{return await H1(t)}catch{return H1(new URL(t.href.slice(V1.href.length),d1))}};async function Q1(t,m){try{let _=await m(new URL(t+".json",V1));return new P1(JSON.parse(new TextDecoder().decode(_)))}catch{return}}class X1{lang;latin;pairs;constructor(t,m,_){this.lang=t;this.latin=m;this.pairs=_}cost(t,m){let _=T(t),f=T(m),e,k,h,y,z=!1;if(_!==f){let[v,$]=_?[t,m]:[m,t];if(!(e=this.latin))return;k=M(v),h=L($),z=!0,y=Math.max(k.length,1)}else if(!_){let v=z1(t),$=z1(m);if(!v||!$||v===$)return;if(v>$)[t,m]=[m,t],[v,$]=[$,v];if(!(e=this.pairs.get(`${v}-${$}`)))return;k=L(t),h=L(m),y=Math.max(k.length,h.length,1)}else return;let l=e.align(e.ids(k),e.ids(h),z);return F((20*l+y)/(2*y))}calibrations(t,m){let _=new Map;for(let l of m){let v=this.cost(t,l);if(v!==void 0)_.set(l,v)}let f=new Map;if(!_.size)return f;let e=Math.max(T(t)?M(t).length:L(t).length,1),k=1/0,h=1/0;for(let l of _.values())k=Math.min(k,l),h=Math.min(h,l*e);let y=new Map,z=0;for(let[l,v]of _){let $=y1(F((v*e-h)/a.posterior_temperature));y.set(l,$),z+=$}for(let[l,v]of _){let $=F((100*y1(v-k)+500000)/1e6),P=F((100*y.get(l)+F(z/2))/z);f.set(l,$+P)}return f}wordSim(t,m,_,f){let e=new Set(U(m)),k=U(t).some((l)=>e.has(l))?1:0,h,y;if(T(t)&&T(m))y=x(M(t),M(m)),h=2*y;else if(_?.has(m))h=100*_.get(m),y=O(t,m);else if(this.cost(t,m)!==void 0)h=20000,y=O(t,m);else y=x(A(t),A(m)),h=2*y;let z=2*f.key*1e4*k+f.cost*h+2*f.vowel*y;return f.round?G1(z,200*f.div):F(z/(200*f.div))}}function W(t,m){let _=t.join("");return _?U(_).filter((f)=>[...f].length>=m):[]}function Z1(t){let m=t.map(U).filter((f)=>f.length);if(!m.length)return[];let _=[""];return m.forEach((f,e)=>{_=_.flatMap((k)=>f.map((h)=>e?k+"\x1F"+h:h))}),_.slice(0,h1)}class q{scorer;words;n;df=new Map;maps={strict:new Map,joined:new Map,loose:new Map,near:new Map};p;constructor(t,m,_){this.scorer=t;this.p=a.profiles[_],this.n=m.length,this.words=m.map(i);for(let e of this.words)for(let k of new Set(e.flatMap(U)))this.df.set(k,(this.df.get(k)??0)+1);let f=(e,k,h)=>{let y=e.get(k);if(!y)e.set(k,[h]);else if(y[y.length-1]!==h)y.push(h)};this.words.forEach((e,k)=>{for(let h of Z1(e))f(this.maps.strict,h,k);for(let h of W(e,g1))f(this.maps.joined,h,k);for(let h of W(e,a.loose_joined_min_classes))f(this.maps.loose,h,k);for(let h of e)for(let y of U(h)){if(this.common(y))continue;f(this.maps.near,y,k);for(let z of n1(y))f(this.maps.near,z,k)}})}common(t){let m=this.p.stop_permille;return m!==null&&this.n>=this.p.stop_min_names&&(this.df.get(t)??0)*1000>this.n*m}weight(t){let m=0;for(let _ of U(t))m=Math.max(m,u1(this.n,Math.max(this.df.get(_)??0,1)));return m}candidates(t){let m=new Set;for(let _ of Z1(t))for(let f of this.maps.strict.get(_)??[])m.add(f);if(!m.size)for(let _ of W(t,g1))for(let f of this.maps.joined.get(_)??[])m.add(f);for(let _ of W(t,a.loose_joined_min_classes))for(let f of this.maps.loose.get(_)??[])m.add(f);for(let _ of t)for(let f of U(_)){if(this.common(f))continue;for(let e of[f,...n1(f)])for(let k of this.maps.near.get(e)??[])m.add(k)}return m}nameScore(t,m,_){let f=0,e=0;for(let[h,y,z]of[[t,m,!0],[m,t,!1]])for(let l of h){let v=this.weight(l);e+=v;let $=0;for(let P of y)$=Math.max($,z?this.scorer.wordSim(l,P,_.get(l),this.p):this.scorer.wordSim(P,l,_.get(P),this.p));f+=v*$}let k=e?F((f+F(e/2))/e):0;if(t.length!==m.length&&t.length&&m.length){let h=t.join(""),y=m.join(""),z=new Set(W([h],a.loose_joined_min_classes)),l=W([y],a.loose_joined_min_classes).some((R)=>z.has(R))?1:0,v,$;if(this.scorer.cost(h,y)!==void 0)v=1e4,$=O(h,y);else v=$=x(A(h),A(y));let P=this.p,B=P.key*1e4*l+P.cost*v+P.vowel*$;k=Math.max(k,P.round?G1(B,100*P.div):F(B/(100*P.div)))}return k}scoreAll(t,m){let _=i(t),f=[...new Set(m.flatMap((k)=>this.words[k]))],e=new Map(_.map((k)=>[k,this.scorer.calibrations(k,f)]));return m.map((k)=>({name:k,score:this.nameScore(_,this.words[k],e)}))}search(t,m=0){let _=[...this.candidates(i(t))].sort((f,e)=>f-e);return this.scoreAll(t,_).filter((f)=>f.score>=m).sort((f,e)=>e.score-f.score)}}async function P2(t,m={}){let _=m.fetcher??c1,f=[...new Set(m.scripts??[])].sort(),e=new Map,[k]=await Promise.all([Q1(`latin/${t}`,_),...f.flatMap((y,z)=>f.slice(z+1).map(async(l)=>{let v=await Q1(`pairs/${y}-${l}`,_);if(v)e.set(`${y}-${l}`,v)}))]),h=new X1(t,k,e);return{lang:t,index:(y,z="names")=>new q(h,y,z),score:(y,z,l="names")=>new q(h,z,l).scoreAll(y,z.map((v,$)=>$)).map((v)=>v.score)}}export{P2 as loadSearch,G2 as THRESHOLDS,$2 as SEARCH_VERSION,q as Index,d1 as CDN};
|
|
1
|
+
var o={version:"2026-10-09",profiles:{names:{key:2,cost:1,vowel:1,div:4,stop_permille:20,stop_min_names:100,round:!0},text:{key:1,cost:2,vowel:2,div:5,stop_permille:null,stop_min_names:0,round:!1}},posterior_temperature:2,deletion_min_classes:3,loose_joined_min_classes:4,fine_folds:["nasal-all","v-b","retroflex","s-c","ng-k","ur-w-u"],thresholds:{names:74,villages:72,text_10:80,text_20:70},pow:[1e6,993092,986233,979420,972655,965936,959264,952638,946058,939523,933033,926588,920188,913831,907519,901250,895025,888843,882703,876606,870551,864537,858565,852635,846745,840896,835088,829320,823591,817902,812252,806642,801070,795536,790041,784584,779165,773782,768438,763130,757858,752623,747425,742262,737135,732043,726986,721965,716978,712025,707107,702222,697372,692555,687771,683020,678302,673617,668964,664343,659754,655197,650671,646176,641713,637280,632878,628507,624165,619854,615572,611320,607097,602904,598739,594604,590496,586417,582367,578344,574349,570382,566442,562529,558644,554785,550953,547147,543367,539614,535887,532185,528509,524858,521233,517632,514057,510506,506980,503478,500000,496546,493116,489710,486327,482968,479632,476319,473029,469761,466516,463294,460094,456916,453760,450625,447513,444421,441351,438303,435275,432269,429283,426317,423373,420448,417544,414660,411796,408951,406126,403321,400535,397768,395021,392292,389582,386891,384219,381565,378929,376312,373712,371131,368567,366021,363493,360982,358489,356013,353553,351111,348686,346277,343885,341510,339151,336808,334482,332171,329877,327598,325335,323088,320856,318640,316439,314253,312083,309927,307786,305660,303549,301452,299370,297302,295248,293209,291183,289172,287175,285191,283221,281265,279322,277392,275476,273573,271684,269807,267943,266093,264255,262429,260616,258816,257028,255253,253490,251739,250000,248273,246558,244855,243164,241484,239816,238159,236514,234881,233258,231647,230047,228458,226880,225313,223756,222211,220676,219151,217638,216134,214641,213159,211686,210224,208772,207330,205898,204476,203063,201660,200267,198884,197510,196146,194791,193446,192109,190782,189465,188156,186856,185565,184284,183011,181747,180491,179244,178006,176777,175556,174343,173139,171943,170755,169576,168404,167241,166086,164938,163799,162668,161544,160428,159320,158220,157127,156041,154963,153893,152830,151774,150726,149685,148651,147624,146604,145592,144586,143587,142595,141610,140632,139661,138696,137738,136787,135842,134904,133972,133046,132127,131215,130308,129408,128514,127627,126745,125869,125000,124137,123279,122428,121582,120742,119908,119080,118257,117440,116629,115824,115023,114229,113440,112656,111878,111105,110338,109576,108819,108067,107321,106579,105843,105112,104386,103665,102949,102238,101532,100830,100134,99442,98755,98073,97396,96723,96055,95391,94732,94078,93428,92783,92142,91505,90873,90246,89622,89003,88388,87778,87171,86569,85971,85378,84788,84202,83620,83043,82469,81900,81334,80772,80214,79660,79110,78563,78021,77482,76947,76415,75887,75363,74842,74325,73812,73302,72796,72293,71794,71298,70805,70316,69830,69348,68869,68393,67921,67452,66986,66523,66064,65607,65154,64704,64257,63813,63372,62935,62500,62068,61640,61214,60791,60371,59954,59540,59129,58720,58315,57912,57512,57114,56720,56328,55939,55553,55169,54788,54409,54034,53660,53290,52922,52556,52193,51832,51474,51119,50766,50415,50067,49721,49378,49037,48698,48361,48027,47696,47366,47039,46714,46391,46071,45753,45437,45123,44811,44502,44194,43889,43586,43285,42986,42689,42394,42101,41810,41521,41235,40950,40667,40386,40107,39830,39555,39282,39010,38741,38473,38208,37944,37681,37421,37163,36906,36651,36398,36147,35897,35649,35403,35158,34915,34674,34435,34197,33960,33726,33493,33262,33032,32804,32577,32352,32129,31907,31686,31467,31250,31034,30820,30607,30395,30186,29977,29770,29564,29360,29157,28956,28756,28557,28360,28164,27970,27776,27584,27394,27205,27017,26830,26645,26461,26278,26096,25916,25737,25559,25383,25208,25033,24861,24689,24518,24349,24181,24014,23848,23683,23519,23357,23196,23035,22876,22718,22561,22406,22251,22097,21944,21793,21642,21493,21344,21197,21051,20905,20761,20617,20475,20333,20193,20054,19915,19777,19641,19505,19370,19237,19104,18972,18841,18711,18581,18453,18326,18199,18073,17948,17824,17701,17579,17458,17337,17217,17098,16980,16863,16746,16631,16516,16402,16289,16176,16064,15953,15843,15734,15625,15517,15410,15303,15198,15093,14989,14885,14782,14680,14579,14478,14378,14279,14180,14082,13985,13888,13792,13697,13602,13508,13415,13322,13230,13139,13048,12958,12869,12780,12691,12604,12517,12430,12344,12259,12174,12090,12007,11924,11842,11760,11679,11598,11518,11438,11359,11281,11203,11125,11049,10972,10896,10821,10746,10672,10598,10525,10453,10380,10309,10237,10167,10097,10027,9958,9889,9820,9753,9685,9618,9552,9486,9420,9355,9291,9227,9163,9099,9037,8974,8912,8851,8790,8729,8669,8609,8549,8490,8431,8373,8315,8258,8201,8144,8088,8032,7977,7922,7867,7812,7759,7705,7652,7599,7546,7494,7442,7391,7340,7289,7239,7189,7139,7090,7041,6992,6944,6896,6848,6801,6754,6708,6661,6615,6570,6524,6479,6434,6390,6346,6302,6258,6215,6172,6130,6087,6045,6003,5962,5921,5880,5839,5799,5759,5719,5680,5640,5601,5563,5524,5486,5448,5411,5373,5336,5299,5263,5226,5190,5154,5119,5083,5048,5013,4979,4944,4910,4876,4843,4809,4776,4743,4710,4678,4645,4613,4581,4550,4518,4487,4456,4425,4395,4364,4334,4304,4275,4245,4216,4187,4158,4129,4100,4072,4044,4016,3988,3961,3933,3906,3879,3852,3826,3799,3773,3747,3721,3696,3670,3645,3619,3594,3570,3545,3521,3496,3472,3448,3424,3401,3377,3354,3331,3308,3285,3262,3240,3217,3195,3173,3151,3129,3108,3086,3065,3044,3023,3002,2981,2960,2940,2920,2899,2879,2860,2840,2820,2801,2781,2762,2743,2724,2705,2687,2668,2650,2631,2613,2595,2577,2559,2542,2524,2507,2489,2472,2455,2438,2421,2405,2388,2371,2355,2339,2323,2307,2291,2275,2259,2244,2228,2213,2197,2182,2167,2152,2137,2123,2108,2093,2079,2064,2050,2036,2022,2008,1994,1980,1967,1953,1940,1926,1913,1900,1887,1874,1861,1848,1835,1822,1810,1797,1785,1772,1760,1748,1736,1724,1712,1700,1689,1677,1665,1654,1642,1631,1620,1609,1597,1586,1575,1565,1554,1543,1532,1522,1511,1501,1490,1480,1470,1460,1450,1440,1430,1420,1410,1400,1391,1381,1372,1362,1353,1343,1334,1325,1316,1307,1298,1289,1280,1271,1262,1253,1245,1236,1228,1219,1211,1202,1194,1186,1178,1169,1161,1153,1145,1137,1130,1122,1114,1106,1099,1091,1084,1076,1069,1061,1054,1047,1039,1032,1025,1018,1011,1004,997,990,983,977,970,963,956,950,943,937,930,924,918,911,905,899,892,886,880,874,868,862,856,850,844,838,833,827,821,816,810,804,799,793,788,782,777,772,766,761,756,750,745,740,735,730,725,720,715,710,705,700,695,691,686,681,676,672,667,662,658,653,649,644,640,635,631,627,622,618,614,610,605,601,597,593,589,585,581,577,573,569,565,561,557,553,549,546,542,538,534,531,527,523,520,516,513,509,506,502,499,495,492,488,485,482,478,475,472,468,465,462,459,456,452,449,446,443,440,437,434,431,428,425,422,419,416,413,411,408,405,402,399,397,394,391,388,386,383,380,378,375,373,370,367,365,362,360,357,355,353,350,348,345,343,341,338,336,334,331,329,327,324,322,320,318,316,313,311,309,307,305,303,301,298,296,294,292,290,288,286,284,282,280,279,277,275,273,271,269,267,265,263,262,260,258,256,255,253,251,249,248,246,244,242,241,239,237,236,234,233,231,229,228,226,225,223,222,220,219,217,216,214,213,211,210,208,207,205,204,202,201,200,198,197,196,194,193,192,190,189,188,186,185,184,182,181,180,179,177,176,175,174,173,171,170,169,168,167,166,164,163,162,161,160,159,158,157,156,155,153,152,151,150,149,148,147,146,145,144,143,142,141,140,139,138,137,136,135,135,134,133,132,131,130,129,128,127,126,126,125,124,123,122,121,120,120,119,118,117,116,115,115,114,113,112,112,111,110,109,109,108,107,106,106,105,104,103,103,102,101,101,100,99,98,98,97,96,96,95,94,94,93,93,92,91,91,90,89,89,88,88,87,86,86,85,85,84,83,83,82,82,81,81,80,79,79,78,78,77,77,76,76,75,75,74,74,73,73,72,72,71,71,70,70,69,69,68,68,67,67,66,66,65,65,65,64,64,63,63,62,62,61,61,61,60,60,59,59,59,58,58,57,57,57,56,56,55,55,55,54,54,54,53,53,52,52,52,51,51,51,50,50,50,49,49,49,48,48,48,47,47,47,46,46,46,45,45,45,44,44,44,43,43,43,43,42,42,42,41,41,41,41,40,40,40,39,39,39,39,38,38,38,38,37,37,37,37,36,36,36,36,35,35,35,35,34,34,34,34,33,33,33,33,32,32,32,32,32,31,31,31,31,31,30,30,30,30,29,29,29,29,29,28,28,28,28,28,28,27,27,27,27,27,26,26,26,26,26,25,25,25,25,25,25,24,24,24,24,24,24,23,23,23,23,23,23,22,22,22,22,22,22,22,21,21,21,21,21,21,21,20,20,20,20,20,20,20,19,19,19,19,19,19,19,19,18,18,18,18,18,18,18,18,17,17,17,17,17,17,17,17,16,16,16,16,16,16,16,16,16,15,15,15,15,15,15,15,15,15,15,14,14,14,14,14,14,14,14,14,14,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],exp2:[65536,70240,75281,80684,86475,92682,99334,106464,114105,122295,131072,140479,150562,161369,172951,185364,198668,212927,228210,244589,262144,280959,301124,322737,345901,370728,397336,425854,456419,489178,524288,561918,602249,645474,691802,741455,794672,851708,912838,978356,1048576,1123836,1204498,1290948,1383604,1482910,1589344,1703417,1825677,1956712,2097152,2247672,2408995,2581897,2767209,2965821,3178688,3406833,3651354,3913424,4194304,4495344,4817990,5163794,5534417,5931642,6357376,6813667,7302707,7826848,8388608,8990687,9635980,10327588,11068835,11863283,12714752,13627334,14605415,15653696,16777216,17981375,19271960,20655176,22137669,23726566,25429504,27254668,29210830,31307392,33554432,35962750,38543921,41310351,44275338,47453133,50859008,54509336,58421659,62614784,67108864,71925500,77087842,82620703,88550677,94906266,101718017,109018671,116843319,125229568,134217728,143850999,154175683,165241406,177101354,189812531,203436034,218037342,233686637,250459137,268435456,287701998,308351367,330482812,354202708,379625062,406872068,436074685,467373275,500918273,536870912,575403996,616702733,660965624,708405415,759250125,813744135,872149370,934746550,1001836546,1073741824,1150807993,1233405467,1321931248,1416810831,1518500250,1627488271,1744298739,1869493099,2003673092,2147483648,2301615985,2466810934,2643862496,2833621662,3037000500,3254976542,3488597478,3738986199,4007346185,4294967296,4603231970,4933621868,5287724992,5667243324,6074001000,6509953083,6977194957,7477972398,8014692369,8589934592,9206463941,9867243735,10575449984,11334486647,12148002000,13019906166,13954389914,14955944795,16029384739,17179869184,18412927881,19734487471,21150899968,22668973294,24296004000,26039812333,27908779828,29911889591,32058769478,34359738368,36825855763,39468974941,42301799936,45337946589,48592008000,52079624665,55817559655,59823779182,64117538956,68719476736,73651711525,78937949883,84603599872,90675893177,97184015999,104159249331,111635119310,119647558364,128235077912,137438953472,147303423050,157875899766,169207199743,181351786355,194368031998,208318498661,223270238621,239295116728,256470155823,274877906944,294606846100,315751799532,338414399486,362703572709,388736063997,416636997323,446540477241,478590233456,512940311647,549755813888,589213692200,631503599063,676828798972,725407145419,777472127994,833273994645,893080954483,957180466911,1025880623293,1099511627776,1178427384400,1263007198126,1353657597944,1450814290837,1554944255988,1666547989291,1786161908965,1914360933822,2051761246587,2199023255552,2356854768801,2526014396253,2707315195888,2901628581674,3109888511975,3333095978582,3572323817930,3828721867644,4103522493173,4398046511104,4713709537602,5052028792506,5414630391777,5803257163349,6219777023951,6666191957164,7144647635861,7657443735288,8207044986347,8796093022208,9427419075203,10104057585011,10829260783554,11606514326698,12439554047902,13332383914327,14289295271722,15314887470577,16414089972694,17592186044416,18854838150406,20208115170022,21658521567107,23213028653395,24879108095804,26664767828654,28578590543443,30629774941153,32828179945387,35184372088832,37709676300813,40416230340045,43317043134214,46426057306791,49758216191608,53329535657309,57157181086886,61259549882306,65656359890774,70368744177664,75419352601626,80832460680090,86634086268429,92852114613582,99516432383215,106659071314618,114314362173773,122519099764613,131312719781548,140737488355328,150838705203251,161664921360180,173268172536857,185704229227163,199032864766430,213318142629235,228628724347546,245038199529225,262625439563096,281474976710656,301677410406503,323329842720360,346536345073714,371408458454326,398065729532861,426636285258470,457257448695093,490076399058449,525250879126193,562949953421312,603354820813005,646659685440720,693072690147428,742816916908653,796131459065722,853272570516940,914514897390186,980152798116898,1050501758252385,1125899906842624]};var d={version:"2026-10-07",folds:["nasal-all","ng-k","retroflex","s-c","v-b"],brahmic:{from:2304,to:3455,class_by_offset:{"2":"ṁ","5":"a","6":"a","7":"i","8":"i","9":"u","10":"u","11":"r","12":"l","13":"e","14":"e","15":"e","16":"e","17":"o","18":"o","19":"o","20":"o","21":"k","22":"k","23":"k","24":"k","25":"ṅ","26":"c","27":"c","28":"c","29":"c","30":"ñ","31":"ṭ","32":"ṭ","33":"ṭ","34":"ṭ","35":"ṇ","36":"t","37":"t","38":"t","39":"t","40":"n","41":"n","42":"p","43":"p","44":"p","45":"p","46":"m","47":"y","48":"r","49":"r","50":"l","51":"l","52":"l","53":"v","54":"s","55":"s","56":"s","57":"h","62":"a","63":"i","64":"i","65":"u","66":"u","67":"r","68":"r","69":"e","70":"e","71":"e","72":"e","73":"o","74":"o","75":"o","76":"o","87":"o","96":"r","97":"l","98":"l","99":"l"},virama_offset:77,candrabindu_offset:1,candrabindu_class:"ṁ",nukta_offset:60,flap_offsets:[33,34],flap_class:"ṛ"},extra:{ৎ:"t",ৰ:"r",ৱ:"v",ୱ:"v","ੰ":"ṁ","ਂ":"ṁ",ൺ:"ṇ",ൻ:"n",ർ:"r",ൽ:"l",ൾ:"l",ൿ:"k",ൔ:"m",ൕ:"y",ൖ:"l",ड़:"ṛ",ढ़:"ṛ",ড়:"ṛ",ঢ়:"ṛ",ଡ଼:"ṛ",ଢ଼:"ṛ",ੜ:"ṛ"},urdu:{from:1536,to:1791,letters:{ا:"a",آ:"a",أ:"a",ب:"p",پ:"p",ت:"t",ٹ:"ṭ",ث:"s",ج:"c",چ:"c",ح:"h",خ:"k",د:"t",ڈ:"ṭ",ذ:"c",ر:"r",ڑ:"ṛ",ز:"c",ژ:"c",س:"s",ش:"s",ص:"s",ض:"c",ط:"t",ظ:"c",غ:"k",ف:"p",ق:"k",ک:"k",ك:"k",گ:"k",ل:"l",م:"m",ن:"n",ں:"ṁ",و:"v",ؤ:"u",ہ:"h",ه:"h",ۃ:"a",ی:"y",ي:"y",ى:"y",ئ:"y",ے:"e",ۓ:"e",ٻ:"p",ڀ:"p",ٺ:"ṭ",ٽ:"ṭ",ٿ:"t",ڄ:"c",ڃ:"ñ",ڇ:"c",ڊ:"ṭ",ڌ:"t",ڍ:"ṭ",ڏ:"t",ڙ:"ṛ",ڦ:"p",ڪ:"k",ڱ:"ṅ",ڳ:"k",ڻ:"ṇ",ٲ:"a",ٳ:"a",ۆ:"o",ۄ:"o",ێ:"e",ؠ:"y"},ain:"ع",waw:"و",waw_v_before:"اآ",final_he:"ہه",final_he_h_after:"اآو"},meetei:{ranges:[[43744,43775],[43968,44031]],letters:{ꯀ:"k",ꯁ:"s",ꯂ:"l",ꯃ:"m",ꯄ:"p",ꯅ:"n",ꯆ:"c",ꯇ:"t",ꯈ:"k",ꯉ:"ṅ",ꯊ:"t",ꯋ:"v",ꯌ:"y",ꯍ:"h",ꯎ:"u",ꯏ:"i",ꯐ:"p",ꯑ:"a",ꯒ:"k",ꯓ:"c",ꯔ:"r",ꯕ:"p",ꯖ:"c",ꯗ:"t",ꯘ:"k",ꯙ:"t",ꯚ:"p",ꯛ:"k",ꯜ:"l",ꯝ:"m",ꯞ:"p",ꯟ:"n",ꯠ:"t",ꯡ:"ṅ",ꯢ:"i","ꯣ":"o","ꯤ":"i","ꯥ":"a","ꯦ":"e","ꯧ":"o","ꯨ":"u","ꯩ":"e","ꯪ":"ṁ",ꫠ:"e",ꫡ:"o",ꫢ:"c",ꫣ:"ñ",ꫤ:"ṭ",ꫥ:"ṭ",ꫦ:"ṭ",ꫧ:"ṭ",ꫨ:"ṇ",ꫩ:"s",ꫪ:"s","ꫫ":"i","ꫬ":"u","ꫭ":"e","ꫮ":"o","ꫯ":"o"}},ol_chiki:{from:7248,to:7295,letters:{ᱚ:"o",ᱛ:"t",ᱜ:"k",ᱝ:"ṅ",ᱞ:"l",ᱟ:"a",ᱠ:"k",ᱡ:"c",ᱢ:"m",ᱣ:"v",ᱤ:"i",ᱥ:"s",ᱦ:"h",ᱧ:"ñ",ᱨ:"r",ᱩ:"u",ᱪ:"c",ᱫ:"t",ᱬ:"ṇ",ᱭ:"y",ᱮ:"e",ᱯ:"p",ᱰ:"ṭ",ᱱ:"n",ᱲ:"ṛ",ᱳ:"o",ᱴ:"ṭ",ᱵ:"p",ᱶ:"v",ᱷ:"h",ᱸ:"ṁ"},aspiration:"ᱷ"},latin:{groups:[["ngh","nĝ"],["chh","c"],["ch","c"],["jh","c"],["kh","k"],["gh","k"],["th","t"],["dh","t"],["ph","p"],["bh","p"],["sh","s"],["ck","k"],["aa","a"],["ai","e"],["ei","e"],["au","o"],["ee","i"],["oo","u"],["x","ks"]],letters:{a:"a",e:"e",i:"i",o:"o",u:"u",k:"k",g:"k",q:"k",j:"c",z:"c",t:"t",d:"t",n:"n",m:"m",p:"p",b:"p",f:"p",v:"v",w:"v",y:"y",r:"r",l:"l",s:"s",h:"h"},w_ambiguous_unless_before:"aeiou"},class_map:{m:"n",s:"c",v:"p",w:"p",ñ:"n",ĝ:"k",ṁ:"n",ṅ:"n",ṇ:"n",ṛ:"t",ṭ:"t"},vowels:"aeiou",steps:{"ng-k":!0,"initial-vowels-alike":!1,"drop-h":!1,"drop-y":!1,"drop-y-after-i":!1,"drop-vowels":!1,"drop-final-vowel":!1},branches:[],joined:{min_classes:8,when:"the strict keys find nobody"},digit_zeros:[48,1632,1776,2406,2534,2662,2790,2918,3046,3174,3302,3430,7248,44016],max_keys:16,suffixes:[]};var c={version:"2026-10-07",folds:["nasal-all","ng-k","retroflex","s-c","ur-w-u","v-b"],brahmic:{from:2304,to:3455,class_by_offset:{"2":"ṁ","5":"a","6":"a","7":"i","8":"i","9":"u","10":"u","11":"r","12":"l","13":"e","14":"e","15":"e","16":"e","17":"o","18":"o","19":"o","20":"o","21":"k","22":"k","23":"k","24":"k","25":"ṅ","26":"c","27":"c","28":"c","29":"c","30":"ñ","31":"ṭ","32":"ṭ","33":"ṭ","34":"ṭ","35":"ṇ","36":"t","37":"t","38":"t","39":"t","40":"n","41":"n","42":"p","43":"p","44":"p","45":"p","46":"m","47":"y","48":"r","49":"r","50":"l","51":"l","52":"l","53":"v","54":"s","55":"s","56":"s","57":"h","62":"a","63":"i","64":"i","65":"u","66":"u","67":"r","68":"r","69":"e","70":"e","71":"e","72":"e","73":"o","74":"o","75":"o","76":"o","87":"o","96":"r","97":"l","98":"l","99":"l"},virama_offset:77,candrabindu_offset:1,candrabindu_class:"ṁ",nukta_offset:60,flap_offsets:[33,34],flap_class:"ṛ"},extra:{ৎ:"t",ৰ:"r",ৱ:"v",ୱ:"v","ੰ":"ṁ","ਂ":"ṁ",ൺ:"ṇ",ൻ:"n",ർ:"r",ൽ:"l",ൾ:"l",ൿ:"k",ൔ:"m",ൕ:"y",ൖ:"l",ड़:"ṛ",ढ़:"ṛ",ড়:"ṛ",ঢ়:"ṛ",ଡ଼:"ṛ",ଢ଼:"ṛ",ੜ:"ṛ"},urdu:{from:1536,to:1791,letters:{ا:"a",آ:"a",أ:"a",ب:"p",پ:"p",ت:"t",ٹ:"ṭ",ث:"s",ج:"c",چ:"c",ح:"h",خ:"k",د:"t",ڈ:"ṭ",ذ:"c",ر:"r",ڑ:"ṛ",ز:"c",ژ:"c",س:"s",ش:"s",ص:"s",ض:"c",ط:"t",ظ:"c",غ:"k",ف:"p",ق:"k",ک:"k",ك:"k",گ:"k",ل:"l",م:"m",ن:"n",ں:"ṁ",و:"v",ؤ:"u",ہ:"h",ه:"h",ۃ:"a",ی:"y",ي:"y",ى:"y",ئ:"y",ے:"e",ۓ:"e",ٻ:"p",ڀ:"p",ٺ:"ṭ",ٽ:"ṭ",ٿ:"t",ڄ:"c",ڃ:"ñ",ڇ:"c",ڊ:"ṭ",ڌ:"t",ڍ:"ṭ",ڏ:"t",ڙ:"ṛ",ڦ:"p",ڪ:"k",ڱ:"ṅ",ڳ:"k",ڻ:"ṇ",ٲ:"a",ٳ:"a",ۆ:"o",ۄ:"o",ێ:"e",ؠ:"y"},ain:"ع",waw:"و",waw_v_before:"اآ",final_he:"ہه",final_he_h_after:"اآو"},meetei:{ranges:[[43744,43775],[43968,44031]],letters:{ꯀ:"k",ꯁ:"s",ꯂ:"l",ꯃ:"m",ꯄ:"p",ꯅ:"n",ꯆ:"c",ꯇ:"t",ꯈ:"k",ꯉ:"ṅ",ꯊ:"t",ꯋ:"v",ꯌ:"y",ꯍ:"h",ꯎ:"u",ꯏ:"i",ꯐ:"p",ꯑ:"a",ꯒ:"k",ꯓ:"c",ꯔ:"r",ꯕ:"p",ꯖ:"c",ꯗ:"t",ꯘ:"k",ꯙ:"t",ꯚ:"p",ꯛ:"k",ꯜ:"l",ꯝ:"m",ꯞ:"p",ꯟ:"n",ꯠ:"t",ꯡ:"ṅ",ꯢ:"i","ꯣ":"o","ꯤ":"i","ꯥ":"a","ꯦ":"e","ꯧ":"o","ꯨ":"u","ꯩ":"e","ꯪ":"ṁ",ꫠ:"e",ꫡ:"o",ꫢ:"c",ꫣ:"ñ",ꫤ:"ṭ",ꫥ:"ṭ",ꫦ:"ṭ",ꫧ:"ṭ",ꫨ:"ṇ",ꫩ:"s",ꫪ:"s","ꫫ":"i","ꫬ":"u","ꫭ":"e","ꫮ":"o","ꫯ":"o"}},ol_chiki:{from:7248,to:7295,letters:{ᱚ:"o",ᱛ:"t",ᱜ:"k",ᱝ:"ṅ",ᱞ:"l",ᱟ:"a",ᱠ:"k",ᱡ:"c",ᱢ:"m",ᱣ:"v",ᱤ:"i",ᱥ:"s",ᱦ:"h",ᱧ:"ñ",ᱨ:"r",ᱩ:"u",ᱪ:"c",ᱫ:"t",ᱬ:"ṇ",ᱭ:"y",ᱮ:"e",ᱯ:"p",ᱰ:"ṭ",ᱱ:"n",ᱲ:"ṛ",ᱳ:"o",ᱴ:"ṭ",ᱵ:"p",ᱶ:"v",ᱷ:"h",ᱸ:"ṁ"},aspiration:"ᱷ"},latin:{groups:[["ngh","nĝ"],["chh","c"],["ch","c"],["jh","c"],["kh","k"],["gh","k"],["th","t"],["dh","t"],["ph","p"],["bh","p"],["sh","s"],["ck","k"],["aa","a"],["ai","e"],["ei","e"],["au","o"],["ee","i"],["oo","u"],["x","ks"]],letters:{a:"a",e:"e",i:"i",o:"o",u:"u",k:"k",g:"k",q:"k",j:"c",z:"c",t:"t",d:"t",n:"n",m:"m",p:"p",b:"p",f:"p",v:"v",w:"v",y:"y",r:"r",l:"l",s:"s",h:"h"},w_ambiguous_unless_before:"aeiou"},class_map:{m:"n",s:"c",v:"p",w:"p",ñ:"n",ĝ:"k",ṁ:"n",ṅ:"n",ṇ:"n",ṛ:"t",ṭ:"t"},vowels:"aeiou",steps:{"ng-k":!0,"initial-vowels-alike":!1,"drop-h":!1,"drop-y":!1,"drop-y-after-i":!1,"drop-vowels":!1,"drop-final-vowel":!1},branches:[{from:1536,to:1791,class:"w",also:"u"}],joined:{min_classes:8,when:"the strict keys find nobody"},digit_zeros:[48,1632,1776,2406,2534,2662,2790,2918,3046,3174,3302,3430,7248,44016],max_keys:16,suffixes:[]};var r="0.10.0";function b(t){let m=(t??"").toLowerCase().split(/[-_]/)[0];if(m==="kok")return"gom";let e=m.length===3?"asm as ben bn guj gu hin hi kan kn kas ks mal ml mar mr nep ne ori or pan pa san sa snd sd tam ta tel te urd ur ".indexOf(m+" "):-1;return e>=0&&e%7===0?"asm as ben bn guj gu hin hi kan kn kas ks mal ml mar mr nep ne ori or pan pa san sa snd sd tam ta tel te urd ur ".slice(e+4,e+6):m}var i={version:"2026-10-07",folds:["bn-case","brahmic-av-u","drop-vowels","drop-y","flap-r","gu-case","latin-ngh","latin-w-u","ml-case","nasal-all","ng-k","or-case","retroflex","s-c","ta-case","ta-k-h","te-case","ur-w-u","v-b"],brahmic:{from:2304,to:3455,class_by_offset:{"2":"ṁ","5":"a","6":"a","7":"i","8":"i","9":"u","10":"u","11":"r","12":"l","13":"e","14":"e","15":"e","16":"e","17":"o","18":"o","19":"o","20":"o","21":"k","22":"k","23":"k","24":"k","25":"ṅ","26":"c","27":"c","28":"c","29":"c","30":"ñ","31":"ṭ","32":"ṭ","33":"ṭ","34":"ṭ","35":"ṇ","36":"t","37":"t","38":"t","39":"t","40":"n","41":"n","42":"p","43":"p","44":"p","45":"p","46":"m","47":"y","48":"r","49":"r","50":"l","51":"l","52":"l","53":"v","54":"s","55":"s","56":"s","57":"h","62":"a","63":"i","64":"i","65":"u","66":"u","67":"r","68":"r","69":"e","70":"e","71":"e","72":"e","73":"o","74":"o","75":"o","76":"o","87":"o","96":"r","97":"l","98":"l","99":"l"},virama_offset:77,candrabindu_offset:1,candrabindu_class:"ṁ",nukta_offset:60,flap_offsets:[33,34],flap_class:"ṛ"},extra:{ৎ:"t",ৰ:"r",ৱ:"v",ୱ:"v","ੰ":"ṁ","ਂ":"ṁ",ൺ:"ṇ",ൻ:"n",ർ:"r",ൽ:"l",ൾ:"l",ൿ:"k",ൔ:"m",ൕ:"y",ൖ:"l",ड़:"ṛ",ढ़:"ṛ",ড়:"ṛ",ঢ়:"ṛ",ଡ଼:"ṛ",ଢ଼:"ṛ",ੜ:"ṛ"},urdu:{from:1536,to:1791,letters:{ا:"a",آ:"a",أ:"a",ب:"p",پ:"p",ت:"t",ٹ:"ṭ",ث:"s",ج:"c",چ:"c",ح:"h",خ:"k",د:"t",ڈ:"ṭ",ذ:"c",ر:"r",ڑ:"ṛ",ز:"c",ژ:"c",س:"s",ش:"s",ص:"s",ض:"c",ط:"t",ظ:"c",غ:"k",ف:"p",ق:"k",ک:"k",ك:"k",گ:"k",ل:"l",م:"m",ن:"n",ں:"ṁ",و:"v",ؤ:"u",ہ:"h",ه:"h",ۃ:"a",ی:"y",ي:"y",ى:"y",ئ:"y",ے:"e",ۓ:"e",ٻ:"p",ڀ:"p",ٺ:"ṭ",ٽ:"ṭ",ٿ:"t",ڄ:"c",ڃ:"ñ",ڇ:"c",ڊ:"ṭ",ڌ:"t",ڍ:"ṭ",ڏ:"t",ڙ:"ṛ",ڦ:"p",ڪ:"k",ڱ:"ṅ",ڳ:"k",ڻ:"ṇ",ٲ:"a",ٳ:"a",ۆ:"o",ۄ:"o",ێ:"e",ؠ:"y"},ain:"ع",waw:"و",waw_v_before:"اآ",final_he:"ہه",final_he_h_after:"اآو"},meetei:{ranges:[[43744,43775],[43968,44031]],letters:{ꯀ:"k",ꯁ:"s",ꯂ:"l",ꯃ:"m",ꯄ:"p",ꯅ:"n",ꯆ:"c",ꯇ:"t",ꯈ:"k",ꯉ:"ṅ",ꯊ:"t",ꯋ:"v",ꯌ:"y",ꯍ:"h",ꯎ:"u",ꯏ:"i",ꯐ:"p",ꯑ:"a",ꯒ:"k",ꯓ:"c",ꯔ:"r",ꯕ:"p",ꯖ:"c",ꯗ:"t",ꯘ:"k",ꯙ:"t",ꯚ:"p",ꯛ:"k",ꯜ:"l",ꯝ:"m",ꯞ:"p",ꯟ:"n",ꯠ:"t",ꯡ:"ṅ",ꯢ:"i","ꯣ":"o","ꯤ":"i","ꯥ":"a","ꯦ":"e","ꯧ":"o","ꯨ":"u","ꯩ":"e","ꯪ":"ṁ",ꫠ:"e",ꫡ:"o",ꫢ:"c",ꫣ:"ñ",ꫤ:"ṭ",ꫥ:"ṭ",ꫦ:"ṭ",ꫧ:"ṭ",ꫨ:"ṇ",ꫩ:"s",ꫪ:"s","ꫫ":"i","ꫬ":"u","ꫭ":"e","ꫮ":"o","ꫯ":"o"}},ol_chiki:{from:7248,to:7295,letters:{ᱚ:"o",ᱛ:"t",ᱜ:"k",ᱝ:"ṅ",ᱞ:"l",ᱟ:"a",ᱠ:"k",ᱡ:"c",ᱢ:"m",ᱣ:"v",ᱤ:"i",ᱥ:"s",ᱦ:"h",ᱧ:"ñ",ᱨ:"r",ᱩ:"u",ᱪ:"c",ᱫ:"t",ᱬ:"ṇ",ᱭ:"y",ᱮ:"e",ᱯ:"p",ᱰ:"ṭ",ᱱ:"n",ᱲ:"ṛ",ᱳ:"o",ᱴ:"ṭ",ᱵ:"p",ᱶ:"v",ᱷ:"h",ᱸ:"ṁ"},aspiration:"ᱷ"},latin:{groups:[["ngh","nĝ"],["chh","c"],["ch","c"],["jh","c"],["kh","k"],["gh","k"],["th","t"],["dh","t"],["ph","p"],["bh","p"],["sh","s"],["ck","k"],["aa","a"],["ai","e"],["ei","e"],["au","o"],["ee","i"],["oo","u"],["x","ks"]],letters:{a:"a",e:"e",i:"i",o:"o",u:"u",k:"k",g:"k",q:"k",j:"c",z:"c",t:"t",d:"t",n:"n",m:"m",p:"p",b:"p",f:"p",v:"v",w:"v",y:"y",r:"r",l:"l",s:"s",h:"h"},w_ambiguous_unless_before:"aeiou"},class_map:{m:"n",s:"c",v:"p",w:"p",ñ:"n",ĝ:"k",ṁ:"n",ṅ:"n",ṇ:"n",ṛ:"t",ṭ:"t"},vowels:"aeiou",steps:{"ng-k":!0,"initial-vowels-alike":!1,"drop-h":!1,"drop-y":!0,"drop-y-after-i":!1,"drop-vowels":!0,"drop-final-vowel":!1},branches:[{from:2304,to:3455,class:"v",also:"u",after:"aṁ",not_before:"aieo"},{from:1536,to:7295,class:"ṛ",also:"r"},{from:0,to:127,class:"ĝ",also:"h"},{from:0,to:127,class:"w",also:"u"},{from:2944,to:3071,class:"k",also:"h"},{from:1536,to:1791,class:"w",also:"u"}],joined:{min_classes:8,when:"the strict keys find nobody"},digit_zeros:[48,1632,1776,2406,2534,2662,2790,2918,3046,3174,3302,3430,7248,44016],max_keys:16,suffixes:[{from:2432,to:2559,endings:["য়ের","দের","এর","ের","কে","তে"]},{from:2688,to:2815,endings:["માં","નું","થી","ના","ની","ને"]},{from:3328,to:3455,endings:["യ്ക്ക്","ന്റെ","യുടെ","യിലെ","ക്ക്","ുടെ","യിൽ","ിലെ","ോട്","ിന്","ിൽ","നെ","യെ","ും"]},{from:2816,to:2943,endings:["ଙ୍କର","ଙ୍କୁ","ଙ୍କ","ରେ","ରୁ","କୁ"]},{from:2944,to:3071,endings:["ுக்கு","யின்","வின்","க்கு","யில்","ிடம்","ுடன்","ின்","ில்","ால்","ும்"]},{from:3072,to:3199,endings:["యొక్క","లోని","గారు","లో","కు","కి","ని","తో","ను"]}]};var V={unicode:"15.0.0",python:"3.12.13",ranges:[1536,1791,1872,1919,2304,3455,7248,7295,7376,7423,43232,43263,43744,44031,64336,65023,65136,65279,72448,72543],mn:[1552,1562,1611,1631,1648,1648,1750,1756,1759,1764,1767,1768,1770,1773,2304,2306,2362,2362,2364,2364,2369,2376,2381,2381,2385,2391,2402,2403,2433,2433,2492,2492,2497,2500,2509,2509,2530,2531,2558,2558,2561,2562,2620,2620,2625,2626,2631,2632,2635,2637,2641,2641,2672,2673,2677,2677,2689,2690,2748,2748,2753,2757,2759,2760,2765,2765,2786,2787,2810,2815,2817,2817,2876,2876,2879,2879,2881,2884,2893,2893,2901,2902,2914,2915,2946,2946,3008,3008,3021,3021,3072,3072,3076,3076,3132,3132,3134,3136,3142,3144,3146,3149,3157,3158,3170,3171,3201,3201,3260,3260,3263,3263,3270,3270,3276,3277,3298,3299,3328,3329,3387,3388,3393,3396,3405,3405,3426,3427,7376,7378,7380,7392,7394,7400,7405,7405,7412,7412,7416,7417,43232,43249,43263,43263,43756,43757,43766,43766,44005,44005,44008,44008,44013,44013],m:[1552,1562,1611,1631,1648,1648,1750,1756,1759,1764,1767,1768,1770,1773,2304,2307,2362,2364,2366,2383,2385,2391,2402,2403,2433,2435,2492,2492,2494,2500,2503,2504,2507,2509,2519,2519,2530,2531,2558,2558,2561,2563,2620,2620,2622,2626,2631,2632,2635,2637,2641,2641,2672,2673,2677,2677,2689,2691,2748,2748,2750,2757,2759,2761,2763,2765,2786,2787,2810,2815,2817,2819,2876,2876,2878,2884,2887,2888,2891,2893,2901,2903,2914,2915,2946,2946,3006,3010,3014,3016,3018,3021,3031,3031,3072,3076,3132,3132,3134,3140,3142,3144,3146,3149,3157,3158,3170,3171,3201,3203,3260,3260,3262,3268,3270,3272,3274,3277,3285,3286,3298,3299,3315,3315,3328,3331,3387,3388,3390,3396,3398,3400,3402,3405,3415,3415,3426,3427,7376,7378,7380,7400,7405,7405,7412,7412,7415,7417,43232,43249,43263,43263,43755,43759,43765,43766,44003,44010,44012,44013],l:[1568,1610,1646,1647,1649,1747,1749,1749,1765,1766,1774,1775,1786,1788,1791,1791,1872,1919,2308,2361,2365,2365,2384,2384,2392,2401,2417,2432,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2493,2493,2510,2510,2524,2525,2527,2529,2544,2545,2556,2556,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2649,2652,2654,2654,2674,2676,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2749,2749,2768,2768,2784,2785,2809,2809,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2877,2877,2908,2909,2911,2913,2929,2929,2947,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3024,3024,3077,3084,3086,3088,3090,3112,3114,3129,3133,3133,3160,3162,3165,3165,3168,3169,3200,3200,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3261,3261,3293,3294,3296,3297,3313,3314,3332,3340,3342,3344,3346,3386,3389,3389,3406,3406,3412,3414,3423,3425,3450,3455,7258,7293,7401,7404,7406,7411,7413,7414,7418,7418,43250,43255,43259,43259,43261,43262,43744,43754,43762,43764,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43824,43866,43868,43881,43888,44002,64336,64433,64467,64829,64848,64911,64914,64967,65008,65019,65136,65140,65142,65276],ccc:[1552,1559,230,1560,1560,30,1561,1561,31,1562,1562,32,1611,1611,27,1612,1612,28,1613,1613,29,1614,1614,30,1615,1615,31,1616,1616,32,1617,1617,33,1618,1618,34,1619,1620,230,1621,1622,220,1623,1627,230,1628,1628,220,1629,1630,230,1631,1631,220,1648,1648,35,1750,1756,230,1759,1762,230,1763,1763,220,1764,1764,230,1767,1768,230,1770,1770,220,1771,1772,230,1773,1773,220,2364,2364,7,2381,2381,9,2385,2385,230,2386,2386,220,2387,2388,230,2492,2492,7,2509,2509,9,2558,2558,230,2620,2620,7,2637,2637,9,2748,2748,7,2765,2765,9,2876,2876,7,2893,2893,9,3021,3021,9,3132,3132,7,3149,3149,9,3157,3157,84,3158,3158,91,3260,3260,7,3277,3277,9,3387,3388,9,3405,3405,9,7376,7378,230,7380,7380,1,7381,7385,220,7386,7387,230,7388,7391,220,7392,7392,230,7394,7400,1,7405,7405,220,7412,7412,230,7416,7417,230,43232,43249,230,43766,43766,9,44013,44013,9],decomp:{"1570":[1575,1619],"1571":[1575,1620],"1572":[1608,1620],"1573":[1575,1621],"1574":[1610,1620],"1728":[1749,1620],"1730":[1729,1620],"1747":[1746,1620],"2345":[2344,2364],"2353":[2352,2364],"2356":[2355,2364],"2392":[2325,2364],"2393":[2326,2364],"2394":[2327,2364],"2395":[2332,2364],"2396":[2337,2364],"2397":[2338,2364],"2398":[2347,2364],"2399":[2351,2364],"2507":[2503,2494],"2508":[2503,2519],"2524":[2465,2492],"2525":[2466,2492],"2527":[2479,2492],"2611":[2610,2620],"2614":[2616,2620],"2649":[2582,2620],"2650":[2583,2620],"2651":[2588,2620],"2654":[2603,2620],"2888":[2887,2902],"2891":[2887,2878],"2892":[2887,2903],"2908":[2849,2876],"2909":[2850,2876],"2964":[2962,3031],"3018":[3014,3006],"3019":[3015,3006],"3020":[3014,3031],"3144":[3142,3158],"3264":[3263,3285],"3271":[3270,3285],"3272":[3270,3286],"3274":[3270,3266],"3275":[3274,3285],"3402":[3398,3390],"3403":[3399,3390],"3404":[3398,3415]},excl:[2392,2393,2394,2395,2396,2397,2398,2399,2524,2525,2527,2611,2614,2649,2650,2651,2654,2908,2909]};var _2=V.unicode,w=1,S1=2,t1=4,D=8,B=new Map,I=new Map,m1=new Map;for(let t=0;t<V.ranges.length;t+=2)for(let m=V.ranges[t];m<=V.ranges[t+1];m++)B.set(m,0);var N=(t,m)=>{for(let e=0;e<t.length;e+=2)for(let _=t[e];_<=t[e+1];_++)B.set(_,B.get(_)|m)};N(V.mn,w);N(V.m,S1);N(V.l,t1);for(let t=0;t<V.ccc.length;t+=3)for(let m=V.ccc[t];m<=V.ccc[t+1];m++)B.set(m,B.get(m)|V.ccc[t+2]<<4);var A1=new Set(V.excl);for(let[t,m]of Object.entries(V.decomp)){let e=Number(t);if(I.set(e,m),m.length===2&&!A1.has(e))m1.set(m[0]*1114112+m[1],e),B.set(m[1],B.get(m[1])|D)}var O=(t)=>String.fromCodePoint(t);function j(t,m,e){let _="";for(let f=m;f<e;f+=8192)_+=String.fromCodePoint(...t.slice(f,Math.min(e,f+8192)));return _}function e1(t){let m=B.get(t);return m===void 0?/\p{Mn}/u.test(O(t)):(m&w)!==0}function _1(t){let m=B.get(t);return m===void 0?/\p{L}/u.test(O(t)):(m&t1)!==0}function J(t){if(!B.has(t))return Array.from(O(t).normalize("NFD"),(e)=>e.codePointAt(0));let m=I.get(t);return m?m.flatMap(J):[t]}var j1=(t,m)=>t>>4===0&&(t&D)===0&&!I.has(m);function K(t){let m=Array.from(t,(_)=>_.codePointAt(0)),e="";for(let _=0;_<m.length;){let f=_+1,l=B.has(m[_]);for(;f<m.length;f++){let n=B.get(m[f]);if(n===void 0)l=!1;else if(j1(n,m[f]))break}e+=l?D1(m,_,f):j(m,_,f).normalize("NFC"),_=f}return e}function D1(t,m,e){let _=0,f=!0;for(let h=m;h<e&&f;h++){let v=B.get(t[h]),z=v>>4;if(I.has(t[h])||(v&D)!==0||z!==0&&z<_)f=!1;_=z}if(f)return j(t,m,e);let l=[];for(let h=m;h<e;h++)l.push(...J(t[h]));let n=(h)=>B.get(h)>>4;for(let h=0;h<l.length;){if(n(l[h])===0){h++;continue}let v=h;while(v<l.length&&n(l[v])!==0)v++;let z=l.slice(h,v).sort((Z,T)=>n(Z)-n(T));for(let Z=0;Z<z.length;Z++)l[h+Z]=z[Z];h=v}let g=[],a=-1;for(let h of l){let v=n(h);if(a>=0&&(g.length-1===a||n(g[g.length-1])<v)){let z=m1.get(g[a]*1114112+h);if(z!==void 0){g[a]=z;continue}}if(v===0)a=g.length;g.push(h)}return j(g,0,g.length)}var h1="\x00";function C(t){let m=t.brahmic,e=Array(128);for(let[y,k]of Object.entries(m.class_by_offset))e[Number(y)]=k;let _=new Map(Object.entries(t.extra)),f=new Map(Object.entries(t.urdu.letters)),l=new Map(Object.entries(t.meetei.letters)),n=new Map(Object.entries(t.ol_chiki.letters)),g=Array(128);for(let[y,k]of Object.entries(t.latin.letters))g[y.charCodeAt(0)]=k;let a=t.latin.groups,h=t.latin.w_ambiguous_unless_before,v=new Map(Object.entries(t.class_map)),z=new Set(t.vowels),Z=t.steps,T=t.urdu;function S(y){return t.meetei.ranges.some(([k,s])=>y>=k&&y<=s)}function B1(y){let k="",s=-1;for(let G=0;G<y.length;G++){let Q=y[G],H=_.get(Q);if(H!==void 0){k+=H,s=-1;continue}let $=y.charCodeAt(G);if($<m.from||$>m.to)continue;let P=$&127,A=e[P];if(P===m.nukta_offset&&m.flap_offsets.includes(s)&&k)k=k.slice(0,-1)+m.flap_class;else if(P===m.virama_offset);else if(P===m.candrabindu_offset)k+=m.candrabindu_class;else if(A!==void 0)k+=A;if(A!==void 0)s=P;else if(P!==m.nukta_offset&&P!==m.virama_offset)s=-1}return k}function F1(y){let k="",s=0;t:while(s<y.length){for(let[Q,H]of a)if(y.startsWith(Q,s)){k+=H,s+=Q.length;continue t}let G=y.charCodeAt(s);if(G===99){let Q=y[s+1];k+=Q==="e"||Q==="i"||Q==="y"?"s":"k"}else if(G===119&&s>0&&!h.includes(y[s+1]??" "))k+="w";else k+=g[G]??"";s++}return k}function T1(y){let k=y[0]===T.ain?"a":"";for(let G=0;G<y.length;G++){let Q=y[G];if(Q===T.waw&&G>0&&!(G+1<y.length&&T.waw_v_before.includes(y[G+1])))k+="w";else k+=f.get(Q)??""}let s=y.length;if(s>1&&T.final_he.includes(y[s-1])&&!T.final_he_h_after.includes(y[s-2]))k=k.slice(0,-1)+"a";return k}function U1(y){let k="";for(let s of y){if(s===t.ol_chiki.aspiration&&k&&!z.has(k[k.length-1]))continue;k+=n.get(s)??""}return k}function W1(y){let k="";for(let s of y)k+=l.get(s)??"";return k}function X1(y){let k=!0;for(let Q=0;Q<y.length;Q++)if(y.charCodeAt(Q)>127){k=!1;break}if(k)return F1(y);let s=!1,G=!1;for(let Q=0;Q<y.length;Q++){let H=y.charCodeAt(Q);if(H>=T.from&&H<=T.to)return T1(y);if(H>=t.ol_chiki.from&&H<=t.ol_chiki.to)s=!0;else if(S(H))G=!0}if(s)return U1(y);if(G)return W1(y);return B1(y)}function Y1(y){if(Z["ng-k"]){let H="";for(let $=0;$<y.length;$++)if(H+=y[$],y[$]==="ṅ"&&y[$+1]!=="k")H+="k";y=H}let k="";for(let H=0;H<y.length;H++)k+=v.get(y[H])??y[H];if(!k)return k;let s=k[0];if(Z["initial-vowels-alike"]&&z.has(s))s="a";let G=s;for(let H=1;H<k.length;H++){let $=k[H];if(Z["drop-h"]&&$==="h")continue;if(Z["drop-y"]&&$==="y")continue;if(Z["drop-vowels"]&&z.has($))continue;G+=$}if(Z["drop-final-vowel"]&&G.length>1&&z.has(G[G.length-1]))G=G.slice(0,-1);let Q=G[0];for(let H=1;H<G.length;H++)if(G[H]!==G[H-1])Q+=G[H];return Q}function i1(y,k,s){let G=k>0?y[k-1]:"^",Q=k+1<y.length?y[k+1]:"$";return(s.after===void 0||s.after.includes(G))&&(s.before===void 0||s.before.includes(Q))&&!(s.not_before??"").includes(Q)}function I1(y){let k=X1(y),s=[k];for(let G of t.branches){if(!k.includes(G.class))continue;let Q=!1;for(let H=0;H<y.length;H++){let $=y.charCodeAt(H);if($>=G.from&&$<=G.to){Q=!0;break}}if(!Q)continue;for(let H=0;H<k.length;H++)if(k[H]===G.class&&s.length*2<=t.max_keys&&i1(k,H,G)){let $=G.also||h1;s=s.concat(s.map((P)=>P.slice(0,H)+$+P.slice(H+1)))}}return s.map((G)=>G.replaceAll(h1,""))}function J1(y){let k="";for(let s=0;s<y.length;s++){let G=y.charCodeAt(s),Q=t.digit_zeros.find((H)=>G>=H&&G<=H+9);if(Q===void 0)return;k+=String.fromCharCode(48+G-Q)}return k||void 0}return function(k){let s=J1(k);if(s!==void 0)return[s];let G=[k],Q=k.charCodeAt(0);for(let $ of t.suffixes){if(Q<$.from||Q>$.to)continue;for(let P of $.endings)if(k.endsWith(P)&&k.length-P.length>=2){G.push(k.slice(0,-P.length));break}}let H=new Set;for(let $ of G)for(let P of I1($))H.add(Y1(P));return H.delete(""),[...H].sort()}}var f1=C(i),N1=256;function n1(t){let m="";for(let e of t)for(let _ of J(e.codePointAt(0))){if(e1(_))continue;if(_>=128)return K(t);m+=String.fromCodePoint(_)}return m.toLowerCase()}function l1(t,m){let e=[""];for(let _ of t){let f=[];for(let l of e)for(let n of _)if(f.length<N1)f.push(l?l+m+n:n);e=f}return e[0]===""?[]:e}var g2=i.version;function k1(t){return t.replace(/\([^)]*\)/g," ").split(/[^\S\ufeff]|[\x1c-\x1f\x85.\-,'’]/u).filter(Boolean)}var g1=i.joined.min_classes;var F=o,P2=F.version,V2=F.thresholds,O1=C(d),E1=C(c),y1=g1,E=1073741824,U=Math.floor;function a1(t){return t>=0&&t<F.pow.length?F.pow[t]:0}function u1(t,m){let e=0;while(e+1<F.exp2.length&&m*F.exp2[e+1]<=t*65536)e++;return e}function R(t,m){let e=t.length+m.length;if(!e)return 1e4;let _=Array(m.length+1).fill(0),f=Array(m.length+1).fill(0);for(let l of t){f[0]=0;for(let n=0;n<m.length;n++)f[n+1]=l===m[n]?_[n]+1:Math.max(_[n+1],f[n]);[_,f]=[f,_]}return U((40000*_[m.length]+e)/(2*e))}var Z1=(t,m)=>U((2*t+m)/(2*m)),Y=(t)=>/^[\x00-\x7f]*$/.test(t),W=(t)=>f1(t);function u(t){let m=[];for(let e of k1(t)){if(e=n1(e),Y(e))e=e.replace(/[^a-z0-9]/g,"");if(e&&W(e).length)m.push(e)}return m}var x=(t)=>[...t.toLowerCase()].filter((m)=>m>="a"&&m<="z"),L=(t)=>[...K(t)].filter((m)=>m!==""&&m!==""&&!/^(?:[^\S]|[\x1c-\x1f\x85])$/u.test(m));function v1(t){let m=[...t];if(m.length<F.deletion_min_classes)return[];return m.map((e,_)=>m.slice(0,_).join("")+m.slice(_+1).join(""))}var M=(t)=>[...O1(t)[0]??""];function z1(t){let m=[...t].some((f)=>f>=""&&f<="ۿ"),e=new Set,_=[];for(let f of E1(t)){let l=[...f],n=[l[0],...l.slice(1).filter((a)=>a!=="a").map((a)=>a==="y"?"i":a)];if(m&&n.length>1&&n[n.length-1]==="h")n.pop();let g=n.join("");if(!e.has(g))e.add(g),_.push(n)}return _}function p(t,m){let e=0;for(let _ of z1(t))for(let f of z1(m))e=Math.max(e,R(_,f));return e}var p1=[[1536,1791,"arab"],[1872,1919,"arab"],[2304,2431,"deva"],[2432,2559,"beng"],[2560,2687,"guru"],[2688,2815,"gujr"],[2816,2943,"orya"],[2944,3071,"taml"],[3072,3199,"telu"],[3200,3327,"knda"],[3328,3455,"mlym"],[7248,7295,"olck"],[43968,44031,"mtei"]];function s1(t){for(let m of t){let e=m.codePointAt(0);if(_1(e))return p1.find(([_,f])=>e>=_&&e<=f)?.[2]??""}return""}class $1{idx=new Map;v;c;units=new Map;constructor(t){let m=t.latin??t.x,e=t.native??t.y,_=[...m,...e];_.forEach((f,l)=>this.idx.set(f,l+1)),this.v=_.length+1,this.c=new Float64Array(this.v*this.v).fill(E),t.c.forEach(([f,l],n)=>{this.c.fill(f,n*this.v,(n+1)*this.v);for(let[g,a]of l)this.c[n*this.v+g]=a}),this.c[0]=0;for(let[f,l,n,g]of t.units??[]){let a=new Float64Array(this.v).fill(E);if(n>=0)a.fill(n,m.length+1);for(let[h,v]of g)a[h]=v<0?E:v;this.units.set(f*this.v+l,a)}}ids(t){return t.map((m)=>this.idx.get(m)??0)}align(t,m,e){let _=t.length,f=m.length,l=f+1,n=this.v,g=this.c,a=new Float64Array((_+1)*l);for(let h=1;h<=_;h++)a[h*l]=a[(h-1)*l]+g[t[h-1]*n];for(let h=1;h<=f;h++)a[h]=a[h-1]+g[m[h-1]];for(let h=1;h<=_;h++)for(let v=1;v<=f;v++){let z=a[(h-1)*l+v-1]+g[t[h-1]*n+m[v-1]];if(z=Math.min(z,a[(h-1)*l+v]+g[t[h-1]*n]),z=Math.min(z,a[h*l+v-1]+g[m[v-1]]),e&&h>=2){let Z=this.units.get(t[h-2]*n+t[h-1]);if(Z)z=Math.min(z,a[(h-2)*l+v-1]+Z[m[v-1]])}a[h*l+v]=z}return a[_*l+f]}}var q1=`https://cdn.jsdelivr.net/gh/micahchoo/indickit@v${r}/phonetic/scorer/`,P1=new URL("../phonetic/scorer/",import.meta.url);async function G1(t){let m=await fetch(t);if(!m.ok)throw Error(`phonetic-search: ${t}: ${m.status}`);return m.arrayBuffer()}var o1=async(t)=>{try{return await G1(t)}catch{return G1(new URL(t.href.slice(P1.href.length),q1))}};async function H1(t,m){try{let e=await m(new URL(t+".json",P1));return new $1(JSON.parse(new TextDecoder().decode(e)))}catch{return}}class V1{lang;latin;pairs;constructor(t,m,e){this.lang=t;this.latin=m;this.pairs=e}cost(t,m){let e=Y(t),_=Y(m),f,l,n,g,a=!1;if(e!==_){let[v,z]=e?[t,m]:[m,t];if(!(f=this.latin))return;l=x(v),n=L(z),a=!0,g=Math.max(l.length,1)}else if(!e){let v=s1(t),z=s1(m);if(!v||!z||v===z)return;if(v>z)[t,m]=[m,t],[v,z]=[z,v];if(!(f=this.pairs.get(`${v}-${z}`)))return;l=L(t),n=L(m),g=Math.max(l.length,n.length,1)}else return;let h=f.align(f.ids(l),f.ids(n),a);return U((20*h+g)/(2*g))}calibrations(t,m){let e=new Map;for(let h of m){let v=this.cost(t,h);if(v!==void 0)e.set(h,v)}let _=new Map;if(!e.size)return _;let f=Math.max(Y(t)?x(t).length:L(t).length,1),l=1/0,n=1/0;for(let h of e.values())l=Math.min(l,h),n=Math.min(n,h*f);let g=new Map,a=0;for(let[h,v]of e){let z=a1(U((v*f-n)/F.posterior_temperature));g.set(h,z),a+=z}for(let[h,v]of e){let z=U((100*a1(v-l)+500000)/1e6),Z=U((100*g.get(h)+U(a/2))/a);_.set(h,z+Z)}return _}wordSim(t,m,e,_){let f=new Set(W(m)),l=W(t).some((h)=>f.has(h))?1:0,n,g;if(Y(t)&&Y(m))g=R(x(t),x(m)),n=2*g;else if(e?.has(m))n=100*e.get(m),g=p(t,m);else if(this.cost(t,m)!==void 0)n=20000,g=p(t,m);else g=R(M(t),M(m)),n=2*g;let a=2*_.key*1e4*l+_.cost*n+2*_.vowel*g;return _.round?Z1(a,200*_.div):U(a/(200*_.div))}}function X(t,m){let e=t.join("");return e?W(e).filter((_)=>[..._].length>=m):[]}function Q1(t){return l1(t.map(W).filter((m)=>m.length),"\x1F")}class q{scorer;words;n;df=new Map;maps={strict:new Map,joined:new Map,loose:new Map,near:new Map};p;constructor(t,m,e){this.scorer=t;let _=F.profiles[e];if(!_)throw Error(`phonetic-search: unknown profile "${e}" ("names" or "text")`);this.p=_,this.n=m.length,this.words=m.map(u);for(let l of this.words)for(let n of new Set(l.flatMap(W)))this.df.set(n,(this.df.get(n)??0)+1);let f=(l,n,g)=>{let a=l.get(n);if(!a)l.set(n,[g]);else if(a[a.length-1]!==g)a.push(g)};this.words.forEach((l,n)=>{for(let g of Q1(l))f(this.maps.strict,g,n);for(let g of X(l,y1))f(this.maps.joined,g,n);for(let g of X(l,F.loose_joined_min_classes))f(this.maps.loose,g,n);for(let g of l)for(let a of W(g)){if(this.common(a))continue;f(this.maps.near,a,n);for(let h of v1(a))f(this.maps.near,h,n)}})}common(t){let m=this.p.stop_permille;return m!==null&&this.n>=this.p.stop_min_names&&(this.df.get(t)??0)*1000>this.n*m}weight(t){let m=0;for(let e of W(t))m=Math.max(m,u1(this.n,Math.max(this.df.get(e)??0,1)));return m}candidates(t){let m=new Set;for(let e of Q1(t))for(let _ of this.maps.strict.get(e)??[])m.add(_);if(!m.size)for(let e of X(t,y1))for(let _ of this.maps.joined.get(e)??[])m.add(_);for(let e of X(t,F.loose_joined_min_classes))for(let _ of this.maps.loose.get(e)??[])m.add(_);for(let e of t)for(let _ of W(e)){if(this.common(_))continue;for(let f of[_,...v1(_)])for(let l of this.maps.near.get(f)??[])m.add(l)}return m}nameScore(t,m,e){let _=0,f=0;for(let[n,g,a]of[[t,m,!0],[m,t,!1]])for(let h of n){let v=this.weight(h);f+=v;let z=0;for(let Z of g)z=Math.max(z,a?this.scorer.wordSim(h,Z,e.get(h),this.p):this.scorer.wordSim(Z,h,e.get(Z),this.p));_+=v*z}let l=f?U((_+U(f/2))/f):0;if(t.length!==m.length&&t.length&&m.length){let n=t.join(""),g=m.join(""),a=new Set(X([n],F.loose_joined_min_classes)),h=X([g],F.loose_joined_min_classes).some((S)=>a.has(S))?1:0,v,z;if(this.scorer.cost(n,g)!==void 0)v=1e4,z=p(n,g);else v=z=R(M(n),M(g));let Z=this.p,T=Z.key*1e4*h+Z.cost*v+Z.vowel*z;l=Math.max(l,Z.round?Z1(T,100*Z.div):U(T/(100*Z.div)))}return l}scoreAll(t,m){let e=u(t),_=[...new Set(m.flatMap((l)=>this.words[l]))],f=new Map(e.map((l)=>[l,this.scorer.calibrations(l,_)]));return m.map((l)=>({name:l,score:this.nameScore(e,this.words[l],f)}))}search(t,m=0){let e=[...this.candidates(u(t))].sort((_,f)=>_-f);return this.scoreAll(t,e).filter((_)=>_.score>=m).sort((_,f)=>f.score-_.score)}}async function B2(t,m={}){let e=b(t),_=m.fetcher??o1,f=[...new Set(m.scripts??[])].sort(),l=new Map,[n]=await Promise.all([H1(`latin/${e}`,_),...f.flatMap((a,h)=>f.slice(h+1).map(async(v)=>{let z=await H1(`pairs/${a}-${v}`,_);if(z)l.set(`${a}-${v}`,z)}))]),g=new V1(e,n,l);return{lang:e,index:(a,h="names")=>new q(g,a,h),score:(a,h,v="names")=>new q(g,h,v).scoreAll(a,h.map((z,Z)=>Z)).map((z)=>z.score)}}export{B2 as loadSearch,V2 as THRESHOLDS,P2 as SEARCH_VERSION,q as Index,q1 as CDN};
|
package/dist/phonetic.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var T={version:"2026-10-07",folds:["bn-case","brahmic-av-u","drop-vowels","drop-y","flap-r","gu-case","latin-ngh","latin-w-u","ml-case","nasal-all","ng-k","or-case","retroflex","s-c","ta-case","ta-k-h","te-case","ur-w-u","v-b"],brahmic:{from:2304,to:3455,class_by_offset:{"2":"ṁ","5":"a","6":"a","7":"i","8":"i","9":"u","10":"u","11":"r","12":"l","13":"e","14":"e","15":"e","16":"e","17":"o","18":"o","19":"o","20":"o","21":"k","22":"k","23":"k","24":"k","25":"ṅ","26":"c","27":"c","28":"c","29":"c","30":"ñ","31":"ṭ","32":"ṭ","33":"ṭ","34":"ṭ","35":"ṇ","36":"t","37":"t","38":"t","39":"t","40":"n","41":"n","42":"p","43":"p","44":"p","45":"p","46":"m","47":"y","48":"r","49":"r","50":"l","51":"l","52":"l","53":"v","54":"s","55":"s","56":"s","57":"h","62":"a","63":"i","64":"i","65":"u","66":"u","67":"r","68":"r","69":"e","70":"e","71":"e","72":"e","73":"o","74":"o","75":"o","76":"o","87":"o","96":"r","97":"l","98":"l","99":"l"},virama_offset:77,candrabindu_offset:1,candrabindu_class:"ṁ",nukta_offset:60,flap_offsets:[33,34],flap_class:"ṛ"},extra:{ৎ:"t",ৰ:"r",ৱ:"v",ୱ:"v","ੰ":"ṁ","ਂ":"ṁ",ൺ:"ṇ",ൻ:"n",ർ:"r",ൽ:"l",ൾ:"l",ൿ:"k",ൔ:"m",ൕ:"y",ൖ:"l",ड़:"ṛ",ढ़:"ṛ",ড়:"ṛ",ঢ়:"ṛ",ଡ଼:"ṛ",ଢ଼:"ṛ",ੜ:"ṛ"},urdu:{from:1536,to:1791,letters:{ا:"a",آ:"a",أ:"a",ب:"p",پ:"p",ت:"t",ٹ:"ṭ",ث:"s",ج:"c",چ:"c",ح:"h",خ:"k",د:"t",ڈ:"ṭ",ذ:"c",ر:"r",ڑ:"ṛ",ز:"c",ژ:"c",س:"s",ش:"s",ص:"s",ض:"c",ط:"t",ظ:"c",غ:"k",ف:"p",ق:"k",ک:"k",ك:"k",گ:"k",ل:"l",م:"m",ن:"n",ں:"ṁ",و:"v",ؤ:"u",ہ:"h",ه:"h",ۃ:"a",ی:"y",ي:"y",ى:"y",ئ:"y",ے:"e",ۓ:"e",ٻ:"p",ڀ:"p",ٺ:"ṭ",ٽ:"ṭ",ٿ:"t",ڄ:"c",ڃ:"ñ",ڇ:"c",ڊ:"ṭ",ڌ:"t",ڍ:"ṭ",ڏ:"t",ڙ:"ṛ",ڦ:"p",ڪ:"k",ڱ:"ṅ",ڳ:"k",ڻ:"ṇ",ٲ:"a",ٳ:"a",ۆ:"o",ۄ:"o",ێ:"e",ؠ:"y"},ain:"ع",waw:"و",waw_v_before:"اآ",final_he:"ہه",final_he_h_after:"اآو"},meetei:{ranges:[[43744,43775],[43968,44031]],letters:{ꯀ:"k",ꯁ:"s",ꯂ:"l",ꯃ:"m",ꯄ:"p",ꯅ:"n",ꯆ:"c",ꯇ:"t",ꯈ:"k",ꯉ:"ṅ",ꯊ:"t",ꯋ:"v",ꯌ:"y",ꯍ:"h",ꯎ:"u",ꯏ:"i",ꯐ:"p",ꯑ:"a",ꯒ:"k",ꯓ:"c",ꯔ:"r",ꯕ:"p",ꯖ:"c",ꯗ:"t",ꯘ:"k",ꯙ:"t",ꯚ:"p",ꯛ:"k",ꯜ:"l",ꯝ:"m",ꯞ:"p",ꯟ:"n",ꯠ:"t",ꯡ:"ṅ",ꯢ:"i","ꯣ":"o","ꯤ":"i","ꯥ":"a","ꯦ":"e","ꯧ":"o","ꯨ":"u","ꯩ":"e","ꯪ":"ṁ",ꫠ:"e",ꫡ:"o",ꫢ:"c",ꫣ:"ñ",ꫤ:"ṭ",ꫥ:"ṭ",ꫦ:"ṭ",ꫧ:"ṭ",ꫨ:"ṇ",ꫩ:"s",ꫪ:"s","ꫫ":"i","ꫬ":"u","ꫭ":"e","ꫮ":"o","ꫯ":"o"}},ol_chiki:{from:7248,to:7295,letters:{ᱚ:"o",ᱛ:"t",ᱜ:"k",ᱝ:"ṅ",ᱞ:"l",ᱟ:"a",ᱠ:"k",ᱡ:"c",ᱢ:"m",ᱣ:"v",ᱤ:"i",ᱥ:"s",ᱦ:"h",ᱧ:"ñ",ᱨ:"r",ᱩ:"u",ᱪ:"c",ᱫ:"t",ᱬ:"ṇ",ᱭ:"y",ᱮ:"e",ᱯ:"p",ᱰ:"ṭ",ᱱ:"n",ᱲ:"ṛ",ᱳ:"o",ᱴ:"ṭ",ᱵ:"p",ᱶ:"v",ᱷ:"h",ᱸ:"ṁ"},aspiration:"ᱷ"},latin:{groups:[["ngh","nĝ"],["chh","c"],["ch","c"],["jh","c"],["kh","k"],["gh","k"],["th","t"],["dh","t"],["ph","p"],["bh","p"],["sh","s"],["ck","k"],["aa","a"],["ai","e"],["ei","e"],["au","o"],["ee","i"],["oo","u"],["x","ks"]],letters:{a:"a",e:"e",i:"i",o:"o",u:"u",k:"k",g:"k",q:"k",j:"c",z:"c",t:"t",d:"t",n:"n",m:"m",p:"p",b:"p",f:"p",v:"v",w:"v",y:"y",r:"r",l:"l",s:"s",h:"h"},w_ambiguous_unless_before:"aeiou"},class_map:{m:"n",s:"c",v:"p",w:"p",ñ:"n",ĝ:"k",ṁ:"n",ṅ:"n",ṇ:"n",ṛ:"t",ṭ:"t"},vowels:"aeiou",steps:{"ng-k":!0,"initial-vowels-alike":!1,"drop-h":!1,"drop-y":!0,"drop-y-after-i":!1,"drop-vowels":!0,"drop-final-vowel":!1},branches:[{from:2304,to:3455,class:"v",also:"u",after:"aṁ",not_before:"aieo"},{from:1536,to:7295,class:"ṛ",also:"r"},{from:0,to:127,class:"ĝ",also:"h"},{from:0,to:127,class:"w",also:"u"},{from:2944,to:3071,class:"k",also:"h"},{from:1536,to:1791,class:"w",also:"u"}],joined:{min_classes:8,when:"the strict keys find nobody"},digit_zeros:[48,1632,1776,2406,2534,2662,2790,2918,3046,3174,3302,3430,7248,44016],max_keys:16,suffixes:[{from:2432,to:2559,endings:["য়ের","দের","এর","ের","কে","তে"]},{from:2688,to:2815,endings:["માં","નું","થી","ના","ની","ને"]},{from:3328,to:3455,endings:["യ്ക്ക്","ന്റെ","യുടെ","യിലെ","ക്ക്","ുടെ","യിൽ","ിലെ","ോട്","ിന്","ിൽ","നെ","യെ","ും"]},{from:2816,to:2943,endings:["ଙ୍କର","ଙ୍କୁ","ଙ୍କ","ରେ","ରୁ","କୁ"]},{from:2944,to:3071,endings:["ுக்கு","யின்","வின்","க்கு","யில்","ிடம்","ுடன்","ின்","ில்","ால்","ும்"]},{from:3072,to:3199,endings:["యొక్క","లోని","గారు","లో","కు","కి","ని","తో","ను"]}]};var B={unicode:"15.0.0",python:"3.12.13",ranges:[1536,1791,1872,1919,2304,3455,7248,7295,7376,7423,43232,43263,43744,44031,64336,65023,65136,65279,72448,72543],mn:[1552,1562,1611,1631,1648,1648,1750,1756,1759,1764,1767,1768,1770,1773,2304,2306,2362,2362,2364,2364,2369,2376,2381,2381,2385,2391,2402,2403,2433,2433,2492,2492,2497,2500,2509,2509,2530,2531,2558,2558,2561,2562,2620,2620,2625,2626,2631,2632,2635,2637,2641,2641,2672,2673,2677,2677,2689,2690,2748,2748,2753,2757,2759,2760,2765,2765,2786,2787,2810,2815,2817,2817,2876,2876,2879,2879,2881,2884,2893,2893,2901,2902,2914,2915,2946,2946,3008,3008,3021,3021,3072,3072,3076,3076,3132,3132,3134,3136,3142,3144,3146,3149,3157,3158,3170,3171,3201,3201,3260,3260,3263,3263,3270,3270,3276,3277,3298,3299,3328,3329,3387,3388,3393,3396,3405,3405,3426,3427,7376,7378,7380,7392,7394,7400,7405,7405,7412,7412,7416,7417,43232,43249,43263,43263,43756,43757,43766,43766,44005,44005,44008,44008,44013,44013],m:[1552,1562,1611,1631,1648,1648,1750,1756,1759,1764,1767,1768,1770,1773,2304,2307,2362,2364,2366,2383,2385,2391,2402,2403,2433,2435,2492,2492,2494,2500,2503,2504,2507,2509,2519,2519,2530,2531,2558,2558,2561,2563,2620,2620,2622,2626,2631,2632,2635,2637,2641,2641,2672,2673,2677,2677,2689,2691,2748,2748,2750,2757,2759,2761,2763,2765,2786,2787,2810,2815,2817,2819,2876,2876,2878,2884,2887,2888,2891,2893,2901,2903,2914,2915,2946,2946,3006,3010,3014,3016,3018,3021,3031,3031,3072,3076,3132,3132,3134,3140,3142,3144,3146,3149,3157,3158,3170,3171,3201,3203,3260,3260,3262,3268,3270,3272,3274,3277,3285,3286,3298,3299,3315,3315,3328,3331,3387,3388,3390,3396,3398,3400,3402,3405,3415,3415,3426,3427,7376,7378,7380,7400,7405,7405,7412,7412,7415,7417,43232,43249,43263,43263,43755,43759,43765,43766,44003,44010,44012,44013],l:[1568,1610,1646,1647,1649,1747,1749,1749,1765,1766,1774,1775,1786,1788,1791,1791,1872,1919,2308,2361,2365,2365,2384,2384,2392,2401,2417,2432,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2493,2493,2510,2510,2524,2525,2527,2529,2544,2545,2556,2556,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2649,2652,2654,2654,2674,2676,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2749,2749,2768,2768,2784,2785,2809,2809,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2877,2877,2908,2909,2911,2913,2929,2929,2947,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3024,3024,3077,3084,3086,3088,3090,3112,3114,3129,3133,3133,3160,3162,3165,3165,3168,3169,3200,3200,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3261,3261,3293,3294,3296,3297,3313,3314,3332,3340,3342,3344,3346,3386,3389,3389,3406,3406,3412,3414,3423,3425,3450,3455,7258,7293,7401,7404,7406,7411,7413,7414,7418,7418,43250,43255,43259,43259,43261,43262,43744,43754,43762,43764,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43824,43866,43868,43881,43888,44002,64336,64433,64467,64829,64848,64911,64914,64967,65008,65019,65136,65140,65142,65276],ccc:[1552,1559,230,1560,1560,30,1561,1561,31,1562,1562,32,1611,1611,27,1612,1612,28,1613,1613,29,1614,1614,30,1615,1615,31,1616,1616,32,1617,1617,33,1618,1618,34,1619,1620,230,1621,1622,220,1623,1627,230,1628,1628,220,1629,1630,230,1631,1631,220,1648,1648,35,1750,1756,230,1759,1762,230,1763,1763,220,1764,1764,230,1767,1768,230,1770,1770,220,1771,1772,230,1773,1773,220,2364,2364,7,2381,2381,9,2385,2385,230,2386,2386,220,2387,2388,230,2492,2492,7,2509,2509,9,2558,2558,230,2620,2620,7,2637,2637,9,2748,2748,7,2765,2765,9,2876,2876,7,2893,2893,9,3021,3021,9,3132,3132,7,3149,3149,9,3157,3157,84,3158,3158,91,3260,3260,7,3277,3277,9,3387,3388,9,3405,3405,9,7376,7378,230,7380,7380,1,7381,7385,220,7386,7387,230,7388,7391,220,7392,7392,230,7394,7400,1,7405,7405,220,7412,7412,230,7416,7417,230,43232,43249,230,43766,43766,9,44013,44013,9],decomp:{"1570":[1575,1619],"1571":[1575,1620],"1572":[1608,1620],"1573":[1575,1621],"1574":[1610,1620],"1728":[1749,1620],"1730":[1729,1620],"1747":[1746,1620],"2345":[2344,2364],"2353":[2352,2364],"2356":[2355,2364],"2392":[2325,2364],"2393":[2326,2364],"2394":[2327,2364],"2395":[2332,2364],"2396":[2337,2364],"2397":[2338,2364],"2398":[2347,2364],"2399":[2351,2364],"2507":[2503,2494],"2508":[2503,2519],"2524":[2465,2492],"2525":[2466,2492],"2527":[2479,2492],"2611":[2610,2620],"2614":[2616,2620],"2649":[2582,2620],"2650":[2583,2620],"2651":[2588,2620],"2654":[2603,2620],"2888":[2887,2902],"2891":[2887,2878],"2892":[2887,2903],"2908":[2849,2876],"2909":[2850,2876],"2964":[2962,3031],"3018":[3014,3006],"3019":[3015,3006],"3020":[3014,3031],"3144":[3142,3158],"3264":[3263,3285],"3271":[3270,3285],"3272":[3270,3286],"3274":[3270,3266],"3275":[3274,3285],"3402":[3398,3390],"3403":[3399,3390],"3404":[3398,3415]},excl:[2392,2393,2394,2395,2396,2397,2398,2399,2524,2525,2527,2611,2614,2649,2650,2651,2654,2908,2909]};var H2=B.unicode,n=1,k2=2,g2=4,z=8,X=new Map,U=new Map,M=new Map;for(let _=0;_<B.ranges.length;_+=2)for(let k=B.ranges[_];k<=B.ranges[_+1];k++)X.set(k,0);var O=(_,k)=>{for(let q=0;q<_.length;q+=2)for(let F=_[q];F<=_[q+1];F++)X.set(F,X.get(F)|k)};O(B.mn,n);O(B.m,k2);O(B.l,g2);for(let _=0;_<B.ccc.length;_+=3)for(let k=B.ccc[_];k<=B.ccc[_+1];k++)X.set(k,X.get(k)|B.ccc[_+2]<<4);var y2=new Set(B.excl);for(let[_,k]of Object.entries(B.decomp)){let q=Number(_);if(U.set(q,k),k.length===2&&!y2.has(q))M.set(k[0]*1114112+k[1],q),X.set(k[1],X.get(k[1])|z)}var x=(_)=>String.fromCodePoint(_);function L(_,k,q){let F="";for(let H=k;H<q;H+=8192)F+=String.fromCodePoint(..._.slice(H,Math.min(q,H+8192)));return F}function E(_){let k=X.get(_);return k===void 0?/\p{Mn}/u.test(x(_)):(k&n)!==0}function A(_){if(!X.has(_))return Array.from(x(_).normalize("NFD"),(q)=>q.codePointAt(0));let k=U.get(_);return k?k.flatMap(A):[_]}var h2=(_,k)=>_>>4===0&&(_&z)===0&&!U.has(k);function j(_){let k=Array.from(_,(F)=>F.codePointAt(0)),q="";for(let F=0;F<k.length;){let H=F+1,Q=X.has(k[F]);for(;H<k.length;H++){let R=X.get(k[H]);if(R===void 0)Q=!1;else if(h2(R,k[H]))break}q+=Q?f2(k,F,H):L(k,F,H).normalize("NFC"),F=H}return q}function f2(_,k,q){let F=0,H=!0;for(let P=k;P<q&&H;P++){let K=X.get(_[P]),$=K>>4;if(U.has(_[P])||(K&z)!==0||$!==0&&$<F)H=!1;F=$}if(H)return L(_,k,q);let Q=[];for(let P=k;P<q;P++)Q.push(...A(_[P]));let R=(P)=>X.get(P)>>4;for(let P=0;P<Q.length;){if(R(Q[P])===0){P++;continue}let K=P;while(K<Q.length&&R(Q[K])!==0)K++;let $=Q.slice(P,K).sort((W,Y)=>R(W)-R(Y));for(let W=0;W<$.length;W++)Q[P+W]=$[W];P=K}let Z=[],I=-1;for(let P of Q){let K=R(P);if(I>=0&&(Z.length-1===I||R(Z[Z.length-1])<K)){let $=M.get(Z[I]*1114112+P);if($!==void 0){Z[I]=$;continue}}if(K===0)I=Z.length;Z.push(P)}return L(Z,0,Z.length)}var a="\x00";function b(_){let k=_.brahmic,q=Array(128);for(let[y,g]of Object.entries(k.class_by_offset))q[Number(y)]=g;let F=new Map(Object.entries(_.extra)),H=new Map(Object.entries(_.urdu.letters)),Q=new Map(Object.entries(_.meetei.letters)),R=new Map(Object.entries(_.ol_chiki.letters)),Z=Array(128);for(let[y,g]of Object.entries(_.latin.letters))Z[y.charCodeAt(0)]=g;let I=_.latin.groups,P=_.latin.w_ambiguous_unless_before,K=new Map(Object.entries(_.class_map)),$=new Set(_.vowels),W=_.steps,Y=_.urdu;function l(y){return _.meetei.ranges.some(([g,h])=>y>=g&&y<=h)}function t(y){let g="",h=-1;for(let f=0;f<y.length;f++){let v=y[f],m=F.get(v);if(m!==void 0){g+=m,h=-1;continue}let G=y.charCodeAt(f);if(G<k.from||G>k.to)continue;let V=G&127,C=q[V];if(V===k.nukta_offset&&k.flap_offsets.includes(h)&&g)g=g.slice(0,-1)+k.flap_class;else if(V===k.virama_offset);else if(V===k.candrabindu_offset)g+=k.candrabindu_class;else if(C!==void 0)g+=C;if(C!==void 0)h=V;else if(V!==k.nukta_offset&&V!==k.virama_offset)h=-1}return g}function i(y){let g="",h=0;_:while(h<y.length){for(let[v,m]of I)if(y.startsWith(v,h)){g+=m,h+=v.length;continue _}let f=y.charCodeAt(h);if(f===99){let v=y[h+1];g+=v==="e"||v==="i"||v==="y"?"s":"k"}else if(f===119&&h>0&&!P.includes(y[h+1]??" "))g+="w";else g+=Z[f]??"";h++}return g}function u(y){let g=y[0]===Y.ain?"a":"";for(let f=0;f<y.length;f++){let v=y[f];if(v===Y.waw&&f>0&&!(f+1<y.length&&Y.waw_v_before.includes(y[f+1])))g+="w";else g+=H.get(v)??""}let h=y.length;if(h>1&&Y.final_he.includes(y[h-1])&&!Y.final_he_h_after.includes(y[h-2]))g=g.slice(0,-1)+"a";return g}function w(y){let g="";for(let h of y){if(h===_.ol_chiki.aspiration&&g&&!$.has(g[g.length-1]))continue;g+=R.get(h)??""}return g}function p(y){let g="";for(let h of y)g+=Q.get(h)??"";return g}function e(y){let g=!0;for(let v=0;v<y.length;v++)if(y.charCodeAt(v)>127){g=!1;break}if(g)return i(y);let h=!1,f=!1;for(let v=0;v<y.length;v++){let m=y.charCodeAt(v);if(m>=Y.from&&m<=Y.to)return u(y);if(m>=_.ol_chiki.from&&m<=_.ol_chiki.to)h=!0;else if(l(m))f=!0}if(h)return w(y);if(f)return p(y);return t(y)}function c(y){if(W["ng-k"]){let m="";for(let G=0;G<y.length;G++)if(m+=y[G],y[G]==="ṅ"&&y[G+1]!=="k")m+="k";y=m}let g="";for(let m=0;m<y.length;m++)g+=K.get(y[m])??y[m];if(!g)return g;let h=g[0];if(W["initial-vowels-alike"]&&$.has(h))h="a";let f=h;for(let m=1;m<g.length;m++){let G=g[m];if(W["drop-h"]&&G==="h")continue;if(W["drop-y"]&&G==="y")continue;if(W["drop-vowels"]&&$.has(G))continue;f+=G}if(W["drop-final-vowel"]&&f.length>1&&$.has(f[f.length-1]))f=f.slice(0,-1);let v=f[0];for(let m=1;m<f.length;m++)if(f[m]!==f[m-1])v+=f[m];return v}function s(y,g,h){let f=g>0?y[g-1]:"^",v=g+1<y.length?y[g+1]:"$";return(h.after===void 0||h.after.includes(f))&&(h.before===void 0||h.before.includes(v))&&!(h.not_before??"").includes(v)}function d(y){let g=e(y),h=[g];for(let f of _.branches){if(!g.includes(f.class))continue;let v=!1;for(let m=0;m<y.length;m++){let G=y.charCodeAt(m);if(G>=f.from&&G<=f.to){v=!0;break}}if(!v)continue;for(let m=0;m<g.length;m++)if(g[m]===f.class&&h.length*2<=_.max_keys&&s(g,m,f)){let G=f.also||a;h=h.concat(h.map((V)=>V.slice(0,m)+G+V.slice(m+1)))}}return h.map((f)=>f.replaceAll(a,""))}function o(y){let g="";for(let h=0;h<y.length;h++){let f=y.charCodeAt(h),v=_.digit_zeros.find((m)=>f>=m&&f<=m+9);if(v===void 0)return;g+=String.fromCharCode(48+f-v)}return g||void 0}return function(g){let h=o(g);if(h!==void 0)return[h];let f=[g],v=g.charCodeAt(0);for(let G of _.suffixes){if(v<G.from||v>G.to)continue;for(let V of G.endings)if(g.endsWith(V)&&g.length-V.length>=2){f.push(g.slice(0,-V.length));break}}let m=new Set;for(let G of f)for(let V of d(G))m.add(c(V));return m.delete(""),[...m].sort()}}var N=b(T),V2={compile:(_)=>b(_),normalize:(_)=>S(_),engine:N},Z2=T.version,m2=256;function S(_){let k="";for(let q of _)for(let F of A(q.codePointAt(0))){if(E(F))continue;if(F>=128)return j(_);k+=String.fromCodePoint(F)}return k.toLowerCase()}function D(_){let k=S(_);return k?N(k):[]}function J(_){return _.replace(/\([^)]*\)/g," ").split(/[^\S\ufeff]|[\x1c-\x1f\x85.\-,'’]/u).filter(Boolean)}function $2(_){let k=[""];for(let q of J(_)){let F=D(q);if(!F.length)continue;let H=[];for(let Q of k)for(let R of F)if(H.length<m2)H.push(Q?Q+" "+R:R);k=H}return k[0]===""?[]:k}var v2=T.joined.min_classes;function B2(_){let k=J(_).map(S).join("");if(!k)return[];return N(k).filter((q)=>[...q].length>=v2)}function K2(_,k){let q=J(_),F=J(k);if(!q.length||q.length!==F.length)return!1;return q.every((H,Q)=>{let R=new Set(D(F[Q]));return D(H).some((Z)=>R.has(Z))})}export{J as words,$2 as nameKeys,K2 as match,D as keys,B2 as joinedKeys,V2 as _internal,Z2 as RULES_VERSION,m2 as MAX_NAME_KEYS,v2 as JOINED_MIN_CLASSES};
|
|
1
|
+
var X={version:"2026-10-07",folds:["bn-case","brahmic-av-u","drop-vowels","drop-y","flap-r","gu-case","latin-ngh","latin-w-u","ml-case","nasal-all","ng-k","or-case","retroflex","s-c","ta-case","ta-k-h","te-case","ur-w-u","v-b"],brahmic:{from:2304,to:3455,class_by_offset:{"2":"ṁ","5":"a","6":"a","7":"i","8":"i","9":"u","10":"u","11":"r","12":"l","13":"e","14":"e","15":"e","16":"e","17":"o","18":"o","19":"o","20":"o","21":"k","22":"k","23":"k","24":"k","25":"ṅ","26":"c","27":"c","28":"c","29":"c","30":"ñ","31":"ṭ","32":"ṭ","33":"ṭ","34":"ṭ","35":"ṇ","36":"t","37":"t","38":"t","39":"t","40":"n","41":"n","42":"p","43":"p","44":"p","45":"p","46":"m","47":"y","48":"r","49":"r","50":"l","51":"l","52":"l","53":"v","54":"s","55":"s","56":"s","57":"h","62":"a","63":"i","64":"i","65":"u","66":"u","67":"r","68":"r","69":"e","70":"e","71":"e","72":"e","73":"o","74":"o","75":"o","76":"o","87":"o","96":"r","97":"l","98":"l","99":"l"},virama_offset:77,candrabindu_offset:1,candrabindu_class:"ṁ",nukta_offset:60,flap_offsets:[33,34],flap_class:"ṛ"},extra:{ৎ:"t",ৰ:"r",ৱ:"v",ୱ:"v","ੰ":"ṁ","ਂ":"ṁ",ൺ:"ṇ",ൻ:"n",ർ:"r",ൽ:"l",ൾ:"l",ൿ:"k",ൔ:"m",ൕ:"y",ൖ:"l",ड़:"ṛ",ढ़:"ṛ",ড়:"ṛ",ঢ়:"ṛ",ଡ଼:"ṛ",ଢ଼:"ṛ",ੜ:"ṛ"},urdu:{from:1536,to:1791,letters:{ا:"a",آ:"a",أ:"a",ب:"p",پ:"p",ت:"t",ٹ:"ṭ",ث:"s",ج:"c",چ:"c",ح:"h",خ:"k",د:"t",ڈ:"ṭ",ذ:"c",ر:"r",ڑ:"ṛ",ز:"c",ژ:"c",س:"s",ش:"s",ص:"s",ض:"c",ط:"t",ظ:"c",غ:"k",ف:"p",ق:"k",ک:"k",ك:"k",گ:"k",ل:"l",م:"m",ن:"n",ں:"ṁ",و:"v",ؤ:"u",ہ:"h",ه:"h",ۃ:"a",ی:"y",ي:"y",ى:"y",ئ:"y",ے:"e",ۓ:"e",ٻ:"p",ڀ:"p",ٺ:"ṭ",ٽ:"ṭ",ٿ:"t",ڄ:"c",ڃ:"ñ",ڇ:"c",ڊ:"ṭ",ڌ:"t",ڍ:"ṭ",ڏ:"t",ڙ:"ṛ",ڦ:"p",ڪ:"k",ڱ:"ṅ",ڳ:"k",ڻ:"ṇ",ٲ:"a",ٳ:"a",ۆ:"o",ۄ:"o",ێ:"e",ؠ:"y"},ain:"ع",waw:"و",waw_v_before:"اآ",final_he:"ہه",final_he_h_after:"اآو"},meetei:{ranges:[[43744,43775],[43968,44031]],letters:{ꯀ:"k",ꯁ:"s",ꯂ:"l",ꯃ:"m",ꯄ:"p",ꯅ:"n",ꯆ:"c",ꯇ:"t",ꯈ:"k",ꯉ:"ṅ",ꯊ:"t",ꯋ:"v",ꯌ:"y",ꯍ:"h",ꯎ:"u",ꯏ:"i",ꯐ:"p",ꯑ:"a",ꯒ:"k",ꯓ:"c",ꯔ:"r",ꯕ:"p",ꯖ:"c",ꯗ:"t",ꯘ:"k",ꯙ:"t",ꯚ:"p",ꯛ:"k",ꯜ:"l",ꯝ:"m",ꯞ:"p",ꯟ:"n",ꯠ:"t",ꯡ:"ṅ",ꯢ:"i","ꯣ":"o","ꯤ":"i","ꯥ":"a","ꯦ":"e","ꯧ":"o","ꯨ":"u","ꯩ":"e","ꯪ":"ṁ",ꫠ:"e",ꫡ:"o",ꫢ:"c",ꫣ:"ñ",ꫤ:"ṭ",ꫥ:"ṭ",ꫦ:"ṭ",ꫧ:"ṭ",ꫨ:"ṇ",ꫩ:"s",ꫪ:"s","ꫫ":"i","ꫬ":"u","ꫭ":"e","ꫮ":"o","ꫯ":"o"}},ol_chiki:{from:7248,to:7295,letters:{ᱚ:"o",ᱛ:"t",ᱜ:"k",ᱝ:"ṅ",ᱞ:"l",ᱟ:"a",ᱠ:"k",ᱡ:"c",ᱢ:"m",ᱣ:"v",ᱤ:"i",ᱥ:"s",ᱦ:"h",ᱧ:"ñ",ᱨ:"r",ᱩ:"u",ᱪ:"c",ᱫ:"t",ᱬ:"ṇ",ᱭ:"y",ᱮ:"e",ᱯ:"p",ᱰ:"ṭ",ᱱ:"n",ᱲ:"ṛ",ᱳ:"o",ᱴ:"ṭ",ᱵ:"p",ᱶ:"v",ᱷ:"h",ᱸ:"ṁ"},aspiration:"ᱷ"},latin:{groups:[["ngh","nĝ"],["chh","c"],["ch","c"],["jh","c"],["kh","k"],["gh","k"],["th","t"],["dh","t"],["ph","p"],["bh","p"],["sh","s"],["ck","k"],["aa","a"],["ai","e"],["ei","e"],["au","o"],["ee","i"],["oo","u"],["x","ks"]],letters:{a:"a",e:"e",i:"i",o:"o",u:"u",k:"k",g:"k",q:"k",j:"c",z:"c",t:"t",d:"t",n:"n",m:"m",p:"p",b:"p",f:"p",v:"v",w:"v",y:"y",r:"r",l:"l",s:"s",h:"h"},w_ambiguous_unless_before:"aeiou"},class_map:{m:"n",s:"c",v:"p",w:"p",ñ:"n",ĝ:"k",ṁ:"n",ṅ:"n",ṇ:"n",ṛ:"t",ṭ:"t"},vowels:"aeiou",steps:{"ng-k":!0,"initial-vowels-alike":!1,"drop-h":!1,"drop-y":!0,"drop-y-after-i":!1,"drop-vowels":!0,"drop-final-vowel":!1},branches:[{from:2304,to:3455,class:"v",also:"u",after:"aṁ",not_before:"aieo"},{from:1536,to:7295,class:"ṛ",also:"r"},{from:0,to:127,class:"ĝ",also:"h"},{from:0,to:127,class:"w",also:"u"},{from:2944,to:3071,class:"k",also:"h"},{from:1536,to:1791,class:"w",also:"u"}],joined:{min_classes:8,when:"the strict keys find nobody"},digit_zeros:[48,1632,1776,2406,2534,2662,2790,2918,3046,3174,3302,3430,7248,44016],max_keys:16,suffixes:[{from:2432,to:2559,endings:["য়ের","দের","এর","ের","কে","তে"]},{from:2688,to:2815,endings:["માં","નું","થી","ના","ની","ને"]},{from:3328,to:3455,endings:["യ്ക്ക്","ന്റെ","യുടെ","യിലെ","ക്ക്","ുടെ","യിൽ","ിലെ","ോട്","ിന്","ിൽ","നെ","യെ","ും"]},{from:2816,to:2943,endings:["ଙ୍କର","ଙ୍କୁ","ଙ୍କ","ରେ","ରୁ","କୁ"]},{from:2944,to:3071,endings:["ுக்கு","யின்","வின்","க்கு","யில்","ிடம்","ுடன்","ின்","ில்","ால்","ும்"]},{from:3072,to:3199,endings:["యొక్క","లోని","గారు","లో","కు","కి","ని","తో","ను"]}]};var W={unicode:"15.0.0",python:"3.12.13",ranges:[1536,1791,1872,1919,2304,3455,7248,7295,7376,7423,43232,43263,43744,44031,64336,65023,65136,65279,72448,72543],mn:[1552,1562,1611,1631,1648,1648,1750,1756,1759,1764,1767,1768,1770,1773,2304,2306,2362,2362,2364,2364,2369,2376,2381,2381,2385,2391,2402,2403,2433,2433,2492,2492,2497,2500,2509,2509,2530,2531,2558,2558,2561,2562,2620,2620,2625,2626,2631,2632,2635,2637,2641,2641,2672,2673,2677,2677,2689,2690,2748,2748,2753,2757,2759,2760,2765,2765,2786,2787,2810,2815,2817,2817,2876,2876,2879,2879,2881,2884,2893,2893,2901,2902,2914,2915,2946,2946,3008,3008,3021,3021,3072,3072,3076,3076,3132,3132,3134,3136,3142,3144,3146,3149,3157,3158,3170,3171,3201,3201,3260,3260,3263,3263,3270,3270,3276,3277,3298,3299,3328,3329,3387,3388,3393,3396,3405,3405,3426,3427,7376,7378,7380,7392,7394,7400,7405,7405,7412,7412,7416,7417,43232,43249,43263,43263,43756,43757,43766,43766,44005,44005,44008,44008,44013,44013],m:[1552,1562,1611,1631,1648,1648,1750,1756,1759,1764,1767,1768,1770,1773,2304,2307,2362,2364,2366,2383,2385,2391,2402,2403,2433,2435,2492,2492,2494,2500,2503,2504,2507,2509,2519,2519,2530,2531,2558,2558,2561,2563,2620,2620,2622,2626,2631,2632,2635,2637,2641,2641,2672,2673,2677,2677,2689,2691,2748,2748,2750,2757,2759,2761,2763,2765,2786,2787,2810,2815,2817,2819,2876,2876,2878,2884,2887,2888,2891,2893,2901,2903,2914,2915,2946,2946,3006,3010,3014,3016,3018,3021,3031,3031,3072,3076,3132,3132,3134,3140,3142,3144,3146,3149,3157,3158,3170,3171,3201,3203,3260,3260,3262,3268,3270,3272,3274,3277,3285,3286,3298,3299,3315,3315,3328,3331,3387,3388,3390,3396,3398,3400,3402,3405,3415,3415,3426,3427,7376,7378,7380,7400,7405,7405,7412,7412,7415,7417,43232,43249,43263,43263,43755,43759,43765,43766,44003,44010,44012,44013],l:[1568,1610,1646,1647,1649,1747,1749,1749,1765,1766,1774,1775,1786,1788,1791,1791,1872,1919,2308,2361,2365,2365,2384,2384,2392,2401,2417,2432,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2493,2493,2510,2510,2524,2525,2527,2529,2544,2545,2556,2556,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2649,2652,2654,2654,2674,2676,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2749,2749,2768,2768,2784,2785,2809,2809,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2877,2877,2908,2909,2911,2913,2929,2929,2947,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3024,3024,3077,3084,3086,3088,3090,3112,3114,3129,3133,3133,3160,3162,3165,3165,3168,3169,3200,3200,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3261,3261,3293,3294,3296,3297,3313,3314,3332,3340,3342,3344,3346,3386,3389,3389,3406,3406,3412,3414,3423,3425,3450,3455,7258,7293,7401,7404,7406,7411,7413,7414,7418,7418,43250,43255,43259,43259,43261,43262,43744,43754,43762,43764,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43824,43866,43868,43881,43888,44002,64336,64433,64467,64829,64848,64911,64914,64967,65008,65019,65136,65140,65142,65276],ccc:[1552,1559,230,1560,1560,30,1561,1561,31,1562,1562,32,1611,1611,27,1612,1612,28,1613,1613,29,1614,1614,30,1615,1615,31,1616,1616,32,1617,1617,33,1618,1618,34,1619,1620,230,1621,1622,220,1623,1627,230,1628,1628,220,1629,1630,230,1631,1631,220,1648,1648,35,1750,1756,230,1759,1762,230,1763,1763,220,1764,1764,230,1767,1768,230,1770,1770,220,1771,1772,230,1773,1773,220,2364,2364,7,2381,2381,9,2385,2385,230,2386,2386,220,2387,2388,230,2492,2492,7,2509,2509,9,2558,2558,230,2620,2620,7,2637,2637,9,2748,2748,7,2765,2765,9,2876,2876,7,2893,2893,9,3021,3021,9,3132,3132,7,3149,3149,9,3157,3157,84,3158,3158,91,3260,3260,7,3277,3277,9,3387,3388,9,3405,3405,9,7376,7378,230,7380,7380,1,7381,7385,220,7386,7387,230,7388,7391,220,7392,7392,230,7394,7400,1,7405,7405,220,7412,7412,230,7416,7417,230,43232,43249,230,43766,43766,9,44013,44013,9],decomp:{"1570":[1575,1619],"1571":[1575,1620],"1572":[1608,1620],"1573":[1575,1621],"1574":[1610,1620],"1728":[1749,1620],"1730":[1729,1620],"1747":[1746,1620],"2345":[2344,2364],"2353":[2352,2364],"2356":[2355,2364],"2392":[2325,2364],"2393":[2326,2364],"2394":[2327,2364],"2395":[2332,2364],"2396":[2337,2364],"2397":[2338,2364],"2398":[2347,2364],"2399":[2351,2364],"2507":[2503,2494],"2508":[2503,2519],"2524":[2465,2492],"2525":[2466,2492],"2527":[2479,2492],"2611":[2610,2620],"2614":[2616,2620],"2649":[2582,2620],"2650":[2583,2620],"2651":[2588,2620],"2654":[2603,2620],"2888":[2887,2902],"2891":[2887,2878],"2892":[2887,2903],"2908":[2849,2876],"2909":[2850,2876],"2964":[2962,3031],"3018":[3014,3006],"3019":[3015,3006],"3020":[3014,3031],"3144":[3142,3158],"3264":[3263,3285],"3271":[3270,3285],"3272":[3270,3286],"3274":[3270,3266],"3275":[3274,3285],"3402":[3398,3390],"3403":[3399,3390],"3404":[3398,3415]},excl:[2392,2393,2394,2395,2396,2397,2398,2399,2524,2525,2527,2611,2614,2649,2650,2651,2654,2908,2909]};var R2=W.unicode,x=1,k2=2,y2=4,O=8,T=new Map,Y=new Map,M=new Map;for(let _=0;_<W.ranges.length;_+=2)for(let g=W.ranges[_];g<=W.ranges[_+1];g++)T.set(g,0);var D=(_,g)=>{for(let f=0;f<_.length;f+=2)for(let G=_[f];G<=_[f+1];G++)T.set(G,T.get(G)|g)};D(W.mn,x);D(W.m,k2);D(W.l,y2);for(let _=0;_<W.ccc.length;_+=3)for(let g=W.ccc[_];g<=W.ccc[_+1];g++)T.set(g,T.get(g)|W.ccc[_+2]<<4);var v2=new Set(W.excl);for(let[_,g]of Object.entries(W.decomp)){let f=Number(_);if(Y.set(f,g),g.length===2&&!v2.has(f))M.set(g[0]*1114112+g[1],f),T.set(g[1],T.get(g[1])|O)}var j=(_)=>String.fromCodePoint(_);function h(_,g,f){let G="";for(let Q=g;Q<f;Q+=8192)G+=String.fromCodePoint(..._.slice(Q,Math.min(f,Q+8192)));return G}function E(_){let g=T.get(_);return g===void 0?/\p{Mn}/u.test(j(_)):(g&x)!==0}function z(_){if(!T.has(_))return Array.from(j(_).normalize("NFD"),(f)=>f.codePointAt(0));let g=Y.get(_);return g?g.flatMap(z):[_]}var m2=(_,g)=>_>>4===0&&(_&O)===0&&!Y.has(g);function n(_){let g=Array.from(_,(G)=>G.codePointAt(0)),f="";for(let G=0;G<g.length;){let Q=G+1,V=T.has(g[G]);for(;Q<g.length;Q++){let Z=T.get(g[Q]);if(Z===void 0)V=!1;else if(m2(Z,g[Q]))break}f+=V?q2(g,G,Q):h(g,G,Q).normalize("NFC"),G=Q}return f}function q2(_,g,f){let G=0,Q=!0;for(let R=g;R<f&&Q;R++){let I=T.get(_[R]),P=I>>4;if(Y.has(_[R])||(I&O)!==0||P!==0&&P<G)Q=!1;G=P}if(Q)return h(_,g,f);let V=[];for(let R=g;R<f;R++)V.push(...z(_[R]));let Z=(R)=>T.get(R)>>4;for(let R=0;R<V.length;){if(Z(V[R])===0){R++;continue}let I=R;while(I<V.length&&Z(V[I])!==0)I++;let P=V.slice(R,I).sort((U,J)=>Z(U)-Z(J));for(let U=0;U<P.length;U++)V[R+U]=P[U];R=I}let B=[],K=-1;for(let R of V){let I=Z(R);if(K>=0&&(B.length-1===K||Z(B[B.length-1])<I)){let P=M.get(B[K]*1114112+R);if(P!==void 0){B[K]=P;continue}}if(I===0)K=B.length;B.push(R)}return h(B,0,B.length)}var a="\x00";function f2(_){let g=_.brahmic,f=Array(128);for(let[y,k]of Object.entries(g.class_by_offset))f[Number(y)]=k;let G=new Map(Object.entries(_.extra)),Q=new Map(Object.entries(_.urdu.letters)),V=new Map(Object.entries(_.meetei.letters)),Z=new Map(Object.entries(_.ol_chiki.letters)),B=Array(128);for(let[y,k]of Object.entries(_.latin.letters))B[y.charCodeAt(0)]=k;let K=_.latin.groups,R=_.latin.w_ambiguous_unless_before,I=new Map(Object.entries(_.class_map)),P=new Set(_.vowels),U=_.steps,J=_.urdu;function t(y){return _.meetei.ranges.some(([k,v])=>y>=k&&y<=v)}function u(y){let k="",v=-1;for(let m=0;m<y.length;m++){let F=y[m],q=G.get(F);if(q!==void 0){k+=q,v=-1;continue}let H=y.charCodeAt(m);if(H<g.from||H>g.to)continue;let $=H&127,L=f[$];if($===g.nukta_offset&&g.flap_offsets.includes(v)&&k)k=k.slice(0,-1)+g.flap_class;else if($===g.virama_offset);else if($===g.candrabindu_offset)k+=g.candrabindu_class;else if(L!==void 0)k+=L;if(L!==void 0)v=$;else if($!==g.nukta_offset&&$!==g.virama_offset)v=-1}return k}function w(y){let k="",v=0;_:while(v<y.length){for(let[F,q]of K)if(y.startsWith(F,v)){k+=q,v+=F.length;continue _}let m=y.charCodeAt(v);if(m===99){let F=y[v+1];k+=F==="e"||F==="i"||F==="y"?"s":"k"}else if(m===119&&v>0&&!R.includes(y[v+1]??" "))k+="w";else k+=B[m]??"";v++}return k}function i(y){let k=y[0]===J.ain?"a":"";for(let m=0;m<y.length;m++){let F=y[m];if(F===J.waw&&m>0&&!(m+1<y.length&&J.waw_v_before.includes(y[m+1])))k+="w";else k+=Q.get(F)??""}let v=y.length;if(v>1&&J.final_he.includes(y[v-1])&&!J.final_he_h_after.includes(y[v-2]))k=k.slice(0,-1)+"a";return k}function p(y){let k="";for(let v of y){if(v===_.ol_chiki.aspiration&&k&&!P.has(k[k.length-1]))continue;k+=Z.get(v)??""}return k}function c(y){let k="";for(let v of y)k+=V.get(v)??"";return k}function e(y){let k=!0;for(let F=0;F<y.length;F++)if(y.charCodeAt(F)>127){k=!1;break}if(k)return w(y);let v=!1,m=!1;for(let F=0;F<y.length;F++){let q=y.charCodeAt(F);if(q>=J.from&&q<=J.to)return i(y);if(q>=_.ol_chiki.from&&q<=_.ol_chiki.to)v=!0;else if(t(q))m=!0}if(v)return p(y);if(m)return c(y);return u(y)}function s(y){if(U["ng-k"]){let q="";for(let H=0;H<y.length;H++)if(q+=y[H],y[H]==="ṅ"&&y[H+1]!=="k")q+="k";y=q}let k="";for(let q=0;q<y.length;q++)k+=I.get(y[q])??y[q];if(!k)return k;let v=k[0];if(U["initial-vowels-alike"]&&P.has(v))v="a";let m=v;for(let q=1;q<k.length;q++){let H=k[q];if(U["drop-h"]&&H==="h")continue;if(U["drop-y"]&&H==="y")continue;if(U["drop-vowels"]&&P.has(H))continue;m+=H}if(U["drop-final-vowel"]&&m.length>1&&P.has(m[m.length-1]))m=m.slice(0,-1);let F=m[0];for(let q=1;q<m.length;q++)if(m[q]!==m[q-1])F+=m[q];return F}function d(y,k,v){let m=k>0?y[k-1]:"^",F=k+1<y.length?y[k+1]:"$";return(v.after===void 0||v.after.includes(m))&&(v.before===void 0||v.before.includes(F))&&!(v.not_before??"").includes(F)}function r(y){let k=e(y),v=[k];for(let m of _.branches){if(!k.includes(m.class))continue;let F=!1;for(let q=0;q<y.length;q++){let H=y.charCodeAt(q);if(H>=m.from&&H<=m.to){F=!0;break}}if(!F)continue;for(let q=0;q<k.length;q++)if(k[q]===m.class&&v.length*2<=_.max_keys&&d(k,q,m)){let H=m.also||a;v=v.concat(v.map(($)=>$.slice(0,q)+H+$.slice(q+1)))}}return v.map((m)=>m.replaceAll(a,""))}function o(y){let k="";for(let v=0;v<y.length;v++){let m=y.charCodeAt(v),F=_.digit_zeros.find((q)=>m>=q&&m<=q+9);if(F===void 0)return;k+=String.fromCharCode(48+m-F)}return k||void 0}return function(k){let v=o(k);if(v!==void 0)return[v];let m=[k],F=k.charCodeAt(0);for(let H of _.suffixes){if(F<H.from||F>H.to)continue;for(let $ of H.endings)if(k.endsWith($)&&k.length-$.length>=2){m.push(k.slice(0,-$.length));break}}let q=new Set;for(let H of m)for(let $ of r(H))q.add(s($));return q.delete(""),[...q].sort()}}var A=f2(X),b=256;function N(_){let g="";for(let f of _)for(let G of z(f.codePointAt(0))){if(E(G))continue;if(G>=128)return n(_);g+=String.fromCodePoint(G)}return g.toLowerCase()}function l(_,g){let f=[""];for(let G of _){let Q=[];for(let V of f)for(let Z of G)if(Q.length<b)Q.push(V?V+g+Z:Z);f=Q}return f[0]===""?[]:f}var I2=X.version;function S(_){let g=N(_);return g?A(g):[]}function C(_){return _.replace(/\([^)]*\)/g," ").split(/[^\S\ufeff]|[\x1c-\x1f\x85.\-,'’]/u).filter(Boolean)}function U2(_){return l(C(_).map(S).filter((g)=>g.length)," ")}var F2=X.joined.min_classes;function T2(_){let g=C(_).map(N).join("");if(!g)return[];return A(g).filter((f)=>[...f].length>=F2)}function J2(_,g){let f=C(_),G=C(g);if(!f.length||f.length!==G.length)return!1;return f.every((Q,V)=>{let Z=new Set(S(G[V]));return S(Q).some((B)=>Z.has(B))})}export{C as words,U2 as nameKeys,J2 as match,S as keys,T2 as joinedKeys,I2 as RULES_VERSION,b as MAX_NAME_KEYS,F2 as JOINED_MIN_CLASSES};
|
package/dist/romanize.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var N={beam:{names:12,words:8},bos:"<s>",eos:"</s>",families:{names:{as:{file:"as.names.bin",group:"brahmic",lookup:669,pooled:"names-brahmic.bin",tag:"as"},bn:{file:"bn.names.bin",group:"brahmic",lookup:1785,pooled:"names-brahmic.bin",tag:"bn"},gom:{file:"gom.names.bin",group:"brahmic",lookup:17,pooled:"names-brahmic.bin",tag:"gom"},gu:{file:"gu.names.bin",group:"brahmic",lookup:131,pooled:"names-brahmic.bin",tag:"gu"},hi:{file:"hi.names.bin",group:"brahmic",lookup:1152,pooled:"names-brahmic.bin",tag:"hi"},kn:{file:"kn.names.bin",group:"brahmic",lookup:448,pooled:"names-brahmic.bin",tag:"kn"},ks:{file:"ks.names.bin",group:"arabic",lookup:130,pooled:"names-arabic.bin",tag:"ks"},mai:{file:"mai.names.bin",group:"brahmic",lookup:150,pooled:"names-brahmic.bin",tag:"mai"},ml:{file:"ml.names.bin",group:"brahmic",lookup:908,pooled:"names-brahmic.bin",tag:"ml"},mni:{file:"mni.names.bin",group:"brahmic",lookup:253,pooled:"names-brahmic.bin",tag:"mni"},mr:{file:"mr.names.bin",group:"brahmic",lookup:716,pooled:"names-brahmic.bin",tag:"mr"},ne:{file:"ne.names.bin",group:"brahmic",lookup:146,pooled:"names-brahmic.bin",tag:"ne"},or:{file:"or.names.bin",group:"brahmic",lookup:610,pooled:"names-brahmic.bin",tag:"or"},pa:{file:"pa.names.bin",group:"brahmic",lookup:996,pooled:"names-brahmic.bin",tag:"pa"},sa:{file:"sa.names.bin",group:"brahmic",lookup:66,pooled:"names-brahmic.bin",tag:"sa"},sat:{file:"sat.names.bin",group:"olchiki",lookup:407,pooled:"names-olchiki.bin",tag:"sat"},sd:{file:"sd.names.bin",group:"arabic",lookup:72,pooled:"names-arabic.bin",tag:"sd"},ta:{file:"ta.names.bin",group:"brahmic",lookup:3961,pooled:"names-brahmic.bin",tag:"ta"},te:{file:"te.names.bin",group:"brahmic",lookup:2126,pooled:"names-brahmic.bin",tag:"te"},ur:{file:"ur.names.bin",group:"arabic",lookup:1961,pooled:"names-arabic.bin",tag:"ur"}},words:{as:{file:"as.words.bin",group:"brahmic",lookup:0,pooled:"words-brahmic.bin",tag:"as:w"},bn:{file:"bn.words.bin",group:"brahmic",lookup:0,pooled:"words-brahmic.bin",tag:"bn:w"},brx:{file:"brx.words.bin",group:"brahmic",lookup:0,pooled:"words-brahmic.bin",tag:"brx:w"},doi:{file:"doi.words.bin",group:"brahmic",lookup:0,pooled:"words-brahmic.bin",tag:"doi:w"},gom:{file:"gom.words.bin",group:"brahmic",lookup:0,pooled:"words-brahmic.bin",tag:"gom:w"},gu:{file:"gu.words.bin",group:"brahmic",lookup:0,pooled:"words-brahmic.bin",tag:"gu:w"},hi:{file:"hi.words.bin",group:"brahmic",lookup:0,pooled:"words-brahmic.bin",tag:"hi:w"},kn:{file:"kn.words.bin",group:"brahmic",lookup:0,pooled:"words-brahmic.bin",tag:"kn:w"},ks:{file:"ks.words.bin",group:"arabic",lookup:0,pooled:"words-arabic.bin",tag:"ks:w"},mai:{file:"mai.words.bin",group:"brahmic",lookup:0,pooled:"words-brahmic.bin",tag:"mai:w"},ml:{file:"ml.words.bin",group:"brahmic",lookup:0,pooled:"words-brahmic.bin",tag:"ml:w"},mni:{file:"mni.words.bin",group:"brahmic",lookup:0,pooled:"words-brahmic.bin",tag:"mni:w"},mr:{file:"mr.words.bin",group:"brahmic",lookup:0,pooled:"words-brahmic.bin",tag:"mr:w"},ne:{file:"ne.words.bin",group:"brahmic",lookup:0,pooled:"words-brahmic.bin",tag:"ne:w"},or:{file:"or.words.bin",group:"brahmic",lookup:0,pooled:"words-brahmic.bin",tag:"or:w"},pa:{file:"pa.words.bin",group:"brahmic",lookup:0,pooled:"words-brahmic.bin",tag:"pa:w"},sa:{file:"sa.words.bin",group:"brahmic",lookup:0,pooled:"words-brahmic.bin",tag:"sa:w"},sd:{file:"sd.words.bin",group:"arabic",lookup:0,pooled:"words-arabic.bin",tag:"sd:w"},ta:{file:"ta.words.bin",group:"brahmic",lookup:0,pooled:"words-brahmic.bin",tag:"ta:w"},te:{file:"te.words.bin",group:"brahmic",lookup:0,pooled:"words-brahmic.bin",tag:"te:w"},ur:{file:"ur.words.bin",group:"arabic",lookup:0,pooled:"words-arabic.bin",tag:"ur:w"}}},files:{"as.names.bin":89974,"as.words.bin":235757,"bn.names.bin":182011,"bn.words.bin":377491,"brx.words.bin":208654,"doi.words.bin":48681,"gom.names.bin":9361,"gom.words.bin":324293,"gu.names.bin":38634,"gu.words.bin":370117,"hi.names.bin":162471,"hi.words.bin":468425,"kn.names.bin":73095,"kn.words.bin":273776,"ks.names.bin":36223,"ks.words.bin":445883,"mai.names.bin":40421,"mai.words.bin":381362,"ml.names.bin":133130,"ml.words.bin":342656,"mni.names.bin":12382,"mni.words.bin":133350,"mr.names.bin":119082,"mr.words.bin":327753,"names-arabic.bin":188775,"names-brahmic.bin":600155,"names-olchiki.bin":97591,"ne.names.bin":37468,"ne.words.bin":297072,"or.names.bin":83867,"or.words.bin":285972,"pa.names.bin":140045,"pa.words.bin":419426,"sa.names.bin":24600,"sa.words.bin":243993,"sat.names.bin":73397,"sd.names.bin":11896,"sd.words.bin":463475,"ta.names.bin":295030,"ta.words.bin":244532,"te.names.bin":229077,"te.words.bin":295013,"ur.names.bin":192400,"ur.words.bin":540255,"words-arabic.bin":1182486,"words-brahmic.bin":2679161,"words-olchiki.bin":61705},groups:{arabic:[[1536,1791]],brahmic:[[2304,3455],[43744,44031]],olchiki:[[7248,7295]]},max_letters:256,max_n:3,order:3,rules_version:"2026-10-09",unify:{from:[2432,3455],mask:127,to_block:2304},unknown_penalty:20,version:1};var C="0.9.0";function D(i){let n=(i??"").toLowerCase().split(/[-_]/)[0],a=n.length===3?"asm as ben bn guj gu hin hi kan kn kas ks mal ml mar mr nep ne ori or pan pa san sa snd sd tam ta tel te urd ur ".indexOf(n+" "):-1;return a>=0&&a%7===0?"asm as ben bn guj gu hin hi kan kn kas ks mal ml mar mr nep ne ori or pan pa san sa snd sd tam ta tel te urd ur ".slice(a+4,a+6):n}var z={unicode:"15.0.0",python:"3.12.13",ranges:[1536,1791,1872,1919,2304,3455,7248,7295,7376,7423,43232,43263,43744,44031,64336,65023,65136,65279,72448,72543],mn:[1552,1562,1611,1631,1648,1648,1750,1756,1759,1764,1767,1768,1770,1773,2304,2306,2362,2362,2364,2364,2369,2376,2381,2381,2385,2391,2402,2403,2433,2433,2492,2492,2497,2500,2509,2509,2530,2531,2558,2558,2561,2562,2620,2620,2625,2626,2631,2632,2635,2637,2641,2641,2672,2673,2677,2677,2689,2690,2748,2748,2753,2757,2759,2760,2765,2765,2786,2787,2810,2815,2817,2817,2876,2876,2879,2879,2881,2884,2893,2893,2901,2902,2914,2915,2946,2946,3008,3008,3021,3021,3072,3072,3076,3076,3132,3132,3134,3136,3142,3144,3146,3149,3157,3158,3170,3171,3201,3201,3260,3260,3263,3263,3270,3270,3276,3277,3298,3299,3328,3329,3387,3388,3393,3396,3405,3405,3426,3427,7376,7378,7380,7392,7394,7400,7405,7405,7412,7412,7416,7417,43232,43249,43263,43263,43756,43757,43766,43766,44005,44005,44008,44008,44013,44013],m:[1552,1562,1611,1631,1648,1648,1750,1756,1759,1764,1767,1768,1770,1773,2304,2307,2362,2364,2366,2383,2385,2391,2402,2403,2433,2435,2492,2492,2494,2500,2503,2504,2507,2509,2519,2519,2530,2531,2558,2558,2561,2563,2620,2620,2622,2626,2631,2632,2635,2637,2641,2641,2672,2673,2677,2677,2689,2691,2748,2748,2750,2757,2759,2761,2763,2765,2786,2787,2810,2815,2817,2819,2876,2876,2878,2884,2887,2888,2891,2893,2901,2903,2914,2915,2946,2946,3006,3010,3014,3016,3018,3021,3031,3031,3072,3076,3132,3132,3134,3140,3142,3144,3146,3149,3157,3158,3170,3171,3201,3203,3260,3260,3262,3268,3270,3272,3274,3277,3285,3286,3298,3299,3315,3315,3328,3331,3387,3388,3390,3396,3398,3400,3402,3405,3415,3415,3426,3427,7376,7378,7380,7400,7405,7405,7412,7412,7415,7417,43232,43249,43263,43263,43755,43759,43765,43766,44003,44010,44012,44013],l:[1568,1610,1646,1647,1649,1747,1749,1749,1765,1766,1774,1775,1786,1788,1791,1791,1872,1919,2308,2361,2365,2365,2384,2384,2392,2401,2417,2432,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2493,2493,2510,2510,2524,2525,2527,2529,2544,2545,2556,2556,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2649,2652,2654,2654,2674,2676,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2749,2749,2768,2768,2784,2785,2809,2809,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2877,2877,2908,2909,2911,2913,2929,2929,2947,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3024,3024,3077,3084,3086,3088,3090,3112,3114,3129,3133,3133,3160,3162,3165,3165,3168,3169,3200,3200,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3261,3261,3293,3294,3296,3297,3313,3314,3332,3340,3342,3344,3346,3386,3389,3389,3406,3406,3412,3414,3423,3425,3450,3455,7258,7293,7401,7404,7406,7411,7413,7414,7418,7418,43250,43255,43259,43259,43261,43262,43744,43754,43762,43764,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43824,43866,43868,43881,43888,44002,64336,64433,64467,64829,64848,64911,64914,64967,65008,65019,65136,65140,65142,65276],ccc:[1552,1559,230,1560,1560,30,1561,1561,31,1562,1562,32,1611,1611,27,1612,1612,28,1613,1613,29,1614,1614,30,1615,1615,31,1616,1616,32,1617,1617,33,1618,1618,34,1619,1620,230,1621,1622,220,1623,1627,230,1628,1628,220,1629,1630,230,1631,1631,220,1648,1648,35,1750,1756,230,1759,1762,230,1763,1763,220,1764,1764,230,1767,1768,230,1770,1770,220,1771,1772,230,1773,1773,220,2364,2364,7,2381,2381,9,2385,2385,230,2386,2386,220,2387,2388,230,2492,2492,7,2509,2509,9,2558,2558,230,2620,2620,7,2637,2637,9,2748,2748,7,2765,2765,9,2876,2876,7,2893,2893,9,3021,3021,9,3132,3132,7,3149,3149,9,3157,3157,84,3158,3158,91,3260,3260,7,3277,3277,9,3387,3388,9,3405,3405,9,7376,7378,230,7380,7380,1,7381,7385,220,7386,7387,230,7388,7391,220,7392,7392,230,7394,7400,1,7405,7405,220,7412,7412,230,7416,7417,230,43232,43249,230,43766,43766,9,44013,44013,9],decomp:{"1570":[1575,1619],"1571":[1575,1620],"1572":[1608,1620],"1573":[1575,1621],"1574":[1610,1620],"1728":[1749,1620],"1730":[1729,1620],"1747":[1746,1620],"2345":[2344,2364],"2353":[2352,2364],"2356":[2355,2364],"2392":[2325,2364],"2393":[2326,2364],"2394":[2327,2364],"2395":[2332,2364],"2396":[2337,2364],"2397":[2338,2364],"2398":[2347,2364],"2399":[2351,2364],"2507":[2503,2494],"2508":[2503,2519],"2524":[2465,2492],"2525":[2466,2492],"2527":[2479,2492],"2611":[2610,2620],"2614":[2616,2620],"2649":[2582,2620],"2650":[2583,2620],"2651":[2588,2620],"2654":[2603,2620],"2888":[2887,2902],"2891":[2887,2878],"2892":[2887,2903],"2908":[2849,2876],"2909":[2850,2876],"2964":[2962,3031],"3018":[3014,3006],"3019":[3015,3006],"3020":[3014,3031],"3144":[3142,3158],"3264":[3263,3285],"3271":[3270,3285],"3272":[3270,3286],"3274":[3270,3266],"3275":[3274,3285],"3402":[3398,3390],"3403":[3399,3390],"3404":[3398,3415]},excl:[2392,2393,2394,2395,2396,2397,2398,2399,2524,2525,2527,2611,2614,2649,2650,2651,2654,2908,2909]};var y2=z.unicode,a2=1,K=2,v=4,W=8,_=new Map,G=new Map,M=new Map;for(let i=0;i<z.ranges.length;i+=2)for(let n=z.ranges[i];n<=z.ranges[i+1];n++)_.set(n,0);var X=(i,n)=>{for(let a=0;a<i.length;a+=2)for(let b=i[a];b<=i[a+1];b++)_.set(b,_.get(b)|n)};X(z.mn,a2);X(z.m,K);X(z.l,v);for(let i=0;i<z.ccc.length;i+=3)for(let n=z.ccc[i];n<=z.ccc[i+1];n++)_.set(n,_.get(n)|z.ccc[i+2]<<4);var o2=new Set(z.excl);for(let[i,n]of Object.entries(z.decomp)){let a=Number(i);if(G.set(a,n),n.length===2&&!o2.has(a))M.set(n[0]*1114112+n[1],a),_.set(n[1],_.get(n[1])|W)}var Y=(i)=>String.fromCodePoint(i);function Q(i,n,a){let b="";for(let o=n;o<a;o+=8192)b+=String.fromCodePoint(...i.slice(o,Math.min(a,o+8192)));return b}function Z(i){let n=_.get(i);return n===void 0?/\p{M}/u.test(Y(i)):(n&K)!==0}function $(i){let n=_.get(i);return n===void 0?/\p{L}/u.test(Y(i)):(n&v)!==0}function q(i){if(!_.has(i))return Array.from(Y(i).normalize("NFD"),(a)=>a.codePointAt(0));let n=G.get(i);return n?n.flatMap(q):[i]}var e2=(i,n)=>i>>4===0&&(i&W)===0&&!G.has(n);function A(i){let n=Array.from(i,(b)=>b.codePointAt(0)),a="";for(let b=0;b<n.length;){let o=b+1,m=_.has(n[b]);for(;o<n.length;o++){let g=_.get(n[o]);if(g===void 0)m=!1;else if(e2(g,n[o]))break}a+=m?m2(n,b,o):Q(n,b,o).normalize("NFC"),b=o}return a}function m2(i,n,a){let b=0,o=!0;for(let s=n;s<a&&o;s++){let h=_.get(i[s]),e=h>>4;if(G.has(i[s])||(h&W)!==0||e!==0&&e<b)o=!1;b=e}if(o)return Q(i,n,a);let m=[];for(let s=n;s<a;s++)m.push(...q(i[s]));let g=(s)=>_.get(s)>>4;for(let s=0;s<m.length;){if(g(m[s])===0){s++;continue}let h=s;while(h<m.length&&g(m[h])!==0)h++;let e=m.slice(s,h).sort((r,w)=>g(r)-g(w));for(let r=0;r<e.length;r++)m[s+r]=e[r];s=h}let d=[],u=-1;for(let s of m){let h=g(s);if(u>=0&&(d.length-1===u||g(d[d.length-1])<h)){let e=M.get(d[u]*1114112+s);if(e!==void 0){d[u]=e;continue}}if(h===0)u=d.length;d.push(s)}return Q(d,0,d.length)}var k=N,G2=k.rules_version;function H2(i="words"){return Object.keys(k.families[i]).sort()}var b2=`https://cdn.jsdelivr.net/gh/micahchoo/indickit@v${C}/romanize/lang/`;async function V(i){let n=await fetch(i);if(!n.ok)throw Error(`romanize: ${i}: ${n.status}`);return n.arrayBuffer()}function r2(i){return async(n)=>{try{return await V(n)}catch{return V(new URL(n.href.slice(i.href.length),b2))}}}function s2(i){let n=D(i);return n==="kok"?"gom":n}var F=new Map;async function Q2(i,n="words",a={}){let b=s2(i),o=k.families[n][b];if(!o)throw Error(`romanize: no ${n} tables for "${i}"`);let m=new URL(a.base??"../romanize/lang/",import.meta.url),g=a.fetch??(a.base?V:r2(m)),d=`${m}${o.group}/${o.pooled}`;if(!F.has(d))F.set(d,g(new URL(`${o.group}/${o.pooled}`,m)));let[u,s]=await Promise.all([g(new URL(`${b}/${o.file}`,m)),F.get(d)]);return d2(b,n,new Uint8Array(u),new Uint8Array(s))}function d2(i,n,a,b){let o=k.families[n][i];if(!o)throw Error(`romanize: no ${n} tables for "${i}"`);let m=new p(a,b,o.tag,k.beam[n]),g=k.groups[o.group],d=(e)=>{let r=e.codePointAt(0);return r===8204||r===8205||g.some(([w,t])=>r>=w&&r<=t)},u=(e)=>{let r=e.codePointAt(0);return r===8204||r===8205||$(r)||Z(r)},s=(e,r=4)=>{let w=x(A(e)),t=[...w];if(t.length>k.max_letters){let l="";for(let y=0;y<t.length;y+=k.max_letters)l+=s(t.slice(y,y+k.max_letters).join(""),1)[0]??"";return l===""?[]:[l]}let I=m.lookup.get(w);if(I)return I.slice(0,r);return m.decode(h2(w),r).filter((l)=>l!=="")},h={lang:i,mode:n,word:s,text(e){let r=[...A(e)],w="";for(let t=0;t<r.length;){let I=r[t].codePointAt(0);if(!(d(r[t])&&($(I)||Z(I)))){w+=r[t++];continue}let l=t;while(l<r.length&&d(r[l])&&u(r[l]))l++;let y=r.slice(t,l).join("");w+=s(y,1)[0]??y,t=l}return w}};return Object.defineProperty(h,"_mix",{value:m}),h}var g2=/[\u200c\u200d]/gu;function x(i){return i.replace(g2,"")}function h2(i){let n=k.unify,a="";for(let b of i){let o=b.codePointAt(0);a+=o>=n.from[0]&&o<=n.from[1]?String.fromCodePoint(n.to_block+(o&n.mask)):b}return a}class J{b;pos=4;constructor(i){this.b=i;if(i[0]!==73||i[1]!==75||i[2]!==82||i[3]!==49)throw Error("romanize: not an IKR1 file")}varint(){let i=0,n=1;for(;;){let a=this.b[this.pos++];if(i+=(a&127)*n,a<128)return i;n*=128}}str(){let i=this.varint(),n=u2.decode(this.b.subarray(this.pos,this.pos+i));return this.pos+=i,n}float64(){let i=new DataView(this.b.buffer,this.b.byteOffset+this.pos,8).getFloat64(0,!0);return this.pos+=8,i}}var u2=new TextDecoder,L=2097152;function H(i,n){let a=0;for(let b=n;b<i.length;b++)a=a*L+(i[b]+1);return a}class B{vocab;levels=[];constructor(i,n,a){this.vocab=i.varint();for(let b=i.varint();b>0;b--){let o={stats:new Map,counts:new Map};for(let m=i.varint();m>0;m--){let g=[];for(let e=i.varint();e>0;e--)g.push(a.id(n[i.varint()]));let d=H(g,0),u=new Map,s=0,h=0;for(let e=i.varint();e>0;e--){h+=i.varint();let r=i.varint();u.set(a.id(n[h]),r),s+=r}o.stats.set(d,[s,u.size]),o.counts.set(d,u)}this.levels.push(o)}}stats(i){let n={counts:[],total:[],wb:[]};for(let a=0;a<this.levels.length;a++){let b=H(i,i.length-a),o=this.levels[a].stats.get(b);if(o&&o[1]!==0)n.counts[a]=this.levels[a].counts.get(b),n.total[a]=o[0],n.wb[a]=o[0]/(o[0]+o[1])}return n}prob(i,n){let a=1/(this.vocab+1);for(let b=0;b<this.levels.length;b++){let o=i.counts[b];if(!o)continue;let m=i.wb[b];a=m*(o.get(n)??0)/i.total[b]+(1-m)*a}return a}}class E{ids=new Map;strs=[];id(i){let n=this.ids.get(i);if(n===void 0)n=this.strs.length,this.ids.set(i,n),this.strs.push(i);return n}}function t2(i){let n=[];for(let a=i;a;a=a.parent)n.push(a.piece);return n.reverse().join("")}function l2(i,n){let a=[i.piece],b=[n.piece],o=i.parent,m=n.parent;while(o!==m)if(m===null||o!==null&&o.at>m.at)a.push(o.piece),o=o.parent;else if(o===null||m.at>o.at)b.push(m.piece),m=m.parent;else a.push(o.piece),o=o.parent,b.push(m.piece),m=m.parent;let g=a.reverse().join(""),d=b.reverse().join("");return g<d?-1:g>d?1:0}function U(i,n){if(i.score!==n.score)return i.score>n.score;let a=l2(i,n);if(a!==0)return a<0;return i.idx<n.idx}class R{k;all;n=0;best=[];constructor(i,n){this.k=i;this.all=n}closed(i){return!this.all&&this.best.length===this.k&&i+0.000000001<this.best[this.k-1].score}add(i,n,a,b){let o=this.n++,m=!this.all&&this.best.length===this.k;if(m&&i<this.best[this.k-1].score)return;let g={score:i,parent:n,piece:a,tok:b,idx:o};if(this.all){this.best.push(g);return}if(m&&!U(g,this.best[this.k-1]))return;let d=0,u=this.best.length;while(d<u){let s=d+u>>1;if(U(g,this.best[s]))u=s;else d=s+1}if(this.best.splice(d,0,g),this.best.length>this.k)this.best.pop()}}class p{beam;a;b;lam;start=[];eos;options=new Map;lookup=new Map;constructor(i,n,a,b){this.beam=b;let o=new E,m=new J(n),g=S(m);this.b=new B(m,g,o),m=new J(i),g=S(m),this.lam=m.float64(),this.a=new B(m,g,o);for(let u=m.varint();u>0;u--){let s=m.str(),h=[];for(let e=m.varint();e>0;e--)h.push(g[m.varint()]);this.lookup.set(s,h)}for(let u=0;u<k.order-2;u++)this.start.push(o.id(k.bos));this.start.push(o.id(`<s:${a}>`)),this.eos=o.id(k.eos);let d=new Set;for(let u of[this.a,this.b])for(let s of u.levels[0].counts.values())for(let h of s.keys()){if(h===this.eos||d.has(h))continue;d.add(h);let e=o.strs[h],r=e.indexOf("|"),w=e.slice(0,r),t=this.options.get(w)??[];t.push({tok:h,en:e.slice(r+1)}),this.options.set(w,t)}for(let u of this.options.values())u.sort((s,h)=>s.en<h.en?-1:s.en>h.en?1:0);if(this.start.length>2||o.strs.length>=L)throw Error("romanize: beyond the engine's limits")}logp(i,n,a){let b=Math.exp(Math.log(this.a.prob(i,a))),o=Math.exp(Math.log(this.b.prob(n,a)));return Math.log(this.lam*b+(1-this.lam)*o)}decode(i,n){let a=[...x(i)],b=k.order-1,o={score:0,parent:null,piece:"",at:0,ctx:this.start},m=Array.from({length:a.length+1},(e,r)=>new R(this.beam,r===a.length));m[0].add(0,null,"",-1);let g=(e)=>{if(e.tok<0)return e.parent.ctx;let r=[...e.parent.ctx,e.tok];return r.slice(r.length-b)},d=Array(k.max_n+1);for(let e=0;e<a.length;e++){let r=new Map;for(let w of m[e].best){let t=!1,I=!1;for(let f=1;f<=k.max_n&&e+f<=a.length;f++)if(d[f]=this.options.get(a.slice(e,e+f).join("")),d[f]?.length)t=!0,I||=!m[e+f].closed(w.score);if(t&&!I){for(let f=1;f<=k.max_n&&e+f<=a.length;f++)m[e+f].n+=d[f]?.length??0;continue}let l=e===0?o:{score:w.score,parent:w.parent,piece:w.piece,at:e,ctx:g(w)};if(!t){m[e+1].add(l.score-k.unknown_penalty,l,"",-1);continue}let y=H(l.ctx,0),j=r.get(y);if(!j)j={sa:this.a.stats(l.ctx),sb:this.b.stats(l.ctx),lp:[]},r.set(y,j);for(let f=1;f<=k.max_n&&e+f<=a.length;f++){let O=d[f];if(!O)continue;if(m[e+f].closed(l.score)){m[e+f].n+=O.length;continue}let P=j.lp[f];if(!P)P=O.map((T)=>this.logp(j.sa,j.sb,T.tok)),j.lp[f]=P;for(let T=0;T<O.length;T++)m[e+f].add(l.score+P[T],l,O[T].en,O[T].tok)}}}let u=new Map,s=new Map,h=new Map;for(let e of m[a.length].best){let r=e.parent===null?this.start:g(e),w=H(r,0),t=s.get(w);if(t===void 0)t=this.logp(this.a.stats(r),this.b.stats(r),this.eos),s.set(w,t);let I=e.score+t,l=e.piece;if(e.parent!==null){let j=h.get(e.parent);if(j===void 0)j=t2(e.parent),h.set(e.parent,j);l=j+e.piece}let y=u.get(l);if(y===void 0||I>y)u.set(l,I)}return[...u].sort((e,r)=>e[1]!==r[1]?r[1]-e[1]:e[0]<r[0]?-1:e[0]>r[0]?1:0).slice(0,n).map((e)=>e[0])}}function S(i){let n=[];for(let a=i.varint();a>0;a--)n.push(i.str());return n}function W2(i,n,a){return i._mix.decode(n,a)}export{h2 as unify,Q2 as load,H2 as languages,d2 as fromBytes,W2 as _decode,G2 as RULES_VERSION,b2 as CDN};
|
|
1
|
+
var K={beam:{names:12,words:8},bos:"<s>",eos:"</s>",families:{names:{as:{file:"as.names.bin",group:"brahmic",lookup:669,pooled:"names-brahmic.bin",tag:"as"},bn:{file:"bn.names.bin",group:"brahmic",lookup:1785,pooled:"names-brahmic.bin",tag:"bn"},gom:{file:"gom.names.bin",group:"brahmic",lookup:17,pooled:"names-brahmic.bin",tag:"gom"},gu:{file:"gu.names.bin",group:"brahmic",lookup:131,pooled:"names-brahmic.bin",tag:"gu"},hi:{file:"hi.names.bin",group:"brahmic",lookup:1152,pooled:"names-brahmic.bin",tag:"hi"},kn:{file:"kn.names.bin",group:"brahmic",lookup:448,pooled:"names-brahmic.bin",tag:"kn"},ks:{file:"ks.names.bin",group:"arabic",lookup:130,pooled:"names-arabic.bin",tag:"ks"},mai:{file:"mai.names.bin",group:"brahmic",lookup:150,pooled:"names-brahmic.bin",tag:"mai"},ml:{file:"ml.names.bin",group:"brahmic",lookup:908,pooled:"names-brahmic.bin",tag:"ml"},mni:{file:"mni.names.bin",group:"brahmic",lookup:253,pooled:"names-brahmic.bin",tag:"mni"},mr:{file:"mr.names.bin",group:"brahmic",lookup:716,pooled:"names-brahmic.bin",tag:"mr"},ne:{file:"ne.names.bin",group:"brahmic",lookup:146,pooled:"names-brahmic.bin",tag:"ne"},or:{file:"or.names.bin",group:"brahmic",lookup:610,pooled:"names-brahmic.bin",tag:"or"},pa:{file:"pa.names.bin",group:"brahmic",lookup:996,pooled:"names-brahmic.bin",tag:"pa"},sa:{file:"sa.names.bin",group:"brahmic",lookup:66,pooled:"names-brahmic.bin",tag:"sa"},sat:{file:"sat.names.bin",group:"olchiki",lookup:407,pooled:"names-olchiki.bin",tag:"sat"},sd:{file:"sd.names.bin",group:"arabic",lookup:72,pooled:"names-arabic.bin",tag:"sd"},ta:{file:"ta.names.bin",group:"brahmic",lookup:3961,pooled:"names-brahmic.bin",tag:"ta"},te:{file:"te.names.bin",group:"brahmic",lookup:2126,pooled:"names-brahmic.bin",tag:"te"},ur:{file:"ur.names.bin",group:"arabic",lookup:1961,pooled:"names-arabic.bin",tag:"ur"}},words:{as:{file:"as.words.bin",group:"brahmic",lookup:0,pooled:"words-brahmic.bin",tag:"as:w"},bn:{file:"bn.words.bin",group:"brahmic",lookup:0,pooled:"words-brahmic.bin",tag:"bn:w"},brx:{file:"brx.words.bin",group:"brahmic",lookup:0,pooled:"words-brahmic.bin",tag:"brx:w"},doi:{file:"doi.words.bin",group:"brahmic",lookup:0,pooled:"words-brahmic.bin",tag:"doi:w"},gom:{file:"gom.words.bin",group:"brahmic",lookup:0,pooled:"words-brahmic.bin",tag:"gom:w"},gu:{file:"gu.words.bin",group:"brahmic",lookup:0,pooled:"words-brahmic.bin",tag:"gu:w"},hi:{file:"hi.words.bin",group:"brahmic",lookup:0,pooled:"words-brahmic.bin",tag:"hi:w"},kn:{file:"kn.words.bin",group:"brahmic",lookup:0,pooled:"words-brahmic.bin",tag:"kn:w"},ks:{file:"ks.words.bin",group:"arabic",lookup:0,pooled:"words-arabic.bin",tag:"ks:w"},mai:{file:"mai.words.bin",group:"brahmic",lookup:0,pooled:"words-brahmic.bin",tag:"mai:w"},ml:{file:"ml.words.bin",group:"brahmic",lookup:0,pooled:"words-brahmic.bin",tag:"ml:w"},mni:{file:"mni.words.bin",group:"brahmic",lookup:0,pooled:"words-brahmic.bin",tag:"mni:w"},mr:{file:"mr.words.bin",group:"brahmic",lookup:0,pooled:"words-brahmic.bin",tag:"mr:w"},ne:{file:"ne.words.bin",group:"brahmic",lookup:0,pooled:"words-brahmic.bin",tag:"ne:w"},or:{file:"or.words.bin",group:"brahmic",lookup:0,pooled:"words-brahmic.bin",tag:"or:w"},pa:{file:"pa.words.bin",group:"brahmic",lookup:0,pooled:"words-brahmic.bin",tag:"pa:w"},sa:{file:"sa.words.bin",group:"brahmic",lookup:0,pooled:"words-brahmic.bin",tag:"sa:w"},sd:{file:"sd.words.bin",group:"arabic",lookup:0,pooled:"words-arabic.bin",tag:"sd:w"},ta:{file:"ta.words.bin",group:"brahmic",lookup:0,pooled:"words-brahmic.bin",tag:"ta:w"},te:{file:"te.words.bin",group:"brahmic",lookup:0,pooled:"words-brahmic.bin",tag:"te:w"},ur:{file:"ur.words.bin",group:"arabic",lookup:0,pooled:"words-arabic.bin",tag:"ur:w"}}},files:{"as.names.bin":89974,"as.words.bin":235757,"bn.names.bin":182011,"bn.words.bin":377491,"brx.words.bin":208654,"doi.words.bin":48681,"gom.names.bin":9361,"gom.words.bin":324293,"gu.names.bin":38634,"gu.words.bin":370117,"hi.names.bin":162471,"hi.words.bin":468425,"kn.names.bin":73095,"kn.words.bin":273776,"ks.names.bin":36223,"ks.words.bin":445883,"mai.names.bin":40421,"mai.words.bin":381362,"ml.names.bin":133130,"ml.words.bin":342656,"mni.names.bin":12382,"mni.words.bin":133350,"mr.names.bin":119082,"mr.words.bin":327753,"names-arabic.bin":188775,"names-brahmic.bin":600155,"names-olchiki.bin":97591,"ne.names.bin":37468,"ne.words.bin":297072,"or.names.bin":83867,"or.words.bin":285972,"pa.names.bin":140045,"pa.words.bin":419426,"sa.names.bin":24600,"sa.words.bin":243993,"sat.names.bin":73397,"sd.names.bin":11896,"sd.words.bin":463475,"ta.names.bin":295030,"ta.words.bin":244532,"te.names.bin":229077,"te.words.bin":295013,"ur.names.bin":192400,"ur.words.bin":540255,"words-arabic.bin":1182486,"words-brahmic.bin":2679161,"words-olchiki.bin":61705},groups:{arabic:[[1536,1791]],brahmic:[[2304,3455],[43744,44031]],olchiki:[[7248,7295]]},max_letters:256,max_n:3,order:3,rules_version:"2026-10-09",unify:{from:[2432,3455],mask:127,to_block:2304},unknown_penalty:20,version:1};var N="0.10.0";function C(i){let n=(i??"").toLowerCase().split(/[-_]/)[0];if(n==="kok")return"gom";let a=n.length===3?"asm as ben bn guj gu hin hi kan kn kas ks mal ml mar mr nep ne ori or pan pa san sa snd sd tam ta tel te urd ur ".indexOf(n+" "):-1;return a>=0&&a%7===0?"asm as ben bn guj gu hin hi kan kn kas ks mal ml mar mr nep ne ori or pan pa san sa snd sd tam ta tel te urd ur ".slice(a+4,a+6):n}var z={unicode:"15.0.0",python:"3.12.13",ranges:[1536,1791,1872,1919,2304,3455,7248,7295,7376,7423,43232,43263,43744,44031,64336,65023,65136,65279,72448,72543],mn:[1552,1562,1611,1631,1648,1648,1750,1756,1759,1764,1767,1768,1770,1773,2304,2306,2362,2362,2364,2364,2369,2376,2381,2381,2385,2391,2402,2403,2433,2433,2492,2492,2497,2500,2509,2509,2530,2531,2558,2558,2561,2562,2620,2620,2625,2626,2631,2632,2635,2637,2641,2641,2672,2673,2677,2677,2689,2690,2748,2748,2753,2757,2759,2760,2765,2765,2786,2787,2810,2815,2817,2817,2876,2876,2879,2879,2881,2884,2893,2893,2901,2902,2914,2915,2946,2946,3008,3008,3021,3021,3072,3072,3076,3076,3132,3132,3134,3136,3142,3144,3146,3149,3157,3158,3170,3171,3201,3201,3260,3260,3263,3263,3270,3270,3276,3277,3298,3299,3328,3329,3387,3388,3393,3396,3405,3405,3426,3427,7376,7378,7380,7392,7394,7400,7405,7405,7412,7412,7416,7417,43232,43249,43263,43263,43756,43757,43766,43766,44005,44005,44008,44008,44013,44013],m:[1552,1562,1611,1631,1648,1648,1750,1756,1759,1764,1767,1768,1770,1773,2304,2307,2362,2364,2366,2383,2385,2391,2402,2403,2433,2435,2492,2492,2494,2500,2503,2504,2507,2509,2519,2519,2530,2531,2558,2558,2561,2563,2620,2620,2622,2626,2631,2632,2635,2637,2641,2641,2672,2673,2677,2677,2689,2691,2748,2748,2750,2757,2759,2761,2763,2765,2786,2787,2810,2815,2817,2819,2876,2876,2878,2884,2887,2888,2891,2893,2901,2903,2914,2915,2946,2946,3006,3010,3014,3016,3018,3021,3031,3031,3072,3076,3132,3132,3134,3140,3142,3144,3146,3149,3157,3158,3170,3171,3201,3203,3260,3260,3262,3268,3270,3272,3274,3277,3285,3286,3298,3299,3315,3315,3328,3331,3387,3388,3390,3396,3398,3400,3402,3405,3415,3415,3426,3427,7376,7378,7380,7400,7405,7405,7412,7412,7415,7417,43232,43249,43263,43263,43755,43759,43765,43766,44003,44010,44012,44013],l:[1568,1610,1646,1647,1649,1747,1749,1749,1765,1766,1774,1775,1786,1788,1791,1791,1872,1919,2308,2361,2365,2365,2384,2384,2392,2401,2417,2432,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2493,2493,2510,2510,2524,2525,2527,2529,2544,2545,2556,2556,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2649,2652,2654,2654,2674,2676,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2749,2749,2768,2768,2784,2785,2809,2809,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2877,2877,2908,2909,2911,2913,2929,2929,2947,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3024,3024,3077,3084,3086,3088,3090,3112,3114,3129,3133,3133,3160,3162,3165,3165,3168,3169,3200,3200,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3261,3261,3293,3294,3296,3297,3313,3314,3332,3340,3342,3344,3346,3386,3389,3389,3406,3406,3412,3414,3423,3425,3450,3455,7258,7293,7401,7404,7406,7411,7413,7414,7418,7418,43250,43255,43259,43259,43261,43262,43744,43754,43762,43764,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43824,43866,43868,43881,43888,44002,64336,64433,64467,64829,64848,64911,64914,64967,65008,65019,65136,65140,65142,65276],ccc:[1552,1559,230,1560,1560,30,1561,1561,31,1562,1562,32,1611,1611,27,1612,1612,28,1613,1613,29,1614,1614,30,1615,1615,31,1616,1616,32,1617,1617,33,1618,1618,34,1619,1620,230,1621,1622,220,1623,1627,230,1628,1628,220,1629,1630,230,1631,1631,220,1648,1648,35,1750,1756,230,1759,1762,230,1763,1763,220,1764,1764,230,1767,1768,230,1770,1770,220,1771,1772,230,1773,1773,220,2364,2364,7,2381,2381,9,2385,2385,230,2386,2386,220,2387,2388,230,2492,2492,7,2509,2509,9,2558,2558,230,2620,2620,7,2637,2637,9,2748,2748,7,2765,2765,9,2876,2876,7,2893,2893,9,3021,3021,9,3132,3132,7,3149,3149,9,3157,3157,84,3158,3158,91,3260,3260,7,3277,3277,9,3387,3388,9,3405,3405,9,7376,7378,230,7380,7380,1,7381,7385,220,7386,7387,230,7388,7391,220,7392,7392,230,7394,7400,1,7405,7405,220,7412,7412,230,7416,7417,230,43232,43249,230,43766,43766,9,44013,44013,9],decomp:{"1570":[1575,1619],"1571":[1575,1620],"1572":[1608,1620],"1573":[1575,1621],"1574":[1610,1620],"1728":[1749,1620],"1730":[1729,1620],"1747":[1746,1620],"2345":[2344,2364],"2353":[2352,2364],"2356":[2355,2364],"2392":[2325,2364],"2393":[2326,2364],"2394":[2327,2364],"2395":[2332,2364],"2396":[2337,2364],"2397":[2338,2364],"2398":[2347,2364],"2399":[2351,2364],"2507":[2503,2494],"2508":[2503,2519],"2524":[2465,2492],"2525":[2466,2492],"2527":[2479,2492],"2611":[2610,2620],"2614":[2616,2620],"2649":[2582,2620],"2650":[2583,2620],"2651":[2588,2620],"2654":[2603,2620],"2888":[2887,2902],"2891":[2887,2878],"2892":[2887,2903],"2908":[2849,2876],"2909":[2850,2876],"2964":[2962,3031],"3018":[3014,3006],"3019":[3015,3006],"3020":[3014,3031],"3144":[3142,3158],"3264":[3263,3285],"3271":[3270,3285],"3272":[3270,3286],"3274":[3270,3266],"3275":[3274,3285],"3402":[3398,3390],"3403":[3399,3390],"3404":[3398,3415]},excl:[2392,2393,2394,2395,2396,2397,2398,2399,2524,2525,2527,2611,2614,2649,2650,2651,2654,2908,2909]};var _2=z.unicode,a2=1,D=2,v=4,W=8,_=new Map,P=new Map,M=new Map;for(let i=0;i<z.ranges.length;i+=2)for(let n=z.ranges[i];n<=z.ranges[i+1];n++)_.set(n,0);var X=(i,n)=>{for(let a=0;a<i.length;a+=2)for(let b=i[a];b<=i[a+1];b++)_.set(b,_.get(b)|n)};X(z.mn,a2);X(z.m,D);X(z.l,v);for(let i=0;i<z.ccc.length;i+=3)for(let n=z.ccc[i];n<=z.ccc[i+1];n++)_.set(n,_.get(n)|z.ccc[i+2]<<4);var o2=new Set(z.excl);for(let[i,n]of Object.entries(z.decomp)){let a=Number(i);if(P.set(a,n),n.length===2&&!o2.has(a))M.set(n[0]*1114112+n[1],a),_.set(n[1],_.get(n[1])|W)}var Y=(i)=>String.fromCodePoint(i);function Q(i,n,a){let b="";for(let o=n;o<a;o+=8192)b+=String.fromCodePoint(...i.slice(o,Math.min(a,o+8192)));return b}function Z(i){let n=_.get(i);return n===void 0?/\p{M}/u.test(Y(i)):(n&D)!==0}function $(i){let n=_.get(i);return n===void 0?/\p{L}/u.test(Y(i)):(n&v)!==0}function q(i){if(!_.has(i))return Array.from(Y(i).normalize("NFD"),(a)=>a.codePointAt(0));let n=P.get(i);return n?n.flatMap(q):[i]}var e2=(i,n)=>i>>4===0&&(i&W)===0&&!P.has(n);function A(i){let n=Array.from(i,(b)=>b.codePointAt(0)),a="";for(let b=0;b<n.length;){let o=b+1,m=_.has(n[b]);for(;o<n.length;o++){let g=_.get(n[o]);if(g===void 0)m=!1;else if(e2(g,n[o]))break}a+=m?m2(n,b,o):Q(n,b,o).normalize("NFC"),b=o}return a}function m2(i,n,a){let b=0,o=!0;for(let s=n;s<a&&o;s++){let h=_.get(i[s]),e=h>>4;if(P.has(i[s])||(h&W)!==0||e!==0&&e<b)o=!1;b=e}if(o)return Q(i,n,a);let m=[];for(let s=n;s<a;s++)m.push(...q(i[s]));let g=(s)=>_.get(s)>>4;for(let s=0;s<m.length;){if(g(m[s])===0){s++;continue}let h=s;while(h<m.length&&g(m[h])!==0)h++;let e=m.slice(s,h).sort((r,w)=>g(r)-g(w));for(let r=0;r<e.length;r++)m[s+r]=e[r];s=h}let d=[],u=-1;for(let s of m){let h=g(s);if(u>=0&&(d.length-1===u||g(d[d.length-1])<h)){let e=M.get(d[u]*1114112+s);if(e!==void 0){d[u]=e;continue}}if(h===0)u=d.length;d.push(s)}return Q(d,0,d.length)}var k=K,O2=k.rules_version;function P2(i="words"){return Object.keys(k.families[i]).sort()}var b2=`https://cdn.jsdelivr.net/gh/micahchoo/indickit@v${N}/romanize/lang/`;async function V(i){let n=await fetch(i);if(!n.ok)throw Error(`romanize: ${i}: ${n.status}`);return n.arrayBuffer()}function r2(i){return async(n)=>{try{return await V(n)}catch{return V(new URL(n.href.slice(i.href.length),b2))}}}var F=new Map;async function H2(i,n="words",a={}){let b=C(i),o=k.families[n][b];if(!o)throw Error(`romanize: no ${n} tables for "${i}"`);let m=new URL(a.base??"../romanize/lang/",import.meta.url),g=a.fetch??(a.base?V:r2(m)),d=`${m}${o.group}/${o.pooled}`;if(!F.has(d))F.set(d,g(new URL(`${o.group}/${o.pooled}`,m)));let[u,s]=await Promise.all([g(new URL(`${b}/${o.file}`,m)),F.get(d)]);return s2(b,n,new Uint8Array(u),new Uint8Array(s))}function s2(i,n,a,b){let o=k.families[n][i];if(!o)throw Error(`romanize: no ${n} tables for "${i}"`);let m=new p(a,b,o.tag,k.beam[n]),g=k.groups[o.group],d=(e)=>{let r=e.codePointAt(0);return r===8204||r===8205||g.some(([w,t])=>r>=w&&r<=t)},u=(e)=>{let r=e.codePointAt(0);return r===8204||r===8205||$(r)||Z(r)},s=(e,r=4)=>{let w=x(A(e)),t=[...w];if(t.length>k.max_letters){let l="";for(let y=0;y<t.length;y+=k.max_letters)l+=s(t.slice(y,y+k.max_letters).join(""),1)[0]??"";return l===""?[]:[l]}let I=m.lookup.get(w);if(I)return I.slice(0,r);return m.decode(g2(w),r).filter((l)=>l!=="")},h={lang:i,mode:n,word:s,text(e){let r=[...A(e)],w="";for(let t=0;t<r.length;){let I=r[t].codePointAt(0);if(!(d(r[t])&&($(I)||Z(I)))){w+=r[t++];continue}let l=t;while(l<r.length&&d(r[l])&&u(r[l]))l++;let y=r.slice(t,l).join("");w+=s(y,1)[0]??y,t=l}return w}};return Object.defineProperty(h,"_mix",{value:m}),h}var d2=/[\u200c\u200d]/gu;function x(i){return i.replace(d2,"")}function g2(i){let n=k.unify,a="";for(let b of i){let o=b.codePointAt(0);a+=o>=n.from[0]&&o<=n.from[1]?String.fromCodePoint(n.to_block+(o&n.mask)):b}return a}class J{b;pos=4;constructor(i){this.b=i;if(i[0]!==73||i[1]!==75||i[2]!==82||i[3]!==49)throw Error("romanize: not an IKR1 file")}varint(){let i=0,n=1;for(;;){let a=this.b[this.pos++];if(i+=(a&127)*n,a<128)return i;n*=128}}str(){let i=this.varint(),n=h2.decode(this.b.subarray(this.pos,this.pos+i));return this.pos+=i,n}float64(){let i=new DataView(this.b.buffer,this.b.byteOffset+this.pos,8).getFloat64(0,!0);return this.pos+=8,i}}var h2=new TextDecoder,L=2097152;function H(i,n){let a=0;for(let b=n;b<i.length;b++)a=a*L+(i[b]+1);return a}class B{vocab;levels=[];constructor(i,n,a){this.vocab=i.varint();for(let b=i.varint();b>0;b--){let o={stats:new Map,counts:new Map};for(let m=i.varint();m>0;m--){let g=[];for(let e=i.varint();e>0;e--)g.push(a.id(n[i.varint()]));let d=H(g,0),u=new Map,s=0,h=0;for(let e=i.varint();e>0;e--){h+=i.varint();let r=i.varint();u.set(a.id(n[h]),r),s+=r}o.stats.set(d,[s,u.size]),o.counts.set(d,u)}this.levels.push(o)}}stats(i){let n={counts:[],total:[],wb:[]};for(let a=0;a<this.levels.length;a++){let b=H(i,i.length-a),o=this.levels[a].stats.get(b);if(o&&o[1]!==0)n.counts[a]=this.levels[a].counts.get(b),n.total[a]=o[0],n.wb[a]=o[0]/(o[0]+o[1])}return n}prob(i,n){let a=1/(this.vocab+1);for(let b=0;b<this.levels.length;b++){let o=i.counts[b];if(!o)continue;let m=i.wb[b];a=m*(o.get(n)??0)/i.total[b]+(1-m)*a}return a}}class E{ids=new Map;strs=[];id(i){let n=this.ids.get(i);if(n===void 0)n=this.strs.length,this.ids.set(i,n),this.strs.push(i);return n}}function u2(i){let n=[];for(let a=i;a;a=a.parent)n.push(a.piece);return n.reverse().join("")}function t2(i,n){let a=[i.piece],b=[n.piece],o=i.parent,m=n.parent;while(o!==m)if(m===null||o!==null&&o.at>m.at)a.push(o.piece),o=o.parent;else if(o===null||m.at>o.at)b.push(m.piece),m=m.parent;else a.push(o.piece),o=o.parent,b.push(m.piece),m=m.parent;let g=a.reverse().join(""),d=b.reverse().join("");return g<d?-1:g>d?1:0}function U(i,n){if(i.score!==n.score)return i.score>n.score;let a=t2(i,n);if(a!==0)return a<0;return i.idx<n.idx}class R{k;all;n=0;best=[];constructor(i,n){this.k=i;this.all=n}closed(i){return!this.all&&this.best.length===this.k&&i+0.000000001<this.best[this.k-1].score}add(i,n,a,b){let o=this.n++,m=!this.all&&this.best.length===this.k;if(m&&i<this.best[this.k-1].score)return;let g={score:i,parent:n,piece:a,tok:b,idx:o};if(this.all){this.best.push(g);return}if(m&&!U(g,this.best[this.k-1]))return;let d=0,u=this.best.length;while(d<u){let s=d+u>>1;if(U(g,this.best[s]))u=s;else d=s+1}if(this.best.splice(d,0,g),this.best.length>this.k)this.best.pop()}}class p{beam;a;b;lam;start=[];eos;options=new Map;lookup=new Map;constructor(i,n,a,b){this.beam=b;let o=new E,m=new J(n),g=S(m);this.b=new B(m,g,o),m=new J(i),g=S(m),this.lam=m.float64(),this.a=new B(m,g,o);for(let u=m.varint();u>0;u--){let s=m.str(),h=[];for(let e=m.varint();e>0;e--)h.push(g[m.varint()]);this.lookup.set(s,h)}for(let u=0;u<k.order-2;u++)this.start.push(o.id(k.bos));this.start.push(o.id(`<s:${a}>`)),this.eos=o.id(k.eos);let d=new Set;for(let u of[this.a,this.b])for(let s of u.levels[0].counts.values())for(let h of s.keys()){if(h===this.eos||d.has(h))continue;d.add(h);let e=o.strs[h],r=e.indexOf("|"),w=e.slice(0,r),t=this.options.get(w)??[];t.push({tok:h,en:e.slice(r+1)}),this.options.set(w,t)}for(let u of this.options.values())u.sort((s,h)=>s.en<h.en?-1:s.en>h.en?1:0);if(this.start.length>2||o.strs.length>=L)throw Error("romanize: beyond the engine's limits")}logp(i,n,a){let b=Math.exp(Math.log(this.a.prob(i,a))),o=Math.exp(Math.log(this.b.prob(n,a)));return Math.log(this.lam*b+(1-this.lam)*o)}decode(i,n){let a=[...x(i)],b=k.order-1,o={score:0,parent:null,piece:"",at:0,ctx:this.start},m=Array.from({length:a.length+1},(e,r)=>new R(this.beam,r===a.length));m[0].add(0,null,"",-1);let g=(e)=>{if(e.tok<0)return e.parent.ctx;let r=[...e.parent.ctx,e.tok];return r.slice(r.length-b)},d=Array(k.max_n+1);for(let e=0;e<a.length;e++){let r=new Map;for(let w of m[e].best){let t=!1,I=!1;for(let f=1;f<=k.max_n&&e+f<=a.length;f++)if(d[f]=this.options.get(a.slice(e,e+f).join("")),d[f]?.length)t=!0,I||=!m[e+f].closed(w.score);if(t&&!I){for(let f=1;f<=k.max_n&&e+f<=a.length;f++)m[e+f].n+=d[f]?.length??0;continue}let l=e===0?o:{score:w.score,parent:w.parent,piece:w.piece,at:e,ctx:g(w)};if(!t){m[e+1].add(l.score-k.unknown_penalty,l,"",-1);continue}let y=H(l.ctx,0),j=r.get(y);if(!j)j={sa:this.a.stats(l.ctx),sb:this.b.stats(l.ctx),lp:[]},r.set(y,j);for(let f=1;f<=k.max_n&&e+f<=a.length;f++){let G=d[f];if(!G)continue;if(m[e+f].closed(l.score)){m[e+f].n+=G.length;continue}let O=j.lp[f];if(!O)O=G.map((T)=>this.logp(j.sa,j.sb,T.tok)),j.lp[f]=O;for(let T=0;T<G.length;T++)m[e+f].add(l.score+O[T],l,G[T].en,G[T].tok)}}}let u=new Map,s=new Map,h=new Map;for(let e of m[a.length].best){let r=e.parent===null?this.start:g(e),w=H(r,0),t=s.get(w);if(t===void 0)t=this.logp(this.a.stats(r),this.b.stats(r),this.eos),s.set(w,t);let I=e.score+t,l=e.piece;if(e.parent!==null){let j=h.get(e.parent);if(j===void 0)j=u2(e.parent),h.set(e.parent,j);l=j+e.piece}let y=u.get(l);if(y===void 0||I>y)u.set(l,I)}return[...u].sort((e,r)=>e[1]!==r[1]?r[1]-e[1]:e[0]<r[0]?-1:e[0]>r[0]?1:0).slice(0,n).map((e)=>e[0])}}function S(i){let n=[];for(let a=i.varint();a>0;a--)n.push(i.str());return n}function Q2(i,n,a){return i._mix.decode(n,a)}export{H2 as load,P2 as languages,s2 as fromBytes,Q2 as _decode,O2 as RULES_VERSION,b2 as CDN};
|
package/dist/stem.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var i={version:"2026-10-09",min_stem:2,max_end:6,vowel_signs:[2362,2363,2366,2367,2368,2369,2370,2371,2372,2373,2374,2375,2376,2377,2378,2379,2380,2382,2383,2389,2390,2391,2402,2403,2494,2495,2496,2497,2498,2499,2500,2503,2504,2507,2508,2530,2531,2622,2623,2624,2625,2626,2631,2632,2635,2636,2750,2751,2752,2753,2754,2755,2756,2757,2759,2760,2761,2763,2764,2786,2787,2878,2879,2880,2881,2882,2883,2884,2887,2888,2891,2892,2914,2915,3006,3007,3008,3009,3010,3014,3015,3016,3018,3019,3020,3134,3135,3136,3137,3138,3139,3140,3142,3143,3144,3146,3147,3148,3170,3171,3262,3263,3264,3265,3266,3267,3268,3270,3271,3272,3274,3275,3276,3298,3299,3390,3391,3392,3393,3394,3395,3396,3398,3399,3400,3402,3403,3404,3426,3427],languages:{as:{vowel_step:!0,passes:1,endings:["ও","ক","কক","কত","কে","কৰ","খন","খনৰ","গত","ছিল","ছে","জন","টো","টোক","টোত","টোৰ","টোৱে","ত","তত","তে","তো","তৰ","বলৈ","বোৰ","বোৰৰ","মূলক","য়ে","লৈ","লৈকে","সকলক","সকলে","সকলৰ","সমূহ","সমূহক","সমূহে","সমূহৰ","াই","াক","াব","ায়","ালে","াৰ","াৰত","াৰে","িব","িবলৈ","িয়ে","িলে","িৰ","ীয়","ীয়ে","ীৰ","েৰে","োৱা","োৱে","্ত","ৰ","ৰক","ৰত","ৰলৈ","ৰি","ৰে","ৰো","ৰৰ"]},bn:{vowel_step:!0,passes:1,endings:["ও","করণ","গত","গুলি","গুলিকে","গুলিতে","গুলির","ছে","টার","তে","দের","মূলক","রা","রার","াই","াকে","াটি","ানো","ায়","ার","ারকে","ারে","ারের","িকে","িয়ে","ির","ীর","ুর","েন","ের"]},gu:{vowel_step:!1,passes:1,endings:["ં","એ","ઓ","ણા","થી","ના","ની","નું","ને","નો","માં","વા","વાની","વાનું","વાનો","વામાં","વી","વું","શે","ા","ાં","ાએ","ાઓ","ાઓની","ાઓને","ાઓમાં","ાના","ાની","ાનું","ાને","ાનો","ામાં","ાય","િત","ી","ીએ","ીઓ","ીઓને","ીના","ીની","ીને","ીમાં","ીય","ુ","ું","ે","ો","ોએ","ોના","ોની","ોનું","ોને","ોનો","ોમાં","્યા","્યું","્સ"]},hi:{vowel_step:!0,passes:1,endings:["ं","एँ","एं","ओं","कर","ता","ताओं","ती","ते","ना","नी","ने","पूर्ण","यां","ाना","ाने","ाया","ियाँ","ियों","्"]},kn:{vowel_step:!0,passes:2,endings:["ಕ್ಕಾಗಿ","ಕ್ಕೆ","ಗಳ","ಗಳನ್ನು","ಗಳಲ್ಲಿ","ಗಳಿಂದ","ಗಳಿಗೆ","ಗಳು","ಗಾಗಿ","ಗೆ","ತ್ತವೆ","ತ್ತಾನೆ","ತ್ತಾರೆ","ದ","ದನು","ದರು","ದಲ್ಲಿ","ದವು","ದಿಂದ","ದ್ದಾರೆ","ನನ್ನು","ನು","ನ್ನು","ಬೇಕು","ಯನ್ನು","ಯಲ್ಲಿ","ಯಾಗಿ","ಯಿಂದ","ಯಿತು","ಯು","ರೆ","ಲಿನ","ಲು","ಲ್ಲಿ","ವನ್ನು","ವರು","ವಾಗಿ","ವಾಗಿದೆ","ವಾದ","ವು","ಾಗಿ","ಾಗಿದೆ","ಿಂದ","ಿಗೂ","ಿತ","ಿತು","ಿದೆ","ಿನ","ಿನಿಂದ","ಿಯ","ುತ್ತದೆ","ುವ","ುವುದು","ೆಯ","ೊಂದಿಗೆ","್"]},ml:{vowel_step:!0,passes:1,endings:["ം","കയും","കളിലും","കളിൽ","കളും","കളുടെ","കളെ","കൾ","കൾക്ക്","ങ്ങളിൽ","ങ്ങളും","ങ്ങളെ","ങ്ങൾ","ച്ച്","ത്തിന്","ത്തിലെ","ത്തിൽ","നും","നുള്ള","നെ","ന്","ന്ന","ന്നത്","ന്റെ","മാണ്","മായ","മായി","മാർ","മുള്ള","യാണ്","യായി","യിലും","യിലെ","യിൽ","യും","യുടെ","യെ","യ്ക്ക്","രുടെ","രെ","റെ","ല്ല","ള്ള","വും","വ്","ായി","ിക്ക്","ിലുള്ള","ിലെ","ിൽ","ുക","ുന്നു","്","്ടു","്സ്","ൺ","ൻ","ർക്ക്"]},mr:{vowel_step:!1,passes:1,endings:["ं","चा","ची","चे","च्या","ने","पणे","मधील","मध्ये","ही","ा","ांचा","ांची","ांचे","ांच्या","ांत","ांना","ांनी","ांवर","ांशी","ांसाठी","ाचा","ाची","ाचे","ाच्या","ात","ातील","ातून","ानंतर","ाना","ाने","ाला","ावर","ाशी","ासाठी","ित","ी","ीचा","ीची","ीचे","ीच्या","ीत","ीतील","ीने","ीमध्ये","ीय","ील","ीला","ीसाठी","े","ेचा","ेची","ेचे","ेच्या","ेत","ेने","ेला","ेवर","ो","्य","्या","्यांचा","्यांची","्यांना","्याचा","्याची","्याचे","्यात","्याने","्याला","्ये"]},ne:{vowel_step:!0,passes:1,endings:["ं","का","की","को","देखि","द्वारा","बाट","भन्दा","मा","माथि","सँग","सम्म","हरूका","हरूको","हरूमा","हरूलाई","हरूले","ामा","ालाई","ाले","ाहरू","िएका","ित","िन","िने","िन्","िहरू","ीमा","ीलाई","ीले","ीहरू","ेका","ेन","ेर","्छ","्छन्","्दा","्दै","्न","्नु","्ने","्यो"]},pa:{vowel_step:!0,passes:1,endings:["ਆਂ","ਇਆ","ਈ","ਈਆਂ","ਉਂਦਾ","ਉਂਦੇ","ਉਣ","ਉਣਾ","ਏ","ਕ","ਕਤਾ","ਕਰਨ","ਕਾਂ","ਣ","ਣਾ","ਣਾਂ","ਤਾ","ਨ","ਨਾ","ਨਾਂ","਼","਼ਾਂ","਼ੀ","ਾਂ","ਾਏ","ਾਨ","ਾਵਾਂ","ਿਆ","ਿਤ","ੀਂ","ੀਆ","ੇਂ","ੋਂ"]},sa:{vowel_step:!1,passes:1,endings:["ं","ः","त्","द्","न्","म्","य","या","याः","याम्","यै","योः","षु","सु","स्य","ा","ाः","ाणि","ात्","ानाम्","ानि","ान्","ाम्","ाय","ायाः","ायाम्","ासु","िनः","ी","े","ेण","ेन","ेभ्यः","ेषु","ैः","ौ"]},ta:{vowel_step:!0,passes:1,endings:["களால்","களின்","களில்","களுடன்","களை","களைப்","கள்","கின்றன","கிறார்","க்","க்கள்","க்காக","க்கான","ச்","த்","ன","னர்","னார்","னால்","னின்","ன்","ப்","ப்பட்ட","மான","ய","யாக","யான","யால்","யின்","யில்","யுடன்","யே","யை","ய்","ற்கு","லாம்","லின்","வது","வர்","வர்கள்","வின்","வில்","வில்லை","ாக","ாத","ார்","ார்கள்","ால்","ாவின்","ிக்கு","ின்","ிய","ியது","ியில்","ிறது","ில்","ுகிறது","ுக்கு","ுடன்","ுதல்","ும்","ுள்ள","ுள்ளது","ைக்கு","ையில்","ையும்","ோடு","்டது"]},te:{vowel_step:!0,passes:1,endings:["ం","ంగా","ంతో","ందని","ంది","ంలో","ంలోని","గా","టు","డు","తో","నాడు","ని","నికి","ను","న్న","న్నాడు","న్నాయి","న్నారు","పై","మని","ము","మైన","లకు","లతో","లను","లపై","లలో","లు","లో","లోకి","లోని","ల్లో","ాను","ాన్ని","ాయి","ారు","ించారు","ించిన","ికి","ుడు","ుతో","ుని","ుల","్","్న","్లో"]},ur:{vowel_step:!1,passes:1,endings:["ئی","ئیں","ئے","اء","ائی","ات","اں","تا","تہ","تی","تے","را","ری","ریوں","رے","ز","نا","نی","نیوں","نے","و","وں","ِ","ٰ","ٹنگ","ں","ہ","ہوں","یا","یت","ین","ینی","یں","ے"]}}};function l(e){let a=(e??"").toLowerCase().split(/[-_]/)[0]
|
|
1
|
+
var i={version:"2026-10-09",min_stem:2,max_end:6,vowel_signs:[2362,2363,2366,2367,2368,2369,2370,2371,2372,2373,2374,2375,2376,2377,2378,2379,2380,2382,2383,2389,2390,2391,2402,2403,2494,2495,2496,2497,2498,2499,2500,2503,2504,2507,2508,2530,2531,2622,2623,2624,2625,2626,2631,2632,2635,2636,2750,2751,2752,2753,2754,2755,2756,2757,2759,2760,2761,2763,2764,2786,2787,2878,2879,2880,2881,2882,2883,2884,2887,2888,2891,2892,2914,2915,3006,3007,3008,3009,3010,3014,3015,3016,3018,3019,3020,3134,3135,3136,3137,3138,3139,3140,3142,3143,3144,3146,3147,3148,3170,3171,3262,3263,3264,3265,3266,3267,3268,3270,3271,3272,3274,3275,3276,3298,3299,3390,3391,3392,3393,3394,3395,3396,3398,3399,3400,3402,3403,3404,3426,3427],languages:{as:{vowel_step:!0,passes:1,endings:["ও","ক","কক","কত","কে","কৰ","খন","খনৰ","গত","ছিল","ছে","জন","টো","টোক","টোত","টোৰ","টোৱে","ত","তত","তে","তো","তৰ","বলৈ","বোৰ","বোৰৰ","মূলক","য়ে","লৈ","লৈকে","সকলক","সকলে","সকলৰ","সমূহ","সমূহক","সমূহে","সমূহৰ","াই","াক","াব","ায়","ালে","াৰ","াৰত","াৰে","িব","িবলৈ","িয়ে","িলে","িৰ","ীয়","ীয়ে","ীৰ","েৰে","োৱা","োৱে","্ত","ৰ","ৰক","ৰত","ৰলৈ","ৰি","ৰে","ৰো","ৰৰ"]},bn:{vowel_step:!0,passes:1,endings:["ও","করণ","গত","গুলি","গুলিকে","গুলিতে","গুলির","ছে","টার","তে","দের","মূলক","রা","রার","াই","াকে","াটি","ানো","ায়","ার","ারকে","ারে","ারের","িকে","িয়ে","ির","ীর","ুর","েন","ের"]},gu:{vowel_step:!1,passes:1,endings:["ં","એ","ઓ","ણા","થી","ના","ની","નું","ને","નો","માં","વા","વાની","વાનું","વાનો","વામાં","વી","વું","શે","ા","ાં","ાએ","ાઓ","ાઓની","ાઓને","ાઓમાં","ાના","ાની","ાનું","ાને","ાનો","ામાં","ાય","િત","ી","ીએ","ીઓ","ીઓને","ીના","ીની","ીને","ીમાં","ીય","ુ","ું","ે","ો","ોએ","ોના","ોની","ોનું","ોને","ોનો","ોમાં","્યા","્યું","્સ"]},hi:{vowel_step:!0,passes:1,endings:["ं","एँ","एं","ओं","कर","ता","ताओं","ती","ते","ना","नी","ने","पूर्ण","यां","ाना","ाने","ाया","ियाँ","ियों","्"]},kn:{vowel_step:!0,passes:2,endings:["ಕ್ಕಾಗಿ","ಕ್ಕೆ","ಗಳ","ಗಳನ್ನು","ಗಳಲ್ಲಿ","ಗಳಿಂದ","ಗಳಿಗೆ","ಗಳು","ಗಾಗಿ","ಗೆ","ತ್ತವೆ","ತ್ತಾನೆ","ತ್ತಾರೆ","ದ","ದನು","ದರು","ದಲ್ಲಿ","ದವು","ದಿಂದ","ದ್ದಾರೆ","ನನ್ನು","ನು","ನ್ನು","ಬೇಕು","ಯನ್ನು","ಯಲ್ಲಿ","ಯಾಗಿ","ಯಿಂದ","ಯಿತು","ಯು","ರೆ","ಲಿನ","ಲು","ಲ್ಲಿ","ವನ್ನು","ವರು","ವಾಗಿ","ವಾಗಿದೆ","ವಾದ","ವು","ಾಗಿ","ಾಗಿದೆ","ಿಂದ","ಿಗೂ","ಿತ","ಿತು","ಿದೆ","ಿನ","ಿನಿಂದ","ಿಯ","ುತ್ತದೆ","ುವ","ುವುದು","ೆಯ","ೊಂದಿಗೆ","್"]},ml:{vowel_step:!0,passes:1,endings:["ം","കയും","കളിലും","കളിൽ","കളും","കളുടെ","കളെ","കൾ","കൾക്ക്","ങ്ങളിൽ","ങ്ങളും","ങ്ങളെ","ങ്ങൾ","ച്ച്","ത്തിന്","ത്തിലെ","ത്തിൽ","നും","നുള്ള","നെ","ന്","ന്ന","ന്നത്","ന്റെ","മാണ്","മായ","മായി","മാർ","മുള്ള","യാണ്","യായി","യിലും","യിലെ","യിൽ","യും","യുടെ","യെ","യ്ക്ക്","രുടെ","രെ","റെ","ല്ല","ള്ള","വും","വ്","ായി","ിക്ക്","ിലുള്ള","ിലെ","ിൽ","ുക","ുന്നു","്","്ടു","്സ്","ൺ","ൻ","ർക്ക്"]},mr:{vowel_step:!1,passes:1,endings:["ं","चा","ची","चे","च्या","ने","पणे","मधील","मध्ये","ही","ा","ांचा","ांची","ांचे","ांच्या","ांत","ांना","ांनी","ांवर","ांशी","ांसाठी","ाचा","ाची","ाचे","ाच्या","ात","ातील","ातून","ानंतर","ाना","ाने","ाला","ावर","ाशी","ासाठी","ित","ी","ीचा","ीची","ीचे","ीच्या","ीत","ीतील","ीने","ीमध्ये","ीय","ील","ीला","ीसाठी","े","ेचा","ेची","ेचे","ेच्या","ेत","ेने","ेला","ेवर","ो","्य","्या","्यांचा","्यांची","्यांना","्याचा","्याची","्याचे","्यात","्याने","्याला","्ये"]},ne:{vowel_step:!0,passes:1,endings:["ं","का","की","को","देखि","द्वारा","बाट","भन्दा","मा","माथि","सँग","सम्म","हरूका","हरूको","हरूमा","हरूलाई","हरूले","ामा","ालाई","ाले","ाहरू","िएका","ित","िन","िने","िन्","िहरू","ीमा","ीलाई","ीले","ीहरू","ेका","ेन","ेर","्छ","्छन्","्दा","्दै","्न","्नु","्ने","्यो"]},pa:{vowel_step:!0,passes:1,endings:["ਆਂ","ਇਆ","ਈ","ਈਆਂ","ਉਂਦਾ","ਉਂਦੇ","ਉਣ","ਉਣਾ","ਏ","ਕ","ਕਤਾ","ਕਰਨ","ਕਾਂ","ਣ","ਣਾ","ਣਾਂ","ਤਾ","ਨ","ਨਾ","ਨਾਂ","਼","਼ਾਂ","਼ੀ","ਾਂ","ਾਏ","ਾਨ","ਾਵਾਂ","ਿਆ","ਿਤ","ੀਂ","ੀਆ","ੇਂ","ੋਂ"]},sa:{vowel_step:!1,passes:1,endings:["ं","ः","त्","द्","न्","म्","य","या","याः","याम्","यै","योः","षु","सु","स्य","ा","ाः","ाणि","ात्","ानाम्","ानि","ान्","ाम्","ाय","ायाः","ायाम्","ासु","िनः","ी","े","ेण","ेन","ेभ्यः","ेषु","ैः","ौ"]},ta:{vowel_step:!0,passes:1,endings:["களால்","களின்","களில்","களுடன்","களை","களைப்","கள்","கின்றன","கிறார்","க்","க்கள்","க்காக","க்கான","ச்","த்","ன","னர்","னார்","னால்","னின்","ன்","ப்","ப்பட்ட","மான","ய","யாக","யான","யால்","யின்","யில்","யுடன்","யே","யை","ய்","ற்கு","லாம்","லின்","வது","வர்","வர்கள்","வின்","வில்","வில்லை","ாக","ாத","ார்","ார்கள்","ால்","ாவின்","ிக்கு","ின்","ிய","ியது","ியில்","ிறது","ில்","ுகிறது","ுக்கு","ுடன்","ுதல்","ும்","ுள்ள","ுள்ளது","ைக்கு","ையில்","ையும்","ோடு","்டது"]},te:{vowel_step:!0,passes:1,endings:["ం","ంగా","ంతో","ందని","ంది","ంలో","ంలోని","గా","టు","డు","తో","నాడు","ని","నికి","ను","న్న","న్నాడు","న్నాయి","న్నారు","పై","మని","ము","మైన","లకు","లతో","లను","లపై","లలో","లు","లో","లోకి","లోని","ల్లో","ాను","ాన్ని","ాయి","ారు","ించారు","ించిన","ికి","ుడు","ుతో","ుని","ుల","్","్న","్లో"]},ur:{vowel_step:!1,passes:1,endings:["ئی","ئیں","ئے","اء","ائی","ات","اں","تا","تہ","تی","تے","را","ری","ریوں","رے","ز","نا","نی","نیوں","نے","و","وں","ِ","ٰ","ٹنگ","ں","ہ","ہوں","یا","یت","ین","ینی","یں","ے"]}}};function l(e){let a=(e??"").toLowerCase().split(/[-_]/)[0];if(a==="kok")return"gom";let s=a.length===3?"asm as ben bn guj gu hin hi kan kn kas ks mal ml mar mr nep ne ori or pan pa san sa snd sd tam ta tel te urd ur ".indexOf(a+" "):-1;return s>=0&&s%7===0?"asm as ben bn guj gu hin hi kan kn kas ks mal ml mar mr nep ne ori or pan pa san sa snd sd tam ta tel te urd ur ".slice(s+4,s+6):a}var p=i.min_stem,u=i.max_end,m=new Set(i.vowel_signs.map((e)=>String.fromCodePoint(e))),o=new Map(Object.entries(i.languages).map(([e,a])=>[e,{endings:new Set(a.endings),vowel:a.vowel_step,passes:a.passes}])),b=i.version,O=[...o.keys()].sort();function x(e,a){let s=o.get(l(a));if(!s)return e;for(let n=0;n<s.passes;n++)e=v(e,s);return e}function v(e,a){let s=[e.length],n=e.length;while(s.length<=u+p&&n>0){let t=e.charCodeAt(--n);if(t>=56320&&t<=57343&&n>0)n--;s.push(n)}let g=n>0?1/0:s.length-1,h=e.length;for(let t=Math.min(u,g-p);t>0;t--)if(a.endings.has(e.slice(s[t]))){h=s[t],g-=t;break}if(a.vowel&&g>p&&m.has(e[h-1]))h--;return h===e.length?e:e.slice(0,h)}export{x as stem,b as RULES_VERSION,O as LANGUAGES};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The phonetic key's engine, shared by ./phonetic and ./phonetic-search: the
|
|
3
|
+
* compiler of a rules file, the normalizer, the standard engine and the key
|
|
4
|
+
* product. Not an entry of the package.
|
|
5
|
+
*
|
|
6
|
+
* @module
|
|
7
|
+
*/
|
|
8
|
+
import rulesJson from "../phonetic/rules.json";
|
|
9
|
+
type Rules = typeof rulesJson;
|
|
10
|
+
export declare function compile(rules: Rules): (word: string) => string[];
|
|
11
|
+
export declare const engine: (word: string) => string[];
|
|
12
|
+
/** nameKeys and the search index stop here: a long Tamil name can have many key combinations. */
|
|
13
|
+
export declare const MAX_NAME_KEYS = 256;
|
|
14
|
+
export declare function normalize(word: string): string;
|
|
15
|
+
/** The combinations of the words' keys, one key of each word joined by sep,
|
|
16
|
+
* the last word changing fastest, the first MAX_NAME_KEYS only. Each step
|
|
17
|
+
* keeps at most MAX_NAME_KEYS prefixes, so the time is linear in the words,
|
|
18
|
+
* not in the product (the search index built the whole product first: 2^26
|
|
19
|
+
* strings for a 26-word name of two-key words). */
|
|
20
|
+
export declare function keyProduct(all: string[][], sep: string): string[];
|
|
21
|
+
export {};
|