indickit 0.8.0 → 0.9.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/dist/phonetic.js CHANGED
@@ -1,905 +1 @@
1
- // phonetic/rules.json
2
- var rules_default = {
3
- version: "2026-10-07",
4
- folds: [
5
- "bn-case",
6
- "brahmic-av-u",
7
- "drop-vowels",
8
- "drop-y",
9
- "flap-r",
10
- "gu-case",
11
- "latin-ngh",
12
- "latin-w-u",
13
- "ml-case",
14
- "nasal-all",
15
- "ng-k",
16
- "or-case",
17
- "retroflex",
18
- "s-c",
19
- "ta-case",
20
- "ta-k-h",
21
- "te-case",
22
- "ur-w-u",
23
- "v-b"
24
- ],
25
- brahmic: {
26
- from: 2304,
27
- to: 3455,
28
- class_by_offset: {
29
- "2": "ṁ",
30
- "5": "a",
31
- "6": "a",
32
- "7": "i",
33
- "8": "i",
34
- "9": "u",
35
- "10": "u",
36
- "11": "r",
37
- "12": "l",
38
- "13": "e",
39
- "14": "e",
40
- "15": "e",
41
- "16": "e",
42
- "17": "o",
43
- "18": "o",
44
- "19": "o",
45
- "20": "o",
46
- "21": "k",
47
- "22": "k",
48
- "23": "k",
49
- "24": "k",
50
- "25": "ṅ",
51
- "26": "c",
52
- "27": "c",
53
- "28": "c",
54
- "29": "c",
55
- "30": "ñ",
56
- "31": "ṭ",
57
- "32": "ṭ",
58
- "33": "ṭ",
59
- "34": "ṭ",
60
- "35": "ṇ",
61
- "36": "t",
62
- "37": "t",
63
- "38": "t",
64
- "39": "t",
65
- "40": "n",
66
- "41": "n",
67
- "42": "p",
68
- "43": "p",
69
- "44": "p",
70
- "45": "p",
71
- "46": "m",
72
- "47": "y",
73
- "48": "r",
74
- "49": "r",
75
- "50": "l",
76
- "51": "l",
77
- "52": "l",
78
- "53": "v",
79
- "54": "s",
80
- "55": "s",
81
- "56": "s",
82
- "57": "h",
83
- "62": "a",
84
- "63": "i",
85
- "64": "i",
86
- "65": "u",
87
- "66": "u",
88
- "67": "r",
89
- "68": "r",
90
- "69": "e",
91
- "70": "e",
92
- "71": "e",
93
- "72": "e",
94
- "73": "o",
95
- "74": "o",
96
- "75": "o",
97
- "76": "o",
98
- "87": "o",
99
- "96": "r",
100
- "97": "l",
101
- "98": "l",
102
- "99": "l"
103
- },
104
- virama_offset: 77,
105
- candrabindu_offset: 1,
106
- candrabindu_class: "ṁ",
107
- nukta_offset: 60,
108
- flap_offsets: [
109
- 33,
110
- 34
111
- ],
112
- flap_class: "ṛ"
113
- },
114
- extra: {
115
- ৎ: "t",
116
- ৰ: "r",
117
- ৱ: "v",
118
- ୱ: "v",
119
- "ੰ": "ṁ",
120
- "ਂ": "ṁ",
121
- ൺ: "ṇ",
122
- ൻ: "n",
123
- ർ: "r",
124
- ൽ: "l",
125
- ൾ: "l",
126
- ൿ: "k",
127
- ൔ: "m",
128
- ൕ: "y",
129
- ൖ: "l",
130
- ड़: "ṛ",
131
- ढ़: "ṛ",
132
- ড়: "ṛ",
133
- ঢ়: "ṛ",
134
- ଡ଼: "ṛ",
135
- ଢ଼: "ṛ",
136
- ੜ: "ṛ"
137
- },
138
- urdu: {
139
- from: 1536,
140
- to: 1791,
141
- letters: {
142
- ا: "a",
143
- آ: "a",
144
- أ: "a",
145
- ب: "p",
146
- پ: "p",
147
- ت: "t",
148
- ٹ: "ṭ",
149
- ث: "s",
150
- ج: "c",
151
- چ: "c",
152
- ح: "h",
153
- خ: "k",
154
- د: "t",
155
- ڈ: "ṭ",
156
- ذ: "c",
157
- ر: "r",
158
- ڑ: "ṛ",
159
- ز: "c",
160
- ژ: "c",
161
- س: "s",
162
- ش: "s",
163
- ص: "s",
164
- ض: "c",
165
- ط: "t",
166
- ظ: "c",
167
- غ: "k",
168
- ف: "p",
169
- ق: "k",
170
- ک: "k",
171
- ك: "k",
172
- گ: "k",
173
- ل: "l",
174
- م: "m",
175
- ن: "n",
176
- ں: "ṁ",
177
- و: "v",
178
- ؤ: "u",
179
- ہ: "h",
180
- ه: "h",
181
- ۃ: "a",
182
- ی: "y",
183
- ي: "y",
184
- ى: "y",
185
- ئ: "y",
186
- ے: "e",
187
- ۓ: "e",
188
- ٻ: "p",
189
- ڀ: "p",
190
- ٺ: "ṭ",
191
- ٽ: "ṭ",
192
- ٿ: "t",
193
- ڄ: "c",
194
- ڃ: "ñ",
195
- ڇ: "c",
196
- ڊ: "ṭ",
197
- ڌ: "t",
198
- ڍ: "ṭ",
199
- ڏ: "t",
200
- ڙ: "ṛ",
201
- ڦ: "p",
202
- ڪ: "k",
203
- ڱ: "ṅ",
204
- ڳ: "k",
205
- ڻ: "ṇ",
206
- ٲ: "a",
207
- ٳ: "a",
208
- ۆ: "o",
209
- ۄ: "o",
210
- ێ: "e",
211
- ؠ: "y"
212
- },
213
- ain: "ع",
214
- waw: "و",
215
- waw_v_before: "اآ",
216
- final_he: "ہه",
217
- final_he_h_after: "اآو"
218
- },
219
- meetei: {
220
- ranges: [
221
- [
222
- 43744,
223
- 43775
224
- ],
225
- [
226
- 43968,
227
- 44031
228
- ]
229
- ],
230
- letters: {
231
- ꯀ: "k",
232
- ꯁ: "s",
233
- ꯂ: "l",
234
- ꯃ: "m",
235
- ꯄ: "p",
236
- ꯅ: "n",
237
- ꯆ: "c",
238
- ꯇ: "t",
239
- ꯈ: "k",
240
- ꯉ: "ṅ",
241
- ꯊ: "t",
242
- ꯋ: "v",
243
- ꯌ: "y",
244
- ꯍ: "h",
245
- ꯎ: "u",
246
- ꯏ: "i",
247
- ꯐ: "p",
248
- ꯑ: "a",
249
- ꯒ: "k",
250
- ꯓ: "c",
251
- ꯔ: "r",
252
- ꯕ: "p",
253
- ꯖ: "c",
254
- ꯗ: "t",
255
- ꯘ: "k",
256
- ꯙ: "t",
257
- ꯚ: "p",
258
- ꯛ: "k",
259
- ꯜ: "l",
260
- ꯝ: "m",
261
- ꯞ: "p",
262
- ꯟ: "n",
263
- ꯠ: "t",
264
- ꯡ: "ṅ",
265
- ꯢ: "i",
266
- "ꯣ": "o",
267
- "ꯤ": "i",
268
- "ꯥ": "a",
269
- "ꯦ": "e",
270
- "ꯧ": "o",
271
- "ꯨ": "u",
272
- "ꯩ": "e",
273
- "ꯪ": "ṁ",
274
- ꫠ: "e",
275
- ꫡ: "o",
276
- ꫢ: "c",
277
- ꫣ: "ñ",
278
- ꫤ: "ṭ",
279
- ꫥ: "ṭ",
280
- ꫦ: "ṭ",
281
- ꫧ: "ṭ",
282
- ꫨ: "ṇ",
283
- ꫩ: "s",
284
- ꫪ: "s",
285
- "ꫫ": "i",
286
- "ꫬ": "u",
287
- "ꫭ": "e",
288
- "ꫮ": "o",
289
- "ꫯ": "o"
290
- }
291
- },
292
- ol_chiki: {
293
- from: 7248,
294
- to: 7295,
295
- letters: {
296
- ᱚ: "o",
297
- ᱛ: "t",
298
- ᱜ: "k",
299
- ᱝ: "ṅ",
300
- ᱞ: "l",
301
- ᱟ: "a",
302
- ᱠ: "k",
303
- ᱡ: "c",
304
- ᱢ: "m",
305
- ᱣ: "v",
306
- ᱤ: "i",
307
- ᱥ: "s",
308
- ᱦ: "h",
309
- ᱧ: "ñ",
310
- ᱨ: "r",
311
- ᱩ: "u",
312
- ᱪ: "c",
313
- ᱫ: "t",
314
- ᱬ: "ṇ",
315
- ᱭ: "y",
316
- ᱮ: "e",
317
- ᱯ: "p",
318
- ᱰ: "ṭ",
319
- ᱱ: "n",
320
- ᱲ: "ṛ",
321
- ᱳ: "o",
322
- ᱴ: "ṭ",
323
- ᱵ: "p",
324
- ᱶ: "v",
325
- ᱷ: "h",
326
- ᱸ: "ṁ"
327
- },
328
- aspiration: "ᱷ"
329
- },
330
- latin: {
331
- groups: [
332
- [
333
- "ngh",
334
- "nĝ"
335
- ],
336
- [
337
- "chh",
338
- "c"
339
- ],
340
- [
341
- "ch",
342
- "c"
343
- ],
344
- [
345
- "jh",
346
- "c"
347
- ],
348
- [
349
- "kh",
350
- "k"
351
- ],
352
- [
353
- "gh",
354
- "k"
355
- ],
356
- [
357
- "th",
358
- "t"
359
- ],
360
- [
361
- "dh",
362
- "t"
363
- ],
364
- [
365
- "ph",
366
- "p"
367
- ],
368
- [
369
- "bh",
370
- "p"
371
- ],
372
- [
373
- "sh",
374
- "s"
375
- ],
376
- [
377
- "ck",
378
- "k"
379
- ],
380
- [
381
- "aa",
382
- "a"
383
- ],
384
- [
385
- "ai",
386
- "e"
387
- ],
388
- [
389
- "ei",
390
- "e"
391
- ],
392
- [
393
- "au",
394
- "o"
395
- ],
396
- [
397
- "ee",
398
- "i"
399
- ],
400
- [
401
- "oo",
402
- "u"
403
- ],
404
- [
405
- "x",
406
- "ks"
407
- ]
408
- ],
409
- letters: {
410
- a: "a",
411
- e: "e",
412
- i: "i",
413
- o: "o",
414
- u: "u",
415
- k: "k",
416
- g: "k",
417
- q: "k",
418
- j: "c",
419
- z: "c",
420
- t: "t",
421
- d: "t",
422
- n: "n",
423
- m: "m",
424
- p: "p",
425
- b: "p",
426
- f: "p",
427
- v: "v",
428
- w: "v",
429
- y: "y",
430
- r: "r",
431
- l: "l",
432
- s: "s",
433
- h: "h"
434
- },
435
- w_ambiguous_unless_before: "aeiou"
436
- },
437
- class_map: {
438
- m: "n",
439
- s: "c",
440
- v: "p",
441
- w: "p",
442
- ñ: "n",
443
- ĝ: "k",
444
- ṁ: "n",
445
- ṅ: "n",
446
- ṇ: "n",
447
- ṛ: "t",
448
- ṭ: "t"
449
- },
450
- vowels: "aeiou",
451
- steps: {
452
- "ng-k": true,
453
- "initial-vowels-alike": false,
454
- "drop-h": false,
455
- "drop-y": true,
456
- "drop-y-after-i": false,
457
- "drop-vowels": true,
458
- "drop-final-vowel": false
459
- },
460
- branches: [
461
- {
462
- from: 2304,
463
- to: 3455,
464
- class: "v",
465
- also: "u",
466
- after: "aṁ",
467
- not_before: "aieo"
468
- },
469
- {
470
- from: 1536,
471
- to: 7295,
472
- class: "ṛ",
473
- also: "r"
474
- },
475
- {
476
- from: 0,
477
- to: 127,
478
- class: "ĝ",
479
- also: "h"
480
- },
481
- {
482
- from: 0,
483
- to: 127,
484
- class: "w",
485
- also: "u"
486
- },
487
- {
488
- from: 2944,
489
- to: 3071,
490
- class: "k",
491
- also: "h"
492
- },
493
- {
494
- from: 1536,
495
- to: 1791,
496
- class: "w",
497
- also: "u"
498
- }
499
- ],
500
- joined: {
501
- min_classes: 8,
502
- when: "the strict keys find nobody"
503
- },
504
- digit_zeros: [
505
- 48,
506
- 1632,
507
- 1776,
508
- 2406,
509
- 2534,
510
- 2662,
511
- 2790,
512
- 2918,
513
- 3046,
514
- 3174,
515
- 3302,
516
- 3430,
517
- 7248,
518
- 44016
519
- ],
520
- max_keys: 16,
521
- suffixes: [
522
- {
523
- from: 2432,
524
- to: 2559,
525
- endings: [
526
- "য়ের",
527
- "দের",
528
- "এর",
529
- "ের",
530
- "কে",
531
- "তে"
532
- ]
533
- },
534
- {
535
- from: 2688,
536
- to: 2815,
537
- endings: [
538
- "માં",
539
- "નું",
540
- "થી",
541
- "ના",
542
- "ની",
543
- "ને"
544
- ]
545
- },
546
- {
547
- from: 3328,
548
- to: 3455,
549
- endings: [
550
- "യ്ക്ക്",
551
- "ന്റെ",
552
- "യുടെ",
553
- "യിലെ",
554
- "ക്ക്",
555
- "ുടെ",
556
- "യിൽ",
557
- "ിലെ",
558
- "ോട്",
559
- "ിന്",
560
- "ിൽ",
561
- "നെ",
562
- "യെ",
563
- "ും"
564
- ]
565
- },
566
- {
567
- from: 2816,
568
- to: 2943,
569
- endings: [
570
- "ଙ୍କର",
571
- "ଙ୍କୁ",
572
- "ଙ୍କ",
573
- "ରେ",
574
- "ରୁ",
575
- "କୁ"
576
- ]
577
- },
578
- {
579
- from: 2944,
580
- to: 3071,
581
- endings: [
582
- "ுக்கு",
583
- "யின்",
584
- "வின்",
585
- "க்கு",
586
- "யில்",
587
- "ிடம்",
588
- "ுடன்",
589
- "ின்",
590
- "ில்",
591
- "ால்",
592
- "ும்"
593
- ]
594
- },
595
- {
596
- from: 3072,
597
- to: 3199,
598
- endings: [
599
- "యొక్క",
600
- "లోని",
601
- "గారు",
602
- "లో",
603
- "కు",
604
- "కి",
605
- "ని",
606
- "తో",
607
- "ను"
608
- ]
609
- }
610
- ]
611
- };
612
-
613
- // js/phonetic.ts
614
- var DELETED = "\x00";
615
- function compile(rules) {
616
- const b = rules.brahmic;
617
- const byOffset = new Array(128);
618
- for (const [o, c] of Object.entries(b.class_by_offset))
619
- byOffset[Number(o)] = c;
620
- const extra = new Map(Object.entries(rules.extra));
621
- const urdu = new Map(Object.entries(rules.urdu.letters));
622
- const meetei = new Map(Object.entries(rules.meetei.letters));
623
- const olChiki = new Map(Object.entries(rules.ol_chiki.letters));
624
- const latin = new Array(128);
625
- for (const [l, c] of Object.entries(rules.latin.letters))
626
- latin[l.charCodeAt(0)] = c;
627
- const groups = rules.latin.groups;
628
- const wUnlessNext = rules.latin.w_ambiguous_unless_before;
629
- const classMap = new Map(Object.entries(rules.class_map));
630
- const vowels = new Set(rules.vowels);
631
- const steps = rules.steps;
632
- const u = rules.urdu;
633
- function inMeetei(o) {
634
- return rules.meetei.ranges.some(([lo, hi]) => o >= lo && o <= hi);
635
- }
636
- function readBrahmic(word) {
637
- let out = "";
638
- let last = -1;
639
- for (let i = 0;i < word.length; i++) {
640
- const ch = word[i];
641
- const x = extra.get(ch);
642
- if (x !== undefined) {
643
- out += x;
644
- last = -1;
645
- continue;
646
- }
647
- const o = word.charCodeAt(i);
648
- if (o < b.from || o > b.to)
649
- continue;
650
- const off = o & 127;
651
- const c = byOffset[off];
652
- if (off === b.nukta_offset && b.flap_offsets.includes(last) && out) {
653
- out = out.slice(0, -1) + b.flap_class;
654
- } else if (off === b.virama_offset) {} else if (off === b.candrabindu_offset) {
655
- out += b.candrabindu_class;
656
- } else if (c !== undefined) {
657
- out += c;
658
- }
659
- if (c !== undefined)
660
- last = off;
661
- else if (off !== b.nukta_offset && off !== b.virama_offset)
662
- last = -1;
663
- }
664
- return out;
665
- }
666
- function readLatin(word) {
667
- let out = "";
668
- let i = 0;
669
- outer:
670
- while (i < word.length) {
671
- for (const [g, cls] of groups) {
672
- if (word.startsWith(g, i)) {
673
- out += cls;
674
- i += g.length;
675
- continue outer;
676
- }
677
- }
678
- const ch = word.charCodeAt(i);
679
- if (ch === 99) {
680
- const next = word[i + 1];
681
- out += next === "e" || next === "i" || next === "y" ? "s" : "k";
682
- } else if (ch === 119 && i > 0 && !wUnlessNext.includes(word[i + 1] ?? " ")) {
683
- out += "w";
684
- } else {
685
- out += latin[ch] ?? "";
686
- }
687
- i++;
688
- }
689
- return out;
690
- }
691
- function readUrdu(word) {
692
- let out = word[0] === u.ain ? "a" : "";
693
- for (let i = 0;i < word.length; i++) {
694
- const ch = word[i];
695
- if (ch === u.waw && i > 0 && !(i + 1 < word.length && u.waw_v_before.includes(word[i + 1])))
696
- out += "w";
697
- else
698
- out += urdu.get(ch) ?? "";
699
- }
700
- const n = word.length;
701
- if (n > 1 && u.final_he.includes(word[n - 1]) && !u.final_he_h_after.includes(word[n - 2])) {
702
- out = out.slice(0, -1) + "a";
703
- }
704
- return out;
705
- }
706
- function readOlChiki(word) {
707
- let out = "";
708
- for (const ch of word) {
709
- if (ch === rules.ol_chiki.aspiration && out && !vowels.has(out[out.length - 1]))
710
- continue;
711
- out += olChiki.get(ch) ?? "";
712
- }
713
- return out;
714
- }
715
- function readMeetei(word) {
716
- let out = "";
717
- for (const ch of word)
718
- out += meetei.get(ch) ?? "";
719
- return out;
720
- }
721
- function read(word) {
722
- let ascii = true;
723
- for (let i = 0;i < word.length; i++)
724
- if (word.charCodeAt(i) > 127) {
725
- ascii = false;
726
- break;
727
- }
728
- if (ascii)
729
- return readLatin(word);
730
- let ol = false, me = false;
731
- for (let i = 0;i < word.length; i++) {
732
- const o = word.charCodeAt(i);
733
- if (o >= u.from && o <= u.to)
734
- return readUrdu(word);
735
- if (o >= rules.ol_chiki.from && o <= rules.ol_chiki.to)
736
- ol = true;
737
- else if (inMeetei(o))
738
- me = true;
739
- }
740
- if (ol)
741
- return readOlChiki(word);
742
- if (me)
743
- return readMeetei(word);
744
- return readBrahmic(word);
745
- }
746
- function fold(codes) {
747
- if (steps["ng-k"]) {
748
- let s = "";
749
- for (let i = 0;i < codes.length; i++) {
750
- s += codes[i];
751
- if (codes[i] === "ṅ" && codes[i + 1] !== "k")
752
- s += "k";
753
- }
754
- codes = s;
755
- }
756
- let mapped = "";
757
- for (let i = 0;i < codes.length; i++)
758
- mapped += classMap.get(codes[i]) ?? codes[i];
759
- if (!mapped)
760
- return mapped;
761
- let head = mapped[0];
762
- if (steps["initial-vowels-alike"] && vowels.has(head))
763
- head = "a";
764
- let out = head;
765
- for (let i = 1;i < mapped.length; i++) {
766
- const c = mapped[i];
767
- if (steps["drop-h"] && c === "h")
768
- continue;
769
- if (steps["drop-y"] && c === "y")
770
- continue;
771
- if (steps["drop-vowels"] && vowels.has(c))
772
- continue;
773
- out += c;
774
- }
775
- if (steps["drop-final-vowel"] && out.length > 1 && vowels.has(out[out.length - 1]))
776
- out = out.slice(0, -1);
777
- let runs = out[0];
778
- for (let i = 1;i < out.length; i++)
779
- if (out[i] !== out[i - 1])
780
- runs += out[i];
781
- return runs;
782
- }
783
- function fits(classes, i, br) {
784
- const prev = i > 0 ? classes[i - 1] : "^";
785
- const next = i + 1 < classes.length ? classes[i + 1] : "$";
786
- return (br.after === undefined || br.after.includes(prev)) && (br.before === undefined || br.before.includes(next)) && !(br.not_before ?? "").includes(next);
787
- }
788
- function variants(word) {
789
- const classes = read(word);
790
- let vs = [classes];
791
- for (const br of rules.branches) {
792
- if (!classes.includes(br.class))
793
- continue;
794
- let inScript = false;
795
- for (let i = 0;i < word.length; i++) {
796
- const o = word.charCodeAt(i);
797
- if (o >= br.from && o <= br.to) {
798
- inScript = true;
799
- break;
800
- }
801
- }
802
- if (!inScript)
803
- continue;
804
- for (let i = 0;i < classes.length; i++) {
805
- if (classes[i] === br.class && vs.length * 2 <= rules.max_keys && fits(classes, i, br)) {
806
- const also = br.also || DELETED;
807
- vs = vs.concat(vs.map((v) => v.slice(0, i) + also + v.slice(i + 1)));
808
- }
809
- }
810
- }
811
- return vs.map((v) => v.replaceAll(DELETED, ""));
812
- }
813
- function number(word) {
814
- let out = "";
815
- for (let i = 0;i < word.length; i++) {
816
- const o = word.charCodeAt(i);
817
- const z = rules.digit_zeros.find((z2) => o >= z2 && o <= z2 + 9);
818
- if (z === undefined)
819
- return;
820
- out += String.fromCharCode(48 + o - z);
821
- }
822
- return out || undefined;
823
- }
824
- return function keys(word) {
825
- const n = number(word);
826
- if (n !== undefined)
827
- return [n];
828
- const bases = [word];
829
- const first = word.charCodeAt(0);
830
- for (const sf of rules.suffixes) {
831
- if (first < sf.from || first > sf.to)
832
- continue;
833
- for (const e of sf.endings) {
834
- if (word.endsWith(e) && word.length - e.length >= 2) {
835
- bases.push(word.slice(0, -e.length));
836
- break;
837
- }
838
- }
839
- }
840
- const out = new Set;
841
- for (const base of bases)
842
- for (const v of variants(base))
843
- out.add(fold(v));
844
- out.delete("");
845
- return [...out].sort();
846
- };
847
- }
848
- var engine = compile(rules_default);
849
- var _internal = { compile: (r) => compile(r), normalize: (w) => normalize(w), engine };
850
- var RULES_VERSION = rules_default.version;
851
- var MAX_NAME_KEYS = 256;
852
- function normalize(word) {
853
- const plain = word.normalize("NFD").replace(/\p{Mn}/gu, "");
854
- return /^[\x00-\x7f]*$/.test(plain) ? plain.toLowerCase() : word.normalize("NFC");
855
- }
856
- function keys(word) {
857
- const w = normalize(word);
858
- return w ? engine(w) : [];
859
- }
860
- function words(name) {
861
- return name.replace(/\([^)]*\)/g, " ").split(/[^\S\ufeff]|[\x1c-\x1f\x85.\-,'’]/u).filter(Boolean);
862
- }
863
- function nameKeys(name) {
864
- let out = [""];
865
- for (const w of words(name)) {
866
- const ks = keys(w);
867
- if (!ks.length)
868
- continue;
869
- const next = [];
870
- for (const p of out)
871
- for (const k of ks) {
872
- if (next.length < MAX_NAME_KEYS)
873
- next.push(p ? p + " " + k : k);
874
- }
875
- out = next;
876
- }
877
- return out[0] === "" ? [] : out;
878
- }
879
- var JOINED_MIN_CLASSES = rules_default.joined.min_classes;
880
- function joinedKeys(name) {
881
- const joined = words(name).map(normalize).join("");
882
- if (!joined)
883
- return [];
884
- return engine(joined).filter((k) => [...k].length >= JOINED_MIN_CLASSES);
885
- }
886
- function match(a, b) {
887
- const wa = words(a), wb = words(b);
888
- if (!wa.length || wa.length !== wb.length)
889
- return false;
890
- return wa.every((w, i) => {
891
- const kb = new Set(keys(wb[i]));
892
- return keys(w).some((k) => kb.has(k));
893
- });
894
- }
895
- export {
896
- words,
897
- nameKeys,
898
- match,
899
- keys,
900
- joinedKeys,
901
- _internal,
902
- RULES_VERSION,
903
- MAX_NAME_KEYS,
904
- JOINED_MIN_CLASSES
905
- };
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};