Module:Sandbox/trappist the monk/langx

From English Wikipedia @ Freddythechick
-- testbed for {{langx}}


--[[--------------------------< I N H E R I T _ T >------------------------------------------------------------

table of language tags that render text in an upright font; all others are rendered in an italic font

this table to be moved to its own module and then use mw.loadData ()

]]

local inherit_t = {
	['aaq'] = true,
	['ab'] = true,
	['abq'] = true,
	['acm'] = true,
	['acw'] = true,
	['ady'] = true,
	['ae'] = true,
	['aeb'] = true,
	['aec'] = true,
	['afb'] = true,
	['aii'] = true,
	['aij'] = true,
	['ain'] = true,
	['aiq'] = true,
	['ajp'] = true,
	['akk-x-latbabyl'] = true,
	['akk-x-midassyr'] = true,
	['akk-x-midbabyl'] = true,
	['akk-x-neoassyr'] = true,
	['akk-x-neobabyl'] = true,
	['akk-x-oldassyr'] = true,
	['akk-x-oldbabyl'] = true,
	['akk'] = true,
	['alt'] = true,
	['am'] = true,
	['amw'] = true,
	['apc'] = true,
	['apm'] = true,
	['apw'] = true,
	['ar'] = true,
	['arb'] = true,
	['arc'] = true,
	['arq'] = true,
	['ary'] = true,
	['arz'] = true,
	['as'] = true,
	['av'] = true,
	['axm'] = true,
	['ayn'] = true,
	['azb'] = true,
	['ba'] = true,
	['bal'] = true,
	['ban'] = true,
	['bdz'] = true,
	['be'] = true,
	['bej'] = true,
	['ber'] = true,
	['bft'] = true,
	['bg'] = true,
	['bgn'] = true,
	['bh'] = true,
	['bho'] = true,
	['bla'] = true,
	['blk'] = true,
	['bn'] = true,
	['bo'] = true,
	['bpy'] = true,
	['bqi'] = true,
	['brh'] = true,
	['brx'] = true,
	['bsk'] = true,
	['bua'] = true,
	['bug'] = true,
	['bxr'] = true,
	['ccp'] = true,
	['cdo'] = true,
	['ce'] = true,
	['chg'] = true,
	['chm'] = true,
	['chr'] = true,
	['cjs'] = true,
	['ckb'] = true,
	['ckt'] = true,
	['cld'] = true,
	['cmn'] = true,
	['cnr'] = true,
	['cop'] = true,
	['cpg'] = true,
	['cr'] = true,
	['crg'] = true,
	['crh'] = true,
	['crj'] = true,
	['crl'] = true,
	['ctg'] = true,
	['cu'] = true,
	['cv'] = true,
	['cwd'] = true,
	['dar'] = true,
	['ddo'] = true,
	['deh'] = true,
	['del'] = true,
	['dev'] = true,
	['dgo'] = true,
	['dlg'] = true,
	['dng'] = true,
	['dv'] = true,
	['dz'] = true,
	['el'] = true,
	['elx'] = true,
	['en-emodeng'] = true,
	['en'] = true,
	['enf'] = true,
	['enh'] = true,
	['eve'] = true,
	['evn'] = true,
	['fa'] = true,
	['fuc'] = true,
	['gay'] = true,
	['gbm'] = true,
	['gbz'] = true,
	['gez'] = true,
	['gju'] = true,
	['glk'] = true,
	['gmy'] = true,
	['got'] = true,
	['grc-x-aeolic'] = true,
	['grc-x-attic'] = true,
	['grc-x-biblical'] = true,
	['grc-x-classic'] = true,
	['grc-x-doric'] = true,
	['grc-x-hellen'] = true,
	['grc-x-ionic'] = true,
	['grc-x-koine'] = true,
	['grc-x-medieval'] = true,
	['grc-x-patris'] = true,
	['grc'] = true,
	['grk-x-proto'] = true,
	['grm'] = true,
	['gu'] = true,
	['hac'] = true,
	['hak'] = true,
	['haz'] = true,
	['hbo'] = true,
	['he'] = true,
	['hi'] = true,
	['hif'] = true,
	['him'] = true,
	['hit'] = true,
	['hlu'] = true,
	['hnd'] = true,
	['hno'] = true,
	['hoc'] = true,
	['hy'] = true,
	['hyw'] = true,
	['ii'] = true,
	['inh'] = true,
	['iow'] = true,
	['itl'] = true,
	['iu'] = true,
	['ja'] = true,
	['jdt'] = true,
	['jog'] = true,
	['jpa'] = true,
	['jrb'] = true,
	['jur'] = true,
	['jv'] = true,
	['jye'] = true,
	['kaa'] = true,
	['kab'] = true,
	['kac'] = true,
	['kbd'] = true,
	['kca'] = true,
	['kha'] = true,
	['khb'] = true,
	['khw'] = true,
	['kiq'] = true,
	['kjp'] = true,
	['kjz'] = true,
	['kk'] = true,
	['kkh'] = true,
	['kls'] = true,
	['km'] = true,
	['kn'] = true,
	['knn'] = true,
	['ko'] = true,
	['koi'] = true,
	['kok'] = true,
	['kr'] = true,
	['krc'] = true,
	['ks'] = true,
	['ksw'] = true,
	['ku'] = true,
	['kum'] = true,
	['kv'] = true,
	['kvx'] = true,
	['ky'] = true,
	['lbe'] = true,
	['lbj'] = true,
	['lez'] = true,
	['lis'] = true,
	['ljp'] = true,
	['lo'] = true,
	['lrc'] = true,
	['lss'] = true,
	['lui'] = true,
	['luz'] = true,
	['lzz'] = true,
	['mai'] = true,
	['mak'] = true,
	['mdf'] = true,
	['mey'] = true,
	['mfp'] = true,
	['mhr'] = true,
	['mid'] = true,
	['mis'] = true,
	['mjw'] = true,
	['mjy'] = true,
	['mk'] = true,
	['mki'] = true,
	['ml'] = true,
	['mn'] = true,
	['mni'] = true,
	['mnj'] = true,
	['mns'] = true,
	['mnw'] = true,
	['mr'] = true,
	['mrh'] = true,
	['mrj'] = true,
	['mrv'] = true,
	['mul'] = true,
	['mvi'] = true,
	['mwr'] = true,
	['my'] = true,
	['myv'] = true,
	['myz'] = true,
	['mzb'] = true,
	['mzn'] = true,
	['nan'] = true,
	['naz'] = true,
	['ne'] = true,
	['new'] = true,
	['nio'] = true,
	['nlm'] = true,
	['nod'] = true,
	['nog'] = true,
	['nqo'] = true,
	['nsd'] = true,
	['nsk'] = true,
	['nwc'] = true,
	['nxm'] = true,
	['oar'] = true,
	['oav'] = true,
	['obm'] = true,
	['och'] = true,
	['oge'] = true,
	['okm'] = true,
	['omp'] = true,
	['omy'] = true,
	['or'] = true,
	['oru'] = true,
	['orv'] = true,
	['os'] = true,
	['osa'] = true,
	['ota'] = true,
	['otb'] = true,
	['otk'] = true,
	['oty'] = true,
	['pa'] = true,
	['pal'] = true,
	['pao'] = true,
	['peo'] = true,
	['pes'] = true,
	['pgd'] = true,
	['phn'] = true,
	['phr'] = true,
	['pi'] = true,
	['pis'] = true,
	['pka'] = true,
	['pmh'] = true,
	['pnb'] = true,
	['pnt'] = true,
	['pra'] = true,
	['prg'] = true,
	['prs'] = true,
	['prx'] = true,
	['ps'] = true,
	['psu'] = true,
	['pwo'] = true,
	['qua'] = true,
	['raj'] = true,
	['rej'] = true,
	['rif'] = true,
	['rki'] = true,
	['rkt'] = true,
	['rmz'] = true,
	['rob'] = true,
	['rsk'] = true,
	['ru'] = true,
	['rue'] = true,
	['rut'] = true,
	['rys'] = true,
	['ryu'] = true,
	['sa'] = true,
	['sac'] = true,
	['sah'] = true,
	['sat'] = true,
	['saz'] = true,
	['sbn'] = true,
	['scl'] = true,
	['sd'] = true,
	['sdh'] = true,
	['sel'] = true,
	['ser'] = true,
	['sgh'] = true,
	['shh'] = true,
	['shi'] = true,
	['shn'] = true,
	['si'] = true,
	['sia'] = true,
	['sip'] = true,
	['siz'] = true,
	['sjd'] = true,
	['sjn'] = true,
	['sjo'] = true,
	['skr'] = true,
	['sla'] = true,
	['slr'] = true,
	['smi'] = true,
	['sog'] = true,
	['sou'] = true,
	['sqo'] = true,
	['sqr'] = true,
	['sr'] = true,
	['srh'] = true,
	['str'] = true,
	['sty'] = true,
	['su'] = true,
	['sux'] = true,
	['sva'] = true,
	['syc'] = true,
	['syl'] = true,
	['syr'] = true,
	['ta'] = true,
	['tab'] = true,
	['tao'] = true,
	['tcy'] = true,
	['te'] = true,
	['tg'] = true,
	['th'] = true,
	['ti'] = true,
	['tig'] = true,
	['tly'] = true,
	['tmr'] = true,
	['tok'] = true,
	['tom'] = true,
	['tru'] = true,
	['tt'] = true,
	['tts'] = true,
	['ttt'] = true,
	['tyv'] = true,
	['tzm'] = true,
	['uby'] = true,
	['ude'] = true,
	['udm'] = true,
	['ug'] = true,
	['uga'] = true,
	['uk'] = true,
	['und'] = true,
	['ur'] = true,
	['uum'] = true,
	['uz'] = true,
	['wal'] = true,
	['wam'] = true,
	['wbl'] = true,
	['wne'] = true,
	['xaa'] = true,
	['xal'] = true,
	['xbc'] = true,
	['xcl'] = true,
	['xcr'] = true,
	['xct'] = true,
	['xdc'] = true,
	['xdm'] = true,
	['xhe'] = true,
	['xhu'] = true,
	['xlc'] = true,
	['xld'] = true,
	['xlu'] = true,
	['xmf'] = true,
	['xna'] = true,
	['xng'] = true,
	['xpr'] = true,
	['xpu'] = true,
	['xqa'] = true,
	['xsr'] = true,
	['xur'] = true,
	['xwo'] = true,
	['ydg'] = true,
	['yi'] = true,
	['ykg'] = true,
	['yoi'] = true,
	['yrk'] = true,
	['yue'] = true,
	['za'] = true,
	['zgh'] = true,
	['zxx'] = true,
	}


