yomitan-core 0.1.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.
Files changed (207) hide show
  1. package/README.md +485 -0
  2. package/dist/anki-connect-BQyCGW3O.cjs +513 -0
  3. package/dist/anki-connect-BQyCGW3O.cjs.map +1 -0
  4. package/dist/anki-connect-CPPuhyiQ.js +6 -0
  5. package/dist/anki-connect-DbrQHphS.js +495 -0
  6. package/dist/anki-connect-DbrQHphS.js.map +1 -0
  7. package/dist/anki-connect-DcheJrp-.cjs +6 -0
  8. package/dist/anki.cjs +1758 -0
  9. package/dist/anki.cjs.map +1 -0
  10. package/dist/anki.d.cts +751 -0
  11. package/dist/anki.d.cts.map +1 -0
  12. package/dist/anki.d.ts +751 -0
  13. package/dist/anki.d.ts.map +1 -0
  14. package/dist/anki.js +1751 -0
  15. package/dist/anki.js.map +1 -0
  16. package/dist/audio-D9DvYyB7.d.cts +48 -0
  17. package/dist/audio-D9DvYyB7.d.cts.map +1 -0
  18. package/dist/audio-DQulUkDM.d.ts +48 -0
  19. package/dist/audio-DQulUkDM.d.ts.map +1 -0
  20. package/dist/audio-url-generator-BXvQaqUi.cjs +4 -0
  21. package/dist/audio-url-generator-Dy2hb2Mm.cjs +414 -0
  22. package/dist/audio-url-generator-Dy2hb2Mm.cjs.map +1 -0
  23. package/dist/audio-url-generator-Qi0rfzHz.js +4 -0
  24. package/dist/audio-url-generator-pFQAB5Nb.js +390 -0
  25. package/dist/audio-url-generator-pFQAB5Nb.js.map +1 -0
  26. package/dist/audio.cjs +7 -0
  27. package/dist/audio.d.cts +86 -0
  28. package/dist/audio.d.cts.map +1 -0
  29. package/dist/audio.d.ts +86 -0
  30. package/dist/audio.d.ts.map +1 -0
  31. package/dist/audio.js +4 -0
  32. package/dist/batch-processor-BR-gB3H3.js +84 -0
  33. package/dist/batch-processor-BR-gB3H3.js.map +1 -0
  34. package/dist/batch-processor-CSF1acTw.cjs +3 -0
  35. package/dist/batch-processor-DFqM_L-_.cjs +91 -0
  36. package/dist/batch-processor-DFqM_L-_.cjs.map +1 -0
  37. package/dist/batch-processor-Quo9jUyf.js +3 -0
  38. package/dist/chunk-BCwAaXi7.cjs +31 -0
  39. package/dist/cjk-util-Dp0ZU0sh.cjs +167 -0
  40. package/dist/cjk-util-Dp0ZU0sh.cjs.map +1 -0
  41. package/dist/cjk-util-DubXBGDG.js +94 -0
  42. package/dist/cjk-util-DubXBGDG.js.map +1 -0
  43. package/dist/core-BUpclilG.d.cts +102 -0
  44. package/dist/core-BUpclilG.d.cts.map +1 -0
  45. package/dist/core-DFUj5GtA.d.ts +102 -0
  46. package/dist/core-DFUj5GtA.d.ts.map +1 -0
  47. package/dist/database.cjs +7 -0
  48. package/dist/database.d.cts +4 -0
  49. package/dist/database.d.ts +4 -0
  50. package/dist/database.js +5 -0
  51. package/dist/dictionary-D7l-qFt1.d.cts +316 -0
  52. package/dist/dictionary-D7l-qFt1.d.cts.map +1 -0
  53. package/dist/dictionary-_vzfBLWi.d.ts +316 -0
  54. package/dist/dictionary-_vzfBLWi.d.ts.map +1 -0
  55. package/dist/dictionary-data-util-CHnRdYZ9.cjs +378 -0
  56. package/dist/dictionary-data-util-CHnRdYZ9.cjs.map +1 -0
  57. package/dist/dictionary-data-util-CfOLfEDE.js +323 -0
  58. package/dist/dictionary-data-util-CfOLfEDE.js.map +1 -0
  59. package/dist/dictionary-database-BDC2f9zc.d.ts +58 -0
  60. package/dist/dictionary-database-BDC2f9zc.d.ts.map +1 -0
  61. package/dist/dictionary-database-CU4TsvCC.js +393 -0
  62. package/dist/dictionary-database-CU4TsvCC.js.map +1 -0
  63. package/dist/dictionary-database-DsOi04Sg.d.cts +58 -0
  64. package/dist/dictionary-database-DsOi04Sg.d.cts.map +1 -0
  65. package/dist/dictionary-database-lvFvftnO.cjs +412 -0
  66. package/dist/dictionary-database-lvFvftnO.cjs.map +1 -0
  67. package/dist/dictionary-importer-BkQQSBhm.d.ts +237 -0
  68. package/dist/dictionary-importer-BkQQSBhm.d.ts.map +1 -0
  69. package/dist/dictionary-importer-Cen1z6co.js +1821 -0
  70. package/dist/dictionary-importer-Cen1z6co.js.map +1 -0
  71. package/dist/dictionary-importer-DYmmWmcX.cjs +8 -0
  72. package/dist/dictionary-importer-Da3AuTZw.d.cts +237 -0
  73. package/dist/dictionary-importer-Da3AuTZw.d.cts.map +1 -0
  74. package/dist/dictionary-importer-Dhn75iZ4.cjs +1834 -0
  75. package/dist/dictionary-importer-Dhn75iZ4.cjs.map +1 -0
  76. package/dist/dictionary-importer-xWkel0h-.js +8 -0
  77. package/dist/dictionary-update-checker-BNE4pGTx.js +4 -0
  78. package/dist/dictionary-update-checker-Byjvifd2.cjs +75 -0
  79. package/dist/dictionary-update-checker-Byjvifd2.cjs.map +1 -0
  80. package/dist/dictionary-update-checker-YdpalZ41.cjs +4 -0
  81. package/dist/dictionary-update-checker-kKukiovj.js +69 -0
  82. package/dist/dictionary-update-checker-kKukiovj.js.map +1 -0
  83. package/dist/display-generator-BGVWiI0t.js +746 -0
  84. package/dist/display-generator-BGVWiI0t.js.map +1 -0
  85. package/dist/display-generator-BMQmG5Ov.cjs +9 -0
  86. package/dist/display-generator-BxZ7mBjP.js +9 -0
  87. package/dist/display-generator-DyP-HNzP.cjs +758 -0
  88. package/dist/display-generator-DyP-HNzP.cjs.map +1 -0
  89. package/dist/errors-BSezaJwm.cjs +35 -0
  90. package/dist/errors-BSezaJwm.cjs.map +1 -0
  91. package/dist/errors-DuuDSO5N.js +22 -0
  92. package/dist/errors-DuuDSO5N.js.map +1 -0
  93. package/dist/frequency-ranking-BXjfhhUQ.js +3 -0
  94. package/dist/frequency-ranking-Cx1kkIrw.cjs +3 -0
  95. package/dist/frequency-ranking-DEJMTMdg.js +159 -0
  96. package/dist/frequency-ranking-DEJMTMdg.js.map +1 -0
  97. package/dist/frequency-ranking-DVYxTXN-.cjs +166 -0
  98. package/dist/frequency-ranking-DVYxTXN-.cjs.map +1 -0
  99. package/dist/furigana-5HK97CY8.js +4 -0
  100. package/dist/furigana-9bBI9-qe.d.ts +47 -0
  101. package/dist/furigana-9bBI9-qe.d.ts.map +1 -0
  102. package/dist/furigana-B3-0y231.js +471 -0
  103. package/dist/furigana-B3-0y231.js.map +1 -0
  104. package/dist/furigana-CjOhzvZt.d.cts +47 -0
  105. package/dist/furigana-CjOhzvZt.d.cts.map +1 -0
  106. package/dist/furigana-DpZLcues.cjs +609 -0
  107. package/dist/furigana-DpZLcues.cjs.map +1 -0
  108. package/dist/furigana-h3v2ub4-.cjs +4 -0
  109. package/dist/import.cjs +12 -0
  110. package/dist/import.d.cts +107 -0
  111. package/dist/import.d.cts.map +1 -0
  112. package/dist/import.d.ts +107 -0
  113. package/dist/import.d.ts.map +1 -0
  114. package/dist/import.js +9 -0
  115. package/dist/index.cjs +275 -0
  116. package/dist/index.cjs.map +1 -0
  117. package/dist/index.d.cts +211 -0
  118. package/dist/index.d.cts.map +1 -0
  119. package/dist/index.d.ts +211 -0
  120. package/dist/index.d.ts.map +1 -0
  121. package/dist/index.js +238 -0
  122. package/dist/index.js.map +1 -0
  123. package/dist/json-DGd-cunA.js +17 -0
  124. package/dist/json-DGd-cunA.js.map +1 -0
  125. package/dist/json-DKWp-B7Y.cjs +30 -0
  126. package/dist/json-DKWp-B7Y.cjs.map +1 -0
  127. package/dist/language-KN_u-nTR.d.ts +104 -0
  128. package/dist/language-KN_u-nTR.d.ts.map +1 -0
  129. package/dist/language-xAbQxgXc.d.cts +104 -0
  130. package/dist/language-xAbQxgXc.d.cts.map +1 -0
  131. package/dist/language.cjs +15626 -0
  132. package/dist/language.cjs.map +1 -0
  133. package/dist/language.d.cts +959 -0
  134. package/dist/language.d.cts.map +1 -0
  135. package/dist/language.d.ts +959 -0
  136. package/dist/language.d.ts.map +1 -0
  137. package/dist/language.js +15522 -0
  138. package/dist/language.js.map +1 -0
  139. package/dist/log-D8KtR3aP.cjs +67 -0
  140. package/dist/log-D8KtR3aP.cjs.map +1 -0
  141. package/dist/log-hgSll-dS.js +60 -0
  142. package/dist/log-hgSll-dS.js.map +1 -0
  143. package/dist/lookup.cjs +13 -0
  144. package/dist/lookup.d.cts +161 -0
  145. package/dist/lookup.d.cts.map +1 -0
  146. package/dist/lookup.d.ts +161 -0
  147. package/dist/lookup.d.ts.map +1 -0
  148. package/dist/lookup.js +10 -0
  149. package/dist/media-loader-BABA_E4W.js +3 -0
  150. package/dist/media-loader-Ce9cuANS.cjs +21 -0
  151. package/dist/media-loader-Ce9cuANS.cjs.map +1 -0
  152. package/dist/media-loader-qRti-Q6h.js +14 -0
  153. package/dist/media-loader-qRti-Q6h.js.map +1 -0
  154. package/dist/media-loader-xlUGaJrx.cjs +3 -0
  155. package/dist/multi-language-transformer-AlxOM6b3.js +637 -0
  156. package/dist/multi-language-transformer-AlxOM6b3.js.map +1 -0
  157. package/dist/multi-language-transformer-MdbQBBOt.cjs +685 -0
  158. package/dist/multi-language-transformer-MdbQBBOt.cjs.map +1 -0
  159. package/dist/multi-language-transformer-SEhcJXEB.d.ts +63 -0
  160. package/dist/multi-language-transformer-SEhcJXEB.d.ts.map +1 -0
  161. package/dist/multi-language-transformer-Ul9mbRce.d.cts +63 -0
  162. package/dist/multi-language-transformer-Ul9mbRce.d.cts.map +1 -0
  163. package/dist/pronunciation-generator-BtBc4q_V.js +397 -0
  164. package/dist/pronunciation-generator-BtBc4q_V.js.map +1 -0
  165. package/dist/pronunciation-generator-CBYdXYou.js +4 -0
  166. package/dist/pronunciation-generator-CFbZlf5J.cjs +445 -0
  167. package/dist/pronunciation-generator-CFbZlf5J.cjs.map +1 -0
  168. package/dist/pronunciation-generator-DOz9hEuk.cjs +4 -0
  169. package/dist/render.cjs +2796 -0
  170. package/dist/render.cjs.map +1 -0
  171. package/dist/render.d.cts +424 -0
  172. package/dist/render.d.cts.map +1 -0
  173. package/dist/render.d.ts +424 -0
  174. package/dist/render.d.ts.map +1 -0
  175. package/dist/render.js +2777 -0
  176. package/dist/render.js.map +1 -0
  177. package/dist/sentence-parser-BPAJNzqW.js +126 -0
  178. package/dist/sentence-parser-BPAJNzqW.js.map +1 -0
  179. package/dist/sentence-parser-BVIOI64h.cjs +132 -0
  180. package/dist/sentence-parser-BVIOI64h.cjs.map +1 -0
  181. package/dist/sentence-parser-BoHO3cHn.js +5 -0
  182. package/dist/sentence-parser-DQVLSW0z.cjs +5 -0
  183. package/dist/structured-content-generator-BtOApkTW.cjs +4 -0
  184. package/dist/structured-content-generator-Bx62RYa8.js +4 -0
  185. package/dist/structured-content-generator-CLnybumI.js +276 -0
  186. package/dist/structured-content-generator-CLnybumI.js.map +1 -0
  187. package/dist/structured-content-generator-DrwkB0-k.cjs +282 -0
  188. package/dist/structured-content-generator-DrwkB0-k.cjs.map +1 -0
  189. package/dist/text-utilities-B7PIythe.js +8 -0
  190. package/dist/text-utilities-B7PIythe.js.map +1 -0
  191. package/dist/text-utilities-Del2Ivkg.cjs +15 -0
  192. package/dist/text-utilities-Del2Ivkg.cjs.map +1 -0
  193. package/dist/translator-CRPlPzqi.cjs +1545 -0
  194. package/dist/translator-CRPlPzqi.cjs.map +1 -0
  195. package/dist/translator-CWgG5drA.js +1539 -0
  196. package/dist/translator-CWgG5drA.js.map +1 -0
  197. package/dist/translator-CaGtJvnQ.cjs +6 -0
  198. package/dist/translator-Cc6OGxrW.d.ts +180 -0
  199. package/dist/translator-Cc6OGxrW.d.ts.map +1 -0
  200. package/dist/translator-CcA-s-W4.d.cts +180 -0
  201. package/dist/translator-CcA-s-W4.d.cts.map +1 -0
  202. package/dist/translator-CuJOTK6l.js +6 -0
  203. package/dist/utilities-C-lbZaJE.cjs +52 -0
  204. package/dist/utilities-C-lbZaJE.cjs.map +1 -0
  205. package/dist/utilities-bi3EF-q5.js +33 -0
  206. package/dist/utilities-bi3EF-q5.js.map +1 -0
  207. package/package.json +102 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"language.cjs","names":["inflectedSuffix: string","deinflectedSuffix: string","conditionsIn: TCondition[]","conditionsOut: TCondition[]","inflectedPrefix: string","deinflectedPrefix: string","inflectedWord: string","deinflectedWord: string","suffix: 'て' | 'た' | 'たら' | 'たり'","conditionsIn: Condition[]","conditionsOut: Condition[]","conditions","japaneseTransforms: LanguageTransformDescriptor<Condition>","ROMAJI_TO_HIRAGANA: Record<string, string>","HIRAGANA_TO_ROMAJI: Record<string, string>","text: string","selectionStart: number","convertHalfWidthCharacters: TextProcessor<boolean>","basicTextProcessorOptions","alphabeticToHiragana: TextProcessor<boolean>","alphanumericWidthVariants: BidirectionalConversionPreprocessor","convertHiraganaToKatakana: BidirectionalConversionPreprocessor","collapseEmphaticSequences: TextProcessor<[collapseEmphatic: boolean, collapseEmphaticFull: boolean]>","normalizeCombiningCharacters: TextProcessor<boolean>","normalizeCJKCompatibilityCharacters: TextProcessor<boolean>","HANGUL_BLOCK: [number, number]","HANGUL_JAMO: [number, number]","HANGUL_COMPATIBILITY_JAMO: [number, number]","HANGUL_JAMO_EXTENDED_A: [number, number]","HANGUL_JAMO_EXTENDED_B: [number, number]","KOREAN_RANGES: [number, number][]","codePoint: number","conditions","koreanTransforms: LanguageTransformDescriptor<Condition>","code: number","result: string[]","str: string","disassembleHangul: TextProcessor<boolean>","reassembleHangul: TextProcessor<boolean>","BOPOMOFO_RANGE: CodepointRange","BOPOMOFO_EXTENDED_RANGE: CodepointRange","IDEOGRAPHIC_SYMBOLS_AND_PUNCTUATION_RANGE: CodepointRange","SMALL_FORM_RANGE: CodepointRange","VERTICAL_FORM_RANGE: CodepointRange","CHINESE_RANGES: CodepointRange[]","CJK_IDEOGRAPH_RANGES","CJK_PUNCTUATION_RANGE","FULLWIDTH_CHARACTER_RANGES","str: string","codePoint: number","prefix: string","inflectedPrefix: string","deinflectedPrefix: string","initialStemSegment: string","conditionsIn: Condition[]","conditionsOut: Condition[]","inflectedSuffix: string","deinflectedSuffix: string","finalStemSegment: string","sandwichInflection","conditions","arabicTransforms: LanguageTransformDescriptor<Condition>","removeArabicScriptDiacritics: TextProcessor<boolean>","basicTextProcessorOptions","removeTatweel: TextProcessor<boolean>","normalizeUnicode: TextProcessor<boolean>","addHamzaTop: TextProcessor<boolean>","addHamzaBottom: TextProcessor<boolean>","convertAlifMaqsuraToYaa: TextProcessor<boolean>","convertHaToTaMarbuta: TextProcessor<boolean>","conditions","prefix: string","conditionsIn: Condition[]","conditionsOut: Condition[]","suffixes","germanTransforms: LanguageTransformDescriptor<Condition>","eszettPreprocessor: BidirectionalConversionPreprocessor","conditions","consonants: string","suffix: string","conditionsIn: Condition[]","conditionsOut: Condition[]","inflections: SuffixRule<Condition>[]","phrasalVerbInterposedObjectRule: Rule<Condition>","term: string","inflected: string","deinflected: string","sourceRules: SuffixRule<Condition>[]","englishTransforms: LanguageTransformDescriptor<Condition>","conditions","esperantoTransforms: LanguageTransformDescriptor<Condition>","char: string","conditions","spanishTransforms: LanguageTransformDescriptor<Condition>","conditions","frenchTransforms: LanguageTransformDescriptor<Condition>","apostropheVariants: BidirectionalConversionPreprocessor","str: string","removeDoubleAcuteAccents: TextProcessor<boolean>","basicTextProcessorOptions","conditions","ancientGreekTransforms: LanguageTransformDescriptor<Condition>","convertLatinToGreek: TextProcessor<boolean>","basicTextProcessorOptions","latin: string","singleMap: Record<string, string>","doubleMap: Record<string, string>","conditions","irishTransforms: LanguageTransformDescriptor<Condition>","conditions","nounAdjConditions: Condition[]","georgianTransforms: LanguageTransformDescriptor<Condition>","conditions","latinTransforms: LanguageTransformDescriptor<Condition>","processDiphtongs: BidirectionalConversionPreprocessor","diacriticsRegex","removeRussianDiacritics: TextProcessor<boolean>","basicTextProcessorOptions","yoToE: TextProcessor<boolean>","conditions","notBeginning: boolean","originalOrthography: string","alternateOrthography: string","conditionsIn: Condition[]","conditionsOut: Condition[]","text: string","oldIrishTransforms: LanguageTransformDescriptor<Condition>","removeSerboCroatianAccentMarks: TextProcessor<boolean>","basicTextProcessorOptions","conditions","inflectedSuffix: string","deinflectedSuffix: string","conditionsIn: Condition[]","conditionsOut: Condition[]","albanianTransforms: LanguageTransformDescriptor<Condition>","conditions","conditionsIn: Condition[]","conditionsOut: Condition[]","inflectedSuffix: string","deinflectedSuffix: string","inflectedPrefix: string","deinflectedPrefix: string","tagalogTransforms: LanguageTransformDescriptor<Condition>","normalizeDiacritics: TextProcessor<'old' | 'new' | 'off'>","inflectedSuffix: string","deinflectedSuffix: string","conditionsIn: Condition[]","conditionsOut: Condition[]","yiddishTransforms: LanguageTransformDescriptor<Condition>","ligatures","combineYiddishLigatures: TextProcessor<boolean>","removeYiddishDiacritics: TextProcessor<boolean>","convertFinalLetters: TextProcessor<boolean>","convertYiddishLigatures: BidirectionalConversionPreprocessor","removeSyriacScriptDiacritics: TextProcessor<boolean>","basicTextProcessorOptions"],"sources":["../src/language/language-transforms.ts","../src/language/ja/japanese-transforms.ts","../src/language/ja/japanese-kana-romaji-dicts.ts","../src/language/ja/japanese-wanakana.ts","../src/language/ja/japanese-text-preprocessors.ts","../src/language/ko/korean.ts","../src/language/ko/korean-transforms.ts","../src/language/ko/korean-text-processors.ts","../src/language/zh/chinese.ts","../src/language/ar/arabic-transforms.ts","../src/language/ar/arabic-text-preprocessors.ts","../src/language/de/german-transforms.ts","../src/language/de/german-text-preprocessors.ts","../src/language/en/english-transforms.ts","../src/language/eo/esperanto-transforms.ts","../src/language/es/spanish-transforms.ts","../src/language/fr/french-transforms.ts","../src/language/fr/french-text-preprocessors.ts","../src/language/el/modern-greek-processors.ts","../src/language/grc/ancient-greek-transforms.ts","../src/language/grc/ancient-greek-processors.ts","../src/language/ga/irish-transforms.ts","../src/language/ka/georgian-transforms.ts","../src/language/la/latin-transforms.ts","../src/language/la/latin-text-preprocessors.ts","../src/language/ru/russian-text-preprocessors.ts","../src/language/sga/old-irish-transforms.ts","../src/language/sh/serbo-croatian-text-preprocessors.ts","../src/language/sq/albanian-transforms.ts","../src/language/tl/tagalog-transforms.ts","../src/language/vi/viet-text-preprocessors.ts","../src/language/yi/yiddish-transforms.ts","../src/language/yi/yiddish-text-preprocessors.ts","../src/language/yi/yiddish-text-postprocessors.ts","../src/language/aii/assyrian-neo-aramaic-text-preprocessors.ts"],"sourcesContent":["import type { Rule, SuffixRule } from '../types/language-transformer';\n\nexport function suffixInflection<TCondition extends string>(\n inflectedSuffix: string,\n deinflectedSuffix: string,\n conditionsIn: TCondition[],\n conditionsOut: TCondition[],\n): SuffixRule<TCondition> {\n const suffixRegExp = new RegExp(`${inflectedSuffix}$`);\n return {\n type: 'suffix',\n isInflected: suffixRegExp,\n deinflected: deinflectedSuffix,\n deinflect: (text) => text.slice(0, -inflectedSuffix.length) + deinflectedSuffix,\n conditionsIn,\n conditionsOut,\n };\n}\n\nexport function prefixInflection<TCondition extends string>(\n inflectedPrefix: string,\n deinflectedPrefix: string,\n conditionsIn: TCondition[],\n conditionsOut: TCondition[],\n): Rule<TCondition> {\n const prefixRegExp = new RegExp(`^${inflectedPrefix}`);\n return {\n type: 'prefix',\n isInflected: prefixRegExp,\n deinflect: (text) => deinflectedPrefix + text.slice(inflectedPrefix.length),\n conditionsIn,\n conditionsOut,\n };\n}\n\nexport function wholeWordInflection<TCondition extends string>(\n inflectedWord: string,\n deinflectedWord: string,\n conditionsIn: TCondition[],\n conditionsOut: TCondition[],\n): Rule<TCondition> {\n const regex = new RegExp(`^${inflectedWord}$`);\n return {\n type: 'wholeWord',\n isInflected: regex,\n deinflect: () => deinflectedWord,\n conditionsIn,\n conditionsOut,\n };\n}\n","import type { LanguageTransformDescriptor, SuffixRule } from '../../types/language-transformer';\nimport { suffixInflection } from '../language-transforms';\n\nconst shimauEnglishDescription =\n '1. Shows a sense of regret/surprise when you did have volition in doing something, but it turned out to be bad to do.\\n' +\n '2. Shows perfective/punctual achievement. This shows that an action has been completed.\\n' +\n '3. Shows unintentional action–“accidentally”.\\n';\n\nconst passiveEnglishDescription =\n '1. Indicates an action received from an action performer.\\n' +\n '2. Expresses respect for the subject of action performer.\\n';\n\nconst ikuVerbs = ['いく', '行く', '逝く', '往く'];\nconst godanUSpecialVerbs = [\n 'こう',\n 'とう',\n '請う',\n '乞う',\n '恋う',\n '問う',\n '訪う',\n '宣う',\n '曰う',\n '給う',\n '賜う',\n '揺蕩う',\n];\nconst fuVerbTeConjugations = [\n ['のたまう', 'のたもう'],\n ['たまう', 'たもう'],\n ['たゆたう', 'たゆとう'],\n];\n\ntype Condition = keyof typeof conditions;\n\nfunction irregularVerbSuffixInflections(\n suffix: 'て' | 'た' | 'たら' | 'たり',\n conditionsIn: Condition[],\n conditionsOut: Condition[],\n): SuffixRule<Condition>[] {\n const inflections = [];\n for (const verb of ikuVerbs) {\n inflections.push(suffixInflection(`${verb[0]}っ${suffix}`, verb, conditionsIn, conditionsOut));\n }\n for (const verb of godanUSpecialVerbs) {\n inflections.push(suffixInflection(`${verb}${suffix}`, verb, conditionsIn, conditionsOut));\n }\n for (const [verb, teRoot] of fuVerbTeConjugations) {\n inflections.push(suffixInflection(`${teRoot}${suffix}`, verb, conditionsIn, conditionsOut));\n }\n return inflections;\n}\n\nconst conditions = {\n v: {\n name: 'Verb',\n i18n: [\n {\n language: 'ja',\n name: '動詞',\n },\n ],\n isDictionaryForm: false,\n subConditions: ['v1', 'v5', 'vk', 'vs', 'vz'],\n },\n v1: {\n name: 'Ichidan verb',\n i18n: [\n {\n language: 'ja',\n name: '一段動詞',\n },\n ],\n isDictionaryForm: true,\n subConditions: ['v1d', 'v1p'],\n },\n v1d: {\n name: 'Ichidan verb, dictionary form',\n i18n: [\n {\n language: 'ja',\n name: '一段動詞、終止形',\n },\n ],\n isDictionaryForm: false,\n },\n v1p: {\n name: 'Ichidan verb, progressive or perfect form',\n i18n: [\n {\n language: 'ja',\n name: '一段動詞、~てる・でる',\n },\n ],\n isDictionaryForm: false,\n },\n v5: {\n name: 'Godan verb',\n i18n: [\n {\n language: 'ja',\n name: '五段動詞',\n },\n ],\n isDictionaryForm: true,\n subConditions: ['v5d', 'v5s'],\n },\n v5d: {\n name: 'Godan verb, dictionary form',\n i18n: [\n {\n language: 'ja',\n name: '五段動詞、終止形',\n },\n ],\n isDictionaryForm: false,\n },\n v5s: {\n name: 'Godan verb, short causative form',\n i18n: [\n {\n language: 'ja',\n name: '五段動詞、~す・さす',\n },\n ],\n isDictionaryForm: false,\n subConditions: ['v5ss', 'v5sp'],\n },\n v5ss: {\n name: 'Godan verb, short causative form having さす ending (cannot conjugate with passive form)',\n i18n: [\n {\n language: 'ja',\n name: '五段動詞、~さす',\n },\n ],\n isDictionaryForm: false,\n },\n v5sp: {\n name: 'Godan verb, short causative form not having さす ending (can conjugate with passive form)',\n i18n: [\n {\n language: 'ja',\n name: '五段動詞、~す',\n },\n ],\n isDictionaryForm: false,\n },\n vk: {\n name: 'Kuru verb',\n i18n: [\n {\n language: 'ja',\n name: '来る動詞',\n },\n ],\n isDictionaryForm: true,\n },\n vs: {\n name: 'Suru verb',\n i18n: [\n {\n language: 'ja',\n name: 'する動詞',\n },\n ],\n isDictionaryForm: true,\n },\n vz: {\n name: 'Zuru verb',\n i18n: [\n {\n language: 'ja',\n name: 'ずる動詞',\n },\n ],\n isDictionaryForm: true,\n },\n 'adj-i': {\n name: 'Adjective with i ending',\n i18n: [\n {\n language: 'ja',\n name: '形容詞',\n },\n ],\n isDictionaryForm: true,\n },\n '-ます': {\n name: 'Polite -ます ending',\n isDictionaryForm: false,\n },\n '-ません': {\n name: 'Polite negative -ません ending',\n isDictionaryForm: false,\n },\n '-て': {\n name: 'Intermediate -て endings for progressive or perfect tense',\n isDictionaryForm: false,\n },\n '-ば': {\n name: 'Intermediate -ば endings for conditional contraction',\n isDictionaryForm: false,\n },\n '-く': {\n name: 'Intermediate -く endings for adverbs',\n isDictionaryForm: false,\n },\n '-た': {\n name: '-た form ending',\n isDictionaryForm: false,\n },\n '-ん': {\n name: '-ん negative ending',\n isDictionaryForm: false,\n },\n '-なさい': {\n name: 'Intermediate -なさい ending (polite imperative)',\n isDictionaryForm: false,\n },\n '-ゃ': {\n name: 'Intermediate -や ending (conditional contraction)',\n isDictionaryForm: false,\n },\n};\n\nexport const japaneseTransforms: LanguageTransformDescriptor<Condition> = {\n language: 'ja',\n conditions,\n transforms: {\n '-ば': {\n name: '-ば',\n description:\n \"1. Conditional form; shows that the previous stated condition's establishment is the condition for the latter stated condition to occur.\\n\" +\n '2. Shows a trigger for a latter stated perception or judgment.\\n' +\n 'Usage: Attach ば to the hypothetical form (仮定形) of verbs and i-adjectives.',\n i18n: [\n {\n language: 'ja',\n name: '~ば',\n },\n ],\n rules: [\n suffixInflection('ければ', 'い', ['-ば'], ['adj-i']),\n suffixInflection('えば', 'う', ['-ば'], ['v5']),\n suffixInflection('けば', 'く', ['-ば'], ['v5']),\n suffixInflection('げば', 'ぐ', ['-ば'], ['v5']),\n suffixInflection('せば', 'す', ['-ば'], ['v5']),\n suffixInflection('てば', 'つ', ['-ば'], ['v5']),\n suffixInflection('ねば', 'ぬ', ['-ば'], ['v5']),\n suffixInflection('べば', 'ぶ', ['-ば'], ['v5']),\n suffixInflection('めば', 'む', ['-ば'], ['v5']),\n suffixInflection('れば', 'る', ['-ば'], ['v1', 'v5', 'vk', 'vs', 'vz']),\n suffixInflection('れば', '', ['-ば'], ['-ます']),\n ],\n },\n '-ゃ': {\n name: '-ゃ',\n description: 'Contraction of -ば.',\n i18n: [\n {\n language: 'ja',\n name: '~ゃ',\n description: '「~ば」の短縮',\n },\n ],\n rules: [\n suffixInflection('けりゃ', 'ければ', ['-ゃ'], ['-ば']),\n suffixInflection('きゃ', 'ければ', ['-ゃ'], ['-ば']),\n suffixInflection('や', 'えば', ['-ゃ'], ['-ば']),\n suffixInflection('きゃ', 'けば', ['-ゃ'], ['-ば']),\n suffixInflection('ぎゃ', 'げば', ['-ゃ'], ['-ば']),\n suffixInflection('しゃ', 'せば', ['-ゃ'], ['-ば']),\n suffixInflection('ちゃ', 'てば', ['-ゃ'], ['-ば']),\n suffixInflection('にゃ', 'ねば', ['-ゃ'], ['-ば']),\n suffixInflection('びゃ', 'べば', ['-ゃ'], ['-ば']),\n suffixInflection('みゃ', 'めば', ['-ゃ'], ['-ば']),\n suffixInflection('りゃ', 'れば', ['-ゃ'], ['-ば']),\n ],\n },\n '-ちゃ': {\n name: '-ちゃ',\n description:\n 'Contraction of ~ては.\\n' +\n '1. Explains how something always happens under the condition that it marks.\\n' +\n '2. Expresses the repetition (of a series of) actions.\\n' +\n \"3. Indicates a hypothetical situation in which the speaker gives a (negative) evaluation about the other party's intentions.\\n\" +\n '4. Used in \"Must Not\" patterns like ~てはいけない.\\n' +\n 'Usage: Attach は after the て-form of verbs, contract ては into ちゃ.',\n i18n: [\n {\n language: 'ja',\n name: '~ちゃ',\n description: '「~ては」の短縮',\n },\n ],\n rules: [\n suffixInflection('ちゃ', 'る', ['v5'], ['v1']),\n suffixInflection('いじゃ', 'ぐ', ['v5'], ['v5']),\n suffixInflection('いちゃ', 'く', ['v5'], ['v5']),\n suffixInflection('しちゃ', 'す', ['v5'], ['v5']),\n suffixInflection('っちゃ', 'う', ['v5'], ['v5']),\n suffixInflection('っちゃ', 'く', ['v5'], ['v5']),\n suffixInflection('っちゃ', 'つ', ['v5'], ['v5']),\n suffixInflection('っちゃ', 'る', ['v5'], ['v5']),\n suffixInflection('んじゃ', 'ぬ', ['v5'], ['v5']),\n suffixInflection('んじゃ', 'ぶ', ['v5'], ['v5']),\n suffixInflection('んじゃ', 'む', ['v5'], ['v5']),\n suffixInflection('じちゃ', 'ずる', ['v5'], ['vz']),\n suffixInflection('しちゃ', 'する', ['v5'], ['vs']),\n suffixInflection('為ちゃ', '為る', ['v5'], ['vs']),\n suffixInflection('きちゃ', 'くる', ['v5'], ['vk']),\n suffixInflection('来ちゃ', '来る', ['v5'], ['vk']),\n suffixInflection('來ちゃ', '來る', ['v5'], ['vk']),\n ],\n },\n '-ちゃう': {\n name: '-ちゃう',\n description: `Contraction of -しまう.\\n${shimauEnglishDescription}Usage: Attach しまう after the て-form of verbs, contract てしまう into ちゃう.`,\n i18n: [\n {\n language: 'ja',\n name: '~ちゃう',\n description: '「~てしまう」のややくだけた口頭語的表現',\n },\n ],\n rules: [\n suffixInflection('ちゃう', 'る', ['v5'], ['v1']),\n suffixInflection('いじゃう', 'ぐ', ['v5'], ['v5']),\n suffixInflection('いちゃう', 'く', ['v5'], ['v5']),\n suffixInflection('しちゃう', 'す', ['v5'], ['v5']),\n suffixInflection('っちゃう', 'う', ['v5'], ['v5']),\n suffixInflection('っちゃう', 'く', ['v5'], ['v5']),\n suffixInflection('っちゃう', 'つ', ['v5'], ['v5']),\n suffixInflection('っちゃう', 'る', ['v5'], ['v5']),\n suffixInflection('んじゃう', 'ぬ', ['v5'], ['v5']),\n suffixInflection('んじゃう', 'ぶ', ['v5'], ['v5']),\n suffixInflection('んじゃう', 'む', ['v5'], ['v5']),\n suffixInflection('じちゃう', 'ずる', ['v5'], ['vz']),\n suffixInflection('しちゃう', 'する', ['v5'], ['vs']),\n suffixInflection('為ちゃう', '為る', ['v5'], ['vs']),\n suffixInflection('きちゃう', 'くる', ['v5'], ['vk']),\n suffixInflection('来ちゃう', '来る', ['v5'], ['vk']),\n suffixInflection('來ちゃう', '來る', ['v5'], ['vk']),\n ],\n },\n '-ちまう': {\n name: '-ちまう',\n description: `Contraction of -しまう.\\n${shimauEnglishDescription}Usage: Attach しまう after the て-form of verbs, contract てしまう into ちまう.`,\n i18n: [\n {\n language: 'ja',\n name: '~ちまう',\n description: '「~てしまう」の音変化',\n },\n ],\n rules: [\n suffixInflection('ちまう', 'る', ['v5'], ['v1']),\n suffixInflection('いじまう', 'ぐ', ['v5'], ['v5']),\n suffixInflection('いちまう', 'く', ['v5'], ['v5']),\n suffixInflection('しちまう', 'す', ['v5'], ['v5']),\n suffixInflection('っちまう', 'う', ['v5'], ['v5']),\n suffixInflection('っちまう', 'く', ['v5'], ['v5']),\n suffixInflection('っちまう', 'つ', ['v5'], ['v5']),\n suffixInflection('っちまう', 'る', ['v5'], ['v5']),\n suffixInflection('んじまう', 'ぬ', ['v5'], ['v5']),\n suffixInflection('んじまう', 'ぶ', ['v5'], ['v5']),\n suffixInflection('んじまう', 'む', ['v5'], ['v5']),\n suffixInflection('じちまう', 'ずる', ['v5'], ['vz']),\n suffixInflection('しちまう', 'する', ['v5'], ['vs']),\n suffixInflection('為ちまう', '為る', ['v5'], ['vs']),\n suffixInflection('きちまう', 'くる', ['v5'], ['vk']),\n suffixInflection('来ちまう', '来る', ['v5'], ['vk']),\n suffixInflection('來ちまう', '來る', ['v5'], ['vk']),\n ],\n },\n '-しまう': {\n name: '-しまう',\n description: `${shimauEnglishDescription}Usage: Attach しまう after the て-form of verbs.`,\n i18n: [\n {\n language: 'ja',\n name: '~しまう',\n description:\n 'その動作がすっかり終わる、その状態が完成することを表す。終わったことを強調したり、不本意である、困ったことになった、などの気持ちを添えたりすることもある。',\n },\n ],\n rules: [\n suffixInflection('てしまう', 'て', ['v5'], ['-て']),\n suffixInflection('でしまう', 'で', ['v5'], ['-て']),\n ],\n },\n '-なさい': {\n name: '-なさい',\n description:\n 'Polite imperative suffix.\\n' + 'Usage: Attach なさい after the continuative form (連用形) of verbs.',\n i18n: [\n {\n language: 'ja',\n name: '~なさい',\n description: '動詞「なさる」の命令形',\n },\n ],\n rules: [\n suffixInflection('なさい', 'る', ['-なさい'], ['v1']),\n suffixInflection('いなさい', 'う', ['-なさい'], ['v5']),\n suffixInflection('きなさい', 'く', ['-なさい'], ['v5']),\n suffixInflection('ぎなさい', 'ぐ', ['-なさい'], ['v5']),\n suffixInflection('しなさい', 'す', ['-なさい'], ['v5']),\n suffixInflection('ちなさい', 'つ', ['-なさい'], ['v5']),\n suffixInflection('になさい', 'ぬ', ['-なさい'], ['v5']),\n suffixInflection('びなさい', 'ぶ', ['-なさい'], ['v5']),\n suffixInflection('みなさい', 'む', ['-なさい'], ['v5']),\n suffixInflection('りなさい', 'る', ['-なさい'], ['v5']),\n suffixInflection('じなさい', 'ずる', ['-なさい'], ['vz']),\n suffixInflection('しなさい', 'する', ['-なさい'], ['vs']),\n suffixInflection('為なさい', '為る', ['-なさい'], ['vs']),\n suffixInflection('きなさい', 'くる', ['-なさい'], ['vk']),\n suffixInflection('来なさい', '来る', ['-なさい'], ['vk']),\n suffixInflection('來なさい', '來る', ['-なさい'], ['vk']),\n ],\n },\n '-そう': {\n name: '-そう',\n description:\n 'Appearing that; looking like.\\n' +\n 'Usage: Attach そう to the continuative form (連用形) of verbs, or to the stem of adjectives.',\n i18n: [\n {\n language: 'ja',\n name: '~そう',\n description: 'そういう様子だ、そうなる様子だということ、すなわち様態を表す助動詞。',\n },\n ],\n rules: [\n suffixInflection('そう', 'い', [], ['adj-i']),\n suffixInflection('そう', 'る', [], ['v1']),\n suffixInflection('いそう', 'う', [], ['v5']),\n suffixInflection('きそう', 'く', [], ['v5']),\n suffixInflection('ぎそう', 'ぐ', [], ['v5']),\n suffixInflection('しそう', 'す', [], ['v5']),\n suffixInflection('ちそう', 'つ', [], ['v5']),\n suffixInflection('にそう', 'ぬ', [], ['v5']),\n suffixInflection('びそう', 'ぶ', [], ['v5']),\n suffixInflection('みそう', 'む', [], ['v5']),\n suffixInflection('りそう', 'る', [], ['v5']),\n suffixInflection('じそう', 'ずる', [], ['vz']),\n suffixInflection('しそう', 'する', [], ['vs']),\n suffixInflection('為そう', '為る', [], ['vs']),\n suffixInflection('きそう', 'くる', [], ['vk']),\n suffixInflection('来そう', '来る', [], ['vk']),\n suffixInflection('來そう', '來る', [], ['vk']),\n ],\n },\n '-すぎる': {\n name: '-すぎる',\n description:\n 'Shows something \"is too...\" or someone is doing something \"too much\".\\n' +\n 'Usage: Attach すぎる to the continuative form (連用形) of verbs, or to the stem of adjectives.',\n i18n: [\n {\n language: 'ja',\n name: '~すぎる',\n description: '程度や限度を超える',\n },\n ],\n rules: [\n suffixInflection('すぎる', 'い', ['v1'], ['adj-i']),\n suffixInflection('すぎる', 'る', ['v1'], ['v1']),\n suffixInflection('いすぎる', 'う', ['v1'], ['v5']),\n suffixInflection('きすぎる', 'く', ['v1'], ['v5']),\n suffixInflection('ぎすぎる', 'ぐ', ['v1'], ['v5']),\n suffixInflection('しすぎる', 'す', ['v1'], ['v5']),\n suffixInflection('ちすぎる', 'つ', ['v1'], ['v5']),\n suffixInflection('にすぎる', 'ぬ', ['v1'], ['v5']),\n suffixInflection('びすぎる', 'ぶ', ['v1'], ['v5']),\n suffixInflection('みすぎる', 'む', ['v1'], ['v5']),\n suffixInflection('りすぎる', 'る', ['v1'], ['v5']),\n suffixInflection('じすぎる', 'ずる', ['v1'], ['vz']),\n suffixInflection('しすぎる', 'する', ['v1'], ['vs']),\n suffixInflection('為すぎる', '為る', ['v1'], ['vs']),\n suffixInflection('きすぎる', 'くる', ['v1'], ['vk']),\n suffixInflection('来すぎる', '来る', ['v1'], ['vk']),\n suffixInflection('來すぎる', '來る', ['v1'], ['vk']),\n ],\n },\n '-過ぎる': {\n name: '-過ぎる',\n description:\n 'Shows something \"is too...\" or someone is doing something \"too much\".\\n' +\n 'Usage: Attach 過ぎる to the continuative form (連用形) of verbs, or to the stem of adjectives.',\n i18n: [\n {\n language: 'ja',\n name: '~過ぎる',\n description: '程度や限度を超える',\n },\n ],\n rules: [\n suffixInflection('過ぎる', 'い', ['v1'], ['adj-i']),\n suffixInflection('過ぎる', 'る', ['v1'], ['v1']),\n suffixInflection('い過ぎる', 'う', ['v1'], ['v5']),\n suffixInflection('き過ぎる', 'く', ['v1'], ['v5']),\n suffixInflection('ぎ過ぎる', 'ぐ', ['v1'], ['v5']),\n suffixInflection('し過ぎる', 'す', ['v1'], ['v5']),\n suffixInflection('ち過ぎる', 'つ', ['v1'], ['v5']),\n suffixInflection('に過ぎる', 'ぬ', ['v1'], ['v5']),\n suffixInflection('び過ぎる', 'ぶ', ['v1'], ['v5']),\n suffixInflection('み過ぎる', 'む', ['v1'], ['v5']),\n suffixInflection('り過ぎる', 'る', ['v1'], ['v5']),\n suffixInflection('じ過ぎる', 'ずる', ['v1'], ['vz']),\n suffixInflection('し過ぎる', 'する', ['v1'], ['vs']),\n suffixInflection('為過ぎる', '為る', ['v1'], ['vs']),\n suffixInflection('き過ぎる', 'くる', ['v1'], ['vk']),\n suffixInflection('来過ぎる', '来る', ['v1'], ['vk']),\n suffixInflection('來過ぎる', '來る', ['v1'], ['vk']),\n ],\n },\n '-たい': {\n name: '-たい',\n description:\n '1. Expresses the feeling of desire or hope.\\n' +\n '2. Used in ...たいと思います, an indirect way of saying what the speaker intends to do.\\n' +\n 'Usage: Attach たい to the continuative form (連用形) of verbs. たい itself conjugates as i-adjective.',\n i18n: [\n {\n language: 'ja',\n name: '~たい',\n description: 'することをのぞんでいる、という、希望や願望の気持ちをあらわす。',\n },\n ],\n rules: [\n suffixInflection('たい', 'る', ['adj-i'], ['v1']),\n suffixInflection('いたい', 'う', ['adj-i'], ['v5']),\n suffixInflection('きたい', 'く', ['adj-i'], ['v5']),\n suffixInflection('ぎたい', 'ぐ', ['adj-i'], ['v5']),\n suffixInflection('したい', 'す', ['adj-i'], ['v5']),\n suffixInflection('ちたい', 'つ', ['adj-i'], ['v5']),\n suffixInflection('にたい', 'ぬ', ['adj-i'], ['v5']),\n suffixInflection('びたい', 'ぶ', ['adj-i'], ['v5']),\n suffixInflection('みたい', 'む', ['adj-i'], ['v5']),\n suffixInflection('りたい', 'る', ['adj-i'], ['v5']),\n suffixInflection('じたい', 'ずる', ['adj-i'], ['vz']),\n suffixInflection('したい', 'する', ['adj-i'], ['vs']),\n suffixInflection('為たい', '為る', ['adj-i'], ['vs']),\n suffixInflection('きたい', 'くる', ['adj-i'], ['vk']),\n suffixInflection('来たい', '来る', ['adj-i'], ['vk']),\n suffixInflection('來たい', '來る', ['adj-i'], ['vk']),\n ],\n },\n '-たら': {\n name: '-たら',\n description:\n '1. Denotes the latter stated event is a continuation of the previous stated event.\\n' +\n '2. Assumes that a matter has been completed or concluded.\\n' +\n 'Usage: Attach たら to the continuative form (連用形) of verbs after euphonic change form, かったら to the stem of i-adjectives.',\n i18n: [\n {\n language: 'ja',\n name: '~たら',\n description: '仮定をあらわす・…すると・したあとに',\n },\n ],\n rules: [\n suffixInflection('かったら', 'い', [], ['adj-i']),\n suffixInflection('たら', 'る', [], ['v1']),\n suffixInflection('いたら', 'く', [], ['v5']),\n suffixInflection('いだら', 'ぐ', [], ['v5']),\n suffixInflection('したら', 'す', [], ['v5']),\n suffixInflection('ったら', 'う', [], ['v5']),\n suffixInflection('ったら', 'つ', [], ['v5']),\n suffixInflection('ったら', 'る', [], ['v5']),\n suffixInflection('んだら', 'ぬ', [], ['v5']),\n suffixInflection('んだら', 'ぶ', [], ['v5']),\n suffixInflection('んだら', 'む', [], ['v5']),\n suffixInflection('じたら', 'ずる', [], ['vz']),\n suffixInflection('したら', 'する', [], ['vs']),\n suffixInflection('為たら', '為る', [], ['vs']),\n suffixInflection('きたら', 'くる', [], ['vk']),\n suffixInflection('来たら', '来る', [], ['vk']),\n suffixInflection('來たら', '來る', [], ['vk']),\n ...irregularVerbSuffixInflections('たら', [], ['v5']),\n suffixInflection('ましたら', 'ます', [], ['-ます']),\n ],\n },\n '-たり': {\n name: '-たり',\n description:\n '1. Shows two actions occurring back and forth (when used with two verbs).\\n' +\n '2. Shows examples of actions and states (when used with multiple verbs and adjectives).\\n' +\n 'Usage: Attach たり to the continuative form (連用形) of verbs after euphonic change form, かったり to the stem of i-adjectives',\n i18n: [\n {\n language: 'ja',\n name: '~たり',\n description: 'ある動作を例示的にあげることを表わす。',\n },\n ],\n rules: [\n suffixInflection('かったり', 'い', [], ['adj-i']),\n suffixInflection('たり', 'る', [], ['v1']),\n suffixInflection('いたり', 'く', [], ['v5']),\n suffixInflection('いだり', 'ぐ', [], ['v5']),\n suffixInflection('したり', 'す', [], ['v5']),\n suffixInflection('ったり', 'う', [], ['v5']),\n suffixInflection('ったり', 'つ', [], ['v5']),\n suffixInflection('ったり', 'る', [], ['v5']),\n suffixInflection('んだり', 'ぬ', [], ['v5']),\n suffixInflection('んだり', 'ぶ', [], ['v5']),\n suffixInflection('んだり', 'む', [], ['v5']),\n suffixInflection('じたり', 'ずる', [], ['vz']),\n suffixInflection('したり', 'する', [], ['vs']),\n suffixInflection('為たり', '為る', [], ['vs']),\n suffixInflection('きたり', 'くる', [], ['vk']),\n suffixInflection('来たり', '来る', [], ['vk']),\n suffixInflection('來たり', '來る', [], ['vk']),\n ...irregularVerbSuffixInflections('たり', [], ['v5']),\n ],\n },\n '-て': {\n name: '-て',\n description:\n 'て-form.\\n' +\n 'It has a myriad of meanings. Primarily, it is a conjunctive particle that connects two clauses together.\\n' +\n 'Usage: Attach て to the continuative form (連用形) of verbs after euphonic change form, くて to the stem of i-adjectives.',\n i18n: [\n {\n language: 'ja',\n name: '~て',\n },\n ],\n rules: [\n suffixInflection('くて', 'い', ['-て'], ['adj-i']),\n suffixInflection('て', 'る', ['-て'], ['v1']),\n suffixInflection('いて', 'く', ['-て'], ['v5']),\n suffixInflection('いで', 'ぐ', ['-て'], ['v5']),\n suffixInflection('して', 'す', ['-て'], ['v5']),\n suffixInflection('って', 'う', ['-て'], ['v5']),\n suffixInflection('って', 'つ', ['-て'], ['v5']),\n suffixInflection('って', 'る', ['-て'], ['v5']),\n suffixInflection('んで', 'ぬ', ['-て'], ['v5']),\n suffixInflection('んで', 'ぶ', ['-て'], ['v5']),\n suffixInflection('んで', 'む', ['-て'], ['v5']),\n suffixInflection('じて', 'ずる', ['-て'], ['vz']),\n suffixInflection('して', 'する', ['-て'], ['vs']),\n suffixInflection('為て', '為る', ['-て'], ['vs']),\n suffixInflection('きて', 'くる', ['-て'], ['vk']),\n suffixInflection('来て', '来る', ['-て'], ['vk']),\n suffixInflection('來て', '來る', ['-て'], ['vk']),\n ...irregularVerbSuffixInflections('て', ['-て'], ['v5']),\n suffixInflection('まして', 'ます', [], ['-ます']),\n ],\n },\n '-ず': {\n name: '-ず',\n description:\n '1. Negative form of verbs.\\n' +\n '2. Continuative form (連用形) of the particle ぬ (nu).\\n' +\n 'Usage: Attach ず to the irrealis form (未然形) of verbs.',\n i18n: [\n {\n language: 'ja',\n name: '~ず',\n description: '~ない',\n },\n ],\n rules: [\n suffixInflection('ず', 'る', [], ['v1']),\n suffixInflection('かず', 'く', [], ['v5']),\n suffixInflection('がず', 'ぐ', [], ['v5']),\n suffixInflection('さず', 'す', [], ['v5']),\n suffixInflection('たず', 'つ', [], ['v5']),\n suffixInflection('なず', 'ぬ', [], ['v5']),\n suffixInflection('ばず', 'ぶ', [], ['v5']),\n suffixInflection('まず', 'む', [], ['v5']),\n suffixInflection('らず', 'る', [], ['v5']),\n suffixInflection('わず', 'う', [], ['v5']),\n suffixInflection('ぜず', 'ずる', [], ['vz']),\n suffixInflection('せず', 'する', [], ['vs']),\n suffixInflection('為ず', '為る', [], ['vs']),\n suffixInflection('こず', 'くる', [], ['vk']),\n suffixInflection('来ず', '来る', [], ['vk']),\n suffixInflection('來ず', '來る', [], ['vk']),\n ],\n },\n '-ぬ': {\n name: '-ぬ',\n description:\n 'Negative form of verbs.\\n' +\n 'Usage: Attach ぬ to the irrealis form (未然形) of verbs.\\n' +\n 'する becomes せぬ',\n i18n: [\n {\n language: 'ja',\n name: '~ぬ',\n description: '~ない',\n },\n ],\n rules: [\n suffixInflection('ぬ', 'る', [], ['v1']),\n suffixInflection('かぬ', 'く', [], ['v5']),\n suffixInflection('がぬ', 'ぐ', [], ['v5']),\n suffixInflection('さぬ', 'す', [], ['v5']),\n suffixInflection('たぬ', 'つ', [], ['v5']),\n suffixInflection('なぬ', 'ぬ', [], ['v5']),\n suffixInflection('ばぬ', 'ぶ', [], ['v5']),\n suffixInflection('まぬ', 'む', [], ['v5']),\n suffixInflection('らぬ', 'る', [], ['v5']),\n suffixInflection('わぬ', 'う', [], ['v5']),\n suffixInflection('ぜぬ', 'ずる', [], ['vz']),\n suffixInflection('せぬ', 'する', [], ['vs']),\n suffixInflection('為ぬ', '為る', [], ['vs']),\n suffixInflection('こぬ', 'くる', [], ['vk']),\n suffixInflection('来ぬ', '来る', [], ['vk']),\n suffixInflection('來ぬ', '來る', [], ['vk']),\n ],\n },\n '-ん': {\n name: '-ん',\n description:\n 'Negative form of verbs; a sound change of ぬ.\\n' +\n 'Usage: Attach ん to the irrealis form (未然形) of verbs.\\n' +\n 'する becomes せん',\n i18n: [\n {\n language: 'ja',\n name: '~ん',\n description: '~ない',\n },\n ],\n rules: [\n suffixInflection('ん', 'る', ['-ん'], ['v1']),\n suffixInflection('かん', 'く', ['-ん'], ['v5']),\n suffixInflection('がん', 'ぐ', ['-ん'], ['v5']),\n suffixInflection('さん', 'す', ['-ん'], ['v5']),\n suffixInflection('たん', 'つ', ['-ん'], ['v5']),\n suffixInflection('なん', 'ぬ', ['-ん'], ['v5']),\n suffixInflection('ばん', 'ぶ', ['-ん'], ['v5']),\n suffixInflection('まん', 'む', ['-ん'], ['v5']),\n suffixInflection('らん', 'る', ['-ん'], ['v5']),\n suffixInflection('わん', 'う', ['-ん'], ['v5']),\n suffixInflection('ぜん', 'ずる', ['-ん'], ['vz']),\n suffixInflection('せん', 'する', ['-ん'], ['vs']),\n suffixInflection('為ん', '為る', ['-ん'], ['vs']),\n suffixInflection('こん', 'くる', ['-ん'], ['vk']),\n suffixInflection('来ん', '来る', ['-ん'], ['vk']),\n suffixInflection('來ん', '來る', ['-ん'], ['vk']),\n ],\n },\n '-んばかり': {\n name: '-んばかり',\n description:\n 'Shows an action or condition is on the verge of occurring, or an excessive/extreme degree.\\n' +\n 'Usage: Attach んばかり to the irrealis form (未然形) of verbs.\\n' +\n 'する becomes せんばかり',\n i18n: [\n {\n language: 'ja',\n name: '~んばかり',\n description: '今にもそうなりそうな、しかし辛うじてそうなっていないようなさまを指す表現',\n },\n ],\n rules: [\n suffixInflection('んばかり', 'る', [], ['v1']),\n suffixInflection('かんばかり', 'く', [], ['v5']),\n suffixInflection('がんばかり', 'ぐ', [], ['v5']),\n suffixInflection('さんばかり', 'す', [], ['v5']),\n suffixInflection('たんばかり', 'つ', [], ['v5']),\n suffixInflection('なんばかり', 'ぬ', [], ['v5']),\n suffixInflection('ばんばかり', 'ぶ', [], ['v5']),\n suffixInflection('まんばかり', 'む', [], ['v5']),\n suffixInflection('らんばかり', 'る', [], ['v5']),\n suffixInflection('わんばかり', 'う', [], ['v5']),\n suffixInflection('ぜんばかり', 'ずる', [], ['vz']),\n suffixInflection('せんばかり', 'する', [], ['vs']),\n suffixInflection('為んばかり', '為る', [], ['vs']),\n suffixInflection('こんばかり', 'くる', [], ['vk']),\n suffixInflection('来んばかり', '来る', [], ['vk']),\n suffixInflection('來んばかり', '來る', [], ['vk']),\n ],\n },\n '-んとする': {\n name: '-んとする',\n description:\n \"1. Shows the speaker's will or intention.\\n\" +\n '2. Shows an action or condition is on the verge of occurring.\\n' +\n 'Usage: Attach んとする to the irrealis form (未然形) of verbs.\\n' +\n 'する becomes せんとする',\n i18n: [\n {\n language: 'ja',\n name: '~んとする',\n description: '…しようとする、…しようとしている',\n },\n ],\n rules: [\n suffixInflection('んとする', 'る', ['vs'], ['v1']),\n suffixInflection('かんとする', 'く', ['vs'], ['v5']),\n suffixInflection('がんとする', 'ぐ', ['vs'], ['v5']),\n suffixInflection('さんとする', 'す', ['vs'], ['v5']),\n suffixInflection('たんとする', 'つ', ['vs'], ['v5']),\n suffixInflection('なんとする', 'ぬ', ['vs'], ['v5']),\n suffixInflection('ばんとする', 'ぶ', ['vs'], ['v5']),\n suffixInflection('まんとする', 'む', ['vs'], ['v5']),\n suffixInflection('らんとする', 'る', ['vs'], ['v5']),\n suffixInflection('わんとする', 'う', ['vs'], ['v5']),\n suffixInflection('ぜんとする', 'ずる', ['vs'], ['vz']),\n suffixInflection('せんとする', 'する', ['vs'], ['vs']),\n suffixInflection('為んとする', '為る', ['vs'], ['vs']),\n suffixInflection('こんとする', 'くる', ['vs'], ['vk']),\n suffixInflection('来んとする', '来る', ['vs'], ['vk']),\n suffixInflection('來んとする', '來る', ['vs'], ['vk']),\n ],\n },\n '-む': {\n name: '-む',\n description:\n 'Archaic.\\n' +\n '1. Shows an inference of a certain matter.\\n' +\n \"2. Shows speaker's intention.\\n\" +\n 'Usage: Attach む to the irrealis form (未然形) of verbs.\\n' +\n 'する becomes せむ',\n i18n: [\n {\n language: 'ja',\n name: '~む',\n description: '…だろう',\n },\n ],\n rules: [\n suffixInflection('む', 'る', [], ['v1']),\n suffixInflection('かむ', 'く', [], ['v5']),\n suffixInflection('がむ', 'ぐ', [], ['v5']),\n suffixInflection('さむ', 'す', [], ['v5']),\n suffixInflection('たむ', 'つ', [], ['v5']),\n suffixInflection('なむ', 'ぬ', [], ['v5']),\n suffixInflection('ばむ', 'ぶ', [], ['v5']),\n suffixInflection('まむ', 'む', [], ['v5']),\n suffixInflection('らむ', 'る', [], ['v5']),\n suffixInflection('わむ', 'う', [], ['v5']),\n suffixInflection('ぜむ', 'ずる', [], ['vz']),\n suffixInflection('せむ', 'する', [], ['vs']),\n suffixInflection('為む', '為る', [], ['vs']),\n suffixInflection('こむ', 'くる', [], ['vk']),\n suffixInflection('来む', '来る', [], ['vk']),\n suffixInflection('來む', '來る', [], ['vk']),\n ],\n },\n '-ざる': {\n name: '-ざる',\n description:\n 'Negative form of verbs.\\n' +\n 'Usage: Attach ざる to the irrealis form (未然形) of verbs.\\n' +\n 'する becomes せざる',\n i18n: [\n {\n language: 'ja',\n name: '~ざる',\n description: '…ない…',\n },\n ],\n rules: [\n suffixInflection('ざる', 'る', [], ['v1']),\n suffixInflection('かざる', 'く', [], ['v5']),\n suffixInflection('がざる', 'ぐ', [], ['v5']),\n suffixInflection('さざる', 'す', [], ['v5']),\n suffixInflection('たざる', 'つ', [], ['v5']),\n suffixInflection('なざる', 'ぬ', [], ['v5']),\n suffixInflection('ばざる', 'ぶ', [], ['v5']),\n suffixInflection('まざる', 'む', [], ['v5']),\n suffixInflection('らざる', 'る', [], ['v5']),\n suffixInflection('わざる', 'う', [], ['v5']),\n suffixInflection('ぜざる', 'ずる', [], ['vz']),\n suffixInflection('せざる', 'する', [], ['vs']),\n suffixInflection('為ざる', '為る', [], ['vs']),\n suffixInflection('こざる', 'くる', [], ['vk']),\n suffixInflection('来ざる', '来る', [], ['vk']),\n suffixInflection('來ざる', '來る', [], ['vk']),\n ],\n },\n '-ねば': {\n name: '-ねば',\n description:\n '1. Shows a hypothetical negation; if not ...\\n' +\n '2. Shows a must. Used with or without ならぬ.\\n' +\n 'Usage: Attach ねば to the irrealis form (未然形) of verbs.\\n' +\n 'する becomes せねば',\n i18n: [\n {\n language: 'ja',\n name: '~ねば',\n description: 'もし…ないなら。…なければならない。',\n },\n ],\n rules: [\n suffixInflection('ねば', 'る', ['-ば'], ['v1']),\n suffixInflection('かねば', 'く', ['-ば'], ['v5']),\n suffixInflection('がねば', 'ぐ', ['-ば'], ['v5']),\n suffixInflection('さねば', 'す', ['-ば'], ['v5']),\n suffixInflection('たねば', 'つ', ['-ば'], ['v5']),\n suffixInflection('なねば', 'ぬ', ['-ば'], ['v5']),\n suffixInflection('ばねば', 'ぶ', ['-ば'], ['v5']),\n suffixInflection('まねば', 'む', ['-ば'], ['v5']),\n suffixInflection('らねば', 'る', ['-ば'], ['v5']),\n suffixInflection('わねば', 'う', ['-ば'], ['v5']),\n suffixInflection('ぜねば', 'ずる', ['-ば'], ['vz']),\n suffixInflection('せねば', 'する', ['-ば'], ['vs']),\n suffixInflection('為ねば', '為る', ['-ば'], ['vs']),\n suffixInflection('こねば', 'くる', ['-ば'], ['vk']),\n suffixInflection('来ねば', '来る', ['-ば'], ['vk']),\n suffixInflection('來ねば', '來る', ['-ば'], ['vk']),\n ],\n },\n '-く': {\n name: '-く',\n description: 'Adverbial form of i-adjectives.\\n',\n i18n: [\n {\n language: 'ja',\n name: '~く',\n description: '〔形容詞で〕用言へ続く。例、「大きく育つ」の「大きく」。',\n },\n ],\n rules: [suffixInflection('く', 'い', ['-く'], ['adj-i'])],\n },\n causative: {\n name: 'causative',\n description:\n 'Describes the intention to make someone do something.\\n' +\n 'Usage: Attach させる to the irrealis form (未然形) of ichidan verbs and くる.\\n' +\n 'Attach せる to the irrealis form (未然形) of godan verbs and する.\\n' +\n 'It itself conjugates as an ichidan verb.',\n i18n: [\n {\n language: 'ja',\n name: '~せる・させる',\n description: 'だれかにある行為をさせる意を表わす時の言い方。例、「行かせる」の「せる」。',\n },\n ],\n rules: [\n suffixInflection('させる', 'る', ['v1'], ['v1']),\n suffixInflection('かせる', 'く', ['v1'], ['v5']),\n suffixInflection('がせる', 'ぐ', ['v1'], ['v5']),\n suffixInflection('させる', 'す', ['v1'], ['v5']),\n suffixInflection('たせる', 'つ', ['v1'], ['v5']),\n suffixInflection('なせる', 'ぬ', ['v1'], ['v5']),\n suffixInflection('ばせる', 'ぶ', ['v1'], ['v5']),\n suffixInflection('ませる', 'む', ['v1'], ['v5']),\n suffixInflection('らせる', 'る', ['v1'], ['v5']),\n suffixInflection('わせる', 'う', ['v1'], ['v5']),\n suffixInflection('じさせる', 'ずる', ['v1'], ['vz']),\n suffixInflection('ぜさせる', 'ずる', ['v1'], ['vz']),\n suffixInflection('させる', 'する', ['v1'], ['vs']),\n suffixInflection('為せる', '為る', ['v1'], ['vs']),\n suffixInflection('せさせる', 'する', ['v1'], ['vs']),\n suffixInflection('為させる', '為る', ['v1'], ['vs']),\n suffixInflection('こさせる', 'くる', ['v1'], ['vk']),\n suffixInflection('来させる', '来る', ['v1'], ['vk']),\n suffixInflection('來させる', '來る', ['v1'], ['vk']),\n ],\n },\n 'short causative': {\n name: 'short causative',\n description:\n 'Contraction of the causative form.\\n' +\n 'Describes the intention to make someone do something.\\n' +\n 'Usage: Attach す to the irrealis form (未然形) of godan verbs.\\n' +\n 'Attach さす to the dictionary form (終止形) of ichidan verbs.\\n' +\n 'する becomes さす, くる becomes こさす.\\n' +\n 'It itself conjugates as an godan verb.',\n i18n: [\n {\n language: 'ja',\n name: '~す・さす',\n description: 'だれかにある行為をさせる意を表わす時の言い方。例、「食べさす」の「さす」。',\n },\n ],\n rules: [\n suffixInflection('さす', 'る', ['v5ss'], ['v1']),\n suffixInflection('かす', 'く', ['v5sp'], ['v5']),\n suffixInflection('がす', 'ぐ', ['v5sp'], ['v5']),\n suffixInflection('さす', 'す', ['v5ss'], ['v5']),\n suffixInflection('たす', 'つ', ['v5sp'], ['v5']),\n suffixInflection('なす', 'ぬ', ['v5sp'], ['v5']),\n suffixInflection('ばす', 'ぶ', ['v5sp'], ['v5']),\n suffixInflection('ます', 'む', ['v5sp'], ['v5']),\n suffixInflection('らす', 'る', ['v5sp'], ['v5']),\n suffixInflection('わす', 'う', ['v5sp'], ['v5']),\n suffixInflection('じさす', 'ずる', ['v5ss'], ['vz']),\n suffixInflection('ぜさす', 'ずる', ['v5ss'], ['vz']),\n suffixInflection('さす', 'する', ['v5ss'], ['vs']),\n suffixInflection('為す', '為る', ['v5ss'], ['vs']),\n suffixInflection('こさす', 'くる', ['v5ss'], ['vk']),\n suffixInflection('来さす', '来る', ['v5ss'], ['vk']),\n suffixInflection('來さす', '來る', ['v5ss'], ['vk']),\n ],\n },\n imperative: {\n name: 'imperative',\n description:\n '1. To give orders.\\n' +\n '2. (As あれ) Represents the fact that it will never change no matter the circumstances.\\n' +\n '3. Express a feeling of hope.',\n i18n: [\n {\n language: 'ja',\n name: '命令形',\n description: '命令の意味を表わすときの形。例、「行け」。',\n },\n ],\n rules: [\n suffixInflection('ろ', 'る', [], ['v1']),\n suffixInflection('よ', 'る', [], ['v1']),\n suffixInflection('え', 'う', [], ['v5']),\n suffixInflection('け', 'く', [], ['v5']),\n suffixInflection('げ', 'ぐ', [], ['v5']),\n suffixInflection('せ', 'す', [], ['v5']),\n suffixInflection('て', 'つ', [], ['v5']),\n suffixInflection('ね', 'ぬ', [], ['v5']),\n suffixInflection('べ', 'ぶ', [], ['v5']),\n suffixInflection('め', 'む', [], ['v5']),\n suffixInflection('れ', 'る', [], ['v5']),\n suffixInflection('じろ', 'ずる', [], ['vz']),\n suffixInflection('ぜよ', 'ずる', [], ['vz']),\n suffixInflection('しろ', 'する', [], ['vs']),\n suffixInflection('せよ', 'する', [], ['vs']),\n suffixInflection('為ろ', '為る', [], ['vs']),\n suffixInflection('為よ', '為る', [], ['vs']),\n suffixInflection('こい', 'くる', [], ['vk']),\n suffixInflection('来い', '来る', [], ['vk']),\n suffixInflection('來い', '來る', [], ['vk']),\n ],\n },\n continuative: {\n name: 'continuative',\n description:\n 'Used to indicate actions that are (being) carried out.\\n' +\n 'Refers to 連用形, the part of the verb after conjugating with -ます and dropping ます.',\n i18n: [\n {\n language: 'ja',\n name: '連用形',\n description: '〔動詞などで〕「ます」などに続く。例、「バスを降りて歩きます」の「降り」「歩き」。',\n },\n ],\n rules: [\n suffixInflection('い', 'いる', [], ['v1d']),\n suffixInflection('え', 'える', [], ['v1d']),\n suffixInflection('き', 'きる', [], ['v1d']),\n suffixInflection('ぎ', 'ぎる', [], ['v1d']),\n suffixInflection('け', 'ける', [], ['v1d']),\n suffixInflection('げ', 'げる', [], ['v1d']),\n suffixInflection('じ', 'じる', [], ['v1d']),\n suffixInflection('せ', 'せる', [], ['v1d']),\n suffixInflection('ぜ', 'ぜる', [], ['v1d']),\n suffixInflection('ち', 'ちる', [], ['v1d']),\n suffixInflection('て', 'てる', [], ['v1d']),\n suffixInflection('で', 'でる', [], ['v1d']),\n suffixInflection('に', 'にる', [], ['v1d']),\n suffixInflection('ね', 'ねる', [], ['v1d']),\n suffixInflection('ひ', 'ひる', [], ['v1d']),\n suffixInflection('び', 'びる', [], ['v1d']),\n suffixInflection('へ', 'へる', [], ['v1d']),\n suffixInflection('べ', 'べる', [], ['v1d']),\n suffixInflection('み', 'みる', [], ['v1d']),\n suffixInflection('め', 'める', [], ['v1d']),\n suffixInflection('り', 'りる', [], ['v1d']),\n suffixInflection('れ', 'れる', [], ['v1d']),\n suffixInflection('い', 'う', [], ['v5']),\n suffixInflection('き', 'く', [], ['v5']),\n suffixInflection('ぎ', 'ぐ', [], ['v5']),\n suffixInflection('し', 'す', [], ['v5']),\n suffixInflection('ち', 'つ', [], ['v5']),\n suffixInflection('に', 'ぬ', [], ['v5']),\n suffixInflection('び', 'ぶ', [], ['v5']),\n suffixInflection('み', 'む', [], ['v5']),\n suffixInflection('り', 'る', [], ['v5']),\n suffixInflection('き', 'くる', [], ['vk']),\n suffixInflection('し', 'する', [], ['vs']),\n suffixInflection('来', '来る', [], ['vk']),\n suffixInflection('來', '來る', [], ['vk']),\n ],\n },\n negative: {\n name: 'negative',\n description:\n '1. Negative form of verbs.\\n' +\n '2. Expresses a feeling of solicitation to the other party.\\n' +\n 'Usage: Attach ない to the irrealis form (未然形) of verbs, くない to the stem of i-adjectives. ない itself conjugates as i-adjective. ます becomes ません.',\n i18n: [\n {\n language: 'ja',\n name: '~ない',\n description: 'その動作・作用・状態の成立を否定することを表わす。',\n },\n ],\n rules: [\n suffixInflection('くない', 'い', ['adj-i'], ['adj-i']),\n suffixInflection('ない', 'る', ['adj-i'], ['v1']),\n suffixInflection('かない', 'く', ['adj-i'], ['v5']),\n suffixInflection('がない', 'ぐ', ['adj-i'], ['v5']),\n suffixInflection('さない', 'す', ['adj-i'], ['v5']),\n suffixInflection('たない', 'つ', ['adj-i'], ['v5']),\n suffixInflection('なない', 'ぬ', ['adj-i'], ['v5']),\n suffixInflection('ばない', 'ぶ', ['adj-i'], ['v5']),\n suffixInflection('まない', 'む', ['adj-i'], ['v5']),\n suffixInflection('らない', 'る', ['adj-i'], ['v5']),\n suffixInflection('わない', 'う', ['adj-i'], ['v5']),\n suffixInflection('じない', 'ずる', ['adj-i'], ['vz']),\n suffixInflection('しない', 'する', ['adj-i'], ['vs']),\n suffixInflection('為ない', '為る', ['adj-i'], ['vs']),\n suffixInflection('こない', 'くる', ['adj-i'], ['vk']),\n suffixInflection('来ない', '来る', ['adj-i'], ['vk']),\n suffixInflection('來ない', '來る', ['adj-i'], ['vk']),\n suffixInflection('ません', 'ます', ['-ません'], ['-ます']),\n ],\n },\n '-さ': {\n name: '-さ',\n description:\n 'Nominalizing suffix of i-adjectives indicating nature, state, mind or degree.\\n' +\n 'Usage: Attach さ to the stem of i-adjectives.',\n i18n: [\n {\n language: 'ja',\n name: '~さ',\n description: 'こと。程度。',\n },\n ],\n rules: [suffixInflection('さ', 'い', [], ['adj-i'])],\n },\n passive: {\n name: 'passive',\n description: `${passiveEnglishDescription}Usage: Attach れる to the irrealis form (未然形) of godan verbs.`,\n i18n: [\n {\n language: 'ja',\n name: '~れる',\n },\n ],\n rules: [\n suffixInflection('かれる', 'く', ['v1'], ['v5']),\n suffixInflection('がれる', 'ぐ', ['v1'], ['v5']),\n suffixInflection('される', 'す', ['v1'], ['v5d', 'v5sp']),\n suffixInflection('たれる', 'つ', ['v1'], ['v5']),\n suffixInflection('なれる', 'ぬ', ['v1'], ['v5']),\n suffixInflection('ばれる', 'ぶ', ['v1'], ['v5']),\n suffixInflection('まれる', 'む', ['v1'], ['v5']),\n suffixInflection('われる', 'う', ['v1'], ['v5']),\n suffixInflection('られる', 'る', ['v1'], ['v5']),\n suffixInflection('じされる', 'ずる', ['v1'], ['vz']),\n suffixInflection('ぜされる', 'ずる', ['v1'], ['vz']),\n suffixInflection('される', 'する', ['v1'], ['vs']),\n suffixInflection('為れる', '為る', ['v1'], ['vs']),\n suffixInflection('こられる', 'くる', ['v1'], ['vk']),\n suffixInflection('来られる', '来る', ['v1'], ['vk']),\n suffixInflection('來られる', '來る', ['v1'], ['vk']),\n ],\n },\n '-た': {\n name: '-た',\n description:\n '1. Indicates a reality that has happened in the past.\\n' +\n '2. Indicates the completion of an action.\\n' +\n '3. Indicates the confirmation of a matter.\\n' +\n \"4. Indicates the speaker's confidence that the action will definitely be fulfilled.\\n\" +\n '5. Indicates the events that occur before the main clause are represented as relative past.\\n' +\n '6. Indicates a mild imperative/command.\\n' +\n 'Usage: Attach た to the continuative form (連用形) of verbs after euphonic change form, かった to the stem of i-adjectives.',\n i18n: [\n {\n language: 'ja',\n name: '~た',\n },\n ],\n rules: [\n suffixInflection('かった', 'い', ['-た'], ['adj-i']),\n suffixInflection('た', 'る', ['-た'], ['v1']),\n suffixInflection('いた', 'く', ['-た'], ['v5']),\n suffixInflection('いだ', 'ぐ', ['-た'], ['v5']),\n suffixInflection('した', 'す', ['-た'], ['v5']),\n suffixInflection('った', 'う', ['-た'], ['v5']),\n suffixInflection('った', 'つ', ['-た'], ['v5']),\n suffixInflection('った', 'る', ['-た'], ['v5']),\n suffixInflection('んだ', 'ぬ', ['-た'], ['v5']),\n suffixInflection('んだ', 'ぶ', ['-た'], ['v5']),\n suffixInflection('んだ', 'む', ['-た'], ['v5']),\n suffixInflection('じた', 'ずる', ['-た'], ['vz']),\n suffixInflection('した', 'する', ['-た'], ['vs']),\n suffixInflection('為た', '為る', ['-た'], ['vs']),\n suffixInflection('きた', 'くる', ['-た'], ['vk']),\n suffixInflection('来た', '来る', ['-た'], ['vk']),\n suffixInflection('來た', '來る', ['-た'], ['vk']),\n ...irregularVerbSuffixInflections('た', ['-た'], ['v5']),\n suffixInflection('ました', 'ます', ['-た'], ['-ます']),\n suffixInflection('でした', '', ['-た'], ['-ません']),\n suffixInflection('かった', '', ['-た'], ['-ません', '-ん']),\n ],\n },\n '-ます': {\n name: '-ます',\n description:\n 'Polite conjugation of verbs and adjectives.\\n' +\n 'Usage: Attach ます to the continuative form (連用形) of verbs.',\n i18n: [\n {\n language: 'ja',\n name: '~ます',\n },\n ],\n rules: [\n suffixInflection('ます', 'る', ['-ます'], ['v1']),\n suffixInflection('います', 'う', ['-ます'], ['v5d']),\n suffixInflection('きます', 'く', ['-ます'], ['v5d']),\n suffixInflection('ぎます', 'ぐ', ['-ます'], ['v5d']),\n suffixInflection('します', 'す', ['-ます'], ['v5d', 'v5s']),\n suffixInflection('ちます', 'つ', ['-ます'], ['v5d']),\n suffixInflection('にます', 'ぬ', ['-ます'], ['v5d']),\n suffixInflection('びます', 'ぶ', ['-ます'], ['v5d']),\n suffixInflection('みます', 'む', ['-ます'], ['v5d']),\n suffixInflection('ります', 'る', ['-ます'], ['v5d']),\n suffixInflection('じます', 'ずる', ['-ます'], ['vz']),\n suffixInflection('します', 'する', ['-ます'], ['vs']),\n suffixInflection('為ます', '為る', ['-ます'], ['vs']),\n suffixInflection('きます', 'くる', ['-ます'], ['vk']),\n suffixInflection('来ます', '来る', ['-ます'], ['vk']),\n suffixInflection('來ます', '來る', ['-ます'], ['vk']),\n suffixInflection('くあります', 'い', ['-ます'], ['adj-i']),\n ],\n },\n potential: {\n name: 'potential',\n description:\n 'Indicates a state of being (naturally) capable of doing an action.\\n' +\n 'Usage: Attach (ら)れる to the irrealis form (未然形) of ichidan verbs.\\n' +\n 'Attach る to the imperative form (命令形) of godan verbs.\\n' +\n 'する becomes できる, くる becomes こ(ら)れる',\n i18n: [\n {\n language: 'ja',\n name: '~(ら)れる',\n },\n ],\n rules: [\n suffixInflection('れる', 'る', ['v1'], ['v1', 'v5d']),\n suffixInflection('える', 'う', ['v1'], ['v5d']),\n suffixInflection('ける', 'く', ['v1'], ['v5d']),\n suffixInflection('げる', 'ぐ', ['v1'], ['v5d']),\n suffixInflection('せる', 'す', ['v1'], ['v5d']),\n suffixInflection('てる', 'つ', ['v1'], ['v5d']),\n suffixInflection('ねる', 'ぬ', ['v1'], ['v5d']),\n suffixInflection('べる', 'ぶ', ['v1'], ['v5d']),\n suffixInflection('める', 'む', ['v1'], ['v5d']),\n suffixInflection('できる', 'する', ['v1'], ['vs']),\n suffixInflection('出来る', 'する', ['v1'], ['vs']),\n suffixInflection('これる', 'くる', ['v1'], ['vk']),\n suffixInflection('来れる', '来る', ['v1'], ['vk']),\n suffixInflection('來れる', '來る', ['v1'], ['vk']),\n ],\n },\n 'potential or passive': {\n name: 'potential or passive',\n description: `${passiveEnglishDescription}3. Indicates a state of being (naturally) capable of doing an action.\\nUsage: Attach られる to the irrealis form (未然形) of ichidan verbs.\\nする becomes せられる, くる becomes こられる`,\n i18n: [\n {\n language: 'ja',\n name: '~られる',\n },\n ],\n rules: [\n suffixInflection('られる', 'る', ['v1'], ['v1']),\n suffixInflection('ざれる', 'ずる', ['v1'], ['vz']),\n suffixInflection('ぜられる', 'ずる', ['v1'], ['vz']),\n suffixInflection('せられる', 'する', ['v1'], ['vs']),\n suffixInflection('為られる', '為る', ['v1'], ['vs']),\n suffixInflection('こられる', 'くる', ['v1'], ['vk']),\n suffixInflection('来られる', '来る', ['v1'], ['vk']),\n suffixInflection('來られる', '來る', ['v1'], ['vk']),\n ],\n },\n volitional: {\n name: 'volitional',\n description:\n \"1. Expresses speaker's will or intention.\\n\" +\n '2. Expresses an invitation to the other party.\\n' +\n '3. (Used in …ようとする) Indicates being on the verge of initiating an action or transforming a state.\\n' +\n '4. Indicates an inference of a matter.\\n' +\n 'Usage: Attach よう to the irrealis form (未然形) of ichidan verbs.\\n' +\n 'Attach う to the irrealis form (未然形) of godan verbs after -o euphonic change form.\\n' +\n 'Attach かろう to the stem of i-adjectives (4th meaning only).',\n i18n: [\n {\n language: 'ja',\n name: '~う・よう',\n description: '主体の意志を表わす',\n },\n ],\n rules: [\n suffixInflection('よう', 'る', [], ['v1']),\n suffixInflection('おう', 'う', [], ['v5']),\n suffixInflection('こう', 'く', [], ['v5']),\n suffixInflection('ごう', 'ぐ', [], ['v5']),\n suffixInflection('そう', 'す', [], ['v5']),\n suffixInflection('とう', 'つ', [], ['v5']),\n suffixInflection('のう', 'ぬ', [], ['v5']),\n suffixInflection('ぼう', 'ぶ', [], ['v5']),\n suffixInflection('もう', 'む', [], ['v5']),\n suffixInflection('ろう', 'る', [], ['v5']),\n suffixInflection('じよう', 'ずる', [], ['vz']),\n suffixInflection('しよう', 'する', [], ['vs']),\n suffixInflection('為よう', '為る', [], ['vs']),\n suffixInflection('こよう', 'くる', [], ['vk']),\n suffixInflection('来よう', '来る', [], ['vk']),\n suffixInflection('來よう', '來る', [], ['vk']),\n suffixInflection('ましょう', 'ます', [], ['-ます']),\n suffixInflection('かろう', 'い', [], ['adj-i']),\n ],\n },\n 'volitional slang': {\n name: 'volitional slang',\n description:\n 'Contraction of volitional form + か\\n' +\n \"1. Expresses speaker's will or intention.\\n\" +\n '2. Expresses an invitation to the other party.\\n' +\n 'Usage: Replace final う with っ of volitional form then add か.\\n' +\n 'For example: 行こうか -> 行こっか.',\n i18n: [\n {\n language: 'ja',\n name: '~っか・よっか',\n description: '「うか・ようか」の短縮',\n },\n ],\n rules: [\n suffixInflection('よっか', 'る', [], ['v1']),\n suffixInflection('おっか', 'う', [], ['v5']),\n suffixInflection('こっか', 'く', [], ['v5']),\n suffixInflection('ごっか', 'ぐ', [], ['v5']),\n suffixInflection('そっか', 'す', [], ['v5']),\n suffixInflection('とっか', 'つ', [], ['v5']),\n suffixInflection('のっか', 'ぬ', [], ['v5']),\n suffixInflection('ぼっか', 'ぶ', [], ['v5']),\n suffixInflection('もっか', 'む', [], ['v5']),\n suffixInflection('ろっか', 'る', [], ['v5']),\n suffixInflection('じよっか', 'ずる', [], ['vz']),\n suffixInflection('しよっか', 'する', [], ['vs']),\n suffixInflection('為よっか', '為る', [], ['vs']),\n suffixInflection('こよっか', 'くる', [], ['vk']),\n suffixInflection('来よっか', '来る', [], ['vk']),\n suffixInflection('來よっか', '來る', [], ['vk']),\n suffixInflection('ましょっか', 'ます', [], ['-ます']),\n ],\n },\n '-まい': {\n name: '-まい',\n description:\n 'Negative volitional form of verbs.\\n' +\n \"1. Expresses speaker's assumption that something is likely not true.\\n\" +\n \"2. Expresses speaker's will or intention not to do something.\\n\" +\n 'Usage: Attach まい to the dictionary form (終止形) of verbs.\\n' +\n 'Attach まい to the irrealis form (未然形) of ichidan verbs.\\n' +\n 'する becomes しまい, くる becomes こまい',\n i18n: [\n {\n language: 'ja',\n name: '~まい',\n description:\n '1. 打うち消けしの推量すいりょう 「~ないだろう」と想像する\\n' +\n '2. 打うち消けしの意志いし「~ないつもりだ」という気持ち',\n },\n ],\n rules: [\n suffixInflection('まい', '', [], ['v']),\n suffixInflection('まい', 'る', [], ['v1']),\n suffixInflection('じまい', 'ずる', [], ['vz']),\n suffixInflection('しまい', 'する', [], ['vs']),\n suffixInflection('為まい', '為る', [], ['vs']),\n suffixInflection('こまい', 'くる', [], ['vk']),\n suffixInflection('来まい', '来る', [], ['vk']),\n suffixInflection('來まい', '來る', [], ['vk']),\n suffixInflection('まい', '', [], ['-ます']),\n ],\n },\n '-おく': {\n name: '-おく',\n description:\n 'To do certain things in advance in preparation (or in anticipation) of latter needs.\\n' +\n 'Usage: Attach おく to the て-form of verbs.\\n' +\n 'Attach でおく after ない negative form of verbs.\\n' +\n 'Contracts to とく・どく in speech.',\n i18n: [\n {\n language: 'ja',\n name: '~おく',\n },\n ],\n rules: [\n suffixInflection('ておく', 'て', ['v5'], ['-て']),\n suffixInflection('でおく', 'で', ['v5'], ['-て']),\n suffixInflection('とく', 'て', ['v5'], ['-て']),\n suffixInflection('どく', 'で', ['v5'], ['-て']),\n suffixInflection('ないでおく', 'ない', ['v5'], ['adj-i']),\n suffixInflection('ないどく', 'ない', ['v5'], ['adj-i']),\n ],\n },\n '-いる': {\n name: '-いる',\n description:\n '1. Indicates an action continues or progresses to a point in time.\\n' +\n '2. Indicates an action is completed and remains as is.\\n' +\n '3. Indicates a state or condition that can be taken to be the result of undergoing some change.\\n' +\n 'Usage: Attach いる to the て-form of verbs. い can be dropped in speech.\\n' +\n 'Attach でいる after ない negative form of verbs.\\n' +\n '(Slang) Attach おる to the て-form of verbs. Contracts to とる・でる in speech.',\n i18n: [\n {\n language: 'ja',\n name: '~いる',\n },\n ],\n rules: [\n suffixInflection('ている', 'て', ['v1'], ['-て']),\n suffixInflection('ておる', 'て', ['v5'], ['-て']),\n suffixInflection('てる', 'て', ['v1p'], ['-て']),\n suffixInflection('でいる', 'で', ['v1'], ['-て']),\n suffixInflection('でおる', 'で', ['v5'], ['-て']),\n suffixInflection('でる', 'で', ['v1p'], ['-て']),\n suffixInflection('とる', 'て', ['v5'], ['-て']),\n suffixInflection('ないでいる', 'ない', ['v1'], ['adj-i']),\n ],\n },\n '-き': {\n name: '-き',\n description: 'Attributive form (連体形) of i-adjectives. An archaic form that remains in modern Japanese.',\n i18n: [\n {\n language: 'ja',\n name: '~き',\n description: '連体形',\n },\n ],\n rules: [suffixInflection('き', 'い', [], ['adj-i'])],\n },\n '-げ': {\n name: '-げ',\n description:\n \"Describes a person's appearance. Shows feelings of the person.\\n\" +\n 'Usage: Attach げ or 気 to the stem of i-adjectives',\n i18n: [\n {\n language: 'ja',\n name: '~げ',\n description: '…でありそうな様子。いかにも…らしいさま。',\n },\n ],\n rules: [suffixInflection('げ', 'い', [], ['adj-i']), suffixInflection('気', 'い', [], ['adj-i'])],\n },\n '-がる': {\n name: '-がる',\n description:\n '1. Shows subject’s feelings contrast with what is thought/known about them.\\n' +\n \"2. Indicates subject's behavior (stands out).\\n\" +\n 'Usage: Attach がる to the stem of i-adjectives. It itself conjugates as a godan verb.',\n i18n: [\n {\n language: 'ja',\n name: '~がる',\n description: 'いかにもその状態にあるという印象を相手に与えるような言動をする。',\n },\n ],\n rules: [suffixInflection('がる', 'い', ['v5'], ['adj-i'])],\n },\n '-え': {\n name: '-え',\n description:\n 'Slang. A sound change of i-adjectives.\\n' +\n 'ai:やばい → やべぇ\\n' +\n 'ui:さむい → さみぃ/さめぇ\\n' +\n 'oi:すごい → すげぇ',\n i18n: [\n {\n language: 'ja',\n name: '~え',\n },\n ],\n rules: [\n suffixInflection('ねえ', 'ない', [], ['adj-i']),\n suffixInflection('めえ', 'むい', [], ['adj-i']),\n suffixInflection('みい', 'むい', [], ['adj-i']),\n suffixInflection('ちぇえ', 'つい', [], ['adj-i']),\n suffixInflection('ちい', 'つい', [], ['adj-i']),\n suffixInflection('せえ', 'すい', [], ['adj-i']),\n suffixInflection('ええ', 'いい', [], ['adj-i']),\n suffixInflection('ええ', 'わい', [], ['adj-i']),\n suffixInflection('ええ', 'よい', [], ['adj-i']),\n suffixInflection('いぇえ', 'よい', [], ['adj-i']),\n suffixInflection('うぇえ', 'わい', [], ['adj-i']),\n suffixInflection('けえ', 'かい', [], ['adj-i']),\n suffixInflection('げえ', 'がい', [], ['adj-i']),\n suffixInflection('げえ', 'ごい', [], ['adj-i']),\n suffixInflection('せえ', 'さい', [], ['adj-i']),\n suffixInflection('めえ', 'まい', [], ['adj-i']),\n suffixInflection('ぜえ', 'ずい', [], ['adj-i']),\n suffixInflection('っぜえ', 'ずい', [], ['adj-i']),\n suffixInflection('れえ', 'らい', [], ['adj-i']),\n suffixInflection('れえ', 'らい', [], ['adj-i']),\n suffixInflection('ちぇえ', 'ちゃい', [], ['adj-i']),\n suffixInflection('でえ', 'どい', [], ['adj-i']),\n suffixInflection('れえ', 'れい', [], ['adj-i']),\n suffixInflection('べえ', 'ばい', [], ['adj-i']),\n suffixInflection('てえ', 'たい', [], ['adj-i']),\n suffixInflection('ねぇ', 'ない', [], ['adj-i']),\n suffixInflection('めぇ', 'むい', [], ['adj-i']),\n suffixInflection('みぃ', 'むい', [], ['adj-i']),\n suffixInflection('ちぃ', 'つい', [], ['adj-i']),\n suffixInflection('せぇ', 'すい', [], ['adj-i']),\n suffixInflection('けぇ', 'かい', [], ['adj-i']),\n suffixInflection('げぇ', 'がい', [], ['adj-i']),\n suffixInflection('げぇ', 'ごい', [], ['adj-i']),\n suffixInflection('せぇ', 'さい', [], ['adj-i']),\n suffixInflection('めぇ', 'まい', [], ['adj-i']),\n suffixInflection('ぜぇ', 'ずい', [], ['adj-i']),\n suffixInflection('っぜぇ', 'ずい', [], ['adj-i']),\n suffixInflection('れぇ', 'らい', [], ['adj-i']),\n suffixInflection('でぇ', 'どい', [], ['adj-i']),\n suffixInflection('れぇ', 'れい', [], ['adj-i']),\n suffixInflection('べぇ', 'ばい', [], ['adj-i']),\n suffixInflection('てぇ', 'たい', [], ['adj-i']),\n ],\n },\n 'n-slang': {\n name: 'n-slang',\n i18n: [\n {\n language: 'ja',\n name: '~んな',\n },\n ],\n description: 'Slang sound change of r-column syllables to n (when before an n-sound, usually の or な)',\n rules: [\n suffixInflection('んなさい', 'りなさい', [], ['-なさい']),\n suffixInflection('らんない', 'られない', ['adj-i'], ['adj-i']),\n suffixInflection('んない', 'らない', ['adj-i'], ['adj-i']),\n suffixInflection('んなきゃ', 'らなきゃ', [], ['-ゃ']),\n suffixInflection('んなきゃ', 'れなきゃ', [], ['-ゃ']),\n ],\n },\n 'imperative negative slang': {\n name: 'imperative negative slang',\n i18n: [\n {\n language: 'ja',\n name: '~んな',\n },\n ],\n rules: [suffixInflection('んな', 'る', [], ['v'])],\n },\n 'kansai-ben negative': {\n name: 'kansai-ben',\n description: 'Negative form of kansai-ben verbs',\n i18n: [\n {\n language: 'ja',\n name: '関西弁',\n description: '~ない (関西弁)',\n },\n ],\n rules: [\n suffixInflection('へん', 'ない', [], ['adj-i']),\n suffixInflection('ひん', 'ない', [], ['adj-i']),\n suffixInflection('せえへん', 'しない', [], ['adj-i']),\n suffixInflection('へんかった', 'なかった', ['-た'], ['-た']),\n suffixInflection('ひんかった', 'なかった', ['-た'], ['-た']),\n suffixInflection('うてへん', 'ってない', [], ['adj-i']),\n ],\n },\n 'kansai-ben -て': {\n name: 'kansai-ben',\n description: '-て form of kansai-ben verbs',\n i18n: [\n {\n language: 'ja',\n name: '関西弁',\n description: '~て (関西弁)',\n },\n ],\n rules: [\n suffixInflection('うて', 'って', ['-て'], ['-て']),\n suffixInflection('おうて', 'あって', ['-て'], ['-て']),\n suffixInflection('こうて', 'かって', ['-て'], ['-て']),\n suffixInflection('ごうて', 'がって', ['-て'], ['-て']),\n suffixInflection('そうて', 'さって', ['-て'], ['-て']),\n suffixInflection('ぞうて', 'ざって', ['-て'], ['-て']),\n suffixInflection('とうて', 'たって', ['-て'], ['-て']),\n suffixInflection('どうて', 'だって', ['-て'], ['-て']),\n suffixInflection('のうて', 'なって', ['-て'], ['-て']),\n suffixInflection('ほうて', 'はって', ['-て'], ['-て']),\n suffixInflection('ぼうて', 'ばって', ['-て'], ['-て']),\n suffixInflection('もうて', 'まって', ['-て'], ['-て']),\n suffixInflection('ろうて', 'らって', ['-て'], ['-て']),\n suffixInflection('ようて', 'やって', ['-て'], ['-て']),\n suffixInflection('ゆうて', 'いって', ['-て'], ['-て']),\n ],\n },\n 'kansai-ben -た': {\n name: 'kansai-ben',\n description: '-た form of kansai-ben terms',\n i18n: [\n {\n language: 'ja',\n name: '関西弁',\n description: '~た (関西弁)',\n },\n ],\n rules: [\n suffixInflection('うた', 'った', ['-た'], ['-た']),\n suffixInflection('おうた', 'あった', ['-た'], ['-た']),\n suffixInflection('こうた', 'かった', ['-た'], ['-た']),\n suffixInflection('ごうた', 'がった', ['-た'], ['-た']),\n suffixInflection('そうた', 'さった', ['-た'], ['-た']),\n suffixInflection('ぞうた', 'ざった', ['-た'], ['-た']),\n suffixInflection('とうた', 'たった', ['-た'], ['-た']),\n suffixInflection('どうた', 'だった', ['-た'], ['-た']),\n suffixInflection('のうた', 'なった', ['-た'], ['-た']),\n suffixInflection('ほうた', 'はった', ['-た'], ['-た']),\n suffixInflection('ぼうた', 'ばった', ['-た'], ['-た']),\n suffixInflection('もうた', 'まった', ['-た'], ['-た']),\n suffixInflection('ろうた', 'らった', ['-た'], ['-た']),\n suffixInflection('ようた', 'やった', ['-た'], ['-た']),\n suffixInflection('ゆうた', 'いった', ['-た'], ['-た']),\n ],\n },\n 'kansai-ben -たら': {\n name: 'kansai-ben',\n description: '-たら form of kansai-ben terms',\n i18n: [\n {\n language: 'ja',\n name: '関西弁',\n description: '~たら (関西弁)',\n },\n ],\n rules: [\n suffixInflection('うたら', 'ったら', [], []),\n suffixInflection('おうたら', 'あったら', [], []),\n suffixInflection('こうたら', 'かったら', [], []),\n suffixInflection('ごうたら', 'がったら', [], []),\n suffixInflection('そうたら', 'さったら', [], []),\n suffixInflection('ぞうたら', 'ざったら', [], []),\n suffixInflection('とうたら', 'たったら', [], []),\n suffixInflection('どうたら', 'だったら', [], []),\n suffixInflection('のうたら', 'なったら', [], []),\n suffixInflection('ほうたら', 'はったら', [], []),\n suffixInflection('ぼうたら', 'ばったら', [], []),\n suffixInflection('もうたら', 'まったら', [], []),\n suffixInflection('ろうたら', 'らったら', [], []),\n suffixInflection('ようたら', 'やったら', [], []),\n suffixInflection('ゆうたら', 'いったら', [], []),\n ],\n },\n 'kansai-ben -たり': {\n name: 'kansai-ben',\n description: '-たり form of kansai-ben terms',\n i18n: [\n {\n language: 'ja',\n name: '関西弁',\n description: '~たり (関西弁)',\n },\n ],\n rules: [\n suffixInflection('うたり', 'ったり', [], []),\n suffixInflection('おうたり', 'あったり', [], []),\n suffixInflection('こうたり', 'かったり', [], []),\n suffixInflection('ごうたり', 'がったり', [], []),\n suffixInflection('そうたり', 'さったり', [], []),\n suffixInflection('ぞうたり', 'ざったり', [], []),\n suffixInflection('とうたり', 'たったり', [], []),\n suffixInflection('どうたり', 'だったり', [], []),\n suffixInflection('のうたり', 'なったり', [], []),\n suffixInflection('ほうたり', 'はったり', [], []),\n suffixInflection('ぼうたり', 'ばったり', [], []),\n suffixInflection('もうたり', 'まったり', [], []),\n suffixInflection('ろうたり', 'らったり', [], []),\n suffixInflection('ようたり', 'やったり', [], []),\n suffixInflection('ゆうたり', 'いったり', [], []),\n ],\n },\n 'kansai-ben -く': {\n name: 'kansai-ben',\n description: '-く stem of kansai-ben adjectives',\n i18n: [\n {\n language: 'ja',\n name: '関西弁',\n description: '連用形 (関西弁)',\n },\n ],\n rules: [\n suffixInflection('う', 'く', [], ['-く']),\n suffixInflection('こう', 'かく', [], ['-く']),\n suffixInflection('ごう', 'がく', [], ['-く']),\n suffixInflection('そう', 'さく', [], ['-く']),\n suffixInflection('とう', 'たく', [], ['-く']),\n suffixInflection('のう', 'なく', [], ['-く']),\n suffixInflection('ぼう', 'ばく', [], ['-く']),\n suffixInflection('もう', 'まく', [], ['-く']),\n suffixInflection('ろう', 'らく', [], ['-く']),\n suffixInflection('よう', 'よく', [], ['-く']),\n suffixInflection('しゅう', 'しく', [], ['-く']),\n ],\n },\n 'kansai-ben adjective -て': {\n name: 'kansai-ben',\n description: '-て form of kansai-ben adjectives',\n i18n: [\n {\n language: 'ja',\n name: '関西弁',\n description: '~て (関西弁)',\n },\n ],\n rules: [\n suffixInflection('うて', 'くて', ['-て'], ['-て']),\n suffixInflection('こうて', 'かくて', ['-て'], ['-て']),\n suffixInflection('ごうて', 'がくて', ['-て'], ['-て']),\n suffixInflection('そうて', 'さくて', ['-て'], ['-て']),\n suffixInflection('とうて', 'たくて', ['-て'], ['-て']),\n suffixInflection('のうて', 'なくて', ['-て'], ['-て']),\n suffixInflection('ぼうて', 'ばくて', ['-て'], ['-て']),\n suffixInflection('もうて', 'まくて', ['-て'], ['-て']),\n suffixInflection('ろうて', 'らくて', ['-て'], ['-て']),\n suffixInflection('ようて', 'よくて', ['-て'], ['-て']),\n suffixInflection('しゅうて', 'しくて', ['-て'], ['-て']),\n ],\n },\n 'kansai-ben adjective negative': {\n name: 'kansai-ben',\n description: 'Negative form of kansai-ben adjectives',\n i18n: [\n {\n language: 'ja',\n name: '関西弁',\n description: '~ない (関西弁)',\n },\n ],\n rules: [\n suffixInflection('うない', 'くない', ['adj-i'], ['adj-i']),\n suffixInflection('こうない', 'かくない', ['adj-i'], ['adj-i']),\n suffixInflection('ごうない', 'がくない', ['adj-i'], ['adj-i']),\n suffixInflection('そうない', 'さくない', ['adj-i'], ['adj-i']),\n suffixInflection('とうない', 'たくない', ['adj-i'], ['adj-i']),\n suffixInflection('のうない', 'なくない', ['adj-i'], ['adj-i']),\n suffixInflection('ぼうない', 'ばくない', ['adj-i'], ['adj-i']),\n suffixInflection('もうない', 'まくない', ['adj-i'], ['adj-i']),\n suffixInflection('ろうない', 'らくない', ['adj-i'], ['adj-i']),\n suffixInflection('ようない', 'よくない', ['adj-i'], ['adj-i']),\n suffixInflection('しゅうない', 'しくない', ['adj-i'], ['adj-i']),\n ],\n },\n },\n};\n","// Mozc's default Romaji to Hiragana list referenced to create ROMAJI_TO_HIRAGANA\n// https://github.com/google/mozc/blob/035668c3452fa98ac09462fd2cf556948964aad7/src/data/preedit/romanji-hiragana.tsv\nexport const ROMAJI_TO_HIRAGANA: Record<string, string> = {\n // Double letters - these **must** always be matched first or further down matches may cause inserting `っ` from double letters to require extra logic\n // There **must** be an entry for every accepted double letter\n // To not disturb further matches, an extra letter must be appended after the `っ`\n qq: 'っq',\n vv: 'っv',\n ll: 'っl',\n xx: 'っx',\n kk: 'っk',\n gg: 'っg',\n ss: 'っs',\n zz: 'っz',\n jj: 'っj',\n tt: 'っt',\n dd: 'っd',\n hh: 'っh',\n ff: 'っf',\n bb: 'っb',\n pp: 'っp',\n mm: 'っm',\n yy: 'っy',\n rr: 'っr',\n ww: 'っw',\n cc: 'っc',\n\n // Length 4 - longest matches\n hwyu: 'ふゅ',\n xtsu: 'っ',\n ltsu: 'っ',\n\n // Length 3\n vya: 'ゔゃ',\n vyi: 'ゔぃ',\n vyu: 'ゔゅ',\n vye: 'ゔぇ',\n vyo: 'ゔょ',\n kya: 'きゃ',\n kyi: 'きぃ',\n kyu: 'きゅ',\n kye: 'きぇ',\n kyo: 'きょ',\n gya: 'ぎゃ',\n gyi: 'ぎぃ',\n gyu: 'ぎゅ',\n gye: 'ぎぇ',\n gyo: 'ぎょ',\n sya: 'しゃ',\n syi: 'しぃ',\n syu: 'しゅ',\n sye: 'しぇ',\n syo: 'しょ',\n sha: 'しゃ',\n shi: 'し',\n shu: 'しゅ',\n she: 'しぇ',\n sho: 'しょ',\n zya: 'じゃ',\n zyi: 'じぃ',\n zyu: 'じゅ',\n zye: 'じぇ',\n zyo: 'じょ',\n tya: 'ちゃ',\n tyi: 'ちぃ',\n tyu: 'ちゅ',\n tye: 'ちぇ',\n tyo: 'ちょ',\n cha: 'ちゃ',\n chi: 'ち',\n chu: 'ちゅ',\n che: 'ちぇ',\n cho: 'ちょ',\n cya: 'ちゃ',\n cyi: 'ちぃ',\n cyu: 'ちゅ',\n cye: 'ちぇ',\n cyo: 'ちょ',\n dya: 'ぢゃ',\n dyi: 'ぢぃ',\n dyu: 'ぢゅ',\n dye: 'ぢぇ',\n dyo: 'ぢょ',\n tsa: 'つぁ',\n tsi: 'つぃ',\n tse: 'つぇ',\n tso: 'つぉ',\n tha: 'てゃ',\n thi: 'てぃ',\n thu: 'てゅ',\n the: 'てぇ',\n tho: 'てょ',\n dha: 'でゃ',\n dhi: 'でぃ',\n dhu: 'でゅ',\n dhe: 'でぇ',\n dho: 'でょ',\n twa: 'とぁ',\n twi: 'とぃ',\n twu: 'とぅ',\n twe: 'とぇ',\n two: 'とぉ',\n dwa: 'どぁ',\n dwi: 'どぃ',\n dwu: 'どぅ',\n dwe: 'どぇ',\n dwo: 'どぉ',\n nya: 'にゃ',\n nyi: 'にぃ',\n nyu: 'にゅ',\n nye: 'にぇ',\n nyo: 'にょ',\n hya: 'ひゃ',\n hyi: 'ひぃ',\n hyu: 'ひゅ',\n hye: 'ひぇ',\n hyo: 'ひょ',\n bya: 'びゃ',\n byi: 'びぃ',\n byu: 'びゅ',\n bye: 'びぇ',\n byo: 'びょ',\n pya: 'ぴゃ',\n pyi: 'ぴぃ',\n pyu: 'ぴゅ',\n pye: 'ぴぇ',\n pyo: 'ぴょ',\n fya: 'ふゃ',\n fyu: 'ふゅ',\n fyo: 'ふょ',\n hwa: 'ふぁ',\n hwi: 'ふぃ',\n hwe: 'ふぇ',\n hwo: 'ふぉ',\n mya: 'みゃ',\n myi: 'みぃ',\n myu: 'みゅ',\n mye: 'みぇ',\n myo: 'みょ',\n rya: 'りゃ',\n ryi: 'りぃ',\n ryu: 'りゅ',\n rye: 'りぇ',\n ryo: 'りょ',\n lyi: 'ぃ',\n xyi: 'ぃ',\n lye: 'ぇ',\n xye: 'ぇ',\n xka: 'ヵ',\n xke: 'ヶ',\n lka: 'ヵ',\n lke: 'ヶ',\n kwa: 'くぁ',\n kwi: 'くぃ',\n kwu: 'くぅ',\n kwe: 'くぇ',\n kwo: 'くぉ',\n gwa: 'ぐぁ',\n gwi: 'ぐぃ',\n gwu: 'ぐぅ',\n gwe: 'ぐぇ',\n gwo: 'ぐぉ',\n swa: 'すぁ',\n swi: 'すぃ',\n swu: 'すぅ',\n swe: 'すぇ',\n swo: 'すぉ',\n zwa: 'ずぁ',\n zwi: 'ずぃ',\n zwu: 'ずぅ',\n zwe: 'ずぇ',\n zwo: 'ずぉ',\n jya: 'じゃ',\n jyi: 'じぃ',\n jyu: 'じゅ',\n jye: 'じぇ',\n jyo: 'じょ',\n tsu: 'つ',\n xtu: 'っ',\n ltu: 'っ',\n xya: 'ゃ',\n lya: 'ゃ',\n wyi: 'ゐ',\n xyu: 'ゅ',\n lyu: 'ゅ',\n wye: 'ゑ',\n xyo: 'ょ',\n lyo: 'ょ',\n xwa: 'ゎ',\n lwa: 'ゎ',\n wha: 'うぁ',\n whi: 'うぃ',\n whu: 'う',\n whe: 'うぇ',\n who: 'うぉ',\n\n // Length 2\n nn: 'ん',\n \"n'\": 'ん',\n va: 'ゔぁ',\n vi: 'ゔぃ',\n vu: 'ゔ',\n ve: 'ゔぇ',\n vo: 'ゔぉ',\n fa: 'ふぁ',\n fi: 'ふぃ',\n fe: 'ふぇ',\n fo: 'ふぉ',\n xn: 'ん',\n wu: 'う',\n xa: 'ぁ',\n xi: 'ぃ',\n xu: 'ぅ',\n xe: 'ぇ',\n xo: 'ぉ',\n la: 'ぁ',\n li: 'ぃ',\n lu: 'ぅ',\n le: 'ぇ',\n lo: 'ぉ',\n ye: 'いぇ',\n ka: 'か',\n ki: 'き',\n ku: 'く',\n ke: 'け',\n ko: 'こ',\n ga: 'が',\n gi: 'ぎ',\n gu: 'ぐ',\n ge: 'げ',\n go: 'ご',\n sa: 'さ',\n si: 'し',\n su: 'す',\n se: 'せ',\n so: 'そ',\n ca: 'か',\n ci: 'し',\n cu: 'く',\n ce: 'せ',\n co: 'こ',\n qa: 'くぁ',\n qi: 'くぃ',\n qu: 'く',\n qe: 'くぇ',\n qo: 'くぉ',\n za: 'ざ',\n zi: 'じ',\n zu: 'ず',\n ze: 'ぜ',\n zo: 'ぞ',\n ja: 'じゃ',\n ji: 'じ',\n ju: 'じゅ',\n je: 'じぇ',\n jo: 'じょ',\n ta: 'た',\n ti: 'ち',\n tu: 'つ',\n te: 'て',\n to: 'と',\n da: 'だ',\n di: 'ぢ',\n du: 'づ',\n de: 'で',\n do: 'ど',\n na: 'な',\n ni: 'に',\n nu: 'ぬ',\n ne: 'ね',\n no: 'の',\n ha: 'は',\n hi: 'ひ',\n hu: 'ふ',\n fu: 'ふ',\n he: 'へ',\n ho: 'ほ',\n ba: 'ば',\n bi: 'び',\n bu: 'ぶ',\n be: 'べ',\n bo: 'ぼ',\n pa: 'ぱ',\n pi: 'ぴ',\n pu: 'ぷ',\n pe: 'ぺ',\n po: 'ぽ',\n ma: 'ま',\n mi: 'み',\n mu: 'む',\n me: 'め',\n mo: 'も',\n ya: 'や',\n yu: 'ゆ',\n yo: 'よ',\n ra: 'ら',\n ri: 'り',\n ru: 'る',\n re: 'れ',\n ro: 'ろ',\n wa: 'わ',\n wi: 'うぃ',\n we: 'うぇ',\n wo: 'を',\n\n // Length 1 - shortest matches\n a: 'あ',\n i: 'い',\n u: 'う',\n e: 'え',\n o: 'お',\n\n // Length 1 Special/Symbols\n '.': '。',\n ',': '、',\n ':': ':',\n '/': '・',\n '!': '!',\n '?': '?',\n '~': '〜',\n '-': 'ー',\n '‘': '「',\n '’': '」',\n '“': '『',\n '”': '』',\n '[': '[',\n ']': ']',\n '(': '(',\n ')': ')',\n '{': '{',\n '}': '}',\n ' ': ' ',\n\n // n -> ん is a special case.\n n: 'ん',\n};\n\nexport const HIRAGANA_TO_ROMAJI: Record<string, string> = {\n // Length 2\n んい: \"n'i\",\n ゔぁ: 'va',\n ゔぃ: 'vi',\n ゔぉ: 'vo',\n ゔゃ: 'vya',\n ゔゅ: 'vyu',\n ゔぇ: 've',\n ゔょ: 'vyo',\n きゃ: 'kya',\n きぃ: 'kyi',\n きゅ: 'kyu',\n きぇ: 'kye',\n きょ: 'kyo',\n ぎゃ: 'gya',\n ぎぃ: 'gyi',\n ぎゅ: 'gyu',\n ぎぇ: 'gye',\n ぎょ: 'gyo',\n しゃ: 'sha',\n しぃ: 'syi',\n しゅ: 'shu',\n しぇ: 'she',\n しょ: 'sho',\n ちゃ: 'cya',\n ちゅ: 'chu',\n ちぇ: 'che',\n ちょ: 'cho',\n ちぃ: 'cyi',\n ぢゃ: 'dya',\n ぢぃ: 'dyi',\n ぢゅ: 'dyu',\n ぢぇ: 'dye',\n ぢょ: 'dyo',\n つぁ: 'tsa',\n つぃ: 'tsi',\n つぇ: 'tse',\n つぉ: 'tso',\n てゃ: 'tha',\n てぃ: 'thi',\n てゅ: 'thu',\n てぇ: 'the',\n てょ: 'tho',\n でゃ: 'dha',\n でぃ: 'dhi',\n でゅ: 'dhu',\n でぇ: 'dhe',\n でょ: 'dho',\n とぁ: 'twa',\n とぃ: 'twi',\n とぅ: 'twu',\n とぇ: 'twe',\n とぉ: 'two',\n どぁ: 'dwa',\n どぃ: 'dwi',\n どぅ: 'dwu',\n どぇ: 'dwe',\n どぉ: 'dwo',\n にゃ: 'nya',\n にぃ: 'nyi',\n にゅ: 'nyu',\n にぇ: 'nye',\n にょ: 'nyo',\n ひゃ: 'hya',\n ひぃ: 'hyi',\n ひゅ: 'hyu',\n ひぇ: 'hye',\n ひょ: 'hyo',\n びゃ: 'bya',\n びぃ: 'byi',\n びゅ: 'byu',\n びぇ: 'bye',\n びょ: 'byo',\n ぴゃ: 'pya',\n ぴぃ: 'pyi',\n ぴゅ: 'pyu',\n ぴぇ: 'pye',\n ぴょ: 'pyo',\n ふゃ: 'fya',\n ふょ: 'fyo',\n ふぁ: 'fa',\n ふゅ: 'fyu',\n ふぃ: 'fi',\n ふぇ: 'fe',\n ふぉ: 'fo',\n みゃ: 'mya',\n みぃ: 'myi',\n みゅ: 'myu',\n みぇ: 'mye',\n みょ: 'myo',\n りゃ: 'rya',\n りぃ: 'ryi',\n りゅ: 'ryu',\n りぇ: 'rye',\n りょ: 'ryo',\n くぁ: 'kwa',\n くぃ: 'kwi',\n くぅ: 'kwu',\n くぇ: 'kwe',\n くぉ: 'kwo',\n ぐぁ: 'gwa',\n ぐぃ: 'gwi',\n ぐぅ: 'gwu',\n ぐぇ: 'gwe',\n ぐぉ: 'gwo',\n すぁ: 'swa',\n すぃ: 'swi',\n すぅ: 'swu',\n すぇ: 'swe',\n すぉ: 'swo',\n ずぁ: 'zwa',\n ずぃ: 'zwi',\n ずぅ: 'zwu',\n ずぇ: 'zwe',\n ずぉ: 'zwo',\n じゃ: 'ja',\n じぃ: 'jyi',\n じゅ: 'ju',\n じぇ: 'je',\n じょ: 'jo',\n うぁ: 'wha',\n うぃ: 'wi',\n うぇ: 'we',\n うぉ: 'who',\n いぇ: 'ye',\n\n // Length 1\n ん: 'n',\n あ: 'a',\n い: 'i',\n う: 'u',\n え: 'e',\n お: 'o',\n ゔ: 'vu',\n か: 'ka',\n き: 'ki',\n く: 'ku',\n け: 'ke',\n こ: 'ko',\n が: 'ga',\n ぎ: 'gi',\n ぐ: 'gu',\n げ: 'ge',\n ご: 'go',\n さ: 'sa',\n し: 'shi',\n す: 'su',\n せ: 'se',\n そ: 'so',\n ざ: 'za',\n じ: 'ji',\n ず: 'zu',\n ぜ: 'ze',\n ぞ: 'zo',\n た: 'ta',\n ち: 'chi',\n つ: 'tsu',\n て: 'te',\n と: 'to',\n だ: 'da',\n ぢ: 'di',\n づ: 'du',\n で: 'de',\n ど: 'do',\n な: 'na',\n に: 'ni',\n ぬ: 'nu',\n ね: 'ne',\n の: 'no',\n は: 'ha',\n ひ: 'hi',\n ふ: 'fu',\n へ: 'he',\n ほ: 'ho',\n ば: 'ba',\n び: 'bi',\n ぶ: 'bu',\n べ: 'be',\n ぼ: 'bo',\n ぱ: 'pa',\n ぴ: 'pi',\n ぷ: 'pu',\n ぺ: 'pe',\n ぽ: 'po',\n ま: 'ma',\n み: 'mi',\n む: 'mu',\n め: 'me',\n も: 'mo',\n や: 'ya',\n ゆ: 'yu',\n よ: 'yo',\n ら: 'ra',\n り: 'ri',\n る: 'ru',\n れ: 're',\n ろ: 'ro',\n わ: 'wa',\n ゐ: 'wi',\n ゑ: 'we',\n を: 'wo',\n\n // Length 1 Special/Symbols\n '。': '.',\n '、': ',',\n ':': ':',\n '・': '/',\n '!': '!',\n '?': '?',\n '〜': '~',\n ー: '-',\n '「': '‘',\n '」': '’',\n '『': '“',\n '』': '”',\n '[': '[',\n ']': ']',\n '(': '(',\n ')': ')',\n '{': '{',\n '}': '}',\n ' ': ' ',\n\n // Length 1 Small - Even though these are usually represented with `x` or `l` prepending them, in romaji it makes the most sense to not do that\n ゃ: 'ya',\n ゅ: 'yu',\n ょ: 'yo',\n ゎ: 'wa',\n ぁ: 'a',\n ぃ: 'i',\n ぅ: 'u',\n ぇ: 'e',\n ぉ: 'o',\n ヵ: 'ka',\n ヶ: 'ke',\n\n // Double letters - these **must** always be matched last or they will break previous maches\n っq: 'qq',\n っv: 'vv',\n っx: 'xx',\n っk: 'kk',\n っg: 'gg',\n っs: 'ss',\n っz: 'zz',\n っj: 'jj',\n っt: 'tt',\n っd: 'dd',\n っh: 'hh',\n っf: 'ff',\n っb: 'bb',\n っp: 'pp',\n っm: 'mm',\n っy: 'yy',\n っr: 'rr',\n っw: 'ww',\n っc: 'cc',\n\n // `っん` is a special case\n っn: 'n',\n\n // single `っ` is weird, some converters just remove it, some leave the `っ` in kana, some replace with `xtsu` or `ltsu`\n っ: '',\n};\n","import { convertHiraganaToKatakana } from './japanese';\nimport { HIRAGANA_TO_ROMAJI, ROMAJI_TO_HIRAGANA } from './japanese-kana-romaji-dicts';\n\nexport type KanaIMEOutput = {\n kanaString: string;\n newSelectionStart: number;\n};\n\nexport function convertToHiragana(text: string): string {\n let newText = text.toLowerCase();\n for (const [romaji, kana] of Object.entries(ROMAJI_TO_HIRAGANA)) {\n newText = newText.replaceAll(romaji, kana);\n }\n return fillSokuonGaps(newText);\n}\n\nexport function convertToKanaIME(text: string, selectionStart: number): KanaIMEOutput {\n const prevSelectionStart = selectionStart;\n const prevLength = text.length;\n let kanaString = '';\n\n const textLowered = text.toLowerCase();\n if (\n textLowered[prevSelectionStart - 1] === 'n' &&\n textLowered\n .slice(0, prevSelectionStart - 1)\n .replaceAll('nn', '')\n .at(-1) !== 'n'\n ) {\n const n = text.slice(prevSelectionStart - 1, prevSelectionStart);\n const beforeN = text.slice(0, prevSelectionStart - 1);\n const afterN = text.slice(prevSelectionStart);\n kanaString = convertToKana(beforeN) + n + convertToKana(afterN);\n } else if (textLowered.slice(prevSelectionStart - 2, prevSelectionStart) === 'ny') {\n const ny = text.slice(prevSelectionStart - 2, prevSelectionStart);\n const beforeN = text.slice(0, prevSelectionStart - 2);\n const afterN = text.slice(prevSelectionStart);\n kanaString = convertToKana(beforeN) + ny + convertToKana(afterN);\n } else {\n kanaString = convertToKana(text);\n }\n\n const selectionOffset = kanaString.length - prevLength;\n\n return { kanaString, newSelectionStart: prevSelectionStart + selectionOffset };\n}\n\nexport function convertToKana(text: string): string {\n let newText = text;\n for (const [romaji, kana] of Object.entries(ROMAJI_TO_HIRAGANA)) {\n newText = newText.replaceAll(romaji, kana);\n newText = newText.replaceAll(romaji.toUpperCase(), convertHiraganaToKatakana(kana).toUpperCase());\n }\n return fillSokuonGaps(newText);\n}\n\nfunction fillSokuonGaps(text: string): string {\n return text.replaceAll(/っ[a-z](?=っ)/g, 'っっ').replaceAll(/ッ[A-Z](?=ッ)/g, 'ッッ');\n}\n\nexport function convertToRomaji(text: string): string {\n let newText = text;\n for (const [kana, romaji] of Object.entries(HIRAGANA_TO_ROMAJI)) {\n newText = newText.replaceAll(kana, romaji);\n newText = newText.replaceAll(convertHiraganaToKatakana(kana), romaji);\n }\n return newText;\n}\n\nexport function convertAlphabeticToKana(text: string): string {\n let part = '';\n let result = '';\n\n for (const char of text) {\n let c = char.codePointAt(0) as number;\n if (c >= 0x41 && c <= 0x5a) {\n // ['A', 'Z']\n c += 0x61 - 0x41;\n } else if (c >= 0x61 && c <= 0x7a) {\n // ['a', 'z']\n // NOP\n } else if (c >= 0xff21 && c <= 0xff3a) {\n // ['A', 'Z'] fullwidth\n c += 0x61 - 0xff21;\n } else if (c >= 0xff41 && c <= 0xff5a) {\n // ['a', 'z'] fullwidth\n c += 0x61 - 0xff41;\n } else if (c === 0x2d || c === 0xff0d) {\n // '-' or fullwidth dash\n c = 0x2d;\n } else {\n if (part.length > 0) {\n result += convertToHiragana(part);\n part = '';\n }\n result += char;\n continue;\n }\n part += String.fromCodePoint(c);\n }\n\n if (part.length > 0) {\n result += convertToHiragana(part);\n }\n return result;\n}\n","import type { BidirectionalConversionPreprocessor, TextProcessor } from '../../types/language';\nimport { basicTextProcessorOptions } from '../text-processors';\nimport {\n collapseEmphaticSequences as collapseEmphaticSequencesFunction,\n convertAlphanumericToFullWidth,\n convertFullWidthAlphanumericToNormal,\n convertHalfWidthKanaToFullWidth,\n convertHiraganaToKatakana as convertHiraganaToKatakanaFunction,\n convertKatakanaToHiragana as convertKatakanaToHiraganaFunction,\n normalizeCJKCompatibilityCharacters as normalizeCJKCompatibilityCharactersFunction,\n normalizeCombiningCharacters as normalizeCombiningCharactersFunction,\n} from './japanese';\nimport { convertAlphabeticToKana } from './japanese-wanakana';\n\nexport const convertHalfWidthCharacters: TextProcessor<boolean> = {\n name: 'Convert half width characters to full width',\n description: '\\uff96\\uff90\\uff81\\uff6c\\uff9d \\u2192 \\u30e8\\u30df\\u30c1\\u30e3\\u30f3',\n options: basicTextProcessorOptions,\n process: (str, setting) => (setting ? convertHalfWidthKanaToFullWidth(str) : str),\n};\n\nexport const alphabeticToHiragana: TextProcessor<boolean> = {\n name: 'Convert alphabetic characters to hiragana',\n description: 'yomichan \\u2192 \\u3088\\u307f\\u3061\\u3083\\u3093',\n options: basicTextProcessorOptions,\n process: (str, setting) => (setting ? convertAlphabeticToKana(str) : str),\n};\n\nexport const alphanumericWidthVariants: BidirectionalConversionPreprocessor = {\n name: 'Convert between alphabetic width variants',\n description: '\\uff59\\uff4f\\uff4d\\uff49\\uff54\\uff41\\uff4e \\u2192 yomitan and vice versa',\n options: ['off', 'direct', 'inverse'],\n process: (str, setting) => {\n switch (setting) {\n case 'off':\n return str;\n case 'direct':\n return convertFullWidthAlphanumericToNormal(str);\n case 'inverse':\n return convertAlphanumericToFullWidth(str);\n }\n },\n};\n\nexport const convertHiraganaToKatakana: BidirectionalConversionPreprocessor = {\n name: 'Convert hiragana to katakana',\n description: '\\u3088\\u307f\\u3061\\u3083\\u3093 \\u2192 \\u30e8\\u30df\\u30c1\\u30e3\\u30f3 and vice versa',\n options: ['off', 'direct', 'inverse'],\n process: (str, setting) => {\n switch (setting) {\n case 'off':\n return str;\n case 'direct':\n return convertHiraganaToKatakanaFunction(str);\n case 'inverse':\n return convertKatakanaToHiraganaFunction(str);\n }\n },\n};\n\nexport const collapseEmphaticSequences: TextProcessor<[collapseEmphatic: boolean, collapseEmphaticFull: boolean]> = {\n name: 'Collapse emphatic character sequences',\n description:\n '\\u3059\\u3063\\u3063\\u3054\\u30fc\\u30fc\\u3044 \\u2192 \\u3059\\u3063\\u3054\\u30fc\\u3044 / \\u3059\\u3054\\u3044',\n options: [\n [false, false],\n [true, false],\n [true, true],\n ],\n process: (str, setting) => {\n const [collapseEmphatic, collapseEmphaticFull] = setting;\n if (collapseEmphatic) {\n str = collapseEmphaticSequencesFunction(str, collapseEmphaticFull);\n }\n return str;\n },\n};\n\nexport const normalizeCombiningCharacters: TextProcessor<boolean> = {\n name: 'Normalize combining characters',\n description: '\\u30c8\\u3099 \\u2192 \\u30c9 (U+30C8 U+3099 \\u2192 U+30C9)',\n options: basicTextProcessorOptions,\n process: (str, setting) => (setting ? normalizeCombiningCharactersFunction(str) : str),\n};\n\nexport const normalizeCJKCompatibilityCharacters: TextProcessor<boolean> = {\n name: 'Normalize CJK Compatibility Characters',\n description: '\\u3300 \\u2192 \\u30a2\\u30d1\\u30fc\\u30c8',\n options: basicTextProcessorOptions,\n process: (str, setting) => (setting ? normalizeCJKCompatibilityCharactersFunction(str) : str),\n};\n","const HANGUL_BLOCK: [number, number] = [0xac00, 0xd7af];\nconst HANGUL_JAMO: [number, number] = [0x1100, 0x11ff];\nconst HANGUL_COMPATIBILITY_JAMO: [number, number] = [0x3130, 0x318f];\nconst HANGUL_JAMO_EXTENDED_A: [number, number] = [0xa960, 0xa97f];\nconst HANGUL_JAMO_EXTENDED_B: [number, number] = [0xd7b0, 0xd7ff];\n\nconst KOREAN_RANGES: [number, number][] = [\n HANGUL_BLOCK,\n HANGUL_JAMO,\n HANGUL_COMPATIBILITY_JAMO,\n HANGUL_JAMO_EXTENDED_A,\n HANGUL_JAMO_EXTENDED_B,\n];\n\nexport function isCodePointKorean(codePoint: number): boolean {\n for (const [min, max] of KOREAN_RANGES) {\n if (codePoint >= min && codePoint <= max) {\n return true;\n }\n }\n return false;\n}\n","import type { LanguageTransformDescriptor } from '../../types/language-transformer';\nimport { suffixInflection } from '../language-transforms';\n\nconst conditions = {\n v: {\n name: 'Verb or Auxiliary Verb',\n isDictionaryForm: true,\n i18n: [\n {\n language: 'ko',\n name: '동사 / 보조 동사',\n },\n ],\n },\n adj: {\n name: 'Adjective or Auxiliary Adjective',\n isDictionaryForm: true,\n i18n: [\n {\n language: 'ko',\n name: '형용사 / 보조 형용사',\n },\n ],\n },\n ida: {\n name: 'Postpositional particle ida',\n isDictionaryForm: true,\n i18n: [\n {\n language: 'ko',\n name: '조사 이다',\n },\n ],\n },\n p: {\n name: 'Intermediate past tense ending',\n isDictionaryForm: false,\n },\n f: {\n name: 'Intermediate future tense ending',\n isDictionaryForm: false,\n },\n eusi: {\n name: 'Intermediate formal ending',\n isDictionaryForm: false,\n },\n euob: {\n name: 'Intermediate formal ending',\n isDictionaryForm: false,\n },\n euo: {\n name: 'Intermediate formal ending',\n isDictionaryForm: false,\n },\n sao: {\n name: 'Intermediate formal ending',\n isDictionaryForm: false,\n },\n saob: {\n name: 'Intermediate formal ending',\n isDictionaryForm: false,\n },\n sab: {\n name: 'Intermediate formal ending',\n isDictionaryForm: false,\n },\n jaob: {\n name: 'Intermediate formal ending',\n isDictionaryForm: false,\n },\n jao: {\n name: 'Intermediate formal ending',\n isDictionaryForm: false,\n },\n jab: {\n name: 'Intermediate formal ending',\n isDictionaryForm: false,\n },\n do: {\n name: 'Intermediate ending',\n isDictionaryForm: false,\n },\n};\n\ntype Condition = keyof typeof conditions;\n\nexport const koreanTransforms: LanguageTransformDescriptor<Condition> = {\n language: 'ko',\n conditions,\n transforms: {\n 어간: {\n name: '어간',\n description: 'Stem',\n rules: [\n suffixInflection('ㅂ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅃ', 'ㅃㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅈ', 'ㅈㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅉ', 'ㅉㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄷ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄸ', 'ㄸㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄱ', 'ㄱㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄲ', 'ㄲㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅅ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅆ', 'ㅆㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅁ', 'ㅁㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄴ', 'ㄴㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇ', 'ㅇㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅎ', 'ㅎㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅋ', 'ㅋㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅌ', 'ㅌㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅊ', 'ㅊㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅍ', 'ㅍㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅛ', 'ㅛㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅕ', 'ㅕㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅑ', 'ㅑㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅐ', 'ㅐㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅒ', 'ㅒㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅔ', 'ㅔㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅖ', 'ㅖㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅗ', 'ㅗㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅓ', 'ㅓㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅏ', 'ㅏㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅣ', 'ㅣㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅠ', 'ㅠㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅜ', 'ㅜㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅡ', 'ㅡㄷㅏ', [], ['v', 'adj']),\n ],\n },\n '-거나': {\n name: '-거나',\n rules: [\n suffixInflection('ㄱㅓㄴㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄱㅓㄴㅏ', '', [], ['p', 'f', 'euob', 'eusi']),\n ],\n },\n '-거늘': {\n name: '-거늘',\n rules: [\n suffixInflection('ㄱㅓㄴㅡㄹ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄱㅓㄴㅡㄹ', '', [], ['p', 'f', 'euob', 'eusi']),\n ],\n },\n '-거니': {\n name: '-거니',\n rules: [\n suffixInflection('ㄱㅓㄴㅣ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄱㅓㄴㅣ', '', [], ['p', 'f', 'euob', 'eusi']),\n ],\n },\n '-거니와': {\n name: '-거니와',\n rules: [\n suffixInflection('ㄱㅓㄴㅣㅇㅗㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄱㅓㄴㅣㅇㅗㅏ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-거던': {\n name: '-거던',\n rules: [\n suffixInflection('ㄱㅓㄷㅓㄴ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄱㅓㄷㅓㄴ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-거드면': {\n name: '-거드면',\n rules: [\n suffixInflection('ㄱㅓㄷㅡㅁㅕㄴ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄱㅓㄷㅡㅁㅕㄴ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-거든': {\n name: '-거든',\n rules: [\n suffixInflection('ㄱㅓㄷㅡㄴ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄱㅓㄷㅡㄴ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-거들랑': {\n name: '-거들랑',\n rules: [\n suffixInflection('ㄱㅓㄷㅡㄹㄹㅏㅇ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄱㅓㄷㅡㄹㄹㅏㅇ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-거라': {\n name: '-거라',\n rules: [suffixInflection('ㄱㅓㄹㅏ', 'ㄷㅏ', [], ['v'])],\n },\n '-건': {\n name: '-건',\n rules: [\n suffixInflection('ㄱㅓㄴ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄱㅓㄴ', '', [], ['p', 'f', 'euob', 'eusi']),\n ],\n },\n '-건대': {\n name: '-건대',\n rules: [\n suffixInflection('ㄱㅓㄴㄷㅐ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㄱㅓㄴㄷㅐ', '', [], ['p', 'eusi', 'jaob']),\n ],\n },\n '-건마는': {\n name: '-건마는',\n rules: [\n suffixInflection('ㄱㅓㄴㅁㅏㄴㅡㄴ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄱㅓㄴㅁㅏㄴㅡㄴ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-건만': {\n name: '-건만',\n rules: [\n suffixInflection('ㄱㅓㄴㅁㅏㄴ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄱㅓㄴㅁㅏㄴ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-걸랑': {\n name: '-걸랑',\n rules: [\n suffixInflection('ㄱㅓㄹㄹㅏㅇ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄱㅓㄹㄹㅏㅇ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-것다': {\n name: '-것다',\n rules: [\n suffixInflection('ㄱㅓㅅㄷㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄱㅓㅅㄷㅏ', '', [], ['p', 'eusi']),\n ],\n },\n '-것마는': {\n name: '-것마는',\n rules: [\n suffixInflection('ㄱㅓㅅㅁㅏㄴㅡㄴ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄱㅓㅅㅁㅏㄴㅡㄴ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-게': {\n name: '-게',\n rules: [\n suffixInflection('ㄱㅔ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄱㅔ', '', [], ['p', 'eusi']),\n ],\n },\n '-게끔': {\n name: '-게끔',\n rules: [\n suffixInflection('ㄱㅔㄲㅡㅁ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄱㅔㄲㅡㅁ', '', [], ['eusi']),\n ],\n },\n '-게나': {\n name: '-게나',\n rules: [suffixInflection('ㄱㅔㄴㅏ', 'ㄷㅏ', [], ['v']), suffixInflection('ㄱㅔㄴㅏ', '', [], ['eusi'])],\n },\n '-게시리': {\n name: '-게시리',\n rules: [\n suffixInflection('ㄱㅔㅅㅣㄹㅣ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄱㅔㅅㅣㄹㅣ', '', [], ['eusi']),\n ],\n },\n '-겠': {\n name: '-겠',\n rules: [\n suffixInflection('ㄱㅔㅆ', 'ㄷㅏ', ['f'], ['v', 'adj', 'ida']),\n suffixInflection('ㄱㅔㅆ', '', ['f'], ['p', 'eusi']),\n ],\n },\n '-고': {\n name: '-고',\n rules: [\n suffixInflection('ㄱㅗ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄱㅗ', '', [], ['p', 'f', 'eusi', 'saob', 'euob', 'euo', 'sab', 'jaob', 'jab']),\n ],\n },\n '-고는 하다': {\n name: '-고는 하다',\n rules: [\n suffixInflection('ㄱㅗㄴㅡㄴ ㅎㅏㄷㅏ', 'ㄷㅏ', ['v'], ['v']),\n suffixInflection('ㄱㅗㄴㅡㄴ ㅎㅏㄷㅏ', '', ['v'], ['eusi']),\n ],\n },\n '-곤 하다': {\n name: '-곤 하다',\n rules: [\n suffixInflection('ㄱㅗㄴ ㅎㅏㄷㅏ', 'ㄷㅏ', ['v'], ['v']),\n suffixInflection('ㄱㅗㄴ ㅎㅏㄷㅏ', '', ['v'], ['eusi']),\n ],\n },\n '-고는': {\n name: '-고는',\n rules: [\n suffixInflection('ㄱㅗㄴㅡㄴ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄱㅗㄴㅡㄴ', '', [], ['eusi']),\n ],\n },\n '-곤': {\n name: '-곤',\n rules: [suffixInflection('ㄱㅗㄴ', 'ㄷㅏ', [], ['v', 'adj']), suffixInflection('ㄱㅗㄴ', '', [], ['eusi'])],\n },\n '-고도': {\n name: '-고도',\n rules: [\n suffixInflection('ㄱㅗㄷㅗ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄱㅗㄷㅗ', '', [], ['eusi']),\n ],\n },\n '-고말고': {\n name: '-고말고',\n rules: [\n suffixInflection('ㄱㅗㅁㅏㄹㄱㅗ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄱㅗㅁㅏㄹㄱㅗ', '', [], ['p', 'eusi']),\n ],\n },\n '-고서': {\n name: '-고서',\n rules: [\n suffixInflection('ㄱㅗㅅㅓ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㄱㅗㅅㅓ', '', [], ['eusi']),\n suffixInflection('ㅇㅏㄴㅣㄱㅗㅅㅓ', 'ㅇㅏㄴㅣㄷㅏ', [], ['adj']),\n ],\n },\n '-고야': {\n name: '-고야',\n rules: [suffixInflection('ㄱㅗㅇㅑ', 'ㄷㅏ', [], ['v']), suffixInflection('ㄱㅗㅇㅑ', '', [], ['eusi'])],\n },\n '-고자': {\n name: '-고자',\n rules: [\n suffixInflection('ㄱㅗㅈㅏ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㄱㅗㅈㅏ', '', [], ['eusi']),\n suffixInflection('ㅇㅣㅆㄱㅗㅈㅏ', '있다', [], []),\n suffixInflection('ㅇㅓㅂㅅㄱㅗㅈㅏ', '없다', [], []),\n ],\n },\n '-고저': {\n name: '-고저',\n rules: [\n suffixInflection('ㄱㅗㅈㅓ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㄱㅗㅈㅓ', '', [], ['eusi']),\n suffixInflection('ㅇㅣㅆㄱㅗㅈㅓ', '있다', [], []),\n suffixInflection('ㅇㅓㅂㅅㄱㅗㅈㅓ', '없다', [], []),\n ],\n },\n '-관데': {\n name: '-관데',\n rules: [\n suffixInflection('ㄱㅗㅏㄴㄷㅔ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄱㅗㅏㄴㄷㅔ', '', [], ['p', 'eusi']),\n ],\n },\n '-구나': {\n name: '-구나',\n rules: [\n suffixInflection('ㄱㅜㄴㅏ', 'ㄷㅏ', [], ['adj', 'ida']),\n suffixInflection('ㄱㅜㄴㅏ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-구려': {\n name: '-구려',\n rules: [\n suffixInflection('ㄱㅜㄹㅕ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄱㅜㄹㅕ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-구료': {\n name: '-구료',\n rules: [\n suffixInflection('ㄱㅜㄹㅛ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄱㅜㄹㅛ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-구만': {\n name: '-구만',\n rules: [\n suffixInflection('ㄱㅜㅁㅏㄴ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄱㅜㅁㅏㄴ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-구먼': {\n name: '-구먼',\n rules: [\n suffixInflection('ㄱㅜㅁㅓㄴ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄱㅜㅁㅓㄴ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-구면': {\n name: '-구면',\n rules: [\n suffixInflection('ㄱㅜㅁㅕㄴ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄱㅜㅁㅕㄴ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-군': {\n name: '-군',\n rules: [\n suffixInflection('ㄱㅜㄴ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄱㅜㄴ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-기': {\n name: '-기',\n rules: [\n suffixInflection('ㄱㅣ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄱㅣ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-기로': {\n name: '-기로',\n rules: [suffixInflection('ㄱㅣㄹㅗ', 'ㄷㅏ', [], ['v', 'adj', 'ida'])],\n },\n '-기로니': {\n name: '-기로니',\n rules: [suffixInflection('ㄱㅣㄹㅗㄴㅣ', 'ㄷㅏ', [], ['v', 'adj', 'ida'])],\n },\n '-기로서': {\n name: '-기로서',\n rules: [\n suffixInflection('ㄱㅣㄹㅗㅅㅓ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄱㅣㄹㅗㅅㅓ', '', [], ['p']),\n ],\n },\n '-기로서니': {\n name: '-기로서니',\n rules: [\n suffixInflection('ㄱㅣㄹㅗㅅㅓㄴㅣ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄱㅣㄹㅗㅅㅓㄴㅣ', '', [], ['p']),\n ],\n },\n '-기로선들': {\n name: '-기로선들',\n rules: [\n suffixInflection('ㄱㅣㄹㅗㅅㅓㄴㄷㅡㄹ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄱㅣㄹㅗㅅㅓㄴㄷㅡㄹ', '', [], ['p']),\n ],\n },\n '-기에': {\n name: '-기에',\n rules: [\n suffixInflection('ㄱㅣㅇㅔ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄱㅣㅇㅔ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-길래': {\n name: '-길래',\n rules: [\n suffixInflection('ㄱㅣㄹㄹㅐ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄱㅣㄹㄹㅐ', '', [], ['p', 'eusi']),\n ],\n },\n '-(으)ㄹ': {\n name: '-(으)ㄹ',\n rules: [\n suffixInflection('ㄹ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄹ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㄹ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㄹ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹ', '', [], ['eusi']),\n suffixInflection('ㅇㅡㄹ', '', [], ['p']),\n ],\n },\n '-(으)ㄹ거나': {\n name: '-(으)ㄹ거나',\n rules: [\n suffixInflection('ㄹㄱㅓㄴㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄹㄱㅓㄴㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㄱㅓㄴㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㄹㄱㅓㄴㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㄱㅓㄴㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㄱㅓㄴㅏ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㄹㄱㅓㄴㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㄱㅓㄴㅏ', '', [], ['eusi']),\n suffixInflection('ㅇㅡㄹㄱㅓㄴㅏ', '', [], ['p', 'f']),\n ],\n },\n '-(으)ㄹ걸': {\n name: '-(으)ㄹ걸',\n rules: [\n suffixInflection('ㄹㄱㅓㄹ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄹㄱㅓㄹ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㄱㅓㄹ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㄹㄱㅓㄹ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㄱㅓㄹ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㄱㅓㄹ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㄹㄱㅓㄹ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㄱㅓㄹ', '', [], ['eusi']),\n suffixInflection('ㅇㅡㄹㄱㅓㄹ', '', [], ['p']),\n ],\n },\n '-(으)ㄹ게': {\n name: '-(으)ㄹ게',\n rules: [\n suffixInflection('ㄹㄱㅔ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㄹㄱㅔ', 'ㄹㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㄹㄱㅔ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅜㄹㄱㅔ', 'ㅂㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㄹㄱㅔ', 'ㅅㄷㅏ', [], ['v']),\n suffixInflection('ㄹㅇㅡㄹㄱㅔ', 'ㄷㄷㅏ', [], ['v']),\n ],\n },\n '-(으)ㄹ 거야': {\n name: '-(으)ㄹ 거야',\n rules: [\n suffixInflection('ㄹ ㄱㅓㅇㅑ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄹ ㄱㅓㅇㅑ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹ ㄱㅓㅇㅑ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㄹ ㄱㅓㅇㅑ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹ ㄱㅓㅇㅑ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹ ㄱㅓㅇㅑ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㄹ ㄱㅓㅇㅑ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n ],\n },\n '-(으)ㄹ 거예요': {\n name: '-(으)ㄹ 거예요',\n rules: [\n suffixInflection('ㄹ ㄱㅓㅇㅖㅇㅛ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄹ ㄱㅓㅇㅖㅇㅛ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹ ㄱㅓㅇㅖㅇㅛ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㄹ ㄱㅓㅇㅖㅇㅛ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹ ㄱㅓㅇㅖㅇㅛ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹ ㄱㅓㅇㅖㅇㅛ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㄹ ㄱㅓㅇㅖㅇㅛ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n ],\n },\n '-(으)ㄹ 것이다': {\n name: '-(으)ㄹ 것이다',\n rules: [\n suffixInflection('ㄹ ㄱㅓㅅㅇㅣㄷㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄹ ㄱㅓㅅㅇㅣㄷㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹ ㄱㅓㅅㅇㅣㄷㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㄹ ㄱㅓㅅㅇㅣㄷㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹ ㄱㅓㅅㅇㅣㄷㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹ ㄱㅓㅅㅇㅣㄷㅏ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㄹ ㄱㅓㅅㅇㅣㄷㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n ],\n },\n '-(으)ㄹ 것입니다': {\n name: '-(으)ㄹ 것입니다',\n rules: [\n suffixInflection('ㄹ ㄱㅓㅅㅇㅣㅂㄴㅣㄷㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄹ ㄱㅓㅅㅇㅣㅂㄴㅣㄷㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹ ㄱㅓㅅㅇㅣㅂㄴㅣㄷㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㄹ ㄱㅓㅅㅇㅣㅂㄴㅣㄷㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹ ㄱㅓㅅㅇㅣㅂㄴㅣㄷㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹ ㄱㅓㅅㅇㅣㅂㄴㅣㄷㅏ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㄹ ㄱㅓㅅㅇㅣㅂㄴㅣㄷㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n ],\n },\n '-(으)ㄹ 거다': {\n name: '-(으)ㄹ 거다',\n rules: [\n suffixInflection('ㄹ ㄱㅓㄷㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄹ ㄱㅓㄷㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹ ㄱㅓㄷㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㄹ ㄱㅓㄷㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹ ㄱㅓㄷㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹ ㄱㅓㄷㅏ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㄹ ㄱㅓㄷㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n ],\n },\n '-(으)ㄹ 겁니다': {\n name: '-(으)ㄹ 겁니다',\n rules: [\n suffixInflection('ㄹ ㄱㅓㅂㄴㅣㄷㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄹ ㄱㅓㅂㄴㅣㄷㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹ ㄱㅓㅂㄴㅣㄷㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㄹ ㄱㅓㅂㄴㅣㄷㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹ ㄱㅓㅂㄴㅣㄷㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹ ㄱㅓㅂㄴㅣㄷㅏ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㄹ ㄱㅓㅂㄴㅣㄷㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n ],\n },\n '-(으)ㄹ께': {\n name: '-(으)ㄹ께',\n rules: [\n suffixInflection('ㄹㄲㅔ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄹㄲㅔ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㄲㅔ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㄹㄲㅔ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㄲㅔ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㄲㅔ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㄹㄲㅔ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n ],\n },\n '-(으)나': {\n name: '-(으)나',\n rules: [\n suffixInflection('ㄴㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㅇㅡㄴㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㄴㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄴㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄴㅏ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄴㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅇㅡㄴㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄴㅏ', '', [], ['p', 'f']),\n suffixInflection('ㄴㅏ', '', [], ['p', 'f', 'eusi', 'sao']),\n ],\n },\n '-나니': {\n name: '-나니',\n rules: [\n suffixInflection('ㄴㅏㄴㅣ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㄴㅏㄴㅣ', '', [], ['p', 'f', 'eusi', 'sab', 'euob']),\n ],\n },\n '-(으)나마': {\n name: '-(으)나마',\n rules: [\n suffixInflection('ㄴㅏㅁㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㅇㅡㄴㅏㅁㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㄴㅏㅁㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄴㅏㅁㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄴㅏㅁㅏ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄴㅏㅁㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅇㅡㄴㅏㅁㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄴㅏㅁㅏ', '', [], ['eusi']),\n suffixInflection('ㅇㅡㄴㅏㅁㅏ', '', [], ['p', 'f']),\n ],\n },\n '-나이까': {\n name: '-나이까',\n rules: [\n suffixInflection('ㄴㅏㅇㅣㄲㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄴㅏㅇㅣㄲㅏ', '', [], ['p', 'f', 'eusi', 'saob', 'euob']),\n ],\n },\n '-나이다': {\n name: '-나이다',\n rules: [\n suffixInflection('ㄴㅏㅇㅣㄷㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄴㅏㅇㅣㄷㅏ', '', [], ['p', 'f', 'eusi', 'saob', 'jaob', 'jab', 'euob']),\n ],\n },\n '-남': {\n name: '-남',\n rules: [\n suffixInflection('ㄴㅏㅁ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㄴㅏㅁ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-(으)냐': {\n name: '-(으)냐',\n rules: [\n suffixInflection('ㄴㅑ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㅇㅡㄴㅑ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㄴㅑ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄴㅑ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄴㅑ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄴㅑ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅇㅡㄴㅑ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄴㅑ', '', [], ['p', 'f', 'eusi']),\n suffixInflection('ㅇㅡㄴㅑ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-(으)냐고': {\n name: '-(으)냐고',\n rules: [\n suffixInflection('ㄴㅑㄱㅗ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㅇㅡㄴㅑㄱㅗ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㄴㅑㄱㅗ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄴㅑㄱㅗ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄴㅑㄱㅗ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄴㅑㄱㅗ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅇㅡㄴㅑㄱㅗ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄴㅑㄱㅗ', '', [], ['p', 'f', 'eusi']),\n suffixInflection('ㅇㅡㄴㅑㄱㅗ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-너라': {\n name: '-너라',\n rules: [suffixInflection('ㄴㅓㄹㅏ', 'ㄷㅏ', [], ['v'])],\n },\n '-네': {\n name: '-네',\n rules: [\n suffixInflection('ㄴㅔ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄴㅔ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄴㅔ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-노니': {\n name: '-노니',\n rules: [\n suffixInflection('ㄴㅗㄴㅣ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㄴㅗㄴㅣ', '', [], ['p', 'f', 'eusi', 'sab', 'euob']),\n ],\n },\n '-노라': {\n name: '-노라',\n rules: [suffixInflection('ㄴㅗㄹㅏ', 'ㄷㅏ', [], ['v']), suffixInflection('ㄴㅗㄹㅏ', '', [], ['p', 'f'])],\n },\n '-노라고': {\n name: '-노라고',\n rules: [suffixInflection('ㄴㅗㄹㅏㄱㅗ', 'ㄷㅏ', [], ['v'])],\n },\n '-노라니': {\n name: '-노라니',\n rules: [suffixInflection('ㄴㅗㄹㅏㄴㅣ', 'ㄷㅏ', [], ['v', 'adj'])],\n },\n '-노라니까': {\n name: '-노라니까',\n rules: [suffixInflection('ㄴㅗㄹㅏㄴㅣㄲㅏ', 'ㄷㅏ', [], ['v', 'adj'])],\n },\n '-노라면': {\n name: '-노라면',\n rules: [\n suffixInflection('ㄴㅗㄹㅏㅁㅕㄴ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㄴㅗㄹㅏㅁㅕㄴ', '', [], ['eusi']),\n suffixInflection('ㅇㅣㅆㄴㅗㄹㅏㅁㅕㄴ', '있다', [], []),\n suffixInflection('ㅇㅓㅂㅅㄴㅗㄹㅏㅁㅕㄴ', '없다', [], []),\n ],\n },\n '-(으)뇨': {\n name: '-(으)뇨',\n rules: [\n suffixInflection('ㄴㅛ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㅇㅡㄴㅛ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㄴㅛ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄴㅛ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄴㅛ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄴㅛ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅇㅡㄴㅛ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄴㅛ', '', [], ['eusi']),\n ],\n },\n '-누': {\n name: '-누',\n rules: [suffixInflection('ㄴㅜ', 'ㄷㅏ', [], ['v', 'adj']), suffixInflection('ㄴㅜ', '', [], ['p', 'f'])],\n },\n '-누나': {\n name: '-누나',\n rules: [suffixInflection('ㄴㅜㄴㅏ', 'ㄷㅏ', [], ['v']), suffixInflection('ㄴㅜㄴㅏ', '', [], ['eusi'])],\n },\n '-누만': {\n name: '-누만',\n rules: [\n suffixInflection('ㄴㅜㅁㅏㄴ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㄴㅜㅁㅏㄴ', '', [], ['eusi']),\n ],\n },\n '-누먼': {\n name: '-누먼',\n rules: [\n suffixInflection('ㄴㅜㅁㅓㄴ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㄴㅜㅁㅓㄴ', '', [], ['eusi']),\n ],\n },\n '-느냐': {\n name: '-느냐',\n rules: [\n suffixInflection('ㄴㅡㄴㅑ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄴㅡㄴㅑ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-느냐고': {\n name: '-느냐고',\n rules: [\n suffixInflection('ㄴㅡㄴㅑㄱㅗ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄴㅡㄴㅑㄱㅗ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-느뇨': {\n name: '-느뇨',\n rules: [\n suffixInflection('ㄴㅡㄴㅛ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄴㅡㄴㅛ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-느니': {\n name: '-느니',\n rules: [\n suffixInflection('ㄴㅡㄴㅣ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄴㅡㄴㅣ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-느니만': {\n name: '-느니만',\n rules: [suffixInflection('ㄴㅡㄴㅣㅁㅏㄴ ㅁㅗㅅㅎㅏㄷㅏ', 'ㄷㅏ', ['v'], ['v', 'adj'])],\n },\n '-느라': {\n name: '-느라',\n rules: [suffixInflection('ㄴㅡㄹㅏ', 'ㄷㅏ', [], ['v']), suffixInflection('ㄴㅡㄹㅏ', '', [], ['eusi'])],\n },\n '-느라고': {\n name: '-느라고',\n rules: [\n suffixInflection('ㄴㅡㄹㅏㄱㅗ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㄴㅡㄹㅏㄱㅗ', '', [], ['eusi']),\n ],\n },\n '-는': {\n name: '-는',\n rules: [\n suffixInflection('ㄴㅡㄴ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㄴㅡㄴ', 'ㄹㄷㅏ', [], ['v']),\n suffixInflection('ㄴㅡㄴ', '', [], ['eusi', 'f']),\n suffixInflection('ㅇㅓㅂㅅㄴㅡㄴ', '없다', [], ['adj']),\n ],\n },\n '-(으)ㄴ': {\n name: '-(으)ㄴ',\n rules: [\n suffixInflection('ㄴ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄴ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄴ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㄴ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄴ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄴ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㄴ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄴ', '', [], ['eusi', 'f']),\n ],\n },\n '-(으/느)ㄴ가': {\n name: '-(으/느)ㄴ가',\n rules: [\n suffixInflection('ㄴㄱㅏ', 'ㄷㅏ', [], ['adj', 'ida']),\n suffixInflection('ㄴㄱㅏ', 'ㄹㄷㅏ', [], ['adj']),\n suffixInflection('ㄴㅡㄴㄱㅏ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㄴㄱㅏ', 'ㄷㅏ', [], ['adj']),\n suffixInflection('ㅇㅡㄴㄱㅏ', 'ㄹㄷㅏ', [], ['adj']),\n suffixInflection('ㅇㅜㄴㄱㅏ', 'ㅂㄷㅏ', [], ['adj']),\n suffixInflection('ㅇㅡㄴㄱㅏ', 'ㅅㄷㅏ', [], ['adj']),\n suffixInflection('ㄴㄱㅏ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㄴㄱㅏ', 'ㄷㄷㅏ', [], ['adj']),\n suffixInflection('ㄴㄱㅏ', '', [], ['eusi']),\n suffixInflection('ㄴㅡㄴㄱㅏ', '', [], ['p', 'f', 'eusi']),\n suffixInflection('ㅇㅓㅂㅅㄴㅡㄴㄱㅏ', '없다', [], []),\n ],\n },\n '-(으/느)ㄴ감': {\n name: '-(으/느)ㄴ감',\n rules: [\n suffixInflection('ㄴㄱㅏㅁ', 'ㄷㅏ', [], ['adj', 'ida']),\n suffixInflection('ㄴㄱㅏㅁ', 'ㄹㄷㅏ', [], ['adj']),\n suffixInflection('ㄴㅡㄴㄱㅏㅁ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㄴㄱㅏㅁ', 'ㄷㅏ', [], ['adj']),\n suffixInflection('ㅇㅡㄴㄱㅏㅁ', 'ㄹㄷㅏ', [], ['adj']),\n suffixInflection('ㅇㅜㄴㄱㅏㅁ', 'ㅂㄷㅏ', [], ['adj']),\n suffixInflection('ㅇㅡㄴㄱㅏㅁ', 'ㅅㄷㅏ', [], ['adj']),\n suffixInflection('ㄴㄱㅏㅁ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㄴㄱㅏㅁ', 'ㄷㄷㅏ', [], ['adj']),\n suffixInflection('ㄴㄱㅏㅁ', '', [], ['eusi']),\n suffixInflection('ㄴㅡㄴㄱㅏㅁ', '', [], ['p', 'f', 'eusi']),\n suffixInflection('ㅇㅓㅂㅅㄴㅡㄴㄱㅏㅁ', '없다', [], []),\n ],\n },\n '-(으/느)ㄴ걸': {\n name: '-(으/느)ㄴ걸',\n rules: [\n suffixInflection('ㄴㄱㅓㄹ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄴㄱㅓㄹ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄴㅡㄴㄱㅓㄹ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㄴㄱㅓㄹ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄴㄱㅓㄹ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㄴㄱㅓㄹ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄴㄱㅓㄹ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄴㄱㅓㄹ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㄴㄱㅓㄹ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄴㄱㅓㄹ', '', [], ['eusi']),\n suffixInflection('ㄴㅡㄴㄱㅓㄹ', '', [], ['p', 'f', 'eusi']),\n suffixInflection('ㅇㅓㅂㅅㄴㅡㄴㄱㅓㄹ', '없다', [], []),\n ],\n },\n '-(으/느)ㄴ고': {\n name: '-(으/느)ㄴ고',\n rules: [\n suffixInflection('ㄴㄱㅗ', 'ㄷㅏ', [], ['adj', 'ida']),\n suffixInflection('ㄴㄱㅗ', 'ㄹㄷㅏ', [], ['adj']),\n suffixInflection('ㄴㅡㄴㄱㅗ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㄴㄱㅗ', 'ㄷㅏ', [], ['adj']),\n suffixInflection('ㅇㅡㄴㄱㅗ', 'ㄹㄷㅏ', [], ['adj']),\n suffixInflection('ㅇㅜㄴㄱㅗ', 'ㅂㄷㅏ', [], ['adj']),\n suffixInflection('ㅇㅡㄴㄱㅗ', 'ㅅㄷㅏ', [], ['adj']),\n suffixInflection('ㄴㄱㅗ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㄴㄱㅗ', 'ㄷㄷㅏ', [], ['adj']),\n suffixInflection('ㄴㄱㅗ', '', [], ['eusi']),\n suffixInflection('ㄴㅡㄴㄱㅗ', '', [], ['p', 'f', 'eusi']),\n suffixInflection('ㅇㅓㅂㅅㄴㅡㄴㄱㅗ', '없다', [], []),\n ],\n },\n '-는구나': {\n name: '-는구나',\n rules: [\n suffixInflection('ㄴㅡㄴㄱㅜㄴㅏ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㄴㅡㄴㄱㅜㄴㅏ', '', [], ['eusi']),\n ],\n },\n '-는구려': {\n name: '-는구려',\n rules: [\n suffixInflection('ㄴㅡㄴㄱㅜㄹㅕ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㄴㅡㄴㄱㅜㄹㅕ', '', [], ['eusi']),\n ],\n },\n '-는구료': {\n name: '-는구료',\n rules: [\n suffixInflection('ㄴㅡㄴㄱㅜㄹㅛ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㄴㅡㄴㄱㅜㄹㅛ', '', [], ['eusi']),\n ],\n },\n '-는구만': {\n name: '-는구만',\n rules: [\n suffixInflection('ㄴㅡㄴㄱㅜㅁㅏㄴ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㄴㅡㄴㄱㅜㅁㅏㄴ', '', [], ['eusi']),\n ],\n },\n '-는구먼': {\n name: '-는구먼',\n rules: [\n suffixInflection('ㄴㅡㄴㄱㅜㅁㅓㄴ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㄴㅡㄴㄱㅜㅁㅓㄴ', '', [], ['eusi']),\n ],\n },\n '-는구면': {\n name: '-는구면',\n rules: [\n suffixInflection('ㄴㅡㄴㄱㅜㅁㅕㄴ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㄴㅡㄴㄱㅜㅁㅕㄴ', '', [], ['eusi']),\n ],\n },\n '-는군': {\n name: '-는군',\n rules: [\n suffixInflection('ㄴㅡㄴㄱㅜㄴ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㄴㅡㄴㄱㅜㄴ', '', [], ['eusi']),\n ],\n },\n '-는궈니': {\n name: '-는궈니',\n rules: [\n suffixInflection('ㄴㅡㄴㄱㅜㅓㄴㅣ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㄴㅡㄴㄱㅜㅓㄴㅣ', '', [], ['p', 'f', 'eusi']),\n suffixInflection('ㅇㅣㅆㄴㅡㄴㄱㅜㅓㄴㅣ', '있다', [], []),\n suffixInflection('ㅇㅓㅂㅅㄴㅡㄴㄱㅜㅓㄴㅣ', '없다', [], []),\n ],\n },\n '-는과니': {\n name: '-는과니',\n rules: [\n suffixInflection('ㄴㅡㄴㄱㅗㅏㄴㅣ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㄴㅡㄴㄱㅗㅏㄴㅣ', '', [], ['p', 'f', 'eusi']),\n suffixInflection('ㅇㅣㅆㄴㅡㄴㄱㅗㅏㄴㅣ', '있다', [], []),\n suffixInflection('ㅇㅓㅂㅅㄴㅡㄴㄱㅗㅏㄴㅣ', '없다', [], []),\n ],\n },\n '-(느)ㄴ다': {\n name: '-(느)ㄴ다',\n rules: [\n suffixInflection('ㄴㄷㅏ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㄴㅡㄴㄷㅏ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㄴㄷㅏ', 'ㄹㄷㅏ', [], ['v']),\n suffixInflection('ㄴㄷㅏ', '', [], ['eusi']),\n ],\n },\n '-((느)ㄴ)다고': {\n name: '-((느)ㄴ)다고',\n rules: [\n suffixInflection('ㄴㄷㅏㄱㅗ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㄴㅡㄴㄷㅏㄱㅗ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㄴㄷㅏㄱㅗ', 'ㄹㄷㅏ', [], ['v']),\n suffixInflection('ㄴㄷㅏㄱㅗ', '', [], ['eusi']),\n suffixInflection('ㄷㅏㄱㅗ', 'ㄷㅏ', [], ['adj']),\n suffixInflection('ㄷㅏㄱㅗ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-((느)ㄴ)다나': {\n name: '-((느)ㄴ)다나',\n rules: [\n suffixInflection('ㄴㄷㅏㄴㅏ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㄴㅡㄴㄷㅏㄴㅏ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㄴㄷㅏㄴㅏ', 'ㄹㄷㅏ', [], ['v']),\n suffixInflection('ㄴㄷㅏㄴㅏ', '', [], ['eusi']),\n suffixInflection('ㄷㅏㄴㅏ', 'ㄷㅏ', [], ['adj']),\n suffixInflection('ㄷㅏㄴㅏ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-((느)ㄴ)다네': {\n name: '-((느)ㄴ)다네',\n rules: [\n suffixInflection('ㄴㄷㅏㄴㅔ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㄴㅡㄴㄷㅏㄴㅔ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㄴㄷㅏㄴㅔ', 'ㄹㄷㅏ', [], ['v']),\n suffixInflection('ㄴㄷㅏㄴㅔ', '', [], ['eusi']),\n suffixInflection('ㄷㅏㄴㅔ', 'ㄷㅏ', [], ['adj']),\n suffixInflection('ㄷㅏㄴㅔ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-((느)ㄴ)다느니': {\n name: '-((느)ㄴ)다느니',\n rules: [\n suffixInflection('ㄴㄷㅏㄴㅡㄴㅣ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㄴㅡㄴㄷㅏㄴㅡㄴㅣ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㄴㄷㅏㄴㅡㄴㅣ', 'ㄹㄷㅏ', [], ['v']),\n suffixInflection('ㄴㄷㅏㄴㅡㄴㅣ', '', [], ['eusi']),\n suffixInflection('ㄷㅏㄴㅡㄴㅣ', 'ㄷㅏ', [], ['adj']),\n suffixInflection('ㄷㅏㄴㅡㄴㅣ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-((느)ㄴ)다니': {\n name: '-((느)ㄴ)다니',\n rules: [\n suffixInflection('ㄴㄷㅏㄴㅣ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㄴㅡㄴㄷㅏㄴㅣ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㄴㄷㅏㄴㅣ', 'ㄹㄷㅏ', [], ['v']),\n suffixInflection('ㄴㄷㅏㄴㅣ', '', [], ['eusi']),\n suffixInflection('ㄷㅏㄴㅣ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄷㅏㄴㅣ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-((느)ㄴ)다니까': {\n name: '-((느)ㄴ)다니까',\n rules: [\n suffixInflection('ㄴㄷㅏㄴㅣㄲㅏ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㄴㅡㄴㄷㅏㄴㅣㄲㅏ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㄴㄷㅏㄴㅣㄲㅏ', 'ㄹㄷㅏ', [], ['v']),\n suffixInflection('ㄴㄷㅏㄴㅣㄲㅏ', '', [], ['eusi']),\n suffixInflection('ㄷㅏㄴㅣㄲㅏ', 'ㄷㅏ', [], ['adj']),\n suffixInflection('ㄷㅏㄴㅣㄲㅏ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-((느)ㄴ)다더라': {\n name: '-((느)ㄴ)다더라',\n rules: [\n suffixInflection('ㄴㄷㅏㄷㅓㄹㅏ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㄴㅡㄴㄷㅏㄷㅓㄹㅏ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㄴㄷㅏㄷㅓㄹㅏ', 'ㄹㄷㅏ', [], ['v']),\n suffixInflection('ㄴㄷㅏㄷㅓㄹㅏ', '', [], ['eusi']),\n suffixInflection('ㄷㅏㄷㅓㄹㅏ', 'ㄷㅏ', [], ['adj']),\n suffixInflection('ㄷㅏㄷㅓㄹㅏ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-((느)ㄴ)다마는': {\n name: '-((느)ㄴ)다마는',\n rules: [\n suffixInflection('ㄴㄷㅏㅁㅏㄴㅡㄴ', 'ㄷㅏ', [], ['v', 'ida']),\n suffixInflection('ㄴㅡㄴㄷㅏㅁㅏㄴㅡㄴ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㄴㄷㅏㅁㅏㄴㅡㄴ', 'ㄹㄷㅏ', [], ['v']),\n suffixInflection('ㄴㄷㅏㅁㅏㄴㅡㄴ', '', [], ['eusi']),\n suffixInflection('ㄷㅏㅁㅏㄴㅡㄴ', 'ㄷㅏ', [], ['adj']),\n suffixInflection('ㄷㅏㅁㅏㄴㅡㄴ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-((느)ㄴ)다만': {\n name: '-((느)ㄴ)다만',\n rules: [\n suffixInflection('ㄴㄷㅏㅁㅏㄴ', 'ㄷㅏ', [], ['v', 'ida']),\n suffixInflection('ㄴㅡㄴㄷㅏㅁㅏㄴ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㄴㄷㅏㅁㅏㄴ', 'ㄹㄷㅏ', [], ['v']),\n suffixInflection('ㄴㄷㅏㅁㅏㄴ', '', [], ['eusi']),\n suffixInflection('ㄷㅏㅁㅏㄴ', 'ㄷㅏ', [], ['adj']),\n suffixInflection('ㄷㅏㅁㅏㄴ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-((느)ㄴ)다며': {\n name: '-((느)ㄴ)다며',\n rules: [\n suffixInflection('ㄴㄷㅏㅁㅕ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㄴㅡㄴㄷㅏㅁㅕ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㄴㄷㅏㅁㅕ', 'ㄹㄷㅏ', [], ['v']),\n suffixInflection('ㄴㄷㅏㅁㅕ', '', [], ['eusi']),\n suffixInflection('ㄷㅏㅁㅕ', 'ㄷㅏ', [], ['adj']),\n suffixInflection('ㄷㅏㅁㅕ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-((느)ㄴ)다면': {\n name: '-((느)ㄴ)다면',\n rules: [\n suffixInflection('ㄴㄷㅏㅁㅕㄴ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㄴㅡㄴㄷㅏㅁㅕㄴ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㄴㄷㅏㅁㅕㄴ', 'ㄹㄷㅏ', [], ['v']),\n suffixInflection('ㄴㄷㅏㅁㅕㄴ', '', [], ['eusi']),\n suffixInflection('ㄷㅏㅁㅕㄴ', 'ㄷㅏ', [], ['adj']),\n suffixInflection('ㄷㅏㅁㅕㄴ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-((느)ㄴ)다면서': {\n name: '-((느)ㄴ)다면서',\n rules: [\n suffixInflection('ㄴㄷㅏㅁㅕㄴㅅㅓ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㄴㅡㄴㄷㅏㅁㅕㄴㅅㅓ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㄴㄷㅏㅁㅕㄴㅅㅓ', 'ㄹㄷㅏ', [], ['v']),\n suffixInflection('ㄴㄷㅏㅁㅕㄴㅅㅓ', '', [], ['eusi']),\n suffixInflection('ㄷㅏㅁㅕㄴㅅㅓ', 'ㄷㅏ', [], ['adj']),\n suffixInflection('ㄷㅏㅁㅕㄴㅅㅓ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-((느)ㄴ)다손': {\n name: '-((느)ㄴ)다손',\n rules: [\n suffixInflection('ㄴㄷㅏㅅㅗㄴ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㄴㅡㄴㄷㅏㅅㅗㄴ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㄴㄷㅏㅅㅗㄴ', 'ㄹㄷㅏ', [], ['v']),\n suffixInflection('ㄴㄷㅏㅅㅗㄴ', '', [], ['eusi']),\n suffixInflection('ㄷㅏㅁㅕㄴㅅㅗㄴ', 'ㄷㅏ', [], ['adj']),\n suffixInflection('ㄷㅏㅁㅕㄴㅅㅗㄴ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-((느)ㄴ)다오': {\n name: '-((느)ㄴ)다오',\n rules: [\n suffixInflection('ㄴㄷㅏㅇㅗ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㄴㅡㄴㄷㅏㅇㅗ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㄴㄷㅏㅇㅗ', 'ㄹㄷㅏ', [], ['v']),\n suffixInflection('ㄴㄷㅏㅇㅗ', '', [], ['eusi']),\n suffixInflection('ㄷㅏㅇㅗ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄷㅏㅇㅗ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-((느)ㄴ)다지': {\n name: '-((느)ㄴ)다지',\n rules: [\n suffixInflection('ㄴㄷㅏㅈㅣ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㄴㅡㄴㄷㅏㅈㅣ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㄴㄷㅏㅈㅣ', 'ㄹㄷㅏ', [], ['v']),\n suffixInflection('ㄴㄷㅏㅈㅣ', '', [], ['eusi']),\n suffixInflection('ㄷㅏㅈㅣ', 'ㄷㅏ', [], ['adj']),\n suffixInflection('ㄷㅏㅈㅣ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-((느)ㄴ)단다': {\n name: '-((느)ㄴ)단다',\n rules: [\n suffixInflection('ㄴㄷㅏㄴㄷㅏ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㄴㅡㄴㄷㅏㄴㄷㅏ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㄴㄷㅏㄴㄷㅏ', 'ㄹㄷㅏ', [], ['v']),\n suffixInflection('ㄴㄷㅏㄴㄷㅏ', '', [], ['eusi']),\n suffixInflection('ㄷㅏㄴㄷㅏ', 'ㄷㅏ', [], ['adj']),\n suffixInflection('ㄷㅏㄴㄷㅏ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-((느)ㄴ)담': {\n name: '-((느)ㄴ)담',\n rules: [\n suffixInflection('ㄴㄷㅏㅁ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㄴㅡㄴㄷㅏㅁ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㄴㄷㅏㅁ', 'ㄹㄷㅏ', [], ['v']),\n suffixInflection('ㄴㄷㅏㅁ', '', [], ['eusi']),\n suffixInflection('ㄷㅏㅁ', 'ㄷㅏ', [], ['adj']),\n suffixInflection('ㄷㅏㅁ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-((느)ㄴ)답니까': {\n name: '-((느)ㄴ)답니까',\n rules: [\n suffixInflection('ㄴㄷㅏㅂㄴㅣㄲㅏ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㄴㅡㄴㄷㅏㅂㄴㅣㄲㅏ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㄴㄷㅏㅂㄴㅣㄲㅏ', 'ㄹㄷㅏ', [], ['v']),\n suffixInflection('ㄴㄷㅏㅂㄴㅣㄲㅏ', '', [], ['eusi']),\n suffixInflection('ㄷㅏㅂㄴㅣㄲㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄷㅏㅂㄴㅣㄲㅏ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-((느)ㄴ)답니다': {\n name: '-((느)ㄴ)답니다',\n rules: [\n suffixInflection('ㄴㄷㅏㅂㄴㅣㄷㅏ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㄴㅡㄴㄷㅏㅂㄴㅣㄷㅏ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㄴㄷㅏㅂㄴㅣㄷㅏ', 'ㄹㄷㅏ', [], ['v']),\n suffixInflection('ㄴㄷㅏㅂㄴㅣㄷㅏ', '', [], ['eusi']),\n suffixInflection('ㄷㅏㅂㄴㅣㄷㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄷㅏㅂㄴㅣㄷㅏ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-((느)ㄴ)답시고': {\n name: '-((느)ㄴ)답시고',\n rules: [\n suffixInflection('ㄴㄷㅏㅂㅅㅣㄱㅗ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㄴㅡㄴㄷㅏㅂㅅㅣㄱㅗ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㄴㄷㅏㅂㅅㅣㄱㅗ', 'ㄹㄷㅏ', [], ['v']),\n suffixInflection('ㄴㅡㄴㄷㅏㅂㅅㅣㄱㅗ', '', [], ['eusi']),\n suffixInflection('ㄷㅏㅂㅅㅣㄱㅗ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄷㅏㅂㅅㅣㄱㅗ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-((느)ㄴ)대': {\n name: '-((느)ㄴ)대',\n rules: [\n suffixInflection('ㄴㄷㅐ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㄴㅡㄴㄷㅐ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㄴㄷㅐ', 'ㄹㄷㅏ', [], ['v']),\n suffixInflection('ㄴㄷㅐ', '', [], ['eusi']),\n suffixInflection('ㄷㅐ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄷㅐ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-((느)ㄴ)대요': {\n name: '-((느)ㄴ)대요',\n rules: [\n suffixInflection('ㄴㄷㅐㅇㅛ', 'ㄷㅏ', [], ['v', 'ida']),\n suffixInflection('ㄴㅡㄴㄷㅐㅇㅛ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㄴㄷㅐㅇㅛ', 'ㄹㄷㅏ', [], ['v']),\n suffixInflection('ㄴㄷㅐㅇㅛ', '', [], ['eusi']),\n suffixInflection('ㄷㅐㅇㅛ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄷㅐㅇㅛ', '', [], ['p', 'f', 'eusi']),\n suffixInflection('ㅇㅣㅆㄴㅡㄴㄷㅐㅇㅛ', '있다', [], []),\n suffixInflection('ㅇㅓㅂㅅㄴㅡㄴㄷㅐㅇㅛ', '없다', [], []),\n ],\n },\n '-((느)ㄴ)댄다': {\n name: '-((느)ㄴ)댄다',\n rules: [\n suffixInflection('ㄴㄷㅐㄴㄷㅏ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㄴㅡㄴㄷㅐㄴㄷㅏ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㄴㄷㅐㄴㄷㅏ', 'ㄹㄷㅏ', [], ['v']),\n suffixInflection('ㄴㄷㅐㄴㄷㅏ', '', [], ['eusi']),\n suffixInflection('ㄷㅐㄴㄷㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄷㅐㄴㄷㅏ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-(으/느)ㄴ데': {\n name: '-(으/느)ㄴ데',\n rules: [\n suffixInflection('ㄴㄷㅔ', 'ㄷㅏ', [], ['adj', 'ida']),\n suffixInflection('ㄴㄷㅔ', 'ㄹㄷㅏ', [], ['adj']),\n suffixInflection('ㄴㅡㄴㄷㅔ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㄴㄷㅔ', 'ㄷㅏ', [], ['adj']),\n suffixInflection('ㅇㅜㄴㄷㅔ', 'ㅂㄷㅏ', [], ['adj']),\n suffixInflection('ㅇㅡㄴㄷㅔ', 'ㅅㄷㅏ', [], ['adj']),\n suffixInflection('ㄴㄷㅔ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㄴㄷㅔ', 'ㄷㄷㅏ', [], ['adj']),\n suffixInflection('ㄴㄷㅔ', '', [], ['eusi', 'sao']),\n suffixInflection('ㄴㅡㄴㄷㅔ', '', [], ['p', 'f', 'eusi']),\n suffixInflection('ㅇㅣㅆㄴㅡㄴㄷㅔ', '있다', [], []),\n suffixInflection('ㅇㅓㅂㅅㄴㅡㄴㄷㅔ', '없다', [], []),\n ],\n },\n '-(으/느)ㄴ뎁쇼': {\n name: '-(으/느)ㄴ뎁쇼',\n rules: [\n suffixInflection('ㄴㄷㅔㅂㅅㅛ', 'ㄷㅏ', [], ['adj', 'ida']),\n suffixInflection('ㄴㄷㅔㅂㅅㅛ', 'ㄹㄷㅏ', [], ['v']),\n suffixInflection('ㄴㅡㄴㄷㅔㅂㅅㅛ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㄴㄷㅔㅂㅅㅛ', 'ㄷㅏ', [], ['adj']),\n suffixInflection('ㅇㅜㄴㄷㅔㅂㅅㅛ', 'ㅂㄷㅏ', [], ['adj']),\n suffixInflection('ㅇㅡㄴㄷㅔㅂㅅㅛ', 'ㅅㄷㅏ', [], ['adj']),\n suffixInflection('ㄴㄷㅔㅂㅅㅛ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㄴㄷㅔㅂㅅㅛ', 'ㄷㄷㅏ', [], ['adj']),\n suffixInflection('ㄴㄷㅔㅂㅅㅛ', '', [], ['eusi']),\n suffixInflection('ㄴㅡㄴㄷㅔㅂㅅㅛ', '', [], ['p', 'f', 'eusi']),\n suffixInflection('ㅇㅣㅆㄴㅡㄴㄷㅔㅂㅅㅛ', '', [], []),\n suffixInflection('ㅇㅓㅂㅅㄴㅡㄴㄷㅔㅂㅅㅛ', '', [], []),\n ],\n },\n '-는도다': {\n name: '-는도다',\n rules: [suffixInflection('ㄴㅡㄴㄷㅗㄷㅏ', 'ㄷㅏ', [], ['v'])],\n },\n '-(으/느)ㄴ바': {\n name: '-(으/느)ㄴ바',\n rules: [\n suffixInflection('ㄴㅂㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄴㅂㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄴㅡㄴㅂㅏ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㄴㅂㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㄴㅂㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄴㅂㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄴㅂㅏ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㄴㅂㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄴㅂㅏ', '', [], ['eusi']),\n suffixInflection('ㄴㅡㄴㅂㅏ', '', [], ['p', 'f', 'eusi']),\n suffixInflection('ㅇㅡㄴㅂㅏ', '', [], ['eusi']),\n suffixInflection('ㅇㅣㅆㄴㅡㄴㅂㅏ', '있다', [], []),\n suffixInflection('ㅇㅓㅂㅅㄴㅡㄴㅂㅏ', '없다', [], []),\n ],\n },\n '-(으/느)ㄴ지': {\n name: '-(으/느)ㄴ지',\n rules: [\n suffixInflection('ㄴㅈㅣ', 'ㄷㅏ', [], ['adj', 'ida']),\n suffixInflection('ㄴㅈㅣ', 'ㄹㄷㅏ', [], ['adj']),\n suffixInflection('ㄴㅡㄴㅈㅣ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㄴㅈㅣ', 'ㄷㅏ', [], ['adj']),\n suffixInflection('ㅇㅜㄴㅈㅣ', 'ㅂㄷㅏ', [], ['adj']),\n suffixInflection('ㅇㅡㄴㅈㅣ', 'ㅅㄷㅏ', [], ['adj']),\n suffixInflection('ㄴㅈㅣ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㄴㅈㅣ', 'ㄷㄷㅏ', [], ['adj']),\n suffixInflection('ㄴㅈㅣ', '', [], ['eusi']),\n suffixInflection('ㄴㅡㄴㅈㅣ', '', [], ['p', 'f', 'eusi']),\n suffixInflection('ㅇㅣㅆㄴㅡㄴㅈㅣ', '있다', [], []),\n suffixInflection('ㅇㅓㅂㅅㄴㅡㄴㅈㅣ', '없다', [], []),\n ],\n },\n '-(으/느)ㄴ지고': {\n name: '-(으/느)ㄴ지고',\n rules: [\n suffixInflection('ㄴㅈㅣㄱㅗ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄴㅈㅣㄱㅗ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄴㅡㄴㅈㅣㄱㅗ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㄴㅈㅣㄱㅗ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㄴㅈㅣㄱㅗ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄴㅈㅣㄱㅗ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄴㅈㅣㄱㅗ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㄴㅈㅣㄱㅗ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄴㅈㅣㄱㅗ', '', [], ['eusi']),\n suffixInflection('ㄴㅡㄴㅈㅣㄱㅗ', '', [], ['p', 'f', 'eusi']),\n suffixInflection('ㅇㅣㅆㄴㅡㄴㅈㅣㄱㅗ', '있다', [], []),\n suffixInflection('ㅇㅓㅂㅅㄴㅡㄴㅈㅣㄱㅗ', '없다', [], []),\n ],\n },\n '-(으/느)ㄴ지라': {\n name: '-(으/느)ㄴ지라',\n rules: [\n suffixInflection('ㄴㅈㅣㄹㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄴㅈㅣㄹㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄴㅡㄴㅈㅣㄹㅏ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㄴㅈㅣㄹㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㄴㅈㅣㄹㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄴㅈㅣㄹㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄴㅈㅣㄹㅏ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㄴㅈㅣㄹㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄴㅈㅣㄹㅏ', '', [], ['eusi']),\n suffixInflection('ㄴㅡㄴㅈㅣㄹㅏ', '', [], ['p', 'f', 'eusi']),\n suffixInflection('ㅇㅣㅆㄴㅡㄴㅈㅣㄹㅏ', '있다', [], []),\n suffixInflection('ㅇㅓㅂㅅㄴㅡㄴㅈㅣㄹㅏ', '없다', [], []),\n ],\n },\n '-(으)니': {\n name: '-(으)니',\n rules: [\n suffixInflection('ㄴㅣ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㅇㅡㄴㅣ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㄴㅣ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄴㅣ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄴㅣ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄴㅣ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅇㅡㄴㅣ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄴㅣ', '', [], ['p', 'f', 'eusi', 'euo', 'sao', 'jao']),\n ],\n },\n '-(으)니까': {\n name: '-(으)니까',\n rules: [\n suffixInflection('ㄴㅣㄲㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㅇㅡㄴㅣㄲㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㄴㅣㄲㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄴㅣㄲㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄴㅣㄲㅏ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄴㅣㄲㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅇㅡㄴㅣㄲㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄴㅣㄲㅏ', '', [], ['eusi']),\n suffixInflection('ㅇㅡㄴㅣㄲㅏ', '', [], ['p', 'f']),\n ],\n },\n '-(으)니까느루': {\n name: '-(으)니까느루',\n rules: [\n suffixInflection('ㄴㅣㄲㅏㄴㅡㄹㅜ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㅇㅡㄴㅣㄲㅏㄴㅡㄹㅜ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㄴㅣㄲㅏㄴㅡㄹㅜ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄴㅣㄲㅏㄴㅡㄹㅜ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄴㅣㄲㅏㄴㅡㄹㅜ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄴㅣㄲㅏㄴㅡㄹㅜ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅇㅡㄴㅣㄲㅏㄴㅡㄹㅜ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄴㅣㄲㅏㄴㅡㄹㅜ', '', [], ['eusi']),\n suffixInflection('ㅇㅡㄴㅣㄲㅏㄴㅡㄹㅜ', '', [], ['p', 'f']),\n ],\n },\n '-(으)니까는': {\n name: '-(으)니까는',\n rules: [\n suffixInflection('ㄴㅣㄲㅏㄴㅡㄴ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㅇㅡㄴㅣㄲㅏㄴㅡㄴ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㄴㅣㄲㅏㄴㅡㄴ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄴㅣㄲㅏㄴㅡㄴ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄴㅣㄲㅏㄴㅡㄴ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄴㅣㄲㅏㄴㅡㄴ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅇㅡㄴㅣㄲㅏㄴㅡㄴ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄴㅣㄲㅏㄴㅡㄴ', '', [], ['eusi']),\n suffixInflection('ㅇㅡㄴㅣㄲㅏㄴㅡㄴ', '', [], ['p', 'f']),\n ],\n },\n '-(으)니깐': {\n name: '-(으)니깐',\n rules: [\n suffixInflection('ㄴㅣㄲㅏㄴ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㅇㅡㄴㅣㄲㅏㄴ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㄴㅣㄲㅏㄴ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄴㅣㄲㅏㄴ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄴㅣㄲㅏㄴ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄴㅣㄲㅏㄴ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅇㅡㄴㅣㄲㅏㄴ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄴㅣㄲㅏㄴ', '', [], ['eusi']),\n suffixInflection('ㅇㅡㄴㅣㄲㅏㄴ', '', [], ['p', 'f']),\n ],\n },\n '-(으/느)니라': {\n name: '-(으/느)니라',\n rules: [\n suffixInflection('ㄴㅣㄹㅏ', 'ㄷㅏ', [], ['adj', 'ida']),\n suffixInflection('ㄴㅣㄹㅏ', 'ㄹㄷㅏ', [], ['adj']),\n suffixInflection('ㄴㅡㄴㅣㄹㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄴㅣㄹㅏ', 'ㄷㅏ', [], ['adj']),\n suffixInflection('ㅇㅜㄴㅣㄹㅏ', 'ㅂㄷㅏ', [], ['adj']),\n suffixInflection('ㅇㅡㄴㅣㄹㅏ', 'ㅅㄷㅏ', [], ['adj']),\n suffixInflection('ㄴㅣㄹㅏ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㄴㅣㄹㅏ', 'ㄷㄷㅏ', [], ['adj']),\n suffixInflection('ㄴㅣㄹㅏ', '', [], ['eusi']),\n suffixInflection('ㅇㅡㄴㅣㄹㅏ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-(으/느)니만치': {\n name: '-(으/느)니만치',\n rules: [\n suffixInflection('ㄴㅣㅁㅏㄴㅊㅣ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄴㅣㅁㅏㄴㅊㅣ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄴㅡㄴㅣㅁㅏㄴㅊㅣ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄴㅣㅁㅏㄴㅊㅣ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㄴㅣㅁㅏㄴㅊㅣ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄴㅣㅁㅏㄴㅊㅣ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄴㅣㅁㅏㄴㅊㅣ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㄴㅣㅁㅏㄴㅊㅣ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄴㅣㅁㅏㄴㅊㅣ', '', [], ['eusi']),\n suffixInflection('ㄴㅡㄴㅣㅁㅏㄴㅊㅣ', '', [], ['eusi']),\n suffixInflection('ㅇㅡㄴㅣㅁㅏㄴㅊㅣ', '', [], ['p', 'f']),\n ],\n },\n '-(으/느)니만큼': {\n name: '-(으/느)니만큼',\n rules: [\n suffixInflection('ㄴㅣㅁㅏㄴㅋㅡㅁ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄴㅣㅁㅏㄴㅋㅡㅁ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄴㅡㄴㅣㅁㅏㄴㅋㅡㅁ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄴㅣㅁㅏㄴㅋㅡㅁ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㄴㅣㅁㅏㄴㅋㅡㅁ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄴㅣㅁㅏㄴㅋㅡㅁ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄴㅣㅁㅏㄴㅋㅡㅁ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㄴㅣㅁㅏㄴㅋㅡㅁ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄴㅣㅁㅏㄴㅋㅡㅁ', '', [], ['eusi']),\n suffixInflection('ㄴㅡㄴㅣㅁㅏㄴㅋㅡㅁ', '', [], ['eusi']),\n suffixInflection('ㅇㅡㄴㅣㅁㅏㄴㅋㅡㅁ', '', [], ['p', 'f']),\n ],\n },\n '-다': {\n name: '-다',\n rules: [suffixInflection('ㄷㅏ', '', [], ['p', 'f', 'eusi', 'ida'])],\n },\n '-다가': {\n name: '-다가',\n rules: [\n suffixInflection('ㄷㅏㄱㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄷㅏㄱㅏ', '', [], ['p', 'eusi']),\n ],\n },\n '-다가는': {\n name: '-다가는',\n rules: [\n suffixInflection('ㄷㅏㄱㅏㄴㅡㄴ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄷㅏㄱㅏㄴㅡㄴ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-다간': {\n name: '-다간',\n rules: [\n suffixInflection('ㄷㅏㄱㅏㄴ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄷㅏㄱㅏㄴ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-다마다': {\n name: '-다마다',\n rules: [\n suffixInflection('ㄷㅏㅁㅏㄷㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄷㅏㅁㅏㄷㅏ', '', [], ['p', 'eusi']),\n ],\n },\n '-다시피': {\n name: '-다시피',\n rules: [\n suffixInflection('ㄷㅏㅅㅣㅍㅣ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄷㅏㅅㅣㅍㅣ', '', [], ['p', 'f']),\n suffixInflection('ㅇㅣㅆㄷㅏㅅㅣㅍㅣ', '있다', [], []),\n suffixInflection('ㅇㅓㅂㅅㄷㅏㅅㅣㅍㅣ', '없다', [], []),\n ],\n },\n '-단': {\n name: '-단',\n rules: [\n suffixInflection('ㄷㅏㄴ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄷㅏㄴ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-더': {\n name: '-더',\n rules: [\n suffixInflection('ㄷㅓ', 'ㄷㅏ', ['do'], ['v', 'adj', 'ida']),\n suffixInflection('ㄷㅓ', '', ['do'], ['p', 'f', 'eusi']),\n ],\n },\n '-더구나': {\n name: '-더구나',\n rules: [\n suffixInflection('ㄷㅓㄱㅜㄴㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄷㅓㄱㅜㄴㅏ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-더구려': {\n name: '-더구려',\n rules: [\n suffixInflection('ㄷㅓㄱㅜㄹㅕ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄷㅓㄱㅜㄹㅕ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-더구료': {\n name: '-더구료',\n rules: [\n suffixInflection('ㄷㅓㄱㅜㄹㅛ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄷㅓㄱㅜㄹㅛ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-더구만': {\n name: '-더구만',\n rules: [\n suffixInflection('ㄷㅓㄱㅜㅁㅏㄴ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄷㅓㄱㅜㅁㅏㄴ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-더구먼': {\n name: '-더구먼',\n rules: [\n suffixInflection('ㄷㅓㄱㅜㅁㅓㄴ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄷㅓㄱㅜㅁㅓㄴ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-더구면': {\n name: '-더구면',\n rules: [\n suffixInflection('ㄷㅓㄱㅜㅁㅕㄴ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄷㅓㄱㅜㅁㅕㄴ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-더군': {\n name: '-더군',\n rules: [\n suffixInflection('ㄷㅓㄱㅜㄴ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄷㅓㄱㅜㄴ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-더냐': {\n name: '-더냐',\n rules: [\n suffixInflection('ㄷㅓㄴㅑ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄷㅓㄴㅑ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-더뇨': {\n name: '-더뇨',\n rules: [\n suffixInflection('ㄷㅓㄴㅛ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄷㅓㄴㅛ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-더니': {\n name: '-더니',\n rules: [\n suffixInflection('ㄷㅓㄴㅣ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄷㅓㄴㅣ', '', [], ['p', 'f', 'eusi', 'euob', 'euo', 'sab']),\n ],\n },\n '-더니라': {\n name: '-더니라',\n rules: [\n suffixInflection('ㄷㅓㄴㅣㄹㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄷㅓㄴㅣㄹㅏ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-더니마는': {\n name: '-더니마는',\n rules: [\n suffixInflection('ㄷㅓㄴㅣㅁㅏㄴㅡㄴ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄷㅓㄴㅣㅁㅏㄴㅡㄴ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-더니만': {\n name: '-더니만',\n rules: [\n suffixInflection('ㄷㅓㄴㅣㅁㅏㄴ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄷㅓㄴㅣㅁㅏㄴ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-더니이까': {\n name: '-더니이까',\n rules: [\n suffixInflection('ㄷㅓㄴㅣㅇㅣㄲㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄷㅓㄴㅣㅇㅣㄲㅏ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-더니이다': {\n name: '-더니이다',\n rules: [\n suffixInflection('ㄷㅓㄴㅣㅇㅣㄷㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄷㅓㄴㅣㅇㅣㄷㅏ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-더라도': {\n name: '-더라도',\n rules: [\n suffixInflection('ㄷㅓㄹㅏㄷㅗ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄷㅓㄹㅏㄷㅗ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-더이까': {\n name: '-더이까',\n rules: [\n suffixInflection('ㄷㅓㅇㅣㄲㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄷㅓㅇㅣㄲㅏ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-더이다': {\n name: '-더이다',\n rules: [\n suffixInflection('ㄷㅓㅇㅣㄷㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄷㅓㅇㅣㄷㅏ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-던': {\n name: '-던',\n rules: [\n suffixInflection('ㄷㅓㄴ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄷㅓㄴ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-던가': {\n name: '-던가',\n rules: [\n suffixInflection('ㄷㅓㄴㄱㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄷㅓㄴㄱㅏ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-던감': {\n name: '-던감',\n rules: [\n suffixInflection('ㄷㅓㄴㄱㅏㅁ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄷㅓㄴㄱㅏㅁ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-던걸': {\n name: '-던걸',\n rules: [\n suffixInflection('ㄷㅓㄴㄱㅓㄹ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄷㅓㄴㄱㅓㄹ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-던고': {\n name: '-던고',\n rules: [\n suffixInflection('ㄷㅓㄴㄱㅗ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄷㅓㄴㄱㅗ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-던데': {\n name: '-던데',\n rules: [\n suffixInflection('ㄷㅓㄴㄷㅔ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄷㅓㄴㄷㅔ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-던들': {\n name: '-던들',\n rules: [suffixInflection('ㄷㅓㄴㄷㅡㄹ', '', [], ['p'])],\n },\n '-던바': {\n name: '-던바',\n rules: [\n suffixInflection('ㄷㅓㄴㅂㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄷㅓㄴㅂㅏ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-던지': {\n name: '-던지',\n rules: [\n suffixInflection('ㄷㅓㄴㅈㅣ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄷㅓㄴㅈㅣ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-데': {\n name: '-데',\n rules: [\n suffixInflection('ㄷㅔ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄷㅔ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-데요': {\n name: '-데요',\n rules: [\n suffixInflection('ㄷㅔㅇㅛ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄷㅔㅇㅛ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-도다': {\n name: '-도다',\n rules: [\n suffixInflection('ㄷㅗㄷㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄷㅗㄷㅏ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-도록': {\n name: '-도록',\n rules: [\n suffixInflection('ㄷㅗㄹㅗㄱ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄷㅗㄹㅗㄱ', '', [], ['eusi']),\n ],\n },\n '-(으)되': {\n name: '-(으)되',\n rules: [\n suffixInflection('ㄷㅗㅣ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㅇㅡㄷㅗㅣ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄷㅗㅣ', '', [], ['eusi']),\n suffixInflection('ㅇㅡㄷㅗㅣ', '', [], ['p', 'f']),\n ],\n },\n '-드구나': {\n name: '-드구나',\n rules: [\n suffixInflection('ㄷㅡㄱㅜㄴㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄷㅡㄱㅜㄴㅏ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-드구료': {\n name: '-드구료',\n rules: [\n suffixInflection('ㄷㅡㄱㅜㄹㅛ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄷㅡㄱㅜㄹㅛ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-드구면': {\n name: '-드구면',\n rules: [\n suffixInflection('ㄷㅡㄱㅜㅁㅕㄴ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄷㅡㄱㅜㅁㅕㄴ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-드군': {\n name: '-드군',\n rules: [\n suffixInflection('ㄷㅡㄱㅜㄴ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄷㅡㄱㅜㄴ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-드냐': {\n name: '-드냐',\n rules: [\n suffixInflection('ㄷㅡㄴㅑ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄷㅡㄴㅑ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-드니': {\n name: '-드니',\n rules: [\n suffixInflection('ㄷㅡㄴㅣ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄷㅡㄴㅣ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-드니라': {\n name: '-드니라',\n rules: [\n suffixInflection('ㄷㅡㄴㅣㄹㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄷㅡㄴㅣㄹㅏ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-드라': {\n name: '-드라',\n rules: [\n suffixInflection('ㄷㅡㄹㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄷㅡㄹㅏ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-드라도': {\n name: '-드라도',\n rules: [\n suffixInflection('ㄷㅡㄹㅏㄷㅗ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄷㅡㄹㅏㄷㅗ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-드라면': {\n name: '-드라면',\n rules: [suffixInflection('ㄷㅡㄹㅏㅁㅕㄴ', '', [], ['p'])],\n },\n '-드래도': {\n name: '-드래도',\n rules: [\n suffixInflection('ㄷㅡㄹㅐㄷㅗ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄷㅡㄹㅐㄷㅗ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-든': {\n name: '-든',\n rules: [\n suffixInflection('ㄷㅡㄴ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄷㅡㄴ', '', [], ['p', 'eusi']),\n ],\n },\n '-든가': {\n name: '-든가',\n rules: [\n suffixInflection('ㄷㅡㄴㄱㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄷㅡㄴㄱㅏ', '', [], ['p', 'eusi']),\n ],\n },\n '-든걸': {\n name: '-든걸',\n rules: [\n suffixInflection('ㄷㅡㄴㄱㅓㄹ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄷㅡㄴㄱㅓㄹ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-든고': {\n name: '-든고',\n rules: [\n suffixInflection('ㄷㅡㄴㄱㅗ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄷㅡㄴㄱㅗ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-든데': {\n name: '-든데',\n rules: [\n suffixInflection('ㄷㅡㄴㄷㅔ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄷㅡㄴㄷㅔ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-든들': {\n name: '-든들',\n rules: [suffixInflection('ㄷㅡㄴㄷㅡㄹ', '', [], ['p'])],\n },\n '-든지': {\n name: '-든지',\n rules: [\n suffixInflection('ㄷㅡㄴㅈㅣ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄷㅡㄴㅈㅣ', '', [], ['p', 'eusi']),\n ],\n },\n '-듯': {\n name: '-듯',\n rules: [\n suffixInflection('ㄷㅡㅅ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄷㅡㅅ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-듯이': {\n name: '-듯이',\n rules: [\n suffixInflection('ㄷㅡㅅㅇㅣ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄷㅡㅅㅇㅣ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-디': {\n name: '-디',\n rules: [\n suffixInflection('ㄷㅣ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄷㅣ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-(으)라': {\n name: '-(으)라',\n rules: [\n suffixInflection('ㄹㅏ', 'ㄷㅏ', [], ['v', 'ida']),\n suffixInflection('ㄹㅏ', 'ㄹㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㄹㅏ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅜㄹㅏ', 'ㅂㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㄹㅏ', 'ㅅㄷㅏ', [], ['v']),\n suffixInflection('ㄹㅇㅡㄹㅏ', 'ㄷㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅏㄴㅣㄹㅏ', '아니다', [], ['adj']),\n suffixInflection('ㄹㅏ', '', [], ['eusi', 'do']),\n ],\n },\n '-(으)라고': {\n name: '-(으)라고',\n rules: [\n suffixInflection('ㄹㅏㄱㅗ', 'ㄷㅏ', [], ['v', 'ida']),\n suffixInflection('ㄹㅏㄱㅗ', 'ㄹㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㄹㅏㄱㅗ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅜㄹㅏㄱㅗ', 'ㅂㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㄹㅏㄱㅗ', 'ㅅㄷㅏ', [], ['v']),\n suffixInflection('ㄹㅇㅡㄹㅏㄱㅗ', 'ㄷㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅏㄴㅣㄹㅏㄱㅗ', '아니다', [], ['adj']),\n suffixInflection('ㄹㅏㄱㅗ', '', [], ['eusi', 'do']),\n ],\n },\n '-(으)라구': {\n name: '-(으)라구',\n rules: [\n suffixInflection('ㄹㅏㄱㅜ', 'ㄷㅏ', [], ['v', 'ida']),\n suffixInflection('ㄹㅏㄱㅜ', 'ㄹㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㄹㅏㄱㅜ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅜㄹㅏㄱㅜ', 'ㅂㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㄹㅏㄱㅜ', 'ㅅㄷㅏ', [], ['v']),\n suffixInflection('ㄹㅇㅡㄹㅏㄱㅜ', 'ㄷㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅏㄴㅣㄹㅏㄱㅜ', '아니다', [], ['adj']),\n suffixInflection('ㄹㅏㄱㅜ', '', [], ['eusi', 'do']),\n ],\n },\n '-(으)라나': {\n name: '-(으)라나',\n rules: [\n suffixInflection('ㄹㅏㄴㅏ', 'ㄷㅏ', [], ['v', 'ida']),\n suffixInflection('ㄹㅏㄴㅏ', 'ㄹㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㄹㅏㄴㅏ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅜㄹㅏㄴㅏ', 'ㅂㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㄹㅏㄴㅏ', 'ㅅㄷㅏ', [], ['v']),\n suffixInflection('ㄹㅇㅡㄹㅏㄴㅏ', 'ㄷㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅏㄴㅣㄹㅏㄴㅏ', '아니다', [], ['adj']),\n suffixInflection('ㄹㅏㄴㅏ', '', [], ['eusi', 'do']),\n ],\n },\n '-(으)라네': {\n name: '-(으)라네',\n rules: [\n suffixInflection('ㄹㅏㄴㅔ', 'ㄷㅏ', [], ['v', 'ida']),\n suffixInflection('ㄹㅏㄴㅔ', 'ㄹㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㄹㅏㄴㅔ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅜㄹㅏㄴㅔ', 'ㅂㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㄹㅏㄴㅔ', 'ㅅㄷㅏ', [], ['v']),\n suffixInflection('ㄹㅇㅡㄹㅏㄴㅔ', 'ㄷㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅏㄴㅣㄹㅏㄴㅔ', '아니다', [], ['adj']),\n suffixInflection('ㄹㅏㄴㅔ', '', [], ['eusi', 'do']),\n ],\n },\n '-(으)라느니': {\n name: '-(으)라느니',\n rules: [\n suffixInflection('ㄹㅏㄴㅡㄴㅣ', 'ㄷㅏ', [], ['v', 'ida']),\n suffixInflection('ㄹㅏㄴㅡㄴㅣ', 'ㄹㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㄹㅏㄴㅡㄴㅣ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅜㄹㅏㄴㅡㄴㅣ', 'ㅂㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㄹㅏㄴㅡㄴㅣ', 'ㅅㄷㅏ', [], ['v']),\n suffixInflection('ㄹㅇㅡㄹㅏㄴㅡㄴㅣ', 'ㄷㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅏㄴㅣㄹㅏㄴㅡㄴㅣ', '아니다', [], ['adj']),\n suffixInflection('ㄹㅏㄴㅡㄴㅣ', '', [], ['eusi', 'do']),\n ],\n },\n '-(으)라니': {\n name: '-(으)라니',\n rules: [\n suffixInflection('ㄹㅏㄴㅣ', 'ㄷㅏ', [], ['v', 'ida']),\n suffixInflection('ㄹㅏㄴㅣ', 'ㄹㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㄹㅏㄴㅣ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅜㄹㅏㄴㅣ', 'ㅂㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㄹㅏㄴㅣ', 'ㅅㄷㅏ', [], ['v']),\n suffixInflection('ㄹㅇㅡㄹㅏㄴㅣ', 'ㄷㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅏㄴㅣㄹㅏㄴㅣ', '아니다', [], ['adj']),\n suffixInflection('ㄹㅏㄴㅣ', '', [], ['eusi', 'do']),\n ],\n },\n '-(으)라니까': {\n name: '-(으)라니까',\n rules: [\n suffixInflection('ㄹㅏㄴㅣㄲㅏ', 'ㄷㅏ', [], ['v', 'ida']),\n suffixInflection('ㄹㅏㄴㅣㄲㅏ', 'ㄹㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㄹㅏㄴㅣㄲㅏ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅜㄹㅏㄴㅣㄲㅏ', 'ㅂㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㄹㅏㄴㅣㄲㅏ', 'ㅅㄷㅏ', [], ['v']),\n suffixInflection('ㄹㅇㅡㄹㅏㄴㅣㄲㅏ', 'ㄷㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅏㄴㅣㄹㅏㄴㅣㄲㅏ', '아니다', [], ['adj']),\n suffixInflection('ㄹㅏㄴㅣㄲㅏ', '', [], ['eusi', 'do']),\n ],\n },\n '-라도': {\n name: '-라도',\n rules: [\n suffixInflection('ㅇㅏㄴㅣㄹㅏㄷㅗ', '아니다', [], ['adj']),\n suffixInflection('ㄹㅏㄷㅗ', 'ㄷㅏ', [], ['ida']),\n ],\n },\n '-(으)라며': {\n name: '-(으)라며',\n rules: [\n suffixInflection('ㄹㅏㅁㅕ', 'ㄷㅏ', [], ['v', 'ida']),\n suffixInflection('ㄹㅏㅁㅕ', 'ㄹㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㄹㅏㅁㅕ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅜㄹㅏㅁㅕ', 'ㅂㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㄹㅏㅁㅕ', 'ㅅㄷㅏ', [], ['v']),\n suffixInflection('ㄹㅇㅡㄹㅏㅁㅕ', 'ㄷㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅏㄴㅣㄹㅏㅁㅕ', '아니다', [], ['adj']),\n suffixInflection('ㄹㅏㅁㅕ', '', [], ['eusi', 'do']),\n ],\n },\n '-(으)라면': {\n name: '-(으)라면',\n rules: [\n suffixInflection('ㄹㅏㅁㅕㄴ', 'ㄷㅏ', [], ['v', 'ida']),\n suffixInflection('ㄹㅏㅁㅕㄴ', 'ㄹㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㄹㅏㅁㅕㄴ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅜㄹㅏㅁㅕㄴ', 'ㅂㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㄹㅏㅁㅕㄴ', 'ㅅㄷㅏ', [], ['v']),\n suffixInflection('ㄹㅇㅡㄹㅏㅁㅕㄴ', 'ㄷㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅏㄴㅣㄹㅏㅁㅕㄴ', '아니다', [], ['adj']),\n suffixInflection('ㄹㅏㅁㅕㄴ', '', [], ['eusi', 'do']),\n ],\n },\n '-(으)라면서': {\n name: '-(으)라면서',\n rules: [\n suffixInflection('ㄹㅏㅁㅕㄴㅅㅓ', 'ㄷㅏ', [], ['v', 'ida']),\n suffixInflection('ㄹㅏㅁㅕㄴㅅㅓ', 'ㄹㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㄹㅏㅁㅕㄴㅅㅓ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅜㄹㅏㅁㅕㄴㅅㅓ', 'ㅂㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㄹㅏㅁㅕㄴㅅㅓ', 'ㅅㄷㅏ', [], ['v']),\n suffixInflection('ㄹㅇㅡㄹㅏㅁㅕㄴㅅㅓ', 'ㄷㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅏㄴㅣㄹㅏㅁㅕㄴㅅㅓ', '아니다', [], ['adj']),\n suffixInflection('ㄹㅏㅁㅕㄴㅅㅓ', '', [], ['eusi', 'do']),\n ],\n },\n '-라서': {\n name: '-라서',\n rules: [\n suffixInflection('ㅇㅏㄴㅣㄹㅏㅅㅓ', '아니다', [], ['adj']),\n suffixInflection('ㄹㅏㅅㅓ', '다', [], ['ida']),\n suffixInflection('ㄹㅏㅅㅓ', '', [], ['eusi']),\n ],\n },\n '-(으)라손': {\n name: '-(으)라손',\n rules: [\n suffixInflection('ㄹㅏㅅㅗㄴ', 'ㄷㅏ', [], ['v', 'ida']),\n suffixInflection('ㄹㅏㅅㅗㄴ', 'ㄹㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㄹㅏㅅㅗㄴ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅜㄹㅏㅅㅗㄴ', 'ㅂㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㄹㅏㅅㅗㄴ', 'ㅅㄷㅏ', [], ['v']),\n suffixInflection('ㄹㅇㅡㄹㅏㅅㅗㄴ', 'ㄷㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅏㄴㅣㄹㅏㅅㅗㄴ', '아니다', [], ['adj']),\n suffixInflection('ㄹㅏㅅㅗㄴ', '', [], ['eusi', 'do']),\n ],\n },\n '-라야': {\n name: '-라야',\n rules: [\n suffixInflection('ㅇㅏㄴㅣㄹㅏㅇㅑ', '아니다', [], ['adj']),\n suffixInflection('ㄹㅏㅇㅑ', '다', [], ['ida']),\n suffixInflection('ㄹㅏㅇㅑ', '', [], ['eusi']),\n ],\n },\n '-라야만': {\n name: '-라야만',\n rules: [\n suffixInflection('ㅇㅏㄴㅣㄹㅏㅇㅑㅁㅏㄴ', '아니다', [], ['adj']),\n suffixInflection('ㄹㅏㅇㅑㅁㅏㄴ', '다', [], ['ida']),\n suffixInflection('ㄹㅏㅇㅑㅁㅏㄴ', '', [], ['eusi']),\n ],\n },\n '-(으)라오': {\n name: '-(으)라오',\n rules: [\n suffixInflection('ㄹㅏㅇㅗ', 'ㄷㅏ', [], ['v', 'ida']),\n suffixInflection('ㄹㅏㅇㅗ', 'ㄹㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㄹㅏㅇㅗ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅜㄹㅏㅇㅗ', 'ㅂㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㄹㅏㅇㅗ', 'ㅅㄷㅏ', [], ['v']),\n suffixInflection('ㄹㅇㅡㄹㅏㅇㅗ', 'ㄷㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅏㄴㅣㄹㅏㅇㅗ', '아니다', [], ['adj']),\n suffixInflection('ㄹㅏㅇㅗ', '', [], ['eusi', 'do']),\n ],\n },\n '-(으)라지': {\n name: '-(으)라지',\n rules: [\n suffixInflection('ㄹㅏㅈㅣ', 'ㄷㅏ', [], ['v', 'ida']),\n suffixInflection('ㄹㅏㅈㅣ', 'ㄹㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㄹㅏㅈㅣ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅜㄹㅏㅈㅣ', 'ㅂㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㄹㅏㅈㅣ', 'ㅅㄷㅏ', [], ['v']),\n suffixInflection('ㄹㅇㅡㄹㅏㅈㅣ', 'ㄷㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅏㄴㅣㄹㅏㅈㅣ', '아니다', [], ['adj']),\n suffixInflection('ㄹㅏㅈㅣ', '', [], ['eusi', 'do']),\n ],\n },\n '-(으)락': {\n name: '-(으)락',\n rules: [\n suffixInflection('ㄹㅏㄱ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅏㄱ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅏㄱ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㄹㅏㄱ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅏㄱ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅏㄱ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㄹㅏㄱ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n ],\n },\n '-(으)란': {\n name: '-(으)란',\n rules: [\n suffixInflection('ㄹㅏㄴ', 'ㄷㅏ', [], ['v', 'ida']),\n suffixInflection('ㄹㅏㄴ', 'ㄹㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㄹㅏㄴ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅜㄹㅏㄴ', 'ㅂㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㄹㅏㄴ', 'ㅅㄷㅏ', [], ['v']),\n suffixInflection('ㄹㅇㅡㄹㅏㄴ', 'ㄷㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅏㄴㅣㄹㅏㄴ', '아니다', [], ['adj']),\n suffixInflection('ㄹㅏㄴ', '', [], ['eusi', 'do']),\n ],\n },\n '-(으)란다': {\n name: '-(으)란다',\n rules: [\n suffixInflection('ㄹㅏㄴㄷㅏ', 'ㄷㅏ', [], ['v', 'ida']),\n suffixInflection('ㄹㅏㄴㄷㅏ', 'ㄹㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㄹㅏㄴㄷㅏ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅜㄹㅏㄴㄷㅏ', 'ㅂㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㄹㅏㄴㄷㅏ', 'ㅅㄷㅏ', [], ['v']),\n suffixInflection('ㄹㅇㅡㄹㅏㄴㄷㅏ', 'ㄷㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅏㄴㅣㄹㅏㄴㄷㅏ', '아니다', [], ['adj']),\n suffixInflection('ㄹㅏㄴㄷㅏ', '', [], ['eusi', 'do']),\n ],\n },\n '-(으)람': {\n name: '-(으)람',\n rules: [\n suffixInflection('ㄹㅏㅁ', 'ㄷㅏ', [], ['v', 'ida']),\n suffixInflection('ㄹㅏㅁ', 'ㄹㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㄹㅏㅁ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅜㄹㅏㅁ', 'ㅂㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㄹㅏㅁ', 'ㅅㄷㅏ', [], ['v']),\n suffixInflection('ㄹㅇㅡㄹㅏ', 'ㄷㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅏㄴㅣㄹㅏㅁ', '아니다', [], ['adj']),\n suffixInflection('ㄹㅏㅁ', '', [], ['eusi', 'do']),\n ],\n },\n '-(으)랍니까': {\n name: '-(으)랍니까',\n rules: [\n suffixInflection('ㄹㅏㅂㄴㅣㄲㅏ', 'ㄷㅏ', [], ['v', 'ida']),\n suffixInflection('ㄹㅏㅂㄴㅣㄲㅏ', 'ㄹㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㄹㅏㅂㄴㅣㄲㅏ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅜㄹㅏㅂㄴㅣㄲㅏ', 'ㅂㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㄹㅏㅂㄴㅣㄲㅏ', 'ㅅㄷㅏ', [], ['v']),\n suffixInflection('ㄹㅇㅡㄹㅏㅂㄴㅣㄲㅏ', 'ㄷㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅏㄴㅣㄹㅏㅂㄴㅣㄲㅏ', '아니다', [], ['adj']),\n suffixInflection('ㄹㅏㅂㄴㅣㄲㅏ', '', [], ['eusi', 'do']),\n ],\n },\n '-(으)랍니다': {\n name: '-(으)랍니다',\n rules: [\n suffixInflection('ㄹㅏㅂㄴㅣㄷㅏ', 'ㄷㅏ', [], ['v', 'ida']),\n suffixInflection('ㄹㅏㅂㄴㅣㄷㅏ', 'ㄹㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㄹㅏㅂㄴㅣㄷㅏ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅜㄹㅏㅂㄴㅣㄷㅏ', 'ㅂㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㄹㅏㅂㄴㅣㄷㅏ', 'ㅅㄷㅏ', [], ['v']),\n suffixInflection('ㄹㅇㅡㄹㅏㅂㄴㅣㄷㅏ', 'ㄷㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅏㄴㅣㄹㅏㅂㄴㅣㄷㅏ', '아니다', [], ['adj']),\n suffixInflection('ㄹㅏㅂㄴㅣㄷㅏ', '', [], ['eusi']),\n ],\n },\n '-랍시고': {\n name: '-랍시고',\n rules: [\n suffixInflection('ㅇㅏㄴㅣㄹㅏㅂㅅㅣㄱㅗ', '아니다', [], ['adj']),\n suffixInflection('ㄹㅏㅂㅅㅣㄱㅗ', '다', [], ['ida']),\n suffixInflection('ㄹㅏㅂㅅㅣㄱㅗ', '', [], ['eusi']),\n ],\n },\n '-(으)래': {\n name: '-(으)래',\n rules: [\n suffixInflection('ㄹㅐ', 'ㄷㅏ', [], ['v', 'ida']),\n suffixInflection('ㄹㅐ', 'ㄹㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㄹㅐ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅜㄹㅐ', 'ㅂㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㄹㅐ', 'ㅅㄷㅏ', [], ['v']),\n suffixInflection('ㄹㅇㅡㄹㅐ', 'ㄷㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅏㄴㅣㄹㅐ', '아니다', [], ['adj']),\n suffixInflection('ㄹㅐ', '', [], ['eusi']),\n ],\n },\n '-(으)래요': {\n name: '-(으)래요',\n rules: [\n suffixInflection('ㄹㅐㅇㅛ', 'ㄷㅏ', [], ['v', 'ida']),\n suffixInflection('ㄹㅐㅇㅛ', 'ㄹㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㄹㅐㅇㅛ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅜㄹㅐㅇㅛ', 'ㅂㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㄹㅐㅇㅛ', 'ㅅㄷㅏ', [], ['v']),\n suffixInflection('ㄹㅇㅡㄹㅐㅇㅛ', 'ㄷㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅏㄴㅣㄹㅐㅇㅛ', '아니다', [], ['adj']),\n suffixInflection('ㄹㅐㅇㅛ', '', [], ['eusi']),\n ],\n },\n '-(으)랴': {\n name: '-(으)랴',\n rules: [\n suffixInflection('ㄹㅑ', 'ㄷㅏ', [], ['v', 'ida']),\n suffixInflection('ㄹㅑ', 'ㄹㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㄹㅑ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅜㄹㅑ', 'ㅂㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㄹㅑ', 'ㅅㄷㅏ', [], ['v']),\n suffixInflection('ㄹㅇㅡㄹㅑ', 'ㄷㄷㅏ', [], ['v']),\n suffixInflection('ㄹㅑ', '', [], ['eusi']),\n ],\n },\n '-(으)러': {\n name: '-(으)러',\n rules: [\n suffixInflection('ㄹㅓ', 'ㄷㅏ', [], ['v', 'ida']),\n suffixInflection('ㄹㅓ', 'ㄹㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㄹㅓ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅜㄹㅓ', 'ㅂㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㄹㅓ', 'ㅅㄷㅏ', [], ['v']),\n suffixInflection('ㄹㅇㅡㄹㅓ', 'ㄷㄷㅏ', [], ['v']),\n suffixInflection('ㄹㅓ', '', [], ['eusi']),\n ],\n },\n '-러니': {\n name: '-러니',\n rules: [\n suffixInflection('ㅇㅏㄴㅣㄹㅓㄴㅣ', '아니다', [], ['adj']),\n suffixInflection('ㄹㅓㄴㅣ', '다', [], ['ida']),\n suffixInflection('ㄹㅓㄴㅣ', '', [], ['eusi']),\n ],\n },\n '-러니라': {\n name: '-러니라',\n rules: [\n suffixInflection('ㅇㅏㄴㅣㄹㅓㄴㅣㄹㅏ', '아니다', [], ['adj']),\n suffixInflection('ㄹㅓㄴㅣㄹㅏ', '다', [], ['ida']),\n suffixInflection('ㄹㅓㄴㅣㄹㅏ', '', [], ['eusi']),\n ],\n },\n '-러니이까': {\n name: '-러니이까',\n rules: [\n suffixInflection('ㅇㅏㄴㅣㄹㅓㄴㅣㅇㅣㄲㅏ', '아니다', [], ['adj']),\n suffixInflection('ㄹㅓㄴㅣㅇㅣㄲㅏ', '다', [], ['ida']),\n suffixInflection('ㄹㅓㄴㅣㅇㅣㄲㅏ', '', [], ['eusi']),\n ],\n },\n '-러니이다': {\n name: '-러니이다',\n rules: [\n suffixInflection('ㅇㅏㄴㅣㄹㅓㄴㅣㅇㅣㄷㅏ', '아니다', [], ['adj']),\n suffixInflection('ㄹㅓㄴㅣㅇㅣㄷㅏ', '다', [], ['ida']),\n suffixInflection('ㄹㅓㄴㅣㅇㅣㄷㅏ', '', [], ['eusi']),\n ],\n },\n '-러라': {\n name: '-러라',\n rules: [\n suffixInflection('ㅇㅏㄴㅣㄹㅓㄹㅏ', '아니다', [], ['adj']),\n suffixInflection('ㄹㅓㄹㅏ', '다', [], ['ida']),\n suffixInflection('ㄹㅓㄹㅏ', '', [], ['eusi']),\n ],\n },\n '-러이까': {\n name: '-러이까',\n rules: [\n suffixInflection('ㅇㅏㄴㅣㄹㅓㅇㅣㄲㅏ', '아니다', [], ['adj']),\n suffixInflection('ㄹㅓㅇㅣㄲㅏ', '다', [], ['ida']),\n suffixInflection('ㄹㅓㅇㅣㄲㅏ', '', [], ['eusi']),\n ],\n },\n '-러이다': {\n name: '-러이다',\n rules: [\n suffixInflection('ㅇㅏㄴㅣㄹㅓㅇㅣㄷㅏ', '아니다', [], ['adj']),\n suffixInflection('ㄹㅓㅇㅣㄷㅏ', '다', [], ['ida']),\n suffixInflection('ㄹㅓㅇㅣㄷㅏ', '', [], ['eusi']),\n ],\n },\n '-런가': {\n name: '-런가',\n rules: [\n suffixInflection('ㅇㅏㄴㅣㄹㅓㄴㄱㅏ', '아니다', [], ['adj']),\n suffixInflection('ㄹㅓㄴㄱㅏ', '다', [], ['ida']),\n suffixInflection('ㄹㅓㄴㄱㅏ', '', [], ['eusi']),\n ],\n },\n '-런들': {\n name: '-런들',\n rules: [\n suffixInflection('ㅇㅏㄴㅣㄹㅓㄴㄷㅡㄹ', '아니다', [], ['adj']),\n suffixInflection('ㄹㅓㄴㄷㅡㄹ', '다', [], ['ida']),\n suffixInflection('ㄹㅓㄴㄷㅡㄹ', '', [], ['eusi']),\n ],\n },\n '-(으)려': {\n name: '-(으)려',\n rules: [\n suffixInflection('ㄹㅕ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㄹㅕ', 'ㄹㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㄹㅕ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅜㄹㅕ', 'ㅂㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㄹㅕ', 'ㅅㄷㅏ', [], ['v']),\n suffixInflection('ㄹㅇㅡㄹㅕ', 'ㄷㄷㅏ', [], ['v']),\n suffixInflection('ㄹㅕ', '', [], ['eusi']),\n suffixInflection('ㅇㅡㄹㅕ', '', [], ['p']),\n ],\n },\n '-(으)려거든': {\n name: '-(으)려거든',\n rules: [\n suffixInflection('ㄹㅕㄱㅓㄷㅡㄴ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㄹㅕㄱㅓㄷㅡㄴ', 'ㄹㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㄹㅕㄱㅓㄷㅡㄴ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅜㄹㅕㄱㅓㄷㅡㄴ', 'ㅂㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㄹㅕㄱㅓㄷㅡㄴ', 'ㅅㄷㅏ', [], ['v']),\n suffixInflection('ㄹㅇㅡㄹㅕㄱㅓㄷㅡㄴ', 'ㄷㄷㅏ', [], ['v']),\n suffixInflection('ㄹㅕㄱㅓㄷㅡㄴ', '', [], ['eusi']),\n suffixInflection('ㅇㅡㄹㅕㄱㅓㄷㅡㄴ', '', [], ['p']),\n ],\n },\n '-(으)려고': {\n name: '-(으)려고',\n rules: [\n suffixInflection('ㄹㅕㄱㅗ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅕㄱㅗ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅕㄱㅗ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㄹㅕㄱㅗ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅕㄱㅗ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅇㅡㄹㅕㄱㅗ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅕㄱㅗ', '', [], ['eusi']),\n suffixInflection('ㅇㅡㄹㅕㄱㅗ', '', [], ['p']),\n ],\n },\n '-(으)려나': {\n name: '-(으)려나',\n rules: [\n suffixInflection('ㄹㅕㄴㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄹㅕㄴㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅕㄴㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㄹㅕㄴㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅕㄴㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅕㄴㅏ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㄹㅕㄴㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅕㄴㅏ', '', [], ['eusi']),\n suffixInflection('ㅇㅡㄹㅕㄴㅏ', '', [], ['p']),\n ],\n },\n '-(으)려니': {\n name: '-(으)려니',\n rules: [\n suffixInflection('ㄹㅕㄴㅣ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄹㅕㄴㅣ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅕㄴㅣ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㄹㅕㄴㅣ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅕㄴㅣ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅕㄴㅣ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㄹㅕㄴㅣ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅕㄴㅣ', '', [], ['eusi']),\n suffixInflection('ㅇㅡㄹㅕㄴㅣ', '', [], ['p']),\n ],\n },\n '-(으)려니와': {\n name: '-(으)려니와',\n rules: [\n suffixInflection('ㄹㅕㄴㅣㅇㅗㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄹㅕㄴㅣㅇㅗㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅕㄴㅣㅇㅗㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㄹㅕㄴㅣㅇㅗㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅕㄴㅣㅇㅗㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅕㄴㅣㅇㅗㅏ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㄹㅕㄴㅣㅇㅗㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅕㄴㅣㅇㅗㅏ', '', [], ['eusi']),\n suffixInflection('ㅇㅡㄹㅕㄴㅣㅇㅗㅏ', '', [], ['p']),\n ],\n },\n '-(으)려든': {\n name: '-(으)려든',\n rules: [\n suffixInflection('ㄹㅕㄷㅡㄴ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㄹㅕㄷㅡㄴ', 'ㄹㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㄹㅕㄷㅡㄴ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅜㄹㅕㄷㅡㄴ', 'ㅂㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㄹㅕㄷㅡㄴ', 'ㅅㄷㅏ', [], ['v']),\n suffixInflection('ㄹㅇㅡㄹㅕㄷㅡㄴ', 'ㄷㄷㅏ', [], ['v']),\n suffixInflection('ㄹㅕㄷㅡㄴ', '', [], ['eusi']),\n suffixInflection('ㅇㅡㄹㅕㄷㅡㄴ', '', [], ['p']),\n ],\n },\n '-(으)려마': {\n name: '-(으)려마',\n rules: [\n suffixInflection('ㄹㅕㅁㅏ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㄹㅕㅁㅏ', 'ㄹㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㄹㅕㅁㅏ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅜㄹㅕㅁㅏ', 'ㅂㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㄹㅕㅁㅏ', 'ㅅㄷㅏ', [], ['v']),\n suffixInflection('ㄹㅇㅡㄹㅕㅁㅏ', 'ㄷㄷㅏ', [], ['v']),\n suffixInflection('ㄹㅕㅁㅏ', '', [], ['eusi']),\n suffixInflection('ㅇㅡㄹㅕㅁㅏ', '', [], ['p']),\n ],\n },\n '-(으)려면': {\n name: '-(으)려면',\n rules: [\n suffixInflection('ㄹㅕㅁㅕㄴ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄹㅕㅁㅕㄴ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅕㅁㅕㄴ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㄹㅕㅁㅕㄴ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅕㅁㅕㄴ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅕㅁㅕㄴ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㄹㅕㅁㅕㄴ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅕㅁㅕㄴ', '', [], ['eusi']),\n suffixInflection('ㅇㅡㄹㅕㅁㅕㄴ', '', [], ['p']),\n ],\n },\n '-(으)려무나': {\n name: '-(으)려무나',\n rules: [\n suffixInflection('ㄹㅕㅁㅜㄴㅏ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㄹㅕㅁㅜㄴㅏ', 'ㄹㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㄹㅕㅁㅜㄴㅏ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅜㄹㅕㅁㅜㄴㅏ', 'ㅂㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㄹㅕㅁㅜㄴㅏ', 'ㅅㄷㅏ', [], ['v']),\n suffixInflection('ㄹㅇㅡㄹㅕㅁㅜㄴㅏ', 'ㄷㄷㅏ', [], ['v']),\n suffixInflection('ㄹㅕㅁㅜㄴㅏ', '', [], ['eusi']),\n suffixInflection('ㅇㅡㄹㅕㅁㅜㄴㅏ', '', [], ['p']),\n ],\n },\n '-(으)련': {\n name: '-(으)련',\n rules: [\n suffixInflection('ㄹㅕㄴ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㄹㅕㄴ', 'ㄹㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㄹㅕㄴ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅜㄹㅕㄴ', 'ㅂㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㄹㅕㄴ', 'ㅅㄷㅏ', [], ['v']),\n suffixInflection('ㄹㅇㅡㄹㅕㄴ', 'ㄷㄷㅏ', [], ['v']),\n suffixInflection('ㄹㅕㄴ', '', [], ['eusi']),\n suffixInflection('ㅇㅡㄹㅕㄴ', '', [], ['p']),\n ],\n },\n '-(으)련마는': {\n name: '-(으)련마는',\n rules: [\n suffixInflection('ㄹㅕㄴㅁㅏㄴㅡㄴ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄹㅕㄴㅁㅏㄴㅡㄴ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅕㄴㅁㅏㄴㅡㄴ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㄹㅕㄴㅁㅏㄴㅡㄴ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅕㄴㅁㅏㄴㅡㄴ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅕㄴㅁㅏㄴㅡㄴ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㄹㅕㄴㅁㅏㄴㅡㄴ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅕㄴㅁㅏㄴㅡㄴ', '', [], ['eusi']),\n suffixInflection('ㅇㅡㄹㅕㄴㅁㅏㄴㅡㄴ', '', [], ['p']),\n ],\n },\n '-(으)련만': {\n name: '-(으)련만',\n rules: [\n suffixInflection('ㄹㅕㄴㅁㅏㄴ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄹㅕㄴㅁㅏㄴ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅕㄴㅁㅏㄴ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㄹㅕㄴㅁㅏㄴ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅕㄴㅁㅏㄴ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅕㄴㅁㅏㄴ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㄹㅕㄴㅁㅏㄴ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅕㄴㅁㅏㄴ', '', [], ['eusi']),\n suffixInflection('ㅇㅡㄹㅕㄴㅁㅏㄴ', '', [], ['p']),\n ],\n },\n '-(으)렴': {\n name: '-(으)렴',\n rules: [\n suffixInflection('ㄹㅕㅁ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㄹㅕㅁ', 'ㄹㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㄹㅕㅁ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅜㄹㅕㅁ', 'ㅂㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㄹㅕㅁ', 'ㅅㄷㅏ', [], ['v']),\n suffixInflection('ㄹㅇㅡㄹㅕㅁ', 'ㄷㄷㅏ', [], ['v']),\n suffixInflection('ㄹㅕㅁ', '', [], ['eusi']),\n suffixInflection('ㅇㅡㄹㅕㅁ', '', [], ['p']),\n ],\n },\n '-(으)렵니까': {\n name: '-(으)렵니까',\n rules: [\n suffixInflection('ㄹㅕㅂㄴㅣㄲㅏ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㄹㅕㅂㄴㅣㄲㅏ', 'ㄹㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㄹㅕㅂㄴㅣㄲㅏ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅜㄹㅕㅂㄴㅣㄲㅏ', 'ㅂㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㄹㅕㅂㄴㅣㄲㅏ', 'ㅅㄷㅏ', [], ['v']),\n suffixInflection('ㄹㅇㅡㄹㅕㅂㄴㅣㄲㅏ', 'ㄷㄷㅏ', [], ['v']),\n suffixInflection('ㄹㅕㅂㄴㅣㄲㅏ', '', [], ['eusi']),\n suffixInflection('ㅇㅡㄹㅕㅂㄴㅣㄲㅏ', '', [], ['p']),\n ],\n },\n '-(으)렵니다': {\n name: '-(으)렵니다',\n rules: [\n suffixInflection('ㄹㅕㅂㄴㅣㄷㅏ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㄹㅕㅂㄴㅣㄷㅏ', 'ㄹㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㄹㅕㅂㄴㅣㄷㅏ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅜㄹㅕㅂㄴㅣㄷㅏ', 'ㅂㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㄹㅕㅂㄴㅣㄷㅏ', 'ㅅㄷㅏ', [], ['v']),\n suffixInflection('ㄹㅇㅡㄹㅕㅂㄴㅣㄷㅏ', 'ㄷㄷㅏ', [], ['v']),\n suffixInflection('ㄹㅕㅂㄴㅣㄷㅏ', '', [], ['eusi']),\n suffixInflection('ㅇㅡㄹㅕㅂㄴㅣㄷㅏ', '', [], ['p']),\n ],\n },\n '-(으)렷다': {\n name: '-(으)렷다',\n rules: [\n suffixInflection('ㄹㅕㅅㄷㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄹㅕㅅㄷㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅕㅅㄷㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㄹㅕㅅㄷㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅕㅅㄷㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅕㅅㄷㅏ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㄹㅕㅅㄷㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅕㅅㄷㅏ', '', [], ['eusi']),\n suffixInflection('ㅇㅡㄹㅕㅅㄷㅏ', '', [], ['p']),\n ],\n },\n '-로고': {\n name: '-로고',\n rules: [\n suffixInflection('ㅇㅏㄴㅣㄹㅗㄱㅗ', '아니다', [], ['adj']),\n suffixInflection('ㄹㅗㄱㅗ', '다', [], ['ida']),\n suffixInflection('ㄹㅗㄱㅗ', '', [], ['eusi']),\n ],\n },\n '-로고나': {\n name: '-로고나',\n rules: [\n suffixInflection('ㅇㅏㄴㅣㄹㅗㄱㅗㄴㅏ', '아니다', [], ['adj']),\n suffixInflection('ㄹㅗㄱㅗㄴㅏ', '다', [], ['ida']),\n suffixInflection('ㄹㅗㄱㅗㄴㅏ', '', [], ['eusi']),\n ],\n },\n '-로구나': {\n name: '-로구나',\n rules: [\n suffixInflection('ㅇㅏㄴㅣㄹㅗㄱㅜㄴㅏ', '아니다', [], ['adj']),\n suffixInflection('ㄹㅗㄱㅜㄴㅏ', '다', [], ['ida']),\n suffixInflection('ㄹㅗㄱㅜㄴㅏ', '', [], ['eusi']),\n ],\n },\n '-로구려': {\n name: '-로구려',\n rules: [\n suffixInflection('ㅇㅏㄴㅣㄹㅗㄱㅜㄹㅕ', '아니다', [], ['adj']),\n suffixInflection('ㄹㅗㄱㅜㄹㅕ', '다', [], ['ida']),\n suffixInflection('ㄹㅗㄱㅜㄹㅕ', '', [], ['eusi']),\n ],\n },\n '-로구료': {\n name: '-로구료',\n rules: [\n suffixInflection('ㅇㅏㄴㅣㄹㅗㄱㅜㄹㅛ', '아니다', [], ['adj']),\n suffixInflection('ㄹㅗㄱㅜㄹㅛ', '다', [], ['ida']),\n suffixInflection('ㄹㅗㄱㅜㄹㅛ', '', [], ['eusi']),\n ],\n },\n '-로구만': {\n name: '-로구만',\n rules: [\n suffixInflection('ㅇㅏㄴㅣㄹㅗㄱㅜㅁㅏㄴ', '아니다', [], ['adj']),\n suffixInflection('ㄹㅗㄱㅜㅁㅏㄴ', '다', [], ['ida']),\n suffixInflection('ㄹㅗㄱㅜㅁㅏㄴ', '', [], ['eusi']),\n ],\n },\n '-로구먼': {\n name: '-로구먼',\n rules: [\n suffixInflection('ㅇㅏㄴㅣㄹㅗㄱㅜㅁㅓㄴ', '아니다', [], ['adj']),\n suffixInflection('ㄹㅗㄱㅜㅁㅓㄴ', '다', [], ['ida']),\n suffixInflection('ㄹㅗㄱㅜㅁㅓㄴ', '', [], ['eusi']),\n ],\n },\n '-로구면': {\n name: '-로구면',\n rules: [\n suffixInflection('ㅇㅏㄴㅣㄹㅗㄱㅜㅁㅕㄴ', '아니다', [], ['adj']),\n suffixInflection('ㄹㅗㄱㅜㅁㅕㄴ', '다', [], ['ida']),\n suffixInflection('ㄹㅗㄱㅜㅁㅕㄴ', '', [], ['eusi']),\n ],\n },\n '-로군': {\n name: '-로군',\n rules: [\n suffixInflection('ㅇㅏㄴㅣㄹㅗㄱㅜㄴ', '아니다', [], ['adj']),\n suffixInflection('ㄹㅗㄱㅜㄴ', '다', [], ['ida']),\n suffixInflection('ㄹㅗㄱㅜㄴ', '', [], ['eusi']),\n ],\n },\n '-로다': {\n name: '-로다',\n rules: [\n suffixInflection('ㅇㅏㄴㅣㄹㅗㄷㅏ', '아니다', [], ['adj']),\n suffixInflection('ㄹㅗㄷㅏ', '다', [], ['ida']),\n suffixInflection('ㄹㅗㄷㅏ', '', [], ['eusi']),\n ],\n },\n '-로되': {\n name: '-로되',\n rules: [\n suffixInflection('ㅇㅏㄴㅣㄹㅗㄷㅗㅣ', '아니다', [], ['adj']),\n suffixInflection('ㄹㅗㄷㅗㅣ', '다', [], ['ida']),\n suffixInflection('ㄹㅗㄷㅗㅣ', '', [], ['eusi']),\n ],\n },\n '-로라': {\n name: '-로라',\n rules: [\n suffixInflection('ㅇㅏㄴㅣㄹㅗㄹㅏ', '아니다', [], ['adj']),\n suffixInflection('ㄹㅗㄹㅏ', '다', [], ['ida']),\n suffixInflection('', '다', [], ['ida']),\n ],\n },\n '-로서니': {\n name: '-로서니',\n rules: [\n suffixInflection('ㅇㅏㄴㅣㄹㅗㅅㅓㄴㅣ', '아니다', [], ['adj']),\n suffixInflection('ㄹㅗㅅㅓㄴㅣ', '다', [], ['ida']),\n suffixInflection('ㄹㅗㅅㅓㄴㅣ', '다', [], ['ida']),\n ],\n },\n '-로세': {\n name: '-로세',\n rules: [\n suffixInflection('ㅇㅏㄴㅣㄹㅗㅅㅔ', '아니다', [], ['adj']),\n suffixInflection('ㄹㅗㅅㅔ', '다', [], ['ida']),\n suffixInflection('ㄹㅗㅅㅔ', '', [], ['eusi']),\n ],\n },\n '-(으)리': {\n name: '-(으)리',\n rules: [\n suffixInflection('ㄹㅣ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄹㅣ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅣ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㄹㅣ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅣ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅣ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㄹㅣ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅣ', '', [], ['eusi', 'euo']),\n suffixInflection('ㅇㅡㄹㅣ', '', [], ['p']),\n ],\n },\n '-(으)리까': {\n name: '-(으)리까',\n rules: [\n suffixInflection('ㄹㅣㄲㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄹㅣㄲㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅣㄲㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㄹㅣㄲㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅣㄲㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅣㄲㅏ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㄹㅣㄲㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅣㄲㅏ', '', [], ['eusi', 'euo']),\n suffixInflection('ㅇㅡㄹㅣㄲㅏ', '', [], ['p']),\n ],\n },\n '-(으)리니': {\n name: '-(으)리니',\n rules: [\n suffixInflection('ㄹㅣㄴㅣ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄹㅣㄴㅣ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅣㄴㅣ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㄹㅣㄴㅣ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅣㄴㅣ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅣㄴㅣ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㄹㅣㄴㅣ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅣㄴㅣ', '', [], ['eusi', 'euo']),\n suffixInflection('ㅇㅡㄹㅣㄴㅣ', '', [], ['p']),\n ],\n },\n '-(으)리니라': {\n name: '-(으)리니라',\n rules: [\n suffixInflection('ㄹㅣㄴㅣㄹㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄹㅣㄴㅣㄹㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅣㄴㅣㄹㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㄹㅣㄴㅣㄹㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅣㄴㅣㄹㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅣㄴㅣㄹㅏ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㄹㅣㄴㅣㄹㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅣㄴㅣㄹㅏ', '', [], ['eusi', 'euo']),\n suffixInflection('ㅇㅡㄹㅣㄴㅣㄹㅏ', '', [], ['p']),\n ],\n },\n '-(으)리다': {\n name: '-(으)리다',\n rules: [\n suffixInflection('ㄹㅣㄷㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄹㅣㄷㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅣㄷㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㄹㅣㄷㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅣㄷㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅣㄷㅏ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㄹㅣㄷㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅣㄷㅏ', '', [], ['eusi', 'euo']),\n suffixInflection('ㅇㅡㄹㅣㄷㅏ', '', [], ['p']),\n ],\n },\n '-(으)리라': {\n name: '-(으)리라',\n rules: [\n suffixInflection('ㄹㅣㄹㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄹㅣㄹㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅣㄹㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㄹㅣㄹㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅣㄹㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅣㄹㅏ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㄹㅣㄹㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅣㄹㅏ', '', [], ['eusi']),\n suffixInflection('ㅇㅡㄹㅣㄹㅏ', '', [], ['p']),\n ],\n },\n '-(으)리로다': {\n name: '-(으)리로다',\n rules: [\n suffixInflection('ㄹㅣㄹㅗㄷㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄹㅣㄹㅗㄷㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅣㄹㅗㄷㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㄹㅣㄹㅗㄷㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅣㄹㅗㄷㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅣㄹㅗㄷㅏ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㄹㅣㄹㅗㄷㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅣㄹㅗㄷㅏ', '', [], ['eusi', 'euo']),\n suffixInflection('ㅇㅡㄹㅣㄹㅗㄷㅏ', '', [], ['p']),\n ],\n },\n '-(으)리만치': {\n name: '-(으)리만치',\n rules: [\n suffixInflection('ㄹㅣㅁㅏㄴㅊㅣ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄹㅣㅁㅏㄴㅊㅣ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅣㅁㅏㄴㅊㅣ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㄹㅣㅁㅏㄴㅊㅣ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅣㅁㅏㄴㅊㅣ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅣㅁㅏㄴㅊㅣ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㄹㅣㅁㅏㄴㅊㅣ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅣㅁㅏㄴㅊㅣ', '', [], ['eusi', 'euo']),\n suffixInflection('ㅇㅡㄹㅣㅁㅏㄴㅊㅣ', '', [], ['p']),\n ],\n },\n '-(으)리만큼': {\n name: '-(으)리만큼',\n rules: [\n suffixInflection('ㄹㅣㅁㅏㄴㅋㅡㅁ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄹㅣㅁㅏㄴㅋㅡㅁ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅣㅁㅏㄴㅋㅡㅁ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㄹㅣㅁㅏㄴㅋㅡㅁ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅣㅁㅏㄴㅋㅡㅁ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅣㅁㅏㄴㅋㅡㅁ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㄹㅣㅁㅏㄴㅋㅡㅁ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅣㅁㅏㄴㅋㅡㅁ', '', [], ['eusi', 'euo']),\n suffixInflection('ㅇㅡㄹㅣㅁㅏㄴㅋㅡㅁ', '', [], ['p']),\n ],\n },\n '-(으)리오': {\n name: '-(으)리오',\n rules: [\n suffixInflection('ㄹㅣㅇㅗ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄹㅣㅇㅗ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅣㅇㅗ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㄹㅣㅇㅗ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅣㅇㅗ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅣㅇㅗ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㄹㅣㅇㅗ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅣㅇㅗ', '', [], ['eusi', 'euo']),\n suffixInflection('ㅇㅡㄹㅣㅇㅗ', '', [], ['p']),\n ],\n },\n '-(으)마': {\n name: '-(으)마',\n rules: [\n suffixInflection('ㅁㅏ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㅁㅏ', 'ㄹㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㅁㅏ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅜㅁㅏ', 'ㅂㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㅁㅏ', 'ㅅㄷㅏ', [], ['v']),\n suffixInflection('ㄹㅇㅡㅁㅏ', 'ㄷㄷㅏ', [], ['v']),\n ],\n },\n '-(으)매': {\n name: '-(으)매',\n rules: [\n suffixInflection('ㅁㅐ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㅁㅐ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㅁㅐ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㅁㅐ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㅁㅐ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅁㅐ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㅁㅐ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅁㅐ', '', [], ['eusi']),\n suffixInflection('ㅇㅡㅁㅐ', '', [], ['p', 'f']),\n ],\n },\n '-(으)며': {\n name: '-(으)며',\n rules: [\n suffixInflection('ㅁㅕ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㅁㅕ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㅁㅕ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㅁㅕ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㅁㅕ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅁㅕ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅁㅕ', '', [], ['eusi']),\n suffixInflection('ㅇㅡㅁㅕ', '', [], ['p', 'f']),\n ],\n },\n '-(으)면': {\n name: '-(으)면',\n rules: [\n suffixInflection('ㅁㅕㄴ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㅁㅕㄴ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㅁㅕㄴ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㅁㅕㄴ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㅁㅕㄴ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅁㅕㄴ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㅁㅕㄴ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅁㅕㄴ', '', [], ['eusi', 'euo', 'jao']),\n suffixInflection('ㅇㅡㅁㅕㄴ', '', [], ['p', 'f']),\n ],\n },\n '-(으)면서': {\n name: '-(으)면서',\n rules: [\n suffixInflection('ㅁㅕㄴㅅㅓ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㅁㅕㄴㅅㅓ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㅁㅕㄴㅅㅓ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㅁㅕㄴㅅㅓ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㅁㅕㄴㅅㅓ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅁㅕㄴㅅㅓ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㅁㅕㄴㅅㅓ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅁㅕㄴㅅㅓ', '', [], ['eusi']),\n suffixInflection('ㅇㅡㅁㅕㄴㅅㅓ', '', [], ['p', 'f']),\n ],\n },\n '-(으)므로': {\n name: '-(으)므로',\n rules: [\n suffixInflection('ㅁㅡㄹㅗ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㅁㅡㄹㅗ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㅁㅡㄹㅗ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㅁㅡㄹㅗ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㅁㅡㄹㅗ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅁㅡㄹㅗ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㅁㅡㄹㅗ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅁㅡㄹㅗ', '', [], ['eusi']),\n suffixInflection('ㅇㅡㅁㅡㄹㅗ', '', [], ['p', 'f']),\n ],\n },\n '-(으)사': {\n name: '-(으)사',\n rules: [\n suffixInflection('ㅅㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅅㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㅅㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㅅㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㅅㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅅㅏ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㅅㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n ],\n },\n '-사오': {\n name: '-사오',\n rules: [\n suffixInflection('ㅅㅏㅇㅗ', 'ㄷㅏ', ['sao'], ['v', 'adj']),\n suffixInflection('ㅅㅏㅇㅗ', '', ['sao'], ['p', 'f']),\n ],\n },\n '-사오니까': {\n name: '-사오니까',\n rules: [\n suffixInflection('ㅅㅏㅇㅗㄴㅣㄲㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅅㅏㅇㅗㄴㅣㄲㅏ', '', [], ['p', 'f']),\n ],\n },\n '-사오리까': {\n name: '-사오리까',\n rules: [\n suffixInflection('ㅅㅏㅇㅗㄹㅣㄲㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅅㅏㅇㅗㄹㅣㄲㅏ', '', [], ['p', 'f']),\n ],\n },\n '-사오리다': {\n name: '-사오리다',\n rules: [\n suffixInflection('ㅅㅏㅇㅗㄹㅣㄷㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅅㅏㅇㅗㄹㅣㄷㅏ', '', [], ['p', 'f']),\n ],\n },\n '-사오리이까': {\n name: '-사오리이까',\n rules: [\n suffixInflection('ㅅㅏㅇㅗㄹㅣㅇㅣㄲㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅅㅏㅇㅗㄹㅣㅇㅣㄲㅏ', '', [], ['p', 'f']),\n ],\n },\n '-사오리이다': {\n name: '-사오리이다',\n rules: [\n suffixInflection('ㅅㅏㅇㅗㄹㅣㅇㅣㄷㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅅㅏㅇㅗㄹㅣㅇㅣㄷㅏ', '', [], ['p', 'f']),\n ],\n },\n '-사오이다': {\n name: '-사오이다',\n rules: [\n suffixInflection('ㅅㅏㅇㅗㅇㅣㄷㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅅㅏㅇㅗㅇㅣㄷㅏ', '', [], ['p', 'f']),\n ],\n },\n '-사옵': {\n name: '-사옵',\n rules: [\n suffixInflection('ㅅㅏㅇㅗㅂ', 'ㄷㅏ', ['saob'], ['v', 'adj']),\n suffixInflection('ㅅㅏㅇㅗㅂ', '', ['saob'], ['p', 'f']),\n ],\n },\n '-사옵니까': {\n name: '-사옵니까',\n rules: [\n suffixInflection('ㅅㅏㅇㅗㅂㄴㅣㄲㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅅㅏㅇㅗㅂㄴㅣㄲㅏ', '', [], ['p', 'f']),\n ],\n },\n '-사옵니다': {\n name: '-사옵니다',\n rules: [\n suffixInflection('ㅅㅏㅇㅗㅂㄴㅣㄷㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅅㅏㅇㅗㅂㄴㅣㄷㅏ', '', [], ['p', 'f']),\n ],\n },\n '-사옵디까': {\n name: '-사옵디까',\n rules: [\n suffixInflection('ㅅㅏㅇㅗㅂㄷㅣㄲㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅅㅏㅇㅗㅂㄷㅣㄲㅏ', '', [], ['p', 'f']),\n ],\n },\n '-사옵디다': {\n name: '-사옵디다',\n rules: [\n suffixInflection('ㅅㅏㅇㅗㅂㄷㅣㄷㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅅㅏㅇㅗㅂㄷㅣㄷㅏ', '', [], ['p', 'f']),\n ],\n },\n '-사와': {\n name: '-사와',\n rules: [\n suffixInflection('ㅅㅏㅇㅗㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅅㅏㅇㅗㅏ', '', [], ['p', 'f']),\n ],\n },\n '-사외다': {\n name: '-사외다',\n rules: [\n suffixInflection('ㅅㅏㅇㅗㅣㄷㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅅㅏㅇㅗㅣㄷㅏ', '', [], ['p', 'f']),\n ],\n },\n '-(으)사이다': {\n name: '-(으)사이다',\n rules: [\n suffixInflection('ㅅㅏㅇㅣㄷㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅅㅏㅇㅣㄷㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㅅㅏㅇㅣㄷㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㅅㅏㅇㅣㄷㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㅅㅏㅇㅣㄷㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅅㅏㅇㅣㄷㅏ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㅅㅏㅇㅣㄷㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n ],\n },\n '-삽': {\n name: '-삽',\n rules: [\n suffixInflection('ㅅㅏㅂ', 'ㄷㅏ', ['sab'], ['v', 'adj']),\n suffixInflection('ㅅㅏㅂ', '', ['sab'], ['p', 'f']),\n ],\n },\n '-(으)세': {\n name: '-(으)세',\n rules: [\n suffixInflection('ㅅㅔ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㅅㅔ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅜㅅㅔ', 'ㅂㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㅅㅔ', 'ㅅㄷㅏ', [], ['v']),\n suffixInflection('ㅅㅔ', 'ㄹㄷㅏ', [], ['v']),\n suffixInflection('ㄹㅇㅡㅅㅔ', 'ㄷㄷㅏ', [], ['v']),\n ],\n },\n '-세나': {\n name: '-세나',\n rules: [suffixInflection('ㅅㅔㄴㅏ', 'ㄷㅏ', [], ['v'])],\n },\n '-(으)세요': {\n name: '-(으)세요',\n rules: [\n suffixInflection('ㅅㅔㅇㅛ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㅇㅡㅅㅔㅇㅛ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㅅㅔㅇㅛ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㅅㅔㅇㅛ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅅㅔㅇㅛ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㅅㅔㅇㅛ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅇㅡㅅㅔㅇㅛ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n ],\n },\n '-(으)셔요': {\n name: '-(으)셔요',\n rules: [\n suffixInflection('ㅅㅕㅇㅛ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㅇㅡㅅㅕㅇㅛ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㅅㅕㅇㅛ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㅅㅕㅇㅛ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅅㅕㅇㅛ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㅅㅕㅇㅛ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅇㅡㅅㅕㅇㅛ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n ],\n },\n '-소': {\n name: '-소',\n rules: [suffixInflection('ㅅㅗ', 'ㄷㅏ', [], ['v', 'adj']), suffixInflection('ㅅㅗ', '', [], ['p', 'f'])],\n },\n '-소다': {\n name: '-소다',\n rules: [\n suffixInflection('ㅅㅗㄷㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅅㅗㄷㅏ', '', [], ['p', 'f']),\n ],\n },\n '-(으)소서': {\n name: '-(으)소서',\n rules: [\n suffixInflection('ㅅㅗㅅㅓ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㅅㅗㅅㅓ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㅅㅗㅅㅓ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㅅㅗㅅㅓ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅅㅗㅅㅓ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㅅㅗㅅㅓ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅇㅡㅅㅗㅅㅓ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n ],\n },\n '-소이까': {\n name: '-소이까',\n rules: [\n suffixInflection('ㅅㅗㅇㅣㄲㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㅅㅗㅇㅣㄲㅏ', '', [], ['p', 'f']),\n ],\n },\n '-소이다': {\n name: '-소이다',\n rules: [\n suffixInflection('ㅅㅗㅇㅣㄷㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅅㅗㅇㅣㄷㅏ', '', [], ['p', 'f']),\n ],\n },\n '-쇠다': {\n name: '-쇠다',\n rules: [\n suffixInflection('ㅅㅗㅣㄷㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅅㅗㅣㄷㅏ', '', [], ['p', 'f']),\n ],\n },\n '-(스)ㅂ네': {\n name: '-(스)ㅂ네',\n rules: [\n suffixInflection('ㅂㄴㅔ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㅂㄴㅔ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅅㅡㅂㄴㅔ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅅㅡㅂㄴㅔ', '', [], ['p', 'f']),\n suffixInflection('ㅂㄴㅔ', '', [], ['eusi']),\n ],\n },\n '-(스)ㅂ늰다': {\n name: '-(스)ㅂ늰다',\n rules: [\n suffixInflection('ㅂㄴㅡㅣㄴㄷㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㅂㄴㅡㅣㄴㄷㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅅㅡㅂㄴㅡㅣㄴㄷㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅅㅡㅂㄴㅡㅣㄴㄷㅏ', '', [], ['p', 'f']),\n suffixInflection('ㅂㄴㅡㅣㄴㄷㅏ', '', [], ['eusi']),\n ],\n },\n '-(스)ㅂ니까': {\n name: '-(스)ㅂ니까',\n rules: [\n suffixInflection('ㅂㄴㅣㄲㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㅂㄴㅣㄲㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅅㅡㅂㄴㅣㄲㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅅㅡㅂㄴㅣㄲㅏ', '', [], ['p', 'f']),\n suffixInflection('ㅂㄴㅣㄲㅏ', '', [], ['eusi']),\n ],\n },\n '-(스)ㅂ니다': {\n name: '-(스)ㅂ니다',\n rules: [\n suffixInflection('ㅂㄴㅣㄷㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㅂㄴㅣㄷㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅅㅡㅂㄴㅣㄷㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅅㅡㅂㄴㅣㄷㅏ', '', [], ['p', 'f']),\n suffixInflection('ㅂㄴㅣㄷㅏ', '', [], ['eusi']),\n ],\n },\n '-(스)ㅂ디까': {\n name: '-(스)ㅂ디까',\n rules: [\n suffixInflection('ㅂㄷㅣㄲㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㅂㄷㅣㄲㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅅㅡㅂㄷㅣㄲㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅅㅡㅂㄷㅣㄲㅏ', '', [], ['p', 'f']),\n suffixInflection('ㅂㄷㅣㄲㅏ', '', [], ['eusi']),\n ],\n },\n '-(스)ㅂ디다': {\n name: '-(스)ㅂ디다',\n rules: [\n suffixInflection('ㅂㄷㅣㄷㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㅂㄷㅣㄷㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅅㅡㅂㄷㅣㄷㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅅㅡㅂㄷㅣㄷㅏ', '', [], ['p', 'f']),\n suffixInflection('ㅂㄷㅣㄷㅏ', '', [], ['eusi']),\n ],\n },\n '-(스)ㅂ딘다': {\n name: '-(스)ㅂ딘다',\n rules: [\n suffixInflection('ㅂㄷㅣㄴㄷㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㅂㄷㅣㄴㄷㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅅㅡㅂㄷㅣㄴㄷㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅅㅡㅂㄷㅣㄴㄷㅏ', '', [], ['p', 'f']),\n suffixInflection('ㅂㄷㅣㄴㄷㅏ', '', [], ['eusi']),\n ],\n },\n '-(스)ㅂ죠': {\n name: '-(스)ㅂ죠',\n rules: [\n suffixInflection('ㅂㅈㅛ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㅂㅈㅛ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅅㅡㅂㅈㅛ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅅㅡㅂㅈㅛ', '', [], ['p', 'f']),\n suffixInflection('ㅂㅈㅛ', '', [], ['eusi']),\n ],\n },\n '-(스)ㅂ지요': {\n name: '-(스)ㅂ지요',\n rules: [\n suffixInflection('ㅂㅈㅣㅇㅛ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㅂㅈㅣㅇㅛ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅅㅡㅂㅈㅣㅇㅛ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅅㅡㅂㅈㅣㅇㅛ', '', [], ['p', 'f']),\n suffixInflection('ㅂㅈㅣㅇㅛ', '', [], ['eusi']),\n ],\n },\n '-(으)시': {\n name: '-(으)시',\n rules: [\n suffixInflection('ㅅㅣ', 'ㄷㅏ', ['eusi'], ['v', 'adj', 'ida']),\n suffixInflection('ㅇㅡㅅㅣ', 'ㄷㅏ', ['eusi'], ['v', 'adj']),\n suffixInflection('ㅇㅜㅅㅣ', 'ㅂㄷㅏ', ['eusi'], ['v', 'adj']),\n suffixInflection('ㅇㅡㅅㅣ', 'ㅅㄷㅏ', ['eusi'], ['v', 'adj']),\n suffixInflection('ㅅㅣ', 'ㅎㄷㅏ', ['eusi'], ['adj']),\n suffixInflection('ㅅㅣ', 'ㄹㄷㅏ', ['eusi'], ['v', 'adj']),\n suffixInflection('ㄹㅇㅡㅅㅣ', 'ㄷㄷㅏ', ['eusi'], ['v', 'adj']),\n suffixInflection('ㅅㅣ', '', ['eusi'], ['saob', 'euob', 'jaob']),\n ],\n },\n '-(으)시압': {\n name: '-(으)시압',\n rules: [\n suffixInflection('ㅅㅣㅇㅏㅂ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㅅㅣㅇㅏㅂ', 'ㄹㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㅅㅣㅇㅏㅂ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅜㅅㅣㅇㅏㅂ', 'ㅂㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㅅㅣㅇㅏㅂ', 'ㅅㄷㅏ', [], ['v']),\n suffixInflection('ㄹㅇㅡㅅㅣㅇㅏㅂ', 'ㄷㄷㅏ', [], ['v']),\n ],\n },\n '-(으)시어요': {\n name: '-(으)시어요',\n rules: [\n suffixInflection('ㅅㅣㅇㅓㅇㅛ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㅇㅡㅅㅣㅇㅓㅇㅛ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㅅㅣㅇㅓㅇㅛ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㅅㅣㅇㅓㅇㅛ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅅㅣㅇㅓㅇㅛ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㅅㅣㅇㅓㅇㅛ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅇㅡㅅㅣㅇㅓㅇㅛ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n ],\n },\n '-(으)십사': {\n name: '-(으)십사',\n rules: [\n suffixInflection('ㅅㅣㅂㅅㅏ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㅅㅣㅂㅅㅏ', 'ㄹㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㅅㅣㅂㅅㅏ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅜㅅㅣㅂㅅㅏ', 'ㅂㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㅅㅣㅂㅅㅏ', 'ㅅㄷㅏ', [], ['v']),\n suffixInflection('ㄹㅇㅡㅅㅣㅂㅅㅏ', 'ㄷㄷㅏ', [], ['v']),\n ],\n },\n '-(으)십시다': {\n name: '-(으)십시다',\n rules: [\n suffixInflection('ㅅㅣㅂㅅㅣㄷㅏ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㅅㅣㅂㅅㅣㄷㅏ', 'ㄹㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㅅㅣㅂㅅㅣㄷㅏ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅜㅅㅣㅂㅅㅣㄷㅏ', 'ㅂㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㅅㅣㅂㅅㅣㄷㅏ', 'ㅅㄷㅏ', [], ['v']),\n suffixInflection('ㄹㅇㅡㅅㅣㅂㅅㅣㄷㅏ', 'ㄷㄷㅏ', [], ['v']),\n ],\n },\n '-(으)십시오': {\n name: '-(으)십시오',\n rules: [\n suffixInflection('ㅅㅣㅂㅅㅣㅇㅗ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㅅㅣㅂㅅㅣㅇㅗ', 'ㄹㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㅅㅣㅂㅅㅣㅇㅗ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅜㅅㅣㅂㅅㅣㅇㅗ', 'ㅂㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㅅㅣㅂㅅㅣㅇㅗ', 'ㅅㄷㅏ', [], ['v']),\n suffixInflection('ㄹㅇㅡㅅㅣㅂㅅㅣㅇㅗ', 'ㄷㄷㅏ', [], ['v']),\n ],\n },\n '-아/어': {\n name: '-아/어',\n rules: [\n suffixInflection('ㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅓ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅓ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㅕ', 'ㅣㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅕ', 'ㅇㅣㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㅎㅐ', 'ㅎㅏㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅎㅏㅇㅕ', 'ㅎㅏㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅗㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㅓ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅓ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅐ', 'ㅣㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅐ', 'ㅏㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㅐ', 'ㅓㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㅖ', 'ㅕㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㅒ', 'ㅑㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅇㅓ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㄹㅏ', 'ㄹㅡㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㄹㅓ', 'ㄹㅡㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅡㄹㅓ', 'ㄹㅡㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅏ', 'ㅡㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅓ', 'ㅡㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅏ', 'ㅡㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅓ', 'ㅡㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅓ', '', [], ['p', 'f']),\n ],\n },\n '-아/어다': {\n name: '-아/어다',\n rules: [\n suffixInflection('ㅏㄷㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅓㄷㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅏㄷㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅓㄷㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㅕㄷㅏ', 'ㅣㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅕㄷㅏ', 'ㅇㅣㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㅎㅐㄷㅏ', 'ㅎㅏㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅎㅏㅇㅕㄷㅏ', 'ㅎㅏㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅗㅏㄷㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㅓㄷㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅏㄷㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅓㄷㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅐㄷㅏ', 'ㅣㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅐㄷㅏ', 'ㅏㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㅐㄷㅏ', 'ㅓㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㅖㄷㅏ', 'ㅕㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㅒㄷㅏ', 'ㅑㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅏㄷㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅇㅓㄷㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㄹㅏㄷㅏ', 'ㄹㅡㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㄹㅓㄷㅏ', 'ㄹㅡㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅡㄹㅓㄷㅏ', 'ㄹㅡㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅏㄷㅏ', 'ㅡㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅓㄷㅏ', 'ㅡㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅏㄷㅏ', 'ㅡㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅓㄷㅏ', 'ㅡㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅓㄷㅏ', '', [], ['p', 'f']),\n ],\n },\n '-아/어다가': {\n name: '-아/어다가',\n rules: [\n suffixInflection('ㅏㄷㅏㄱㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅓㄷㅏㄱㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅏㄷㅏㄱㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅓㄷㅏㄱㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄷㅏㄱㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅏㄷㅏㄱㅏ', 'ㅏㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅓㄷㅏㄱㅏ', 'ㅓㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅕㄷㅏㄱㅏ', 'ㅣㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅕㄷㅏㄱㅏ', 'ㅇㅣㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㅎㅐㄷㅏㄱㅏ', 'ㅎㅏㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅎㅏㅇㅕㄷㅏㄱㅏ', 'ㅎㅏㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅗㅏㄷㅏㄱㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㅓㄷㅏㄱㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅏㄷㅏㄱㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅓㄷㅏㄱㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅐㄷㅏㄱㅏ', 'ㅣㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅐㄷㅏㄱㅏ', 'ㅏㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㅐㄷㅏㄱㅏ', 'ㅓㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㅖㄷㅏㄱㅏ', 'ㅕㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㅒㄷㅏㄱㅏ', 'ㅑㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅏㄷㅏㄱㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅇㅓㄷㅏㄱㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㄹㅏㄷㅏㄱㅏ', 'ㄹㅡㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㄹㅓㄷㅏㄱㅏ', 'ㄹㅡㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅡㄹㅓㄷㅏㄱㅏ', 'ㄹㅡㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅏㄷㅏㄱㅏ', 'ㅡㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅓㄷㅏㄱㅏ', 'ㅡㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅏㄷㅏㄱㅏ', 'ㅡㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅓㄷㅏㄱㅏ', 'ㅡㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅓㄷㅏㄱㅏ', '', [], ['p', 'f']),\n ],\n },\n '-아/어도': {\n name: '-아/어도',\n rules: [\n suffixInflection('ㅏㄷㅗ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅓㄷㅗ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅏㄷㅗ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅓㄷㅗ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㅏㄷㅗ', 'ㅏㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅓㄷㅗ', 'ㅓㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄷㅗ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅕㄷㅗ', 'ㅣㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅕㄷㅗ', 'ㅇㅣㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㅎㅐㄷㅗ', 'ㅎㅏㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅎㅏㅇㅕㄷㅗ', 'ㅎㅏㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅗㅏㄷㅗ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㅓㄷㅗ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅏㄷㅗ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅓㄷㅗ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅐㄷㅗ', 'ㅣㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅐㄷㅗ', 'ㅏㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㅐㄷㅗ', 'ㅓㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㅖㄷㅗ', 'ㅕㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㅒㄷㅗ', 'ㅑㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅏㄷㅗ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅇㅓㄷㅗ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㄹㅏㄷㅗ', 'ㄹㅡㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㄹㅓㄷㅗ', 'ㄹㅡㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅡㄹㅓㄷㅗ', 'ㄹㅡㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅏㄷㅗ', 'ㅡㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅓㄷㅗ', 'ㅡㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅏㄷㅗ', 'ㅡㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅓㄷㅗ', 'ㅡㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅓㄷㅗ', '', [], ['p', 'f']),\n ],\n },\n '-아/어라': {\n name: '-아/어라',\n rules: [\n suffixInflection('ㅏㄹㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅓㄹㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅏㄹㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅓㄹㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㅏㄹㅏ', 'ㅏㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅓㄹㅏ', 'ㅓㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅕㄹㅏ', 'ㅣㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅕㄹㅏ', 'ㅇㅣㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㅎㅐㄹㅏ', 'ㅎㅏㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅎㅏㅇㅕㄹㅏ', 'ㅎㅏㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅗㅏㄹㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㅓㄹㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅏㄹㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅓㄹㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅐㄹㅏ', 'ㅣㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅐㄹㅏ', 'ㅏㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㅐㄹㅏ', 'ㅓㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㅖㄹㅏ', 'ㅕㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㅒㄹㅏ', 'ㅑㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅏㄹㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅇㅓㄹㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㄹㅏㄹㅏ', 'ㄹㅡㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㄹㅓㄹㅏ', 'ㄹㅡㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅡㄹㅓㄹㅏ', 'ㄹㅡㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅏㄹㅏ', 'ㅡㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅓㄹㅏ', 'ㅡㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅏㄹㅏ', 'ㅡㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅓㄹㅏ', 'ㅡㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅓㄹㅏ', '', [], ['p', 'f']),\n ],\n },\n '-아/어서': {\n name: '-아/어서',\n rules: [\n suffixInflection('ㅏㅅㅓ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅓㅅㅓ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅏㅅㅓ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅓㅅㅓ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㅏㅅㅓ', 'ㅏㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅓㅅㅓ', 'ㅓㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅅㅓ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅕㅅㅓ', 'ㅣㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅕㅅㅓ', 'ㅇㅣㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㅎㅐㅅㅓ', 'ㅎㅏㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅎㅏㅇㅕㅅㅓ', 'ㅎㅏㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅗㅏㅅㅓ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㅓㅅㅓ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅏㅅㅓ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅓㅅㅓ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅐㅅㅓ', 'ㅣㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅐㅅㅓ', 'ㅏㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㅐㅅㅓ', 'ㅓㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㅖㅅㅓ', 'ㅕㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㅒㅅㅓ', 'ㅑㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅏㅅㅓ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅇㅓㅅㅓ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㄹㅏㅅㅓ', 'ㄹㅡㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㄹㅓㅅㅓ', 'ㄹㅡㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅡㄹㅓㅅㅓ', 'ㄹㅡㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅏㅅㅓ', 'ㅡㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅓㅅㅓ', 'ㅡㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅏㅅㅓ', 'ㅡㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅓㅅㅓ', 'ㅡㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅓㅅㅓ', '', [], ['p', 'f']),\n ],\n },\n '-아/어야': {\n name: '-아/어야',\n rules: [\n suffixInflection('ㅏㅇㅑ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅓㅇㅑ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅏㅇㅑ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅓㅇㅑ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㅏㅇㅑ', 'ㅏㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅓㅇㅑ', 'ㅓㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅑ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅕㅇㅑ', 'ㅣㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅕㅇㅑ', 'ㅇㅣㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㅎㅐㅇㅑ', 'ㅎㅏㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅎㅏㅇㅕㅇㅑ', 'ㅎㅏㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅗㅏㅇㅑ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㅓㅇㅑ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅏㅇㅑ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅓㅇㅑ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅐㅇㅑ', 'ㅣㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅐㅇㅑ', 'ㅏㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㅐㅇㅑ', 'ㅓㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㅖㅇㅑ', 'ㅕㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㅒㅇㅑ', 'ㅑㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅏㅇㅑ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅇㅓㅇㅑ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㄹㅏㅇㅑ', 'ㄹㅡㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㄹㅓㅇㅑ', 'ㄹㅡㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅡㄹㅓㅇㅑ', 'ㄹㅡㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅏㅇㅑ', 'ㅡㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅓㅇㅑ', 'ㅡㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅏㅇㅑ', 'ㅡㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅓㅇㅑ', 'ㅡㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅓㅇㅑ', '', [], ['p', 'f']),\n ],\n },\n '-아/어야겠': {\n name: '-아/어야겠',\n rules: [\n suffixInflection('ㅏㅇㅑㄱㅔㅆ', 'ㄷㅏ', ['f'], ['v', 'adj']),\n suffixInflection('ㅓㅇㅑㄱㅔㅆ', 'ㄷㅏ', ['f'], ['v', 'adj']),\n suffixInflection('ㅇㅏㅇㅑㄱㅔㅆ', 'ㄷㅏ', ['f'], ['v', 'adj']),\n suffixInflection('ㅇㅓㅇㅑㄱㅔㅆ', 'ㄷㅏ', ['f'], ['v', 'adj', 'ida']),\n suffixInflection('ㅏㅇㅑㄱㅔㅆ', 'ㅏㄷㅏ', ['f'], ['v', 'adj']),\n suffixInflection('ㅓㅇㅑㄱㅔㅆ', 'ㅓㄷㅏ', ['f'], ['v', 'adj']),\n suffixInflection('ㅇㅑㄱㅔㅆ', 'ㄷㅏ', ['f'], ['v', 'adj']),\n suffixInflection('ㅕㅇㅑㄱㅔㅆ', 'ㅣㄷㅏ', ['f'], ['v', 'adj']),\n suffixInflection('ㅇㅕㅇㅑㄱㅔㅆ', 'ㅇㅣㄷㅏ', ['f'], ['v', 'adj', 'ida']),\n suffixInflection('ㅎㅐㅇㅑㄱㅔㅆ', 'ㅎㅏㄷㅏ', ['f'], ['v', 'adj']),\n suffixInflection('ㅎㅏㅇㅕㅇㅑㄱㅔㅆ', 'ㅎㅏㄷㅏ', ['f'], ['v', 'adj']),\n suffixInflection('ㅇㅗㅏㅇㅑㄱㅔㅆ', 'ㅂㄷㅏ', ['f'], ['v', 'adj']),\n suffixInflection('ㅇㅜㅓㅇㅑㄱㅔㅆ', 'ㅂㄷㅏ', ['f'], ['v', 'adj']),\n suffixInflection('ㅇㅏㅇㅑㄱㅔㅆ', 'ㅅㄷㅏ', ['f'], ['v', 'adj']),\n suffixInflection('ㅇㅓㅇㅑㄱㅔㅆ', 'ㅅㄷㅏ', ['f'], ['v', 'adj']),\n suffixInflection('ㅐㅇㅑㄱㅔㅆ', 'ㅣㄷㅏ', ['f'], ['v', 'adj']),\n suffixInflection('ㅐㅇㅑㄱㅔㅆ', 'ㅏㅎㄷㅏ', ['f'], ['adj']),\n suffixInflection('ㅐㅇㅑㄱㅔㅆ', 'ㅓㅎㄷㅏ', ['f'], ['adj']),\n suffixInflection('ㅖㅇㅑㄱㅔㅆ', 'ㅕㅎㄷㅏ', ['f'], ['adj']),\n suffixInflection('ㅒㅇㅑㄱㅔㅆ', 'ㅑㅎㄷㅏ', ['f'], ['adj']),\n suffixInflection('ㄹㅇㅏㅇㅑㄱㅔㅆ', 'ㄷㄷㅏ', ['f'], ['v', 'adj']),\n suffixInflection('ㄹㅇㅓㅇㅑㄱㅔㅆ', 'ㄷㄷㅏ', ['f'], ['v', 'adj']),\n suffixInflection('ㄹㄹㅏㅇㅑㄱㅔㅆ', 'ㄹㅡㄷㅏ', ['f'], ['v', 'adj']),\n suffixInflection('ㄹㄹㅓㅇㅑㄱㅔㅆ', 'ㄹㅡㄷㅏ', ['f'], ['v', 'adj']),\n suffixInflection('ㄹㅡㄹㅓㅇㅑㄱㅔㅆ', 'ㄹㅡㄷㅏ', ['f'], ['v', 'adj']),\n suffixInflection('ㅏㅇㅑㄱㅔㅆ', 'ㅡㄷㅏ', ['f'], ['v', 'adj']),\n suffixInflection('ㅓㅇㅑㄱㅔㅆ', 'ㅡㄷㅏ', ['f'], ['v', 'adj']),\n suffixInflection('ㅏㅇㅑㄱㅔㅆ', 'ㅡㄷㅏ', ['f'], ['v', 'adj']),\n suffixInflection('ㅓㅇㅑㄱㅔㅆ', 'ㅡㄷㅏ', ['f'], ['v', 'adj']),\n ],\n },\n '-아/어야만': {\n name: '-아/어야만',\n rules: [\n suffixInflection('ㅏㅇㅑㅁㅏㄴ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅓㅇㅑㅁㅏㄴ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅏㅇㅑㅁㅏㄴ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅓㅇㅑㅁㅏㄴ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㅏㅇㅑㅁㅏㄴ', 'ㅏㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅓㅇㅑㅁㅏㄴ', 'ㅓㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅑㅁㅏㄴ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅕㅇㅑㅁㅏㄴ', 'ㅣㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅕㅇㅑㅁㅏㄴ', 'ㅇㅣㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㅎㅐㅇㅑㅁㅏㄴ', 'ㅎㅏㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅎㅏㅇㅕㅇㅑㅁㅏㄴ', 'ㅎㅏㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅗㅏㅇㅑㅁㅏㄴ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㅓㅇㅑㅁㅏㄴ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅏㅇㅑㅁㅏㄴ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅓㅇㅑㅁㅏㄴ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅐㅇㅑㅁㅏㄴ', 'ㅣㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅐㅇㅑㅁㅏㄴ', 'ㅏㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㅐㅇㅑㅁㅏㄴ', 'ㅓㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㅖㅇㅑㅁㅏㄴ', 'ㅕㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㅒㅇㅑㅁㅏㄴ', 'ㅑㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅏㅇㅑㅁㅏㄴ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅇㅓㅇㅑㅁㅏㄴ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㄹㅏㅇㅑㅁㅏㄴ', 'ㄹㅡㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㄹㅓㅇㅑㅁㅏㄴ', 'ㄹㅡㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅡㄹㅓㅇㅑㅁㅏㄴ', 'ㄹㅡㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅏㅇㅑㅁㅏㄴ', 'ㅡㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅓㅇㅑㅁㅏㄴ', 'ㅡㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅏㅇㅑㅁㅏㄴ', 'ㅡㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅓㅇㅑㅁㅏㄴ', 'ㅡㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅓㅇㅑㅁㅏㄴ', '', [], ['p', 'f']),\n ],\n },\n '-아/어야지': {\n name: '-아/어야지',\n rules: [\n suffixInflection('ㅏㅇㅑㅈㅣ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅓㅇㅑㅈㅣ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅏㅇㅑㅈㅣ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅓㅇㅑㅈㅣ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㅏㅇㅑㅈㅣ', 'ㅏㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅓㅇㅑㅈㅣ', 'ㅓㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅑㅈㅣ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅕㅇㅑㅈㅣ', 'ㅣㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅕㅇㅑㅈㅣ', 'ㅇㅣㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㅎㅐㅇㅑㅈㅣ', 'ㅎㅏㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅎㅏㅇㅕㅇㅑㅈㅣ', 'ㅎㅏㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅗㅏㅇㅑㅈㅣ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㅓㅇㅑㅈㅣ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅏㅇㅑㅈㅣ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅓㅇㅑㅈㅣ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅐㅇㅑㅈㅣ', 'ㅣㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅐㅇㅑㅈㅣ', 'ㅏㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㅐㅇㅑㅈㅣ', 'ㅓㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㅖㅇㅑㅈㅣ', 'ㅕㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㅒㅇㅑㅈㅣ', 'ㅑㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅏㅇㅑㅈㅣ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅇㅓㅇㅑㅈㅣ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㄹㅏㅇㅑㅈㅣ', 'ㄹㅡㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㄹㅓㅇㅑㅈㅣ', 'ㄹㅡㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅡㄹㅓㅇㅑㅈㅣ', 'ㄹㅡㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅏㅇㅑㅈㅣ', 'ㅡㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅓㅇㅑㅈㅣ', 'ㅡㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅏㅇㅑㅈㅣ', 'ㅡㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅓㅇㅑㅈㅣ', 'ㅡㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅓㅇㅑㅈㅣ', '', [], ['p', 'f']),\n ],\n },\n '-아/어요': {\n name: '-아/어요',\n rules: [\n suffixInflection('ㅏㅇㅛ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅓㅇㅛ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅏㅇㅛ', 'ㅏㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅓㅇㅛ', 'ㅓㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅏㅇㅛ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅓㅇㅛ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㅇㅛ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅕㅇㅛ', 'ㅣㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅕㅇㅛ', 'ㅇㅣㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㅇㅖㅇㅛ', 'ㅇㅣㄷㅏ', [], ['adj', 'ida']),\n suffixInflection('ㅎㅐㅇㅛ', 'ㅎㅏㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅎㅏㅇㅕㅇㅛ', 'ㅎㅏㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅗㅏㅇㅛ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㅓㅇㅛ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅏㅇㅛ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅓㅇㅛ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅐㅇㅛ', 'ㅣㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅐㅇㅛ', 'ㅏㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㅐㅇㅛ', 'ㅓㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㅖㅇㅛ', 'ㅕㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㅒㅇㅛ', 'ㅑㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅏㅇㅛ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅇㅓㅇㅛ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㄹㅏㅇㅛ', 'ㄹㅡㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㄹㅓㅇㅛ', 'ㄹㅡㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅡㄹㅓㅇㅛ', 'ㄹㅡㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅏㅇㅛ', 'ㅡㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅓㅇㅛ', 'ㅡㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅏㅇㅛ', 'ㅡㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅓㅇㅛ', 'ㅡㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅔㅇㅛ', 'ㄷㅏ', [], ['adj', 'ida']),\n suffixInflection('ㅇㅓㅇㅛ', '', [], ['p', 'f']),\n ],\n },\n '-아/어지이다': {\n name: '-아/어지이다',\n rules: [\n suffixInflection('ㅏㅈㅣㅇㅣㄷㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅓㅈㅣㅇㅣㄷㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅏㅈㅣㅇㅣㄷㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅓㅈㅣㅇㅣㄷㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㅏㅈㅣㅇㅣㄷㅏ', 'ㅏㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅓㅈㅣㅇㅣㄷㅏ', 'ㅓㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅕㅈㅣㅇㅣㄷㅏ', 'ㅣㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅕㅈㅣㅇㅣㄷㅏ', 'ㅇㅣㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㅎㅐㅈㅣㅇㅣㄷㅏ', 'ㅎㅏㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅎㅏㅇㅕㅈㅣㅇㅣㄷㅏ', 'ㅎㅏㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅗㅏㅈㅣㅇㅣㄷㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㅓㅈㅣㅇㅣㄷㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅏㅈㅣㅇㅣㄷㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅓㅈㅣㅇㅣㄷㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅐㅈㅣㅇㅣㄷㅏ', 'ㅣㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅐㅈㅣㅇㅣㄷㅏ', 'ㅏㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㅐㅈㅣㅇㅣㄷㅏ', 'ㅓㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㅖㅈㅣㅇㅣㄷㅏ', 'ㅕㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㅒㅈㅣㅇㅣㄷㅏ', 'ㅑㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅏㅈㅣㅇㅣㄷㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅇㅓㅈㅣㅇㅣㄷㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㄹㅏㅈㅣㅇㅣㄷㅏ', 'ㄹㅡㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㄹㅓㅈㅣㅇㅣㄷㅏ', 'ㄹㅡㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅡㄹㅓㅈㅣㅇㅣㄷㅏ', 'ㄹㅡㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅏㅈㅣㅇㅣㄷㅏ', 'ㅡㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅓㅈㅣㅇㅣㄷㅏ', 'ㅡㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅏㅈㅣㅇㅣㄷㅏ', 'ㅡㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅓㅈㅣㅇㅣㄷㅏ', 'ㅡㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅓㅈㅣㅇㅣㄷㅏ', '', [], ['p', 'f']),\n ],\n },\n '-아/어지다': {\n name: '-아/어지다',\n rules: [\n suffixInflection('ㅏㅈㅣㄷㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅓㅈㅣㄷㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅏㅈㅣㄷㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅓㅈㅣㄷㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅏㅈㅣㄷㅏ', 'ㅏㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅓㅈㅣㄷㅏ', 'ㅓㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅕㅈㅣㄷㅏ', 'ㅣㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅕㅈㅣㄷㅏ', 'ㅇㅣㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅎㅐㅈㅣㄷㅏ', 'ㅎㅏㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅎㅏㅇㅕㅈㅣㄷㅏ', 'ㅎㅏㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅗㅏㅈㅣㄷㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㅓㅈㅣㄷㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅏㅈㅣㄷㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅓㅈㅣㄷㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅐㅈㅣㄷㅏ', 'ㅣㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅐㅈㅣㄷㅏ', 'ㅏㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㅐㅈㅣㄷㅏ', 'ㅓㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㅖㅈㅣㄷㅏ', 'ㅕㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㅒㅈㅣㄷㅏ', 'ㅑㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅏㅈㅣㄷㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅇㅓㅈㅣㄷㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㄹㅏㅈㅣㄷㅏ', 'ㄹㅡㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㄹㅓㅈㅣㄷㅏ', 'ㄹㅡㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅡㄹㅓㅈㅣㄷㅏ', 'ㄹㅡㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅏㅈㅣㄷㅏ', 'ㅡㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅓㅈㅣㄷㅏ', 'ㅡㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅏㅈㅣㄷㅏ', 'ㅡㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅓㅈㅣㄷㅏ', 'ㅡㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅓㅈㅣㄷㅏ', '', [], ['p', 'f']),\n ],\n },\n '-았/었': {\n name: '-았/었',\n rules: [\n suffixInflection('ㅆ', 'ㄷㅏ', ['p'], ['v', 'adj']),\n suffixInflection('ㅏㅆ', 'ㄷㅏ', ['p'], ['v', 'adj']),\n suffixInflection('ㅇㅏㅆ', 'ㄷㅏ', ['p'], ['v', 'adj']),\n suffixInflection('ㅏㅆ', 'ㅏㄷㅏ', ['p'], ['v', 'adj']),\n suffixInflection('ㅓㅆ', 'ㄷㅏ', ['p'], ['v', 'adj']),\n suffixInflection('ㅇㅓㅆ', 'ㄷㅏ', ['p'], ['v', 'adj', 'ida']),\n suffixInflection('ㅓㅆ', 'ㅓㄷㅏ', ['p'], ['v', 'adj']),\n suffixInflection('ㅕㅆ', 'ㅣㄷㅏ', ['p'], ['v', 'adj']),\n suffixInflection('ㅇㅕㅆ', 'ㅇㅣㄷㅏ', ['p'], ['v', 'adj', 'ida']),\n suffixInflection('ㅎㅐㅆ', 'ㅎㅏㄷㅏ', ['p'], ['v', 'adj']),\n suffixInflection('ㅎㅏㅇㅕㅆ', 'ㅎㅏㄷㅏ', ['p'], ['v', 'adj']),\n suffixInflection('ㅇㅗㅏㅆ', 'ㅂㄷㅏ', ['p'], ['v', 'adj']),\n suffixInflection('ㅇㅜㅓㅆ', 'ㅂㄷㅏ', ['p'], ['v', 'adj']),\n suffixInflection('ㅇㅏㅆ', 'ㅅㄷㅏ', ['p'], ['v', 'adj']),\n suffixInflection('ㅇㅓㅆ', 'ㅅㄷㅏ', ['p'], ['v', 'adj']),\n suffixInflection('ㅐㅆ', 'ㅣㄷㅏ', ['p'], ['v', 'adj']),\n suffixInflection('ㅐㅆ', 'ㅏㅎㄷㅏ', ['p'], ['adj']),\n suffixInflection('ㅐㅆ', 'ㅓㅎㄷㅏ', ['p'], ['adj']),\n suffixInflection('ㅖㅆ', 'ㅕㅎㄷㅏ', ['p'], ['adj']),\n suffixInflection('ㅒㅆ', 'ㅑㅎㄷㅏ', ['p'], ['adj']),\n suffixInflection('ㄹㅇㅏㅆ', 'ㄷㄷㅏ', ['p'], ['v', 'adj']),\n suffixInflection('ㄹㅇㅓㅆ', 'ㄷㄷㅏ', ['p'], ['v', 'adj']),\n suffixInflection('ㄹㄹㅏㅆ', 'ㄹㅡㄷㅏ', ['p'], ['v', 'adj']),\n suffixInflection('ㄹㄹㅓㅆ', 'ㄹㅡㄷㅏ', ['p'], ['v', 'adj']),\n suffixInflection('ㄹㅡㄹㅓㅆ', 'ㄹㅡㄷㅏ', ['p'], ['v', 'adj']),\n suffixInflection('ㅏㅆ', 'ㅡㄷㅏ', ['p'], ['v', 'adj']),\n suffixInflection('ㅓㅆ', 'ㅡㄷㅏ', ['p'], ['v', 'adj']),\n suffixInflection('ㅏㅆ', 'ㅡㄷㅏ', ['p'], ['v', 'adj']),\n suffixInflection('ㅓㅆ', 'ㅡㄷㅏ', ['p'], ['v', 'adj']),\n suffixInflection('ㅅㅕㅆ', 'ㅅㅣ', ['p'], ['eusi']),\n suffixInflection('ㅅㅣㅇㅓㅆ', 'ㅅㅣ', ['p'], ['eusi']),\n ],\n },\n '-았/었었': {\n name: '-았/었었',\n rules: [\n suffixInflection('ㅏㅆㅇㅓㅆ', 'ㄷㅏ', ['p'], ['v', 'adj']),\n suffixInflection('ㅆㅇㅓㅆ', 'ㄷㅏ', ['p'], ['v', 'adj']),\n suffixInflection('ㅇㅏㅆㅇㅓㅆ', 'ㄷㅏ', ['p'], ['v', 'adj']),\n suffixInflection('ㅏㅆㅇㅓㅆ', 'ㅏㄷㅏ', ['p'], ['v', 'adj']),\n suffixInflection('ㅓㅆㅇㅓㅆ', 'ㄷㅏ', ['p'], ['v', 'adj']),\n suffixInflection('ㅇㅓㅆㅇㅓㅆ', 'ㄷㅏ', ['p'], ['v', 'adj', 'ida']),\n suffixInflection('ㅓㅆㅇㅓㅆ', 'ㅓㄷㅏ', ['p'], ['v', 'adj']),\n suffixInflection('ㅕㅆㅇㅓㅆ', 'ㅣㄷㅏ', ['p'], ['v', 'adj']),\n suffixInflection('ㅇㅕㅆㅇㅓㅆ', 'ㅇㅣㄷㅏ', ['p'], ['v', 'adj', 'ida']),\n suffixInflection('ㅎㅐㅆㅇㅓㅆ', 'ㅎㅏㄷㅏ', ['p'], ['v', 'adj']),\n suffixInflection('ㅎㅏㅇㅕㅆㅇㅓㅆ', 'ㅎㅏㄷㅏ', ['p'], ['v', 'adj']),\n suffixInflection('ㅇㅗㅏㅆㅇㅓㅆ', 'ㅂㄷㅏ', ['p'], ['v', 'adj']),\n suffixInflection('ㅇㅜㅓㅆㅇㅓㅆ', 'ㅂㄷㅏ', ['p'], ['v', 'adj']),\n suffixInflection('ㅇㅏㅆㅇㅓㅆ', 'ㅅㄷㅏ', ['p'], ['v', 'adj']),\n suffixInflection('ㅇㅓㅆㅇㅓㅆ', 'ㅅㄷㅏ', ['p'], ['v', 'adj']),\n suffixInflection('ㅐㅆㅇㅓㅆ', 'ㅣㄷㅏ', ['p'], ['v', 'adj']),\n suffixInflection('ㅐㅆㅇㅓㅆ', 'ㅏㅎㄷㅏ', ['p'], ['adj']),\n suffixInflection('ㅐㅆㅇㅓㅆ', 'ㅓㅎㄷㅏ', ['p'], ['adj']),\n suffixInflection('ㅖㅆㅇㅓㅆ', 'ㅕㅎㄷㅏ', ['p'], ['adj']),\n suffixInflection('ㅒㅆㅇㅓㅆ', 'ㅑㅎㄷㅏ', ['p'], ['adj']),\n suffixInflection('ㄹㅇㅏㅆㅇㅓㅆ', 'ㄷㄷㅏ', ['p'], ['v', 'adj']),\n suffixInflection('ㄹㅇㅓㅆㅇㅓㅆ', 'ㄷㄷㅏ', ['p'], ['v', 'adj']),\n suffixInflection('ㄹㄹㅏㅆㅇㅓㅆ', 'ㄹㅡㄷㅏ', ['p'], ['v', 'adj']),\n suffixInflection('ㄹㄹㅓㅆㅇㅓㅆ', 'ㄹㅡㄷㅏ', ['p'], ['v', 'adj']),\n suffixInflection('ㄹㅡㄹㅓㅆㅇㅓㅆ', 'ㄹㅡㄷㅏ', ['p'], ['v', 'adj']),\n suffixInflection('ㅏㅆㅇㅓㅆ', 'ㅡㄷㅏ', ['p'], ['v', 'adj']),\n suffixInflection('ㅓㅆㅇㅓㅆ', 'ㅡㄷㅏ', ['p'], ['v', 'adj']),\n suffixInflection('ㅏㅆㅇㅓㅆ', 'ㅡㄷㅏ', ['p'], ['v', 'adj']),\n suffixInflection('ㅓㅆㅇㅓㅆ', 'ㅡㄷㅏ', ['p'], ['v', 'adj']),\n ],\n },\n '-았/었자': {\n name: '-았/었자',\n rules: [\n suffixInflection('ㅏㅆㅈㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅆㅈㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅏㅆㅈㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅏㅆㅈㅏ', 'ㅏㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅓㅆㅈㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅓㅆㅈㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㅓㅆㅈㅏ', 'ㅓㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅕㅆㅈㅏ', 'ㅣㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅕㅆㅈㅏ', 'ㅇㅣㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㅎㅐㅆㅈㅏ', 'ㅎㅏㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅎㅏㅇㅕㅆㅈㅏ', 'ㅎㅏㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅗㅏㅆㅈㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㅓㅆㅈㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅏㅆㅈㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅓㅆㅈㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅐㅆㅈㅏ', 'ㅣㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅐㅆㅈㅏ', 'ㅏㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㅐㅆㅈㅏ', 'ㅓㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㅖㅆㅈㅏ', 'ㅕㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㅒㅆㅈㅏ', 'ㅑㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅏㅆㅈㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅇㅓㅆㅈㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㄹㅏㅆㅈㅏ', 'ㄹㅡㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㄹㅓㅆㅈㅏ', 'ㄹㅡㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅡㄹㅓㅈㅏ', 'ㄹㅡㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅏㅆㅈㅏ', 'ㅡㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅓㅆㅈㅏ', 'ㅡㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅏㅆㅈㅏ', 'ㅡㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅓㅆㅈㅏ', 'ㅡㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅅㅕㅆㅈㅏ', 'ㅅㅣ', [], ['eusi']),\n ],\n },\n '-야': {\n name: '-야',\n rules: [\n suffixInflection('ㅇㅏㄴㅣㅇㅑ', 'ㅇㅏㄴㅣㄷㅏ', [], ['adj']),\n suffixInflection('ㅇㅣㅇㅑ', 'ㅇㅣㄷㅏ', [], ['ida']),\n ],\n },\n '-언마는': {\n name: '-언마는',\n rules: [\n suffixInflection('ㅇㅓㄴㅁㅏㄴㅡㄴ', '아니다', [], ['adj']),\n suffixInflection('ㅇㅓㄴㅁㅏㄴㅡㄴ', '이다', [], ['ida']),\n suffixInflection('ㅇㅓㄴㅁㅏㄴㅡㄴ', '', [], ['eusi']),\n ],\n },\n '-언만': {\n name: '-언만',\n rules: [\n suffixInflection('ㅇㅓㄴㅁㅏㄴ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㅇㅓㄴㅁㅏㄴ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-언정': {\n name: '-언정',\n rules: [\n suffixInflection('ㅇㅓㄴㅈㅓㅇ', '아니다', [], ['adj']),\n suffixInflection('ㅇㅓㄴㅈㅓㅇ', '이다', [], ['ida']),\n suffixInflection('ㅇㅓㄴㅈㅓㅇ', '', [], ['eusi']),\n ],\n },\n '-에라': {\n name: '-에라',\n rules: [suffixInflection('ㅇㅔㄹㅏ', '', [], ['p'])],\n },\n '-(으)오': {\n name: '-(으)오',\n rules: [\n suffixInflection('ㅇㅗ', 'ㄷㅏ', ['euo'], ['v', 'adj']),\n suffixInflection('ㅇㅡㅇㅗ', 'ㄷㅏ', ['euo'], ['v', 'adj']),\n suffixInflection('ㅇㅜㅇㅗ', 'ㅂㄷㅏ', ['euo'], ['v', 'adj']),\n suffixInflection('ㅇㅡㅇㅗ', 'ㅅㄷㅏ', ['euo'], ['v', 'adj']),\n suffixInflection('ㅇㅗ', 'ㅎㄷㅏ', ['euo'], ['adj']),\n suffixInflection('ㅇㅗ', 'ㄹㄷㅏ', ['euo'], ['v', 'adj']),\n suffixInflection('ㄹㅇㅡㅇㅗ', 'ㄷㄷㅏ', ['euo'], ['v', 'adj']),\n suffixInflection('ㅇㅗ', '', ['euo'], ['eusi']),\n suffixInflection('ㅇㅡㅇㅗ', '', ['euo'], ['p', 'f']),\n ],\n },\n '-(으)오니까': {\n name: '-(으)오니까',\n rules: [\n suffixInflection('ㅇㅗㄴㅣㄲㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㅇㅗㄴㅣㄲㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㅇㅗㄴㅣㄲㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㅇㅗㄴㅣㄲㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅗㄴㅣㄲㅏ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㅇㅗㄴㅣㄲㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅇㅡㅇㅗㄴㅣㄲㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅗㄴㅣㄲㅏ', '', [], ['eusi']),\n suffixInflection('ㅇㅡㅇㅗㄴㅣㄲㅏ', '', [], ['p', 'f']),\n ],\n },\n '-(으)오리이까': {\n name: '-(으)오리이까',\n rules: [\n suffixInflection('ㅇㅗㄹㅣㅇㅣㄲㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㅇㅗㄹㅣㅇㅣㄲㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㅇㅗㄹㅣㅇㅣㄲㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㅇㅗㄹㅣㅇㅣㄲㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅗㄹㅣㅇㅣㄲㅏ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㅇㅗㄹㅣㅇㅣㄲㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅇㅡㅇㅗㄹㅣㅇㅣㄲㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅗㄹㅣㅇㅣㄲㅏ', '', [], ['eusi']),\n ],\n },\n '-(으)오리이다': {\n name: '-(으)오리이다',\n rules: [\n suffixInflection('ㅇㅗㄹㅣㅇㅣㄷㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㅇㅗㄹㅣㅇㅣㄷㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㅇㅗㄹㅣㅇㅣㄷㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㅇㅗㄹㅣㅇㅣㄷㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅗㄹㅣㅇㅣㄷㅏ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㅇㅗㄹㅣㅇㅣㄷㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅇㅡㅇㅗㄹㅣㅇㅣㄷㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅗㄹㅣㅇㅣㄷㅏ', '', [], ['eusi']),\n ],\n },\n '-오이까': {\n name: '-오이까',\n rules: [\n suffixInflection('ㅇㅗㅇㅣㄲㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㅇㅗㅇㅣㄲㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅗㅇㅣㄲㅏ', '', [], ['eusi']),\n ],\n },\n '-(으)오이다': {\n name: '-(으)오이다',\n rules: [\n suffixInflection('ㅇㅗㅇㅣㄷㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㅇㅗㅇㅣㄷㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㅇㅗㅇㅣㄷㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㅇㅗㅇㅣㄷㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅗㅇㅣㄷㅏ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㅇㅗㅇㅣㄷㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅇㅡㅇㅗㅇㅣㄷㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅗㅇㅣㄷㅏ', '', [], ['eusi']),\n suffixInflection('ㅇㅡㅇㅗㅇㅣㄷㅏ', '', [], ['p', 'f']),\n ],\n },\n '-올습니다': {\n name: '-올습니다',\n rules: [\n suffixInflection('ㅇㅏㄴㅣㅇㅗㄹㅅㅡㅂㄴㅣㄷㅏ', '아니다', [], ['adj']),\n suffixInflection('ㅇㅣㅇㅗㄹㅅㅡㅂㄴㅣㄷㅏ', '이다', [], ['ida']),\n ],\n },\n '-올시다': {\n name: '-올시다',\n rules: [\n suffixInflection('ㅇㅏㄴㅣㅇㅗㄹㅅㅣㄷㅏ', '아니다', [], ['adj']),\n suffixInflection('ㅇㅣㅇㅗㄹㅅㅣㄷㅏ', '이다', [], ['ida']),\n ],\n },\n '-(으)옵': {\n name: '-(으)옵',\n rules: [\n suffixInflection('ㅇㅗㅂ', 'ㄷㅏ', ['euob'], ['v', 'adj', 'ida']),\n suffixInflection('ㅇㅡㅇㅗㅂ', 'ㄷㅏ', ['euob'], ['v', 'adj']),\n suffixInflection('ㅇㅜㅇㅗㅂ', 'ㅂㄷㅏ', ['euob'], ['v', 'adj']),\n suffixInflection('ㅇㅡㅇㅗㅂ', 'ㅅㄷㅏ', ['euob'], ['v', 'adj']),\n suffixInflection('ㅇㅗㅂ', 'ㅎㄷㅏ', ['euob'], ['adj']),\n suffixInflection('ㅇㅗㅂ', 'ㄹㄷㅏ', ['euob'], ['v', 'adj']),\n suffixInflection('ㄹㅇㅡㅇㅗㅂ', 'ㄷㄷㅏ', ['euob'], ['v', 'adj']),\n suffixInflection('ㅇㅗㅂ', '', ['euob'], ['eusi']),\n suffixInflection('ㅇㅡㅇㅗㅂ', '', ['euob'], ['p', 'f']),\n ],\n },\n '-(으)옵니까': {\n name: '-(으)옵니까',\n rules: [\n suffixInflection('ㅇㅗㅂㄴㅣㄲㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㅇㅡㅇㅗㅂㄴㅣㄲㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㅇㅗㅂㄴㅣㄲㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㅇㅗㅂㄴㅣㄲㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅗㅂㄴㅣㄲㅏ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㅇㅗㅂㄴㅣㄲㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅇㅡㅇㅗㅂㄴㅣㄲㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅗㅂㄴㅣㄲㅏ', '', [], ['eusi']),\n suffixInflection('ㅇㅡㅇㅗㅂㄴㅣㄲㅏ', '', [], ['p', 'f']),\n ],\n },\n '-(으)옵니다': {\n name: '-(으)옵니다',\n rules: [\n suffixInflection('ㅇㅗㅂㄴㅣㄷㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㅇㅡㅇㅗㅂㄴㅣㄷㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㅇㅗㅂㄴㅣㄷㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㅇㅗㅂㄴㅣㄷㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅗㅂㄴㅣㄷㅏ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㅇㅗㅂㄴㅣㄷㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅇㅡㅇㅗㅂㄴㅣㄷㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅗㅂㄴㅣㄷㅏ', '', [], ['eusi']),\n suffixInflection('ㅇㅡㅇㅗㅂㄴㅣㄷㅏ', '', [], ['p', 'f']),\n ],\n },\n '-(으)옵디까': {\n name: '-(으)옵디까',\n rules: [\n suffixInflection('ㅇㅗㅂㄷㅣㄲㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㅇㅡㅇㅗㅂㄷㅣㄲㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㅇㅗㅂㄷㅣㄲㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㅇㅗㅂㄷㅣㄲㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅗㅂㄷㅣㄲㅏ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㅇㅗㅂㄷㅣㄲㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅇㅡㅇㅗㅂㄷㅣㄲㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅗㅂㄷㅣㄲㅏ', '', [], ['eusi']),\n suffixInflection('ㅇㅡㅇㅗㅂㄷㅣㄲㅏ', '', [], ['p', 'f']),\n ],\n },\n '-(으)옵디다': {\n name: '-(으)옵디다',\n rules: [\n suffixInflection('ㅇㅗㅂㄷㅣㄷㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㅇㅡㅇㅗㅂㄷㅣㄷㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㅇㅗㅂㄷㅣㄷㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㅇㅗㅂㄷㅣㄷㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅗㅂㄷㅣㄷㅏ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㅇㅗㅂㄷㅣㄷㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅇㅡㅇㅗㅂㄷㅣㄷㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅗㅂㄷㅣㄷㅏ', '', [], ['eusi']),\n suffixInflection('ㅇㅡㅇㅗㅂㄷㅣㄷㅏ', '', [], ['p', 'f']),\n ],\n },\n '-(으)옵소서': {\n name: '-(으)옵소서',\n rules: [\n suffixInflection('ㅇㅗㅂㅅㅗㅅㅓ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㅇㅡㅇㅗㅂㅅㅗㅅㅓ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㅇㅗㅂㅅㅗㅅㅓ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㅇㅗㅂㅅㅗㅅㅓ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅗㅂㅅㅗㅅㅓ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㅇㅗㅂㅅㅗㅅㅓ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅇㅡㅇㅗㅂㅅㅗㅅㅓ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅗㅂㅅㅗㅅㅓ', '', [], ['eusi']),\n suffixInflection('ㅇㅡㅇㅗㅂㅅㅗㅅㅓ', '', [], ['p', 'f']),\n ],\n },\n '-(으)와': {\n name: '-(으)와',\n rules: [\n suffixInflection('ㅇㅗㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㅇㅡㅇㅗㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㅇㅗㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㅇㅗㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅗㅏ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㅇㅗㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅇㅡㅇㅗㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅗㅏ', '', [], ['eusi', 'euo', 'jao']),\n suffixInflection('ㅇㅡㅇㅗㅏ', '', [], ['p', 'f']),\n ],\n },\n '-(으)외다': {\n name: '-(으)외다',\n rules: [\n suffixInflection('ㅇㅗㅣㄷㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㅇㅡㅇㅗㅣㄷㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㅇㅗㅣㄷㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㅇㅗㅣㄷㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅗㅣㄷㅏ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㅇㅗㅣㄷㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅇㅡㅇㅗㅣㄷㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅗㅣㄷㅏ', '', [], ['eusi']),\n suffixInflection('ㅇㅡㅇㅗㅣㄷㅏ', '', [], ['p', 'f']),\n ],\n },\n '-요': {\n name: '-요',\n rules: [\n suffixInflection('ㅇㅏㄴㅣㅇㅛ', '아니다', [], ['ida']),\n suffixInflection('ㅇㅛ', 'ㄷㅏ', [], ['ida']),\n ],\n },\n '-(으)우': {\n name: '-(으)우',\n rules: [\n suffixInflection('ㅇㅜ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㅇㅡㅇㅜ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㅇㅜ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㅇㅜ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㅇㅜ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅇㅡㅇㅜ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜ', '', [], ['eusi']),\n suffixInflection('ㅇㅡㅇㅜ', '', [], ['p', 'f']),\n ],\n },\n '-(으)이': {\n name: '-(으)이',\n rules: [\n suffixInflection('ㅇㅣ', 'ㄷㅏ', [], ['adj']),\n suffixInflection('ㅇㅣ', 'ㄹㄷㅏ', [], ['adj']),\n suffixInflection('ㅇㅡㅇㅣ', 'ㄷㅏ', [], ['adj']),\n suffixInflection('ㅇㅡㅣ', 'ㄷㅏ', [], ['adj']),\n ],\n },\n '-(으)ㄴ들': {\n name: '-(으)ㄴ들',\n rules: [\n suffixInflection('ㄴㄷㅡㄹ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㅇㅡㄴㄷㅡㄹ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㄴㄷㅡㄹ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄴㄷㅡㄹ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄴㄷㅡㄹ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄴㄷㅡㄹ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅇㅡㄴㄷㅡㄹ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄴㄷㅡㄹ', '', [], ['eusi']),\n ],\n },\n '-(으)ㄴ즉': {\n name: '-(으)ㄴ즉',\n rules: [\n suffixInflection('ㄴㅈㅡㄱ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㅇㅡㄴㅈㅡㄱ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㄴㅈㅡㄱ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄴㅈㅡㄱ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄴㅈㅡㄱ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄴㅈㅡㄱ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅇㅡㄴㅈㅡㄱ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄴㅈㅡㄱ', '', [], ['eusi']),\n suffixInflection('ㅇㅡㄴㅈㅡㄱ', '', [], ['p']),\n ],\n },\n '-(으)ㄴ즉슨': {\n name: '-(으)ㄴ즉슨',\n rules: [\n suffixInflection('ㄴㅈㅡㄱㅅㅡㄴ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㅇㅡㄴㅈㅡㄱㅅㅡㄴ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㄴㅈㅡㄱㅅㅡㄴ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄴㅈㅡㄱㅅㅡㄴ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄴㅈㅡㄱㅅㅡㄴ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄴㅈㅡㄱㅅㅡㄴ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅇㅡㄴㅈㅡㄱㅅㅡㄴ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄴㅈㅡㄱㅅㅡㄴ', '', [], ['eusi']),\n suffixInflection('ㅇㅡㄴㅈㅡㄱㅅㅡㄴ', '', [], ['p']),\n ],\n },\n '-(으)ㄹ까': {\n name: '-(으)ㄹ까',\n rules: [\n suffixInflection('ㄹㄲㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄹㄲㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㄲㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㄹㄲㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㄲㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㄲㅏ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㄹㄲㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㄲㅏ', '', [], ['eusi']),\n suffixInflection('ㅇㅡㄹㄲㅏ', '', [], ['p']),\n ],\n },\n '-(으)ㄹ깝쇼': {\n name: '-(으)ㄹ깝쇼',\n rules: [\n suffixInflection('ㄹㄲㅏㅂㅅㅛ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄹㄲㅏㅂㅅㅛ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㄲㅏㅂㅅㅛ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㄹㄲㅏㅂㅅㅛ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㄲㅏㅂㅅㅛ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㄲㅏㅂㅅㅛ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㄹㄲㅏㅂㅅㅛ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㄲㅏㅂㅅㅛ', '', [], ['eusi']),\n suffixInflection('ㅇㅡㄹㄲㅏㅂㅅㅛ', '', [], ['p']),\n ],\n },\n '-(으)ㄹ꼬': {\n name: '-(으)ㄹ꼬',\n rules: [\n suffixInflection('ㄹㄲㅗ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄹㄲㅗ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㄲㅗ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㄹㄲㅗ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㄲㅗ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㄲㅗ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㄹㄲㅗ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㄲㅗ', '', [], ['eusi']),\n suffixInflection('ㅇㅡㄹㄲㅗ', '', [], ['p']),\n ],\n },\n '-(으)ㄹ는지': {\n name: '-(으)ㄹ는지',\n rules: [\n suffixInflection('ㄹㄴㅡㄴㅈㅣ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄹㄴㅡㄴㅈㅣ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㄴㅡㄴㅈㅣ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㄹㄴㅡㄴㅈㅣ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㄴㅡㄴㅈㅣ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㄴㅡㄴㅈㅣ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㄹㄴㅡㄴㅈㅣ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㄴㅡㄴㅈㅣ', '', [], ['eusi']),\n suffixInflection('ㅇㅡㄹㄴㅡㄴㅈㅣ', '', [], ['p']),\n ],\n },\n '-(으)ㄹ데라니': {\n name: '-(으)ㄹ데라니',\n rules: [\n suffixInflection('ㄹㄷㅔㄹㅏㄴㅣ', 'ㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㄷㅔㄹㅏㄴㅣ', 'ㄹㄷㅏ', [], ['adj']),\n suffixInflection('ㅇㅡㄹㄷㅔㄹㅏㄴㅣ', 'ㄷㅏ', [], ['adj']),\n suffixInflection('ㅇㅜㄹㄷㅔㄹㅏㄴㅣ', 'ㅂㄷㅏ', [], ['adj']),\n suffixInflection('ㅇㅡㄹㄷㅔㄹㅏㄴㅣ', 'ㅅㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㄷㅔㄹㅏㄴㅣ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㄹㄷㅔㄹㅏㄴㅣ', 'ㄷㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㄷㅔㄹㅏㄴㅣ', '', [], ['eusi']),\n ],\n },\n '-(으)ㄹ라': {\n name: '-(으)ㄹ라',\n rules: [\n suffixInflection('ㄹㄹㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄹㄹㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㄹㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㄹㄹㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㄹㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㄹㅏ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㄹㄹㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㄹㅏ', '', [], ['eusi']),\n suffixInflection('ㅇㅡㄹㄹㅏ', '', [], ['p']),\n ],\n },\n '-(으)ㄹ라고': {\n name: '-(으)ㄹ라고',\n rules: [\n suffixInflection('ㄹㄹㅏㄱㅗ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄹㄹㅏㄱㅗ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㄹㅏㄱㅗ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㄹㄹㅏㄱㅗ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㄹㅏㄱㅗ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㄹㅏㄱㅗ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㄹㄹㅏㄱㅗ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㄹㅏㄱㅗ', '', [], ['eusi']),\n suffixInflection('ㅇㅡㄹㄹㅏㄱㅗ', '', [], ['p']),\n ],\n },\n '-(으)ㄹ라치면': {\n name: '-(으)ㄹ라치면',\n rules: [\n suffixInflection('ㄹㄹㅏㅊㅣㅁㅕㄴ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㄹㄹㅏㅊㅣㅁㅕㄴ', 'ㄹㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㄹㄹㅏㅊㅣㅁㅕㄴ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅜㄹㄹㅏㅊㅣㅁㅕㄴ', 'ㅂㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㄹㄹㅏㅊㅣㅁㅕㄴ', 'ㅅㄷㅏ', [], ['v']),\n suffixInflection('ㄹㅇㅡㄹㄹㅏㅊㅣㅁㅕㄴ', 'ㄷㄷㅏ', [], ['v']),\n suffixInflection('ㄹㄹㅏㅊㅣㅁㅕㄴ', '', [], ['eusi']),\n ],\n },\n '-(으)ㄹ락': {\n name: '-(으)ㄹ락',\n rules: [\n suffixInflection('ㄹㄹㅏㄱ ㅁㅏㄹㄹㅏㄱ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㄹㄹㅏㄱ ㅁㅏㄹㄹㅏㄱ', 'ㄹㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㄹㄹㅏㄱ ㅁㅏㄹㄹㅏㄱ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅜㄹㄹㅏㄱ ㅁㅏㄹㄹㅏㄱ', 'ㅂㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㄹㄹㅏㄱ ㅁㅏㄹㄹㅏㄱ', 'ㅅㄷㅏ', [], ['v']),\n suffixInflection('ㄹㅇㅡㄹㄹㅏㄱ ㅁㅏㄹㄹㅏㄱ', 'ㄷㄷㅏ', [], ['v']),\n suffixInflection('ㄹㄹㅏㄱ ㅁㅏㄹㄹㅏㄱ', '', [], ['eusi']),\n suffixInflection('ㅇㅡㄹㄹㅏㄱ ㅁㅏㄹㄹㅏㄱ', '', [], ['p']),\n ],\n },\n '-(으)ㄹ래': {\n name: '-(으)ㄹ래',\n rules: [\n suffixInflection('ㄹㄹㅐ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㄹㄹㅐ', 'ㄹㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㄹㄹㅐ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅜㄹㄹㅐ', 'ㅂㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㄹㄹㅐ', 'ㅅㄷㅏ', [], ['v']),\n suffixInflection('ㄹㅇㅡㄹㄹㅐ', 'ㄷㄷㅏ', [], ['v']),\n suffixInflection('ㄹㄹㅐ', '', [], ['eusi']),\n ],\n },\n '-(으)ㄹ러니': {\n name: '-(으)ㄹ러니',\n rules: [\n suffixInflection('ㄹㄹㅓㄴㅣ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄹㄹㅓㄴㅣ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㄹㅓㄴㅣ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㄹㄹㅓㄴㅣ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㄹㅓㄴㅣ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㄹㅓㄴㅣ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㄹㄹㅓㄴㅣ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㄹㅓㄴㅣ', '', [], ['eusi']),\n suffixInflection('ㅇㅡㄹㄹㅓㄴㅣ', '', [], ['p']),\n ],\n },\n '-(으)ㄹ러라': {\n name: '-(으)ㄹ러라',\n rules: [\n suffixInflection('ㄹㄹㅓㄹㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄹㄹㅓㄹㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㄹㅓㄹㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㄹㄹㅓㄹㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㄹㅓㄹㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㄹㅓㄹㅏ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㄹㄹㅓㄹㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㄹㅓㄹㅏ', '', [], ['eusi']),\n suffixInflection('ㅇㅡㄹㄹㅓㄹㅏ', '', [], ['p']),\n ],\n },\n '-(으)ㄹ런가': {\n name: '-(으)ㄹ런가',\n rules: [\n suffixInflection('ㄹㄹㅓㄴㄱㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄹㄹㅓㄴㄱㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㄹㅓㄴㄱㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㄹㄹㅓㄴㄱㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㄹㅓㄴㄱㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㄹㅓㄴㄱㅏ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㄹㄹㅓㄴㄱㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㄹㅓㄴㄱㅏ', '', [], ['eusi']),\n suffixInflection('ㅇㅡㄹㄹㅓㄴㄱㅏ', '', [], ['p']),\n ],\n },\n '-(으)ㄹ런고': {\n name: '-(으)ㄹ런고',\n rules: [\n suffixInflection('ㄹㄹㅓㄴㄱㅗ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄹㄹㅓㄴㄱㅗ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㄹㅓㄴㄱㅗ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㄹㄹㅓㄴㄱㅗ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㄹㅓㄴㄱㅗ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㄹㅓㄴㄱㅗ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㄹㄹㅓㄴㄱㅗ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㄹㅓㄴㄱㅗ', '', [], ['eusi']),\n suffixInflection('ㅇㅡㄹㄹㅓㄴㄱㅗ', '', [], ['p']),\n ],\n },\n '-(으)ㄹ런지': {\n name: '-(으)ㄹ런지',\n rules: [\n suffixInflection('ㄹㄹㅓㄴㅈㅣ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄹㄹㅓㄴㅈㅣ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㄹㅓㄴㅈㅣ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㄹㄹㅓㄴㅈㅣ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㄹㅓㄴㅈㅣ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㄹㅓㄴㅈㅣ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㄹㄹㅓㄴㅈㅣ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㄹㅓㄴㅈㅣ', '', [], ['eusi']),\n suffixInflection('ㅇㅡㄹㄹㅓㄴㅈㅣ', '', [], ['p']),\n ],\n },\n '-(으)ㄹ레': {\n name: '-(으)ㄹ레',\n rules: [\n suffixInflection('ㄹㄹㅔ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄹㄹㅔ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㄹㅔ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㄹㄹㅔ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㄹㅔ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㄹㅔ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㄹㄹㅔ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㄹㅔ', '', [], ['eusi']),\n suffixInflection('ㅇㅡㄹㄹㅔ', '', [], ['p']),\n ],\n },\n '-(으)ㄹ레라': {\n name: '-(으)ㄹ레라',\n rules: [\n suffixInflection('ㄹㄹㅔㄹㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄹㄹㅔㄹㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㄹㅔㄹㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㄹㄹㅔㄹㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㄹㅔㄹㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㄹㅔㄹㅏ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㄹㄹㅔㄹㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㄹㅔㄹㅏ', '', [], ['eusi']),\n suffixInflection('ㅇㅡㄹㄹㅔㄹㅏ', '', [], ['p']),\n ],\n },\n '-(으)ㄹ려고': {\n name: '-(으)ㄹ려고',\n rules: [\n suffixInflection('ㄹㄹㅕㄱㅗ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㄹㄹㅕㄱㅗ', 'ㄹㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㄹㄹㅕㄱㅗ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅜㄹㄹㅕㄱㅗ', 'ㅂㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㄹㄹㅕㄱㅗ', 'ㅅㄷㅏ', [], ['v']),\n suffixInflection('ㄹㅇㅡㄹㄹㅕㄱㅗ', 'ㄷㄷㅏ', [], ['v']),\n suffixInflection('ㄹㄹㅕㄱㅗ', '', [], ['eusi']),\n ],\n },\n '-(으)ㄹ망정': {\n name: '-(으)ㄹ망정',\n rules: [\n suffixInflection('ㄹㅁㅏㅇㅈㅓㅇ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄹㅁㅏㅇㅈㅓㅇ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅁㅏㅇㅈㅓㅇ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㄹㅁㅏㅇㅈㅓㅇ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅁㅏㅇㅈㅓㅇ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅁㅏㅇㅈㅓㅇ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㄹㅁㅏㅇㅈㅓㅇ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅁㅏㅇㅈㅓㅇ', '', [], ['eusi']),\n suffixInflection('ㅇㅡㄹㅁㅏㅇㅈㅓㅇ', '', [], ['p']),\n ],\n },\n '-(으)ㄹ밖에': {\n name: '-(으)ㄹ밖에',\n rules: [\n suffixInflection('ㄹㅂㅏㄲㅇㅔ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄹㅂㅏㄲㅇㅔ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅂㅏㄲㅇㅔ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㄹㅂㅏㄲㅇㅔ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅂㅏㄲㅇㅔ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅂㅏㄲㅇㅔ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㄹㅂㅏㄲㅇㅔ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅂㅏㄲㅇㅔ', '', [], ['eusi']),\n suffixInflection('ㅇㅡㄹㅂㅏㄲㅇㅔ', '', [], ['p']),\n ],\n },\n '-(으)ㄹ뿐더러': {\n name: '-(으)ㄹ뿐더러',\n rules: [\n suffixInflection('ㄹㅃㅜㄴㄷㅓㄹㅓ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄹㅃㅜㄴㄷㅓㄹㅓ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅃㅜㄴㄷㅓㄹㅓ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㄹㅃㅜㄴㄷㅓㄹㅓ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅃㅜㄴㄷㅓㄹㅓ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅃㅜㄴㄷㅓㄹㅓ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㄹㅃㅜㄴㄷㅓㄹㅓ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅃㅜㄴㄷㅓㄹㅓ', '', [], ['eusi']),\n suffixInflection('ㅇㅡㄹㅃㅜㄴㄷㅓㄹㅓ', '', [], ['p']),\n ],\n },\n '-(으)ㄹ사': {\n name: '-(으)ㄹ사',\n rules: [\n suffixInflection('ㄹㅅㅏ', 'ㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅅㅏ', 'ㄹㄷㅏ', [], ['adj']),\n suffixInflection('ㅇㅡㄹㅅㅏ', 'ㄷㅏ', [], ['adj']),\n suffixInflection('ㅇㅜㄹㅅㅏ', 'ㅂㄷㅏ', [], ['adj']),\n suffixInflection('ㅇㅡㄹㅅㅏ', 'ㅅㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅅㅏ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㄹㅅㅏ', 'ㄷㄷㅏ', [], ['adj']),\n ],\n },\n '-(으)ㄹ새': {\n name: '-(으)ㄹ새',\n rules: [\n suffixInflection('ㄹㅅㅐ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄹㅅㅐ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅅㅐ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㄹㅅㅐ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅅㅐ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅅㅐ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㄹㅅㅐ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅅㅐ', '', [], ['eusi']),\n suffixInflection('ㅇㅡㄹㅅㅐ', '', [], ['p']),\n ],\n },\n '-(으)ㄹ세': {\n name: '-(으)ㄹ세',\n rules: [\n suffixInflection('ㄹㅅㅔ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄹㅅㅔ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅅㅔ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㄹㅅㅔ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅅㅔ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅅㅔ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㄹㅅㅔ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅅㅔ', '', [], ['eusi']),\n suffixInflection('ㅇㅡㄹㅅㅔ', '', [], ['p']),\n ],\n },\n '-(으)ㄹ세라': {\n name: '-(으)ㄹ세라',\n rules: [\n suffixInflection('ㄹㅅㅔㄹㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄹㅅㅔㄹㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅅㅔㄹㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㄹㅅㅔㄹㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅅㅔㄹㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅅㅔㄹㅏ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㄹㅅㅔㄹㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅅㅔㄹㅏ', '', [], ['eusi']),\n suffixInflection('ㅇㅡㄹㅅㅔㄹㅏ', '', [], ['p']),\n ],\n },\n '-(으)ㄹ세말이지': {\n name: '-(으)ㄹ세말이지',\n rules: [\n suffixInflection('ㄹㅅㅔㅁㅏㄹㅇㅣㅈㅣ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄹㅅㅔㅁㅏㄹㅇㅣㅈㅣ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅅㅔㅁㅏㄹㅇㅣㅈㅣ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㄹㅅㅔㅁㅏㄹㅇㅣㅈㅣ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅅㅔㅁㅏㄹㅇㅣㅈㅣ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅅㅔㅁㅏㄹㅇㅣㅈㅣ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㄹㅅㅔㅁㅏㄹㅇㅣㅈㅣ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅅㅔㅁㅏㄹㅇㅣㅈㅣ', '', [], ['eusi']),\n suffixInflection('ㅇㅡㄹㅅㅔㅁㅏㄹㅇㅣㅈㅣ', '', [], ['p']),\n ],\n },\n '-(으)ㄹ소냐': {\n name: '-(으)ㄹ소냐',\n rules: [\n suffixInflection('ㄹㅅㅗㄴㅑ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄹㅅㅗㄴㅑ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅅㅗㄴㅑ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㄹㅅㅗㄴㅑ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅅㅗㄴㅑ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅅㅗㄴㅑ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㄹㅅㅗㄴㅑ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅅㅗㄴㅑ', '', [], ['eusi']),\n suffixInflection('ㅇㅡㄹㅅㅗㄴㅑ', '', [], ['p']),\n ],\n },\n '-(으)ㄹ손가': {\n name: '-(으)ㄹ손가',\n rules: [\n suffixInflection('ㄹㅅㅗㄴㄱㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄹㅅㅗㄴㄱㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅅㅗㄴㄱㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㄹㅅㅗㄴㄱㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅅㅗㄴㄱㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅅㅗㄴㄱㅏ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㄹㅅㅗㄴㄱㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅅㅗㄴㄱㅏ', '', [], ['eusi']),\n suffixInflection('ㅇㅡㄹㅅㅗㄴㄱㅏ', '', [], ['p']),\n ],\n },\n '-(으)ㄹ수록': {\n name: '-(으)ㄹ수록',\n rules: [\n suffixInflection('ㄹㅅㅜㄹㅗㄱ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄹㅅㅜㄹㅗㄱ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅅㅜㄹㅗㄱ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㄹㅅㅜㄹㅗㄱ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅅㅜㄹㅗㄱ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅅㅜㄹㅗㄱ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㄹㅅㅜㄹㅗㄱ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅅㅜㄹㅗㄱ', '', [], ['eusi']),\n suffixInflection('ㅇㅡㄹㅅㅜㄹㅗㄱ', '', [], ['p']),\n ],\n },\n '-(으)ㄹ시': {\n name: '-(으)ㄹ시',\n rules: [\n suffixInflection('ㄹㅅㅣ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄹㅅㅣ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅅㅣ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㄹㅅㅣ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅅㅣ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅅㅣ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㄹㅅㅣ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅅㅣ', '', [], ['eusi']),\n suffixInflection('ㅇㅡㄹㅅㅣ', '', [], ['p']),\n ],\n },\n '-(으)ㄹ시고': {\n name: '-(으)ㄹ시고',\n rules: [\n suffixInflection('ㄹㅅㅣㄱㅗ', 'ㄷㅏ', [], ['adj', 'ida']),\n suffixInflection('ㄹㅅㅣㄱㅗ', 'ㄹㄷㅏ', [], ['adj']),\n suffixInflection('ㅇㅡㄹㅅㅣㄱㅗ', 'ㄷㅏ', [], ['adj']),\n suffixInflection('ㅇㅜㄹㅅㅣㄱㅗ', 'ㅂㄷㅏ', [], ['adj']),\n suffixInflection('ㅇㅡㄹㅅㅣㄱㅗ', 'ㅅㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅅㅣㄱㅗ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㄹㅅㅣㄱㅗ', 'ㄷㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅅㅣㄱㅗ', '', [], ['eusi']),\n suffixInflection('ㅇㅡㄹㅅㅣㄱㅗ', '', [], ['p']),\n ],\n },\n '-(으)ㄹ싸록': {\n name: '-(으)ㄹ싸록',\n rules: [\n suffixInflection('ㄹㅆㅏㄹㅗㄱ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄹㅆㅏㄹㅗㄱ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅆㅏㄹㅗㄱ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㄹㅆㅏㄹㅗㄱ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅆㅏㄹㅗㄱ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅆㅏㄹㅗㄱ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㄹㅆㅏㄹㅗㄱ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅆㅏㄹㅗㄱ', '', [], ['eusi']),\n suffixInflection('ㅇㅡㄹㅆㅏㄹㅗㄱ', '', [], ['p']),\n ],\n },\n '-(으)ㄹ쏘냐': {\n name: '-(으)ㄹ쏘냐',\n rules: [\n suffixInflection('ㄹㅆㅗㄴㅑ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄹㅆㅗㄴㅑ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅆㅗㄴㅑ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㄹㅆㅗㄴㅑ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅆㅗㄴㅑ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅆㅗㄴㅑ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㄹㅆㅗㄴㅑ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅆㅗㄴㅑ', '', [], ['eusi']),\n suffixInflection('ㅇㅡㄹㅆㅗㄴㅑ', '', [], ['p']),\n ],\n },\n '-(으)ㄹ쏜가': {\n name: '-(으)ㄹ쏜가',\n rules: [\n suffixInflection('ㄹㅆㅗㄴㄱㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄹㅆㅗㄴㄱㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅆㅗㄴㄱㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㄹㅆㅗㄴㄱㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅆㅗㄴㄱㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅆㅗㄴㄱㅏ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㄹㅆㅗㄴㄱㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅆㅗㄴㄱㅏ', '', [], ['eusi']),\n suffixInflection('ㅇㅡㄹㅆㅗㄴㄱㅏ', '', [], ['p']),\n ],\n },\n '-(으)ㄹ이만큼': {\n name: '-(으)ㄹ이만큼',\n rules: [\n suffixInflection('ㄹㅇㅣㅁㅏㄴㅋㅡㅁ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄹㅇㅣㅁㅏㄴㅋㅡㅁ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅇㅣㅁㅏㄴㅋㅡㅁ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㄹㅇㅣㅁㅏㄴㅋㅡㅁ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅇㅣㅁㅏㄴㅋㅡㅁ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅇㅣㅁㅏㄴㅋㅡㅁ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㄹㅇㅣㅁㅏㄴㅋㅡㅁ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅇㅣㅁㅏㄴㅋㅡㅁ', '', [], ['eusi', 'euo']),\n suffixInflection('ㅇㅡㄹㅇㅣㅁㅏㄴㅋㅡㅁ', '', [], ['p']),\n ],\n },\n '-(으)ㄹ작시면': {\n name: '-(으)ㄹ작시면',\n rules: [\n suffixInflection('ㄹㅈㅏㄱㅅㅣㅁㅕㄴ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㄹㅈㅏㄱㅅㅣㅁㅕㄴ', 'ㄹㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㄹㅈㅏㄱㅅㅣㅁㅕㄴ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅜㄹㅈㅏㄱㅅㅣㅁㅕㄴ', 'ㅂㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㄹㅈㅏㄱㅅㅣㅁㅕㄴ', 'ㅅㄷㅏ', [], ['v']),\n suffixInflection('ㄹㅇㅡㄹㅈㅏㄱㅅㅣㅁㅕㄴ', 'ㄷㄷㅏ', [], ['v']),\n suffixInflection('ㄹㅈㅏㄱㅅㅣㅁㅕㄴ', '', [], ['eusi']),\n ],\n },\n '-(으)ㄹ지': {\n name: '-(으)ㄹ지',\n rules: [\n suffixInflection('ㄹㅈㅣ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄹㅈㅣ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅈㅣ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㄹㅈㅣ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅈㅣ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅈㅣ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㄹㅈㅣ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅈㅣ', '', [], ['eusi']),\n suffixInflection('ㅇㅡㄹㅈㅣ', '', [], ['p']),\n ],\n },\n '-(으)ㄹ지나': {\n name: '-(으)ㄹ지나',\n rules: [\n suffixInflection('ㄹㅈㅣㄴㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄹㅈㅣㄴㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅈㅣㄴㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㄹㅈㅣㄴㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅈㅣㄴㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅈㅣㄴㅏ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㄹㅈㅣㄴㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅈㅣㄴㅏ', '', [], ['eusi']),\n suffixInflection('ㅇㅡㄹㅈㅣㄴㅏ', '', [], ['p']),\n ],\n },\n '-(으)ㄹ지니': {\n name: '-(으)ㄹ지니',\n rules: [\n suffixInflection('ㄹㅈㅣㄴㅣ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄹㅈㅣㄴㅣ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅈㅣㄴㅣ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㄹㅈㅣㄴㅣ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅈㅣㄴㅣ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅈㅣㄴㅣ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㄹㅈㅣㄴㅣ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅈㅣㄴㅣ', '', [], ['eusi']),\n suffixInflection('ㅇㅡㄹㅈㅣㄴㅣ', '', [], ['p']),\n ],\n },\n '-(으)ㄹ지니라': {\n name: '-(으)ㄹ지니라',\n rules: [\n suffixInflection('ㄹㅈㅣㄴㅣㄹㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄹㅈㅣㄴㅣㄹㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅈㅣㄴㅣㄹㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㄹㅈㅣㄴㅣㄹㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅈㅣㄴㅣㄹㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅈㅣㄴㅣㄹㅏ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㄹㅈㅣㄴㅣㄹㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅈㅣㄴㅣㄹㅏ', '', [], ['eusi']),\n suffixInflection('ㅇㅡㄹㅈㅣㄴㅣㄹㅏ', '', [], ['p']),\n ],\n },\n '-(으)ㄹ지라': {\n name: '-(으)ㄹ지라',\n rules: [\n suffixInflection('ㄹㅈㅣㄹㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄹㅈㅣㄹㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅈㅣㄹㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㄹㅈㅣㄹㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅈㅣㄹㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅈㅣㄹㅏ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㄹㅈㅣㄹㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅈㅣㄹㅏ', '', [], ['eusi']),\n suffixInflection('ㅇㅡㄹㅈㅣㄹㅏ', '', [], ['p']),\n ],\n },\n '-(으)ㄹ지라도': {\n name: '-(으)ㄹ지라도',\n rules: [\n suffixInflection('ㄹㅈㅣㄹㅏㄷㅗ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄹㅈㅣㄹㅏㄷㅗ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅈㅣㄹㅏㄷㅗ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㄹㅈㅣㄹㅏㄷㅗ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅈㅣㄹㅏㄷㅗ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅈㅣㄹㅏㄷㅗ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㄹㅈㅣㄹㅏㄷㅗ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅈㅣㄹㅏㄷㅗ', '', [], ['eusi']),\n suffixInflection('ㅇㅡㄹㅈㅣㄹㅏㄷㅗ', '', [], ['p']),\n ],\n },\n '-(으)ㄹ지로다': {\n name: '-(으)ㄹ지로다',\n rules: [\n suffixInflection('ㄹㅈㅣㄹㅗㄷㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄹㅈㅣㄹㅗㄷㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅈㅣㄹㅗㄷㅏ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㄹㅈㅣㄹㅗㄷㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅈㅣㄹㅗㄷㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅈㅣㄹㅗㄷㅏ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㄹㅈㅣㄹㅗㄷㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅈㅣㄹㅗㄷㅏ', '', [], ['eusi']),\n suffixInflection('ㅇㅡㄹㅈㅣㄹㅗㄷㅏ', '', [], ['p']),\n ],\n },\n '-(으)ㄹ지며': {\n name: '-(으)ㄹ지며',\n rules: [\n suffixInflection('ㄹㅈㅣㅁㅕ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄹㅈㅣㅁㅕ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅈㅣㅁㅕ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㄹㅈㅣㅁㅕ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅈㅣㅁㅕ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅈㅣㅁㅕ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㄹㅈㅣㅁㅕ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅈㅣㅁㅕ', '', [], ['eusi']),\n suffixInflection('ㅇㅡㄹㅈㅣㅁㅕ', '', [], ['p']),\n ],\n },\n '-(으)ㄹ지어다': {\n name: '-(으)ㄹ지어다',\n rules: [\n suffixInflection('ㄹㅈㅣㅇㅓㄷㅏ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㄹㅈㅣㅇㅓㄷㅏ', 'ㄹㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㄹㅈㅣㅇㅓㄷㅏ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅜㄹㅈㅣㅇㅓㄷㅏ', 'ㅂㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㄹㅈㅣㅇㅓㄷㅏ', 'ㅅㄷㅏ', [], ['v']),\n suffixInflection('ㄹㅇㅡㄹㅈㅣㅇㅓㄷㅏ', 'ㄷㄷㅏ', [], ['v']),\n suffixInflection('ㄹㅈㅣㅇㅓㄷㅏ', '', [], ['eusi']),\n ],\n },\n '-(으)ㄹ지언정': {\n name: '-(으)ㄹ지언정',\n rules: [\n suffixInflection('ㄹㅈㅣㅇㅓㄴㅈㅓㅇ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄹㅈㅣㅇㅓㄴㅈㅓㅇ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅈㅣㅇㅓㄴㅈㅓㅇ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㄹㅈㅣㅇㅓㄴㅈㅓㅇ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅈㅣㅇㅓㄴㅈㅓㅇ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅈㅣㅇㅓㄴㅈㅓㅇ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㄹㅈㅣㅇㅓㄴㅈㅓㅇ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅈㅣㅇㅓㄴㅈㅓㅇ', '', [], ['eusi']),\n suffixInflection('ㅇㅡㄹㅈㅣㅇㅓㄴㅈㅓㅇ', '', [], ['p']),\n ],\n },\n '-(으)ㄹ진대': {\n name: '-(으)ㄹ진대',\n rules: [\n suffixInflection('ㄹㅈㅣㄴㄷㅐ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄹㅈㅣㄴㄷㅐ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅈㅣㄴㄷㅐ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㄹㅈㅣㄴㄷㅐ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅈㅣㄴㄷㅐ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅈㅣㄴㄷㅐ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㄹㅈㅣㄴㄷㅐ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅈㅣㄴㄷㅐ', '', [], ['eusi']),\n suffixInflection('ㅇㅡㄹㅈㅣㄴㄷㅐ', '', [], ['p']),\n ],\n },\n '-(으)ㄹ진대는': {\n name: '-(으)ㄹ진대는',\n rules: [\n suffixInflection('ㄹㅈㅣㄴㄷㅐㄴㅡㄴ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄹㅈㅣㄴㄷㅐㄴㅡㄴ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅈㅣㄴㄷㅐㄴㅡㄴ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㄹㅈㅣㄴㄷㅐㄴㅡㄴ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅈㅣㄴㄷㅐㄴㅡㄴ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅈㅣㄴㄷㅐㄴㅡㄴ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㄹㅈㅣㄴㄷㅐㄴㅡㄴ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅈㅣㄴㄷㅐㄴㅡㄴ', '', [], ['eusi']),\n suffixInflection('ㅇㅡㄹㅈㅣㄴㄷㅐㄴㅡㄴ', '', [], ['p']),\n ],\n },\n '-(으)ㄹ진댄': {\n name: '-(으)ㄹ진댄',\n rules: [\n suffixInflection('ㄹㅈㅣㄴㄷㅐㄴ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄹㅈㅣㄴㄷㅐㄴ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅈㅣㄴㄷㅐㄴ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㄹㅈㅣㄴㄷㅐㄴ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅈㅣㄴㄷㅐㄴ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅈㅣㄴㄷㅐㄴ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㄹㅈㅣㄴㄷㅐㄴ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅈㅣㄴㄷㅐㄴ', '', [], ['eusi']),\n suffixInflection('ㅇㅡㄹㅈㅣㄴㄷㅐㄴ', '', [], ['p']),\n ],\n },\n '-(으)ㄹ진저': {\n name: '-(으)ㄹ진저',\n rules: [\n suffixInflection('ㄹㅈㅣㄴㅈㅓ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄹㅈㅣㄴㅈㅓ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅈㅣㄴㅈㅓ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㄹㅈㅣㄴㅈㅓ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㄹㅈㅣㄴㅈㅓ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅈㅣㄴㅈㅓ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㄹㅈㅣㄴㅈㅓ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㄹㅈㅣㄴㅈㅓ', '', [], ['eusi']),\n suffixInflection('ㅇㅡㄹㅈㅣㄴㅈㅓ', '', [], ['p']),\n ],\n },\n '-(으)ㅁ': {\n name: '-(으)ㅁ',\n rules: [\n suffixInflection('ㅁ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄹㅁ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㅁ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㅁ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㅁ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅁ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㅁ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅁ', '', [], ['eusi']),\n suffixInflection('ㅇㅡㅁ', '', [], ['p', 'f']),\n ],\n },\n '-(으)ㅁ세': {\n name: '-(으)ㅁ세',\n rules: [\n suffixInflection('ㅁㅅㅔ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㄹㅁㅅㅔ', 'ㄹㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㅁㅅㅔ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅜㅁㅅㅔ', 'ㅂㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㅁㅅㅔ', 'ㅅㄷㅏ', [], ['v']),\n suffixInflection('ㄹㅇㅡㅁㅅㅔ', 'ㄷㄷㅏ', [], ['v']),\n ],\n },\n '-(으)ㅁ도': {\n name: '-(으)ㅁ도',\n rules: [\n suffixInflection('ㅁㄷㅗ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄹㅁㄷㅗ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㅁㄷㅗ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㅁㄷㅗ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㅁㄷㅗ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅁㄷㅗ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㅁㄷㅗ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅁㄷㅗ', '', [], ['eusi']),\n suffixInflection('ㅇㅡㅁㄷㅗ', '', [], ['p', 'f']),\n ],\n },\n '-(으)ㅁ에랴': {\n name: '-(으)ㅁ에랴',\n rules: [\n suffixInflection('ㅁㅇㅔㄹㅑ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㄹㅁㅇㅔㄹㅑ', 'ㄹㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㅁㅇㅔㄹㅑ', 'ㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅜㅁㅇㅔㄹㅑ', 'ㅂㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅇㅡㅁㅇㅔㄹㅑ', 'ㅅㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅁㅇㅔㄹㅑ', 'ㅎㄷㅏ', [], ['adj']),\n suffixInflection('ㄹㅇㅡㅁㅇㅔㄹㅑ', 'ㄷㄷㅏ', [], ['v', 'adj']),\n suffixInflection('ㅁㅇㅔㄹㅑ', '', [], ['eusi']),\n suffixInflection('ㅇㅡㅁㅇㅔㄹㅑ', '', [], ['p', 'f']),\n ],\n },\n '-(으)ㅂ쇼': {\n name: '-(으)ㅂ쇼',\n rules: [\n suffixInflection('ㅂㅅㅛ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㅂㅅㅛ', 'ㄹㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㅂㅅㅛ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅜㅂㅅㅛ', 'ㅂㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㅂㅅㅛ', 'ㅅㄷㅏ', [], ['v']),\n suffixInflection('ㄹㅇㅡㅂㅅㅛ', 'ㄷㄷㅏ', [], ['v']),\n ],\n },\n '-(으)ㅂ시다': {\n name: '-(으)ㅂ시다',\n rules: [\n suffixInflection('ㅂㅅㅣㄷㅏ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㅂㅅㅣㄷㅏ', 'ㄹㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㅂㅅㅣㄷㅏ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅜㅂㅅㅣㄷㅏ', 'ㅂㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㅂㅅㅣㄷㅏ', 'ㅅㄷㅏ', [], ['v']),\n suffixInflection('ㄹㅇㅡㅂㅅㅣㄷㅏ', 'ㄷㄷㅏ', [], ['v']),\n ],\n },\n '-(으)ㅂ시오': {\n name: '-(으)ㅂ시오',\n rules: [\n suffixInflection('ㅂㅅㅣㅇㅗ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㅂㅅㅣㅇㅗ', 'ㄹㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㅂㅅㅣㅇㅗ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅜㅂㅅㅣㅇㅗ', 'ㅂㄷㅏ', [], ['v']),\n suffixInflection('ㅇㅡㅂㅅㅣㅇㅗ', 'ㅅㄷㅏ', [], ['v']),\n suffixInflection('ㄹㅇㅡㅂㅅㅣㅇㅗ', 'ㄷㄷㅏ', [], ['v']),\n ],\n },\n '-자': {\n name: '-자',\n rules: [suffixInflection('ㅈㅏ', 'ㄷㅏ', [], ['v', 'ida'])],\n },\n '-자고': {\n name: '-자고',\n rules: [suffixInflection('ㅈㅏㄱㅗ', 'ㄷㅏ', [], ['v'])],\n },\n '-자구': {\n name: '-자구',\n rules: [suffixInflection('ㅈㅏㄱㅜ', 'ㄷㅏ', [], ['v'])],\n },\n '-자꾸나': {\n name: '-자꾸나',\n rules: [suffixInflection('ㅈㅏㄲㅜㄴㅏ', 'ㄷㅏ', [], ['v'])],\n },\n '-자느니': {\n name: '-자느니',\n rules: [suffixInflection('ㅈㅏㄴㅡㄴㅣ', 'ㄷㅏ', [], ['v'])],\n },\n '-자니까': {\n name: '-자니까',\n rules: [suffixInflection('ㅈㅏㄴㅣㄲㅏ', 'ㄷㅏ', [], ['v'])],\n },\n '-자마자': {\n name: '-자마자',\n rules: [\n suffixInflection('ㅈㅏㅁㅏㅈㅏ', 'ㄷㅏ', [], ['v']),\n suffixInflection('ㅈㅏㅁㅏㅈㅏ', '', [], ['eusi']),\n ],\n },\n '-자며': {\n name: '-자며',\n rules: [suffixInflection('ㅈㅏㅁㅕ', 'ㄷㅏ', [], ['v'])],\n },\n '-자면': {\n name: '-자면',\n rules: [suffixInflection('ㅈㅏㅁㅕㄴ', 'ㄷㅏ', [], ['v'])],\n },\n '-자면서': {\n name: '-자면서',\n rules: [suffixInflection('ㅈㅏㅁㅕㄴㅅㅓ', 'ㄷㅏ', [], ['v'])],\n },\n '-자손': {\n name: '-자손',\n rules: [suffixInflection('ㅈㅏㅅㅗㄴ', 'ㄷㅏ', [], ['v'])],\n },\n '-자오': {\n name: '-자오',\n rules: [suffixInflection('ㅈㅏㅇㅗ', 'ㄷㅏ', ['jao'], ['v'])],\n },\n '-자옵': {\n name: '-자옵',\n rules: [suffixInflection('ㅈㅏㅇㅗㅂ', 'ㄷㅏ', ['jaob'], ['v'])],\n },\n '-잡': {\n name: '-잡',\n rules: [suffixInflection('ㅈㅏㅂ', 'ㄷㅏ', ['jab'], ['v'])],\n },\n '-죠': {\n name: '-죠',\n rules: [\n suffixInflection('ㅈㅛ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㅈㅛ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-지': {\n name: '-지',\n rules: [\n suffixInflection('ㅈㅣ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㅈㅣ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n '-지마는': {\n name: '-지마는',\n rules: [\n suffixInflection('ㅈㅣㅁㅏㄴㅡㄴ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㅈㅣㅁㅏㄴㅡㄴ', '', [], ['p', 'f']),\n ],\n },\n '-지만': {\n name: '-지만',\n rules: [\n suffixInflection('ㅈㅣㅁㅏㄴ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㅈㅣㅁㅏㄴ', '', [], ['p', 'f', 'euo', 'euob']),\n ],\n },\n '-지만서도': {\n name: '-지만서도',\n rules: [\n suffixInflection('ㅈㅣㅁㅏㄴㅅㅓㄷㅗ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㅈㅣㅁㅏㄴㅅㅓㄷㅗ', '', [], ['p', 'f']),\n ],\n },\n '-지요': {\n name: '-지요',\n rules: [\n suffixInflection('ㅈㅣㅇㅛ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),\n suffixInflection('ㅈㅣㅇㅛ', '', [], ['p', 'f', 'eusi']),\n ],\n },\n },\n};\n","import type { TextProcessor } from '../../types/language';\n\n// Hangul syllable decomposition/composition constants\nconst HANGUL_BASE = 0xac00;\nconst HANGUL_END = 0xd7a3;\nconst LEAD_BASE = 0x1100;\nconst VOWEL_BASE = 0x1161;\nconst TAIL_BASE = 0x11a7;\nconst LEAD_COUNT = 19;\nconst VOWEL_COUNT = 21;\nconst TAIL_COUNT = 28;\nconst SYLLABLE_COUNT = VOWEL_COUNT * TAIL_COUNT;\n\nconst COMPAT_LEADS =\n '\\u3131\\u3132\\u3134\\u3137\\u3138\\u3139\\u3141\\u3142\\u3143\\u3145\\u3146\\u3147\\u3148\\u3149\\u314A\\u314B\\u314C\\u314D\\u314E';\nconst COMPAT_VOWELS =\n '\\u314F\\u3150\\u3151\\u3152\\u3153\\u3154\\u3155\\u3156\\u3157\\u3158\\u3159\\u315A\\u315B\\u315C\\u315D\\u315E\\u315F\\u3160\\u3161\\u3162\\u3163';\nconst COMPAT_TAILS =\n '\\u3131\\u3132\\u3133\\u3134\\u3135\\u3136\\u3137\\u3139\\u313A\\u313B\\u313C\\u313D\\u313E\\u313F\\u3140\\u3141\\u3142\\u3144\\u3145\\u3146\\u3147\\u3148\\u314A\\u314B\\u314C\\u314D\\u314E';\n\nfunction isHangulSyllable(code: number): boolean {\n return code >= HANGUL_BASE && code <= HANGUL_END;\n}\n\nfunction decomposeSyllable(code: number): string[] {\n const syllableIndex = code - HANGUL_BASE;\n const leadIndex = Math.floor(syllableIndex / SYLLABLE_COUNT);\n const vowelIndex = Math.floor((syllableIndex % SYLLABLE_COUNT) / TAIL_COUNT);\n const tailIndex = syllableIndex % TAIL_COUNT;\n\n const result: string[] = [COMPAT_LEADS[leadIndex], COMPAT_VOWELS[vowelIndex]];\n if (tailIndex > 0) {\n result.push(COMPAT_TAILS[tailIndex - 1]);\n }\n return result;\n}\n\nfunction disassemble(str: string): string[] {\n const result: string[] = [];\n for (const char of str) {\n const code = char.codePointAt(0) as number;\n if (isHangulSyllable(code)) {\n result.push(...decomposeSyllable(code));\n } else {\n result.push(char);\n }\n }\n return result;\n}\n\nfunction assemble(str: string): string {\n const chars = [...str];\n let result = '';\n let i = 0;\n\n while (i < chars.length) {\n const leadIdx = COMPAT_LEADS.indexOf(chars[i]);\n if (leadIdx >= 0 && i + 1 < chars.length) {\n const vowelIdx = COMPAT_VOWELS.indexOf(chars[i + 1]);\n if (vowelIdx >= 0) {\n let tailIdx = 0;\n if (i + 2 < chars.length) {\n const possibleTail = COMPAT_TAILS.indexOf(chars[i + 2]);\n if (possibleTail >= 0) {\n // Check if next char forms a new syllable (look ahead)\n if (\n i + 3 < chars.length &&\n COMPAT_VOWELS.indexOf(chars[i + 3]) >= 0 &&\n COMPAT_LEADS.indexOf(chars[i + 2]) >= 0\n ) {\n // The tail char is actually the lead of the next syllable\n tailIdx = 0;\n } else {\n tailIdx = possibleTail + 1;\n i++;\n }\n }\n }\n const code = HANGUL_BASE + leadIdx * SYLLABLE_COUNT + vowelIdx * TAIL_COUNT + tailIdx;\n result += String.fromCodePoint(code);\n i += 2;\n continue;\n }\n }\n result += chars[i];\n i++;\n }\n return result;\n}\n\nexport const disassembleHangul: TextProcessor<boolean> = {\n name: 'Disassemble Hangul',\n description: 'Disassemble Hangul characters into jamo.',\n options: [true],\n process: (str) => {\n return disassemble(str).join('');\n },\n};\n\nexport const reassembleHangul: TextProcessor<boolean> = {\n name: 'Reassemble Hangul',\n description: 'Reassemble Hangul characters from jamo.',\n options: [true],\n process: (str) => {\n return assemble(str);\n },\n};\n","import {\n CJK_IDEOGRAPH_RANGES,\n CJK_PUNCTUATION_RANGE,\n FULLWIDTH_CHARACTER_RANGES,\n isCodePointInRanges,\n} from '../cjk-util';\nimport type { CodepointRange } from '../cjk-util';\n\nconst BOPOMOFO_RANGE: CodepointRange = [0x3100, 0x312f];\nconst BOPOMOFO_EXTENDED_RANGE: CodepointRange = [0x31a0, 0x31bf];\nconst IDEOGRAPHIC_SYMBOLS_AND_PUNCTUATION_RANGE: CodepointRange = [0x16fe0, 0x16fff];\nconst SMALL_FORM_RANGE: CodepointRange = [0xfe50, 0xfe6f];\nconst VERTICAL_FORM_RANGE: CodepointRange = [0xfe10, 0xfe1f];\n\nconst CHINESE_RANGES: CodepointRange[] = [\n ...CJK_IDEOGRAPH_RANGES,\n CJK_PUNCTUATION_RANGE,\n ...FULLWIDTH_CHARACTER_RANGES,\n BOPOMOFO_RANGE,\n BOPOMOFO_EXTENDED_RANGE,\n IDEOGRAPHIC_SYMBOLS_AND_PUNCTUATION_RANGE,\n SMALL_FORM_RANGE,\n VERTICAL_FORM_RANGE,\n];\n\nexport function isStringPartiallyChinese(str: string): boolean {\n if (str.length === 0) {\n return false;\n }\n for (const c of str) {\n if (isCodePointInRanges(c.codePointAt(0) as number, CHINESE_RANGES)) {\n return true;\n }\n }\n return false;\n}\n\nexport function isCodePointChinese(codePoint: number): boolean {\n return isCodePointInRanges(codePoint, CHINESE_RANGES);\n}\n\nexport function normalizePinyin(str: string): string {\n return str\n .normalize('NFC')\n .toLowerCase()\n .replace(/[\\s\\u30FB:''\\u2019-]|\\/\\//g, '');\n}\n","import type { LanguageTransformDescriptor, Rule } from '../../types/language-transformer';\nimport { prefixInflection, suffixInflection } from '../language-transforms';\n\nconst arabicLetters = '[\\u0620-\\u065F\\u066E-\\u06D3\\u06D5\\u06EE\\u06EF\\u06FA-\\u06FC\\u06FF]';\nconst directObjectPronouns1st = ['ني', 'نا'];\nconst directObjectPronouns2nd = ['ك', 'كما', 'كم', 'كن'];\nconst directObjectPronouns3rd = ['ه', 'ها', 'هما', 'هم', 'هن'];\nconst directObjectPronouns = [...directObjectPronouns1st, ...directObjectPronouns2nd, ...directObjectPronouns3rd];\nconst possessivePronouns = ['ي', 'نا', ...directObjectPronouns2nd, ...directObjectPronouns3rd];\nconst nonAssimilatingPossessivePronouns = ['نا', ...directObjectPronouns2nd, ...directObjectPronouns3rd];\n\nfunction getImperfectPrefixes(prefix: string, includeLiPrefix = true): string[] {\n return [\n `${prefix}`,\n `و${prefix}`,\n `ف${prefix}`,\n `س${prefix}`,\n `وس${prefix}`,\n `فس${prefix}`,\n ...(includeLiPrefix ? [`ل${prefix}`, `ول${prefix}`, `فل${prefix}`] : []),\n ];\n}\n\nfunction conditionalPrefixInflection(\n inflectedPrefix: string,\n deinflectedPrefix: string,\n initialStemSegment: string,\n conditionsIn: Condition[],\n conditionsOut: Condition[],\n): Rule<Condition> {\n const prefixRegExp = new RegExp(`^${inflectedPrefix}${initialStemSegment}`);\n return {\n type: 'prefix',\n isInflected: prefixRegExp,\n deinflect: (text) => deinflectedPrefix + text.slice(inflectedPrefix.length),\n conditionsIn,\n conditionsOut,\n };\n}\n\nfunction conditionalSuffixInflection(\n inflectedSuffix: string,\n deinflectedSuffix: string,\n finalStemSegment: string,\n conditionsIn: Condition[],\n conditionsOut: Condition[],\n): Rule<Condition> {\n const suffixRegExp = new RegExp(`${finalStemSegment + inflectedSuffix}$`);\n return {\n type: 'suffix',\n isInflected: suffixRegExp,\n deinflect: (text) => text.slice(0, -inflectedSuffix.length) + deinflectedSuffix,\n conditionsIn,\n conditionsOut,\n };\n}\n\nfunction sandwichInflection(\n inflectedPrefix: string,\n deinflectedPrefix: string,\n inflectedSuffix: string,\n deinflectedSuffix: string,\n conditionsIn: Condition[],\n conditionsOut: Condition[],\n { initialStemSegment = '', finalStemSegment = '' } = {},\n): Rule<Condition> {\n if (!inflectedSuffix && !deinflectedSuffix) {\n return conditionalPrefixInflection(\n inflectedPrefix,\n deinflectedPrefix,\n initialStemSegment,\n conditionsIn,\n conditionsOut,\n );\n }\n if (!inflectedPrefix && !deinflectedPrefix) {\n return conditionalSuffixInflection(\n inflectedSuffix,\n deinflectedSuffix,\n finalStemSegment,\n conditionsIn,\n conditionsOut,\n );\n }\n\n const regex = new RegExp(\n `^${inflectedPrefix}${initialStemSegment}${arabicLetters}+${finalStemSegment}${inflectedSuffix}$`,\n );\n return {\n type: 'other',\n isInflected: regex,\n deinflect: (text) =>\n deinflectedPrefix + text.slice(inflectedPrefix.length, -inflectedSuffix.length) + deinflectedSuffix,\n conditionsIn,\n conditionsOut,\n };\n}\n\nfunction getImperfectRules(\n inflectedPrefix: string,\n deinflectedPrefix: string,\n inflectedSuffix: string,\n deinflectedSuffix: string,\n {\n attachedSuffix = inflectedSuffix,\n attachesTo1st = true,\n attachesTo2nd = true,\n includeLiPrefix = true,\n initialStemSegment = '',\n finalStemSegment = '',\n } = {},\n): Rule<Condition>[] {\n const stemSegments = { initialStemSegment, finalStemSegment };\n const rules = getImperfectPrefixes(inflectedPrefix, includeLiPrefix).flatMap((pre) => [\n sandwichInflection(pre, deinflectedPrefix, inflectedSuffix, deinflectedSuffix, ['iv_p'], ['iv'], stemSegments),\n\n // With attached direct object pronouns\n ...(attachesTo1st\n ? directObjectPronouns1st.map((p) =>\n sandwichInflection(\n pre,\n deinflectedPrefix,\n attachedSuffix + p,\n deinflectedSuffix,\n ['iv_p'],\n ['iv'],\n stemSegments,\n ),\n )\n : []),\n ...(attachesTo2nd\n ? directObjectPronouns2nd.map((p) =>\n sandwichInflection(\n pre,\n deinflectedPrefix,\n attachedSuffix + p,\n deinflectedSuffix,\n ['iv_p'],\n ['iv'],\n stemSegments,\n ),\n )\n : []),\n ...directObjectPronouns3rd.map((p) =>\n sandwichInflection(\n pre,\n deinflectedPrefix,\n attachedSuffix + p,\n deinflectedSuffix,\n ['iv_p'],\n ['iv'],\n stemSegments,\n ),\n ),\n ]);\n\n if (!deinflectedPrefix) {\n const opts = {\n attachedSuffix,\n attachesTo1st,\n attachesTo2nd,\n includeLiPrefix,\n initialStemSegment,\n finalStemSegment,\n };\n\n // For Form IV, VII, VIII, IX, X, XI, XII, XIII, XIV, XV verbs\n rules.push(\n ...getImperfectRules(inflectedPrefix, 'أ', inflectedSuffix, deinflectedSuffix, opts),\n ...getImperfectRules(inflectedPrefix, 'ا', inflectedSuffix, deinflectedSuffix, opts),\n );\n }\n\n return rules;\n}\n\nconst conditions = {\n n: {\n name: 'Noun',\n isDictionaryForm: true,\n },\n n_p: {\n name: 'Noun with Prefix only',\n isDictionaryForm: false,\n subConditions: ['n_wa', 'n_bi', 'n_ka', 'n_li', 'n_al', 'n_bi_al', 'n_ka_al', 'n_lil', 'n_li_al'],\n },\n n_def: {\n name: 'Noun with Definite Prefix',\n isDictionaryForm: false,\n subConditions: ['n_al', 'n_bi_al', 'n_ka_al', 'n_lil', 'n_li_al'],\n },\n n_indef: {\n name: 'Noun with Indefinite Prefix',\n isDictionaryForm: false,\n subConditions: ['n_wa', 'n_bi', 'n_ka', 'n_li'],\n },\n n_nom: {\n name: 'Nominative Noun with Prefix',\n isDictionaryForm: false,\n subConditions: ['n_wa', 'n_li', 'n_al'],\n },\n n_nom_indef: {\n name: 'Nominative Noun with Indefinite Prefix',\n isDictionaryForm: false,\n subConditions: ['n_wa', 'n_li'],\n },\n n_wa: {\n name: 'Noun with و Prefix',\n isDictionaryForm: false,\n },\n n_bi: {\n name: 'Noun with ب Prefix',\n isDictionaryForm: false,\n },\n n_ka: {\n name: 'Noun with ك Prefix',\n isDictionaryForm: false,\n },\n n_li: {\n name: 'Noun with ل Prefix',\n isDictionaryForm: false,\n },\n n_al: {\n name: 'Noun with ال Prefix',\n isDictionaryForm: false,\n },\n n_bi_al: {\n name: 'Noun with بال Prefix',\n isDictionaryForm: false,\n },\n n_ka_al: {\n name: 'Noun with كال Prefix',\n isDictionaryForm: false,\n },\n n_lil: {\n name: 'Noun with لل Prefix',\n isDictionaryForm: false,\n },\n n_li_al: {\n name: 'Noun with Assimilated لل Prefix',\n isDictionaryForm: false,\n },\n n_s: {\n name: 'Noun with Suffix',\n isDictionaryForm: false,\n },\n v: {\n name: 'Verb',\n isDictionaryForm: true,\n subConditions: ['pv', 'iv', 'cv'],\n },\n pv: {\n name: 'Perfect Verb (no affixes)',\n isDictionaryForm: true,\n },\n pv_p: {\n name: 'Perfect Verb with Prefix',\n isDictionaryForm: false,\n },\n pv_s: {\n name: 'Perfect Verb with Suffix only',\n isDictionaryForm: false,\n },\n iv: {\n name: 'Imperfect Verb (no affixes)',\n isDictionaryForm: true,\n },\n iv_p: {\n name: 'Imperfect Verb with Prefix',\n isDictionaryForm: false,\n },\n iv_s: {\n name: 'Imperfect Verb with Suffix only',\n isDictionaryForm: false,\n },\n cv: {\n name: 'Command Verb (no affixes)',\n isDictionaryForm: true,\n },\n cv_p: {\n name: 'Command Verb with Prefix',\n isDictionaryForm: false,\n },\n cv_s: {\n name: 'Command Verb with Suffix only',\n isDictionaryForm: false,\n },\n};\n\ntype Condition = keyof typeof conditions;\n\nexport const arabicTransforms: LanguageTransformDescriptor<Condition> = {\n language: 'ar',\n conditions,\n transforms: {\n // Noun\n 'NPref-Wa': {\n name: 'and',\n description: 'and (و); and, so (ف)',\n rules: [prefixInflection('و', '', ['n_wa'], ['n']), prefixInflection('ف', '', ['n_wa'], ['n'])],\n },\n 'NPref-Bi': {\n name: 'by, with',\n description: 'by, with',\n rules: [\n prefixInflection('ب', '', ['n_bi'], ['n']),\n prefixInflection('وب', '', ['n_bi'], ['n']),\n prefixInflection('فب', '', ['n_bi'], ['n']),\n ],\n },\n 'NPref-Ka': {\n name: 'like, such as',\n description: 'like, such as',\n rules: [\n prefixInflection('ك', '', ['n_ka'], ['n']),\n prefixInflection('وك', '', ['n_ka'], ['n']),\n prefixInflection('فك', '', ['n_ka'], ['n']),\n ],\n },\n 'NPref-Li': {\n name: 'for, to; indeed, truly',\n description: 'for, to (لِ); indeed, truly (لَ)',\n rules: [\n prefixInflection('ل', '', ['n_li'], ['n']),\n prefixInflection('ول', '', ['n_li'], ['n']),\n prefixInflection('فل', '', ['n_li'], ['n']),\n ],\n },\n 'NPref-Al': {\n name: 'the',\n description: 'the',\n rules: [\n prefixInflection('ال', '', ['n_al'], ['n']),\n prefixInflection('وال', '', ['n_al'], ['n']),\n prefixInflection('فال', '', ['n_al'], ['n']),\n ],\n },\n 'NPref-BiAl': {\n name: 'by/with + the',\n description: 'by/with + the',\n rules: [\n prefixInflection('بال', '', ['n_bi_al'], ['n']),\n prefixInflection('وبال', '', ['n_bi_al'], ['n']),\n prefixInflection('فبال', '', ['n_bi_al'], ['n']),\n ],\n },\n 'NPref-KaAl': {\n name: 'like/such as + the',\n description: 'like/such as + the',\n rules: [\n prefixInflection('كال', '', ['n_ka_al'], ['n']),\n prefixInflection('وكال', '', ['n_ka_al'], ['n']),\n prefixInflection('فكال', '', ['n_ka_al'], ['n']),\n ],\n },\n 'NPref-Lil': {\n name: 'for/to + the',\n description: 'for/to + the',\n rules: [\n conditionalPrefixInflection('لل', '', '(?!ل)', ['n_lil'], ['n']),\n conditionalPrefixInflection('ولل', '', '(?!ل)', ['n_lil'], ['n']),\n conditionalPrefixInflection('فلل', '', '(?!ل)', ['n_lil'], ['n']),\n ],\n },\n 'NPref-LiAl': {\n name: 'for/to + the',\n description: 'for/to + the, assimilated with initial ل',\n rules: [\n prefixInflection('لل', 'ل', ['n_li_al'], ['n']),\n prefixInflection('ولل', 'ل', ['n_li_al'], ['n']),\n prefixInflection('فلل', 'ل', ['n_li_al'], ['n']),\n ],\n },\n\n 'NSuff-h': {\n name: 'pos. pron.',\n description: 'possessive pronoun',\n rules: [\n ...nonAssimilatingPossessivePronouns.map((p) => suffixInflection(p, '', ['n_s'], ['n_indef', 'n'])),\n conditionalSuffixInflection('ي', '', '(?<!ي)', ['n_s'], ['n_indef', 'n']),\n ],\n },\n 'NSuff-ap': {\n name: 'fem. sg.',\n description: 'fem. sg.',\n rules: [suffixInflection('ة', '', ['n_s'], ['n_p', 'n'])],\n },\n 'NSuff-ath': {\n name: 'fem. sg. + pos. pron.',\n description: 'fem. sg. + possessive pronoun',\n rules: [\n ...possessivePronouns.map((p) => suffixInflection(`ت${p}`, '', ['n_s'], ['n_indef', 'n'])),\n ...possessivePronouns.map((p) => suffixInflection(`ت${p}`, 'ة', ['n_s'], ['n_indef', 'n'])),\n ],\n },\n 'NSuff-AF': {\n name: 'acc. indef.',\n description: 'accusative indefinite (اً)',\n rules: [\n suffixInflection('ا', '', ['n_s'], ['n_wa', 'n']),\n suffixInflection('اً', '', ['n_s'], ['n_wa', 'n']),\n suffixInflection('ًا', '', ['n_s'], ['n_wa', 'n']),\n ],\n },\n 'NSuff-An': {\n name: 'dual',\n description: 'nominative m. dual',\n rules: [\n suffixInflection('ان', '', ['n_s'], ['n_nom', 'n']),\n suffixInflection('آن', 'أ', ['n_s'], ['n_nom', 'n']),\n ],\n },\n 'NSuff-Ah': {\n name: 'dual + pos. pron.',\n description: 'nominative m. dual + possessive pronoun',\n rules: [\n suffixInflection('ا', '', ['n_s'], ['n_nom_indef', 'n']),\n suffixInflection('آ', 'أ', ['n_s'], ['n_nom_indef', 'n']),\n ...possessivePronouns.map((p) => suffixInflection(`ا${p}`, '', ['n_s'], ['n_nom_indef', 'n'])),\n ...possessivePronouns.map((p) => suffixInflection(`آ${p}`, 'أ', ['n_s'], ['n_nom_indef', 'n'])),\n ],\n },\n 'NSuff-ayn': {\n name: 'dual',\n description: 'accusative/genitive m. dual',\n rules: [suffixInflection('ين', '', ['n_s'], ['n_p', 'n'])],\n },\n 'NSuff-ayh': {\n name: 'dual + pos. pron.',\n description: 'accusative/genitive m. dual + possessive pronoun',\n rules: [\n suffixInflection('ي', '', ['n_s'], ['n_indef', 'n']),\n ...nonAssimilatingPossessivePronouns.map((p) =>\n suffixInflection(`ي${p}`, '', ['n_s'], ['n_indef', 'n']),\n ),\n ],\n },\n 'NSuff-atAn': {\n name: 'dual',\n description: 'nominative f. dual',\n rules: [\n suffixInflection('تان', '', ['n_s'], ['n_nom', 'n']),\n suffixInflection('تان', 'ة', ['n_s'], ['n_nom', 'n']),\n ],\n },\n 'NSuff-atAh': {\n name: 'dual + pos. pron.',\n description: 'nominative f. dual + possessive pronoun',\n rules: [\n suffixInflection('تا', '', ['n_s'], ['n_nom_indef', 'n']),\n suffixInflection('تا', 'ة', ['n_s'], ['n_nom_indef', 'n']),\n ...possessivePronouns.map((p) => suffixInflection(`تا${p}`, '', ['n_s'], ['n_nom_indef', 'n'])),\n ...possessivePronouns.map((p) => suffixInflection(`تا${p}`, 'ة', ['n_s'], ['n_nom_indef', 'n'])),\n ],\n },\n 'NSuff-tayn': {\n name: 'dual',\n description: 'accusative/genitive f. dual',\n rules: [\n suffixInflection('تين', '', ['n_s'], ['n_p', 'n']),\n suffixInflection('تين', 'ة', ['n_s'], ['n_p', 'n']),\n ],\n },\n 'NSuff-tayh': {\n name: 'dual + pos. pron.',\n description: 'accusative/genitive f. dual + possessive pronoun',\n rules: [\n suffixInflection('تي', '', ['n_s'], ['n_indef', 'n']),\n suffixInflection('تي', 'ة', ['n_s'], ['n_indef', 'n']),\n ...nonAssimilatingPossessivePronouns.map((p) =>\n suffixInflection(`تي${p}`, '', ['n_s'], ['n_indef', 'n']),\n ),\n ...nonAssimilatingPossessivePronouns.map((p) =>\n suffixInflection(`تي${p}`, 'ة', ['n_s'], ['n_indef', 'n']),\n ),\n ],\n },\n 'NSuff-At': {\n name: 'f. pl.',\n description: 'sound f. plural',\n rules: [\n suffixInflection('ات', '', ['n_s'], ['n_p', 'n']),\n suffixInflection('ات', 'ة', ['n_s'], ['n_p', 'n']),\n suffixInflection('آت', 'أ', ['n_s'], ['n_p', 'n']),\n suffixInflection('آت', 'أة', ['n_s'], ['n_p', 'n']),\n ],\n },\n 'NSuff-Ath': {\n name: 'f. pl. + pos. pron.',\n description: 'sound f. plural + possessive pronoun',\n rules: [\n ...possessivePronouns.map((p) => suffixInflection(`ات${p}`, '', ['n_s'], ['n_indef', 'n'])),\n ...possessivePronouns.map((p) => suffixInflection(`ات${p}`, 'ة', ['n_s'], ['n_indef', 'n'])),\n ...possessivePronouns.map((p) => suffixInflection(`آت${p}`, 'أ', ['n_s'], ['n_indef', 'n'])),\n ...possessivePronouns.map((p) => suffixInflection(`آت${p}`, 'أة', ['n_s'], ['n_indef', 'n'])),\n ],\n },\n 'NSuff-wn': {\n name: 'm. pl.',\n description: 'nominative sound m. plural',\n rules: [suffixInflection('ون', '', ['n_s'], ['n_nom', 'n'])],\n },\n 'NSuff-wh': {\n name: 'm. pl + pos. pron.',\n description: 'nominative sound m. plural + possessive pronoun',\n rules: [\n suffixInflection('و', '', ['n_s'], ['n_nom_indef', 'n']),\n ...nonAssimilatingPossessivePronouns.map((p) =>\n suffixInflection(`و${p}`, '', ['n_s'], ['n_nom_indef', 'n']),\n ),\n ],\n },\n 'NSuff-iyn': {\n name: 'm. pl.',\n description: 'accusative/genitive sound m. plural',\n rules: [suffixInflection('ين', '', ['n_s'], ['n_p', 'n'])],\n },\n 'NSuff-iyh': {\n name: 'm. pl. + pos. pron.',\n description: 'accusative/genitive sound m. plural + possessive pronoun',\n rules: [\n suffixInflection('ي', '', ['n_s'], ['n_indef', 'n']),\n ...nonAssimilatingPossessivePronouns.map((p) =>\n suffixInflection(`ي${p}`, '', ['n_s'], ['n_indef', 'n']),\n ),\n ],\n },\n\n // Perfect Verb\n 'PVPref-Wa': {\n name: 'and',\n description: 'and (و); and, so (ف)',\n rules: [\n prefixInflection('و', '', ['pv_p'], ['pv_s', 'pv']),\n prefixInflection('ف', '', ['pv_p'], ['pv_s', 'pv']),\n ],\n },\n 'PVPref-La': {\n name: 'would have',\n description: 'Result clause particle (if ... I would have ...)',\n rules: [prefixInflection('ل', '', ['pv_p'], ['pv_s', 'pv'])],\n },\n\n 'PVSuff-ah': {\n name: 'Perfect Tense',\n description: 'Perfect Verb + D.O pronoun',\n rules: directObjectPronouns.map((p) => suffixInflection(p, '', ['pv_s'], ['pv'])),\n },\n 'PVSuff-n': {\n name: 'Perfect Tense',\n description: 'Perfect Verb suffixes assimilating with ن',\n rules: [\n // Stem doesn't end in ن\n conditionalSuffixInflection('ن', '', '(?<!ن)', ['pv_s'], ['pv']),\n ...directObjectPronouns.map((p) =>\n conditionalSuffixInflection(`ن${p}`, '', '(?<!ن)', ['pv_s'], ['pv']),\n ),\n\n conditionalSuffixInflection('نا', '', '(?<!ن)', ['pv_s'], ['pv']),\n ...directObjectPronouns2nd.map((p) =>\n conditionalSuffixInflection(`نا${p}`, '', '(?<!ن)', ['pv_s'], ['pv']),\n ),\n ...directObjectPronouns3rd.map((p) =>\n conditionalSuffixInflection(`نا${p}`, '', '(?<!ن)', ['pv_s'], ['pv']),\n ),\n\n // Suffixes assimilated with stems ending in ن\n ...directObjectPronouns.map((p) => suffixInflection(`ن${p}`, 'ن', ['pv_s'], ['pv'])),\n\n suffixInflection('نا', 'ن', ['pv_s'], ['pv']),\n ...directObjectPronouns2nd.map((p) => suffixInflection(`نا${p}`, 'ن', ['pv_s'], ['pv'])),\n ...directObjectPronouns3rd.map((p) => suffixInflection(`نا${p}`, 'ن', ['pv_s'], ['pv'])),\n ],\n },\n 'PVSuff-t': {\n name: 'Perfect Tense',\n description: 'Perfect Verb suffixes assimilating with ت',\n rules: [\n // This can either be 3rd p. f. singular, or 1st/2nd p. singular\n // The former doesn't assimilate, the latter do, so the below accounts for both\n suffixInflection('ت', '', ['pv_s'], ['pv']),\n ...directObjectPronouns.map((p) => suffixInflection(`ت${p}`, '', ['pv_s'], ['pv'])),\n\n // Stem doesn't end in ت\n conditionalSuffixInflection('تما', '', '(?<!ت)', ['pv_s'], ['pv']),\n ...directObjectPronouns1st.map((p) =>\n conditionalSuffixInflection(`تما${p}`, '', '(?<!ت)', ['pv_s'], ['pv']),\n ),\n ...directObjectPronouns3rd.map((p) =>\n conditionalSuffixInflection(`تما${p}`, '', '(?<!ت)', ['pv_s'], ['pv']),\n ),\n\n conditionalSuffixInflection('تم', '', '(?<!ت)', ['pv_s'], ['pv']),\n ...directObjectPronouns1st.map((p) =>\n conditionalSuffixInflection(`تمو${p}`, '', '(?<!ت)', ['pv_s'], ['pv']),\n ),\n ...directObjectPronouns3rd.map((p) =>\n conditionalSuffixInflection(`تمو${p}`, '', '(?<!ت)', ['pv_s'], ['pv']),\n ),\n\n conditionalSuffixInflection('تن', '', '(?<!ت)', ['pv_s'], ['pv']),\n ...directObjectPronouns1st.map((p) =>\n conditionalSuffixInflection(`تن${p}`, '', '(?<!ت)', ['pv_s'], ['pv']),\n ),\n ...directObjectPronouns3rd.map((p) =>\n conditionalSuffixInflection(`تن${p}`, '', '(?<!ت)', ['pv_s'], ['pv']),\n ),\n\n // Suffixes assimilated with stems ending in ت\n ...directObjectPronouns.map((p) => suffixInflection(`ت${p}`, 'ت', ['pv_s'], ['pv'])),\n\n suffixInflection('تما', 'ت', ['pv_s'], ['pv']),\n ...directObjectPronouns1st.map((p) => suffixInflection(`تما${p}`, 'ت', ['pv_s'], ['pv'])),\n ...directObjectPronouns3rd.map((p) => suffixInflection(`تما${p}`, 'ت', ['pv_s'], ['pv'])),\n\n suffixInflection('تم', 'ت', ['pv_s'], ['pv']),\n ...directObjectPronouns1st.map((p) => suffixInflection(`تمو${p}`, 'ت', ['pv_s'], ['pv'])),\n ...directObjectPronouns3rd.map((p) => suffixInflection(`تمو${p}`, 'ت', ['pv_s'], ['pv'])),\n\n suffixInflection('تن', 'ت', ['pv_s'], ['pv']),\n ...directObjectPronouns1st.map((p) => suffixInflection(`تن${p}`, 'ت', ['pv_s'], ['pv'])),\n ...directObjectPronouns3rd.map((p) => suffixInflection(`تن${p}`, 'ت', ['pv_s'], ['pv'])),\n ],\n },\n 'PVSuff-at': {\n name: 'Perfect Tense',\n description: 'Perfect Verb non-assimilating ت suffixes',\n rules: [\n suffixInflection('تا', '', ['pv_s'], ['pv']),\n ...directObjectPronouns.map((p) => suffixInflection(`تا${p}`, '', ['pv_s'], ['pv'])),\n ],\n },\n 'PVSuff-A': {\n name: 'Perfect Tense',\n description: 'Perfect Verb 3rd. m. dual',\n rules: [\n suffixInflection('ا', '', ['pv_s'], ['pv']),\n ...directObjectPronouns.map((p) => suffixInflection(`ا${p}`, '', ['pv_s'], ['pv'])),\n\n // Combines with أ to form آ\n suffixInflection('آ', 'أ', ['pv_s'], ['pv']),\n ...directObjectPronouns.map((p) => suffixInflection(`آ${p}`, 'أ', ['pv_s'], ['pv'])),\n ],\n },\n 'PVSuff-uw': {\n name: 'Perfect Tense',\n description: 'Perfect Verb 3rd. m. pl.',\n rules: [\n suffixInflection('وا', '', ['pv_s'], ['pv']),\n ...directObjectPronouns.map((p) => suffixInflection(`و${p}`, '', ['pv_s'], ['pv'])),\n ],\n },\n\n // Imperfect Verb\n 'IVPref-hw': {\n name: 'Imperfect Tense',\n description: 'Imperfect Verb 3rd. m. sing.',\n rules: [...getImperfectRules('ي', '', '', '')],\n },\n 'IVPref-hy': {\n name: 'Imperfect Tense',\n description: 'Imperfect Verb 3rd. f. sing.',\n rules: [...getImperfectRules('ت', '', '', '')],\n },\n 'IVPref-hmA': {\n name: 'Imperfect Tense',\n description: 'Imperfect Verb 3rd. m. dual',\n rules: [\n // Indicative\n ...getImperfectRules('ي', '', 'ان', '', { includeLiPrefix: false }),\n ...getImperfectRules('ي', '', 'آن', 'أ', { includeLiPrefix: false }),\n // Subjunctive\n ...getImperfectRules('ي', '', 'ا', ''),\n ...getImperfectRules('ي', '', 'آ', 'أ'),\n ],\n },\n 'IVPref-hmA-ta': {\n name: 'Imperfect Tense',\n description: 'Imperfect Verb 3rd. f. dual',\n rules: [\n // Indicative\n ...getImperfectRules('ت', '', 'ان', '', { includeLiPrefix: false }),\n ...getImperfectRules('ت', '', 'آن', 'أ', { includeLiPrefix: false }),\n // Subjunctive\n ...getImperfectRules('ت', '', 'ا', ''),\n ...getImperfectRules('ت', '', 'آ', 'أ'),\n ],\n },\n 'IVPref-hm': {\n name: 'Imperfect Tense',\n description: 'Imperfect Verb 3rd. m. pl.',\n rules: [\n // Indicative\n ...getImperfectRules('ي', '', 'ون', '', { includeLiPrefix: false }),\n // Subjunctive\n ...getImperfectRules('ي', '', 'وا', '', { attachedSuffix: 'و' }),\n ],\n },\n 'IVPref-hn': {\n name: 'Imperfect Tense',\n description: 'Imperfect Verb 3rd. f. pl.',\n rules: [\n ...getImperfectRules('ي', '', 'ن', '', { finalStemSegment: '(?<!ن)' }),\n ...getImperfectRules('ي', '', 'ن', 'ن'),\n ],\n },\n 'IVPref-Anta': {\n name: 'Imperfect Tense',\n description: 'Imperfect Verb 2nd. m. sing.',\n rules: [...getImperfectRules('ت', '', '', '', { attachesTo2nd: false })],\n },\n 'IVPref-Anti': {\n name: 'Imperfect Tense',\n description: 'Imperfect Verb 2nd. f. sing.',\n rules: [\n ...getImperfectRules('ت', '', 'ين', '', { attachesTo2nd: false, includeLiPrefix: false }), // Indicative\n ...getImperfectRules('ت', '', 'ي', '', { attachesTo2nd: false }), // Subjunctive\n ],\n },\n 'IVPref-AntmA': {\n name: 'Imperfect Tense',\n description: 'Imperfect Verb 2nd. dual',\n rules: [\n // Indicative\n ...getImperfectRules('ت', '', 'ان', '', { attachesTo2nd: false, includeLiPrefix: false }),\n ...getImperfectRules('ت', '', 'آن', 'أ', { attachesTo2nd: false, includeLiPrefix: false }),\n // Subjunctive\n ...getImperfectRules('ت', '', 'ا', '', { attachesTo2nd: false }),\n ...getImperfectRules('ت', '', 'آ', 'أ', { attachesTo2nd: false }),\n ],\n },\n 'IVPref-Antm': {\n name: 'Imperfect Tense',\n description: 'Imperfect Verb 2nd. m. pl.',\n rules: [\n // Indicative\n ...getImperfectRules('ت', '', 'ون', '', { attachesTo2nd: false, includeLiPrefix: false }),\n // Subjunctive\n ...getImperfectRules('ت', '', 'وا', '', { attachesTo2nd: false, attachedSuffix: 'و' }),\n ],\n },\n 'IVPref-Antn': {\n name: 'Imperfect Tense',\n description: 'Imperfect Verb 2nd. f. pl.',\n rules: [\n ...getImperfectRules('ت', '', 'ن', '', { attachesTo2nd: false, finalStemSegment: '(?<!ن)' }),\n ...getImperfectRules('ت', '', 'ن', 'ن', { attachesTo2nd: false }),\n ],\n },\n 'IVPref-AnA': {\n name: 'Imperfect Tense',\n description: 'Imperfect Verb 1st. sing.',\n rules: [\n ...getImperfectRules('أ', '', '', '', { attachesTo1st: false }),\n ...getImperfectRules('آ', 'أ', '', '', { attachesTo1st: false }),\n ],\n },\n 'IVPref-nHn': {\n name: 'Imperfect Tense',\n description: 'Imperfect Verb 1st. pl.',\n rules: [...getImperfectRules('ن', '', '', '', { attachesTo1st: false })],\n },\n\n // Command Verb\n CVPref: {\n name: 'Imperative',\n description: 'Command Verb',\n rules: [\n prefixInflection('و', '', ['cv_p'], ['cv_s']),\n prefixInflection('ف', '', ['cv_p'], ['cv_s']),\n prefixInflection('ا', '', ['cv_p'], ['cv_s', 'cv']),\n prefixInflection('وا', '', ['cv_p'], ['cv_s', 'cv']),\n prefixInflection('فا', '', ['cv_p'], ['cv_s', 'cv']),\n ],\n },\n CVSuff: {\n name: 'Imperative',\n description: 'Command Verb',\n rules: [\n // 2nd. m. sing.\n ...directObjectPronouns1st.map((p) => suffixInflection(p, '', ['cv_s'], ['cv'])),\n ...directObjectPronouns3rd.map((p) => suffixInflection(p, '', ['cv_s'], ['cv'])),\n\n // 2nd. f. sing\n suffixInflection('ي', '', ['cv_s'], ['cv']),\n ...directObjectPronouns1st.map((p) => suffixInflection(`ي${p}`, '', ['cv_s'], ['cv'])),\n ...directObjectPronouns3rd.map((p) => suffixInflection(`ي${p}`, '', ['cv_s'], ['cv'])),\n\n // 2nd. dual\n suffixInflection('ا', '', ['cv_s'], ['cv']),\n ...directObjectPronouns1st.map((p) => suffixInflection(`ا${p}`, '', ['cv_s'], ['cv'])),\n ...directObjectPronouns3rd.map((p) => suffixInflection(`ا${p}`, '', ['cv_s'], ['cv'])),\n\n // 2nd. m. pl.\n suffixInflection('وا', '', ['cv_s'], ['cv']),\n ...directObjectPronouns1st.map((p) => suffixInflection(`و${p}`, '', ['cv_s'], ['cv'])),\n ...directObjectPronouns3rd.map((p) => suffixInflection(`و${p}`, '', ['cv_s'], ['cv'])),\n\n // 2nd. f. pl.\n suffixInflection('ن', '', ['cv_s'], ['cv']),\n ...directObjectPronouns1st.map((p) => suffixInflection(`ن${p}`, '', ['cv_s'], ['cv'])),\n ...directObjectPronouns3rd.map((p) => suffixInflection(`ن${p}`, '', ['cv_s'], ['cv'])),\n ],\n },\n },\n};\n","import type { TextProcessor } from '../../types/language';\nimport { basicTextProcessorOptions } from '../text-processors';\n\nconst arabicDiacritics = /[\\u0610-\\u061A\\u064B-\\u065F\\u0670\\u06D6-\\u06ED]/g;\n\nexport const removeArabicScriptDiacritics: TextProcessor<boolean> = {\n name: 'Remove diacritics',\n description: 'Remove Arabic script diacritics',\n options: basicTextProcessorOptions,\n process: (str, setting) => {\n return setting ? str.replace(arabicDiacritics, '') : str;\n },\n};\n\nexport const removeTatweel: TextProcessor<boolean> = {\n name: 'Remove tatweel',\n description: 'Remove tatweel (\\u0640)',\n options: basicTextProcessorOptions,\n process: (str, setting) => {\n return setting ? str.replace(/\\u0640/g, '') : str;\n },\n};\n\nconst normalizeMap = new Map<string, string>([\n ['\\u0671', '\\u0627'], // Alif wasla -> Alif\n ['\\u0622', '\\u0627'], // Alif with madda above -> Alif\n ['\\u0623', '\\u0627'], // Alif with hamza above -> Alif\n ['\\u0625', '\\u0627'], // Alif with hamza below -> Alif\n ['\\u0624', '\\u0648'], // Waw with hamza above -> Waw\n ['\\u0626', '\\u064A'], // Yeh with hamza above -> Yeh\n ['\\u0649', '\\u064A'], // Alif maksura -> Yeh\n ['\\u0629', '\\u0647'], // Teh marbuta -> Heh\n]);\n\nexport const normalizeUnicode: TextProcessor<boolean> = {\n name: 'Normalize Unicode',\n description: 'Normalize Arabic Unicode characters',\n options: basicTextProcessorOptions,\n process: (str, setting) => {\n if (!setting) {\n return str;\n }\n let result = '';\n for (const char of str) {\n result += normalizeMap.get(char) ?? char;\n }\n return result;\n },\n};\n\nexport const addHamzaTop: TextProcessor<boolean> = {\n name: 'Add hamza above Alif',\n description: '\\u0627 \\u2192 \\u0623',\n options: basicTextProcessorOptions,\n process: (str, setting) => {\n return setting ? str.replace(/\\u0627/g, '\\u0623') : str;\n },\n};\n\nexport const addHamzaBottom: TextProcessor<boolean> = {\n name: 'Add hamza below Alif',\n description: '\\u0627 \\u2192 \\u0625',\n options: basicTextProcessorOptions,\n process: (str, setting) => {\n return setting ? str.replace(/\\u0627/g, '\\u0625') : str;\n },\n};\n\nexport const convertAlifMaqsuraToYaa: TextProcessor<boolean> = {\n name: 'Convert Alif Maqsura to Yaa',\n description: '\\u0649 \\u2192 \\u064A',\n options: basicTextProcessorOptions,\n process: (str, setting) => {\n return setting ? str.replace(/\\u0649/g, '\\u064A') : str;\n },\n};\n\nexport const convertHaToTaMarbuta: TextProcessor<boolean> = {\n name: 'Convert Ha to Ta Marbuta',\n description: '\\u0647 \\u2192 \\u0629',\n options: basicTextProcessorOptions,\n process: (str, setting) => {\n return setting ? str.replace(/\\u0647/g, '\\u0629') : str;\n },\n};\n","import type { LanguageTransformDescriptor, Rule } from '../../types/language-transformer';\nimport { prefixInflection, suffixInflection } from '../language-transforms';\n\n// https://www.dartmouth.edu/~deutsch/Grammatik/Wortbildung/Separables.html\nconst separablePrefixes = [\n 'ab',\n 'an',\n 'auf',\n 'aus',\n 'auseinander',\n 'bei',\n 'da',\n 'dabei',\n 'dar',\n 'daran',\n 'dazwischen',\n 'durch',\n 'ein',\n 'empor',\n 'entgegen',\n 'entlang',\n 'entzwei',\n 'fehl',\n 'fern',\n 'fest',\n 'fort',\n 'frei',\n 'gegenüber',\n 'gleich',\n 'heim',\n 'her',\n 'herab',\n 'heran',\n 'herauf',\n 'heraus',\n 'herbei',\n 'herein',\n 'herüber',\n 'herum',\n 'herunter',\n 'hervor',\n 'hin',\n 'hinab',\n 'hinauf',\n 'hinaus',\n 'hinein',\n 'hinterher',\n 'hinunter',\n 'hinweg',\n 'hinzu',\n 'hoch',\n 'los',\n 'mit',\n 'nach',\n 'nebenher',\n 'nieder',\n 'statt',\n 'um',\n 'vor',\n 'voran',\n 'voraus',\n 'vorbei',\n 'vorüber',\n 'vorweg',\n 'weg',\n 'weiter',\n 'wieder',\n 'zu',\n 'zurecht',\n 'zurück',\n 'zusammen',\n];\nconst germanLetters = 'a-zA-ZäöüßÄÖÜẞ';\n\nconst conditions = {\n v: {\n name: 'Verb',\n isDictionaryForm: true,\n subConditions: ['vw', 'vs'],\n },\n vw: {\n name: 'Weak verb',\n isDictionaryForm: true,\n },\n vs: {\n name: 'Strong verb',\n isDictionaryForm: true,\n },\n n: {\n name: 'Noun',\n isDictionaryForm: true,\n },\n adj: {\n name: 'Adjective',\n isDictionaryForm: true,\n },\n};\n\ntype Condition = keyof typeof conditions;\n\nfunction separatedPrefix(prefix: string, conditionsIn: Condition[], conditionsOut: Condition[]): Rule<Condition> {\n const regex = new RegExp(`^([${germanLetters}]+) .+ ${prefix}$`);\n return {\n type: 'other',\n isInflected: regex,\n deinflect: (term) => {\n return term.replace(regex, `$1 ${prefix}`);\n },\n conditionsIn,\n conditionsOut,\n };\n}\n\nconst separatedPrefixInflections = separablePrefixes.map((prefix) => {\n return separatedPrefix(prefix, [], []);\n});\n\nconst zuInfinitiveInflections = separablePrefixes.map((prefix) => {\n return prefixInflection(`${prefix}zu`, prefix, [], ['v']);\n});\n\nfunction getBasicPastParticiples(): Rule<Condition>[] {\n const regularPastParticiple = new RegExp(`^ge([${germanLetters}]+)t$`);\n const suffixes = ['n', 'en'];\n return suffixes.map((suffix) => ({\n type: 'other',\n isInflected: regularPastParticiple,\n deinflect: (term) => {\n return term.replace(regularPastParticiple, `$1${suffix}`);\n },\n conditionsIn: [],\n conditionsOut: ['vw'],\n }));\n}\n\nfunction getSeparablePastParticiples(): Rule<Condition>[] {\n const prefixDisjunction = separablePrefixes.join('|');\n const separablePastParticiple = new RegExp(`^(${prefixDisjunction})ge([${germanLetters}]+)t$`);\n const suffixes = ['n', 'en'];\n return suffixes.map((suffix) => ({\n type: 'other',\n isInflected: separablePastParticiple,\n deinflect: (term) => {\n return term.replace(separablePastParticiple, `$1$2${suffix}`);\n },\n conditionsIn: [],\n conditionsOut: ['vw'],\n }));\n}\n\nexport const germanTransforms: LanguageTransformDescriptor<Condition> = {\n language: 'de',\n conditions,\n transforms: {\n nominalization: {\n name: 'nominalization',\n description: 'Noun formed from a verb',\n rules: [\n suffixInflection('ung', 'en', [], ['v']),\n suffixInflection('lung', 'eln', [], ['v']),\n suffixInflection('rung', 'rn', [], ['v']),\n ],\n },\n '-bar': {\n name: '-bar',\n description: '-able adjective from a verb',\n rules: [suffixInflection('bar', 'en', ['adj'], ['v']), suffixInflection('bar', 'n', ['adj'], ['v'])],\n },\n negative: {\n name: 'negative',\n description: 'Negation',\n rules: [prefixInflection('un', '', [], ['adj'])],\n },\n 'past participle': {\n name: 'past participle',\n rules: [...getBasicPastParticiples(), ...getSeparablePastParticiples()],\n },\n 'separated prefix': {\n name: 'separated prefix',\n rules: [...separatedPrefixInflections],\n },\n 'zu-infinitive': {\n name: 'zu-infinitive',\n rules: [...zuInfinitiveInflections],\n },\n '-heit': {\n name: '-heit',\n description:\n '1. Converts an adjective into a noun and usually denotes an abstract quality of the adjectival root. ' +\n 'It is often equivalent to the English suffixes -ness, -th, -ty, -dom:\\n' +\n '\\t schön (“beautiful”) + -heit → Schönheit (“beauty”)\\n' +\n '\\t neu (“new”) + -heit → Neuheit (“novelty”)\\n' +\n '2. Converts concrete nouns into abstract nouns:\\n' +\n '\\t Kind (“child”) + -heit → Kindheit (“childhood”)\\n' +\n '\\t Christ (“Christian”) + -heit → Christenheit (“Christendom”)\\n',\n rules: [\n suffixInflection('heit', '', ['n'], ['adj', 'n']),\n suffixInflection('keit', '', ['n'], ['adj', 'n']),\n ],\n },\n },\n};\n","import type { BidirectionalConversionPreprocessor } from '../../types/language';\n\nexport const eszettPreprocessor: BidirectionalConversionPreprocessor = {\n name: 'Convert between \\u00df and ss',\n description: '\\u00df \\u2192 ss and vice versa',\n options: ['off', 'direct', 'inverse'],\n process: (str, setting) => {\n switch (setting) {\n case 'off':\n return str;\n case 'direct':\n return str.replace(/\\u00df/g, 'ss');\n case 'inverse':\n return str.replace(/ss/g, '\\u00df');\n }\n },\n};\n","import type { LanguageTransformDescriptor, Rule, SuffixRule } from '../../types/language-transformer';\nimport { prefixInflection, suffixInflection } from '../language-transforms';\n\nconst conditions = {\n v: {\n name: 'Verb',\n isDictionaryForm: true,\n subConditions: ['v_phr'],\n },\n v_phr: {\n name: 'Phrasal verb',\n isDictionaryForm: true,\n },\n n: {\n name: 'Noun',\n isDictionaryForm: true,\n subConditions: ['np', 'ns'],\n },\n np: {\n name: 'Noun plural',\n isDictionaryForm: true,\n },\n ns: {\n name: 'Noun singular',\n isDictionaryForm: true,\n },\n adj: {\n name: 'Adjective',\n isDictionaryForm: true,\n },\n adv: {\n name: 'Adverb',\n isDictionaryForm: true,\n },\n};\n\ntype Condition = keyof typeof conditions;\n\nfunction doubledConsonantInflection(\n consonants: string,\n suffix: string,\n conditionsIn: Condition[],\n conditionsOut: Condition[],\n): SuffixRule<Condition>[] {\n const inflections: SuffixRule<Condition>[] = [];\n for (const consonant of consonants) {\n inflections.push(suffixInflection(`${consonant}${consonant}${suffix}`, consonant, conditionsIn, conditionsOut));\n }\n return inflections;\n}\n\nconst pastSuffixInflections = [\n suffixInflection('ed', '', ['v'], ['v']), // 'walked'\n suffixInflection('ed', 'e', ['v'], ['v']), // 'hoped'\n suffixInflection('ied', 'y', ['v'], ['v']), // 'tried'\n suffixInflection('cked', 'c', ['v'], ['v']), // 'frolicked'\n ...doubledConsonantInflection('bdgklmnprstz', 'ed', ['v'], ['v']),\n\n suffixInflection('laid', 'lay', ['v'], ['v']),\n suffixInflection('paid', 'pay', ['v'], ['v']),\n suffixInflection('said', 'say', ['v'], ['v']),\n];\n\nconst ingSuffixInflections = [\n suffixInflection('ing', '', ['v'], ['v']), // 'walking'\n suffixInflection('ing', 'e', ['v'], ['v']), // 'driving'\n suffixInflection('ying', 'ie', ['v'], ['v']), // 'lying'\n suffixInflection('cking', 'c', ['v'], ['v']), // 'panicking'\n ...doubledConsonantInflection('bdgklmnprstz', 'ing', ['v'], ['v']),\n];\n\nconst thirdPersonSgPresentSuffixInflections = [\n suffixInflection('s', '', ['v'], ['v']), // 'walks'\n suffixInflection('es', '', ['v'], ['v']), // 'teaches'\n suffixInflection('ies', 'y', ['v'], ['v']), // 'tries'\n];\n\nconst phrasalVerbParticles = [\n 'aboard',\n 'about',\n 'above',\n 'across',\n 'ahead',\n 'alongside',\n 'apart',\n 'around',\n 'aside',\n 'astray',\n 'away',\n 'back',\n 'before',\n 'behind',\n 'below',\n 'beneath',\n 'besides',\n 'between',\n 'beyond',\n 'by',\n 'close',\n 'down',\n 'east',\n 'west',\n 'north',\n 'south',\n 'eastward',\n 'westward',\n 'northward',\n 'southward',\n 'forward',\n 'backward',\n 'backwards',\n 'forwards',\n 'home',\n 'in',\n 'inside',\n 'instead',\n 'near',\n 'off',\n 'on',\n 'opposite',\n 'out',\n 'outside',\n 'over',\n 'overhead',\n 'past',\n 'round',\n 'since',\n 'through',\n 'throughout',\n 'together',\n 'under',\n 'underneath',\n 'up',\n 'within',\n 'without',\n];\nconst phrasalVerbPrepositions = [\n 'aback',\n 'about',\n 'above',\n 'across',\n 'after',\n 'against',\n 'ahead',\n 'along',\n 'among',\n 'apart',\n 'around',\n 'as',\n 'aside',\n 'at',\n 'away',\n 'back',\n 'before',\n 'behind',\n 'below',\n 'between',\n 'beyond',\n 'by',\n 'down',\n 'even',\n 'for',\n 'forth',\n 'forward',\n 'from',\n 'in',\n 'into',\n 'of',\n 'off',\n 'on',\n 'onto',\n 'open',\n 'out',\n 'over',\n 'past',\n 'round',\n 'through',\n 'to',\n 'together',\n 'toward',\n 'towards',\n 'under',\n 'up',\n 'upon',\n 'way',\n 'with',\n 'without',\n];\n\nconst particlesDisjunction = phrasalVerbParticles.join('|');\nconst phrasalVerbWordSet = new Set([...phrasalVerbParticles, ...phrasalVerbPrepositions]);\nconst phrasalVerbWordDisjunction = [...phrasalVerbWordSet].join('|');\n\nconst phrasalVerbInterposedObjectRule: Rule<Condition> = {\n type: 'other',\n isInflected: new RegExp(`^\\\\w* (?:(?!\\\\b(${phrasalVerbWordDisjunction})\\\\b).)+ (?:${particlesDisjunction})`),\n deinflect: (term: string) => {\n return term.replace(\n new RegExp(`(?<=\\\\w) (?:(?!\\\\b(${phrasalVerbWordDisjunction})\\\\b).)+ (?=(?:${particlesDisjunction}))`),\n ' ',\n );\n },\n conditionsIn: [],\n conditionsOut: ['v_phr'],\n};\n\nfunction createPhrasalVerbInflection(inflected: string, deinflected: string): Rule<Condition> {\n return {\n type: 'other',\n isInflected: new RegExp(`^\\\\w*${inflected} (?:${phrasalVerbWordDisjunction})`),\n deinflect: (term: string) => {\n return term.replace(new RegExp(`(?<=)${inflected}(?= (?:${phrasalVerbWordDisjunction}))`), deinflected);\n },\n conditionsIn: ['v'],\n conditionsOut: ['v_phr'],\n };\n}\n\nfunction createPhrasalVerbInflectionsFromSuffixInflections(sourceRules: SuffixRule<Condition>[]): Rule<Condition>[] {\n return sourceRules.flatMap(({ isInflected, deinflected }) => {\n if (typeof deinflected === 'undefined') {\n return [];\n }\n const inflectedSuffix = isInflected.source.replace('$', '');\n const deinflectedSuffix = deinflected;\n return [createPhrasalVerbInflection(inflectedSuffix, deinflectedSuffix)];\n });\n}\n\nexport const englishTransforms: LanguageTransformDescriptor<Condition> = {\n language: 'en',\n conditions,\n transforms: {\n plural: {\n name: 'plural',\n description: 'Plural form of a noun',\n rules: [\n suffixInflection('s', '', ['np'], ['ns']),\n suffixInflection('es', '', ['np'], ['ns']),\n suffixInflection('ies', 'y', ['np'], ['ns']),\n suffixInflection('ves', 'fe', ['np'], ['ns']),\n suffixInflection('ves', 'f', ['np'], ['ns']),\n ],\n },\n possessive: {\n name: 'possessive',\n description: 'Possessive form of a noun',\n rules: [suffixInflection(\"'s\", '', ['n'], ['n']), suffixInflection(\"s'\", 's', ['n'], ['n'])],\n },\n past: {\n name: 'past',\n description: 'Simple past tense of a verb',\n rules: [\n ...pastSuffixInflections,\n ...createPhrasalVerbInflectionsFromSuffixInflections(pastSuffixInflections),\n ],\n },\n ing: {\n name: 'ing',\n description: 'Present participle of a verb',\n rules: [\n ...ingSuffixInflections,\n ...createPhrasalVerbInflectionsFromSuffixInflections(ingSuffixInflections),\n ],\n },\n '3rd pers. sing. pres': {\n name: '3rd pers. sing. pres',\n description: 'Third person singular present tense of a verb',\n rules: [\n ...thirdPersonSgPresentSuffixInflections,\n ...createPhrasalVerbInflectionsFromSuffixInflections(thirdPersonSgPresentSuffixInflections),\n ],\n },\n 'interposed object': {\n name: 'interposed object',\n description: 'Phrasal verb with interposed object',\n rules: [phrasalVerbInterposedObjectRule],\n },\n archaic: {\n name: 'archaic',\n description: 'Archaic form of a word',\n rules: [suffixInflection(\"'d\", 'ed', ['v'], ['v'])],\n },\n adverb: {\n name: 'adverb',\n description: 'Adverb form of an adjective',\n rules: [\n suffixInflection('ly', '', ['adv'], ['adj']), // 'quickly'\n suffixInflection('ily', 'y', ['adv'], ['adj']), // 'happily'\n suffixInflection('ly', 'le', ['adv'], ['adj']), // 'humbly'\n ],\n },\n comparative: {\n name: 'comparative',\n description: 'Comparative form of an adjective',\n rules: [\n suffixInflection('er', '', ['adj'], ['adj']), // 'faster'\n suffixInflection('er', 'e', ['adj'], ['adj']), // 'nicer'\n suffixInflection('ier', 'y', ['adj'], ['adj']), // 'happier'\n ...doubledConsonantInflection('bdgmnt', 'er', ['adj'], ['adj']),\n ],\n },\n superlative: {\n name: 'superlative',\n description: 'Superlative form of an adjective',\n rules: [\n suffixInflection('est', '', ['adj'], ['adj']), // 'fastest'\n suffixInflection('est', 'e', ['adj'], ['adj']), // 'nicest'\n suffixInflection('iest', 'y', ['adj'], ['adj']), // 'happiest'\n ...doubledConsonantInflection('bdgmnt', 'est', ['adj'], ['adj']),\n ],\n },\n 'dropped g': {\n name: 'dropped g',\n description: 'Dropped g in -ing form of a verb',\n rules: [suffixInflection(\"in'\", 'ing', ['v'], ['v'])],\n },\n '-y': {\n name: '-y',\n description: 'Adjective formed from a verb or noun',\n rules: [\n suffixInflection('y', '', ['adj'], ['n', 'v']), // 'dirty', 'pushy'\n suffixInflection('y', 'e', ['adj'], ['n', 'v']), // 'hazy'\n ...doubledConsonantInflection('glmnprst', 'y', [], ['n', 'v']), // 'baggy', 'saggy'\n ],\n },\n 'un-': {\n name: 'un-',\n description: 'Negative form of an adjective, adverb, or verb',\n rules: [prefixInflection('un', '', ['adj', 'adv', 'v'], ['adj', 'adv', 'v'])],\n },\n 'going-to future': {\n name: 'going-to future',\n description: 'Going-to future tense of a verb',\n rules: [prefixInflection('going to ', '', ['v'], ['v'])],\n },\n 'will future': {\n name: 'will future',\n description: 'Will-future tense of a verb',\n rules: [prefixInflection('will ', '', ['v'], ['v'])],\n },\n 'imperative negative': {\n name: 'imperative negative',\n description: 'Negative imperative form of a verb',\n rules: [prefixInflection(\"don't \", '', ['v'], ['v']), prefixInflection('do not ', '', ['v'], ['v'])],\n },\n '-able': {\n name: '-able',\n description: 'Adjective formed from a verb',\n rules: [\n suffixInflection('able', '', ['v'], ['adj']),\n suffixInflection('able', 'e', ['v'], ['adj']),\n suffixInflection('iable', 'y', ['v'], ['adj']),\n ...doubledConsonantInflection('bdgklmnprstz', 'able', ['v'], ['adj']),\n ],\n },\n },\n};\n","import type { LanguageTransformDescriptor } from '../../types/language-transformer';\nimport { prefixInflection, suffixInflection } from '../language-transforms';\n\nconst conditions = {\n n: {\n name: 'Noun',\n isDictionaryForm: true,\n },\n adj: {\n name: 'Adjective',\n isDictionaryForm: true,\n },\n adv: {\n name: 'Adverb',\n isDictionaryForm: true,\n },\n v: {\n name: 'Verb',\n isDictionaryForm: true,\n },\n};\n\ntype Condition = keyof typeof conditions;\n\nexport const esperantoTransforms: LanguageTransformDescriptor<Condition> = {\n language: 'eo',\n conditions,\n transforms: {\n // general inflections\n accusative: {\n name: 'accusative',\n description: 'Accusative form of a word',\n rules: [suffixInflection('n', '', [], [])],\n },\n plural: {\n name: 'plural',\n description: 'Plural form of a word',\n rules: [suffixInflection('j', '', [], [])],\n },\n diminutive: {\n name: 'diminutive',\n description: 'Diminutive form of a noun',\n rules: [suffixInflection('eto', 'o', [], ['n'])],\n },\n directional: {\n name: 'directional',\n description: ['An adverb in accusative case indicates direction', 'kie: where', 'kien: to where'].join(\n '\\n',\n ),\n rules: [suffixInflection('en', 'e', [], ['adv'])],\n },\n locational: {\n name: 'locational',\n description: [\n 'A noun becoming an adverb indicates location',\n 'surpinto : peak, tip, top',\n 'surpinte: at the peak, at the tip, at the top',\n 'ĉambro : room',\n 'ĉambre: at the room, in the room',\n ].join('\\n'),\n rules: [suffixInflection('e', 'o', [], ['n'])],\n },\n adjectival: {\n name: 'adjectival',\n description: 'Adjectival form of a noun',\n rules: [suffixInflection('a', 'o', [], ['n'])],\n },\n 'adverbial (adj -> adv)': {\n name: 'adverbial',\n description: 'Adverbial form of an adjective',\n rules: [suffixInflection('e', 'a', [], ['adj'])],\n },\n 'adverbial (v -> adv)': {\n name: 'adverbial',\n description: 'Adverbial form of a verb',\n rules: [suffixInflection('e', 'i', [], ['v'])],\n },\n // suffixes\n '-ejo (noun)': {\n name: '-ejo',\n description: [\n 'Suffix which turns a word into a place designed for that specific thing',\n 'kafo: coffee',\n 'kafejo: café',\n ].join('\\n'),\n rules: [suffixInflection('ejo', 'o', [], ['n'])],\n },\n '-ejo (verb)': {\n name: '-ejo',\n description: [\n 'Suffix which turns a word into a place designed for that specific action',\n 'kuiri: to cook',\n 'kuirejo: kitchen',\n ].join('\\n'),\n rules: [suffixInflection('ejo', 'i', [], ['v'])],\n },\n '-ujo (noun)': {\n name: '-ujo',\n description: [\n 'Suffix which turns a word into a box or container for that specific thing',\n 'abelo: a bee',\n 'abelujo: a beehive',\n '',\n 'Suffix which turns a word into a place where a type of people can be found',\n 'patro: father',\n 'patrujo: fatherland',\n '',\n 'Suffix which turns a flower or fruit into a plant or tree which the flower or fruit can be found in',\n 'pomo: an apple',\n 'pomujo: an apple tree',\n ].join('\\n'),\n rules: [suffixInflection('ujo', 'o', [], ['n'])],\n },\n '-ujo (adjective)': {\n name: '-ujo',\n description: [\n 'Suffix which turns a descriptive word into a box or container for that specific type of thing',\n 'frida: cold',\n 'fridujo: a refrigerator',\n ].join('\\n'),\n rules: [suffixInflection('ujo', 'a', [], ['adj'])],\n },\n '-ujo (verb)': {\n name: '-ujo',\n description: [\n 'Suffix which turns an action into a box or container for that specific type of activity',\n 'lavi: to wash',\n 'lavujo: a sink',\n ].join('\\n'),\n rules: [suffixInflection('ujo', 'i', [], ['v'])],\n },\n '-ebla': {\n name: '-ebla',\n description: [\n 'Suffix which shows possibility',\n 'kompreni: to understand',\n 'komprenebla: understandable',\n ].join('\\n'),\n rules: [suffixInflection('ebla', 'i', [], ['v'])],\n },\n '-ado': {\n name: '-ado',\n description: [\n 'Suffix which turns an action into a thing representing the action',\n 'vivi: to live',\n 'vivado: life',\n 'spiri: to breathe',\n 'spirado: respiration',\n ].join('\\n'),\n rules: [suffixInflection('ado', 'i', [], ['v'])],\n },\n // prefixes\n 'mal-': {\n name: 'mal-',\n description: 'Prefix which turns an action, description, thing, or direction into its opposite meaning',\n rules: [prefixInflection('mal', '', [], [])],\n },\n 'kun-': {\n name: 'kun-',\n description: [\n 'Prefix meaning to do the action together with other people',\n 'labori: to work',\n 'kunlabori: to collaborate',\n ].join('\\n'),\n rules: [prefixInflection('kun', '', [], [])],\n },\n 'ekster-': {\n name: 'ekster-',\n description: ['Prefix meaning \"outside of\"', 'lando: country', 'eksterlando: foreign country'].join('\\n'),\n rules: [prefixInflection('ekster', '', [], [])],\n },\n 'ek-': {\n name: 'ek-',\n description: ['Prefix meaning to begin the action', 'kanti: to sing', 'ekkanti: to begin to sing'].join(\n '\\n',\n ),\n rules: [prefixInflection('ek', '', [], [])],\n },\n 'ĵus-': {\n name: 'ĵus-',\n description: [\n 'Prefix meaning something is newly or recently done',\n 'vekita: awakened',\n 'ĵusvekita: newly/recently awakened',\n ].join('\\n'),\n rules: [prefixInflection('ĵus', '', [], [])],\n },\n 'el-': {\n name: 'el-',\n description: [\n 'Prefix meaning to do the action in an outward direction',\n 'tiri: to pull',\n 'eltiri: to pull out',\n '',\n 'Prefix meaning to do the action all the way to completion',\n 'trinki: to drink',\n 'eltrinki: to drink up, to drink all of something',\n 'lerni: to learn',\n 'ellerni: to learn all that you can, to master',\n 'uzi: to use',\n 'eluzi: to use up, wear out',\n ].join('\\n'),\n rules: [prefixInflection('el', '', [], [])],\n },\n 'dis-': {\n name: 'dis-',\n description: [\n 'Prefix meaning \"separation, being apart, spreading out\"',\n 'ŝvebi: to float',\n 'disŝvebi: to float out/separately',\n 'fali: to fall',\n 'disfali: to fall apart',\n 'doni: to give',\n 'disdoni: to give out, to distribute',\n 'sendo: a thing that is sent',\n 'dissendo: a broadcast',\n ].join('\\n'),\n rules: [prefixInflection('dis', '', [], [])],\n },\n 'for-': {\n name: 'for-',\n description: [\n 'Prefix meaning \"movement to a far distance\"',\n 'flugi: to fly',\n 'forflugi: to fly away',\n '',\n 'Prefix meaning \"disappearance/annihilation\"',\n 'uzi: to use',\n 'foruzi: to use up (until nothing is left)',\n ].join('\\n'),\n rules: [prefixInflection('for', '', [], [])],\n },\n 'mis-': {\n name: 'mis-',\n description: [\n 'Prefix meaning \"wrong, erroneous\"',\n 'kompreni: to understand',\n 'miskompreni: to misunderstand',\n 'paroli: to speak',\n 'misparoli: to misspeak',\n ].join('\\n'),\n rules: [prefixInflection('mis', '', [], [])],\n },\n },\n};\n","import type { LanguageTransformDescriptor } from '../../types/language-transformer';\nimport { suffixInflection, wholeWordInflection } from '../language-transforms';\n\nconst REFLEXIVE_PATTERN = /\\b(me|te|se|nos|os)\\s+(\\w+)(ar|er|ir)\\b/g;\n\nconst ACCENTS = new Map([\n ['a', 'á'],\n ['e', 'é'],\n ['i', 'í'],\n ['o', 'ó'],\n ['u', 'ú'],\n]);\n\nfunction addAccent(char: string): string {\n return ACCENTS.get(char) || char;\n}\n\nconst conditions = {\n n: {\n name: 'Noun',\n isDictionaryForm: true,\n subConditions: ['ns', 'np'],\n },\n np: {\n name: 'Noun plural',\n isDictionaryForm: false,\n },\n ns: {\n name: 'Noun singular',\n isDictionaryForm: false,\n },\n v: {\n name: 'Verb',\n isDictionaryForm: true,\n subConditions: ['v_ar', 'v_er', 'v_ir'],\n },\n v_ar: {\n name: '-ar verb',\n isDictionaryForm: false,\n },\n v_er: {\n name: '-er verb',\n isDictionaryForm: false,\n },\n v_ir: {\n name: '-ir verb',\n isDictionaryForm: false,\n },\n adj: {\n name: 'Adjective',\n isDictionaryForm: true,\n },\n};\n\ntype Condition = keyof typeof conditions;\n\nexport const spanishTransforms: LanguageTransformDescriptor<Condition> = {\n language: 'es',\n conditions,\n transforms: {\n plural: {\n name: 'plural',\n description: 'Plural form of a noun',\n rules: [\n suffixInflection('s', '', ['np'], ['ns']),\n suffixInflection('es', '', ['np'], ['ns']),\n suffixInflection('ces', 'z', ['np'], ['ns']), // 'lápices' -> lápiz\n ...[...'aeiou'].map((v) => suffixInflection(`${v}ses`, `${addAccent(v)}s`, ['np'], ['ns'])), // 'autobuses' -> autobús\n ...[...'aeiou'].map((v) => suffixInflection(`${v}nes`, `${addAccent(v)}n`, ['np'], ['ns'])), // 'canciones' -> canción\n ],\n },\n 'feminine adjective': {\n name: 'feminine adjective',\n description: 'feminine form of an adjective',\n rules: [\n suffixInflection('a', 'o', ['adj'], ['adj']),\n suffixInflection('a', '', ['adj'], ['adj']), // encantadora -> encantador, española -> español\n ...[...'aeio'].map((v) => suffixInflection(`${v}na`, `${addAccent(v)}n`, ['adj'], ['adj'])), // dormilona -> dormilón, chiquitina -> chiquitín\n ...[...'aeio'].map((v) => suffixInflection(`${v}sa`, `${addAccent(v)}s`, ['adj'], ['adj'])), // francesa -> francés\n ],\n },\n 'present indicative': {\n name: 'present indicative',\n description: 'Present indicative form of a verb',\n rules: [\n // STEM-CHANGING RULES FIRST\n // e->ie for -ar\n {\n type: 'other',\n isInflected: /ie([a-z]*)(o|as|a|an)$/,\n deinflect: (term) => term.replace(/ie/, 'e').replace(/(o|as|a|an)$/, 'ar'),\n conditionsIn: ['v_ar'],\n conditionsOut: ['v_ar'],\n },\n // e->ie for -er\n {\n type: 'other',\n isInflected: /ie([a-z]*)(o|es|e|en)$/,\n deinflect: (term) => term.replace(/ie/, 'e').replace(/(o|es|e|en)$/, 'er'),\n conditionsIn: ['v_er'],\n conditionsOut: ['v_er'],\n },\n // e->ie for -ir\n {\n type: 'other',\n isInflected: /ie([a-z]*)(o|es|e|en)$/,\n deinflect: (term) => term.replace(/ie/, 'e').replace(/(o|es|e|en)$/, 'ir'),\n conditionsIn: ['v_ir'],\n conditionsOut: ['v_ir'],\n },\n // o->ue for -ar\n {\n type: 'other',\n isInflected: /ue([a-z]*)(o|as|a|an)$/,\n deinflect: (term) => {\n // \"jugar\" (u->ue)\n if (term.startsWith('jue')) {\n return term.replace(/ue/, 'u').replace(/(o|as|a|an)$/, 'ar');\n }\n return term.replace(/ue/, 'o').replace(/(o|as|a|an)$/, 'ar');\n },\n conditionsIn: ['v_ar'],\n conditionsOut: ['v_ar'],\n },\n // o->ue for -er\n {\n type: 'other',\n isInflected: /ue([a-z]*)(o|es|e|en)$/,\n deinflect: (term) => {\n // \"oler\" (o->hue)\n if (term.startsWith('hue')) {\n return term.replace(/hue/, 'o').replace(/(o|es|e|en)$/, 'er');\n }\n return term.replace(/ue/, 'o').replace(/(o|es|e|en)$/, 'er');\n },\n conditionsIn: ['v_er'],\n conditionsOut: ['v_er'],\n },\n // o->ue for -ir\n {\n type: 'other',\n isInflected: /ue([a-z]*)(o|es|e|en)$/,\n deinflect: (term) => term.replace(/ue/, 'o').replace(/(o|es|e|en)$/, 'ir'),\n conditionsIn: ['v_ir'],\n conditionsOut: ['v_ir'],\n },\n // e->i for -ir\n {\n type: 'other',\n isInflected: /i([a-z]*)(o|es|e|en)$/,\n deinflect: (term) => term.replace(/i/, 'e').replace(/(o|es|e|en)$/, 'ir'),\n conditionsIn: ['v_ir'],\n conditionsOut: ['v_ir'],\n },\n // -ar verbs\n suffixInflection('o', 'ar', ['v_ar'], ['v_ar']),\n suffixInflection('as', 'ar', ['v_ar'], ['v_ar']),\n suffixInflection('a', 'ar', ['v_ar'], ['v_ar']),\n suffixInflection('amos', 'ar', ['v_ar'], ['v_ar']),\n suffixInflection('áis', 'ar', ['v_ar'], ['v_ar']),\n suffixInflection('an', 'ar', ['v_ar'], ['v_ar']),\n // -er verbs\n suffixInflection('o', 'er', ['v_er'], ['v_er']),\n suffixInflection('es', 'er', ['v_er'], ['v_er']),\n suffixInflection('e', 'er', ['v_er'], ['v_er']),\n suffixInflection('emos', 'er', ['v_er'], ['v_er']),\n suffixInflection('éis', 'er', ['v_er'], ['v_er']),\n suffixInflection('en', 'er', ['v_er'], ['v_er']),\n // -ir verbs\n suffixInflection('o', 'ir', ['v_ir'], ['v_ir']),\n suffixInflection('es', 'ir', ['v_ir'], ['v_ir']),\n suffixInflection('e', 'ir', ['v_ir'], ['v_ir']),\n suffixInflection('imos', 'ir', ['v_ir'], ['v_ir']),\n suffixInflection('ís', 'ir', ['v_ir'], ['v_ir']),\n suffixInflection('en', 'ir', ['v_ir'], ['v_ir']),\n // i -> y verbs (incluir, huir, construir...)\n suffixInflection('uyo', 'uir', ['v_ir'], ['v_ir']),\n suffixInflection('uyes', 'uir', ['v_ir'], ['v_ir']),\n suffixInflection('uye', 'uir', ['v_ir'], ['v_ir']),\n suffixInflection('uyen', 'uir', ['v_ir'], ['v_ir']),\n // -tener verbs\n suffixInflection('tengo', 'tener', ['v'], ['v']),\n suffixInflection('tienes', 'tener', ['v'], ['v']),\n suffixInflection('tiene', 'tener', ['v'], ['v']),\n suffixInflection('tenemos', 'tener', ['v'], ['v']),\n suffixInflection('tenéis', 'tener', ['v'], ['v']),\n suffixInflection('tienen', 'tener', ['v'], ['v']),\n // -oír verbs\n suffixInflection('oigo', 'oír', ['v'], ['v']),\n suffixInflection('oyes', 'oír', ['v'], ['v']),\n suffixInflection('oye', 'oír', ['v'], ['v']),\n suffixInflection('oímos', 'oír', ['v'], ['v']),\n suffixInflection('oís', 'oír', ['v'], ['v']),\n suffixInflection('oyen', 'oír', ['v'], ['v']),\n // -venir verbs\n suffixInflection('vengo', 'venir', ['v'], ['v']),\n suffixInflection('vienes', 'venir', ['v'], ['v']),\n suffixInflection('viene', 'venir', ['v'], ['v']),\n suffixInflection('venimos', 'venir', ['v'], ['v']),\n suffixInflection('venís', 'venir', ['v'], ['v']),\n suffixInflection('vienen', 'venir', ['v'], ['v']),\n // Verbs with Irregular Yo Forms\n // -guir, -ger, or -gir verbs\n suffixInflection('go', 'guir', ['v'], ['v']),\n suffixInflection('jo', 'ger', ['v'], ['v']),\n suffixInflection('jo', 'gir', ['v'], ['v']),\n suffixInflection('aigo', 'aer', ['v'], ['v']),\n suffixInflection('zco', 'cer', ['v'], ['v']),\n suffixInflection('zco', 'cir', ['v'], ['v']),\n suffixInflection('hago', 'hacer', ['v'], ['v']),\n suffixInflection('pongo', 'poner', ['v'], ['v']),\n suffixInflection('lgo', 'lir', ['v'], ['v']),\n suffixInflection('lgo', 'ler', ['v'], ['v']),\n wholeWordInflection('quepo', 'caber', ['v'], ['v']),\n wholeWordInflection('doy', 'dar', ['v'], ['v']),\n wholeWordInflection('sé', 'saber', ['v'], ['v']),\n wholeWordInflection('veo', 'ver', ['v'], ['v']),\n // Ser, estar, ir, haber\n wholeWordInflection('soy', 'ser', ['v'], ['v']),\n wholeWordInflection('eres', 'ser', ['v'], ['v']),\n wholeWordInflection('es', 'ser', ['v'], ['v']),\n wholeWordInflection('somos', 'ser', ['v'], ['v']),\n wholeWordInflection('sois', 'ser', ['v'], ['v']),\n wholeWordInflection('son', 'ser', ['v'], ['v']),\n wholeWordInflection('estoy', 'estar', ['v'], ['v']),\n wholeWordInflection('estás', 'estar', ['v'], ['v']),\n wholeWordInflection('está', 'estar', ['v'], ['v']),\n wholeWordInflection('estamos', 'estar', ['v'], ['v']),\n wholeWordInflection('estáis', 'estar', ['v'], ['v']),\n wholeWordInflection('están', 'estar', ['v'], ['v']),\n wholeWordInflection('voy', 'ir', ['v'], ['v']),\n wholeWordInflection('vas', 'ir', ['v'], ['v']),\n wholeWordInflection('va', 'ir', ['v'], ['v']),\n wholeWordInflection('vamos', 'ir', ['v'], ['v']),\n wholeWordInflection('vais', 'ir', ['v'], ['v']),\n wholeWordInflection('van', 'ir', ['v'], ['v']),\n wholeWordInflection('he', 'haber', ['v'], ['v']),\n wholeWordInflection('has', 'haber', ['v'], ['v']),\n wholeWordInflection('ha', 'haber', ['v'], ['v']),\n wholeWordInflection('hemos', 'haber', ['v'], ['v']),\n wholeWordInflection('habéis', 'haber', ['v'], ['v']),\n wholeWordInflection('han', 'haber', ['v'], ['v']),\n ],\n },\n preterite: {\n name: 'preterite',\n description: 'Preterite (past) form of a verb',\n rules: [\n // e->i for -ir\n {\n type: 'other',\n isInflected: /i([a-z]*)(ió|ieron)$/, // this only happens in 3rd person - singular and plural\n deinflect: (term) => term.replace(/i/, 'e').replace(/(ió|ieron)$/, 'ir'),\n conditionsIn: ['v_ir'],\n conditionsOut: ['v_ir'],\n },\n // o->u for -ir\n {\n type: 'other',\n isInflected: /u([a-z]*)(ió|ieron)$/,\n deinflect: (term) => term.replace(/u/, 'o').replace(/(ió|ieron)$/, 'ir'),\n conditionsIn: ['v_ir'],\n conditionsOut: ['v_ir'],\n },\n // -ar verbs\n suffixInflection('é', 'ar', ['v_ar'], ['v_ar']),\n suffixInflection('aste', 'ar', ['v_ar'], ['v_ar']),\n suffixInflection('ó', 'ar', ['v_ar'], ['v_ar']),\n suffixInflection('amos', 'ar', ['v_ar'], ['v_ar']),\n suffixInflection('asteis', 'ar', ['v_ar'], ['v_ar']),\n suffixInflection('aron', 'ar', ['v_ar'], ['v_ar']),\n // -er verbs\n suffixInflection('í', 'er', ['v_er'], ['v_er']),\n suffixInflection('iste', 'er', ['v_er'], ['v_er']),\n suffixInflection('ió', 'er', ['v_er'], ['v_er']),\n suffixInflection('imos', 'er', ['v_er'], ['v_er']),\n suffixInflection('isteis', 'er', ['v_er'], ['v_er']),\n suffixInflection('ieron', 'er', ['v_er'], ['v_er']),\n // -ir verbs\n suffixInflection('í', 'ir', ['v_ir'], ['v_ir']),\n suffixInflection('iste', 'ir', ['v_ir'], ['v_ir']),\n suffixInflection('ió', 'ir', ['v_ir'], ['v_ir']),\n suffixInflection('imos', 'ir', ['v_ir'], ['v_ir']),\n suffixInflection('isteis', 'ir', ['v_ir'], ['v_ir']),\n suffixInflection('ieron', 'ir', ['v_ir'], ['v_ir']),\n // -car, -gar, -zar verbs\n suffixInflection('qué', 'car', ['v'], ['v']),\n suffixInflection('gué', 'gar', ['v'], ['v']),\n suffixInflection('cé', 'zar', ['v'], ['v']),\n // -uir verbs\n suffixInflection('í', 'uir', ['v'], ['v']),\n // Verbs with irregular forms\n wholeWordInflection('fui', 'ser', ['v'], ['v']),\n wholeWordInflection('fuiste', 'ser', ['v'], ['v']),\n wholeWordInflection('fue', 'ser', ['v'], ['v']),\n wholeWordInflection('fuimos', 'ser', ['v'], ['v']),\n wholeWordInflection('fuisteis', 'ser', ['v'], ['v']),\n wholeWordInflection('fueron', 'ser', ['v'], ['v']),\n wholeWordInflection('fui', 'ir', ['v'], ['v']),\n wholeWordInflection('fuiste', 'ir', ['v'], ['v']),\n wholeWordInflection('fue', 'ir', ['v'], ['v']),\n wholeWordInflection('fuimos', 'ir', ['v'], ['v']),\n wholeWordInflection('fuisteis', 'ir', ['v'], ['v']),\n wholeWordInflection('fueron', 'ir', ['v'], ['v']),\n wholeWordInflection('di', 'dar', ['v'], ['v']),\n wholeWordInflection('diste', 'dar', ['v'], ['v']),\n wholeWordInflection('dio', 'dar', ['v'], ['v']),\n wholeWordInflection('dimos', 'dar', ['v'], ['v']),\n wholeWordInflection('disteis', 'dar', ['v'], ['v']),\n wholeWordInflection('dieron', 'dar', ['v'], ['v']),\n suffixInflection('hice', 'hacer', ['v'], ['v']),\n suffixInflection('hiciste', 'hacer', ['v'], ['v']),\n suffixInflection('hizo', 'hacer', ['v'], ['v']),\n suffixInflection('hicimos', 'hacer', ['v'], ['v']),\n suffixInflection('hicisteis', 'hacer', ['v'], ['v']),\n suffixInflection('hicieron', 'hacer', ['v'], ['v']),\n suffixInflection('puse', 'poner', ['v'], ['v']),\n suffixInflection('pusiste', 'poner', ['v'], ['v']),\n suffixInflection('puso', 'poner', ['v'], ['v']),\n suffixInflection('pusimos', 'poner', ['v'], ['v']),\n suffixInflection('pusisteis', 'poner', ['v'], ['v']),\n suffixInflection('pusieron', 'poner', ['v'], ['v']),\n suffixInflection('dije', 'decir', ['v'], ['v']),\n suffixInflection('dijiste', 'decir', ['v'], ['v']),\n suffixInflection('dijo', 'decir', ['v'], ['v']),\n suffixInflection('dijimos', 'decir', ['v'], ['v']),\n suffixInflection('dijisteis', 'decir', ['v'], ['v']),\n suffixInflection('dijeron', 'decir', ['v'], ['v']),\n suffixInflection('vine', 'venir', ['v'], ['v']),\n suffixInflection('viniste', 'venir', ['v'], ['v']),\n suffixInflection('vino', 'venir', ['v'], ['v']),\n suffixInflection('vinimos', 'venir', ['v'], ['v']),\n suffixInflection('vinisteis', 'venir', ['v'], ['v']),\n suffixInflection('vinieron', 'venir', ['v'], ['v']),\n wholeWordInflection('quise', 'querer', ['v'], ['v']),\n wholeWordInflection('quisiste', 'querer', ['v'], ['v']),\n wholeWordInflection('quiso', 'querer', ['v'], ['v']),\n wholeWordInflection('quisimos', 'querer', ['v'], ['v']),\n wholeWordInflection('quisisteis', 'querer', ['v'], ['v']),\n wholeWordInflection('quisieron', 'querer', ['v'], ['v']),\n suffixInflection('tuve', 'tener', ['v'], ['v']),\n suffixInflection('tuviste', 'tener', ['v'], ['v']),\n suffixInflection('tuvo', 'tener', ['v'], ['v']),\n suffixInflection('tuvimos', 'tener', ['v'], ['v']),\n suffixInflection('tuvisteis', 'tener', ['v'], ['v']),\n suffixInflection('tuvieron', 'tener', ['v'], ['v']),\n wholeWordInflection('pude', 'poder', ['v'], ['v']),\n wholeWordInflection('pudiste', 'poder', ['v'], ['v']),\n wholeWordInflection('pudo', 'poder', ['v'], ['v']),\n wholeWordInflection('pudimos', 'poder', ['v'], ['v']),\n wholeWordInflection('pudisteis', 'poder', ['v'], ['v']),\n wholeWordInflection('pudieron', 'poder', ['v'], ['v']),\n wholeWordInflection('supe', 'saber', ['v'], ['v']),\n wholeWordInflection('supiste', 'saber', ['v'], ['v']),\n wholeWordInflection('supo', 'saber', ['v'], ['v']),\n wholeWordInflection('supimos', 'saber', ['v'], ['v']),\n wholeWordInflection('supisteis', 'saber', ['v'], ['v']),\n wholeWordInflection('supieron', 'saber', ['v'], ['v']),\n wholeWordInflection('estuve', 'estar', ['v'], ['v']),\n wholeWordInflection('estuviste', 'estar', ['v'], ['v']),\n wholeWordInflection('estuvo', 'estar', ['v'], ['v']),\n wholeWordInflection('estuvimos', 'estar', ['v'], ['v']),\n wholeWordInflection('estuvisteis', 'estar', ['v'], ['v']),\n wholeWordInflection('estuvieron', 'estar', ['v'], ['v']),\n wholeWordInflection('anduve', 'andar', ['v'], ['v']),\n wholeWordInflection('anduviste', 'andar', ['v'], ['v']),\n wholeWordInflection('anduvo', 'andar', ['v'], ['v']),\n wholeWordInflection('anduvimos', 'andar', ['v'], ['v']),\n wholeWordInflection('anduvisteis', 'andar', ['v'], ['v']),\n wholeWordInflection('anduvieron', 'andar', ['v'], ['v']),\n ],\n },\n imperfect: {\n name: 'imperfect',\n description: 'Imperfect form of a verb',\n rules: [\n // -ar verbs\n suffixInflection('aba', 'ar', ['v_ar'], ['v_ar']),\n suffixInflection('abas', 'ar', ['v_ar'], ['v_ar']),\n suffixInflection('aba', 'ar', ['v_ar'], ['v_ar']),\n suffixInflection('ábamos', 'ar', ['v_ar'], ['v_ar']),\n suffixInflection('abais', 'ar', ['v_ar'], ['v_ar']),\n suffixInflection('aban', 'ar', ['v_ar'], ['v_ar']),\n // -er verbs\n suffixInflection('ía', 'er', ['v_er'], ['v_er']),\n suffixInflection('ías', 'er', ['v_er'], ['v_er']),\n suffixInflection('ía', 'er', ['v_er'], ['v_er']),\n suffixInflection('íamos', 'er', ['v_er'], ['v_er']),\n suffixInflection('íais', 'er', ['v_er'], ['v_er']),\n suffixInflection('ían', 'er', ['v_er'], ['v_er']),\n // -ir verbs\n suffixInflection('ía', 'ir', ['v_ir'], ['v_ir']),\n suffixInflection('ías', 'ir', ['v_ir'], ['v_ir']),\n suffixInflection('ía', 'ir', ['v_ir'], ['v_ir']),\n suffixInflection('íamos', 'ir', ['v_ir'], ['v_ir']),\n suffixInflection('íais', 'ir', ['v_ir'], ['v_ir']),\n suffixInflection('ían', 'ir', ['v_ir'], ['v_ir']),\n // -ir verbs with stem changes\n suffixInflection('eía', 'ir', ['v_ir'], ['v_ir']),\n suffixInflection('eías', 'ir', ['v_ir'], ['v_ir']),\n suffixInflection('eía', 'ir', ['v_ir'], ['v_ir']),\n suffixInflection('eíamos', 'ir', ['v_ir'], ['v_ir']),\n suffixInflection('eíais', 'ir', ['v_ir'], ['v_ir']),\n suffixInflection('eían', 'ir', ['v_ir'], ['v_ir']),\n // irregular verbs ir, ser, ver\n wholeWordInflection('era', 'ser', ['v'], ['v']),\n wholeWordInflection('eras', 'ser', ['v'], ['v']),\n wholeWordInflection('era', 'ser', ['v'], ['v']),\n wholeWordInflection('éramos', 'ser', ['v'], ['v']),\n wholeWordInflection('erais', 'ser', ['v'], ['v']),\n wholeWordInflection('eran', 'ser', ['v'], ['v']),\n wholeWordInflection('iba', 'ir', ['v'], ['v']),\n wholeWordInflection('ibas', 'ir', ['v'], ['v']),\n wholeWordInflection('iba', 'ir', ['v'], ['v']),\n wholeWordInflection('íbamos', 'ir', ['v'], ['v']),\n wholeWordInflection('ibais', 'ir', ['v'], ['v']),\n wholeWordInflection('iban', 'ir', ['v'], ['v']),\n wholeWordInflection('veía', 'ver', ['v'], ['v']),\n wholeWordInflection('veías', 'ver', ['v'], ['v']),\n wholeWordInflection('veía', 'ver', ['v'], ['v']),\n wholeWordInflection('veíamos', 'ver', ['v'], ['v']),\n wholeWordInflection('veíais', 'ver', ['v'], ['v']),\n wholeWordInflection('veían', 'ver', ['v'], ['v']),\n ],\n },\n progressive: {\n name: 'progressive',\n description: 'Progressive form of a verb',\n rules: [\n // e->i for -ir\n {\n type: 'other',\n isInflected: /i([a-z]*)(iendo)$/,\n deinflect: (term) => term.replace(/i/, 'e').replace(/(iendo)$/, 'ir'),\n conditionsIn: ['v_ir'],\n conditionsOut: ['v_ir'],\n },\n // o->u for -er\n {\n type: 'other',\n isInflected: /u([a-z]*)(iendo)$/,\n deinflect: (term) => term.replace(/u/, 'o').replace(/(iendo)$/, 'er'),\n conditionsIn: ['v_er'],\n conditionsOut: ['v_er'],\n },\n // o->u for -ir\n {\n type: 'other',\n isInflected: /u([a-z]*)(iendo)$/,\n deinflect: (term) => term.replace(/u/, 'o').replace(/(iendo)$/, 'ir'),\n conditionsIn: ['v_ir'],\n conditionsOut: ['v_ir'],\n },\n // regular\n suffixInflection('ando', 'ar', ['v_ar'], ['v_ar']),\n suffixInflection('iendo', 'er', ['v_er'], ['v_er']),\n suffixInflection('iendo', 'ir', ['v_ir'], ['v_ir']),\n // vowel before the ending (-yendo)\n suffixInflection('ayendo', 'aer', ['v_er'], ['v_er']), // traer -> trayendo, caer -> cayendo\n suffixInflection('eyendo', 'eer', ['v_er'], ['v_er']), // leer -> leyendo\n suffixInflection('uyendo', 'uir', ['v_ir'], ['v_ir']), // huir -> huyendo\n // irregular\n wholeWordInflection('oyendo', 'oír', ['v'], ['v']),\n wholeWordInflection('yendo', 'ir', ['v'], ['v']),\n ],\n },\n imperative: {\n name: 'imperative',\n description: 'Imperative form of a verb',\n rules: [\n {\n type: 'other',\n isInflected: /ie([a-z]*)(a|e|en)$/,\n deinflect: (term) => term.replace(/ie/, 'e').replace(/(a|e|en)$/, 'ar'),\n conditionsIn: ['v_ar'],\n conditionsOut: ['v_ar'],\n },\n {\n type: 'other',\n isInflected: /ie([a-z]*)(e|a|an)$/,\n deinflect: (term) => term.replace(/ie/, 'e').replace(/(e|a|an)$/, 'er'),\n conditionsIn: ['v_er'],\n conditionsOut: ['v_er'],\n },\n {\n type: 'other',\n isInflected: /ie([a-z]*)(e|a|an)$/,\n deinflect: (term) => term.replace(/ie/, 'e').replace(/(e|a|an)$/, 'ir'),\n conditionsIn: ['v_ir'],\n conditionsOut: ['v_ir'],\n },\n {\n type: 'other',\n isInflected: /ue([a-z]*)(a|e|en)$/,\n deinflect: (term) => {\n if (term.startsWith('jue')) {\n return term.replace(/ue/, 'u').replace(/(a|ue|uen)$/, 'ar');\n }\n return term.replace(/ue/, 'o').replace(/(a|e|en)$/, 'ar');\n },\n conditionsIn: ['v_ar'],\n conditionsOut: ['v_ar'],\n },\n {\n type: 'other',\n isInflected: /ue([a-z]*)(e|a|an)$/,\n deinflect: (term) => {\n if (term.startsWith('hue')) {\n return term.replace(/hue/, 'o').replace(/(e|a|an)$/, 'er');\n }\n return term.replace(/ue/, 'o').replace(/(e|a|an)$/, 'er');\n },\n conditionsIn: ['v_er'],\n conditionsOut: ['v_er'],\n },\n {\n type: 'other',\n isInflected: /ue([a-z]*)(e|a|an)$/,\n deinflect: (term) => term.replace(/ue/, 'o').replace(/(e|a|an)$/, 'ir'),\n conditionsIn: ['v_ir'],\n conditionsOut: ['v_ir'],\n },\n {\n type: 'other',\n isInflected: /i([a-z]*)(e|a|an)$/,\n deinflect: (term) => term.replace(/i/, 'e').replace(/(e|a|an)$/, 'ir'),\n conditionsIn: ['v_ir'],\n conditionsOut: ['v_ir'],\n },\n // -ar verbs\n suffixInflection('a', 'ar', ['v_ar'], ['v_ar']),\n suffixInflection('emos', 'ar', ['v_ar'], ['v_ar']),\n suffixInflection('ad', 'ar', ['v_ar'], ['v_ar']),\n // -er verbs\n suffixInflection('e', 'er', ['v_er'], ['v_er']),\n suffixInflection('amos', 'ar', ['v_er'], ['v_er']),\n suffixInflection('ed', 'er', ['v_er'], ['v_er']),\n // -ir verbs\n suffixInflection('e', 'ir', ['v_ir'], ['v_ir']),\n suffixInflection('amos', 'ar', ['v_ir'], ['v_ir']),\n suffixInflection('id', 'ir', ['v_ir'], ['v_ir']),\n // irregular verbs\n wholeWordInflection('diga', 'decir', ['v'], ['v']),\n wholeWordInflection('sé', 'ser', ['v'], ['v']),\n wholeWordInflection('ve', 'ir', ['v'], ['v']),\n wholeWordInflection('ten', 'tener', ['v'], ['v']),\n wholeWordInflection('ven', 'venir', ['v'], ['v']),\n wholeWordInflection('haz', 'hacer', ['v'], ['v']),\n wholeWordInflection('di', 'decir', ['v'], ['v']),\n wholeWordInflection('pon', 'poner', ['v'], ['v']),\n wholeWordInflection('sal', 'salir', ['v'], ['v']),\n // negative commands\n // -ar verbs\n suffixInflection('es', 'ar', ['v_ar'], ['v_ar']),\n suffixInflection('emos', 'ar', ['v_ar'], ['v_ar']),\n suffixInflection('éis', 'ar', ['v_ar'], ['v_ar']),\n // -er verbs\n suffixInflection('as', 'er', ['v_er'], ['v_er']),\n suffixInflection('amos', 'er', ['v_er'], ['v_er']),\n suffixInflection('áis', 'er', ['v_er'], ['v_er']),\n // -ir verbs\n suffixInflection('as', 'ir', ['v_ir'], ['v_ir']),\n suffixInflection('amos', 'ir', ['v_ir'], ['v_ir']),\n suffixInflection('áis', 'ir', ['v_ir'], ['v_ir']),\n ],\n },\n conditional: {\n name: 'conditional',\n description: 'Conditional form of a verb',\n rules: [\n suffixInflection('ía', '', ['v'], ['v']),\n suffixInflection('ías', '', ['v'], ['v']),\n suffixInflection('ía', '', ['v'], ['v']),\n suffixInflection('íamos', '', ['v'], ['v']),\n suffixInflection('íais', '', ['v'], ['v']),\n suffixInflection('ían', '', ['v'], ['v']),\n // irregular verbs\n wholeWordInflection('diría', 'decir', ['v'], ['v']),\n wholeWordInflection('dirías', 'decir', ['v'], ['v']),\n wholeWordInflection('diría', 'decir', ['v'], ['v']),\n wholeWordInflection('diríamos', 'decir', ['v'], ['v']),\n wholeWordInflection('diríais', 'decir', ['v'], ['v']),\n wholeWordInflection('dirían', 'decir', ['v'], ['v']),\n wholeWordInflection('haría', 'hacer', ['v'], ['v']),\n wholeWordInflection('harías', 'hacer', ['v'], ['v']),\n wholeWordInflection('haría', 'hacer', ['v'], ['v']),\n wholeWordInflection('haríamos', 'hacer', ['v'], ['v']),\n wholeWordInflection('haríais', 'hacer', ['v'], ['v']),\n wholeWordInflection('harían', 'hacer', ['v'], ['v']),\n wholeWordInflection('pondría', 'poner', ['v'], ['v']),\n wholeWordInflection('pondrías', 'poner', ['v'], ['v']),\n wholeWordInflection('pondría', 'poner', ['v'], ['v']),\n wholeWordInflection('pondríamos', 'poner', ['v'], ['v']),\n wholeWordInflection('pondríais', 'poner', ['v'], ['v']),\n wholeWordInflection('pondrían', 'poner', ['v'], ['v']),\n wholeWordInflection('saldría', 'salir', ['v'], ['v']),\n wholeWordInflection('saldrías', 'salir', ['v'], ['v']),\n wholeWordInflection('saldría', 'salir', ['v'], ['v']),\n wholeWordInflection('saldríamos', 'salir', ['v'], ['v']),\n wholeWordInflection('saldríais', 'salir', ['v'], ['v']),\n wholeWordInflection('saldrían', 'salir', ['v'], ['v']),\n wholeWordInflection('tendría', 'tener', ['v'], ['v']),\n wholeWordInflection('tendrías', 'tener', ['v'], ['v']),\n wholeWordInflection('tendría', 'tener', ['v'], ['v']),\n wholeWordInflection('tendríamos', 'tener', ['v'], ['v']),\n wholeWordInflection('tendríais', 'tener', ['v'], ['v']),\n wholeWordInflection('tendrían', 'tener', ['v'], ['v']),\n wholeWordInflection('vendría', 'venir', ['v'], ['v']),\n wholeWordInflection('vendrías', 'venir', ['v'], ['v']),\n wholeWordInflection('vendría', 'venir', ['v'], ['v']),\n wholeWordInflection('vendríamos', 'venir', ['v'], ['v']),\n wholeWordInflection('vendríais', 'venir', ['v'], ['v']),\n wholeWordInflection('vendrían', 'venir', ['v'], ['v']),\n wholeWordInflection('querría', 'querer', ['v'], ['v']),\n wholeWordInflection('querrías', 'querer', ['v'], ['v']),\n wholeWordInflection('querría', 'querer', ['v'], ['v']),\n wholeWordInflection('querríamos', 'querer', ['v'], ['v']),\n wholeWordInflection('querríais', 'querer', ['v'], ['v']),\n wholeWordInflection('querrían', 'querer', ['v'], ['v']),\n wholeWordInflection('podría', 'poder', ['v'], ['v']),\n wholeWordInflection('podrías', 'poder', ['v'], ['v']),\n wholeWordInflection('podría', 'poder', ['v'], ['v']),\n wholeWordInflection('podríamos', 'poder', ['v'], ['v']),\n wholeWordInflection('podríais', 'poder', ['v'], ['v']),\n wholeWordInflection('podrían', 'poder', ['v'], ['v']),\n wholeWordInflection('sabría', 'saber', ['v'], ['v']),\n wholeWordInflection('sabrías', 'saber', ['v'], ['v']),\n wholeWordInflection('sabría', 'saber', ['v'], ['v']),\n wholeWordInflection('sabríamos', 'saber', ['v'], ['v']),\n wholeWordInflection('sabríais', 'saber', ['v'], ['v']),\n wholeWordInflection('sabrían', 'saber', ['v'], ['v']),\n ],\n },\n future: {\n name: 'future',\n description: 'Future form of a verb',\n rules: [\n suffixInflection('é', '', ['v'], ['v']),\n suffixInflection('ás', '', ['v'], ['v']),\n suffixInflection('á', '', ['v'], ['v']),\n suffixInflection('emos', '', ['v'], ['v']),\n suffixInflection('éis', '', ['v'], ['v']),\n suffixInflection('án', '', ['v'], ['v']),\n // irregular verbs\n suffixInflection('diré', 'decir', ['v'], ['v']),\n suffixInflection('dirás', 'decir', ['v'], ['v']),\n suffixInflection('dirá', 'decir', ['v'], ['v']),\n suffixInflection('diremos', 'decir', ['v'], ['v']),\n suffixInflection('diréis', 'decir', ['v'], ['v']),\n suffixInflection('dirán', 'decir', ['v'], ['v']),\n wholeWordInflection('haré', 'hacer', ['v'], ['v']),\n wholeWordInflection('harás', 'hacer', ['v'], ['v']),\n wholeWordInflection('hará', 'hacer', ['v'], ['v']),\n wholeWordInflection('haremos', 'hacer', ['v'], ['v']),\n wholeWordInflection('haréis', 'hacer', ['v'], ['v']),\n wholeWordInflection('harán', 'hacer', ['v'], ['v']),\n suffixInflection('pondré', 'poner', ['v'], ['v']),\n suffixInflection('pondrás', 'poner', ['v'], ['v']),\n suffixInflection('pondrá', 'poner', ['v'], ['v']),\n suffixInflection('pondremos', 'poner', ['v'], ['v']),\n suffixInflection('pondréis', 'poner', ['v'], ['v']),\n suffixInflection('pondrán', 'poner', ['v'], ['v']),\n wholeWordInflection('saldré', 'salir', ['v'], ['v']),\n wholeWordInflection('saldrás', 'salir', ['v'], ['v']),\n wholeWordInflection('saldrá', 'salir', ['v'], ['v']),\n wholeWordInflection('saldremos', 'salir', ['v'], ['v']),\n wholeWordInflection('saldréis', 'salir', ['v'], ['v']),\n wholeWordInflection('saldrán', 'salir', ['v'], ['v']),\n suffixInflection('tendré', 'tener', ['v'], ['v']),\n suffixInflection('tendrás', 'tener', ['v'], ['v']),\n suffixInflection('tendrá', 'tener', ['v'], ['v']),\n suffixInflection('tendremos', 'tener', ['v'], ['v']),\n suffixInflection('tendréis', 'tener', ['v'], ['v']),\n suffixInflection('tendrán', 'tener', ['v'], ['v']),\n suffixInflection('vendré', 'venir', ['v'], ['v']),\n suffixInflection('vendrás', 'venir', ['v'], ['v']),\n suffixInflection('vendrá', 'venir', ['v'], ['v']),\n suffixInflection('vendremos', 'venir', ['v'], ['v']),\n suffixInflection('vendréis', 'venir', ['v'], ['v']),\n suffixInflection('vendrán', 'venir', ['v'], ['v']),\n ],\n },\n 'present subjunctive': {\n name: 'present subjunctive',\n description: 'Present subjunctive form of a verb',\n rules: [\n // STEM-CHANGING RULES FIRST\n // e->ie for -ar\n {\n type: 'other',\n isInflected: /ie([a-z]*)(e|es|e|en)$/,\n deinflect: (term) => term.replace(/ie/, 'e').replace(/(e|es|e|en)$/, 'ar'),\n conditionsIn: ['v_ar'],\n conditionsOut: ['v_ar'],\n },\n // e->ie for -er\n {\n type: 'other',\n isInflected: /ie([a-z]*)(a|as|a|an)$/,\n deinflect: (term) => term.replace(/ie/, 'e').replace(/(a|as|a|an)$/, 'er'),\n conditionsIn: ['v_er'],\n conditionsOut: ['v_er'],\n },\n // e->ie for -ir\n {\n type: 'other',\n isInflected: /ie([a-z]*)(a|as|a|an)$/,\n deinflect: (term) => term.replace(/ie/, 'e').replace(/(a|as|a|an)$/, 'ir'),\n conditionsIn: ['v_ir'],\n conditionsOut: ['v_ir'],\n },\n // o->ue for -ar\n {\n type: 'other',\n isInflected: /ue([a-z]*)(e|es|e|en)$/,\n deinflect: (term) => {\n // \"jugar\" (u->ue)\n if (term.startsWith('jue')) {\n return term.replace(/ue/, 'u').replace(/(ue|ues|ue|uen)$/, 'ar');\n }\n return term.replace(/ue/, 'o').replace(/(e|es|e|en)$/, 'ar');\n },\n conditionsIn: ['v_ar'],\n conditionsOut: ['v_ar'],\n },\n // o->ue for -er\n {\n type: 'other',\n isInflected: /ue([a-z]*)(a|as|a|an)$/,\n deinflect: (term) => {\n if (term.startsWith('hue')) {\n return term.replace(/hue/, 'o').replace(/(a|as|a|an)$/, 'er');\n }\n return term.replace(/ue/, 'o').replace(/(a|as|a|an)$/, 'er');\n },\n conditionsIn: ['v_er'],\n conditionsOut: ['v_er'],\n },\n // o->ue for -ir\n {\n type: 'other',\n isInflected: /ue([a-z]*)(a|as|a|an)$/,\n deinflect: (term) => term.replace(/ue/, 'o').replace(/(a|as|a|an)$/, 'ir'),\n conditionsIn: ['v_ir'],\n conditionsOut: ['v_ir'],\n },\n // e->i for -ir\n {\n type: 'other',\n isInflected: /i([a-z]*)(a|as|a|an)$/,\n deinflect: (term) => term.replace(/i/, 'e').replace(/(a|as|a|an)$/, 'ir'),\n conditionsIn: ['v_ir'],\n conditionsOut: ['v_ir'],\n },\n // -ar verbs\n suffixInflection('e', 'ar', ['v_ar'], ['v_ar']),\n suffixInflection('es', 'ar', ['v_ar'], ['v_ar']),\n suffixInflection('e', 'ar', ['v_ar'], ['v_ar']),\n suffixInflection('emos', 'ar', ['v_ar'], ['v_ar']),\n suffixInflection('éis', 'ar', ['v_ar'], ['v_ar']),\n suffixInflection('en', 'ar', ['v_ar'], ['v_ar']),\n // -er verbs\n suffixInflection('a', 'er', ['v_er'], ['v_er']),\n suffixInflection('as', 'er', ['v_er'], ['v_er']),\n suffixInflection('a', 'er', ['v_er'], ['v_er']),\n suffixInflection('amos', 'er', ['v_er'], ['v_er']),\n suffixInflection('áis', 'er', ['v_er'], ['v_er']),\n suffixInflection('an', 'er', ['v_er'], ['v_er']),\n // -ir verbs\n suffixInflection('a', 'ir', ['v_ir'], ['v_ir']),\n suffixInflection('as', 'ir', ['v_ir'], ['v_ir']),\n suffixInflection('a', 'ir', ['v_ir'], ['v_ir']),\n suffixInflection('amos', 'ir', ['v_ir'], ['v_ir']),\n suffixInflection('áis', 'ir', ['v_ir'], ['v_ir']),\n suffixInflection('an', 'ir', ['v_ir'], ['v_ir']),\n // irregular verbs\n wholeWordInflection('dé', 'dar', ['v'], ['v']),\n wholeWordInflection('des', 'dar', ['v'], ['v']),\n wholeWordInflection('dé', 'dar', ['v'], ['v']),\n wholeWordInflection('demos', 'dar', ['v'], ['v']),\n wholeWordInflection('deis', 'dar', ['v'], ['v']),\n wholeWordInflection('den', 'dar', ['v'], ['v']),\n wholeWordInflection('esté', 'estar', ['v'], ['v']),\n wholeWordInflection('estés', 'estar', ['v'], ['v']),\n wholeWordInflection('esté', 'estar', ['v'], ['v']),\n wholeWordInflection('estemos', 'estar', ['v'], ['v']),\n wholeWordInflection('estéis', 'estar', ['v'], ['v']),\n wholeWordInflection('estén', 'estar', ['v'], ['v']),\n wholeWordInflection('sea', 'ser', ['v'], ['v']),\n wholeWordInflection('seas', 'ser', ['v'], ['v']),\n wholeWordInflection('sea', 'ser', ['v'], ['v']),\n wholeWordInflection('seamos', 'ser', ['v'], ['v']),\n wholeWordInflection('seáis', 'ser', ['v'], ['v']),\n wholeWordInflection('sean', 'ser', ['v'], ['v']),\n wholeWordInflection('vaya', 'ir', ['v'], ['v']),\n wholeWordInflection('vayas', 'ir', ['v'], ['v']),\n wholeWordInflection('vaya', 'ir', ['v'], ['v']),\n wholeWordInflection('vayamos', 'ir', ['v'], ['v']),\n wholeWordInflection('vayáis', 'ir', ['v'], ['v']),\n wholeWordInflection('vayan', 'ir', ['v'], ['v']),\n wholeWordInflection('haya', 'haber', ['v'], ['v']),\n wholeWordInflection('hayas', 'haber', ['v'], ['v']),\n wholeWordInflection('haya', 'haber', ['v'], ['v']),\n wholeWordInflection('hayamos', 'haber', ['v'], ['v']),\n wholeWordInflection('hayáis', 'haber', ['v'], ['v']),\n wholeWordInflection('hayan', 'haber', ['v'], ['v']),\n wholeWordInflection('sepa', 'saber', ['v'], ['v']),\n wholeWordInflection('sepas', 'saber', ['v'], ['v']),\n wholeWordInflection('sepa', 'saber', ['v'], ['v']),\n wholeWordInflection('sepamos', 'saber', ['v'], ['v']),\n wholeWordInflection('sepáis', 'saber', ['v'], ['v']),\n wholeWordInflection('sepan', 'saber', ['v'], ['v']),\n ],\n },\n 'imperfect subjunctive': {\n name: 'imperfect subjunctive',\n description: 'Imperfect subjunctive form of a verb',\n rules: [\n // -ar verbs\n suffixInflection('ara', 'ar', ['v_ar'], ['v_ar']),\n suffixInflection('ase', 'ar', ['v_ar'], ['v_ar']),\n suffixInflection('aras', 'ar', ['v_ar'], ['v_ar']),\n suffixInflection('ases', 'ar', ['v_ar'], ['v_ar']),\n suffixInflection('ara', 'ar', ['v_ar'], ['v_ar']),\n suffixInflection('ase', 'ar', ['v_ar'], ['v_ar']),\n suffixInflection('áramos', 'ar', ['v_ar'], ['v_ar']),\n suffixInflection('ásemos', 'ar', ['v_ar'], ['v_ar']),\n suffixInflection('arais', 'ar', ['v_ar'], ['v_ar']),\n suffixInflection('aseis', 'ar', ['v_ar'], ['v_ar']),\n suffixInflection('aran', 'ar', ['v_ar'], ['v_ar']),\n suffixInflection('asen', 'ar', ['v_ar'], ['v_ar']),\n // -er verbs\n suffixInflection('iera', 'er', ['v_er'], ['v_er']),\n suffixInflection('iese', 'er', ['v_er'], ['v_er']),\n suffixInflection('ieras', 'er', ['v_er'], ['v_er']),\n suffixInflection('ieses', 'er', ['v_er'], ['v_er']),\n suffixInflection('iera', 'er', ['v_er'], ['v_er']),\n suffixInflection('iese', 'er', ['v_er'], ['v_er']),\n suffixInflection('iéramos', 'er', ['v_er'], ['v_er']),\n suffixInflection('iésemos', 'er', ['v_er'], ['v_er']),\n suffixInflection('ierais', 'er', ['v_er'], ['v_er']),\n suffixInflection('ieseis', 'er', ['v_er'], ['v_er']),\n suffixInflection('ieran', 'er', ['v_er'], ['v_er']),\n suffixInflection('iesen', 'er', ['v_er'], ['v_er']),\n // -ir verbs\n suffixInflection('iera', 'ir', ['v_ir'], ['v_ir']),\n suffixInflection('iese', 'ir', ['v_ir'], ['v_ir']),\n suffixInflection('ieras', 'ir', ['v_ir'], ['v_ir']),\n suffixInflection('ieses', 'ir', ['v_ir'], ['v_ir']),\n suffixInflection('iera', 'ir', ['v_ir'], ['v_ir']),\n suffixInflection('iese', 'ir', ['v_ir'], ['v_ir']),\n suffixInflection('iéramos', 'ir', ['v_ir'], ['v_ir']),\n suffixInflection('iésemos', 'ir', ['v_ir'], ['v_ir']),\n suffixInflection('ierais', 'ir', ['v_ir'], ['v_ir']),\n suffixInflection('ieseis', 'ir', ['v_ir'], ['v_ir']),\n suffixInflection('ieran', 'ir', ['v_ir'], ['v_ir']),\n suffixInflection('iesen', 'ir', ['v_ir'], ['v_ir']),\n // irregular verbs\n wholeWordInflection('fuera', 'ser', ['v'], ['v']),\n wholeWordInflection('fuese', 'ser', ['v'], ['v']),\n wholeWordInflection('fueras', 'ser', ['v'], ['v']),\n wholeWordInflection('fueses', 'ser', ['v'], ['v']),\n wholeWordInflection('fuera', 'ser', ['v'], ['v']),\n wholeWordInflection('fuese', 'ser', ['v'], ['v']),\n wholeWordInflection('fuéramos', 'ser', ['v'], ['v']),\n wholeWordInflection('fuésemos', 'ser', ['v'], ['v']),\n wholeWordInflection('fuerais', 'ser', ['v'], ['v']),\n wholeWordInflection('fueseis', 'ser', ['v'], ['v']),\n wholeWordInflection('fueran', 'ser', ['v'], ['v']),\n wholeWordInflection('fuesen', 'ser', ['v'], ['v']),\n wholeWordInflection('fuera', 'ir', ['v'], ['v']),\n wholeWordInflection('fuese', 'ir', ['v'], ['v']),\n wholeWordInflection('fueras', 'ir', ['v'], ['v']),\n wholeWordInflection('fueses', 'ir', ['v'], ['v']),\n wholeWordInflection('fuera', 'ir', ['v'], ['v']),\n wholeWordInflection('fuese', 'ir', ['v'], ['v']),\n wholeWordInflection('fuéramos', 'ir', ['v'], ['v']),\n wholeWordInflection('fuésemos', 'ir', ['v'], ['v']),\n wholeWordInflection('fuerais', 'ir', ['v'], ['v']),\n wholeWordInflection('fueseis', 'ir', ['v'], ['v']),\n wholeWordInflection('fueran', 'ir', ['v'], ['v']),\n wholeWordInflection('fuesen', 'ir', ['v'], ['v']),\n ],\n },\n participle: {\n name: 'participle',\n description: 'Participle form of a verb',\n rules: [\n // -ar verbs\n suffixInflection('ado', 'ar', ['adj'], ['v_ar']),\n // -er verbs\n suffixInflection('ido', 'er', ['adj'], ['v_er']),\n // -ir verbs\n suffixInflection('ido', 'ir', ['adj'], ['v_ir']),\n // irregular verbs\n suffixInflection('oído', 'oír', ['adj'], ['v']),\n wholeWordInflection('dicho', 'decir', ['adj'], ['v']),\n wholeWordInflection('escrito', 'escribir', ['adj'], ['v']),\n wholeWordInflection('hecho', 'hacer', ['adj'], ['v']),\n wholeWordInflection('muerto', 'morir', ['adj'], ['v']),\n wholeWordInflection('puesto', 'poner', ['adj'], ['v']),\n wholeWordInflection('roto', 'romper', ['adj'], ['v']),\n wholeWordInflection('visto', 'ver', ['adj'], ['v']),\n wholeWordInflection('vuelto', 'volver', ['adj'], ['v']),\n ],\n },\n reflexive: {\n name: 'reflexive',\n description: 'Reflexive form of a verb',\n rules: [\n suffixInflection('arse', 'ar', ['v_ar'], ['v_ar']),\n suffixInflection('erse', 'er', ['v_er'], ['v_er']),\n suffixInflection('irse', 'ir', ['v_ir'], ['v_ir']),\n ],\n },\n 'pronoun substitution': {\n name: 'pronoun substitution',\n description: 'Substituted pronoun of a reflexive verb',\n rules: [\n suffixInflection('arme', 'arse', ['v_ar'], ['v_ar']),\n suffixInflection('arte', 'arse', ['v_ar'], ['v_ar']),\n suffixInflection('arnos', 'arse', ['v_er'], ['v_er']),\n suffixInflection('erme', 'erse', ['v_er'], ['v_er']),\n suffixInflection('erte', 'erse', ['v_er'], ['v_er']),\n suffixInflection('ernos', 'erse', ['v_er'], ['v_er']),\n suffixInflection('irme', 'irse', ['v_ir'], ['v_ir']),\n suffixInflection('irte', 'irse', ['v_ir'], ['v_ir']),\n suffixInflection('irnos', 'irse', ['v_ir'], ['v_ir']),\n ],\n },\n pronominal: {\n // me despertar -> despertarse\n name: 'pronominal',\n description: 'Pronominal form of a verb',\n rules: [\n {\n type: 'other',\n isInflected: new RegExp(REFLEXIVE_PATTERN),\n deinflect: (term) => {\n return term.replace(\n REFLEXIVE_PATTERN,\n (_match, _pronoun, verb, ending) => `${verb}${ending}se`,\n );\n },\n conditionsIn: ['v'],\n conditionsOut: ['v'],\n },\n ],\n },\n },\n};\n","import type { LanguageTransformDescriptor } from '../../types/language-transformer';\nimport { suffixInflection } from '../language-transforms';\n\nconst conditions = {\n v: { name: 'Verb', isDictionaryForm: true },\n n: { name: 'Noun', isDictionaryForm: true },\n adj: { name: 'Adjective', isDictionaryForm: true },\n adv: { name: 'Adverb', isDictionaryForm: true },\n aux: { name: 'auxiliary', isDictionaryForm: true },\n};\n\ntype Condition = keyof typeof conditions;\n\nexport const frenchTransforms: LanguageTransformDescriptor<Condition> = {\n language: 'fr',\n conditions,\n transforms: {\n // Présent de l'indicatif pour les trois groupes\n 'present indicative': {\n name: 'present indicative',\n description: 'Present indicative form of a verb',\n rules: [\n // auxiliaire être\n suffixInflection('suis', 'être', ['aux'], ['v']),\n suffixInflection('es', 'être', ['aux'], ['v']),\n suffixInflection('est', 'être', ['aux'], ['v']),\n suffixInflection('sommes', 'être', ['aux'], ['v']),\n suffixInflection('êtes', 'être', ['aux'], ['v']),\n suffixInflection('sont', 'être', ['aux'], ['v']),\n\n // auxiliaire avoir\n suffixInflection('ai', 'avoir', ['aux'], ['v']),\n suffixInflection('as', 'avoir', ['aux'], ['v']),\n suffixInflection('a', 'avoir', ['aux'], ['v']),\n suffixInflection('avons', 'avoir', ['aux'], ['v']),\n suffixInflection('avez', 'avoir', ['aux'], ['v']),\n suffixInflection('ont', 'avoir', ['aux'], ['v']),\n\n // 1er groupe : verbes en -er\n suffixInflection('e', 'er', ['v'], ['v']),\n suffixInflection('es', 'er', ['v'], ['v']),\n suffixInflection('ons', 'er', ['v'], ['v']),\n suffixInflection('ez', 'er', ['v'], ['v']),\n suffixInflection('ent', 'er', ['v'], ['v']),\n\n // 1er groupe : verbes en -cer\n suffixInflection('çons', 'cer', ['v'], ['v']),\n\n // 1er groupe : verbes en -ger\n suffixInflection('geons', 'ger', ['v'], ['v']),\n\n // 1er groupe : verbes en e(.)er\n suffixInflection('èce', 'ecer', ['v'], ['v']),\n suffixInflection('ève', 'ever', ['v'], ['v']),\n suffixInflection('ène', 'ener', ['v'], ['v']),\n suffixInflection('èpe', 'eper', ['v'], ['v']),\n suffixInflection('ère', 'erer', ['v'], ['v']),\n suffixInflection('ème', 'emer', ['v'], ['v']),\n suffixInflection('èvre', 'evrer', ['v'], ['v']),\n suffixInflection('èse', 'eser', ['v'], ['v']),\n\n // 1er groupe : verbes en é(.)er\n suffixInflection('ède', 'éder', ['v'], ['v']),\n suffixInflection('èdes', 'éder', ['v'], ['v']),\n suffixInflection('èdent', 'éder', ['v'], ['v']),\n\n suffixInflection('èbre', 'ébrer', ['v'], ['v']),\n suffixInflection('èbres', 'ébrer', ['v'], ['v']),\n suffixInflection('èbrent', 'ébrer', ['v'], ['v']),\n\n suffixInflection('èce', 'écer', ['v'], ['v']),\n suffixInflection('èces', 'écer', ['v'], ['v']),\n suffixInflection('ècent', 'écer', ['v'], ['v']),\n\n suffixInflection('èche', 'écher', ['v'], ['v']),\n suffixInflection('èches', 'écher', ['v'], ['v']),\n suffixInflection('èchent', 'écher', ['v'], ['v']),\n\n suffixInflection('ècre', 'écrer', ['v'], ['v']),\n suffixInflection('ècres', 'écrer', ['v'], ['v']),\n suffixInflection('ècrent', 'écrer', ['v'], ['v']),\n\n suffixInflection('ègle', 'égler', ['v'], ['v']),\n suffixInflection('ègles', 'égler', ['v'], ['v']),\n suffixInflection('èglent', 'égler', ['v'], ['v']),\n\n suffixInflection('ègne', 'égner', ['v'], ['v']),\n suffixInflection('ègnes', 'égner', ['v'], ['v']),\n suffixInflection('ègnent', 'égner', ['v'], ['v']),\n\n suffixInflection('ègre', 'égrer', ['v'], ['v']),\n suffixInflection('ègres', 'égrer', ['v'], ['v']),\n suffixInflection('ègrent', 'égrer', ['v'], ['v']),\n\n suffixInflection('ègue', 'éguer', ['v'], ['v']),\n suffixInflection('ègues', 'éguer', ['v'], ['v']),\n suffixInflection('èguent', 'éguer', ['v'], ['v']),\n\n suffixInflection('èle', 'éler', ['v'], ['v']),\n suffixInflection('èles', 'éler', ['v'], ['v']),\n suffixInflection('èlent', 'éler', ['v'], ['v']),\n\n suffixInflection('ème', 'émer', ['v'], ['v']),\n suffixInflection('èmes', 'émer', ['v'], ['v']),\n suffixInflection('èment', 'émer', ['v'], ['v']),\n\n suffixInflection('ène', 'éner', ['v'], ['v']),\n suffixInflection('ènes', 'éner', ['v'], ['v']),\n suffixInflection('ènent', 'éner', ['v'], ['v']),\n\n suffixInflection('èpe', 'éper', ['v'], ['v']),\n suffixInflection('èpes', 'éper', ['v'], ['v']),\n suffixInflection('èpent', 'éper', ['v'], ['v']),\n\n suffixInflection('èque', 'équer', ['v'], ['v']),\n suffixInflection('èques', 'équer', ['v'], ['v']),\n suffixInflection('èquent', 'équer', ['v'], ['v']),\n\n suffixInflection('ère', 'érer', ['v'], ['v']),\n suffixInflection('ères', 'érer', ['v'], ['v']),\n suffixInflection('èrent', 'érer', ['v'], ['v']),\n\n suffixInflection('èse', 'éser', ['v'], ['v']),\n suffixInflection('èses', 'éser', ['v'], ['v']),\n suffixInflection('èsent', 'éser', ['v'], ['v']),\n\n suffixInflection('ète', 'éter', ['v'], ['v']),\n suffixInflection('ètes', 'éter', ['v'], ['v']),\n suffixInflection('ètent', 'éter', ['v'], ['v']),\n\n suffixInflection('ètre', 'étrer', ['v'], ['v']),\n suffixInflection('ètres', 'étrer', ['v'], ['v']),\n suffixInflection('ètrent', 'étrer', ['v'], ['v']),\n\n suffixInflection('èye', 'éyer', ['v'], ['v']),\n suffixInflection('èyes', 'éyer', ['v'], ['v']),\n suffixInflection('èyent', 'éyer', ['v'], ['v']),\n\n // 1er groupe : verbes en -eler / eter doublant le l - changeant le e en è\n suffixInflection('elle', 'eler', ['v'], ['v']),\n suffixInflection('elles', 'eler', ['v'], ['v']),\n suffixInflection('ellent', 'eler', ['v'], ['v']),\n\n suffixInflection('ette', 'eter', ['v'], ['v']),\n suffixInflection('ettes', 'eter', ['v'], ['v']),\n suffixInflection('ettent', 'eter', ['v'], ['v']),\n\n // 1er groupe : verbes en -eler / eter changeant le e en è\n suffixInflection('èle', 'eler', ['v'], ['v']),\n suffixInflection('èles', 'eler', ['v'], ['v']),\n suffixInflection('èlent', 'eler', ['v'], ['v']),\n\n suffixInflection('ète', 'eter', ['v'], ['v']),\n suffixInflection('ètes', 'eter', ['v'], ['v']),\n suffixInflection('ètent', 'eter', ['v'], ['v']),\n\n // 1er groupe : verbes en -éger\n suffixInflection('ège', 'éger', ['v'], ['v']),\n suffixInflection('èges', 'éger', ['v'], ['v']),\n suffixInflection('ègent', 'éger', ['v'], ['v']),\n\n // 1er groupe : verbes en -ayer\n suffixInflection('aie', 'ayer', ['v'], ['v']),\n suffixInflection('aies', 'ayer', ['v'], ['v']),\n suffixInflection('aient', 'ayer', ['v'], ['v']),\n\n // 1er groupe : verbes en -oyer et uyer\n suffixInflection('oie', 'oyer', ['v'], ['v']),\n suffixInflection('oies', 'oyer', ['v'], ['v']),\n suffixInflection('oient', 'oyer', ['v'], ['v']),\n\n suffixInflection('uie', 'uyer', ['v'], ['v']),\n suffixInflection('uies', 'uyer', ['v'], ['v']),\n suffixInflection('uient', 'uyer', ['v'], ['v']),\n\n // 2e groupe : verbes en -ir (finissant en -issons)\n suffixInflection('is', 'ir', ['v'], ['v']),\n suffixInflection('it', 'ir', ['v'], ['v']),\n suffixInflection('issons', 'ir', ['v'], ['v']),\n suffixInflection('issez', 'ir', ['v'], ['v']),\n suffixInflection('issent', 'ir', ['v'], ['v']),\n\n // 2e groupe : haïr\n suffixInflection('hais', 'haïr', ['v'], ['v']),\n suffixInflection('hait', 'haïr', ['v'], ['v']),\n\n // 3ème groupe aller\n suffixInflection('vais', 'aller', ['v'], ['v']),\n suffixInflection('vas', 'aller', ['v'], ['v']),\n suffixInflection('va', 'aller', ['v'], ['v']),\n suffixInflection('vont', 'aller', ['v'], ['v']),\n\n // 3ème groupe -enir\n suffixInflection('iens', 'enir', ['v'], ['v']),\n suffixInflection('ient', 'enir', ['v'], ['v']),\n suffixInflection('enons', 'enir', ['v'], ['v']),\n suffixInflection('enez', 'enir', ['v'], ['v']),\n suffixInflection('iennent', 'enir', ['v'], ['v']),\n\n // 3ème groupe -éir\n suffixInflection('iers', 'érir', ['v'], ['v']),\n suffixInflection('iert', 'érir', ['v'], ['v']),\n suffixInflection('érons', 'érir', ['v'], ['v']),\n suffixInflection('érez', 'érir', ['v'], ['v']),\n suffixInflection('ièrent', 'érir', ['v'], ['v']),\n\n // 3ème groupe -tir\n suffixInflection('s', 'tir', ['v'], ['v']),\n suffixInflection('t', 'tir', ['v'], ['v']),\n suffixInflection('tons', 'tir', ['v'], ['v']),\n suffixInflection('tez', 'tir', ['v'], ['v']),\n suffixInflection('tent', 'tir', ['v'], ['v']),\n\n // 3ème groupe -êtir\n suffixInflection('êts', 'êtir', ['v'], ['v']),\n suffixInflection('êt', 'êtir', ['v'], ['v']),\n suffixInflection('êtons', 'êtir', ['v'], ['v']),\n suffixInflection('êtez', 'êtir', ['v'], ['v']),\n suffixInflection('êtent', 'êtir', ['v'], ['v']),\n\n // 3ème groupe -vrir\n suffixInflection('vre', 'vrir', ['v'], ['v']),\n suffixInflection('vres', 'vrir', ['v'], ['v']),\n suffixInflection('vrons', 'vrir', ['v'], ['v']),\n suffixInflection('vrez', 'vrir', ['v'], ['v']),\n suffixInflection('vrent', 'vrir', ['v'], ['v']),\n\n // 3ème groupe -frir\n suffixInflection('fre', 'frir', ['v'], ['v']),\n suffixInflection('fres', 'frir', ['v'], ['v']),\n suffixInflection('frons', 'frir', ['v'], ['v']),\n suffixInflection('frez', 'frir', ['v'], ['v']),\n suffixInflection('frent', 'frir', ['v'], ['v']),\n\n // 3ème groupe -ueillir\n suffixInflection('ueille', 'ueillir', ['v'], ['v']),\n suffixInflection('ueilles', 'ueillir', ['v'], ['v']),\n suffixInflection('ueillons', 'ueillir', ['v'], ['v']),\n suffixInflection('ueillez', 'ueillir', ['v'], ['v']),\n suffixInflection('ueillent', 'ueillir', ['v'], ['v']),\n\n // 3ème groupe -aillir\n suffixInflection('aille', 'aillir', ['v'], ['v']),\n suffixInflection('ailles', 'aillir', ['v'], ['v']),\n suffixInflection('aillons', 'aillir', ['v'], ['v']),\n suffixInflection('aillez', 'aillir', ['v'], ['v']),\n suffixInflection('aillent', 'aillir', ['v'], ['v']),\n\n // 3ème groupe : faillir (exception)\n suffixInflection('faux', 'aillir', ['v'], ['v']),\n suffixInflection('faut', 'aillir', ['v'], ['v']),\n\n // 3ème groupe : bouillir\n suffixInflection('bous', 'bouillir', ['v'], ['v']),\n suffixInflection('bout', 'bouillir', ['v'], ['v']),\n suffixInflection('bouillons', 'bouillir', ['v'], ['v']),\n suffixInflection('bouillez', 'bouillir', ['v'], ['v']),\n suffixInflection('bouillent', 'bouillir', ['v'], ['v']),\n\n // 3ème groupe : dormir\n suffixInflection('dors', 'dormir', ['v'], ['v']),\n suffixInflection('dort', 'dormir', ['v'], ['v']),\n suffixInflection('dormons', 'dormir', ['v'], ['v']),\n suffixInflection('dormez', 'dormir', ['v'], ['v']),\n suffixInflection('dorment', 'dormir', ['v'], ['v']),\n\n // 3ème groupe : courir\n suffixInflection('cours', 'dormir', ['v'], ['v']),\n suffixInflection('court', 'dormir', ['v'], ['v']),\n suffixInflection('courons', 'dormir', ['v'], ['v']),\n suffixInflection('courez', 'dormir', ['v'], ['v']),\n suffixInflection('courent', 'dormir', ['v'], ['v']),\n\n // 3ème groupe : mourir\n suffixInflection('meurs', 'mourir', ['v'], ['v']),\n suffixInflection('meurt', 'mourir', ['v'], ['v']),\n suffixInflection('mourons', 'mourir', ['v'], ['v']),\n suffixInflection('mourez', 'mourir', ['v'], ['v']),\n suffixInflection('meurent', 'mourir', ['v'], ['v']),\n\n // 3ème groupe servir\n suffixInflection('sers', 'servir', ['v'], ['v']),\n suffixInflection('sert', 'servir', ['v'], ['v']),\n suffixInflection('servons', 'servir', ['v'], ['v']),\n suffixInflection('servez', 'servir', ['v'], ['v']),\n suffixInflection('servent', 'servir', ['v'], ['v']),\n\n // 3ème groupe : fuir\n suffixInflection('fuis', 'fuir', ['v'], ['v']),\n suffixInflection('fuit', 'fuir', ['v'], ['v']),\n suffixInflection('fuyons', 'fuir', ['v'], ['v']),\n suffixInflection('fuyez', 'fuir', ['v'], ['v']),\n suffixInflection('fuient', 'fuir', ['v'], ['v']),\n\n // 3ème groupe : ouïr\n suffixInflection('ois', 'ouïr', ['v'], ['v']),\n suffixInflection('oit', 'ouïr', ['v'], ['v']),\n suffixInflection('oyons', 'ouïr', ['v'], ['v']),\n suffixInflection('oyez', 'ouïr', ['v'], ['v']),\n suffixInflection('oient', 'ouïr', ['v'], ['v']),\n\n // 3ème groupe : gésir\n suffixInflection('gis', 'gésir', ['v'], ['v']),\n suffixInflection('git', 'gésir', ['v'], ['v']),\n suffixInflection('gisons', 'gésir', ['v'], ['v']),\n suffixInflection('gisez', 'gésir', ['v'], ['v']),\n suffixInflection('gisent', 'gésir', ['v'], ['v']),\n\n // 3ème groupe -cevoir\n suffixInflection('çois', 'cevoir', ['v'], ['v']),\n suffixInflection('çoit', 'cevoir', ['v'], ['v']),\n suffixInflection('cevons', 'cevoir', ['v'], ['v']),\n suffixInflection('cevez', 'cevoir', ['v'], ['v']),\n suffixInflection('çoivent', 'cevoir', ['v'], ['v']),\n\n // 3ème groupe : voir\n suffixInflection('vois', 'voir', ['v'], ['v']),\n suffixInflection('voit', 'voir', ['v'], ['v']),\n suffixInflection('voyons', 'voir', ['v'], ['v']),\n suffixInflection('voyez', 'voir', ['v'], ['v']),\n suffixInflection('voient', 'voir', ['v'], ['v']),\n\n // 3ème groupe : savoir\n suffixInflection('sais', 'savoir', ['v'], ['v']),\n suffixInflection('sait', 'savoir', ['v'], ['v']),\n suffixInflection('savons', 'savoir', ['v'], ['v']),\n suffixInflection('savez', 'savoir', ['v'], ['v']),\n suffixInflection('savent', 'savoir', ['v'], ['v']),\n\n // 3ème groupe : devoir\n suffixInflection('dois', 'devoir', ['v'], ['v']),\n suffixInflection('doit', 'devoir', ['v'], ['v']),\n suffixInflection('devons', 'devoir', ['v'], ['v']),\n suffixInflection('devez', 'devoir', ['v'], ['v']),\n suffixInflection('doivent', 'devoir', ['v'], ['v']),\n\n // 3ème groupe : pouvoir\n suffixInflection('puis', 'pouvoir', ['v'], ['v']),\n suffixInflection('peux', 'pouvoir', ['v'], ['v']),\n suffixInflection('peut', 'pouvoir', ['v'], ['v']),\n suffixInflection('pouvons', 'pouvoir', ['v'], ['v']),\n suffixInflection('pouvez', 'pouvoir', ['v'], ['v']),\n suffixInflection('peuvent', 'pouvoir', ['v'], ['v']),\n\n // 3ème groupe : mouvoir\n suffixInflection('meus', 'mouvoir', ['v'], ['v']),\n suffixInflection('meut', 'mouvoir', ['v'], ['v']),\n suffixInflection('mouvons', 'mouvoir', ['v'], ['v']),\n suffixInflection('mouvez', 'mouvoir', ['v'], ['v']),\n suffixInflection('meuvent', 'mouvoir', ['v'], ['v']),\n\n // 3ème groupe : pleuvoir / falloir (verbes impersonnel)\n suffixInflection('pleut', 'pleuvoir', ['v'], ['v']),\n suffixInflection('faut', 'falloir', ['v'], ['v']),\n\n // 3ème groupe : valoir\n suffixInflection('vaux', 'valoir', ['v'], ['v']),\n suffixInflection('vaut', 'valoir', ['v'], ['v']),\n suffixInflection('valons', 'valoir', ['v'], ['v']),\n suffixInflection('valez', 'valoir', ['v'], ['v']),\n suffixInflection('valent', 'valoir', ['v'], ['v']),\n\n // 3ème groupe : vouloir\n suffixInflection('veux', 'vouloir', ['v'], ['v']),\n suffixInflection('veut', 'vouloir', ['v'], ['v']),\n suffixInflection('voulons', 'vouloir', ['v'], ['v']),\n suffixInflection('voulez', 'vouloir', ['v'], ['v']),\n suffixInflection('veulent', 'vouloir', ['v'], ['v']),\n\n // 3ème groupe : seoir / surseoir\n suffixInflection('sois', 'seoir', ['v'], ['v']),\n suffixInflection('soit', 'seoir', ['v'], ['v']),\n suffixInflection('soyons', 'seoir', ['v'], ['v']),\n suffixInflection('soyez', 'seoir', ['v'], ['v']),\n suffixInflection('soient', 'seoir', ['v'], ['v']),\n\n // 3ème groupe : asseoir (forme en ie et ye)\n suffixInflection('assied', 'asseoir', ['v'], ['v']),\n suffixInflection('assieds', 'asseoir', ['v'], ['v']),\n suffixInflection('asseyons', 'asseoir', ['v'], ['v']),\n suffixInflection('asseyez', 'asseoir', ['v'], ['v']),\n suffixInflection('asseyent', 'asseoir', ['v'], ['v']),\n\n // 3ème groupe : seoir (convenir) / messeoir (ne pas être convenable)\n suffixInflection('sied', 'seoir', ['v'], ['v']),\n\n // 3ème groupe : choir\n suffixInflection('chois', 'choir', ['v'], ['v']),\n suffixInflection('choit', 'choir', ['v'], ['v']),\n suffixInflection('choyons', 'choir', ['v'], ['v']),\n suffixInflection('choyez', 'choir', ['v'], ['v']),\n suffixInflection('choient', 'choir', ['v'], ['v']),\n\n // 3ème groupe : échoir / déchoir\n suffixInflection('échoit', 'échoir', ['v'], ['v']),\n suffixInflection('échet', 'échoir', ['v'], ['v']),\n suffixInflection('échoient', 'échoir', ['v'], ['v']),\n suffixInflection('échéent', 'échoir', ['v'], ['v']),\n\n // 3ème groupe : verbes en -andre, -endre, -ondre, -erdre, -ordre\n suffixInflection('and', 'andre', ['v'], ['v']),\n suffixInflection('ands', 'andre', ['v'], ['v']),\n suffixInflection('andons', 'andre', ['v'], ['v']),\n suffixInflection('andez', 'andre', ['v'], ['v']),\n suffixInflection('andent', 'andre', ['v'], ['v']),\n\n suffixInflection('end', 'endre', ['v'], ['v']),\n suffixInflection('ends', 'endre', ['v'], ['v']),\n suffixInflection('endons', 'endre', ['v'], ['v']),\n suffixInflection('endez', 'endre', ['v'], ['v']),\n suffixInflection('endent', 'endre', ['v'], ['v']),\n\n suffixInflection('ond', 'ondre', ['v'], ['v']),\n suffixInflection('onds', 'ondre', ['v'], ['v']),\n suffixInflection('ondons', 'ondre', ['v'], ['v']),\n suffixInflection('ondez', 'ondre', ['v'], ['v']),\n suffixInflection('ondent', 'ondre', ['v'], ['v']),\n\n suffixInflection('erd', 'erdre', ['v'], ['v']),\n suffixInflection('erds', 'erdre', ['v'], ['v']),\n suffixInflection('erdons', 'erdre', ['v'], ['v']),\n suffixInflection('erdez', 'erdre', ['v'], ['v']),\n suffixInflection('erdent', 'erdre', ['v'], ['v']),\n\n suffixInflection('ord', 'ordre', ['v'], ['v']),\n suffixInflection('ords', 'ordre', ['v'], ['v']),\n suffixInflection('ordons', 'ordre', ['v'], ['v']),\n suffixInflection('ordez', 'ordre', ['v'], ['v']),\n suffixInflection('ordent', 'ordre', ['v'], ['v']),\n\n // 3ème groupe : prendre\n suffixInflection('prenons', 'prendre', ['v'], ['v']),\n suffixInflection('prenez', 'prendre', ['v'], ['v']),\n suffixInflection('prenent', 'prendre', ['v'], ['v']),\n\n // 3ème groupe : battre\n suffixInflection('bats', 'battre', ['v'], ['v']),\n suffixInflection('bat', 'battre', ['v'], ['v']),\n suffixInflection('battons', 'battre', ['v'], ['v']),\n suffixInflection('battez', 'battre', ['v'], ['v']),\n suffixInflection('battent', 'battre', ['v'], ['v']),\n\n // 3ème groupe : mettre\n suffixInflection('mets', 'mettre', ['v'], ['v']),\n suffixInflection('met', 'mettre', ['v'], ['v']),\n suffixInflection('mettons', 'mettre', ['v'], ['v']),\n suffixInflection('mettez', 'mettre', ['v'], ['v']),\n suffixInflection('mettent', 'mettre', ['v'], ['v']),\n\n // 3ème groupe : verbes en -eindre\n suffixInflection('eins', 'eindre', ['v'], ['v']),\n suffixInflection('eint', 'eindre', ['v'], ['v']),\n suffixInflection('eignons', 'eindre', ['v'], ['v']),\n suffixInflection('eignez', 'eindre', ['v'], ['v']),\n suffixInflection('eignent', 'eindre', ['v'], ['v']),\n\n // 3ème groupe : verbes en -oindre\n suffixInflection('oins', 'oindre', ['v'], ['v']),\n suffixInflection('oint', 'oindre', ['v'], ['v']),\n suffixInflection('oignons', 'oindre', ['v'], ['v']),\n suffixInflection('oignez', 'oindre', ['v'], ['v']),\n suffixInflection('oignent', 'oindre', ['v'], ['v']),\n\n // 3ème groupe : verbes en -aindre\n suffixInflection('ains', 'aindre', ['v'], ['v']),\n suffixInflection('aint', 'aindre', ['v'], ['v']),\n suffixInflection('aignons', 'aindre', ['v'], ['v']),\n suffixInflection('aignez', 'aindre', ['v'], ['v']),\n suffixInflection('aignent', 'aindre', ['v'], ['v']),\n\n // 3ème groupe : vaincre\n suffixInflection('vaincs', 'vaincre', ['v'], ['v']),\n suffixInflection('vainc', 'vaincre', ['v'], ['v']),\n suffixInflection('vainquons', 'vaincre', ['v'], ['v']),\n suffixInflection('vainquez', 'vaincre', ['v'], ['v']),\n suffixInflection('vainquent', 'vaincre', ['v'], ['v']),\n\n // 3ème groupe : raire\n suffixInflection('rais', 'raire', ['v'], ['v']),\n suffixInflection('rait', 'raire', ['v'], ['v']),\n suffixInflection('rayons', 'raire', ['v'], ['v']),\n suffixInflection('rayez', 'raire', ['v'], ['v']),\n suffixInflection('raient', 'raire', ['v'], ['v']),\n\n // 3ème groupe : faire\n suffixInflection('fais', 'faire', ['v'], ['v']),\n suffixInflection('fait', 'faire', ['v'], ['v']),\n suffixInflection('faisons', 'faire', ['v'], ['v']),\n suffixInflection('faites', 'faire', ['v'], ['v']),\n suffixInflection('font', 'faire', ['v'], ['v']),\n\n // 3ème groupe : plaire\n suffixInflection('plais', 'faire', ['v'], ['v']),\n suffixInflection('plait', 'faire', ['v'], ['v']),\n suffixInflection('plaisons', 'faire', ['v'], ['v']),\n suffixInflection('plaisez', 'faire', ['v'], ['v']),\n suffixInflection('plaisent', 'faire', ['v'], ['v']),\n\n // 3ème groupe : verbes en -aître (naître / connaître)\n suffixInflection('ais', 'aître', ['v'], ['v']),\n suffixInflection('aît', 'aître', ['v'], ['v']),\n suffixInflection('ait', 'aître', ['v'], ['v']),\n suffixInflection('aissons', 'aître', ['v'], ['v']),\n suffixInflection('aissez', 'aître', ['v'], ['v']),\n suffixInflection('aissent', 'aître', ['v'], ['v']),\n\n // 3ème groupe : verbes en -oître\n suffixInflection('ois', 'oître', ['v'], ['v']),\n suffixInflection('oît', 'oître', ['v'], ['v']),\n suffixInflection('oit', 'oître', ['v'], ['v']),\n suffixInflection('oissons', 'oître', ['v'], ['v']),\n suffixInflection('oissez', 'oître', ['v'], ['v']),\n suffixInflection('oissent', 'oître', ['v'], ['v']),\n\n // 3ème groupe : croire et boire\n suffixInflection('crois', 'croire', ['v'], ['v']),\n suffixInflection('croît', 'croire', ['v'], ['v']),\n suffixInflection('croit', 'croire', ['v'], ['v']),\n suffixInflection('croyons', 'croire', ['v'], ['v']),\n suffixInflection('croyez', 'croire', ['v'], ['v']),\n suffixInflection('croient', 'croire', ['v'], ['v']),\n\n suffixInflection('bois', 'boire', ['v'], ['v']),\n suffixInflection('boît', 'boire', ['v'], ['v']),\n suffixInflection('boit', 'boire', ['v'], ['v']),\n suffixInflection('buvons', 'boire', ['v'], ['v']),\n suffixInflection('buvez', 'boire', ['v'], ['v']),\n suffixInflection('boivent', 'boire', ['v'], ['v']),\n\n // 3ème groupe : clore\n suffixInflection('clos', 'clore', ['v'], ['v']),\n suffixInflection('clôt', 'clore', ['v'], ['v']),\n suffixInflection('closent', 'croire', ['v'], ['v']),\n\n // 3ème groupe : verbes en -clure\n suffixInflection('clus', 'clure', ['v'], ['v']),\n suffixInflection('clut', 'clure', ['v'], ['v']),\n suffixInflection('cluons', 'clure', ['v'], ['v']),\n suffixInflection('cluez', 'clure', ['v'], ['v']),\n suffixInflection('cluent', 'clure', ['v'], ['v']),\n\n // 3ème groupe : verbes en -soudre (pas !!!)\n suffixInflection('sous', 'soudre', ['v'], ['v']),\n suffixInflection('sout', 'soudre', ['v'], ['v']),\n suffixInflection('solvons', 'soudre', ['v'], ['v']),\n suffixInflection('solvez', 'soudre', ['v'], ['v']),\n suffixInflection('solvent', 'soudre', ['v'], ['v']),\n\n // 3ème groupe : verbes en -coudre\n suffixInflection('coud', 'coudre', ['v'], ['v']),\n suffixInflection('couds', 'coudre', ['v'], ['v']),\n suffixInflection('cousons', 'coudre', ['v'], ['v']),\n suffixInflection('cousez', 'coudre', ['v'], ['v']),\n suffixInflection('cousent', 'coudre', ['v'], ['v']),\n\n // 3ème groupe : verbes en -moudre\n suffixInflection('moud', 'moudre', ['v'], ['v']),\n suffixInflection('mouds', 'moudre', ['v'], ['v']),\n suffixInflection('moulons', 'moudre', ['v'], ['v']),\n suffixInflection('moulez', 'moudre', ['v'], ['v']),\n suffixInflection('moulent', 'moudre', ['v'], ['v']),\n\n // 3ème groupe : verbes en -ivre (suivre, vivre)\n suffixInflection('is', 'vivre', ['v'], ['v']),\n suffixInflection('it', 'vivre', ['v'], ['v']),\n suffixInflection('ivons', 'vivre', ['v'], ['v']),\n suffixInflection('ivez', 'vivre', ['v'], ['v']),\n suffixInflection('ivent', 'vivre', ['v'], ['v']),\n\n // 3ème groupe : verbes en -lire (relire)\n suffixInflection('lis', 'lire', ['v'], ['v']),\n suffixInflection('lit', 'lire', ['v'], ['v']),\n suffixInflection('lisons', 'lire', ['v'], ['v']),\n suffixInflection('lisez', 'lire', ['v'], ['v']),\n suffixInflection('lisent', 'lire', ['v'], ['v']),\n\n // 3ème groupe : verbes en -dire (relire)\n suffixInflection('dis', 'dire', ['v'], ['v']),\n suffixInflection('dit', 'dire', ['v'], ['v']),\n suffixInflection('disons', 'dire', ['v'], ['v']),\n suffixInflection('disez', 'dire', ['v'], ['v']),\n suffixInflection('disent', 'dire', ['v'], ['v']),\n\n // 3ème groupe : verbes en rire (sourire)\n suffixInflection('ris', 'rire', ['v'], ['v']),\n suffixInflection('rit', 'rire', ['v'], ['v']),\n suffixInflection('rions', 'rire', ['v'], ['v']),\n suffixInflection('riez', 'rire', ['v'], ['v']),\n suffixInflection('rient', 'rire', ['v'], ['v']),\n\n // 3ème groupe : maudire\n suffixInflection('maudissons', 'maudire', ['v'], ['v']),\n suffixInflection('maudissez', 'maudire', ['v'], ['v']),\n suffixInflection('maudissent', 'maudire', ['v'], ['v']),\n\n // 3ème groupe : verbes en crire (décrire)\n suffixInflection('cris', 'crire', ['v'], ['v']),\n suffixInflection('crit', 'crire', ['v'], ['v']),\n suffixInflection('crivons', 'crire', ['v'], ['v']),\n suffixInflection('crivez', 'crire', ['v'], ['v']),\n suffixInflection('crivent', 'crire', ['v'], ['v']),\n\n // 3ème groupe : verbes en -fire, -cire, -frire (suffire, confire etc...)\n suffixInflection('fis', 'fire', ['v'], ['v']),\n suffixInflection('fit', 'fire', ['v'], ['v']),\n suffixInflection('fisons', 'fire', ['v'], ['v']),\n suffixInflection('fisez', 'fire', ['v'], ['v']),\n suffixInflection('fisent', 'fire', ['v'], ['v']),\n\n suffixInflection('cis', 'cire', ['v'], ['v']),\n suffixInflection('cit', 'cire', ['v'], ['v']),\n suffixInflection('cisons', 'cire', ['v'], ['v']),\n suffixInflection('cisez', 'cire', ['v'], ['v']),\n suffixInflection('cisent', 'cire', ['v'], ['v']),\n\n suffixInflection('fris', 'frire', ['v'], ['v']),\n suffixInflection('frit', 'frire', ['v'], ['v']),\n suffixInflection('frisons', 'frire', ['v'], ['v']),\n suffixInflection('frisez', 'frire', ['v'], ['v']),\n suffixInflection('frisent', 'frire', ['v'], ['v']),\n\n // 3ème groupe : verbes en -uire (conduire, cuire etc...)\n suffixInflection('uis', 'uire', ['v'], ['v']),\n suffixInflection('uit', 'uire', ['v'], ['v']),\n suffixInflection('uisons', 'uire', ['v'], ['v']),\n suffixInflection('uisez', 'uire', ['v'], ['v']),\n suffixInflection('uisent', 'uire', ['v'], ['v']),\n ],\n },\n\n // Imparfait de l'indicatif\n 'imperfect indicative': {\n name: 'imperfect indicative',\n description: 'Imperfect indicative form of a verb',\n rules: [\n // Auxiliaire être et avoir\n suffixInflection('étais', 'être', ['v'], ['v']),\n suffixInflection('était', 'être', ['v'], ['v']),\n suffixInflection('étions', 'être', ['v'], ['v']),\n suffixInflection('étiez', 'être', ['v'], ['v']),\n suffixInflection('étaient', 'être', ['v'], ['v']),\n\n suffixInflection('avais', 'avoir', ['v'], ['v']),\n suffixInflection('avait', 'avoir', ['v'], ['v']),\n suffixInflection('avions', 'avoir', ['v'], ['v']),\n suffixInflection('aviez', 'avoir', ['v'], ['v']),\n suffixInflection('avaient', 'avoir', ['v'], ['v']),\n\n // 1er groupe : verbes en -er\n suffixInflection('ais', 'er', ['v'], ['v']),\n suffixInflection('ait', 'er', ['v'], ['v']),\n suffixInflection('ions', 'er', ['v'], ['v']),\n suffixInflection('iez', 'er', ['v'], ['v']),\n suffixInflection('aient', 'er', ['v'], ['v']),\n\n // 1er groupe : verbes en -cer\n suffixInflection('çais', 'cer', ['v'], ['v']),\n suffixInflection('çait', 'cer', ['v'], ['v']),\n suffixInflection('çions', 'cer', ['v'], ['v']),\n suffixInflection('çiez', 'cer', ['v'], ['v']),\n suffixInflection('çaient', 'cer', ['v'], ['v']),\n\n // 1er groupe : verbes en -ger\n suffixInflection('geais', 'ger', ['v'], ['v']),\n suffixInflection('geait', 'ger', ['v'], ['v']),\n suffixInflection('geaient', 'ger', ['v'], ['v']),\n\n // 1er groupe : verbes en e(.)er\n // pas de modif\n\n // 1er groupe : verbes en é(.)er\n // pas de modif\n\n // 1er groupe : verbes en -eler / eter doublant le l - changeant le e en è\n // pas de modif\n\n // 1er groupe : verbes en -eler / eter changeant le e en è\n // pas de modif\n\n // 1er groupe : verbes en -éger\n // pas de modif\n\n // 1er groupe : verbes en -ayer\n // pas de modif\n\n // 1er groupe : verbes en -oyer et uyer\n // pas de modif\n\n // 2e groupe : verbes en -ir (finissant en -issons) A COMMENCER\n suffixInflection('issais', 'ir', ['v'], ['v']),\n suffixInflection('issait', 'ir', ['v'], ['v']),\n suffixInflection('issions', 'ir', ['v'], ['v']),\n suffixInflection('issiez', 'ir', ['v'], ['v']),\n suffixInflection('issaient', 'ir', ['v'], ['v']),\n\n // 2e groupe : haïr\n suffixInflection('haïssais', 'haïr', ['v'], ['v']),\n suffixInflection('haïssait', 'haïr', ['v'], ['v']),\n suffixInflection('haïssions', 'haïr', ['v'], ['v']),\n suffixInflection('haïssaient', 'haïr', ['v'], ['v']),\n\n suffixInflection('haissais', 'haïr', ['v'], ['v']),\n suffixInflection('haissait', 'haïr', ['v'], ['v']),\n suffixInflection('haissions', 'haïr', ['v'], ['v']),\n suffixInflection('haissaient', 'haïr', ['v'], ['v']),\n\n // 3ème groupe aller\n suffixInflection('allais', 'aller', ['v'], ['v']),\n suffixInflection('allait', 'aller', ['v'], ['v']),\n suffixInflection('allions', 'aller', ['v'], ['v']),\n suffixInflection('alliez', 'aller', ['v'], ['v']),\n suffixInflection('allaient', 'aller', ['v'], ['v']),\n\n // 3ème groupe -enir\n suffixInflection('enais', 'enir', ['v'], ['v']),\n suffixInflection('enait', 'enir', ['v'], ['v']),\n suffixInflection('enions', 'enir', ['v'], ['v']),\n suffixInflection('eniez', 'enir', ['v'], ['v']),\n suffixInflection('enaient', 'enir', ['v'], ['v']),\n\n // 3ème groupe -éir\n suffixInflection('érais', 'érir', ['v'], ['v']),\n suffixInflection('érait', 'érir', ['v'], ['v']),\n suffixInflection('érions', 'érir', ['v'], ['v']),\n suffixInflection('ériez', 'érir', ['v'], ['v']),\n suffixInflection('éraient', 'érir', ['v'], ['v']),\n\n // 3ème groupe -tir\n suffixInflection('tais', 'tir', ['v'], ['v']),\n suffixInflection('tait', 'tir', ['v'], ['v']),\n suffixInflection('tions', 'tir', ['v'], ['v']),\n suffixInflection('tiez', 'tir', ['v'], ['v']),\n suffixInflection('taient', 'tir', ['v'], ['v']),\n\n // 3ème groupe -êtir\n suffixInflection('êtais', 'êtir', ['v'], ['v']),\n suffixInflection('êtait', 'êtir', ['v'], ['v']),\n suffixInflection('êtions', 'êtir', ['v'], ['v']),\n suffixInflection('êtiez', 'êtir', ['v'], ['v']),\n suffixInflection('êtaient', 'êtir', ['v'], ['v']),\n\n // 3ème groupe -vrir\n suffixInflection('vrais', 'vrir', ['v'], ['v']),\n suffixInflection('vrait', 'vrir', ['v'], ['v']),\n suffixInflection('vrions', 'vrir', ['v'], ['v']),\n suffixInflection('vriez', 'vrir', ['v'], ['v']),\n suffixInflection('vraient', 'vrir', ['v'], ['v']),\n\n // 3ème groupe -frir\n suffixInflection('frais', 'frir', ['v'], ['v']),\n suffixInflection('frait', 'frir', ['v'], ['v']),\n suffixInflection('frions', 'frir', ['v'], ['v']),\n suffixInflection('friez', 'frir', ['v'], ['v']),\n suffixInflection('fraient', 'frir', ['v'], ['v']),\n\n // 3ème groupe -ueillir\n suffixInflection('ueillais', 'ueillir', ['v'], ['v']),\n suffixInflection('ueillait', 'ueillir', ['v'], ['v']),\n suffixInflection('ueillions', 'ueillir', ['v'], ['v']),\n suffixInflection('ueilliez', 'ueillir', ['v'], ['v']),\n suffixInflection('ueillaient', 'ueillir', ['v'], ['v']),\n\n // 3ème groupe -aillir\n suffixInflection('aillais', 'aillir', ['v'], ['v']),\n suffixInflection('aillait', 'aillir', ['v'], ['v']),\n suffixInflection('aillions', 'aillir', ['v'], ['v']),\n suffixInflection('ailliez', 'aillir', ['v'], ['v']),\n suffixInflection('aillaient', 'aillir', ['v'], ['v']),\n\n // 3ème groupe : faillir (exception)\n // pas de modif\n\n // 3ème groupe : bouillir\n suffixInflection('bouilliais', 'bouillir', ['v'], ['v']),\n suffixInflection('bouilliait', 'bouillir', ['v'], ['v']),\n suffixInflection('bouillions', 'bouillir', ['v'], ['v']),\n suffixInflection('bouilliez', 'bouillir', ['v'], ['v']),\n suffixInflection('bouillaient', 'bouillir', ['v'], ['v']),\n\n // 3ème groupe : dormir\n suffixInflection('dormais', 'dormir', ['v'], ['v']),\n suffixInflection('dormait', 'dormir', ['v'], ['v']),\n suffixInflection('dormions', 'dormir', ['v'], ['v']),\n suffixInflection('dormiez', 'dormir', ['v'], ['v']),\n suffixInflection('dormaient', 'dormir', ['v'], ['v']),\n\n // 3ème groupe : courir\n suffixInflection('courais', 'dormir', ['v'], ['v']),\n suffixInflection('courait', 'dormir', ['v'], ['v']),\n suffixInflection('courions', 'dormir', ['v'], ['v']),\n suffixInflection('couriez', 'dormir', ['v'], ['v']),\n suffixInflection('couraient', 'dormir', ['v'], ['v']),\n\n // 3ème groupe : mourir\n suffixInflection('mourais', 'mourir', ['v'], ['v']),\n suffixInflection('mourait', 'mourir', ['v'], ['v']),\n suffixInflection('mourions', 'mourir', ['v'], ['v']),\n suffixInflection('mouriez', 'mourir', ['v'], ['v']),\n suffixInflection('mouraient', 'mourir', ['v'], ['v']),\n\n // 3ème groupe servir\n suffixInflection('servais', 'servir', ['v'], ['v']),\n suffixInflection('servait', 'servir', ['v'], ['v']),\n suffixInflection('servions', 'servir', ['v'], ['v']),\n suffixInflection('serviez', 'servir', ['v'], ['v']),\n suffixInflection('servaient', 'servir', ['v'], ['v']),\n\n // 3ème groupe : fuir\n suffixInflection('fuyais', 'fuir', ['v'], ['v']),\n suffixInflection('fuyait', 'fuir', ['v'], ['v']),\n suffixInflection('fuyions', 'fuir', ['v'], ['v']),\n suffixInflection('fuyiez', 'fuir', ['v'], ['v']),\n suffixInflection('fuyaient', 'fuir', ['v'], ['v']),\n\n // 3ème groupe : ouïr\n suffixInflection('oyais', 'ouïr', ['v'], ['v']),\n suffixInflection('oyait', 'ouïr', ['v'], ['v']),\n suffixInflection('oyions', 'ouïr', ['v'], ['v']),\n suffixInflection('oyiez', 'ouïr', ['v'], ['v']),\n suffixInflection('oyaient', 'ouïr', ['v'], ['v']),\n\n // 3ème groupe : gésir\n suffixInflection('gisais', 'gésir', ['v'], ['v']),\n suffixInflection('gisait', 'gésir', ['v'], ['v']),\n suffixInflection('gisions', 'gésir', ['v'], ['v']),\n suffixInflection('gisiez', 'gésir', ['v'], ['v']),\n suffixInflection('gisaient', 'gésir', ['v'], ['v']),\n\n // 3ème groupe -cevoir\n suffixInflection('cevais', 'cevoir', ['v'], ['v']),\n suffixInflection('cevait', 'cevoir', ['v'], ['v']),\n suffixInflection('cevions', 'cevoir', ['v'], ['v']),\n suffixInflection('ceviez', 'cevoir', ['v'], ['v']),\n suffixInflection('cevaient', 'cevoir', ['v'], ['v']),\n\n // 3ème groupe : voir\n suffixInflection('voyais', 'voir', ['v'], ['v']),\n suffixInflection('voyait', 'voir', ['v'], ['v']),\n suffixInflection('voyions', 'voir', ['v'], ['v']),\n suffixInflection('voyiez', 'voir', ['v'], ['v']),\n suffixInflection('voyaient', 'voir', ['v'], ['v']),\n\n // 3ème groupe : savoir\n suffixInflection('savais', 'savoir', ['v'], ['v']),\n suffixInflection('savait', 'savoir', ['v'], ['v']),\n suffixInflection('savions', 'savoir', ['v'], ['v']),\n suffixInflection('saviez', 'savoir', ['v'], ['v']),\n suffixInflection('savaient', 'savoir', ['v'], ['v']),\n\n // 3ème groupe : devoir\n suffixInflection('devais', 'devoir', ['v'], ['v']),\n suffixInflection('devait', 'devoir', ['v'], ['v']),\n suffixInflection('devions', 'devoir', ['v'], ['v']),\n suffixInflection('deviez', 'devoir', ['v'], ['v']),\n suffixInflection('devaient', 'devoir', ['v'], ['v']),\n\n // 3ème groupe : pouvoir\n suffixInflection('pouvais', 'pouvoir', ['v'], ['v']),\n suffixInflection('pouvait', 'pouvoir', ['v'], ['v']),\n suffixInflection('pouvions', 'pouvoir', ['v'], ['v']),\n suffixInflection('pouviez', 'pouvoir', ['v'], ['v']),\n suffixInflection('pouvaient', 'pouvoir', ['v'], ['v']),\n\n // 3ème groupe : mouvoir\n suffixInflection('mouvais', 'mouvoir', ['v'], ['v']),\n suffixInflection('mouvait', 'mouvoir', ['v'], ['v']),\n suffixInflection('mouvions', 'mouvoir', ['v'], ['v']),\n suffixInflection('mouviez', 'mouvoir', ['v'], ['v']),\n suffixInflection('mouvaient', 'mouvoir', ['v'], ['v']),\n\n // 3ème groupe : pleuvoir / falloir (verbes impersonnel)\n suffixInflection('pleuvait', 'pleuvoir', ['v'], ['v']),\n suffixInflection('fallait', 'falloir', ['v'], ['v']),\n\n // 3ème groupe : valoir\n suffixInflection('valais', 'vouloir', ['v'], ['v']),\n suffixInflection('valait', 'vouloir', ['v'], ['v']),\n suffixInflection('valions', 'vouloir', ['v'], ['v']),\n suffixInflection('valiez', 'vouloir', ['v'], ['v']),\n suffixInflection('valaient', 'vouloir', ['v'], ['v']),\n\n // 3ème groupe : vouloir\n suffixInflection('voulais', 'vouloir', ['v'], ['v']),\n suffixInflection('voulait', 'vouloir', ['v'], ['v']),\n suffixInflection('voulions', 'vouloir', ['v'], ['v']),\n suffixInflection('vouliez', 'vouloir', ['v'], ['v']),\n suffixInflection('voulaient', 'vouloir', ['v'], ['v']),\n\n // 3ème groupe : seoir / surseoir\n suffixInflection('seyais', 'seoir', ['v'], ['v']),\n suffixInflection('seyait', 'seoir', ['v'], ['v']),\n suffixInflection('seyions', 'seoir', ['v'], ['v']),\n suffixInflection('seyiez', 'seoir', ['v'], ['v']),\n suffixInflection('seyaient', 'seoir', ['v'], ['v']),\n\n suffixInflection('soyais', 'seoir', ['v'], ['v']),\n suffixInflection('soyait', 'seoir', ['v'], ['v']),\n suffixInflection('soyions', 'seoir', ['v'], ['v']),\n suffixInflection('soyiez', 'seoir', ['v'], ['v']),\n suffixInflection('soyaient', 'seoir', ['v'], ['v']),\n\n // 3ème groupe : asseoir (forme en ie et ye)\n suffixInflection('assoyais', 'asseoir', ['v'], ['v']),\n suffixInflection('assoyait', 'asseoir', ['v'], ['v']),\n suffixInflection('assoyions', 'asseoir', ['v'], ['v']),\n suffixInflection('assoyiez', 'asseoir', ['v'], ['v']),\n suffixInflection('assoyaient', 'asseoir', ['v'], ['v']),\n\n // 3ème groupe : seoir (convenir) / messeoir (ne pas être convenable)\n suffixInflection('sied', 'seoir', ['v'], ['v']),\n suffixInflection('siéent', 'seoir', ['v'], ['v']),\n\n // 3ème groupe : choir\n // existe pas\n\n // 3ème groupe : échoir / déchoir\n suffixInflection('échoyait', 'échoir', ['v'], ['v']),\n suffixInflection('échoyaient', 'échoir', ['v'], ['v']),\n\n // 3ème groupe : verbes en -andre, -endre, -ondre, -erdre, -ordre\n suffixInflection('andais', 'andre', ['v'], ['v']),\n suffixInflection('andais', 'andre', ['v'], ['v']),\n suffixInflection('andions', 'andre', ['v'], ['v']),\n suffixInflection('andiez', 'andre', ['v'], ['v']),\n suffixInflection('andaient', 'andre', ['v'], ['v']),\n\n suffixInflection('endais', 'endre', ['v'], ['v']),\n suffixInflection('endait', 'endre', ['v'], ['v']),\n suffixInflection('endions', 'endre', ['v'], ['v']),\n suffixInflection('endiez', 'endre', ['v'], ['v']),\n suffixInflection('endaient', 'endre', ['v'], ['v']),\n\n suffixInflection('ondais', 'ondre', ['v'], ['v']),\n suffixInflection('ondait', 'ondre', ['v'], ['v']),\n suffixInflection('ondions', 'ondre', ['v'], ['v']),\n suffixInflection('ondiez', 'ondre', ['v'], ['v']),\n suffixInflection('ondaient', 'ondre', ['v'], ['v']),\n\n suffixInflection('erdais', 'erdre', ['v'], ['v']),\n suffixInflection('erdait', 'erdre', ['v'], ['v']),\n suffixInflection('erdions', 'erdre', ['v'], ['v']),\n suffixInflection('erdiez', 'erdre', ['v'], ['v']),\n suffixInflection('erdaient', 'erdre', ['v'], ['v']),\n\n suffixInflection('ordais', 'ordre', ['v'], ['v']),\n suffixInflection('ordait', 'ordre', ['v'], ['v']),\n suffixInflection('ordions', 'ordre', ['v'], ['v']),\n suffixInflection('ordiez', 'ordre', ['v'], ['v']),\n suffixInflection('ordaient', 'ordre', ['v'], ['v']),\n\n // 3ème groupe : prendre\n suffixInflection('prenais', 'prendre', ['v'], ['v']),\n suffixInflection('prenait', 'prendre', ['v'], ['v']),\n suffixInflection('prenions', 'prendre', ['v'], ['v']),\n suffixInflection('preniez', 'prendre', ['v'], ['v']),\n suffixInflection('prenaient', 'prendre', ['v'], ['v']),\n\n // 3ème groupe : battre\n suffixInflection('battais', 'battre', ['v'], ['v']),\n suffixInflection('battait', 'battre', ['v'], ['v']),\n suffixInflection('battions', 'battre', ['v'], ['v']),\n suffixInflection('battiez', 'battre', ['v'], ['v']),\n suffixInflection('battaient', 'battre', ['v'], ['v']),\n\n // 3ème groupe : mettre\n suffixInflection('mettais', 'mettre', ['v'], ['v']),\n suffixInflection('mettait', 'mettre', ['v'], ['v']),\n suffixInflection('mettions', 'mettre', ['v'], ['v']),\n suffixInflection('mettiez', 'mettre', ['v'], ['v']),\n suffixInflection('mettaient', 'mettre', ['v'], ['v']),\n\n // 3ème groupe : verbes en -eindre\n suffixInflection('eignais', 'eindre', ['v'], ['v']),\n suffixInflection('eignait', 'eindre', ['v'], ['v']),\n suffixInflection('eiginons', 'eindre', ['v'], ['v']),\n suffixInflection('eiginez', 'eindre', ['v'], ['v']),\n suffixInflection('eignaient', 'eindre', ['v'], ['v']),\n\n // 3ème groupe : verbes en -oindre\n suffixInflection('oignais', 'oindre', ['v'], ['v']),\n suffixInflection('oignait', 'oindre', ['v'], ['v']),\n suffixInflection('oignions', 'oindre', ['v'], ['v']),\n suffixInflection('oigniez', 'oindre', ['v'], ['v']),\n suffixInflection('oignaient', 'oindre', ['v'], ['v']),\n\n // 3ème groupe : verbes en -aindre\n suffixInflection('aignais', 'aindre', ['v'], ['v']),\n suffixInflection('aignait', 'aindre', ['v'], ['v']),\n suffixInflection('aignions', 'aindre', ['v'], ['v']),\n suffixInflection('aigniez', 'aindre', ['v'], ['v']),\n suffixInflection('aignaient', 'aindre', ['v'], ['v']),\n\n // 3ème groupe : vaincre\n suffixInflection('vainquas', 'vaincre', ['v'], ['v']),\n suffixInflection('vainquait', 'vaincre', ['v'], ['v']),\n suffixInflection('vainquions', 'vaincre', ['v'], ['v']),\n suffixInflection('vainquiez', 'vaincre', ['v'], ['v']),\n suffixInflection('vainquaient', 'vaincre', ['v'], ['v']),\n\n // 3ème groupe : raire\n suffixInflection('rayais', 'raire', ['v'], ['v']),\n suffixInflection('raiyat', 'raire', ['v'], ['v']),\n suffixInflection('rayions', 'raire', ['v'], ['v']),\n suffixInflection('rayiez', 'raire', ['v'], ['v']),\n suffixInflection('rayaient', 'raire', ['v'], ['v']),\n\n // 3ème groupe : faire\n suffixInflection('faisais', 'faire', ['v'], ['v']),\n suffixInflection('faisait', 'faire', ['v'], ['v']),\n suffixInflection('faisions', 'faire', ['v'], ['v']),\n suffixInflection('faisiez', 'faire', ['v'], ['v']),\n suffixInflection('faisaient', 'faire', ['v'], ['v']),\n\n // 3ème groupe : plaire\n suffixInflection('plaisais', 'faire', ['v'], ['v']),\n suffixInflection('plaisait', 'faire', ['v'], ['v']),\n suffixInflection('plaisions', 'faire', ['v'], ['v']),\n suffixInflection('plaisiez', 'faire', ['v'], ['v']),\n suffixInflection('plaisaient', 'faire', ['v'], ['v']),\n\n // 3ème groupe : verbes en -aître (naître / connaître)\n suffixInflection('aissais', 'aître', ['v'], ['v']),\n suffixInflection('aissait', 'aître', ['v'], ['v']),\n suffixInflection('aissions', 'aître', ['v'], ['v']),\n suffixInflection('aissiez', 'aître', ['v'], ['v']),\n suffixInflection('aissaient', 'aître', ['v'], ['v']),\n\n // 3ème groupe : verbes en -oître\n suffixInflection('oissais', 'oître', ['v'], ['v']),\n suffixInflection('oissait', 'oître', ['v'], ['v']),\n suffixInflection('oissions', 'oître', ['v'], ['v']),\n suffixInflection('oissiez', 'oître', ['v'], ['v']),\n suffixInflection('oissaient', 'oître', ['v'], ['v']),\n\n // 3ème groupe : croire et boire\n suffixInflection('croyais', 'croire', ['v'], ['v']),\n suffixInflection('croyait', 'croire', ['v'], ['v']),\n suffixInflection('croyions', 'croire', ['v'], ['v']),\n suffixInflection('croyiez', 'croire', ['v'], ['v']),\n suffixInflection('croyaient', 'croire', ['v'], ['v']),\n\n suffixInflection('buvais', 'boire', ['v'], ['v']),\n suffixInflection('buvait', 'boire', ['v'], ['v']),\n suffixInflection('buvions', 'boire', ['v'], ['v']),\n suffixInflection('buviez', 'boire', ['v'], ['v']),\n suffixInflection('buvaient', 'boire', ['v'], ['v']),\n\n // 3ème groupe : clore\n // existe pas\n\n // 3ème groupe : verbes en -clure\n suffixInflection('cluais', 'clure', ['v'], ['v']),\n suffixInflection('cluait', 'clure', ['v'], ['v']),\n suffixInflection('cluions', 'clure', ['v'], ['v']),\n suffixInflection('cluiez', 'clure', ['v'], ['v']),\n suffixInflection('cluaient', 'clure', ['v'], ['v']),\n\n // 3ème groupe : verbes en -soudre (pas !!!)\n suffixInflection('solvais', 'soudre', ['v'], ['v']),\n suffixInflection('solvait', 'soudre', ['v'], ['v']),\n suffixInflection('solvions', 'soudre', ['v'], ['v']),\n suffixInflection('solviez', 'soudre', ['v'], ['v']),\n suffixInflection('solvaient', 'soudre', ['v'], ['v']),\n\n // 3ème groupe : verbes en -coudre\n suffixInflection('cousais', 'coudre', ['v'], ['v']),\n suffixInflection('cousait', 'coudre', ['v'], ['v']),\n suffixInflection('cousions', 'coudre', ['v'], ['v']),\n suffixInflection('cousiez', 'coudre', ['v'], ['v']),\n suffixInflection('cousaient', 'coudre', ['v'], ['v']),\n\n // 3ème groupe : verbes en -moudre\n suffixInflection('moulais', 'moudre', ['v'], ['v']),\n suffixInflection('moulait', 'moudre', ['v'], ['v']),\n suffixInflection('moulions', 'moudre', ['v'], ['v']),\n suffixInflection('mouliez', 'moudre', ['v'], ['v']),\n suffixInflection('moulaient', 'moudre', ['v'], ['v']),\n\n // 3ème groupe : verbes en -ivre (suivre, vivre)\n suffixInflection('ivais', 'vivre', ['v'], ['v']),\n suffixInflection('ivait', 'vivre', ['v'], ['v']),\n suffixInflection('ivions', 'vivre', ['v'], ['v']),\n suffixInflection('iviez', 'vivre', ['v'], ['v']),\n suffixInflection('ivaient', 'vivre', ['v'], ['v']),\n\n // 3ème groupe : verbes en -lire (relire)\n suffixInflection('lisais', 'lire', ['v'], ['v']),\n suffixInflection('lisait', 'lire', ['v'], ['v']),\n suffixInflection('lisions', 'lire', ['v'], ['v']),\n suffixInflection('lisiez', 'lire', ['v'], ['v']),\n suffixInflection('lisaient', 'lire', ['v'], ['v']),\n\n // 3ème groupe : verbes en -dire (relire)\n suffixInflection('disais', 'dire', ['v'], ['v']),\n suffixInflection('disait', 'dire', ['v'], ['v']),\n suffixInflection('disions', 'dire', ['v'], ['v']),\n suffixInflection('disiez', 'dire', ['v'], ['v']),\n suffixInflection('disaient', 'dire', ['v'], ['v']),\n\n // 3ème groupe : verbes en rire (sourire)\n suffixInflection('riais', 'rire', ['v'], ['v']),\n suffixInflection('riait', 'rire', ['v'], ['v']),\n suffixInflection('riions', 'rire', ['v'], ['v']),\n suffixInflection('riiez', 'rire', ['v'], ['v']),\n suffixInflection('riaient', 'rire', ['v'], ['v']),\n\n // 3ème groupe : maudire\n suffixInflection('maudissais', 'maudire', ['v'], ['v']),\n suffixInflection('maudissait', 'maudire', ['v'], ['v']),\n suffixInflection('maudissions', 'maudire', ['v'], ['v']),\n suffixInflection('maudissiez', 'maudire', ['v'], ['v']),\n suffixInflection('maudissaient', 'maudire', ['v'], ['v']),\n\n // 3ème groupe : verbes en crire (décrire)\n suffixInflection('crivais', 'crire', ['v'], ['v']),\n suffixInflection('crivait', 'crire', ['v'], ['v']),\n suffixInflection('crivions', 'crire', ['v'], ['v']),\n suffixInflection('criviez', 'crire', ['v'], ['v']),\n suffixInflection('crivaient', 'crire', ['v'], ['v']),\n\n // 3ème groupe : verbes en -fire, -cire, -frire (suffire, confire etc...)\n suffixInflection('fisais', 'fire', ['v'], ['v']),\n suffixInflection('fisait', 'fire', ['v'], ['v']),\n suffixInflection('fisions', 'fire', ['v'], ['v']),\n suffixInflection('fisiez', 'fire', ['v'], ['v']),\n suffixInflection('fisaient', 'fire', ['v'], ['v']),\n\n suffixInflection('cisais', 'cire', ['v'], ['v']),\n suffixInflection('cisait', 'cire', ['v'], ['v']),\n suffixInflection('cisions', 'cire', ['v'], ['v']),\n suffixInflection('cisiez', 'cire', ['v'], ['v']),\n suffixInflection('cisaient', 'cire', ['v'], ['v']),\n\n suffixInflection('frisais', 'frire', ['v'], ['v']),\n suffixInflection('frisait', 'frire', ['v'], ['v']),\n suffixInflection('frisions', 'frire', ['v'], ['v']),\n suffixInflection('frisiez', 'frire', ['v'], ['v']),\n suffixInflection('frisaient', 'frire', ['v'], ['v']),\n\n // 3ème groupe : verbes en -uire (conduire, cuire etc...)\n suffixInflection('uisais', 'uire', ['v'], ['v']),\n suffixInflection('uisait', 'uire', ['v'], ['v']),\n suffixInflection('uisions', 'uire', ['v'], ['v']),\n suffixInflection('uisiez', 'uire', ['v'], ['v']),\n suffixInflection('uisaient', 'uire', ['v'], ['v']),\n ],\n },\n\n // Futur simple\n future: {\n name: 'future',\n description: 'Future form of a verb',\n rules: [\n // auxiliaire être\n suffixInflection('serai', 'être', ['aux'], ['v']),\n suffixInflection('seras', 'être', ['aux'], ['v']),\n suffixInflection('sera', 'être', ['aux'], ['v']),\n suffixInflection('serons,', 'être', ['aux'], ['v']),\n suffixInflection('serez', 'être', ['aux'], ['v']),\n suffixInflection('seront', 'être', ['aux'], ['v']),\n\n // auxiliaire avoir\n suffixInflection('aurai', 'avoir', ['aux'], ['v']),\n suffixInflection('auras', 'avoir', ['aux'], ['v']),\n suffixInflection('aura', 'avoir', ['aux'], ['v']),\n suffixInflection('aurons', 'avoir', ['aux'], ['v']),\n suffixInflection('aurez', 'avoir', ['aux'], ['v']),\n suffixInflection('auront', 'avoir', ['aux'], ['v']),\n\n // 1er groupe\n suffixInflection('erai', 'er', ['v'], ['v']),\n suffixInflection('eras', 'er', ['v'], ['v']),\n suffixInflection('era', 'er', ['v'], ['v']),\n suffixInflection('erons', 'er', ['v'], ['v']),\n suffixInflection('erez', 'er', ['v'], ['v']),\n suffixInflection('eront', 'er', ['v'], ['v']),\n\n // 1er groupe : verbes en -cer\n // rien de spécial\n\n // 1er groupe : verbes en -ger\n // rien de spécial\n\n // 1er groupe : verbes en e(.)er\n suffixInflection('ècerai', 'ecer', ['v'], ['v']),\n suffixInflection('èverai', 'ever', ['v'], ['v']),\n suffixInflection('ènerai', 'ener', ['v'], ['v']),\n suffixInflection('èperai', 'eper', ['v'], ['v']),\n suffixInflection('èrerai', 'erer', ['v'], ['v']),\n suffixInflection('èmerai', 'emer', ['v'], ['v']),\n suffixInflection('èvrerai', 'evrer', ['v'], ['v']),\n suffixInflection('èserai', 'eser', ['v'], ['v']),\n\n suffixInflection('èceras', 'ecer', ['v'], ['v']),\n suffixInflection('èveras', 'ever', ['v'], ['v']),\n suffixInflection('èneras', 'ener', ['v'], ['v']),\n suffixInflection('èperas', 'eper', ['v'], ['v']),\n suffixInflection('èreras', 'erer', ['v'], ['v']),\n suffixInflection('èmeras', 'emer', ['v'], ['v']),\n suffixInflection('èvreras', 'evrer', ['v'], ['v']),\n suffixInflection('èseras', 'eser', ['v'], ['v']),\n\n suffixInflection('ècera', 'ecer', ['v'], ['v']),\n suffixInflection('èvera', 'ever', ['v'], ['v']),\n suffixInflection('ènera', 'ener', ['v'], ['v']),\n suffixInflection('èpera', 'eper', ['v'], ['v']),\n suffixInflection('èrera', 'erer', ['v'], ['v']),\n suffixInflection('èmera', 'emer', ['v'], ['v']),\n suffixInflection('èvrera', 'evrer', ['v'], ['v']),\n suffixInflection('èsera', 'eser', ['v'], ['v']),\n\n suffixInflection('ècerons', 'ecer', ['v'], ['v']),\n suffixInflection('èverons', 'ever', ['v'], ['v']),\n suffixInflection('ènerons', 'ener', ['v'], ['v']),\n suffixInflection('èperons', 'eper', ['v'], ['v']),\n suffixInflection('èrerons', 'erer', ['v'], ['v']),\n suffixInflection('èmerons', 'emer', ['v'], ['v']),\n suffixInflection('èvrerons', 'evrer', ['v'], ['v']),\n suffixInflection('èserons', 'eser', ['v'], ['v']),\n\n suffixInflection('ècerez', 'ecer', ['v'], ['v']),\n suffixInflection('èverez', 'ever', ['v'], ['v']),\n suffixInflection('ènerez', 'ener', ['v'], ['v']),\n suffixInflection('èperez', 'eper', ['v'], ['v']),\n suffixInflection('èrerez', 'erer', ['v'], ['v']),\n suffixInflection('èmerez', 'emer', ['v'], ['v']),\n suffixInflection('èvrerez', 'evrer', ['v'], ['v']),\n suffixInflection('èserez', 'eser', ['v'], ['v']),\n\n suffixInflection('èceront', 'ecer', ['v'], ['v']),\n suffixInflection('èveront', 'ever', ['v'], ['v']),\n suffixInflection('èneront', 'ener', ['v'], ['v']),\n suffixInflection('èperontz', 'eper', ['v'], ['v']),\n suffixInflection('èreront', 'erer', ['v'], ['v']),\n suffixInflection('èmeront', 'emer', ['v'], ['v']),\n suffixInflection('èvreront', 'evrer', ['v'], ['v']),\n suffixInflection('èseront', 'eser', ['v'], ['v']),\n\n // 1er groupe : verbes en é(.)er\n // pas de changement\n\n // 1er groupe : verbes en -eler / eter doublant le l - changeant le e en è\n suffixInflection('ellerai', 'eler', ['v'], ['v']),\n suffixInflection('elleras', 'eler', ['v'], ['v']),\n suffixInflection('ellera', 'eler', ['v'], ['v']),\n suffixInflection('ellerons', 'eler', ['v'], ['v']),\n suffixInflection('ellerez', 'eler', ['v'], ['v']),\n suffixInflection('elleront', 'eler', ['v'], ['v']),\n\n suffixInflection('etterais', 'eter', ['v'], ['v']),\n suffixInflection('etteras', 'eter', ['v'], ['v']),\n suffixInflection('ettera', 'eter', ['v'], ['v']),\n suffixInflection('etterons', 'eter', ['v'], ['v']),\n suffixInflection('etterez', 'eter', ['v'], ['v']),\n suffixInflection('etteront', 'eter', ['v'], ['v']),\n\n // 1er groupe : verbes en -eler / eter changeant le e en è\n suffixInflection('èlerai', 'eler', ['v'], ['v']),\n suffixInflection('èleras', 'eler', ['v'], ['v']),\n suffixInflection('èlera', 'eler', ['v'], ['v']),\n suffixInflection('èlerons', 'eler', ['v'], ['v']),\n suffixInflection('èlerez', 'eler', ['v'], ['v']),\n suffixInflection('èleront', 'eler', ['v'], ['v']),\n\n suffixInflection('èterai', 'eter', ['v'], ['v']),\n suffixInflection('èteras', 'eter', ['v'], ['v']),\n suffixInflection('ètera', 'eter', ['v'], ['v']),\n suffixInflection('èterons', 'eter', ['v'], ['v']),\n suffixInflection('èterez', 'eter', ['v'], ['v']),\n suffixInflection('èteront', 'eter', ['v'], ['v']),\n\n // 1er groupe : verbes en -éger\n suffixInflection('ègerai', 'éger', ['v'], ['v']),\n suffixInflection('ègeras', 'éger', ['v'], ['v']),\n suffixInflection('ègera', 'éger', ['v'], ['v']),\n suffixInflection('ègerons', 'éger', ['v'], ['v']),\n suffixInflection('ègerez', 'éger', ['v'], ['v']),\n suffixInflection('ègeront', 'éger', ['v'], ['v']),\n\n // 1er groupe : verbes en -ayer\n suffixInflection('aierai', 'ayer', ['v'], ['v']),\n suffixInflection('aieras', 'ayer', ['v'], ['v']),\n suffixInflection('aiera', 'ayer', ['v'], ['v']),\n suffixInflection('aierons', 'ayer', ['v'], ['v']),\n suffixInflection('aierez', 'ayer', ['v'], ['v']),\n suffixInflection('aieront', 'ayer', ['v'], ['v']),\n suffixInflection('ayerai', 'ayer', ['v'], ['v']),\n suffixInflection('ayeras', 'ayer', ['v'], ['v']),\n suffixInflection('ayera', 'ayer', ['v'], ['v']),\n suffixInflection('ayerons', 'ayer', ['v'], ['v']),\n suffixInflection('ayerez', 'ayer', ['v'], ['v']),\n suffixInflection('ayeront', 'ayer', ['v'], ['v']),\n\n // 1er groupe : verbes en -oyer et uyer\n suffixInflection('oierai', 'oyer', ['v'], ['v']),\n suffixInflection('oieras', 'oyer', ['v'], ['v']),\n suffixInflection('oiera', 'oyer', ['v'], ['v']),\n suffixInflection('oierons', 'oyer', ['v'], ['v']),\n suffixInflection('oierez', 'oyer', ['v'], ['v']),\n suffixInflection('oieront', 'oyer', ['v'], ['v']),\n\n suffixInflection('uierai', 'uyer', ['v'], ['v']),\n suffixInflection('uieras', 'uyer', ['v'], ['v']),\n suffixInflection('uiera', 'uyer', ['v'], ['v']),\n suffixInflection('uierons', 'uyer', ['v'], ['v']),\n suffixInflection('uierez', 'uyer', ['v'], ['v']),\n suffixInflection('uieront', 'uyer', ['v'], ['v']),\n\n // envoyer (renvoyer se base sur ce modèle)\n suffixInflection('enverrai', 'envoyer', ['v'], ['v']),\n suffixInflection('enverras', 'envoyer', ['v'], ['v']),\n suffixInflection('enverra', 'envoyer', ['v'], ['v']),\n suffixInflection('enverrons', 'envoyer', ['v'], ['v']),\n suffixInflection('enverrez', 'envoyer', ['v'], ['v']),\n suffixInflection('enverront', 'envoyer', ['v'], ['v']),\n\n // 2e groupe : verbes en -ir (finissant en -issons)\n suffixInflection('irai', 'ir', ['v'], ['v']),\n suffixInflection('iras', 'ir', ['v'], ['v']),\n suffixInflection('ira', 'ir', ['v'], ['v']),\n suffixInflection('irons', 'ir', ['v'], ['v']),\n suffixInflection('irez', 'ir', ['v'], ['v']),\n suffixInflection('iront', 'ir', ['v'], ['v']),\n\n // 2e groupe : haïr\n suffixInflection('ïrai', 'ïr', ['v'], ['v']),\n suffixInflection('ïras', 'ïr', ['v'], ['v']),\n suffixInflection('ïra', 'ïr', ['v'], ['v']),\n suffixInflection('ïrons', 'ïr', ['v'], ['v']),\n suffixInflection('ïrez', 'ïr', ['v'], ['v']),\n suffixInflection('ïront', 'ïr', ['v'], ['v']),\n\n // 3ème groupe aller\n suffixInflection('irai', 'aller', ['v'], ['v']),\n suffixInflection('iras', 'aller', ['v'], ['v']),\n suffixInflection('ira', 'aller', ['v'], ['v']),\n suffixInflection('irons', 'aller', ['v'], ['v']),\n suffixInflection('irez', 'aller', ['v'], ['v']),\n suffixInflection('iront', 'aller', ['v'], ['v']),\n\n // 3ème groupe -enir\n suffixInflection('iendrai', 'enir', ['v'], ['v']),\n suffixInflection('iendras', 'enir', ['v'], ['v']),\n suffixInflection('iendrons', 'enir', ['v'], ['v']),\n suffixInflection('iendrez', 'enir', ['v'], ['v']),\n suffixInflection('iendront', 'enir', ['v'], ['v']),\n\n // 3ème groupe -éir\n suffixInflection('errai', 'érir', ['v'], ['v']),\n suffixInflection('erras', 'érir', ['v'], ['v']),\n suffixInflection('erra', 'érir', ['v'], ['v']),\n suffixInflection('errons', 'érir', ['v'], ['v']),\n suffixInflection('errez', 'érir', ['v'], ['v']),\n suffixInflection('erront', 'érir', ['v'], ['v']),\n\n // 3ème groupe -tir\n suffixInflection('tirai', 'tir', ['v'], ['v']),\n suffixInflection('tiras', 'tir', ['v'], ['v']),\n suffixInflection('tira', 'tir', ['v'], ['v']),\n suffixInflection('tirons', 'tir', ['v'], ['v']),\n suffixInflection('tirez', 'tir', ['v'], ['v']),\n suffixInflection('tiront', 'tir', ['v'], ['v']),\n\n // 3ème groupe -êtir\n suffixInflection('êtirai', 'êtir', ['v'], ['v']),\n suffixInflection('êtiras', 'êtir', ['v'], ['v']),\n suffixInflection('êtira', 'êtir', ['v'], ['v']),\n suffixInflection('êtirons', 'êtir', ['v'], ['v']),\n suffixInflection('êtirez', 'êtir', ['v'], ['v']),\n suffixInflection('êtiront', 'êtir', ['v'], ['v']),\n\n // 3ème groupe -vrir\n suffixInflection('vrirai', 'vrir', ['v'], ['v']),\n suffixInflection('vriras', 'vrir', ['v'], ['v']),\n suffixInflection('vrira', 'vrir', ['v'], ['v']),\n suffixInflection('vrirons', 'vrir', ['v'], ['v']),\n suffixInflection('vrirez', 'vrir', ['v'], ['v']),\n suffixInflection('vriront', 'vrir', ['v'], ['v']),\n\n // 3ème groupe -frir\n suffixInflection('frirai', 'frir', ['v'], ['v']),\n suffixInflection('frira', 'frir', ['v'], ['v']),\n suffixInflection('frira', 'frir', ['v'], ['v']),\n suffixInflection('frirons', 'frir', ['v'], ['v']),\n suffixInflection('frirez', 'frir', ['v'], ['v']),\n suffixInflection('friront', 'frir', ['v'], ['v']),\n\n // 3ème groupe -ueillir\n suffixInflection('ueillerai', 'ueillir', ['v'], ['v']),\n suffixInflection('ueilleras', 'ueillir', ['v'], ['v']),\n suffixInflection('ueillera', 'ueillir', ['v'], ['v']),\n suffixInflection('ueillerons', 'ueillir', ['v'], ['v']),\n suffixInflection('ueillerez', 'ueillir', ['v'], ['v']),\n suffixInflection('ueilleront', 'ueillir', ['v'], ['v']),\n\n // 3ème groupe -aillir\n suffixInflection('aillirai', 'aillir', ['v'], ['v']),\n suffixInflection('ailliras', 'aillir', ['v'], ['v']),\n suffixInflection('aillira', 'aillir', ['v'], ['v']),\n suffixInflection('aillirons', 'aillir', ['v'], ['v']),\n suffixInflection('aillirez', 'aillir', ['v'], ['v']),\n suffixInflection('ailliront', 'aillir', ['v'], ['v']),\n\n // 3ème groupe : faillir (exception)\n // same que l'autre\n\n // 3ème groupe : bouillir\n suffixInflection('bouillirai', 'bouillir', ['v'], ['v']),\n suffixInflection('bouilliras', 'bouillir', ['v'], ['v']),\n suffixInflection('bouillira', 'bouillir', ['v'], ['v']),\n suffixInflection('bouillirons', 'bouillir', ['v'], ['v']),\n suffixInflection('bouillirez', 'bouillir', ['v'], ['v']),\n suffixInflection('bouilliront', 'bouillir', ['v'], ['v']),\n\n // 3ème groupe : dormir\n suffixInflection('dormirai', 'dormir', ['v'], ['v']),\n suffixInflection('dormiras', 'dormir', ['v'], ['v']),\n suffixInflection('dormira', 'dormir', ['v'], ['v']),\n suffixInflection('dormirons', 'dormir', ['v'], ['v']),\n suffixInflection('dormirez', 'dormir', ['v'], ['v']),\n suffixInflection('dormiront', 'dormir', ['v'], ['v']),\n\n // 3ème groupe : courir\n suffixInflection('courrai', 'dormir', ['v'], ['v']),\n suffixInflection('courras', 'dormir', ['v'], ['v']),\n suffixInflection('courra', 'dormir', ['v'], ['v']),\n suffixInflection('courrons', 'dormir', ['v'], ['v']),\n suffixInflection('courrez', 'dormir', ['v'], ['v']),\n suffixInflection('courront', 'dormir', ['v'], ['v']),\n\n // 3ème groupe : mourir\n suffixInflection('mourrai', 'mourir', ['v'], ['v']),\n suffixInflection('mourras', 'mourir', ['v'], ['v']),\n suffixInflection('mourra', 'mourir', ['v'], ['v']),\n suffixInflection('mourrons', 'mourir', ['v'], ['v']),\n suffixInflection('mourrez', 'mourir', ['v'], ['v']),\n suffixInflection('mourront', 'mourir', ['v'], ['v']),\n\n // 3ème groupe servir\n // rien de spécial\n\n // 3ème groupe : fuir\n // rien de spécial\n\n // 3ème groupe : ouïr\n suffixInflection('orrai', 'ouïr', ['v'], ['v']),\n suffixInflection('oirai', 'ouïr', ['v'], ['v']),\n suffixInflection('orras', 'ouïr', ['v'], ['v']),\n suffixInflection('orra', 'ouïr', ['v'], ['v']),\n suffixInflection('orrons', 'ouïr', ['v'], ['v']),\n suffixInflection('orrez', 'ouïr', ['v'], ['v']),\n suffixInflection('orront', 'ouïr', ['v'], ['v']),\n\n // 3ème groupe : gésir\n // pas de futur\n\n // 3ème groupe -cevoir\n suffixInflection('cevrai', 'cevoir', ['v'], ['v']),\n suffixInflection('cevras', 'cevoir', ['v'], ['v']),\n suffixInflection('cevra', 'cevoir', ['v'], ['v']),\n suffixInflection('cevrons', 'cevoir', ['v'], ['v']),\n suffixInflection('cevrez', 'cevoir', ['v'], ['v']),\n suffixInflection('cevront', 'cevoir', ['v'], ['v']),\n\n // 3ème groupe : voir\n suffixInflection('verrai', 'voir', ['v'], ['v']),\n suffixInflection('verras', 'voir', ['v'], ['v']),\n suffixInflection('verra', 'voir', ['v'], ['v']),\n suffixInflection('verrons', 'voir', ['v'], ['v']),\n suffixInflection('verrez', 'voir', ['v'], ['v']),\n suffixInflection('verront', 'voir', ['v'], ['v']),\n\n // 3ème groupe : pouvoir\n suffixInflection('pourvoirai', 'pourvoir', ['v'], ['v']),\n suffixInflection('pourvoiras', 'pourvoir', ['v'], ['v']),\n suffixInflection('pourvoira', 'pourvoir', ['v'], ['v']),\n suffixInflection('pourvoirons', 'pourvoir', ['v'], ['v']),\n suffixInflection('pourvoirez', 'pourvoir', ['v'], ['v']),\n suffixInflection('pourvoiront', 'pourvoir', ['v'], ['v']),\n\n // 3ème groupe : savoir\n suffixInflection('saurai', 'savoir', ['v'], ['v']),\n suffixInflection('sauras', 'savoir', ['v'], ['v']),\n suffixInflection('saura', 'savoir', ['v'], ['v']),\n suffixInflection('saurons', 'savoir', ['v'], ['v']),\n suffixInflection('saurez', 'savoir', ['v'], ['v']),\n suffixInflection('sauront', 'savoir', ['v'], ['v']),\n\n // 3ème groupe : devoir\n suffixInflection('devrai', 'devoir', ['v'], ['v']),\n suffixInflection('devras', 'devoir', ['v'], ['v']),\n suffixInflection('devra', 'devoir', ['v'], ['v']),\n suffixInflection('devrons', 'devoir', ['v'], ['v']),\n suffixInflection('devrez', 'devoir', ['v'], ['v']),\n suffixInflection('devront', 'devoir', ['v'], ['v']),\n\n // 3ème groupe : pouvoir\n suffixInflection('pourrai', 'pouvoir', ['v'], ['v']), // possible\n suffixInflection('pourras', 'pouvoir', ['v'], ['v']),\n suffixInflection('pourra', 'pouvoir', ['v'], ['v']),\n suffixInflection('pourrons', 'pouvoir', ['v'], ['v']),\n suffixInflection('pourrez', 'pouvoir', ['v'], ['v']),\n suffixInflection('pourront', 'pouvoir', ['v'], ['v']),\n\n // 3ème groupe : mouvoir\n suffixInflection('mouvrai', 'mouvoir', ['v'], ['v']),\n suffixInflection('mouvras', 'mouvoir', ['v'], ['v']),\n suffixInflection('mouvra', 'mouvoir', ['v'], ['v']),\n suffixInflection('mouvrons', 'mouvoir', ['v'], ['v']),\n suffixInflection('mouvrez', 'mouvoir', ['v'], ['v']),\n suffixInflection('mouvront', 'mouvoir', ['v'], ['v']),\n\n // 3ème groupe : pleuvoir / falloir (verbes impersonnel)\n suffixInflection('pleuvra', 'pleuvoir', ['v'], ['v']),\n suffixInflection('pleuvront', 'pleuvoir', ['v'], ['v']),\n suffixInflection('faudra', 'falloir', ['v'], ['v']),\n\n // 3ème groupe : valoir\n suffixInflection('vaudrai', 'valoir', ['v'], ['v']),\n suffixInflection('vaudras', 'valoir', ['v'], ['v']),\n suffixInflection('vaudra', 'valoir', ['v'], ['v']),\n suffixInflection('vaudrons', 'valoir', ['v'], ['v']),\n suffixInflection('vaudrez', 'valoir', ['v'], ['v']),\n suffixInflection('vaudront', 'valoir', ['v'], ['v']),\n\n // 3ème groupe : vouloir\n suffixInflection('voudrai', 'vouloir', ['v'], ['v']),\n suffixInflection('voudras', 'vouloir', ['v'], ['v']),\n suffixInflection('voudra', 'vouloir', ['v'], ['v']),\n suffixInflection('voudrons', 'vouloir', ['v'], ['v']),\n suffixInflection('voudrez', 'vouloir', ['v'], ['v']),\n suffixInflection('voudront', 'vouloir', ['v'], ['v']),\n\n // 3ème groupe : seoir / surseoir\n suffixInflection('soirai', 'seoir', ['v'], ['v']),\n suffixInflection('soiras', 'seoir', ['v'], ['v']),\n suffixInflection('soira', 'seoir', ['v'], ['v']),\n suffixInflection('soirons', 'seoir', ['v'], ['v']),\n suffixInflection('soirez', 'seoir', ['v'], ['v']),\n suffixInflection('soiront', 'seoir', ['v'], ['v']),\n\n // 3ème groupe : asseoir (forme en ie et ye)\n suffixInflection('assiérai', 'asseoir', ['v'], ['v']),\n suffixInflection('assiéras', 'asseoir', ['v'], ['v']),\n suffixInflection('assiéra', 'asseoir', ['v'], ['v']),\n suffixInflection('assiérons', 'asseoir', ['v'], ['v']),\n suffixInflection('assiérez', 'asseoir', ['v'], ['v']),\n suffixInflection('assiéront', 'asseoir', ['v'], ['v']),\n\n // 3ème groupe : seoir (convenir) / messeoir (ne pas être convenable)\n suffixInflection('siéra', 'seoir', ['v'], ['v']),\n suffixInflection('siéront', 'seoir', ['v'], ['v']),\n\n // 3ème groupe : choir\n suffixInflection('choirai', 'choir', ['v'], ['v']),\n suffixInflection('choiras', 'choir', ['v'], ['v']),\n suffixInflection('choira', 'choir', ['v'], ['v']),\n suffixInflection('choirons', 'choir', ['v'], ['v']),\n suffixInflection('choirez', 'choir', ['v'], ['v']),\n suffixInflection('choiront', 'choir', ['v'], ['v']),\n\n suffixInflection('cherrai', 'choir', ['v'], ['v']),\n suffixInflection('cherras', 'choir', ['v'], ['v']),\n suffixInflection('cherra', 'choir', ['v'], ['v']),\n suffixInflection('cherrosn', 'choir', ['v'], ['v']),\n suffixInflection('cherrez', 'choir', ['v'], ['v']),\n suffixInflection('cherront', 'choir', ['v'], ['v']),\n\n // 3ème groupe : échoir / déchoir\n // same\n\n // 3ème groupe : verbes en -andre, -endre, -ondre, -erdre, -ordre\n suffixInflection('andrai', 'andre', ['v'], ['v']),\n suffixInflection('andras', 'andre', ['v'], ['v']),\n suffixInflection('andra', 'andre', ['v'], ['v']),\n suffixInflection('androns', 'andre', ['v'], ['v']),\n suffixInflection('andrez', 'andre', ['v'], ['v']),\n suffixInflection('andront', 'andre', ['v'], ['v']),\n\n suffixInflection('endrai', 'endre', ['v'], ['v']),\n suffixInflection('endras', 'endre', ['v'], ['v']),\n suffixInflection('endra', 'endre', ['v'], ['v']),\n suffixInflection('endrons', 'endre', ['v'], ['v']),\n suffixInflection('endrez', 'endre', ['v'], ['v']),\n suffixInflection('endront', 'endre', ['v'], ['v']),\n\n suffixInflection('ondrai', 'ondre', ['v'], ['v']),\n suffixInflection('ondras', 'ondre', ['v'], ['v']),\n suffixInflection('ondra', 'ondre', ['v'], ['v']),\n suffixInflection('ondrons', 'ondre', ['v'], ['v']),\n suffixInflection('ondrez', 'ondre', ['v'], ['v']),\n suffixInflection('ondront', 'ondre', ['v'], ['v']),\n\n suffixInflection('erdrai', 'erdre', ['v'], ['v']),\n suffixInflection('erdras', 'erdre', ['v'], ['v']),\n suffixInflection('erdra', 'erdre', ['v'], ['v']),\n suffixInflection('erdrons', 'erdre', ['v'], ['v']),\n suffixInflection('erdrez', 'erdre', ['v'], ['v']),\n suffixInflection('erdront', 'erdre', ['v'], ['v']),\n\n suffixInflection('ordrai', 'ordre', ['v'], ['v']),\n suffixInflection('ordras', 'ordre', ['v'], ['v']),\n suffixInflection('ordra', 'ordre', ['v'], ['v']),\n suffixInflection('ordrons', 'ordre', ['v'], ['v']),\n suffixInflection('ordrez', 'ordre', ['v'], ['v']),\n suffixInflection('ordront', 'ordre', ['v'], ['v']),\n\n // 3ème groupe : prendre\n // rien de spécial\n\n // 3ème groupe : battre\n suffixInflection('battrai', 'battre', ['v'], ['v']),\n suffixInflection('battras', 'battre', ['v'], ['v']),\n suffixInflection('battra', 'battre', ['v'], ['v']),\n suffixInflection('battrons', 'battre', ['v'], ['v']),\n suffixInflection('battrez', 'battre', ['v'], ['v']),\n suffixInflection('battront', 'battre', ['v'], ['v']),\n\n // 3ème groupe : mettre\n suffixInflection('mettrai', 'mettre', ['v'], ['v']),\n suffixInflection('mettras', 'mettre', ['v'], ['v']),\n suffixInflection('mettra', 'mettre', ['v'], ['v']),\n suffixInflection('mettrons', 'mettre', ['v'], ['v']),\n suffixInflection('mettrez', 'mettre', ['v'], ['v']),\n suffixInflection('mettront', 'mettre', ['v'], ['v']),\n\n // 3ème groupe : verbes en -eindre\n suffixInflection('eindrai', 'eindre', ['v'], ['v']),\n suffixInflection('eindras', 'eindre', ['v'], ['v']),\n suffixInflection('eindra', 'eindre', ['v'], ['v']),\n suffixInflection('eindrons', 'eindre', ['v'], ['v']),\n suffixInflection('eindrez', 'eindre', ['v'], ['v']),\n suffixInflection('eindront', 'eindre', ['v'], ['v']),\n\n // 3ème groupe : verbes en -oindre\n suffixInflection('oindrai', 'oindre', ['v'], ['v']),\n suffixInflection('oindras', 'oindre', ['v'], ['v']),\n suffixInflection('oindra', 'oindre', ['v'], ['v']),\n suffixInflection('oindrons', 'oindre', ['v'], ['v']),\n suffixInflection('oindrez', 'oindre', ['v'], ['v']),\n suffixInflection('oindront', 'oindre', ['v'], ['v']),\n\n // 3ème groupe : verbes en -aindre\n suffixInflection('aindrai', 'aindre', ['v'], ['v']),\n suffixInflection('aindras', 'aindre', ['v'], ['v']),\n suffixInflection('aindra', 'aindre', ['v'], ['v']),\n suffixInflection('aindrons', 'aindre', ['v'], ['v']),\n suffixInflection('aindrez', 'aindre', ['v'], ['v']),\n suffixInflection('aindront', 'aindre', ['v'], ['v']),\n\n // 3ème groupe : vaincre\n suffixInflection('vaincrai', 'vaincre', ['v'], ['v']),\n suffixInflection('vaincras', 'vaincre', ['v'], ['v']),\n suffixInflection('vaincra', 'vaincre', ['v'], ['v']),\n suffixInflection('vaincrons', 'vaincre', ['v'], ['v']),\n suffixInflection('vaincrez', 'vaincre', ['v'], ['v']),\n suffixInflection('vaincront', 'vaincre', ['v'], ['v']),\n\n // 3ème groupe : raire\n suffixInflection('rairai', 'raire', ['v'], ['v']),\n suffixInflection('rairas', 'raire', ['v'], ['v']),\n suffixInflection('raira', 'raire', ['v'], ['v']),\n suffixInflection('rairons', 'raire', ['v'], ['v']),\n suffixInflection('rairez', 'raire', ['v'], ['v']),\n suffixInflection('rairont', 'raire', ['v'], ['v']),\n\n // 3ème groupe : faire\n suffixInflection('ferai', 'faire', ['v'], ['v']),\n suffixInflection('feras', 'faire', ['v'], ['v']),\n suffixInflection('fera', 'faire', ['v'], ['v']),\n suffixInflection('ferons', 'faire', ['v'], ['v']),\n suffixInflection('ferez', 'faire', ['v'], ['v']),\n suffixInflection('feront', 'faire', ['v'], ['v']),\n\n // 3ème groupe : plaire\n suffixInflection('plairai', 'plaire', ['v'], ['v']),\n suffixInflection('plairas', 'plaire', ['v'], ['v']),\n suffixInflection('plaira', 'plaire', ['v'], ['v']),\n suffixInflection('plairons', 'plaire', ['v'], ['v']),\n suffixInflection('plairez', 'plaire', ['v'], ['v']),\n suffixInflection('plairont', 'plaire', ['v'], ['v']),\n\n // 3ème groupe : verbes en -aître (naître / connaître)\n suffixInflection('aîtrai', 'aître', ['v'], ['v']),\n suffixInflection('aîtras', 'aître', ['v'], ['v']),\n suffixInflection('aîtra', 'aître', ['v'], ['v']),\n suffixInflection('aîtrons', 'aître', ['v'], ['v']),\n suffixInflection('aîtrez', 'aître', ['v'], ['v']),\n suffixInflection('aîtront', 'aître', ['v'], ['v']),\n\n // 3ème groupe : verbes en -oître\n suffixInflection('oîtrai', 'oître', ['v'], ['v']),\n suffixInflection('oîtras', 'oître', ['v'], ['v']),\n suffixInflection('oîtra', 'oître', ['v'], ['v']),\n suffixInflection('oîtrons', 'oître', ['v'], ['v']),\n suffixInflection('oîtrez', 'oître', ['v'], ['v']),\n suffixInflection('oîtront', 'oître', ['v'], ['v']),\n\n // 3ème groupe : croire et boire\n suffixInflection('croirai', 'croire', ['v'], ['v']),\n suffixInflection('croiras', 'croire', ['v'], ['v']),\n suffixInflection('croira', 'croire', ['v'], ['v']),\n suffixInflection('croirons', 'croire', ['v'], ['v']),\n suffixInflection('croirez', 'croire', ['v'], ['v']),\n suffixInflection('croiront', 'croire', ['v'], ['v']),\n\n suffixInflection('boirai', 'boire', ['v'], ['v']),\n suffixInflection('boiras', 'boire', ['v'], ['v']),\n suffixInflection('boira', 'boire', ['v'], ['v']),\n suffixInflection('boirons', 'boire', ['v'], ['v']),\n suffixInflection('boirez', 'boire', ['v'], ['v']),\n suffixInflection('boiront', 'boire', ['v'], ['v']),\n\n // 3ème groupe : clore\n suffixInflection('clorai', 'clore', ['v'], ['v']),\n suffixInflection('cloras', 'clore', ['v'], ['v']),\n suffixInflection('clora', 'clore', ['v'], ['v']),\n suffixInflection('clorons', 'clore', ['v'], ['v']),\n suffixInflection('clorez', 'clore', ['v'], ['v']),\n suffixInflection('cloront', 'clore', ['v'], ['v']),\n\n // 3ème groupe : verbes en -clure\n suffixInflection('clurai', 'clure', ['v'], ['v']),\n suffixInflection('cluras', 'clure', ['v'], ['v']),\n suffixInflection('clura', 'clure', ['v'], ['v']),\n suffixInflection('clurons', 'clure', ['v'], ['v']),\n suffixInflection('clurez', 'clure', ['v'], ['v']),\n suffixInflection('cluront', 'clure', ['v'], ['v']),\n\n // 3ème groupe : verbes en -soudre\n suffixInflection('soudrai', 'soudre', ['v'], ['v']),\n suffixInflection('soudras', 'soudre', ['v'], ['v']),\n suffixInflection('soudra', 'soudre', ['v'], ['v']),\n suffixInflection('soudrons', 'soudre', ['v'], ['v']),\n suffixInflection('soudrez', 'soudre', ['v'], ['v']),\n suffixInflection('soudront', 'soudre', ['v'], ['v']),\n\n // 3ème groupe : verbes en -coudre\n suffixInflection('coudrai', 'coudre', ['v'], ['v']),\n suffixInflection('coudras', 'coudre', ['v'], ['v']),\n suffixInflection('coudra', 'coudre', ['v'], ['v']),\n suffixInflection('coudrons', 'coudre', ['v'], ['v']),\n suffixInflection('coudrez', 'coudre', ['v'], ['v']),\n suffixInflection('coudront', 'coudre', ['v'], ['v']),\n\n // 3ème groupe : verbes en -moudre\n suffixInflection('moudrai', 'moudre', ['v'], ['v']),\n suffixInflection('moudras', 'moudre', ['v'], ['v']),\n suffixInflection('moudra', 'moudre', ['v'], ['v']),\n suffixInflection('moudrons', 'moudre', ['v'], ['v']),\n suffixInflection('moudrez', 'moudre', ['v'], ['v']),\n suffixInflection('moudront', 'moudre', ['v'], ['v']),\n\n // 3ème groupe : verbes en -ivre (suivre, vivre)\n suffixInflection('ivrai', 'vivre', ['v'], ['v']),\n suffixInflection('ivras', 'vivre', ['v'], ['v']),\n suffixInflection('ivra', 'vivre', ['v'], ['v']),\n suffixInflection('ivrons', 'vivre', ['v'], ['v']),\n suffixInflection('ivrez', 'vivre', ['v'], ['v']),\n suffixInflection('ivront', 'vivre', ['v'], ['v']),\n\n // 3ème groupe : verbes en -lire (relire)\n suffixInflection('lirai', 'lire', ['v'], ['v']),\n suffixInflection('liras', 'lire', ['v'], ['v']),\n suffixInflection('lira', 'lire', ['v'], ['v']),\n suffixInflection('lirons', 'lire', ['v'], ['v']),\n suffixInflection('lirez', 'lire', ['v'], ['v']),\n suffixInflection('liront', 'lire', ['v'], ['v']),\n\n // 3ème groupe : verbes en -dire\n suffixInflection('dirai', 'dire', ['v'], ['v']),\n suffixInflection('diras', 'dire', ['v'], ['v']),\n suffixInflection('dira', 'dire', ['v'], ['v']),\n suffixInflection('dirons', 'dire', ['v'], ['v']),\n suffixInflection('direz', 'dire', ['v'], ['v']),\n suffixInflection('diront', 'dire', ['v'], ['v']),\n\n // 3ème groupe : verbes en rire (sourire)\n suffixInflection('rirai', 'rire', ['v'], ['v']),\n suffixInflection('riras', 'rire', ['v'], ['v']),\n suffixInflection('rira', 'rire', ['v'], ['v']),\n suffixInflection('rirons', 'rire', ['v'], ['v']),\n suffixInflection('rirez', 'rire', ['v'], ['v']),\n suffixInflection('riront', 'rire', ['v'], ['v']),\n\n // 3ème groupe : maudire\n suffixInflection('maudirai', 'maudire', ['v'], ['v']),\n suffixInflection('maudiras', 'maudire', ['v'], ['v']),\n suffixInflection('maudira', 'maudire', ['v'], ['v']),\n suffixInflection('maudirons', 'maudire', ['v'], ['v']),\n suffixInflection('maudirez', 'maudire', ['v'], ['v']),\n suffixInflection('maudiront', 'maudire', ['v'], ['v']),\n\n // 3ème groupe : verbes en -crire (décrire)\n suffixInflection('crirai', 'crire', ['v'], ['v']),\n suffixInflection('criras', 'crire', ['v'], ['v']),\n suffixInflection('crira', 'crire', ['v'], ['v']),\n suffixInflection('crirons', 'crire', ['v'], ['v']),\n suffixInflection('crirez', 'crire', ['v'], ['v']),\n suffixInflection('criront', 'crire', ['v'], ['v']),\n\n // 3ème groupe : verbes en -fire, -cire, -frire (suffire, confire etc...)\n suffixInflection('firai', 'fire', ['v'], ['v']),\n suffixInflection('firas', 'fire', ['v'], ['v']),\n suffixInflection('fira', 'fire', ['v'], ['v']),\n suffixInflection('firons', 'fire', ['v'], ['v']),\n suffixInflection('firez', 'fire', ['v'], ['v']),\n suffixInflection('firont', 'fire', ['v'], ['v']),\n\n suffixInflection('cirai', 'cire', ['v'], ['v']),\n suffixInflection('ciras', 'cire', ['v'], ['v']),\n suffixInflection('cira', 'cire', ['v'], ['v']),\n suffixInflection('cirons', 'cire', ['v'], ['v']),\n suffixInflection('cirez', 'cire', ['v'], ['v']),\n suffixInflection('ciront', 'cire', ['v'], ['v']),\n\n suffixInflection('frirai', 'frire', ['v'], ['v']),\n suffixInflection('friras', 'frire', ['v'], ['v']),\n suffixInflection('frira', 'frire', ['v'], ['v']),\n suffixInflection('frirons', 'frire', ['v'], ['v']),\n suffixInflection('frirez', 'frire', ['v'], ['v']),\n suffixInflection('friront', 'frire', ['v'], ['v']),\n\n // 3ème groupe : verbes en -uire (conduire, cuire etc...)\n suffixInflection('uirai', 'uire', ['v'], ['v']),\n suffixInflection('uiras', 'uire', ['v'], ['v']),\n suffixInflection('uira', 'uire', ['v'], ['v']),\n suffixInflection('uirons', 'uire', ['v'], ['v']),\n suffixInflection('uirez', 'uire', ['v'], ['v']),\n suffixInflection('uiront', 'uire', ['v'], ['v']),\n ],\n },\n\n // imperative\n 'imperative present': {\n name: 'imperative present',\n description: 'Imperative form of a verb', // mode impératif d'un verbe dépend de plusieurs facteurs\n\n rules: [\n // auxiliaire être\n suffixInflection('sois', 'être', ['aux'], ['v']),\n suffixInflection('soyons', 'être', ['aux'], ['v']),\n suffixInflection('soyez', 'être', ['aux'], ['v']),\n\n // auxiliaire avoir\n suffixInflection('aie', 'avoir', ['aux'], ['v']),\n suffixInflection('ayons', 'avoir', ['aux'], ['v']),\n suffixInflection('ayez', 'avoir', ['aux'], ['v']),\n\n // verbes en -er\n suffixInflection('e', 'er', ['v'], ['v']),\n suffixInflection('ons', 'er', ['v'], ['v']),\n suffixInflection('ez', 'er', ['v'], ['v']),\n\n // verbes du 1er groupe : -cer\n suffixInflection('ce', 'er', ['v'], ['v']),\n suffixInflection('çons', 'er', ['v'], ['v']),\n suffixInflection('cez', 'er', ['v'], ['v']),\n\n // verbes du 1er groupe : -ger (manger)\n suffixInflection('ge', 'ger', ['v'], ['v']),\n suffixInflection('geons', 'ger', ['v'], ['v']),\n suffixInflection('gez', 'ger', ['v'], ['v']),\n\n // Verbes du 1er groupe : -e(.)er\n suffixInflection('èce', 'ecer', ['v'], ['v']),\n suffixInflection('eçons', 'ecer', ['v'], ['v']),\n suffixInflection('ecez', 'ecer', ['v'], ['v']),\n\n suffixInflection('ève', 'ever', ['v'], ['v']),\n suffixInflection('evons', 'ever', ['v'], ['v']),\n suffixInflection('evez', 'ever', ['v'], ['v']),\n\n suffixInflection('ène', 'ener', ['v'], ['v']),\n suffixInflection('enons', 'ener', ['v'], ['v']),\n suffixInflection('enez', 'ener', ['v'], ['v']),\n\n suffixInflection('èpe', 'eper', ['v'], ['v']),\n suffixInflection('epons', 'eper', ['v'], ['v']),\n suffixInflection('epez', 'eper', ['v'], ['v']),\n\n suffixInflection('ère', 'erer', ['v'], ['v']),\n suffixInflection('erons', 'erer', ['v'], ['v']),\n suffixInflection('erez', 'erer', ['v'], ['v']),\n\n suffixInflection('ème', 'emer', ['v'], ['v']),\n suffixInflection('emons', 'emer', ['v'], ['v']),\n suffixInflection('emez', 'emer', ['v'], ['v']),\n\n suffixInflection('èvre', 'evrer', ['v'], ['v']),\n suffixInflection('evrons', 'evrer', ['v'], ['v']),\n suffixInflection('evrez', 'evrer', ['v'], ['v']),\n\n suffixInflection('èse', 'eser', ['v'], ['v']),\n suffixInflection('èsons', 'eser', ['v'], ['v']),\n suffixInflection('esez', 'eser', ['v'], ['v']),\n\n // 1er groupe : verbes en é(.)er\n suffixInflection('ède', 'éder', ['v'], ['v']),\n suffixInflection('édons', 'éder', ['v'], ['v']),\n suffixInflection('édez', 'éder', ['v'], ['v']),\n\n suffixInflection('èbre', 'ébrer', ['v'], ['v']),\n suffixInflection('ébrons', 'ébrer', ['v'], ['v']),\n suffixInflection('ébrez', 'ébrer', ['v'], ['v']),\n\n suffixInflection('èce', 'écer', ['v'], ['v']),\n suffixInflection('éçons', 'écer', ['v'], ['v']),\n suffixInflection('écez', 'écer', ['v'], ['v']),\n\n suffixInflection('èche', 'écher', ['v'], ['v']),\n suffixInflection('échons', 'écher', ['v'], ['v']),\n suffixInflection('échez', 'écher', ['v'], ['v']),\n\n suffixInflection('ècre', 'écrer', ['v'], ['v']),\n suffixInflection('écrons', 'écrer', ['v'], ['v']),\n suffixInflection('écrez', 'écrer', ['v'], ['v']),\n\n suffixInflection('ègle', 'égler', ['v'], ['v']),\n suffixInflection('églons', 'égler', ['v'], ['v']),\n suffixInflection('églez', 'égler', ['v'], ['v']),\n\n suffixInflection('ègne', 'égner', ['v'], ['v']),\n suffixInflection('égnons', 'égner', ['v'], ['v']),\n suffixInflection('égnez', 'égner', ['v'], ['v']),\n\n suffixInflection('ègre', 'égrer', ['v'], ['v']),\n suffixInflection('égrons', 'égrer', ['v'], ['v']),\n suffixInflection('égrez', 'égrer', ['v'], ['v']),\n\n suffixInflection('ègue', 'éguer', ['v'], ['v']),\n suffixInflection('éguons', 'éguer', ['v'], ['v']),\n suffixInflection('éguez', 'éguer', ['v'], ['v']),\n\n suffixInflection('èle', 'éler', ['v'], ['v']),\n suffixInflection('élons', 'éler', ['v'], ['v']),\n suffixInflection('élez', 'éler', ['v'], ['v']),\n\n suffixInflection('ème', 'émer', ['v'], ['v']),\n suffixInflection('émons', 'émer', ['v'], ['v']),\n suffixInflection('émez', 'émer', ['v'], ['v']),\n\n suffixInflection('ène', 'éner', ['v'], ['v']),\n suffixInflection('énons', 'éner', ['v'], ['v']),\n suffixInflection('énez', 'éner', ['v'], ['v']),\n\n suffixInflection('èpe', 'éper', ['v'], ['v']),\n suffixInflection('épons', 'éper', ['v'], ['v']),\n suffixInflection('épez', 'éper', ['v'], ['v']),\n\n suffixInflection('èque', 'équer', ['v'], ['v']),\n suffixInflection('équons', 'équer', ['v'], ['v']),\n suffixInflection('équez', 'équer', ['v'], ['v']),\n\n suffixInflection('ère', 'érer', ['v'], ['v']),\n suffixInflection('érons', 'érer', ['v'], ['v']),\n suffixInflection('érez', 'érer', ['v'], ['v']),\n\n suffixInflection('èse', 'éser', ['v'], ['v']),\n suffixInflection('ésons', 'éser', ['v'], ['v']),\n suffixInflection('ésez', 'éser', ['v'], ['v']),\n\n suffixInflection('ète', 'éter', ['v'], ['v']),\n suffixInflection('étons', 'éter', ['v'], ['v']),\n suffixInflection('étez', 'éter', ['v'], ['v']),\n\n suffixInflection('ètre', 'étrer', ['v'], ['v']),\n suffixInflection('étrons', 'étrer', ['v'], ['v']),\n suffixInflection('étrez', 'étrer', ['v'], ['v']),\n\n suffixInflection('èye', 'éyer', ['v'], ['v']),\n suffixInflection('éyons', 'éyer', ['v'], ['v']),\n suffixInflection('éyez', 'éyer', ['v'], ['v']),\n\n // 1er groupe : verbes en -eler / -eter doublant le l ou le t, changeant le e en è\n suffixInflection('elle', 'eler', ['v'], ['v']),\n suffixInflection('ellons', 'eler', ['v'], ['v']),\n suffixInflection('ellez', 'eler', ['v'], ['v']),\n\n suffixInflection('ette', 'eter', ['v'], ['v']),\n suffixInflection('ettons', 'eter', ['v'], ['v']),\n suffixInflection('ettez', 'eter', ['v'], ['v']),\n\n // 1er groupe : verbes en -eler / -eter changeant le e en è\n suffixInflection('èle', 'eler', ['v'], ['v']),\n suffixInflection('élons', 'eler', ['v'], ['v']),\n suffixInflection('élez', 'eler', ['v'], ['v']),\n\n suffixInflection('ète', 'eter', ['v'], ['v']),\n suffixInflection('étons', 'eter', ['v'], ['v']),\n suffixInflection('étez', 'eter', ['v'], ['v']),\n\n // 1er groupe : verbes en -éger\n suffixInflection('ège', 'éger', ['v'], ['v']),\n suffixInflection('égeons', 'éger', ['v'], ['v']),\n suffixInflection('égez', 'éger', ['v'], ['v']),\n\n // 1er groupe : verbes en -ayer\n suffixInflection('aie', 'ayer', ['v'], ['v']),\n suffixInflection('ayons', 'ayer', ['v'], ['v']),\n suffixInflection('ayez', 'ayer', ['v'], ['v']),\n\n // 1er groupe : verbes en -oyer et -uyer\n suffixInflection('oie', 'oyer', ['v'], ['v']),\n suffixInflection('oyons', 'oyer', ['v'], ['v']),\n suffixInflection('oyez', 'oyer', ['v'], ['v']),\n\n suffixInflection('uie', 'uyer', ['v'], ['v']),\n suffixInflection('uyons', 'uyer', ['v'], ['v']),\n suffixInflection('uyez', 'uyer', ['v'], ['v']),\n\n // 2e groupe : verbes en -ir (finissant en -issons)\n suffixInflection('is', 'ir', ['v'], ['v']),\n suffixInflection('issons', 'ir', ['v'], ['v']),\n suffixInflection('issez', 'ir', ['v'], ['v']),\n\n suffixInflection('ïs', 'ïr', ['v'], ['v']),\n suffixInflection('ïssons', 'ïr', ['v'], ['v']),\n suffixInflection('ïssez', 'ïr', ['v'], ['v']),\n\n // 2e groupe : haïr (casual conv)\n suffixInflection('hais', 'haïr', ['v'], ['v']),\n suffixInflection('haïssons', 'haïr', ['v'], ['v']),\n suffixInflection('haïssez', 'haïr', ['v'], ['v']),\n\n // 3ème groupe aller\n suffixInflection('va', 'aller', ['v'], ['v']),\n suffixInflection('allons', 'aller', ['v'], ['v']),\n suffixInflection('allez', 'aller', ['v'], ['v']),\n\n // 3ème groupe -enir\n suffixInflection('iens', 'enir', ['v'], ['v']),\n suffixInflection('enons', 'enir', ['v'], ['v']),\n suffixInflection('enez', 'enir', ['v'], ['v']),\n\n // 3ème groupe -éir\n suffixInflection('iers', 'érir', ['v'], ['v']),\n suffixInflection('érons', 'érir', ['v'], ['v']),\n suffixInflection('érez', 'érir', ['v'], ['v']),\n\n // 3ème groupe -tir\n suffixInflection('s', 'tir', ['v'], ['v']),\n suffixInflection('tons', 'tir', ['v'], ['v']),\n suffixInflection('tez', 'tir', ['v'], ['v']),\n\n // 3ème groupe -êtir\n suffixInflection('êts', 'êtir', ['v'], ['v']),\n suffixInflection('êtons', 'êtir', ['v'], ['v']),\n suffixInflection('êtez', 'êtir', ['v'], ['v']),\n\n // 3ème groupe -vrir\n suffixInflection('vre', 'vrir', ['v'], ['v']),\n suffixInflection('vrons', 'vrir', ['v'], ['v']),\n suffixInflection('vrez', 'vrir', ['v'], ['v']),\n\n // 3ème groupe -frir\n suffixInflection('fre', 'frir', ['v'], ['v']),\n suffixInflection('frons', 'frir', ['v'], ['v']),\n suffixInflection('frez', 'frir', ['v'], ['v']),\n\n // 3ème groupe -ueillir\n suffixInflection('ueille', 'ueillir', ['v'], ['v']),\n suffixInflection('ueillons', 'ueillir', ['v'], ['v']),\n suffixInflection('ueillez', 'ueillir', ['v'], ['v']),\n\n // 3ème groupe -aillir\n suffixInflection('aille', 'aillir', ['v'], ['v']),\n suffixInflection('aillons', 'aillir', ['v'], ['v']),\n suffixInflection('aillez', 'aillir', ['v'], ['v']),\n\n // 3ème groupe : bouillir\n suffixInflection('bous', 'bouillir', ['v'], ['v']),\n suffixInflection('bouillons', 'bouillir', ['v'], ['v']),\n suffixInflection('bouillez', 'bouillir', ['v'], ['v']),\n\n // 3ème groupe : dormir\n suffixInflection('dors', 'dormir', ['v'], ['v']),\n suffixInflection('dormons', 'dormir', ['v'], ['v']),\n suffixInflection('dormez', 'dormir', ['v'], ['v']),\n\n // 3ème groupe : courir\n suffixInflection('cours', 'dormir', ['v'], ['v']),\n suffixInflection('courons', 'dormir', ['v'], ['v']),\n suffixInflection('courez', 'dormir', ['v'], ['v']),\n\n // 3ème groupe : mourir\n suffixInflection('meurs', 'mourir', ['v'], ['v']),\n suffixInflection('mourons', 'mourir', ['v'], ['v']),\n suffixInflection('mourez', 'mourir', ['v'], ['v']),\n\n // 3ème groupe servir\n suffixInflection('sers', 'servir', ['v'], ['v']),\n suffixInflection('servons', 'servir', ['v'], ['v']),\n suffixInflection('servez', 'servir', ['v'], ['v']),\n\n // 3ème groupe : fuir\n suffixInflection('fuis', 'fuir', ['v'], ['v']),\n suffixInflection('fuyons', 'fuir', ['v'], ['v']),\n suffixInflection('fuyez', 'fuir', ['v'], ['v']),\n\n // 3ème groupe : ouïr\n suffixInflection('ois', 'ouïr', ['v'], ['v']),\n suffixInflection('oyons', 'ouïr', ['v'], ['v']),\n suffixInflection('oyez', 'ouïr', ['v'], ['v']),\n\n // 3ème groupe -cevoir\n suffixInflection('çois', 'cevoir', ['v'], ['v']),\n suffixInflection('cevons', 'cevoir', ['v'], ['v']),\n suffixInflection('cevez', 'cevoir', ['v'], ['v']),\n\n // 3ème groupe : voir\n suffixInflection('vois', 'voir', ['v'], ['v']),\n suffixInflection('voyons', 'voir', ['v'], ['v']),\n suffixInflection('voyez', 'voir', ['v'], ['v']),\n\n // 3ème groupe : savoir\n suffixInflection('sais', 'savoir', ['v'], ['v']),\n suffixInflection('savons', 'savoir', ['v'], ['v']),\n suffixInflection('savez', 'savoir', ['v'], ['v']),\n\n // 3ème groupe : devoir\n suffixInflection('dois', 'devoir', ['v'], ['v']),\n suffixInflection('devons', 'devoir', ['v'], ['v']),\n suffixInflection('devez', 'devoir', ['v'], ['v']),\n\n // 3ème groupe : mouvoir\n suffixInflection('meus', 'mouvoir', ['v'], ['v']),\n suffixInflection('mouvons', 'mouvoir', ['v'], ['v']),\n suffixInflection('mouvez', 'mouvoir', ['v'], ['v']),\n\n // 3ème groupe : valoir\n suffixInflection('vaux', 'valoir', ['v'], ['v']),\n suffixInflection('valons', 'valoir', ['v'], ['v']),\n suffixInflection('valez', 'valoir', ['v'], ['v']),\n\n // 3ème groupe : vouloir\n suffixInflection('veux', 'vouloir', ['v'], ['v']),\n suffixInflection('veuille', 'vouloir', ['v'], ['v']),\n suffixInflection('voulons', 'vouloir', ['v'], ['v']),\n suffixInflection('voulez', 'vouloir', ['v'], ['v']),\n suffixInflection('veuillez', 'vouloir', ['v'], ['v']),\n\n // 3ème groupe : seoir / surseoir\n suffixInflection('sois', 'seoir', ['v'], ['v']),\n suffixInflection('soyons', 'seoir', ['v'], ['v']),\n suffixInflection('soyez', 'seoir', ['v'], ['v']),\n\n // 3ème groupe : asseoir (forme en ie et ye)\n suffixInflection('assieds', 'asseoir', ['v'], ['v']),\n suffixInflection('asseyons', 'asseoir', ['v'], ['v']),\n suffixInflection('asseyez', 'asseoir', ['v'], ['v']),\n\n // 3ème groupe : verbes en -andre, -endre, -ondre, -erdre, -ordre\n suffixInflection('ands', 'andre', ['v'], ['v']),\n suffixInflection('andons', 'andre', ['v'], ['v']),\n suffixInflection('andez', 'andre', ['v'], ['v']),\n\n suffixInflection('ends', 'endre', ['v'], ['v']),\n suffixInflection('endons', 'endre', ['v'], ['v']),\n suffixInflection('endez', 'endre', ['v'], ['v']),\n\n suffixInflection('onds', 'ondre', ['v'], ['v']),\n suffixInflection('ondons', 'ondre', ['v'], ['v']),\n suffixInflection('ondez', 'ondre', ['v'], ['v']),\n\n suffixInflection('erds', 'erdre', ['v'], ['v']),\n suffixInflection('erdons', 'erdre', ['v'], ['v']),\n suffixInflection('erdez', 'erdre', ['v'], ['v']),\n\n suffixInflection('ords', 'ordre', ['v'], ['v']),\n suffixInflection('ordons', 'ordre', ['v'], ['v']),\n suffixInflection('ordez', 'ordre', ['v'], ['v']),\n\n // 3ème groupe : prendre\n suffixInflection('prends', 'prendre', ['v'], ['v']),\n suffixInflection('prenons', 'prendre', ['v'], ['v']),\n suffixInflection('prenez', 'prendre', ['v'], ['v']),\n\n // 3ème groupe : battre\n suffixInflection('bats', 'battre', ['v'], ['v']),\n suffixInflection('battons', 'battre', ['v'], ['v']),\n suffixInflection('battez', 'battre', ['v'], ['v']),\n\n // 3ème groupe : mettre\n suffixInflection('mets', 'mettre', ['v'], ['v']),\n suffixInflection('mettons', 'mettre', ['v'], ['v']),\n suffixInflection('mettez', 'mettre', ['v'], ['v']),\n\n // 3ème groupe : verbes en -eindre\n suffixInflection('eins', 'eindre', ['v'], ['v']),\n suffixInflection('eignons', 'eindre', ['v'], ['v']),\n suffixInflection('eignez', 'eindre', ['v'], ['v']),\n\n // 3ème groupe : verbes en -oindre\n suffixInflection('oins', 'oindre', ['v'], ['v']),\n suffixInflection('oignons', 'oindre', ['v'], ['v']),\n suffixInflection('oignez', 'oindre', ['v'], ['v']),\n\n // 3ème groupe : verbes en -aindre\n suffixInflection('ains', 'aindre', ['v'], ['v']),\n suffixInflection('aignons', 'aindre', ['v'], ['v']),\n suffixInflection('aignez', 'aindre', ['v'], ['v']),\n\n // 3ème groupe : vaincre\n suffixInflection('vaincs', 'vaincre', ['v'], ['v']),\n suffixInflection('vainquons', 'vaincre', ['v'], ['v']),\n suffixInflection('vainquez', 'vaincre', ['v'], ['v']),\n\n // 3ème groupe : raire\n suffixInflection('rais', 'raire', ['v'], ['v']),\n suffixInflection('rayons', 'raire', ['v'], ['v']),\n suffixInflection('rayez', 'raire', ['v'], ['v']),\n\n // 3ème groupe : faire\n suffixInflection('fais', 'faire', ['v'], ['v']),\n suffixInflection('faisons', 'faire', ['v'], ['v']),\n suffixInflection('faites', 'faire', ['v'], ['v']),\n\n // 3ème groupe : plaire\n suffixInflection('plais', 'faire', ['v'], ['v']),\n suffixInflection('plaisons', 'faire', ['v'], ['v']),\n suffixInflection('plaisez', 'faire', ['v'], ['v']),\n\n // 3ème groupe : verbes en -aître (naître / connaître)\n suffixInflection('ais', 'aître', ['v'], ['v']),\n suffixInflection('aissons', 'aître', ['v'], ['v']),\n suffixInflection('aissez', 'aître', ['v'], ['v']),\n\n // 3ème groupe : verbes en -oître\n suffixInflection('ois', 'oître', ['v'], ['v']),\n suffixInflection('oissons', 'oître', ['v'], ['v']),\n suffixInflection('oissez', 'oître', ['v'], ['v']),\n\n // 3ème groupe : croire et boire\n suffixInflection('crois', 'croire', ['v'], ['v']),\n suffixInflection('croyons', 'croire', ['v'], ['v']),\n suffixInflection('croyez', 'croire', ['v'], ['v']),\n\n suffixInflection('bois', 'boire', ['v'], ['v']),\n suffixInflection('buvons', 'boire', ['v'], ['v']),\n suffixInflection('buvez', 'boire', ['v'], ['v']),\n\n // 3ème groupe : clore\n suffixInflection('clos', 'clore', ['v'], ['v']),\n\n // 3ème groupe : verbes en -clure\n suffixInflection('clus', 'clure', ['v'], ['v']),\n suffixInflection('cluons', 'clure', ['v'], ['v']),\n suffixInflection('cluez', 'clure', ['v'], ['v']),\n\n // 3ème groupe : verbes en -soudre (pas !!!)\n suffixInflection('sous', 'soudre', ['v'], ['v']),\n suffixInflection('solvons', 'soudre', ['v'], ['v']),\n suffixInflection('solvez', 'soudre', ['v'], ['v']),\n\n // 3ème groupe : verbes en -coudre\n suffixInflection('couds', 'coudre', ['v'], ['v']),\n suffixInflection('cousons', 'coudre', ['v'], ['v']),\n suffixInflection('cousez', 'coudre', ['v'], ['v']),\n\n // 3ème groupe : verbes en -moudre\n suffixInflection('mouds', 'moudre', ['v'], ['v']),\n suffixInflection('moulons', 'moudre', ['v'], ['v']),\n suffixInflection('moulez', 'moudre', ['v'], ['v']),\n\n // 3ème groupe : verbes en -ivre (suivre, vivre)\n suffixInflection('is', 'vivre', ['v'], ['v']),\n suffixInflection('ivons', 'vivre', ['v'], ['v']),\n suffixInflection('ivez', 'vivre', ['v'], ['v']),\n\n // 3ème groupe : verbes en -lire (relire)\n suffixInflection('lis', 'lire', ['v'], ['v']),\n suffixInflection('lisons', 'lire', ['v'], ['v']),\n suffixInflection('lisez', 'lire', ['v'], ['v']),\n\n // 3ème groupe : verbes en -dire (redire)\n suffixInflection('dis', 'dire', ['v'], ['v']),\n suffixInflection('disons', 'dire', ['v'], ['v']),\n suffixInflection('disez', 'dire', ['v'], ['v']),\n\n // 3ème groupe : verbes en rire (sourire)\n suffixInflection('ris', 'rire', ['v'], ['v']),\n suffixInflection('rions', 'rire', ['v'], ['v']),\n suffixInflection('riez', 'rire', ['v'], ['v']),\n\n // 3ème groupe : maudire\n suffixInflection('maudis', 'maudire', ['v'], ['v']),\n suffixInflection('maudissons', 'maudire', ['v'], ['v']),\n suffixInflection('maudissez', 'maudire', ['v'], ['v']),\n\n // 3ème groupe : verbes en crire (décrire)\n suffixInflection('cris', 'crire', ['v'], ['v']),\n suffixInflection('crivons', 'crire', ['v'], ['v']),\n suffixInflection('crivez', 'crire', ['v'], ['v']),\n\n // 3ème groupe : verbes en -fire, -cire, -frire (suffire, confire etc...)\n suffixInflection('fis', 'fire', ['v'], ['v']),\n suffixInflection('fisons', 'fire', ['v'], ['v']),\n suffixInflection('fisez', 'fire', ['v'], ['v']),\n\n suffixInflection('cis', 'cire', ['v'], ['v']),\n suffixInflection('cisons', 'cire', ['v'], ['v']),\n suffixInflection('cisez', 'cire', ['v'], ['v']),\n\n suffixInflection('fris', 'frire', ['v'], ['v']),\n suffixInflection('frisons', 'frire', ['v'], ['v']),\n suffixInflection('frisez', 'frire', ['v'], ['v']),\n\n // 3ème groupe : verbes en -uire (conduire, cuire etc...)\n suffixInflection('uis', 'uire', ['v'], ['v']),\n suffixInflection('uisons', 'uire', ['v'], ['v']),\n suffixInflection('uisez', 'uire', ['v'], ['v']),\n ],\n },\n\n // Conditionnel\n Conditional: {\n name: 'conditional',\n description: 'Conditional form of a verb',\n rules: [\n // auxiliaire être\n suffixInflection('serais', 'être', ['aux'], ['v']),\n suffixInflection('serais', 'être', ['aux'], ['v']),\n suffixInflection('serait', 'être', ['aux'], ['v']),\n suffixInflection('serions', 'être', ['aux'], ['v']),\n suffixInflection('seriez', 'être', ['aux'], ['v']),\n suffixInflection('seraient', 'être', ['aux'], ['v']),\n\n // auxilaire avoir\n suffixInflection('aurais', 'avoir', ['aux'], ['v']),\n suffixInflection('aurais', 'avoir', ['aux'], ['v']),\n suffixInflection('aurait', 'avoir', ['aux'], ['v']),\n suffixInflection('aurions', 'avoir', ['aux'], ['v']),\n suffixInflection('auriez', 'avoir', ['aux'], ['v']),\n suffixInflection('auraient', 'avoir', ['aux'], ['v']),\n\n // 1er groupe : verbes en -er\n suffixInflection('erais', 'er', ['v'], ['v']),\n suffixInflection('erait', 'er', ['v'], ['v']),\n suffixInflection('erions', 'er', ['v'], ['v']),\n suffixInflection('eriez', 'er', ['v'], ['v']),\n suffixInflection('eraient', 'er', ['v'], ['v']),\n\n // 1er groupe : verbes en -cer\n suffixInflection('cerais', 'cer', ['v'], ['v']),\n suffixInflection('cerait', 'cer', ['v'], ['v']),\n suffixInflection('cerions', 'cer', ['v'], ['v']),\n suffixInflection('ceriez', 'cer', ['v'], ['v']),\n suffixInflection('ceraient', 'cer', ['v'], ['v']),\n\n // 1er groupe : verbes en -ger\n suffixInflection('gerais', 'ger', ['v'], ['v']),\n suffixInflection('gerait', 'ger', ['v'], ['v']),\n suffixInflection('gerions', 'ger', ['v'], ['v']),\n suffixInflection('geriez', 'ger', ['v'], ['v']),\n suffixInflection('géraient', 'ger', ['v'], ['v']),\n\n // 1er groupe : verbes en e(.)er\n suffixInflection('ècerais', 'ecer', ['v'], ['v']),\n suffixInflection('ècerait', 'ecer', ['v'], ['v']),\n suffixInflection('ècerions', 'ecer', ['v'], ['v']),\n suffixInflection('èceriez', 'ecer', ['v'], ['v']),\n suffixInflection('èceraient', 'ecer', ['v'], ['v']),\n\n suffixInflection('èverais', 'ever', ['v'], ['v']),\n suffixInflection('èverait', 'ever', ['v'], ['v']),\n suffixInflection('èverions', 'ever', ['v'], ['v']),\n suffixInflection('èveriez', 'ever', ['v'], ['v']),\n suffixInflection('èveraient', 'ever', ['v'], ['v']),\n\n suffixInflection('ènerais', 'ener', ['v'], ['v']),\n suffixInflection('ènerait', 'ener', ['v'], ['v']),\n suffixInflection('ènerions', 'ener', ['v'], ['v']),\n suffixInflection('èneriez', 'ener', ['v'], ['v']),\n suffixInflection('èneraient', 'ener', ['v'], ['v']),\n\n suffixInflection('èperais', 'eper', ['v'], ['v']),\n suffixInflection('èperait', 'eper', ['v'], ['v']),\n suffixInflection('èperions', 'eper', ['v'], ['v']),\n suffixInflection('èperiez', 'eper', ['v'], ['v']),\n suffixInflection('èperaient', 'eper', ['v'], ['v']),\n\n suffixInflection('èrerais', 'erer', ['v'], ['v']),\n suffixInflection('èrerait', 'erer', ['v'], ['v']),\n suffixInflection('èrerions', 'erer', ['v'], ['v']),\n suffixInflection('èreriez', 'erer', ['v'], ['v']),\n suffixInflection('èraient', 'erer', ['v'], ['v']),\n\n suffixInflection('èmerais', 'emer', ['v'], ['v']),\n suffixInflection('èmerait', 'emer', ['v'], ['v']),\n suffixInflection('èmerions', 'emer', ['v'], ['v']),\n suffixInflection('èmeriez', 'emer', ['v'], ['v']),\n suffixInflection('èmeraient', 'emer', ['v'], ['v']),\n\n suffixInflection('èvrerais', 'evrer', ['v'], ['v']),\n suffixInflection('èvrerait', 'evrer', ['v'], ['v']),\n suffixInflection('èvrerions', 'evrer', ['v'], ['v']),\n suffixInflection('èvreriez', 'evrer', ['v'], ['v']),\n suffixInflection('èvreraient', 'evrer', ['v'], ['v']),\n\n suffixInflection('èserais', 'eser', ['v'], ['v']),\n suffixInflection('èserait', 'eser', ['v'], ['v']),\n suffixInflection('èserions', 'eser', ['v'], ['v']),\n suffixInflection('èseriez', 'eser', ['v'], ['v']),\n suffixInflection('èseraient', 'eser', ['v'], ['v']),\n\n // 1er groupe : verbes en é(.)er\n suffixInflection('éderais', 'éder', ['v'], ['v']),\n suffixInflection('éderait', 'éder', ['v'], ['v']),\n suffixInflection('éderions', 'éder', ['v'], ['v']),\n suffixInflection('éderiez', 'éder', ['v'], ['v']),\n suffixInflection('éderaient', 'éder', ['v'], ['v']),\n\n suffixInflection('ébrerais', 'ébrer', ['v'], ['v']),\n suffixInflection('ébrerait', 'ébrer', ['v'], ['v']),\n suffixInflection('ébrerions', 'ébrer', ['v'], ['v']),\n suffixInflection('ébreriez', 'ébrer', ['v'], ['v']),\n suffixInflection('ébreraient', 'ébrer', ['v'], ['v']),\n\n suffixInflection('écerais', 'écer', ['v'], ['v']),\n suffixInflection('écerait', 'écer', ['v'], ['v']),\n suffixInflection('écerions', 'écer', ['v'], ['v']),\n suffixInflection('éceriez', 'écer', ['v'], ['v']),\n suffixInflection('éceraient', 'écer', ['v'], ['v']),\n\n suffixInflection('écherais', 'écher', ['v'], ['v']),\n suffixInflection('écherait', 'écher', ['v'], ['v']),\n suffixInflection('écherions', 'écher', ['v'], ['v']),\n suffixInflection('écheriez', 'écher', ['v'], ['v']),\n suffixInflection('écheraient', 'écher', ['v'], ['v']),\n\n suffixInflection('écrerais', 'écrer', ['v'], ['v']),\n suffixInflection('écrerait', 'écrer', ['v'], ['v']),\n suffixInflection('écrerions', 'écrer', ['v'], ['v']),\n suffixInflection('écreriez', 'écrer', ['v'], ['v']),\n suffixInflection('écreraient', 'écrer', ['v'], ['v']),\n\n suffixInflection('églerais', 'égler', ['v'], ['v']),\n suffixInflection('églerait', 'égler', ['v'], ['v']),\n suffixInflection('églerions', 'égler', ['v'], ['v']),\n suffixInflection('égleriez', 'égler', ['v'], ['v']),\n suffixInflection('égleraient', 'égler', ['v'], ['v']),\n\n suffixInflection('égnerais', 'égner', ['v'], ['v']),\n suffixInflection('égnerait', 'égner', ['v'], ['v']),\n suffixInflection('égnerions', 'égner', ['v'], ['v']),\n suffixInflection('égneriez', 'égner', ['v'], ['v']),\n suffixInflection('égneraient', 'égner', ['v'], ['v']),\n\n suffixInflection('égrerais', 'égrer', ['v'], ['v']),\n suffixInflection('égrerait', 'égrer', ['v'], ['v']),\n suffixInflection('égrerions', 'égrer', ['v'], ['v']),\n suffixInflection('égreriez', 'égrer', ['v'], ['v']),\n suffixInflection('égréraient', 'égrer', ['v'], ['v']),\n\n suffixInflection('éguerais', 'éguer', ['v'], ['v']),\n suffixInflection('éguerait', 'éguer', ['v'], ['v']),\n suffixInflection('éguerions', 'éguer', ['v'], ['v']),\n suffixInflection('égueriez', 'éguer', ['v'], ['v']),\n suffixInflection('égueraient', 'éguer', ['v'], ['v']),\n\n suffixInflection('élerais', 'éler', ['v'], ['v']),\n suffixInflection('élerait', 'éler', ['v'], ['v']),\n suffixInflection('élerions', 'éler', ['v'], ['v']),\n suffixInflection('éleriez', 'éler', ['v'], ['v']),\n suffixInflection('éleraient', 'éler', ['v'], ['v']),\n\n suffixInflection('émerais', 'émer', ['v'], ['v']),\n suffixInflection('émerait', 'émer', ['v'], ['v']),\n suffixInflection('émerions', 'émer', ['v'], ['v']),\n suffixInflection('émeriez', 'émer', ['v'], ['v']),\n suffixInflection('émeraient', 'émer', ['v'], ['v']),\n\n suffixInflection('énerais', 'éner', ['v'], ['v']),\n suffixInflection('énerait', 'éner', ['v'], ['v']),\n suffixInflection('énerions', 'éner', ['v'], ['v']),\n suffixInflection('éneriez', 'éner', ['v'], ['v']),\n suffixInflection('éneraient', 'éner', ['v'], ['v']),\n\n suffixInflection('éperais', 'éper', ['v'], ['v']),\n suffixInflection('éperait', 'éper', ['v'], ['v']),\n suffixInflection('éperions', 'éper', ['v'], ['v']),\n suffixInflection('éperiez', 'éper', ['v'], ['v']),\n suffixInflection('éperaient', 'éper', ['v'], ['v']),\n\n suffixInflection('équerais', 'équer', ['v'], ['v']),\n suffixInflection('équerait', 'équer', ['v'], ['v']),\n suffixInflection('équerions', 'équer', ['v'], ['v']),\n suffixInflection('équeriez', 'équer', ['v'], ['v']),\n suffixInflection('équeraient', 'équer', ['v'], ['v']),\n\n suffixInflection('érerais', 'érer', ['v'], ['v']),\n suffixInflection('érerait', 'érer', ['v'], ['v']),\n suffixInflection('érerions', 'érer', ['v'], ['v']),\n suffixInflection('éreriez', 'érer', ['v'], ['v']),\n suffixInflection('éraient', 'érer', ['v'], ['v']),\n\n suffixInflection('éserais', 'éser', ['v'], ['v']),\n suffixInflection('éserait', 'éser', ['v'], ['v']),\n suffixInflection('éserions', 'éser', ['v'], ['v']),\n suffixInflection('éseriez', 'éser', ['v'], ['v']),\n suffixInflection('ésaient', 'éser', ['v'], ['v']),\n\n suffixInflection('éterais', 'éter', ['v'], ['v']),\n suffixInflection('éterait', 'éter', ['v'], ['v']),\n suffixInflection('éterions', 'éter', ['v'], ['v']),\n suffixInflection('éteriez', 'éter', ['v'], ['v']),\n suffixInflection('éteraient', 'éter', ['v'], ['v']),\n\n suffixInflection('étrerais', 'étrer', ['v'], ['v']),\n suffixInflection('étrerait', 'étrer', ['v'], ['v']),\n suffixInflection('étrerions', 'étrer', ['v'], ['v']),\n suffixInflection('étreriez', 'étrer', ['v'], ['v']),\n suffixInflection('étraient', 'étrer', ['v'], ['v']),\n\n suffixInflection('éyerais', 'éyer', ['v'], ['v']),\n suffixInflection('éyerait', 'éyer', ['v'], ['v']),\n suffixInflection('éyerions', 'éyer', ['v'], ['v']),\n suffixInflection('éyeriez', 'éyer', ['v'], ['v']),\n suffixInflection('éyeraient', 'éyer', ['v'], ['v']),\n\n // 1er groupe : verbes en -eler / eter doublant le l\n suffixInflection('ellerais', 'eler', ['v'], ['v']),\n suffixInflection('ellerait', 'eler', ['v'], ['v']),\n suffixInflection('ellerions', 'eler', ['v'], ['v']),\n suffixInflection('elleriez', 'eler', ['v'], ['v']),\n suffixInflection('elleraient', 'eler', ['v'], ['v']),\n\n suffixInflection('etterais', 'eter', ['v'], ['v']),\n suffixInflection('etterait', 'eter', ['v'], ['v']),\n suffixInflection('etterions', 'eter', ['v'], ['v']),\n suffixInflection('etteriez', 'eter', ['v'], ['v']),\n suffixInflection('etteraient', 'eter', ['v'], ['v']),\n\n // 1er groupe : verbes en -eler / eter changeant le e en è\n suffixInflection('èlerais', 'eler', ['v'], ['v']),\n suffixInflection('èlerait', 'eler', ['v'], ['v']),\n suffixInflection('èlerions', 'eler', ['v'], ['v']),\n suffixInflection('èleriez', 'eler', ['v'], ['v']),\n suffixInflection('èleraient', 'eler', ['v'], ['v']),\n\n suffixInflection('èterais', 'eter', ['v'], ['v']),\n suffixInflection('èterait', 'eter', ['v'], ['v']),\n suffixInflection('èterions', 'eter', ['v'], ['v']),\n suffixInflection('èteriez', 'eter', ['v'], ['v']),\n suffixInflection('èteraient', 'eter', ['v'], ['v']),\n\n // 1er groupe : verbes en -éger\n suffixInflection('égerais', 'éger', ['v'], ['v']),\n suffixInflection('égerait', 'éger', ['v'], ['v']),\n suffixInflection('égerions', 'éger', ['v'], ['v']),\n suffixInflection('égeriez', 'éger', ['v'], ['v']),\n suffixInflection('égeraient', 'éger', ['v'], ['v']),\n\n // 1er groupe : verbes en -ayer\n suffixInflection('ayerais', 'ayer', ['v'], ['v']),\n suffixInflection('ayerait', 'ayer', ['v'], ['v']),\n suffixInflection('ayerions', 'ayer', ['v'], ['v']),\n suffixInflection('ayeriez', 'ayer', ['v'], ['v']),\n suffixInflection('ayeraient', 'ayer', ['v'], ['v']),\n suffixInflection('aierais', 'ayer', ['v'], ['v']),\n suffixInflection('aierait', 'ayer', ['v'], ['v']),\n suffixInflection('aierions', 'ayer', ['v'], ['v']),\n suffixInflection('aieriez', 'ayer', ['v'], ['v']),\n suffixInflection('aieraient', 'ayer', ['v'], ['v']),\n\n // 1er groupe : verbes en -oyer et -uyer\n suffixInflection('oierais', 'oyer', ['v'], ['v']),\n suffixInflection('oierait', 'oyer', ['v'], ['v']),\n suffixInflection('oierions', 'oyer', ['v'], ['v']),\n suffixInflection('oieriez', 'oyer', ['v'], ['v']),\n suffixInflection('oieraient', 'oyer', ['v'], ['v']),\n\n suffixInflection('uyerais', 'uyer', ['v'], ['v']),\n suffixInflection('uyerait', 'uyer', ['v'], ['v']),\n suffixInflection('uyerions', 'uyer', ['v'], ['v']),\n suffixInflection('uyeriez', 'uyer', ['v'], ['v']),\n suffixInflection('uyeraient', 'uyer', ['v'], ['v']),\n\n // 2e groupe : verbes en -ir (finissant en -issons)\n suffixInflection('irais', 'ir', ['v'], ['v']),\n suffixInflection('irait', 'ir', ['v'], ['v']),\n suffixInflection('irions', 'ir', ['v'], ['v']),\n suffixInflection('iriez', 'ir', ['v'], ['v']),\n suffixInflection('iraient', 'ir', ['v'], ['v']),\n\n // 2e groupe : haïr\n suffixInflection('haïrais', 'haïr', ['v'], ['v']),\n suffixInflection('haïrait', 'haïr', ['v'], ['v']),\n suffixInflection('haïrions', 'haïr', ['v'], ['v']),\n suffixInflection('haïriez', 'haïr', ['v'], ['v']),\n suffixInflection('haïraient', 'haïr', ['v'], ['v']),\n\n // 3e groupe : aller\n suffixInflection('irais', 'aller', ['v'], ['v']),\n suffixInflection('irait', 'aller', ['v'], ['v']),\n suffixInflection('irions', 'aller', ['v'], ['v']),\n suffixInflection('iriez', 'aller', ['v'], ['v']),\n suffixInflection('iraient', 'aller', ['v'], ['v']),\n\n // 3e groupe : -enir\n suffixInflection('iendrais', 'enir', ['v'], ['v']),\n suffixInflection('iendrait', 'enir', ['v'], ['v']),\n suffixInflection('iendrions', 'enir', ['v'], ['v']),\n suffixInflection('iendriez', 'enir', ['v'], ['v']),\n suffixInflection('iendraient', 'enir', ['v'], ['v']),\n\n // 3e groupe : -éir\n suffixInflection('ierais', 'érir', ['v'], ['v']),\n suffixInflection('ierait', 'érir', ['v'], ['v']),\n suffixInflection('irions', 'érir', ['v'], ['v']),\n suffixInflection('iriez', 'érir', ['v'], ['v']),\n suffixInflection('ièrent', 'érir', ['v'], ['v']),\n\n // 3e groupe : -tir\n suffixInflection('irais', 'tir', ['v'], ['v']),\n suffixInflection('irait', 'tir', ['v'], ['v']),\n suffixInflection('irions', 'tir', ['v'], ['v']),\n suffixInflection('iriez', 'tir', ['v'], ['v']),\n suffixInflection('raient', 'tir', ['v'], ['v']),\n\n // 3e groupe : -êtir\n suffixInflection('êtirais', 'êtir', ['v'], ['v']),\n suffixInflection('êtirait', 'êtir', ['v'], ['v']),\n suffixInflection('êtirions', 'êtir', ['v'], ['v']),\n suffixInflection('êtiriez', 'êtir', ['v'], ['v']),\n suffixInflection('êtiraient', 'êtir', ['v'], ['v']),\n\n // 3e groupe : -vrir\n suffixInflection('vrirais', 'vrir', ['v'], ['v']),\n suffixInflection('vrirait', 'vrir', ['v'], ['v']),\n suffixInflection('vririons', 'vrir', ['v'], ['v']),\n suffixInflection('vririez', 'vrir', ['v'], ['v']),\n suffixInflection('vriraient', 'vrir', ['v'], ['v']),\n\n // 3e groupe : -frir\n suffixInflection('frirais', 'frir', ['v'], ['v']),\n suffixInflection('frirait', 'frir', ['v'], ['v']),\n suffixInflection('fririons', 'frir', ['v'], ['v']),\n suffixInflection('fririez', 'frir', ['v'], ['v']),\n suffixInflection('friraient', 'frir', ['v'], ['v']),\n\n // 3e groupe : -ueillir\n suffixInflection('ueillerais', 'ueillir', ['v'], ['v']),\n suffixInflection('ueillerait', 'ueillir', ['v'], ['v']),\n suffixInflection('ueillerions', 'ueillir', ['v'], ['v']),\n suffixInflection('ueilleriez', 'ueillir', ['v'], ['v']),\n suffixInflection('ueilleraient', 'ueillir', ['v'], ['v']),\n\n // 3e groupe : -aillir\n suffixInflection('aillirais', 'aillir', ['v'], ['v']),\n suffixInflection('aillirait', 'aillir', ['v'], ['v']),\n suffixInflection('aillirions', 'aillir', ['v'], ['v']),\n suffixInflection('ailliriez', 'aillir', ['v'], ['v']),\n suffixInflection('ailliraient', 'aillir', ['v'], ['v']),\n\n // 3e groupe : faillir (exception)\n suffixInflection('faillirais', 'faillir', ['v'], ['v']),\n suffixInflection('faillirait', 'faillir', ['v'], ['v']),\n suffixInflection('faillirions', 'faillir', ['v'], ['v']),\n suffixInflection('failliriez', 'faillir', ['v'], ['v']),\n suffixInflection('failliraient', 'faillir', ['v'], ['v']),\n\n // 3e groupe : bouillir\n suffixInflection('bouillirais', 'bouillir', ['v'], ['v']),\n suffixInflection('bouillirait', 'bouillir', ['v'], ['v']),\n suffixInflection('bouillirions', 'bouillir', ['v'], ['v']),\n suffixInflection('bouilliriez', 'bouillir', ['v'], ['v']),\n suffixInflection('bouilliraient', 'bouillir', ['v'], ['v']),\n\n // 3e groupe : dormir\n suffixInflection('dormirais', 'dormir', ['v'], ['v']),\n suffixInflection('dormirait', 'dormir', ['v'], ['v']),\n suffixInflection('dormirions', 'dormir', ['v'], ['v']),\n suffixInflection('dormiriez', 'dormir', ['v'], ['v']),\n suffixInflection('dormiraient', 'dormir', ['v'], ['v']),\n\n // 3e groupe : courir\n suffixInflection('courrais', 'courir', ['v'], ['v']),\n suffixInflection('courrait', 'courir', ['v'], ['v']),\n suffixInflection('courrions', 'courir', ['v'], ['v']),\n suffixInflection('courriez', 'courir', ['v'], ['v']),\n suffixInflection('courraient', 'courir', ['v'], ['v']),\n\n // 3e groupe : mourir\n suffixInflection('mourrais', 'mourir', ['v'], ['v']),\n suffixInflection('mourrait', 'mourir', ['v'], ['v']),\n suffixInflection('mourrions', 'mourir', ['v'], ['v']),\n suffixInflection('mourriez', 'mourir', ['v'], ['v']),\n suffixInflection('mourraient', 'mourir', ['v'], ['v']),\n\n // 3e groupe : servir\n suffixInflection('servirais', 'servir', ['v'], ['v']),\n suffixInflection('servirait', 'servir', ['v'], ['v']),\n suffixInflection('servirions', 'servir', ['v'], ['v']),\n suffixInflection('serviriez', 'servir', ['v'], ['v']),\n suffixInflection('serviraient', 'servir', ['v'], ['v']),\n\n // 3e groupe : fuir\n suffixInflection('fuirais', 'fuir', ['v'], ['v']),\n suffixInflection('fuirait', 'fuir', ['v'], ['v']),\n suffixInflection('fuirions', 'fuir', ['v'], ['v']),\n suffixInflection('fuiriez', 'fuir', ['v'], ['v']),\n suffixInflection('fuiraient', 'fuir', ['v'], ['v']),\n\n // 3e groupe : ouïr\n suffixInflection('ouïrais', 'ouïr', ['v'], ['v']),\n suffixInflection('ouïrait', 'ouïr', ['v'], ['v']),\n suffixInflection('ouïrions', 'ouïr', ['v'], ['v']),\n suffixInflection('ouïriez', 'ouïr', ['v'], ['v']),\n suffixInflection('ouïraient', 'ouïr', ['v'], ['v']),\n\n // 3e groupe : gésir (rare)\n suffixInflection('gîrais', 'gésir', ['v'], ['v']),\n suffixInflection('gîrait', 'gésir', ['v'], ['v']),\n suffixInflection('gîraient', 'gésir', ['v'], ['v']),\n\n // 3e groupe : cevoir\n suffixInflection('cevrais', 'cevoir', ['v'], ['v']),\n suffixInflection('cevrait', 'cevoir', ['v'], ['v']),\n suffixInflection('cevrions', 'cevoir', ['v'], ['v']),\n suffixInflection('cevriez', 'cevoir', ['v'], ['v']),\n suffixInflection('cevraient', 'cevoir', ['v'], ['v']),\n\n // 3e groupe : voir\n suffixInflection('verrais', 'voir', ['v'], ['v']),\n suffixInflection('verrait', 'voir', ['v'], ['v']),\n suffixInflection('verrions', 'voir', ['v'], ['v']),\n suffixInflection('verriez', 'voir', ['v'], ['v']),\n suffixInflection('verraient', 'voir', ['v'], ['v']),\n\n // 3e groupe : savoir\n suffixInflection('saurais', 'savoir', ['v'], ['v']),\n suffixInflection('saurait', 'savoir', ['v'], ['v']),\n suffixInflection('saurions', 'savoir', ['v'], ['v']),\n suffixInflection('sauriez', 'savoir', ['v'], ['v']),\n suffixInflection('sauraient', 'savoir', ['v'], ['v']),\n\n // 3e groupe : devoir\n suffixInflection('devrais', 'devoir', ['v'], ['v']),\n suffixInflection('devrait', 'devoir', ['v'], ['v']),\n suffixInflection('devrions', 'devoir', ['v'], ['v']),\n suffixInflection('devriez', 'devoir', ['v'], ['v']),\n suffixInflection('devraient', 'devoir', ['v'], ['v']),\n\n // 3e groupe : pouvoir\n suffixInflection('pourrais', 'pouvoir', ['v'], ['v']),\n suffixInflection('pourrait', 'pouvoir', ['v'], ['v']),\n suffixInflection('pourrions', 'pouvoir', ['v'], ['v']),\n suffixInflection('pourriez', 'pouvoir', ['v'], ['v']),\n suffixInflection('pourraient', 'pouvoir', ['v'], ['v']),\n\n // 3e groupe : mouvoir\n suffixInflection('mouvrais', 'mouvoir', ['v'], ['v']),\n suffixInflection('mouvrait', 'mouvoir', ['v'], ['v']),\n suffixInflection('mouvrions', 'mouvoir', ['v'], ['v']),\n suffixInflection('mouvriez', 'mouvoir', ['v'], ['v']),\n suffixInflection('mouvraient', 'mouvoir', ['v'], ['v']),\n\n // 3e groupe : pleuvoir / falloir\n suffixInflection('pleuvrait', 'pleuvoir', ['v'], ['v']),\n suffixInflection('faudrait', 'falloir', ['v'], ['v']),\n\n // 3ème groupe : valoir\n suffixInflection('vaudrais', 'valoir', ['v'], ['v']),\n suffixInflection('vaudrait', 'valoir', ['v'], ['v']),\n suffixInflection('vaudrions', 'valoir', ['v'], ['v']),\n suffixInflection('vaudriez', 'valoir', ['v'], ['v']),\n suffixInflection('vaudraient', 'valoir', ['v'], ['v']),\n\n // 3ème groupe : vouloir\n suffixInflection('voudrais', 'vouloir', ['v'], ['v']),\n suffixInflection('voudrait', 'vouloir', ['v'], ['v']),\n suffixInflection('voudrions', 'vouloir', ['v'], ['v']),\n suffixInflection('voudriez', 'vouloir', ['v'], ['v']),\n suffixInflection('voudraient', 'vouloir', ['v'], ['v']),\n\n // 3ème groupe : seoir / surseoir\n suffixInflection('serais', 'seoir', ['v'], ['v']),\n suffixInflection('serait', 'seoir', ['v'], ['v']),\n suffixInflection('serions', 'seoir', ['v'], ['v']),\n suffixInflection('seriez', 'seoir', ['v'], ['v']),\n suffixInflection('seraient', 'seoir', ['v'], ['v']),\n\n // 3ème groupe : asseoir (forme en ie et ye)\n suffixInflection('assoirais', 'asseoir', ['v'], ['v']),\n suffixInflection('assoirait', 'asseoir', ['v'], ['v']),\n suffixInflection('assoirions', 'asseoir', ['v'], ['v']),\n suffixInflection('assoiriez', 'asseoir', ['v'], ['v']),\n suffixInflection('assoiraient', 'asseoir', ['v'], ['v']),\n\n // 3ème groupe : seoir (convenir) / messeoir (ne pas être convenable)\n suffixInflection('siéraient', 'seoir', ['v'], ['v']),\n\n // 3ème groupe : choir\n suffixInflection('choirais', 'choir', ['v'], ['v']),\n suffixInflection('choirait', 'choir', ['v'], ['v']),\n suffixInflection('choirions', 'choir', ['v'], ['v']),\n suffixInflection('choiriez', 'choir', ['v'], ['v']),\n suffixInflection('choiraient', 'choir', ['v'], ['v']),\n\n // 3ème groupe : échoir / déchoir\n suffixInflection('échoirais', 'échoir', ['v'], ['v']),\n suffixInflection('échoirait', 'échoir', ['v'], ['v']),\n suffixInflection('échoirions', 'échoir', ['v'], ['v']),\n suffixInflection('échoiriez', 'échoir', ['v'], ['v']),\n suffixInflection('échoiraient', 'échoir', ['v'], ['v']),\n\n // 3ème groupe : verbes en -andre, -endre, -ondre, -erdre, -ordre\n suffixInflection('andrais', 'andre', ['v'], ['v']),\n suffixInflection('andrai', 'andre', ['v'], ['v']),\n suffixInflection('andrions', 'andre', ['v'], ['v']),\n suffixInflection('andriez', 'andre', ['v'], ['v']),\n suffixInflection('andraient', 'andre', ['v'], ['v']),\n\n suffixInflection('endrais', 'endre', ['v'], ['v']),\n suffixInflection('endrai', 'endre', ['v'], ['v']),\n suffixInflection('endrions', 'endre', ['v'], ['v']),\n suffixInflection('endriez', 'endre', ['v'], ['v']),\n suffixInflection('endraient', 'endre', ['v'], ['v']),\n\n suffixInflection('ondrais', 'ondre', ['v'], ['v']),\n suffixInflection('ondra', 'ondre', ['v'], ['v']),\n suffixInflection('ondrions', 'ondre', ['v'], ['v']),\n suffixInflection('ondriez', 'ondre', ['v'], ['v']),\n suffixInflection('ondraient', 'ondre', ['v'], ['v']),\n\n suffixInflection('erdras', 'erdre', ['v'], ['v']),\n suffixInflection('erdrait', 'erdre', ['v'], ['v']),\n suffixInflection('erdrions', 'erdre', ['v'], ['v']),\n suffixInflection('erdriez', 'erdre', ['v'], ['v']),\n suffixInflection('erdaient', 'erdre', ['v'], ['v']),\n\n suffixInflection('ordrais', 'ordre', ['v'], ['v']),\n suffixInflection('ordrait', 'ordre', ['v'], ['v']),\n suffixInflection('ordrions', 'ordre', ['v'], ['v']),\n suffixInflection('ordriez', 'ordre', ['v'], ['v']),\n suffixInflection('ordraient', 'ordre', ['v'], ['v']),\n\n // 3ème groupe : prendre\n suffixInflection('prendrais', 'prendre', ['v'], ['v']),\n suffixInflection('prendrait', 'prendre', ['v'], ['v']),\n suffixInflection('prendrions', 'prendre', ['v'], ['v']),\n suffixInflection('prendriez', 'prendre', ['v'], ['v']),\n suffixInflection('prendraient', 'prendre', ['v'], ['v']),\n\n // 3ème groupe : battre\n suffixInflection('battrais', 'battre', ['v'], ['v']),\n suffixInflection('battrait', 'battre', ['v'], ['v']),\n suffixInflection('battrions', 'battre', ['v'], ['v']),\n suffixInflection('battriez', 'battre', ['v'], ['v']),\n suffixInflection('battraient', 'battre', ['v'], ['v']),\n\n // 3ème groupe : mettre\n suffixInflection('mettrais', 'mettre', ['v'], ['v']),\n suffixInflection('mettrait', 'mettre', ['v'], ['v']),\n suffixInflection('mettrions', 'mettre', ['v'], ['v']),\n suffixInflection('mettriez', 'mettre', ['v'], ['v']),\n suffixInflection('mettraient', 'mettre', ['v'], ['v']),\n\n // 3ème groupe : verbes en -eindre\n suffixInflection('eindrais', 'eindre', ['v'], ['v']),\n suffixInflection('eindrait', 'eindre', ['v'], ['v']),\n suffixInflection('eindrions', 'eindre', ['v'], ['v']),\n suffixInflection('eindriez', 'eindre', ['v'], ['v']),\n suffixInflection('eindraient', 'eindre', ['v'], ['v']),\n\n // 3ème groupe : verbes en -oindre\n suffixInflection('oindrais', 'oindre', ['v'], ['v']),\n suffixInflection('oindrait', 'oindre', ['v'], ['v']),\n suffixInflection('oindrions', 'oindre', ['v'], ['v']),\n suffixInflection('oindriez', 'oindre', ['v'], ['v']),\n suffixInflection('oindraient', 'oindre', ['v'], ['v']),\n\n // 3ème groupe : verbes en -aindre\n suffixInflection('aindrais', 'aindre', ['v'], ['v']),\n suffixInflection('aindrait', 'aindre', ['v'], ['v']),\n suffixInflection('aindrions', 'aindre', ['v'], ['v']),\n suffixInflection('aindriez', 'aindre', ['v'], ['v']),\n suffixInflection('aindraient', 'aindre', ['v'], ['v']),\n\n // 3ème groupe : vaincre\n suffixInflection('vaincrais', 'vaincre', ['v'], ['v']),\n suffixInflection('vaincrait', 'vaincre', ['v'], ['v']),\n suffixInflection('vaincrions', 'vaincre', ['v'], ['v']),\n suffixInflection('vaincriez', 'vaincre', ['v'], ['v']),\n suffixInflection('vaincraient', 'vaincre', ['v'], ['v']),\n\n // 3ème groupe : raire\n suffixInflection('rairais', 'raire', ['v'], ['v']),\n suffixInflection('rairait', 'raire', ['v'], ['v']),\n suffixInflection('rairions', 'raire', ['v'], ['v']),\n suffixInflection('rairiez', 'raire', ['v'], ['v']),\n suffixInflection('rairaient', 'raire', ['v'], ['v']),\n\n // 3ème groupe : faire\n suffixInflection('ferais', 'faire', ['v'], ['v']),\n suffixInflection('ferait', 'faire', ['v'], ['v']),\n suffixInflection('ferions', 'faire', ['v'], ['v']),\n suffixInflection('feriez', 'faire', ['v'], ['v']),\n suffixInflection('feraient', 'faire', ['v'], ['v']),\n\n // 3ème groupe : plaire\n suffixInflection('plairais', 'faire', ['v'], ['v']),\n suffixInflection('plairait', 'faire', ['v'], ['v']),\n suffixInflection('plairions', 'faire', ['v'], ['v']),\n suffixInflection('plairiez', 'faire', ['v'], ['v']),\n suffixInflection('plairaient', 'faire', ['v'], ['v']),\n\n // 3ème groupe : verbes en -aître (naître / connaître)\n suffixInflection('naîtrais', 'naître', ['v'], ['v']),\n suffixInflection('naîtrait', 'naître', ['v'], ['v']),\n suffixInflection('naîtrions', 'naître', ['v'], ['v']),\n suffixInflection('naîtriez', 'naître', ['v'], ['v']),\n suffixInflection('naîtraient', 'naître', ['v'], ['v']),\n\n // 3ème groupe : verbes en -oître\n suffixInflection('oîtrais', 'oître', ['v'], ['v']),\n suffixInflection('oîtrait', 'oître', ['v'], ['v']),\n suffixInflection('oîtrions', 'oître', ['v'], ['v']),\n suffixInflection('oîtriez', 'oître', ['v'], ['v']),\n suffixInflection('oîtraient', 'oître', ['v'], ['v']),\n\n // 3ème groupe : croire et boire\n suffixInflection('croirais', 'croire', ['v'], ['v']),\n suffixInflection('croirait', 'croire', ['v'], ['v']),\n suffixInflection('croirions', 'croire', ['v'], ['v']),\n suffixInflection('croiriez', 'croire', ['v'], ['v']),\n suffixInflection('croiraient', 'croire', ['v'], ['v']),\n\n suffixInflection('boirais', 'boire', ['v'], ['v']),\n suffixInflection('boirait', 'boire', ['v'], ['v']),\n suffixInflection('boirions', 'boire', ['v'], ['v']),\n suffixInflection('boiriez', 'boire', ['v'], ['v']),\n suffixInflection('boiraient', 'boire', ['v'], ['v']),\n\n // 3ème groupe : clore\n suffixInflection('clorais', 'clore', ['v'], ['v']),\n suffixInflection('clorait', 'clore', ['v'], ['v']),\n suffixInflection('clorions', 'clore', ['v'], ['v']),\n suffixInflection('cloriez', 'clore', ['v'], ['v']),\n suffixInflection('cloraient', 'clore', ['v'], ['v']),\n\n // 3ème groupe : verbes en -clure\n suffixInflection('clurais', 'clure', ['v'], ['v']),\n suffixInflection('clurait', 'clure', ['v'], ['v']),\n suffixInflection('clurions', 'clure', ['v'], ['v']),\n suffixInflection('cluriez', 'clure', ['v'], ['v']),\n suffixInflection('cluraient', 'clure', ['v'], ['v']),\n\n // 3ème groupe : verbes en -soudre\n suffixInflection('soudrais', 'soudre', ['v'], ['v']),\n suffixInflection('soudrait', 'soudre', ['v'], ['v']),\n suffixInflection('soudrions', 'soudre', ['v'], ['v']),\n suffixInflection('soudriez', 'soudre', ['v'], ['v']),\n suffixInflection('soudraient', 'soudre', ['v'], ['v']),\n\n // 3ème groupe : verbes en -coudre\n suffixInflection('coudrais', 'coudre', ['v'], ['v']),\n suffixInflection('coudrait', 'coudre', ['v'], ['v']),\n suffixInflection('coudrions', 'coudre', ['v'], ['v']),\n suffixInflection('coudriez', 'coudre', ['v'], ['v']),\n suffixInflection('coudraient', 'coudre', ['v'], ['v']),\n\n // 3ème groupe : verbes en -moudre\n suffixInflection('moudrais', 'moudre', ['v'], ['v']),\n suffixInflection('moudrait', 'moudre', ['v'], ['v']),\n suffixInflection('moudrions', 'moudre', ['v'], ['v']),\n suffixInflection('moudriez', 'moudre', ['v'], ['v']),\n suffixInflection('moudraient', 'moudre', ['v'], ['v']),\n\n // 3ème groupe : verbes en -ivre (suivre, vivre)\n suffixInflection('vivrais', 'vivre', ['v'], ['v']),\n suffixInflection('vivrait', 'vivre', ['v'], ['v']),\n suffixInflection('vivrions', 'vivre', ['v'], ['v']),\n suffixInflection('vivriez', 'vivre', ['v'], ['v']),\n suffixInflection('vivraient', 'vivre', ['v'], ['v']),\n\n // 3ème groupe : verbes en -lire (relire)\n suffixInflection('lirais', 'lire', ['v'], ['v']),\n suffixInflection('lirait', 'lire', ['v'], ['v']),\n suffixInflection('lirions', 'lire', ['v'], ['v']),\n suffixInflection('liriez', 'lire', ['v'], ['v']),\n suffixInflection('liraient', 'lire', ['v'], ['v']),\n\n // 3ème groupe : verbes en -dire (relire)\n suffixInflection('dirais', 'dire', ['v'], ['v']),\n suffixInflection('dirait', 'dire', ['v'], ['v']),\n suffixInflection('dirions', 'dire', ['v'], ['v']),\n suffixInflection('diriez', 'dire', ['v'], ['v']),\n suffixInflection('diraient', 'dire', ['v'], ['v']),\n\n // 3ème groupe : verbes en rire (sourire)\n suffixInflection('rirais', 'rire', ['v'], ['v']),\n suffixInflection('rirait', 'rire', ['v'], ['v']),\n suffixInflection('ririons', 'rire', ['v'], ['v']),\n suffixInflection('ririez', 'rire', ['v'], ['v']),\n suffixInflection('riraient', 'rire', ['v'], ['v']),\n\n // 3ème groupe : maudire\n suffixInflection('maudirais', 'maudire', ['v'], ['v']),\n suffixInflection('maudirait', 'maudire', ['v'], ['v']),\n suffixInflection('maudrions', 'maudire', ['v'], ['v']),\n suffixInflection('maudriez', 'maudire', ['v'], ['v']),\n suffixInflection('maudiraient', 'maudire', ['v'], ['v']),\n\n // 3ème groupe : verbes en crire (décrire)\n suffixInflection('crirais', 'crire', ['v'], ['v']),\n suffixInflection('crirait', 'crire', ['v'], ['v']),\n suffixInflection('cririons', 'crire', ['v'], ['v']),\n suffixInflection('cririez', 'crire', ['v'], ['v']),\n suffixInflection('criraient', 'crire', ['v'], ['v']),\n\n // 3ème groupe : verbes en -fire, -cire, -frire (suffire, confire etc...)\n suffixInflection('firais', 'fire', ['v'], ['v']),\n suffixInflection('firait', 'fire', ['v'], ['v']),\n suffixInflection('firions', 'fire', ['v'], ['v']),\n suffixInflection('firiez', 'fire', ['v'], ['v']),\n suffixInflection('firaient', 'fire', ['v'], ['v']),\n\n suffixInflection('cirais', 'cire', ['v'], ['v']),\n suffixInflection('cirait', 'cire', ['v'], ['v']),\n suffixInflection('cirions', 'cire', ['v'], ['v']),\n suffixInflection('ciriez', 'cire', ['v'], ['v']),\n suffixInflection('ciraient', 'cire', ['v'], ['v']),\n\n suffixInflection('frirais', 'frire', ['v'], ['v']),\n suffixInflection('frirait', 'frire', ['v'], ['v']),\n suffixInflection('fririons', 'frire', ['v'], ['v']),\n suffixInflection('fririez', 'frire', ['v'], ['v']),\n suffixInflection('friraient', 'frire', ['v'], ['v']),\n\n // 3ème groupe : verbes en -uire (conduire, cuire etc...)\n suffixInflection('cuirais', 'uire', ['v'], ['v']),\n suffixInflection('cuirait', 'uire', ['v'], ['v']),\n suffixInflection('cuirions', 'uire', ['v'], ['v']),\n suffixInflection('cuiriez', 'uire', ['v'], ['v']),\n suffixInflection('cuiraient', 'uire', ['v'], ['v']),\n ],\n },\n // Preterite\n Preterite: {\n name: 'Preterite',\n description: 'Preterite (simple past) form of a verb',\n rules: [\n // auxiliaire être\n suffixInflection('fus', 'être', ['aux'], ['v']),\n suffixInflection('fus', 'être', ['aux'], ['v']),\n suffixInflection('fut', 'être', ['aux'], ['v']),\n suffixInflection('fûmes', 'être', ['aux'], ['v']),\n suffixInflection('fûtes', 'être', ['aux'], ['v']),\n suffixInflection('furent', 'être', ['aux'], ['v']),\n\n // auxiliaire avoir\n suffixInflection('eus', 'avoir', ['aux'], ['v']),\n suffixInflection('eus', 'avoir', ['aux'], ['v']),\n suffixInflection('eut', 'avoir', ['aux'], ['v']),\n suffixInflection('eûmes', 'avoir', ['aux'], ['v']),\n suffixInflection('eûtes', 'avoir', ['aux'], ['v']),\n suffixInflection('eurent', 'avoir', ['aux'], ['v']),\n\n // 1er groupe (-er)\n suffixInflection('ai', 'er', ['v'], ['v']),\n suffixInflection('as', 'er', ['v'], ['v']),\n suffixInflection('a', 'er', ['v'], ['v']),\n suffixInflection('âmes', 'er', ['v'], ['v']),\n suffixInflection('âtes', 'er', ['v'], ['v']),\n suffixInflection('èrent', 'er', ['v'], ['v']),\n\n // Verbes en -cer :\n suffixInflection('çai', 'cer', ['v'], ['v']),\n suffixInflection('ças', 'cer', ['v'], ['v']),\n suffixInflection('ça', 'cer', ['v'], ['v']),\n suffixInflection('çâmes', 'cer', ['v'], ['v']),\n suffixInflection('çâtes', 'cer', ['v'], ['v']),\n suffixInflection('çèrent', 'cer', ['v'], ['v']),\n\n // Verbes en -ger :\n suffixInflection('geai', 'ger', ['v'], ['v']),\n suffixInflection('geas', 'ger', ['v'], ['v']),\n suffixInflection('gea', 'ger', ['v'], ['v']),\n suffixInflection('geâmes', 'ger', ['v'], ['v']),\n suffixInflection('geâtes', 'ger', ['v'], ['v']),\n suffixInflection('gèrent', 'ger', ['v'], ['v']),\n\n // 1er Groupe : Verbes en e(.)er\n suffixInflection('èçai', 'ecer', ['v'], ['v']),\n suffixInflection('èças', 'ecer', ['v'], ['v']),\n suffixInflection('èça', 'ecer', ['v'], ['v']),\n suffixInflection('èçâmes', 'ecer', ['v'], ['v']),\n suffixInflection('èçâtes', 'ecer', ['v'], ['v']),\n suffixInflection('ècèrent', 'ecer', ['v'], ['v']),\n\n suffixInflection('èvai', 'ever', ['v'], ['v']),\n suffixInflection('èvas', 'ever', ['v'], ['v']),\n suffixInflection('èva', 'ever', ['v'], ['v']),\n suffixInflection('èvâmes', 'ever', ['v'], ['v']),\n suffixInflection('èvâtes', 'ever', ['v'], ['v']),\n suffixInflection('èvèrent', 'ever', ['v'], ['v']),\n\n suffixInflection('ènai', 'ener', ['v'], ['v']),\n suffixInflection('ènas', 'ener', ['v'], ['v']),\n suffixInflection('èna', 'ener', ['v'], ['v']),\n suffixInflection('ènâmes', 'ener', ['v'], ['v']),\n suffixInflection('ènâtes', 'ener', ['v'], ['v']),\n suffixInflection('ènèrent', 'ener', ['v'], ['v']),\n\n suffixInflection('èpai', 'eper', ['v'], ['v']),\n suffixInflection('èpas', 'eper', ['v'], ['v']),\n suffixInflection('èpa', 'eper', ['v'], ['v']),\n suffixInflection('èpâmes', 'eper', ['v'], ['v']),\n suffixInflection('èpâtes', 'eper', ['v'], ['v']),\n suffixInflection('èpèrent', 'eper', ['v'], ['v']),\n\n suffixInflection('èrai', 'erer', ['v'], ['v']),\n suffixInflection('èras', 'erer', ['v'], ['v']),\n suffixInflection('èra', 'erer', ['v'], ['v']),\n suffixInflection('èrâmes', 'erer', ['v'], ['v']),\n suffixInflection('èrâtes', 'erer', ['v'], ['v']),\n suffixInflection('èrèrent', 'erer', ['v'], ['v']),\n\n suffixInflection('èmai', 'emer', ['v'], ['v']),\n suffixInflection('èmas', 'emer', ['v'], ['v']),\n suffixInflection('èma', 'emer', ['v'], ['v']),\n suffixInflection('èmâmes', 'emer', ['v'], ['v']),\n suffixInflection('èmâtes', 'emer', ['v'], ['v']),\n suffixInflection('èmèrent', 'emer', ['v'], ['v']),\n\n suffixInflection('èvrài', 'evrer', ['v'], ['v']),\n suffixInflection('èvràs', 'evrer', ['v'], ['v']),\n suffixInflection('èvrà', 'evrer', ['v'], ['v']),\n suffixInflection('èvrâmes', 'evrer', ['v'], ['v']),\n suffixInflection('èvrâtes', 'evrer', ['v'], ['v']),\n suffixInflection('èvrèrent', 'evrer', ['v'], ['v']),\n\n suffixInflection('èsai', 'eser', ['v'], ['v']),\n suffixInflection('èsas', 'eser', ['v'], ['v']),\n suffixInflection('èsa', 'eser', ['v'], ['v']),\n suffixInflection('èsâmes', 'eser', ['v'], ['v']),\n suffixInflection('èsâtes', 'eser', ['v'], ['v']),\n suffixInflection('èsèrent', 'eser', ['v'], ['v']),\n\n // 1er Groupe : Verbes en é(.)er\n suffixInflection('édai', 'éder', ['v'], ['v']),\n suffixInflection('édas', 'éder', ['v'], ['v']),\n suffixInflection('éda', 'éder', ['v'], ['v']),\n suffixInflection('édâmes', 'éder', ['v'], ['v']),\n suffixInflection('édâtes', 'éder', ['v'], ['v']),\n suffixInflection('édèrent', 'éder', ['v'], ['v']),\n\n suffixInflection('ébrai', 'ébrer', ['v'], ['v']),\n suffixInflection('ébras', 'ébrer', ['v'], ['v']),\n suffixInflection('ébra', 'ébrer', ['v'], ['v']),\n suffixInflection('ébrâmes', 'ébrer', ['v'], ['v']),\n suffixInflection('ébrâtes', 'ébrer', ['v'], ['v']),\n suffixInflection('ébrèrent', 'ébrer', ['v'], ['v']),\n\n suffixInflection('échai', 'écher', ['v'], ['v']),\n suffixInflection('échas', 'écher', ['v'], ['v']),\n suffixInflection('écha', 'écher', ['v'], ['v']),\n suffixInflection('échâmes', 'écher', ['v'], ['v']),\n suffixInflection('échâtes', 'écher', ['v'], ['v']),\n suffixInflection('échèrent', 'écher', ['v'], ['v']),\n\n // 1er Groupe : Verbes spéciaux (ex. -ayer, -oyer, etc.)\n suffixInflection('aiyai', 'ayer', ['v'], ['v']),\n suffixInflection('aiyas', 'ayer', ['v'], ['v']),\n suffixInflection('aiya', 'ayer', ['v'], ['v']),\n suffixInflection('aiyâmes', 'ayer', ['v'], ['v']),\n suffixInflection('aiyâtes', 'ayer', ['v'], ['v']),\n suffixInflection('aiyèrent', 'ayer', ['v'], ['v']),\n\n suffixInflection('oiyai', 'oyer', ['v'], ['v']),\n suffixInflection('oiyas', 'oyer', ['v'], ['v']),\n suffixInflection('oiya', 'oyer', ['v'], ['v']),\n suffixInflection('oiyâmes', 'oyer', ['v'], ['v']),\n suffixInflection('oiyâtes', 'oyer', ['v'], ['v']),\n suffixInflection('oiyèrent', 'oyer', ['v'], ['v']),\n\n suffixInflection('uiyai', 'uyer', ['v'], ['v']),\n suffixInflection('uiyas', 'uyer', ['v'], ['v']),\n suffixInflection('uiya', 'uyer', ['v'], ['v']),\n suffixInflection('uiyâmes', 'uyer', ['v'], ['v']),\n suffixInflection('uiyâtes', 'uyer', ['v'], ['v']),\n suffixInflection('uiyèrent', 'uyer', ['v'], ['v']),\n\n // 2e groupe : verbes en -ir (finissant en -issons)\n suffixInflection('is', 'ir', ['v'], ['v']),\n suffixInflection('it', 'ir', ['v'], ['v']),\n suffixInflection('îmes', 'ir', ['v'], ['v']),\n suffixInflection('îtes', 'ir', ['v'], ['v']),\n suffixInflection('irent', 'ir', ['v'], ['v']),\n\n // 2e groupe : haïr\n suffixInflection('haïs', 'haïr', ['v'], ['v']),\n suffixInflection('haït', 'haïr', ['v'], ['v']),\n suffixInflection('haïmes', 'haïr', ['v'], ['v']),\n suffixInflection('haïtes', 'haïr', ['v'], ['v']),\n suffixInflection('haïrent', 'haïr', ['v'], ['v']),\n\n // 3ème groupe : aller\n suffixInflection('allai', 'aller', ['v'], ['v']),\n suffixInflection('allas', 'aller', ['v'], ['v']),\n suffixInflection('alla', 'aller', ['v'], ['v']),\n suffixInflection('allâmes', 'aller', ['v'], ['v']),\n suffixInflection('allâtes', 'aller', ['v'], ['v']),\n suffixInflection('allèrent', 'aller', ['v'], ['v']),\n\n // 3ème groupe : -enir\n suffixInflection('ins', 'enir', ['v'], ['v']),\n suffixInflection('int', 'enir', ['v'], ['v']),\n suffixInflection('înmes', 'enir', ['v'], ['v']),\n suffixInflection('întes', 'enir', ['v'], ['v']),\n suffixInflection('inrent', 'enir', ['v'], ['v']),\n\n // 3ème groupe : -érir\n suffixInflection('éris', 'érir', ['v'], ['v']),\n suffixInflection('érit', 'érir', ['v'], ['v']),\n suffixInflection('érîmes', 'érir', ['v'], ['v']),\n suffixInflection('érîtes', 'érir', ['v'], ['v']),\n suffixInflection('érirent', 'érir', ['v'], ['v']),\n\n // 3ème groupe : -tir\n suffixInflection('tis', 'tir', ['v'], ['v']),\n suffixInflection('tit', 'tir', ['v'], ['v']),\n suffixInflection('tîmes', 'tir', ['v'], ['v']),\n suffixInflection('tîtes', 'tir', ['v'], ['v']),\n suffixInflection('tirent', 'tir', ['v'], ['v']),\n\n // 3ème groupe : -êtir\n suffixInflection('êtis', 'êtir', ['v'], ['v']),\n suffixInflection('êtit', 'êtir', ['v'], ['v']),\n suffixInflection('êtîmes', 'êtir', ['v'], ['v']),\n suffixInflection('êtîtes', 'êtir', ['v'], ['v']),\n suffixInflection('êtirent', 'êtir', ['v'], ['v']),\n\n // 3ème groupe : -vrir\n suffixInflection('vris', 'vrir', ['v'], ['v']),\n suffixInflection('vrit', 'vrir', ['v'], ['v']),\n suffixInflection('vrîmes', 'vrir', ['v'], ['v']),\n suffixInflection('vrîtes', 'vrir', ['v'], ['v']),\n suffixInflection('vrirent', 'vrir', ['v'], ['v']),\n\n // 3ème groupe : -frir\n suffixInflection('fris', 'frir', ['v'], ['v']),\n suffixInflection('frit', 'frir', ['v'], ['v']),\n suffixInflection('frîmes', 'frir', ['v'], ['v']),\n suffixInflection('frîtes', 'frir', ['v'], ['v']),\n suffixInflection('frirent', 'frir', ['v'], ['v']),\n\n // 3ème groupe : -ueillir\n suffixInflection('ueillis', 'ueillir', ['v'], ['v']),\n suffixInflection('ueillit', 'ueillir', ['v'], ['v']),\n suffixInflection('ueillîmes', 'ueillir', ['v'], ['v']),\n suffixInflection('ueillîtes', 'ueillir', ['v'], ['v']),\n suffixInflection('ueillirent', 'ueillir', ['v'], ['v']),\n\n // 3ème groupe : -aillir\n suffixInflection('aillis', 'aillir', ['v'], ['v']),\n suffixInflection('aillit', 'aillir', ['v'], ['v']),\n suffixInflection('aillîmes', 'aillir', ['v'], ['v']),\n suffixInflection('aillîtes', 'aillir', ['v'], ['v']),\n suffixInflection('aillirent', 'aillir', ['v'], ['v']),\n\n // 3ème groupe : bouillir\n suffixInflection('bouillis', 'bouillir', ['v'], ['v']),\n suffixInflection('bouillit', 'bouillir', ['v'], ['v']),\n suffixInflection('bouillîmes', 'bouillir', ['v'], ['v']),\n suffixInflection('bouillîtes', 'bouillir', ['v'], ['v']),\n suffixInflection('bouillirent', 'bouillir', ['v'], ['v']),\n\n // 3ème groupe : dormir\n suffixInflection('dormis', 'dormir', ['v'], ['v']),\n suffixInflection('dormit', 'dormir', ['v'], ['v']),\n suffixInflection('dormîmes', 'dormir', ['v'], ['v']),\n suffixInflection('dormîtes', 'dormir', ['v'], ['v']),\n suffixInflection('dormirent', 'dormir', ['v'], ['v']),\n\n // 3ème groupe : courir\n suffixInflection('courus', 'courir', ['v'], ['v']),\n suffixInflection('courut', 'courir', ['v'], ['v']),\n suffixInflection('courûmes', 'courir', ['v'], ['v']),\n suffixInflection('courûtes', 'courir', ['v'], ['v']),\n suffixInflection('coururent', 'courir', ['v'], ['v']),\n\n // 3ème groupe : mourir\n suffixInflection('mourus', 'mourir', ['v'], ['v']),\n suffixInflection('mourut', 'mourir', ['v'], ['v']),\n suffixInflection('mourûmes', 'mourir', ['v'], ['v']),\n suffixInflection('mourûtes', 'mourir', ['v'], ['v']),\n suffixInflection('moururent', 'mourir', ['v'], ['v']),\n\n // 3ème groupe : servir\n suffixInflection('servis', 'servir', ['v'], ['v']),\n suffixInflection('servit', 'servir', ['v'], ['v']),\n suffixInflection('servîmes', 'servir', ['v'], ['v']),\n suffixInflection('servîtes', 'servir', ['v'], ['v']),\n suffixInflection('servirent', 'servir', ['v'], ['v']),\n\n // 3ème groupe : fuir\n suffixInflection('fuis', 'fuir', ['v'], ['v']),\n suffixInflection('fuit', 'fuir', ['v'], ['v']),\n suffixInflection('fuîmes', 'fuir', ['v'], ['v']),\n suffixInflection('fuîtes', 'fuir', ['v'], ['v']),\n suffixInflection('fuirent', 'fuir', ['v'], ['v']),\n\n // 3ème groupe : ouïr\n suffixInflection('ouïs', 'ouïr', ['v'], ['v']),\n suffixInflection('ouït', 'ouïr', ['v'], ['v']),\n suffixInflection('ouïmes', 'ouïr', ['v'], ['v']),\n suffixInflection('ouïtes', 'ouïr', ['v'], ['v']),\n suffixInflection('ouïrent', 'ouïr', ['v'], ['v']),\n\n // 3ème groupe : gésir\n suffixInflection('gis', 'gésir', ['v'], ['v']),\n suffixInflection('git', 'gésir', ['v'], ['v']),\n suffixInflection('gîmes', 'gésir', ['v'], ['v']),\n suffixInflection('gîtes', 'gésir', ['v'], ['v']),\n suffixInflection('gisirent', 'gésir', ['v'], ['v']),\n\n // 3ème groupe : -cevoir\n suffixInflection('çus', 'cevoir', ['v'], ['v']),\n suffixInflection('çut', 'cevoir', ['v'], ['v']),\n suffixInflection('çûmes', 'cevoir', ['v'], ['v']),\n suffixInflection('çûtes', 'cevoir', ['v'], ['v']),\n suffixInflection('çurent', 'cevoir', ['v'], ['v']),\n\n // 3ème groupe : voir\n suffixInflection('vis', 'voir', ['v'], ['v']),\n suffixInflection('vit', 'voir', ['v'], ['v']),\n suffixInflection('vîmes', 'voir', ['v'], ['v']),\n suffixInflection('vîtes', 'voir', ['v'], ['v']),\n suffixInflection('virent', 'voir', ['v'], ['v']),\n\n // 3ème groupe : savoir\n suffixInflection('sus', 'savoir', ['v'], ['v']),\n suffixInflection('sut', 'savoir', ['v'], ['v']),\n suffixInflection('sûmes', 'savoir', ['v'], ['v']),\n suffixInflection('sûtes', 'savoir', ['v'], ['v']),\n suffixInflection('surent', 'savoir', ['v'], ['v']),\n\n // 3ème groupe : devoir\n suffixInflection('dus', 'devoir', ['v'], ['v']),\n suffixInflection('dut', 'devoir', ['v'], ['v']),\n suffixInflection('dûmes', 'devoir', ['v'], ['v']),\n suffixInflection('dûtes', 'devoir', ['v'], ['v']),\n suffixInflection('durent', 'devoir', ['v'], ['v']),\n\n // 3ème groupe : pouvoir\n suffixInflection('pus', 'pouvoir', ['v'], ['v']),\n suffixInflection('put', 'pouvoir', ['v'], ['v']),\n suffixInflection('pûmes', 'pouvoir', ['v'], ['v']),\n suffixInflection('pûtes', 'pouvoir', ['v'], ['v']),\n suffixInflection('purent', 'pouvoir', ['v'], ['v']),\n\n // 3ème groupe : mouvoir\n suffixInflection('mus', 'mouvoir', ['v'], ['v']),\n suffixInflection('mut', 'mouvoir', ['v'], ['v']),\n suffixInflection('mûmes', 'mouvoir', ['v'], ['v']),\n suffixInflection('mûtes', 'mouvoir', ['v'], ['v']),\n suffixInflection('murent', 'mouvoir', ['v'], ['v']),\n\n // 3ème groupe : pleuvoir / falloir (verbes impersonnels)\n suffixInflection('plut', 'pleuvoir', ['v'], ['v']),\n suffixInflection('fallut', 'falloir', ['v'], ['v']),\n\n // 3ème groupe : valoir\n suffixInflection('valus', 'valoir', ['v'], ['v']),\n suffixInflection('valut', 'valoir', ['v'], ['v']),\n suffixInflection('valûmes', 'valoir', ['v'], ['v']),\n suffixInflection('valûtes', 'valoir', ['v'], ['v']),\n suffixInflection('valurent', 'valoir', ['v'], ['v']),\n\n // 3ème groupe : vouloir\n suffixInflection('voulus', 'vouloir', ['v'], ['v']),\n suffixInflection('voulut', 'vouloir', ['v'], ['v']),\n suffixInflection('voulûmes', 'vouloir', ['v'], ['v']),\n suffixInflection('voulûtes', 'vouloir', ['v'], ['v']),\n suffixInflection('voulurent', 'vouloir', ['v'], ['v']),\n\n // 3ème groupe : seoir / surseoir\n suffixInflection('seus', 'seoir', ['v'], ['v']),\n suffixInflection('seut', 'seoir', ['v'], ['v']),\n suffixInflection('seûmes', 'seoir', ['v'], ['v']),\n suffixInflection('seûtes', 'seoir', ['v'], ['v']),\n suffixInflection('seurent', 'seoir', ['v'], ['v']),\n\n // 3ème groupe : asseoir\n suffixInflection('assis', 'asseoir', ['v'], ['v']),\n suffixInflection('assit', 'asseoir', ['v'], ['v']),\n suffixInflection('assîmes', 'asseoir', ['v'], ['v']),\n suffixInflection('assîtes', 'asseoir', ['v'], ['v']),\n suffixInflection('assirent', 'asseoir', ['v'], ['v']),\n\n // 3ème groupe : choir\n suffixInflection('chus', 'choir', ['v'], ['v']),\n suffixInflection('chut', 'choir', ['v'], ['v']),\n suffixInflection('chûmes', 'choir', ['v'], ['v']),\n suffixInflection('chûtes', 'choir', ['v'], ['v']),\n suffixInflection('churent', 'choir', ['v'], ['v']),\n\n // Verbes en -andre, -endre, -ondre, -erdre, -ordre\n suffixInflection('andis', 'andre', ['v'], ['v']),\n suffixInflection('andit', 'andre', ['v'], ['v']),\n suffixInflection('andîmes', 'andre', ['v'], ['v']),\n suffixInflection('andîtes', 'andre', ['v'], ['v']),\n suffixInflection('andirent', 'andre', ['v'], ['v']),\n\n suffixInflection('endis', 'endre', ['v'], ['v']),\n suffixInflection('endit', 'endre', ['v'], ['v']),\n suffixInflection('endîmes', 'endre', ['v'], ['v']),\n suffixInflection('endîtes', 'endre', ['v'], ['v']),\n suffixInflection('endirent', 'endre', ['v'], ['v']),\n\n suffixInflection('ondis', 'ondre', ['v'], ['v']),\n suffixInflection('ondit', 'ondre', ['v'], ['v']),\n suffixInflection('ondîmes', 'ondre', ['v'], ['v']),\n suffixInflection('ondîtes', 'ondre', ['v'], ['v']),\n suffixInflection('ondirent', 'ondre', ['v'], ['v']),\n\n suffixInflection('erdis', 'erdre', ['v'], ['v']),\n suffixInflection('erdit', 'erdre', ['v'], ['v']),\n suffixInflection('erdîmes', 'erdre', ['v'], ['v']),\n suffixInflection('erdîtes', 'erdre', ['v'], ['v']),\n suffixInflection('erdirent', 'erdre', ['v'], ['v']),\n\n suffixInflection('ordis', 'ordre', ['v'], ['v']),\n suffixInflection('ordit', 'ordre', ['v'], ['v']),\n suffixInflection('ordîmes', 'ordre', ['v'], ['v']),\n suffixInflection('ordîtes', 'ordre', ['v'], ['v']),\n suffixInflection('ordirent', 'ordre', ['v'], ['v']),\n\n // 3eme groupe: prendre\n suffixInflection('pris', 'prendre', ['v'], ['v']),\n suffixInflection('prit', 'prendre', ['v'], ['v']),\n suffixInflection('prîmes', 'prendre', ['v'], ['v']),\n suffixInflection('prîtes', 'prendre', ['v'], ['v']),\n suffixInflection('prirent', 'prendre', ['v'], ['v']),\n\n // 3ème groupe : battre\n suffixInflection('battis', 'battre', ['v'], ['v']),\n suffixInflection('battit', 'battre', ['v'], ['v']),\n suffixInflection('battîmes', 'battre', ['v'], ['v']),\n suffixInflection('battîtes', 'battre', ['v'], ['v']),\n suffixInflection('battirent', 'battre', ['v'], ['v']),\n\n // 3ème groupe : mettre\n suffixInflection('mis', 'mettre', ['v'], ['v']),\n suffixInflection('mit', 'mettre', ['v'], ['v']),\n suffixInflection('mîmes', 'mettre', ['v'], ['v']),\n suffixInflection('mîtes', 'mettre', ['v'], ['v']),\n suffixInflection('mirent', 'mettre', ['v'], ['v']),\n\n // 3ème groupe : verbes en -eindre\n suffixInflection('eignis', 'eindre', ['v'], ['v']),\n suffixInflection('eignit', 'eindre', ['v'], ['v']),\n suffixInflection('eignîmes', 'eindre', ['v'], ['v']),\n suffixInflection('eignîtes', 'eindre', ['v'], ['v']),\n suffixInflection('eignirent', 'eindre', ['v'], ['v']),\n\n // 3ème groupe : verbes en -oindre\n suffixInflection('oignis', 'oindre', ['v'], ['v']),\n suffixInflection('oignit', 'oindre', ['v'], ['v']),\n suffixInflection('oignîmes', 'oindre', ['v'], ['v']),\n suffixInflection('oignîtes', 'oindre', ['v'], ['v']),\n suffixInflection('oignirent', 'oindre', ['v'], ['v']),\n\n // 3ème groupe : verbes en -aindre\n suffixInflection('aignis', 'aindre', ['v'], ['v']),\n suffixInflection('aignit', 'aindre', ['v'], ['v']),\n suffixInflection('aignîmes', 'aindre', ['v'], ['v']),\n suffixInflection('aignîtes', 'aindre', ['v'], ['v']),\n suffixInflection('aignirent', 'aindre', ['v'], ['v']),\n\n // 3ème groupe : vaincre\n suffixInflection('vainquis', 'vaincre', ['v'], ['v']),\n suffixInflection('vainquit', 'vaincre', ['v'], ['v']),\n suffixInflection('vainquîmes', 'vaincre', ['v'], ['v']),\n suffixInflection('vainquîtes', 'vaincre', ['v'], ['v']),\n suffixInflection('vainquirent', 'vaincre', ['v'], ['v']),\n\n // 3ème groupe : raire\n suffixInflection('rais', 'raire', ['v'], ['v']),\n suffixInflection('rait', 'raire', ['v'], ['v']),\n suffixInflection('rayons', 'raire', ['v'], ['v']),\n suffixInflection('rayez', 'raire', ['v'], ['v']),\n suffixInflection('raient', 'raire', ['v'], ['v']),\n\n // 3ème groupe : faire\n suffixInflection('fis', 'faire', ['v'], ['v']),\n suffixInflection('fit', 'faire', ['v'], ['v']),\n suffixInflection('fîmes', 'faire', ['v'], ['v']), // 'fîmes' pour 'nous'\n suffixInflection('fîtes', 'faire', ['v'], ['v']), // 'fîtes' pour 'vous'\n suffixInflection('firent', 'faire', ['v'], ['v']), // 'firent' pour 'ils/elles'\n\n // 3ème groupe : plaire\n suffixInflection('plais', 'plaire', ['v'], ['v']),\n suffixInflection('plut', 'plaire', ['v'], ['v']),\n suffixInflection('plûmes', 'plaire', ['v'], ['v']), // 'plûmes' pour 'nous'\n suffixInflection('plûtes', 'plaire', ['v'], ['v']), // 'plûtes' pour 'vous'\n suffixInflection('plurent', 'plaire', ['v'], ['v']), // 'plurent' pour 'ils/elles'\n\n // 3ème groupe : verbes en -aître (naître / connaître)\n suffixInflection('naquis', 'naître', ['v'], ['v']),\n suffixInflection('naquit', 'naître', ['v'], ['v']),\n suffixInflection('naquîmes', 'naître', ['v'], ['v']), // 'naquîmes' pour 'nous'\n suffixInflection('naquîtes', 'naître', ['v'], ['v']), // 'naquîtes' pour 'vous'\n suffixInflection('naquirent', 'naître', ['v'], ['v']), // 'naquirent' pour 'ils/elles'\n\n // 3ème groupe : verbes en -oître\n suffixInflection('perdis', 'perdre', ['v'], ['v']),\n suffixInflection('perdit', 'perdre', ['v'], ['v']),\n suffixInflection('perdîmes', 'perdre', ['v'], ['v']),\n suffixInflection('perdîtes', 'perdre', ['v'], ['v']),\n suffixInflection('perdirent', 'perdre', ['v'], ['v']),\n\n // 3ème groupe : croire et boire\n suffixInflection('crus', 'croire', ['v'], ['v']),\n suffixInflection('crut', 'croire', ['v'], ['v']),\n suffixInflection('crûmes', 'croire', ['v'], ['v']),\n suffixInflection('crûtes', 'croire', ['v'], ['v']),\n suffixInflection('crurent', 'croire', ['v'], ['v']),\n\n suffixInflection('bus', 'boire', ['v'], ['v']),\n suffixInflection('but', 'boire', ['v'], ['v']),\n suffixInflection('bûmes', 'boire', ['v'], ['v']),\n suffixInflection('bûtes', 'boire', ['v'], ['v']),\n suffixInflection('burent', 'boire', ['v'], ['v']),\n\n // 3ème groupe : clore (rare)\n suffixInflection('closis', 'clore', ['v'], ['v']),\n suffixInflection('closit', 'clore', ['v'], ['v']),\n suffixInflection('closîmes', 'clore', ['v'], ['v']),\n suffixInflection('closîtes', 'clore', ['v'], ['v']),\n suffixInflection('closirent', 'clore', ['v'], ['v']),\n\n // 3ème groupe : verbes en -clure\n suffixInflection('clus', 'clure', ['v'], ['v']),\n suffixInflection('clut', 'clure', ['v'], ['v']),\n suffixInflection('clûmes', 'clure', ['v'], ['v']), // 'clûmes' pour 'nous'\n suffixInflection('clûtes', 'clure', ['v'], ['v']), // 'clûtes' pour 'vous'\n suffixInflection('clurent', 'clure', ['v'], ['v']), // 'clurent' pour 'ils/elles'\n\n // 3ème groupe : verbes en -soudre\n suffixInflection('sous', 'soudre', ['v'], ['v']),\n suffixInflection('sout', 'soudre', ['v'], ['v']),\n suffixInflection('solvons', 'soudre', ['v'], ['v']),\n suffixInflection('solvez', 'soudre', ['v'], ['v']),\n suffixInflection('solvent', 'soudre', ['v'], ['v']),\n\n // 3ème groupe : verbes en -coudre\n suffixInflection('couds', 'coudre', ['v'], ['v']),\n suffixInflection('coud', 'coudre', ['v'], ['v']),\n suffixInflection('cousîmes', 'coudre', ['v'], ['v']), // 'cousîmes' pour 'nous'\n suffixInflection('cousîtes', 'coudre', ['v'], ['v']), // 'cousîtes' pour 'vous'\n suffixInflection('cousirent', 'coudre', ['v'], ['v']), // 'cousirent' pour 'ils/elles'\n\n // 3ème groupe : verbes en -moudre\n suffixInflection('mouds', 'moudre', ['v'], ['v']),\n suffixInflection('moud', 'moudre', ['v'], ['v']),\n suffixInflection('moulîmes', 'moudre', ['v'], ['v']), // 'moulîmes' pour 'nous'\n suffixInflection('moulîtes', 'moudre', ['v'], ['v']), // 'moulîtes' pour 'vous'\n suffixInflection('moulurent', 'moudre', ['v'], ['v']), // 'moulurent' pour 'ils/elles'\n\n // 3ème groupe : verbes en -ivre\n suffixInflection('vis', 'vivre', ['v'], ['v']),\n suffixInflection('vit', 'vivre', ['v'], ['v']),\n suffixInflection('vîmes', 'vivre', ['v'], ['v']),\n suffixInflection('vîtes', 'vivre', ['v'], ['v']),\n suffixInflection('virent', 'vivre', ['v'], ['v']),\n\n // 3ème groupe : verbes en -lire\n suffixInflection('lis', 'lire', ['v'], ['v']),\n suffixInflection('lit', 'lire', ['v'], ['v']),\n suffixInflection('lîmes', 'lire', ['v'], ['v']),\n suffixInflection('lîtes', 'lire', ['v'], ['v']),\n suffixInflection('lurent', 'lire', ['v'], ['v']),\n\n // 3ème groupe : verbes en -dire\n suffixInflection('dis', 'dire', ['v'], ['v']),\n suffixInflection('dit', 'dire', ['v'], ['v']),\n suffixInflection('dîmes', 'dire', ['v'], ['v']),\n suffixInflection('dîtes', 'dire', ['v'], ['v']),\n suffixInflection('dirent', 'dire', ['v'], ['v']),\n\n // 3ème groupe : verbes en rire\n suffixInflection('ris', 'rire', ['v'], ['v']),\n suffixInflection('rit', 'rire', ['v'], ['v']),\n suffixInflection('rîmes', 'rire', ['v'], ['v']),\n suffixInflection('rîtes', 'rire', ['v'], ['v']),\n suffixInflection('rirent', 'rire', ['v'], ['v']),\n\n // 3ème groupe : maudire\n suffixInflection('maudis', 'maudire', ['v'], ['v']),\n suffixInflection('maudit', 'maudire', ['v'], ['v']),\n suffixInflection('maudîmes', 'maudire', ['v'], ['v']),\n suffixInflection('maudîtes', 'maudire', ['v'], ['v']),\n suffixInflection('maudissent', 'maudire', ['v'], ['v']), // même terminaison qu'à l'indicatif\n\n // 3ème groupe : verbes en crire\n suffixInflection('cris', 'crire', ['v'], ['v']),\n suffixInflection('crit', 'crire', ['v'], ['v']),\n suffixInflection('crîmes', 'crire', ['v'], ['v']),\n suffixInflection('crîtes', 'crire', ['v'], ['v']),\n suffixInflection('crirent', 'crire', ['v'], ['v']),\n\n // 3ème groupe : verbes en -fire, -cire, -frire\n suffixInflection('fis', 'fire', ['v'], ['v']),\n suffixInflection('fit', 'fire', ['v'], ['v']),\n suffixInflection('fîmes', 'fire', ['v'], ['v']),\n suffixInflection('fîtes', 'fire', ['v'], ['v']),\n suffixInflection('fîrent', 'fire', ['v'], ['v']),\n\n suffixInflection('cis', 'cire', ['v'], ['v']),\n suffixInflection('cit', 'cire', ['v'], ['v']),\n suffixInflection('cîmes', 'cire', ['v'], ['v']),\n suffixInflection('cîtes', 'cire', ['v'], ['v']),\n suffixInflection('cîrent', 'cire', ['v'], ['v']),\n\n suffixInflection('fris', 'frire', ['v'], ['v']),\n suffixInflection('frit', 'frire', ['v'], ['v']),\n suffixInflection('frîmes', 'frire', ['v'], ['v']),\n suffixInflection('frîtes', 'frire', ['v'], ['v']),\n suffixInflection('frîrent', 'frire', ['v'], ['v']),\n\n // 3ème groupe : verbes en -uire\n suffixInflection('uis', 'uire', ['v'], ['v']),\n suffixInflection('uit', 'uire', ['v'], ['v']),\n suffixInflection('ûmes', 'uire', ['v'], ['v']),\n suffixInflection('ûtes', 'uire', ['v'], ['v']),\n suffixInflection('urent', 'uire', ['v'], ['v']),\n ],\n },\n\n plural: {\n name: 'plural',\n description: 'Plural form of a noun',\n rules: [\n // Cas général : ajouter 's' (noms réguliers)\n suffixInflection('s', '', ['n'], ['n']), // Ajouter un 's' pour les noms réguliers au pluriel\n\n // Noms en -au, -eau, -eu, -ou (ajout de 'x')\n suffixInflection('aux', 'au', ['n'], ['n']),\n suffixInflection('eaux', 'eau', ['n'], ['n']),\n suffixInflection('eux', 'eu', ['n'], ['n']),\n suffixInflection('oux', 'ou', ['n'], ['n']), // Les noms comme 'bijou', 'caillou'\n\n // Noms en -al, -ail (ajout de 'aux' ou 's')\n suffixInflection('aux', 'al', ['n'], ['n']),\n suffixInflection('aux', 'ail', ['n'], ['n']), // Pour 'détail', 'travail', etc.\n ],\n },\n\n 'present participle': {\n name: 'present participle',\n description: 'Present participle form of a verb',\n rules: [\n // 1er groupe : verbes en -er\n suffixInflection('ant', 'er', ['v'], ['v']),\n suffixInflection('geant', 'ger', ['v'], ['v']), // 'manger' → 'mangeant'\n\n // 2ème groupe : verbes en -ir (avec -issant)\n suffixInflection('issant', 'ir', ['v'], ['v']), // 'finir' → 'finissant'\n\n // 3ème groupe : verbes irréguliers en -ir\n suffixInflection('ant', 'ir', ['v'], ['v']), // 'partir' → 'partant'\n\n // 3ème groupe : verbes en -re\n suffixInflection('ant', 're', ['v'], ['v']), // 'prendre' → 'prenant'\n\n // 3ème groupe : verbes en -oir\n suffixInflection('ant', 'oir', ['v'], ['v']), // 'voir' → 'voyant'\n\n // Participes présents des verbes avec irrégularités\n\n // Verbes en -indre\n suffixInflection('ignant', 'indre', ['v'], ['v']),\n\n // Verbes en -soudre\n suffixInflection('solvant', 'soudre', ['v'], ['v']),\n\n // Verbes en -dre\n suffixInflection('ant', 'dre', ['v'], ['v']),\n\n // Verbes en -raire\n suffixInflection('rait', 'raire', ['v'], ['v']),\n\n // Verbes en -oir\n suffixInflection('ant', 'oir', ['v'], ['v']),\n\n // Verbes irréguliers : avoir, être, faire, dire, lire, voir, savoir\n suffixInflection('ayant', 'avoir', ['v'], ['v']),\n suffixInflection('étant', 'être', ['v'], ['v']),\n suffixInflection('faisant', 'faire', ['v'], ['v']),\n suffixInflection('disant', 'dire', ['v'], ['v']),\n suffixInflection('lisant', 'lire', ['v'], ['v']),\n suffixInflection('voyant', 'voir', ['v'], ['v']),\n suffixInflection('sachant', 'savoir', ['v'], ['v']),\n\n // TODO (add some irregular verbs) //\n ],\n },\n 'present subjunctive': {\n name: 'present subjunctive',\n description: 'Present subjunctive form of a verb',\n rules: [\n // 1er Groupe : Verbes en -er\n suffixInflection('e', 'er', ['v'], ['v']),\n suffixInflection('es', 'er', ['v'], ['v']),\n suffixInflection('e', 'er', ['v'], ['v']),\n suffixInflection('ions', 'er', ['v'], ['v']),\n suffixInflection('iez', 'er', ['v'], ['v']),\n suffixInflection('ent', 'er', ['v'], ['v']),\n\n // 2ème Groupe : Verbes en -ir\n suffixInflection('sse', 'ir', ['v'], ['v']),\n suffixInflection('sses', 'ir', ['v'], ['v']),\n suffixInflection('t', 'ir', ['v'], ['v']),\n suffixInflection('ssions', 'ir', ['v'], ['v']),\n suffixInflection('ssiez', 'ir', ['v'], ['v']),\n suffixInflection('ssent', 'ir', ['v'], ['v']),\n\n // 3ème Groupe : Verbes Irréguliers\n\n // Être\n suffixInflection('sois', 'être', ['v'], ['v']),\n suffixInflection('sois', 'être', ['v'], ['v']),\n suffixInflection('soit', 'être', ['v'], ['v']),\n suffixInflection('soyons', 'être', ['v'], ['v']),\n suffixInflection('soyez', 'être', ['v'], ['v']),\n suffixInflection('soient', 'être', ['v'], ['v']),\n\n // Avoir\n suffixInflection('aie', 'avoir', ['v'], ['v']),\n suffixInflection('aies', 'avoir', ['v'], ['v']),\n suffixInflection('ait', 'avoir', ['v'], ['v']),\n suffixInflection('ayons', 'avoir', ['v'], ['v']),\n suffixInflection('ayez', 'avoir', ['v'], ['v']),\n suffixInflection('aient', 'avoir', ['v'], ['v']),\n\n // Faire\n suffixInflection('fasse', 'faire', ['v'], ['v']),\n suffixInflection('fasses', 'faire', ['v'], ['v']),\n suffixInflection('fasse', 'faire', ['v'], ['v']),\n suffixInflection('fassions', 'faire', ['v'], ['v']),\n suffixInflection('fassiez', 'faire', ['v'], ['v']),\n suffixInflection('fassent', 'faire', ['v'], ['v']),\n\n // Aller\n suffixInflection('aille', 'aller', ['v'], ['v']),\n suffixInflection('ailles', 'aller', ['v'], ['v']),\n suffixInflection('aille', 'aller', ['v'], ['v']),\n suffixInflection('allions', 'aller', ['v'], ['v']),\n suffixInflection('alliez', 'aller', ['v'], ['v']),\n suffixInflection('aillent', 'aller', ['v'], ['v']),\n\n // Savoir\n suffixInflection('sache', 'savoir', ['v'], ['v']),\n suffixInflection('saches', 'savoir', ['v'], ['v']),\n suffixInflection('sache', 'savoir', ['v'], ['v']),\n suffixInflection('sachions', 'savoir', ['v'], ['v']),\n suffixInflection('sachiez', 'savoir', ['v'], ['v']),\n suffixInflection('sachent', 'savoir', ['v'], ['v']),\n\n // Pouvoir\n suffixInflection('puisse', 'pouvoir', ['v'], ['v']),\n suffixInflection('puisses', 'pouvoir', ['v'], ['v']),\n suffixInflection('puisse', 'pouvoir', ['v'], ['v']),\n suffixInflection('puissions', 'pouvoir', ['v'], ['v']),\n suffixInflection('puissiez', 'pouvoir', ['v'], ['v']),\n suffixInflection('puissent', 'pouvoir', ['v'], ['v']),\n\n // 3ème Groupe : Verbes en -re, -ir, -indre, -soudre, etc.\n\n // Verbes en -re\n suffixInflection('sse', 're', ['v'], ['v']),\n suffixInflection('sses', 're', ['v'], ['v']),\n suffixInflection('t', 're', ['v'], ['v']),\n suffixInflection('ssions', 're', ['v'], ['v']),\n suffixInflection('ssiez', 're', ['v'], ['v']),\n suffixInflection('ssent', 're', ['v'], ['v']),\n\n // Verbes en -ir (comme *venir*)\n suffixInflection('ienne', 'ir', ['v'], ['v']),\n suffixInflection('iennes', 'ir', ['v'], ['v']),\n suffixInflection('ienne', 'ir', ['v'], ['v']),\n suffixInflection('nions', 'ir', ['v'], ['v']),\n suffixInflection('niez', 'ir', ['v'], ['v']),\n suffixInflection('iennent', 'ir', ['v'], ['v']),\n\n // Verbes en -indre\n suffixInflection('sse', 'indre', ['v'], ['v']),\n suffixInflection('sses', 'indre', ['v'], ['v']),\n suffixInflection('t', 'indre', ['v'], ['v']),\n suffixInflection('nions', 'indre', ['v'], ['v']),\n suffixInflection('niez', 'indre', ['v'], ['v']),\n suffixInflection('ngent', 'indre', ['v'], ['v']),\n\n // Verbes en -oudre (comme *résoudre*)\n suffixInflection('sse', 'oudre', ['v'], ['v']),\n suffixInflection('sses', 'oudre', ['v'], ['v']),\n suffixInflection('t', 'oudre', ['v'], ['v']),\n suffixInflection('dions', 'oudre', ['v'], ['v']),\n suffixInflection('diez', 'oudre', ['v'], ['v']),\n suffixInflection('dent', 'oudre', ['v'], ['v']),\n\n // Verbes en -uire (comme *conduire, cuire*)\n suffixInflection('se', 'uire', ['v'], ['v']),\n suffixInflection('ses', 'uire', ['v'], ['v']),\n suffixInflection('t', 'uire', ['v'], ['v']),\n suffixInflection('sions', 'uire', ['v'], ['v']),\n suffixInflection('siez', 'uire', ['v'], ['v']),\n suffixInflection('sent', 'uire', ['v'], ['v']),\n\n // Verbes en -ir (comme *dormir, partir*)\n suffixInflection('sse', 'ir', ['v'], ['v']),\n suffixInflection('sses', 'ir', ['v'], ['v']),\n suffixInflection('t', 'ir', ['v'], ['v']),\n suffixInflection('ssions', 'ir', ['v'], ['v']),\n suffixInflection('ssiez', 'ir', ['v'], ['v']),\n suffixInflection('ssent', 'ir', ['v'], ['v']),\n\n // TODO (add some irregular verbs) //\n ],\n },\n /* TODO: Add more tenses (someone better versed on grammar should take a look):\n *\n * Currently missing as far as I can tell:\n * Indicatif: Passé composé, Passé antérieur, Plus-que-parfait, Futur antérieur\n * Subjonctif: Passé, Imparfait, Plus-que-parfait\n * Conditionnel: Passé première/deuxième forme\n * Impératif: Passé\n * Participe: Passé\n * Gérondif: Passé, Présent\n *\n * A lot of these are compound tenses (être/avoir + verb) which I don't know if there is a good way to handle\n * There is also a lot of overlap which can be impossible to distinguish.\n * Passé composé is probably the most useful one missing currently but it's compound.\n */\n\n // TODO: Add gender + better plural de-inflection?\n },\n};\n","import type { BidirectionalConversionPreprocessor } from '../../types/language';\n\nexport const apostropheVariants: BidirectionalConversionPreprocessor = {\n name: 'Convert between apostrophe variants',\n description: \"\\u2019 \\u2192 ' and vice versa\",\n options: ['off', 'direct', 'inverse'],\n process: (str, setting) => {\n switch (setting) {\n case 'off':\n return str;\n case 'direct':\n return str.replace(/\\u2019/g, \"'\");\n case 'inverse':\n return str.replace(/'/g, '\\u2019');\n }\n },\n};\n","import type { TextProcessor } from '../../types/language';\nimport { basicTextProcessorOptions } from '../text-processors';\n\nexport function removeDoubleAcuteAccentsImpl(str: string): string {\n return str.replace(/\\u030B/g, '');\n}\n\nexport const removeDoubleAcuteAccents: TextProcessor<boolean> = {\n name: 'Remove double acute accents',\n description: 'Remove double acute accent marks from text',\n options: basicTextProcessorOptions,\n process: (str, setting) => {\n return setting ? removeDoubleAcuteAccentsImpl(str) : str;\n },\n};\n","import type { LanguageTransformDescriptor } from '../../types/language-transformer';\nimport { suffixInflection } from '../language-transforms';\n\nconst conditions = {\n v: {\n name: 'Verb',\n isDictionaryForm: true,\n },\n n: {\n name: 'Noun',\n isDictionaryForm: true,\n },\n adj: {\n name: 'Adjective',\n isDictionaryForm: true,\n },\n};\n\ntype Condition = keyof typeof conditions;\n\nexport const ancientGreekTransforms: LanguageTransformDescriptor<Condition> = {\n language: 'grc',\n conditions,\n transforms: {\n // inflections\n // verbs - active voice\n '2nd person singular present active indicative': {\n name: '2nd person singular present active indicative',\n rules: [suffixInflection('εις', 'ω', [], ['v']), suffixInflection('εις', 'εω', [], ['v'])],\n },\n '3rd person singular present active indicative': {\n name: '3rd person singular present active indicative',\n rules: [suffixInflection('ει', 'ω', [], ['v']), suffixInflection('ει', 'εω', [], ['v'])],\n },\n '1st person plural present active indicative': {\n name: '1st person plural present active indicative',\n rules: [suffixInflection('ομεν', 'ω', [], ['v'])],\n },\n '2nd person plural present active indicative': {\n name: '2nd person plural present active indicative',\n rules: [suffixInflection('ετε', 'ω', [], ['v'])],\n },\n '3rd person plural present active indicative': {\n name: '3rd person plural present active indicative',\n rules: [suffixInflection('ουσι', 'ω', [], ['v']), suffixInflection('ουσιν', 'ω', [], ['v'])],\n },\n // verbs - middle voice\n '2nd person singular present middle indicative': {\n name: '2nd person singular present middle indicative',\n rules: [suffixInflection('ῃ', 'ομαι', [], ['v']), suffixInflection('ει', 'ομαι', [], ['v'])],\n },\n '3rd person singular present middle indicative': {\n name: '3rd person singular present middle indicative',\n rules: [suffixInflection('εται', 'ομαι', [], ['v'])],\n },\n '1st person plural present middle indicative': {\n name: '1st person plural present middle indicative',\n rules: [suffixInflection('ομεθα', 'ομαι', [], ['v'])],\n },\n '2nd person plural present middle indicative': {\n name: '2nd person plural present middle indicative',\n rules: [suffixInflection('εσθε', 'ομαι', [], ['v'])],\n },\n '3rd person plural present middle indicative': {\n name: '3rd person plural present middle indicative',\n rules: [suffixInflection('ονται', 'ομαι', [], ['v'])],\n },\n // nouns\n 'genitive singular': {\n name: 'genitive singular',\n rules: [\n suffixInflection('ου', 'ος', [], ['n']),\n suffixInflection('ας', 'α', [], ['n']),\n suffixInflection('ου', 'ας', [], ['n']),\n suffixInflection('ου', 'ον', [], ['n']),\n suffixInflection('ης', 'η', [], ['n']),\n ],\n },\n 'dative singular': {\n name: 'dative singular',\n rules: [\n suffixInflection('ω', 'ος', [], ['n']),\n suffixInflection('α', 'ας', [], ['n']),\n suffixInflection('ω', 'ον', [], ['n']),\n ],\n },\n 'accusative singular': {\n name: 'accusative singular',\n rules: [\n suffixInflection('ον', 'ος', [], ['n']),\n suffixInflection('αν', 'α', [], ['n']),\n suffixInflection('αν', 'ας', [], ['n']),\n suffixInflection('ην', 'η', [], ['n']),\n ],\n },\n 'vocative singular': {\n name: 'vocative singular',\n rules: [\n suffixInflection('ε', 'ος', [], ['n']),\n suffixInflection('α', 'ας', [], ['n']),\n suffixInflection('η', 'η', [], ['n']),\n ],\n },\n 'nominative plural': {\n name: 'nominative plural',\n rules: [\n suffixInflection('οι', 'ος', [], ['n']),\n suffixInflection('αι', 'α', [], ['n']),\n suffixInflection('αι', 'ας', [], ['n']),\n suffixInflection('α', 'ον', [], ['n']),\n suffixInflection('αι', 'η', [], ['n']),\n ],\n },\n 'genitive plural': {\n name: 'genitive plural',\n rules: [\n suffixInflection('ων', 'ος', [], ['n']),\n suffixInflection('ων', 'α', [], ['n']),\n suffixInflection('ων', 'ας', [], ['n']),\n suffixInflection('ων', 'ον', [], ['n']),\n suffixInflection('ων', 'η', [], ['n']),\n ],\n },\n 'dative plural': {\n name: 'dative plural',\n rules: [\n suffixInflection('οις', 'ος', [], ['n']),\n suffixInflection('αις', 'α', [], ['n']),\n suffixInflection('αις', 'ας', [], ['n']),\n suffixInflection('οις', 'ον', [], ['n']),\n suffixInflection('αις', 'η', [], ['n']),\n ],\n },\n 'accusative plural': {\n name: 'accusative plural',\n rules: [\n suffixInflection('ους', 'ος', [], ['n']),\n suffixInflection('ας', 'α', [], ['n']),\n suffixInflection('α', 'ον', [], ['n']),\n suffixInflection('ας', 'η', [], ['n']),\n ],\n },\n 'vocative plural': {\n name: 'vocative plural',\n rules: [\n suffixInflection('οι', 'ος', [], ['n']),\n suffixInflection('αι', 'α', [], ['n']),\n suffixInflection('αι', 'ας', [], ['n']),\n suffixInflection('α', 'ον', [], ['n']),\n suffixInflection('αι', 'η', [], ['n']),\n ],\n },\n // adjectives\n 'accusative singular masculine': {\n name: 'accusative singular masculine',\n rules: [suffixInflection('ον', 'ος', [], ['adj'])],\n },\n // word formation\n nominalization: {\n name: 'nominalization',\n rules: [suffixInflection('ος', 'εω', [], ['v'])],\n },\n },\n};\n","import type { TextProcessor } from '../../types/language';\nimport { basicTextProcessorOptions, removeAlphabeticDiacritics } from '../text-processors';\n\nexport const convertLatinToGreek: TextProcessor<boolean> = {\n name: 'Convert latin characters to greek',\n description: 'a \\u2192 \\u03b1, A \\u2192 \\u0391, b \\u2192 \\u03b2, B \\u2192 \\u0392, etc.',\n options: basicTextProcessorOptions,\n process: (str, setting) => {\n return setting ? latinToGreek(str) : str;\n },\n};\n\nexport function latinToGreek(latin: string): string {\n latin = removeAlphabeticDiacritics.process(latin, true);\n\n const singleMap: Record<string, string> = {\n a: '\\u03b1',\n b: '\\u03b2',\n g: '\\u03b3',\n d: '\\u03b4',\n e: '\\u03b5',\n z: '\\u03b6',\n '\\u0113': '\\u03b7',\n i: '\\u03b9',\n k: '\\u03ba',\n l: '\\u03bb',\n m: '\\u03bc',\n n: '\\u03bd',\n x: '\\u03be',\n o: '\\u03bf',\n p: '\\u03c0',\n r: '\\u03c1',\n s: '\\u03c3',\n t: '\\u03c4',\n u: '\\u03c5',\n '\\u014d': '\\u03c9',\n A: '\\u0391',\n B: '\\u0392',\n G: '\\u0393',\n D: '\\u0394',\n E: '\\u0395',\n Z: '\\u0396',\n '\\u0112': '\\u0397',\n I: '\\u0399',\n K: '\\u039a',\n L: '\\u039b',\n M: '\\u039c',\n N: '\\u039d',\n X: '\\u039e',\n O: '\\u039f',\n P: '\\u03a0',\n R: '\\u03a1',\n S: '\\u03a3',\n T: '\\u03a4',\n U: '\\u03a5',\n '\\u014c': '\\u03a9',\n };\n\n const doubleMap: Record<string, string> = {\n th: '\\u03b8',\n ph: '\\u03c6',\n ch: '\\u03c7',\n ps: '\\u03c8',\n Th: '\\u0398',\n Ph: '\\u03a6',\n Ch: '\\u03a7',\n Ps: '\\u03a8',\n };\n\n let result = latin;\n\n for (const [double, greek] of Object.entries(doubleMap)) {\n result = result.replace(new RegExp(double, 'g'), greek);\n }\n\n for (const [single, greek] of Object.entries(singleMap)) {\n result = result.replace(new RegExp(single, 'g'), greek);\n }\n\n // Handle final sigma\n result = result.replace(/\\u03c3$/, '\\u03c2');\n\n return result;\n}\n","import type { LanguageTransformDescriptor } from '../../types/language-transformer';\nimport { prefixInflection } from '../language-transforms';\n\nconst eclipsisPrefixInflections = [\n prefixInflection('mb', 'b', ['n'], ['n']), // 'mbean'\n prefixInflection('gc', 'c', ['n'], ['n']), // 'gclann'\n prefixInflection('nd', 'd', ['n'], ['n']), // 'ndul'\n prefixInflection('bhf', 'f', ['n'], ['n']), // bhfear\n prefixInflection('ng', 'g', ['n'], ['n']), // nGaeilge\n prefixInflection('bp', 'p', ['n'], ['n']), // bpáiste\n prefixInflection('dt', 't', ['n'], ['n']), // dtriail\n];\n\nconst conditions = {\n v: {\n name: 'Verb',\n isDictionaryForm: true,\n subConditions: ['v_phr'],\n },\n v_phr: {\n name: 'Phrasal verb',\n isDictionaryForm: true,\n },\n n: {\n name: 'Noun',\n isDictionaryForm: true,\n subConditions: ['np', 'ns'],\n },\n np: {\n name: 'Noun plural',\n isDictionaryForm: true,\n },\n ns: {\n name: 'Noun singular',\n isDictionaryForm: true,\n },\n adj: {\n name: 'Adjective',\n isDictionaryForm: true,\n },\n adv: {\n name: 'Adverb',\n isDictionaryForm: true,\n },\n};\n\ntype Condition = keyof typeof conditions;\n\nexport const irishTransforms: LanguageTransformDescriptor<Condition> = {\n language: 'ga',\n conditions,\n transforms: {\n eclipsis: {\n name: 'eclipsis',\n description: 'eclipsis form of a noun',\n rules: [...eclipsisPrefixInflections],\n },\n },\n};\n","import type { LanguageTransformDescriptor } from '../../types/language-transformer';\nimport { suffixInflection } from '../language-transforms';\n\nconst conditions = {\n v: {\n name: 'Verb',\n isDictionaryForm: true,\n },\n n: {\n name: 'Noun',\n isDictionaryForm: true,\n subConditions: ['np', 'ns'],\n },\n np: {\n name: 'Noun plural',\n isDictionaryForm: true,\n },\n ns: {\n name: 'Noun singular',\n isDictionaryForm: true,\n },\n adj: {\n name: 'Adjective',\n isDictionaryForm: true,\n },\n adv: {\n name: 'Adverb',\n isDictionaryForm: true,\n },\n};\n\ntype Condition = keyof typeof conditions;\n\nconst suffixes = [\n 'ები',\n 'ებს',\n 'ებების', // plural suffixes\n 'მა', // ergative\n 'ს', // dative\n 'ის', // genitive\n 'ით', // instrumental\n 'ად', // adverbial\n 'ო', // vocative\n 'ში',\n 'ზე',\n 'შია',\n 'ზეა',\n];\n\nconst nounAdjConditions: Condition[] = ['n', 'adj'];\n\n// Stem completion (for consonant endings)\nconst stemCompletionRules = [\n suffixInflection('გნ', 'გნი', nounAdjConditions, nounAdjConditions),\n suffixInflection('ნ', 'ნი', nounAdjConditions, nounAdjConditions),\n];\n\n// Vowel restoration example (optional, extend as needed)\nconst vowelRestorationRules = [suffixInflection('გ', 'გა', nounAdjConditions, nounAdjConditions)];\n\nexport const georgianTransforms: LanguageTransformDescriptor<Condition> = {\n language: 'kat',\n conditions,\n transforms: {\n nounAdjSuffixStripping: {\n name: 'noun-adj-suffix-stripping',\n description: 'Strip Georgian noun and adjective declension suffixes',\n rules: suffixes.map((suffix) => suffixInflection(suffix, '', nounAdjConditions, nounAdjConditions)),\n },\n nounAdjStemCompletion: {\n name: 'noun-adj-stem-completion',\n description: 'Restore nominative suffix -ი for consonant-ending noun/adjective stems',\n rules: stemCompletionRules,\n },\n vowelRestoration: {\n name: 'vowel-restoration',\n description: 'Restore truncated vowels if applicable',\n rules: vowelRestorationRules,\n },\n },\n};\n","import type { LanguageTransformDescriptor } from '../../types/language-transformer';\nimport { suffixInflection } from '../language-transforms';\n\n// TODO: -ne suffix (estne, nonne)?\n\nconst conditions = {\n v: {\n name: 'Verb',\n isDictionaryForm: true,\n },\n n: {\n name: 'Noun',\n isDictionaryForm: true,\n subConditions: ['ns', 'np'],\n },\n ns: {\n name: 'Noun, singular',\n isDictionaryForm: true,\n subConditions: ['n1s', 'n2s', 'n3s', 'n4s', 'n5s'],\n },\n np: {\n name: 'Noun, plural',\n isDictionaryForm: true,\n subConditions: ['n1p', 'n2p', 'n3p', 'n4p', 'n5p'],\n },\n n1: {\n name: 'Noun, 1st declension',\n isDictionaryForm: true,\n subConditions: ['n1s', 'n1p'],\n },\n n1p: {\n name: 'Noun, 1st declension, plural',\n isDictionaryForm: true,\n },\n n1s: {\n name: 'Noun, 1st declension, singular',\n isDictionaryForm: true,\n },\n n2: {\n name: 'Noun, 2nd declension',\n isDictionaryForm: true,\n subConditions: ['n2s', 'n2p'],\n },\n n2p: {\n name: 'Noun, 2nd declension, plural',\n isDictionaryForm: true,\n },\n n2s: {\n name: 'Noun, 2nd declension, singular',\n isDictionaryForm: true,\n },\n n3: {\n name: 'Noun, 3rd declension',\n isDictionaryForm: true,\n subConditions: ['n3s', 'n3p'],\n },\n n3p: {\n name: 'Noun, 3rd declension, plural',\n isDictionaryForm: true,\n },\n n3s: {\n name: 'Noun, 3rd declension, singular',\n isDictionaryForm: true,\n },\n n4: {\n name: 'Noun, 4th declension',\n isDictionaryForm: true,\n subConditions: ['n4s', 'n4p'],\n },\n n4p: {\n name: 'Noun, 4th declension, plural',\n isDictionaryForm: true,\n },\n n4s: {\n name: 'Noun, 4th declension, singular',\n isDictionaryForm: true,\n },\n n5: {\n name: 'Noun, 5th declension',\n isDictionaryForm: true,\n subConditions: ['n5s', 'n5p'],\n },\n n5p: {\n name: 'Noun, 5th declension, plural',\n isDictionaryForm: true,\n },\n n5s: {\n name: 'Noun, 5th declension, singular',\n isDictionaryForm: true,\n },\n adj: {\n name: 'Adjective',\n isDictionaryForm: true,\n subConditions: ['adj3', 'adj12'],\n },\n adj12: {\n name: 'Adjective, 1st-2nd declension',\n isDictionaryForm: true,\n },\n adj3: {\n name: 'Adjective, 3rd declension',\n isDictionaryForm: true,\n },\n adv: {\n name: 'Adverb',\n isDictionaryForm: true,\n },\n};\n\ntype Condition = keyof typeof conditions;\n\nexport const latinTransforms: LanguageTransformDescriptor<Condition> = {\n language: 'la',\n conditions,\n transforms: {\n plural: {\n name: 'plural',\n description: 'Plural declension',\n rules: [\n suffixInflection('i', 'us', ['n2p'], ['n2s']),\n suffixInflection('i', 'us', ['adj12'], ['adj12']),\n suffixInflection('e', '', ['n1p'], ['n1s']),\n suffixInflection('ae', 'a', ['adj12'], ['adj12']),\n suffixInflection('a', 'um', ['adj12'], ['adj12']),\n ],\n },\n feminine: {\n name: 'feminine',\n description: 'Adjective form',\n rules: [suffixInflection('a', 'us', ['adj12'], ['adj12'])],\n },\n neuter: {\n name: 'neuter',\n description: 'Adjective form',\n rules: [suffixInflection('um', 'us', ['adj12'], ['adj12'])],\n },\n ablative: {\n name: 'ablative',\n description: 'Ablative case',\n rules: [suffixInflection('o', 'um', ['n2s'], ['n2s'])],\n },\n },\n};\n","import type { BidirectionalConversionPreprocessor } from '../../types/language';\n\nexport const processDiphtongs: BidirectionalConversionPreprocessor = {\n name: 'Convert diphthongs',\n description: '\\u00e6 \\u2192 ae, \\u0153 \\u2192 oe and vice versa',\n options: ['off', 'direct', 'inverse'],\n process: (str, setting) => {\n switch (setting) {\n case 'off':\n return str;\n case 'direct':\n return str\n .replace(/\\u00e6/g, 'ae')\n .replace(/\\u0153/g, 'oe')\n .replace(/\\u00c6/g, 'Ae')\n .replace(/\\u0152/g, 'Oe');\n case 'inverse':\n return str\n .replace(/ae/g, '\\u00e6')\n .replace(/oe/g, '\\u0153')\n .replace(/Ae/g, '\\u00c6')\n .replace(/Oe/g, '\\u0152');\n }\n },\n};\n","import type { TextProcessor } from '../../types/language';\nimport { basicTextProcessorOptions } from '../text-processors';\n\nconst diacriticsRegex = /[\\u0300\\u0301\\u0302\\u0303\\u0304\\u0306\\u0308\\u030B]/g;\n\nexport const removeRussianDiacritics: TextProcessor<boolean> = {\n name: 'Remove diacritics',\n description: 'Remove Russian diacritics (accents)',\n options: basicTextProcessorOptions,\n process: (str, setting) => {\n return setting ? str.normalize('NFD').replace(diacriticsRegex, '').normalize('NFC') : str;\n },\n};\n\nexport const yoToE: TextProcessor<boolean> = {\n name: 'Convert \\u0451 to \\u0435',\n description: '\\u0451 \\u2192 \\u0435',\n options: basicTextProcessorOptions,\n process: (str, setting) => {\n return setting ? str.replace(/\\u0451/g, '\\u0435').replace(/\\u0401/g, '\\u0415') : str;\n },\n};\n","import type { LanguageTransformDescriptor, Rule } from '../../types/language-transformer';\nimport { prefixInflection, suffixInflection } from '../language-transforms';\n\nconst conditions = {};\n\ntype Condition = keyof typeof conditions;\n\nfunction tryAlternateOrthography(\n notBeginning: boolean,\n originalOrthography: string,\n alternateOrthography: string,\n conditionsIn: Condition[],\n conditionsOut: Condition[],\n): Rule<Condition> {\n const orthographyRegExp = notBeginning\n ? new RegExp(`(?<!^)${originalOrthography}`, 'g')\n : new RegExp(originalOrthography, 'g');\n return {\n type: 'other',\n isInflected: orthographyRegExp,\n deinflect: (text: string) => text.replace(orthographyRegExp, alternateOrthography),\n conditionsIn,\n conditionsOut,\n };\n}\n\nexport const oldIrishTransforms: LanguageTransformDescriptor<Condition> = {\n language: 'sga',\n conditions,\n transforms: {\n 'nd for nn': {\n name: 'nd for nn',\n description: 'nd for nn',\n rules: [suffixInflection('nd', 'nn', [], [])],\n },\n 'cg for c': {\n name: 'cg for c',\n description: 'cg for c',\n rules: [tryAlternateOrthography(false, 'cg', 'c', [], [])],\n },\n 'td for t': {\n name: 'td for t',\n description: 'td for t',\n rules: [tryAlternateOrthography(false, 'td', 't', [], [])],\n },\n 'pb for p': {\n name: 'pb for p',\n description: 'pb for p',\n rules: [tryAlternateOrthography(false, 'pb', 'p', [], [])],\n },\n 'ǽ/æ for é': {\n name: 'ǽ/æ for é',\n description: 'ǽ/æ for é',\n rules: [tryAlternateOrthography(false, 'ǽ', 'é', [], []), tryAlternateOrthography(false, 'æ', 'é', [], [])],\n },\n 'doubled vowel': {\n name: 'doubled vowel',\n description: 'Doubled Vowel',\n rules: [\n tryAlternateOrthography(true, 'aa', 'á', [], []),\n tryAlternateOrthography(true, 'ee', 'é', [], []),\n tryAlternateOrthography(true, 'ii', 'í', [], []),\n tryAlternateOrthography(true, 'oo', 'ó', [], []),\n tryAlternateOrthography(true, 'uu', 'ú', [], []),\n ],\n },\n 'doubled consonant': {\n name: 'doubled consonant',\n description: 'Doubled Consonant',\n rules: [\n tryAlternateOrthography(true, 'cc', 'c', [], []),\n tryAlternateOrthography(true, 'pp', 'p', [], []),\n tryAlternateOrthography(true, 'tt', 't', [], []),\n tryAlternateOrthography(true, 'gg', 'g', [], []),\n tryAlternateOrthography(true, 'bb', 'b', [], []),\n tryAlternateOrthography(true, 'dd', 'd', [], []),\n tryAlternateOrthography(true, 'rr', 'r', [], []),\n tryAlternateOrthography(true, 'll', 'l', [], []),\n tryAlternateOrthography(true, 'nn', 'n', [], []),\n tryAlternateOrthography(true, 'mm', 'm', [], []),\n tryAlternateOrthography(true, 'ss', 's', [], []),\n ],\n },\n lenited: {\n name: 'lenited',\n description: 'Non-Beginning Lenition',\n rules: [\n tryAlternateOrthography(true, 'ch', 'c', [], []),\n tryAlternateOrthography(true, 'ph', 'p', [], []),\n tryAlternateOrthography(true, 'th', 't', [], []),\n ],\n },\n 'lenited (Middle Irish)': {\n name: 'lenited (Middle Irish)',\n description: 'Non-Beginning Lenition (Middle Irish)',\n rules: [\n tryAlternateOrthography(true, 'gh', 'g', [], []),\n tryAlternateOrthography(true, 'bh', 'b', [], []),\n tryAlternateOrthography(true, 'dh', 'd', [], []),\n ],\n },\n '[IM] nasalized': {\n name: '[IM] nasalized',\n description: 'Nasalized Word',\n rules: [\n prefixInflection('ng', 'g', [], []),\n prefixInflection('mb', 'b', [], []),\n prefixInflection('nd', 'd', [], []),\n prefixInflection('n-', '', [], []),\n prefixInflection('m-', '', [], []),\n ],\n },\n '[IM] nasalized (Middle Irish)': {\n name: '[IM] nasalized (Middle Irish)',\n description: 'Nasalized Word (Middle Irish)',\n rules: [\n prefixInflection('gc', 'c', [], []),\n prefixInflection('bp', 'p', [], []),\n prefixInflection('dt', 'd', [], []),\n ],\n },\n '[IM] lenited': {\n name: '[IM] lenited',\n description: 'Lenited Word',\n rules: [\n prefixInflection('ch', 'c', [], []),\n prefixInflection('ph', 'p', [], []),\n prefixInflection('th', 't', [], []),\n ],\n },\n '[IM] lenited (Middle Irish)': {\n name: '[IM] lenited (Middle Irish)',\n description: 'Lenited Word (Middle Irish)',\n rules: [\n prefixInflection('gh', 'g', [], []),\n prefixInflection('bh', 'b', [], []),\n prefixInflection('dh', 'd', [], []),\n ],\n },\n '[IM] aspirated': {\n name: '[IM] aspirated',\n description: 'Aspirated Word',\n rules: [\n prefixInflection('ha', 'a', [], []),\n prefixInflection('he', 'e', [], []),\n prefixInflection('hi', 'i', [], []),\n prefixInflection('ho', 'o', [], []),\n prefixInflection('hu', 'u', [], []),\n prefixInflection('h-', '', [], []),\n ],\n },\n '[IM] geminated': {\n name: '[IM] geminated',\n description: 'Geminated Word',\n rules: [\n prefixInflection('cc', 'c', [], []),\n prefixInflection('pp', 'p', [], []),\n prefixInflection('tt', 't', [], []),\n prefixInflection('gg', 'g', [], []),\n prefixInflection('bb', 'b', [], []),\n prefixInflection('dd', 'd', [], []),\n prefixInflection('rr', 'r', [], []),\n prefixInflection('ll', 'l', [], []),\n prefixInflection('nn', 'n', [], []),\n prefixInflection('mm', 'm', [], []),\n prefixInflection('ss', 's', [], []),\n prefixInflection('c-c', 'c', [], []),\n prefixInflection('p-p', 'p', [], []),\n prefixInflection('t-t', 't', [], []),\n prefixInflection('g-g', 'g', [], []),\n prefixInflection('b-b', 'b', [], []),\n prefixInflection('d-d', 'd', [], []),\n prefixInflection('r-r', 'r', [], []),\n prefixInflection('l-l', 'l', [], []),\n prefixInflection('n-n', 'n', [], []),\n prefixInflection('m-m', 'm', [], []),\n prefixInflection('s-s', 's', [], []),\n ],\n },\n },\n};\n","import type { TextProcessor } from '../../types/language';\nimport { basicTextProcessorOptions } from '../text-processors';\n\nconst accentRegex = /[\\u0300\\u0301\\u0302\\u030F\\u0311]/g;\n\nexport const removeSerboCroatianAccentMarks: TextProcessor<boolean> = {\n name: 'Remove accent marks',\n description: 'Remove Serbo-Croatian accent marks',\n options: basicTextProcessorOptions,\n process: (str, setting) => {\n return setting ? str.normalize('NFD').replace(accentRegex, '').normalize('NFC') : str;\n },\n};\n","import type { LanguageTransformDescriptor, Rule } from '../../types/language-transformer';\nimport { suffixInflection } from '../language-transforms';\n\nconst conditions = {\n v: {\n name: 'Verb',\n isDictionaryForm: true,\n },\n n: {\n name: 'Noun',\n isDictionaryForm: true,\n subConditions: ['np', 'ns'],\n },\n np: {\n name: 'Noun plural',\n isDictionaryForm: true,\n },\n ns: {\n name: 'Noun singular',\n isDictionaryForm: true,\n },\n adj: {\n name: 'Adjective',\n isDictionaryForm: true,\n },\n adv: {\n name: 'Adverb',\n isDictionaryForm: true,\n },\n};\n\ntype Condition = keyof typeof conditions;\n\nfunction conjugationIISuffixInflection(\n inflectedSuffix: string,\n deinflectedSuffix: string,\n conditionsIn: Condition[],\n conditionsOut: Condition[],\n): Rule<Condition> {\n return {\n ...suffixInflection(inflectedSuffix, deinflectedSuffix, conditionsIn, conditionsOut),\n type: 'other' as const,\n isInflected: new RegExp(`.*[^j]${inflectedSuffix}$`),\n };\n}\n\nexport const albanianTransforms: LanguageTransformDescriptor<Condition> = {\n language: 'sq',\n conditions,\n transforms: {\n // Nouns\n definite: {\n name: 'definite',\n description: 'Definite form of a noun',\n rules: [\n // Masculine\n suffixInflection('ku', 'k', [], ['n']),\n suffixInflection('gu', 'g', [], ['n']),\n suffixInflection('hu', 'h', [], ['n']),\n suffixInflection('au', 'a', [], ['n']),\n suffixInflection('iu', 'i', [], ['n']),\n suffixInflection('eu', 'e', [], ['n']),\n suffixInflection('i', 'ë', [], ['n']),\n suffixInflection('i', '', [], ['n']),\n suffixInflection('ri', '', [], ['n']),\n suffixInflection('oi', 'ua', [], ['n']),\n // Feminine\n suffixInflection('a', 'ë', [], ['n']),\n suffixInflection('a', '', [], ['n']),\n suffixInflection('ja', 'e', [], ['n']),\n ],\n },\n 'singular definite accusative': {\n name: 'singular definite accusative',\n description: 'Singular definite accusative form of a noun',\n rules: [suffixInflection('n', '', [], ['n'])],\n },\n plural: {\n name: 'plural',\n description: 'Plural form of a noun',\n rules: [suffixInflection('e', '', ['np'], ['ns']), suffixInflection('t', '', ['np'], ['ns'])],\n },\n // Verbs\n 'present indicative second-person singular': {\n name: 'present indicative second-person singular',\n description: 'Present indicative second-person singular form of a verb',\n rules: [\n suffixInflection('on', 'oj', [], ['v']),\n suffixInflection('uan', 'uaj', [], ['v']),\n suffixInflection('n', 'j', [], ['v']),\n suffixInflection('hesh', 'hem', [], ['v']),\n ],\n },\n 'present indicative third-person singular': {\n name: 'present indicative third-person singular',\n description: 'Present indicative third-person singular form of a verb',\n rules: [\n suffixInflection('on', 'oj', [], ['v']),\n suffixInflection('uan', 'uaj', [], ['v']),\n suffixInflection('n', 'j', [], ['v']),\n suffixInflection('het', 'hem', [], ['v']),\n ],\n },\n 'present indicative first-person plural': {\n name: 'present indicative first-person plural',\n description: 'Present indicative first-person plural form of a verb',\n rules: [\n suffixInflection('më', '', [], ['v']),\n suffixInflection('im', '', [], ['v']),\n suffixInflection('hemi', 'hem', [], ['v']),\n ],\n },\n 'present indicative second-person plural': {\n name: 'present indicative second-person plural',\n description: 'Present indicative second-person plural form of a verb',\n rules: [\n suffixInflection('ni', 'j', [], ['v']),\n suffixInflection('ni', '', [], ['v']),\n suffixInflection('heni', 'hem', [], ['v']),\n ],\n },\n 'present indicative third-person plural': {\n name: 'present indicative third-person plural',\n description: 'Present indicative third-person plural form of a verb',\n rules: [\n suffixInflection('në', '', [], ['v']),\n suffixInflection('in', '', [], ['v']),\n suffixInflection('hen', 'hem', [], ['v']),\n ],\n },\n 'imperfect first-person singular indicative': {\n name: 'imperfect first-person singular indicative',\n description: 'Imperfect first-person singular indicative form of a verb',\n rules: [\n suffixInflection('ja', 'j', [], ['v']),\n suffixInflection('ja', '', [], ['v']),\n suffixInflection('hesha', 'hem', [], ['v']),\n ],\n },\n 'imperfect second-person singular indicative': {\n name: 'imperfect second-person singular indicative',\n description: 'Imperfect second-person singular indicative form of a verb',\n rules: [\n suffixInflection('je', 'j', [], ['v']),\n suffixInflection('je', '', [], ['v']),\n suffixInflection('heshe', 'hem', [], ['v']),\n ],\n },\n 'imperfect third-person singular indicative': {\n name: 'imperfect third-person singular indicative',\n description: 'Imperfect third-person singular indicative form of a verb',\n rules: [\n suffixInflection('nte', 'j', [], ['v']),\n suffixInflection('te', '', [], ['v']),\n suffixInflection('hej', 'hem', [], ['v']),\n ],\n },\n 'imperfect first-person plural indicative': {\n name: 'imperfect first-person plural indicative',\n description: 'Imperfect first-person plural indicative form of a verb',\n rules: [\n suffixInflection('nim', 'j', [], ['v']),\n suffixInflection('nim', '', [], ['v']),\n suffixInflection('heshim', 'hem', [], ['v']),\n ],\n },\n 'imperfect second-person plural indicative': {\n name: 'imperfect second-person plural indicative',\n description: 'Imperfect second-person plural indicative form of a verb',\n rules: [\n suffixInflection('nit', 'j', [], ['v']),\n suffixInflection('nit', '', [], ['v']),\n suffixInflection('heshit', 'hem', [], ['v']),\n ],\n },\n 'imperfect third-person plural indicative': {\n name: 'imperfect third-person plural indicative',\n description: 'Imperfect third-person plural indicative form of a verb',\n rules: [\n suffixInflection('nin', 'j', [], ['v']),\n suffixInflection('nin', '', [], ['v']),\n suffixInflection('heshin', 'hem', [], ['v']),\n ],\n },\n 'aorist first-person singular indicative': {\n name: 'aorist first-person singular indicative',\n description: 'Aorist first-person singular indicative form of a verb',\n rules: [\n suffixInflection('ova', 'uaj', [], ['v']),\n suffixInflection('va', 'j', [], ['v']),\n conjugationIISuffixInflection('a', '', [], ['v']),\n ],\n },\n 'aorist second-person singular indicative': {\n name: 'aorist second-person singular indicative',\n description: 'Aorist second-person singular indicative form of a verb',\n rules: [\n suffixInflection('ove', 'uaj', [], ['v']),\n suffixInflection('ve', 'j', [], ['v']),\n conjugationIISuffixInflection('e', '', [], ['v']),\n ],\n },\n 'aorist third-person singular indicative': {\n name: 'aorist third-person singular indicative',\n description: 'Aorist third-person singular indicative form of a verb',\n rules: [\n suffixInflection('oi', 'oj', [], ['v']),\n suffixInflection('oi', 'uaj', [], ['v']),\n suffixInflection('u', 'j', [], ['v']),\n conjugationIISuffixInflection('i', '', [], ['v']),\n suffixInflection('ye', 'ej', [], ['v']),\n ],\n },\n 'aorist first-person plural indicative': {\n name: 'aorist first-person plural indicative',\n description: 'Aorist first-person plural indicative form of a verb',\n rules: [\n suffixInflection('uam', 'oj', [], ['v']),\n suffixInflection('uam', 'uaj', [], ['v']),\n suffixInflection('më', 'j', [], ['v']),\n conjugationIISuffixInflection('ëm', '', [], ['v']),\n ],\n },\n 'aorist second-person plural indicative': {\n name: 'aorist second-person plural indicative',\n description: 'Aorist second-person plural indicative form of a verb',\n rules: [\n suffixInflection('uat', 'oj', [], ['v']),\n suffixInflection('uat', 'uaj', [], ['v']),\n suffixInflection('të', 'j', [], ['v']),\n conjugationIISuffixInflection('ët', '', [], ['v']),\n ],\n },\n 'aorist third-person plural indicative': {\n name: 'aorist third-person plural indicative',\n description: 'Aorist third-person plural indicative form of a verb',\n rules: [\n suffixInflection('uan', 'oj', [], ['v']),\n suffixInflection('uan', 'uaj', [], ['v']),\n suffixInflection('në', 'j', [], ['v']),\n conjugationIISuffixInflection('ën', '', [], ['v']),\n ],\n },\n 'imperative second-person singular present': {\n name: 'imperative second-person singular present',\n description: 'Imperative second-person singular present form of a verb',\n rules: [suffixInflection('o', 'oj', [], ['v']), suffixInflection('hu', 'hem', [], ['v'])],\n },\n 'imperative second-person plural present': {\n name: 'imperative second-person plural present',\n description: 'Imperative second-person plural present form of a verb',\n rules: [\n suffixInflection('ni', 'j', [], ['v']),\n suffixInflection('ni', '', [], ['v']),\n suffixInflection('huni', 'hem', [], ['v']),\n ],\n },\n participle: {\n name: 'participle',\n description: 'Participle form of a verb',\n rules: [\n suffixInflection('uar', 'oj', [], ['v']),\n suffixInflection('ur', '', [], ['v']),\n suffixInflection('rë', 'j', [], ['v']),\n suffixInflection('yer', 'ej', [], ['v']),\n ],\n },\n mediopassive: {\n name: 'mediopassive',\n description: 'Mediopassive form of a verb',\n rules: [suffixInflection('hem', 'h', ['v'], ['v']), suffixInflection('hem', 'j', ['v'], ['v'])],\n },\n 'optative first-person singular present': {\n name: 'optative first-person singular present',\n description: 'Optative first-person singular present form of a verb',\n rules: [suffixInflection('fsha', 'j', [], ['v'])],\n },\n 'optative second-person singular present': {\n name: 'optative second-person singular present',\n description: 'Optative second-person singular present form of a verb',\n rules: [suffixInflection('fsh', 'j', [], ['v'])],\n },\n 'optative third-person singular present': {\n name: 'optative third-person singular present',\n description: 'Optative third-person singular present form of a verb',\n rules: [suffixInflection('ftë', 'j', [], ['v'])],\n },\n 'optative first-person plural present': {\n name: 'optative first-person plural present',\n description: 'Optative first-person plural present form of a verb',\n rules: [suffixInflection('fshim', 'j', [], ['v'])],\n },\n 'optative second-person plural present': {\n name: 'optative second-person plural present',\n description: 'Optative second-person plural present form of a verb',\n rules: [suffixInflection('fshi', 'j', [], ['v'])],\n },\n 'optative third-person plural present': {\n name: 'optative third-person plural present',\n description: 'Optative third-person plural present form of a verb',\n rules: [suffixInflection('fshin', 'j', [], ['v'])],\n },\n nominalization: {\n name: 'nominalization',\n description: 'Noun form of a verb',\n rules: [\n suffixInflection('im', 'oj', [], ['v']),\n suffixInflection('im', 'ej', [], ['v']),\n suffixInflection('je', '', [], ['v']),\n ],\n },\n },\n};\n","import type { LanguageTransformDescriptor, Rule } from '../../types/language-transformer';\nimport { prefixInflection, suffixInflection, wholeWordInflection } from '../language-transforms';\n\nconst CONSONANTS = 'bcdfghjklmnpqrstvwxyzBCDFGHJKLMNPQRSTVWXYZ';\nconst VOWELS = 'aeiou';\n\nconst conditions = {\n n: {\n name: 'Noun',\n isDictionaryForm: true,\n subConditions: ['num'],\n },\n adj: {\n name: 'Adjective',\n isDictionaryForm: true,\n },\n num: {\n name: 'Numeral',\n isDictionaryForm: true,\n },\n};\n\ntype Condition = keyof typeof conditions;\n\nexport function hyphenatedInflection(conditionsIn: Condition[], conditionsOut: Condition[]): Rule<Condition> {\n const regex = /-/;\n return {\n type: 'prefix',\n isInflected: regex,\n deinflect: (text) => text.replace(regex, ''),\n conditionsIn,\n conditionsOut,\n };\n}\n\nexport function suffixInflectionWithOtoUSoundChange(\n inflectedSuffix: string,\n deinflectedSuffix: string,\n conditionsIn: Condition[],\n conditionsOut: Condition[],\n): Rule<Condition> {\n const regex = new RegExp(`u([${CONSONANTS}]+)${inflectedSuffix}$`);\n return {\n type: 'prefix',\n isInflected: regex,\n deinflect: (text) => text.replace(regex, `o$1${deinflectedSuffix}`),\n conditionsIn,\n conditionsOut,\n };\n}\n\nexport function prefixInflectionWithRep1(\n inflectedPrefix: string,\n deinflectedPrefix: string,\n conditionsIn: Condition[],\n conditionsOut: Condition[],\n consonants = CONSONANTS,\n): Rule<Condition> {\n const regex = new RegExp(`^(${inflectedPrefix})([${consonants}]*[${VOWELS}])(\\\\2)`);\n return {\n type: 'prefix',\n isInflected: regex,\n deinflect: (text) => text.replace(regex, `${deinflectedPrefix}$2`),\n conditionsIn,\n conditionsOut,\n };\n}\n\nexport function sandwichInflection(\n inflectedPrefix: string,\n deinflectedPrefix: string,\n inflectedSuffix: string,\n deinflectedSuffix: string,\n conditionsIn: Condition[],\n conditionsOut: Condition[],\n): Rule<Condition> {\n const regex = new RegExp(`^${inflectedPrefix}\\\\w+${inflectedSuffix}$`);\n return {\n type: 'other',\n isInflected: regex,\n deinflect: (text) =>\n deinflectedPrefix + text.slice(inflectedPrefix.length, -inflectedSuffix.length) + deinflectedSuffix,\n conditionsIn,\n conditionsOut,\n };\n}\n\nexport function sandwichInflectionWithOtoUSoundChange(\n inflectedPrefix: string,\n deinflectedPrefix: string,\n inflectedSuffix: string,\n deinflectedSuffix: string,\n conditionsIn: Condition[],\n conditionsOut: Condition[],\n): Rule<Condition> {\n const regex = new RegExp(`^${inflectedPrefix}(\\\\w+)u([${CONSONANTS}]+)${inflectedSuffix}$`);\n return {\n type: 'prefix',\n isInflected: regex,\n deinflect: (text) => text.replace(regex, `${deinflectedPrefix}$1o$2${deinflectedSuffix}`),\n conditionsIn,\n conditionsOut,\n };\n}\n\nexport const tagalogTransforms: LanguageTransformDescriptor<Condition> = {\n language: 'tl',\n conditions,\n transforms: {\n hyphenated: {\n name: 'hyphenated',\n description: 'hyphenated form of words',\n rules: [hyphenatedInflection([], [])],\n },\n '-an': {\n name: '-an',\n rules: [\n suffixInflection('an', '', [], ['n']),\n suffixInflection('ran', 'd', [], ['n']),\n suffixInflectionWithOtoUSoundChange('an', '', [], ['n']),\n suffixInflectionWithOtoUSoundChange('ran', 'd', [], ['n']),\n ...[...'aeiou'].map((v) => suffixInflection(`${v}han`, `${v}`, [], ['n'])),\n ...[...'aeiou'].map((v) => suffixInflection(`${v}nan`, `${v}`, [], ['n'])),\n suffixInflection('uhan', 'o', [], ['n']),\n suffixInflection('unan', 'o', [], ['n']),\n ],\n },\n '-in': {\n name: '-in',\n rules: [\n suffixInflection('in', '', [], ['n']),\n suffixInflection('rin', 'd', [], ['n']),\n suffixInflectionWithOtoUSoundChange('in', '', [], ['n']),\n suffixInflectionWithOtoUSoundChange('rin', 'd', [], ['n']),\n ...[...'aeiou'].map((v) => suffixInflection(`${v}hin`, `${v}`, [], ['n'])),\n ...[...'aeiou'].map((v) => suffixInflection(`${v}nin`, `${v}`, [], ['n'])),\n suffixInflection('uhin', 'o', [], ['n']),\n suffixInflection('unin', 'o', [], ['n']),\n ],\n },\n 'ma-': {\n name: 'ma-',\n rules: [prefixInflection('ma', '', [], ['n', 'adj']), prefixInflection('mar', 'd', [], ['n', 'adj'])],\n },\n 'pang-': {\n name: 'pang-',\n rules: [\n prefixInflection('pang', '', [], ['n', 'adj']),\n ...[...'dlrst'].map((v) => prefixInflection(`pan${v}`, `${v}`, [], ['n', 'adj'])),\n ...[...'bp'].map((v) => prefixInflection(`pam${v}`, `${v}`, [], ['n', 'adj'])),\n wholeWordInflection('pangalawa', 'dalawa', [], ['num']),\n wholeWordInflection('pangatlo', 'tatlo', [], ['num']),\n ],\n },\n 'ka-': {\n name: 'ka-',\n rules: [prefixInflection('ka', '', [], ['n', 'adj']), prefixInflection('kar', 'd', [], ['n', 'adj'])],\n },\n 'kaka-': {\n name: 'kaka-',\n rules: [\n prefixInflection('kaka', '', [], ['n']),\n prefixInflection('kakar', 'd', [], ['n']),\n prefixInflectionWithRep1('ka', '', [], ['n']),\n ],\n },\n 'ka-...-an': {\n name: 'ka-...-an',\n rules: [\n sandwichInflection('ka', '', 'an', '', [], ['n']),\n sandwichInflection('kar', 'd', 'an', '', [], ['n']),\n sandwichInflection('ka', '', 'ran', 'd', [], ['n']),\n sandwichInflection('kar', 'd', 'ran', 'd', [], ['n']),\n ...[...'aeiou'].map((v) => sandwichInflection('ka', '', `${v}han`, `${v}`, [], ['n'])),\n ...[...'aeiou'].map((v) => sandwichInflection('kar', 'd', `${v}han`, `${v}`, [], ['n'])),\n ...[...'aeiou'].map((v) => sandwichInflection('ka', '', `${v}nan`, `${v}`, [], ['n'])),\n ...[...'aeiou'].map((v) => sandwichInflection('kar', 'd', `${v}nan`, `${v}`, [], ['n'])),\n sandwichInflection('ka', '', 'uhan', 'o', [], ['n']),\n sandwichInflection('kar', 'd', 'uhan', 'o', [], ['n']),\n sandwichInflection('ka', '', 'unan', 'o', [], ['n']),\n sandwichInflection('kar', 'd', 'unan', 'o', [], ['n']),\n sandwichInflectionWithOtoUSoundChange('ka', '', 'an', '', [], ['n']),\n sandwichInflectionWithOtoUSoundChange('kar', 'd', 'an', '', [], ['n']),\n sandwichInflectionWithOtoUSoundChange('ka', '', 'ran', 'd', [], ['n']),\n sandwichInflectionWithOtoUSoundChange('kar', 'd', 'ran', 'd', [], ['n']),\n ],\n },\n 'mag-': {\n name: 'mag-',\n rules: [prefixInflection('mag', '', [], ['n'])],\n },\n 'mag- + rep1': {\n name: 'mag- + rep1',\n rules: [prefixInflectionWithRep1('mag', '', [], ['n'])],\n },\n 'magka-': {\n name: 'magka-',\n rules: [prefixInflection('magka', '', [], ['n', 'adj']), prefixInflection('magkar', 'd', [], ['n', 'adj'])],\n },\n 'magkaka-': {\n name: 'magkaka-',\n rules: [\n prefixInflection('magkaka', '', [], ['n', 'adj']),\n prefixInflection('magkakar', 'd', [], ['n', 'adj']),\n ],\n },\n 'mang- + rep1': {\n name: 'mang- + rep1',\n rules: [\n prefixInflectionWithRep1('mang', '', [], ['n']),\n prefixInflectionWithRep1('man', '', [], ['n'], 'dlrst'),\n prefixInflectionWithRep1('mam', '', [], ['n'], 'bp'),\n ],\n },\n 'pa-': {\n name: 'pa-',\n rules: [prefixInflection('pa', '', [], ['n', 'adj']), prefixInflection('par', 'd', [], ['n', 'adj'])],\n },\n 'pa-...-an': {\n name: 'pa-...-an',\n rules: [\n sandwichInflection('pa', '', 'an', '', [], ['n']),\n sandwichInflection('par', 'd', 'an', '', [], ['n']),\n sandwichInflection('pa', '', 'ran', 'd', [], ['n']),\n sandwichInflection('par', 'd', 'ran', 'd', [], ['n']),\n ...[...'aeiou'].map((v) => sandwichInflection('pa', '', `${v}han`, `${v}`, [], ['n'])),\n ...[...'aeiou'].map((v) => sandwichInflection('par', 'd', `${v}han`, `${v}`, [], ['n'])),\n ...[...'aeiou'].map((v) => sandwichInflection('pa', '', `${v}nan`, `${v}`, [], ['n'])),\n ...[...'aeiou'].map((v) => sandwichInflection('par', 'd', `${v}nan`, `${v}`, [], ['n'])),\n sandwichInflection('pa', '', 'uhan', 'o', [], ['n']),\n sandwichInflection('par', 'd', 'uhan', 'o', [], ['n']),\n sandwichInflection('pa', '', 'unan', 'o', [], ['n']),\n sandwichInflection('par', 'd', 'unan', 'o', [], ['n']),\n sandwichInflectionWithOtoUSoundChange('pa', '', 'an', '', [], ['n']),\n sandwichInflectionWithOtoUSoundChange('par', 'd', 'an', '', [], ['n']),\n sandwichInflectionWithOtoUSoundChange('pa', '', 'ran', 'd', [], ['n']),\n sandwichInflectionWithOtoUSoundChange('par', 'd', 'ran', 'd', [], ['n']),\n ],\n },\n 'pag-': {\n name: 'pag-',\n rules: [prefixInflection('pag', '', [], ['n'])],\n },\n 'pag- + rep1': {\n name: 'pag- + rep1',\n rules: [prefixInflectionWithRep1('pag', '', [], ['n'])],\n },\n 'pagka-': {\n name: 'pagka-',\n rules: [\n prefixInflection('pagka', '', [], ['n']),\n prefixInflection('pagkar', 'd', [], ['n']),\n prefixInflection('pagkaka', '', [], ['n']),\n prefixInflection('pagkakar', 'd', [], ['n']),\n ],\n },\n 'pakiki-': {\n name: 'pakiki-',\n rules: [\n prefixInflection('pakiki', '', [], ['n']),\n prefixInflectionWithRep1('pakiki', '', [], ['n']),\n prefixInflection('pakikir', 'd', [], ['n']),\n ],\n },\n 'pakikipag-': {\n name: 'pakikipag-',\n rules: [prefixInflection('pakikipag', '', [], ['n'])],\n },\n 'pang- + rep1': {\n name: 'pang- + rep1',\n rules: [\n prefixInflectionWithRep1('pang', '', [], ['n']),\n prefixInflectionWithRep1('pan', '', [], ['n'], 'dlrst'),\n prefixInflectionWithRep1('pam', '', [], ['n'], 'bp'),\n ],\n },\n 'tag-': {\n name: 'tag-',\n rules: [prefixInflection('tag', '', [], ['n'])],\n },\n 'taga-': {\n name: 'taga-',\n rules: [prefixInflection('taga', '', [], ['n'])],\n },\n 'tagapag-': {\n name: 'tagapag-',\n rules: [prefixInflection('tagapag', '', [], ['n'])],\n },\n 'tagapang-': {\n name: 'tagapang-',\n rules: [\n prefixInflection('tagapang', '', [], ['n']),\n ...[...'dlrst'].map((v) => prefixInflection(`tagapan${v}`, `${v}`, [], ['n'])),\n ...[...'bp'].map((v) => prefixInflection(`tagapam${v}`, `${v}`, [], ['n'])),\n ],\n },\n 'i-': {\n name: 'i-',\n rules: [prefixInflection('i', '', [], ['n'])],\n },\n 'ika-': {\n name: 'ika-',\n rules: [\n prefixInflection('ika', '', [], ['n']),\n prefixInflection('ikar', 'd', [], ['n']),\n wholeWordInflection('ikalawa', 'dalawa', [], ['num']),\n wholeWordInflection('ikatlo', 'tatlo', [], ['num']),\n ],\n },\n 'ipa-': {\n name: 'ipa-',\n rules: [prefixInflection('ipa', '', [], ['n'])],\n },\n 'ipag-': {\n name: 'ipag-',\n rules: [prefixInflection('ipag', '', [], ['n'])],\n },\n 'ipag- + rep1': {\n name: 'ipag- + rep1',\n rules: [prefixInflectionWithRep1('ipag', '', [], ['n'])],\n },\n 'ipang-': {\n name: 'ipang-',\n rules: [\n prefixInflection('ipang', '', [], ['n']),\n ...[...'dlrst'].map((v) => prefixInflection(`ipan${v}`, `${v}`, [], ['n'])),\n ...[...'bp'].map((v) => prefixInflection(`ipam${v}`, `${v}`, [], ['n'])),\n ],\n },\n 'ma-...-an': {\n name: 'ma-...-an',\n rules: [\n sandwichInflection('ma', '', 'an', '', [], ['n']),\n sandwichInflection('mar', 'd', 'an', '', [], ['n']),\n sandwichInflection('ma', '', 'ran', 'd', [], ['n']),\n sandwichInflection('mar', 'd', 'ran', 'd', [], ['n']),\n ...[...'aeiou'].map((v) => sandwichInflection('ma', '', `${v}han`, `${v}`, [], ['n'])),\n ...[...'aeiou'].map((v) => sandwichInflection('mar', 'd', `${v}han`, `${v}`, [], ['n'])),\n ...[...'aeiou'].map((v) => sandwichInflection('ma', '', `${v}nan`, `${v}`, [], ['n'])),\n ...[...'aeiou'].map((v) => sandwichInflection('mar', 'd', `${v}nan`, `${v}`, [], ['n'])),\n sandwichInflection('ma', '', 'uhan', 'o', [], ['n']),\n sandwichInflection('mar', 'd', 'uhan', 'o', [], ['n']),\n sandwichInflection('ma', '', 'unan', 'o', [], ['n']),\n sandwichInflection('mar', 'd', 'unan', 'o', [], ['n']),\n sandwichInflectionWithOtoUSoundChange('ma', '', 'an', '', [], ['n']),\n sandwichInflectionWithOtoUSoundChange('mar', 'd', 'an', '', [], ['n']),\n sandwichInflectionWithOtoUSoundChange('ma', '', 'ran', 'd', [], ['n']),\n sandwichInflectionWithOtoUSoundChange('mar', 'd', 'ran', 'd', [], ['n']),\n ],\n },\n 'mag-...-an': {\n name: 'mag-...-an',\n rules: [\n sandwichInflection('mag', '', 'an', '', [], ['n']),\n sandwichInflection('mag', '', 'ran', 'd', [], ['n']),\n ...[...'aeiou'].map((v) => sandwichInflection('mag', '', `${v}han`, `${v}`, [], ['n'])),\n ...[...'aeiou'].map((v) => sandwichInflection('mag', '', `${v}nan`, `${v}`, [], ['n'])),\n sandwichInflection('mag', '', 'uhan', 'o', [], ['n']),\n sandwichInflection('mag', '', 'unan', 'o', [], ['n']),\n sandwichInflectionWithOtoUSoundChange('mag', '', 'an', '', [], ['n']),\n sandwichInflectionWithOtoUSoundChange('mag', '', 'ran', 'd', [], ['n']),\n ],\n },\n 'magkanda-': {\n name: 'magkanda-',\n rules: [prefixInflection('magkanda', '', [], ['n']), prefixInflection('magkandar', 'd', [], ['n'])],\n },\n 'magma-': {\n name: 'magma-',\n rules: [prefixInflection('magma', '', [], ['n']), prefixInflection('magmar', 'd', [], ['n'])],\n },\n 'magpa-': {\n name: 'magpa-',\n rules: [prefixInflection('magpa', '', [], ['n']), prefixInflection('magpar', 'd', [], ['n'])],\n },\n 'magpaka-': {\n name: 'magpaka-',\n rules: [prefixInflection('magpaka', '', [], ['n']), prefixInflection('magpakar', 'd', [], ['n'])],\n },\n 'magsi-': {\n name: 'magsi-',\n rules: [prefixInflection('magsi', '', [], ['n']), prefixInflection('magsipag', '', [], ['n'])],\n },\n 'makapang-': {\n name: 'makapang-',\n rules: [\n prefixInflection('makapang', '', [], ['n']),\n ...[...'dlrst'].map((v) => prefixInflection(`makapan${v}`, `${v}`, [], ['n'])),\n ...[...'bp'].map((v) => prefixInflection(`makapam${v}`, `${v}`, [], ['n'])),\n ],\n },\n 'makapag-': {\n name: 'makapag-',\n rules: [prefixInflection('makapag', '', [], ['n'])],\n },\n 'maka-': {\n name: 'maka-',\n rules: [prefixInflection('maka', '', [], ['n', 'adj']), prefixInflection('makar', 'd', [], ['n', 'adj'])],\n },\n 'maki-': {\n name: 'maki-',\n rules: [prefixInflection('maki', '', [], ['n']), prefixInflection('makir', 'd', [], ['n'])],\n },\n 'makipag-': {\n name: 'makipag-',\n rules: [prefixInflection('makipag', '', [], ['n'])],\n },\n 'makipag-...-an': {\n name: 'makipag-...-an',\n rules: [\n sandwichInflection('makipag', '', 'an', '', [], ['n']),\n sandwichInflection('makipag', '', 'ran', 'd', [], ['n']),\n ...[...'aeiou'].map((v) => sandwichInflection('makipag', '', `${v}han`, `${v}`, [], ['n'])),\n ...[...'aeiou'].map((v) => sandwichInflection('makipag', '', `${v}nan`, `${v}`, [], ['n'])),\n sandwichInflection('makipag', '', 'uhan', 'o', [], ['n']),\n sandwichInflection('makipag', '', 'unan', 'o', [], ['n']),\n sandwichInflectionWithOtoUSoundChange('makipag', '', 'an', '', [], ['n']),\n sandwichInflectionWithOtoUSoundChange('makipag', '', 'ran', 'd', [], ['n']),\n ],\n },\n 'mang-': {\n name: 'mang-',\n rules: [\n prefixInflection('mang', '', [], ['n']),\n ...[...'dlrst'].map((v) => prefixInflection(`man${v}`, `${v}`, [], ['n'])),\n ...[...'bp'].map((v) => prefixInflection(`mam${v}`, `${v}`, [], ['n'])),\n ],\n },\n 'mapa-': {\n name: 'mapa-',\n rules: [prefixInflection('mapa', '', [], ['n']), prefixInflection('mapar', 'd', [], ['n'])],\n },\n 'pa-...-in': {\n name: 'pa-...-in',\n rules: [\n sandwichInflection('pa', '', 'in', '', [], ['n']),\n sandwichInflection('par', 'd', 'in', '', [], ['n']),\n sandwichInflection('pa', '', 'rin', 'd', [], ['n']),\n sandwichInflection('par', 'd', 'rin', 'd', [], ['n']),\n ...[...'aeiou'].map((v) => sandwichInflection('pa', '', `${v}hin`, `${v}`, [], ['n'])),\n ...[...'aeiou'].map((v) => sandwichInflection('par', 'd', `${v}hin`, `${v}`, [], ['n'])),\n ...[...'aeiou'].map((v) => sandwichInflection('pa', '', `${v}nin`, `${v}`, [], ['n'])),\n ...[...'aeiou'].map((v) => sandwichInflection('par', 'd', `${v}nin`, `${v}`, [], ['n'])),\n sandwichInflection('pa', '', 'uhin', 'o', [], ['n']),\n sandwichInflection('par', 'd', 'uhin', 'o', [], ['n']),\n sandwichInflection('pa', '', 'unin', 'o', [], ['n']),\n sandwichInflection('par', 'd', 'unin', 'o', [], ['n']),\n sandwichInflectionWithOtoUSoundChange('pa', '', 'in', '', [], ['n']),\n sandwichInflectionWithOtoUSoundChange('par', 'd', 'in', '', [], ['n']),\n sandwichInflectionWithOtoUSoundChange('pa', '', 'rin', 'd', [], ['n']),\n sandwichInflectionWithOtoUSoundChange('par', 'd', 'rin', 'd', [], ['n']),\n ],\n },\n 'pag-...-an': {\n name: 'pag-...-an',\n rules: [\n sandwichInflection('pag', '', 'an', '', [], ['n']),\n sandwichInflection('pag', '', 'ran', 'd', [], ['n']),\n ...[...'aeiou'].map((v) => sandwichInflection('pag', '', `${v}han`, `${v}`, [], ['n'])),\n ...[...'aeiou'].map((v) => sandwichInflection('pag', '', `${v}nan`, `${v}`, [], ['n'])),\n sandwichInflection('pag', '', 'uhan', 'o', [], ['n']),\n sandwichInflection('pag', '', 'unan', 'o', [], ['n']),\n sandwichInflectionWithOtoUSoundChange('pag', '', 'an', '', [], ['n']),\n sandwichInflectionWithOtoUSoundChange('pag', '', 'ran', 'd', [], ['n']),\n ],\n },\n 'pang-...-an': {\n name: 'pang-...-an',\n rules: [\n sandwichInflection('pang', '', 'an', '', [], ['n']),\n sandwichInflection('pang', '', 'ran', 'd', [], ['n']),\n ...[...'aeiou'].map((v) => sandwichInflection('pang', '', `${v}han`, `${v}`, [], ['n'])),\n ...[...'aeiou'].map((v) => sandwichInflection('pang', '', `${v}nan`, `${v}`, [], ['n'])),\n sandwichInflection('pang', '', 'uhan', 'o', [], ['n']),\n sandwichInflection('pang', '', 'unan', 'o', [], ['n']),\n sandwichInflectionWithOtoUSoundChange('pang', '', 'an', '', [], ['n']),\n sandwichInflectionWithOtoUSoundChange('pang', '', 'ran', 'd', [], ['n']),\n\n ...[...'dlrst'].flatMap((v) => [\n sandwichInflection(`pan${v}`, `${v}`, 'an', '', [], ['n']),\n sandwichInflection(`pan${v}`, `${v}`, 'ran', 'd', [], ['n']),\n ...[...'aeiou'].map((k) => sandwichInflection(`pan${v}`, `${v}`, `${k}han`, `${k}`, [], ['n'])),\n ...[...'aeiou'].map((k) => sandwichInflection(`pan${v}`, `${v}`, `${k}nan`, `${k}`, [], ['n'])),\n sandwichInflection(`pan${v}`, '', 'uhan', 'o', [], ['n']),\n sandwichInflection(`pan${v}`, '', 'unan', 'o', [], ['n']),\n sandwichInflectionWithOtoUSoundChange(`pan${v}`, `${v}`, 'an', '', [], ['n']),\n sandwichInflectionWithOtoUSoundChange(`pan${v}`, `${v}`, 'ran', 'd', [], ['n']),\n ]),\n ...[...'bp'].flatMap((v) => [\n sandwichInflection(`pam${v}`, `${v}`, 'an', '', [], ['n']),\n sandwichInflection(`pam${v}`, `${v}`, 'ran', 'd', [], ['n']),\n ...[...'aeiou'].map((k) => sandwichInflection(`pam${v}`, `${v}`, `${k}han`, `${k}`, [], ['n'])),\n ...[...'aeiou'].map((k) => sandwichInflection(`pam${v}`, `${v}`, `${k}nan`, `${k}`, [], ['n'])),\n sandwichInflection(`pam${v}`, '', 'uhan', 'o', [], ['n']),\n sandwichInflection(`pam${v}`, '', 'unan', 'o', [], ['n']),\n sandwichInflectionWithOtoUSoundChange(`pam${v}`, `${v}`, 'an', '', [], ['n']),\n sandwichInflectionWithOtoUSoundChange(`pam${v}`, `${v}`, 'ran', 'd', [], ['n']),\n ]),\n ],\n },\n 'pag-...-in': {\n name: 'pag-...-in',\n rules: [\n sandwichInflection('pag', '', 'in', '', [], ['n']),\n sandwichInflection('pag', '', 'rin', 'd', [], ['n']),\n ...[...'aeiou'].map((v) => sandwichInflection('pag', '', `${v}hin`, `${v}`, [], ['n'])),\n ...[...'aeiou'].map((v) => sandwichInflection('pag', '', `${v}nin`, `${v}`, [], ['n'])),\n sandwichInflection('pag', '', 'uhin', 'o', [], ['n']),\n sandwichInflection('pag', '', 'unin', 'o', [], ['n']),\n sandwichInflectionWithOtoUSoundChange('pag', '', 'in', '', [], ['n']),\n sandwichInflectionWithOtoUSoundChange('pag', '', 'rin', 'd', [], ['n']),\n ],\n },\n 'papang-...-in': {\n name: 'papang-...-in',\n rules: [\n sandwichInflection('papang', '', 'in', '', [], ['n']),\n sandwichInflection('papang', '', 'rin', 'd', [], ['n']),\n ...[...'aeiou'].map((v) => sandwichInflection('papang', '', `${v}hin`, `${v}`, [], ['n'])),\n ...[...'aeiou'].map((v) => sandwichInflection('papang', '', `${v}nin`, `${v}`, [], ['n'])),\n sandwichInflection('papang', '', 'uhin', 'o', [], ['n']),\n sandwichInflection('papang', '', 'unin', 'o', [], ['n']),\n sandwichInflectionWithOtoUSoundChange('papang', '', 'in', '', [], ['n']),\n sandwichInflectionWithOtoUSoundChange('papang', '', 'rin', 'd', [], ['n']),\n\n ...[...'dlrst'].flatMap((v) => [\n sandwichInflection(`papan${v}`, `${v}`, 'in', '', [], ['n']),\n sandwichInflection(`papan${v}`, `${v}`, 'rin', 'd', [], ['n']),\n ...[...'aeiou'].map((k) => sandwichInflection(`papan${v}`, `${v}`, `${k}hin`, `${k}`, [], ['n'])),\n ...[...'aeiou'].map((k) => sandwichInflection(`papan${v}`, `${v}`, `${k}nin`, `${k}`, [], ['n'])),\n sandwichInflection(`papan${v}`, '', 'uhin', 'o', [], ['n']),\n sandwichInflection(`papan${v}`, '', 'unin', 'o', [], ['n']),\n sandwichInflectionWithOtoUSoundChange(`papan${v}`, `${v}`, 'in', '', [], ['n']),\n sandwichInflectionWithOtoUSoundChange(`papan${v}`, `${v}`, 'rin', 'd', [], ['n']),\n ]),\n ...[...'bp'].flatMap((v) => [\n sandwichInflection(`papam${v}`, `${v}`, 'in', '', [], ['n']),\n sandwichInflection(`papam${v}`, `${v}`, 'rin', 'd', [], ['n']),\n ...[...'aeiou'].map((k) => sandwichInflection(`papam${v}`, `${v}`, `${k}hin`, `${k}`, [], ['n'])),\n ...[...'aeiou'].map((k) => sandwichInflection(`papam${v}`, `${v}`, `${k}nin`, `${k}`, [], ['n'])),\n sandwichInflection(`papam${v}`, '', 'uhin', 'o', [], ['n']),\n sandwichInflection(`papam${v}`, '', 'unin', 'o', [], ['n']),\n sandwichInflectionWithOtoUSoundChange(`papam${v}`, `${v}`, 'in', '', [], ['n']),\n sandwichInflectionWithOtoUSoundChange(`papam${v}`, `${v}`, 'rin', 'd', [], ['n']),\n ]),\n ],\n },\n 'ma-...-in': {\n name: 'ma-...-in',\n rules: [\n sandwichInflection('ma', '', 'in', '', [], ['n', 'adj']),\n sandwichInflection('mar', 'd', 'in', '', [], ['n', 'adj']),\n sandwichInflection('ma', '', 'rin', 'd', [], ['n', 'adj']),\n sandwichInflection('mar', 'd', 'rin', 'd', [], ['n', 'adj']),\n ...[...'aeiou'].map((v) => sandwichInflection('ma', '', `${v}hin`, `${v}`, [], ['n', 'adj'])),\n ...[...'aeiou'].map((v) => sandwichInflection('mar', 'd', `${v}hin`, `${v}`, [], ['n', 'adj'])),\n ...[...'aeiou'].map((v) => sandwichInflection('ma', '', `${v}nin`, `${v}`, [], ['n', 'adj'])),\n ...[...'aeiou'].map((v) => sandwichInflection('mar', 'd', `${v}nin`, `${v}`, [], ['n', 'adj'])),\n sandwichInflection('ma', '', 'uhin', 'o', [], ['n', 'adj']),\n sandwichInflection('mar', 'd', 'uhin', 'o', [], ['n', 'adj']),\n sandwichInflection('ma', '', 'unin', 'o', [], ['n', 'adj']),\n sandwichInflection('mar', 'd', 'unin', 'o', [], ['n', 'adj']),\n sandwichInflectionWithOtoUSoundChange('ma', '', 'in', '', [], ['n', 'adj']),\n sandwichInflectionWithOtoUSoundChange('mar', 'd', 'in', '', [], ['n', 'adj']),\n sandwichInflectionWithOtoUSoundChange('ma', '', 'rin', 'd', [], ['n', 'adj']),\n sandwichInflectionWithOtoUSoundChange('mar', 'd', 'rin', 'd', [], ['n', 'adj']),\n ],\n },\n 'mapag-': {\n name: 'mapag-',\n rules: [prefixInflection('mapag', '', [], ['n', 'adj'])],\n },\n 'naka-': {\n name: 'naka-',\n rules: [prefixInflection('naka', '', [], ['n', 'adj']), prefixInflection('nakar', 'd', [], ['n', 'adj'])],\n },\n 'nakaka-': {\n name: 'nakaka-',\n rules: [\n prefixInflection('nakaka', '', [], ['n', 'adj']),\n prefixInflection('nakakar', 'd', [], ['n', 'adj']),\n ],\n },\n 'nakakapang-': {\n name: 'nakakapang-',\n rules: [\n prefixInflection('nakakapang', '', [], ['n', 'adj']),\n ...[...'dlrst'].map((v) => prefixInflection(`nakakapan${v}`, `${v}`, [], ['n', 'adj'])),\n ...[...'bp'].map((v) => prefixInflection(`nakakapam${v}`, `${v}`, [], ['n', 'adj'])),\n ],\n },\n 'naka- + rep1': {\n name: 'naka- + rep1',\n rules: [prefixInflectionWithRep1('naka', '', [], ['n', 'adj'])],\n },\n 'nakapang- + rep1': {\n name: 'nakapang- + rep1',\n rules: [\n prefixInflectionWithRep1('nakapang', '', [], ['n', 'adj']),\n prefixInflectionWithRep1('nakapan', '', [], ['n', 'adj'], 'dlrst'),\n prefixInflectionWithRep1('nakapam', '', [], ['n', 'adj'], 'bp'),\n ],\n },\n 'pala-': {\n name: 'pala-',\n rules: [prefixInflection('pala', '', [], ['n', 'adj']), prefixInflection('palar', 'd', [], ['n', 'adj'])],\n },\n '-ng': {\n name: 'ng',\n rules: [suffixInflection('ng', '', [], [])],\n },\n },\n};\n","import type { TextProcessor } from '../../types/language';\n\nconst TONE = '([\\u0300\\u0309\\u0303\\u0301\\u0323])'; // Huyen, hoi, nga, sac, nang\nconst COMBINING_BREVE = '\\u0306'; // A breve\nconst COMBINING_CIRCUMFLEX_ACCENT = '\\u0302'; // A circumflex\nconst COMBINING_HORN = '\\u031B'; // O horn\nconst DIACRITICS = `${COMBINING_BREVE}${COMBINING_CIRCUMFLEX_ACCENT}${COMBINING_HORN}`;\n\n// eslint-disable-next-line no-misleading-character-class\nconst re1 = new RegExp(`${TONE}([aeiouy${DIACRITICS}]+)`, 'i');\nconst re2 = new RegExp(`(?<=[${DIACRITICS}])(.)${TONE}`, 'i');\nconst re3 = new RegExp(`(?<=[ae])([iouy])${TONE}`, 'i');\nconst re4 = new RegExp(`(?<=[oy])([iuy])${TONE}`, 'i');\nconst re5 = new RegExp(`(?<!q)(u)([aeiou])${TONE}`, 'i');\nconst re6 = new RegExp(`(?<!g)(i)([aeiouy])${TONE}`, 'i');\nconst re7 = new RegExp(`(?<!q)([ou])([aeoy])${TONE}(?!\\\\w)`, 'i');\n\nexport const normalizeDiacritics: TextProcessor<'old' | 'new' | 'off'> = {\n name: 'Normalize Diacritics',\n description:\n 'Normalize diacritics and their placements (in either the old style or new style). NFC normalization is used.',\n options: ['old', 'new', 'off'],\n process: (str, setting) => {\n if (setting === 'off') {\n return str;\n }\n\n let result = str.normalize('NFD');\n // Put the tone on the second vowel\n result = result.replace(re1, '$2$1');\n // Put the tone on the vowel with a diacritic\n result = result.replace(re2, '$2$1');\n // For vowels that are not oa, oe, uy put the tone on the penultimate vowel\n result = result.replace(re3, '$2$1');\n result = result.replace(re4, '$2$1');\n result = result.replace(re5, '$1$3$2');\n result = result.replace(re6, '$1$3$2');\n\n if (setting === 'old') {\n result = result.replace(re7, '$1$3$2');\n }\n return result.normalize('NFC');\n },\n};\n","import type { LanguageTransformDescriptor, SuffixRule } from '../../types/language-transformer';\nimport { suffixInflection } from '../language-transforms';\n\nconst mutations = [\n { new: '\\u05e2', orig: '\\ufb2e' }, // Ayin to pasekh alef\n { new: '\\u05e2', orig: '\\ufb2f' }, // Ayin to komets alef\n { new: '\\u05e2', orig: '\\u05D0' }, // Ayin to shumter alef\n { new: '\\u05f1', orig: '\\u05e2' }, // Vov yud to ayin\n { new: '\\u05f2', orig: '\\u05f1' }, // Tsvey yudn to Vov yud\n { new: '\\u05d9', orig: '\\u05d5' }, // Yud to Vov\n];\n\nconst conditions = {\n v: {\n name: 'Verb',\n isDictionaryForm: true,\n subConditions: ['vpast', 'vpresent'],\n },\n vpast: {\n name: 'Verb, past tense',\n isDictionaryForm: false,\n },\n vpresent: {\n name: 'Verb, present tense',\n isDictionaryForm: true,\n },\n n: {\n name: 'Noun',\n isDictionaryForm: true,\n subConditions: ['np', 'ns'],\n },\n np: {\n name: 'Noun, plural',\n isDictionaryForm: false,\n },\n ns: {\n name: 'Noun, singular',\n isDictionaryForm: true,\n },\n adj: {\n name: 'Adjective',\n isDictionaryForm: true,\n },\n adv: {\n name: 'Adverb',\n isDictionaryForm: true,\n },\n};\n\ntype Condition = keyof typeof conditions;\n\nfunction umlautMutationSuffixInflection(\n inflectedSuffix: string,\n deinflectedSuffix: string,\n conditionsIn: Condition[],\n conditionsOut: Condition[],\n): SuffixRule<Condition>[] {\n const suffixRegExp = new RegExp(`${inflectedSuffix}$`);\n return mutations.map((mutation) => ({\n type: 'suffix',\n isInflected: suffixRegExp,\n deinflected: deinflectedSuffix,\n deinflect: (text) => {\n const match = new RegExp(\n /[\\u05E2\\u05F0\\u05D0\\uFB2E\\u05F1\\u05D5\\u05F2\\uFB1D\\uFB1F\\u05D9\\uFB2F](?!.*[\\u05E2\\u05F0\\u05D0\\uFB2E\\u05F1\\u05D5\\u05F2\\uFB1D\\uFB1F\\u05D9\\uFB2F])/,\n ).exec(text.slice(0, -inflectedSuffix.length));\n return match?.[0] !== mutation.new\n ? ''\n : text.slice(0, match.index) +\n mutation.orig +\n text.slice(match.index + 1, -inflectedSuffix.length) +\n deinflectedSuffix;\n },\n conditionsIn,\n conditionsOut,\n }));\n}\n\nexport const yiddishTransforms: LanguageTransformDescriptor<Condition> = {\n language: 'yi',\n conditions,\n transforms: {\n plural: {\n name: 'plural',\n description: 'plural form of a noun',\n rules: [\n suffixInflection('\\u05E1', '', ['np'], ['ns']), // -s\n suffixInflection('\\u05DF', '', ['np'], ['ns']), // -n\n suffixInflection('\\u05D9\\u05DD', '', ['np'], ['ns']), // -im, hebrew\n suffixInflection('\\u05E2\\u05E8', '', ['np'], ['ns']), // -er\n suffixInflection('\\u05E2\\u05DA', '', ['np'], ['ns']), // -ekh\n suffixInflection('\\u05E2\\u05DF', '', ['np'], ['ns']), // -en\n suffixInflection('\\u05E2\\u05E1', '', ['np'], ['ns']), // -es\n suffixInflection('\\u05D5\\u05EA', '', ['np'], ['ns']), // -ot, hebrew\n suffixInflection('\\u05E0\\u05E1', '', ['np'], ['ns']), // -ns\n suffixInflection('\\u05E2\\u05E8\\u05E2\\u05DF', '', ['np'], ['ns']), // -eren\n suffixInflection('\\u05E2\\u05E0\\u05E2\\u05E1', '', ['np'], ['ns']), // -enes\n suffixInflection('\\u05E2\\u05E0\\u05E1', '', ['np'], ['ns']), // -ens\n suffixInflection('\\u05E2\\u05E8\\u05E1', '', ['np'], ['ns']), // -ers\n suffixInflection('\\u05E1\\u05E2\\u05E8', '', ['np'], ['ns']), // -ser\n ],\n },\n umlaut_plural: {\n name: 'umlaut_plural',\n description: 'plural form of a umlaut noun',\n rules: [\n ...umlautMutationSuffixInflection('\\u05E2\\u05E8', '', ['np'], ['ns']), // -er\n ...umlautMutationSuffixInflection('\\u05E2\\u05E1', '', ['np'], ['ns']), // -es\n ...umlautMutationSuffixInflection('\\u05D9\\u05DD', '', ['np'], ['ns']), // -im\n ...umlautMutationSuffixInflection('\\u05E2\\u05DF', '', ['np'], ['ns']), // -en\n ...umlautMutationSuffixInflection('\\u05DF', '', ['np'], ['ns']), // -n\n ...umlautMutationSuffixInflection('\\u05E1', '', ['np'], ['ns']), // -s\n ...umlautMutationSuffixInflection('\\u05E2\\u05DA', '', ['np'], ['ns']), // -ekh\n ...umlautMutationSuffixInflection('\\u05E2\\u05E8\\u05E1', '', ['np'], ['ns']), // -ers\n ],\n },\n diminutive: {\n name: 'diminutive',\n description: 'diminutive form of a noun',\n rules: [\n suffixInflection('\\u05D8\\u05E9\\u05D9\\u05E7', '', ['n'], ['n']), // -tshik\n suffixInflection('\\u05E7\\u05E2', '', ['n'], ['n']), // -ke\n suffixInflection('\\u05DC', '', ['n'], ['n']), // -l\n suffixInflection('\\u05E2\\u05DC\\u05E2', '', ['n'], ['n']), // -ele\n ],\n },\n diminutive_and_umlaut: {\n name: 'diminutive_and_umlaut',\n description: 'diminutive form of a noun with stem umlaut',\n rules: [\n ...umlautMutationSuffixInflection('\\u05DC', '', ['n'], ['n']), // -l\n ...umlautMutationSuffixInflection('\\u05E2\\u05DC\\u05E2', '', ['n'], ['n']), // -ele\n ],\n },\n verb_present_singular_to_first_person: {\n name: 'verb_present_singular_to_first_person',\n description: 'Turn the second and third person singular form to first person',\n rules: [\n suffixInflection('\\u05E1\\u05D8', '', ['v'], ['vpresent']), // -st\n suffixInflection('\\u05D8', '', ['v'], ['vpresent']), // -t\n suffixInflection('\\u05E0\\u05D3\\u05D9\\u05E7', '', ['v'], ['vpresent']), // -ndik\n ],\n },\n verb_present_plural_to_first_person: {\n name: 'verb_present_plural_to_first_person',\n description: 'Turn the second plural form to first person plural form',\n rules: [\n suffixInflection('\\u05D8\\u05E1', '\\u05E0', ['v'], ['vpresent']), // -ts\n suffixInflection('\\u05D8', '\\u05E0', ['v'], ['vpresent']), // -t\n ],\n },\n },\n};\n","import type { TextProcessor } from '../../types/language';\n\nconst ligatures = [\n { lig: '\\u05f0', split: '\\u05d5' + '\\u05d5' }, // double vav\n { lig: '\\u05f1', split: '\\u05d5' + '\\u05d9' }, // vav yod\n { lig: '\\u05f2', split: '\\u05d9' + '\\u05d9' }, // double yod\n { lig: '\\ufb1d', split: '\\u05d9' + '\\u05b4' }, // yod hiriq\n { lig: '\\ufb1f', split: '\\u05d9' + '\\u05d9' + '\\u05b7' }, // double yod patah\n { lig: '\\ufb2e', split: '\\u05d0' + '\\u05b7' }, // Pasekh alef\n { lig: '\\ufb2f', split: '\\u05d0' + '\\u05b8' }, // Komets alef\n];\n\nexport const combineYiddishLigatures: TextProcessor<boolean> = {\n name: 'Combine Ligatures',\n description: '\\u05d5\\u05d5 \\u2192 \\u05f0',\n options: [true],\n process: (str) => {\n for (const ligature of ligatures) {\n str = str.replace(ligature.split, ligature.lig);\n }\n return str;\n },\n};\n\nexport const removeYiddishDiacritics: TextProcessor<boolean> = {\n name: 'Remove Diacritics',\n description: 'Remove Yiddish diacritics',\n options: [true],\n process: (str) => {\n return str.replace(/[\\u05B0-\\u05C7]/g, '');\n },\n};\n","import type { BidirectionalConversionPreprocessor, TextProcessor } from '../../types/language';\n\nconst finalLetterMap = new Map<string, string>([\n ['\\u05de', '\\u05dd'], // mem to final mem\n ['\\u05e0', '\\u05df'], // nun to final nun\n ['\\u05e6', '\\u05e5'], // tsadi to final tsadi\n ['\\u05e4', '\\u05e3'], // pe to final pe\n ['\\u05dB', '\\u05da'], // kaf to final kaf\n]);\n\nconst ligatures = [\n { lig: '\\u05f0', split: '\\u05d5' + '\\u05d5' },\n { lig: '\\u05f1', split: '\\u05d5' + '\\u05d9' },\n { lig: '\\u05f2', split: '\\u05d9' + '\\u05d9' },\n { lig: '\\ufb1d', split: '\\u05d9' + '\\u05b4' },\n { lig: '\\ufb1f', split: '\\u05d9' + '\\u05d9' + '\\u05b7' },\n { lig: '\\ufb2e', split: '\\u05d0' + '\\u05b7' },\n { lig: '\\ufb2f', split: '\\u05d0' + '\\u05b8' },\n];\n\nexport const convertFinalLetters: TextProcessor<boolean> = {\n name: 'Convert to Final Letters',\n description: 'Convert final letters',\n options: [true],\n process: (str) => {\n const len = str.length - 1;\n if ([...finalLetterMap.keys()].includes(str.charAt(len))) {\n str = str.substring(0, len) + (finalLetterMap.get(str.substring(len)) as string);\n }\n return str;\n },\n};\n\nexport const convertYiddishLigatures: BidirectionalConversionPreprocessor = {\n name: 'Split Ligatures',\n description: '\\u05d5\\u05d5 \\u2192 \\u05f0',\n options: ['off', 'direct', 'inverse'],\n process: (str, setting) => {\n switch (setting) {\n case 'off':\n return str;\n case 'direct':\n for (const ligature of ligatures) {\n str = str.replace(ligature.lig, ligature.split);\n }\n return str;\n case 'inverse':\n for (const ligature of ligatures) {\n str = str.replace(ligature.split, ligature.lig);\n }\n return str;\n }\n },\n};\n","import type { TextProcessor } from '../../types/language';\nimport { basicTextProcessorOptions } from '../text-processors';\n\nconst optionalDiacritics = [\n '\\u0303',\n '\\u0304',\n '\\u0307',\n '\\u0308',\n '\\u0323',\n '\\u032E',\n '\\u0330',\n '\\u0331',\n '\\u0730',\n '\\u0731',\n '\\u0732',\n '\\u0733',\n '\\u0734',\n '\\u0735',\n '\\u0736',\n '\\u0737',\n '\\u0738',\n '\\u0739',\n '\\u073A',\n '\\u073B',\n '\\u073C',\n '\\u073D',\n '\\u073E',\n '\\u073F',\n '\\u0740',\n '\\u0741',\n '\\u0742',\n '\\u0743',\n '\\u0744',\n '\\u0745',\n '\\u0746',\n '\\u0747',\n '\\u0748',\n '\\u0749',\n '\\u074A',\n];\n\nconst diacriticsRegex = new RegExp(`[${optionalDiacritics.join('')}]`, 'g');\n\nexport const removeSyriacScriptDiacritics: TextProcessor<boolean> = {\n name: 'Remove diacritics',\n description: 'Remove Syriac script diacritics',\n options: basicTextProcessorOptions,\n process: (text, setting) => {\n return setting ? text.replace(diacriticsRegex, '') : text;\n },\n};\n"],"mappings":";;;;;;;;AAEA,SAAgB,iBACZA,iBACAC,mBACAC,cACAC,eACsB;CACtB,MAAM,eAAe,IAAI,QAAQ,EAAE,gBAAgB;AACnD,QAAO;EACH,MAAM;EACN,aAAa;EACb,aAAa;EACb,WAAW,CAAC,SAAS,KAAK,MAAM,IAAI,gBAAgB,OAAO,GAAG;EAC9D;EACA;CACH;AACJ;AAED,SAAgB,iBACZC,iBACAC,mBACAH,cACAC,eACgB;CAChB,MAAM,eAAe,IAAI,QAAQ,GAAG,gBAAgB;AACpD,QAAO;EACH,MAAM;EACN,aAAa;EACb,WAAW,CAAC,SAAS,oBAAoB,KAAK,MAAM,gBAAgB,OAAO;EAC3E;EACA;CACH;AACJ;AAED,SAAgB,oBACZG,eACAC,iBACAL,cACAC,eACgB;CAChB,MAAM,QAAQ,IAAI,QAAQ,GAAG,cAAc;AAC3C,QAAO;EACH,MAAM;EACN,aAAa;EACb,WAAW,MAAM;EACjB;EACA;CACH;AACJ;;;;AC9CD,MAAM,2BACF;AAIJ,MAAM,4BACF;AAGJ,MAAM,WAAW;CAAC;CAAM;CAAM;CAAM;AAAK;AACzC,MAAM,qBAAqB;CACvB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACH;AACD,MAAM,uBAAuB;CACzB,CAAC,QAAQ,MAAO;CAChB,CAAC,OAAO,KAAM;CACd,CAAC,QAAQ,MAAO;AACnB;AAID,SAAS,+BACLK,QACAC,cACAC,eACuB;CACvB,MAAM,cAAc,CAAE;AACtB,MAAK,MAAM,QAAQ,SACf,aAAY,KAAK,kBAAkB,EAAE,KAAK,GAAG,GAAG,OAAO,GAAG,MAAM,cAAc,cAAc,CAAC;AAEjG,MAAK,MAAM,QAAQ,mBACf,aAAY,KAAK,kBAAkB,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,cAAc,cAAc,CAAC;AAE7F,MAAK,MAAM,CAAC,MAAM,OAAO,IAAI,qBACzB,aAAY,KAAK,kBAAkB,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,cAAc,cAAc,CAAC;AAE/F,QAAO;AACV;AAED,MAAMC,gBAAa;CACf,GAAG;EACC,MAAM;EACN,MAAM,CACF;GACI,UAAU;GACV,MAAM;EACT,CACJ;EACD,kBAAkB;EAClB,eAAe;GAAC;GAAM;GAAM;GAAM;GAAM;EAAK;CAChD;CACD,IAAI;EACA,MAAM;EACN,MAAM,CACF;GACI,UAAU;GACV,MAAM;EACT,CACJ;EACD,kBAAkB;EAClB,eAAe,CAAC,OAAO,KAAM;CAChC;CACD,KAAK;EACD,MAAM;EACN,MAAM,CACF;GACI,UAAU;GACV,MAAM;EACT,CACJ;EACD,kBAAkB;CACrB;CACD,KAAK;EACD,MAAM;EACN,MAAM,CACF;GACI,UAAU;GACV,MAAM;EACT,CACJ;EACD,kBAAkB;CACrB;CACD,IAAI;EACA,MAAM;EACN,MAAM,CACF;GACI,UAAU;GACV,MAAM;EACT,CACJ;EACD,kBAAkB;EAClB,eAAe,CAAC,OAAO,KAAM;CAChC;CACD,KAAK;EACD,MAAM;EACN,MAAM,CACF;GACI,UAAU;GACV,MAAM;EACT,CACJ;EACD,kBAAkB;CACrB;CACD,KAAK;EACD,MAAM;EACN,MAAM,CACF;GACI,UAAU;GACV,MAAM;EACT,CACJ;EACD,kBAAkB;EAClB,eAAe,CAAC,QAAQ,MAAO;CAClC;CACD,MAAM;EACF,MAAM;EACN,MAAM,CACF;GACI,UAAU;GACV,MAAM;EACT,CACJ;EACD,kBAAkB;CACrB;CACD,MAAM;EACF,MAAM;EACN,MAAM,CACF;GACI,UAAU;GACV,MAAM;EACT,CACJ;EACD,kBAAkB;CACrB;CACD,IAAI;EACA,MAAM;EACN,MAAM,CACF;GACI,UAAU;GACV,MAAM;EACT,CACJ;EACD,kBAAkB;CACrB;CACD,IAAI;EACA,MAAM;EACN,MAAM,CACF;GACI,UAAU;GACV,MAAM;EACT,CACJ;EACD,kBAAkB;CACrB;CACD,IAAI;EACA,MAAM;EACN,MAAM,CACF;GACI,UAAU;GACV,MAAM;EACT,CACJ;EACD,kBAAkB;CACrB;CACD,SAAS;EACL,MAAM;EACN,MAAM,CACF;GACI,UAAU;GACV,MAAM;EACT,CACJ;EACD,kBAAkB;CACrB;CACD,OAAO;EACH,MAAM;EACN,kBAAkB;CACrB;CACD,QAAQ;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CL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CAGL,IAAI;CACJ,MAAM;CACN,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CAGJ,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CAGH,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CACL,KAAK;CAGL,GAAG;AACN;AAED,MAAaC,qBAA6C;CAEtD,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CAGJ,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAAG;CACH,GAA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"}