Module:eu-verb

Hello, you have come here looking for the meaning of the word Module:eu-verb. In DICTIOUS you will not only get to know all the dictionary meanings for the word Module:eu-verb, but we will also tell you about its etymology, its characteristics and you will know how to say Module:eu-verb in singular and plural. Everything you need to know about the word Module:eu-verb you have here. The definition of the word Module:eu-verb will help you to be more precise and correct when speaking or writing your texts. Knowing the definition ofModule:eu-verb, as well as those of other words, enriches your vocabulary and provides you with more and better linguistic resources.

This module implements {{eu-conj-nor}}, {{eu-conj-nor-nori}} and {{eu-conj-nornork}}. Its usage will be expanded to other templates in the future.


local export = {}

local lang = require("Module:languages").getByCode("eu")
local m_utilities = require("Module:utilities")
local m_links = require("Module:links")
local m_table = require("Module:table")
local m_tables = require("Module:eu-verb/tables")
local m_com = require("Module:eu-common")
local m_string_utilities = require("Module:string utilities")

local m_string_utilities = require("Module:string utilities")
local rsub = m_string_utilities.gsub
local rfind = m_string_utilities.find

--NOR paradigm (including allocutive)
function export.nor(frame)
	local args = frame:getParent().args
	local data = {
		forms = {},
		alloc = {},
		info = "",
		categories = {},
	}
	
	--generate all forms by default
	local do_allocutive = true
	local do_main       = true
	if args == "onlymain" then
		do_allocutive = false
	elseif args == "onlyall" then
		do_main = false
	end

	-- add the lemma form
	local base = args.pagename or mw.title.getCurrentTitle().text
	local valid_nor_verbs = m_table.listToSet {"izan", "joan", "etorri", "ibili", "etzan", "egon" }
	if not valid_nor_verbs then
		error("The verb '" .. base .. "' doesn't have NOR forms.")
	end
	data.info = m_links.full_link({lang = lang, alt = base}, "term")
	
	--general use data
	local is_izan = base == "izan"
	local nor_persons = {"ni", "hi", "hura", "gu", "zu", "zuek", "haiek"}
	local nor_persons_imp = {"hi", "hura", "zu", "zuek", "haiek"}
	local sing_persons = m_table.listToSet {"ni", "hi", "hura"}
	local nor_prefixes = {
		present = {ni = "na", hi = "ha", hura = "da", gu = "ga", zu = "za", zuek = "za", haiek = "da"},
		past = {ni = "nen", hi = "hen", hura = "ze", gu = "gen", zu = "zen", zuek = "zen", haiek = "ze"}
	}
		
	local valid_tenses = {
		"presi", "pasti", "cond", "hcons", "pcons",
		"presp",
		"press",
		"imp"
	}

	local tenses_present_prefs = m_table.listToSet {"presi", "presp", "press", "imp"} --these tenses use personal prefixes like na- instead of nen-
	local tenses_n = m_table.listToSet {"pasti", "press", "pcons"} --these tenses gets suffixed with -(e)n
	local tenses_ke = m_table.listToSet {"hcons", "pcons", "presp" } --these tenses get suffixes with ke
	local tenses_l_in_third = m_table.listToSet {"cond", "hcons"} --tenses in which the third person has l- and not z-
	local third_person = m_table.listToSet {"hura", "haiek"} --third-person pronouns
	local first_person = m_table.listToSet {"ni", "gu"} --first-person pronouns
	local plural = m_table.listToSet {"gu", "zu", "zuek", "haiek" } --plural pronouns (including zu)
	local tenses_ate = {} --tenses in which the infix -ate- occurs. They are present in forms of izan only
	local tenses_z = {} --tenses in which the plural infix -z- occurs. They are present in forms of izan only
	
	--verb-specific changes
	if base == "etzan" then
		valid_tenses = {"presi", "pasti", "hcons", "imp"}
	elseif is_izan then
		--extra tenses
		for _, t in ipairs{"fut", "pastp", "hypp", "ccond", "dcond", "pasts", "hyps"} do table.insert(valid_tenses, t) end
		--extra tenses with -ke-
		for _, t in ipairs{"fut", "pastp", "hypp"} do tenses_ke = true end
		--extra tenses with -n
		for _, t in ipairs{"pastp", "pasts", "hyps"} do tenses_n = true end
		--extra tenses with l- in the third person
		for _, t in ipairs{"hypp", "dcond", "hyps"} do tenses_l_in_third = true end
		--extra tenses with present prefixes
		for _, t in ipairs{"fut", "ccond"} do tenses_present_prefs = true end
		--tenses with -(a)te- and plural -z-
		tenses_ate = m_table.listToSet {"hcons", "pcons", "fut", "presp", "pastp", "hypp"}
		tenses_z = m_table.listToSet {"presp", "pastp", "hypp", "ccond", "dcond", "press", "hyps", "pasts"}
	elseif base == "joan" then
		nor_prefixes.present = {ni = "n", hi = "h", hura = "d", gu = "g", zu = "z", zuek = "z", haiek = "d"}
		nor_prefixes.past = {ni = "nind", hi = "hind", hura = "zih", gu = "gind", zu = "zind", zuek = "zind", haiek = "zih"}
	end
	
	--verb data (make sure we don't use this system for izan)
	local sing_stem = { izan = nil, joan = "oa", etorri = "tor", ibili = "bil", etzan = "tza", egon = "go"}
	local plur_stem = { izan = nil, joan = "oaz", etorri = "toz", ibili = "biltza", etzan = "utza", egon = "ude"}
	local izan_bases = {
		present = {ni = "naiz", hi = "haiz", hura = "da", gu = "gara", zu = "zara", zuek = "zara", haiek = "dira"},
		past = {ni = "nintz", hi = "hintz", hura = "ze", gu = "gin", zu = "zin", zuek = "zin", haiek = "zir"}
	}
	
	--generate forms
	for _, tense in ipairs(valid_tenses) do
		local valid_nor_persons = (tense == "imp") and nor_persons_imp or nor_persons
		for _, person in ipairs(valid_nor_persons) do
			--basic person+stem forms
			local pref_type = tenses_present_prefs and "present" or "past"
			local stem = sing_persons and sing_stem or plur_stem
			local form = is_izan and izan_bases or (nor_prefixes .. stem)
			--generate the form
			local te = person == "zuek" and "te" or ""
			local ke = (tenses_ke) and "ke" or ""
			local ba = rfind(tense, "^?cond$") and "ba" or ""
			local ate, z = "", ""
			--values specific to izan
			if is_izan then
				--fix the present, past potential; present subjunctive "stems"
				if tense == "presp" then
					form = m_com.rsub_multiple(form, {"a?$", "a$", "^di$"}, {"", "ai", "dai"})
				elseif tense == "pastp" or tense == "hypp" then
					form = m_com.rsub_multiple(form, {"tz$", "^zir", "^ze"}, {"", "zi", "zi"})
				elseif tense == "press" or tense == "ccond" then
					form = m_com.rsub_multiple(form, {"ra$", "aiz$", "^da$"}, {"aite", "adi", "dadi"})
				elseif tense == "hyps" or tense == "pasts" or tense == "dcond" then
					form = m_com.rsub_multiple(form, {"intz$", "in$", "^ze$", "^zir$"}, {"endi", "inte", "zedi", "zite"})
				end
				--form ate/te, z
				if tenses_ate then ate = (rfind(form, "$") and tense ~= "hypp" and tense ~= "pastp") and "ate" or "te" end
				if (tenses_z and plural) then z = "z" end
			end
			form = form .. ate .. z .. ke .. te
			
			--fix gabiltzake -> gabilzke, genuden/genutzan -> geunden/geuntzan
			form = m_com.rsub_multiple(form, {"ltzake", "^()enu"}, {"lzke", "%1eun"})
			
			-- (ba)z- -> (ba)l- in the third person
			form = (third_person and tenses_l_in_third) and rsub(form, "^z", "l") or form
			-- da- > ba- in third-person imperative forms
			form = (tense == "imp") and rsub(form, "^da", "be") or form
			
			--value of final -(e)n
			local n = (tenses_n) and (
				(rfind(form, "r$") and base ~= "izan") and "ren" or
				rfind(form, "$") and "n" or
				"en"
			) or ""
			n = (rfind(form, "ke$") and n == "n") and "en" or n --the past consequential form has -keen, not -ken

			--add the form
			form = ba .. form .. n
			data.forms = { form }
			--extra subjunctive forms in -l
			if is_izan and (tense == "press" or tense == "pasts") then
				local subj_l = rsub(form, "n$", "la")
				table.insert(data.forms, subj_l)
			end
		end
	end
	
	-- irregular forms
	local irregular_forms = {
		izan = {
			presizuek = {"zarete"}, pastizuek = {"zineten"},
			condgu = {"bagina"}, condzu = {"bazina"}, condzuek = {"bazinete"}, condhaiek = {"balira"},
			condhura = {"balitz"}, hconshura = {"litzateke"}, pconshura = {"zatekeen"},
			imphi = {"hadi"}, imphura = {"bedi", "biz"}, impzu = {"zaitez"}, impzuek = {"zaitezte"}, imphaiek = {"bitez", "bira"}
		},
		joan = {imphura = {"bihoa"}, imphaiek = {"bihoaz"}}
	}
	for slot, forms in pairs(irregular_forms or {}) do
		if m_com.tables_equal(data.forms, forms) then
			error("There's no need to provide the form '" .. data.forms .."' manually.") 
		else
			data.forms = forms
		end
	end
	
	--generate allocutives
	if do_allocutive then
		for tense_person, form in pairs(data.forms) do
			local m_all, f_all = require("Module:eu-allocutives").generate_allocutive(form, base)
			if m_all then
				data.alloc = {m_all, f_all}
			end
		end
	end
	
	--notes
	data.notes = {}
	data.allnotes = {}
	local edin = mw.getCurrentFrame():expandTemplate{
		title = 'm',
		args = {"eu", "", "*edin"}
	}
	if is_izan then
		data.notes = {
			{"Archaic or dialectal", "tense_name", {"ccond", "dcond", "fut"}}, 
			{"Forms belong to the reconstructed verb " .. edin .. ".", "mood_name", {"Potential", "Subjunctive"}}, 
			{"Not used as auxiliaries.", "tense_person", {{"imp", "hura"}, {"imp", "haiek"} }},
		}
		data.allnotes = {
			{"Archaic or dialectal", "tense_name", {"ccond", "dcond", "fut"}}, 
			{"Forms belong to the reconstructed verb " .. edin .. ".", "mood_name", {"Potential", "Subjunctive"}}, 
		}
	elseif base ~= "etzan" then
		data.notes = {{"Archaic or literary.", "mood_name", {"Subjunctive"}}}
	end

	--categories
	table.insert(data.categories, "Basque synthetic verbs")
	table.insert(data.categories, "Basque intransitive verbs")
	
	--generate the table and add categories
	if do_main and do_allocutive then--normal case
		return m_tables.make_smart_table_nor(data, base, false) .. m_tables.make_smart_table_nor(data, base, true) .. m_utilities.format_categories(data.categories, lang)
	elseif not do_allocutive then --main table only
		return m_tables.make_smart_table_nor(data, base, false) .. m_utilities.format_categories(data.categories, lang)
	else --allocutive table only
		return m_tables.make_smart_table_nor(data, base, true) .. m_utilities.format_categories(data.categories, lang)
	end
end

-- Generate inflections
function generate_nornori(data, base)
	--possible combinations
	local list_1 = {"hi", "hura", "zu", "zuek", "haiek"}
	local list_2 = {"ni", "hura", "gu", "haiek"}
	local list_3 = {"ni", "hi", "hura", "gu", "zu", "zuek", "haiek"}
	local nori_list = {niri = list_1, hirim = list_2, hirif = list_2, hari = list_3, guri = list_1, zuri = list_2, zuei = list_2, haiei = list_3}
	
	--general-use data
	local nor_start ={
		pres = 	{ni = "na", hi = "ha", hura = "da", gu = "ga", zu = "za", zuek = "za", haiek = "da"},
		past = 	{ni = "ninde", hi = "hinde", hura = "ze", gu = "ginde", zu = "zinde", zuek = "zinde", haiek = "ze"},
		hcons = {ni = "ninde", hi = "hinde", hura = "le", gu = "ginde", zu = "zinde", zuek = "zinde", haiek = "le"},
		potpres = {ni = "na", hi = "ha", hura = "da", gu = "ga", zu = "za", zuek = "za", haiek = "da"},
		subpres = {ni = "na", hi = "ha", hura = "da", gu = "ga", zu = "za", zuek = "za", haiek = "da"},
		imp = 	{ni = "", hi = "", hura = "be", gu = "", zu = "", zuek = "", haiek = "be"},
		clcond  = {ni = "bana", hi = "baha", hura = "bada", gu = "baga", zu = "baza", zuek = "baza", haiek = "bada"},
	}
	local infix = {ni = "", hi = "", hura = "", gu = "zki", zu = "zki", zuek = "zki", haiek = "zki"}
	local nori_end = {niri = "t", hirim = "k", hirif = "n", hari = "o", guri = "gu", zuri = "zu", zuei = "zue", haiei = "e"}
	local nor_end_final = {
		pres  = {ni = "", hi = "", hura = "", gu = "", zu = "", zuek = "te", haiek = ""},
		past  = {ni = "n", hi = "n", hura = "n", gu = "n", zu = "n", zuek = "ten", haiek = "n"},
		cond    = {ni = "", hi = "", hura = "", gu = "", zu = "", zuek = "te", haiek = ""},
		hcons = {ni = "ke", hi = "ke", hura = "ke", gu = "ke", zu = "ke", zuek = "kete", haiek = "ke"},
		pcons   = {ni = "keen", hi = "keen", hura = "keen", gu = "keen", zu = "keen", zuek = "keten", haiek = "keen"},
		potpres = {ni = "ke", hi = "ke", hura = "ke", gu = "ke", zu = "ke", zuek = "kete", haiek = "ke"},
		subpres = {ni = "n", hi = "n", hura = "n", gu = "n", zu = "n", zuek = "ten", haiek = "n"},
		imp   = {ni = "", hi = "", hura = "", gu = "", zu = "", zuek = "te", haiek = ""},
		clcond  = {ni = "", hi = "", hura = "", gu = "", zu = "", zuek = "te", haiek = ""},
	}
	local regular_changes = {tt = "dat", tn = "dan", tk = "dak", kn = "an", nn = "nan", kk = "ak", nke = "nake",  = "z", kla = "ala", nla = "nala", tla = "dala"}
	local plural_nor = m_table.listToSet {"gu", "zu", "zuek", "haiek"}
	
	--verb-specific data
	local pres = {jarraiki = "rrai", atxiki = "txe", jariatu = "ri", ibili = "bil", etorri = "tor", joan = "oa", egon = "go", izan = "tzai"}
	if base == "atxiki" or base == "ibili" or base == "etorri" or base == "egon" then
		infix = {ni = "ki", hi = "ki", hura = "ki", gu = "zki", zu = "zki", zuek = "zki", haiek = "zki"}
		nor_start.past = {ni = "nen", hi = "hen", hura = "ze", gu = "gen", zu = "zen", zuek = "zen", haiek = "ze"}
		nor_start.cond = {ni = "banen", hi = "bahen", hura = "bale", gu = "bagen", zu = "bazen", zuek = "bazen", haiek = "bale"}
		nor_start.hcons = {ni = "nen", hi = "hen", hura = "le", gu = "gen", zu = "zen", zuek = "zen", haiek = "le"}
		nor_start.pcons = {ni = "nen", hi = "hen", hura = "ze", gu = "gen", zu = "zen", zuek = "zen", haiek = "ze"}
		nor_start.imp     = {ni = "", hi = "ha", hura = "be", gu = "", zu = "za", zuek = "za", haiek = "be"}
	elseif base == "joan" then
		infix             = {ni = "ki", hi = "ki", hura = "ki", gu = "zki", zu = "zki", zuek = "zki", haiek = "zki"}
		nor_start.pres    = {ni = "n", hi = "h", hura = "dih", gu = "g", zu = "z", zuek = "z", haiek = "dih"}
		nor_start.past    = {ni = "nind", hi = "hind", hura = "zih", gu = "gind", zu = "zind", zuek = "zind", haiek = "zih"}
		nor_start.cond    = {ni = "banind", hi = "bahind", hura = "balih", gu = "bagind", zu = "bazind", zuek = "bazind", haiek = "balih"}
		nor_start.hcons   = {ni = "nind", hi = "hind", hura = "lih", gu = "gind", zu = "zind", zuek = "zind", haiek = "lih"}
		nor_start.pcons   = {ni = "nind", hi = "hind", hura = "zih", gu = "gind", zu = "zind", zuek = "zind", haiek = "zih"}
		nor_start.potpres = {ni = "n", hi = "h", hura = "dih", gu = "g", zu = "z", zuek = "z", haiek = "dih"}
		nor_start.subpres = {ni = "n", hi = "h", hura = "dih", gu = "g", zu = "z", zuek = "z", haiek = "dih"}
		nor_start.imp     = {ni = "", hi = "h", hura = "bih", gu = "", zu = "z", zuek = "z", haiek = "bih"}
		nor_start.clcond  = {ni = "ban", hi = "bah", hura = "badih", gu = "bag", zu = "baz", zuek = "baz", haiek = "badih"}
	elseif base == "izan" then
		nor_start.pres          = {ni = "na", hi = "ha", hura = "", gu = "ga", zu = "za", zuek = "za", haiek = ""}
		nor_start.past          = {ni = "nin", hi = "hin", hura = "zi", gu = "gin", zu = "zin", zuek = "zin", haiek = "zi"}
		nor_start.cond          = {ni = "banin", hi = "bahin", hura = "bali", gu = "bagin", zu = "bazin", zuek = "bazin", haiek = "bali"}
		nor_start.hcons         = {ni = "nin", hi = "hin", hura = "li", gu = "gin", zu = "zin", zuek = "zin", haiek = "li"}
		nor_start.pcons         = {ni = "nin", hi = "hin", hura = "zi", gu = "gin", zu = "zin", zuek = "zin", haiek = "zi"}
		nor_start.pothypo       = {ni = "nen", hi = "hen", hura = "le", gu = "gen", zu = "zen", zuek = "zen", haiek = "le"}
		nor_start.potpast       = {ni = "nen", hi = "hen", hura = "ze", gu = "gen", zu = "zen", zuek = "zen", haiek = "ze"}
		nor_end_final.pothypo   = {ni = "ke", hi = "ke", hura = "ke", gu = "ke", zu = "ke", zuek = "kete", haiek = "ke"}
		nor_end_final.potpast   = {ni = "keen", hi = "keen", hura = "keen", gu = "keen", zu = "keen", zuek = "keten", haiek = "keen"}
		nor_start.dicond        = {ni = "banen", hi = "bahen", hura = "bale", gu = "bagen", zu = "bazen", zuek = "bazen", haiek = "bale"}
		nor_end_final.dicond    = {ni = "", hi = "", hura = "", gu = "", zu = "", zuek = "te", haiek = ""}
		nor_start.subhyp        = {ni = "nen", hi = "hen", hura = "le", gu = "gen", zu = "zen", zuek = "zen", haiek = "le"}
		nor_end_final.subhyp    = {ni = "n", hi = "n", hura = "n", gu = "n", zu = "n", zuek = "ten", haiek = "n"}
		nor_start.subpresla     = {ni = "na", hi = "ha", hura = "da", gu = "ga", zu = "za", zuek = "za", haiek = "da"}
		nor_end_final.subpresla = {ni = "la", hi = "la", hura = "la", gu = "la", zu = "la", zuek = "tela", haiek = "la"}
		nor_start.subpast       = {ni = "nen", hi = "hen", hura = "ze", gu = "gen", zu = "zen", zuek = "zen", haiek = "ze"}
		nor_end_final.subpast   = {ni = "n", hi = "n", hura = "n", gu = "n", zu = "n", zuek = "ten", haiek = "n"}
		nor_start.subpastla     = {ni = "nen", hi = "hen", hura = "ze", gu = "gen", zu = "zen", zuek = "zen", haiek = "ze"}
		nor_end_final.subpastla = {ni = "la", hi = "la", hura = "la", gu = "la", zu = "la", zuek = "tela", haiek = "la"}
		nor_start.imp           = {ni = "", hi = "ha", hura = "be", gu = "", zu = "za", zuek = "za", haiek = "be"}
	end
	local edin_tenses = m_table.listToSet {"potpres", "subpres", "subpresla", "imp", "clcond", "dicond", "pothypo", "potpast", "subhyp", "subpast", "subpastla"}

	--which tenses?
	local tenses_list = {"pres", "past", "hcons", "imp"}
	if base == "ibili" or base == "etorri" or base == "joan" or base == "egon" then
		tenses_list = {"pres", "past", "cond", "hcons", "pcons", "potpres", "imp", "subpres", "clcond"}
	elseif base == "izan" then
		tenses_list = {"pres", "past", "cond", "hcons", "pcons", "potpres", "pothypo", "potpast", "imp", "subpres", "clcond", "dicond", "subhyp", "subpresla", "subpast", "subpastla"}
	end
	
	--generate the values
	local prov_form = ""
	local stem = ""
	for nori, nor_list in pairs(nori_list) do
		for _, nor in ipairs(nor_list) do
			for _, tense in ipairs(tenses_list) do
				--Handle stem alternations
				stem = pres
				if base == "etorri" and plural_nor then
					stem = "to"
				elseif base == "izan" and edin_tenses then
					stem = "ki"
				end
				--Generate form
				prov_form = nor_start .. stem .. infix .. nori_end .. nor_end_final
				--Regular morphological changes
				for original, changed in pairs(regular_changes) do
					prov_form = mw.ustring.gsub(prov_form, original, changed)
				end
				--Store the form
				data.forms = {prov_form}
			end
		end
	end
	
	return data
end

-- Inflection functions
function export.nornori(frame)
	local args = frame:getParent().args
		
	local data = {
		forms = {},
		info = "",
		categories = {},
	}
	
	-- add the lemma form and generate inflections
	local base = args.pagename or mw.title.getCurrentTitle().text
	data.info = m_links.full_link({lang = lang, alt = base}, "term")
	data = generate_nornori(data, base)
	
	--categories
	table.insert(data.categories, "Basque synthetic verbs")
	table.insert(data.categories, "Basque intransitive verbs")

	if base == "jarraiki" or base == "atxiki" then
		return m_tables.make_table(data, "nornori-atxeki") .. m_utilities.format_categories(data.categories, lang)
	elseif base == "jariatu" then
		return m_tables.make_table(data, "nornori-jariatu") .. m_utilities.format_categories(data.categories, lang)
	elseif base == "ibili" or base == "etorri" or base == "joan" or base == "egon" then
		return m_tables.make_table(data, "nornori-ibili") .. m_utilities.format_categories(data.categories, lang)
	elseif base == "izan" then
		return m_tables.make_table(data, "nornori-izan") .. m_utilities.format_categories(data.categories, lang)
	else
		error("Unsupported verb.")
	end
end

function export.nornork(frame)
	local args = frame:getParent().args
		
	local data = {
		forms = {},
		info = "",
		categories = {},
	}
	
	-- add the lemma form
	local base = mw.title.getCurrentTitle().text
	
	data.info = m_links.full_link({lang = lang, alt = base}, "term")

	local st = ""
	local st2 = ""
	local st_imp = ""
	local v1 = ""
	local v2 = ""
	local e1 = ""
	local e2 = ""
	local e2b = "" -- only used in irudi
	local e_imp = "e"
	local z = "z" -- the plural infix -zki- becomes -ski- in erakutsi
	local z2 = "z" -- only used in egin
	local s = "" --only used in erakutsi
	local v3 = ""
	local ki = "ki" --only used in egin and eroan
	local kie = "kie" --only used in egin and eroan
	
	if base == "entzun" then
		st = "ntzu"
		v1 = "a"
		e1 = "e"
		e2 = "e"
	elseif base == "erakutsi" then
		st = "rakuts"
		v1 = "a"
		v2 = "a"
		e1 = "e"
		e2 = "a"
		z = "s"
		v3 = "a"
		s = "s"
	elseif base == "iharduki" then
		st = "iharduka"
		e_imp = ""
	elseif base == "irudi" or base == "iruditu" then
		st = "irudi"
		e2 = "e"
		e_imp = ""
	elseif base == "jardun" then
		st = "ihardu"
		e2 = "e"
		e_imp = ""
	elseif base == "iraun" then
		st = "irau"
		e2 = "e"
		e_imp = ""
	elseif base == "jakin" then
		st = "ki"
		e1 = "e"
		e2 = "e"
		v1 = "a"
		e_imp = ""
	elseif base == "egin" then
		st = "gi"
		v1 = "a"
		e1 = "e"
		e2 = "e"
		ki = ""
		kie = ""
		z = "tza"
		z2 = "tza"
	elseif base == "eroan" then
		st = "roa"
		v1 = "a"
		e1 = "e"
		ki = ""
		kie = ""
		z = "tza"
	elseif base == "ikusi" then
		st = "kus"
		v1 = "a"
		v2 = "a"
		e1 = "e"
		e2 = "a"
		z = ""
		z2 = "az"
		e_imp = "i"
	elseif base == "utzi" then
		st = "utz"
		v2 = "a"
		e_imp = ""
	elseif base == "irakatsi" then
		st = "irakats"
		v2 = "a"
		e_imp = ""
	elseif base == "erosi" then
		st = "eros"
		v2 = "a"
		e_imp = ""
	elseif base == "igorri" then
		st = "igor"
		v2 = ""
		e_imp = ""
	end
	
	if base == "erakutsi" then
		st2 = "raku"
		st_imp = st
	elseif base == "jakin" then
		st2 = st
		st_imp = "jaki"
	else
		st2 = st
		st_imp = st
	end

	--data for eduki and ezagutu
	if base == "eduki" then
		st2 = "ka"
		st1 = "u"
		kV = "ka"
		e = ""
		ke = ""
	elseif base == "ezagutu" then
		st1 = "zagu"
		st2 = ""
		kV = "ki"
		e = "e"
		ke = "ke"
	end
	
	if base == "irudi" or base == "iruditu" or base == "jardun" or base == "iraun" or base == "jakin" or base == "egin" or base == "entzun" then
		e2b = ""
	else
		e2b = e2
	end
	
	-- present indicative (hura)
	data.forms = {"d" .. v1 .. st .. v2 .. "t"}
	data.forms = {"d" .. v1 .. st .. v2 .."k"}
	data.forms = {"d" .. v1 .. st .. v2 .."n"}
	data.forms = {"d" .. v1 .. st .. v2}
	data.forms = {"d" .. v1 .. st .. v2 .. "gu"}
	data.forms = {"d" .. v1 .. st .. v2 .. "zu"}
	data.forms = {"d" .. v1 .. st .. v2 .. "zue"}
	data.forms = {"d" .. v1 .. st .. v2 .. "te"}
	
	-- past indicative (hura)
	data.forms = {"n" .. e1 .. st .. e2 .. "n"}
	data.forms = {"h" .. e1 .. st .. e2 .. "n"}
	data.forms = {"z" .. e1 .. st .. e2 .. "n"}
	data.forms = {"gen" .. e1 .. st .. e2 .. "n"}
	data.forms = {"zen" .. e1 .. st .. e2 .. "n"}
	data.forms = {"zen" .. e1 .. st .. e2b .. "ten"}
	data.forms = {"z" .. e1 .. st .. e2b .. "ten"}	

	-- conditional indicative (hura)
	if base ~= "eroan" then
		data.forms = {"ban" .. e1 .. st .. v2}
		data.forms = {"bah" .. e1 .. st .. v2}
		data.forms = {"bal" .. e1 .. st .. v2}
		data.forms = {"bagen" .. e1 .. st .. v2}
		data.forms = {"bazen" .. e1 .. st .. v2}
		data.forms = {"bazen" .. e1 .. st .. v2 .. "te"}
		data.forms = {"bal" .. e1 .. st .. v2 .. "te"}	
	end
	
	-- hypothetic cons. indicative (hura) (parameter s only used in erakutsi)
	data.forms = {"n" .. e1 .. st2 .. s .. "ke"}
	data.forms = {"h" .. e1 .. st2 .. s .. "ke"}
	data.forms = {"l" .. e1 .. st2 .. s .. "ke"}
	data.forms = {"gen" .. e1 .. st2 .. s .. "ke"}
	data.forms = {"zen" .. e1 .. st2 .. s .. "ke"}
	data.forms = {"zen" .. e1 .. st2 .. s .. "kete"}
	data.forms = {"l" .. e1 .. st2 .. s .. "kete"}

	-- imperative
	data.forms = {e_imp .. st_imp .. v2 .. "k"}
	data.forms = {e_imp .. st_imp .. v2 .. "n"}
	data.forms = {e_imp .. st_imp .. v2 .. "zu"}
	data.forms =  {e_imp .. st_imp .. v2 .. "zue"}
	
	if base == "igorri" then
		data.forms = {"igorna"}
	end
	
	if base ~= "igorri" and base ~= "utzi" and base ~= "irakatsi" and base ~= "erosi" then
		data.forms = {"b" .. e1 .. st .. v2}
		data.forms = {"b" .. e1 .. st .. v2 .. "te"}
	end
	
	if base ~= "iharduki" and base ~= "irudi" and base ~= "iruditu" and base ~= "jardun" and base ~= "iraun" then
		-- present indicative (haiek)
 		data.forms = {"d" .. v1 .. st2 .. z .. ki .. "t"}
		data.forms = {"d" .. v1 .. st2 .. z .. ki .. "k"}
		data.forms = {"d" .. v1 .. st2 .. z .. ki .. "n"}
		data.forms = {"d" .. v1 .. st2 .. z .. ki}
		data.forms = {"d" .. v1 .. st2 .. z .. ki .. "gu"}
		data.forms = {"d" .. v1 .. st2 .. z .. ki .. "zu"}
		data.forms = {"d" .. v1 .. st2 .. z .. ki .. "zue"}
		data.forms = {"d" .. v1 .. st2 .. z .. ki .. "te"}
		
		-- past indicative (haiek)
		data.forms = {"n" .. e1 .. st2 .. z .. kie .. "n"}
		data.forms = {"h" .. e1 .. st2 .. z .. kie .. "n"}
		data.forms = {"z" .. e1 .. st2 .. z .. kie .. "n"}
		data.forms = {"gen" .. e1 .. st2 .. z .. kie .. "n"}
		data.forms = {"zen" .. e1 .. st2 .. z .. kie .. "n"}
		data.forms = {"zen" .. e1 .. st2 .. z .. ki .. "ten"}
		data.forms = {"z" .. e1 .. st2 .. z .. ki .. "ten"}
		
		-- conditional indicative (haiek)
		if base ~= "eroan" then
			data.forms = {"ban" .. e1 .. st2 .. z .. ki}
			data.forms = {"bah" .. e1 .. st2 .. z .. ki}
			data.forms = {"bal" .. e1 .. st2 .. z .. ki}
			data.forms = {"bagen" .. e1 .. st2 .. z .. ki}
			data.forms = {"bazen" .. e1 .. st2 .. z .. ki}
			data.forms = {"bazen" .. e1 .. st2 .. z .. ki .. "te"}
			data.forms = {"bal" .. e1 .. st2 .. z .. ki .. "te"}
		end
		
		-- hypothetic cons. indicative (haiek)
		data.forms = {"n" .. e1 .. st .. v3 .. z2 .. "ke"}
		data.forms = {"h" .. e1 .. st .. v3 .. z2 .. "ke"}
		data.forms = {"l" .. e1 .. st .. v3 .. z2 .. "ke"}
		data.forms = {"gen" .. e1 .. st .. v3 .. z2 .. "ke"}
		data.forms = {"zen" .. e1 .. st .. v3 .. z2 .. "ke"}
		data.forms = {"zen" .. e1 .. st .. v3 .. z2 .. "kete"}
		data.forms = {"l" .. e1 .. st .. v3 .. z2 .. "kete"}
		
		-- imperative
		data.forms = {"b" .. e1 .. st2 .. z .. "ki"}
		data.forms = {"b" .. e1 .. st2 .. z .. "kite"}
		if base == "egin" then
			data.forms = {"begitza"}
			data.forms = {"begitza"}
		elseif base == "eroan" then
			data.forms = {"beroatza"}
			data.forms = {"beroatzate"}		
		end
		if base == "jakin" or base == "egin" then
			data.forms = {e_imp .. st_imp .. v2 .. "tzak"}
			data.forms = {e_imp .. st_imp .. v2 .. "tzan"}
			data.forms = {e_imp .. st_imp .. v2 .. "tzazu"}
			data.forms =  {e_imp .. st_imp .. v2 .. "tzazue"}
		end
	end

	--eduki and ezagutu
	if base == "eduki" or base == "ezagutu" then
		-- indicative present (ni)
		data.forms = {"na" .. st1 .. st2 .. "k"}
		data.forms = {"na" .. st1 .. st2 .. "n"}
		data.forms = {"na" .. st1 .. st2}
		data.forms = {"na" .. st1 .. st2 .. "zu"}
		data.forms = {"na" .. st1 .. st2 .. "zue"}
		data.forms = {"na" .. st1 .. st2 .. "te"}
		-- (hi)
		data.forms = {"ha" .. st1 .. st2 .. "t"}
		data.forms = {"ha" .. st1 .. st2}
		data.forms = {"ha" .. st1 .. st2 .. "gu"}
		data.forms = {"ha" .. st1 .. st2 .. "te"}
		-- (hura)
		data.forms = {"da" .. st1 .. st2 .. "t"}
		data.forms = {"da" .. st1 .. st2 .. "k"}
		data.forms = {"da" .. st1 .. st2 .. "n"}
		data.forms = {"da" .. st1 .. st2}
		data.forms = {"da" .. st1 .. st2 .. "gu"}	
		data.forms = {"da" .. st1 .. st2 .. "zu"}	
		data.forms = {"da" .. st1 .. st2 .. "zue"}		
		data.forms = {"da" .. st1 .. st2 .. "te"}	
		-- (gu)
		data.forms = {"ga" .. st1 .. "z" .. kV .. "k"}
		data.forms = {"ga" .. st1 .. "z" .. kV .. "n"}
		data.forms = {"ga" .. st1 .. "z" .. kV}
		data.forms = {"ga" .. st1 .. "z" .. kV .. "zu"}
		data.forms = {"ga" .. st1 .. "z" .. kV .. "zue"}
		data.forms = {"ga" .. st1 .. "z" .. kV .. "te"}
		-- (zu)
		data.forms = {"za" .. st1 .. "z" .. kV .. "t"}
		data.forms = {"za" .. st1 .. "z" .. kV}
		data.forms = {"za" .. st1 .. "z" .. kV .. "gu"}
		data.forms = {"za" .. st1 .. "z" .. kV .. "te"}
		-- (zuek)
		data.forms = {"za" .. st1 .. "z" .. st2 .. "tet"}
		data.forms = {"za" .. st1 .. "z" .. st2 .. "te"}
		data.forms = {"za" .. st1 .. "z" .. st2 .. "tegu"}
		data.forms = {"za" .. st1 .. "z" .. st2 .. "tete"}
		-- (haiek)
		data.forms = {"da" .. st1 .. "z" .. kV .. "t"}
		data.forms = {"da" .. st1 .. "z" .. kV .. "k"}
		data.forms = {"da" .. st1 .. "z" .. kV .. "n"}
		data.forms = {"da" .. st1 .. "z" .. kV}
		data.forms = {"da" .. st1 .. "z" .. kV .. "gu"}
		data.forms = {"da" .. st1 .. "z" .. kV .. "zu"}
		data.forms = {"da" .. st1 .. "z" .. kV .. "zue"}
		data.forms = {"da" .. st1 .. "z" .. kV .. "te"}
		
		-- indicative past (ni)
		data.forms = {"nind" .. e .. st1 .. st2 .. "an"}
		data.forms = {"nind" .. e .. st1 .. st2 .. "nan"}
		data.forms = {"nind" .. e .. st1 .. st2 .. e .. "n"}
		data.forms = {"nind" .. e .. st1 .. st2 .. "zun"}
		data.forms = {"nind" .. e .. st1 .. st2 .. "zuen"}
		data.forms = {"nind" .. e .. st1 .. st2 .. "ten"}	
		-- (hi)
		data.forms = {"hind" .. e .. st1 .. st2 .. "dan"}
		data.forms = {"hind" .. e .. st1 .. st2 .. e .. "n"}
		data.forms = {"hind" .. e .. st1 .. st2 .. "gun"}
		data.forms = {"hind" .. e .. st1 .. st2 .. "ten"}	
		-- (hura)
		data.forms = {"ne" .. st1 .. st2 .. e .. "n"}
		data.forms = {"he" .. st1 .. st2 .. e .. "n"}
		data.forms = {"ze" .. st1 .. st2 .. e .. "n"}
		data.forms = {"gene" .. st1 .. st2 .. e .. "n"}
		data.forms = {"zene" .. st1 .. st2 .. e .. "n"}
		data.forms = {"zene" .. st1 .. st2 .. "ten"}
		data.forms = {"ze" .. st1 .. st2 .. "ten"}
		-- (gu)
		data.forms = {"gind" .. e .. st1 .. "z" .. kV .. "an"}
		data.forms = {"gind" .. e .. st1 .. "z" .. kV .. "nan"}
		data.forms = {"gind" .. e .. st1 .. "z" .. kV .. e .. "n"}
		data.forms = {"gind" .. e .. st1 .. "z" .. kV .. "zun"}
		data.forms = {"gind" .. e .. st1 .. "z" .. kV .. "zuen"}
		data.forms = {"gind" .. e .. st1 .. "z" .. kV .. "ten"}
		-- (zu)
		data.forms = {"zind" .. e .. st1 .. "z" .. kV .. "dan"}
		data.forms = {"zind" .. e .. st1 .. "z" .. kV .. e .. "n"}
		data.forms = {"zind" .. e .. st1 .. "z" .. kV .. "gun"}
		data.forms = {"zind" .. e .. st1 .. "z" .. kV .. "ten"}
		-- (zuek)
		data.forms = {"zind" .. e .. st1 .. "z" .. st2 .. "tedan"}
		data.forms = {"zind" .. e .. st1 .. "z" .. st2 .. "ten"}
		data.forms = {"zind" .. e .. st1 .. "z" .. st2 .. "tegun"}
		data.forms = {"zind" .. e .. st1 .. "z" .. st2 .. "teten"}
		-- (haiek)
		data.forms = {"ne" .. st1 .. "z" .. kV .. e .. "n"}
		data.forms = {"he" .. st1 .. "z" .. kV .. e .. "n"}
		data.forms = {"ze" .. st1 .. "z" .. kV .. e .. "n"}
		data.forms = {"gene" .. st1 .. "z" .. kV .. e .. "n"}
		data.forms = {"zene" .. st1 .. "z" .. kV .. e .. "n"}
		data.forms = {"zene" .. st1 .. "z" .. kV .. "ten"}
		data.forms = {"ze" .. st1 .. "z" .. kV .. "ten"}
		
		-- indicative conditional (ni)
		data.forms = {"banind" .. e .. st1 .. st2 .. "k"}
		data.forms = {"banind" .. e .. st1 .. st2 .. "n"}
		data.forms = {"banind" .. e .. st1 .. st2}
		data.forms = {"banind" .. e .. st1 .. st2 .. "zu"}
		data.forms = {"banind" .. e .. st1 .. st2 .. "zue"}
		data.forms = {"banind" .. e .. st1 .. st2 .. "te"}	
		-- (hi)
		data.forms = {"bahind" .. e .. st1 .. st2 .. "t"}
		data.forms = {"bahind" .. e .. st1 .. st2}
		data.forms = {"bahind" .. e .. st1 .. st2 .. "gu"}
		data.forms = {"bahind" .. e .. st1 .. st2 .. "te"}	
		-- (hura)
		data.forms = {"bane" .. st1 .. st2}
		data.forms = {"bahe" .. st1 .. st2}
		data.forms = {"bale" .. st1 .. st2}
		data.forms = {"bagene" .. st1 .. st2}
		data.forms = {"bazene" .. st1 .. st2}
		data.forms = {"bazene" .. st1 .. st2 .. "te"}
		data.forms = {"bale" .. st1 .. st2 .. "te"}
		-- (gu)
		data.forms = {"bagind" .. e .. st1 .. "z" .. kV .. "k"}
		data.forms = {"bagind" .. e .. st1 .. "z" .. kV .. "n"}
		data.forms = {"bagind" .. e .. st1 .. "z" .. kV}
		data.forms = {"bagind" .. e .. st1 .. "z" .. kV .. "zu"}
		data.forms = {"bagind" .. e .. st1 .. "z" .. kV .. "zue"}
		data.forms = {"bagind" .. e .. st1 .. "z" .. kV .. "te"}
		-- (zu)
		data.forms = {"bazind" .. e .. st1 .. "z" .. kV .. "t"}
		data.forms = {"bazind" .. e .. st1 .. "z" .. kV}
		data.forms = {"bazind" .. e .. st1 .. "z" .. kV .. "gu"}
		data.forms = {"bazind" .. e .. st1 .. "z" .. kV .. "te"}
		-- (zuek)
		data.forms = {"bazind" .. e .. st1 .. "z" .. st2 .. "tet"}
		data.forms = {"bazind" .. e .. st1 .. "z" .. st2 .. "te"}
		data.forms = {"bazind" .. e .. st1 .. "z" .. st2 .. "tegu"}
		data.forms = {"bazind" .. e .. st1 .. "z" .. st2 .. "tete"}
		-- (haiek)
		data.forms = {"bane" .. st1 .. "z" .. kV}
		data.forms = {"bahe" .. st1 .. "z" .. kV}
		data.forms = {"bale" .. st1 .. "z" .. kV}
		data.forms = {"bagene" .. st1 .. "z" .. kV}
		data.forms = {"bazene" .. st1 .. "z" .. kV}
		data.forms = {"bazene" .. st1 .. "z" .. kV .. "te"}
		data.forms = {"bale" .. st1 .. "z" .. kV .. "te"}

		-- indicative hypothetic consequence (ni)
		data.forms = {"nind" .. e .. st1 .. st2 .. "kek"}
		data.forms = {"nind" .. e .. st1 .. st2 .. "ken"}
		data.forms = {"nind" .. e .. st1 .. st2 .. "ke"}
		data.forms = {"nind" .. e .. st1 .. st2 .. "kezu"}
		data.forms = {"nind" .. e .. st1 .. st2 .. "kezue"}
		data.forms = {"nind" .. e .. st1 .. st2 .. "kete"}	
		-- (hi)
		data.forms = {"hind" .. e .. st1 .. st2 .. "ket"}
		data.forms = {"hind" .. e .. st1 .. st2 .. "ke"}
		data.forms = {"hind" .. e .. st1 .. st2 .. "kegu"}
		data.forms = {"hind" .. e .. st1 .. st2 .. "kete"}	
		-- (hura)
		data.forms = {"ne" .. st1 .. st2 .. "ke"}
		data.forms = {"he" .. st1 .. st2 .. "ke"}
		data.forms = {"le" .. st1 .. st2 .. "ke"}
		data.forms = {"gene" .. st1 .. st2 .. "ke"}
		data.forms = {"zene" .. st1 .. st2 .. "ke"}
		data.forms = {"zene" .. st1 .. st2 .. "kete"}
		data.forms = {"le" .. st1 .. st2 .. "kete"}
		-- (gu)
		data.forms = {"gind" .. e .. st1 .. "z" .. st2 .. "kek"}
		data.forms = {"gind" .. e .. st1 .. "z" .. st2 .. "ken"}
		data.forms = {"gind" .. e .. st1 .. "z" .. st2 .. "ke"}
		data.forms = {"gind" .. e .. st1 .. "z" .. st2 .. "kezu"}
		data.forms = {"gind" .. e .. st1 .. "z" .. st2 .. "kezue"}
		data.forms = {"gind" .. e .. st1 .. "z" .. st2 .. "kete"}
		-- (zu)
		data.forms = {"zind" .. e .. st1 .. "z" .. st2 .. "ket"}
		data.forms = {"zind" .. e .. st1 .. "z" .. st2 .. "ke"}
		data.forms = {"zind" .. e .. st1 .. "z" .. st2 .. "kegu"}
		data.forms = {"zind" .. e .. st1 .. "z" .. st2 .. "kete"}
		-- (zuek)
		data.forms = {"zind" .. e .. st1 .. "z" .. st2 .. "ketet"}
		data.forms = {"zind" .. e .. st1 .. "z" .. st2 .. "kete"}
		data.forms = {"zind" .. e .. st1 .. "z" .. st2 .. "ketegu"}
		data.forms = {"zind" .. e .. st1 .. "z" .. st2 .. "ketete"}
		-- (haiek)
		data.forms = {"ne" .. st1 .. "z" .. st2 .. "ke"}
		data.forms = {"he" .. st1 .. "z" .. st2 .. "ke"}
		data.forms = {"le" .. st1 .. "z" .. st2 .. "ke"}
		data.forms = {"gene" .. st1 .. "z" .. st2 .. "ke"}
		data.forms = {"zene" .. st1 .. "z" .. st2 .. "ke"}
		data.forms = {"zene" .. st1 .. "z" .. st2 .. "kete"}
		data.forms = {"le" .. st1 .. "z" .. st2 .. "kete"}
		
		-- (hura)
		data.forms = {"e" .. st1 .. st2 .. "k"}
		data.forms = {"e" .. st1 .. st2 .. "n"}
		data.forms = {"be" .. st1 .. st2}
		data.forms = {"e" .. st1 .. st2 .. "zu"}
		data.forms = {"e" .. st1 .. st2 .. "zue"}
		data.forms = {"be" .. st1 .. st2 .. "te"}

		-- (haiek)
		data.forms = {"be" .. st1 .. "z" .. kV}
		data.forms = {"be" .. st1 .. "z" .. kV .. "te"}
		if base == "eduki" then
			data.forms = {"euzkak"}
			data.forms = {"euzkan"}
			data.forms = {"euzkazu"}
			data.forms = {"euzkazue"}
		else
			data.forms = {"NA"} -- placeholder
		end
	end

	--izan
	if base == "izan" then
		-- indicative present (ni)
		data.forms = {"nauk"}
		data.forms = {"naun"}
		data.forms = {"nau"}
		data.forms = {"nauzu"}
		data.forms = {"nauzue"}
		data.forms = {"naute"}
		-- (hi)
		data.forms = {"haut"}
		data.forms = {"hau"}
		data.forms = {"haugu"}
		data.forms = {"haute"}
		-- (hura)
		data.forms = {"dut"}
		data.forms = {"duk"}
		data.forms = {"dun"}
		data.forms = {"du"}
		data.forms = {"dugu"}		
		data.forms = {"duzu"}		
		data.forms = {"duzue"}		
		data.forms = {"dute"}		
		-- (gu)
		data.forms = {"gaituk"}
		data.forms = {"gaitun"}
		data.forms = {"gaitu"}
		data.forms = {"gaituzu"}
		data.forms = {"gaituzue"}
		data.forms = {"gaituzte"}
		-- (zu)
		data.forms = {"zaitut"}
		data.forms = {"zaitu"}
		data.forms = {"zaitugu"}
		data.forms = {"zaituzte"}
		-- (zuek)
		data.forms = {"zaituztet"}
		data.forms = {"zaituzte"}
		data.forms = {"zaituztegu"}
		data.forms = {"zaituztete"}
		-- (haiek)
		data.forms = {"ditut"}
		data.forms = {"dituk"}
		data.forms = {"ditun"}
		data.forms = {"ditu"}
		data.forms = {"ditugu"}
		data.forms = {"dituzu"}
		data.forms = {"dituzue"}
		data.forms = {"dituzte"}
		
		-- indicative past (ni)
		data.forms = {"ninduan"}
		data.forms = {"nindunan"}
		data.forms = {"ninduen"}
		data.forms = {"ninduzun"}
		data.forms = {"ninduzuen"}
		data.forms = {"ninduten"}		
		-- (hi)
		data.forms = {"hindudan"}
		data.forms = {"hinduen"}
		data.forms = {"hindugun"}
		data.forms = {"hinduten"}
		-- (hura)
		data.forms = {"nuen"}
		data.forms = {"huen"}
		data.forms = {"zuen"}
		data.forms = {"genuen"}
		data.forms = {"zenuen"}
		data.forms = {"zenuten"}
		data.forms = {"zuten"}
		-- (gu)
		data.forms = {"gintuan"}
		data.forms = {"gintunan"}
		data.forms = {"gintuen"}
		data.forms = {"gintuzun"}
		data.forms = {"gintuzuen"}
		data.forms = {"gintuzten"}
		-- (zu)
		data.forms = {"zintudan"}
		data.forms = {"zintuen"}
		data.forms = {"zintugun"}
		data.forms = {"zintuzten"}
		-- (zuek)
		data.forms = {"zintuztedan"}
		data.forms = {"zintuzten"}
		data.forms = {"zintuztegun"}
		data.forms = {"zintuzteten"}
		-- (haiek)
		data.forms = {"nituen"}
		data.forms = {"hituen"}
		data.forms = {"zituen"}
		data.forms = {"genituen"}
		data.forms = {"zenituen"}
		data.forms = {"zenituzten"}
		data.forms = {"zituzten"}
		
		-- indicative conditional (ni)
		data.forms = {"baninduk"}
		data.forms = {"banindun"}
		data.forms = {"banindu"}
		data.forms = {"baninduzu"}
		data.forms = {"baninduzue"}
		data.forms = {"banindute"}		
		-- (hi)
		data.forms = {"bahindut"}
		data.forms = {"bahindu"}
		data.forms = {"bahindugu"}
		data.forms = {"bahindute"}
		-- (hura)
		data.forms = {"banu"}
		data.forms = {"bahu"}
		data.forms = {"balu"}
		data.forms = {"bagenu"}
		data.forms = {"bazenu"}
		data.forms = {"bazenute"}
		data.forms = {"balute"}
		-- (gu)
		data.forms = {"bagintuk"}
		data.forms = {"bagintun"}
		data.forms = {"bagintu"}
		data.forms = {"bagintuzu"}
		data.forms = {"bagintuzue"}
		data.forms = {"bagintuzte"}
		-- (zu)
		data.forms = {"bazintut"}
		data.forms = {"bazintu"}
		data.forms = {"bazintugu"}
		data.forms = {"bazintuzte"}
		-- (zuek)
		data.forms = {"bazintuztet"}
		data.forms = {"bazintuzte"}
		data.forms = {"bazintuztegu"}
		data.forms = {"bazintuztete"}
		-- (haiek)
		data.forms = {"banitu"}
		data.forms = {"bahitu"}
		data.forms = {"balitu"}
		data.forms = {"bagenitu"}
		data.forms = {"bazenitu"}
		data.forms = {"bazenituzte"}
		data.forms = {"balituzte"}

		-- indicative hypothetic consequence (ni)
		data.forms = {"nindukek"}
		data.forms = {"ninduken"}
		data.forms = {"ninduke"}
		data.forms = {"nindukezu"}
		data.forms = {"nindukezue"}
		data.forms = {"nindukete"}		
		-- (hi)
		data.forms = {"hinduket"}
		data.forms = {"hinduke"}
		data.forms = {"hindukegu"}
		data.forms = {"hindukete"}
		-- (hura)
		data.forms = {"nuke"}
		data.forms = {"huke"}
		data.forms = {"luke"}
		data.forms = {"genuke"}
		data.forms = {"zenuke"}
		data.forms = {"zenukete"}
		data.forms = {"lukete"}
		-- (gu)
		data.forms = {"gintuzkek"}
		data.forms = {"gintuzken"}
		data.forms = {"gintuzke"}
		data.forms = {"gintuzkezu"}
		data.forms = {"gintuzkezue"}
		data.forms = {"gintuzkete"}
		-- (zu)
		data.forms = {"zintuzket"}
		data.forms = {"zintuzke"}
		data.forms = {"zintuzkegu"}
		data.forms = {"zintuzkete"}
		-- (zuek)
		data.forms = {"zintuzketet"}
		data.forms = {"zintuzkete"}
		data.forms = {"zintuzketegu"}
		data.forms = {"zintuzketete"}
		-- (haiek)
		data.forms = {"nituzke"}
		data.forms = {"hituzke"}
		data.forms = {"lituzke"}
		data.forms = {"genituzke"}
		data.forms = {"zenituzke"}
		data.forms = {"zenituzkete"}
		data.forms = {"lituzkete"}
		
		-- indicative past consequence (ni)
		data.forms = {"nindukean"}
		data.forms = {"nindukenan"}
		data.forms = {"nindukeen"}
		data.forms = {"nindukezun"}
		data.forms = {"nindukezuen"}
		data.forms = {"ninduketen"}		
		-- (hi)
		data.forms = {"hindukedan"}
		data.forms = {"hindukeen"}
		data.forms = {"hindukegun"}
		data.forms = {"hinduketen"}
		-- (hura)
		data.forms = {"nukeen"}
		data.forms = {"hukeen"}
		data.forms = {"zukeen"}
		data.forms = {"genukeen"}
		data.forms = {"zenukeen"}
		data.forms = {"zenuketen"}
		data.forms = {"zuketen"}
		-- (gu)
		data.forms = {"gintuzkean"}
		data.forms = {"gintuzkenan"}
		data.forms = {"gintuzkeen"}
		data.forms = {"gintuzkezun"}
		data.forms = {"gintuzkezuen"}
		data.forms = {"gintuzketen"}
		-- (zu)
		data.forms = {"zintuzkedan"}
		data.forms = {"zintuzkeen"}
		data.forms = {"zintuzkegun"}
		data.forms = {"zintuzketen"}
		-- (zuek)
		data.forms = {"zintuzketedan"}
		data.forms = {"zintuzketen"}
		data.forms = {"zintuzketegun"}
		data.forms = {"zintuzketeten"}
		-- (haiek)
		data.forms = {"nituzkeen"}
		data.forms = {"hituzkeen"}
		data.forms = {"zituzkeen"}
		data.forms = {"genituzkeen"}
		data.forms = {"zenituzkeen"}
		data.forms = {"zenituzketen"}
		data.forms = {"zituzketen"}
		
		-- indicative present potential (ni)
		data.forms = {"nazakek"}
		data.forms = {"nazaken"}
		data.forms = {"nazake"}
		data.forms = {"nazakezu"}
		data.forms = {"nazakezue"}
		data.forms = {"nazakete"}
		-- (hi)
		data.forms = {"hazaket"}
		data.forms = {"hazake"}
		data.forms = {"hazakegu"}
		data.forms = {"hazakete"}
		-- (hura)
		data.forms = {"dezaket"}
		data.forms = {"dezakek"}
		data.forms = {"dezaken"}
		data.forms = {"dezake"}
		data.forms = {"dezakegu"}
		data.forms = {"dezakezu"}
		data.forms = {"dezakezue"}
		data.forms = {"dezakete"}
		-- (gu)
		data.forms = {"gaitzakek"}
		data.forms = {"gaitzaken"}
		data.forms = {"gaitzake"}
		data.forms = {"gaitzakezu"}
		data.forms = {"gaitzakezue"}
		data.forms = {"gaitzakete"}
		-- (zu)
		data.forms = {"zaitzaket"}
		data.forms = {"zaitzake"}
		data.forms = {"zaitzakegu"}
		data.forms = {"zaitzakete"}
		-- (zuek)
		data.forms = {"zaitzaketet"}
		data.forms = {"zaitzakete"}
		data.forms = {"zaitzaketegu"}
		data.forms = {"zaitzaketete"}
		-- (haiek)
		data.forms = {"ditzaket"}
		data.forms = {"ditzakek"}
		data.forms = {"ditzaken"}
		data.forms = {"ditzake"}
		data.forms = {"ditzakegu"}
		data.forms = {"ditzakezu"}
		data.forms = {"ditzakezue"}
		data.forms = {"ditzakete"}
		
		-- indicative hypothetic potential (ni)
		data.forms = {"nintzakek"}
		data.forms = {"nintzaken"}
		data.forms = {"nintzake"}
		data.forms = {"nintzakezu"}
		data.forms = {"nintzakezue"}
		data.forms = {"nintzakete"}
		-- (hi)
		data.forms = {"hintzaket"}
		data.forms = {"hintzake"}
		data.forms = {"hintzakegu"}
		data.forms = {"hintzakete"}
		-- (hura)
		data.forms = {"nezake"}
		data.forms = {"hezake"}
		data.forms = {"lezake"}
		data.forms = {"genezake"}
		data.forms = {"zenezake"}
		data.forms = {"zenezakete"}
		data.forms = {"lezakete"}
		-- (gu)
		data.forms = {"gintzakek"}
		data.forms = {"gintzaken"}
		data.forms = {"gintzake"}
		data.forms = {"gintzakezu"}
		data.forms = {"gintzakezue"}
		data.forms = {"gintzakete"}
		-- (zu)
		data.forms = {"zintzaket"}
		data.forms = {"zintzake"}
		data.forms = {"zintzakegu"}
		data.forms = {"zintzakete"}
		-- (zuek)
		data.forms = {"zintzaketet"}
		data.forms = {"zintzakete"}
		data.forms = {"zintzaketegu"}
		data.forms = {"zintzaketete"}
		-- (haiek)
		data.forms = {"nitzake"}
		data.forms = {"hitzake"}
		data.forms = {"litzake"}
		data.forms = {"genitzake"}
		data.forms = {"zenitzake"}
		data.forms = {"zenitzakete"}
		data.forms = {"litzakete"}
		
		-- indicative past potential (ni)
		data.forms = {"nintzakean"}
		data.forms = {"nintzakenan"}
		data.forms = {"nintzakeen"}
		data.forms = {"nintzakezun"}
		data.forms = {"nintzakezuen"}
		data.forms = {"nintzaketen"}
		-- (hi)
		data.forms = {"hintzakedan"}
		data.forms = {"hintzakeen"}
		data.forms = {"hintzakegun"}
		data.forms = {"hintzaketen"}
		-- (hura)
		data.forms = {"nezakeen"}
		data.forms = {"hezakeen"}
		data.forms = {"zezakeen"}
		data.forms = {"genezakeen"}
		data.forms = {"zenezakeen"}
		data.forms = {"zenezaketen"}
		data.forms = {"zezaketen"}
		-- (gu)
		data.forms = {"gintzakean"}
		data.forms = {"gintzakenan"}
		data.forms = {"gintzakeen"}
		data.forms = {"gintzakezun"}
		data.forms = {"gintzakezuen"}
		data.forms = {"gintzaketen"}
		-- (zu)
		data.forms = {"zintzakedan"}
		data.forms = {"zintzakeen"}
		data.forms = {"zintzakegun"}
		data.forms = {"zintzaketen"}
		-- (zuek)
		data.forms = {"zintzaketedan"}
		data.forms = {"zintzaketen"}
		data.forms = {"zintzaketegun"}
		data.forms = {"zintzaketeten"}
		-- (haiek)
		data.forms = {"nitzakeen"}
		data.forms = {"hitzakeen"}
		data.forms = {"zitzakeen"}
		data.forms = {"genitzakeen"}
		data.forms = {"zenitzakeen"}
		data.forms = {"zenitzaketen"}
		data.forms = {"zitzaketen"}
		
		-- indicative present subjunctive (ni)
		data.forms = {"nazaan"}
		data.forms = {"nazanan"}
		data.forms = {"nazan"}
		data.forms = {"nazazun"}
		data.forms = {"nazazuen"}
		data.forms = {"nazaten"}
		data.forms = {"nazaala"}
		data.forms = {"nazanala"}
		data.forms = {"nazala"}
		data.forms = {"nazazula"}
		data.forms = {"nazazuela"}
		data.forms = {"nazatela"}
		-- (hi)
		data.forms = {"hazadan"}
		data.forms = {"hazan"}
		data.forms = {"hazagun"}
		data.forms = {"hazaten"}
		data.forms = {"hazadala"}
		data.forms = {"hazala"}
		data.forms = {"hazagula"}
		data.forms = {"hazatela"}
		-- (hura)
		data.forms = {"dezadan"}
		data.forms = {"dezaan"}
		data.forms = {"dezanan"}
		data.forms = {"dezan"}
		data.forms = {"dezagun"}
		data.forms = {"dezazun"}
		data.forms = {"dezazuen"}
		data.forms = {"dezaten"}
		data.forms = {"dezadala"}
		data.forms = {"dezaala"}
		data.forms = {"dezanala"}
		data.forms = {"dezala"}
		data.forms = {"dezagula"}
		data.forms = {"dezazula"}
		data.forms = {"dezazuela"}
		data.forms = {"dezatela"}
		-- (gu)
		data.forms = {"gaitzaan"}
		data.forms = {"gaitzanan"}
		data.forms = {"gaitzan"}
		data.forms = {"gaitzazun"}
		data.forms = {"gaitzazuen"}
		data.forms = {"gaitzaten"}
		data.forms = {"gaitzaala"}
		data.forms = {"gaitzanala"}
		data.forms = {"gaitzala"}
		data.forms = {"gaitzazula"}
		data.forms = {"gaitzazuela"}
		data.forms = {"gaitzatela"}
		-- (zu)
		data.forms = {"zaitzadan"}
		data.forms = {"zaitzan"}
		data.forms = {"zaitzagun"}
		data.forms = {"zaitzaten"}
		data.forms = {"zaitzadala"}
		data.forms = {"zaitzala"}
		data.forms = {"zaitzagula"}
		data.forms = {"zaitzatela"}
		-- (zuek)
		data.forms = {"zaitzatedan"}
		data.forms = {"zaitzaten"}
		data.forms = {"zaitzategun"}
		data.forms = {"zaitzateten"}
		data.forms = {"zaitzatedala"}
		data.forms = {"zaitzatela"}
		data.forms = {"zaitzategula"}
		data.forms = {"zaitzatetela"}
		-- (haiek)
		data.forms = {"ditzadan"}
		data.forms = {"ditzaan"}
		data.forms = {"ditzanan"}
		data.forms = {"ditzan"}
		data.forms = {"ditzagun"}
		data.forms = {"ditzazun"}
		data.forms = {"ditzazuen"}
		data.forms = {"ditzaten"}
		data.forms = {"ditzadala"}
		data.forms = {"ditzaala"}
		data.forms = {"ditzanala"}
		data.forms = {"ditzala"}
		data.forms = {"ditzagula"}
		data.forms = {"ditzazula"}
		data.forms = {"ditzazuela"}
		data.forms = {"ditzatela"}
		
		-- subjunctive past (ni)
		data.forms = {"nintzaan"}
		data.forms = {"nintzanan"}
		data.forms = {"nintzan"}
		data.forms = {"nintzazun"}
		data.forms = {"nintzazuen"}
		data.forms = {"nintzaten"}
		data.forms = {"nintzaala"}
		data.forms = {"nintzanala"}
		data.forms = {"nintzala"}
		data.forms = {"nintzazula"}
		data.forms = {"nintzazuela"}
		data.forms = {"nintzatela"}
		
		-- (hi)
		data.forms = {"hintzadan"}
		data.forms = {"hintzan"}
		data.forms = {"hintzagun"}
		data.forms = {"hintzaten"}
		data.forms = {"hintzadala"}
		data.forms = {"hintzala"}
		data.forms = {"hintzagula"}
		data.forms = {"hintzatela"}
		
		-- (hura)
		data.forms = {"nezan"}
		data.forms = {"hezan"}
		data.forms = {"zezan"}
		data.forms = {"lezan"}
		data.forms = {"genezan"}		
		data.forms = {"zenezan"}		
		data.forms = {"zenezaten"}		
		data.forms = {"zezaten"}		
		data.forms = {"lezaten"}	
		data.forms = {"nezala"}
		data.forms = {"hezala"}
		data.forms = {"zezala"}
		data.forms = {"lezala"}
		data.forms = {"genezala"}		
		data.forms = {"zenezala"}		
		data.forms = {"zenezatela"}		
		data.forms = {"zezatela"}		
		data.forms = {"lezatela"}		
		
		-- (gu)
		data.forms = {"gintzaan"}
		data.forms = {"gintzanan"}
		data.forms = {"gintzan"}
		data.forms = {"gintzazun"}
		data.forms = {"gintzazuen"}
		data.forms = {"gintzaten"}
		data.forms = {"gintzaala"}
		data.forms = {"gintzanala"}
		data.forms = {"gintzala"}
		data.forms = {"gintzazula"}
		data.forms = {"gintzazuela"}
		data.forms = {"gintzatela"}
		-- (zu)
		data.forms = {"zintzadan"}
		data.forms = {"zintzan"}
		data.forms = {"zintzagun"}
		data.forms = {"zintzaten"}
		data.forms = {"zintzadala"}
		data.forms = {"zintzala"}
		data.forms = {"zintzagula"}
		data.forms = {"zintzatela"}
		-- (zuek)
		data.forms = {"zintzatedan"}
		data.forms = {"zintzaten"}
		data.forms = {"zintzategun"}
		data.forms = {"zintzateten"}
		data.forms = {"zintzatedala"}
		data.forms = {"zintzatela"}
		data.forms = {"zintzategula"}
		data.forms = {"zintzatetela"}
		-- (haiek)
		data.forms = {"nitzan"}
		data.forms = {"hitzan"}
		data.forms = {"zitzan"}
		data.forms = {"litzan"}
		data.forms = {"genitzan"}
		data.forms = {"zenitzan"}
		data.forms = {"zenitzaten"}
		data.forms = {"zitzaten"}
		data.forms = {"litzaten"}
		data.forms = {"nitzala"}
		data.forms = {"hitzala"}
		data.forms = {"zitzala"}
		data.forms = {"litzala"}
		data.forms = {"genitzala"}
		data.forms = {"zenitzala"}
		data.forms = {"zenitzatela"}
		data.forms = {"zitzatela"}
		data.forms = {"litzatela"}
		
		-- imperative present (ni)
		data.forms = {"nazak"}
		data.forms = {"nazan"}
		data.forms = {"nazazu"}
		data.forms = {"nazazue"}

		-- (hura)
		data.forms = {"ezak"}
		data.forms = {"ezan"}
		data.forms = {"beza"}
		data.forms = {"ezazu"}
		data.forms = {"ezazue"}
		data.forms = {"bezate"}

		-- (gu)
		data.forms = {"gaitzak"}
		data.forms = {"gaitzan"}
		data.forms = {"gaitzazu"}
		data.forms = {"gaitzazue"}

		-- (haiek)
		data.forms = {"itzak"}
		data.forms = {"itzan"}
		data.forms = {"bitza"}
		data.forms = {"itzazu"}
		data.forms = {"itzazue"}
		data.forms = {"bitzate"}
		
		-- archaic indicative conditional (ni)
		data.forms = {"banintzak"}
		data.forms = {"banintzan"}
		data.forms = {"banintza"}
		data.forms = {"banintzazu"}
		data.forms = {"banintzazue"}
		data.forms = {"banintzate"}		
		-- (hi)
		data.forms = {"bahintzat"}
		data.forms = {"bahintza"}
		data.forms = {"bahintzagu"}
		data.forms = {"bahintzate"}
		-- (hura)
		data.forms = {"baneza"}
		data.forms = {"baheza"}
		data.forms = {"baleza"}
		data.forms = {"bageneza"}
		data.forms = {"bazeneza"}
		data.forms = {"bazenezate"}
		data.forms = {"balezate"}
		-- (gu)
		data.forms = {"bagintzak"}
		data.forms = {"bagintzan"}
		data.forms = {"bagintza"}
		data.forms = {"bagintzazu"}
		data.forms = {"bagintzazue"}
		data.forms = {"bagintzate"}
		-- (zu)
		data.forms = {"bazintzat"}
		data.forms = {"bazintza"}
		data.forms = {"bazintzagu"}
		data.forms = {"bazintzate"}
		-- (zuek)
		data.forms = {"bazintzatet"}
		data.forms = {"bazintzate"}
		data.forms = {"bazintzategu"}
		data.forms = {"bazintzatete"}
		-- (haiek)
		data.forms = {"banitza"}
		data.forms = {"bahitza"}
		data.forms = {"balitza"}
		data.forms = {"bagenitza"}
		data.forms = {"bazenitza"}
		data.forms = {"bazenitzate"}
		data.forms = {"balitzate"}
		
		-- archaic indicative present potential (ni)
		data.forms = {"naukek"}
		data.forms = {"nauken"}
		data.forms = {"nauke"}
		data.forms = {"naukezu"}
		data.forms = {"naukezue"}
		data.forms = {"naukete"}
		-- (hi)
		data.forms = {"hauket"}
		data.forms = {"hauke"}
		data.forms = {"haukegu"}
		data.forms = {"haukete"}
		-- (hura)
		data.forms = {"duket"}
		data.forms = {"dukek"}
		data.forms = {"duken"}
		data.forms = {"duke"}
		data.forms = {"dukegu"}
		data.forms = {"dukezu"}
		data.forms = {"dukezue"}
		data.forms = {"dukete"}
		-- (gu)
		data.forms = {"gaituzkek"}
		data.forms = {"gaituzken"}
		data.forms = {"gaituzke"}
		data.forms = {"gaituzkezu"}
		data.forms = {"gaituzkezue"}
		data.forms = {"gaituzkete"}
		-- (zu)
		data.forms = {"zaituzket"}
		data.forms = {"zaituzke"}
		data.forms = {"zaituzkegu"}
		data.forms = {"zaituzkete"}
		-- (zuek)
		data.forms = {"zaituzketet"}
		data.forms = {"zaituzkete"}
		data.forms = {"zaituzketegu"}
		data.forms = {"zaituzketete"}
		-- (haiek)
		data.forms = {"dituzket"}
		data.forms = {"dituzkek"}
		data.forms = {"dituzken"}
		data.forms = {"dituzke"}
		data.forms = {"dituzkegu"}
		data.forms = {"dituzkezu"}
		data.forms = {"dituzkezue"}
		data.forms = {"dituzkete"}
		
		-- archaic proximal conditional (ni)
		data.forms = {"banazak"}
		data.forms = {"banazan"}
		data.forms = {"banaza"}
		data.forms = {"banazazu"}
		data.forms = {"banazazue"}
		data.forms = {"banazate"}
		-- (hi)
		data.forms = {"bahazat"}
		data.forms = {"bahaza"}
		data.forms = {"bahazagu"}
		data.forms = {"bahazate"}
		-- (hura)
		data.forms = {"badezat"}
		data.forms = {"badezak"}
		data.forms = {"badezan"}
		data.forms = {"badeza"}
		data.forms = {"badezagu"}
		data.forms = {"badezazu"}
		data.forms = {"badezazue"}
		data.forms = {"badezate"}
		-- (gu)
		data.forms = {"bagaitzak"}
		data.forms = {"bagaitzan"}
		data.forms = {"bagaitza"}
		data.forms = {"bagaitzazu"}
		data.forms = {"bagaitzazue"}
		data.forms = {"bagaitzate"}
		-- (zu)
		data.forms = {"bazaitzat"}
		data.forms = {"bazaitza"}
		data.forms = {"bazaitzagu"}
		data.forms = {"bazaitzate"}
		-- (zuek)
		data.forms = {"bazaitzatet"}
		data.forms = {"bazaitzate"}
		data.forms = {"bazaitzategu"}
		data.forms = {"bazaitzatete"}
		-- (haiek)
		data.forms = {"baditzat"}
		data.forms = {"baditzak"}
		data.forms = {"baditzan"}
		data.forms = {"baditza"}
		data.forms = {"baditzagu"}
		data.forms = {"baditzazu"}
		data.forms = {"baditzazue"}
		data.forms = {"baditzate"}
	end
	
	--categories
	table.insert(data.categories, "Basque synthetic verbs")
	table.insert(data.categories, "Basque transitive verbs")

	if base == "eroan" then
		return m_tables.make_table(data, "nornork-eroan") .. m_utilities.format_categories(data.categories, lang)
	elseif base == "iharduki" or base == "irudi" or base == "iruditu" or base == "jardun" or base == "iraun" then
		return m_tables.make_table_nornork_sing(data) .. m_utilities.format_categories(data.categories, lang)
	elseif base == "igorri" or base == "utzi" or base == "irakatsi" or base == "erosi" then
		return m_tables.make_table_nornork_imp(data) .. m_utilities.format_categories(data.categories, lang)
	elseif base == "ezagutu" or base == "eduki" then
		return m_tables.make_table(data, "nornork-eduki") .. m_utilities.format_categories(data.categories, lang)
	elseif base == "izan" then
		return m_tables.make_table_nornork_complete(data) .. m_utilities.format_categories(data.categories, lang)
	else
		return m_tables.make_table_nornork(data) .. m_utilities.format_categories(data.categories, lang)
	end
end

function export.nornorinork(frame)
	local args = frame:getParent().args
		
	local data = {
		forms = {},
		info = "",
		categories = {},
	}
	
	-- add the lemma form
	local base = mw.title.getCurrentTitle().text
	
	data.info = m_links.full_link({lang = lang, alt = base}, "term")

	local st = ""
	local st2 = ""
	local t = "t"
	local r = ""
	local a1 = "a"
	local a2 = "a"
	local k = "k"

	if base == "utzi" then
		st = "uz"
		st2 = "utz"
	elseif base == "igorri" then
		st = "igor"
		st2 = "igor"
		t = "d"
		a1 = ""
		r = "r"
	elseif base == "erakutsi" then
		st = "erakus"
		st2 = "erakuts"
	elseif base == "irakatsi" then
		st = "irakas"
		st2 = "irakats"
	elseif base == "erosi" then
		st = "eros"
		st2 = "eros"
	end
	
	if t == "d" then
		k = "g"
	end
	
	-- imperative
	data.forms = {st .. t .. "ak"}
	data.forms = {st .. t .. "an"}
	data.forms = {st2 .. a1 .. "zkidak"}
	data.forms = {st2 .. a1 .. "zkidan"}
	data.forms = {st .. t .. a2 .. "zu"}
	data.forms = {st2 .. a1 .. "zkidazu"}
	data.forms = {st .. t .. a2 .. "zue"}
	data.forms = {st2 .. a1 .. "zkidazue"}
	data.forms = {st2 .. r .. "iok"}
	data.forms = {st2 .. r .. "ion"}
	data.forms = {st2 .. a1 .. "zkiok"}
	data.forms = {st2 .. a1 .. "zkion"}
	data.forms = {st2 .. r .. "iozu"}
	data.forms = {st2 .. a1 .. "zkiozu"}
	data.forms = {st2 .. r .. "iozue"}
	data.forms = {st2 .. a1 .. "zkiozue"}
	
	data.forms = {st .. k .. "uk"}
	data.forms = {st .. k .. "un"}
	data.forms = {st2 .. a1 .. "zkiguk"}
	data.forms = {st2 .. a1 .. "zkigun"}
	data.forms = {st .. k .. "uzu"}
	data.forms = {st2 .. a1 .. "zkiguzu"}
	data.forms = {st .. k .. "uzue"}
	data.forms = {st2 .. a1 .. "zkiguzue"}
	data.forms = {st2 .. r .. "iek"}
	data.forms = {st2 .. r .. "ien"}
	data.forms = {st2 .. a1 .. "zkiek"}
	data.forms = {st2 .. a1 .. "zkien"}
	data.forms = {st2 .. r .. "iezu"}
	data.forms = {st2 .. a1 .. "zkiezu"}
	data.forms = {st2 .. r .. "iezue"}
	data.forms = {st2 .. a1 .. "zkiezue"}
	
	--izan (NOT DONE)
	if base == "izan" then
		-- indicative present (ni)
		data.forms = {"nauk"}
		data.forms = {"naun"}
		data.forms = {"nau"}
		data.forms = {"nauzu"}
		data.forms = {"nauzue"}
		data.forms = {"naute"}
		-- (hi)
		data.forms = {"haut"}
		data.forms = {"hau"}
		data.forms = {"haugu"}
		data.forms = {"haute"}
		-- (hura)
		data.forms = {"dut"}
		data.forms = {"duk"}
		data.forms = {"dun"}
		data.forms = {"du"}
		data.forms = {"dugu"}		
		data.forms = {"duzu"}		
		data.forms = {"duzue"}		
		data.forms = {"dute"}		
		-- (gu)
		data.forms = {"gaituk"}
		data.forms = {"gaitun"}
		data.forms = {"gaitu"}
		data.forms = {"gaituzu"}
		data.forms = {"gaituzue"}
		data.forms = {"gaituzte"}
		-- (zu)
		data.forms = {"zaitut"}
		data.forms = {"zaitu"}
		data.forms = {"zaitugu"}
		data.forms = {"zaituzte"}
		-- (zuek)
		data.forms = {"zaituztet"}
		data.forms = {"zaituzte"}
		data.forms = {"zaituztegu"}
		data.forms = {"zaituztete"}
		-- (haiek)
		data.forms = {"ditut"}
		data.forms = {"dituk"}
		data.forms = {"ditun"}
		data.forms = {"ditu"}
		data.forms = {"ditugu"}
		data.forms = {"dituzu"}
		data.forms = {"dituzue"}
		data.forms = {"dituzte"}
		
		-- indicative past (ni)
		data.forms = {"ninduan"}
		data.forms = {"nindunan"}
		data.forms = {"ninduen"}
		data.forms = {"ninduzun"}
		data.forms = {"ninduzuen"}
		data.forms = {"ninduten"}		
		-- (hi)
		data.forms = {"hindudan"}
		data.forms = {"hinduen"}
		data.forms = {"hindugun"}
		data.forms = {"hinduten"}
		-- (hura)
		data.forms = {"nuen"}
		data.forms = {"huen"}
		data.forms = {"zuen"}
		data.forms = {"genuen"}
		data.forms = {"zenuen"}
		data.forms = {"zenuten"}
		data.forms = {"zuten"}
		-- (gu)
		data.forms = {"gintuan"}
		data.forms = {"gintunan"}
		data.forms = {"gintuen"}
		data.forms = {"gintuzun"}
		data.forms = {"gintuzuen"}
		data.forms = {"gintuzten"}
		-- (zu)
		data.forms = {"zintudan"}
		data.forms = {"zintuen"}
		data.forms = {"zintugun"}
		data.forms = {"zintuzten"}
		-- (zuek)
		data.forms = {"zintuztedan"}
		data.forms = {"zintuzten"}
		data.forms = {"zintuztegun"}
		data.forms = {"zintuzteten"}
		-- (haiek)
		data.forms = {"nituen"}
		data.forms = {"hituen"}
		data.forms = {"zituen"}
		data.forms = {"genituen"}
		data.forms = {"zenituen"}
		data.forms = {"zenituzten"}
		data.forms = {"zituzten"}
		
		-- indicative conditional (ni)
		data.forms = {"baninduk"}
		data.forms = {"banindun"}
		data.forms = {"banindu"}
		data.forms = {"baninduzu"}
		data.forms = {"baninduzue"}
		data.forms = {"banindute"}		
		-- (hi)
		data.forms = {"bahindut"}
		data.forms = {"bahindu"}
		data.forms = {"bahindugu"}
		data.forms = {"bahindute"}
		-- (hura)
		data.forms = {"banu"}
		data.forms = {"bahu"}
		data.forms = {"balu"}
		data.forms = {"bagenu"}
		data.forms = {"bazenu"}
		data.forms = {"bazenute"}
		data.forms = {"balute"}
		-- (gu)
		data.forms = {"bagintuk"}
		data.forms = {"bagintun"}
		data.forms = {"bagintu"}
		data.forms = {"bagintuzu"}
		data.forms = {"bagintuzue"}
		data.forms = {"bagintuzte"}
		-- (zu)
		data.forms = {"bazintut"}
		data.forms = {"bazintu"}
		data.forms = {"bazintugu"}
		data.forms = {"bazintuzte"}
		-- (zuek)
		data.forms = {"bazintuztet"}
		data.forms = {"bazintuzte"}
		data.forms = {"bazintuztegu"}
		data.forms = {"bazintuztete"}
		-- (haiek)
		data.forms = {"banitu"}
		data.forms = {"bahitu"}
		data.forms = {"balitu"}
		data.forms = {"bagenitu"}
		data.forms = {"bazenitu"}
		data.forms = {"bazenituzte"}
		data.forms = {"balituzte"}

		-- indicative hypothetic consequence (ni)
		data.forms = {"nindukek"}
		data.forms = {"ninduken"}
		data.forms = {"ninduke"}
		data.forms = {"nindukezu"}
		data.forms = {"nindukezue"}
		data.forms = {"nindukete"}		
		-- (hi)
		data.forms = {"hinduket"}
		data.forms = {"hinduke"}
		data.forms = {"hindukegu"}
		data.forms = {"hindukete"}
		-- (hura)
		data.forms = {"nuke"}
		data.forms = {"huke"}
		data.forms = {"luke"}
		data.forms = {"genuke"}
		data.forms = {"zenuke"}
		data.forms = {"zenukete"}
		data.forms = {"lukete"}
		-- (gu)
		data.forms = {"gintuzkek"}
		data.forms = {"gintuzken"}
		data.forms = {"gintuzke"}
		data.forms = {"gintuzkezu"}
		data.forms = {"gintuzkezue"}
		data.forms = {"gintuzkete"}
		-- (zu)
		data.forms = {"zintuzket"}
		data.forms = {"zintuzke"}
		data.forms = {"zintuzkegu"}
		data.forms = {"zintuzkete"}
		-- (zuek)
		data.forms = {"zintuzketet"}
		data.forms = {"zintuzkete"}
		data.forms = {"zintuzketegu"}
		data.forms = {"zintuzketete"}
		-- (haiek)
		data.forms = {"nituzke"}
		data.forms = {"hituzke"}
		data.forms = {"lituzke"}
		data.forms = {"genituzke"}
		data.forms = {"zenituzke"}
		data.forms = {"zenituzkete"}
		data.forms = {"lituzkete"}
		
		-- indicative past consequence (ni)
		data.forms = {"nindukean"}
		data.forms = {"nindukenan"}
		data.forms = {"nindukeen"}
		data.forms = {"nindukezun"}
		data.forms = {"nindukezuen"}
		data.forms = {"ninduketen"}		
		-- (hi)
		data.forms = {"hindukedan"}
		data.forms = {"hindukeen"}
		data.forms = {"hindukegun"}
		data.forms = {"hinduketen"}
		-- (hura)
		data.forms = {"nukeen"}
		data.forms = {"hukeen"}
		data.forms = {"zukeen"}
		data.forms = {"genukeen"}
		data.forms = {"zenukeen"}
		data.forms = {"zenuketen"}
		data.forms = {"zuketen"}
		-- (gu)
		data.forms = {"gintuzkean"}
		data.forms = {"gintuzkenan"}
		data.forms = {"gintuzkeen"}
		data.forms = {"gintuzkezun"}
		data.forms = {"gintuzkezuen"}
		data.forms = {"gintuzketen"}
		-- (zu)
		data.forms = {"zintuzkedan"}
		data.forms = {"zintuzkeen"}
		data.forms = {"zintuzkegun"}
		data.forms = {"zintuzketen"}
		-- (zuek)
		data.forms = {"zintuzketedan"}
		data.forms = {"zintuzketen"}
		data.forms = {"zintuzketegun"}
		data.forms = {"zintuzketeten"}
		-- (haiek)
		data.forms = {"nituzkeen"}
		data.forms = {"hituzkeen"}
		data.forms = {"zituzkeen"}
		data.forms = {"genituzkeen"}
		data.forms = {"zenituzkeen"}
		data.forms = {"zenituzketen"}
		data.forms = {"zituzketen"}
		
		-- indicative present potential (ni)
		data.forms = {"nazakek"}
		data.forms = {"nazaken"}
		data.forms = {"nazake"}
		data.forms = {"nazakezu"}
		data.forms = {"nazakezue"}
		data.forms = {"nazakete"}
		-- (hi)
		data.forms = {"hazaket"}
		data.forms = {"hazake"}
		data.forms = {"hazakegu"}
		data.forms = {"hazakete"}
		-- (hura)
		data.forms = {"dezaket"}
		data.forms = {"dezakek"}
		data.forms = {"dezaken"}
		data.forms = {"dezake"}
		data.forms = {"dezakegu"}
		data.forms = {"dezakezu"}
		data.forms = {"dezakezue"}
		data.forms = {"dezakete"}
		-- (gu)
		data.forms = {"gaitzakek"}
		data.forms = {"gaitzaken"}
		data.forms = {"gaitzake"}
		data.forms = {"gaitzakezu"}
		data.forms = {"gaitzakezue"}
		data.forms = {"gaitzakete"}
		-- (zu)
		data.forms = {"zaitzaket"}
		data.forms = {"zaitzake"}
		data.forms = {"zaitzakegu"}
		data.forms = {"zaitzakete"}
		-- (zuek)
		data.forms = {"zaitzaketet"}
		data.forms = {"zaitzakete"}
		data.forms = {"zaitzaketegu"}
		data.forms = {"zaitzaketete"}
		-- (haiek)
		data.forms = {"ditzaket"}
		data.forms = {"ditzakek"}
		data.forms = {"ditzaken"}
		data.forms = {"ditzake"}
		data.forms = {"ditzakegu"}
		data.forms = {"ditzakezu"}
		data.forms = {"ditzakezue"}
		data.forms = {"ditzakete"}
		
		-- indicative hypothetic potential (ni)
		data.forms = {"nintzakek"}
		data.forms = {"nintzaken"}
		data.forms = {"nintzake"}
		data.forms = {"nintzakezu"}
		data.forms = {"nintzakezue"}
		data.forms = {"nintzakete"}
		-- (hi)
		data.forms = {"hintzaket"}
		data.forms = {"hintzake"}
		data.forms = {"hintzakegu"}
		data.forms = {"hintzakete"}
		-- (hura)
		data.forms = {"nezake"}
		data.forms = {"hezake"}
		data.forms = {"lezake"}
		data.forms = {"genezake"}
		data.forms = {"zenezake"}
		data.forms = {"zenezakete"}
		data.forms = {"lezakete"}
		-- (gu)
		data.forms = {"gintzakek"}
		data.forms = {"gintzaken"}
		data.forms = {"gintzake"}
		data.forms = {"gintzakezu"}
		data.forms = {"gintzakezue"}
		data.forms = {"gintzakete"}
		-- (zu)
		data.forms = {"zintzaket"}
		data.forms = {"zintzake"}
		data.forms = {"zintzakegu"}
		data.forms = {"zintzakete"}
		-- (zuek)
		data.forms = {"zintzaketet"}
		data.forms = {"zintzakete"}
		data.forms = {"zintzaketegu"}
		data.forms = {"zintzaketete"}
		-- (haiek)
		data.forms = {"nitzake"}
		data.forms = {"hitzake"}
		data.forms = {"litzake"}
		data.forms = {"genitzake"}
		data.forms = {"zenitzake"}
		data.forms = {"zenitzakete"}
		data.forms = {"litzakete"}
		
		-- indicative past potential (ni)
		data.forms = {"nintzakean"}
		data.forms = {"nintzakenan"}
		data.forms = {"nintzakeen"}
		data.forms = {"nintzakezun"}
		data.forms = {"nintzakezuen"}
		data.forms = {"nintzaketen"}
		-- (hi)
		data.forms = {"hintzakedan"}
		data.forms = {"hintzakeen"}
		data.forms = {"hintzakegun"}
		data.forms = {"hintzaketen"}
		-- (hura)
		data.forms = {"nezakeen"}
		data.forms = {"hezakeen"}
		data.forms = {"zezakeen"}
		data.forms = {"genezakeen"}
		data.forms = {"zenezakeen"}
		data.forms = {"zenezaketen"}
		data.forms = {"zezaketen"}
		-- (gu)
		data.forms = {"gintzakean"}
		data.forms = {"gintzakenan"}
		data.forms = {"gintzakeen"}
		data.forms = {"gintzakezun"}
		data.forms = {"gintzakezuen"}
		data.forms = {"gintzaketen"}
		-- (zu)
		data.forms = {"zintzakedan"}
		data.forms = {"zintzakeen"}
		data.forms = {"zintzakegun"}
		data.forms = {"zintzaketen"}
		-- (zuek)
		data.forms = {"zintzaketedan"}
		data.forms = {"zintzaketen"}
		data.forms = {"zintzaketegun"}
		data.forms = {"zintzaketeten"}
		-- (haiek)
		data.forms = {"nitzakeen"}
		data.forms = {"hitzakeen"}
		data.forms = {"zitzakeen"}
		data.forms = {"genitzakeen"}
		data.forms = {"zenitzakeen"}
		data.forms = {"zenitzaketen"}
		data.forms = {"zitzaketen"}
		
		-- indicative present subjunctive (ni)
		data.forms = {"nazaan"}
		data.forms = {"nazanan"}
		data.forms = {"nazan"}
		data.forms = {"nazazun"}
		data.forms = {"nazazuen"}
		data.forms = {"nazaten"}
		-- (hi)
		data.forms = {"hazadan"}
		data.forms = {"hazan"}
		data.forms = {"hazagun"}
		data.forms = {"hazaten"}
		-- (hura)
		data.forms = {"dezadan"}
		data.forms = {"dezaan"}
		data.forms = {"dezanan"}
		data.forms = {"dezan"}
		data.forms = {"dezagun"}
		data.forms = {"dezazun"}
		data.forms = {"dezazuen"}
		data.forms = {"dezaten"}
		-- (gu)
		data.forms = {"gaitzaan"}
		data.forms = {"gaitzanan"}
		data.forms = {"gaitzan"}
		data.forms = {"gaitzazun"}
		data.forms = {"gaitzazuen"}
		data.forms = {"gaitzaten"}
		-- (zu)
		data.forms = {"zaitzadan"}
		data.forms = {"zaitzan"}
		data.forms = {"zaitzagun"}
		data.forms = {"zaitzaten"}
		-- (zuek)
		data.forms = {"zaitzatedan"}
		data.forms = {"zaitzaten"}
		data.forms = {"zaitzategun"}
		data.forms = {"zaitzateten"}
		-- (haiek)
		data.forms = {"ditzadan"}
		data.forms = {"ditzaan"}
		data.forms = {"ditzanan"}
		data.forms = {"ditzan"}
		data.forms = {"ditzagun"}
		data.forms = {"ditzazun"}
		data.forms = {"ditzazuen"}
		data.forms = {"ditzaten"}
		
		-- subjunctive past (ni)
		data.forms = {"nintzaan"}
		data.forms = {"nintzanan"}
		data.forms = {"nintzan"}
		data.forms = {"nintzazun"}
		data.forms = {"nintzazuen"}
		data.forms = {"nintzaten"}
		-- (hi)
		data.forms = {"hintzadan"}
		data.forms = {"hintzan"}
		data.forms = {"hintzagun"}
		data.forms = {"hintzaten"}
		-- (hura)
		data.forms = {"nezan"}
		data.forms = {"hezan"}
		data.forms = {"zezan"}
		data.forms = {"genezan"}		
		data.forms = {"zenezan"}		
		data.forms = {"zenezaten"}		
		data.forms = {"zezaten"}		
		-- (gu)
		data.forms = {"gintzaan"}
		data.forms = {"gintzanan"}
		data.forms = {"gintzan"}
		data.forms = {"gintzazun"}
		data.forms = {"gintzazuen"}
		data.forms = {"gintzaten"}
		-- (zu)
		data.forms = {"zintzadan"}
		data.forms = {"zintzan"}
		data.forms = {"zintzagun"}
		data.forms = {"zintzaten"}
		-- (zuek)
		data.forms = {"zintzatedan"}
		data.forms = {"zintzaten"}
		data.forms = {"zintzategun"}
		data.forms = {"zintzateten"}
		-- (haiek)
		data.forms = {"nitzan"}
		data.forms = {"hitzan"}
		data.forms = {"zitzan"}
		data.forms = {"genitzan"}
		data.forms = {"zenitzan"}
		data.forms = {"zenitzaten"}
		data.forms = {"zitzaten"}
		
		-- imperative present (ni)
		data.forms = {"nazak"}
		data.forms = {"nazan"}
		data.forms = {"nazazu"}
		data.forms = {"nazazue"}

		-- (hura)
		data.forms = {"ezak"}
		data.forms = {"ezan"}
		data.forms = {"beza"}
		data.forms = {"ezazu"}
		data.forms = {"ezazue"}
		data.forms = {"bezate"}

		-- (gu)
		data.forms = {"gaitzak"}
		data.forms = {"gaitzan"}
		data.forms = {"gaitzazu"}
		data.forms = {"gaitzazue"}

		-- (haiek)
		data.forms = {"itzak"}
		data.forms = {"itzan"}
		data.forms = {"bitza"}
		data.forms = {"itzazu"}
		data.forms = {"itzazue"}
		data.forms = {"bitzate"}
		
		-- archaic indicative conditional (ni)
		data.forms = {"banintzak"}
		data.forms = {"banintzan"}
		data.forms = {"banintza"}
		data.forms = {"banintzazu"}
		data.forms = {"banintzazue"}
		data.forms = {"banintzate"}		
		-- (hi)
		data.forms = {"bahintzat"}
		data.forms = {"bahintza"}
		data.forms = {"bahintzagu"}
		data.forms = {"bahintzate"}
		-- (hura)
		data.forms = {"baneza"}
		data.forms = {"baheza"}
		data.forms = {"baleza"}
		data.forms = {"bageneza"}
		data.forms = {"bazeneza"}
		data.forms = {"bazenezate"}
		data.forms = {"balezate"}
		-- (gu)
		data.forms = {"bagintzak"}
		data.forms = {"bagintzan"}
		data.forms = {"bagintza"}
		data.forms = {"bagintzazu"}
		data.forms = {"bagintzazue"}
		data.forms = {"bagintzate"}
		-- (zu)
		data.forms = {"bazintzat"}
		data.forms = {"bazintza"}
		data.forms = {"bazintzagu"}
		data.forms = {"bazintzate"}
		-- (zuek)
		data.forms = {"bazintzatet"}
		data.forms = {"bazintzate"}
		data.forms = {"bazintzategu"}
		data.forms = {"bazintzatete"}
		-- (haiek)
		data.forms = {"banitza"}
		data.forms = {"bahitza"}
		data.forms = {"balitza"}
		data.forms = {"bagenitza"}
		data.forms = {"bazenitza"}
		data.forms = {"bazenitzate"}
		data.forms = {"balitzate"}
		
		-- archaic indicative present potential (ni)
		data.forms = {"naukek"}
		data.forms = {"nauken"}
		data.forms = {"nauke"}
		data.forms = {"naukezu"}
		data.forms = {"naukezue"}
		data.forms = {"naukete"}
		-- (hi)
		data.forms = {"hauket"}
		data.forms = {"hauke"}
		data.forms = {"haukegu"}
		data.forms = {"haukete"}
		-- (hura)
		data.forms = {"duket"}
		data.forms = {"dukek"}
		data.forms = {"duken"}
		data.forms = {"duke"}
		data.forms = {"dukegu"}
		data.forms = {"dukezu"}
		data.forms = {"dukezue"}
		data.forms = {"dukete"}
		-- (gu)
		data.forms = {"gaituzkek"}
		data.forms = {"gaituzken"}
		data.forms = {"gaituzke"}
		data.forms = {"gaituzkezu"}
		data.forms = {"gaituzkezue"}
		data.forms = {"gaituzkete"}
		-- (zu)
		data.forms = {"zaituzket"}
		data.forms = {"zaituzke"}
		data.forms = {"zaituzkegu"}
		data.forms = {"zaituzkete"}
		-- (zuek)
		data.forms = {"zaituzketet"}
		data.forms = {"zaituzkete"}
		data.forms = {"zaituzketegu"}
		data.forms = {"zaituzketete"}
		-- (haiek)
		data.forms = {"dituzket"}
		data.forms = {"dituzkek"}
		data.forms = {"dituzken"}
		data.forms = {"dituzke"}
		data.forms = {"dituzkegu"}
		data.forms = {"dituzkezu"}
		data.forms = {"dituzkezue"}
		data.forms = {"dituzkete"}
	end
	
	--categories
	table.insert(data.categories, "Basque synthetic verbs")
	table.insert(data.categories, "Basque transitive verbs")

	if  base == "utzi" or base == "igorri" or base == "erakutsi" or base == "irakatsi" or base == "erosi" then
		return m_tables.make_table(data, "nornorinork_imp") .. m_utilities.format_categories(data.categories, lang)
	end
end

return export