--[[--------------------------< L A N G X >--------------------------------------------------------------------

common function to replace all of the {{lang-xx}} templates

{{#invoke:Sandbox/trappist the monk/langx|langx}}

]]

local function langx (frame)
	local args_t = require ('Module:Arguments').getArgs(frame);					-- fetch all of the template parameters
	
	args_t.code = args_t.code or args_t[1];										-- first positional parameter must be the language tag if |code= not set
	args_t[1] = nil;															-- unset
	args_t.text = args_t.text or args_t[2];										-- second positional parameter must be the text if |text= not set
	args_t[2] = nil;															-- unset

	if inherit_t[args_t.code] then
		return require ('Module:Lang')._lang_xx_inherit (args_t);
	else
		return require ('Module:Lang')._lang_xx_italic (args_t);
	end
end


--[[--------------------------< T E S T >----------------------------------------------------------------------

{string.byte ('abcdefg', 1, 7)}

{{#invoke:Sandbox/trappist the monk/langx|test}}

this is a hack that was used to locate a not so obvious error showing up in Lang/testcases ('l' v. 'L')

fixed that so this function not tested but may be handy.

]]

local function test(frame)
	local sbox = frame:callParserFunction( '#invoke', { 'Lang/sandbox', 'lang_xx_inherit', ['code']='ar', ['text']='text', ['italic']='yes', ['script']='arab'})
	local live = frame:callParserFunction( '#invoke', { 'Lang', 		'lang_xx_inherit', ['code']='ar', ['text']='text', ['italic']='yes', ['script']='arab'})

	local sbox = 'abcdefg'
	local live = 'abcedfg'

	if sbox == live then
		return 'equal';															-- if the twain are the same, done
	end
		
	local sbox_len = sbox:len();												-- get length of both renderings
	local live_len = live:len();
	local max;
	
	if live_len == sbox_len then												-- if the same 
		max = live_len;															-- use live
	elseif live_len > sbox_len then												-- live longer than sbox
		max = live_len;															-- use live
	else
		max = sbox_len;															-- use sbox else
	end
	
	local live_bytes_t = {string.byte (live, 1, max)};							-- make a sequence of live bytes
	local sbox_bytes_t = {string.byte (sbox, 1, max)};							-- make a sequence of sbox bytes
	
	for i=1, max do																-- spin the the live and sbox sequences
		if live_bytes_t[i] ~= sbox_bytes_t[i] then								-- if the same continue; error message else
			return 'error at position ' .. i .. '; live: ' .. live_bytes_t[i] .. ' (' .. string.char (live_bytes_t[i]) .. '); sbox: ' .. sbox_bytes_t[i] .. ' (' .. string.char (sbox_bytes_t[i]) .. ')'
		end
	end
-- return mw.dumpObject ({string.byte (live, 1, live_len)})
end

--[[--------------------------< L I S T _ C O M P A R E >------------------------------------------------------

this hack used to find which of the lang-?? templates do not call module:lang directly

called from the debug console
	=p.list_compare()

]]

local supported_t = {
	['aa'] = true,
	['aae'] = true,
	['aaq'] = true,
	['aav'] = true,
	['ab'] = true,
	['abe'] = true,
	['abl'] = true,
	['abq'] = true,
	['aca'] = true,
	['ace'] = true,
	['acf'] = true,
	['acm'] = true,
	['acw'] = true,
	['ady'] = true,
	['ae'] = true,
	['aeb'] = true,
	['aec'] = true,
	['aer'] = true,
	['af'] = true,
	['afa'] = true,
	['afb'] = true,
	['aht'] = true,
	['aii'] = true,
	['aij'] = true,
	['ain'] = true,
	['aiq'] = true,
	['ajp'] = true,
	['ak'] = true,
	['akb'] = true,
	['akk'] = true,
	['akk-x-latbabyl'] = true,
	['akk-x-midassyr'] = true,
	['akk-x-midbabyl'] = true,
	['akk-x-neoassyr'] = true,
	['akk-x-neobabyl'] = true,
	['akk-x-oldassyr'] = true,
	['akk-x-oldbabyl'] = true,
	['akl'] = true,
	['akz'] = true,
	['ale'] = true,
	['alg'] = true,
	['aln'] = true,
	['alq'] = true,
	['als'] = true,
	['alt'] = true,
	['alv'] = true,
	['am'] = true,
	['ami'] = true,
	['amw'] = true,
	['an'] = true,
	['ang'] = true,
	['anm'] = true,
	['aoa'] = true,
	['apa'] = true,
	['apc'] = true,
	['apj'] = true,
	['apm'] = true,
	['apw'] = true,
	['aqa'] = true,
	['aql'] = true,
	['ar'] = true,
	['arb'] = true,
	['arc'] = true,
	['arh'] = true,
	['ari'] = true,
	['arn'] = true,
	['arp'] = true,
	['arq'] = true,
	['ars'] = true,
	['art'] = true,
	['ary'] = true,
	['arz'] = true,
	['as'] = true,
	['asb'] = true,
	['ast'] = true,
	['ath'] = true,
	['ats'] = true,
	['auf'] = true,
	['aus'] = true,
	['av'] = true,
	['awa'] = true,
	['awd'] = true,
	['awk'] = true,
	['axm'] = true,
	['ay'] = true,
	['ayn'] = true,
	['ayp'] = true,
	['az'] = true,
	['azb'] = true,
	['azc'] = true,
	['azd'] = true,
	['azj'] = true,
	['ba'] = true,
	['bac'] = true,
	['bad'] = true,
	['bai'] = true,
	['bal'] = true,
	['ban'] = true,
	['bar'] = true,
	['bat'] = true,
	['bax'] = true,
	['bbc'] = true,
	['bcl'] = true,
	['bdz'] = true,
	['be'] = true,
	['bea'] = true,
	['bej'] = true,
	['bek'] = true,
	['bem'] = true,
	['ber'] = true,
	['bew'] = true,
	['bft'] = true,
	['bg'] = true,
	['bgn'] = true,
	['bh'] = true,
	['bho'] = true,
	['bi'] = true,
	['bik'] = true,
	['bin'] = true,
	['bjn'] = true,
	['bla'] = true,
	['blc'] = true,
	['blk'] = true,
	['bm'] = true,
	['bn'] = true,
	['bnt'] = true,
	['bo'] = true,
	['bpy'] = true,
	['bqi'] = true,
	['br'] = true,
	['brh'] = true,
	['brx'] = true,
	['bs'] = true,
	['bsk'] = true,
	['bsq'] = true,
	['btd'] = true,
	['btk'] = true,
	['btm'] = true,
	['bts'] = true,
	['btx'] = true,
	['btz'] = true,
	['bua'] = true,
	['buc'] = true,
	['bug'] = true,
	['bvb'] = true,
	['bxr'] = true,
	['bya'] = true,
	['bzj'] = true,
	['ca'] = true,
	['ca-valencia'] = true,
	['cai'] = true,
	['cal'] = true,
	['cau'] = true,
	['cay'] = true,
	['cba'] = true,
	['cbk'] = true,
	['ccn'] = true,
	['ccp'] = true,
	['ccs'] = true,
	['cdc'] = true,
	['cdd'] = true,
	['cdo'] = true,
	['ce'] = true,
	['ceb'] = true,
	['cel'] = true,
	['cel-x-proto'] = true,
	['ch'] = true,
	['chg'] = true,
	['chm'] = true,
	['chn'] = true,
	['cho'] = true,
	['chp'] = true,
	['chr'] = true,
	['chy'] = true,
	['cic'] = true,
	['cim'] = true,
	['ciw'] = true,
	['cja'] = true,
	['cjm'] = true,
	['cjs'] = true,
	['ckb'] = true,
	['ckt'] = true,
	['cku'] = true,
	['cld'] = true,
	['clm'] = true,
	['cmc'] = true,
	['cmg'] = true,
	['cml'] = true,
	['cmn'] = true,
	['cms'] = true,
	['cnr'] = true,
	['cnu'] = true,
	['co'] = true,
	['coa'] = true,
	['coc'] = true,
	['coj'] = true,
	['com'] = true,
	['coo'] = true,
	['cop'] = true,
	['cpe'] = true,
	['cpf'] = true,
	['cpg'] = true,
	['cpp'] = true,
	['cr'] = true,
	['crg'] = true,
	['crh'] = true,
	['cri'] = true,
	['crj'] = true,
	['crk'] = true,
	['crl'] = true,
	['crm'] = true,
	['cro'] = true,
	['crp'] = true,
	['crr'] = true,
	['cs'] = true,
	['csb'] = true,
	['csu'] = true,
	['csw'] = true,
	['csz'] = true,
	['ctd'] = true,
	['ctg'] = true,
	['ctm'] = true,
	['cu'] = true,
	['cus'] = true,
	['cv'] = true,
	['cwd'] = true,
	['cy'] = true,
	['cyo'] = true,
	['da'] = true,
	['dag'] = true,
	['dak'] = true,
	['dar'] = true,
	['day'] = true,
	['ddo'] = true,
	['de'] = true,
	['de-AT'] = true,
	['deh'] = true,
	['del'] = true,
	['den'] = true,
	['dev'] = true,
	['dgo'] = true,
	['din'] = true,
	['diq'] = true,
	['dlg'] = true,
	['dlm'] = true,
	['dmn'] = true,
	['dng'] = true,
	['dra'] = true,
	['dsb'] = true,
	['dum'] = true,
	['dv'] = true,
	['dyu'] = true,
	['dz'] = true,
	['ee'] = true,
	['efi'] = true,
	['egl'] = true,
	['egx'] = true,
	['egy'] = true,
	['el'] = true,
	['elx'] = true,
	['emb'] = true,
	['ems'] = true,
	['en'] = true,
	['en-emodeng'] = true,
	['enf'] = true,
	['enh'] = true,
	['enm'] = true,
	['eno'] = true,
	['eo'] = true,
	['es'] = true,
	['ess'] = true,
	['esu'] = true,
	['esx'] = true,
	['et'] = true,
	['ett'] = true,
	['eu'] = true,
	['euq'] = true,
	['eve'] = true,
	['evn'] = true,
	['ext'] = true,
	['fa'] = true,
	['fan'] = true,
	['fax'] = true,
	['ff'] = true,
	['fi'] = true,
	['fil'] = true,
	['fit'] = true,
	['fiu'] = true,
	['fj'] = true,
	['fkv'] = true,
	['fla'] = true,
	['fmp'] = true,
	['fo'] = true,
	['fon'] = true,
	['fox'] = true,
	['fr'] = true,
	['frc'] = true,
	['frk'] = true,
	['frm'] = true,
	['fro'] = true,
	['frp'] = true,
	['frr'] = true,
	['frs'] = true,
	['fuc'] = true,
	['fuf'] = true,
	['fur'] = true,
	['fwa'] = true,
	['fy'] = true,
	['ga'] = true,
	['gaa'] = true,
	['gad'] = true,
	['gag'] = true,
	['gay'] = true,
	['gbm'] = true,
	['gbz'] = true,
	['gcf'] = true,
	['gcr'] = true,
	['gd'] = true,
	['gem'] = true,
	['gem-x-proto'] = true,
	['gez'] = true,
	['gil'] = true,
	['git'] = true,
	['gju'] = true,
	['gl'] = true,
	['glk'] = true,
	['gme'] = true,
	['gmh'] = true,
	['gml'] = true,
	['gmq'] = true,
	['gmw'] = true,
	['gmy'] = true,
	['gn'] = true,
	['gnc'] = true,
	['goh'] = true,
	['gom'] = true,
	['gor'] = true,
	['gos'] = true,
	['got'] = true,
	['grc'] = true,
	['grc-x-aeolic'] = true,
	['grc-x-attic'] = true,
	['grc-x-biblical'] = true,
	['grc-x-classic'] = true,
	['grc-x-doric'] = true,
	['grc-x-hellen'] = true,
	['grc-x-ionic'] = true,
	['grc-x-koine'] = true,
	['grc-x-medieval'] = true,
	['grc-x-patris'] = true,
	['grk'] = true,
	['grk-x-proto'] = true,
	['grm'] = true,
	['gsw'] = true,
	['gu'] = true,
	['guc'] = true,
	['gul'] = true,
	['guw'] = true,
	['gv'] = true,
	['gyn'] = true,
	['ha'] = true,
	['hac'] = true,
	['hai'] = true,
	['hak'] = true,
	['haw'] = true,
	['haz'] = true,
	['hbo'] = true,
	['hch'] = true,
	['he'] = true,
	['hei'] = true,
	['hi'] = true,
	['hid'] = true,
	['hif'] = true,
	['hil'] = true,
	['him'] = true,
	['hit'] = true,
	['hlu'] = true,
	['hmn'] = true,
	['hmx'] = true,
	['hnd'] = true,
	['hnn'] = true,
	['hno'] = true,
	['ho'] = true,
	['hoc'] = true,
	['hok'] = true,
	['hop'] = true,
	['hr'] = true,
	['hsb'] = true,
	['ht'] = true,
	['hu'] = true,
	['hur'] = true,
	['hus'] = true,
	['hvn'] = true,
	['hy'] = true,
	['hyw'] = true,
	['hyx'] = true,
	['hz'] = true,
	['ia'] = true,
	['iba'] = true,
	['ibb'] = true,
	['ibg'] = true,
	['ibl'] = true,
	['icr'] = true,
	['id'] = true,
	['ie'] = true,
	['ig'] = true,
	['ii'] = true,
	['iir'] = true,
	['ijo'] = true,
	['ik'] = true,
	['ikt'] = true,
	['ilo'] = true,
	['ilp'] = true,
	['inc'] = true,
	['ine'] = true,
	['inh'] = true,
	['io'] = true,
	['iow'] = true,
	['ira'] = true,
	['iro'] = true,
	['is'] = true,
	['ist'] = true,
	['it'] = true,
	['itc'] = true,
	['itl'] = true,
	['itv'] = true,
	['iu'] = true,
	['ium'] = true,
	['ivv'] = true,
	['izh'] = true,
	['ja'] = true,
	['jam'] = true,
	['jao'] = true,
	['jax'] = true,
	['jbe'] = true,
	['jbo'] = true,
	['jdt'] = true,
	['jog'] = true,
	['jpa'] = true,
	['jpx'] = true,
	['jrb'] = true,
	['jur'] = true,
	['jv'] = true,
	['jye'] = true,
	['kaa'] = true,
	['kab'] = true,
	['kac'] = true,
	['kar'] = true,
	['kaw'] = true,
	['kbd'] = true,
	['kbp'] = true,
	['kca'] = true,
	['kcg'] = true,
	['kda'] = true,
	['kdd'] = true,
	['kdo'] = true,
	['kee'] = true,
	['kek'] = true,
	['kg'] = true,
	['kge'] = true,
	['kha'] = true,
	['khb'] = true,
	['khi'] = true,
	['khw'] = true,
	['ki'] = true,
	['kio'] = true,
	['kiq'] = true,
	['kiu'] = true,
	['kj'] = true,
	['kjh'] = true,
	['kjp'] = true,
	['kjq'] = true,
	['kjz'] = true,
	['kk'] = true,
	['kkh'] = true,
	['kkv'] = true,
	['kkz'] = true,
	['kl'] = true,
	['kls'] = true,
	['km'] = true,
	['kmb'] = true,
	['kn'] = true,
	['kne'] = true,
	['knn'] = true,
	['ko'] = true,
	['kog'] = true,
	['koi'] = true,
	['kok'] = true,
	['kpo'] = true,
	['kr'] = true,
	['krc'] = true,
	['kri'] = true,
	['krj'] = true,
	['krl'] = true,
	['kro'] = true,
	['ks'] = true,
	['ksh'] = true,
	['ksw'] = true,
	['ktu'] = true,
	['ktz'] = true,
	['ku'] = true,
	['kum'] = true,
	['kut'] = true,
	['kv'] = true,
	['kvr'] = true,
	['kvx'] = true,
	['kw'] = true,
	['kwk'] = true,
	['kxd'] = true,
	['ky'] = true,
	['kyh'] = true,
	['la'] = true,
	['la-x-medieval'] = true,
	['la-x-new'] = true,
	['lad'] = true,
	['lb'] = true,
	['lbe'] = true,
	['lbj'] = true,
	['lce'] = true,
	['lcf'] = true,
	['lez'] = true,
	['lg'] = true,
	['li'] = true,
	['lij'] = true,
	['lil'] = true,
	['lis'] = true,
	['liv'] = true,
	['liw'] = true,
	['ljp'] = true,
	['lkt'] = true,
	['lld'] = true,
	['lmo'] = true,
	['ln'] = true,
	['lng'] = true,
	['lo'] = true,
	['lom'] = true,
	['lou'] = true,
	['loz'] = true,
	['lrc'] = true,
	['lss'] = true,
	['lt'] = true,
	['ltg'] = true,
	['lu'] = true,
	['lua'] = true,
	['lud'] = true,
	['lui'] = true,
	['lun'] = true,
	['luo'] = true,
	['luq'] = true,
	['lus'] = true,
	['lut'] = true,
	['luz'] = true,
	['lv'] = true,
	['lzz'] = true,
	['mad'] = true,
	['mai'] = true,
	['mak'] = true,
	['map'] = true,
	['maz'] = true,
	['mbr'] = true,
	['mdf'] = true,
	['mdh'] = true,
	['mdr'] = true,
	['mey'] = true,
	['mez'] = true,
	['mfa'] = true,
	['mfb'] = true,
	['mfe'] = true,
	['mfp'] = true,
	['mg'] = true,
	['mga'] = true,
	['mh'] = true,
	['mhn'] = true,
	['mhr'] = true,
	['mi'] = true,
	['mia'] = true,
	['mic'] = true,
	['mid'] = true,
	['mik'] = true,
	['min'] = true,
	['miq'] = true,
	['mis'] = true,
	['mix'] = true,
	['mjw'] = true,
	['mjy'] = true,
	['mk'] = true,
	['mkh'] = true,
	['mki'] = true,
	['mkw'] = true,
	['ml'] = true,
	['mla'] = true,
	['mn'] = true,
	['mni'] = true,
	['mnj'] = true,
	['mno'] = true,
	['mnr'] = true,
	['mns'] = true,
	['mnw'] = true,
	['moe'] = true,
	['moh'] = true,
	['mos'] = true,
	['mov'] = true,
	['mqm'] = true,
	['mqx'] = true,
	['mr'] = true,
	['mrc'] = true,
	['mrh'] = true,
	['mrj'] = true,
	['mrq'] = true,
	['mrv'] = true,
	['mrw'] = true,
	['ms'] = true,
	['mt'] = true,
	['mtm'] = true,
	['mtq'] = true,
	['mui'] = true,
	['mul'] = true,
	['mun'] = true,
	['mus'] = true,
	['mvi'] = true,
	['mwl'] = true,
	['mwp'] = true,
	['mwr'] = true,
	['mwv'] = true,
	['mww'] = true,
	['mxi'] = true,
	['my'] = true,
	['myn'] = true,
	['myv'] = true,
	['myz'] = true,
	['mzb'] = true,
	['mzn'] = true,
	['na'] = true,
	['nah'] = true,
	['nai'] = true,
	['nan'] = true,
	['nap'] = true,
	['naq'] = true,
	['nay'] = true,
	['naz'] = true,
	['nb'] = true,
	['ncg'] = true,
	['nci'] = true,
	['nd'] = true,
	['nds'] = true,
	['ne'] = true,
	['new'] = true,
	['ng'] = true,
	['ngf'] = true,
	['nhd'] = true,
	['nhy'] = true,
	['nia'] = true,
	['nic'] = true,
	['nio'] = true,
	['niu'] = true,
	['nl'] = true,
	['nlm'] = true,
	['nn'] = true,
	['no'] = true,
	['nod'] = true,
	['nog'] = true,
	['nok'] = true,
	['non'] = true,
	['nqo'] = true,
	['nr'] = true,
	['nrf'] = true,
	['nrn'] = true,
	['nsd'] = true,
	['nsk'] = true,
	['nso'] = true,
	['nsz'] = true,
	['nub'] = true,
	['nv'] = true,
	['nwc'] = true,
	['nxm'] = true,
	['ny'] = true,
	['nys'] = true,
	['oaa'] = true,
	['oar'] = true,
	['oav'] = true,
	['obm'] = true,
	['oc'] = true,
	['och'] = true,
	['odt'] = true,
	['ofs'] = true,
	['oge'] = true,
	['ohu'] = true,
	['oj'] = true,
	['ojb'] = true,
	['ojc'] = true,
	['ojg'] = true,
	['ojs'] = true,
	['ojw'] = true,
	['oka'] = true,
	['okm'] = true,
	['olo'] = true,
	['om'] = true,
	['oma'] = true,
	['omp'] = true,
	['omq'] = true,
	['omv'] = true,
	['omy'] = true,
	['one'] = true,
	['ood'] = true,
	['opt'] = true,
	['or'] = true,
	['oru'] = true,
	['orv'] = true,
	['os'] = true,
	['osa'] = true,
	['osc'] = true,
	['osi'] = true,
	['osn'] = true,
	['osp'] = true,
	['osx'] = true,
	['ota'] = true,
	['otb'] = true,
	['ote'] = true,
	['otk'] = true,
	['oto'] = true,
	['otq'] = true,
	['otw'] = true,
	['oty'] = true,
	['ovd'] = true,
	['owl'] = true,
	['pa'] = true,
	['paa'] = true,
	['pag'] = true,
	['pal'] = true,
	['pam'] = true,
	['pao'] = true,
	['pap'] = true,
	['pau'] = true,
	['paw'] = true,
	['pcd'] = true,
	['pcm'] = true,
	['pdc'] = true,
	['pea'] = true,
	['peo'] = true,
	['pes'] = true,
	['pey'] = true,
	['pfl'] = true,
	['pgd'] = true,
	['pgl'] = true,
	['phi'] = true,
	['phn'] = true,
	['phr'] = true,
	['pi'] = true,
	['pih'] = true,
	['pim'] = true,
	['pis'] = true,
	['pjt'] = true,
	['pka'] = true,
	['pl'] = true,
	['plf'] = true,
	['pln'] = true,
	['pmd'] = true,
	['pmh'] = true,
	['pms'] = true,
	['pnb'] = true,
	['pnh'] = true,
	['pnt'] = true,
	['pot'] = true,
	['pox'] = true,
	['poz'] = true,
	['ppl'] = true,
	['pqe'] = true,
	['pqm'] = true,
	['pqw'] = true,
	['pra'] = true,
	['prg'] = true,
	['prs'] = true,
	['prx'] = true,
	['ps'] = true,
	['psu'] = true,
	['pt'] = true,
	['pua'] = true,
	['pui'] = true,
	['puy'] = true,
	['pwn'] = true,
	['pwo'] = true,
	['qu'] = true,
	['qua'] = true,
	['quc'] = true,
	['qwe'] = true,
	['qya'] = true,
	['raj'] = true,
	['rap'] = true,
	['rar'] = true,
	['rcf'] = true,
	['rej'] = true,
	['rgn'] = true,
	['rif'] = true,
	['rkh'] = true,
	['rki'] = true,
	['rkt'] = true,
	['rm'] = true,
	['rmf'] = true,
	['rmo'] = true,
	['rmu'] = true,
	['rmy'] = true,
	['rmz'] = true,
	['rn'] = true,
	['ro'] = true,
	['roa'] = true,
	['rob'] = true,
	['rom'] = true,
	['rsk'] = true,
	['rts'] = true,
	['ru'] = true,
	['rue'] = true,
	['ruo'] = true,
	['rup'] = true,
	['ruq'] = true,
	['rut'] = true,
	['rw'] = true,
	['rys'] = true,
	['ryu'] = true,
	['sa'] = true,
	['sac'] = true,
	['sah'] = true,
	['sai'] = true,
	['sal'] = true,
	['sas'] = true,
	['sat'] = true,
	['saz'] = true,
	['sbn'] = true,
	['sbv'] = true,
	['sc'] = true,
	['scl'] = true,
	['scn'] = true,
	['sco'] = true,
	['sd'] = true,
	['sda'] = true,
	['sdc'] = true,
	['sdh'] = true,
	['sdn'] = true,
	['sdv'] = true,
	['se'] = true,
	['see'] = true,
	['sei'] = true,
	['sel'] = true,
	['sem'] = true,
	['ser'] = true,
	['sg'] = true,
	['sga'] = true,
	['sgd'] = true,
	['sgh'] = true,
	['sgn'] = true,
	['sgs'] = true,
	['sh'] = true,
	['shh'] = true,
	['shi'] = true,
	['shn'] = true,
	['shp'] = true,
	['shs'] = true,
	['shy'] = true,
	['si'] = true,
	['sia'] = true,
	['sio'] = true,
	['sip'] = true,
	['sit'] = true,
	['siz'] = true,
	['sjd'] = true,
	['sje'] = true,
	['sjk'] = true,
	['sjn'] = true,
	['sjo'] = true,
	['sjt'] = true,
	['sju'] = true,
	['sjw'] = true,
	['sk'] = true,
	['ska'] = true,
	['skh'] = true,
	['skr'] = true,
	['sl'] = true,
	['sla'] = true,
	['slh'] = true,
	['sli'] = true,
	['slr'] = true,
	['slu'] = true,
	['sly'] = true,
	['sm'] = true,
	['sma'] = true,
	['smi'] = true,
	['smj'] = true,
	['smn'] = true,
	['smr'] = true,
	['sms'] = true,
	['smw'] = true,
	['sn'] = true,
	['snk'] = true,
	['snq'] = true,
	['so'] = true,
	['sog'] = true,
	['son'] = true,
	['sou'] = true,
	['sq'] = true,
	['sqj'] = true,
	['sqo'] = true,
	['sqr'] = true,
	['sqt'] = true,
	['squ'] = true,
	['sr'] = true,
	['src'] = true,
	['srh'] = true,
	['srm'] = true,
	['srn'] = true,
	['sro'] = true,
	['srr'] = true,
	['srs'] = true,
	['ss'] = true,
	['ssa'] = true,
	['st'] = true,
	['std'] = true,
	['sto'] = true,
	['stp'] = true,
	['stq'] = true,
	['str'] = true,
	['sty'] = true,
	['su'] = true,
	['sus'] = true,
	['sux'] = true,
	['sv'] = true,
	['sva'] = true,
	['sw'] = true,
	['swb'] = true,
	['swg'] = true,
	['swh'] = true,
	['sws'] = true,
	['syc'] = true,
	['syd'] = true,
	['syl'] = true,
	['syr'] = true,
	['szl'] = true,
	['szy'] = true,
	['ta'] = true,
	['taa'] = true,
	['tab'] = true,
	['tai'] = true,
	['tao'] = true,
	['tay'] = true,
	['tbq'] = true,
	['tcb'] = true,
	['tcs'] = true,
	['tcy'] = true,
	['te'] = true,
	['tes'] = true,
	['tet'] = true,
	['tew'] = true,
	['tfn'] = true,
	['tft'] = true,
	['tg'] = true,
	['tgx'] = true,
	['th'] = true,
	['thp'] = true,
	['ti'] = true,
	['tid'] = true,
	['tig'] = true,
	['tiw'] = true,
	['tix'] = true,
	['tk'] = true,
	['tkl'] = true,
	['tkm'] = true,
	['tl'] = true,
	['tlh'] = true,
	['tli'] = true,
	['tly'] = true,
	['tmh'] = true,
	['tmn'] = true,
	['tmr'] = true,
	['tn'] = true,
	['tnq'] = true,
	['to'] = true,
	['toi'] = true,
	['tok'] = true,
	['tol'] = true,
	['tom'] = true,
	['tow'] = true,
	['tpi'] = true,
	['tr'] = true,
	['trk'] = true,
	['trp'] = true,
	['tru'] = true,
	['ts'] = true,
	['tsg'] = true,
	['tsi'] = true,
	['tsz'] = true,
	['tt'] = true,
	['tts'] = true,
	['ttt'] = true,
	['tum'] = true,
	['tun'] = true,
	['tup'] = true,
	['tus'] = true,
	['tut'] = true,
	['tuw'] = true,
	['tvl'] = true,
	['tw'] = true,
	['twa'] = true,
	['ty'] = true,
	['tyv'] = true,
	['tzh'] = true,
	['tzl'] = true,
	['tzm'] = true,
	['tzo'] = true,
	['uby'] = true,
	['ude'] = true,
	['udi'] = true,
	['udm'] = true,
	['ug'] = true,
	['uga'] = true,
	['uk'] = true,
	['uli'] = true,
	['ulk'] = true,
	['uma'] = true,
	['umb'] = true,
	['umu'] = true,
	['und'] = true,
	['unm'] = true,
	['ur'] = true,
	['ure'] = true,
	['urj'] = true,
	['uum'] = true,
	['uz'] = true,
	['ve'] = true,
	['vec'] = true,
	['vep'] = true,
	['vi'] = true,
	['vkk'] = true,
	['vls'] = true,
	['vmf'] = true,
	['vml'] = true,
	['vo'] = true,
	['vot'] = true,
	['vro'] = true,
	['wa'] = true,
	['wae'] = true,
	['wak'] = true,
	['wal'] = true,
	['wam'] = true,
	['war'] = true,
	['was'] = true,
	['wbl'] = true,
	['wen'] = true,
	['wep'] = true,
	['wes'] = true,
	['win'] = true,
	['wlm'] = true,
	['wlo'] = true,
	['wls'] = true,
	['wne'] = true,
	['wo'] = true,
	['woe'] = true,
	['wrh'] = true,
	['wrm'] = true,
	['wth'] = true,
	['wyi'] = true,
	['wym'] = true,
	['wyn'] = true,
	['xaa'] = true,
	['xal'] = true,
	['xas'] = true,
	['xbc'] = true,
	['xbj'] = true,
	['xbm'] = true,
	['xby'] = true,
	['xcb'] = true,
	['xcg'] = true,
	['xcl'] = true,
	['xcr'] = true,
	['xct'] = true,
	['xdc'] = true,
	['xdk'] = true,
	['xdm'] = true,
	['xfa'] = true,
	['xgf'] = true,
	['xgn'] = true,
	['xh'] = true,
	['xhe'] = true,
	['xhu'] = true,
	['xlc'] = true,
	['xld'] = true,
	['xlu'] = true,
	['xmf'] = true,
	['xmm'] = true,
	['xna'] = true,
	['xnd'] = true,
	['xng'] = true,
	['xno'] = true,
	['xpi'] = true,
	['xpr'] = true,
	['xpu'] = true,
	['xpz'] = true,
	['xqa'] = true,
	['xsa'] = true,
	['xsb'] = true,
	['xsr'] = true,
	['xul'] = true,
	['xur'] = true,
	['xvo'] = true,
	['xwo'] = true,
	['yao'] = true,
	['yap'] = true,
	['yaq'] = true,
	['ydg'] = true,
	['yi'] = true,
	['yii'] = true,
	['yka'] = true,
	['ykg'] = true,
	['ymm'] = true,
	['ymt'] = true,
	['yo'] = true,
	['yoi'] = true,
	['ypk'] = true,
	['yrk'] = true,
	['yua'] = true,
	['yuc'] = true,
	['yue'] = true,
	['yuf'] = true,
	['yuf-x-hav'] = true,
	['yuf-x-wal'] = true,
	['yuf-x-yav'] = true,
	['yxg'] = true,
	['za'] = true,
	['zea'] = true,
	['zgh'] = true,
	['zhx'] = true,
	['zkv'] = true,
	['zle'] = true,
	['zls'] = true,
	['zlw'] = true,
	['znd'] = true,
	['zom'] = true,
	['zsm'] = true,
	['zu'] = true,
	['zun'] = true,
	['zxx'] = true,
	['zza'] = true,
	}
	
local all_t = {
	['aa'] = true,
	['aae'] = true,
	['aaq'] = true,
	['aav'] = true,
	['ab'] = true,
	['abe'] = true,
	['abl'] = true,
	['abq'] = true,
	['aca'] = true,
	['ace'] = true,
	['acf'] = true,
	['acm'] = true,
	['acw'] = true,
	['ady'] = true,
	['ae'] = true,
	['aeb'] = true,
	['aec'] = true,
	['aer'] = true,
	['af'] = true,
	['afa'] = true,
	['afb'] = true,
	['aht'] = true,
	['aii'] = true,
	['aij'] = true,
	['ain'] = true,
	['aiq'] = true,
	['ajp'] = true,
	['ak'] = true,
	['akb'] = true,
	['akk'] = true,
	['akk-x-latbabyl'] = true,
	['akk-x-midassyr'] = true,
	['akk-x-midbabyl'] = true,
	['akk-x-neoassyr'] = true,
	['akk-x-neobabyl'] = true,
	['akk-x-oldassyr'] = true,
	['akk-x-oldbabyl'] = true,
	['akl'] = true,
	['akz'] = true,
	['ale'] = true,
	['alg'] = true,
	['aln'] = true,
	['alq'] = true,
	['als'] = true,
	['alt'] = true,
	['alv'] = true,
	['am'] = true,
	['ami'] = true,
	['amw'] = true,
	['an'] = true,
	['ang'] = true,
	['anm'] = true,
	['aoa'] = true,
	['apa'] = true,
	['apc'] = true,
	['apj'] = true,
	['apm'] = true,
	['apw'] = true,
	['aqa'] = true,
	['aql'] = true,
	['ar'] = true,
	['arb'] = true,
	['arc'] = true,
	['arh'] = true,
	['ari'] = true,
	['arn'] = true,
	['arp'] = true,
	['arq'] = true,
	['ars'] = true,
	['art'] = true,
	['ary'] = true,
	['arz'] = true,
	['as'] = true,
	['asb'] = true,
	['ast'] = true,
	['ath'] = true,
	['ats'] = true,
	['auf'] = true,
	['aus'] = true,
	['av'] = true,
	['awa'] = true,
	['awd'] = true,
	['awk'] = true,
	['axm'] = true,
	['ay'] = true,
	['ayn'] = true,
	['ayp'] = true,
	['az'] = true,
	['azb'] = true,
	['azc'] = true,
	['azd'] = true,
	['azj'] = true,
	['ba'] = true,
	['bac'] = true,
	['bad'] = true,
	['bai'] = true,
	['bal'] = true,
	['ban'] = true,
	['bar'] = true,
	['bat'] = true,
	['bax'] = true,
	['bbc'] = true,
	['bcl'] = true,
	['bdz'] = true,
	['be'] = true,
	['bea'] = true,
	['bej'] = true,
	['bek'] = true,
	['bem'] = true,
	['ber'] = true,
	['bew'] = true,
	['bft'] = true,
	['bg'] = true,
	['bgn'] = true,
	['bh'] = true,
	['bho'] = true,
	['bi'] = true,
	['bik'] = true,
	['bin'] = true,
	['bjn'] = true,
	['bla'] = true,
	['blc'] = true,
	['blk'] = true,
	['bm'] = true,
	['bn'] = true,
	['bnt'] = true,
	['bo'] = true,
	['bpy'] = true,
	['bqi'] = true,
	['br'] = true,
	['brh'] = true,
	['brx'] = true,
	['bs'] = true,
	['bsk'] = true,
	['bsq'] = true,
	['btd'] = true,
	['btk'] = true,
	['btm'] = true,
	['bts'] = true,
	['btx'] = true,
	['btz'] = true,
	['bua'] = true,
	['buc'] = true,
	['bug'] = true,
	['bvb'] = true,
	['bxr'] = true,
	['bya'] = true,
	['bzj'] = true,
	['ca'] = true,
	['ca-valencia'] = true,
	['cai'] = true,
	['cal'] = true,
	['cau'] = true,
	['cay'] = true,
	['cba'] = true,
	['cbk'] = true,
	['ccn'] = true,
	['ccp'] = true,
	['ccs'] = true,
	['cdc'] = true,
	['cdd'] = true,
	['cdo'] = true,
	['ce'] = true,
	['ceb'] = true,
	['cel'] = true,
	['cel-x-proto'] = true,
	['ch'] = true,
	['chg'] = true,
	['chm'] = true,
	['chn'] = true,
	['cho'] = true,
	['chp'] = true,
	['chr'] = true,
	['chy'] = true,
	['cic'] = true,
	['cim'] = true,
	['ciw'] = true,
	['cja'] = true,
	['cjm'] = true,
	['cjs'] = true,
	['ckb'] = true,
	['ckt'] = true,
	['cku'] = true,
	['cld'] = true,
	['clm'] = true,
	['cmc'] = true,
	['cmg'] = true,
	['cml'] = true,
	['cmn'] = true,
	['cms'] = true,
	['cnr'] = true,
	['cnu'] = true,
	['co'] = true,
	['coa'] = true,
	['coc'] = true,
	['coj'] = true,
	['com'] = true,
	['coo'] = true,
	['cop'] = true,
	['cpe'] = true,
	['cpf'] = true,
	['cpg'] = true,
	['cpp'] = true,
	['cr'] = true,
	['crg'] = true,
	['crh'] = true,
	['cri'] = true,
	['crj'] = true,
	['crk'] = true,
	['crl'] = true,
	['crm'] = true,
	['cro'] = true,
	['crp'] = true,
	['crr'] = true,
	['cs'] = true,
	['csb'] = true,
	['csu'] = true,
	['csw'] = true,
	['csz'] = true,
	['ctd'] = true,
	['ctg'] = true,
	['ctm'] = true,
	['cu'] = true,
	['cus'] = true,
	['cv'] = true,
	['cwd'] = true,
	['cy'] = true,
	['cyo'] = true,
	['da'] = true,
	['dag'] = true,
	['dak'] = true,
	['dar'] = true,
	['day'] = true,
	['ddo'] = true,
	['de'] = true,
	['de-AT'] = true,
	['deh'] = true,
	['del'] = true,
	['den'] = true,
	['dev'] = true,
	['dgo'] = true,
	['din'] = true,
	['diq'] = true,
	['dlg'] = true,
	['dlm'] = true,
	['dmn'] = true,
	['dng'] = true,
	['dra'] = true,
	['dsb'] = true,
	['dum'] = true,
	['dv'] = true,
	['dyu'] = true,
	['dz'] = true,
	['ee'] = true,
	['efi'] = true,
	['egl'] = true,
	['egx'] = true,
	['egy'] = true,
	['el'] = true,
	['elx'] = true,
	['emb'] = true,
	['ems'] = true,
	['en'] = true,
	['en-emodeng'] = true,
	['enf'] = true,
	['enh'] = true,
	['enm'] = true,
	['eno'] = true,
	['eo'] = true,
	['es'] = true,
	['ess'] = true,
	['esu'] = true,
	['esx'] = true,
	['et'] = true,
	['ett'] = true,
	['eu'] = true,
	['euq'] = true,
	['eve'] = true,
	['evn'] = true,
	['ext'] = true,
	['fa'] = true,
	['fan'] = true,
	['fax'] = true,
	['ff'] = true,
	['fi'] = true,
	['fil'] = true,
	['fit'] = true,
	['fiu'] = true,
	['fj'] = true,
	['fkv'] = true,
	['fla'] = true,
	['fmp'] = true,
	['fo'] = true,
	['fon'] = true,
	['fox'] = true,
	['fr'] = true,
	['frc'] = true,
	['frk'] = true,
	['frm'] = true,
	['fro'] = true,
	['frp'] = true,
	['frr'] = true,
	['frs'] = true,
	['fuc'] = true,
	['fuf'] = true,
	['fur'] = true,
	['fwa'] = true,
	['fy'] = true,
	['ga'] = true,
	['gaa'] = true,
	['gad'] = true,
	['gag'] = true,
	['gay'] = true,
	['gbm'] = true,
	['gbz'] = true,
	['gcf'] = true,
	['gcr'] = true,
	['gd'] = true,
	['gem'] = true,
	['gem-x-proto'] = true,
	['gez'] = true,
	['gil'] = true,
	['git'] = true,
	['gju'] = true,
	['gl'] = true,
	['glk'] = true,
	['gme'] = true,
	['gmh'] = true,
	['gml'] = true,
	['gmq'] = true,
	['gmw'] = true,
	['gmy'] = true,
	['gn'] = true,
	['gnc'] = true,
	['goh'] = true,
	['gom'] = true,
	['gor'] = true,
	['gos'] = true,
	['got'] = true,
	['grc'] = true,
	['grc-gre'] = true,
	['grc-x-aeolic'] = true,
	['grc-x-attic'] = true,
	['grc-x-biblical'] = true,
	['grc-x-classic'] = true,
	['grc-x-doric'] = true,
	['grc-x-hellen'] = true,
	['grc-x-ionic'] = true,
	['grc-x-koine'] = true,
	['grc-x-medieval'] = true,
	['grc-x-patris'] = true,
	['grk'] = true,
	['grk-x-proto'] = true,
	['grm'] = true,
	['gsw'] = true,
	['gu'] = true,
	['guc'] = true,
	['gul'] = true,
	['guw'] = true,
	['gv'] = true,
	['gyn'] = true,
	['ha'] = true,
	['hac'] = true,
	['hai'] = true,
	['hak'] = true,
	['haw'] = true,
	['haz'] = true,
	['hbo'] = true,
	['hch'] = true,
	['he'] = true,
	['hei'] = true,
	['hi'] = true,
	['hid'] = true,
	['hif'] = true,
	['hil'] = true,
	['him'] = true,
	['hit'] = true,
	['hlu'] = true,
	['hmn'] = true,
	['hmx'] = true,
	['hnd'] = true,
	['hnn'] = true,
	['hno'] = true,
	['ho'] = true,
	['hoc'] = true,
	['hok'] = true,
	['hop'] = true,
	['hr'] = true,
	['hsb'] = true,
	['ht'] = true,
	['hu'] = true,
	['hur'] = true,
	['hus'] = true,
	['hvn'] = true,
	['hy'] = true,
	['hyw'] = true,
	['hyx'] = true,
	['hz'] = true,
	['ia'] = true,
	['iba'] = true,
	['ibb'] = true,
	['ibg'] = true,
	['ibl'] = true,
	['icr'] = true,
	['id'] = true,
	['ie'] = true,
	['ig'] = true,
	['ii'] = true,
	['iir'] = true,
	['ijo'] = true,
	['ik'] = true,
	['ikt'] = true,
	['ilo'] = true,
	['ilp'] = true,
	['inc'] = true,
	['ine'] = true,
	['inh'] = true,
	['io'] = true,
	['iow'] = true,
	['ira'] = true,
	['iro'] = true,
	['is'] = true,
	['ist'] = true,
	['it'] = true,
	['itc'] = true,
	['itl'] = true,
	['itv'] = true,
	['iu'] = true,
	['ium'] = true,
	['ivv'] = true,
	['izh'] = true,
	['ja'] = true,
	['jam'] = true,
	['jao'] = true,
	['jax'] = true,
	['jbe'] = true,
	['jbo'] = true,
	['jdt'] = true,
	['jog'] = true,
	['jpa'] = true,
	['jpx'] = true,
	['jrb'] = true,
	['jur'] = true,
	['jv'] = true,
	['jye'] = true,
	['ka'] = true,
	['kaa'] = true,
	['kab'] = true,
	['kac'] = true,
	['kar'] = true,
	['kaw'] = true,
	['kbd'] = true,
	['kbp'] = true,
	['kca'] = true,
	['kcg'] = true,
	['kda'] = true,
	['kdd'] = true,
	['kdo'] = true,
	['kee'] = true,
	['kek'] = true,
	['kg'] = true,
	['kge'] = true,
	['kha'] = true,
	['khb'] = true,
	['khi'] = true,
	['khw'] = true,
	['ki'] = true,
	['kio'] = true,
	['kiq'] = true,
	['kiu'] = true,
	['kj'] = true,
	['kjh'] = true,
	['kjp'] = true,
	['kjq'] = true,
	['kjz'] = true,
	['kk'] = true,
	['kkh'] = true,
	['kkv'] = true,
	['kkz'] = true,
	['kl'] = true,
	['kls'] = true,
	['km'] = true,
	['kmb'] = true,
	['kmr'] = true,
	['kn'] = true,
	['kne'] = true,
	['knn'] = true,
	['ko'] = true,
	['kog'] = true,
	['koi'] = true,
	['kok'] = true,
	['kpo'] = true,
	['kr'] = true,
	['krc'] = true,
	['kri'] = true,
	['krj'] = true,
	['krl'] = true,
	['kro'] = true,
	['ks'] = true,
	['ksh'] = true,
	['ksw'] = true,
	['ktu'] = true,
	['ktz'] = true,
	['ku'] = true,
	['ku-Arab'] = true,
	['kum'] = true,
	['kut'] = true,
	['kv'] = true,
	['kvr'] = true,
	['kvx'] = true,
	['kw'] = true,
	['kwk'] = true,
	['kxd'] = true,
	['ky'] = true,
	['kyh'] = true,
	['la'] = true,
	['la-x-medieval'] = true,
	['la-x-new'] = true,
	['lad'] = true,
	['lb'] = true,
	['lbe'] = true,
	['lbj'] = true,
	['lce'] = true,
	['lcf'] = true,
	['lez'] = true,
	['lg'] = true,
	['li'] = true,
	['lij'] = true,
	['lil'] = true,
	['lis'] = true,
	['liv'] = true,
	['liw'] = true,
	['ljp'] = true,
	['lkt'] = true,
	['lld'] = true,
	['lmo'] = true,
	['ln'] = true,
	['lng'] = true,
	['lo'] = true,
	['lom'] = true,
	['lou'] = true,
	['loz'] = true,
	['lrc'] = true,
	['lss'] = true,
	['lt'] = true,
	['ltg'] = true,
	['lu'] = true,
	['lua'] = true,
	['lud'] = true,
	['lui'] = true,
	['lun'] = true,
	['luo'] = true,
	['luq'] = true,
	['lus'] = true,
	['lut'] = true,
	['luz'] = true,
	['lv'] = true,
	['lzz'] = true,
	['mad'] = true,
	['mai'] = true,
	['mak'] = true,
	['map'] = true,
	['maz'] = true,
	['mbr'] = true,
	['mdf'] = true,
	['mdh'] = true,
	['mdr'] = true,
	['mey'] = true,
	['mez'] = true,
	['mfa'] = true,
	['mfb'] = true,
	['mfe'] = true,
	['mfp'] = true,
	['mg'] = true,
	['mga'] = true,
	['mh'] = true,
	['mhn'] = true,
	['mhr'] = true,
	['mi'] = true,
	['mia'] = true,
	['mic'] = true,
	['mid'] = true,
	['mik'] = true,
	['min'] = true,
	['miq'] = true,
	['mis'] = true,
	['mix'] = true,
	['mjw'] = true,
	['mjy'] = true,
	['mk'] = true,
	['mkh'] = true,
	['mki'] = true,
	['mkw'] = true,
	['ml'] = true,
	['mla'] = true,
	['mn'] = true,
	['mnc'] = true,
	['mni'] = true,
	['mnj'] = true,
	['mno'] = true,
	['mnr'] = true,
	['mns'] = true,
	['mnw'] = true,
	['moe'] = true,
	['moh'] = true,
	['mos'] = true,
	['mov'] = true,
	['mqm'] = true,
	['mqx'] = true,
	['mr'] = true,
	['mrc'] = true,
	['mrh'] = true,
	['mrj'] = true,
	['mrq'] = true,
	['mrv'] = true,
	['mrw'] = true,
	['ms'] = true,
	['mt'] = true,
	['mtm'] = true,
	['mtq'] = true,
	['mui'] = true,
	['mul'] = true,
	['mun'] = true,
	['mus'] = true,
	['mvi'] = true,
	['mwl'] = true,
	['mwp'] = true,
	['mwr'] = true,
	['mwv'] = true,
	['mww'] = true,
	['mxi'] = true,
	['my'] = true,
	['myn'] = true,
	['myv'] = true,
	['myz'] = true,
	['mzb'] = true,
	['mzn'] = true,
	['na'] = true,
	['nah'] = true,
	['nai'] = true,
	['nan'] = true,
	['nap'] = true,
	['naq'] = true,
	['nay'] = true,
	['naz'] = true,
	['nb'] = true,
	['ncg'] = true,
	['nci'] = true,
	['nd'] = true,
	['nds'] = true,
	['ne'] = true,
	['new'] = true,
	['ng'] = true,
	['ngf'] = true,
	['nhd'] = true,
	['nhy'] = true,
	['nia'] = true,
	['nic'] = true,
	['nio'] = true,
	['niu'] = true,
	['nl'] = true,
	['nlm'] = true,
	['nn'] = true,
	['no'] = true,
	['nod'] = true,
	['nog'] = true,
	['nok'] = true,
	['non'] = true,
	['nqo'] = true,
	['nr'] = true,
	['nrf'] = true,
	['nrn'] = true,
	['nsd'] = true,
	['nsk'] = true,
	['nso'] = true,
	['nsz'] = true,
	['nub'] = true,
	['nv'] = true,
	['nwc'] = true,
	['nxm'] = true,
	['ny'] = true,
	['nys'] = true,
	['oaa'] = true,
	['oar'] = true,
	['oav'] = true,
	['obm'] = true,
	['oc'] = true,
	['och'] = true,
	['odt'] = true,
	['ofs'] = true,
	['oge'] = true,
	['ohu'] = true,
	['oj'] = true,
	['ojb'] = true,
	['ojc'] = true,
	['ojg'] = true,
	['ojs'] = true,
	['ojw'] = true,
	['oka'] = true,
	['okm'] = true,
	['olo'] = true,
	['om'] = true,
	['oma'] = true,
	['omp'] = true,
	['omq'] = true,
	['omv'] = true,
	['omy'] = true,
	['one'] = true,
	['ood'] = true,
	['opt'] = true,
	['or'] = true,
	['oru'] = true,
	['orv'] = true,
	['os'] = true,
	['osa'] = true,
	['osc'] = true,
	['osi'] = true,
	['osn'] = true,
	['osp'] = true,
	['osx'] = true,
	['ota'] = true,
	['otb'] = true,
	['ote'] = true,
	['otk'] = true,
	['oto'] = true,
	['otq'] = true,
	['otw'] = true,
	['oty'] = true,
	['ovd'] = true,
	['owl'] = true,
	['pa'] = true,
	['paa'] = true,
	['pag'] = true,
	['pal'] = true,
	['pam'] = true,
	['pao'] = true,
	['pap'] = true,
	['pau'] = true,
	['paw'] = true,
	['pcd'] = true,
	['pcm'] = true,
	['pdc'] = true,
	['pea'] = true,
	['peo'] = true,
	['pes'] = true,
	['pey'] = true,
	['pfl'] = true,
	['pgd'] = true,
	['pgl'] = true,
	['phi'] = true,
	['phn'] = true,
	['phr'] = true,
	['pi'] = true,
	['pih'] = true,
	['pim'] = true,
	['pis'] = true,
	['pjt'] = true,
	['pka'] = true,
	['pl'] = true,
	['plf'] = true,
	['pln'] = true,
	['pmd'] = true,
	['pmh'] = true,
	['pms'] = true,
	['pnb'] = true,
	['pnh'] = true,
	['pnt'] = true,
	['pot'] = true,
	['pox'] = true,
	['poz'] = true,
	['ppl'] = true,
	['pqe'] = true,
	['pqm'] = true,
	['pqw'] = true,
	['pra'] = true,
	['prg'] = true,
	['prk'] = true,
	['prs'] = true,
	['prx'] = true,
	['ps'] = true,
	['psu'] = true,
	['pt'] = true,
	['pua'] = true,
	['pui'] = true,
	['puy'] = true,
	['pwn'] = true,
	['pwo'] = true,
	['qu'] = true,
	['qua'] = true,
	['quc'] = true,
	['qwe'] = true,
	['qya'] = true,
	['raj'] = true,
	['rap'] = true,
	['rar'] = true,
	['rcf'] = true,
	['rej'] = true,
	['rgn'] = true,
	['rif'] = true,
	['rkh'] = true,
	['rki'] = true,
	['rkt'] = true,
	['rm'] = true,
	['rmf'] = true,
	['rmo'] = true,
	['rmu'] = true,
	['rmy'] = true,
	['rmz'] = true,
	['rn'] = true,
	['ro'] = true,
	['roa'] = true,
	['rob'] = true,
	['rom'] = true,
	['rsk'] = true,
	['rts'] = true,
	['ru'] = true,
	['rue'] = true,
	['ruo'] = true,
	['rup'] = true,
	['ruq'] = true,
	['rus'] = true,
	['rut'] = true,
	['rw'] = true,
	['rys'] = true,
	['ryu'] = true,
	['sa'] = true,
	['sac'] = true,
	['sah'] = true,
	['sai'] = true,
	['sal'] = true,
	['sas'] = true,
	['sat'] = true,
	['saz'] = true,
	['sbn'] = true,
	['sbv'] = true,
	['sc'] = true,
	['scl'] = true,
	['scn'] = true,
	['sco'] = true,
	['sd'] = true,
	['sda'] = true,
	['sdc'] = true,
	['sdh'] = true,
	['sdn'] = true,
	['sdv'] = true,
	['se'] = true,
	['see'] = true,
	['sei'] = true,
	['sel'] = true,
	['sem'] = true,
	['ser'] = true,
	['sg'] = true,
	['sga'] = true,
	['sgd'] = true,
	['sgh'] = true,
	['sgn'] = true,
	['sgs'] = true,
	['sh'] = true,
	['shh'] = true,
	['shi'] = true,
	['shn'] = true,
	['shp'] = true,
	['shs'] = true,
	['shy'] = true,
	['si'] = true,
	['sia'] = true,
	['sio'] = true,
	['sip'] = true,
	['sit'] = true,
	['siz'] = true,
	['sjd'] = true,
	['sje'] = true,
	['sjk'] = true,
	['sjn'] = true,
	['sjo'] = true,
	['sjt'] = true,
	['sju'] = true,
	['sjw'] = true,
	['sk'] = true,
	['ska'] = true,
	['skh'] = true,
	['skr'] = true,
	['sl'] = true,
	['sla'] = true,
	['slh'] = true,
	['sli'] = true,
	['slr'] = true,
	['slu'] = true,
	['sly'] = true,
	['sm'] = true,
	['sma'] = true,
	['smi'] = true,
	['smj'] = true,
	['smn'] = true,
	['smr'] = true,
	['sms'] = true,
	['smw'] = true,
	['sn'] = true,
	['snk'] = true,
	['snq'] = true,
	['so'] = true,
	['sog'] = true,
	['son'] = true,
	['sou'] = true,
	['sq'] = true,
	['sqj'] = true,
	['sqo'] = true,
	['sqr'] = true,
	['sqt'] = true,
	['squ'] = true,
	['sr'] = true,
	['src'] = true,
	['srh'] = true,
	['srm'] = true,
	['srn'] = true,
	['sro'] = true,
	['srr'] = true,
	['srs'] = true,
	['ss'] = true,
	['ssa'] = true,
	['st'] = true,
	['std'] = true,
	['sto'] = true,
	['stp'] = true,
	['stq'] = true,
	['str'] = true,
	['sty'] = true,
	['su'] = true,
	['su-fonts'] = true,
	['sus'] = true,
	['sux'] = true,
	['sv'] = true,
	['sva'] = true,
	['sw'] = true,
	['swb'] = true,
	['swg'] = true,
	['swh'] = true,
	['sws'] = true,
	['syc'] = true,
	['syd'] = true,
	['syl'] = true,
	['syr'] = true,
	['szl'] = true,
	['szy'] = true,
	['ta'] = true,
	['taa'] = true,
	['tab'] = true,
	['tai'] = true,
	['tao'] = true,
	['tay'] = true,
	['tbq'] = true,
	['tcb'] = true,
	['tcs'] = true,
	['tcy'] = true,
	['tdd'] = true,
	['te'] = true,
	['tes'] = true,
	['tet'] = true,
	['tew'] = true,
	['tfn'] = true,
	['tft'] = true,
	['tg'] = true,
	['tgx'] = true,
	['th'] = true,
	['thp'] = true,
	['ti'] = true,
	['tid'] = true,
	['tig'] = true,
	['tiw'] = true,
	['tix'] = true,
	['tk'] = true,
	['tkl'] = true,
	['tkm'] = true,
	['tl'] = true,
	['tlh'] = true,
	['tli'] = true,
	['tly'] = true,
	['tmh'] = true,
	['tmn'] = true,
	['tmr'] = true,
	['tn'] = true,
	['tnq'] = true,
	['to'] = true,
	['toi'] = true,
	['tok'] = true,
	['tol'] = true,
	['tom'] = true,
	['tow'] = true,
	['tpi'] = true,
	['tr'] = true,
	['trk'] = true,
	['trp'] = true,
	['tru'] = true,
	['ts'] = true,
	['tsg'] = true,
	['tsi'] = true,
	['tsz'] = true,
	['tt'] = true,
	['tts'] = true,
	['ttt'] = true,
	['tum'] = true,
	['tun'] = true,
	['tup'] = true,
	['tus'] = true,
	['tut'] = true,
	['tuw'] = true,
	['tvl'] = true,
	['tw'] = true,
	['twa'] = true,
	['ty'] = true,
	['tyv'] = true,
	['tzh'] = true,
	['tzl'] = true,
	['tzm'] = true,
	['tzo'] = true,
	['uby'] = true,
	['ude'] = true,
	['udi'] = true,
	['udm'] = true,
	['ug'] = true,
	['uga'] = true,
	['uk'] = true,
	['uli'] = true,
	['ulk'] = true,
	['uma'] = true,
	['umb'] = true,
	['umu'] = true,
	['und'] = true,
	['unm'] = true,
	['ur'] = true,
	['ure'] = true,
	['urj'] = true,
	['uum'] = true,
	['uz'] = true,
	['ve'] = true,
	['vec'] = true,
	['vep'] = true,
	['vi'] = true,
	['vkk'] = true,
	['vls'] = true,
	['vmf'] = true,
	['vml'] = true,
	['vo'] = true,
	['vot'] = true,
	['vro'] = true,
	['wa'] = true,
	['wae'] = true,
	['wak'] = true,
	['wal'] = true,
	['wam'] = true,
	['war'] = true,
	['was'] = true,
	['wbl'] = true,
	['wbm'] = true,
	['wen'] = true,
	['wep'] = true,
	['wes'] = true,
	['win'] = true,
	['wlm'] = true,
	['wlo'] = true,
	['wls'] = true,
	['wne'] = true,
	['wo'] = true,
	['woe'] = true,
	['wrh'] = true,
	['wrm'] = true,
	['wth'] = true,
	['wyi'] = true,
	['wym'] = true,
	['wyn'] = true,
	['xaa'] = true,
	['xal'] = true,
	['xas'] = true,
	['xbc'] = true,
	['xbj'] = true,
	['xbm'] = true,
	['xby'] = true,
	['xcb'] = true,
	['xcg'] = true,
	['xcl'] = true,
	['xcr'] = true,
	['xct'] = true,
	['xdc'] = true,
	['xdk'] = true,
	['xdm'] = true,
	['xfa'] = true,
	['xgf'] = true,
	['xgn'] = true,
	['xh'] = true,
	['xhe'] = true,
	['xhu'] = true,
	['xlc'] = true,
	['xld'] = true,
	['xlu'] = true,
	['xmf'] = true,
	['xmm'] = true,
	['xna'] = true,
	['xnd'] = true,
	['xng'] = true,
	['xno'] = true,
	['xpi'] = true,
	['xpr'] = true,
	['xpu'] = true,
	['xpz'] = true,
	['xqa'] = true,
	['xsa'] = true,
	['xsb'] = true,
	['xsr'] = true,
	['xul'] = true,
	['xur'] = true,
	['xvo'] = true,
	['xwo'] = true,
	['yao'] = true,
	['yap'] = true,
	['yaq'] = true,
	['ydg'] = true,
	['yi'] = true,
	['yii'] = true,
	['yka'] = true,
	['ykg'] = true,
	['ymm'] = true,
	['ymt'] = true,
	['yo'] = true,
	['yoi'] = true,
	['ypk'] = true,
	['yrk'] = true,
	['yua'] = true,
	['yuc'] = true,
	['yue'] = true,
	['yuf'] = true,
	['yuf-x-hav'] = true,
	['yuf-x-wal'] = true,
	['yuf-x-yav'] = true,
	['yxg'] = true,
	['za'] = true,
	['zea'] = true,
	['zgh'] = true,
	['zh'] = true,
	['zhx'] = true,
	['zkv'] = true,
	['zle'] = true,
	['zls'] = true,
	['zlw'] = true,
	['znd'] = true,
	['zom'] = true,
	['zsm'] = true,
	['zu'] = true,
	['zun'] = true,
	['zxx'] = true,
	['zza'] = true,
	}
local function list_compare()
	local out_t = {}
	local i=0;
	for k, _ in pairs (all_t) do
		i=i+1;
		if not supported_t[k] then
			table.insert (out_t, i .. ': [[Template:lang-' .. k .. ']]');
		end
	end
	return mw.dumpObject (out_t)
end


--[[--------------------------< E X P O R T S >----------------------------------------------------------------
]]

return {
	langx = langx,
	test = test,
	list_compare = list_compare,
	}