<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://linguifex.com/w/index.php?action=history&amp;feed=atom&amp;title=Module%3Apages</id>
	<title>Module:pages - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://linguifex.com/w/index.php?action=history&amp;feed=atom&amp;title=Module%3Apages"/>
	<link rel="alternate" type="text/html" href="https://linguifex.com/w/index.php?title=Module:pages&amp;action=history"/>
	<updated>2026-04-05T19:05:07Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>https://linguifex.com/w/index.php?title=Module:pages&amp;diff=477619&amp;oldid=prev</id>
		<title>Sware at 15:25, 15 November 2025</title>
		<link rel="alternate" type="text/html" href="https://linguifex.com/w/index.php?title=Module:pages&amp;diff=477619&amp;oldid=prev"/>
		<updated>2025-11-15T15:25:17Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 15:25, 15 November 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l285&quot;&gt;Line 285:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 285:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	end&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	end&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	local ns = title.namespace&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	local ns = title.namespace&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	-- (main), &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Appendix, Thesaurus, Citations, Reconstruction.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	-- (main), &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Contionary&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	return (ns == 0 or ns == &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;100 or ns == 110 or ns == 114 or ns == 118&lt;/del&gt;) and&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	return (ns == 0 or ns == &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;120&lt;/ins&gt;) and&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		title.contentModel == &amp;quot;wikitext&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		title.contentModel == &amp;quot;wikitext&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;end&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;end&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Sware</name></author>
	</entry>
	<entry>
		<id>https://linguifex.com/w/index.php?title=Module:pages&amp;diff=474917&amp;oldid=prev</id>
		<title>Sware: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="https://linguifex.com/w/index.php?title=Module:pages&amp;diff=474917&amp;oldid=prev"/>
		<updated>2025-11-04T17:47:19Z</updated>

		<summary type="html">&lt;p&gt;1 revision imported&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 17:47, 4 November 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Sware</name></author>
	</entry>
	<entry>
		<id>https://linguifex.com/w/index.php?title=Module:pages&amp;diff=474916&amp;oldid=prev</id>
		<title>wikt&gt;Theknightwho at 15:43, 26 May 2025</title>
		<link rel="alternate" type="text/html" href="https://linguifex.com/w/index.php?title=Module:pages&amp;diff=474916&amp;oldid=prev"/>
		<updated>2025-05-26T15:43:46Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;https://linguifex.com/w/index.php?title=Module:pages&amp;amp;diff=474916&amp;amp;oldid=424242&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>wikt&gt;Theknightwho</name></author>
	</entry>
	<entry>
		<id>https://linguifex.com/w/index.php?title=Module:pages&amp;diff=424242&amp;oldid=prev</id>
		<title>Sware at 20:31, 11 January 2025</title>
		<link rel="alternate" type="text/html" href="https://linguifex.com/w/index.php?title=Module:pages&amp;diff=424242&amp;oldid=prev"/>
		<updated>2025-01-11T20:31:01Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 20:31, 11 January 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l224&quot;&gt;Line 224:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 224:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	end&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	end&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	local ns = title.namespace&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	local ns = title.namespace&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	-- (main), &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Appendix, Thesaurus, Citations, Reconstruction&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	-- (main), &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Contionary&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	return (ns == 0 or ns == &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;100 or ns == 110 or ns == 114 or ns == 118&lt;/del&gt;) and&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;	return (ns == 0 or ns == &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;120&lt;/ins&gt;) and&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		title.contentModel == &amp;quot;wikitext&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		title.contentModel == &amp;quot;wikitext&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;end&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;end&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Sware</name></author>
	</entry>
	<entry>
		<id>https://linguifex.com/w/index.php?title=Module:pages&amp;diff=410283&amp;oldid=prev</id>
		<title>Sware: Created page with &quot;local export = {}  local string_utilities_module = &quot;Module:string utilities&quot;  local concat = table.concat local find = string.find local format = string.format local getmetatable = getmetatable local get_current_section -- Defined below. local get_pagetype -- Defined below. local gsub = string.gsub local insert = table.insert local is_internal_title -- Defined below. local is_title -- Defined below. local lower = string.lower local match = string.match local new_title =...&quot;</title>
		<link rel="alternate" type="text/html" href="https://linguifex.com/w/index.php?title=Module:pages&amp;diff=410283&amp;oldid=prev"/>
		<updated>2025-01-08T12:31:20Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;local export = {}  local string_utilities_module = &amp;quot;Module:string utilities&amp;quot;  local concat = table.concat local find = string.find local format = string.format local getmetatable = getmetatable local get_current_section -- Defined below. local get_pagetype -- Defined below. local gsub = string.gsub local insert = table.insert local is_internal_title -- Defined below. local is_title -- Defined below. local lower = string.lower local match = string.match local new_title =...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local export = {}&lt;br /&gt;
