/*
 * Copyright (C) 2024-2025  Yomitan Authors
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <https://www.gnu.org/licenses/>.
 */

import {suffixInflection} from '../language-transforms.js';

const conditions = {
    v: {
        name: 'Verb or Auxiliary Verb',
        isDictionaryForm: true,
        i18n: [
            {
                language: 'ko',
                name: '동사 / 보조 동사',
            },
        ],
    },
    adj: {
        name: 'Adjective or Auxiliary Adjective',
        isDictionaryForm: true,
        i18n: [
            {
                language: 'ko',
                name: '형용사 / 보조 형용사',
            },
        ],
    },
    ida: {
        name: 'Postpositional particle ida',
        isDictionaryForm: true,
        i18n: [
            {
                language: 'ko',
                name: '조사 이다',
            },
        ],
    },
    p: {
        name: 'Intermediate past tense ending',
        isDictionaryForm: false,
    },
    f: {
        name: 'Intermediate future tense ending',
        isDictionaryForm: false,
    },
    eusi: {
        name: 'Intermediate formal ending',
        isDictionaryForm: false,
    },
    euob: {
        name: 'Intermediate formal ending',
        isDictionaryForm: false,
    },
    euo: {
        name: 'Intermediate formal ending',
        isDictionaryForm: false,
    },
    sao: {
        name: 'Intermediate formal ending',
        isDictionaryForm: false,
    },
    saob: {
        name: 'Intermediate formal ending',
        isDictionaryForm: false,
    },
    sab: {
        name: 'Intermediate formal ending',
        isDictionaryForm: false,
    },
    jaob: {
        name: 'Intermediate formal ending',
        isDictionaryForm: false,
    },
    jao: {
        name: 'Intermediate formal ending',
        isDictionaryForm: false,
    },
    jab: {
        name: 'Intermediate formal ending',
        isDictionaryForm: false,
    },
    do: {
        name: 'Intermediate ending',
        isDictionaryForm: false,
    },
};