&lt;br /&gt;
local string_utilities_module = &amp;quot;Module:string utilities&amp;quot;&lt;br /&gt;
&lt;br /&gt;
local concat = table.concat&lt;br /&gt;
local find = string.find&lt;br /&gt;
local format = string.format&lt;br /&gt;
local getmetatable = getmetatable&lt;br /&gt;
local get_current_section -- Defined below.&lt;br /&gt;
local get_pagetype -- Defined below.&lt;br /&gt;
local gsub = string.gsub&lt;br /&gt;
local insert = table.insert&lt;br /&gt;
local is_internal_title -- Defined below.&lt;br /&gt;
local is_title -- Defined below.&lt;br /&gt;
local lower = string.lower&lt;br /&gt;
local match = string.match&lt;br /&gt;
local new_title = mw.title.new&lt;br /&gt;
local require = require&lt;br /&gt;
local sub = string.sub&lt;br /&gt;
local title_equals = mw.title.equals&lt;br /&gt;
local tonumber = tonumber&lt;br /&gt;
local type = type&lt;br /&gt;
local ufind = mw.ustring.find&lt;br /&gt;
local unstrip_nowiki = mw.text.unstripNoWiki&lt;br /&gt;
&lt;br /&gt;
--[==[&lt;br /&gt;
Loaders for functions in other modules, which overwrite themselves with the target function when called. This ensures modules are only loaded when needed, retains the speed/convenience of locally-declared pre-loaded functions, and has no overhead after the first call, since the target functions are called directly in any subsequent calls.]==]&lt;br /&gt;
local function decode_entities(...)&lt;br /&gt;
	decode_entities = require(string_utilities_module).decode_entities&lt;br /&gt;
	return decode_entities(...)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function ulower(...)&lt;br /&gt;
	ulower = require(string_utilities_module).lower&lt;br /&gt;
	return ulower(...)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function trim(...)&lt;br /&gt;
	trim = require(string_utilities_module).trim&lt;br /&gt;
	return trim(...)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[==[&lt;br /&gt;
Loaders for objects, which load data (or some other object) into some variable, which can then be accessed as &amp;quot;foo or get_foo()&amp;quot;, where the function get_foo sets the object to &amp;quot;foo&amp;quot; and then returns it. This ensures they are only loaded when needed, and avoids the need to check for the existence of the object each time, since once &amp;quot;foo&amp;quot; has been set, &amp;quot;get_foo&amp;quot; will not be called again.]==]&lt;br /&gt;
local namespace_shortcuts&lt;br /&gt;
local function get_namespace_shortcuts()&lt;br /&gt;
	namespace_shortcuts, get_namespace_shortcuts = {&lt;br /&gt;
		[4] = &amp;quot;WT&amp;quot;,&lt;br /&gt;
		[10] = &amp;quot;T&amp;quot;,&lt;br /&gt;
		[14] = &amp;quot;CAT&amp;quot;,&lt;br /&gt;
		[100] = &amp;quot;AP&amp;quot;,&lt;br /&gt;
		[110] = &amp;quot;WS&amp;quot;,&lt;br /&gt;
		[118] = &amp;quot;RC&amp;quot;,&lt;br /&gt;
		[828] = &amp;quot;MOD&amp;quot;,&lt;br /&gt;
	}, nil&lt;br /&gt;
	return namespace_shortcuts&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[==[&lt;br /&gt;
Returns true if the input is a title object, or false if not. This therefore &amp;#039;&amp;#039;&amp;#039;includes&amp;#039;&amp;#039;&amp;#039; external title objects (i.e. those for pages on other wikis), such as [[w:Example]], unlike `is_internal_title` below.]==]&lt;br /&gt;
function export.is_title(val)&lt;br /&gt;
	if not (val and type(val) == &amp;quot;table&amp;quot;) then&lt;br /&gt;
		return false&lt;br /&gt;
	end&lt;br /&gt;
	local mt = getmetatable(val)&lt;br /&gt;
	-- There&amp;#039;s no foolproof method for checking for a title object, but the&lt;br /&gt;
	-- __eq metamethod should be mw.title.equals unless the object has been&lt;br /&gt;
	-- seriously messed around with.&lt;br /&gt;
	return mt and&lt;br /&gt;
		type(mt) == &amp;quot;table&amp;quot; and&lt;br /&gt;
		getmetatable(mt) == nil and&lt;br /&gt;
		mt.__eq == title_equals and&lt;br /&gt;
		true or false&lt;br /&gt;
end&lt;br /&gt;
is_title = export.is_title&lt;br /&gt;
&lt;br /&gt;
--[==[&lt;br /&gt;
Returns true if the input is an internal title object, which means that it is for a page on Wiktionary, such as [[example]]. This therefore &amp;#039;&amp;#039;&amp;#039;excludes&amp;#039;&amp;#039;&amp;#039; external title objects (i.e. those for pages on other wikis), such as [[w:Example]], unlike `is_title` above.]==]&lt;br /&gt;
function export.is_internal_title(title)&lt;br /&gt;
	-- Note: Mainspace titles starting with &amp;quot;#&amp;quot; should be invalid, but a bug in mw.title.new and mw.title.makeTitle means a title object is returned that has the empty string for prefixedText, so they need to be filtered out.&lt;br /&gt;
	return is_title(title) and #title.prefixedText &amp;gt; 0 and #title.interwiki == 0&lt;br /&gt;
end&lt;br /&gt;
is_internal_title = export.is_internal_title&lt;br /&gt;
&lt;br /&gt;
--[==[&lt;br /&gt;
Returns true if the input is a valid link target, or false if not. This therefore &amp;#039;&amp;#039;&amp;#039;includes&amp;#039;&amp;#039;&amp;#039; link targets to other wikis, such as [[w:Example]], unlike `is_valid_page_name` below.]==]&lt;br /&gt;
function export.is_valid_link_target(target)&lt;br /&gt;
	local target_type = type(target)&lt;br /&gt;
	if target_type == &amp;quot;string&amp;quot; then&lt;br /&gt;
		return is_title(new_title(target))&lt;br /&gt;
	end&lt;br /&gt;
	error(format(&amp;quot;bad argument #1 to &amp;#039;is_valid_link_target&amp;#039; (string expected, got %s)&amp;quot;, target_type), 2)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[==[&lt;br /&gt;
Returns true if the input is a valid page name Wiktionary, or false if not. This therefore &amp;#039;&amp;#039;&amp;#039;excludes&amp;#039;&amp;#039;&amp;#039; page names on other wikis, such as [[w:Example]], unlike `is_valid_link_target` above.]==]&lt;br /&gt;
function export.is_valid_page_name(name)&lt;br /&gt;
	local name_type = type(name)&lt;br /&gt;
	if name_type == &amp;quot;string&amp;quot; then&lt;br /&gt;
		return is_internal_title(new_title(name))&lt;br /&gt;
	end&lt;br /&gt;
	error(format(&amp;quot;bad argument #1 to &amp;#039;is_valid_page_name&amp;#039; (string expected, got %s)&amp;quot;, name_type), 2)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
do&lt;br /&gt;
	local function find_sandbox(text)&lt;br /&gt;
		return find(text, &amp;quot;^User:.&amp;quot;) or find(lower(text), &amp;quot;sandbox&amp;quot;, 1, true)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local function get_transclusion_subtypes(title, main_type, documentation, page_suffix)&lt;br /&gt;
		local text, subtypes = title.text, {main_type}&lt;br /&gt;
		-- Any template/module with &amp;quot;sandbox&amp;quot; in the title. These are impossible&lt;br /&gt;
		-- to screen for more accurately, as there&amp;#039;s no consistent pattern. Also&lt;br /&gt;
		-- any user sandboxes in the form (e.g.) &amp;quot;Template:User:...&amp;quot;.&lt;br /&gt;
		local sandbox = find_sandbox(text)&lt;br /&gt;
		if sandbox then&lt;br /&gt;
			insert(subtypes, &amp;quot;sandbox&amp;quot;)&lt;br /&gt;
		end&lt;br /&gt;
		-- Any template/module testcases (which can be labelled and/or followed&lt;br /&gt;
		-- by further subpages).&lt;br /&gt;
		local testcase = find(text, &amp;quot;./[Tt]estcases?%f[%L]&amp;quot;)&lt;br /&gt;
		if testcase then&lt;br /&gt;
			-- Order &amp;quot;testcase&amp;quot; and &amp;quot;sandbox&amp;quot; based on where the patterns occur&lt;br /&gt;
			-- in the title.&lt;br /&gt;
			local n = sandbox and sandbox &amp;lt; testcase and 3 or 2&lt;br /&gt;
			insert(subtypes, n, &amp;quot;testcase&amp;quot;)&lt;br /&gt;
		end&lt;br /&gt;
		-- Any template/module documentation pages.&lt;br /&gt;
		if documentation then&lt;br /&gt;
			insert(subtypes, &amp;quot;documentation&amp;quot;)&lt;br /&gt;
		end&lt;br /&gt;
		local final = subtypes[#subtypes]&lt;br /&gt;
		if not (final == main_type and not page_suffix or final == &amp;quot;sandbox&amp;quot;) then&lt;br /&gt;
			insert(subtypes, &amp;quot;page&amp;quot;)&lt;br /&gt;
		end&lt;br /&gt;
		return concat(subtypes, &amp;quot; &amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local function get_snippet_subtypes(title, main_type, documentation)&lt;br /&gt;
		local ns = title.namespace&lt;br /&gt;
		return get_transclusion_subtypes(title, (&lt;br /&gt;
			ns == 2 and &amp;quot;user &amp;quot; or&lt;br /&gt;
			ns == 8 and match(title.text, &amp;quot;^Gadget-.&amp;quot;) and &amp;quot;gadget &amp;quot; or&lt;br /&gt;
			&amp;quot;&amp;quot;&lt;br /&gt;
		) .. main_type, documentation)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	--[==[&lt;br /&gt;
	Returns the page type of `title` in a format which can be used in running text.]==]&lt;br /&gt;
	function export.get_pagetype(title)&lt;br /&gt;
		if not is_internal_title(title) then&lt;br /&gt;
			error(mw.dumpObject(title.fullText) .. &amp;quot; is not a valid page name.&amp;quot;)&lt;br /&gt;
		end&lt;br /&gt;
		-- If possibly a documentation page, get the parent and set the&lt;br /&gt;
		-- `documentation` flag.&lt;br /&gt;
		local content_model, text, documentation = title.contentModel&lt;br /&gt;
		if content_model == &amp;quot;wikitext&amp;quot; then&lt;br /&gt;
			text = title.text&lt;br /&gt;
			if match(text, &amp;quot;./documentation$&amp;quot;) then&lt;br /&gt;
				local parent_title = new_title(sub(title.fullText, 1, -15))&lt;br /&gt;
				if parent_title then&lt;br /&gt;
					title = parent_title&lt;br /&gt;
					content_model, text, documentation = title.contentModel, title.text, true&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		-- Content models have overriding priority, as they can appear in&lt;br /&gt;
		-- nonstandard places due to page content model changes.&lt;br /&gt;
		if content_model == &amp;quot;css&amp;quot; or content_model == &amp;quot;sanitized-css&amp;quot; then&lt;br /&gt;
			return get_snippet_subtypes(title, &amp;quot;stylesheet&amp;quot;, documentation)&lt;br /&gt;
		elseif content_model == &amp;quot;javascript&amp;quot; then&lt;br /&gt;
			return get_snippet_subtypes(title, &amp;quot;script&amp;quot;, documentation)&lt;br /&gt;
		elseif content_model == &amp;quot;json&amp;quot; then&lt;br /&gt;
			return get_snippet_subtypes(title, &amp;quot;JSON data&amp;quot;, documentation)&lt;br /&gt;
		elseif content_model == &amp;quot;MassMessageListContent&amp;quot; then&lt;br /&gt;
			return get_snippet_subtypes(title, &amp;quot;mass message delivery list&amp;quot;, documentation)&lt;br /&gt;
		-- Modules.&lt;br /&gt;
		elseif content_model == &amp;quot;Scribunto&amp;quot; then&lt;br /&gt;
			return get_transclusion_subtypes(title, &amp;quot;module&amp;quot;, documentation, false)&lt;br /&gt;
		elseif content_model == &amp;quot;text&amp;quot; then&lt;br /&gt;
			return &amp;quot;page&amp;quot; -- ???&lt;br /&gt;
		-- Otherwise, the content model is &amp;quot;wikitext&amp;quot;, so check namespaces.&lt;br /&gt;
		elseif title.isTalkPage then&lt;br /&gt;
			return &amp;quot;talk page&amp;quot;&lt;br /&gt;
		end&lt;br /&gt;
		local ns = title.namespace&lt;br /&gt;
		-- Main namespace.&lt;br /&gt;
		if ns == 0 then&lt;br /&gt;
			return &amp;quot;entry&amp;quot;&lt;br /&gt;
		-- Wiktionary:&lt;br /&gt;
		elseif ns == 4 then&lt;br /&gt;
			return find_sandbox(title.text) and &amp;quot;sandbox&amp;quot; or &amp;quot;project page&amp;quot;&lt;br /&gt;
		-- Template:&lt;br /&gt;
		elseif ns == 10 then&lt;br /&gt;
			return get_transclusion_subtypes(title, &amp;quot;template&amp;quot;, documentation, false)&lt;br /&gt;
		end&lt;br /&gt;
		-- Convert the namespace to lowercase, unless it contains a capital&lt;br /&gt;
		-- letter after the initial letter (e.g. MediaWiki, TimedText). Also&lt;br /&gt;
		-- normalize any underscores.&lt;br /&gt;
		local ns_text = gsub(title.nsText, &amp;quot;_&amp;quot;, &amp;quot; &amp;quot;)&lt;br /&gt;
		if ufind(ns_text, &amp;quot;^%U*$&amp;quot;, 2) then&lt;br /&gt;
			ns_text = ulower(ns_text)&lt;br /&gt;
		end&lt;br /&gt;
		-- User:&lt;br /&gt;
		if ns == 2 then&lt;br /&gt;
			return ns_text .. &amp;quot; &amp;quot; .. (title.isSubpage and &amp;quot;subpage&amp;quot; or &amp;quot;page&amp;quot;)&lt;br /&gt;
		-- Category: and Appendix:&lt;br /&gt;
		elseif ns == 14 or ns == 100 then&lt;br /&gt;
			return ns_text&lt;br /&gt;
		-- Thesaurus: and Reconstruction:&lt;br /&gt;
		elseif ns == 110 or ns == 118 then&lt;br /&gt;
			return ns_text .. &amp;quot; entry&amp;quot;&lt;br /&gt;
		end&lt;br /&gt;
		return ns_text .. &amp;quot; page&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	get_pagetype = export.get_pagetype&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[==[&lt;br /&gt;
Returns true if the title object is for a content page, which is a page that is directly part of the dictionary.]==]&lt;br /&gt;
function export.is_content_page(title)&lt;br /&gt;
	if not is_internal_title(title) then&lt;br /&gt;
		error(mw.dumpObject(title.fullText) .. &amp;quot; is not a valid page name.&amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
	local ns = title.namespace&lt;br /&gt;
	-- (main), Appendix, Thesaurus, Citations, Reconstruction.&lt;br /&gt;
	return (ns == 0 or ns == 100 or ns == 110 or ns == 114 or ns == 118) and&lt;br /&gt;
		title.contentModel == &amp;quot;wikitext&amp;quot;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[==[&lt;br /&gt;
Returns true if the title object is for a documentation page, or false if not.]==]&lt;br /&gt;
function export.is_documentation(title)&lt;br /&gt;
	return match(get_pagetype(title), &amp;quot;%f[%w]documentation%f[%W]&amp;quot;) and true or false&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[==[&lt;br /&gt;
Returns true if the title object is for a sandbox, or false if not.&lt;br /&gt;
&lt;br /&gt;
By default, sandbox documentation pages are excluded, but this can be overridden with the `include_documentation` parameter.]==]&lt;br /&gt;
function export.is_sandbox(title, include_documentation)&lt;br /&gt;
	local pagetype = get_pagetype(title)&lt;br /&gt;
	return match(pagetype, &amp;quot;%f[%w]sandbox%f[%W]&amp;quot;) and (&lt;br /&gt;
		include_documentation or&lt;br /&gt;
		not match(pagetype, &amp;quot;%f[%w]documentation%f[%W]&amp;quot;)&lt;br /&gt;
	) and true or false&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[==[&lt;br /&gt;
Returns true if the title object is for a testcase page, or false if not.&lt;br /&gt;
&lt;br /&gt;
By default, testcase documentation pages are excluded, but this can be overridden with the `include_documentation` parameter.]==]&lt;br /&gt;
function export.is_testcase_page(title, include_documentation)&lt;br /&gt;
	local pagetype = get_pagetype(title)&lt;br /&gt;
	return match(pagetype, &amp;quot;%f[%w]testcase%f[%W]&amp;quot;) and (&lt;br /&gt;
		include_documentation or&lt;br /&gt;
		not match(pagetype, &amp;quot;%f[%w]documentation%f[%W]&amp;quot;)&lt;br /&gt;
	) and true or false&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[==[&lt;br /&gt;
Returns the namespace shortcut for a given title object, or else the namespace text. For example, a `Template:` title returns {{lua|&amp;quot;T&amp;quot;}}, a `Module:` title returns {{lua|&amp;quot;MOD&amp;quot;}}, and a `User:` title returns {{lua|&amp;quot;User&amp;quot;}}.]==]&lt;br /&gt;
function export.get_namespace_shortcut(title)&lt;br /&gt;
	return (namespace_shortcuts or get_namespace_shortcuts())[title.namespace] or title.nsText&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
do&lt;br /&gt;
	local function check_level(lvl)&lt;br /&gt;
		if type(lvl) ~= &amp;quot;number&amp;quot; then&lt;br /&gt;
			error(&amp;quot;Heading levels must be numbers.&amp;quot;)&lt;br /&gt;
		elseif lvl &amp;lt; 1 or lvl &amp;gt; 6 or lvl % 1 ~= 0 then&lt;br /&gt;
			error(&amp;quot;Heading levels must be integers between 1 and 6.&amp;quot;)&lt;br /&gt;
		end&lt;br /&gt;
		return lvl&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	--[==[&lt;br /&gt;
	A helper function which iterates over the headings in `text`, which should be the content of a page or (main) section.&lt;br /&gt;
&lt;br /&gt;
	Each iteration returns three values: `sec` (the section title), `lvl` (the section level) and `loc` (the index of the section in the given text, from the first equals sign). The section title will be automatically trimmed, and any HTML entities will be resolved.&lt;br /&gt;
	The optional parameter `a` (which should be an integer between 1 and 6) can be used to ensure that only headings of the specified level are iterated over. If `b` is also given, then they are treated as a range.&lt;br /&gt;
	The optional parameters `a` and `b` can be used to specify a range, so that only headings with levels in that range are returned.]==]&lt;br /&gt;
	local function find_headings(text, a, b)&lt;br /&gt;
		a = a and check_level(a) or nil&lt;br /&gt;
		b = b and check_level(b) or a or nil&lt;br /&gt;
		local start, loc, lvl, sec = 1&lt;br /&gt;
&lt;br /&gt;
		return function()&lt;br /&gt;
			repeat&lt;br /&gt;
				loc, lvl, sec, start = match(text, &amp;quot;()%f[^%z\n](==?=?=?=?=?)([^\n]+)%2[\t ]*%f[%z\n]()&amp;quot;, start)&lt;br /&gt;
				lvl = lvl and #lvl&lt;br /&gt;
			until not (sec and a) or (lvl &amp;gt;= a and lvl &amp;lt;= b)&lt;br /&gt;
			return sec and trim(decode_entities(sec)) or nil, lvl, loc&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local function _get_section(content, name, level)&lt;br /&gt;
		if not (content and name) then&lt;br /&gt;
			return nil&lt;br /&gt;
		elseif find(name, &amp;quot;\n&amp;quot;, 1, true) then&lt;br /&gt;
			error(&amp;quot;Heading name cannot contain a newline.&amp;quot;)&lt;br /&gt;
		end&lt;br /&gt;
		level = level and check_level(level) or nil&lt;br /&gt;
		name = trim(decode_entities(name))&lt;br /&gt;
		local start&lt;br /&gt;
		for sec, lvl, loc in find_headings(content, level and 1 or nil, level) do&lt;br /&gt;
			if start and lvl &amp;lt;= level then&lt;br /&gt;
				return sub(content, start, loc - 1)&lt;br /&gt;
			elseif not start and (not level or lvl == level) and sec == name then&lt;br /&gt;
				start, level = loc, lvl&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		return start and sub(content, start)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	--[==[&lt;br /&gt;
	A helper function to return the content of a page section.&lt;br /&gt;
&lt;br /&gt;
	`content` is raw wikitext, `name` is the requested section, and `level` is an optional parameter that specifies&lt;br /&gt;
	the required section heading level. If `level` is not supplied, then the first section called `name` is returned.&lt;br /&gt;
	`name` can either be a string or table of section names. If a table, each name represents a section that has the&lt;br /&gt;
	next as a subsection. For example, { {&amp;quot;Spanish&amp;quot;, &amp;quot;Noun&amp;quot;}} will return the first matching section called &amp;quot;Noun&amp;quot;&lt;br /&gt;
	under a section called &amp;quot;Spanish&amp;quot;. These do not have to be at adjacent levels (&amp;quot;Noun&amp;quot; might be L4, while &amp;quot;Spanish&amp;quot;&lt;br /&gt;
	is L2). If `level` is given, it refers to the last name in the table (i.e. the name of the section to be returned).&lt;br /&gt;
&lt;br /&gt;
	The returned section includes all of its subsections. If no matching section is found, return {nil}.]==]&lt;br /&gt;
	function export.get_section(content, names, level)&lt;br /&gt;
		if type(names) ~= &amp;quot;table&amp;quot; then&lt;br /&gt;
			return _get_section(content, names, level)&lt;br /&gt;
		end&lt;br /&gt;
		local i = 1&lt;br /&gt;
		local name = names[i]&lt;br /&gt;
		if not name then&lt;br /&gt;
			error(&amp;quot;Must specify at least 1 section.&amp;quot;)&lt;br /&gt;
		end&lt;br /&gt;
		while true do&lt;br /&gt;
			local nxt_i = i + 1&lt;br /&gt;
			local nxt = names[nxt_i]&lt;br /&gt;
			if nxt == nil then&lt;br /&gt;
				return _get_section(content, name, level)&lt;br /&gt;
			end&lt;br /&gt;
			content = _get_section(content, name)&lt;br /&gt;
			if content == nil then&lt;br /&gt;
				return nil&lt;br /&gt;
			elseif i == 6 then&lt;br /&gt;
				error(&amp;quot;Not possible specify more than 6 sections: headings only go up to level 6.&amp;quot;)&lt;br /&gt;
			end&lt;br /&gt;
			i = nxt_i&lt;br /&gt;
			name = names[i]&lt;br /&gt;
		end&lt;br /&gt;
		return content&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
do&lt;br /&gt;
	local current_section&lt;br /&gt;
	&lt;br /&gt;
	--[==[&lt;br /&gt;
	A function which returns the number of the page section which contains the current {#invoke}.]==]&lt;br /&gt;
	function export.get_current_section()&lt;br /&gt;
		if current_section then&lt;br /&gt;
			return current_section&lt;br /&gt;
		end&lt;br /&gt;
		local frame = mw.getCurrentFrame()&lt;br /&gt;
		local extension_tag = frame.extensionTag&lt;br /&gt;
		-- We determine the section via the heading strip marker count, since they&amp;#039;re numbered sequentially, but the only way to do this is to generate a fake heading via frame:preprocess(). The native parser assigns each heading a unique marker, but frame:preprocess() will return copies of older markers if the heading is identical to one further up the page, so the fake heading has to be unique to the page. The best way to do this is to feed it a heading containing a nowiki marker (which we will need later), since those are always unique.&lt;br /&gt;
		local nowiki_marker = extension_tag(frame, &amp;quot;nowiki&amp;quot;)&lt;br /&gt;
		-- Note: heading strip markers have a different syntax to the ones used for tags.&lt;br /&gt;
		local h = tonumber(match(&lt;br /&gt;
			frame:preprocess(&amp;quot;=&amp;quot; .. nowiki_marker .. &amp;quot;=&amp;quot;),&lt;br /&gt;
			&amp;quot;\127&amp;#039;\&amp;quot;`UNIQ%-%-h%-(%d+)%-%-QINU`\&amp;quot;&amp;#039;\127&amp;quot;&lt;br /&gt;
		))&lt;br /&gt;
		-- For some reason, [[Special:ExpandTemplates]] doesn&amp;#039;t generate a heading strip marker, so if that happens we simply abort early.&lt;br /&gt;
		if not h then&lt;br /&gt;
			return 0&lt;br /&gt;
		end&lt;br /&gt;
		-- The only way to get the section number is to increment the heading count, so we store the offset in nowiki strip markers which can be retrieved by procedurally unstripping nowiki markers, counting backwards until we find a match.&lt;br /&gt;
		local n, offset = tonumber(match(&lt;br /&gt;
			nowiki_marker,&lt;br /&gt;
			&amp;quot;\127&amp;#039;\&amp;quot;`UNIQ%-%-nowiki%-([%dA-F]+)%-QINU`\&amp;quot;&amp;#039;\127&amp;quot;&lt;br /&gt;
		), 16)&lt;br /&gt;
		while not offset and n &amp;gt; 0 do&lt;br /&gt;
			n = n - 1&lt;br /&gt;
			offset = match(&lt;br /&gt;
				unstrip_nowiki(format(&amp;quot;\127&amp;#039;\&amp;quot;`UNIQ--nowiki-%08X-QINU`\&amp;quot;&amp;#039;\127&amp;quot;, n)),&lt;br /&gt;
				&amp;quot;^HEADING\1(%d+)&amp;quot; -- Prefix &amp;quot;HEADING\1&amp;quot; prevents collisions.&lt;br /&gt;
			)&lt;br /&gt;
		end&lt;br /&gt;
		offset = offset and (offset + 1) or 0&lt;br /&gt;
		extension_tag(frame, &amp;quot;nowiki&amp;quot;, &amp;quot;HEADING\1&amp;quot; .. offset)&lt;br /&gt;
		current_section = h - offset&lt;br /&gt;
		return current_section&lt;br /&gt;
	end&lt;br /&gt;
	get_current_section = export.get_current_section&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
do&lt;br /&gt;
	local L2_sections&lt;br /&gt;
	&lt;br /&gt;
	local function get_L2_sections()&lt;br /&gt;
		L2_sections, get_L2_sections = mw.loadData(&amp;quot;Module:headword/data&amp;quot;).page.L2_sections, nil&lt;br /&gt;
		return L2_sections&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	--[==[&lt;br /&gt;
	A function which returns the name of the L2 language section which contains the current {#invoke}.]==]&lt;br /&gt;
	function export.get_current_L2()&lt;br /&gt;
		local section = get_current_section()&lt;br /&gt;
		if section == 0 then&lt;br /&gt;
			return&lt;br /&gt;
		end&lt;br /&gt;
		while section &amp;gt; 0 do&lt;br /&gt;
			local L2 = (L2_sections or get_L2_sections())[section]&lt;br /&gt;
			if L2 then&lt;br /&gt;
				return L2&lt;br /&gt;
			end&lt;br /&gt;
			section = section - 1&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return export&lt;/div&gt;</summary>
		<author><name>Sware</name></author>
	</entry>
</feed>