/** @type {import('language-transformer').LanguageTransformDescriptor<keyof typeof conditions>} */
export const koreanTransforms = {
    language: 'ko',
    conditions,
    transforms: {
        '어간': {
            name: '어간',
            description: 'Stem',
            rules: [
                suffixInflection('ㅂ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅃ', 'ㅃㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅈ', 'ㅈㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅉ', 'ㅉㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄷ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄸ', 'ㄸㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄱ', 'ㄱㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄲ', 'ㄲㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅅ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅆ', 'ㅆㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅁ', 'ㅁㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄴ', 'ㄴㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇ', 'ㅇㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅎ', 'ㅎㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅋ', 'ㅋㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅌ', 'ㅌㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅊ', 'ㅊㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅍ', 'ㅍㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅛ', 'ㅛㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅕ', 'ㅕㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅑ', 'ㅑㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅐ', 'ㅐㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅒ', 'ㅒㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅔ', 'ㅔㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅖ', 'ㅖㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅗ', 'ㅗㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅓ', 'ㅓㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅏ', 'ㅏㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅣ', 'ㅣㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅠ', 'ㅠㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅜ', 'ㅜㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅡ', 'ㅡㄷㅏ', [], ['v', 'adj']),
            ],
        },
        '-거나': {
            name: '-거나',
            rules: [
                suffixInflection('ㄱㅓㄴㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄱㅓㄴㅏ', '', [], ['p', 'f', 'euob', 'eusi']),
            ],
        },
        '-거늘': {
            name: '-거늘',
            rules: [
                suffixInflection('ㄱㅓㄴㅡㄹ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄱㅓㄴㅡㄹ', '', [], ['p', 'f', 'euob', 'eusi']),
            ],
        },
        '-거니': {
            name: '-거니',
            rules: [
                suffixInflection('ㄱㅓㄴㅣ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄱㅓㄴㅣ', '', [], ['p', 'f', 'euob', 'eusi']),
            ],
        },
        '-거니와': {
            name: '-거니와',
            rules: [
                suffixInflection('ㄱㅓㄴㅣㅇㅗㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄱㅓㄴㅣㅇㅗㅏ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-거던': {
            name: '-거던',
            rules: [
                suffixInflection('ㄱㅓㄷㅓㄴ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄱㅓㄷㅓㄴ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-거드면': {
            name: '-거드면',
            rules: [
                suffixInflection('ㄱㅓㄷㅡㅁㅕㄴ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄱㅓㄷㅡㅁㅕㄴ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-거든': {
            name: '-거든',
            rules: [
                suffixInflection('ㄱㅓㄷㅡㄴ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄱㅓㄷㅡㄴ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-거들랑': {
            name: '-거들랑',
            rules: [
                suffixInflection('ㄱㅓㄷㅡㄹㄹㅏㅇ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄱㅓㄷㅡㄹㄹㅏㅇ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-거라': {
            name: '-거라',
            rules: [
                suffixInflection('ㄱㅓㄹㅏ', 'ㄷㅏ', [], ['v']),
            ],
        },
        '-건': {
            name: '-건',
            rules: [
                suffixInflection('ㄱㅓㄴ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄱㅓㄴ', '', [], ['p', 'f', 'euob', 'eusi']),
            ],
        },
        '-건대': {
            name: '-건대',
            rules: [
                suffixInflection('ㄱㅓㄴㄷㅐ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㄱㅓㄴㄷㅐ', '', [], ['p', 'eusi', 'jaob']),
            ],
        },
        '-건마는': {
            name: '-건마는',
            rules: [
                suffixInflection('ㄱㅓㄴㅁㅏㄴㅡㄴ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄱㅓㄴㅁㅏㄴㅡㄴ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-건만': {
            name: '-건만',
            rules: [
                suffixInflection('ㄱㅓㄴㅁㅏㄴ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄱㅓㄴㅁㅏㄴ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-걸랑': {
            name: '-걸랑',
            rules: [
                suffixInflection('ㄱㅓㄹㄹㅏㅇ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄱㅓㄹㄹㅏㅇ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-것다': {
            name: '-것다',
            rules: [
                suffixInflection('ㄱㅓㅅㄷㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄱㅓㅅㄷㅏ', '', [], ['p', 'eusi']),
            ],
        },
        '-것마는': {
            name: '-것마는',
            rules: [
                suffixInflection('ㄱㅓㅅㅁㅏㄴㅡㄴ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄱㅓㅅㅁㅏㄴㅡㄴ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-게': {
            name: '-게',
            rules: [
                suffixInflection('ㄱㅔ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄱㅔ', '', [], ['p', 'eusi']),
            ],
        },
        '-게끔': {
            name: '-게끔',
            rules: [
                suffixInflection('ㄱㅔㄲㅡㅁ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄱㅔㄲㅡㅁ', '', [], ['eusi']),
            ],
        },
        '-게나': {
            name: '-게나',
            rules: [
                suffixInflection('ㄱㅔㄴㅏ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㄱㅔㄴㅏ', '', [], ['eusi']),
            ],
        },
        '-게시리': {
            name: '-게시리',
            rules: [
                suffixInflection('ㄱㅔㅅㅣㄹㅣ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄱㅔㅅㅣㄹㅣ', '', [], ['eusi']),
            ],
        },
        '-겠': {
            name: '-겠',
            rules: [
                suffixInflection('ㄱㅔㅆ', 'ㄷㅏ', ['f'], ['v', 'adj', 'ida']),
                suffixInflection('ㄱㅔㅆ', '', ['f'], ['p', 'eusi']),
            ],
        },
        '-고': {
            name: '-고',
            rules: [
                suffixInflection('ㄱㅗ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄱㅗ', '', [], ['p', 'f', 'eusi', 'saob', 'euob', 'euo', 'sab', 'jaob', 'jab']),
            ],
        },
        '-고는 하다': {
            name: '-고는 하다',
            rules: [
                suffixInflection('ㄱㅗㄴㅡㄴ ㅎㅏㄷㅏ', 'ㄷㅏ', ['v'], ['v']),
                suffixInflection('ㄱㅗㄴㅡㄴ ㅎㅏㄷㅏ', '', ['v'], ['eusi']),
            ],
        },
        '-곤 하다': {
            name: '-곤 하다',
            rules: [
                suffixInflection('ㄱㅗㄴ ㅎㅏㄷㅏ', 'ㄷㅏ', ['v'], ['v']),
                suffixInflection('ㄱㅗㄴ ㅎㅏㄷㅏ', '', ['v'], ['eusi']),
            ],
        },
        '-고는': {
            name: '-고는',
            rules: [
                suffixInflection('ㄱㅗㄴㅡㄴ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄱㅗㄴㅡㄴ', '', [], ['eusi']),
            ],
        },
        '-곤': {
            name: '-곤',
            rules: [
                suffixInflection('ㄱㅗㄴ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄱㅗㄴ', '', [], ['eusi']),
            ],
        },
        '-고도': {
            name: '-고도',
            rules: [
                suffixInflection('ㄱㅗㄷㅗ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄱㅗㄷㅗ', '', [], ['eusi']),
            ],
        },
        '-고말고': {
            name: '-고말고',
            rules: [
                suffixInflection('ㄱㅗㅁㅏㄹㄱㅗ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄱㅗㅁㅏㄹㄱㅗ', '', [], ['p', 'eusi']),
            ],
        },
        '-고서': {
            name: '-고서',
            rules: [
                suffixInflection('ㄱㅗㅅㅓ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㄱㅗㅅㅓ', '', [], ['eusi']),
                suffixInflection('ㅇㅏㄴㅣㄱㅗㅅㅓ', 'ㅇㅏㄴㅣㄷㅏ', [], ['adj']),
            ],
        },
        '-고야': {
            name: '-고야',
            rules: [
                suffixInflection('ㄱㅗㅇㅑ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㄱㅗㅇㅑ', '', [], ['eusi']),
            ],
        },
        '-고자': {
            name: '-고자',
            rules: [
                suffixInflection('ㄱㅗㅈㅏ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㄱㅗㅈㅏ', '', [], ['eusi']),
                suffixInflection('ㅇㅣㅆㄱㅗㅈㅏ', '있다', [], []),
                suffixInflection('ㅇㅓㅂㅅㄱㅗㅈㅏ', '없다', [], []),
            ],
        },
        '-고저': {
            name: '-고저',
            rules: [
                suffixInflection('ㄱㅗㅈㅓ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㄱㅗㅈㅓ', '', [], ['eusi']),
                suffixInflection('ㅇㅣㅆㄱㅗㅈㅓ', '있다', [], []),
                suffixInflection('ㅇㅓㅂㅅㄱㅗㅈㅓ', '없다', [], []),
            ],
        },
        '-관데': {
            name: '-관데',
            rules: [
                suffixInflection('ㄱㅗㅏㄴㄷㅔ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄱㅗㅏㄴㄷㅔ', '', [], ['p', 'eusi']),
            ],
        },
        '-구나': {
            name: '-구나',
            rules: [
                suffixInflection('ㄱㅜㄴㅏ', 'ㄷㅏ', [], ['adj', 'ida']),
                suffixInflection('ㄱㅜㄴㅏ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-구려': {
            name: '-구려',
            rules: [
                suffixInflection('ㄱㅜㄹㅕ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄱㅜㄹㅕ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-구료': {
            name: '-구료',
            rules: [
                suffixInflection('ㄱㅜㄹㅛ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄱㅜㄹㅛ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-구만': {
            name: '-구만',
            rules: [
                suffixInflection('ㄱㅜㅁㅏㄴ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄱㅜㅁㅏㄴ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-구먼': {
            name: '-구먼',
            rules: [
                suffixInflection('ㄱㅜㅁㅓㄴ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄱㅜㅁㅓㄴ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-구면': {
            name: '-구면',
            rules: [
                suffixInflection('ㄱㅜㅁㅕㄴ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄱㅜㅁㅕㄴ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-군': {
            name: '-군',
            rules: [
                suffixInflection('ㄱㅜㄴ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄱㅜㄴ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-기': {
            name: '-기',
            rules: [
                suffixInflection('ㄱㅣ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄱㅣ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-기로': {
            name: '-기로',
            rules: [
                suffixInflection('ㄱㅣㄹㅗ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
            ],
        },
        '-기로니': {
            name: '-기로니',
            rules: [
                suffixInflection('ㄱㅣㄹㅗㄴㅣ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
            ],
        },
        '-기로서': {
            name: '-기로서',
            rules: [
                suffixInflection('ㄱㅣㄹㅗㅅㅓ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄱㅣㄹㅗㅅㅓ', '', [], ['p']),
            ],
        },
        '-기로서니': {
            name: '-기로서니',
            rules: [
                suffixInflection('ㄱㅣㄹㅗㅅㅓㄴㅣ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄱㅣㄹㅗㅅㅓㄴㅣ', '', [], ['p']),
            ],
        },
        '-기로선들': {
            name: '-기로선들',
            rules: [
                suffixInflection('ㄱㅣㄹㅗㅅㅓㄴㄷㅡㄹ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄱㅣㄹㅗㅅㅓㄴㄷㅡㄹ', '', [], ['p']),
            ],
        },
        '-기에': {
            name: '-기에',
            rules: [
                suffixInflection('ㄱㅣㅇㅔ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄱㅣㅇㅔ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-길래': {
            name: '-길래',
            rules: [
                suffixInflection('ㄱㅣㄹㄹㅐ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄱㅣㄹㄹㅐ', '', [], ['p', 'eusi']),
            ],
        },
        '-(으)ㄹ': {
            name: '-(으)ㄹ',
            rules: [
                suffixInflection('ㄹ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄹ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㄹ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㄹ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹ', '', [], ['eusi']),
                suffixInflection('ㅇㅡㄹ', '', [], ['p']),
            ],
        },
        '-(으)ㄹ거나': {
            name: '-(으)ㄹ거나',
            rules: [
                suffixInflection('ㄹㄱㅓㄴㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄹㄱㅓㄴㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㄱㅓㄴㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㄹㄱㅓㄴㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㄱㅓㄴㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㄱㅓㄴㅏ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㄹㄱㅓㄴㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㄱㅓㄴㅏ', '', [], ['eusi']),
                suffixInflection('ㅇㅡㄹㄱㅓㄴㅏ', '', [], ['p', 'f']),
            ],
        },
        '-(으)ㄹ걸': {
            name: '-(으)ㄹ걸',
            rules: [
                suffixInflection('ㄹㄱㅓㄹ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄹㄱㅓㄹ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㄱㅓㄹ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㄹㄱㅓㄹ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㄱㅓㄹ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㄱㅓㄹ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㄹㄱㅓㄹ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㄱㅓㄹ', '', [], ['eusi']),
                suffixInflection('ㅇㅡㄹㄱㅓㄹ', '', [], ['p']),
            ],
        },
        '-(으)ㄹ게': {
            name: '-(으)ㄹ게',
            rules: [
                suffixInflection('ㄹㄱㅔ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㄹㄱㅔ', 'ㄹㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㄹㄱㅔ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅜㄹㄱㅔ', 'ㅂㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㄹㄱㅔ', 'ㅅㄷㅏ', [], ['v']),
                suffixInflection('ㄹㅇㅡㄹㄱㅔ', 'ㄷㄷㅏ', [], ['v']),
            ],
        },
        '-(으)ㄹ 거야': {
            name: '-(으)ㄹ 거야',
            rules: [
                suffixInflection('ㄹ ㄱㅓㅇㅑ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄹ ㄱㅓㅇㅑ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹ ㄱㅓㅇㅑ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㄹ ㄱㅓㅇㅑ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹ ㄱㅓㅇㅑ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹ ㄱㅓㅇㅑ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㄹ ㄱㅓㅇㅑ', 'ㄷㄷㅏ', [], ['v', 'adj']),
            ],
        },
        '-(으)ㄹ 거예요': {
            name: '-(으)ㄹ 거예요',
            rules: [
                suffixInflection('ㄹ ㄱㅓㅇㅖㅇㅛ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄹ ㄱㅓㅇㅖㅇㅛ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹ ㄱㅓㅇㅖㅇㅛ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㄹ ㄱㅓㅇㅖㅇㅛ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹ ㄱㅓㅇㅖㅇㅛ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹ ㄱㅓㅇㅖㅇㅛ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㄹ ㄱㅓㅇㅖㅇㅛ', 'ㄷㄷㅏ', [], ['v', 'adj']),
            ],
        },
        '-(으)ㄹ 것이다': {
            name: '-(으)ㄹ 것이다',
            rules: [
                suffixInflection('ㄹ ㄱㅓㅅㅇㅣㄷㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄹ ㄱㅓㅅㅇㅣㄷㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹ ㄱㅓㅅㅇㅣㄷㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㄹ ㄱㅓㅅㅇㅣㄷㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹ ㄱㅓㅅㅇㅣㄷㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹ ㄱㅓㅅㅇㅣㄷㅏ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㄹ ㄱㅓㅅㅇㅣㄷㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),
            ],
        },
        '-(으)ㄹ 것입니다': {
            name: '-(으)ㄹ 것입니다',
            rules: [
                suffixInflection('ㄹ ㄱㅓㅅㅇㅣㅂㄴㅣㄷㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄹ ㄱㅓㅅㅇㅣㅂㄴㅣㄷㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹ ㄱㅓㅅㅇㅣㅂㄴㅣㄷㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㄹ ㄱㅓㅅㅇㅣㅂㄴㅣㄷㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹ ㄱㅓㅅㅇㅣㅂㄴㅣㄷㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹ ㄱㅓㅅㅇㅣㅂㄴㅣㄷㅏ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㄹ ㄱㅓㅅㅇㅣㅂㄴㅣㄷㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),
            ],
        },
        '-(으)ㄹ 거다': {
            name: '-(으)ㄹ 거다',
            rules: [
                suffixInflection('ㄹ ㄱㅓㄷㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄹ ㄱㅓㄷㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹ ㄱㅓㄷㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㄹ ㄱㅓㄷㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹ ㄱㅓㄷㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹ ㄱㅓㄷㅏ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㄹ ㄱㅓㄷㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),
            ],
        },
        '-(으)ㄹ 겁니다': {
            name: '-(으)ㄹ 겁니다',
            rules: [
                suffixInflection('ㄹ ㄱㅓㅂㄴㅣㄷㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄹ ㄱㅓㅂㄴㅣㄷㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹ ㄱㅓㅂㄴㅣㄷㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㄹ ㄱㅓㅂㄴㅣㄷㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹ ㄱㅓㅂㄴㅣㄷㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹ ㄱㅓㅂㄴㅣㄷㅏ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㄹ ㄱㅓㅂㄴㅣㄷㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),
            ],
        },
        '-(으)ㄹ께': {
            name: '-(으)ㄹ께',
            rules: [
                suffixInflection('ㄹㄲㅔ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄹㄲㅔ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㄲㅔ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㄹㄲㅔ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㄲㅔ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㄲㅔ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㄹㄲㅔ', 'ㄷㄷㅏ', [], ['v', 'adj']),
            ],
        },
        '-(으)나': {
            name: '-(으)나',
            rules: [
                suffixInflection('ㄴㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㅇㅡㄴㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㄴㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄴㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄴㅏ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄴㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅇㅡㄴㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄴㅏ', '', [], ['p', 'f']),
                suffixInflection('ㄴㅏ', '', [], ['p', 'f', 'eusi', 'sao']),
            ],
        },
        '-나니': {
            name: '-나니',
            rules: [
                suffixInflection('ㄴㅏㄴㅣ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㄴㅏㄴㅣ', '', [], ['p', 'f', 'eusi', 'sab', 'euob']),
            ],
        },
        '-(으)나마': {
            name: '-(으)나마',
            rules: [
                suffixInflection('ㄴㅏㅁㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㅇㅡㄴㅏㅁㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㄴㅏㅁㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄴㅏㅁㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄴㅏㅁㅏ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄴㅏㅁㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅇㅡㄴㅏㅁㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄴㅏㅁㅏ', '', [], ['eusi']),
                suffixInflection('ㅇㅡㄴㅏㅁㅏ', '', [], ['p', 'f']),
            ],
        },
        '-나이까': {
            name: '-나이까',
            rules: [
                suffixInflection('ㄴㅏㅇㅣㄲㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄴㅏㅇㅣㄲㅏ', '', [], ['p', 'f', 'eusi', 'saob', 'euob']),
            ],
        },
        '-나이다': {
            name: '-나이다',
            rules: [
                suffixInflection('ㄴㅏㅇㅣㄷㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄴㅏㅇㅣㄷㅏ', '', [], ['p', 'f', 'eusi', 'saob', 'jaob', 'jab', 'euob']),
            ],
        },
        '-남': {
            name: '-남',
            rules: [
                suffixInflection('ㄴㅏㅁ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㄴㅏㅁ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-(으)냐': {
            name: '-(으)냐',
            rules: [
                suffixInflection('ㄴㅑ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㅇㅡㄴㅑ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㄴㅑ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄴㅑ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄴㅑ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄴㅑ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅇㅡㄴㅑ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄴㅑ', '', [], ['p', 'f', 'eusi']),
                suffixInflection('ㅇㅡㄴㅑ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-(으)냐고': {
            name: '-(으)냐고',
            rules: [
                suffixInflection('ㄴㅑㄱㅗ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㅇㅡㄴㅑㄱㅗ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㄴㅑㄱㅗ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄴㅑㄱㅗ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄴㅑㄱㅗ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄴㅑㄱㅗ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅇㅡㄴㅑㄱㅗ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄴㅑㄱㅗ', '', [], ['p', 'f', 'eusi']),
                suffixInflection('ㅇㅡㄴㅑㄱㅗ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-너라': {
            name: '-너라',
            rules: [
                suffixInflection('ㄴㅓㄹㅏ', 'ㄷㅏ', [], ['v']),
            ],
        },
        '-네': {
            name: '-네',
            rules: [
                suffixInflection('ㄴㅔ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄴㅔ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄴㅔ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-노니': {
            name: '-노니',
            rules: [
                suffixInflection('ㄴㅗㄴㅣ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㄴㅗㄴㅣ', '', [], ['p', 'f', 'eusi', 'sab', 'euob']),
            ],
        },
        '-노라': {
            name: '-노라',
            rules: [
                suffixInflection('ㄴㅗㄹㅏ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㄴㅗㄹㅏ', '', [], ['p', 'f']),
            ],
        },
        '-노라고': {
            name: '-노라고',
            rules: [
                suffixInflection('ㄴㅗㄹㅏㄱㅗ', 'ㄷㅏ', [], ['v']),
            ],
        },
        '-노라니': {
            name: '-노라니',
            rules: [
                suffixInflection('ㄴㅗㄹㅏㄴㅣ', 'ㄷㅏ', [], ['v', 'adj']),
            ],
        },
        '-노라니까': {
            name: '-노라니까',
            rules: [
                suffixInflection('ㄴㅗㄹㅏㄴㅣㄲㅏ', 'ㄷㅏ', [], ['v', 'adj']),
            ],
        },
        '-노라면': {
            name: '-노라면',
            rules: [
                suffixInflection('ㄴㅗㄹㅏㅁㅕㄴ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㄴㅗㄹㅏㅁㅕㄴ', '', [], ['eusi']),
                suffixInflection('ㅇㅣㅆㄴㅗㄹㅏㅁㅕㄴ', '있다', [], []),
                suffixInflection('ㅇㅓㅂㅅㄴㅗㄹㅏㅁㅕㄴ', '없다', [], []),
            ],
        },
        '-(으)뇨': {
            name: '-(으)뇨',
            rules: [
                suffixInflection('ㄴㅛ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㅇㅡㄴㅛ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㄴㅛ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄴㅛ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄴㅛ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄴㅛ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅇㅡㄴㅛ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄴㅛ', '', [], ['eusi']),
            ],
        },
        '-누': {
            name: '-누',
            rules: [
                suffixInflection('ㄴㅜ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄴㅜ', '', [], ['p', 'f']),
            ],
        },
        '-누나': {
            name: '-누나',
            rules: [
                suffixInflection('ㄴㅜㄴㅏ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㄴㅜㄴㅏ', '', [], ['eusi']),
            ],
        },
        '-누만': {
            name: '-누만',
            rules: [
                suffixInflection('ㄴㅜㅁㅏㄴ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㄴㅜㅁㅏㄴ', '', [], ['eusi']),
            ],
        },
        '-누먼': {
            name: '-누먼',
            rules: [
                suffixInflection('ㄴㅜㅁㅓㄴ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㄴㅜㅁㅓㄴ', '', [], ['eusi']),
            ],
        },
        '-느냐': {
            name: '-느냐',
            rules: [
                suffixInflection('ㄴㅡㄴㅑ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄴㅡㄴㅑ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-느냐고': {
            name: '-느냐고',
            rules: [
                suffixInflection('ㄴㅡㄴㅑㄱㅗ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄴㅡㄴㅑㄱㅗ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-느뇨': {
            name: '-느뇨',
            rules: [
                suffixInflection('ㄴㅡㄴㅛ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄴㅡㄴㅛ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-느니': {
            name: '-느니',
            rules: [
                suffixInflection('ㄴㅡㄴㅣ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄴㅡㄴㅣ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-느니만': {
            name: '-느니만',
            rules: [
                suffixInflection('ㄴㅡㄴㅣㅁㅏㄴ ㅁㅗㅅㅎㅏㄷㅏ', 'ㄷㅏ', ['v'], ['v', 'adj']),
            ],
        },
        '-느라': {
            name: '-느라',
            rules: [
                suffixInflection('ㄴㅡㄹㅏ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㄴㅡㄹㅏ', '', [], ['eusi']),
            ],
        },
        '-느라고': {
            name: '-느라고',
            rules: [
                suffixInflection('ㄴㅡㄹㅏㄱㅗ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㄴㅡㄹㅏㄱㅗ', '', [], ['eusi']),
            ],
        },
        '-는': {
            name: '-는',
            rules: [
                suffixInflection('ㄴㅡㄴ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㄴㅡㄴ', 'ㄹㄷㅏ', [], ['v']),
                suffixInflection('ㄴㅡㄴ', '', [], ['eusi', 'f']),
                suffixInflection('ㅇㅓㅂㅅㄴㅡㄴ', '없다', [], ['adj']),
            ],
        },
        '-(으)ㄴ': {
            name: '-(으)ㄴ',
            rules: [
                suffixInflection('ㄴ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄴ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄴ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㄴ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄴ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄴ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㄴ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄴ', '', [], ['eusi', 'f']),
            ],
        },
        '-(으/느)ㄴ가': {
            name: '-(으/느)ㄴ가',
            rules: [
                suffixInflection('ㄴㄱㅏ', 'ㄷㅏ', [], ['adj', 'ida']),
                suffixInflection('ㄴㄱㅏ', 'ㄹㄷㅏ', [], ['adj']),
                suffixInflection('ㄴㅡㄴㄱㅏ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㄴㄱㅏ', 'ㄷㅏ', [], ['adj']),
                suffixInflection('ㅇㅡㄴㄱㅏ', 'ㄹㄷㅏ', [], ['adj']),
                suffixInflection('ㅇㅜㄴㄱㅏ', 'ㅂㄷㅏ', [], ['adj']),
                suffixInflection('ㅇㅡㄴㄱㅏ', 'ㅅㄷㅏ', [], ['adj']),
                suffixInflection('ㄴㄱㅏ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㄴㄱㅏ', 'ㄷㄷㅏ', [], ['adj']),
                suffixInflection('ㄴㄱㅏ', '', [], ['eusi']),
                suffixInflection('ㄴㅡㄴㄱㅏ', '', [], ['p', 'f', 'eusi']),
                suffixInflection('ㅇㅓㅂㅅㄴㅡㄴㄱㅏ', '없다', [], []),
            ],
        },
        '-(으/느)ㄴ감': {
            name: '-(으/느)ㄴ감',
            rules: [
                suffixInflection('ㄴㄱㅏㅁ', 'ㄷㅏ', [], ['adj', 'ida']),
                suffixInflection('ㄴㄱㅏㅁ', 'ㄹㄷㅏ', [], ['adj']),
                suffixInflection('ㄴㅡㄴㄱㅏㅁ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㄴㄱㅏㅁ', 'ㄷㅏ', [], ['adj']),
                suffixInflection('ㅇㅡㄴㄱㅏㅁ', 'ㄹㄷㅏ', [], ['adj']),
                suffixInflection('ㅇㅜㄴㄱㅏㅁ', 'ㅂㄷㅏ', [], ['adj']),
                suffixInflection('ㅇㅡㄴㄱㅏㅁ', 'ㅅㄷㅏ', [], ['adj']),
                suffixInflection('ㄴㄱㅏㅁ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㄴㄱㅏㅁ', 'ㄷㄷㅏ', [], ['adj']),
                suffixInflection('ㄴㄱㅏㅁ', '', [], ['eusi']),
                suffixInflection('ㄴㅡㄴㄱㅏㅁ', '', [], ['p', 'f', 'eusi']),
                suffixInflection('ㅇㅓㅂㅅㄴㅡㄴㄱㅏㅁ', '없다', [], []),
            ],
        },
        '-(으/느)ㄴ걸': {
            name: '-(으/느)ㄴ걸',
            rules: [
                suffixInflection('ㄴㄱㅓㄹ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄴㄱㅓㄹ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄴㅡㄴㄱㅓㄹ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㄴㄱㅓㄹ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄴㄱㅓㄹ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㄴㄱㅓㄹ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄴㄱㅓㄹ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄴㄱㅓㄹ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㄴㄱㅓㄹ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄴㄱㅓㄹ', '', [], ['eusi']),
                suffixInflection('ㄴㅡㄴㄱㅓㄹ', '', [], ['p', 'f', 'eusi']),
                suffixInflection('ㅇㅓㅂㅅㄴㅡㄴㄱㅓㄹ', '없다', [], []),
            ],
        },
        '-(으/느)ㄴ고': {
            name: '-(으/느)ㄴ고',
            rules: [
                suffixInflection('ㄴㄱㅗ', 'ㄷㅏ', [], ['adj', 'ida']),
                suffixInflection('ㄴㄱㅗ', 'ㄹㄷㅏ', [], ['adj']),
                suffixInflection('ㄴㅡㄴㄱㅗ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㄴㄱㅗ', 'ㄷㅏ', [], ['adj']),
                suffixInflection('ㅇㅡㄴㄱㅗ', 'ㄹㄷㅏ', [], ['adj']),
                suffixInflection('ㅇㅜㄴㄱㅗ', 'ㅂㄷㅏ', [], ['adj']),
                suffixInflection('ㅇㅡㄴㄱㅗ', 'ㅅㄷㅏ', [], ['adj']),
                suffixInflection('ㄴㄱㅗ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㄴㄱㅗ', 'ㄷㄷㅏ', [], ['adj']),
                suffixInflection('ㄴㄱㅗ', '', [], ['eusi']),
                suffixInflection('ㄴㅡㄴㄱㅗ', '', [], ['p', 'f', 'eusi']),
                suffixInflection('ㅇㅓㅂㅅㄴㅡㄴㄱㅗ', '없다', [], []),
            ],
        },
        '-는구나': {
            name: '-는구나',
            rules: [
                suffixInflection('ㄴㅡㄴㄱㅜㄴㅏ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㄴㅡㄴㄱㅜㄴㅏ', '', [], ['eusi']),
            ],
        },
        '-는구려': {
            name: '-는구려',
            rules: [
                suffixInflection('ㄴㅡㄴㄱㅜㄹㅕ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㄴㅡㄴㄱㅜㄹㅕ', '', [], ['eusi']),
            ],
        },
        '-는구료': {
            name: '-는구료',
            rules: [
                suffixInflection('ㄴㅡㄴㄱㅜㄹㅛ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㄴㅡㄴㄱㅜㄹㅛ', '', [], ['eusi']),
            ],
        },
        '-는구만': {
            name: '-는구만',
            rules: [
                suffixInflection('ㄴㅡㄴㄱㅜㅁㅏㄴ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㄴㅡㄴㄱㅜㅁㅏㄴ', '', [], ['eusi']),
            ],
        },
        '-는구먼': {
            name: '-는구먼',
            rules: [
                suffixInflection('ㄴㅡㄴㄱㅜㅁㅓㄴ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㄴㅡㄴㄱㅜㅁㅓㄴ', '', [], ['eusi']),
            ],
        },
        '-는구면': {
            name: '-는구면',
            rules: [
                suffixInflection('ㄴㅡㄴㄱㅜㅁㅕㄴ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㄴㅡㄴㄱㅜㅁㅕㄴ', '', [], ['eusi']),
            ],
        },
        '-는군': {
            name: '-는군',
            rules: [
                suffixInflection('ㄴㅡㄴㄱㅜㄴ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㄴㅡㄴㄱㅜㄴ', '', [], ['eusi']),
            ],
        },
        '-는궈니': {
            name: '-는궈니',
            rules: [
                suffixInflection('ㄴㅡㄴㄱㅜㅓㄴㅣ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㄴㅡㄴㄱㅜㅓㄴㅣ', '', [], ['p', 'f', 'eusi']),
                suffixInflection('ㅇㅣㅆㄴㅡㄴㄱㅜㅓㄴㅣ', '있다', [], []),
                suffixInflection('ㅇㅓㅂㅅㄴㅡㄴㄱㅜㅓㄴㅣ', '없다', [], []),
            ],
        },
        '-는과니': {
            name: '-는과니',
            rules: [
                suffixInflection('ㄴㅡㄴㄱㅗㅏㄴㅣ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㄴㅡㄴㄱㅗㅏㄴㅣ', '', [], ['p', 'f', 'eusi']),
                suffixInflection('ㅇㅣㅆㄴㅡㄴㄱㅗㅏㄴㅣ', '있다', [], []),
                suffixInflection('ㅇㅓㅂㅅㄴㅡㄴㄱㅗㅏㄴㅣ', '없다', [], []),
            ],
        },
        '-(느)ㄴ다': {
            name: '-(느)ㄴ다',
            rules: [
                suffixInflection('ㄴㄷㅏ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㄴㅡㄴㄷㅏ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㄴㄷㅏ', 'ㄹㄷㅏ', [], ['v']),
                suffixInflection('ㄴㄷㅏ', '', [], ['eusi']),
            ],
        },
        '-((느)ㄴ)다고': {
            name: '-((느)ㄴ)다고',
            rules: [
                suffixInflection('ㄴㄷㅏㄱㅗ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㄴㅡㄴㄷㅏㄱㅗ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㄴㄷㅏㄱㅗ', 'ㄹㄷㅏ', [], ['v']),
                suffixInflection('ㄴㄷㅏㄱㅗ', '', [], ['eusi']),
                suffixInflection('ㄷㅏㄱㅗ', 'ㄷㅏ', [], ['adj']),
                suffixInflection('ㄷㅏㄱㅗ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-((느)ㄴ)다나': {
            name: '-((느)ㄴ)다나',
            rules: [
                suffixInflection('ㄴㄷㅏㄴㅏ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㄴㅡㄴㄷㅏㄴㅏ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㄴㄷㅏㄴㅏ', 'ㄹㄷㅏ', [], ['v']),
                suffixInflection('ㄴㄷㅏㄴㅏ', '', [], ['eusi']),
                suffixInflection('ㄷㅏㄴㅏ', 'ㄷㅏ', [], ['adj']),
                suffixInflection('ㄷㅏㄴㅏ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-((느)ㄴ)다네': {
            name: '-((느)ㄴ)다네',
            rules: [
                suffixInflection('ㄴㄷㅏㄴㅔ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㄴㅡㄴㄷㅏㄴㅔ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㄴㄷㅏㄴㅔ', 'ㄹㄷㅏ', [], ['v']),
                suffixInflection('ㄴㄷㅏㄴㅔ', '', [], ['eusi']),
                suffixInflection('ㄷㅏㄴㅔ', 'ㄷㅏ', [], ['adj']),
                suffixInflection('ㄷㅏㄴㅔ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-((느)ㄴ)다느니': {
            name: '-((느)ㄴ)다느니',
            rules: [
                suffixInflection('ㄴㄷㅏㄴㅡㄴㅣ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㄴㅡㄴㄷㅏㄴㅡㄴㅣ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㄴㄷㅏㄴㅡㄴㅣ', 'ㄹㄷㅏ', [], ['v']),
                suffixInflection('ㄴㄷㅏㄴㅡㄴㅣ', '', [], ['eusi']),
                suffixInflection('ㄷㅏㄴㅡㄴㅣ', 'ㄷㅏ', [], ['adj']),
                suffixInflection('ㄷㅏㄴㅡㄴㅣ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-((느)ㄴ)다니': {
            name: '-((느)ㄴ)다니',
            rules: [
                suffixInflection('ㄴㄷㅏㄴㅣ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㄴㅡㄴㄷㅏㄴㅣ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㄴㄷㅏㄴㅣ', 'ㄹㄷㅏ', [], ['v']),
                suffixInflection('ㄴㄷㅏㄴㅣ', '', [], ['eusi']),
                suffixInflection('ㄷㅏㄴㅣ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄷㅏㄴㅣ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-((느)ㄴ)다니까': {
            name: '-((느)ㄴ)다니까',
            rules: [
                suffixInflection('ㄴㄷㅏㄴㅣㄲㅏ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㄴㅡㄴㄷㅏㄴㅣㄲㅏ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㄴㄷㅏㄴㅣㄲㅏ', 'ㄹㄷㅏ', [], ['v']),
                suffixInflection('ㄴㄷㅏㄴㅣㄲㅏ', '', [], ['eusi']),
                suffixInflection('ㄷㅏㄴㅣㄲㅏ', 'ㄷㅏ', [], ['adj']),
                suffixInflection('ㄷㅏㄴㅣㄲㅏ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-((느)ㄴ)다더라': {
            name: '-((느)ㄴ)다더라',
            rules: [
                suffixInflection('ㄴㄷㅏㄷㅓㄹㅏ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㄴㅡㄴㄷㅏㄷㅓㄹㅏ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㄴㄷㅏㄷㅓㄹㅏ', 'ㄹㄷㅏ', [], ['v']),
                suffixInflection('ㄴㄷㅏㄷㅓㄹㅏ', '', [], ['eusi']),
                suffixInflection('ㄷㅏㄷㅓㄹㅏ', 'ㄷㅏ', [], ['adj']),
                suffixInflection('ㄷㅏㄷㅓㄹㅏ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-((느)ㄴ)다마는': {
            name: '-((느)ㄴ)다마는',
            rules: [
                suffixInflection('ㄴㄷㅏㅁㅏㄴㅡㄴ', 'ㄷㅏ', [], ['v', 'ida']),
                suffixInflection('ㄴㅡㄴㄷㅏㅁㅏㄴㅡㄴ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㄴㄷㅏㅁㅏㄴㅡㄴ', 'ㄹㄷㅏ', [], ['v']),
                suffixInflection('ㄴㄷㅏㅁㅏㄴㅡㄴ', '', [], ['eusi']),
                suffixInflection('ㄷㅏㅁㅏㄴㅡㄴ', 'ㄷㅏ', [], ['adj']),
                suffixInflection('ㄷㅏㅁㅏㄴㅡㄴ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-((느)ㄴ)다만': {
            name: '-((느)ㄴ)다만',
            rules: [
                suffixInflection('ㄴㄷㅏㅁㅏㄴ', 'ㄷㅏ', [], ['v', 'ida']),
                suffixInflection('ㄴㅡㄴㄷㅏㅁㅏㄴ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㄴㄷㅏㅁㅏㄴ', 'ㄹㄷㅏ', [], ['v']),
                suffixInflection('ㄴㄷㅏㅁㅏㄴ', '', [], ['eusi']),
                suffixInflection('ㄷㅏㅁㅏㄴ', 'ㄷㅏ', [], ['adj']),
                suffixInflection('ㄷㅏㅁㅏㄴ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-((느)ㄴ)다며': {
            name: '-((느)ㄴ)다며',
            rules: [
                suffixInflection('ㄴㄷㅏㅁㅕ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㄴㅡㄴㄷㅏㅁㅕ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㄴㄷㅏㅁㅕ', 'ㄹㄷㅏ', [], ['v']),
                suffixInflection('ㄴㄷㅏㅁㅕ', '', [], ['eusi']),
                suffixInflection('ㄷㅏㅁㅕ', 'ㄷㅏ', [], ['adj']),
                suffixInflection('ㄷㅏㅁㅕ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-((느)ㄴ)다면': {
            name: '-((느)ㄴ)다면',
            rules: [
                suffixInflection('ㄴㄷㅏㅁㅕㄴ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㄴㅡㄴㄷㅏㅁㅕㄴ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㄴㄷㅏㅁㅕㄴ', 'ㄹㄷㅏ', [], ['v']),
                suffixInflection('ㄴㄷㅏㅁㅕㄴ', '', [], ['eusi']),
                suffixInflection('ㄷㅏㅁㅕㄴ', 'ㄷㅏ', [], ['adj']),
                suffixInflection('ㄷㅏㅁㅕㄴ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-((느)ㄴ)다면서': {
            name: '-((느)ㄴ)다면서',
            rules: [
                suffixInflection('ㄴㄷㅏㅁㅕㄴㅅㅓ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㄴㅡㄴㄷㅏㅁㅕㄴㅅㅓ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㄴㄷㅏㅁㅕㄴㅅㅓ', 'ㄹㄷㅏ', [], ['v']),
                suffixInflection('ㄴㄷㅏㅁㅕㄴㅅㅓ', '', [], ['eusi']),
                suffixInflection('ㄷㅏㅁㅕㄴㅅㅓ', 'ㄷㅏ', [], ['adj']),
                suffixInflection('ㄷㅏㅁㅕㄴㅅㅓ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-((느)ㄴ)다손': {
            name: '-((느)ㄴ)다손',
            rules: [
                suffixInflection('ㄴㄷㅏㅅㅗㄴ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㄴㅡㄴㄷㅏㅅㅗㄴ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㄴㄷㅏㅅㅗㄴ', 'ㄹㄷㅏ', [], ['v']),
                suffixInflection('ㄴㄷㅏㅅㅗㄴ', '', [], ['eusi']),
                suffixInflection('ㄷㅏㅁㅕㄴㅅㅗㄴ', 'ㄷㅏ', [], ['adj']),
                suffixInflection('ㄷㅏㅁㅕㄴㅅㅗㄴ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-((느)ㄴ)다오': {
            name: '-((느)ㄴ)다오',
            rules: [
                suffixInflection('ㄴㄷㅏㅇㅗ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㄴㅡㄴㄷㅏㅇㅗ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㄴㄷㅏㅇㅗ', 'ㄹㄷㅏ', [], ['v']),
                suffixInflection('ㄴㄷㅏㅇㅗ', '', [], ['eusi']),
                suffixInflection('ㄷㅏㅇㅗ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄷㅏㅇㅗ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-((느)ㄴ)다지': {
            name: '-((느)ㄴ)다지',
            rules: [
                suffixInflection('ㄴㄷㅏㅈㅣ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㄴㅡㄴㄷㅏㅈㅣ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㄴㄷㅏㅈㅣ', 'ㄹㄷㅏ', [], ['v']),
                suffixInflection('ㄴㄷㅏㅈㅣ', '', [], ['eusi']),
                suffixInflection('ㄷㅏㅈㅣ', 'ㄷㅏ', [], ['adj']),
                suffixInflection('ㄷㅏㅈㅣ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-((느)ㄴ)단다': {
            name: '-((느)ㄴ)단다',
            rules: [
                suffixInflection('ㄴㄷㅏㄴㄷㅏ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㄴㅡㄴㄷㅏㄴㄷㅏ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㄴㄷㅏㄴㄷㅏ', 'ㄹㄷㅏ', [], ['v']),
                suffixInflection('ㄴㄷㅏㄴㄷㅏ', '', [], ['eusi']),
                suffixInflection('ㄷㅏㄴㄷㅏ', 'ㄷㅏ', [], ['adj']),
                suffixInflection('ㄷㅏㄴㄷㅏ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-((느)ㄴ)담': {
            name: '-((느)ㄴ)담',
            rules: [
                suffixInflection('ㄴㄷㅏㅁ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㄴㅡㄴㄷㅏㅁ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㄴㄷㅏㅁ', 'ㄹㄷㅏ', [], ['v']),
                suffixInflection('ㄴㄷㅏㅁ', '', [], ['eusi']),
                suffixInflection('ㄷㅏㅁ', 'ㄷㅏ', [], ['adj']),
                suffixInflection('ㄷㅏㅁ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-((느)ㄴ)답니까': {
            name: '-((느)ㄴ)답니까',
            rules: [
                suffixInflection('ㄴㄷㅏㅂㄴㅣㄲㅏ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㄴㅡㄴㄷㅏㅂㄴㅣㄲㅏ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㄴㄷㅏㅂㄴㅣㄲㅏ', 'ㄹㄷㅏ', [], ['v']),
                suffixInflection('ㄴㄷㅏㅂㄴㅣㄲㅏ', '', [], ['eusi']),
                suffixInflection('ㄷㅏㅂㄴㅣㄲㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄷㅏㅂㄴㅣㄲㅏ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-((느)ㄴ)답니다': {
            name: '-((느)ㄴ)답니다',
            rules: [
                suffixInflection('ㄴㄷㅏㅂㄴㅣㄷㅏ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㄴㅡㄴㄷㅏㅂㄴㅣㄷㅏ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㄴㄷㅏㅂㄴㅣㄷㅏ', 'ㄹㄷㅏ', [], ['v']),
                suffixInflection('ㄴㄷㅏㅂㄴㅣㄷㅏ', '', [], ['eusi']),
                suffixInflection('ㄷㅏㅂㄴㅣㄷㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄷㅏㅂㄴㅣㄷㅏ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-((느)ㄴ)답시고': {
            name: '-((느)ㄴ)답시고',
            rules: [
                suffixInflection('ㄴㄷㅏㅂㅅㅣㄱㅗ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㄴㅡㄴㄷㅏㅂㅅㅣㄱㅗ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㄴㄷㅏㅂㅅㅣㄱㅗ', 'ㄹㄷㅏ', [], ['v']),
                suffixInflection('ㄴㅡㄴㄷㅏㅂㅅㅣㄱㅗ', '', [], ['eusi']),
                suffixInflection('ㄷㅏㅂㅅㅣㄱㅗ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄷㅏㅂㅅㅣㄱㅗ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-((느)ㄴ)대': {
            name: '-((느)ㄴ)대',
            rules: [
                suffixInflection('ㄴㄷㅐ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㄴㅡㄴㄷㅐ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㄴㄷㅐ', 'ㄹㄷㅏ', [], ['v']),
                suffixInflection('ㄴㄷㅐ', '', [], ['eusi']),
                suffixInflection('ㄷㅐ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄷㅐ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-((느)ㄴ)대요': {
            name: '-((느)ㄴ)대요',
            rules: [
                suffixInflection('ㄴㄷㅐㅇㅛ', 'ㄷㅏ', [], ['v', 'ida']),
                suffixInflection('ㄴㅡㄴㄷㅐㅇㅛ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㄴㄷㅐㅇㅛ', 'ㄹㄷㅏ', [], ['v']),
                suffixInflection('ㄴㄷㅐㅇㅛ', '', [], ['eusi']),
                suffixInflection('ㄷㅐㅇㅛ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄷㅐㅇㅛ', '', [], ['p', 'f', 'eusi']),
                suffixInflection('ㅇㅣㅆㄴㅡㄴㄷㅐㅇㅛ', '있다', [], []),
                suffixInflection('ㅇㅓㅂㅅㄴㅡㄴㄷㅐㅇㅛ', '없다', [], []),
            ],
        },
        '-((느)ㄴ)댄다': {
            name: '-((느)ㄴ)댄다',
            rules: [
                suffixInflection('ㄴㄷㅐㄴㄷㅏ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㄴㅡㄴㄷㅐㄴㄷㅏ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㄴㄷㅐㄴㄷㅏ', 'ㄹㄷㅏ', [], ['v']),
                suffixInflection('ㄴㄷㅐㄴㄷㅏ', '', [], ['eusi']),
                suffixInflection('ㄷㅐㄴㄷㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄷㅐㄴㄷㅏ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-(으/느)ㄴ데': {
            name: '-(으/느)ㄴ데',
            rules: [
                suffixInflection('ㄴㄷㅔ', 'ㄷㅏ', [], ['adj', 'ida']),
                suffixInflection('ㄴㄷㅔ', 'ㄹㄷㅏ', [], ['adj']),
                suffixInflection('ㄴㅡㄴㄷㅔ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㄴㄷㅔ', 'ㄷㅏ', [], ['adj']),
                suffixInflection('ㅇㅜㄴㄷㅔ', 'ㅂㄷㅏ', [], ['adj']),
                suffixInflection('ㅇㅡㄴㄷㅔ', 'ㅅㄷㅏ', [], ['adj']),
                suffixInflection('ㄴㄷㅔ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㄴㄷㅔ', 'ㄷㄷㅏ', [], ['adj']),
                suffixInflection('ㄴㄷㅔ', '', [], ['eusi', 'sao']),
                suffixInflection('ㄴㅡㄴㄷㅔ', '', [], ['p', 'f', 'eusi']),
                suffixInflection('ㅇㅣㅆㄴㅡㄴㄷㅔ', '있다', [], []),
                suffixInflection('ㅇㅓㅂㅅㄴㅡㄴㄷㅔ', '없다', [], []),
            ],
        },
        '-(으/느)ㄴ뎁쇼': {
            name: '-(으/느)ㄴ뎁쇼',
            rules: [
                suffixInflection('ㄴㄷㅔㅂㅅㅛ', 'ㄷㅏ', [], ['adj', 'ida']),
                suffixInflection('ㄴㄷㅔㅂㅅㅛ', 'ㄹㄷㅏ', [], ['v']),
                suffixInflection('ㄴㅡㄴㄷㅔㅂㅅㅛ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㄴㄷㅔㅂㅅㅛ', 'ㄷㅏ', [], ['adj']),
                suffixInflection('ㅇㅜㄴㄷㅔㅂㅅㅛ', 'ㅂㄷㅏ', [], ['adj']),
                suffixInflection('ㅇㅡㄴㄷㅔㅂㅅㅛ', 'ㅅㄷㅏ', [], ['adj']),
                suffixInflection('ㄴㄷㅔㅂㅅㅛ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㄴㄷㅔㅂㅅㅛ', 'ㄷㄷㅏ', [], ['adj']),
                suffixInflection('ㄴㄷㅔㅂㅅㅛ', '', [], ['eusi']),
                suffixInflection('ㄴㅡㄴㄷㅔㅂㅅㅛ', '', [], ['p', 'f', 'eusi']),
                suffixInflection('ㅇㅣㅆㄴㅡㄴㄷㅔㅂㅅㅛ', '', [], []),
                suffixInflection('ㅇㅓㅂㅅㄴㅡㄴㄷㅔㅂㅅㅛ', '', [], []),
            ],
        },
        '-는도다': {
            name: '-는도다',
            rules: [
                suffixInflection('ㄴㅡㄴㄷㅗㄷㅏ', 'ㄷㅏ', [], ['v']),
            ],
        },
        '-(으/느)ㄴ바': {
            name: '-(으/느)ㄴ바',
            rules: [
                suffixInflection('ㄴㅂㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄴㅂㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄴㅡㄴㅂㅏ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㄴㅂㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㄴㅂㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄴㅂㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄴㅂㅏ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㄴㅂㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄴㅂㅏ', '', [], ['eusi']),
                suffixInflection('ㄴㅡㄴㅂㅏ', '', [], ['p', 'f', 'eusi']),
                suffixInflection('ㅇㅡㄴㅂㅏ', '', [], ['eusi']),
                suffixInflection('ㅇㅣㅆㄴㅡㄴㅂㅏ', '있다', [], []),
                suffixInflection('ㅇㅓㅂㅅㄴㅡㄴㅂㅏ', '없다', [], []),
            ],
        },
        '-(으/느)ㄴ지': {
            name: '-(으/느)ㄴ지',
            rules: [
                suffixInflection('ㄴㅈㅣ', 'ㄷㅏ', [], ['adj', 'ida']),
                suffixInflection('ㄴㅈㅣ', 'ㄹㄷㅏ', [], ['adj']),
                suffixInflection('ㄴㅡㄴㅈㅣ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㄴㅈㅣ', 'ㄷㅏ', [], ['adj']),
                suffixInflection('ㅇㅜㄴㅈㅣ', 'ㅂㄷㅏ', [], ['adj']),
                suffixInflection('ㅇㅡㄴㅈㅣ', 'ㅅㄷㅏ', [], ['adj']),
                suffixInflection('ㄴㅈㅣ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㄴㅈㅣ', 'ㄷㄷㅏ', [], ['adj']),
                suffixInflection('ㄴㅈㅣ', '', [], ['eusi']),
                suffixInflection('ㄴㅡㄴㅈㅣ', '', [], ['p', 'f', 'eusi']),
                suffixInflection('ㅇㅣㅆㄴㅡㄴㅈㅣ', '있다', [], []),
                suffixInflection('ㅇㅓㅂㅅㄴㅡㄴㅈㅣ', '없다', [], []),
            ],
        },
        '-(으/느)ㄴ지고': {
            name: '-(으/느)ㄴ지고',
            rules: [
                suffixInflection('ㄴㅈㅣㄱㅗ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄴㅈㅣㄱㅗ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄴㅡㄴㅈㅣㄱㅗ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㄴㅈㅣㄱㅗ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㄴㅈㅣㄱㅗ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄴㅈㅣㄱㅗ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄴㅈㅣㄱㅗ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㄴㅈㅣㄱㅗ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄴㅈㅣㄱㅗ', '', [], ['eusi']),
                suffixInflection('ㄴㅡㄴㅈㅣㄱㅗ', '', [], ['p', 'f', 'eusi']),
                suffixInflection('ㅇㅣㅆㄴㅡㄴㅈㅣㄱㅗ', '있다', [], []),
                suffixInflection('ㅇㅓㅂㅅㄴㅡㄴㅈㅣㄱㅗ', '없다', [], []),
            ],
        },
        '-(으/느)ㄴ지라': {
            name: '-(으/느)ㄴ지라',
            rules: [
                suffixInflection('ㄴㅈㅣㄹㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄴㅈㅣㄹㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄴㅡㄴㅈㅣㄹㅏ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㄴㅈㅣㄹㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㄴㅈㅣㄹㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄴㅈㅣㄹㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄴㅈㅣㄹㅏ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㄴㅈㅣㄹㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄴㅈㅣㄹㅏ', '', [], ['eusi']),
                suffixInflection('ㄴㅡㄴㅈㅣㄹㅏ', '', [], ['p', 'f', 'eusi']),
                suffixInflection('ㅇㅣㅆㄴㅡㄴㅈㅣㄹㅏ', '있다', [], []),
                suffixInflection('ㅇㅓㅂㅅㄴㅡㄴㅈㅣㄹㅏ', '없다', [], []),
            ],
        },
        '-(으)니': {
            name: '-(으)니',
            rules: [
                suffixInflection('ㄴㅣ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㅇㅡㄴㅣ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㄴㅣ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄴㅣ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄴㅣ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄴㅣ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅇㅡㄴㅣ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄴㅣ', '', [], ['p', 'f', 'eusi', 'euo', 'sao', 'jao']),
            ],
        },
        '-(으)니까': {
            name: '-(으)니까',
            rules: [
                suffixInflection('ㄴㅣㄲㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㅇㅡㄴㅣㄲㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㄴㅣㄲㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄴㅣㄲㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄴㅣㄲㅏ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄴㅣㄲㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅇㅡㄴㅣㄲㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄴㅣㄲㅏ', '', [], ['eusi']),
                suffixInflection('ㅇㅡㄴㅣㄲㅏ', '', [], ['p', 'f']),
            ],
        },
        '-(으)니까느루': {
            name: '-(으)니까느루',
            rules: [
                suffixInflection('ㄴㅣㄲㅏㄴㅡㄹㅜ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㅇㅡㄴㅣㄲㅏㄴㅡㄹㅜ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㄴㅣㄲㅏㄴㅡㄹㅜ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄴㅣㄲㅏㄴㅡㄹㅜ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄴㅣㄲㅏㄴㅡㄹㅜ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄴㅣㄲㅏㄴㅡㄹㅜ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅇㅡㄴㅣㄲㅏㄴㅡㄹㅜ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄴㅣㄲㅏㄴㅡㄹㅜ', '', [], ['eusi']),
                suffixInflection('ㅇㅡㄴㅣㄲㅏㄴㅡㄹㅜ', '', [], ['p', 'f']),
            ],
        },
        '-(으)니까는': {
            name: '-(으)니까는',
            rules: [
                suffixInflection('ㄴㅣㄲㅏㄴㅡㄴ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㅇㅡㄴㅣㄲㅏㄴㅡㄴ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㄴㅣㄲㅏㄴㅡㄴ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄴㅣㄲㅏㄴㅡㄴ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄴㅣㄲㅏㄴㅡㄴ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄴㅣㄲㅏㄴㅡㄴ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅇㅡㄴㅣㄲㅏㄴㅡㄴ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄴㅣㄲㅏㄴㅡㄴ', '', [], ['eusi']),
                suffixInflection('ㅇㅡㄴㅣㄲㅏㄴㅡㄴ', '', [], ['p', 'f']),
            ],
        },
        '-(으)니깐': {
            name: '-(으)니깐',
            rules: [
                suffixInflection('ㄴㅣㄲㅏㄴ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㅇㅡㄴㅣㄲㅏㄴ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㄴㅣㄲㅏㄴ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄴㅣㄲㅏㄴ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄴㅣㄲㅏㄴ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄴㅣㄲㅏㄴ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅇㅡㄴㅣㄲㅏㄴ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄴㅣㄲㅏㄴ', '', [], ['eusi']),
                suffixInflection('ㅇㅡㄴㅣㄲㅏㄴ', '', [], ['p', 'f']),
            ],
        },
        '-(으/느)니라': {
            name: '-(으/느)니라',
            rules: [
                suffixInflection('ㄴㅣㄹㅏ', 'ㄷㅏ', [], ['adj', 'ida']),
                suffixInflection('ㄴㅣㄹㅏ', 'ㄹㄷㅏ', [], ['adj']),
                suffixInflection('ㄴㅡㄴㅣㄹㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄴㅣㄹㅏ', 'ㄷㅏ', [], ['adj']),
                suffixInflection('ㅇㅜㄴㅣㄹㅏ', 'ㅂㄷㅏ', [], ['adj']),
                suffixInflection('ㅇㅡㄴㅣㄹㅏ', 'ㅅㄷㅏ', [], ['adj']),
                suffixInflection('ㄴㅣㄹㅏ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㄴㅣㄹㅏ', 'ㄷㄷㅏ', [], ['adj']),
                suffixInflection('ㄴㅣㄹㅏ', '', [], ['eusi']),
                suffixInflection('ㅇㅡㄴㅣㄹㅏ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-(으/느)니만치': {
            name: '-(으/느)니만치',
            rules: [
                suffixInflection('ㄴㅣㅁㅏㄴㅊㅣ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄴㅣㅁㅏㄴㅊㅣ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄴㅡㄴㅣㅁㅏㄴㅊㅣ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄴㅣㅁㅏㄴㅊㅣ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㄴㅣㅁㅏㄴㅊㅣ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄴㅣㅁㅏㄴㅊㅣ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄴㅣㅁㅏㄴㅊㅣ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㄴㅣㅁㅏㄴㅊㅣ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄴㅣㅁㅏㄴㅊㅣ', '', [], ['eusi']),
                suffixInflection('ㄴㅡㄴㅣㅁㅏㄴㅊㅣ', '', [], ['eusi']),
                suffixInflection('ㅇㅡㄴㅣㅁㅏㄴㅊㅣ', '', [], ['p', 'f']),
            ],
        },
        '-(으/느)니만큼': {
            name: '-(으/느)니만큼',
            rules: [
                suffixInflection('ㄴㅣㅁㅏㄴㅋㅡㅁ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄴㅣㅁㅏㄴㅋㅡㅁ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄴㅡㄴㅣㅁㅏㄴㅋㅡㅁ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄴㅣㅁㅏㄴㅋㅡㅁ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㄴㅣㅁㅏㄴㅋㅡㅁ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄴㅣㅁㅏㄴㅋㅡㅁ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄴㅣㅁㅏㄴㅋㅡㅁ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㄴㅣㅁㅏㄴㅋㅡㅁ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄴㅣㅁㅏㄴㅋㅡㅁ', '', [], ['eusi']),
                suffixInflection('ㄴㅡㄴㅣㅁㅏㄴㅋㅡㅁ', '', [], ['eusi']),
                suffixInflection('ㅇㅡㄴㅣㅁㅏㄴㅋㅡㅁ', '', [], ['p', 'f']),
            ],
        },
        '-다': {
            name: '-다',
            rules: [
                suffixInflection('ㄷㅏ', '', [], ['p', 'f', 'eusi', 'ida']),
            ],
        },
        '-다가': {
            name: '-다가',
            rules: [
                suffixInflection('ㄷㅏㄱㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄷㅏㄱㅏ', '', [], ['p', 'eusi']),
            ],
        },
        '-다가는': {
            name: '-다가는',
            rules: [
                suffixInflection('ㄷㅏㄱㅏㄴㅡㄴ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄷㅏㄱㅏㄴㅡㄴ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-다간': {
            name: '-다간',
            rules: [
                suffixInflection('ㄷㅏㄱㅏㄴ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄷㅏㄱㅏㄴ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-다마다': {
            name: '-다마다',
            rules: [
                suffixInflection('ㄷㅏㅁㅏㄷㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄷㅏㅁㅏㄷㅏ', '', [], ['p', 'eusi']),
            ],
        },
        '-다시피': {
            name: '-다시피',
            rules: [
                suffixInflection('ㄷㅏㅅㅣㅍㅣ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄷㅏㅅㅣㅍㅣ', '', [], ['p', 'f']),
                suffixInflection('ㅇㅣㅆㄷㅏㅅㅣㅍㅣ', '있다', [], []),
                suffixInflection('ㅇㅓㅂㅅㄷㅏㅅㅣㅍㅣ', '없다', [], []),
            ],
        },
        '-단': {
            name: '-단',
            rules: [
                suffixInflection('ㄷㅏㄴ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄷㅏㄴ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-더': {
            name: '-더',
            rules: [
                suffixInflection('ㄷㅓ', 'ㄷㅏ', ['do'], ['v', 'adj', 'ida']),
                suffixInflection('ㄷㅓ', '', ['do'], ['p', 'f', 'eusi']),
            ],
        },
        '-더구나': {
            name: '-더구나',
            rules: [
                suffixInflection('ㄷㅓㄱㅜㄴㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄷㅓㄱㅜㄴㅏ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-더구려': {
            name: '-더구려',
            rules: [
                suffixInflection('ㄷㅓㄱㅜㄹㅕ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄷㅓㄱㅜㄹㅕ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-더구료': {
            name: '-더구료',
            rules: [
                suffixInflection('ㄷㅓㄱㅜㄹㅛ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄷㅓㄱㅜㄹㅛ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-더구만': {
            name: '-더구만',
            rules: [
                suffixInflection('ㄷㅓㄱㅜㅁㅏㄴ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄷㅓㄱㅜㅁㅏㄴ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-더구먼': {
            name: '-더구먼',
            rules: [
                suffixInflection('ㄷㅓㄱㅜㅁㅓㄴ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄷㅓㄱㅜㅁㅓㄴ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-더구면': {
            name: '-더구면',
            rules: [
                suffixInflection('ㄷㅓㄱㅜㅁㅕㄴ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄷㅓㄱㅜㅁㅕㄴ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-더군': {
            name: '-더군',
            rules: [
                suffixInflection('ㄷㅓㄱㅜㄴ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄷㅓㄱㅜㄴ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-더냐': {
            name: '-더냐',
            rules: [
                suffixInflection('ㄷㅓㄴㅑ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄷㅓㄴㅑ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-더뇨': {
            name: '-더뇨',
            rules: [
                suffixInflection('ㄷㅓㄴㅛ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄷㅓㄴㅛ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-더니': {
            name: '-더니',
            rules: [
                suffixInflection('ㄷㅓㄴㅣ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄷㅓㄴㅣ', '', [], ['p', 'f', 'eusi', 'euob', 'euo', 'sab']),
            ],
        },
        '-더니라': {
            name: '-더니라',
            rules: [
                suffixInflection('ㄷㅓㄴㅣㄹㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄷㅓㄴㅣㄹㅏ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-더니마는': {
            name: '-더니마는',
            rules: [
                suffixInflection('ㄷㅓㄴㅣㅁㅏㄴㅡㄴ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄷㅓㄴㅣㅁㅏㄴㅡㄴ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-더니만': {
            name: '-더니만',
            rules: [
                suffixInflection('ㄷㅓㄴㅣㅁㅏㄴ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄷㅓㄴㅣㅁㅏㄴ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-더니이까': {
            name: '-더니이까',
            rules: [
                suffixInflection('ㄷㅓㄴㅣㅇㅣㄲㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄷㅓㄴㅣㅇㅣㄲㅏ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-더니이다': {
            name: '-더니이다',
            rules: [
                suffixInflection('ㄷㅓㄴㅣㅇㅣㄷㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄷㅓㄴㅣㅇㅣㄷㅏ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-더라도': {
            name: '-더라도',
            rules: [
                suffixInflection('ㄷㅓㄹㅏㄷㅗ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄷㅓㄹㅏㄷㅗ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-더이까': {
            name: '-더이까',
            rules: [
                suffixInflection('ㄷㅓㅇㅣㄲㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄷㅓㅇㅣㄲㅏ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-더이다': {
            name: '-더이다',
            rules: [
                suffixInflection('ㄷㅓㅇㅣㄷㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄷㅓㅇㅣㄷㅏ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-던': {
            name: '-던',
            rules: [
                suffixInflection('ㄷㅓㄴ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄷㅓㄴ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-던가': {
            name: '-던가',
            rules: [
                suffixInflection('ㄷㅓㄴㄱㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄷㅓㄴㄱㅏ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-던감': {
            name: '-던감',
            rules: [
                suffixInflection('ㄷㅓㄴㄱㅏㅁ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄷㅓㄴㄱㅏㅁ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-던걸': {
            name: '-던걸',
            rules: [
                suffixInflection('ㄷㅓㄴㄱㅓㄹ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄷㅓㄴㄱㅓㄹ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-던고': {
            name: '-던고',
            rules: [
                suffixInflection('ㄷㅓㄴㄱㅗ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄷㅓㄴㄱㅗ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-던데': {
            name: '-던데',
            rules: [
                suffixInflection('ㄷㅓㄴㄷㅔ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄷㅓㄴㄷㅔ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-던들': {
            name: '-던들',
            rules: [
                suffixInflection('ㄷㅓㄴㄷㅡㄹ', '', [], ['p']),
            ],
        },
        '-던바': {
            name: '-던바',
            rules: [
                suffixInflection('ㄷㅓㄴㅂㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄷㅓㄴㅂㅏ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-던지': {
            name: '-던지',
            rules: [
                suffixInflection('ㄷㅓㄴㅈㅣ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄷㅓㄴㅈㅣ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-데': {
            name: '-데',
            rules: [
                suffixInflection('ㄷㅔ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄷㅔ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-데요': {
            name: '-데요',
            rules: [
                suffixInflection('ㄷㅔㅇㅛ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄷㅔㅇㅛ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-도다': {
            name: '-도다',
            rules: [
                suffixInflection('ㄷㅗㄷㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄷㅗㄷㅏ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-도록': {
            name: '-도록',
            rules: [
                suffixInflection('ㄷㅗㄹㅗㄱ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄷㅗㄹㅗㄱ', '', [], ['eusi']),
            ],
        },
        '-(으)되': {
            name: '-(으)되',
            rules: [
                suffixInflection('ㄷㅗㅣ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㅇㅡㄷㅗㅣ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄷㅗㅣ', '', [], ['eusi']),
                suffixInflection('ㅇㅡㄷㅗㅣ', '', [], ['p', 'f']),
            ],
        },
        '-드구나': {
            name: '-드구나',
            rules: [
                suffixInflection('ㄷㅡㄱㅜㄴㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄷㅡㄱㅜㄴㅏ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-드구료': {
            name: '-드구료',
            rules: [
                suffixInflection('ㄷㅡㄱㅜㄹㅛ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄷㅡㄱㅜㄹㅛ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-드구면': {
            name: '-드구면',
            rules: [
                suffixInflection('ㄷㅡㄱㅜㅁㅕㄴ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄷㅡㄱㅜㅁㅕㄴ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-드군': {
            name: '-드군',
            rules: [
                suffixInflection('ㄷㅡㄱㅜㄴ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄷㅡㄱㅜㄴ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-드냐': {
            name: '-드냐',
            rules: [
                suffixInflection('ㄷㅡㄴㅑ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄷㅡㄴㅑ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-드니': {
            name: '-드니',
            rules: [
                suffixInflection('ㄷㅡㄴㅣ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄷㅡㄴㅣ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-드니라': {
            name: '-드니라',
            rules: [
                suffixInflection('ㄷㅡㄴㅣㄹㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄷㅡㄴㅣㄹㅏ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-드라': {
            name: '-드라',
            rules: [
                suffixInflection('ㄷㅡㄹㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄷㅡㄹㅏ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-드라도': {
            name: '-드라도',
            rules: [
                suffixInflection('ㄷㅡㄹㅏㄷㅗ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄷㅡㄹㅏㄷㅗ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-드라면': {
            name: '-드라면',
            rules: [
                suffixInflection('ㄷㅡㄹㅏㅁㅕㄴ', '', [], ['p']),
            ],
        },
        '-드래도': {
            name: '-드래도',
            rules: [
                suffixInflection('ㄷㅡㄹㅐㄷㅗ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄷㅡㄹㅐㄷㅗ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-든': {
            name: '-든',
            rules: [
                suffixInflection('ㄷㅡㄴ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄷㅡㄴ', '', [], ['p', 'eusi']),
            ],
        },
        '-든가': {
            name: '-든가',
            rules: [
                suffixInflection('ㄷㅡㄴㄱㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄷㅡㄴㄱㅏ', '', [], ['p', 'eusi']),
            ],
        },
        '-든걸': {
            name: '-든걸',
            rules: [
                suffixInflection('ㄷㅡㄴㄱㅓㄹ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄷㅡㄴㄱㅓㄹ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-든고': {
            name: '-든고',
            rules: [
                suffixInflection('ㄷㅡㄴㄱㅗ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄷㅡㄴㄱㅗ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-든데': {
            name: '-든데',
            rules: [
                suffixInflection('ㄷㅡㄴㄷㅔ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄷㅡㄴㄷㅔ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-든들': {
            name: '-든들',
            rules: [
                suffixInflection('ㄷㅡㄴㄷㅡㄹ', '', [], ['p']),
            ],
        },
        '-든지': {
            name: '-든지',
            rules: [
                suffixInflection('ㄷㅡㄴㅈㅣ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄷㅡㄴㅈㅣ', '', [], ['p', 'eusi']),
            ],
        },
        '-듯': {
            name: '-듯',
            rules: [
                suffixInflection('ㄷㅡㅅ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄷㅡㅅ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-듯이': {
            name: '-듯이',
            rules: [
                suffixInflection('ㄷㅡㅅㅇㅣ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄷㅡㅅㅇㅣ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-디': {
            name: '-디',
            rules: [
                suffixInflection('ㄷㅣ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄷㅣ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-(으)라': {
            name: '-(으)라',
            rules: [
                suffixInflection('ㄹㅏ', 'ㄷㅏ', [], ['v', 'ida']),
                suffixInflection('ㄹㅏ', 'ㄹㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㄹㅏ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅜㄹㅏ', 'ㅂㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㄹㅏ', 'ㅅㄷㅏ', [], ['v']),
                suffixInflection('ㄹㅇㅡㄹㅏ', 'ㄷㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅏㄴㅣㄹㅏ', '아니다', [], ['adj']),
                suffixInflection('ㄹㅏ', '', [], ['eusi', 'do']),
            ],
        },
        '-(으)라고': {
            name: '-(으)라고',
            rules: [
                suffixInflection('ㄹㅏㄱㅗ', 'ㄷㅏ', [], ['v', 'ida']),
                suffixInflection('ㄹㅏㄱㅗ', 'ㄹㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㄹㅏㄱㅗ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅜㄹㅏㄱㅗ', 'ㅂㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㄹㅏㄱㅗ', 'ㅅㄷㅏ', [], ['v']),
                suffixInflection('ㄹㅇㅡㄹㅏㄱㅗ', 'ㄷㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅏㄴㅣㄹㅏㄱㅗ', '아니다', [], ['adj']),
                suffixInflection('ㄹㅏㄱㅗ', '', [], ['eusi', 'do']),
            ],
        },
        '-(으)라구': {
            name: '-(으)라구',
            rules: [
                suffixInflection('ㄹㅏㄱㅜ', 'ㄷㅏ', [], ['v', 'ida']),
                suffixInflection('ㄹㅏㄱㅜ', 'ㄹㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㄹㅏㄱㅜ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅜㄹㅏㄱㅜ', 'ㅂㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㄹㅏㄱㅜ', 'ㅅㄷㅏ', [], ['v']),
                suffixInflection('ㄹㅇㅡㄹㅏㄱㅜ', 'ㄷㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅏㄴㅣㄹㅏㄱㅜ', '아니다', [], ['adj']),
                suffixInflection('ㄹㅏㄱㅜ', '', [], ['eusi', 'do']),
            ],
        },
        '-(으)라나': {
            name: '-(으)라나',
            rules: [
                suffixInflection('ㄹㅏㄴㅏ', 'ㄷㅏ', [], ['v', 'ida']),
                suffixInflection('ㄹㅏㄴㅏ', 'ㄹㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㄹㅏㄴㅏ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅜㄹㅏㄴㅏ', 'ㅂㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㄹㅏㄴㅏ', 'ㅅㄷㅏ', [], ['v']),
                suffixInflection('ㄹㅇㅡㄹㅏㄴㅏ', 'ㄷㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅏㄴㅣㄹㅏㄴㅏ', '아니다', [], ['adj']),
                suffixInflection('ㄹㅏㄴㅏ', '', [], ['eusi', 'do']),
            ],
        },
        '-(으)라네': {
            name: '-(으)라네',
            rules: [
                suffixInflection('ㄹㅏㄴㅔ', 'ㄷㅏ', [], ['v', 'ida']),
                suffixInflection('ㄹㅏㄴㅔ', 'ㄹㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㄹㅏㄴㅔ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅜㄹㅏㄴㅔ', 'ㅂㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㄹㅏㄴㅔ', 'ㅅㄷㅏ', [], ['v']),
                suffixInflection('ㄹㅇㅡㄹㅏㄴㅔ', 'ㄷㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅏㄴㅣㄹㅏㄴㅔ', '아니다', [], ['adj']),
                suffixInflection('ㄹㅏㄴㅔ', '', [], ['eusi', 'do']),
            ],
        },
        '-(으)라느니': {
            name: '-(으)라느니',
            rules: [
                suffixInflection('ㄹㅏㄴㅡㄴㅣ', 'ㄷㅏ', [], ['v', 'ida']),
                suffixInflection('ㄹㅏㄴㅡㄴㅣ', 'ㄹㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㄹㅏㄴㅡㄴㅣ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅜㄹㅏㄴㅡㄴㅣ', 'ㅂㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㄹㅏㄴㅡㄴㅣ', 'ㅅㄷㅏ', [], ['v']),
                suffixInflection('ㄹㅇㅡㄹㅏㄴㅡㄴㅣ', 'ㄷㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅏㄴㅣㄹㅏㄴㅡㄴㅣ', '아니다', [], ['adj']),
                suffixInflection('ㄹㅏㄴㅡㄴㅣ', '', [], ['eusi', 'do']),
            ],
        },
        '-(으)라니': {
            name: '-(으)라니',
            rules: [
                suffixInflection('ㄹㅏㄴㅣ', 'ㄷㅏ', [], ['v', 'ida']),
                suffixInflection('ㄹㅏㄴㅣ', 'ㄹㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㄹㅏㄴㅣ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅜㄹㅏㄴㅣ', 'ㅂㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㄹㅏㄴㅣ', 'ㅅㄷㅏ', [], ['v']),
                suffixInflection('ㄹㅇㅡㄹㅏㄴㅣ', 'ㄷㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅏㄴㅣㄹㅏㄴㅣ', '아니다', [], ['adj']),
                suffixInflection('ㄹㅏㄴㅣ', '', [], ['eusi', 'do']),
            ],
        },
        '-(으)라니까': {
            name: '-(으)라니까',
            rules: [
                suffixInflection('ㄹㅏㄴㅣㄲㅏ', 'ㄷㅏ', [], ['v', 'ida']),
                suffixInflection('ㄹㅏㄴㅣㄲㅏ', 'ㄹㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㄹㅏㄴㅣㄲㅏ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅜㄹㅏㄴㅣㄲㅏ', 'ㅂㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㄹㅏㄴㅣㄲㅏ', 'ㅅㄷㅏ', [], ['v']),
                suffixInflection('ㄹㅇㅡㄹㅏㄴㅣㄲㅏ', 'ㄷㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅏㄴㅣㄹㅏㄴㅣㄲㅏ', '아니다', [], ['adj']),
                suffixInflection('ㄹㅏㄴㅣㄲㅏ', '', [], ['eusi', 'do']),
            ],
        },
        '-라도': {
            name: '-라도',
            rules: [
                suffixInflection('ㅇㅏㄴㅣㄹㅏㄷㅗ', '아니다', [], ['adj']),
                suffixInflection('ㄹㅏㄷㅗ', 'ㄷㅏ', [], ['ida']),
            ],
        },
        '-(으)라며': {
            name: '-(으)라며',
            rules: [
                suffixInflection('ㄹㅏㅁㅕ', 'ㄷㅏ', [], ['v', 'ida']),
                suffixInflection('ㄹㅏㅁㅕ', 'ㄹㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㄹㅏㅁㅕ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅜㄹㅏㅁㅕ', 'ㅂㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㄹㅏㅁㅕ', 'ㅅㄷㅏ', [], ['v']),
                suffixInflection('ㄹㅇㅡㄹㅏㅁㅕ', 'ㄷㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅏㄴㅣㄹㅏㅁㅕ', '아니다', [], ['adj']),
                suffixInflection('ㄹㅏㅁㅕ', '', [], ['eusi', 'do']),
            ],
        },
        '-(으)라면': {
            name: '-(으)라면',
            rules: [
                suffixInflection('ㄹㅏㅁㅕㄴ', 'ㄷㅏ', [], ['v', 'ida']),
                suffixInflection('ㄹㅏㅁㅕㄴ', 'ㄹㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㄹㅏㅁㅕㄴ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅜㄹㅏㅁㅕㄴ', 'ㅂㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㄹㅏㅁㅕㄴ', 'ㅅㄷㅏ', [], ['v']),
                suffixInflection('ㄹㅇㅡㄹㅏㅁㅕㄴ', 'ㄷㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅏㄴㅣㄹㅏㅁㅕㄴ', '아니다', [], ['adj']),
                suffixInflection('ㄹㅏㅁㅕㄴ', '', [], ['eusi', 'do']),
            ],
        },
        '-(으)라면서': {
            name: '-(으)라면서',
            rules: [
                suffixInflection('ㄹㅏㅁㅕㄴㅅㅓ', 'ㄷㅏ', [], ['v', 'ida']),
                suffixInflection('ㄹㅏㅁㅕㄴㅅㅓ', 'ㄹㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㄹㅏㅁㅕㄴㅅㅓ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅜㄹㅏㅁㅕㄴㅅㅓ', 'ㅂㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㄹㅏㅁㅕㄴㅅㅓ', 'ㅅㄷㅏ', [], ['v']),
                suffixInflection('ㄹㅇㅡㄹㅏㅁㅕㄴㅅㅓ', 'ㄷㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅏㄴㅣㄹㅏㅁㅕㄴㅅㅓ', '아니다', [], ['adj']),
                suffixInflection('ㄹㅏㅁㅕㄴㅅㅓ', '', [], ['eusi', 'do']),
            ],
        },
        '-라서': {
            name: '-라서',
            rules: [
                suffixInflection('ㅇㅏㄴㅣㄹㅏㅅㅓ', '아니다', [], ['adj']),
                suffixInflection('ㄹㅏㅅㅓ', '다', [], ['ida']),
                suffixInflection('ㄹㅏㅅㅓ', '', [], ['eusi']),
            ],
        },
        '-(으)라손': {
            name: '-(으)라손',
            rules: [
                suffixInflection('ㄹㅏㅅㅗㄴ', 'ㄷㅏ', [], ['v', 'ida']),
                suffixInflection('ㄹㅏㅅㅗㄴ', 'ㄹㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㄹㅏㅅㅗㄴ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅜㄹㅏㅅㅗㄴ', 'ㅂㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㄹㅏㅅㅗㄴ', 'ㅅㄷㅏ', [], ['v']),
                suffixInflection('ㄹㅇㅡㄹㅏㅅㅗㄴ', 'ㄷㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅏㄴㅣㄹㅏㅅㅗㄴ', '아니다', [], ['adj']),
                suffixInflection('ㄹㅏㅅㅗㄴ', '', [], ['eusi', 'do']),
            ],
        },
        '-라야': {
            name: '-라야',
            rules: [
                suffixInflection('ㅇㅏㄴㅣㄹㅏㅇㅑ', '아니다', [], ['adj']),
                suffixInflection('ㄹㅏㅇㅑ', '다', [], ['ida']),
                suffixInflection('ㄹㅏㅇㅑ', '', [], ['eusi']),
            ],
        },
        '-라야만': {
            name: '-라야만',
            rules: [
                suffixInflection('ㅇㅏㄴㅣㄹㅏㅇㅑㅁㅏㄴ', '아니다', [], ['adj']),
                suffixInflection('ㄹㅏㅇㅑㅁㅏㄴ', '다', [], ['ida']),
                suffixInflection('ㄹㅏㅇㅑㅁㅏㄴ', '', [], ['eusi']),
            ],
        },
        '-(으)라오': {
            name: '-(으)라오',
            rules: [
                suffixInflection('ㄹㅏㅇㅗ', 'ㄷㅏ', [], ['v', 'ida']),
                suffixInflection('ㄹㅏㅇㅗ', 'ㄹㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㄹㅏㅇㅗ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅜㄹㅏㅇㅗ', 'ㅂㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㄹㅏㅇㅗ', 'ㅅㄷㅏ', [], ['v']),
                suffixInflection('ㄹㅇㅡㄹㅏㅇㅗ', 'ㄷㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅏㄴㅣㄹㅏㅇㅗ', '아니다', [], ['adj']),
                suffixInflection('ㄹㅏㅇㅗ', '', [], ['eusi', 'do']),
            ],
        },
        '-(으)라지': {
            name: '-(으)라지',
            rules: [
                suffixInflection('ㄹㅏㅈㅣ', 'ㄷㅏ', [], ['v', 'ida']),
                suffixInflection('ㄹㅏㅈㅣ', 'ㄹㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㄹㅏㅈㅣ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅜㄹㅏㅈㅣ', 'ㅂㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㄹㅏㅈㅣ', 'ㅅㄷㅏ', [], ['v']),
                suffixInflection('ㄹㅇㅡㄹㅏㅈㅣ', 'ㄷㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅏㄴㅣㄹㅏㅈㅣ', '아니다', [], ['adj']),
                suffixInflection('ㄹㅏㅈㅣ', '', [], ['eusi', 'do']),
            ],
        },
        '-(으)락': {
            name: '-(으)락',
            rules: [
                suffixInflection('ㄹㅏㄱ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅏㄱ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅏㄱ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㄹㅏㄱ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅏㄱ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅏㄱ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㄹㅏㄱ', 'ㄷㄷㅏ', [], ['v', 'adj']),
            ],
        },
        '-(으)란': {
            name: '-(으)란',
            rules: [
                suffixInflection('ㄹㅏㄴ', 'ㄷㅏ', [], ['v', 'ida']),
                suffixInflection('ㄹㅏㄴ', 'ㄹㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㄹㅏㄴ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅜㄹㅏㄴ', 'ㅂㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㄹㅏㄴ', 'ㅅㄷㅏ', [], ['v']),
                suffixInflection('ㄹㅇㅡㄹㅏㄴ', 'ㄷㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅏㄴㅣㄹㅏㄴ', '아니다', [], ['adj']),
                suffixInflection('ㄹㅏㄴ', '', [], ['eusi', 'do']),
            ],
        },
        '-(으)란다': {
            name: '-(으)란다',
            rules: [
                suffixInflection('ㄹㅏㄴㄷㅏ', 'ㄷㅏ', [], ['v', 'ida']),
                suffixInflection('ㄹㅏㄴㄷㅏ', 'ㄹㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㄹㅏㄴㄷㅏ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅜㄹㅏㄴㄷㅏ', 'ㅂㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㄹㅏㄴㄷㅏ', 'ㅅㄷㅏ', [], ['v']),
                suffixInflection('ㄹㅇㅡㄹㅏㄴㄷㅏ', 'ㄷㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅏㄴㅣㄹㅏㄴㄷㅏ', '아니다', [], ['adj']),
                suffixInflection('ㄹㅏㄴㄷㅏ', '', [], ['eusi', 'do']),
            ],
        },
        '-(으)람': {
            name: '-(으)람',
            rules: [
                suffixInflection('ㄹㅏㅁ', 'ㄷㅏ', [], ['v', 'ida']),
                suffixInflection('ㄹㅏㅁ', 'ㄹㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㄹㅏㅁ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅜㄹㅏㅁ', 'ㅂㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㄹㅏㅁ', 'ㅅㄷㅏ', [], ['v']),
                suffixInflection('ㄹㅇㅡㄹㅏ', 'ㄷㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅏㄴㅣㄹㅏㅁ', '아니다', [], ['adj']),
                suffixInflection('ㄹㅏㅁ', '', [], ['eusi', 'do']),
            ],
        },
        '-(으)랍니까': {
            name: '-(으)랍니까',
            rules: [
                suffixInflection('ㄹㅏㅂㄴㅣㄲㅏ', 'ㄷㅏ', [], ['v', 'ida']),
                suffixInflection('ㄹㅏㅂㄴㅣㄲㅏ', 'ㄹㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㄹㅏㅂㄴㅣㄲㅏ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅜㄹㅏㅂㄴㅣㄲㅏ', 'ㅂㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㄹㅏㅂㄴㅣㄲㅏ', 'ㅅㄷㅏ', [], ['v']),
                suffixInflection('ㄹㅇㅡㄹㅏㅂㄴㅣㄲㅏ', 'ㄷㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅏㄴㅣㄹㅏㅂㄴㅣㄲㅏ', '아니다', [], ['adj']),
                suffixInflection('ㄹㅏㅂㄴㅣㄲㅏ', '', [], ['eusi', 'do']),
            ],
        },
        '-(으)랍니다': {
            name: '-(으)랍니다',
            rules: [
                suffixInflection('ㄹㅏㅂㄴㅣㄷㅏ', 'ㄷㅏ', [], ['v', 'ida']),
                suffixInflection('ㄹㅏㅂㄴㅣㄷㅏ', 'ㄹㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㄹㅏㅂㄴㅣㄷㅏ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅜㄹㅏㅂㄴㅣㄷㅏ', 'ㅂㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㄹㅏㅂㄴㅣㄷㅏ', 'ㅅㄷㅏ', [], ['v']),
                suffixInflection('ㄹㅇㅡㄹㅏㅂㄴㅣㄷㅏ', 'ㄷㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅏㄴㅣㄹㅏㅂㄴㅣㄷㅏ', '아니다', [], ['adj']),
                suffixInflection('ㄹㅏㅂㄴㅣㄷㅏ', '', [], ['eusi']),
            ],
        },
        '-랍시고': {
            name: '-랍시고',
            rules: [
                suffixInflection('ㅇㅏㄴㅣㄹㅏㅂㅅㅣㄱㅗ', '아니다', [], ['adj']),
                suffixInflection('ㄹㅏㅂㅅㅣㄱㅗ', '다', [], ['ida']),
                suffixInflection('ㄹㅏㅂㅅㅣㄱㅗ', '', [], ['eusi']),
            ],
        },
        '-(으)래': {
            name: '-(으)래',
            rules: [
                suffixInflection('ㄹㅐ', 'ㄷㅏ', [], ['v', 'ida']),
                suffixInflection('ㄹㅐ', 'ㄹㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㄹㅐ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅜㄹㅐ', 'ㅂㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㄹㅐ', 'ㅅㄷㅏ', [], ['v']),
                suffixInflection('ㄹㅇㅡㄹㅐ', 'ㄷㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅏㄴㅣㄹㅐ', '아니다', [], ['adj']),
                suffixInflection('ㄹㅐ', '', [], ['eusi']),
            ],
        },
        '-(으)래요': {
            name: '-(으)래요',
            rules: [
                suffixInflection('ㄹㅐㅇㅛ', 'ㄷㅏ', [], ['v', 'ida']),
                suffixInflection('ㄹㅐㅇㅛ', 'ㄹㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㄹㅐㅇㅛ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅜㄹㅐㅇㅛ', 'ㅂㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㄹㅐㅇㅛ', 'ㅅㄷㅏ', [], ['v']),
                suffixInflection('ㄹㅇㅡㄹㅐㅇㅛ', 'ㄷㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅏㄴㅣㄹㅐㅇㅛ', '아니다', [], ['adj']),
                suffixInflection('ㄹㅐㅇㅛ', '', [], ['eusi']),
            ],
        },
        '-(으)랴': {
            name: '-(으)랴',
            rules: [
                suffixInflection('ㄹㅑ', 'ㄷㅏ', [], ['v', 'ida']),
                suffixInflection('ㄹㅑ', 'ㄹㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㄹㅑ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅜㄹㅑ', 'ㅂㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㄹㅑ', 'ㅅㄷㅏ', [], ['v']),
                suffixInflection('ㄹㅇㅡㄹㅑ', 'ㄷㄷㅏ', [], ['v']),
                suffixInflection('ㄹㅑ', '', [], ['eusi']),
            ],
        },
        '-(으)러': {
            name: '-(으)러',
            rules: [
                suffixInflection('ㄹㅓ', 'ㄷㅏ', [], ['v', 'ida']),
                suffixInflection('ㄹㅓ', 'ㄹㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㄹㅓ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅜㄹㅓ', 'ㅂㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㄹㅓ', 'ㅅㄷㅏ', [], ['v']),
                suffixInflection('ㄹㅇㅡㄹㅓ', 'ㄷㄷㅏ', [], ['v']),
                suffixInflection('ㄹㅓ', '', [], ['eusi']),
            ],
        },
        '-러니': {
            name: '-러니',
            rules: [
                suffixInflection('ㅇㅏㄴㅣㄹㅓㄴㅣ', '아니다', [], ['adj']),
                suffixInflection('ㄹㅓㄴㅣ', '다', [], ['ida']),
                suffixInflection('ㄹㅓㄴㅣ', '', [], ['eusi']),
            ],
        },
        '-러니라': {
            name: '-러니라',
            rules: [
                suffixInflection('ㅇㅏㄴㅣㄹㅓㄴㅣㄹㅏ', '아니다', [], ['adj']),
                suffixInflection('ㄹㅓㄴㅣㄹㅏ', '다', [], ['ida']),
                suffixInflection('ㄹㅓㄴㅣㄹㅏ', '', [], ['eusi']),
            ],
        },
        '-러니이까': {
            name: '-러니이까',
            rules: [
                suffixInflection('ㅇㅏㄴㅣㄹㅓㄴㅣㅇㅣㄲㅏ', '아니다', [], ['adj']),
                suffixInflection('ㄹㅓㄴㅣㅇㅣㄲㅏ', '다', [], ['ida']),
                suffixInflection('ㄹㅓㄴㅣㅇㅣㄲㅏ', '', [], ['eusi']),
            ],
        },
        '-러니이다': {
            name: '-러니이다',
            rules: [
                suffixInflection('ㅇㅏㄴㅣㄹㅓㄴㅣㅇㅣㄷㅏ', '아니다', [], ['adj']),
                suffixInflection('ㄹㅓㄴㅣㅇㅣㄷㅏ', '다', [], ['ida']),
                suffixInflection('ㄹㅓㄴㅣㅇㅣㄷㅏ', '', [], ['eusi']),
            ],
        },
        '-러라': {
            name: '-러라',
            rules: [
                suffixInflection('ㅇㅏㄴㅣㄹㅓㄹㅏ', '아니다', [], ['adj']),
                suffixInflection('ㄹㅓㄹㅏ', '다', [], ['ida']),
                suffixInflection('ㄹㅓㄹㅏ', '', [], ['eusi']),
            ],
        },
        '-러이까': {
            name: '-러이까',
            rules: [
                suffixInflection('ㅇㅏㄴㅣㄹㅓㅇㅣㄲㅏ', '아니다', [], ['adj']),
                suffixInflection('ㄹㅓㅇㅣㄲㅏ', '다', [], ['ida']),
                suffixInflection('ㄹㅓㅇㅣㄲㅏ', '', [], ['eusi']),
            ],
        },
        '-러이다': {
            name: '-러이다',
            rules: [
                suffixInflection('ㅇㅏㄴㅣㄹㅓㅇㅣㄷㅏ', '아니다', [], ['adj']),
                suffixInflection('ㄹㅓㅇㅣㄷㅏ', '다', [], ['ida']),
                suffixInflection('ㄹㅓㅇㅣㄷㅏ', '', [], ['eusi']),
            ],
        },
        '-런가': {
            name: '-런가',
            rules: [
                suffixInflection('ㅇㅏㄴㅣㄹㅓㄴㄱㅏ', '아니다', [], ['adj']),
                suffixInflection('ㄹㅓㄴㄱㅏ', '다', [], ['ida']),
                suffixInflection('ㄹㅓㄴㄱㅏ', '', [], ['eusi']),
            ],
        },
        '-런들': {
            name: '-런들',
            rules: [
                suffixInflection('ㅇㅏㄴㅣㄹㅓㄴㄷㅡㄹ', '아니다', [], ['adj']),
                suffixInflection('ㄹㅓㄴㄷㅡㄹ', '다', [], ['ida']),
                suffixInflection('ㄹㅓㄴㄷㅡㄹ', '', [], ['eusi']),
            ],
        },
        '-(으)려': {
            name: '-(으)려',
            rules: [
                suffixInflection('ㄹㅕ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㄹㅕ', 'ㄹㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㄹㅕ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅜㄹㅕ', 'ㅂㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㄹㅕ', 'ㅅㄷㅏ', [], ['v']),
                suffixInflection('ㄹㅇㅡㄹㅕ', 'ㄷㄷㅏ', [], ['v']),
                suffixInflection('ㄹㅕ', '', [], ['eusi']),
                suffixInflection('ㅇㅡㄹㅕ', '', [], ['p']),
            ],
        },
        '-(으)려거든': {
            name: '-(으)려거든',
            rules: [
                suffixInflection('ㄹㅕㄱㅓㄷㅡㄴ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㄹㅕㄱㅓㄷㅡㄴ', 'ㄹㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㄹㅕㄱㅓㄷㅡㄴ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅜㄹㅕㄱㅓㄷㅡㄴ', 'ㅂㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㄹㅕㄱㅓㄷㅡㄴ', 'ㅅㄷㅏ', [], ['v']),
                suffixInflection('ㄹㅇㅡㄹㅕㄱㅓㄷㅡㄴ', 'ㄷㄷㅏ', [], ['v']),
                suffixInflection('ㄹㅕㄱㅓㄷㅡㄴ', '', [], ['eusi']),
                suffixInflection('ㅇㅡㄹㅕㄱㅓㄷㅡㄴ', '', [], ['p']),
            ],
        },
        '-(으)려고': {
            name: '-(으)려고',
            rules: [
                suffixInflection('ㄹㅕㄱㅗ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅕㄱㅗ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅕㄱㅗ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㄹㅕㄱㅗ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅕㄱㅗ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅇㅡㄹㅕㄱㅗ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅕㄱㅗ', '', [], ['eusi']),
                suffixInflection('ㅇㅡㄹㅕㄱㅗ', '', [], ['p']),
            ],
        },
        '-(으)려나': {
            name: '-(으)려나',
            rules: [
                suffixInflection('ㄹㅕㄴㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄹㅕㄴㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅕㄴㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㄹㅕㄴㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅕㄴㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅕㄴㅏ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㄹㅕㄴㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅕㄴㅏ', '', [], ['eusi']),
                suffixInflection('ㅇㅡㄹㅕㄴㅏ', '', [], ['p']),
            ],
        },
        '-(으)려니': {
            name: '-(으)려니',
            rules: [
                suffixInflection('ㄹㅕㄴㅣ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄹㅕㄴㅣ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅕㄴㅣ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㄹㅕㄴㅣ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅕㄴㅣ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅕㄴㅣ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㄹㅕㄴㅣ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅕㄴㅣ', '', [], ['eusi']),
                suffixInflection('ㅇㅡㄹㅕㄴㅣ', '', [], ['p']),
            ],
        },
        '-(으)려니와': {
            name: '-(으)려니와',
            rules: [
                suffixInflection('ㄹㅕㄴㅣㅇㅗㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄹㅕㄴㅣㅇㅗㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅕㄴㅣㅇㅗㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㄹㅕㄴㅣㅇㅗㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅕㄴㅣㅇㅗㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅕㄴㅣㅇㅗㅏ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㄹㅕㄴㅣㅇㅗㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅕㄴㅣㅇㅗㅏ', '', [], ['eusi']),
                suffixInflection('ㅇㅡㄹㅕㄴㅣㅇㅗㅏ', '', [], ['p']),
            ],
        },
        '-(으)려든': {
            name: '-(으)려든',
            rules: [
                suffixInflection('ㄹㅕㄷㅡㄴ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㄹㅕㄷㅡㄴ', 'ㄹㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㄹㅕㄷㅡㄴ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅜㄹㅕㄷㅡㄴ', 'ㅂㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㄹㅕㄷㅡㄴ', 'ㅅㄷㅏ', [], ['v']),
                suffixInflection('ㄹㅇㅡㄹㅕㄷㅡㄴ', 'ㄷㄷㅏ', [], ['v']),
                suffixInflection('ㄹㅕㄷㅡㄴ', '', [], ['eusi']),
                suffixInflection('ㅇㅡㄹㅕㄷㅡㄴ', '', [], ['p']),
            ],
        },
        '-(으)려마': {
            name: '-(으)려마',
            rules: [
                suffixInflection('ㄹㅕㅁㅏ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㄹㅕㅁㅏ', 'ㄹㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㄹㅕㅁㅏ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅜㄹㅕㅁㅏ', 'ㅂㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㄹㅕㅁㅏ', 'ㅅㄷㅏ', [], ['v']),
                suffixInflection('ㄹㅇㅡㄹㅕㅁㅏ', 'ㄷㄷㅏ', [], ['v']),
                suffixInflection('ㄹㅕㅁㅏ', '', [], ['eusi']),
                suffixInflection('ㅇㅡㄹㅕㅁㅏ', '', [], ['p']),
            ],
        },
        '-(으)려면': {
            name: '-(으)려면',
            rules: [
                suffixInflection('ㄹㅕㅁㅕㄴ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄹㅕㅁㅕㄴ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅕㅁㅕㄴ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㄹㅕㅁㅕㄴ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅕㅁㅕㄴ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅕㅁㅕㄴ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㄹㅕㅁㅕㄴ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅕㅁㅕㄴ', '', [], ['eusi']),
                suffixInflection('ㅇㅡㄹㅕㅁㅕㄴ', '', [], ['p']),
            ],
        },
        '-(으)려무나': {
            name: '-(으)려무나',
            rules: [
                suffixInflection('ㄹㅕㅁㅜㄴㅏ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㄹㅕㅁㅜㄴㅏ', 'ㄹㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㄹㅕㅁㅜㄴㅏ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅜㄹㅕㅁㅜㄴㅏ', 'ㅂㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㄹㅕㅁㅜㄴㅏ', 'ㅅㄷㅏ', [], ['v']),
                suffixInflection('ㄹㅇㅡㄹㅕㅁㅜㄴㅏ', 'ㄷㄷㅏ', [], ['v']),
                suffixInflection('ㄹㅕㅁㅜㄴㅏ', '', [], ['eusi']),
                suffixInflection('ㅇㅡㄹㅕㅁㅜㄴㅏ', '', [], ['p']),
            ],
        },
        '-(으)련': {
            name: '-(으)련',
            rules: [
                suffixInflection('ㄹㅕㄴ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㄹㅕㄴ', 'ㄹㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㄹㅕㄴ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅜㄹㅕㄴ', 'ㅂㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㄹㅕㄴ', 'ㅅㄷㅏ', [], ['v']),
                suffixInflection('ㄹㅇㅡㄹㅕㄴ', 'ㄷㄷㅏ', [], ['v']),
                suffixInflection('ㄹㅕㄴ', '', [], ['eusi']),
                suffixInflection('ㅇㅡㄹㅕㄴ', '', [], ['p']),
            ],
        },
        '-(으)련마는': {
            name: '-(으)련마는',
            rules: [
                suffixInflection('ㄹㅕㄴㅁㅏㄴㅡㄴ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄹㅕㄴㅁㅏㄴㅡㄴ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅕㄴㅁㅏㄴㅡㄴ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㄹㅕㄴㅁㅏㄴㅡㄴ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅕㄴㅁㅏㄴㅡㄴ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅕㄴㅁㅏㄴㅡㄴ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㄹㅕㄴㅁㅏㄴㅡㄴ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅕㄴㅁㅏㄴㅡㄴ', '', [], ['eusi']),
                suffixInflection('ㅇㅡㄹㅕㄴㅁㅏㄴㅡㄴ', '', [], ['p']),
            ],
        },
        '-(으)련만': {
            name: '-(으)련만',
            rules: [
                suffixInflection('ㄹㅕㄴㅁㅏㄴ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄹㅕㄴㅁㅏㄴ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅕㄴㅁㅏㄴ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㄹㅕㄴㅁㅏㄴ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅕㄴㅁㅏㄴ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅕㄴㅁㅏㄴ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㄹㅕㄴㅁㅏㄴ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅕㄴㅁㅏㄴ', '', [], ['eusi']),
                suffixInflection('ㅇㅡㄹㅕㄴㅁㅏㄴ', '', [], ['p']),
            ],
        },
        '-(으)렴': {
            name: '-(으)렴',
            rules: [
                suffixInflection('ㄹㅕㅁ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㄹㅕㅁ', 'ㄹㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㄹㅕㅁ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅜㄹㅕㅁ', 'ㅂㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㄹㅕㅁ', 'ㅅㄷㅏ', [], ['v']),
                suffixInflection('ㄹㅇㅡㄹㅕㅁ', 'ㄷㄷㅏ', [], ['v']),
                suffixInflection('ㄹㅕㅁ', '', [], ['eusi']),
                suffixInflection('ㅇㅡㄹㅕㅁ', '', [], ['p']),
            ],
        },
        '-(으)렵니까': {
            name: '-(으)렵니까',
            rules: [
                suffixInflection('ㄹㅕㅂㄴㅣㄲㅏ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㄹㅕㅂㄴㅣㄲㅏ', 'ㄹㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㄹㅕㅂㄴㅣㄲㅏ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅜㄹㅕㅂㄴㅣㄲㅏ', 'ㅂㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㄹㅕㅂㄴㅣㄲㅏ', 'ㅅㄷㅏ', [], ['v']),
                suffixInflection('ㄹㅇㅡㄹㅕㅂㄴㅣㄲㅏ', 'ㄷㄷㅏ', [], ['v']),
                suffixInflection('ㄹㅕㅂㄴㅣㄲㅏ', '', [], ['eusi']),
                suffixInflection('ㅇㅡㄹㅕㅂㄴㅣㄲㅏ', '', [], ['p']),
            ],
        },
        '-(으)렵니다': {
            name: '-(으)렵니다',
            rules: [
                suffixInflection('ㄹㅕㅂㄴㅣㄷㅏ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㄹㅕㅂㄴㅣㄷㅏ', 'ㄹㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㄹㅕㅂㄴㅣㄷㅏ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅜㄹㅕㅂㄴㅣㄷㅏ', 'ㅂㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㄹㅕㅂㄴㅣㄷㅏ', 'ㅅㄷㅏ', [], ['v']),
                suffixInflection('ㄹㅇㅡㄹㅕㅂㄴㅣㄷㅏ', 'ㄷㄷㅏ', [], ['v']),
                suffixInflection('ㄹㅕㅂㄴㅣㄷㅏ', '', [], ['eusi']),
                suffixInflection('ㅇㅡㄹㅕㅂㄴㅣㄷㅏ', '', [], ['p']),
            ],
        },
        '-(으)렷다': {
            name: '-(으)렷다',
            rules: [
                suffixInflection('ㄹㅕㅅㄷㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄹㅕㅅㄷㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅕㅅㄷㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㄹㅕㅅㄷㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅕㅅㄷㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅕㅅㄷㅏ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㄹㅕㅅㄷㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅕㅅㄷㅏ', '', [], ['eusi']),
                suffixInflection('ㅇㅡㄹㅕㅅㄷㅏ', '', [], ['p']),
            ],
        },
        '-로고': {
            name: '-로고',
            rules: [
                suffixInflection('ㅇㅏㄴㅣㄹㅗㄱㅗ', '아니다', [], ['adj']),
                suffixInflection('ㄹㅗㄱㅗ', '다', [], ['ida']),
                suffixInflection('ㄹㅗㄱㅗ', '', [], ['eusi']),
            ],
        },
        '-로고나': {
            name: '-로고나',
            rules: [
                suffixInflection('ㅇㅏㄴㅣㄹㅗㄱㅗㄴㅏ', '아니다', [], ['adj']),
                suffixInflection('ㄹㅗㄱㅗㄴㅏ', '다', [], ['ida']),
                suffixInflection('ㄹㅗㄱㅗㄴㅏ', '', [], ['eusi']),
            ],
        },
        '-로구나': {
            name: '-로구나',
            rules: [
                suffixInflection('ㅇㅏㄴㅣㄹㅗㄱㅜㄴㅏ', '아니다', [], ['adj']),
                suffixInflection('ㄹㅗㄱㅜㄴㅏ', '다', [], ['ida']),
                suffixInflection('ㄹㅗㄱㅜㄴㅏ', '', [], ['eusi']),
            ],
        },
        '-로구려': {
            name: '-로구려',
            rules: [
                suffixInflection('ㅇㅏㄴㅣㄹㅗㄱㅜㄹㅕ', '아니다', [], ['adj']),
                suffixInflection('ㄹㅗㄱㅜㄹㅕ', '다', [], ['ida']),
                suffixInflection('ㄹㅗㄱㅜㄹㅕ', '', [], ['eusi']),
            ],
        },
        '-로구료': {
            name: '-로구료',
            rules: [
                suffixInflection('ㅇㅏㄴㅣㄹㅗㄱㅜㄹㅛ', '아니다', [], ['adj']),
                suffixInflection('ㄹㅗㄱㅜㄹㅛ', '다', [], ['ida']),
                suffixInflection('ㄹㅗㄱㅜㄹㅛ', '', [], ['eusi']),
            ],
        },
        '-로구만': {
            name: '-로구만',
            rules: [
                suffixInflection('ㅇㅏㄴㅣㄹㅗㄱㅜㅁㅏㄴ', '아니다', [], ['adj']),
                suffixInflection('ㄹㅗㄱㅜㅁㅏㄴ', '다', [], ['ida']),
                suffixInflection('ㄹㅗㄱㅜㅁㅏㄴ', '', [], ['eusi']),
            ],
        },
        '-로구먼': {
            name: '-로구먼',
            rules: [
                suffixInflection('ㅇㅏㄴㅣㄹㅗㄱㅜㅁㅓㄴ', '아니다', [], ['adj']),
                suffixInflection('ㄹㅗㄱㅜㅁㅓㄴ', '다', [], ['ida']),
                suffixInflection('ㄹㅗㄱㅜㅁㅓㄴ', '', [], ['eusi']),
            ],
        },
        '-로구면': {
            name: '-로구면',
            rules: [
                suffixInflection('ㅇㅏㄴㅣㄹㅗㄱㅜㅁㅕㄴ', '아니다', [], ['adj']),
                suffixInflection('ㄹㅗㄱㅜㅁㅕㄴ', '다', [], ['ida']),
                suffixInflection('ㄹㅗㄱㅜㅁㅕㄴ', '', [], ['eusi']),
            ],
        },
        '-로군': {
            name: '-로군',
            rules: [
                suffixInflection('ㅇㅏㄴㅣㄹㅗㄱㅜㄴ', '아니다', [], ['adj']),
                suffixInflection('ㄹㅗㄱㅜㄴ', '다', [], ['ida']),
                suffixInflection('ㄹㅗㄱㅜㄴ', '', [], ['eusi']),
            ],
        },
        '-로다': {
            name: '-로다',
            rules: [
                suffixInflection('ㅇㅏㄴㅣㄹㅗㄷㅏ', '아니다', [], ['adj']),
                suffixInflection('ㄹㅗㄷㅏ', '다', [], ['ida']),
                suffixInflection('ㄹㅗㄷㅏ', '', [], ['eusi']),
            ],
        },
        '-로되': {
            name: '-로되',
            rules: [
                suffixInflection('ㅇㅏㄴㅣㄹㅗㄷㅗㅣ', '아니다', [], ['adj']),
                suffixInflection('ㄹㅗㄷㅗㅣ', '다', [], ['ida']),
                suffixInflection('ㄹㅗㄷㅗㅣ', '', [], ['eusi']),
            ],
        },
        '-로라': {
            name: '-로라',
            rules: [
                suffixInflection('ㅇㅏㄴㅣㄹㅗㄹㅏ', '아니다', [], ['adj']),
                suffixInflection('ㄹㅗㄹㅏ', '다', [], ['ida']),
                suffixInflection('', '다', [], ['ida']),
            ],
        },
        '-로서니': {
            name: '-로서니',
            rules: [
                suffixInflection('ㅇㅏㄴㅣㄹㅗㅅㅓㄴㅣ', '아니다', [], ['adj']),
                suffixInflection('ㄹㅗㅅㅓㄴㅣ', '다', [], ['ida']),
                suffixInflection('ㄹㅗㅅㅓㄴㅣ', '다', [], ['ida']),
            ],
        },
        '-로세': {
            name: '-로세',
            rules: [
                suffixInflection('ㅇㅏㄴㅣㄹㅗㅅㅔ', '아니다', [], ['adj']),
                suffixInflection('ㄹㅗㅅㅔ', '다', [], ['ida']),
                suffixInflection('ㄹㅗㅅㅔ', '', [], ['eusi']),
            ],
        },
        '-(으)리': {
            name: '-(으)리',
            rules: [
                suffixInflection('ㄹㅣ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄹㅣ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅣ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㄹㅣ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅣ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅣ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㄹㅣ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅣ', '', [], ['eusi', 'euo']),
                suffixInflection('ㅇㅡㄹㅣ', '', [], ['p']),
            ],
        },
        '-(으)리까': {
            name: '-(으)리까',
            rules: [
                suffixInflection('ㄹㅣㄲㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄹㅣㄲㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅣㄲㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㄹㅣㄲㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅣㄲㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅣㄲㅏ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㄹㅣㄲㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅣㄲㅏ', '', [], ['eusi', 'euo']),
                suffixInflection('ㅇㅡㄹㅣㄲㅏ', '', [], ['p']),
            ],
        },
        '-(으)리니': {
            name: '-(으)리니',
            rules: [
                suffixInflection('ㄹㅣㄴㅣ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄹㅣㄴㅣ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅣㄴㅣ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㄹㅣㄴㅣ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅣㄴㅣ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅣㄴㅣ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㄹㅣㄴㅣ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅣㄴㅣ', '', [], ['eusi', 'euo']),
                suffixInflection('ㅇㅡㄹㅣㄴㅣ', '', [], ['p']),
            ],
        },
        '-(으)리니라': {
            name: '-(으)리니라',
            rules: [
                suffixInflection('ㄹㅣㄴㅣㄹㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄹㅣㄴㅣㄹㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅣㄴㅣㄹㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㄹㅣㄴㅣㄹㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅣㄴㅣㄹㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅣㄴㅣㄹㅏ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㄹㅣㄴㅣㄹㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅣㄴㅣㄹㅏ', '', [], ['eusi', 'euo']),
                suffixInflection('ㅇㅡㄹㅣㄴㅣㄹㅏ', '', [], ['p']),
            ],
        },
        '-(으)리다': {
            name: '-(으)리다',
            rules: [
                suffixInflection('ㄹㅣㄷㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄹㅣㄷㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅣㄷㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㄹㅣㄷㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅣㄷㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅣㄷㅏ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㄹㅣㄷㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅣㄷㅏ', '', [], ['eusi', 'euo']),
                suffixInflection('ㅇㅡㄹㅣㄷㅏ', '', [], ['p']),
            ],
        },
        '-(으)리라': {
            name: '-(으)리라',
            rules: [
                suffixInflection('ㄹㅣㄹㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄹㅣㄹㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅣㄹㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㄹㅣㄹㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅣㄹㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅣㄹㅏ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㄹㅣㄹㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅣㄹㅏ', '', [], ['eusi']),
                suffixInflection('ㅇㅡㄹㅣㄹㅏ', '', [], ['p']),
            ],
        },
        '-(으)리로다': {
            name: '-(으)리로다',
            rules: [
                suffixInflection('ㄹㅣㄹㅗㄷㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄹㅣㄹㅗㄷㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅣㄹㅗㄷㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㄹㅣㄹㅗㄷㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅣㄹㅗㄷㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅣㄹㅗㄷㅏ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㄹㅣㄹㅗㄷㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅣㄹㅗㄷㅏ', '', [], ['eusi', 'euo']),
                suffixInflection('ㅇㅡㄹㅣㄹㅗㄷㅏ', '', [], ['p']),
            ],
        },
        '-(으)리만치': {
            name: '-(으)리만치',
            rules: [
                suffixInflection('ㄹㅣㅁㅏㄴㅊㅣ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄹㅣㅁㅏㄴㅊㅣ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅣㅁㅏㄴㅊㅣ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㄹㅣㅁㅏㄴㅊㅣ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅣㅁㅏㄴㅊㅣ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅣㅁㅏㄴㅊㅣ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㄹㅣㅁㅏㄴㅊㅣ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅣㅁㅏㄴㅊㅣ', '', [], ['eusi', 'euo']),
                suffixInflection('ㅇㅡㄹㅣㅁㅏㄴㅊㅣ', '', [], ['p']),
            ],
        },
        '-(으)리만큼': {
            name: '-(으)리만큼',
            rules: [
                suffixInflection('ㄹㅣㅁㅏㄴㅋㅡㅁ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄹㅣㅁㅏㄴㅋㅡㅁ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅣㅁㅏㄴㅋㅡㅁ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㄹㅣㅁㅏㄴㅋㅡㅁ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅣㅁㅏㄴㅋㅡㅁ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅣㅁㅏㄴㅋㅡㅁ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㄹㅣㅁㅏㄴㅋㅡㅁ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅣㅁㅏㄴㅋㅡㅁ', '', [], ['eusi', 'euo']),
                suffixInflection('ㅇㅡㄹㅣㅁㅏㄴㅋㅡㅁ', '', [], ['p']),
            ],
        },
        '-(으)리오': {
            name: '-(으)리오',
            rules: [
                suffixInflection('ㄹㅣㅇㅗ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄹㅣㅇㅗ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅣㅇㅗ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㄹㅣㅇㅗ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅣㅇㅗ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅣㅇㅗ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㄹㅣㅇㅗ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅣㅇㅗ', '', [], ['eusi', 'euo']),
                suffixInflection('ㅇㅡㄹㅣㅇㅗ', '', [], ['p']),
            ],
        },
        '-(으)마': {
            name: '-(으)마',
            rules: [
                suffixInflection('ㅁㅏ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㅁㅏ', 'ㄹㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㅁㅏ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅜㅁㅏ', 'ㅂㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㅁㅏ', 'ㅅㄷㅏ', [], ['v']),
                suffixInflection('ㄹㅇㅡㅁㅏ', 'ㄷㄷㅏ', [], ['v']),
            ],
        },
        '-(으)매': {
            name: '-(으)매',
            rules: [
                suffixInflection('ㅁㅐ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㅁㅐ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㅁㅐ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㅁㅐ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㅁㅐ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅁㅐ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㅁㅐ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅁㅐ', '', [], ['eusi']),
                suffixInflection('ㅇㅡㅁㅐ', '', [], ['p', 'f']),
            ],
        },
        '-(으)며': {
            name: '-(으)며',
            rules: [
                suffixInflection('ㅁㅕ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㅁㅕ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㅁㅕ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㅁㅕ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㅁㅕ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅁㅕ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅁㅕ', '', [], ['eusi']),
                suffixInflection('ㅇㅡㅁㅕ', '', [], ['p', 'f']),
            ],
        },
        '-(으)면': {
            name: '-(으)면',
            rules: [
                suffixInflection('ㅁㅕㄴ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㅁㅕㄴ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㅁㅕㄴ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㅁㅕㄴ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㅁㅕㄴ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅁㅕㄴ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㅁㅕㄴ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅁㅕㄴ', '', [], ['eusi', 'euo', 'jao']),
                suffixInflection('ㅇㅡㅁㅕㄴ', '', [], ['p', 'f']),
            ],
        },
        '-(으)면서': {
            name: '-(으)면서',
            rules: [
                suffixInflection('ㅁㅕㄴㅅㅓ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㅁㅕㄴㅅㅓ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㅁㅕㄴㅅㅓ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㅁㅕㄴㅅㅓ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㅁㅕㄴㅅㅓ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅁㅕㄴㅅㅓ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㅁㅕㄴㅅㅓ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅁㅕㄴㅅㅓ', '', [], ['eusi']),
                suffixInflection('ㅇㅡㅁㅕㄴㅅㅓ', '', [], ['p', 'f']),
            ],
        },
        '-(으)므로': {
            name: '-(으)므로',
            rules: [
                suffixInflection('ㅁㅡㄹㅗ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㅁㅡㄹㅗ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㅁㅡㄹㅗ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㅁㅡㄹㅗ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㅁㅡㄹㅗ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅁㅡㄹㅗ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㅁㅡㄹㅗ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅁㅡㄹㅗ', '', [], ['eusi']),
                suffixInflection('ㅇㅡㅁㅡㄹㅗ', '', [], ['p', 'f']),
            ],
        },
        '-(으)사': {
            name: '-(으)사',
            rules: [
                suffixInflection('ㅅㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅅㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㅅㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㅅㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㅅㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅅㅏ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㅅㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),
            ],
        },
        '-사오': {
            name: '-사오',
            rules: [
                suffixInflection('ㅅㅏㅇㅗ', 'ㄷㅏ', ['sao'], ['v', 'adj']),
                suffixInflection('ㅅㅏㅇㅗ', '', ['sao'], ['p', 'f']),
            ],
        },
        '-사오니까': {
            name: '-사오니까',
            rules: [
                suffixInflection('ㅅㅏㅇㅗㄴㅣㄲㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅅㅏㅇㅗㄴㅣㄲㅏ', '', [], ['p', 'f']),
            ],
        },
        '-사오리까': {
            name: '-사오리까',
            rules: [
                suffixInflection('ㅅㅏㅇㅗㄹㅣㄲㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅅㅏㅇㅗㄹㅣㄲㅏ', '', [], ['p', 'f']),
            ],
        },
        '-사오리다': {
            name: '-사오리다',
            rules: [
                suffixInflection('ㅅㅏㅇㅗㄹㅣㄷㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅅㅏㅇㅗㄹㅣㄷㅏ', '', [], ['p', 'f']),
            ],
        },
        '-사오리이까': {
            name: '-사오리이까',
            rules: [
                suffixInflection('ㅅㅏㅇㅗㄹㅣㅇㅣㄲㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅅㅏㅇㅗㄹㅣㅇㅣㄲㅏ', '', [], ['p', 'f']),
            ],
        },
        '-사오리이다': {
            name: '-사오리이다',
            rules: [
                suffixInflection('ㅅㅏㅇㅗㄹㅣㅇㅣㄷㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅅㅏㅇㅗㄹㅣㅇㅣㄷㅏ', '', [], ['p', 'f']),
            ],
        },
        '-사오이다': {
            name: '-사오이다',
            rules: [
                suffixInflection('ㅅㅏㅇㅗㅇㅣㄷㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅅㅏㅇㅗㅇㅣㄷㅏ', '', [], ['p', 'f']),
            ],
        },
        '-사옵': {
            name: '-사옵',
            rules: [
                suffixInflection('ㅅㅏㅇㅗㅂ', 'ㄷㅏ', ['saob'], ['v', 'adj']),
                suffixInflection('ㅅㅏㅇㅗㅂ', '', ['saob'], ['p', 'f']),
            ],
        },
        '-사옵니까': {
            name: '-사옵니까',
            rules: [
                suffixInflection('ㅅㅏㅇㅗㅂㄴㅣㄲㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅅㅏㅇㅗㅂㄴㅣㄲㅏ', '', [], ['p', 'f']),
            ],
        },
        '-사옵니다': {
            name: '-사옵니다',
            rules: [
                suffixInflection('ㅅㅏㅇㅗㅂㄴㅣㄷㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅅㅏㅇㅗㅂㄴㅣㄷㅏ', '', [], ['p', 'f']),
            ],
        },
        '-사옵디까': {
            name: '-사옵디까',
            rules: [
                suffixInflection('ㅅㅏㅇㅗㅂㄷㅣㄲㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅅㅏㅇㅗㅂㄷㅣㄲㅏ', '', [], ['p', 'f']),
            ],
        },
        '-사옵디다': {
            name: '-사옵디다',
            rules: [
                suffixInflection('ㅅㅏㅇㅗㅂㄷㅣㄷㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅅㅏㅇㅗㅂㄷㅣㄷㅏ', '', [], ['p', 'f']),
            ],
        },
        '-사와': {
            name: '-사와',
            rules: [
                suffixInflection('ㅅㅏㅇㅗㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅅㅏㅇㅗㅏ', '', [], ['p', 'f']),
            ],
        },
        '-사외다': {
            name: '-사외다',
            rules: [
                suffixInflection('ㅅㅏㅇㅗㅣㄷㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅅㅏㅇㅗㅣㄷㅏ', '', [], ['p', 'f']),
            ],
        },
        '-(으)사이다': {
            name: '-(으)사이다',
            rules: [
                suffixInflection('ㅅㅏㅇㅣㄷㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅅㅏㅇㅣㄷㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㅅㅏㅇㅣㄷㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㅅㅏㅇㅣㄷㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㅅㅏㅇㅣㄷㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅅㅏㅇㅣㄷㅏ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㅅㅏㅇㅣㄷㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),
            ],
        },
        '-삽': {
            name: '-삽',
            rules: [
                suffixInflection('ㅅㅏㅂ', 'ㄷㅏ', ['sab'], ['v', 'adj']),
                suffixInflection('ㅅㅏㅂ', '', ['sab'], ['p', 'f']),
            ],
        },
        '-(으)세': {
            name: '-(으)세',
            rules: [
                suffixInflection('ㅅㅔ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㅅㅔ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅜㅅㅔ', 'ㅂㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㅅㅔ', 'ㅅㄷㅏ', [], ['v']),
                suffixInflection('ㅅㅔ', 'ㄹㄷㅏ', [], ['v']),
                suffixInflection('ㄹㅇㅡㅅㅔ', 'ㄷㄷㅏ', [], ['v']),
            ],
        },
        '-세나': {
            name: '-세나',
            rules: [
                suffixInflection('ㅅㅔㄴㅏ', 'ㄷㅏ', [], ['v']),
            ],
        },
        '-(으)세요': {
            name: '-(으)세요',
            rules: [
                suffixInflection('ㅅㅔㅇㅛ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㅇㅡㅅㅔㅇㅛ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㅅㅔㅇㅛ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㅅㅔㅇㅛ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅅㅔㅇㅛ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㅅㅔㅇㅛ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅇㅡㅅㅔㅇㅛ', 'ㄷㄷㅏ', [], ['v', 'adj']),
            ],
        },
        '-(으)셔요': {
            name: '-(으)셔요',
            rules: [
                suffixInflection('ㅅㅕㅇㅛ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㅇㅡㅅㅕㅇㅛ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㅅㅕㅇㅛ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㅅㅕㅇㅛ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅅㅕㅇㅛ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㅅㅕㅇㅛ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅇㅡㅅㅕㅇㅛ', 'ㄷㄷㅏ', [], ['v', 'adj']),
            ],
        },
        '-소': {
            name: '-소',
            rules: [
                suffixInflection('ㅅㅗ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅅㅗ', '', [], ['p', 'f']),
            ],
        },
        '-소다': {
            name: '-소다',
            rules: [
                suffixInflection('ㅅㅗㄷㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅅㅗㄷㅏ', '', [], ['p', 'f']),
            ],
        },
        '-(으)소서': {
            name: '-(으)소서',
            rules: [
                suffixInflection('ㅅㅗㅅㅓ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㅅㅗㅅㅓ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㅅㅗㅅㅓ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㅅㅗㅅㅓ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅅㅗㅅㅓ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㅅㅗㅅㅓ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅇㅡㅅㅗㅅㅓ', 'ㄷㄷㅏ', [], ['v', 'adj']),
            ],
        },
        '-소이까': {
            name: '-소이까',
            rules: [
                suffixInflection('ㅅㅗㅇㅣㄲㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㅅㅗㅇㅣㄲㅏ', '', [], ['p', 'f']),
            ],
        },
        '-소이다': {
            name: '-소이다',
            rules: [
                suffixInflection('ㅅㅗㅇㅣㄷㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅅㅗㅇㅣㄷㅏ', '', [], ['p', 'f']),
            ],
        },
        '-쇠다': {
            name: '-쇠다',
            rules: [
                suffixInflection('ㅅㅗㅣㄷㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅅㅗㅣㄷㅏ', '', [], ['p', 'f']),
            ],
        },
        '-(스)ㅂ네': {
            name: '-(스)ㅂ네',
            rules: [
                suffixInflection('ㅂㄴㅔ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㅂㄴㅔ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅅㅡㅂㄴㅔ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅅㅡㅂㄴㅔ', '', [], ['p', 'f']),
                suffixInflection('ㅂㄴㅔ', '', [], ['eusi']),
            ],
        },
        '-(스)ㅂ늰다': {
            name: '-(스)ㅂ늰다',
            rules: [
                suffixInflection('ㅂㄴㅡㅣㄴㄷㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㅂㄴㅡㅣㄴㄷㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅅㅡㅂㄴㅡㅣㄴㄷㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅅㅡㅂㄴㅡㅣㄴㄷㅏ', '', [], ['p', 'f']),
                suffixInflection('ㅂㄴㅡㅣㄴㄷㅏ', '', [], ['eusi']),
            ],
        },
        '-(스)ㅂ니까': {
            name: '-(스)ㅂ니까',
            rules: [
                suffixInflection('ㅂㄴㅣㄲㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㅂㄴㅣㄲㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅅㅡㅂㄴㅣㄲㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅅㅡㅂㄴㅣㄲㅏ', '', [], ['p', 'f']),
                suffixInflection('ㅂㄴㅣㄲㅏ', '', [], ['eusi']),
            ],
        },
        '-(스)ㅂ니다': {
            name: '-(스)ㅂ니다',
            rules: [
                suffixInflection('ㅂㄴㅣㄷㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㅂㄴㅣㄷㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅅㅡㅂㄴㅣㄷㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅅㅡㅂㄴㅣㄷㅏ', '', [], ['p', 'f']),
                suffixInflection('ㅂㄴㅣㄷㅏ', '', [], ['eusi']),
            ],
        },
        '-(스)ㅂ디까': {
            name: '-(스)ㅂ디까',
            rules: [
                suffixInflection('ㅂㄷㅣㄲㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㅂㄷㅣㄲㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅅㅡㅂㄷㅣㄲㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅅㅡㅂㄷㅣㄲㅏ', '', [], ['p', 'f']),
                suffixInflection('ㅂㄷㅣㄲㅏ', '', [], ['eusi']),
            ],
        },
        '-(스)ㅂ디다': {
            name: '-(스)ㅂ디다',
            rules: [
                suffixInflection('ㅂㄷㅣㄷㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㅂㄷㅣㄷㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅅㅡㅂㄷㅣㄷㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅅㅡㅂㄷㅣㄷㅏ', '', [], ['p', 'f']),
                suffixInflection('ㅂㄷㅣㄷㅏ', '', [], ['eusi']),
            ],
        },
        '-(스)ㅂ딘다': {
            name: '-(스)ㅂ딘다',
            rules: [
                suffixInflection('ㅂㄷㅣㄴㄷㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㅂㄷㅣㄴㄷㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅅㅡㅂㄷㅣㄴㄷㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅅㅡㅂㄷㅣㄴㄷㅏ', '', [], ['p', 'f']),
                suffixInflection('ㅂㄷㅣㄴㄷㅏ', '', [], ['eusi']),
            ],
        },
        '-(스)ㅂ죠': {
            name: '-(스)ㅂ죠',
            rules: [
                suffixInflection('ㅂㅈㅛ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㅂㅈㅛ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅅㅡㅂㅈㅛ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅅㅡㅂㅈㅛ', '', [], ['p', 'f']),
                suffixInflection('ㅂㅈㅛ', '', [], ['eusi']),
            ],
        },
        '-(스)ㅂ지요': {
            name: '-(스)ㅂ지요',
            rules: [
                suffixInflection('ㅂㅈㅣㅇㅛ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㅂㅈㅣㅇㅛ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅅㅡㅂㅈㅣㅇㅛ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅅㅡㅂㅈㅣㅇㅛ', '', [], ['p', 'f']),
                suffixInflection('ㅂㅈㅣㅇㅛ', '', [], ['eusi']),
            ],
        },
        '-(으)시': {
            name: '-(으)시',
            rules: [
                suffixInflection('ㅅㅣ', 'ㄷㅏ', ['eusi'], ['v', 'adj', 'ida']),
                suffixInflection('ㅇㅡㅅㅣ', 'ㄷㅏ', ['eusi'], ['v', 'adj']),
                suffixInflection('ㅇㅜㅅㅣ', 'ㅂㄷㅏ', ['eusi'], ['v', 'adj']),
                suffixInflection('ㅇㅡㅅㅣ', 'ㅅㄷㅏ', ['eusi'], ['v', 'adj']),
                suffixInflection('ㅅㅣ', 'ㅎㄷㅏ', ['eusi'], ['adj']),
                suffixInflection('ㅅㅣ', 'ㄹㄷㅏ', ['eusi'], ['v', 'adj']),
                suffixInflection('ㄹㅇㅡㅅㅣ', 'ㄷㄷㅏ', ['eusi'], ['v', 'adj']),
                suffixInflection('ㅅㅣ', '', ['eusi'], ['saob', 'euob', 'jaob']),
            ],
        },
        '-(으)시압': {
            name: '-(으)시압',
            rules: [
                suffixInflection('ㅅㅣㅇㅏㅂ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㅅㅣㅇㅏㅂ', 'ㄹㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㅅㅣㅇㅏㅂ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅜㅅㅣㅇㅏㅂ', 'ㅂㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㅅㅣㅇㅏㅂ', 'ㅅㄷㅏ', [], ['v']),
                suffixInflection('ㄹㅇㅡㅅㅣㅇㅏㅂ', 'ㄷㄷㅏ', [], ['v']),
            ],
        },
        '-(으)시어요': {
            name: '-(으)시어요',
            rules: [
                suffixInflection('ㅅㅣㅇㅓㅇㅛ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㅇㅡㅅㅣㅇㅓㅇㅛ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㅅㅣㅇㅓㅇㅛ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㅅㅣㅇㅓㅇㅛ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅅㅣㅇㅓㅇㅛ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㅅㅣㅇㅓㅇㅛ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅇㅡㅅㅣㅇㅓㅇㅛ', 'ㄷㄷㅏ', [], ['v', 'adj']),
            ],
        },
        '-(으)십사': {
            name: '-(으)십사',
            rules: [
                suffixInflection('ㅅㅣㅂㅅㅏ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㅅㅣㅂㅅㅏ', 'ㄹㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㅅㅣㅂㅅㅏ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅜㅅㅣㅂㅅㅏ', 'ㅂㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㅅㅣㅂㅅㅏ', 'ㅅㄷㅏ', [], ['v']),
                suffixInflection('ㄹㅇㅡㅅㅣㅂㅅㅏ', 'ㄷㄷㅏ', [], ['v']),
            ],
        },
        '-(으)십시다': {
            name: '-(으)십시다',
            rules: [
                suffixInflection('ㅅㅣㅂㅅㅣㄷㅏ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㅅㅣㅂㅅㅣㄷㅏ', 'ㄹㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㅅㅣㅂㅅㅣㄷㅏ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅜㅅㅣㅂㅅㅣㄷㅏ', 'ㅂㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㅅㅣㅂㅅㅣㄷㅏ', 'ㅅㄷㅏ', [], ['v']),
                suffixInflection('ㄹㅇㅡㅅㅣㅂㅅㅣㄷㅏ', 'ㄷㄷㅏ', [], ['v']),
            ],
        },
        '-(으)십시오': {
            name: '-(으)십시오',
            rules: [
                suffixInflection('ㅅㅣㅂㅅㅣㅇㅗ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㅅㅣㅂㅅㅣㅇㅗ', 'ㄹㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㅅㅣㅂㅅㅣㅇㅗ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅜㅅㅣㅂㅅㅣㅇㅗ', 'ㅂㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㅅㅣㅂㅅㅣㅇㅗ', 'ㅅㄷㅏ', [], ['v']),
                suffixInflection('ㄹㅇㅡㅅㅣㅂㅅㅣㅇㅗ', 'ㄷㄷㅏ', [], ['v']),
            ],
        },
        '-아/어': {
            name: '-아/어',
            rules: [
                suffixInflection('ㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅓ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅓ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㅕ', 'ㅣㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅕ', 'ㅇㅣㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㅎㅐ', 'ㅎㅏㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅎㅏㅇㅕ', 'ㅎㅏㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅗㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㅓ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅓ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅐ', 'ㅣㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅐ', 'ㅏㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㅐ', 'ㅓㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㅖ', 'ㅕㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㅒ', 'ㅑㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅇㅓ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㄹㅏ', 'ㄹㅡㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㄹㅓ', 'ㄹㅡㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅡㄹㅓ', 'ㄹㅡㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅏ', 'ㅡㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅓ', 'ㅡㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅏ', 'ㅡㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅓ', 'ㅡㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅓ', '', [], ['p', 'f']),
            ],
        },
        '-아/어다': {
            name: '-아/어다',
            rules: [
                suffixInflection('ㅏㄷㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅓㄷㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅏㄷㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅓㄷㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㅕㄷㅏ', 'ㅣㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅕㄷㅏ', 'ㅇㅣㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㅎㅐㄷㅏ', 'ㅎㅏㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅎㅏㅇㅕㄷㅏ', 'ㅎㅏㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅗㅏㄷㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㅓㄷㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅏㄷㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅓㄷㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅐㄷㅏ', 'ㅣㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅐㄷㅏ', 'ㅏㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㅐㄷㅏ', 'ㅓㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㅖㄷㅏ', 'ㅕㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㅒㄷㅏ', 'ㅑㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅏㄷㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅇㅓㄷㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㄹㅏㄷㅏ', 'ㄹㅡㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㄹㅓㄷㅏ', 'ㄹㅡㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅡㄹㅓㄷㅏ', 'ㄹㅡㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅏㄷㅏ', 'ㅡㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅓㄷㅏ', 'ㅡㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅏㄷㅏ', 'ㅡㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅓㄷㅏ', 'ㅡㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅓㄷㅏ', '', [], ['p', 'f']),
            ],
        },
        '-아/어다가': {
            name: '-아/어다가',
            rules: [
                suffixInflection('ㅏㄷㅏㄱㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅓㄷㅏㄱㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅏㄷㅏㄱㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅓㄷㅏㄱㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄷㅏㄱㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅏㄷㅏㄱㅏ', 'ㅏㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅓㄷㅏㄱㅏ', 'ㅓㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅕㄷㅏㄱㅏ', 'ㅣㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅕㄷㅏㄱㅏ', 'ㅇㅣㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㅎㅐㄷㅏㄱㅏ', 'ㅎㅏㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅎㅏㅇㅕㄷㅏㄱㅏ', 'ㅎㅏㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅗㅏㄷㅏㄱㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㅓㄷㅏㄱㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅏㄷㅏㄱㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅓㄷㅏㄱㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅐㄷㅏㄱㅏ', 'ㅣㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅐㄷㅏㄱㅏ', 'ㅏㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㅐㄷㅏㄱㅏ', 'ㅓㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㅖㄷㅏㄱㅏ', 'ㅕㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㅒㄷㅏㄱㅏ', 'ㅑㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅏㄷㅏㄱㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅇㅓㄷㅏㄱㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㄹㅏㄷㅏㄱㅏ', 'ㄹㅡㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㄹㅓㄷㅏㄱㅏ', 'ㄹㅡㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅡㄹㅓㄷㅏㄱㅏ', 'ㄹㅡㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅏㄷㅏㄱㅏ', 'ㅡㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅓㄷㅏㄱㅏ', 'ㅡㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅏㄷㅏㄱㅏ', 'ㅡㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅓㄷㅏㄱㅏ', 'ㅡㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅓㄷㅏㄱㅏ', '', [], ['p', 'f']),
            ],
        },
        '-아/어도': {
            name: '-아/어도',
            rules: [
                suffixInflection('ㅏㄷㅗ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅓㄷㅗ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅏㄷㅗ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅓㄷㅗ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㅏㄷㅗ', 'ㅏㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅓㄷㅗ', 'ㅓㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄷㅗ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅕㄷㅗ', 'ㅣㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅕㄷㅗ', 'ㅇㅣㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㅎㅐㄷㅗ', 'ㅎㅏㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅎㅏㅇㅕㄷㅗ', 'ㅎㅏㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅗㅏㄷㅗ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㅓㄷㅗ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅏㄷㅗ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅓㄷㅗ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅐㄷㅗ', 'ㅣㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅐㄷㅗ', 'ㅏㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㅐㄷㅗ', 'ㅓㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㅖㄷㅗ', 'ㅕㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㅒㄷㅗ', 'ㅑㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅏㄷㅗ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅇㅓㄷㅗ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㄹㅏㄷㅗ', 'ㄹㅡㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㄹㅓㄷㅗ', 'ㄹㅡㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅡㄹㅓㄷㅗ', 'ㄹㅡㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅏㄷㅗ', 'ㅡㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅓㄷㅗ', 'ㅡㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅏㄷㅗ', 'ㅡㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅓㄷㅗ', 'ㅡㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅓㄷㅗ', '', [], ['p', 'f']),
            ],
        },
        '-아/어라': {
            name: '-아/어라',
            rules: [
                suffixInflection('ㅏㄹㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅓㄹㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅏㄹㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅓㄹㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㅏㄹㅏ', 'ㅏㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅓㄹㅏ', 'ㅓㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅕㄹㅏ', 'ㅣㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅕㄹㅏ', 'ㅇㅣㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㅎㅐㄹㅏ', 'ㅎㅏㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅎㅏㅇㅕㄹㅏ', 'ㅎㅏㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅗㅏㄹㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㅓㄹㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅏㄹㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅓㄹㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅐㄹㅏ', 'ㅣㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅐㄹㅏ', 'ㅏㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㅐㄹㅏ', 'ㅓㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㅖㄹㅏ', 'ㅕㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㅒㄹㅏ', 'ㅑㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅏㄹㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅇㅓㄹㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㄹㅏㄹㅏ', 'ㄹㅡㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㄹㅓㄹㅏ', 'ㄹㅡㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅡㄹㅓㄹㅏ', 'ㄹㅡㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅏㄹㅏ', 'ㅡㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅓㄹㅏ', 'ㅡㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅏㄹㅏ', 'ㅡㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅓㄹㅏ', 'ㅡㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅓㄹㅏ', '', [], ['p', 'f']),
            ],
        },
        '-아/어서': {
            name: '-아/어서',
            rules: [
                suffixInflection('ㅏㅅㅓ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅓㅅㅓ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅏㅅㅓ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅓㅅㅓ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㅏㅅㅓ', 'ㅏㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅓㅅㅓ', 'ㅓㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅅㅓ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅕㅅㅓ', 'ㅣㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅕㅅㅓ', 'ㅇㅣㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㅎㅐㅅㅓ', 'ㅎㅏㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅎㅏㅇㅕㅅㅓ', 'ㅎㅏㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅗㅏㅅㅓ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㅓㅅㅓ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅏㅅㅓ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅓㅅㅓ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅐㅅㅓ', 'ㅣㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅐㅅㅓ', 'ㅏㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㅐㅅㅓ', 'ㅓㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㅖㅅㅓ', 'ㅕㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㅒㅅㅓ', 'ㅑㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅏㅅㅓ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅇㅓㅅㅓ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㄹㅏㅅㅓ', 'ㄹㅡㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㄹㅓㅅㅓ', 'ㄹㅡㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅡㄹㅓㅅㅓ', 'ㄹㅡㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅏㅅㅓ', 'ㅡㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅓㅅㅓ', 'ㅡㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅏㅅㅓ', 'ㅡㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅓㅅㅓ', 'ㅡㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅓㅅㅓ', '', [], ['p', 'f']),
            ],
        },
        '-아/어야': {
            name: '-아/어야',
            rules: [
                suffixInflection('ㅏㅇㅑ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅓㅇㅑ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅏㅇㅑ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅓㅇㅑ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㅏㅇㅑ', 'ㅏㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅓㅇㅑ', 'ㅓㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅑ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅕㅇㅑ', 'ㅣㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅕㅇㅑ', 'ㅇㅣㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㅎㅐㅇㅑ', 'ㅎㅏㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅎㅏㅇㅕㅇㅑ', 'ㅎㅏㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅗㅏㅇㅑ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㅓㅇㅑ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅏㅇㅑ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅓㅇㅑ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅐㅇㅑ', 'ㅣㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅐㅇㅑ', 'ㅏㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㅐㅇㅑ', 'ㅓㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㅖㅇㅑ', 'ㅕㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㅒㅇㅑ', 'ㅑㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅏㅇㅑ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅇㅓㅇㅑ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㄹㅏㅇㅑ', 'ㄹㅡㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㄹㅓㅇㅑ', 'ㄹㅡㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅡㄹㅓㅇㅑ', 'ㄹㅡㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅏㅇㅑ', 'ㅡㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅓㅇㅑ', 'ㅡㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅏㅇㅑ', 'ㅡㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅓㅇㅑ', 'ㅡㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅓㅇㅑ', '', [], ['p', 'f']),
            ],
        },
        '-아/어야겠': {
            name: '-아/어야겠',
            rules: [
                suffixInflection('ㅏㅇㅑㄱㅔㅆ', 'ㄷㅏ', ['f'], ['v', 'adj']),
                suffixInflection('ㅓㅇㅑㄱㅔㅆ', 'ㄷㅏ', ['f'], ['v', 'adj']),
                suffixInflection('ㅇㅏㅇㅑㄱㅔㅆ', 'ㄷㅏ', ['f'], ['v', 'adj']),
                suffixInflection('ㅇㅓㅇㅑㄱㅔㅆ', 'ㄷㅏ', ['f'], ['v', 'adj', 'ida']),
                suffixInflection('ㅏㅇㅑㄱㅔㅆ', 'ㅏㄷㅏ', ['f'], ['v', 'adj']),
                suffixInflection('ㅓㅇㅑㄱㅔㅆ', 'ㅓㄷㅏ', ['f'], ['v', 'adj']),
                suffixInflection('ㅇㅑㄱㅔㅆ', 'ㄷㅏ', ['f'], ['v', 'adj']),
                suffixInflection('ㅕㅇㅑㄱㅔㅆ', 'ㅣㄷㅏ', ['f'], ['v', 'adj']),
                suffixInflection('ㅇㅕㅇㅑㄱㅔㅆ', 'ㅇㅣㄷㅏ', ['f'], ['v', 'adj', 'ida']),
                suffixInflection('ㅎㅐㅇㅑㄱㅔㅆ', 'ㅎㅏㄷㅏ', ['f'], ['v', 'adj']),
                suffixInflection('ㅎㅏㅇㅕㅇㅑㄱㅔㅆ', 'ㅎㅏㄷㅏ', ['f'], ['v', 'adj']),
                suffixInflection('ㅇㅗㅏㅇㅑㄱㅔㅆ', 'ㅂㄷㅏ', ['f'], ['v', 'adj']),
                suffixInflection('ㅇㅜㅓㅇㅑㄱㅔㅆ', 'ㅂㄷㅏ', ['f'], ['v', 'adj']),
                suffixInflection('ㅇㅏㅇㅑㄱㅔㅆ', 'ㅅㄷㅏ', ['f'], ['v', 'adj']),
                suffixInflection('ㅇㅓㅇㅑㄱㅔㅆ', 'ㅅㄷㅏ', ['f'], ['v', 'adj']),
                suffixInflection('ㅐㅇㅑㄱㅔㅆ', 'ㅣㄷㅏ', ['f'], ['v', 'adj']),
                suffixInflection('ㅐㅇㅑㄱㅔㅆ', 'ㅏㅎㄷㅏ', ['f'], ['adj']),
                suffixInflection('ㅐㅇㅑㄱㅔㅆ', 'ㅓㅎㄷㅏ', ['f'], ['adj']),
                suffixInflection('ㅖㅇㅑㄱㅔㅆ', 'ㅕㅎㄷㅏ', ['f'], ['adj']),
                suffixInflection('ㅒㅇㅑㄱㅔㅆ', 'ㅑㅎㄷㅏ', ['f'], ['adj']),
                suffixInflection('ㄹㅇㅏㅇㅑㄱㅔㅆ', 'ㄷㄷㅏ', ['f'], ['v', 'adj']),
                suffixInflection('ㄹㅇㅓㅇㅑㄱㅔㅆ', 'ㄷㄷㅏ', ['f'], ['v', 'adj']),
                suffixInflection('ㄹㄹㅏㅇㅑㄱㅔㅆ', 'ㄹㅡㄷㅏ', ['f'], ['v', 'adj']),
                suffixInflection('ㄹㄹㅓㅇㅑㄱㅔㅆ', 'ㄹㅡㄷㅏ', ['f'], ['v', 'adj']),
                suffixInflection('ㄹㅡㄹㅓㅇㅑㄱㅔㅆ', 'ㄹㅡㄷㅏ', ['f'], ['v', 'adj']),
                suffixInflection('ㅏㅇㅑㄱㅔㅆ', 'ㅡㄷㅏ', ['f'], ['v', 'adj']),
                suffixInflection('ㅓㅇㅑㄱㅔㅆ', 'ㅡㄷㅏ', ['f'], ['v', 'adj']),
                suffixInflection('ㅏㅇㅑㄱㅔㅆ', 'ㅡㄷㅏ', ['f'], ['v', 'adj']),
                suffixInflection('ㅓㅇㅑㄱㅔㅆ', 'ㅡㄷㅏ', ['f'], ['v', 'adj']),
            ],
        },
        '-아/어야만': {
            name: '-아/어야만',
            rules: [
                suffixInflection('ㅏㅇㅑㅁㅏㄴ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅓㅇㅑㅁㅏㄴ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅏㅇㅑㅁㅏㄴ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅓㅇㅑㅁㅏㄴ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㅏㅇㅑㅁㅏㄴ', 'ㅏㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅓㅇㅑㅁㅏㄴ', 'ㅓㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅑㅁㅏㄴ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅕㅇㅑㅁㅏㄴ', 'ㅣㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅕㅇㅑㅁㅏㄴ', 'ㅇㅣㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㅎㅐㅇㅑㅁㅏㄴ', 'ㅎㅏㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅎㅏㅇㅕㅇㅑㅁㅏㄴ', 'ㅎㅏㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅗㅏㅇㅑㅁㅏㄴ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㅓㅇㅑㅁㅏㄴ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅏㅇㅑㅁㅏㄴ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅓㅇㅑㅁㅏㄴ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅐㅇㅑㅁㅏㄴ', 'ㅣㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅐㅇㅑㅁㅏㄴ', 'ㅏㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㅐㅇㅑㅁㅏㄴ', 'ㅓㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㅖㅇㅑㅁㅏㄴ', 'ㅕㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㅒㅇㅑㅁㅏㄴ', 'ㅑㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅏㅇㅑㅁㅏㄴ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅇㅓㅇㅑㅁㅏㄴ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㄹㅏㅇㅑㅁㅏㄴ', 'ㄹㅡㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㄹㅓㅇㅑㅁㅏㄴ', 'ㄹㅡㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅡㄹㅓㅇㅑㅁㅏㄴ', 'ㄹㅡㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅏㅇㅑㅁㅏㄴ', 'ㅡㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅓㅇㅑㅁㅏㄴ', 'ㅡㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅏㅇㅑㅁㅏㄴ', 'ㅡㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅓㅇㅑㅁㅏㄴ', 'ㅡㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅓㅇㅑㅁㅏㄴ', '', [], ['p', 'f']),
            ],
        },
        '-아/어야지': {
            name: '-아/어야지',
            rules: [
                suffixInflection('ㅏㅇㅑㅈㅣ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅓㅇㅑㅈㅣ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅏㅇㅑㅈㅣ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅓㅇㅑㅈㅣ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㅏㅇㅑㅈㅣ', 'ㅏㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅓㅇㅑㅈㅣ', 'ㅓㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅑㅈㅣ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅕㅇㅑㅈㅣ', 'ㅣㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅕㅇㅑㅈㅣ', 'ㅇㅣㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㅎㅐㅇㅑㅈㅣ', 'ㅎㅏㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅎㅏㅇㅕㅇㅑㅈㅣ', 'ㅎㅏㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅗㅏㅇㅑㅈㅣ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㅓㅇㅑㅈㅣ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅏㅇㅑㅈㅣ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅓㅇㅑㅈㅣ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅐㅇㅑㅈㅣ', 'ㅣㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅐㅇㅑㅈㅣ', 'ㅏㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㅐㅇㅑㅈㅣ', 'ㅓㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㅖㅇㅑㅈㅣ', 'ㅕㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㅒㅇㅑㅈㅣ', 'ㅑㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅏㅇㅑㅈㅣ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅇㅓㅇㅑㅈㅣ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㄹㅏㅇㅑㅈㅣ', 'ㄹㅡㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㄹㅓㅇㅑㅈㅣ', 'ㄹㅡㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅡㄹㅓㅇㅑㅈㅣ', 'ㄹㅡㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅏㅇㅑㅈㅣ', 'ㅡㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅓㅇㅑㅈㅣ', 'ㅡㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅏㅇㅑㅈㅣ', 'ㅡㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅓㅇㅑㅈㅣ', 'ㅡㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅓㅇㅑㅈㅣ', '', [], ['p', 'f']),
            ],
        },
        '-아/어요': {
            name: '-아/어요',
            rules: [
                suffixInflection('ㅏㅇㅛ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅓㅇㅛ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅏㅇㅛ', 'ㅏㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅓㅇㅛ', 'ㅓㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅏㅇㅛ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅓㅇㅛ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㅇㅛ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅕㅇㅛ', 'ㅣㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅕㅇㅛ', 'ㅇㅣㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㅇㅖㅇㅛ', 'ㅇㅣㄷㅏ', [], ['adj', 'ida']),
                suffixInflection('ㅎㅐㅇㅛ', 'ㅎㅏㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅎㅏㅇㅕㅇㅛ', 'ㅎㅏㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅗㅏㅇㅛ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㅓㅇㅛ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅏㅇㅛ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅓㅇㅛ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅐㅇㅛ', 'ㅣㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅐㅇㅛ', 'ㅏㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㅐㅇㅛ', 'ㅓㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㅖㅇㅛ', 'ㅕㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㅒㅇㅛ', 'ㅑㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅏㅇㅛ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅇㅓㅇㅛ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㄹㅏㅇㅛ', 'ㄹㅡㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㄹㅓㅇㅛ', 'ㄹㅡㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅡㄹㅓㅇㅛ', 'ㄹㅡㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅏㅇㅛ', 'ㅡㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅓㅇㅛ', 'ㅡㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅏㅇㅛ', 'ㅡㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅓㅇㅛ', 'ㅡㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅔㅇㅛ', 'ㄷㅏ', [], ['adj', 'ida']),
                suffixInflection('ㅇㅓㅇㅛ', '', [], ['p', 'f']),
            ],
        },
        '-아/어지이다': {
            name: '-아/어지이다',
            rules: [
                suffixInflection('ㅏㅈㅣㅇㅣㄷㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅓㅈㅣㅇㅣㄷㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅏㅈㅣㅇㅣㄷㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅓㅈㅣㅇㅣㄷㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㅏㅈㅣㅇㅣㄷㅏ', 'ㅏㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅓㅈㅣㅇㅣㄷㅏ', 'ㅓㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅕㅈㅣㅇㅣㄷㅏ', 'ㅣㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅕㅈㅣㅇㅣㄷㅏ', 'ㅇㅣㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㅎㅐㅈㅣㅇㅣㄷㅏ', 'ㅎㅏㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅎㅏㅇㅕㅈㅣㅇㅣㄷㅏ', 'ㅎㅏㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅗㅏㅈㅣㅇㅣㄷㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㅓㅈㅣㅇㅣㄷㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅏㅈㅣㅇㅣㄷㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅓㅈㅣㅇㅣㄷㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅐㅈㅣㅇㅣㄷㅏ', 'ㅣㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅐㅈㅣㅇㅣㄷㅏ', 'ㅏㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㅐㅈㅣㅇㅣㄷㅏ', 'ㅓㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㅖㅈㅣㅇㅣㄷㅏ', 'ㅕㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㅒㅈㅣㅇㅣㄷㅏ', 'ㅑㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅏㅈㅣㅇㅣㄷㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅇㅓㅈㅣㅇㅣㄷㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㄹㅏㅈㅣㅇㅣㄷㅏ', 'ㄹㅡㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㄹㅓㅈㅣㅇㅣㄷㅏ', 'ㄹㅡㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅡㄹㅓㅈㅣㅇㅣㄷㅏ', 'ㄹㅡㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅏㅈㅣㅇㅣㄷㅏ', 'ㅡㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅓㅈㅣㅇㅣㄷㅏ', 'ㅡㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅏㅈㅣㅇㅣㄷㅏ', 'ㅡㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅓㅈㅣㅇㅣㄷㅏ', 'ㅡㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅓㅈㅣㅇㅣㄷㅏ', '', [], ['p', 'f']),
            ],
        },
        '-아/어지다': {
            name: '-아/어지다',
            rules: [
                suffixInflection('ㅏㅈㅣㄷㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅓㅈㅣㄷㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅏㅈㅣㄷㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅓㅈㅣㄷㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅏㅈㅣㄷㅏ', 'ㅏㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅓㅈㅣㄷㅏ', 'ㅓㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅕㅈㅣㄷㅏ', 'ㅣㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅕㅈㅣㄷㅏ', 'ㅇㅣㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅎㅐㅈㅣㄷㅏ', 'ㅎㅏㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅎㅏㅇㅕㅈㅣㄷㅏ', 'ㅎㅏㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅗㅏㅈㅣㄷㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㅓㅈㅣㄷㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅏㅈㅣㄷㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅓㅈㅣㄷㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅐㅈㅣㄷㅏ', 'ㅣㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅐㅈㅣㄷㅏ', 'ㅏㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㅐㅈㅣㄷㅏ', 'ㅓㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㅖㅈㅣㄷㅏ', 'ㅕㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㅒㅈㅣㄷㅏ', 'ㅑㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅏㅈㅣㄷㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅇㅓㅈㅣㄷㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㄹㅏㅈㅣㄷㅏ', 'ㄹㅡㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㄹㅓㅈㅣㄷㅏ', 'ㄹㅡㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅡㄹㅓㅈㅣㄷㅏ', 'ㄹㅡㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅏㅈㅣㄷㅏ', 'ㅡㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅓㅈㅣㄷㅏ', 'ㅡㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅏㅈㅣㄷㅏ', 'ㅡㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅓㅈㅣㄷㅏ', 'ㅡㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅓㅈㅣㄷㅏ', '', [], ['p', 'f']),
            ],
        },
        '-았/었': {
            name: '-았/었',
            rules: [
                suffixInflection('ㅆ', 'ㄷㅏ', ['p'], ['v', 'adj']),
                suffixInflection('ㅏㅆ', 'ㄷㅏ', ['p'], ['v', 'adj']),
                suffixInflection('ㅇㅏㅆ', 'ㄷㅏ', ['p'], ['v', 'adj']),
                suffixInflection('ㅏㅆ', 'ㅏㄷㅏ', ['p'], ['v', 'adj']),
                suffixInflection('ㅓㅆ', 'ㄷㅏ', ['p'], ['v', 'adj']),
                suffixInflection('ㅇㅓㅆ', 'ㄷㅏ', ['p'], ['v', 'adj', 'ida']),
                suffixInflection('ㅓㅆ', 'ㅓㄷㅏ', ['p'], ['v', 'adj']),
                suffixInflection('ㅕㅆ', 'ㅣㄷㅏ', ['p'], ['v', 'adj']),
                suffixInflection('ㅇㅕㅆ', 'ㅇㅣㄷㅏ', ['p'], ['v', 'adj', 'ida']),
                suffixInflection('ㅎㅐㅆ', 'ㅎㅏㄷㅏ', ['p'], ['v', 'adj']),
                suffixInflection('ㅎㅏㅇㅕㅆ', 'ㅎㅏㄷㅏ', ['p'], ['v', 'adj']),
                suffixInflection('ㅇㅗㅏㅆ', 'ㅂㄷㅏ', ['p'], ['v', 'adj']),
                suffixInflection('ㅇㅜㅓㅆ', 'ㅂㄷㅏ', ['p'], ['v', 'adj']),
                suffixInflection('ㅇㅏㅆ', 'ㅅㄷㅏ', ['p'], ['v', 'adj']),
                suffixInflection('ㅇㅓㅆ', 'ㅅㄷㅏ', ['p'], ['v', 'adj']),
                suffixInflection('ㅐㅆ', 'ㅣㄷㅏ', ['p'], ['v', 'adj']),
                suffixInflection('ㅐㅆ', 'ㅏㅎㄷㅏ', ['p'], ['adj']),
                suffixInflection('ㅐㅆ', 'ㅓㅎㄷㅏ', ['p'], ['adj']),
                suffixInflection('ㅖㅆ', 'ㅕㅎㄷㅏ', ['p'], ['adj']),
                suffixInflection('ㅒㅆ', 'ㅑㅎㄷㅏ', ['p'], ['adj']),
                suffixInflection('ㄹㅇㅏㅆ', 'ㄷㄷㅏ', ['p'], ['v', 'adj']),
                suffixInflection('ㄹㅇㅓㅆ', 'ㄷㄷㅏ', ['p'], ['v', 'adj']),
                suffixInflection('ㄹㄹㅏㅆ', 'ㄹㅡㄷㅏ', ['p'], ['v', 'adj']),
                suffixInflection('ㄹㄹㅓㅆ', 'ㄹㅡㄷㅏ', ['p'], ['v', 'adj']),
                suffixInflection('ㄹㅡㄹㅓㅆ', 'ㄹㅡㄷㅏ', ['p'], ['v', 'adj']),
                suffixInflection('ㅏㅆ', 'ㅡㄷㅏ', ['p'], ['v', 'adj']),
                suffixInflection('ㅓㅆ', 'ㅡㄷㅏ', ['p'], ['v', 'adj']),
                suffixInflection('ㅏㅆ', 'ㅡㄷㅏ', ['p'], ['v', 'adj']),
                suffixInflection('ㅓㅆ', 'ㅡㄷㅏ', ['p'], ['v', 'adj']),
                suffixInflection('ㅅㅕㅆ', 'ㅅㅣ', ['p'], ['eusi']),
                suffixInflection('ㅅㅣㅇㅓㅆ', 'ㅅㅣ', ['p'], ['eusi']),
            ],
        },
        '-았/었었': {
            name: '-았/었었',
            rules: [
                suffixInflection('ㅏㅆㅇㅓㅆ', 'ㄷㅏ', ['p'], ['v', 'adj']),
                suffixInflection('ㅆㅇㅓㅆ', 'ㄷㅏ', ['p'], ['v', 'adj']),
                suffixInflection('ㅇㅏㅆㅇㅓㅆ', 'ㄷㅏ', ['p'], ['v', 'adj']),
                suffixInflection('ㅏㅆㅇㅓㅆ', 'ㅏㄷㅏ', ['p'], ['v', 'adj']),
                suffixInflection('ㅓㅆㅇㅓㅆ', 'ㄷㅏ', ['p'], ['v', 'adj']),
                suffixInflection('ㅇㅓㅆㅇㅓㅆ', 'ㄷㅏ', ['p'], ['v', 'adj', 'ida']),
                suffixInflection('ㅓㅆㅇㅓㅆ', 'ㅓㄷㅏ', ['p'], ['v', 'adj']),
                suffixInflection('ㅕㅆㅇㅓㅆ', 'ㅣㄷㅏ', ['p'], ['v', 'adj']),
                suffixInflection('ㅇㅕㅆㅇㅓㅆ', 'ㅇㅣㄷㅏ', ['p'], ['v', 'adj', 'ida']),
                suffixInflection('ㅎㅐㅆㅇㅓㅆ', 'ㅎㅏㄷㅏ', ['p'], ['v', 'adj']),
                suffixInflection('ㅎㅏㅇㅕㅆㅇㅓㅆ', 'ㅎㅏㄷㅏ', ['p'], ['v', 'adj']),
                suffixInflection('ㅇㅗㅏㅆㅇㅓㅆ', 'ㅂㄷㅏ', ['p'], ['v', 'adj']),
                suffixInflection('ㅇㅜㅓㅆㅇㅓㅆ', 'ㅂㄷㅏ', ['p'], ['v', 'adj']),
                suffixInflection('ㅇㅏㅆㅇㅓㅆ', 'ㅅㄷㅏ', ['p'], ['v', 'adj']),
                suffixInflection('ㅇㅓㅆㅇㅓㅆ', 'ㅅㄷㅏ', ['p'], ['v', 'adj']),
                suffixInflection('ㅐㅆㅇㅓㅆ', 'ㅣㄷㅏ', ['p'], ['v', 'adj']),
                suffixInflection('ㅐㅆㅇㅓㅆ', 'ㅏㅎㄷㅏ', ['p'], ['adj']),
                suffixInflection('ㅐㅆㅇㅓㅆ', 'ㅓㅎㄷㅏ', ['p'], ['adj']),
                suffixInflection('ㅖㅆㅇㅓㅆ', 'ㅕㅎㄷㅏ', ['p'], ['adj']),
                suffixInflection('ㅒㅆㅇㅓㅆ', 'ㅑㅎㄷㅏ', ['p'], ['adj']),
                suffixInflection('ㄹㅇㅏㅆㅇㅓㅆ', 'ㄷㄷㅏ', ['p'], ['v', 'adj']),
                suffixInflection('ㄹㅇㅓㅆㅇㅓㅆ', 'ㄷㄷㅏ', ['p'], ['v', 'adj']),
                suffixInflection('ㄹㄹㅏㅆㅇㅓㅆ', 'ㄹㅡㄷㅏ', ['p'], ['v', 'adj']),
                suffixInflection('ㄹㄹㅓㅆㅇㅓㅆ', 'ㄹㅡㄷㅏ', ['p'], ['v', 'adj']),
                suffixInflection('ㄹㅡㄹㅓㅆㅇㅓㅆ', 'ㄹㅡㄷㅏ', ['p'], ['v', 'adj']),
                suffixInflection('ㅏㅆㅇㅓㅆ', 'ㅡㄷㅏ', ['p'], ['v', 'adj']),
                suffixInflection('ㅓㅆㅇㅓㅆ', 'ㅡㄷㅏ', ['p'], ['v', 'adj']),
                suffixInflection('ㅏㅆㅇㅓㅆ', 'ㅡㄷㅏ', ['p'], ['v', 'adj']),
                suffixInflection('ㅓㅆㅇㅓㅆ', 'ㅡㄷㅏ', ['p'], ['v', 'adj']),
            ],
        },
        '-았/었자': {
            name: '-았/었자',
            rules: [
                suffixInflection('ㅏㅆㅈㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅆㅈㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅏㅆㅈㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅏㅆㅈㅏ', 'ㅏㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅓㅆㅈㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅓㅆㅈㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㅓㅆㅈㅏ', 'ㅓㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅕㅆㅈㅏ', 'ㅣㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅕㅆㅈㅏ', 'ㅇㅣㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㅎㅐㅆㅈㅏ', 'ㅎㅏㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅎㅏㅇㅕㅆㅈㅏ', 'ㅎㅏㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅗㅏㅆㅈㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㅓㅆㅈㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅏㅆㅈㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅓㅆㅈㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅐㅆㅈㅏ', 'ㅣㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅐㅆㅈㅏ', 'ㅏㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㅐㅆㅈㅏ', 'ㅓㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㅖㅆㅈㅏ', 'ㅕㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㅒㅆㅈㅏ', 'ㅑㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅏㅆㅈㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅇㅓㅆㅈㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㄹㅏㅆㅈㅏ', 'ㄹㅡㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㄹㅓㅆㅈㅏ', 'ㄹㅡㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅡㄹㅓㅈㅏ', 'ㄹㅡㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅏㅆㅈㅏ', 'ㅡㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅓㅆㅈㅏ', 'ㅡㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅏㅆㅈㅏ', 'ㅡㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅓㅆㅈㅏ', 'ㅡㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅅㅕㅆㅈㅏ', 'ㅅㅣ', [], ['eusi']),
            ],
        },
        '-야': {
            name: '-야',
            rules: [
                suffixInflection('ㅇㅏㄴㅣㅇㅑ', 'ㅇㅏㄴㅣㄷㅏ', [], ['adj']),
                suffixInflection('ㅇㅣㅇㅑ', 'ㅇㅣㄷㅏ', [], ['ida']),
            ],
        },
        '-언마는': {
            name: '-언마는',
            rules: [
                suffixInflection('ㅇㅓㄴㅁㅏㄴㅡㄴ', '아니다', [], ['adj']),
                suffixInflection('ㅇㅓㄴㅁㅏㄴㅡㄴ', '이다', [], ['ida']),
                suffixInflection('ㅇㅓㄴㅁㅏㄴㅡㄴ', '', [], ['eusi']),
            ],
        },
        '-언만': {
            name: '-언만',
            rules: [
                suffixInflection('ㅇㅓㄴㅁㅏㄴ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㅇㅓㄴㅁㅏㄴ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-언정': {
            name: '-언정',
            rules: [
                suffixInflection('ㅇㅓㄴㅈㅓㅇ', '아니다', [], ['adj']),
                suffixInflection('ㅇㅓㄴㅈㅓㅇ', '이다', [], ['ida']),
                suffixInflection('ㅇㅓㄴㅈㅓㅇ', '', [], ['eusi']),
            ],
        },
        '-에라': {
            name: '-에라',
            rules: [
                suffixInflection('ㅇㅔㄹㅏ', '', [], ['p']),
            ],
        },
        '-(으)오': {
            name: '-(으)오',
            rules: [
                suffixInflection('ㅇㅗ', 'ㄷㅏ', ['euo'], ['v', 'adj']),
                suffixInflection('ㅇㅡㅇㅗ', 'ㄷㅏ', ['euo'], ['v', 'adj']),
                suffixInflection('ㅇㅜㅇㅗ', 'ㅂㄷㅏ', ['euo'], ['v', 'adj']),
                suffixInflection('ㅇㅡㅇㅗ', 'ㅅㄷㅏ', ['euo'], ['v', 'adj']),
                suffixInflection('ㅇㅗ', 'ㅎㄷㅏ', ['euo'], ['adj']),
                suffixInflection('ㅇㅗ', 'ㄹㄷㅏ', ['euo'], ['v', 'adj']),
                suffixInflection('ㄹㅇㅡㅇㅗ', 'ㄷㄷㅏ', ['euo'], ['v', 'adj']),
                suffixInflection('ㅇㅗ', '', ['euo'], ['eusi']),
                suffixInflection('ㅇㅡㅇㅗ', '', ['euo'], ['p', 'f']),
            ],
        },
        '-(으)오니까': {
            name: '-(으)오니까',
            rules: [
                suffixInflection('ㅇㅗㄴㅣㄲㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㅇㅗㄴㅣㄲㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㅇㅗㄴㅣㄲㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㅇㅗㄴㅣㄲㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅗㄴㅣㄲㅏ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㅇㅗㄴㅣㄲㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅇㅡㅇㅗㄴㅣㄲㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅗㄴㅣㄲㅏ', '', [], ['eusi']),
                suffixInflection('ㅇㅡㅇㅗㄴㅣㄲㅏ', '', [], ['p', 'f']),
            ],
        },
        '-(으)오리이까': {
            name: '-(으)오리이까',
            rules: [
                suffixInflection('ㅇㅗㄹㅣㅇㅣㄲㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㅇㅗㄹㅣㅇㅣㄲㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㅇㅗㄹㅣㅇㅣㄲㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㅇㅗㄹㅣㅇㅣㄲㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅗㄹㅣㅇㅣㄲㅏ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㅇㅗㄹㅣㅇㅣㄲㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅇㅡㅇㅗㄹㅣㅇㅣㄲㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅗㄹㅣㅇㅣㄲㅏ', '', [], ['eusi']),
            ],
        },
        '-(으)오리이다': {
            name: '-(으)오리이다',
            rules: [
                suffixInflection('ㅇㅗㄹㅣㅇㅣㄷㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㅇㅗㄹㅣㅇㅣㄷㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㅇㅗㄹㅣㅇㅣㄷㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㅇㅗㄹㅣㅇㅣㄷㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅗㄹㅣㅇㅣㄷㅏ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㅇㅗㄹㅣㅇㅣㄷㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅇㅡㅇㅗㄹㅣㅇㅣㄷㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅗㄹㅣㅇㅣㄷㅏ', '', [], ['eusi']),
            ],
        },
        '-오이까': {
            name: '-오이까',
            rules: [
                suffixInflection('ㅇㅗㅇㅣㄲㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㅇㅗㅇㅣㄲㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅗㅇㅣㄲㅏ', '', [], ['eusi']),
            ],
        },
        '-(으)오이다': {
            name: '-(으)오이다',
            rules: [
                suffixInflection('ㅇㅗㅇㅣㄷㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㅇㅗㅇㅣㄷㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㅇㅗㅇㅣㄷㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㅇㅗㅇㅣㄷㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅗㅇㅣㄷㅏ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㅇㅗㅇㅣㄷㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅇㅡㅇㅗㅇㅣㄷㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅗㅇㅣㄷㅏ', '', [], ['eusi']),
                suffixInflection('ㅇㅡㅇㅗㅇㅣㄷㅏ', '', [], ['p', 'f']),
            ],
        },
        '-올습니다': {
            name: '-올습니다',
            rules: [
                suffixInflection('ㅇㅏㄴㅣㅇㅗㄹㅅㅡㅂㄴㅣㄷㅏ', '아니다', [], ['adj']),
                suffixInflection('ㅇㅣㅇㅗㄹㅅㅡㅂㄴㅣㄷㅏ', '이다', [], ['ida']),
            ],
        },
        '-올시다': {
            name: '-올시다',
            rules: [
                suffixInflection('ㅇㅏㄴㅣㅇㅗㄹㅅㅣㄷㅏ', '아니다', [], ['adj']),
                suffixInflection('ㅇㅣㅇㅗㄹㅅㅣㄷㅏ', '이다', [], ['ida']),
            ],
        },
        '-(으)옵': {
            name: '-(으)옵',
            rules: [
                suffixInflection('ㅇㅗㅂ', 'ㄷㅏ', ['euob'], ['v', 'adj', 'ida']),
                suffixInflection('ㅇㅡㅇㅗㅂ', 'ㄷㅏ', ['euob'], ['v', 'adj']),
                suffixInflection('ㅇㅜㅇㅗㅂ', 'ㅂㄷㅏ', ['euob'], ['v', 'adj']),
                suffixInflection('ㅇㅡㅇㅗㅂ', 'ㅅㄷㅏ', ['euob'], ['v', 'adj']),
                suffixInflection('ㅇㅗㅂ', 'ㅎㄷㅏ', ['euob'], ['adj']),
                suffixInflection('ㅇㅗㅂ', 'ㄹㄷㅏ', ['euob'], ['v', 'adj']),
                suffixInflection('ㄹㅇㅡㅇㅗㅂ', 'ㄷㄷㅏ', ['euob'], ['v', 'adj']),
                suffixInflection('ㅇㅗㅂ', '', ['euob'], ['eusi']),
                suffixInflection('ㅇㅡㅇㅗㅂ', '', ['euob'], ['p', 'f']),
            ],
        },
        '-(으)옵니까': {
            name: '-(으)옵니까',
            rules: [
                suffixInflection('ㅇㅗㅂㄴㅣㄲㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㅇㅡㅇㅗㅂㄴㅣㄲㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㅇㅗㅂㄴㅣㄲㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㅇㅗㅂㄴㅣㄲㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅗㅂㄴㅣㄲㅏ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㅇㅗㅂㄴㅣㄲㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅇㅡㅇㅗㅂㄴㅣㄲㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅗㅂㄴㅣㄲㅏ', '', [], ['eusi']),
                suffixInflection('ㅇㅡㅇㅗㅂㄴㅣㄲㅏ', '', [], ['p', 'f']),
            ],
        },
        '-(으)옵니다': {
            name: '-(으)옵니다',
            rules: [
                suffixInflection('ㅇㅗㅂㄴㅣㄷㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㅇㅡㅇㅗㅂㄴㅣㄷㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㅇㅗㅂㄴㅣㄷㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㅇㅗㅂㄴㅣㄷㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅗㅂㄴㅣㄷㅏ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㅇㅗㅂㄴㅣㄷㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅇㅡㅇㅗㅂㄴㅣㄷㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅗㅂㄴㅣㄷㅏ', '', [], ['eusi']),
                suffixInflection('ㅇㅡㅇㅗㅂㄴㅣㄷㅏ', '', [], ['p', 'f']),
            ],
        },
        '-(으)옵디까': {
            name: '-(으)옵디까',
            rules: [
                suffixInflection('ㅇㅗㅂㄷㅣㄲㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㅇㅡㅇㅗㅂㄷㅣㄲㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㅇㅗㅂㄷㅣㄲㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㅇㅗㅂㄷㅣㄲㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅗㅂㄷㅣㄲㅏ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㅇㅗㅂㄷㅣㄲㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅇㅡㅇㅗㅂㄷㅣㄲㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅗㅂㄷㅣㄲㅏ', '', [], ['eusi']),
                suffixInflection('ㅇㅡㅇㅗㅂㄷㅣㄲㅏ', '', [], ['p', 'f']),
            ],
        },
        '-(으)옵디다': {
            name: '-(으)옵디다',
            rules: [
                suffixInflection('ㅇㅗㅂㄷㅣㄷㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㅇㅡㅇㅗㅂㄷㅣㄷㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㅇㅗㅂㄷㅣㄷㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㅇㅗㅂㄷㅣㄷㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅗㅂㄷㅣㄷㅏ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㅇㅗㅂㄷㅣㄷㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅇㅡㅇㅗㅂㄷㅣㄷㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅗㅂㄷㅣㄷㅏ', '', [], ['eusi']),
                suffixInflection('ㅇㅡㅇㅗㅂㄷㅣㄷㅏ', '', [], ['p', 'f']),
            ],
        },
        '-(으)옵소서': {
            name: '-(으)옵소서',
            rules: [
                suffixInflection('ㅇㅗㅂㅅㅗㅅㅓ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㅇㅡㅇㅗㅂㅅㅗㅅㅓ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㅇㅗㅂㅅㅗㅅㅓ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㅇㅗㅂㅅㅗㅅㅓ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅗㅂㅅㅗㅅㅓ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㅇㅗㅂㅅㅗㅅㅓ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅇㅡㅇㅗㅂㅅㅗㅅㅓ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅗㅂㅅㅗㅅㅓ', '', [], ['eusi']),
                suffixInflection('ㅇㅡㅇㅗㅂㅅㅗㅅㅓ', '', [], ['p', 'f']),
            ],
        },
        '-(으)와': {
            name: '-(으)와',
            rules: [
                suffixInflection('ㅇㅗㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㅇㅡㅇㅗㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㅇㅗㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㅇㅗㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅗㅏ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㅇㅗㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅇㅡㅇㅗㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅗㅏ', '', [], ['eusi', 'euo', 'jao']),
                suffixInflection('ㅇㅡㅇㅗㅏ', '', [], ['p', 'f']),
            ],
        },
        '-(으)외다': {
            name: '-(으)외다',
            rules: [
                suffixInflection('ㅇㅗㅣㄷㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㅇㅡㅇㅗㅣㄷㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㅇㅗㅣㄷㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㅇㅗㅣㄷㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅗㅣㄷㅏ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㅇㅗㅣㄷㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅇㅡㅇㅗㅣㄷㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅗㅣㄷㅏ', '', [], ['eusi']),
                suffixInflection('ㅇㅡㅇㅗㅣㄷㅏ', '', [], ['p', 'f']),
            ],
        },
        '-요': {
            name: '-요',
            rules: [
                suffixInflection('ㅇㅏㄴㅣㅇㅛ', '아니다', [], ['ida']),
                suffixInflection('ㅇㅛ', 'ㄷㅏ', [], ['ida']),
            ],
        },
        '-(으)우': {
            name: '-(으)우',
            rules: [
                suffixInflection('ㅇㅜ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㅇㅡㅇㅜ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㅇㅜ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㅇㅜ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㅇㅜ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅇㅡㅇㅜ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜ', '', [], ['eusi']),
                suffixInflection('ㅇㅡㅇㅜ', '', [], ['p', 'f']),
            ],
        },
        '-(으)이': {
            name: '-(으)이',
            rules: [
                suffixInflection('ㅇㅣ', 'ㄷㅏ', [], ['adj']),
                suffixInflection('ㅇㅣ', 'ㄹㄷㅏ', [], ['adj']),
                suffixInflection('ㅇㅡㅇㅣ', 'ㄷㅏ', [], ['adj']),
                suffixInflection('ㅇㅡㅣ', 'ㄷㅏ', [], ['adj']),
            ],
        },
        '-(으)ㄴ들': {
            name: '-(으)ㄴ들',
            rules: [
                suffixInflection('ㄴㄷㅡㄹ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㅇㅡㄴㄷㅡㄹ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㄴㄷㅡㄹ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄴㄷㅡㄹ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄴㄷㅡㄹ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄴㄷㅡㄹ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅇㅡㄴㄷㅡㄹ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄴㄷㅡㄹ', '', [], ['eusi']),
            ],
        },
        '-(으)ㄴ즉': {
            name: '-(으)ㄴ즉',
            rules: [
                suffixInflection('ㄴㅈㅡㄱ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㅇㅡㄴㅈㅡㄱ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㄴㅈㅡㄱ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄴㅈㅡㄱ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄴㅈㅡㄱ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄴㅈㅡㄱ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅇㅡㄴㅈㅡㄱ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄴㅈㅡㄱ', '', [], ['eusi']),
                suffixInflection('ㅇㅡㄴㅈㅡㄱ', '', [], ['p']),
            ],
        },
        '-(으)ㄴ즉슨': {
            name: '-(으)ㄴ즉슨',
            rules: [
                suffixInflection('ㄴㅈㅡㄱㅅㅡㄴ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㅇㅡㄴㅈㅡㄱㅅㅡㄴ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㄴㅈㅡㄱㅅㅡㄴ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄴㅈㅡㄱㅅㅡㄴ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄴㅈㅡㄱㅅㅡㄴ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄴㅈㅡㄱㅅㅡㄴ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅇㅡㄴㅈㅡㄱㅅㅡㄴ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄴㅈㅡㄱㅅㅡㄴ', '', [], ['eusi']),
                suffixInflection('ㅇㅡㄴㅈㅡㄱㅅㅡㄴ', '', [], ['p']),
            ],
        },
        '-(으)ㄹ까': {
            name: '-(으)ㄹ까',
            rules: [
                suffixInflection('ㄹㄲㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄹㄲㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㄲㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㄹㄲㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㄲㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㄲㅏ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㄹㄲㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㄲㅏ', '', [], ['eusi']),
                suffixInflection('ㅇㅡㄹㄲㅏ', '', [], ['p']),
            ],
        },
        '-(으)ㄹ깝쇼': {
            name: '-(으)ㄹ깝쇼',
            rules: [
                suffixInflection('ㄹㄲㅏㅂㅅㅛ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄹㄲㅏㅂㅅㅛ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㄲㅏㅂㅅㅛ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㄹㄲㅏㅂㅅㅛ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㄲㅏㅂㅅㅛ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㄲㅏㅂㅅㅛ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㄹㄲㅏㅂㅅㅛ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㄲㅏㅂㅅㅛ', '', [], ['eusi']),
                suffixInflection('ㅇㅡㄹㄲㅏㅂㅅㅛ', '', [], ['p']),
            ],
        },
        '-(으)ㄹ꼬': {
            name: '-(으)ㄹ꼬',
            rules: [
                suffixInflection('ㄹㄲㅗ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄹㄲㅗ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㄲㅗ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㄹㄲㅗ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㄲㅗ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㄲㅗ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㄹㄲㅗ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㄲㅗ', '', [], ['eusi']),
                suffixInflection('ㅇㅡㄹㄲㅗ', '', [], ['p']),
            ],
        },
        '-(으)ㄹ는지': {
            name: '-(으)ㄹ는지',
            rules: [
                suffixInflection('ㄹㄴㅡㄴㅈㅣ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄹㄴㅡㄴㅈㅣ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㄴㅡㄴㅈㅣ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㄹㄴㅡㄴㅈㅣ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㄴㅡㄴㅈㅣ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㄴㅡㄴㅈㅣ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㄹㄴㅡㄴㅈㅣ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㄴㅡㄴㅈㅣ', '', [], ['eusi']),
                suffixInflection('ㅇㅡㄹㄴㅡㄴㅈㅣ', '', [], ['p']),
            ],
        },
        '-(으)ㄹ데라니': {
            name: '-(으)ㄹ데라니',
            rules: [
                suffixInflection('ㄹㄷㅔㄹㅏㄴㅣ', 'ㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㄷㅔㄹㅏㄴㅣ', 'ㄹㄷㅏ', [], ['adj']),
                suffixInflection('ㅇㅡㄹㄷㅔㄹㅏㄴㅣ', 'ㄷㅏ', [], ['adj']),
                suffixInflection('ㅇㅜㄹㄷㅔㄹㅏㄴㅣ', 'ㅂㄷㅏ', [], ['adj']),
                suffixInflection('ㅇㅡㄹㄷㅔㄹㅏㄴㅣ', 'ㅅㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㄷㅔㄹㅏㄴㅣ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㄹㄷㅔㄹㅏㄴㅣ', 'ㄷㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㄷㅔㄹㅏㄴㅣ', '', [], ['eusi']),
            ],
        },
        '-(으)ㄹ라': {
            name: '-(으)ㄹ라',
            rules: [
                suffixInflection('ㄹㄹㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄹㄹㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㄹㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㄹㄹㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㄹㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㄹㅏ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㄹㄹㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㄹㅏ', '', [], ['eusi']),
                suffixInflection('ㅇㅡㄹㄹㅏ', '', [], ['p']),
            ],
        },
        '-(으)ㄹ라고': {
            name: '-(으)ㄹ라고',
            rules: [
                suffixInflection('ㄹㄹㅏㄱㅗ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄹㄹㅏㄱㅗ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㄹㅏㄱㅗ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㄹㄹㅏㄱㅗ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㄹㅏㄱㅗ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㄹㅏㄱㅗ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㄹㄹㅏㄱㅗ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㄹㅏㄱㅗ', '', [], ['eusi']),
                suffixInflection('ㅇㅡㄹㄹㅏㄱㅗ', '', [], ['p']),
            ],
        },
        '-(으)ㄹ라치면': {
            name: '-(으)ㄹ라치면',
            rules: [
                suffixInflection('ㄹㄹㅏㅊㅣㅁㅕㄴ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㄹㄹㅏㅊㅣㅁㅕㄴ', 'ㄹㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㄹㄹㅏㅊㅣㅁㅕㄴ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅜㄹㄹㅏㅊㅣㅁㅕㄴ', 'ㅂㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㄹㄹㅏㅊㅣㅁㅕㄴ', 'ㅅㄷㅏ', [], ['v']),
                suffixInflection('ㄹㅇㅡㄹㄹㅏㅊㅣㅁㅕㄴ', 'ㄷㄷㅏ', [], ['v']),
                suffixInflection('ㄹㄹㅏㅊㅣㅁㅕㄴ', '', [], ['eusi']),
            ],
        },
        '-(으)ㄹ락': {
            name: '-(으)ㄹ락',
            rules: [
                suffixInflection('ㄹㄹㅏㄱ ㅁㅏㄹㄹㅏㄱ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㄹㄹㅏㄱ ㅁㅏㄹㄹㅏㄱ', 'ㄹㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㄹㄹㅏㄱ ㅁㅏㄹㄹㅏㄱ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅜㄹㄹㅏㄱ ㅁㅏㄹㄹㅏㄱ', 'ㅂㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㄹㄹㅏㄱ ㅁㅏㄹㄹㅏㄱ', 'ㅅㄷㅏ', [], ['v']),
                suffixInflection('ㄹㅇㅡㄹㄹㅏㄱ ㅁㅏㄹㄹㅏㄱ', 'ㄷㄷㅏ', [], ['v']),
                suffixInflection('ㄹㄹㅏㄱ ㅁㅏㄹㄹㅏㄱ', '', [], ['eusi']),
                suffixInflection('ㅇㅡㄹㄹㅏㄱ ㅁㅏㄹㄹㅏㄱ', '', [], ['p']),
            ],
        },
        '-(으)ㄹ래': {
            name: '-(으)ㄹ래',
            rules: [
                suffixInflection('ㄹㄹㅐ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㄹㄹㅐ', 'ㄹㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㄹㄹㅐ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅜㄹㄹㅐ', 'ㅂㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㄹㄹㅐ', 'ㅅㄷㅏ', [], ['v']),
                suffixInflection('ㄹㅇㅡㄹㄹㅐ', 'ㄷㄷㅏ', [], ['v']),
                suffixInflection('ㄹㄹㅐ', '', [], ['eusi']),
            ],
        },
        '-(으)ㄹ러니': {
            name: '-(으)ㄹ러니',
            rules: [
                suffixInflection('ㄹㄹㅓㄴㅣ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄹㄹㅓㄴㅣ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㄹㅓㄴㅣ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㄹㄹㅓㄴㅣ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㄹㅓㄴㅣ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㄹㅓㄴㅣ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㄹㄹㅓㄴㅣ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㄹㅓㄴㅣ', '', [], ['eusi']),
                suffixInflection('ㅇㅡㄹㄹㅓㄴㅣ', '', [], ['p']),
            ],
        },
        '-(으)ㄹ러라': {
            name: '-(으)ㄹ러라',
            rules: [
                suffixInflection('ㄹㄹㅓㄹㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄹㄹㅓㄹㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㄹㅓㄹㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㄹㄹㅓㄹㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㄹㅓㄹㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㄹㅓㄹㅏ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㄹㄹㅓㄹㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㄹㅓㄹㅏ', '', [], ['eusi']),
                suffixInflection('ㅇㅡㄹㄹㅓㄹㅏ', '', [], ['p']),
            ],
        },
        '-(으)ㄹ런가': {
            name: '-(으)ㄹ런가',
            rules: [
                suffixInflection('ㄹㄹㅓㄴㄱㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄹㄹㅓㄴㄱㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㄹㅓㄴㄱㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㄹㄹㅓㄴㄱㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㄹㅓㄴㄱㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㄹㅓㄴㄱㅏ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㄹㄹㅓㄴㄱㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㄹㅓㄴㄱㅏ', '', [], ['eusi']),
                suffixInflection('ㅇㅡㄹㄹㅓㄴㄱㅏ', '', [], ['p']),
            ],
        },
        '-(으)ㄹ런고': {
            name: '-(으)ㄹ런고',
            rules: [
                suffixInflection('ㄹㄹㅓㄴㄱㅗ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄹㄹㅓㄴㄱㅗ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㄹㅓㄴㄱㅗ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㄹㄹㅓㄴㄱㅗ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㄹㅓㄴㄱㅗ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㄹㅓㄴㄱㅗ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㄹㄹㅓㄴㄱㅗ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㄹㅓㄴㄱㅗ', '', [], ['eusi']),
                suffixInflection('ㅇㅡㄹㄹㅓㄴㄱㅗ', '', [], ['p']),
            ],
        },
        '-(으)ㄹ런지': {
            name: '-(으)ㄹ런지',
            rules: [
                suffixInflection('ㄹㄹㅓㄴㅈㅣ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄹㄹㅓㄴㅈㅣ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㄹㅓㄴㅈㅣ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㄹㄹㅓㄴㅈㅣ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㄹㅓㄴㅈㅣ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㄹㅓㄴㅈㅣ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㄹㄹㅓㄴㅈㅣ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㄹㅓㄴㅈㅣ', '', [], ['eusi']),
                suffixInflection('ㅇㅡㄹㄹㅓㄴㅈㅣ', '', [], ['p']),
            ],
        },
        '-(으)ㄹ레': {
            name: '-(으)ㄹ레',
            rules: [
                suffixInflection('ㄹㄹㅔ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄹㄹㅔ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㄹㅔ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㄹㄹㅔ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㄹㅔ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㄹㅔ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㄹㄹㅔ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㄹㅔ', '', [], ['eusi']),
                suffixInflection('ㅇㅡㄹㄹㅔ', '', [], ['p']),
            ],
        },
        '-(으)ㄹ레라': {
            name: '-(으)ㄹ레라',
            rules: [
                suffixInflection('ㄹㄹㅔㄹㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄹㄹㅔㄹㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㄹㅔㄹㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㄹㄹㅔㄹㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㄹㅔㄹㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㄹㅔㄹㅏ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㄹㄹㅔㄹㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㄹㅔㄹㅏ', '', [], ['eusi']),
                suffixInflection('ㅇㅡㄹㄹㅔㄹㅏ', '', [], ['p']),
            ],
        },
        '-(으)ㄹ려고': {
            name: '-(으)ㄹ려고',
            rules: [
                suffixInflection('ㄹㄹㅕㄱㅗ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㄹㄹㅕㄱㅗ', 'ㄹㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㄹㄹㅕㄱㅗ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅜㄹㄹㅕㄱㅗ', 'ㅂㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㄹㄹㅕㄱㅗ', 'ㅅㄷㅏ', [], ['v']),
                suffixInflection('ㄹㅇㅡㄹㄹㅕㄱㅗ', 'ㄷㄷㅏ', [], ['v']),
                suffixInflection('ㄹㄹㅕㄱㅗ', '', [], ['eusi']),
            ],
        },
        '-(으)ㄹ망정': {
            name: '-(으)ㄹ망정',
            rules: [
                suffixInflection('ㄹㅁㅏㅇㅈㅓㅇ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄹㅁㅏㅇㅈㅓㅇ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅁㅏㅇㅈㅓㅇ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㄹㅁㅏㅇㅈㅓㅇ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅁㅏㅇㅈㅓㅇ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅁㅏㅇㅈㅓㅇ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㄹㅁㅏㅇㅈㅓㅇ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅁㅏㅇㅈㅓㅇ', '', [], ['eusi']),
                suffixInflection('ㅇㅡㄹㅁㅏㅇㅈㅓㅇ', '', [], ['p']),
            ],
        },
        '-(으)ㄹ밖에': {
            name: '-(으)ㄹ밖에',
            rules: [
                suffixInflection('ㄹㅂㅏㄲㅇㅔ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄹㅂㅏㄲㅇㅔ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅂㅏㄲㅇㅔ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㄹㅂㅏㄲㅇㅔ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅂㅏㄲㅇㅔ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅂㅏㄲㅇㅔ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㄹㅂㅏㄲㅇㅔ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅂㅏㄲㅇㅔ', '', [], ['eusi']),
                suffixInflection('ㅇㅡㄹㅂㅏㄲㅇㅔ', '', [], ['p']),
            ],
        },
        '-(으)ㄹ뿐더러': {
            name: '-(으)ㄹ뿐더러',
            rules: [
                suffixInflection('ㄹㅃㅜㄴㄷㅓㄹㅓ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄹㅃㅜㄴㄷㅓㄹㅓ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅃㅜㄴㄷㅓㄹㅓ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㄹㅃㅜㄴㄷㅓㄹㅓ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅃㅜㄴㄷㅓㄹㅓ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅃㅜㄴㄷㅓㄹㅓ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㄹㅃㅜㄴㄷㅓㄹㅓ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅃㅜㄴㄷㅓㄹㅓ', '', [], ['eusi']),
                suffixInflection('ㅇㅡㄹㅃㅜㄴㄷㅓㄹㅓ', '', [], ['p']),
            ],
        },
        '-(으)ㄹ사': {
            name: '-(으)ㄹ사',
            rules: [
                suffixInflection('ㄹㅅㅏ', 'ㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅅㅏ', 'ㄹㄷㅏ', [], ['adj']),
                suffixInflection('ㅇㅡㄹㅅㅏ', 'ㄷㅏ', [], ['adj']),
                suffixInflection('ㅇㅜㄹㅅㅏ', 'ㅂㄷㅏ', [], ['adj']),
                suffixInflection('ㅇㅡㄹㅅㅏ', 'ㅅㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅅㅏ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㄹㅅㅏ', 'ㄷㄷㅏ', [], ['adj']),
            ],
        },
        '-(으)ㄹ새': {
            name: '-(으)ㄹ새',
            rules: [
                suffixInflection('ㄹㅅㅐ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄹㅅㅐ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅅㅐ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㄹㅅㅐ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅅㅐ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅅㅐ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㄹㅅㅐ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅅㅐ', '', [], ['eusi']),
                suffixInflection('ㅇㅡㄹㅅㅐ', '', [], ['p']),
            ],
        },
        '-(으)ㄹ세': {
            name: '-(으)ㄹ세',
            rules: [
                suffixInflection('ㄹㅅㅔ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄹㅅㅔ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅅㅔ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㄹㅅㅔ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅅㅔ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅅㅔ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㄹㅅㅔ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅅㅔ', '', [], ['eusi']),
                suffixInflection('ㅇㅡㄹㅅㅔ', '', [], ['p']),
            ],
        },
        '-(으)ㄹ세라': {
            name: '-(으)ㄹ세라',
            rules: [
                suffixInflection('ㄹㅅㅔㄹㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄹㅅㅔㄹㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅅㅔㄹㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㄹㅅㅔㄹㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅅㅔㄹㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅅㅔㄹㅏ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㄹㅅㅔㄹㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅅㅔㄹㅏ', '', [], ['eusi']),
                suffixInflection('ㅇㅡㄹㅅㅔㄹㅏ', '', [], ['p']),
            ],
        },
        '-(으)ㄹ세말이지': {
            name: '-(으)ㄹ세말이지',
            rules: [
                suffixInflection('ㄹㅅㅔㅁㅏㄹㅇㅣㅈㅣ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄹㅅㅔㅁㅏㄹㅇㅣㅈㅣ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅅㅔㅁㅏㄹㅇㅣㅈㅣ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㄹㅅㅔㅁㅏㄹㅇㅣㅈㅣ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅅㅔㅁㅏㄹㅇㅣㅈㅣ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅅㅔㅁㅏㄹㅇㅣㅈㅣ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㄹㅅㅔㅁㅏㄹㅇㅣㅈㅣ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅅㅔㅁㅏㄹㅇㅣㅈㅣ', '', [], ['eusi']),
                suffixInflection('ㅇㅡㄹㅅㅔㅁㅏㄹㅇㅣㅈㅣ', '', [], ['p']),
            ],
        },
        '-(으)ㄹ소냐': {
            name: '-(으)ㄹ소냐',
            rules: [
                suffixInflection('ㄹㅅㅗㄴㅑ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄹㅅㅗㄴㅑ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅅㅗㄴㅑ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㄹㅅㅗㄴㅑ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅅㅗㄴㅑ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅅㅗㄴㅑ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㄹㅅㅗㄴㅑ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅅㅗㄴㅑ', '', [], ['eusi']),
                suffixInflection('ㅇㅡㄹㅅㅗㄴㅑ', '', [], ['p']),
            ],
        },
        '-(으)ㄹ손가': {
            name: '-(으)ㄹ손가',
            rules: [
                suffixInflection('ㄹㅅㅗㄴㄱㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄹㅅㅗㄴㄱㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅅㅗㄴㄱㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㄹㅅㅗㄴㄱㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅅㅗㄴㄱㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅅㅗㄴㄱㅏ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㄹㅅㅗㄴㄱㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅅㅗㄴㄱㅏ', '', [], ['eusi']),
                suffixInflection('ㅇㅡㄹㅅㅗㄴㄱㅏ', '', [], ['p']),
            ],
        },
        '-(으)ㄹ수록': {
            name: '-(으)ㄹ수록',
            rules: [
                suffixInflection('ㄹㅅㅜㄹㅗㄱ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄹㅅㅜㄹㅗㄱ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅅㅜㄹㅗㄱ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㄹㅅㅜㄹㅗㄱ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅅㅜㄹㅗㄱ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅅㅜㄹㅗㄱ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㄹㅅㅜㄹㅗㄱ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅅㅜㄹㅗㄱ', '', [], ['eusi']),
                suffixInflection('ㅇㅡㄹㅅㅜㄹㅗㄱ', '', [], ['p']),
            ],
        },
        '-(으)ㄹ시': {
            name: '-(으)ㄹ시',
            rules: [
                suffixInflection('ㄹㅅㅣ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄹㅅㅣ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅅㅣ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㄹㅅㅣ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅅㅣ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅅㅣ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㄹㅅㅣ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅅㅣ', '', [], ['eusi']),
                suffixInflection('ㅇㅡㄹㅅㅣ', '', [], ['p']),
            ],
        },
        '-(으)ㄹ시고': {
            name: '-(으)ㄹ시고',
            rules: [
                suffixInflection('ㄹㅅㅣㄱㅗ', 'ㄷㅏ', [], ['adj', 'ida']),
                suffixInflection('ㄹㅅㅣㄱㅗ', 'ㄹㄷㅏ', [], ['adj']),
                suffixInflection('ㅇㅡㄹㅅㅣㄱㅗ', 'ㄷㅏ', [], ['adj']),
                suffixInflection('ㅇㅜㄹㅅㅣㄱㅗ', 'ㅂㄷㅏ', [], ['adj']),
                suffixInflection('ㅇㅡㄹㅅㅣㄱㅗ', 'ㅅㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅅㅣㄱㅗ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㄹㅅㅣㄱㅗ', 'ㄷㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅅㅣㄱㅗ', '', [], ['eusi']),
                suffixInflection('ㅇㅡㄹㅅㅣㄱㅗ', '', [], ['p']),
            ],
        },
        '-(으)ㄹ싸록': {
            name: '-(으)ㄹ싸록',
            rules: [
                suffixInflection('ㄹㅆㅏㄹㅗㄱ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄹㅆㅏㄹㅗㄱ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅆㅏㄹㅗㄱ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㄹㅆㅏㄹㅗㄱ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅆㅏㄹㅗㄱ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅆㅏㄹㅗㄱ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㄹㅆㅏㄹㅗㄱ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅆㅏㄹㅗㄱ', '', [], ['eusi']),
                suffixInflection('ㅇㅡㄹㅆㅏㄹㅗㄱ', '', [], ['p']),
            ],
        },
        '-(으)ㄹ쏘냐': {
            name: '-(으)ㄹ쏘냐',
            rules: [
                suffixInflection('ㄹㅆㅗㄴㅑ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄹㅆㅗㄴㅑ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅆㅗㄴㅑ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㄹㅆㅗㄴㅑ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅆㅗㄴㅑ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅆㅗㄴㅑ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㄹㅆㅗㄴㅑ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅆㅗㄴㅑ', '', [], ['eusi']),
                suffixInflection('ㅇㅡㄹㅆㅗㄴㅑ', '', [], ['p']),
            ],
        },
        '-(으)ㄹ쏜가': {
            name: '-(으)ㄹ쏜가',
            rules: [
                suffixInflection('ㄹㅆㅗㄴㄱㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄹㅆㅗㄴㄱㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅆㅗㄴㄱㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㄹㅆㅗㄴㄱㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅆㅗㄴㄱㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅆㅗㄴㄱㅏ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㄹㅆㅗㄴㄱㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅆㅗㄴㄱㅏ', '', [], ['eusi']),
                suffixInflection('ㅇㅡㄹㅆㅗㄴㄱㅏ', '', [], ['p']),
            ],
        },
        '-(으)ㄹ이만큼': {
            name: '-(으)ㄹ이만큼',
            rules: [
                suffixInflection('ㄹㅇㅣㅁㅏㄴㅋㅡㅁ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄹㅇㅣㅁㅏㄴㅋㅡㅁ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅇㅣㅁㅏㄴㅋㅡㅁ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㄹㅇㅣㅁㅏㄴㅋㅡㅁ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅇㅣㅁㅏㄴㅋㅡㅁ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅇㅣㅁㅏㄴㅋㅡㅁ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㄹㅇㅣㅁㅏㄴㅋㅡㅁ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅇㅣㅁㅏㄴㅋㅡㅁ', '', [], ['eusi', 'euo']),
                suffixInflection('ㅇㅡㄹㅇㅣㅁㅏㄴㅋㅡㅁ', '', [], ['p']),
            ],
        },
        '-(으)ㄹ작시면': {
            name: '-(으)ㄹ작시면',
            rules: [
                suffixInflection('ㄹㅈㅏㄱㅅㅣㅁㅕㄴ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㄹㅈㅏㄱㅅㅣㅁㅕㄴ', 'ㄹㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㄹㅈㅏㄱㅅㅣㅁㅕㄴ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅜㄹㅈㅏㄱㅅㅣㅁㅕㄴ', 'ㅂㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㄹㅈㅏㄱㅅㅣㅁㅕㄴ', 'ㅅㄷㅏ', [], ['v']),
                suffixInflection('ㄹㅇㅡㄹㅈㅏㄱㅅㅣㅁㅕㄴ', 'ㄷㄷㅏ', [], ['v']),
                suffixInflection('ㄹㅈㅏㄱㅅㅣㅁㅕㄴ', '', [], ['eusi']),
            ],
        },
        '-(으)ㄹ지': {
            name: '-(으)ㄹ지',
            rules: [
                suffixInflection('ㄹㅈㅣ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄹㅈㅣ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅈㅣ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㄹㅈㅣ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅈㅣ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅈㅣ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㄹㅈㅣ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅈㅣ', '', [], ['eusi']),
                suffixInflection('ㅇㅡㄹㅈㅣ', '', [], ['p']),
            ],
        },
        '-(으)ㄹ지나': {
            name: '-(으)ㄹ지나',
            rules: [
                suffixInflection('ㄹㅈㅣㄴㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄹㅈㅣㄴㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅈㅣㄴㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㄹㅈㅣㄴㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅈㅣㄴㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅈㅣㄴㅏ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㄹㅈㅣㄴㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅈㅣㄴㅏ', '', [], ['eusi']),
                suffixInflection('ㅇㅡㄹㅈㅣㄴㅏ', '', [], ['p']),
            ],
        },
        '-(으)ㄹ지니': {
            name: '-(으)ㄹ지니',
            rules: [
                suffixInflection('ㄹㅈㅣㄴㅣ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄹㅈㅣㄴㅣ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅈㅣㄴㅣ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㄹㅈㅣㄴㅣ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅈㅣㄴㅣ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅈㅣㄴㅣ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㄹㅈㅣㄴㅣ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅈㅣㄴㅣ', '', [], ['eusi']),
                suffixInflection('ㅇㅡㄹㅈㅣㄴㅣ', '', [], ['p']),
            ],
        },
        '-(으)ㄹ지니라': {
            name: '-(으)ㄹ지니라',
            rules: [
                suffixInflection('ㄹㅈㅣㄴㅣㄹㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄹㅈㅣㄴㅣㄹㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅈㅣㄴㅣㄹㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㄹㅈㅣㄴㅣㄹㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅈㅣㄴㅣㄹㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅈㅣㄴㅣㄹㅏ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㄹㅈㅣㄴㅣㄹㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅈㅣㄴㅣㄹㅏ', '', [], ['eusi']),
                suffixInflection('ㅇㅡㄹㅈㅣㄴㅣㄹㅏ', '', [], ['p']),
            ],
        },
        '-(으)ㄹ지라': {
            name: '-(으)ㄹ지라',
            rules: [
                suffixInflection('ㄹㅈㅣㄹㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄹㅈㅣㄹㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅈㅣㄹㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㄹㅈㅣㄹㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅈㅣㄹㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅈㅣㄹㅏ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㄹㅈㅣㄹㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅈㅣㄹㅏ', '', [], ['eusi']),
                suffixInflection('ㅇㅡㄹㅈㅣㄹㅏ', '', [], ['p']),
            ],
        },
        '-(으)ㄹ지라도': {
            name: '-(으)ㄹ지라도',
            rules: [
                suffixInflection('ㄹㅈㅣㄹㅏㄷㅗ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄹㅈㅣㄹㅏㄷㅗ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅈㅣㄹㅏㄷㅗ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㄹㅈㅣㄹㅏㄷㅗ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅈㅣㄹㅏㄷㅗ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅈㅣㄹㅏㄷㅗ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㄹㅈㅣㄹㅏㄷㅗ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅈㅣㄹㅏㄷㅗ', '', [], ['eusi']),
                suffixInflection('ㅇㅡㄹㅈㅣㄹㅏㄷㅗ', '', [], ['p']),
            ],
        },
        '-(으)ㄹ지로다': {
            name: '-(으)ㄹ지로다',
            rules: [
                suffixInflection('ㄹㅈㅣㄹㅗㄷㅏ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄹㅈㅣㄹㅗㄷㅏ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅈㅣㄹㅗㄷㅏ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㄹㅈㅣㄹㅗㄷㅏ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅈㅣㄹㅗㄷㅏ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅈㅣㄹㅗㄷㅏ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㄹㅈㅣㄹㅗㄷㅏ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅈㅣㄹㅗㄷㅏ', '', [], ['eusi']),
                suffixInflection('ㅇㅡㄹㅈㅣㄹㅗㄷㅏ', '', [], ['p']),
            ],
        },
        '-(으)ㄹ지며': {
            name: '-(으)ㄹ지며',
            rules: [
                suffixInflection('ㄹㅈㅣㅁㅕ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄹㅈㅣㅁㅕ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅈㅣㅁㅕ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㄹㅈㅣㅁㅕ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅈㅣㅁㅕ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅈㅣㅁㅕ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㄹㅈㅣㅁㅕ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅈㅣㅁㅕ', '', [], ['eusi']),
                suffixInflection('ㅇㅡㄹㅈㅣㅁㅕ', '', [], ['p']),
            ],
        },
        '-(으)ㄹ지어다': {
            name: '-(으)ㄹ지어다',
            rules: [
                suffixInflection('ㄹㅈㅣㅇㅓㄷㅏ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㄹㅈㅣㅇㅓㄷㅏ', 'ㄹㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㄹㅈㅣㅇㅓㄷㅏ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅜㄹㅈㅣㅇㅓㄷㅏ', 'ㅂㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㄹㅈㅣㅇㅓㄷㅏ', 'ㅅㄷㅏ', [], ['v']),
                suffixInflection('ㄹㅇㅡㄹㅈㅣㅇㅓㄷㅏ', 'ㄷㄷㅏ', [], ['v']),
                suffixInflection('ㄹㅈㅣㅇㅓㄷㅏ', '', [], ['eusi']),
            ],
        },
        '-(으)ㄹ지언정': {
            name: '-(으)ㄹ지언정',
            rules: [
                suffixInflection('ㄹㅈㅣㅇㅓㄴㅈㅓㅇ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄹㅈㅣㅇㅓㄴㅈㅓㅇ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅈㅣㅇㅓㄴㅈㅓㅇ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㄹㅈㅣㅇㅓㄴㅈㅓㅇ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅈㅣㅇㅓㄴㅈㅓㅇ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅈㅣㅇㅓㄴㅈㅓㅇ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㄹㅈㅣㅇㅓㄴㅈㅓㅇ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅈㅣㅇㅓㄴㅈㅓㅇ', '', [], ['eusi']),
                suffixInflection('ㅇㅡㄹㅈㅣㅇㅓㄴㅈㅓㅇ', '', [], ['p']),
            ],
        },
        '-(으)ㄹ진대': {
            name: '-(으)ㄹ진대',
            rules: [
                suffixInflection('ㄹㅈㅣㄴㄷㅐ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄹㅈㅣㄴㄷㅐ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅈㅣㄴㄷㅐ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㄹㅈㅣㄴㄷㅐ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅈㅣㄴㄷㅐ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅈㅣㄴㄷㅐ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㄹㅈㅣㄴㄷㅐ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅈㅣㄴㄷㅐ', '', [], ['eusi']),
                suffixInflection('ㅇㅡㄹㅈㅣㄴㄷㅐ', '', [], ['p']),
            ],
        },
        '-(으)ㄹ진대는': {
            name: '-(으)ㄹ진대는',
            rules: [
                suffixInflection('ㄹㅈㅣㄴㄷㅐㄴㅡㄴ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄹㅈㅣㄴㄷㅐㄴㅡㄴ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅈㅣㄴㄷㅐㄴㅡㄴ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㄹㅈㅣㄴㄷㅐㄴㅡㄴ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅈㅣㄴㄷㅐㄴㅡㄴ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅈㅣㄴㄷㅐㄴㅡㄴ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㄹㅈㅣㄴㄷㅐㄴㅡㄴ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅈㅣㄴㄷㅐㄴㅡㄴ', '', [], ['eusi']),
                suffixInflection('ㅇㅡㄹㅈㅣㄴㄷㅐㄴㅡㄴ', '', [], ['p']),
            ],
        },
        '-(으)ㄹ진댄': {
            name: '-(으)ㄹ진댄',
            rules: [
                suffixInflection('ㄹㅈㅣㄴㄷㅐㄴ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄹㅈㅣㄴㄷㅐㄴ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅈㅣㄴㄷㅐㄴ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㄹㅈㅣㄴㄷㅐㄴ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅈㅣㄴㄷㅐㄴ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅈㅣㄴㄷㅐㄴ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㄹㅈㅣㄴㄷㅐㄴ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅈㅣㄴㄷㅐㄴ', '', [], ['eusi']),
                suffixInflection('ㅇㅡㄹㅈㅣㄴㄷㅐㄴ', '', [], ['p']),
            ],
        },
        '-(으)ㄹ진저': {
            name: '-(으)ㄹ진저',
            rules: [
                suffixInflection('ㄹㅈㅣㄴㅈㅓ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄹㅈㅣㄴㅈㅓ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅈㅣㄴㅈㅓ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㄹㅈㅣㄴㅈㅓ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㄹㅈㅣㄴㅈㅓ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅈㅣㄴㅈㅓ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㄹㅈㅣㄴㅈㅓ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㄹㅈㅣㄴㅈㅓ', '', [], ['eusi']),
                suffixInflection('ㅇㅡㄹㅈㅣㄴㅈㅓ', '', [], ['p']),
            ],
        },
        '-(으)ㅁ': {
            name: '-(으)ㅁ',
            rules: [
                suffixInflection('ㅁ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄹㅁ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㅁ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㅁ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㅁ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅁ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㅁ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅁ', '', [], ['eusi']),
                suffixInflection('ㅇㅡㅁ', '', [], ['p', 'f']),
            ],
        },
        '-(으)ㅁ세': {
            name: '-(으)ㅁ세',
            rules: [
                suffixInflection('ㅁㅅㅔ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㄹㅁㅅㅔ', 'ㄹㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㅁㅅㅔ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅜㅁㅅㅔ', 'ㅂㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㅁㅅㅔ', 'ㅅㄷㅏ', [], ['v']),
                suffixInflection('ㄹㅇㅡㅁㅅㅔ', 'ㄷㄷㅏ', [], ['v']),
            ],
        },
        '-(으)ㅁ도': {
            name: '-(으)ㅁ도',
            rules: [
                suffixInflection('ㅁㄷㅗ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄹㅁㄷㅗ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㅁㄷㅗ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㅁㄷㅗ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㅁㄷㅗ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅁㄷㅗ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㅁㄷㅗ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅁㄷㅗ', '', [], ['eusi']),
                suffixInflection('ㅇㅡㅁㄷㅗ', '', [], ['p', 'f']),
            ],
        },
        '-(으)ㅁ에랴': {
            name: '-(으)ㅁ에랴',
            rules: [
                suffixInflection('ㅁㅇㅔㄹㅑ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㄹㅁㅇㅔㄹㅑ', 'ㄹㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㅁㅇㅔㄹㅑ', 'ㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅜㅁㅇㅔㄹㅑ', 'ㅂㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅇㅡㅁㅇㅔㄹㅑ', 'ㅅㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅁㅇㅔㄹㅑ', 'ㅎㄷㅏ', [], ['adj']),
                suffixInflection('ㄹㅇㅡㅁㅇㅔㄹㅑ', 'ㄷㄷㅏ', [], ['v', 'adj']),
                suffixInflection('ㅁㅇㅔㄹㅑ', '', [], ['eusi']),
                suffixInflection('ㅇㅡㅁㅇㅔㄹㅑ', '', [], ['p', 'f']),
            ],
        },
        '-(으)ㅂ쇼': {
            name: '-(으)ㅂ쇼',
            rules: [
                suffixInflection('ㅂㅅㅛ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㅂㅅㅛ', 'ㄹㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㅂㅅㅛ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅜㅂㅅㅛ', 'ㅂㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㅂㅅㅛ', 'ㅅㄷㅏ', [], ['v']),
                suffixInflection('ㄹㅇㅡㅂㅅㅛ', 'ㄷㄷㅏ', [], ['v']),
            ],
        },
        '-(으)ㅂ시다': {
            name: '-(으)ㅂ시다',
            rules: [
                suffixInflection('ㅂㅅㅣㄷㅏ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㅂㅅㅣㄷㅏ', 'ㄹㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㅂㅅㅣㄷㅏ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅜㅂㅅㅣㄷㅏ', 'ㅂㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㅂㅅㅣㄷㅏ', 'ㅅㄷㅏ', [], ['v']),
                suffixInflection('ㄹㅇㅡㅂㅅㅣㄷㅏ', 'ㄷㄷㅏ', [], ['v']),
            ],
        },
        '-(으)ㅂ시오': {
            name: '-(으)ㅂ시오',
            rules: [
                suffixInflection('ㅂㅅㅣㅇㅗ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㅂㅅㅣㅇㅗ', 'ㄹㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㅂㅅㅣㅇㅗ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅜㅂㅅㅣㅇㅗ', 'ㅂㄷㅏ', [], ['v']),
                suffixInflection('ㅇㅡㅂㅅㅣㅇㅗ', 'ㅅㄷㅏ', [], ['v']),
                suffixInflection('ㄹㅇㅡㅂㅅㅣㅇㅗ', 'ㄷㄷㅏ', [], ['v']),
            ],
        },
        '-자': {
            name: '-자',
            rules: [
                suffixInflection('ㅈㅏ', 'ㄷㅏ', [], ['v', 'ida']),
            ],
        },
        '-자고': {
            name: '-자고',
            rules: [
                suffixInflection('ㅈㅏㄱㅗ', 'ㄷㅏ', [], ['v']),
            ],
        },
        '-자구': {
            name: '-자구',
            rules: [
                suffixInflection('ㅈㅏㄱㅜ', 'ㄷㅏ', [], ['v']),
            ],
        },
        '-자꾸나': {
            name: '-자꾸나',
            rules: [
                suffixInflection('ㅈㅏㄲㅜㄴㅏ', 'ㄷㅏ', [], ['v']),
            ],
        },
        '-자느니': {
            name: '-자느니',
            rules: [
                suffixInflection('ㅈㅏㄴㅡㄴㅣ', 'ㄷㅏ', [], ['v']),
            ],
        },
        '-자니까': {
            name: '-자니까',
            rules: [
                suffixInflection('ㅈㅏㄴㅣㄲㅏ', 'ㄷㅏ', [], ['v']),
            ],
        },
        '-자마자': {
            name: '-자마자',
            rules: [
                suffixInflection('ㅈㅏㅁㅏㅈㅏ', 'ㄷㅏ', [], ['v']),
                suffixInflection('ㅈㅏㅁㅏㅈㅏ', '', [], ['eusi']),
            ],
        },
        '-자며': {
            name: '-자며',
            rules: [
                suffixInflection('ㅈㅏㅁㅕ', 'ㄷㅏ', [], ['v']),
            ],
        },
        '-자면': {
            name: '-자면',
            rules: [
                suffixInflection('ㅈㅏㅁㅕㄴ', 'ㄷㅏ', [], ['v']),
            ],
        },
        '-자면서': {
            name: '-자면서',
            rules: [
                suffixInflection('ㅈㅏㅁㅕㄴㅅㅓ', 'ㄷㅏ', [], ['v']),
            ],
        },
        '-자손': {
            name: '-자손',
            rules: [
                suffixInflection('ㅈㅏㅅㅗㄴ', 'ㄷㅏ', [], ['v']),
            ],
        },
        '-자오': {
            name: '-자오',
            rules: [
                suffixInflection('ㅈㅏㅇㅗ', 'ㄷㅏ', ['jao'], ['v']),
            ],
        },
        '-자옵': {
            name: '-자옵',
            rules: [
                suffixInflection('ㅈㅏㅇㅗㅂ', 'ㄷㅏ', ['jaob'], ['v']),
            ],
        },
        '-잡': {
            name: '-잡',
            rules: [
                suffixInflection('ㅈㅏㅂ', 'ㄷㅏ', ['jab'], ['v']),
            ],
        },
        '-죠': {
            name: '-죠',
            rules: [
                suffixInflection('ㅈㅛ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㅈㅛ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-지': {
            name: '-지',
            rules: [
                suffixInflection('ㅈㅣ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㅈㅣ', '', [], ['p', 'f', 'eusi']),
            ],
        },
        '-지마는': {
            name: '-지마는',
            rules: [
                suffixInflection('ㅈㅣㅁㅏㄴㅡㄴ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㅈㅣㅁㅏㄴㅡㄴ', '', [], ['p', 'f']),
            ],
        },
        '-지만': {
            name: '-지만',
            rules: [
                suffixInflection('ㅈㅣㅁㅏㄴ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㅈㅣㅁㅏㄴ', '', [], ['p', 'f', 'euo', 'euob']),
            ],
        },
        '-지만서도': {
            name: '-지만서도',
            rules: [
                suffixInflection('ㅈㅣㅁㅏㄴㅅㅓㄷㅗ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㅈㅣㅁㅏㄴㅅㅓㄷㅗ', '', [], ['p', 'f']),
            ],
        },
        '-지요': {
            name: '-지요',
            rules: [
                suffixInflection('ㅈㅣㅇㅛ', 'ㄷㅏ', [], ['v', 'adj', 'ida']),
                suffixInflection('ㅈㅣㅇㅛ', '', [], ['p', 'f', 'eusi']),
            ],
        },
    },
};
