<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://maruneko.autumns.page/mediawiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Marie</id>
	<title>Project: Jotunnheim - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://maruneko.autumns.page/mediawiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Marie"/>
	<link rel="alternate" type="text/html" href="https://maruneko.autumns.page/mediawiki/index.php/Special:Contributions/Marie"/>
	<updated>2026-04-21T11:14:44Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.41.0</generator>
	<entry>
		<id>https://maruneko.autumns.page/mediawiki/index.php?title=Gintem_Migration_Period&amp;diff=8702</id>
		<title>Gintem Migration Period</title>
		<link rel="alternate" type="text/html" href="https://maruneko.autumns.page/mediawiki/index.php?title=Gintem_Migration_Period&amp;diff=8702"/>
		<updated>2026-04-18T18:51:09Z</updated>

		<summary type="html">&lt;p&gt;Marie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox&lt;br /&gt;
| above    = Invasions of the Doccábhan Empire&lt;br /&gt;
| image    = &lt;br /&gt;
| caption  =&lt;br /&gt;
| header1  =&lt;br /&gt;
| label1   = &lt;br /&gt;
| data1    =&lt;br /&gt;
| header2  =&lt;br /&gt;
| label2   = Time&lt;br /&gt;
| data2    = {{circa| 2600 CY}} or later&lt;br /&gt;
| header3  =&lt;br /&gt;
| label3   = Place&lt;br /&gt;
| data3    = Northeast [[Yazland]], modern day [[TSC]]&lt;br /&gt;
| header4  =&lt;br /&gt;
| label4   = Event&lt;br /&gt;
| data4    = Various Gintem tribes settling or invading the territories of the [[Doccábh people|Doccábhan Empire]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The '''Gintem Migration Period''' or the '''Gintem Invasion''' was a period of history in which the various Gintem peoples settled in the territories of the [[Doccábh people|Doccábhan Empire]]. After being forced out of their homeland by the (insert Samatkhaoul polity) in the 2600s CY, the Gintem peoples were forced to settle in the lands north of them, and primarily began to find themselves in the territories of the then declining Doccábhan Empire. The tensions between the settlers and the native Doccábh people lead to violence and calls for the removal of Gintem peoples, causing the Doccábh-Gintem Wars, and lead to irreconcilable relations between the two groups. As various Gintem warlords began to violently carve out guaranteed spaces for their peoples, the Doccábhan Empire would collapse under the weight of this foreign pressure, as well as from internal rebellions, and crushing economic downturn.&lt;br /&gt;
&lt;br /&gt;
==Chronology==&lt;br /&gt;
===Leadup===&lt;br /&gt;
The Gintem peoples had been living in Southeast Yazland for some time, unmoved since the original Yasgan migrations. Most remained organized in tribal societies centered mainly around the humid X River. In the 2600s CY, various Ineislunnic groups began to migrate along the coast of the [[Narrow Sea]], leading to eventual conflict with the Gintem groups living there. Many Gintem peoples ended up abandoning their original homeland because of these conflicts, leading to a mass migration of peoples north into more temperate territories. By the 3000s, the various Gintem peoples had begun arriving on the doorstep of the Doccábhan Empire.&lt;br /&gt;
While relations were cordial at first, many Doccábhans began to resent the presence of the foreign settlers, and called for action against the perceived threat.&lt;br /&gt;
&lt;br /&gt;
===Doccábh-Gintem Wars===&lt;br /&gt;
They probably fought a bunch of wars.&lt;br /&gt;
&lt;br /&gt;
===Fall of the Doccábhan Empire===&lt;br /&gt;
In the 3350s CY, the Doccábhan Empire died of cringe.&lt;br /&gt;
&lt;br /&gt;
==Legacy==&lt;br /&gt;
X&lt;br /&gt;
&lt;br /&gt;
[[Category:Gintem Confederation]][[Category:Küüztschüüsches]][[Category:Tschintiessteiss]]&lt;/div&gt;</summary>
		<author><name>Marie</name></author>
	</entry>
	<entry>
		<id>https://maruneko.autumns.page/mediawiki/index.php?title=Churyko&amp;diff=8683</id>
		<title>Churyko</title>
		<link rel="alternate" type="text/html" href="https://maruneko.autumns.page/mediawiki/index.php?title=Churyko&amp;diff=8683"/>
		<updated>2026-04-17T15:29:47Z</updated>

		<summary type="html">&lt;p&gt;Marie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox continent&lt;br /&gt;
|title               = Churyko&lt;br /&gt;
|image               = Churyko locator.png&lt;br /&gt;
|area                = {{convert|4206980085|km2|sqmi|abbr=on}}&lt;br /&gt;
|population          = X&lt;br /&gt;
|density             = {{convert|420|/km2|/sqmi|abbr=on}}&lt;br /&gt;
|GDP_PPP             =&lt;br /&gt;
|GDP_nominal         =  &lt;br /&gt;
|GDP_per_capita      = &lt;br /&gt;
|HDI                 = &lt;br /&gt;
|ethnic_groups       = &lt;br /&gt;
|religions           = &lt;br /&gt;
|demonym             = Churyk&lt;br /&gt;
|countries           = {{Collapsible list&lt;br /&gt;
   | title = 6 countries&lt;br /&gt;
   | list_style  = text-align:left;&lt;br /&gt;
   | 1 = {{flag|Five Isles}} | 2 = {{flag|Hiethcee}} | 3 = [[Renowned Tawarsch]] | 4 = [[Renowned Turss]] | 5 = {{flag|Rirshei}} | 6 = {{flag|Samatkhaoul}}&lt;br /&gt;
 }}&lt;br /&gt;
|list_countries      = &lt;br /&gt;
|dependencies        = &lt;br /&gt;
|unrecognized        = &lt;br /&gt;
|languages           = Various&lt;br /&gt;
|time                = &lt;br /&gt;
|cities              = &lt;br /&gt;
|footnotes           = &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Churyko''' is a subcontinent of [[Yazland]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Subcontinents]][[Category:Yazland]]&lt;/div&gt;</summary>
		<author><name>Marie</name></author>
	</entry>
	<entry>
		<id>https://maruneko.autumns.page/mediawiki/index.php?title=Fuggic_Etzavaz&amp;diff=8606</id>
		<title>Fuggic Etzavaz</title>
		<link rel="alternate" type="text/html" href="https://maruneko.autumns.page/mediawiki/index.php?title=Fuggic_Etzavaz&amp;diff=8606"/>
		<updated>2026-03-19T09:30:13Z</updated>

		<summary type="html">&lt;p&gt;Marie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox country&lt;br /&gt;
|conventional_long_name = Republic of Etzavaz&lt;br /&gt;
|native_name = {{cs|fug|viuntinteitin scourguuin}}&lt;br /&gt;
|common_name = Fuggic Etzavaz&lt;br /&gt;
|image_flag = FuggicEtzavazFlag.png&lt;br /&gt;
|alt_flag =&lt;br /&gt;
|image_flag2 = &lt;br /&gt;
|alt_flag2 = &lt;br /&gt;
|image_coat = &lt;br /&gt;
|alt_coat =           &lt;br /&gt;
|national_motto = &lt;br /&gt;
|national_anthem =&lt;br /&gt;
|royal_anthem =       &lt;br /&gt;
|other_symbol_type =  &lt;br /&gt;
|other_symbol =&lt;br /&gt;
|image_map =&lt;br /&gt;
|alt_map =            &lt;br /&gt;
|map_caption =&lt;br /&gt;
|image_map2 =         &lt;br /&gt;
|alt_map2 =           &lt;br /&gt;
|map_caption2 =       &lt;br /&gt;
|capital = ?&lt;br /&gt;
|latd= | latm= | latNS= |longd= |longm= |longEW= &lt;br /&gt;
|largest_city = &lt;br /&gt;
|largest_settlement_type = &lt;br /&gt;
|largest_settlement = &lt;br /&gt;
|official_languages = [[Etzavazi Fuggic language|Etzavazi Fuggic]]&lt;br /&gt;
|national_languages = &lt;br /&gt;
|regional_languages = &lt;br /&gt;
|languages_type =     &lt;br /&gt;
|languages =          &lt;br /&gt;
|languages_sub =      &lt;br /&gt;
|languages2_type =    &lt;br /&gt;
|languages2 =         &lt;br /&gt;
|languages2_sub =     &lt;br /&gt;
|religion = &lt;br /&gt;
|ethnic_groups =      &lt;br /&gt;
|ethnic_groups_year = &lt;br /&gt;
|demonym = Etzavazi Fuggic&lt;br /&gt;
|government_type = &lt;br /&gt;
|leader_title1 = &lt;br /&gt;
|leader_name1 = &lt;br /&gt;
|leader_title2 = &lt;br /&gt;
|leader_name2 = &lt;br /&gt;
|leader_title3 = &lt;br /&gt;
|leader_name3 = &lt;br /&gt;
|legislature = &lt;br /&gt;
|upper_house = &lt;br /&gt;
|lower_house = &lt;br /&gt;
|sovereignty_type =   &lt;br /&gt;
|sovereignty_note = &lt;br /&gt;
|established_event1 = &lt;br /&gt;
|established_date1 =  &lt;br /&gt;
|established_event2 = &lt;br /&gt;
|established_date2 =  &lt;br /&gt;
&amp;lt;!--......--&amp;gt;&lt;br /&gt;
|established_event9 = &lt;br /&gt;
|established_date9 =&lt;br /&gt;
|area_rank = &lt;br /&gt;
|area_magnitude = &lt;br /&gt;
|area =               &lt;br /&gt;
|area_km2 = &lt;br /&gt;
|area_sq_mi =         &lt;br /&gt;
|area_footnote =      &lt;br /&gt;
|percent_water = &lt;br /&gt;
|area_label = &lt;br /&gt;
|area_label2 =        &lt;br /&gt;
|area_data2 =         &lt;br /&gt;
|population_estimate = &lt;br /&gt;
|population_estimate_rank = &lt;br /&gt;
|population_estimate_year = &lt;br /&gt;
|population_census = &lt;br /&gt;
|population_census_year = &lt;br /&gt;
|population_density_km2 = &lt;br /&gt;
|population_density_sq_mi = &lt;br /&gt;
|population_density_rank = &lt;br /&gt;
|GDP_PPP =                     &lt;br /&gt;
|GDP_PPP_rank = &lt;br /&gt;
|GDP_PPP_year = &lt;br /&gt;
|GDP_PPP_per_capita = &lt;br /&gt;
|GDP_PPP_per_capita_rank = &lt;br /&gt;
|GDP_nominal = &lt;br /&gt;
|GDP_nominal_rank = &lt;br /&gt;
|GDP_nominal_year = &lt;br /&gt;
|GDP_nominal_per_capita = &lt;br /&gt;
|GDP_nominal_per_capita_rank = &lt;br /&gt;
|Gini =                        &lt;br /&gt;
|Gini_ref =                    &lt;br /&gt;
|Gini_rank = &lt;br /&gt;
|Gini_year = &lt;br /&gt;
|HDI =                         &lt;br /&gt;
|HDI_ref =                     &lt;br /&gt;
|HDI_rank = &lt;br /&gt;
|HDI_year = &lt;br /&gt;
|currency =          &lt;br /&gt;
|currency_code =      &lt;br /&gt;
|time_zone =          &lt;br /&gt;
|utc_offset =         &lt;br /&gt;
|time_zone_DST =      &lt;br /&gt;
|utc_offset_DST =     &lt;br /&gt;
|DST_note =           &lt;br /&gt;
|antipodes =          &lt;br /&gt;
|date_format =        &lt;br /&gt;
|drives_on =          &lt;br /&gt;
|cctld =              &lt;br /&gt;
|iso3166code =        &lt;br /&gt;
|calling_code =       &lt;br /&gt;
|image_map3 =         &lt;br /&gt;
|alt_map3 =           &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Fuggic Etzavaz''', officially known as the '''Etzavazi Republic''' ([[Etzavazi Fuggic language|Etzavazi Fuggic]]: ''Viuntinteitin Scourygin''), is a country in southeastern [[Etzavaz]].&lt;br /&gt;
&lt;br /&gt;
==Etymology==&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
===Pre-Fuggic history===&lt;br /&gt;
&lt;br /&gt;
===Fuggic colonization===&lt;br /&gt;
&lt;br /&gt;
===Two kingdoms period===&lt;br /&gt;
&lt;br /&gt;
===Nixigic dynasty===&lt;br /&gt;
&lt;br /&gt;
===Nixigic overthrow and the Looting===&lt;br /&gt;
{{main|Looting of the Nixigic dynasty}}&lt;br /&gt;
With the continued economic devastation that came from the [[Two Scores' War]], the Fuggic population of Etzavaz would become fed up of the infinite conflict. Both peasants and nobles alike would rise against the Nixigic dynasty, with the last Nixigic King of Etzavaz being overthrown in X CY. Following his overthrow, Fuggic colonies in Etzavaz would erupt into chaos, looting, and civil war, where various factions of the former Nixigic dynasty would loot and slaughter with impunity. Despite the chaos, the Giriyic dynasty was ultimately unable to reclaim control due to its current war with the Teremish lords. Something something something xyz&lt;br /&gt;
&lt;br /&gt;
===Etzavazi Noble Republic===&lt;br /&gt;
In X CY, following a winding down of chaos from the Looting of the Nixigic dynasty, X and many of the other Fuggic costal cities would be brought under the rule of the [[Etzavazi Noble Republic]]. XYZ&lt;br /&gt;
&lt;br /&gt;
[[Category:Countries]]&lt;/div&gt;</summary>
		<author><name>Marie</name></author>
	</entry>
	<entry>
		<id>https://maruneko.autumns.page/mediawiki/index.php?title=Fugireu&amp;diff=8605</id>
		<title>Fugireu</title>
		<link rel="alternate" type="text/html" href="https://maruneko.autumns.page/mediawiki/index.php?title=Fugireu&amp;diff=8605"/>
		<updated>2026-03-19T08:52:06Z</updated>

		<summary type="html">&lt;p&gt;Marie: /* Giriyic dynasty 2636 CY – 2773 CY */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox country&lt;br /&gt;
|conventional_long_name = Kingdom of Fugireu &amp;lt;!--Formal or official full name of the country in English--&amp;gt;&lt;br /&gt;
|native_name = ''Wių́tįrą́s Fugįreuh''&amp;lt;br&amp;gt;{{cs|fug|wui´`ti`ra´`s fugi`reih}} &amp;lt;!--Country's name (usually full name) in its native language, hence in italics (double quotemarks)--&amp;gt;&lt;br /&gt;
|common_name = Fugireu &amp;lt;!--Common name in English (used for wikilinks and to produce a default iso3166 code)--&amp;gt;&lt;br /&gt;
|image_flag = Flag-Fugireu.png &amp;lt;!--e.g. Flag of country.svg--&amp;gt;&lt;br /&gt;
|alt_flag =           &amp;lt;!--alt text for flag (text shown when pointer hovers over flag)--&amp;gt;&lt;br /&gt;
|image_flag2 =        &amp;lt;!--e.g. Second-flag of country.svg--&amp;gt;&lt;br /&gt;
|alt_flag2 =          &amp;lt;!--alt text for second flag--&amp;gt;&lt;br /&gt;
|image_coat =  &amp;lt;!--e.g. Coat of arms of country.svg--&amp;gt;&lt;br /&gt;
|alt_coat =           &amp;lt;!--alt text for coat of arms--&amp;gt;&lt;br /&gt;
|symbol_type =        &amp;lt;!--emblem, seal, etc (if not a coat of arms)--&amp;gt;&lt;br /&gt;
|national_motto =  &amp;lt;!--in inverted commas and wikilinked if link exists--&amp;gt;&lt;br /&gt;
|national_anthem =    &amp;lt;!--in italics (double quotemarks) and wikilinked if link exists--&amp;gt;&lt;br /&gt;
|royal_anthem =       &amp;lt;!--in italics (double quotemarks) and wikilinked if link exists--&amp;gt;&lt;br /&gt;
|other_symbol_type =  &amp;lt;!--Use if a further symbol exists, e.g. hymn--&amp;gt;&lt;br /&gt;
|other_symbol =&lt;br /&gt;
|image_map =  &amp;lt;!--e.g. LocationCountry.svg--&amp;gt;&lt;br /&gt;
|alt_map =            &amp;lt;!--alt text for map--&amp;gt;&lt;br /&gt;
|map_caption =  &amp;lt;!--Caption to place below map--&amp;gt;&lt;br /&gt;
|image_map2 =         &amp;lt;!--Another map, if required--&amp;gt;&lt;br /&gt;
|alt_map2 =           &amp;lt;!--alt text for second map--&amp;gt;&lt;br /&gt;
|map_caption2 =       &amp;lt;!--Caption to place below second map--&amp;gt;&lt;br /&gt;
|capital = [[Zaxeebi]] &amp;lt;!--Name of country/territory's capital, wikilinked if link exists--&amp;gt;&lt;br /&gt;
|latd= | latm= | latNS= |longd= |longm= |longEW= &amp;lt;!--capital's latitude and longitude in degrees/minutes/direction--&amp;gt;&lt;br /&gt;
|largest_city =       &amp;lt;!--Name of country/territory's largest city. Use &amp;quot;capital&amp;quot; (without quotemarks) if it's the capital.--&amp;gt;&lt;br /&gt;
|largest_settlement_type = &amp;lt;!--Type of settlement if largest settlement not a city--&amp;gt;&lt;br /&gt;
|largest_settlement = &amp;lt;!--Name of largest settlement--&amp;gt;&lt;br /&gt;
|official_languages = [[Fuggic language|Fuggic]] &amp;lt;!--Languages recognised in legislation, constitution, etc--&amp;gt;&lt;br /&gt;
|national_languages = &amp;lt;!--Country/territory-wide languages recognised but not necessarily in country/territory-wide law, etc--&amp;gt;&lt;br /&gt;
|regional_languages = &amp;lt;!--Languages recognised or associated with particular regions within the country/territory--&amp;gt;&lt;br /&gt;
|languages_type =     &amp;lt;!--Use to specify a further type of language, if not official, national or regional--&amp;gt;&lt;br /&gt;
|languages =          &amp;lt;!--Languages of the further type--&amp;gt;&lt;br /&gt;
|languages_sub =      &amp;lt;!--Is this further type of language a sub-item of the previous non-sub type? (&amp;quot;yes&amp;quot; or &amp;quot;no&amp;quot;)--&amp;gt;&lt;br /&gt;
|languages2_type =    &amp;lt;!--Another further type of language--&amp;gt;&lt;br /&gt;
|languages2 =         &amp;lt;!--Languages of this second further type--&amp;gt;&lt;br /&gt;
|languages2_sub =     &amp;lt;!--Is the second alternative type of languages a sub-item of the previous non-sub type? (&amp;quot;yes&amp;quot; or &amp;quot;no&amp;quot;)--&amp;gt;&lt;br /&gt;
|ethnic_groups =      &amp;lt;!--List/breakdown of ethnic groups within the country/territory--&amp;gt;&lt;br /&gt;
|ethnic_groups_year = &amp;lt;!--Year of ethnic groups data (if provided) or use to place a &amp;lt;ref&amp;gt;--&amp;gt;&lt;br /&gt;
|demonym = [[Fuggic people|Fuggic]] &amp;lt;!--Term/s describing those associated with the country/territory (e.g. &amp;quot;Belgian&amp;quot; for the country Belgium)--&amp;gt;&lt;br /&gt;
|government_type = Unitary parliamentary constitutional monarchy &amp;lt;!--(often a compound multi-wikilinked term, e.g. &amp;quot;Federal semi-presidential constitutional republic&amp;quot;, etc)--&amp;gt;&lt;br /&gt;
|leader_title1 = King &amp;lt;!--(for a country, usually the head of state's (wikilinked) title, e.g. &amp;quot;President&amp;quot;, &amp;quot;Monarch&amp;quot;)--&amp;gt;&lt;br /&gt;
|leader_name1 = [[Ozór III]]&lt;br /&gt;
|leader_title2 = Regulator &amp;lt;!--(could be &amp;quot;Vice President&amp;quot;, otherwise &amp;quot;Prime Minster&amp;quot;, etc, etc)--&amp;gt;&lt;br /&gt;
|leader_name2 = [[Seérih Hríbór]]&lt;br /&gt;
&amp;lt;!--......--&amp;gt;&lt;br /&gt;
|leader_title6 =      &amp;lt;!--(up to six distinct leaders may be included)--&amp;gt;&lt;br /&gt;
|leader_name6 = &lt;br /&gt;
|legislature = Grand Beyhaight &amp;lt;!--Name of the country/territory's governing body, e.g. &amp;quot;Parliament&amp;quot;, &amp;quot;Congress&amp;quot;, etc--&amp;gt;&lt;br /&gt;
|upper_house = Noble Beyhaight &amp;lt;!--Name of governing body's upper house, if given (e.g. &amp;quot;Senate&amp;quot;)--&amp;gt;&lt;br /&gt;
|lower_house = Common Beyhaight &amp;lt;!--Name of governing body's lower house, if given (e.g. &amp;quot;Chamber of Deputies&amp;quot;)--&amp;gt;&lt;br /&gt;
|sovereignty_type =   &amp;lt;!--Brief description of country/territory's status (&amp;quot;Independence [from...]&amp;quot;, &amp;quot;Autonomous province [of...]&amp;quot;, etc)--&amp;gt;&lt;br /&gt;
|sovereignty_note = &lt;br /&gt;
|established_event1 = &amp;lt;!--First key event in history of country/territory's status or formation--&amp;gt;&lt;br /&gt;
|established_date1 =  &amp;lt;!--Date of first key event--&amp;gt;&lt;br /&gt;
|established_event2 = &amp;lt;!--Second key event--&amp;gt;&lt;br /&gt;
|established_date2 =  &amp;lt;!--Date of second key event--&amp;gt;&lt;br /&gt;
&amp;lt;!--......--&amp;gt;&lt;br /&gt;
|established_event9 = &amp;lt;!--(up to nine distinct events may be included)--&amp;gt;&lt;br /&gt;
|established_date9 =&lt;br /&gt;
|area_rank = &lt;br /&gt;
|area_magnitude = &lt;br /&gt;
|area =               &amp;lt;!--Major area size (in [[Template:convert]] either km2 or sqmi first)--&amp;gt;&lt;br /&gt;
|area_km2 =  &amp;lt;!--Major area size (in square km)--&amp;gt;&lt;br /&gt;
|area_sq_mi =         &amp;lt;!--Area in square mi (requires area_km2)--&amp;gt;&lt;br /&gt;
|area_footnote =      &amp;lt;!--Optional footnote for area--&amp;gt;&lt;br /&gt;
|percent_water = &lt;br /&gt;
|area_label =         &amp;lt;!--Label under &amp;quot;Area&amp;quot; (default is &amp;quot;Total&amp;quot;)--&amp;gt;&lt;br /&gt;
|area_label2 =        &amp;lt;!--Label below area_label (optional)--&amp;gt;&lt;br /&gt;
|area_data2 =         &amp;lt;!--Text after area_label2 (optional)--&amp;gt;&lt;br /&gt;
|population_estimate = &lt;br /&gt;
|population_estimate_rank = &lt;br /&gt;
|population_estimate_year = &lt;br /&gt;
|population_census = &lt;br /&gt;
|population_census_year = &lt;br /&gt;
|population_density_km2 = &lt;br /&gt;
|population_density_sq_mi = &lt;br /&gt;
|population_density_rank = &lt;br /&gt;
|GDP_PPP =                     &amp;lt;!--(Gross Domestic Product from Purchasing Power Parity)--&amp;gt;&lt;br /&gt;
|GDP_PPP_rank = &lt;br /&gt;
|GDP_PPP_year = &lt;br /&gt;
|GDP_PPP_per_capita = &lt;br /&gt;
|GDP_PPP_per_capita_rank = &lt;br /&gt;
|GDP_nominal = &lt;br /&gt;
|GDP_nominal_rank = &lt;br /&gt;
|GDP_nominal_year = &lt;br /&gt;
|GDP_nominal_per_capita = &lt;br /&gt;
|GDP_nominal_per_capita_rank = &lt;br /&gt;
|Gini =                        &amp;lt;!--(Gini measure of income inequality; input number only; valid values are between 0 and 100)--&amp;gt;&lt;br /&gt;
|Gini_ref =                    &amp;lt;!--(for any ref/s to associate with Gini number)--&amp;gt;&lt;br /&gt;
|Gini_rank = &lt;br /&gt;
|Gini_year = &lt;br /&gt;
|HDI =                         &amp;lt;!--(Human Development Index; input number only; valid values are between 0 and 1)--&amp;gt;&lt;br /&gt;
|HDI_ref =                     &amp;lt;!--(for any ref/s to associate with HDI number)--&amp;gt;&lt;br /&gt;
|HDI_rank = &lt;br /&gt;
|HDI_year = &lt;br /&gt;
|currency =           &amp;lt;!--Name/s of currency/ies used in country/territory--&amp;gt;&lt;br /&gt;
|currency_code =      &amp;lt;!--ISO 4217 code/s for currency/ies (each usually three capital letters)--&amp;gt;&lt;br /&gt;
|time_zone =          &amp;lt;!--e.g. GMT, PST, AST, etc, etc (wikilinked if possible)--&amp;gt;&lt;br /&gt;
|utc_offset =         &amp;lt;!--in the form &amp;quot;+N&amp;quot;, where N is number of hours offset--&amp;gt;&lt;br /&gt;
|time_zone_DST =      &amp;lt;!--Link to DST (Daylight Saving Time) used, otherwise &amp;quot;not observed&amp;quot;--&amp;gt;&lt;br /&gt;
|utc_offset_DST =     &amp;lt;!--in the form &amp;quot;+N&amp;quot;, where N is number of hours offset--&amp;gt;&lt;br /&gt;
|DST_note =           &amp;lt;!--Optional note regarding DST use--&amp;gt;&lt;br /&gt;
|antipodes =          &amp;lt;!--Place/s exactly on the opposite side of the world to country/territory--&amp;gt;&lt;br /&gt;
|date_format =        &amp;lt;!--numeric dates (dd-mm-yyyy, yyyy.mm.dd, etc) plus era (CE, AD, AH, etc)--&amp;gt;&lt;br /&gt;
|drives_on =          &amp;lt;!--&amp;quot;right&amp;quot; or &amp;quot;left&amp;quot; (side of road)--&amp;gt;&lt;br /&gt;
|cctld =              &amp;lt;!--Internet country code top-level domain identifier (e.g. [[.br]], [[.de]], etc)&lt;br /&gt;
|iso3166code =        &amp;lt;!--Use to override default from common_name parameter above; omit using &amp;quot;omit&amp;quot;.--&amp;gt;&lt;br /&gt;
|calling_code =       &amp;lt;!--e.g. [[+1]], [[+531]], [[+44]], etc--&amp;gt;&lt;br /&gt;
|image_map3 =         &amp;lt;!--Optional third map position, e.g. for use with reference to footnotes below it--&amp;gt;&lt;br /&gt;
|alt_map3 =           &amp;lt;!--alt text for third map position--&amp;gt;&lt;br /&gt;
|footnote_a =         &amp;lt;!--For any footnote &amp;lt;sup&amp;gt;a&amp;lt;/sup&amp;gt; used above--&amp;gt;&lt;br /&gt;
|footnote_b =         &amp;lt;!--For any footnote &amp;lt;sup&amp;gt;b&amp;lt;/sup&amp;gt; used above--&amp;gt;&lt;br /&gt;
&amp;lt;!--......--&amp;gt;&lt;br /&gt;
|footnote_h =         &amp;lt;!--For any footnote &amp;lt;sup&amp;gt;h&amp;lt;/sup&amp;gt; used above--&amp;gt;&lt;br /&gt;
|footnotes =          &amp;lt;!--For any generic non-numbered footnotes--&amp;gt;&lt;br /&gt;
|patron_saint = &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Fugireu (/ˈfu:gɪɹoʊ/; [[Fuggic language|Fuggic]]: {{cs|fug|wui´`ti`ra´`s fugi`reih}} Wių́tįrą́s Fugįreuh) is a country located in Northwest Yazland bordering [[Hepetha]] and [[Teremres]].&lt;br /&gt;
&lt;br /&gt;
==Etymology==&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
===Yasgan migrations===&lt;br /&gt;
&lt;br /&gt;
===Osturic dynasty, 1521 CY – 2013 CY===&lt;br /&gt;
[[File:Osturic dynasty.png|thumb|left|The Osturic dynasty circa 1970 CY]]&lt;br /&gt;
The 16th century CY would see the rise of the first Fuggic state under the rule of the [[Osturic dynasty]]. The Osturic dynasty would rise under the rule of King [[Ostų́r the Builder|Fezorstóroh Ostų́r]] and would establish itself as the first organized kingdom in the area. Ostur would see the conquest of numerous Pre-Yasgan groups in Northern Fugireu, and would establish the traditional capital of [[Zaxeebi]]. The Osturic dynasty would become a vital trade connection between Etzavaz and Yazland in the [[Triangle Sea trade]], becoming vital trade partners of the Dhimze. The Osturic dynasty would see its last ruler with King [[Beugeeturuh Seéri]], who would lose the Battle of X in 2013 CY, and would see the country conquered by the [[Khozathian Empire]].&lt;br /&gt;
&lt;br /&gt;
===Khozathian rule===&lt;br /&gt;
&lt;br /&gt;
===Safiuric dynasty, 2117 CY – 2631 CY===&lt;br /&gt;
[[File:Safiuric dynasty.png|thumb|right|The Safiuric dynasty circa ? CY]]&lt;br /&gt;
Following the success of [[Safiur’s Rebellion]], the Kingdom of Fugireu would be reestablished under [[Sáfiur the Great|Baséturuh Sáfiur]]. The Safiuric dynasty would become a powerful military force in West Yazland, conquering much of the X peninsula and expanding into modern day Hepetha. The Safiuric dynasty would come into conflict with the native pre-Yasgan peoples of Hepetha, and would end up nearly eradicating them following the brutal X war. The Safiuric dynasty would also begin the process of Fuggic colonization along the southeastern coast of [[Etzavaz]], frequently coming into conflict with the native Etzavazi peoples and establishing trade cities along the coast.&lt;br /&gt;
&lt;br /&gt;
===Two kingdoms period===&lt;br /&gt;
[[File:Two Kingdoms Period.png|thumb|left|The initial division between Fugireu and Hepetha in 2631 CY]]&lt;br /&gt;
Following the death of King [[King Ką́zoma|Euyezęh Ką́zoma]], the Safiuric dynasty would be split into two kingdoms. Ką́zoma intended this as a compromise between his two sons, and hoped it would prevent a future civil war over the kingdom. [[Gęleyu the Immortal|Ką́zomah Gį́ríyo]] would become king of [[Kingdom of Hepetha|Hepetha]] while [[Nixigį́ I|Ką́zomah Nixigį́]] would continue to rule in Fugireu, becoming the [[Nixigic dynasty]]. In addition, Fuggic control over the various Etzavazi colonies would begin to wane, as various colonial settlements began to make their own independent decisions outside the monarchy's influence. The peace Ką́zoma had hoped to create would not last, as the two brothers, having grown separated over the years, came to blows multiple times over the independence of Hepetha. The Two Kingdoms period would end following the death of Nixigį́ I in battle against Gį́ríyo, after which the independence of Hepetha would be secured, and Gį́ríyo would abdicate in favor of his heir.&lt;br /&gt;
&lt;br /&gt;
===Giriyic dynasty 2636 CY – 2773 CY===&lt;br /&gt;
Gį́ríyoh Dézeér would succeed Gį́ríyo as king of a largely united Fuggic mainland, however, remnants of the Nixigic dynasty would persist in Fuggic settlements across southern Etzavaz. Takuruh Zį́dǫ́, one of Nixigį́’s most trusted advisors, would be posthumously adopted by the dead king, continuing the Nixigic dynasty. The continued existence of the Nixigic dynasty would lead to a long series of on and off wars between the Giriyic dynasty and the Nixigic dynasty, known as the [[Two Scores' War]]. Primarily fought over sea, the conflict would be one of the longest in Fuggic history, coming to a close following the overthrow of the Nixigic dynasty by the local Fuggic lords in Etzavaz. The following [[War of the Nixigic Royalty|civil war]] in lands formerly belonging to the Nixigic dynasty would be long-lasting, and the nobility of mainland Fugireu would not regain control of it until X. The Giriyic dynasty would end with the death of the young king X, who died in battle against the Teremish lords to the east, sending the kingdom into a brief chaos.&lt;br /&gt;
&lt;br /&gt;
===Wonuric dynasty, 2773 CY – 3287 CY===&lt;br /&gt;
Following the death of X, the nobles of Fugireu would be thrown into a brief disorder. They were united following the [[Council of Zaxeebi]], where [[Wonur Teniyǫh]] would lay claim to the throne in exchange for increased privileges for the local nobility. This would lead to the establishment of the position of [[List of Regulators of Fugireu|Regulator]], elected by the nobles, who would gather together in the [[Beyhaight]] (Fuggic: {{cs|fug|be´he´ht}} ''béhéht'' “gathering”).&lt;br /&gt;
&lt;br /&gt;
===Kuhoric dynasty, 3288 CY – 3539 CY===&lt;br /&gt;
&lt;br /&gt;
===Fuggic Civil War, 3540 CY –  3552 CY===&lt;br /&gt;
&lt;br /&gt;
===Copper War===&lt;br /&gt;
{{main|Copper War}}&lt;br /&gt;
&lt;br /&gt;
==Geography==&lt;br /&gt;
&lt;br /&gt;
===Geology===&lt;br /&gt;
&lt;br /&gt;
===Climate===&lt;br /&gt;
&lt;br /&gt;
===Biodiversity===&lt;br /&gt;
&lt;br /&gt;
==Politics==&lt;br /&gt;
&lt;br /&gt;
===Government===&lt;br /&gt;
&lt;br /&gt;
===Administrative divisions===&lt;br /&gt;
&lt;br /&gt;
===Foreign relations===&lt;br /&gt;
&lt;br /&gt;
===Military===&lt;br /&gt;
&lt;br /&gt;
==Economy==&lt;br /&gt;
&lt;br /&gt;
===Transport===&lt;br /&gt;
&lt;br /&gt;
===Science and technology===&lt;br /&gt;
&lt;br /&gt;
==Demographics==&lt;br /&gt;
&lt;br /&gt;
===Ethnic groups===&lt;br /&gt;
&lt;br /&gt;
===Urbanisation===&lt;br /&gt;
&lt;br /&gt;
===Language===&lt;br /&gt;
&lt;br /&gt;
===Education===&lt;br /&gt;
&lt;br /&gt;
===Religion===&lt;br /&gt;
&lt;br /&gt;
==Culture==&lt;br /&gt;
&lt;br /&gt;
===Heritage===&lt;br /&gt;
&lt;br /&gt;
===Architecture===&lt;br /&gt;
&lt;br /&gt;
===Literature===&lt;br /&gt;
&lt;br /&gt;
===Art===&lt;br /&gt;
&lt;br /&gt;
===Music===&lt;br /&gt;
&lt;br /&gt;
===Theatre===&lt;br /&gt;
&lt;br /&gt;
===Cuisine===&lt;br /&gt;
&lt;br /&gt;
===Sport===&lt;br /&gt;
&lt;br /&gt;
===Symbols===&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
[[Category:Countries]]&lt;/div&gt;</summary>
		<author><name>Marie</name></author>
	</entry>
	<entry>
		<id>https://maruneko.autumns.page/mediawiki/index.php?title=List_of_currencies&amp;diff=8584</id>
		<title>List of currencies</title>
		<link rel="alternate" type="text/html" href="https://maruneko.autumns.page/mediawiki/index.php?title=List_of_currencies&amp;diff=8584"/>
		<updated>2026-03-05T07:40:53Z</updated>

		<summary type="html">&lt;p&gt;Marie: /* Currently circulating */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Below is a list of currencies used on [[Jotunnheim]].&lt;br /&gt;
&lt;br /&gt;
==Currently circulating==&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Currencies&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 200px;&amp;quot; | Country&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 200px;&amp;quot; | Currency&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 55px;&amp;quot; | Symbol&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 55px;&amp;quot; | Code&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 50px;&amp;quot; | Fractional Unit&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 50px;&amp;quot; | Number&amp;lt;br&amp;gt;to Basic&lt;br /&gt;
|-&lt;br /&gt;
| {{flag|Dhimrai}}&lt;br /&gt;
| [[Jdovs]]&lt;br /&gt;
| &lt;br /&gt;
| JMJ&lt;br /&gt;
| &lt;br /&gt;
| 200&lt;br /&gt;
|-&lt;br /&gt;
| {{flag|Eran}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{flag|Menkhemon}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{flag|Teshkasta}}&lt;br /&gt;
| [[Monkh]]&lt;br /&gt;
|&lt;br /&gt;
| MNX&lt;br /&gt;
| &lt;br /&gt;
| 64&lt;br /&gt;
|-&lt;br /&gt;
| {{flag|Fugireu}}&amp;lt;br&amp;gt;{{flag|Hepetha}}&lt;br /&gt;
| [[Zared]]&lt;br /&gt;
|&lt;br /&gt;
| FZA&lt;br /&gt;
|&lt;br /&gt;
| 20&lt;br /&gt;
|-&lt;br /&gt;
| {{flag|Tschintiessteiss}}&amp;lt;br&amp;gt;{{flag|Five Isles}}&amp;lt;br&amp;gt;{{flag|Gintem Confederation}}&amp;lt;br&amp;gt;{{flag|Küüztschüüsches}}&lt;br /&gt;
| [[Tschintierst Muchon|Muchon]]&lt;br /&gt;
| &lt;br /&gt;
| TSM&lt;br /&gt;
| [[Tschintierst Muchon|Düjaskee]]&lt;br /&gt;
| 200&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Historical==&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Currencies&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 200px;&amp;quot; | Country&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 200px;&amp;quot; | Currency&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 55px;&amp;quot; | Symbol&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 55px;&amp;quot; | Code&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 50px;&amp;quot; | Fractional Unit&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 50px;&amp;quot; | Number&amp;lt;br&amp;gt;to Basic&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 50px;&amp;quot; | Discontinued&lt;br /&gt;
|-&lt;br /&gt;
| [[Kingdom of Oldiria]]&lt;br /&gt;
| [[Uskto]]&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 4593 CY&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Lists]]&lt;/div&gt;</summary>
		<author><name>Marie</name></author>
	</entry>
	<entry>
		<id>https://maruneko.autumns.page/mediawiki/index.php?title=Tschintiessteiss&amp;diff=8583</id>
		<title>Tschintiessteiss</title>
		<link rel="alternate" type="text/html" href="https://maruneko.autumns.page/mediawiki/index.php?title=Tschintiessteiss&amp;diff=8583"/>
		<updated>2026-03-05T07:40:34Z</updated>

		<summary type="html">&lt;p&gt;Marie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox country&lt;br /&gt;
|conventional_long_name = Kingdom of Tschintiessteiss &lt;br /&gt;
|native_name = ''Tranzrööss Tschörntischee''&amp;lt;br&amp;gt;{{cs|dhm|tranzh-rós-chorn-ti-shé}}&lt;br /&gt;
|common_name = Tschintiessteiss &lt;br /&gt;
|image_flag = Flag-Tschintiesteiss.png &lt;br /&gt;
|alt_flag = Flag of Tschintiessteiss&lt;br /&gt;
|image_coat = TSC CoA.png &lt;br /&gt;
|alt_coat = Coat of Arms of Tschintiessteiss&lt;br /&gt;
|national_motto = ''Tåchzåss tschö schans eschitöm''&amp;lt;br&amp;gt;‘Gods with us’ &lt;br /&gt;
|national_anthem = ''[[Schöss Pånscho Wü]]''&amp;lt;br&amp;gt;[https://maruneko.autumns.page/mediawiki/images/2/25/The_Red_Banner.ogg &amp;quot;The Red Banner&amp;quot;]&lt;br /&gt;
|royal_anthem =       &lt;br /&gt;
|image_map = [[File:Tsc location.png|320px|frameless]] &lt;br /&gt;
|alt_map = Location of Tschintiessteiss on Jotunnheim&lt;br /&gt;
|map_caption = TSC (and colonies) within the [[Gintem Confederation]]. &amp;lt;!--Caption to place below map--&amp;gt;&lt;br /&gt;
|image_map2 = [[File:Gintem Confederation - Tschintiessteiss.png|250px|frameless]]&lt;br /&gt;
|alt_map2 = Location of Tschintiessteiss within the Gintem Confederation&lt;br /&gt;
|map_caption2 = Location of Tschintiessteiss in the Gintem Confederation&lt;br /&gt;
|capital = [[Dusorson]] &lt;br /&gt;
|latd= | latm= | latNS= |longd= |longm= |longEW= &lt;br /&gt;
|largest_city = capital &lt;br /&gt;
|official_languages = [[Tschintierst language|Tschintierst]] &lt;br /&gt;
|ethnic_groups =      &lt;br /&gt;
|ethnic_groups_year = &lt;br /&gt;
|demonym = [[Tschintierst people|Tschintierst]] &lt;br /&gt;
|government_type = Unitary semi-constitutional parliamentary monarchy&lt;br /&gt;
|leader_title1 = [[List of Monarchs of Tschintiessteiss|King]]&lt;br /&gt;
|leader_name1 = [[Ytytschooryn Wechtachz]]&lt;br /&gt;
|leader_title2 = [[List of Seers of Tschintiessteiss|Seer]]&lt;br /&gt;
|leader_name2 = [[Unoorooss Achseschriibü]]&lt;br /&gt;
&amp;lt;!--......--&amp;gt;&lt;br /&gt;
|leader_title6 =      &amp;lt;!--(up to six distinct leaders may be included)--&amp;gt;&lt;br /&gt;
|leader_name6 = &lt;br /&gt;
|legislature = [[Tranzgenschaden of Tschintiessteiss|Tranzgenschaden]] &lt;br /&gt;
|sovereignty_type = State in the [[Gintem Confederation]] &lt;br /&gt;
|sovereignty_note = &lt;br /&gt;
|established_event1 = Founding of the [[Margravate of Tschintiessteiss]]&lt;br /&gt;
|established_date1 = 3516 CY &amp;lt;!--Date of first key event--&amp;gt;&lt;br /&gt;
|established_event2 = &lt;br /&gt;
|established_date2 =  &lt;br /&gt;
&amp;lt;!--......--&amp;gt;&lt;br /&gt;
|established_event9 = &lt;br /&gt;
|established_date9 =&lt;br /&gt;
|area_rank = &lt;br /&gt;
|area_magnitude = &lt;br /&gt;
|area =               &lt;br /&gt;
|area_km2 = 360146 &lt;br /&gt;
|area_sq_mi =         &lt;br /&gt;
|area_footnote = , not including colonial possessions &lt;br /&gt;
|percent_water = &lt;br /&gt;
|area_label =         &lt;br /&gt;
|area_label2 =        &lt;br /&gt;
|area_data2 =         &lt;br /&gt;
|population_estimate = &lt;br /&gt;
|population_estimate_rank = &lt;br /&gt;
|population_estimate_year = &lt;br /&gt;
|population_census = 42,316,501, not including colonial possessions. See [[Population of Tschintiessteiss]] for more info.&lt;br /&gt;
|population_census_year = 4620&lt;br /&gt;
|population_density_km2 = 117.50&lt;br /&gt;
|population_density_sq_mi = &lt;br /&gt;
|population_density_rank = &lt;br /&gt;
|GDP_PPP =                     &lt;br /&gt;
|GDP_PPP_rank = &lt;br /&gt;
|GDP_PPP_year = &lt;br /&gt;
|GDP_PPP_per_capita = &lt;br /&gt;
|GDP_PPP_per_capita_rank = &lt;br /&gt;
|GDP_nominal = &lt;br /&gt;
|GDP_nominal_rank = &lt;br /&gt;
|GDP_nominal_year = &lt;br /&gt;
|GDP_nominal_per_capita = &lt;br /&gt;
|GDP_nominal_per_capita_rank = &lt;br /&gt;
|Gini =                        &lt;br /&gt;
|Gini_ref =                    &lt;br /&gt;
|Gini_rank = &lt;br /&gt;
|Gini_year = &lt;br /&gt;
|HDI =                         &lt;br /&gt;
|HDI_ref =                     &lt;br /&gt;
|HDI_rank = &lt;br /&gt;
|HDI_year = &lt;br /&gt;
|currency = [[List of currencies|Muchon]] &lt;br /&gt;
|currency_code = TSM     &lt;br /&gt;
|time_zone =          &lt;br /&gt;
|utc_offset =         &lt;br /&gt;
|time_zone_DST =      &lt;br /&gt;
|utc_offset_DST =     &lt;br /&gt;
|DST_note =           &lt;br /&gt;
|antipodes =          &lt;br /&gt;
|date_format =        &amp;lt;!--numeric dates (dd-mm-yyyy, yyyy.mm.dd, etc) plus era (CE, AD, AH, etc)--&amp;gt;&lt;br /&gt;
|drives_on =          &amp;lt;!--&amp;quot;right&amp;quot; or &amp;quot;left&amp;quot; (side of road)--&amp;gt;&lt;br /&gt;
|cctld =              &lt;br /&gt;
|iso3166code =        &lt;br /&gt;
|calling_code =       &lt;br /&gt;
|image_map3 =         &lt;br /&gt;
|alt_map3 =           &lt;br /&gt;
|patron_saint = &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Tschintiessteiss''' (/ˈt͡ʃɪnti:staɪs, -tɪs-/; [[Tschintierst language|Tschintierst]]: {{cs|dhm|chorn-ti-shé}} ''Tschörntischee''), often abbreviated as '''TSC''', is a country located in Northeastern [[Yazland]]. A powerful country within the [[Gintem Confederation]], it is at the forefront of military and technological progress, and was the victor of the [[Copper War]]. It borders [[Dhimrai]] to the West; as well as [[Dröövache]], [[Üü]], [[Muurågo]], [[Tschuchåschotscho]], [[Hinzgööss]], [[Wörwritschööss]], [[Hebratsche]], and [[Küüztschüüsches]] to the South. Tschintiessteiss also has various [[Tschintierst Colonial Administration|colonial possessions]] that range from [[Churyko]] to [[Jarruunh]]. TSC has the largest population in Yazland, and the Xth largest in the world. The Gintem people have inhabited TSC since the fall of the [[Doccábhan Empire]] in the 34th century CY, shortly after the [[Gintem Migration Period|Gintem migrations]]. Following their migration into the area, the Gintem Confederation was established as a state that would serve all Gintem peoples. This confederation would last until the modern day, but quickly became largely decentralized and trans-national rather than a national entity by itself. TSC would get its start as the [[Margravate of Tschintiessteiss]] in 3516 CY, and would grow over the years through conquest and diplomacy. TSC would finally gain major influence following its victory in the [[Great Gintem War]], a religious war concerning the status of [[Kunwidya]] within the confederation. Following the X reforms, TSC would become the premier state within the confederation, and would develop a rivalry with their western neighbor Dhimrai. In the 46th Century, TSC would become a center of technological and scientific progress, creating many new impressive technologies in the so-called “[[Golden 46th century]].” The Golden 46th century would end following the breakout of the Copper War in Yazland, which saw the brief [[Gintem Empire|unification]] of the Gintem Confederation under TSC. After their victory in the war, TSC would suffer an [[4610s economic crisis|economic depression]], and public discontent surrounding the military and nobility’s policies during the Copper War. X&lt;br /&gt;
&lt;br /&gt;
==Etymology==&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
===Bronze age collapse and Yasgan migrations===&lt;br /&gt;
&lt;br /&gt;
===Gintem Migration===&lt;br /&gt;
{{main|Gintem Migration Period}}&lt;br /&gt;
During the 2600s CY, various Milevic groups migrating around the [[Narrow Sea]] had caused the displacement of numerous Gintem Groups. Forcing their migration northwards towards the modern day location of the [[Gintem Confederation]]. Many simply settled in the lands inhabited by the X, with little known as to if such settlement was peaceful or not; but as the Milevic Migration continued, more and more Gintem groups began to migrate northwards.&lt;br /&gt;
&lt;br /&gt;
===Fall of the Doccábhan Empire and the Gintem Confederation===&lt;br /&gt;
{{main|Doccábh people}}&lt;br /&gt;
Following the X War and subsequent collapse of the Doccábhan Empire, [[Sendeasta Missisin]] established the [[Gintem Confederation]], a loose alliance of all the various Gintem tribes that had rallied together to fight against the Doccábhans. Under her leadership, the various tribal peoples of the confederation began to divide the land of the rich Doccábhan East amongst themselves. After her death, the Gintem remained in place as a semi-trans-national entity, meant as a central mediator for disputes between the various feuding kings that followed the collapse of the Doccábhan Empire. [[Maircességte Múrnaisse]], also known as Maircességte the Great, codified the governance of the Gintem based on the ideals of the Doccábhan Empire. He rolled back the direct opposition to the Doccábhans, and instead positioned the Gintem as the new successor of a series of Yasgan Empires. Traditional inheritance laws required that each eligible heir be given a share of their parent’s land after passing, this resulted in the Gintem Confederation becoming a patchwork of several independent entities, meaning the [[List of Archmonarchs Paramount of the Gintem Confederation|Archking Paramount]] of the Gintem became less and less able to settle disputes between a majority of member-states. In addition, the practice of Missisinic Succession would further divide the confederation until its outlaw in 3463 CY.&lt;br /&gt;
&lt;br /&gt;
===Margravate of Tschintiessteiss===&lt;br /&gt;
Tschintiessteiss would be founded in 3516 CY, as the Margravate of Tschintiessteiss, a small realm carved out of the Doccábh remnant states of the north. The Margravate was founded by [[Ysyschodyn the Bear]], who conquered the lands during the tumultuous period of the [[Gintem Confederation#Grand_Conquests|Grand Conquests]]. The Margravate would remain a mostly minor state contained to the northwest of the Gintem Confederation. Throughout the 36th century, the Margraves of Tschintiessteiss would engage in mostly petty conquests, gaining some fiefs further inland. Though the common people of the Margravate were mostly poor, local nobles grew rich through tariffs on the Triangle Sea Trade. Tschintiessteiss would support a heavily militarized and war-hungry noble class, who would quickly win conflicts using their knights with well-crafted weapons and armor. Tschintiessteiss would establish itself as a local power, finding allies in the Margravate of Maarküche and the Duchy of Såskybuutscho.&lt;br /&gt;
&lt;br /&gt;
===Principality of Tschintiessteiss===&lt;br /&gt;
&lt;br /&gt;
===Kingdom of Tschintiessteiss===&lt;br /&gt;
&lt;br /&gt;
===Great Gintem War===&lt;br /&gt;
{{main|Great Gintem War}}&lt;br /&gt;
Throughout the 41st and 44th centuries, the Gintem Confederation along with neighboring states would experience a wave of [[Kunwidya]] missionaries. With the rise of the Phelo Empire, the northern hemisphere would become dominated by the Kunwidya faith. As Kunwidya was slowly adopted by various Gintem states, a rift began to emerge between those worshipping the old pantheon and those worshipping Widya. Seeking to challenge to traditional power structures of the Gintem Confederation, they would form the [[Heavenly League]] to push their interests. This would make Kunwidya a major partisan issue, and non-Kunwidya states would quickly form the [[Grand Coalition]] to prevent any further erosion of traditional power structures and cultural practices. Following the [[Gistetschö succession crisis]] in 4326, the entire Gintem would be brought into civil war.&lt;br /&gt;
&lt;br /&gt;
===Copper War===&lt;br /&gt;
{{main|Copper War}}&lt;br /&gt;
&lt;br /&gt;
===Post-War===&lt;br /&gt;
Postwar TSC was subject to heavy reorganization after the death of the Tschaabdüsche was made public. Many older officers would be forcibly retired by the newly ascendant Wechtachz, part of his play for power following the military control which plagued the later reign of Tschaabdüsche, while others would simply withdraw from military life altogether. Tschintiessteiss would also begin to suffer from an economic depression, due to the harsh toll the war had on the entirety of Jotunnheim. The postwar period has been marked by what many writers and philosophers call ''“[[Padgintüschöchü]]”'', literally meaning ''“national malaise.”'' X&lt;br /&gt;
&lt;br /&gt;
==Geography==&lt;br /&gt;
&lt;br /&gt;
===Geology===&lt;br /&gt;
&lt;br /&gt;
===Climate===&lt;br /&gt;
&lt;br /&gt;
===Biodiversity===&lt;br /&gt;
&lt;br /&gt;
==Politics==&lt;br /&gt;
&lt;br /&gt;
===Government===&lt;br /&gt;
TSC is a semi-constitutional parliamentary monarchy where the king controls a significant amount of executive power. While the legislature does have control over lawmaking and internal affairs, the word of the king is incontestable.&lt;br /&gt;
TSC has a unicameral legislature known as the [[Tranzgenschaden]], in which there are X representatives. Representatives are elected from provinces, and each province has a certain number of representatives. TSC has universal male suffrage, though landowning males over 30 elect a certain percentage of the representatives, while non-landowning males over 30 elect the rest. There are no term limits of any kind in TSC. The Tranzgenschaden has the power to to propose and pass legislation, to elect a [[Schüchitsch]], to manage the overseas colonial possessions of TSC, to declare war, and to organize and budget internal ministries.&lt;br /&gt;
The Schüchitsch is the head of government of TSC, and handles many of the same duties that the King does. They are the the official representative of the will of the king, and is accountable mostly only to him. The Schüchitsch, aside from being elected by the Tranzgenschaden, may also be chosen by the king directly.&lt;br /&gt;
&lt;br /&gt;
===Administration===&lt;br /&gt;
There are 11 ministries of the Royal Government, each of which has their head appointed by the current Seer, or the King himself. The ministries manage various domestic or foreign interests and affairs, and are further subdivided into domains. Domains are more specialized government agencies that handle specific roles or projects, such as the Domain of National Rail Operation or the Domain of State Foresight.&lt;br /&gt;
&lt;br /&gt;
===Administrative divisions===&lt;br /&gt;
{{main|Administrative divisions of Tschintiessteiss}}&lt;br /&gt;
Tschintiessteiss as a country is divided into 83 provinces, and they fall directly under crown control. TSC also has a vast overseas empire that is divided into 11(?) Overseas Territorial Crown Possessions.&lt;br /&gt;
&lt;br /&gt;
===Foreign relations===&lt;br /&gt;
Since 45XX, Tschintiessteiss has led a defensive coalition of nations in the [[Central Powers]]. The Central Powers, officially known as the Alliance for Protection between the Central Nations of North Yazland and Associated Allies, was responsible for coming to the defense of TSC in the Copper War, collaborating to eventually defeat the [[Quintuple Entente]]. Since the end of the Copper War the alliance was maintained in the name of peace and stability in Yazland.&lt;br /&gt;
&lt;br /&gt;
===Military===&lt;br /&gt;
&lt;br /&gt;
==Economy==&lt;br /&gt;
&lt;br /&gt;
===Transport===&lt;br /&gt;
&lt;br /&gt;
===Science and technology===&lt;br /&gt;
&lt;br /&gt;
==Demographics==&lt;br /&gt;
&lt;br /&gt;
===Ethnic groups===&lt;br /&gt;
&lt;br /&gt;
===Urbanisation===&lt;br /&gt;
&lt;br /&gt;
===Language===&lt;br /&gt;
&lt;br /&gt;
===Education===&lt;br /&gt;
&lt;br /&gt;
===Religion===&lt;br /&gt;
&lt;br /&gt;
==Culture==&lt;br /&gt;
&lt;br /&gt;
===Heritage===&lt;br /&gt;
&lt;br /&gt;
===Architecture===&lt;br /&gt;
&lt;br /&gt;
===Literature===&lt;br /&gt;
&lt;br /&gt;
===Art===&lt;br /&gt;
&lt;br /&gt;
===Music===&lt;br /&gt;
&lt;br /&gt;
===Theatre===&lt;br /&gt;
&lt;br /&gt;
===Cuisine===&lt;br /&gt;
&lt;br /&gt;
===Sport===&lt;br /&gt;
&lt;br /&gt;
===Symbols===&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
[[Category:Countries]][[Category:Tschintiessteiss]][[Category:Gintem states]]&lt;/div&gt;</summary>
		<author><name>Marie</name></author>
	</entry>
	<entry>
		<id>https://maruneko.autumns.page/mediawiki/index.php?title=Five_Isles&amp;diff=8582</id>
		<title>Five Isles</title>
		<link rel="alternate" type="text/html" href="https://maruneko.autumns.page/mediawiki/index.php?title=Five_Isles&amp;diff=8582"/>
		<updated>2026-03-05T07:40:10Z</updated>

		<summary type="html">&lt;p&gt;Marie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox country&lt;br /&gt;
|conventional_long_name = Margravate of the Five Isles&lt;br /&gt;
|native_name = {{cs|dhm|ss-kó-shos-téy-cer-che-dré-gé-né}} ''Saskaoshos Téycer Chedreegeenee''&amp;lt;br&amp;gt;{{cs|dhm|zz-kós-rós-shos-che-cer-tr-shom}} ''Såskoossrooss schöss Tschecher Tråschom''&lt;br /&gt;
|common_name = Five Isles&lt;br /&gt;
|image_flag = Flag mfi.png&lt;br /&gt;
|alt_flag =&lt;br /&gt;
|image_flag2 = &lt;br /&gt;
|alt_flag2 = &lt;br /&gt;
|image_coat =  &amp;lt;!--e.g. Coat of arms of country.svg--&amp;gt;&lt;br /&gt;
|alt_coat =           &amp;lt;!--alt text for coat of arms--&amp;gt;&lt;br /&gt;
|symbol_type = &amp;lt;!--emblem, seal, etc (if not a coat of arms)--&amp;gt;&lt;br /&gt;
|national_motto =&lt;br /&gt;
|national_anthem =&lt;br /&gt;
|royal_anthem =       &amp;lt;!--in italics (double quotemarks) and wikilinked if link exists--&amp;gt;&lt;br /&gt;
|other_symbol_type =  &amp;lt;!--Use if a further symbol exists, e.g. hymn--&amp;gt;&lt;br /&gt;
|other_symbol =&lt;br /&gt;
|image_map =&lt;br /&gt;
|alt_map =            &amp;lt;!--alt text for map--&amp;gt;&lt;br /&gt;
|map_caption =&lt;br /&gt;
|image_map2 =         &amp;lt;!--Another map, if required--&amp;gt;&lt;br /&gt;
|alt_map2 =           &amp;lt;!--alt text for second map--&amp;gt;&lt;br /&gt;
|map_caption2 =       &amp;lt;!--Caption to place below second map--&amp;gt;&lt;br /&gt;
|capital = ?&lt;br /&gt;
|latd= | latm= | latNS= |longd= |longm= |longEW= &amp;lt;!--capital's latitude and longitude in degrees/minutes/direction--&amp;gt;&lt;br /&gt;
|largest_city = &lt;br /&gt;
|largest_settlement_type = &amp;lt;!--Type of settlement if largest settlement not a city--&amp;gt;&lt;br /&gt;
|largest_settlement = &amp;lt;!--Name of largest settlement--&amp;gt;&lt;br /&gt;
|official_languages = [[Thecenic language|Thecenic]]&amp;lt;br&amp;gt;[[Tschintierst language|Tschintierst]]&lt;br /&gt;
|national_languages = &lt;br /&gt;
|regional_languages = &amp;lt;!--Languages recognised or associated with particular regions within the country/territory--&amp;gt;&lt;br /&gt;
|languages_type =     &amp;lt;!--Use to specify a further type of language, if not official, national or regional--&amp;gt;&lt;br /&gt;
|languages =          &amp;lt;!--Languages of the further type--&amp;gt;&lt;br /&gt;
|languages_sub =      &amp;lt;!--Is this further type of language a sub-item of the previous non-sub type? (&amp;quot;yes&amp;quot; or &amp;quot;no&amp;quot;)--&amp;gt;&lt;br /&gt;
|languages2_type =    &amp;lt;!--Another further type of language--&amp;gt;&lt;br /&gt;
|languages2 =         &amp;lt;!--Languages of this second further type--&amp;gt;&lt;br /&gt;
|languages2_sub =     &amp;lt;!--Is the second alternative type of languages a sub-item of the previous non-sub type? (&amp;quot;yes&amp;quot; or &amp;quot;no&amp;quot;)--&amp;gt;&lt;br /&gt;
|religion = [[Misraism]]&lt;br /&gt;
|ethnic_groups =      &amp;lt;!--List/breakdown of ethnic groups within the country/territory--&amp;gt;&lt;br /&gt;
|ethnic_groups_year = &amp;lt;!--Year of ethnic groups data (if provided) or use to place a &amp;lt;ref&amp;gt;--&amp;gt;&lt;br /&gt;
|demonym = Thecenic Islander&lt;br /&gt;
|government_type = ?&lt;br /&gt;
|leader_title1 = ?&lt;br /&gt;
|leader_name1 = Name Name Named&lt;br /&gt;
|leader_title2 =&lt;br /&gt;
|leader_name2 = &lt;br /&gt;
|legislature = &lt;br /&gt;
|upper_house =        &amp;lt;!--Name of governing body's upper house, if given (e.g. &amp;quot;Senate&amp;quot;)--&amp;gt;&lt;br /&gt;
|lower_house =        &amp;lt;!--Name of governing body's lower house, if given (e.g. &amp;quot;Chamber of Deputies&amp;quot;)--&amp;gt;&lt;br /&gt;
|sovereignty_type =   &amp;lt;!--Brief description of country/territory's status (&amp;quot;Independence [from...]&amp;quot;, &amp;quot;Autonomous province [of...]&amp;quot;, etc)--&amp;gt;&lt;br /&gt;
|sovereignty_note = &lt;br /&gt;
|established_event1 = &amp;lt;!--First key event in history of country/territory's status or formation--&amp;gt;&lt;br /&gt;
|established_date1 =  &amp;lt;!--Date of first key event--&amp;gt;&lt;br /&gt;
|established_event2 = &amp;lt;!--Second key event--&amp;gt;&lt;br /&gt;
|established_date2 =  &amp;lt;!--Date of second key event--&amp;gt;&lt;br /&gt;
&amp;lt;!--......--&amp;gt;&lt;br /&gt;
|established_event9 = &amp;lt;!--(up to nine distinct events may be included)--&amp;gt;&lt;br /&gt;
|established_date9 =&lt;br /&gt;
|area_rank = &lt;br /&gt;
|area_magnitude = &lt;br /&gt;
|area =               &amp;lt;!--Major area size (in [[Template:convert]] either km2 or sqmi first)--&amp;gt;&lt;br /&gt;
|area_km2 = &lt;br /&gt;
|area_sq_mi =         &amp;lt;!--Area in square mi (requires area_km2)--&amp;gt;&lt;br /&gt;
|area_footnote =      &amp;lt;!--Optional footnote for area--&amp;gt;&lt;br /&gt;
|percent_water = &lt;br /&gt;
|area_label = Total&lt;br /&gt;
|area_label2 =        &amp;lt;!--Label below area_label (optional)--&amp;gt;&lt;br /&gt;
|area_data2 =         &amp;lt;!--Text after area_label2 (optional)--&amp;gt;&lt;br /&gt;
|population_estimate = &lt;br /&gt;
|population_estimate_rank = &lt;br /&gt;
|population_estimate_year = &lt;br /&gt;
|population_census = &lt;br /&gt;
|population_census_year = &lt;br /&gt;
|population_density_km2 = &lt;br /&gt;
|population_density_sq_mi = &lt;br /&gt;
|population_density_rank = &lt;br /&gt;
|GDP_PPP =                     &amp;lt;!--(Gross Domestic Product from Purchasing Power Parity)--&amp;gt;&lt;br /&gt;
|GDP_PPP_rank = &lt;br /&gt;
|GDP_PPP_year = &lt;br /&gt;
|GDP_PPP_per_capita = &lt;br /&gt;
|GDP_PPP_per_capita_rank = &lt;br /&gt;
|GDP_nominal = &lt;br /&gt;
|GDP_nominal_rank = &lt;br /&gt;
|GDP_nominal_year = &lt;br /&gt;
|GDP_nominal_per_capita = &lt;br /&gt;
|GDP_nominal_per_capita_rank = &lt;br /&gt;
|Gini =                        &amp;lt;!--(Gini measure of income inequality; input number only; valid values are between 0 and 100)--&amp;gt;&lt;br /&gt;
|Gini_ref =                    &amp;lt;!--(for any ref/s to associate with Gini number)--&amp;gt;&lt;br /&gt;
|Gini_rank = &lt;br /&gt;
|Gini_year = &lt;br /&gt;
|HDI =                         &amp;lt;!--(Human Development Index; input number only; valid values are between 0 and 1)--&amp;gt;&lt;br /&gt;
|HDI_ref =                     &amp;lt;!--(for any ref/s to associate with HDI number)--&amp;gt;&lt;br /&gt;
|HDI_rank = &lt;br /&gt;
|HDI_year = &lt;br /&gt;
|currency = [[List of currencies|Muchon]] &amp;lt;!--Name/s of currency/ies used in country/territory--&amp;gt;&lt;br /&gt;
|currency_code = TSM &amp;lt;!--ISO 4217 code/s for currency/ies (each usually three capital letters)--&amp;gt;&lt;br /&gt;
|time_zone =          &amp;lt;!--e.g. GMT, PST, AST, etc, etc (wikilinked if possible)--&amp;gt;&lt;br /&gt;
|utc_offset =         &amp;lt;!--in the form &amp;quot;+N&amp;quot;, where N is number of hours offset--&amp;gt;&lt;br /&gt;
|time_zone_DST =      &amp;lt;!--Link to DST (Daylight Saving Time) used, otherwise &amp;quot;not observed&amp;quot;--&amp;gt;&lt;br /&gt;
|utc_offset_DST =     &amp;lt;!--in the form &amp;quot;+N&amp;quot;, where N is number of hours offset--&amp;gt;&lt;br /&gt;
|DST_note =           &amp;lt;!--Optional note regarding DST use--&amp;gt;&lt;br /&gt;
|antipodes =          &amp;lt;!--Place/s exactly on the opposite side of the world to country/territory--&amp;gt;&lt;br /&gt;
|date_format =        &amp;lt;!--numeric dates (dd-mm-yyyy, yyyy.mm.dd, etc) plus era (CE, AD, AH, etc)--&amp;gt;&lt;br /&gt;
|drives_on =          &amp;lt;!--&amp;quot;right&amp;quot; or &amp;quot;left&amp;quot; (side of road)--&amp;gt;&lt;br /&gt;
|cctld =              &amp;lt;!--Internet country code top-level domain identifier (e.g. [[.br]], [[.de]], etc)&lt;br /&gt;
|iso3166code =        &amp;lt;!--Use to override default from common_name parameter above; omit using &amp;quot;omit&amp;quot;.--&amp;gt;&lt;br /&gt;
|calling_code =       &amp;lt;!--e.g. [[+1]], [[+531]], [[+44]], etc--&amp;gt;&lt;br /&gt;
|image_map3 =         &amp;lt;!--Optional third map position, e.g. for use with reference to footnotes below it--&amp;gt;&lt;br /&gt;
|alt_map3 =           &amp;lt;!--alt text for third map position--&amp;gt;&lt;br /&gt;
|footnote_a =         &amp;lt;!--For any footnote &amp;lt;sup&amp;gt;a&amp;lt;/sup&amp;gt; used above--&amp;gt;&lt;br /&gt;
|footnote_b =         &amp;lt;!--For any footnote &amp;lt;sup&amp;gt;b&amp;lt;/sup&amp;gt; used above--&amp;gt;&lt;br /&gt;
&amp;lt;!--......--&amp;gt;&lt;br /&gt;
|footnote_h =         &amp;lt;!--For any footnote &amp;lt;sup&amp;gt;h&amp;lt;/sup&amp;gt; used above--&amp;gt;&lt;br /&gt;
|footnotes =          &amp;lt;!--For any generic non-numbered footnotes--&amp;gt;&lt;br /&gt;
|patron_saint = &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The '''Margravate of the Five Isles''' is a country located in the [[Broad Sea]]. Being an island nation, it borders no countries, and is a part of the [[Skaredrag Isles|Skaredrag archipelago]].&lt;br /&gt;
&lt;br /&gt;
[[Category:Countries]]&lt;/div&gt;</summary>
		<author><name>Marie</name></author>
	</entry>
	<entry>
		<id>https://maruneko.autumns.page/mediawiki/index.php?title=Tschintierst_Muchon&amp;diff=8581</id>
		<title>Tschintierst Muchon</title>
		<link rel="alternate" type="text/html" href="https://maruneko.autumns.page/mediawiki/index.php?title=Tschintierst_Muchon&amp;diff=8581"/>
		<updated>2026-03-05T07:38:45Z</updated>

		<summary type="html">&lt;p&gt;Marie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox currency&lt;br /&gt;
| name = Tschintierst Muchon&lt;br /&gt;
| local_name = Muchon Tschörnü&lt;br /&gt;
| local_name_lang = &lt;br /&gt;
| obsolete =&lt;br /&gt;
| image_1 =&lt;br /&gt;
| image_title_1 =&lt;br /&gt;
| image_alt_1 =&lt;br /&gt;
| iso_code = &lt;br /&gt;
| issuing_authority = Tschintierst Royal Mint&lt;br /&gt;
| issuing_authority_website =&lt;br /&gt;
| date_of_introduction = &lt;br /&gt;
| date_of_introduction_source =&lt;br /&gt;
| using_countries = [[Tschintiessteiss]], [[Five Isles]], [[Gintem Confederation]], [[Küüztschüüsches]]&lt;br /&gt;
| inflation_rate =&lt;br /&gt;
| inflation_source_date =&lt;br /&gt;
| unit = Muchon&lt;br /&gt;
| symbol = Mc&lt;br /&gt;
| nickname =&lt;br /&gt;
| plural = Muchon&lt;br /&gt;
&amp;lt;!-- subunits,  superunits --&amp;gt;&lt;br /&gt;
| subunit_ratio_1 = {{frac|1|200}}&lt;br /&gt;
| subunit_name_1 = Düjaskee&lt;br /&gt;
| symbol_subunit_1 = Dj&lt;br /&gt;
| nickname_subunit_1 = Düüs&lt;br /&gt;
| plural_subunit_1 = Düjaskee&lt;br /&gt;
&amp;lt;!-- banknotes &amp;amp; coins --&amp;gt;&lt;br /&gt;
| frequently_used_coins = 1, 5, 20, 100, 200 Dj&lt;br /&gt;
| rarely_used_coins =&lt;br /&gt;
| frequently_used_banknotes = 1, 5, 20, 100, 200, 1000 Mc&lt;br /&gt;
| rarely_used_banknotes =&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The '''Tschintierst Muchon''' ([[Tschintierst language|Tschintierst]]: ''Muchon Tschörnü''), abbreviated &amp;quot;Mc,&amp;quot; is the official currency of [[Tschintiessteiss]]. One Tschintierst Muchon is divided into 200 Düjaskee.&lt;/div&gt;</summary>
		<author><name>Marie</name></author>
	</entry>
	<entry>
		<id>https://maruneko.autumns.page/mediawiki/index.php?title=Tschintierst_Muchon&amp;diff=8580</id>
		<title>Tschintierst Muchon</title>
		<link rel="alternate" type="text/html" href="https://maruneko.autumns.page/mediawiki/index.php?title=Tschintierst_Muchon&amp;diff=8580"/>
		<updated>2026-03-05T07:38:04Z</updated>

		<summary type="html">&lt;p&gt;Marie: Created page with &amp;quot;{{Infobox currency | name = Tschintierst Muchon | local_name = Muchon Tschörnü | local_name_lang =  | obsolete = | image_1 = | image_title_1 = | image_alt_1 = | iso_code =  | issuing_authority = Tschintierst Royal Mint | issuing_authority_website = | date_of_introduction =  | date_of_introduction_source = | using_countries = Tschintiessteiss, Five Isles, Gintem Confederaton, Küüztschüüsches | inflation_rate = | inflation_source_date = | unit = Mucho...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox currency&lt;br /&gt;
| name = Tschintierst Muchon&lt;br /&gt;
| local_name = Muchon Tschörnü&lt;br /&gt;
| local_name_lang = &lt;br /&gt;
| obsolete =&lt;br /&gt;
| image_1 =&lt;br /&gt;
| image_title_1 =&lt;br /&gt;
| image_alt_1 =&lt;br /&gt;
| iso_code = &lt;br /&gt;
| issuing_authority = Tschintierst Royal Mint&lt;br /&gt;
| issuing_authority_website =&lt;br /&gt;
| date_of_introduction = &lt;br /&gt;
| date_of_introduction_source =&lt;br /&gt;
| using_countries = [[Tschintiessteiss]], [[Five Isles]], [[Gintem Confederaton]], [[Küüztschüüsches]]&lt;br /&gt;
| inflation_rate =&lt;br /&gt;
| inflation_source_date =&lt;br /&gt;
| unit = Muchon&lt;br /&gt;
| symbol = Mc&lt;br /&gt;
| nickname =&lt;br /&gt;
| plural = Muchon&lt;br /&gt;
&amp;lt;!-- subunits,  superunits --&amp;gt;&lt;br /&gt;
| subunit_ratio_1 = {{frac|1|200}}&lt;br /&gt;
| subunit_name_1 = Düjaskee&lt;br /&gt;
| symbol_subunit_1 = Dj&lt;br /&gt;
| nickname_subunit_1 = Düüs&lt;br /&gt;
| plural_subunit_1 = Düjaskee&lt;br /&gt;
&amp;lt;!-- banknotes &amp;amp; coins --&amp;gt;&lt;br /&gt;
| frequently_used_coins = 1, 5, 20, 100, 200 Dj&lt;br /&gt;
| rarely_used_coins =&lt;br /&gt;
| frequently_used_banknotes = 1, 5, 20, 100, 200, 1000 Mc&lt;br /&gt;
| rarely_used_banknotes =&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The '''Tschintierst Muchon''' ([[Tschintierst language|Tschintierst]]: ''Muchon Tschörnü''), abbreviated &amp;quot;Mc,&amp;quot; is the official currency of [[Tschintiessteiss]]. One Tschintierst Muchon is divided into 200 Düjaskee.&lt;/div&gt;</summary>
		<author><name>Marie</name></author>
	</entry>
	<entry>
		<id>https://maruneko.autumns.page/mediawiki/index.php?title=Template_talk:Native_name_list&amp;diff=8579</id>
		<title>Template talk:Native name list</title>
		<link rel="alternate" type="text/html" href="https://maruneko.autumns.page/mediawiki/index.php?title=Template_talk:Native_name_list&amp;diff=8579"/>
		<updated>2026-03-05T07:34:46Z</updated>

		<summary type="html">&lt;p&gt;Marie: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Template talk:Native name]]&lt;/div&gt;</summary>
		<author><name>Marie</name></author>
	</entry>
	<entry>
		<id>https://maruneko.autumns.page/mediawiki/index.php?title=Template:Native_name_list/doc&amp;diff=8577</id>
		<title>Template:Native name list/doc</title>
		<link rel="alternate" type="text/html" href="https://maruneko.autumns.page/mediawiki/index.php?title=Template:Native_name_list/doc&amp;diff=8577"/>
		<updated>2026-03-05T07:34:46Z</updated>

		<summary type="html">&lt;p&gt;Marie: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Documentation subpage}}&lt;br /&gt;
{{Lua|Module:Native name}}&lt;br /&gt;
This template creates a correctly formatted list of native names.  Typical uses would be the {{para|native name}} parameter common to many infoboxes.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
Like {{tlx|native name}}, but this template takes only enumerated parameter names.&lt;br /&gt;
{{para|tag''n''}} and {{para|name''n''}} are required, in pairs. Do not skip suffix numbers ({{para|1=&amp;lt;nowiki&amp;gt;tag1=.. |tag3=..&amp;lt;/nowiki&amp;gt;}} {{nay}}).&lt;br /&gt;
&lt;br /&gt;
These parameters are:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;wikitext&amp;quot;&amp;gt;&lt;br /&gt;
{{native name list&lt;br /&gt;
|tag1      =&lt;br /&gt;
|name1     =&lt;br /&gt;
|italics1  =&lt;br /&gt;
|paren1    =&lt;br /&gt;
|parensize1=&lt;br /&gt;
|nolink1   =&lt;br /&gt;
|postfix1  =&lt;br /&gt;
&lt;br /&gt;
|tag2      =&lt;br /&gt;
|name2     =&lt;br /&gt;
|italics2  =&lt;br /&gt;
|paren2    =&lt;br /&gt;
|parensize2=&lt;br /&gt;
|nolink2   =&lt;br /&gt;
|postfix2  =&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Parameter name&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Description and examples&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Required&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | {{para|tag{{var|n}}}}&lt;br /&gt;
| The [[IETF language tag]] code for the native language. French, for instance, is &amp;quot;fr&amp;quot;; Spanish is &amp;quot;es&amp;quot;; Arabic is &amp;quot;ar&amp;quot;; etc.&lt;br /&gt;
| yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | {{para|name{{var|n}}}}&lt;br /&gt;
| The native name, in the native language (with accents, etc.).&lt;br /&gt;
| yes&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | {{para|italics{{var|n}}}}&amp;lt;br/&amp;gt;{{smaller|(or {{para|italic{{var|n}}}})}}&lt;br /&gt;
| Set to &amp;quot;off&amp;quot; or &amp;quot;no&amp;quot; to disable displaying the native name in italics.&lt;br /&gt;
Example: {{para|italics{{var|n}}|off}}&lt;br /&gt;
| no&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; |  {{para|paren{{var|n}}}}&amp;lt;br/&amp;gt;{{smaller|(or {{para|icon{{var|n}}}})}}&lt;br /&gt;
| Set to &amp;quot;omit&amp;quot;, &amp;quot;off&amp;quot; or &amp;quot;no&amp;quot; to suppress the appearance of the native language's name in a parenthesis after the native name.&lt;br /&gt;
Example: {{para|paren{{var|n}}|omit}}&lt;br /&gt;
| no&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | {{para|parensize{{var|n}}}}&amp;lt;br/&amp;gt;{{smaller|(or {{para|fontsize{{var|n}}}})}}&lt;br /&gt;
| Use to specify a font-size for the parenthesis. Per [[MOS:FONTSIZE]], do not make this text smaller in infoboxes, since the text is already at 88% of normal.&lt;br /&gt;
Example: {{para|parensize{{var|n}}|90%}}&lt;br /&gt;
| no&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | {{para|nolink{{var|n}}}}&lt;br /&gt;
| Set to anything (e.g. &amp;quot;on&amp;quot;) to suppress the appearance of the native language's name as a link.&lt;br /&gt;
| no&lt;br /&gt;
|-&lt;br /&gt;
! scope=&amp;quot;row&amp;quot; | {{para|postfix{{var|n}}}}&lt;br /&gt;
| adds additional wikitext to list-item{{var|n}}; typical use might be references or for wikilinked 'language' name for those languages that do not have an IETF language tag; see examples&lt;br /&gt;
| no&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Code&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; | Result&lt;br /&gt;
|-&lt;br /&gt;
| width=&amp;quot;33%&amp;quot;|&amp;lt;syntaxhighlight lang=&amp;quot;wikitext&amp;quot;&amp;gt;{{native name list&lt;br /&gt;
|tag1=de  |name1=Etsch  |italics1=no&lt;br /&gt;
|tag2=it  |name2=Adige&lt;br /&gt;
|tag3=vec |name3=Àdexe  |parensize3=90%&lt;br /&gt;
|tag4=rm  |name4=Adisch |paren4=omit&lt;br /&gt;
|tag5=lld |name5=Adesc  |nolink5=yes}}&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|{{native name list&lt;br /&gt;
|tag1=de|name1=Etsch|italics1=no&lt;br /&gt;
|tag2=it|name2=Adige&lt;br /&gt;
|tag3=vec|name3=Àdexe|parensize3=90%&lt;br /&gt;
|tag4=rm|name4=Adisch|paren4=omit&lt;br /&gt;
|tag5=lld|name5=Adesc|nolink5=yes}}&lt;br /&gt;
|-&lt;br /&gt;
!colspan=&amp;quot;2&amp;quot;|html&lt;br /&gt;
|-&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot;|{{code|lang=html|{{native name list&lt;br /&gt;
|tag1=de|name1=Etsch|italics1=no&lt;br /&gt;
|tag2=it|name2=Adige&lt;br /&gt;
|tag3=vec|name3=Àdexe|parensize3=90%&lt;br /&gt;
|tag4=rm|name4=Adisch|paren4=omit&lt;br /&gt;
|tag5=lld|name5=Adesc|nolink5=yes}}}}&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;syntaxhighlight lang=&amp;quot;wikitext&amp;quot;&amp;gt;{{native name list&lt;br /&gt;
|tag1=es|name1=Senda del Moro&lt;br /&gt;
|tag2=mis|name2=Cuesta de Mr. Bourne&lt;br /&gt;
|paren2=omit|postfix2=&amp;amp;nbsp;([[Llanito]])}}&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|{{native name list&lt;br /&gt;
|tag1=es|name1=Senda del Moro&lt;br /&gt;
|tag2=mis|name2=Cuesta de Mr. Bourne&lt;br /&gt;
|paren2=omit|postfix2=&amp;amp;nbsp;([[Llanito]])}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Tracking category==&lt;br /&gt;
&lt;br /&gt;
{{Category link with count|Native name list template errors}}&lt;br /&gt;
&lt;br /&gt;
==Template data==&lt;br /&gt;
&lt;br /&gt;
{{template data header}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;templatedata&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;params&amp;quot;: {&lt;br /&gt;
		&amp;quot;tag1&amp;quot;: {&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;language&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;language code&amp;quot;,&lt;br /&gt;
			&amp;quot;example&amp;quot;: &amp;quot;el, de&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: true&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;name1&amp;quot;: {&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;name&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;Name in foreign language&amp;quot;,&lt;br /&gt;
			&amp;quot;example&amp;quot;: &amp;quot;ευρώ, herzlich willkommen&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: true&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;italic1&amp;quot;: {&lt;br /&gt;
			&amp;quot;aliases&amp;quot;: [&lt;br /&gt;
				&amp;quot;italics1&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;italics&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;\&amp;quot;off\&amp;quot; will prevent italicising the name&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;,&lt;br /&gt;
			&amp;quot;default&amp;quot;: &amp;quot;on&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;paren1&amp;quot;: {&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;language name&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;Language name in parenthesis&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;,&lt;br /&gt;
			&amp;quot;default&amp;quot;: &amp;quot;on&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;parensize1&amp;quot;: {&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;language fontsize&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;font-size of the language (parenthesised)&amp;quot;,&lt;br /&gt;
			&amp;quot;example&amp;quot;: &amp;quot;90%&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;number&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;tag2&amp;quot;: {&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;language&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;language code&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;name2&amp;quot;: {&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;name&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;Name in foreign language&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;italic2&amp;quot;: {&lt;br /&gt;
			&amp;quot;aliases&amp;quot;: [&lt;br /&gt;
				&amp;quot;italics2&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;italics&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;,&lt;br /&gt;
			&amp;quot;default&amp;quot;: &amp;quot;on&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;paren2&amp;quot;: {&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;language name&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;,&lt;br /&gt;
			&amp;quot;default&amp;quot;: &amp;quot;on&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;parensize2&amp;quot;: {&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;language fontsize&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;number&amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;description&amp;quot;: &amp;quot;As {{native name}}, but with multiple name-language options&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/templatedata&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[IETF language tag]] list&lt;br /&gt;
&lt;br /&gt;
&amp;lt;includeonly&amp;gt;{{Sandbox other||&lt;br /&gt;
&amp;lt;!-- Categories below this line --&amp;gt;&lt;br /&gt;
[[Category:Wikipedia formatting templates]]&lt;br /&gt;
[[Category:Name templates]]&lt;br /&gt;
[[Category:Language templates]]&lt;br /&gt;
}}&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>Marie</name></author>
	</entry>
	<entry>
		<id>https://maruneko.autumns.page/mediawiki/index.php?title=Template:Nay&amp;diff=8575</id>
		<title>Template:Nay</title>
		<link rel="alternate" type="text/html" href="https://maruneko.autumns.page/mediawiki/index.php?title=Template:Nay&amp;diff=8575"/>
		<updated>2026-03-05T07:34:46Z</updated>

		<summary type="html">&lt;p&gt;Marie: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Red x.svg|{{{2|13px}}}|alt=Red X|link=]]{{#if:{{{1|}}}|&amp;amp;nbsp;'''{{{1|}}}'''}}&amp;lt;span style=&amp;quot;display: none;&amp;quot;&amp;gt;N&amp;lt;/span&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{documentation}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Marie</name></author>
	</entry>
	<entry>
		<id>https://maruneko.autumns.page/mediawiki/index.php?title=Template:Small&amp;diff=8573</id>
		<title>Template:Small</title>
		<link rel="alternate" type="text/html" href="https://maruneko.autumns.page/mediawiki/index.php?title=Template:Small&amp;diff=8573"/>
		<updated>2026-03-05T07:34:45Z</updated>

		<summary type="html">&lt;p&gt;Marie: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;span style=&amp;quot;font-size: 85%;&amp;quot;&amp;gt;{{{1}}}&amp;lt;/span&amp;gt;&amp;lt;includeonly&amp;gt;{{SAFESUBST:#invoke:Check for unknown parameters|check|unknown={{Main other|[[Category:Pages using small with unknown parameters|_VALUE_]]}}|preview=Page using [[Template:Small]] with unknown parameter &amp;quot;_VALUE_&amp;quot;|showblankpositional=1| 1 }}{{SAFESUBST:#if:{{{1|}}}||[[Category:Pages using small with an empty input parameter]]}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{Documentation}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Marie</name></author>
	</entry>
	<entry>
		<id>https://maruneko.autumns.page/mediawiki/index.php?title=Template:Native_name_list&amp;diff=8571</id>
		<title>Template:Native name list</title>
		<link rel="alternate" type="text/html" href="https://maruneko.autumns.page/mediawiki/index.php?title=Template:Native_name_list&amp;diff=8571"/>
		<updated>2026-03-05T07:34:18Z</updated>

		<summary type="html">&lt;p&gt;Marie: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#invoke:native name|native_name_list&amp;lt;noinclude&amp;gt;|tag1=fr|name1=Exemple|tag2=es|name2=Ejemplo&amp;lt;/noinclude&amp;gt;}}&amp;lt;noinclude&amp;gt;{{documentation}}&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Marie</name></author>
	</entry>
	<entry>
		<id>https://maruneko.autumns.page/mediawiki/index.php?title=List_of_currencies&amp;diff=8569</id>
		<title>List of currencies</title>
		<link rel="alternate" type="text/html" href="https://maruneko.autumns.page/mediawiki/index.php?title=List_of_currencies&amp;diff=8569"/>
		<updated>2026-03-05T07:19:16Z</updated>

		<summary type="html">&lt;p&gt;Marie: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Below is a list of currencies used on [[Jotunnheim]].&lt;br /&gt;
&lt;br /&gt;
==Currently circulating==&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Currencies&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 200px;&amp;quot; | Country&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 200px;&amp;quot; | Currency&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 55px;&amp;quot; | Symbol&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 55px;&amp;quot; | Code&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 50px;&amp;quot; | Fractional Unit&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 50px;&amp;quot; | Number&amp;lt;br&amp;gt;to Basic&lt;br /&gt;
|-&lt;br /&gt;
| {{flag|Dhimrai}}&lt;br /&gt;
| [[Jdovs]]&lt;br /&gt;
| &lt;br /&gt;
| JMJ&lt;br /&gt;
| &lt;br /&gt;
| 200&lt;br /&gt;
|-&lt;br /&gt;
| {{flag|Eran}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{flag|Menkhemon}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{flag|Teshkasta}}&lt;br /&gt;
| [[Monkh]]&lt;br /&gt;
|&lt;br /&gt;
| MNX&lt;br /&gt;
| &lt;br /&gt;
| 64&lt;br /&gt;
|-&lt;br /&gt;
| {{flag|Fugireu}}&amp;lt;br&amp;gt;{{flag|Hepetha}}&lt;br /&gt;
| [[Zared]]&lt;br /&gt;
|&lt;br /&gt;
| FZA&lt;br /&gt;
|&lt;br /&gt;
| 20&lt;br /&gt;
|-&lt;br /&gt;
| {{flag|Tschintiessteiss}}&amp;lt;br&amp;gt;{{flag|Five Isles}}&amp;lt;br&amp;gt;{{flag|Gintem Confederation}}&amp;lt;br&amp;gt;{{flag|Küüztschüüsches}}&lt;br /&gt;
| [[Tschintierst Muchon|Muchon]]&lt;br /&gt;
| &lt;br /&gt;
| TSM&lt;br /&gt;
| [[Düjaskee]]&lt;br /&gt;
| 200&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Historical==&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+ Currencies&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 200px;&amp;quot; | Country&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 200px;&amp;quot; | Currency&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 55px;&amp;quot; | Symbol&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 55px;&amp;quot; | Code&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 50px;&amp;quot; | Fractional Unit&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 50px;&amp;quot; | Number&amp;lt;br&amp;gt;to Basic&lt;br /&gt;
! scope=&amp;quot;col&amp;quot; style=&amp;quot;width: 50px;&amp;quot; | Discontinued&lt;br /&gt;
|-&lt;br /&gt;
| [[Kingdom of Oldiria]]&lt;br /&gt;
| [[Uskto]]&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| 4593 CY&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Lists]]&lt;/div&gt;</summary>
		<author><name>Marie</name></author>
	</entry>
	<entry>
		<id>https://maruneko.autumns.page/mediawiki/index.php?title=Module:Check_for_conflicting_parameters&amp;diff=8568</id>
		<title>Module:Check for conflicting parameters</title>
		<link rel="alternate" type="text/html" href="https://maruneko.autumns.page/mediawiki/index.php?title=Module:Check_for_conflicting_parameters&amp;diff=8568"/>
		<updated>2026-03-05T07:14:37Z</updated>

		<summary type="html">&lt;p&gt;Marie: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;local p = {}&lt;br /&gt;
&lt;br /&gt;
local function trim(s)&lt;br /&gt;
	return s:match('^%s*(.-)%s*$')&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function isnotempty(s)&lt;br /&gt;
	return s and s:match('%S')&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.check(frame)&lt;br /&gt;
	local args = frame.args&lt;br /&gt;
	local pargs = frame:getParent().args&lt;br /&gt;
	local checknested = isnotempty(args['nested'])&lt;br /&gt;
	local delimiter = isnotempty(args['delimiter']) and args['delimiter'] or ';'&lt;br /&gt;
	local argpairs = {}&lt;br /&gt;
	&lt;br /&gt;
	for k, v in pairs(args) do&lt;br /&gt;
		if type(k) == 'number' then&lt;br /&gt;
			local plist = mw.text.split(v, delimiter)&lt;br /&gt;
			local pfound = {}&lt;br /&gt;
			local count = 0&lt;br /&gt;
			for ii, vv in ipairs(plist) do&lt;br /&gt;
				vv = trim(vv)&lt;br /&gt;
				if checknested and pargs[vv] or isnotempty(pargs[vv]) then&lt;br /&gt;
					count = count + 1&lt;br /&gt;
					table.insert(pfound, vv)&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
			if count &amp;gt; 1 then&lt;br /&gt;
				table.insert(argpairs, pfound)&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local warnmsg = {}&lt;br /&gt;
	local res = ''&lt;br /&gt;
	local cat = ''&lt;br /&gt;
	if args['cat'] and mw.ustring.match(args['cat'],'^[Cc][Aa][Tt][Ee][Gg][Oo][Rr][Yy]:') then&lt;br /&gt;
		cat = args['cat']&lt;br /&gt;
	end&lt;br /&gt;
	local template = args['template'] and ' in ' .. args['template']  or ''&lt;br /&gt;
	if #argpairs &amp;gt; 0 then&lt;br /&gt;
		for i, v in ipairs( argpairs ) do&lt;br /&gt;
			table.insert(&lt;br /&gt;
				warnmsg,&lt;br /&gt;
				mw.ustring.format(&lt;br /&gt;
					'Using more than one of the following parameters%s: &amp;lt;code&amp;gt;%s&amp;lt;/code&amp;gt;.',&lt;br /&gt;
					template,&lt;br /&gt;
					table.concat(v, '&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;')&lt;br /&gt;
				)&lt;br /&gt;
			)&lt;br /&gt;
			if cat ~= '' then&lt;br /&gt;
				res = res .. '[[' .. cat .. '|' .. (v[1] == '' and ' ' or '') .. v[1] .. ']]'&lt;br /&gt;
			end	&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if #warnmsg &amp;gt; 0 then&lt;br /&gt;
		res = require('Module:If preview')._warning({&lt;br /&gt;
			table.concat(warnmsg, '&amp;lt;br&amp;gt;')&lt;br /&gt;
		}) .. res&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return res&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Marie</name></author>
	</entry>
	<entry>
		<id>https://maruneko.autumns.page/mediawiki/index.php?title=Module:Lang/data/is_latn_data&amp;diff=8566</id>
		<title>Module:Lang/data/is latn data</title>
		<link rel="alternate" type="text/html" href="https://maruneko.autumns.page/mediawiki/index.php?title=Module:Lang/data/is_latn_data&amp;diff=8566"/>
		<updated>2026-03-05T07:14:37Z</updated>

		<summary type="html">&lt;p&gt;Marie: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;--[[--------------------------&amp;lt; S I N G L E S _ T &amp;gt;-----------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
list of Latn and Zyyy (common) codepoints that are not included in &amp;lt;ranges_t&amp;gt; taken from Module:Unicode data/scripts&lt;br /&gt;
and a local copy of https://www.unicode.org/Public/16.0.0/ucd/ScriptExtensions.txt&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local singles_t = {&lt;br /&gt;
	[170] = true,																-- 00AA&lt;br /&gt;
	[186] = true,																-- 00BA&lt;br /&gt;
	[215] = true,																-- 00D7&lt;br /&gt;
	[247] = true,																-- 00F7&lt;br /&gt;
	[787] = true,																-- 0313&lt;br /&gt;
	[800] = true,																-- 0320&lt;br /&gt;
	[856] = true,																-- 0358&lt;br /&gt;
	[862] = true,																-- 035E&lt;br /&gt;
	[884] = true,																-- 0374&lt;br /&gt;
	[894] = true,																-- 037E&lt;br /&gt;
	[901] = true,																-- 0385&lt;br /&gt;
	[903] = true,																-- 0387&lt;br /&gt;
	[1541] = true,																-- 0605&lt;br /&gt;
	[1548] = true,																-- 060C&lt;br /&gt;
	[1563] = true,																-- 061B&lt;br /&gt;
	[1567] = true,																-- 061F&lt;br /&gt;
	[1600] = true,																-- 0640&lt;br /&gt;
	[1757] = true,																-- 06DD&lt;br /&gt;
	[2274] = true,																-- 08E2&lt;br /&gt;
	[3647] = true,																-- 0E3F&lt;br /&gt;
	[4347] = true,																-- 10FB&lt;br /&gt;
	[6149] = true,																-- 1805&lt;br /&gt;
	[7379] = true,																-- 1CD3&lt;br /&gt;
	[7393] = true,																-- 1CE1&lt;br /&gt;
	[7418] = true,																-- 1CFA&lt;br /&gt;
	[7672] = true,																-- 1DF8&lt;br /&gt;
	[8305] = true,																-- 2071&lt;br /&gt;
	[8319] = true,																-- 207F&lt;br /&gt;
	[8432] = true,																-- 20F0&lt;br /&gt;
	[8498] = true,																-- 2132&lt;br /&gt;
	[8526] = true,																-- 214E&lt;br /&gt;
	[12294] = true,																-- 3006&lt;br /&gt;
	[12448] = true,																-- 30A0&lt;br /&gt;
	[12783] = true,																-- 31EF&lt;br /&gt;
	[13055] = true,																-- 32FF&lt;br /&gt;
	[42963] = true,																-- A7D3&lt;br /&gt;
	[43310] = true,																-- A92E&lt;br /&gt;
	[43471] = true,																-- A9CF&lt;br /&gt;
	[43867] = true,																-- AB5B&lt;br /&gt;
	[65279] = true,																-- FEFF&lt;br /&gt;
	[65392] = true,																-- FF70&lt;br /&gt;
	[119970] = true,															-- 1D4A2&lt;br /&gt;
	[119995] = true,															-- 1D4BB&lt;br /&gt;
	[120134] = true,															-- 1D546&lt;br /&gt;
	[129008] = true,															-- 1F7F0&lt;br /&gt;
	[917505] = true,															-- E0001&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; R A N G E S _ T &amp;gt;-------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
list of Latn and Zyyy (common) codepoints taken from Module:Unicode data/scripts and a local copy of&lt;br /&gt;
https://www.unicode.org/Public/16.0.0/ucd/ScriptExtensions.txt&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local ranges_t = {&lt;br /&gt;
	{0, 169},																	-- 0000..00A9&lt;br /&gt;
	{171, 185},																	-- 00AB..00B9&lt;br /&gt;
	{187, 214},																	-- 00BB..00D6&lt;br /&gt;
	{216, 246},																	-- 00D8..00F6&lt;br /&gt;
	{248, 745},																	-- 00F8..02E9&lt;br /&gt;
	{748, 782},																	-- 02EC..030E&lt;br /&gt;
	{784, 785},																	-- 0310..0311&lt;br /&gt;
	{803, 805},																	-- 0323..0325&lt;br /&gt;
	{813, 814},																	-- 032D..032E&lt;br /&gt;
	{816, 817},																	-- 0330..0331&lt;br /&gt;
	{867, 879},																	-- 0363..036F&lt;br /&gt;
	{1157, 1158},																-- 0485..0486&lt;br /&gt;
	{2385, 2386},																-- 0951..0952&lt;br /&gt;
	{2404, 2405},																-- 0964..0965&lt;br /&gt;
	{4053, 4056},																-- 0FD5..0FD8&lt;br /&gt;
	{5867, 5869},																-- 16EB..16ED&lt;br /&gt;
	{5941, 5942},																-- 1735..1736&lt;br /&gt;
	{6146, 6147},																-- 1802..1803&lt;br /&gt;
	{7401, 7404},																-- 1CE9..1CEC&lt;br /&gt;
	{7406, 7411},																-- 1CEE..1CF3&lt;br /&gt;
	{7413, 7415},																-- 1CF5..1CF7&lt;br /&gt;
	{7424, 7461},																-- 1D00..1D25&lt;br /&gt;
	{7468, 7516},																-- 1D2C..1D5C&lt;br /&gt;
	{7522, 7525},																-- 1D62..1D65&lt;br /&gt;
	{7531, 7543},																-- 1D6B..1D77&lt;br /&gt;
	{7545, 7614},																-- 1D79..1DBE&lt;br /&gt;
	{7680, 7935},																-- 1E00..1EFF&lt;br /&gt;
	{8192, 8203},																-- 2000..200B&lt;br /&gt;
	{8206, 8292},																-- 200E..2064&lt;br /&gt;
	{8294, 8304},																-- 2066..2070&lt;br /&gt;
	{8308, 8318},																-- 2074..207E&lt;br /&gt;
	{8320, 8334},																-- 2080..208E&lt;br /&gt;
	{8336, 8348},																-- 2090..209C&lt;br /&gt;
	{8352, 8384},																-- 20A0..20C0&lt;br /&gt;
	{8448, 8485},																-- 2100..2125&lt;br /&gt;
	{8487, 8497},																-- 2127..2131&lt;br /&gt;
	{8499, 8525},																-- 2133..214D&lt;br /&gt;
	{8527, 8587},																-- 214F..218B&lt;br /&gt;
	{8592, 9257},																-- 2190..2429&lt;br /&gt;
	{9280, 9290},																-- 2440..244A&lt;br /&gt;
	{9312, 10239},																-- 2460..27FF&lt;br /&gt;
	{10496, 11123},																-- 2900..2B73&lt;br /&gt;
	{11126, 11157},																-- 2B76..2B95&lt;br /&gt;
	{11159, 11263},																-- 2B97..2BFF&lt;br /&gt;
	{11360, 11391},																-- 2C60..2C7F&lt;br /&gt;
	{11776, 11869},																-- 2E00..2E5D&lt;br /&gt;
	{12272, 12292},																-- 2FF0..3004&lt;br /&gt;
	{12296, 12320},																-- 3008..3020&lt;br /&gt;
	{12336, 12343},																-- 3030..3037&lt;br /&gt;
	{12348, 12351},																-- 303C..303F&lt;br /&gt;
	{12443, 12444},																-- 309B..309C&lt;br /&gt;
	{12539, 12540},																-- 30FB..30FC&lt;br /&gt;
	{12688, 12703},																-- 3190..319F&lt;br /&gt;
	{12736, 12773},																-- 31C0..31E5&lt;br /&gt;
	{12832, 12895},																-- 3220..325F&lt;br /&gt;
	{12927, 13007},																-- 327F..32CF&lt;br /&gt;
	{13144, 13311},																-- 3358..33FF&lt;br /&gt;
	{19904, 19967},																-- 4DC0..4DFF&lt;br /&gt;
	{42752, 42957},																-- A700..A7CD&lt;br /&gt;
	{42960, 42961},																-- A7D0..A7D1&lt;br /&gt;
	{42965, 42972},																-- A7D5..A7DC&lt;br /&gt;
	{42994, 43007},																-- A7F2..A7FF&lt;br /&gt;
	{43056, 43065},																-- A830..A839&lt;br /&gt;
	{43824, 43866},																-- AB30..AB5A&lt;br /&gt;
	{43868, 43876},																-- AB5C..AB64&lt;br /&gt;
	{43878, 43883},																-- AB66..AB6B&lt;br /&gt;
	{64256, 64262},																-- FB00..FB06&lt;br /&gt;
	{64830, 64831},																-- FD3E..FD3F&lt;br /&gt;
	{65040, 65049},																-- FE10..FE19&lt;br /&gt;
	{65072, 65106},																-- FE30..FE52&lt;br /&gt;
	{65108, 65126},																-- FE54..FE66&lt;br /&gt;
	{65128, 65131},																-- FE68..FE6B&lt;br /&gt;
	{65281, 65381},																-- FF01..FF65&lt;br /&gt;
	{65438, 65439},																-- FF9E..FF9F&lt;br /&gt;
	{65504, 65510},																-- FFE0..FFE6&lt;br /&gt;
	{65512, 65518},																-- FFE8..FFEE&lt;br /&gt;
	{65529, 65533},																-- FFF9..FFFD&lt;br /&gt;
	{65792, 65794},																-- 10100..10102&lt;br /&gt;
	{65799, 65843},																-- 10107..10133&lt;br /&gt;
	{65847, 65855},																-- 10137..1013F&lt;br /&gt;
	{65936, 65948},																-- 10190..1019C&lt;br /&gt;
	{66000, 66044},																-- 101D0..101FC&lt;br /&gt;
	{66273, 66299},																-- 102E1..102FB&lt;br /&gt;
	{67456, 67461},																-- 10780..10785&lt;br /&gt;
	{67463, 67504},																-- 10787..107B0&lt;br /&gt;
	{67506, 67514},																-- 107B2..107BA&lt;br /&gt;
	{113824, 113827},															-- 1BCA0..1BCA3&lt;br /&gt;
	{117760, 118009},															-- 1CC00..1CCF9&lt;br /&gt;
	{118016, 118451},															-- 1CD00..1CEB3&lt;br /&gt;
	{118608, 118723},															-- 1CF50..1CFC3&lt;br /&gt;
	{118784, 119029},															-- 1D000..1D0F5&lt;br /&gt;
	{119040, 119078},															-- 1D100..1D126&lt;br /&gt;
	{119081, 119142},															-- 1D129..1D166&lt;br /&gt;
	{119146, 119162},															-- 1D16A..1D17A&lt;br /&gt;
	{119171, 119172},															-- 1D183..1D184&lt;br /&gt;
	{119180, 119209},															-- 1D18C..1D1A9&lt;br /&gt;
	{119214, 119274},															-- 1D1AE..1D1EA&lt;br /&gt;
	{119488, 119507},															-- 1D2C0..1D2D3&lt;br /&gt;
	{119520, 119539},															-- 1D2E0..1D2F3&lt;br /&gt;
	{119552, 119638},															-- 1D300..1D356&lt;br /&gt;
	{119648, 119672},															-- 1D360..1D378&lt;br /&gt;
	{119808, 119892},															-- 1D400..1D454&lt;br /&gt;
	{119894, 119964},															-- 1D456..1D49C&lt;br /&gt;
	{119966, 119967},															-- 1D49E..1D49F&lt;br /&gt;
	{119973, 119974},															-- 1D4A5..1D4A6&lt;br /&gt;
	{119977, 119980},															-- 1D4A9..1D4AC&lt;br /&gt;
	{119982, 119993},															-- 1D4AE..1D4B9&lt;br /&gt;
	{119997, 120003},															-- 1D4BD..1D4C3&lt;br /&gt;
	{120005, 120069},															-- 1D4C5..1D505&lt;br /&gt;
	{120071, 120074},															-- 1D507..1D50A&lt;br /&gt;
	{120077, 120084},															-- 1D50D..1D514&lt;br /&gt;
	{120086, 120092},															-- 1D516..1D51C&lt;br /&gt;
	{120094, 120121},															-- 1D51E..1D539&lt;br /&gt;
	{120123, 120126},															-- 1D53B..1D53E&lt;br /&gt;
	{120128, 120132},															-- 1D540..1D544&lt;br /&gt;
	{120138, 120144},															-- 1D54A..1D550&lt;br /&gt;
	{120146, 120485},															-- 1D552..1D6A5&lt;br /&gt;
	{120488, 120779},															-- 1D6A8..1D7CB&lt;br /&gt;
	{120782, 120831},															-- 1D7CE..1D7FF&lt;br /&gt;
	{122624, 122654},															-- 1DF00..1DF1E&lt;br /&gt;
	{122661, 122666},															-- 1DF25..1DF2A&lt;br /&gt;
	{126065, 126132},															-- 1EC71..1ECB4&lt;br /&gt;
	{126209, 126269},															-- 1ED01..1ED3D&lt;br /&gt;
	{126976, 127019},															-- 1F000..1F02B&lt;br /&gt;
	{127024, 127123},															-- 1F030..1F093&lt;br /&gt;
	{127136, 127150},															-- 1F0A0..1F0AE&lt;br /&gt;
	{127153, 127167},															-- 1F0B1..1F0BF&lt;br /&gt;
	{127169, 127183},															-- 1F0C1..1F0CF&lt;br /&gt;
	{127185, 127221},															-- 1F0D1..1F0F5&lt;br /&gt;
	{127232, 127405},															-- 1F100..1F1AD&lt;br /&gt;
	{127462, 127487},															-- 1F1E6..1F1FF&lt;br /&gt;
	{127489, 127490},															-- 1F201..1F202&lt;br /&gt;
	{127504, 127547},															-- 1F210..1F23B&lt;br /&gt;
	{127552, 127560},															-- 1F240..1F248&lt;br /&gt;
	{127568, 127569},															-- 1F250..1F251&lt;br /&gt;
	{127584, 127589},															-- 1F260..1F265&lt;br /&gt;
	{127744, 128727},															-- 1F300..1F6D7&lt;br /&gt;
	{128732, 128748},															-- 1F6DC..1F6EC&lt;br /&gt;
	{128752, 128764},															-- 1F6F0..1F6FC&lt;br /&gt;
	{128768, 128886},															-- 1F700..1F776&lt;br /&gt;
	{128891, 128985},															-- 1F77B..1F7D9&lt;br /&gt;
	{128992, 129003},															-- 1F7E0..1F7EB&lt;br /&gt;
	{129024, 129035},															-- 1F800..1F80B&lt;br /&gt;
	{129040, 129095},															-- 1F810..1F847&lt;br /&gt;
	{129104, 129113},															-- 1F850..1F859&lt;br /&gt;
	{129120, 129159},															-- 1F860..1F887&lt;br /&gt;
	{129168, 129197},															-- 1F890..1F8AD&lt;br /&gt;
	{129200, 129211},															-- 1F8B0..1F8BB&lt;br /&gt;
	{129216, 129217},															-- 1F8C0..1F8C1&lt;br /&gt;
	{129280, 129619},															-- 1F900..1FA53&lt;br /&gt;
	{129632, 129645},															-- 1FA60..1FA6D&lt;br /&gt;
	{129648, 129660},															-- 1FA70..1FA7C&lt;br /&gt;
	{129664, 129673},															-- 1FA80..1FA89&lt;br /&gt;
	{129679, 129734},															-- 1FA8F..1FAC6&lt;br /&gt;
	{129742, 129756},															-- 1FACE..1FADC&lt;br /&gt;
	{129759, 129769},															-- 1FADF..1FAE9&lt;br /&gt;
	{129776, 129784},															-- 1FAF0..1FAF8&lt;br /&gt;
	{129792, 129938},															-- 1FB00..1FB92&lt;br /&gt;
	{129940, 130041},															-- 1FB94..1FBF9&lt;br /&gt;
	{917536, 917631},															-- E0020..E007F&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; S P E C I A L S _ T &amp;gt;---------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
list of individual language-specific non-Latn and non-Zyyy codepoints; these codepoints commonly used in&lt;br /&gt;
transliterations.  This list is manually currated so is most likely incomplete.&lt;br /&gt;
&lt;br /&gt;
keys to &amp;lt;specials_t&amp;gt; are decimal codepoints; other keys are language tags (always lowercase) of language&lt;br /&gt;
transliterations that use these non-Latn codepoints.&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local specials_t = {&lt;br /&gt;
	[788] = {																	-- U+0314: COMBINING REVERSED COMMA ABOVE&lt;br /&gt;
			[&amp;quot;hy&amp;quot;] = true,														-- Armenian&lt;br /&gt;
			},&lt;br /&gt;
	[794] = {																	-- U+031A: COMBINING LEFT ANGLE ABOVE&lt;br /&gt;
			[&amp;quot;ltc&amp;quot;] = true,														-- Middle Chinese; is this really IPA?&lt;br /&gt;
			},&lt;br /&gt;
	[795] = {																	-- U+031B: COMBINING HORN&lt;br /&gt;
			[&amp;quot;th&amp;quot;] = true,														-- Thai&lt;br /&gt;
			},&lt;br /&gt;
	[806] = {																	-- U+0326: COMBINING COMMA BELOW&lt;br /&gt;
			[&amp;quot;ab&amp;quot;] = true,														-- Abkhaz&lt;br /&gt;
			[&amp;quot;kca&amp;quot;] = true,														-- Khanty&lt;br /&gt;
			[&amp;quot;xal&amp;quot;] = true,														-- Kalmyk or Oirat&lt;br /&gt;
			},&lt;br /&gt;
	[807] = {																	-- U+0327: COMBINING CEDILLA&lt;br /&gt;
			[&amp;quot;fa&amp;quot;] = true,														-- Persian&lt;br /&gt;
			},&lt;br /&gt;
	[809] = {																	-- U+0329: COMBINING VERTICAL LINE BELOW&lt;br /&gt;
			[&amp;quot;ab&amp;quot;] = true,														-- Abkhaz&lt;br /&gt;
			[&amp;quot;sa&amp;quot;] = true,														-- Sanskrit&lt;br /&gt;
			},&lt;br /&gt;
	[815] = {																	-- U+032F: COMBINING INVERTED BREVE BELOW&lt;br /&gt;
			[&amp;quot;mong&amp;quot;] = true,													-- Mongolian&lt;br /&gt;
			[&amp;quot;xsc&amp;quot;] = true,														-- Scythian&lt;br /&gt;
			},&lt;br /&gt;
	[818] = {																	-- U+0332: COMBINING LOW LINE&lt;br /&gt;
			[&amp;quot;ar&amp;quot;] = true,														-- Arabic&lt;br /&gt;
			[&amp;quot;hbo&amp;quot;] = true,														-- Ancient Hebrew&lt;br /&gt;
			[&amp;quot;he&amp;quot;] = true,														-- Hebrew&lt;br /&gt;
			[&amp;quot;jpa&amp;quot;] = true,														-- Jewish Palestinian Aramaic&lt;br /&gt;
			[&amp;quot;mdh&amp;quot;] = true,														-- Maguindanaon&lt;br /&gt;
			[&amp;quot;otk&amp;quot;] = true,														-- Old Turkish&lt;br /&gt;
			},&lt;br /&gt;
	[831] = {																	-- U+033F: COMBINING DOUBLE OVERLINE&lt;br /&gt;
			[&amp;quot;mnp&amp;quot;] = true,														-- Northern Min Chinese, Jian'ou dialect&lt;br /&gt;
			},&lt;br /&gt;
	[855] = {																	-- U+0357: COMBINING RIGHT HALF RING ABOVE&lt;br /&gt;
			[&amp;quot;egy&amp;quot;] = true,														-- Ancient Egyptian&lt;br /&gt;
			},&lt;br /&gt;
	[863] = {																	-- U+035F: COMBINING DOUBLE MACRON BELOW&lt;br /&gt;
			[&amp;quot;am&amp;quot;] = true,														-- Amharic&lt;br /&gt;
			[&amp;quot;ar&amp;quot;] = true,														-- Arabic&lt;br /&gt;
			[&amp;quot;dv&amp;quot;] = true,														-- Dhivehi, Divehi, or Maldivian&lt;br /&gt;
			[&amp;quot;fa&amp;quot;] = true,														-- Persian&lt;br /&gt;
			[&amp;quot;hi&amp;quot;] = true,														-- Hindi&lt;br /&gt;
			[&amp;quot;inc&amp;quot;] = true,														-- Indic languages&lt;br /&gt;
			[&amp;quot;ur&amp;quot;] = true,														-- Urdu&lt;br /&gt;
			},&lt;br /&gt;
	[864] = {																	-- U+0360: COMBINING DOUBLE TILDE&lt;br /&gt;
			[&amp;quot;hi&amp;quot;] = true,														-- Hindi&lt;br /&gt;
			},&lt;br /&gt;
	[865] = {																	-- U+0361: COMBINING DOUBLE INVERTED BREVE&lt;br /&gt;
			[&amp;quot;be&amp;quot;] = true,														-- Belarusian&lt;br /&gt;
			[&amp;quot;ltc&amp;quot;] = true,														-- Middle Chinese; is this really IPA?&lt;br /&gt;
			[&amp;quot;ru&amp;quot;] = true,														-- Russian&lt;br /&gt;
			[&amp;quot;rue&amp;quot;] = true, 													-- Rusyn&lt;br /&gt;
			[&amp;quot;sem&amp;quot;] = true,														-- Semitic languages&lt;br /&gt;
			[&amp;quot;sit&amp;quot;] = true,														-- Sino-Tibetan languages&lt;br /&gt;
			[&amp;quot;tt&amp;quot;] = true,														-- Tatar&lt;br /&gt;
			},&lt;br /&gt;
	[916] = {																	-- U+0394: GREEK CAPITAL LETTER DELTA&lt;br /&gt;
			[&amp;quot;xsc&amp;quot;] = true,														-- Scythian&lt;br /&gt;
			[&amp;quot;xsc-x-pontic&amp;quot;] = true,											-- Pontic Scythian&lt;br /&gt;
			},&lt;br /&gt;
	[920] = {																	-- U+0398: GREEK CAPITAL LETTER THETA&lt;br /&gt;
			[&amp;quot;ae&amp;quot;] = true,														-- Avestan&lt;br /&gt;
			},&lt;br /&gt;
	[934] = {																	-- U+03A6: GREEK CAPITAL LETTER PHI&lt;br /&gt;
			[&amp;quot;xle&amp;quot;] = true,														-- Lemnian&lt;br /&gt;
			},&lt;br /&gt;
	[945] = {																	-- U+03B1: GREEK SMALL LETTER ALPHA&lt;br /&gt;
			[&amp;quot;apc&amp;quot;] = true,														-- Levantine Arabic&lt;br /&gt;
			},&lt;br /&gt;
	[946] = {																	-- U+03B2: GREEK SMALL LETTER BETA&lt;br /&gt;
			[&amp;quot;ae&amp;quot;] = true,														-- Avestan&lt;br /&gt;
			[&amp;quot;gha&amp;quot;] = true,														-- Ghadamès&lt;br /&gt;
			[&amp;quot;ougr&amp;quot;] = true,													-- Old Uyghur&lt;br /&gt;
			[&amp;quot;sem&amp;quot;] = true,														-- Semitic languages&lt;br /&gt;
			[&amp;quot;syc&amp;quot;] = true,														-- Classical Syriac&lt;br /&gt;
			[&amp;quot;wuu&amp;quot;] = true,														-- Shanghainese variety of Wu Chinese&lt;br /&gt;
			},&lt;br /&gt;
	[947] = {																	-- U+03B3: GREEK SMALL LETTER GAMMA&lt;br /&gt;
			[&amp;quot;ae&amp;quot;] = true,														-- Avestan&lt;br /&gt;
			[&amp;quot;ltc&amp;quot;] = true,														-- Late Middle Chinese&lt;br /&gt;
			[&amp;quot;mn&amp;quot;] = true,														-- Mongolian&lt;br /&gt;
			[&amp;quot;och&amp;quot;] = true,														-- Old Chinese&lt;br /&gt;
			[&amp;quot;ougr&amp;quot;] = true,													-- Old Uyghur&lt;br /&gt;
			[&amp;quot;pal&amp;quot;] = true,														-- Middle Persian&lt;br /&gt;
			[&amp;quot;syc&amp;quot;] = true,														-- Classical Syriac&lt;br /&gt;
			[&amp;quot;syr&amp;quot;] = true,														-- Syriac&lt;br /&gt;
			[&amp;quot;xal&amp;quot;] = true,														-- Kalmyk or Oirat&lt;br /&gt;
			[&amp;quot;xng&amp;quot;] = true,														-- Middle Mongolian&lt;br /&gt;
			[&amp;quot;xsc&amp;quot;] = true,														-- Scythian&lt;br /&gt;
			[&amp;quot;ydg&amp;quot;] = true,														-- Yidgha&lt;br /&gt;
			[&amp;quot;mong&amp;quot;] = true,													-- Mongolian&lt;br /&gt;
			},&lt;br /&gt;
	[948] = {																	-- U+03B4: GREEK SMALL LETTER DELTA&lt;br /&gt;
			[&amp;quot;ae&amp;quot;] = true,														-- Avestan&lt;br /&gt;
			[&amp;quot;ougr&amp;quot;] = true,													-- Old Uyghur&lt;br /&gt;
			[&amp;quot;sog&amp;quot;] = true,														-- Sogdian&lt;br /&gt;
			[&amp;quot;sogd&amp;quot;] = true,													-- Sogdian&lt;br /&gt;
			[&amp;quot;syc&amp;quot;] = true,														-- Classical Syriac&lt;br /&gt;
			[&amp;quot;xpr&amp;quot;] = true,														-- Parthian&lt;br /&gt;
			[&amp;quot;xsc&amp;quot;] = true,														-- Scythian&lt;br /&gt;
			[&amp;quot;xsc-x-pontic&amp;quot;] = true,											-- Pontic Scythian&lt;br /&gt;
			},&lt;br /&gt;
	[952] = {																	-- U+03B8: GREEK SMALL LETTER THETA&lt;br /&gt;
			[&amp;quot;ae&amp;quot;] = true,														-- Avestan&lt;br /&gt;
			[&amp;quot;ba&amp;quot;] = true,														-- Bashkir&lt;br /&gt;
			[&amp;quot;cms&amp;quot;] = true,														-- Messapic&lt;br /&gt;
			[&amp;quot;ett&amp;quot;] = true,														-- Etruscan&lt;br /&gt;
			[&amp;quot;hur&amp;quot;] = true,														-- Halkomelem&lt;br /&gt;
			[&amp;quot;ira&amp;quot;] = true,														-- Iranian languages&lt;br /&gt;
			[&amp;quot;my&amp;quot;] = true,														-- Burmese&lt;br /&gt;
			[&amp;quot;pal&amp;quot;] = true,														-- Middle Persian (Pahlavi)&lt;br /&gt;
			[&amp;quot;peo&amp;quot;] = true,														-- Old Persian&lt;br /&gt;
			[&amp;quot;sa&amp;quot;] = true,														-- Sanskrit&lt;br /&gt;
			[&amp;quot;sem&amp;quot;] = true,														-- Semitic languages&lt;br /&gt;
			[&amp;quot;syc&amp;quot;] = true,														-- Classical Syriac&lt;br /&gt;
			[&amp;quot;syr&amp;quot;] = true,														-- Syriac&lt;br /&gt;
			[&amp;quot;xme&amp;quot;] = true,														-- Median&lt;br /&gt;
			[&amp;quot;xpg&amp;quot;] = true,														-- Phrygian&lt;br /&gt;
			[&amp;quot;xpr&amp;quot;] = true,														-- Parthian&lt;br /&gt;
			[&amp;quot;xsc&amp;quot;] = true,														-- Scythian&lt;br /&gt;
			},&lt;br /&gt;
	[955] = {																	-- U+03BB: GREEK SMALL LETTER LAMDA&lt;br /&gt;
			[&amp;quot;xcr&amp;quot;] = true,														-- Carian&lt;br /&gt;
			[&amp;quot;xld&amp;quot;] = true,														-- Lydian&lt;br /&gt;
			},&lt;br /&gt;
	[963] = {																	-- U+03C3: GREEK SMALL LETTER SIGMA&lt;br /&gt;
			[&amp;quot;ett&amp;quot;] = true,														-- Etruscan&lt;br /&gt;
			},&lt;br /&gt;
	[964] = {																	-- U+03C4: GREEK SMALL LETTER TAU&lt;br /&gt;
			[&amp;quot;xld&amp;quot;] = true,														-- Lydian&lt;br /&gt;
			},&lt;br /&gt;
	[966] = {																	-- U+03C6: GREEK SMALL LETTER PHI&lt;br /&gt;
			[&amp;quot;ett&amp;quot;] = true,														-- Etruscan&lt;br /&gt;
			},&lt;br /&gt;
	[967] = {																	-- U+03C7: GREEK SMALL LETTER CHI&lt;br /&gt;
			[&amp;quot;ett&amp;quot;] = true,														-- Etruscan&lt;br /&gt;
			[&amp;quot;gem&amp;quot;] = true,														-- Germanic languages&lt;br /&gt;
			[&amp;quot;hur&amp;quot;] = true,														-- Halkomelem&lt;br /&gt;
			[&amp;quot;kbd&amp;quot;] = true,														-- Kabardian&lt;br /&gt;
			[&amp;quot;ltc&amp;quot;] = true,														-- Late Middle Chinese&lt;br /&gt;
			[&amp;quot;och&amp;quot;] = true,														-- Old Chinese&lt;br /&gt;
			[&amp;quot;xlc&amp;quot;] = true,														-- Lycian&lt;br /&gt;
			[&amp;quot;xle&amp;quot;] = true,														-- Lemnian&lt;br /&gt;
			},&lt;br /&gt;
	[968] = {																	-- U+03C8: GREEK SMALL LETTER PSI&lt;br /&gt;
			[&amp;quot;ett&amp;quot;] = true,														-- Etruscan&lt;br /&gt;
			},&lt;br /&gt;
	[977] = {																	-- U+03D1: GREEK THETA SYMBOL (cursive form)&lt;br /&gt;
			[&amp;quot;ae&amp;quot;] = true,														-- Avestan&lt;br /&gt;
			[&amp;quot;ira&amp;quot;] = true,														-- Iranian languages&lt;br /&gt;
			[&amp;quot;peo&amp;quot;] = true,														-- Old Persian&lt;br /&gt;
			[&amp;quot;xme&amp;quot;] = true,														-- Median&lt;br /&gt;
			[&amp;quot;xsc&amp;quot;] = true,														-- Scythian&lt;br /&gt;
			[&amp;quot;xsc-x-pontic&amp;quot;] = true,											-- Pontic Scythian&lt;br /&gt;
			},&lt;br /&gt;
	[1098] = {																	-- U+044A: CYRILLIC SMALL LETTER HARD SIGN&lt;br /&gt;
			[&amp;quot;ady&amp;quot;] = true,														-- Adyghe&lt;br /&gt;
			[&amp;quot;cu&amp;quot;] = true,														-- Church Slavic&lt;br /&gt;
			[&amp;quot;zls&amp;quot;] = true,														-- South Slavic languages&lt;br /&gt;
			},&lt;br /&gt;
	[1100] = {																	-- U+044C: CYRILLIC SMALL LETTER SOFT SIGN&lt;br /&gt;
			[&amp;quot;az&amp;quot;] = true,														-- Azerbaijani&lt;br /&gt;
			[&amp;quot;cu&amp;quot;] = true,														-- Church Slavonic&lt;br /&gt;
			[&amp;quot;dng&amp;quot;] = true,														-- Dungan&lt;br /&gt;
			[&amp;quot;ru&amp;quot;] = true,														-- Russian&lt;br /&gt;
			[&amp;quot;tt&amp;quot;] = true,														-- Tatar&lt;br /&gt;
			[&amp;quot;tyv&amp;quot;] = true,														-- Tuvinian&lt;br /&gt;
			},&lt;br /&gt;
	[1278] = {																	-- U+04FE: CYRILLIC CAPITAL LETTER HA WITH STROKE&lt;br /&gt;
			[&amp;quot;av&amp;quot;] = true,														-- Avar&lt;br /&gt;
			},&lt;br /&gt;
	[1279] = {																	-- U+04FF: CYRILLIC SMALL LETTER HA WITH STROKE&lt;br /&gt;
			[&amp;quot;av&amp;quot;] = true,														-- Avar&lt;br /&gt;
			},&lt;br /&gt;
	[8113] = {																	-- U+1FB1: GREEK SMALL LETTER ALPHA WITH MACRON&lt;br /&gt;
			[&amp;quot;apc&amp;quot;] = true,														-- Levantine Arabic&lt;br /&gt;
			},&lt;br /&gt;
	[8190] = {																	-- U+1FFE: GREEK DASIA&lt;br /&gt;
			[&amp;quot;ar&amp;quot;] = true,														-- Arabic (Ayin)&lt;br /&gt;
			[&amp;quot;xcl&amp;quot;] = true,														-- Classical Armenian&lt;br /&gt;
			},&lt;br /&gt;
	[19978] = {																	-- U+4E0A: [CJK Unified Ideographs]&lt;br /&gt;
			[&amp;quot;wuu&amp;quot;] = true,														-- Wu Chinese tone marker&lt;br /&gt;
			},&lt;br /&gt;
	[20837] = {																	-- U+5165: [CJK Unified Ideographs]&lt;br /&gt;
			[&amp;quot;wuu&amp;quot;] = true,														-- Wu Chinese tone marker&lt;br /&gt;
			},&lt;br /&gt;
	[21435] = {																	-- U+53BB: [CJK Unified Ideographs]&lt;br /&gt;
			[&amp;quot;wuu&amp;quot;] = true,														-- Wu Chinese tone marker&lt;br /&gt;
			},&lt;br /&gt;
	[24179] = {																	-- U+5E73: [CJK Unified Ideographs]&lt;br /&gt;
			[&amp;quot;wuu&amp;quot;] = true,														-- Wu Chinese tone marker&lt;br /&gt;
			},&lt;br /&gt;
	[38451] = {																	-- U+9633: [CJK Unified Ideographs] (Yang)&lt;br /&gt;
			[&amp;quot;wuu&amp;quot;] = true,														-- Suzhou dialect of Wu Chinese tone marker --[[Suzhou dialect#Tones]]&lt;br /&gt;
			},&lt;br /&gt;
	[38452] = {																	-- U+9634: [CJK Unified Ideographs] (Yin)&lt;br /&gt;
			[&amp;quot;wuu&amp;quot;] = true,														-- Suzhou dialect of Wu Chinese tone marker --[[Suzhou dialect#Tones]]&lt;br /&gt;
			},&lt;br /&gt;
	[65056] = {																	-- U+FE20: COMBINING LIGATURE LEFT HALF&lt;br /&gt;
			[&amp;quot;ru&amp;quot;] = true,														-- Russian&lt;br /&gt;
			},&lt;br /&gt;
	[65057] = {																	-- U+FE21: COMBINING LIGATURE RIGHT HALF&lt;br /&gt;
			[&amp;quot;ru&amp;quot;] = true,														-- Russian&lt;br /&gt;
			},&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; E X P O R T S &amp;gt;---------------------------------------------------------------&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
return {&lt;br /&gt;
	ranges_t = ranges_t,&lt;br /&gt;
	singles_t = singles_t,&lt;br /&gt;
	specials_t = specials_t,&lt;br /&gt;
	&lt;br /&gt;
	sizeof_ranges_t = #ranges_t,&lt;br /&gt;
	}&lt;/div&gt;</summary>
		<author><name>Marie</name></author>
	</entry>
	<entry>
		<id>https://maruneko.autumns.page/mediawiki/index.php?title=Module:Lang/configuration&amp;diff=8564</id>
		<title>Module:Lang/configuration</title>
		<link rel="alternate" type="text/html" href="https://maruneko.autumns.page/mediawiki/index.php?title=Module:Lang/configuration&amp;diff=8564"/>
		<updated>2026-03-05T07:14:37Z</updated>

		<summary type="html">&lt;p&gt;Marie: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;--[[--------------------------&amp;lt; T E M P L A T E S _ T &amp;gt;--------------------------------------------------------&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local templates_t = {&lt;br /&gt;
	lang = 'Lang',&lt;br /&gt;
	langx = 'Langx',&lt;br /&gt;
	langxx = 'Lang-xx',&lt;br /&gt;
	transliteration = 'Transliteration',&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; K N O W N _ P A R A M S &amp;gt;------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
lists of all parameters known to {{lang}}, {{langx}}, {{lang-xx}} templates.&lt;br /&gt;
&lt;br /&gt;
Exception: |fn= is known to {{lang}} but is not a 'lang' template;  that parameter causes the module to call the&lt;br /&gt;
specified lang(), lang_xx_inherit(), or lang_xx_italic() function.  These separate functions set |fn= to nill&lt;br /&gt;
and then do the known-param checking on the other template parameters&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local known_params_t = {&lt;br /&gt;
	['common_params_all_t'] = {													-- these parameters common to {{lang}}, {{langx}}, and {{lang-xx}}&lt;br /&gt;
		['code'] = true,&lt;br /&gt;
		['text'] = true,&lt;br /&gt;
		['rtl'] = true,&lt;br /&gt;
		['italic'] = true,&lt;br /&gt;
		['italics'] = true,&lt;br /&gt;
		['i'] = true,&lt;br /&gt;
		['size'] = true,&lt;br /&gt;
		['proto'] = true,&lt;br /&gt;
		['nocat'] = true,&lt;br /&gt;
		['cat'] = true,&lt;br /&gt;
&lt;br /&gt;
		['template'] = true,													-- supplied by external templates to provide template name for error messaging ({{nihongo}}, etc)&lt;br /&gt;
		},&lt;br /&gt;
	&lt;br /&gt;
	['params_lang_t'] = {														-- unique to {{lang}}&lt;br /&gt;
		[1] = true,																-- alias of |code=&lt;br /&gt;
		[2] = true,																-- alias of |text=&lt;br /&gt;
		},&lt;br /&gt;
&lt;br /&gt;
	['params_x_t'] = {															-- common to {{langx}} and {{lang-xx}}&lt;br /&gt;
		['translit'] = true,&lt;br /&gt;
		['translit-std'] = true,&lt;br /&gt;
		['translit-script'] = true,&lt;br /&gt;
		['translation'] = true,&lt;br /&gt;
		['lit='] = true,&lt;br /&gt;
		['label'] = true,&lt;br /&gt;
		['link'] = true,&lt;br /&gt;
		['links'] = true,&lt;br /&gt;
		['lit'] = true,&lt;br /&gt;
		['engvar'] = true,&lt;br /&gt;
		},&lt;br /&gt;
&lt;br /&gt;
	['params_langx_t'] = {														-- unique to {{langx}}&lt;br /&gt;
		[1] = true,																-- alias of |code=&lt;br /&gt;
		[2] = true,																-- alias of |text=&lt;br /&gt;
		[3] = true,																-- alias of |translit=&lt;br /&gt;
		[4] = true,																-- alias of |translation=&lt;br /&gt;
		},&lt;br /&gt;
&lt;br /&gt;
	['params_lang_xx_t'] = {													-- unique to {{lang-xx}}&lt;br /&gt;
		[1] = true,																-- alias of |text=&lt;br /&gt;
		[2] = true,																-- alias of |translit=&lt;br /&gt;
		[3] = true,																-- alias of |translation=&lt;br /&gt;
		['script'] = true,														-- these needed to override default params in {{lang-??}} templates&lt;br /&gt;
		['region'] = true,&lt;br /&gt;
		['variant'] = true,&lt;br /&gt;
		},&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; E N G _ V A R &amp;gt;----------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Used at en.wiki so that spelling of 'romanized' (US, default) can be changed to 'romanised' to match the envar&lt;br /&gt;
specified by a {{Use xxx English}}.  Not likely useful outside of en.wiki&lt;br /&gt;
&lt;br /&gt;
This is accomplished by setting |engvar=gb; can, should be omitted in articles that use American English; no&lt;br /&gt;
need for the clutter.&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local engvar_sel_t = {															-- select either UK English or US English&lt;br /&gt;
	['au'] = 'gb_t',															-- these match IANA region codes (except in lower case)&lt;br /&gt;
	['ca'] = 'us_t',&lt;br /&gt;
	['gb'] = 'gb_t',&lt;br /&gt;
	['ie'] = 'gb_t',&lt;br /&gt;
	['in'] = 'gb_t',&lt;br /&gt;
	['nz'] = 'gb_t',&lt;br /&gt;
	['us'] = 'us_t',															-- default engvar&lt;br /&gt;
	['za'] = 'gb_t'&lt;br /&gt;
	};&lt;br /&gt;
&lt;br /&gt;
local engvar_t = {&lt;br /&gt;
	['gb_t'] = {&lt;br /&gt;
		['romanisz_lc'] = 'romanisation',										-- lower case&lt;br /&gt;
		['romanisz_uc'] = 'Romanisation',										-- upper case; unused can be deleted&lt;br /&gt;
		['romanisz_pt'] = 'romanised',											-- past tense&lt;br /&gt;
		},&lt;br /&gt;
	['us_t'] = {																-- default engvar&lt;br /&gt;
		['romanisz_lc'] = 'romanization',										-- lower case&lt;br /&gt;
		['romanisz_uc'] = 'Romanization',										-- upper case; unused can be deleted&lt;br /&gt;
		['romanisz_pt'] = 'romanized',											-- past tense&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
local default_engvar = 'us_t';&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
=============================&amp;lt;&amp;lt; M E S S A G I N G   T A B L E S &amp;gt;&amp;gt;=============================================&lt;br /&gt;
&lt;br /&gt;
these tables are for internationalization.  Messages or fragments thereof are mostly grouped by function name.&lt;br /&gt;
Some messages are shared by functions other than the function table that lists the message or fragment.&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; K E Y W O R D S _ T &amp;gt;----------------------------------------------------------&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local keywords_t = {&lt;br /&gt;
	['affirmative'] = 'yes',&lt;br /&gt;
	['negative'] = 'no',&lt;br /&gt;
	['unset'] = 'unset',&lt;br /&gt;
	['invert'] = 'invert',&lt;br /&gt;
	['default'] = 'default',&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; M I S C _ T E X T _ T &amp;gt;--------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local misc_text_t = {&lt;br /&gt;
	['error'] = 'Error',														-- make_error_msg(), tag_from_name()&lt;br /&gt;
	['language'] = 'language',													-- make_translit(), lang_xx(), name_from_tag()&lt;br /&gt;
	['help'] = 'help',&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; M A K E _ E R R O R _ M S G _ T &amp;gt;----------------------------------------------&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local make_error_msg_t = {&lt;br /&gt;
	['xlit_err_cat'] = 'Transliteration template errors',&lt;br /&gt;
	['lang_err_cat'] = 'Lang and lang-xx template errors',&lt;br /&gt;
	['undefined'] = 'undefined',&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; V A L I D A T E _ I T A L I C _ T &amp;gt;--------------------------------------------&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local parameter_validate_t = {&lt;br /&gt;
	['invalid_param'] = 'invalid parameter: &amp;amp;#124;$1=',							-- $1 is parameter name&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; V A L I D A T E _ I T A L I C _ T &amp;gt;--------------------------------------------&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local validate_italic_t = {&lt;br /&gt;
	['multi_italic'] = 'only one of &amp;amp;#124;italic=, &amp;amp;#124;italics=, or &amp;amp;#124;i= can be specified',&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; V A L I D A T E _ T E X T _ T &amp;gt;------------------------------------------------&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local validate_text_t = {&lt;br /&gt;
	['no_text'] = 'no text',&lt;br /&gt;
	['malformed_markup'] = 'text has malformed markup',&lt;br /&gt;
	['italic_markup'] = 'text has italic markup',&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; T E X T _ S C R I P T _ M A T C H _ T E S T _ T &amp;gt;------------------------------&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local text_script_match_test_t = {&lt;br /&gt;
	['latn_txt_mismatch'] = 'Latn text/non-Latn script subtag mismatch',&lt;br /&gt;
	['latn_scr_mismatch'] = 'Non-latn text (pos $1: $2)/Latn script subtag mismatch',	-- $1 identifies offending character's position; $2 is the character&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; L A N G _ T &amp;gt;------------------------------------------------------------------&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local lang_t = {&lt;br /&gt;
	['conflict_n_param'] = 'conflicting: {{{$1}}} and &amp;amp;#124;$2=',				-- $1 is positional param number, $2 is named param; shared with _lang_xx()&lt;br /&gt;
	['conflict_n_param_types'] = {&lt;br /&gt;
		['code'] = 'code',&lt;br /&gt;
		['text'] = 'text',&lt;br /&gt;
		['translit'] = 'translit',&lt;br /&gt;
		},&lt;br /&gt;
	['invalid_proto'] = 'invalid &amp;amp;#124;proto=: $1',								-- _lang_xx also emits this message&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	&lt;br /&gt;
--[[--------------------------&amp;lt; L A N G _ X X _ T &amp;gt;------------------------------------------------------------&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local lang_xx_t	= {&lt;br /&gt;
	['conflict_n_lit'] = 'conflicting: {{{$1}}} and &amp;amp;#124;lit= or &amp;amp;#124;translation=',	-- $1 is positional parameter; can be either 3 ({{lang-??}}) or 4 ({{langx}})&lt;br /&gt;
	['conflict_lit'] = 'conflicting: &amp;amp;#124;lit= and &amp;amp;#124;translation=',&lt;br /&gt;
	['conflict_link'] = 'conflicting: &amp;amp;#124;links= and &amp;amp;#124;link=',&lt;br /&gt;
	['invalid_xlit_std'] = 'invalid translit-std',&lt;br /&gt;
	['romanization'] = 'Romanization of',&lt;br /&gt;
	['translit_nonlatn'] = 'transliteration text not Latin script (pos $1: $2)',	-- _xlit() also emits this message; $1 identifies offending character's position; $2 is the character&lt;br /&gt;
	['xlit_of_latn'] = 'transliteration of latn script',&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; T A G _ F R O M _ N A M E _ T &amp;gt;------------------------------------------------&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local tag_from_name_t = {&lt;br /&gt;
	['lang_not_found'] = 'language: $1 not found',								-- $1 is language name parameter value&lt;br /&gt;
	['missing_lang_name'] = 'missing language name',&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; T R A N S L _ T &amp;gt;--------------------------------------------------------------&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local transl_t = {&lt;br /&gt;
	['unrecog_xlit_std'] = 'unrecognized transliteration standard: $1',			-- $1 is |translit_std- parameter value&lt;br /&gt;
	['no_text'] = 'no text',&lt;br /&gt;
	['missing_lang_scr'] = 'missing language / script code',&lt;br /&gt;
	['unrecog_lang_scr'] = 'unrecognized language / script code: $1',			-- $1 is the language/script code&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; G E T _ I E T F _ P A R T S _ T &amp;gt;----------------------------------------------&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local get_ietf_parts_t = {&lt;br /&gt;
	['maint_promo_cat'] = 'Lang and lang-xx code promoted to ISO 639-1|$1',		-- $1 is ISO 639-2/3 subtag&lt;br /&gt;
	['maint_promo_msg'] = 'code: $1 promoted to code: $2',						-- $1 is ISO 639-2/3 subtag, $2 is synonymous ISO 639-1 subtag&lt;br /&gt;
&lt;br /&gt;
	['missing_lang_tag'] = 'missing language tag',								-- also used in _langx()&lt;br /&gt;
	['redundant_scr'] = 'redundant script tag',&lt;br /&gt;
	['redundant_reg'] = 'redundant region tag',&lt;br /&gt;
	['redundant_var'] = 'redundant variant tag',&lt;br /&gt;
	['unrecog_tag'] = 'unrecognized language tag: $1',							-- $1 is the whole language tag&lt;br /&gt;
	['unrecog_code'] = 'unrecognized language code: $1',						-- $1 is code&lt;br /&gt;
	['unrecog_reg_code'] = 'unrecognized region: $1 for code: $2',				-- $1 is region, $2 is code&lt;br /&gt;
	['unrecog_scr_code'] = 'unrecognized script: $1 for code: $2',				-- $1 is script, $2 is code&lt;br /&gt;
	['script_code'] = 'script: $1 not supported for code: $2',					-- $1 is script, $2 is code&lt;br /&gt;
	['unrecog_var'] = 'unrecognized variant: $1',								-- $1 is variant&lt;br /&gt;
	['unrecog_var_code'] = 'unrecognized variant: $1 for code: $2',				-- $1 is variant, $2 is code&lt;br /&gt;
	['unrecog_var_code_scr'] = 'unrecognized variant: $1 for code-script pair: $2-$3',	-- $1 is variant, $2 is code, $3 is script&lt;br /&gt;
	['unrecog_var_code_reg'] = 'unrecognized variant: $1 for code-region pair: $2-$3',	-- $1 is variant, $2 is code, $3 is region&lt;br /&gt;
	['unrecog_pri'] = 'unrecognized private tag: $1',							-- $1 is private tag&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; L A N G U A G E _ N A M E _ G E T _ T &amp;gt;----------------------------------------&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local language_name_get_t = {&lt;br /&gt;
	['deprecated_cat'] = 'Lang and lang-xx using deprecated ISO 639 codes|$1',	-- $1 is deprecated ISO 639 subtag&lt;br /&gt;
	['deprecated_msg'] = 'code: $1 is deprecated',								-- $1 is deprecated ISO 639 subtag&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; H T M L _ T I T L E _ T E X T _ T &amp;gt;--------------------------------------------&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local make_text_html_t = {&lt;br /&gt;
	['zxx'] = 'text',															-- for zxx no linguistic content&lt;br /&gt;
	['collective'] = 'collective text',											-- for collective languages&lt;br /&gt;
	['individual'] = 'language text',											-- for individual languages&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; T R A N S L A T I O N _ M A K E _ T &amp;gt;------------------------------------------&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local translation_make_t = {&lt;br /&gt;
	['lit_xlation'] = 'Literal translation',									-- article title fragment and HTML title attribute&lt;br /&gt;
	['lit_abbr'] = 'lit.',&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; M A K E _ C A T E G O R Y _ T &amp;gt;------------------------------------------------&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local make_category_t = {&lt;br /&gt;
	['collective_cat'] = 'Category:Articles with text in',						-- for collective languages&lt;br /&gt;
	['cat_prefix'] = 'Category:Articles containing',							-- prefix for explicitly cited and individual languages&lt;br /&gt;
	['explicit_cat'] = 'explicitly cited',										-- for explicitly citing this wiki's language&lt;br /&gt;
	['cat_postfix'] = 'language text',											-- postfix for individual languages&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; M A K E _ T R A N S L I T _ T &amp;gt;------------------------------------------------&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local make_translit_t = {&lt;br /&gt;
	['script'] = 'script',&lt;br /&gt;
	['transliteration'] = 'transliteration',&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; E X P O R T S &amp;gt;----------------------------------------------------------------&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
return {&lt;br /&gt;
	known_params_t = known_params_t,&lt;br /&gt;
	templates_t = templates_t,&lt;br /&gt;
&lt;br /&gt;
	default_engvar = default_engvar,											-- engvar support not likely useful outside of en.wiki&lt;br /&gt;
	engvar_t = engvar_t,&lt;br /&gt;
	engvar_sel_t = engvar_sel_t,&lt;br /&gt;
&lt;br /&gt;
	get_ietf_parts_t = get_ietf_parts_t,										-- messaging tables&lt;br /&gt;
	keywords_t = keywords_t,&lt;br /&gt;
	lang_t = lang_t,&lt;br /&gt;
	lang_xx_t = lang_xx_t,&lt;br /&gt;
	language_name_get_t = language_name_get_t,&lt;br /&gt;
	make_category_t = make_category_t,&lt;br /&gt;
	make_error_msg_t = make_error_msg_t,&lt;br /&gt;
	make_text_html_t = make_text_html_t,&lt;br /&gt;
	make_translit_t = make_translit_t,&lt;br /&gt;
	misc_text_t = misc_text_t,&lt;br /&gt;
	parameter_validate_t = parameter_validate_t,&lt;br /&gt;
	tag_from_name_t = tag_from_name_t,&lt;br /&gt;
	text_script_match_test_t = text_script_match_test_t,&lt;br /&gt;
	transl_t = transl_t,&lt;br /&gt;
	translation_make_t = translation_make_t,&lt;br /&gt;
	validate_italic_t = validate_italic_t,&lt;br /&gt;
	validate_text_t = validate_text_t,&lt;br /&gt;
	}&lt;/div&gt;</summary>
		<author><name>Marie</name></author>
	</entry>
	<entry>
		<id>https://maruneko.autumns.page/mediawiki/index.php?title=Template:Category_link/core&amp;diff=8562</id>
		<title>Template:Category link/core</title>
		<link rel="alternate" type="text/html" href="https://maruneko.autumns.page/mediawiki/index.php?title=Template:Category_link/core&amp;diff=8562"/>
		<updated>2026-03-05T07:14:37Z</updated>

		<summary type="html">&lt;p&gt;Marie: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[:Category:{{{1}}}|{{{2}}}]]{{#if:{{Yesno|1={{{count|no}}}}}|&amp;amp;nbsp;&amp;lt;small style=&amp;quot;{{#ifexpr:{{{page_count}}}&amp;gt;={{{backlog}}}|font-weight: bold; color: #DD0000;}}&amp;quot;&amp;gt;(&amp;amp;thinsp;{{formatnum:{{{page_count}}}}}&amp;amp;thinsp;)&amp;lt;/small&amp;gt;}}&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{Documentation|Template:Category link/doc}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Marie</name></author>
	</entry>
	<entry>
		<id>https://maruneko.autumns.page/mediawiki/index.php?title=Template:ISO_4217/code-count&amp;diff=8560</id>
		<title>Template:ISO 4217/code-count</title>
		<link rel="alternate" type="text/html" href="https://maruneko.autumns.page/mediawiki/index.php?title=Template:ISO_4217/code-count&amp;diff=8560"/>
		<updated>2026-03-05T07:14:37Z</updated>

		<summary type="html">&lt;p&gt;Marie: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{trim|1={{#switch:{{uc:{{{list|}}}}}&amp;lt;!--&lt;br /&gt;
 LIST ONE (1) ----- [181x id. 278x occurr.] ----- ----- ----- ----- -----&lt;br /&gt;
 --&amp;gt;|1|L1={{#switch:{{ISO 4217/code|iso-code={{{iso-code|}}}}}&amp;lt;!-- LIST ONE ----- ----- ----- ----- ----- ----- --&amp;gt;&lt;br /&gt;
|=&lt;br /&gt;
|AED|AFN|ALL|AMD|AOA|ARS|AWG|AZN|BAM|BBD|BDT|BGN|BHD|BIF|BMD|BND|BOB|BOV|BRL|BSD&lt;br /&gt;
|BTN|BWP|BYN|BZD|CAD|CDF|CHE|CHW|CLF|CLP|CNY|COP|COU|CRC|CUC|CUP|CVE|CZK|DJF|DOP&lt;br /&gt;
|DZD|EGP|ERN|ETB|FJD|FKP|GEL|GHS|GIP|GMD|GNF|GTQ|GYD|HKD|HNL|HRK|HTG|HUF|IDR|ILS&lt;br /&gt;
|IQD|IRR|ISK|JMD|JOD|JPY|KES|KGS|KHR|KMF|KPW|KRW|KWD|KYD|KZT|LAK|LBP|LKR|LRD|LSL&lt;br /&gt;
|LYD|MDL|MGA|MKD|MMK|MNT|MOP|MRU|MUR|MVR|MWK|MXN|MXV|MYR|MZN|NAD|NGN|NIO|NPR|OMR&lt;br /&gt;
|PAB|PEN|PGK|PHP|PKR|PLN|PYG|QAR|RON|RSD|RUB|RWF|SAR|SBD|SCR|SDG|SEK|SGD|SHP|SLE&lt;br /&gt;
|SLL|SOS|SRD|SSP|STN|SVC|SYP|SZL|THB|TJS|TMT|TND|TOP|TRY|TTD|TWD|TZS|UAH|UGX|USN&lt;br /&gt;
|UYI|UYU|UYW|UZS|VED|VES|VND|VUV|WST|XAG|XAU|XBA|XBB|XBC|XBD|XDR|XPD|XPT|XSU|XTS&lt;br /&gt;
|XUA|XXX|YER|ZMW|ZWG|ZWL=1&lt;br /&gt;
|ANG|CHF|INR|MAD=2&lt;br /&gt;
|DKK|NOK|XPF|ZAR=3&lt;br /&gt;
|GBP=4&lt;br /&gt;
|NZD=5&lt;br /&gt;
|XAF=6&lt;br /&gt;
|AUD|XCD|XOF=8&lt;br /&gt;
|USD=19&lt;br /&gt;
|EUR=35&lt;br /&gt;
|#default=&lt;br /&gt;
 }}&amp;lt;!--&lt;br /&gt;
 LIST TWO (2) ----- [9x is. 9x occurr.] ----- ----- ----- ----- ----- -----&lt;br /&gt;
 --&amp;gt;|2|L2={{#switch:{{ISO 4217/code|iso-code={{{iso-code|}}}}}&lt;br /&gt;
 |=&lt;br /&gt;
|UYW|UYI|CHE|CHW|COU|MXV|BOV|CLF|USN=1&amp;lt;!-- 9x --&amp;gt;&lt;br /&gt;
 |#default=&lt;br /&gt;
 }}&amp;lt;!--&lt;br /&gt;
 LIST THREE (3) ----- [133x id. 162 occurr.] ----- ----- ----- ----- ----- -----&lt;br /&gt;
 --&amp;gt;|3|L3={{#switch:{{ISO 4217/code|iso-code={{{iso-code|}}}}}&lt;br /&gt;
 |=&lt;br /&gt;
|ADP|AFA|ALK|ANG|AOK|AON|AOR|ARA|ARP|ARY|ATS|AYM|AZM|BAD|BEC|BEF|BEL|BGJ|BGK|BGL|BOP&lt;br /&gt;
|BRB|BRC|BRE|BRN|BRR|BUK|BYB|BYR|CHC|CSD|CSJ|CSK|CYP|DDM|DEM|ECS|ECV|EEK|ESA|ESB|EUR&lt;br /&gt;
|GEK|GHC|GHP|GNE|GNS|GQE|GRD|GWE|GWP|HRD|HRK|IDR|IEP|ILP|ILR|ISJ|LAJ|LSM|LTL|LTT|LUC&lt;br /&gt;
|LUF|LUL|LVL|LVR|MGF|MLF|MRO|MTL|MTP|MVQ|MWK|MXP|MZE|MZM|NIC|NLG|PEH|PEI|PEN|PES|PLZ&lt;br /&gt;
|PTE|RHD|ROK|ROL|RON|SDD|SDG|SDP|SIT|SKK|SRG|STD|SUR|SZL|TJR|TMM|TPE|TRL|TRY|UAK|UGS&lt;br /&gt;
|UGW|USS|UYN|UYP|VEB|VNC|XEU|XFO|XFU|XRE|YDD|YUD|YUM|YUN|ZMK|ZRN|ZRZ|ZWC|ZWN|ZWR=1&lt;br /&gt;
|ESP|FIM|ZAL|ZWD=2&lt;br /&gt;
|ITL|VEF=3&lt;br /&gt;
|RUR=11&lt;br /&gt;
|FRF=12&lt;br /&gt;
 |#default=&lt;br /&gt;
 }}&amp;lt;!--&lt;br /&gt;
 LIST 123 (ALL) ----- [305x is; 409x occurr.] ----- ----- ----- ----- -----&lt;br /&gt;
 --&amp;gt;|123|L123|#default={{#switch:{{ISO 4217/code|iso-code={{{iso-code|}}}}}&lt;br /&gt;
|=&lt;br /&gt;
|BOV|CHE|CHF|CHW|CLF|COU|ESP|FIM|HRK|IDR|INR|MAD|MWK|MXV&lt;br /&gt;
|PEN|RON|SDG|SZL|TRY|USN|UYI|UYW|ZAL|ZWD=2&amp;lt;!-- 24x --&amp;gt;&lt;br /&gt;
|ANG|DKK|ITL|NOK|VEF|XPF|ZAR=3&lt;br /&gt;
|GBP=4&lt;br /&gt;
|NZD=5&lt;br /&gt;
|XAF=6&lt;br /&gt;
|AUD|XCD|XOF=8&lt;br /&gt;
|RUR=11&lt;br /&gt;
|FRF=12&lt;br /&gt;
|USD=19&lt;br /&gt;
|EUR=36&lt;br /&gt;
|#default=1&lt;br /&gt;
 }}&lt;br /&gt;
}}}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&amp;lt;noinclude&amp;gt;{{documentation|1=Template:ISO 4217/code/doc}}&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Marie</name></author>
	</entry>
	<entry>
		<id>https://maruneko.autumns.page/mediawiki/index.php?title=Template:ISO_4217/code-minor-unit/format&amp;diff=8558</id>
		<title>Template:ISO 4217/code-minor-unit/format</title>
		<link rel="alternate" type="text/html" href="https://maruneko.autumns.page/mediawiki/index.php?title=Template:ISO_4217/code-minor-unit/format&amp;diff=8558"/>
		<updated>2026-03-05T07:14:37Z</updated>

		<summary type="html">&lt;p&gt;Marie: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#switch:{{str find word|source={{{format|}}}|orwords=exponent}}&lt;br /&gt;
||#default={{#switch:{{{value|}}}&amp;lt;!-- cent; decimal; decimals: anything but 'exponent' --&amp;gt;&lt;br /&gt;
 |N.A.|NA|n.a.|na=&lt;br /&gt;
 |0=&lt;br /&gt;
 |=&lt;br /&gt;
 |1={{val|0.1}}&amp;lt;!-- does not occur, 17 Oct 2022 --&amp;gt;&lt;br /&gt;
 |2={{val|0.01}}&lt;br /&gt;
 |3={{val|0.001}}&lt;br /&gt;
 |4={{val|0.0001}}&lt;br /&gt;
 |#default=&amp;lt;!-- ? not expected --&amp;gt;}}&lt;br /&gt;
|exponent={{#switch:{{{value|}}}&amp;lt;!-- source text: --&amp;gt;&lt;br /&gt;
 |N.A.|NA|na=N.A.&lt;br /&gt;
 |=&lt;br /&gt;
 |#default={{{value|}}} }}&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Marie</name></author>
	</entry>
	<entry>
		<id>https://maruneko.autumns.page/mediawiki/index.php?title=Template:ISO_4217/cite/format&amp;diff=8556</id>
		<title>Template:ISO 4217/cite/format</title>
		<link rel="alternate" type="text/html" href="https://maruneko.autumns.page/mediawiki/index.php?title=Template:ISO_4217/cite/format&amp;diff=8556"/>
		<updated>2026-03-05T07:14:37Z</updated>

		<summary type="html">&lt;p&gt;Marie: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#if:{{{plain|}}}|{{{data|}}}|{{#tag:ref|{{{data|_[Template:ISO 4217/cite:no_refdata]_}}}|name={{#if:{{{name|}}}|&amp;quot;{{{name|}}}&amp;quot;|}}}}}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&amp;lt;noinclude&amp;gt;{{documentation|1=Template:ISO 4217/cite/doc}}&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Marie</name></author>
	</entry>
	<entry>
		<id>https://maruneko.autumns.page/mediawiki/index.php?title=Template:ISO_4217/code-none&amp;diff=8554</id>
		<title>Template:ISO 4217/code-none</title>
		<link rel="alternate" type="text/html" href="https://maruneko.autumns.page/mediawiki/index.php?title=Template:ISO_4217/code-none&amp;diff=8554"/>
		<updated>2026-03-05T07:14:37Z</updated>

		<summary type="html">&lt;p&gt;Marie: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#switch:{{lc:{{plain text|1={{{iso-code|}}}}}}}&lt;br /&gt;
|no|none=_NONE_&lt;br /&gt;
|#default=}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&amp;lt;noinclude&amp;gt;{{documentation|1=Template:ISO 4217/code/doc}}&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Marie</name></author>
	</entry>
	<entry>
		<id>https://maruneko.autumns.page/mediawiki/index.php?title=Template:ISO_4217/cite&amp;diff=8552</id>
		<title>Template:ISO 4217/cite</title>
		<link rel="alternate" type="text/html" href="https://maruneko.autumns.page/mediawiki/index.php?title=Template:ISO_4217/cite&amp;diff=8552"/>
		<updated>2026-03-05T07:14:37Z</updated>

		<summary type="html">&lt;p&gt;Marie: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ISO 4217/cite/format&lt;br /&gt;
|plain={{Str find word|source=plain, noref, no-ref, no ref|orwords={{{format|}}}|case=no}}&lt;br /&gt;
|name={{replace|1={{#if:{{{name|}}}|&amp;lt;!--val--&amp;gt;{{{name|}}}|{{#if:{{{name}}}|&amp;lt;!--abs--&amp;gt;ISO 4217|&amp;lt;!--blk=noname--&amp;gt;}}}}|2=%&amp;quot;|3=}} &lt;br /&gt;
|data=&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#if:{{{prefix|}}}|&amp;lt;!--val--&amp;gt;{{{prefix|}}}|{{#if:{{{prefix}}}|&amp;lt;!--abs--&amp;gt;[[ISO 4217|ISO 4217 Standard]] definition:|&amp;lt;!--blk--&amp;gt;}}}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{{{#if:{{Str find word|source=plain|orwords={{{format|}}}|case=no}}|bulleted list|unbulleted list}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;|1={{#if:{{Str find word|source=website, six, six group, 0|orwords={{{source|{{{1|}}}}}}|case=no}}|{{ISO 4217/cite/SIX Group|access-date={{{access-date|}}}}}}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;|2={{#if:{{Str find word|source=all, list one, one, L1, 1|orwords={{{source|{{{1|}}}}}}|case=no}}&lt;br /&gt;
|{{ISO 4217/cite/List One|access-date={{{access-date|}}}}}}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;|3={{#if:{{Str find word|source=all, list two, two, L2, 2|orwords={{{source|{{{1|}}}}}}|case=no}}&lt;br /&gt;
|{{ISO 4217/cite/List Two|access-date={{{access-date|}}}}}}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;|4={{#if:{{Str find word|source=all, list three, three, L3, 3|orwords={{{source|{{{1|}}}}}}|case=no}}&lt;br /&gt;
|{{ISO 4217/cite/List Three|access-date={{{access-date|}}}}}}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;|5={{#if:{{Str find word|source=all, amendments, list four, four, 4|orwords={{{source|{{{1|}}}}}}|case=no}}&lt;br /&gt;
|{{ISO 4217/cite/Amendments|access-date={{{access-date|}}}}}}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;}}}}&amp;lt;!-- eo data list (=reftag content)&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&amp;lt;noinclude&amp;gt;{{documentation}}&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Marie</name></author>
	</entry>
	<entry>
		<id>https://maruneko.autumns.page/mediawiki/index.php?title=Template:ISO_4217/code-minor-unit&amp;diff=8550</id>
		<title>Template:ISO 4217/code-minor-unit</title>
		<link rel="alternate" type="text/html" href="https://maruneko.autumns.page/mediawiki/index.php?title=Template:ISO_4217/code-minor-unit&amp;diff=8550"/>
		<updated>2026-03-05T07:14:37Z</updated>

		<summary type="html">&lt;p&gt;Marie: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ISO 4217/code-minor-unit/format&amp;lt;!-- as of 17 Oct 2022 (304 iso-codes; 12 ambivalent) --&amp;gt;&lt;br /&gt;
|format={{{format|}}}&lt;br /&gt;
|value={{#switch:{{{iso-code|}}}&amp;lt;!-- Number of decimals. Occurring: &amp;quot;-blank-, N.A., 0, 2, 3, 4&amp;quot;. [&amp;quot;1&amp;quot; does not occur]. &amp;quot;-blank-, N.A., 0&amp;quot; return &amp;lt;blank&amp;gt; --&amp;gt;&lt;br /&gt;
|=&lt;br /&gt;
|BIF|CLP|DJF|GNF|ISK|JPY|KMF|KRW|PYG|RWF|UGX|UYI|VND|VUV|XAF|XOF|XPF=0&lt;br /&gt;
|AED|AFN|ALL|AMD|AOA|ARS|AUD|AWG|AZN|BAM|BBD|BDT|BGN|BMD|BND|BOB|BOV|BRL|BSD|BTN|BWP|BYN|BZD&lt;br /&gt;
|CAD|CDF|CHE|CHF|CHW|CNY|COP|COU|CRC|CUC|CUP|CVE|CZK|DKK|DOP|DZD|EGP|ERN|ETB|FJD|FKP|GBP|GEL&lt;br /&gt;
|GHS|GIP|GMD|GTQ|GYD|HKD|HNL|HTG|HUF|ILS|INR|IRR|JMD|KES|KGS|KHR|KPW|KYD|KZT|LAK|LBP|LKR|LRD&lt;br /&gt;
|LSL|MAD|MDL|MGA|MKD|MMK|MNT|MOP|MRU|MUR|MVR|MXN|MXV|MYR|MZN|NAD|NGN|NIO|NOK|NPR|NZD|PAB|PGK&lt;br /&gt;
|PHP|PKR|PLN|QAR|RSD|RUB|SAR|SBD|SCR|SEK|SGD|SHP|SLE|SOS|SRD|SSP|STN|SVC|SYP|THB|TJS|TMT&lt;br /&gt;
|TOP|TTD|TWD|TZS|UAH|USD|USN|UYU|UZS|VED|VES|WST|XCD|YER|ZAR|ZMW|ZWG|ZWL=2&lt;br /&gt;
|BHD|IQD|JOD|KWD|LYD|OMR|TND=3&lt;br /&gt;
|CLF|UYW=4&lt;br /&gt;
|ADP|AFA|ALK|AOK|AON|AOR|ARA|ARP|ARY|ATS|AYM|AZM|BAD|BEC|BEF|BEL|BGJ|BGK|BGL|BOP|BRB|BRC|BRE&lt;br /&gt;
|BRN|BRR|BUK|BYB|BYR|CHC|CSD|CSJ|CSK|CYP|DDM|DEM|ECS|ECV|EEK|ESA|ESB|ESP|FIM|FRF|GEK|GHC|GHP&lt;br /&gt;
|GNE|GNS|GQE|GRD|GWE|GWP|HRD|IEP|ILP|ILR|ISJ|ITL|LAJ|LSM|LTL|LTT|LUC|LUF|LUL|LVL|LVR|MGF|MLF&lt;br /&gt;
|MRO|MTL|MTP|MVQ|MXP|MZE|MZM|NIC|NLG|PEH|PEI|PES|PLZ|PTE|RHD|ROK|ROL|RUR|SDD|SDP|SIT|SLL|SKK&lt;br /&gt;
|SRG|STD|SUR|TJR|TMM|TPE|TRL|UAK|UGS|UGW|USS|UYN|UYP|VEB|VEF|VNC|XEU|XFO|XFU|XRE|YDD|YUD|YUM&lt;br /&gt;
|YUN|ZAL|ZMK|ZRN|ZRZ|ZWC|ZWD|ZWN|ZWR=&amp;lt;!-- &amp;lt;blank&amp;gt; --&amp;gt;&lt;br /&gt;
|XAG|XAU|XBA|XBB|XBC|XBD|XDR|XPD|XPT|XSU|XTS|XUA|XXX=N.A.&lt;br /&gt;
|#default={{#switch:{{ISO 4217/code-is-ambiguous|iso-code={{{iso-code|}}}}}&amp;lt;!--&lt;br /&gt;
 --&amp;gt;|=&amp;lt;!-- not-ambivalent SO NaC; value=blank&lt;br /&gt;
 --&amp;gt;|#default=&amp;lt;!-- ambivalent code, now check for obs (=&amp;gt;blank) or act (=&amp;gt;2 dec):&lt;br /&gt;
  --&amp;gt;{{yesno|{{{is-obsolete|}}}|yes=&amp;lt;!--blank (no minor unit)--&amp;gt;|blank=2|no=2&amp;lt;!--value=2 (incidentally 2 for all 10; 17 Oct 2022)--&amp;gt;}}}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;}}}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&amp;lt;noinclude&amp;gt;{{documentation|1=Template:ISO 4217/code/doc}}&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Marie</name></author>
	</entry>
	<entry>
		<id>https://maruneko.autumns.page/mediawiki/index.php?title=Template:ISO_4217/code/format&amp;diff=8548</id>
		<title>Template:ISO 4217/code/format</title>
		<link rel="alternate" type="text/html" href="https://maruneko.autumns.page/mediawiki/index.php?title=Template:ISO_4217/code/format&amp;diff=8548"/>
		<updated>2026-03-05T07:14:36Z</updated>

		<summary type="html">&lt;p&gt;Marie: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#if:{{{format|}}}&lt;br /&gt;
|{{#if:{{{value|}}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;|{{{value|}}}&lt;br /&gt;
   |{{#if:{{{input-code|}}}&amp;lt;!-- input is not an ok-code, so analyse for 'None' and ISOcat&lt;br /&gt;
   --&amp;gt;|{{#if:{{ISO 4217/code-none|iso-code={{{input-code|}}}}}&amp;lt;!-- check None-option:&lt;br /&gt;
      --&amp;gt;|{{yesno|{{Str find word|source=option-none|orwords={{{format|}}}}}&amp;lt;!--&lt;br /&gt;
         --&amp;gt;|yes={{{input-code|}}}&amp;lt;!-- 'None'=allowed so return the input string&lt;br /&gt;
         --&amp;gt;|no=&amp;lt;!--'none' not allowed so return blank; CAT-N--&amp;gt;{{#if:{{{ISO4217-cat|}}}|{{ISO 4217/maintenance-category|main-sort=NONE|template-sort=&amp;amp;#x20;ISOcat-N&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt;}}}}}}&amp;lt;!--&lt;br /&gt;
      --&amp;gt;|&amp;lt;!--bad code so return blank; CAT-C--&amp;gt;{{#if:{{{ISO4217-cat|}}}|{{ISO 4217/maintenance-category|main-sort=CODE|template-sort=&amp;amp;#x20;ISOcat-C&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt;}}}}&amp;lt;!--&lt;br /&gt;
      --&amp;gt;}}&amp;lt;!--&lt;br /&gt;
   --&amp;gt;|&amp;lt;!-- input-code=blank so no error to detect; return blank&lt;br /&gt;
   --&amp;gt;}}}}&lt;br /&gt;
|{{{value|}}}&amp;lt;!-- no format, so return plain value (is an ok code OR blank) --&amp;gt;&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Marie</name></author>
	</entry>
	<entry>
		<id>https://maruneko.autumns.page/mediawiki/index.php?title=Template:ISO_4217/code&amp;diff=8546</id>
		<title>Template:ISO 4217/code</title>
		<link rel="alternate" type="text/html" href="https://maruneko.autumns.page/mediawiki/index.php?title=Template:ISO_4217/code&amp;diff=8546"/>
		<updated>2026-03-05T07:14:36Z</updated>

		<summary type="html">&lt;p&gt;Marie: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ISO 4217/code/format&lt;br /&gt;
|input-code={{{iso-code|}}}&lt;br /&gt;
|format={{{format|}}}&lt;br /&gt;
|ISO4217-cat={{Str find word|source=iso4217-cat|case=no|orwords={{{format|}}}}}&lt;br /&gt;
|value={{#switch:{{{iso-code|}}}&amp;lt;!-- All defined ISO codes per ISO 4217. Unique=304 (as of 17 Oct 2022) --&amp;gt;&lt;br /&gt;
|=&amp;lt;!-- blank so empty string --&amp;gt;&lt;br /&gt;
|ADP|AED|AFA|AFN|ALK|ALL|AMD|ANG|AOA|AOK|AON|AOR|ARA|ARP|ARS|ARY|ATS|AUD|AWG|AYM|AZM|AZN|BAD|BAM|BBD|BDT|BEC|BEF&lt;br /&gt;
|BEL|BGJ|BGK|BGL|BGN|BHD|BIF|BMD|BND|BOB|BOP|BOV|BRB|BRC|BRE|BRL|BRN|BRR|BSD|BTN|BUK|BWP|BYB|BYN|BYR|BZD|CAD|CDF&lt;br /&gt;
|CHC|CHE|CHF|CHW|CLF|CLP|CNY|COP|COU|CRC|CSD|CSJ|CSK|CUC|CUP|CVE|CYP|CZK|DDM|DEM|DJF|DKK|DOP|DZD|ECS|ECV|EEK|EGP&lt;br /&gt;
|ERN|ESA|ESB|ESP|ETB|EUR|FIM|FJD|FKP|FRF|GBP|GEK|GEL|GHC|GHP|GHS|GIP|GMD|GNE|GNF|GNS|GQE|GRD|GTQ|GWE|GWP|GYD|HKD&lt;br /&gt;
|HNL|HRD|HRK|HTG|HUF|IDR|IEP|ILP|ILR|ILS|INR|IQD|IRR|ISJ|ISK|ITL|JMD|JOD|JPY|KES|KGS|KHR|KMF|KPW|KRW|KWD|KYD|KZT&lt;br /&gt;
|LAJ|LAK|LBP|LKR|LRD|LSL|LSM|LTL|LTT|LUC|LUF|LUL|LVL|LVR|LYD|MAD|MDL|MGA|MGF|MKD|MLF|MMK|MNT|MOP|MRO|MRU|MTL|MTP&lt;br /&gt;
|MUR|MVQ|MVR|MWK|MXN|MXP|MXV|MYR|MZE|MZM|MZN|NAD|NGN|NIC|NIO|NLG|NOK|NPR|NZD|OMR|PAB|PEH|PEI|PEN|PES|PGK|PHP|PKR&lt;br /&gt;
|PLN|PLZ|PTE|PYG|QAR|RHD|ROK|ROL|RON|RSD|RUB|RUR|RWF|SAR|SBD|SCR|SDD|SDG|SDP|SEK|SGD|SHP|SIT|SKK|SLE|SLL|SOS|SRD&lt;br /&gt;
|SRG|SSP|STD|STN|SUR|SVC|SYP|SZL|THB|TJR|TJS|TMM|TMT|TND|TOP|TPE|TRL|TRY|TTD|TWD|TZS|UAH|UAK|UGS|UGW|UGX|USD|USN&lt;br /&gt;
|USS|UYI|UYN|UYP|UYU|UYW|UZS|VEB|VED|VEF|VES|VNC|VND|VUV|WST|XAF|XAG|XAU|XBA|XBB|XBC|XBD|XCD|XCG|XDR|XEU|XFO|XFU&lt;br /&gt;
|XOF|XPD|XPF|XPT|XRE|XSU|XTS|XUA|XXX|YDD|YER|YUD|YUM|YUN|ZAL|ZAR|ZMK|ZMW|ZRN|ZRZ|ZWC|ZWD|ZWG|ZWL|ZWN|ZWR={{{iso-code|}}}&lt;br /&gt;
|#default=}}&lt;br /&gt;
}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&amp;lt;noinclude&amp;gt;{{documentation|1=Template:ISO 4217/code/doc}}&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Marie</name></author>
	</entry>
	<entry>
		<id>https://maruneko.autumns.page/mediawiki/index.php?title=Template:ISO_4217/cite/SIX_Group&amp;diff=8544</id>
		<title>Template:ISO 4217/cite/SIX Group</title>
		<link rel="alternate" type="text/html" href="https://maruneko.autumns.page/mediawiki/index.php?title=Template:ISO_4217/cite/SIX_Group&amp;diff=8544"/>
		<updated>2026-03-05T07:14:36Z</updated>

		<summary type="html">&lt;p&gt;Marie: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{cite web&lt;br /&gt;
|url=https://www.six-group.com/en/products-services/financial-information/data-standards.html&lt;br /&gt;
|title=Data Standards, ISO 4217 - Currency Code Maintenance: Get the Correct Currency Code&lt;br /&gt;
|publisher=[[SIX Group]]&lt;br /&gt;
|website=www.six-group.com&lt;br /&gt;
|date=2022-10-01&lt;br /&gt;
|accessdate={{#ifeq:{{{access-date|}}}|_ABSENT_|2022-10-17|{{{access-date|}}}}}&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Marie</name></author>
	</entry>
	<entry>
		<id>https://maruneko.autumns.page/mediawiki/index.php?title=Template:Str_find_word&amp;diff=8542</id>
		<title>Template:Str find word</title>
		<link rel="alternate" type="text/html" href="https://maruneko.autumns.page/mediawiki/index.php?title=Template:Str_find_word&amp;diff=8542"/>
		<updated>2026-03-05T07:14:36Z</updated>

		<summary type="html">&lt;p&gt;Marie: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#invoke:Str find word|main}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{#invoke:check for unknown parameters|check&lt;br /&gt;
|unknown={{main other|1=[[Category:Pages using str find word with unknown parameters‎|_VALUE_]]}}&lt;br /&gt;
|preview=unknown parameter &amp;quot;_VALUE_&amp;quot;&lt;br /&gt;
|source|s|word|w|andwords|andw|orwords|orw}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&amp;lt;noinclude&amp;gt;{{documentation}}&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Marie</name></author>
	</entry>
	<entry>
		<id>https://maruneko.autumns.page/mediawiki/index.php?title=Module:Str_find_word&amp;diff=8540</id>
		<title>Module:Str find word</title>
		<link rel="alternate" type="text/html" href="https://maruneko.autumns.page/mediawiki/index.php?title=Module:Str_find_word&amp;diff=8540"/>
		<updated>2026-03-05T07:14:36Z</updated>

		<summary type="html">&lt;p&gt;Marie: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;require('strict')&lt;br /&gt;
local p = {}&lt;br /&gt;
local getArgs = require('Module:Arguments').getArgs&lt;br /&gt;
local str = require('Module:String')&lt;br /&gt;
local yesno = require('Module:Yesno')&lt;br /&gt;
local defaultSep = ','&lt;br /&gt;
local iMaxWords = 16&lt;br /&gt;
local warningIMaxWordsReached = nil&lt;br /&gt;
local xpLitWordCount = 0&lt;br /&gt;
local report -- to be initinated when explain needed&lt;br /&gt;
&lt;br /&gt;
-- Initialise the /report subpage.&lt;br /&gt;
-- only invoked when 'explain' asked&lt;br /&gt;
local function initReport()&lt;br /&gt;
	report = require('Module:Str find word/report')&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Turn &amp;quot;&amp;amp;#x0041;&amp;quot; into &amp;quot;A&amp;quot; etc. asap&lt;br /&gt;
-- and reduce multi-spaces (including nbsp etc.) into single space&lt;br /&gt;
local function decodeUnicode(str)&lt;br /&gt;
	return mw.ustring.gsub(mw.text.decode(str), '%s+', ' ')&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- %-Escape any word (character string) before feeding it into a string pattern function&lt;br /&gt;
-- all punctuation (%p) will be %-escaped&lt;br /&gt;
local function escape_word(word)&lt;br /&gt;
	return str._escapePattern(word)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Reads and parses a word list and returns a table with words (simple array)&lt;br /&gt;
-- words list can be: source, andwords-to-check, orwords-to-check&lt;br /&gt;
-- step 1: when case-insensitive, turn string into lowercase&lt;br /&gt;
-- step 2: read &amp;amp; remove Literals (&amp;quot;..&amp;quot;)&lt;br /&gt;
-- step 3: read comma-separated words&lt;br /&gt;
-- step 4: when booleans=T, change boolean words into true/false (module:yesno rules)&lt;br /&gt;
--		all words returned are trimmed, TODO and all ws into single-plainspace?&lt;br /&gt;
--		only T/F words are edited, other words remain, untouched&lt;br /&gt;
-- return the table (a straight array)&lt;br /&gt;
local function buildWordTable(tArgs, sWordlist)&lt;br /&gt;
local wordTable = {}&lt;br /&gt;
local hitWord	= ''&lt;br /&gt;
local hitCount	= 0&lt;br /&gt;
	if sWordlist == '' then return wordTable end&lt;br /&gt;
&lt;br /&gt;
	-- Step 1: case-sensitive&lt;br /&gt;
	if yesno(tArgs.case, true) == false then&lt;br /&gt;
		sWordlist = string.lower(sWordlist)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Step 2: read &amp;quot;literals&amp;quot;, &lt;br /&gt;
	-- then remove them from the string:&lt;br /&gt;
	-- replaced by single comma; idle &amp;amp; keeps word separation&lt;br /&gt;
	--- if yesno(tArgs.literals, false) then&lt;br /&gt;
	if false then&lt;br /&gt;
		local _, sCount&lt;br /&gt;
		_, sCount = mw.ustring.gsub(sWordlist, '&amp;quot;', '')&lt;br /&gt;
		if sCount &amp;gt; 1 then&lt;br /&gt;
			local litWord = ''&lt;br /&gt;
			local i, j&lt;br /&gt;
&lt;br /&gt;
			while sCount &amp;gt; 1 do -- could do here: only when even?&lt;br /&gt;
				i = string.find(sWordlist, '%&amp;quot;', 1, false)&lt;br /&gt;
				j = string.find(sWordlist, '%&amp;quot;', i+1, false)&lt;br /&gt;
				litWord = mw.text.trim(string.sub(sWordlist, i+1, j-1))&lt;br /&gt;
				if #litWord &amp;gt; 0 then -- not an empty string or spaces only&lt;br /&gt;
					xpLitWordCount = xpLitWordCount + 1&lt;br /&gt;
					table.insert(wordTable, litWord)&lt;br /&gt;
				end&lt;br /&gt;
				-- remove from source, and do next gsub search:&lt;br /&gt;
				sWordlist = string.gsub(sWordlist, '%&amp;quot;%s*'&lt;br /&gt;
												.. escape_word(litWord) &lt;br /&gt;
												.. '%s*%&amp;quot;', ',')&lt;br /&gt;
				_, sCount = mw.ustring.gsub(sWordlist, '&amp;quot;', '')&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- Step 3: parse comma-delimited words&lt;br /&gt;
	hitCount = 0&lt;br /&gt;
	sWordlist = tArgs.sep .. sWordlist .. tArgs.sep&lt;br /&gt;
	local eSep&lt;br /&gt;
	eSep = escape_word(tArgs.sep)&lt;br /&gt;
	local patstring = '%f[^' .. eSep .. '][^' .. eSep .. ']+%f[' .. eSep .. ']'&lt;br /&gt;
	if yesno(tArgs.explain, false) then&lt;br /&gt;
		report.xpMessage('1.eSep: ' .. eSep) -- dev&lt;br /&gt;
		report.xpMessage('2.pattern: ' .. patstring) -- dev&lt;br /&gt;
	end&lt;br /&gt;
 	while hitCount &amp;lt;= iMaxWords do&lt;br /&gt;
		hitCount = hitCount + 1&lt;br /&gt;
		&lt;br /&gt;
		hitWord = str._match(sWordlist, patstring, 1, hitCount, false, tArgs.sep)&lt;br /&gt;
		hitWord = mw.text.trim(hitWord)&lt;br /&gt;
		if hitWord == tArgs.sep then&lt;br /&gt;
			-- no more words found in the string&lt;br /&gt;
			break&lt;br /&gt;
		elseif hitWord ~= '' then&lt;br /&gt;
			table.insert(wordTable, hitWord)&lt;br /&gt;
		end&lt;br /&gt;
 	end&lt;br /&gt;
 	if hitCount &amp;gt; iMaxWords then &lt;br /&gt;
	 	warningIMaxWordsReached = 'Max number of words (' .. tostring(iMaxWords) .. ') reached. Extra words are ignored.'&lt;br /&gt;
	 								.. ' (' .. mw.ustring.sub(mw.text.trim(sWordlist), 1, 90) .. '&amp;amp;nbsp;...). '&lt;br /&gt;
 	end&lt;br /&gt;
&lt;br /&gt;
	-- Step 4: when read booleans, converse words to true/false&lt;br /&gt;
	-- todo: check parameter here not elsewhere&lt;br /&gt;
	if tArgs.booleans then -- TODO if Yesno(tArgs.booleans) ... &lt;br /&gt;
		local sBool&lt;br /&gt;
		for i, v in ipairs(wordTable) do&lt;br /&gt;
			sBool = yesno(v)&lt;br /&gt;
			if sBool ~= nil then&lt;br /&gt;
				wordTable[i] = tostring(sBool)&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return wordTable&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Check whether a single word is in a table (a simple array of words)&lt;br /&gt;
-- returns hitword or nil&lt;br /&gt;
local function findWordInTable(sourceWordTable, word)&lt;br /&gt;
	local bHit = false&lt;br /&gt;
	for i, v in ipairs(sourceWordTable) do&lt;br /&gt;
		if v == word then&lt;br /&gt;
			bHit = true&lt;br /&gt;
			break&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	if bHit then&lt;br /&gt;
		return word&lt;br /&gt;
	else&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- AND-logic with andWordTable words: ALL words must be found&lt;br /&gt;
-- returns {T/F, hittable}&lt;br /&gt;
--		T when *all* AND words are found&lt;br /&gt;
--		hittable with all hit words&lt;br /&gt;
-- note 1: when F, the hittable still contains the words that were found&lt;br /&gt;
-- note 2: empty AND-wordlist =&amp;gt; True by logic (because: not falsified)&lt;br /&gt;
local function checkANDwords(sourceWordTable, andWordTable)&lt;br /&gt;
local result1&lt;br /&gt;
local bAND&lt;br /&gt;
local tHits&lt;br /&gt;
&lt;br /&gt;
	bAND = true&lt;br /&gt;
	tHits = {}&lt;br /&gt;
	result1 = nil&lt;br /&gt;
	if #andWordTable &amp;gt; 0 then&lt;br /&gt;
		for i, word in ipairs(andWordTable) do&lt;br /&gt;
			result1 = findWordInTable(sourceWordTable, word) or nil&lt;br /&gt;
			if result1 == nil then&lt;br /&gt;
				bAND = false -- Falsified!&lt;br /&gt;
				-- could break after this logically but &lt;br /&gt;
				-- continue to complete the table (bAND remains false)&lt;br /&gt;
			else&lt;br /&gt;
				table.insert(tHits, result1)&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		bAND = true&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return bAND, tHits&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- OR-logic with orWordTable words: at least one word must be found&lt;br /&gt;
-- returns {T/F, hittable}&lt;br /&gt;
--		True when at least one OR word is found&lt;br /&gt;
--		hittable has all hit words&lt;br /&gt;
-- note 1: empty OR-wordlist =&amp;gt; True by logic (because: not falsified)&lt;br /&gt;
-- note 2: while just one hitword is a True result, the hittable contains all words found&lt;br /&gt;
local function checkORwords(sourceWordTable, orWordTable)&lt;br /&gt;
local result1&lt;br /&gt;
local bOR&lt;br /&gt;
local tHits&lt;br /&gt;
&lt;br /&gt;
	bOR = false&lt;br /&gt;
	tHits = {}&lt;br /&gt;
	result1 = nil&lt;br /&gt;
	if #orWordTable &amp;gt; 0 then&lt;br /&gt;
		for i, word in ipairs(orWordTable) do&lt;br /&gt;
			result1 = findWordInTable(sourceWordTable, word) or nil&lt;br /&gt;
			if result1 == nil then&lt;br /&gt;
				-- this one is false; bOR unchanged; do next&lt;br /&gt;
			else&lt;br /&gt;
				bOR = true -- Confirmed!&lt;br /&gt;
				table.insert(tHits, result1)&lt;br /&gt;
				-- could break here logically, but complete the check&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		bOR = true&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return bOR, tHits&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Determine the requested return value (string).&lt;br /&gt;
-- sYeslist is the _main return value (logically defined value)&lt;br /&gt;
-- this function applies tArgs.yes / tArgs.no return value&lt;br /&gt;
-- note: yes='' implies: blank return value&lt;br /&gt;
-- note: no parameter yes= (that is, yes=nil) implies: by default, return the sYeslist&lt;br /&gt;
local function yesnoReturnstring(tArgs, sYeslist)&lt;br /&gt;
	if sYeslist == '' then -- False &lt;br /&gt;
		return tArgs.no or ''&lt;br /&gt;
	else -- True&lt;br /&gt;
		if tArgs.yes == nil then&lt;br /&gt;
			return sYeslist&lt;br /&gt;
		else -- some |yes= value is entered, could be ''&lt;br /&gt;
			return tArgs.yes&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function isPreview()&lt;br /&gt;
local ifPreview = require('Module:If preview')&lt;br /&gt;
	return not (ifPreview._warning( {'is_preview'} ) == '')&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Explain options (=report info), interprets parameter explain=&lt;br /&gt;
-- returns true/false/'testcases'&lt;br /&gt;
-- explain=true =&amp;gt; show report in Preview&lt;br /&gt;
-- explain=testcases =&amp;gt; WHEN in ns: template: or user: AND subpage = '/testcases' THEN show permanently&lt;br /&gt;
local function checkExplain(tArgs)&lt;br /&gt;
	return false  -- never. 22Mar2023 checkExplain(newArgs)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- ===== ===== ===== ===== ===== ===== ===== ===== ===== ===== ===== ===== =====&lt;br /&gt;
-- _main function: check for presence of words in source string&lt;br /&gt;
-- Checks and returns:&lt;br /&gt;
--		when T: the string of all hitwords (default), or the |yes=... input&lt;br /&gt;
--		when F: empty string '' (default), or the |no=... input&lt;br /&gt;
-- steps:&lt;br /&gt;
-- 1. input word strings are prepared (parsed into an array of words)&lt;br /&gt;
-- 2. words checks are made (applying AND-logic, OR-logic)&lt;br /&gt;
-- 3. final conclusion drawn (T/F)&lt;br /&gt;
-- 4. optionally, the preview report is prepared (debug, feedback)&lt;br /&gt;
-- 5. based on T or F status, the return value (string) is established and returned&lt;br /&gt;
-- note 1: each return value (yes=.., no=..) can be '' (nulstring)&lt;br /&gt;
function p._main(tArgs)&lt;br /&gt;
local sourceWordTable	= {}&lt;br /&gt;
local andWordTable		= {}&lt;br /&gt;
local orWordTable		= {}&lt;br /&gt;
local tANDhits&lt;br /&gt;
local tORhits&lt;br /&gt;
-- logical finding:&lt;br /&gt;
local bANDresult	= false&lt;br /&gt;
local bORresult 	= false&lt;br /&gt;
local resultALL 	= false&lt;br /&gt;
local sYeslist		= ''&lt;br /&gt;
&lt;br /&gt;
	sourceWordTable	= buildWordTable(tArgs, tArgs.source)&lt;br /&gt;
	andWordTable	= buildWordTable(tArgs, tArgs.andString)&lt;br /&gt;
	orWordTable		= buildWordTable(tArgs, tArgs.orString)&lt;br /&gt;
&lt;br /&gt;
	if (#sourceWordTable == 0) or (#andWordTable + #orWordTable == 0) then&lt;br /&gt;
		-- No words to check&lt;br /&gt;
		resultALL = false&lt;br /&gt;
		if yesno(tArgs.explain, false) then&lt;br /&gt;
			report.xpNoWords(tArgs, sourceWordTable, andWordTable, orWordTable)&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		bANDresult, tANDhits	= checkANDwords(sourceWordTable, andWordTable)&lt;br /&gt;
		bORresult, tORhits		= checkORwords(sourceWordTable, orWordTable)&lt;br /&gt;
		resultALL = (bANDresult) and (bORresult)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	sYeslist = ''&lt;br /&gt;
	if resultALL then&lt;br /&gt;
		-- concat the sYeslist (= all hit words; from 2 tables)&lt;br /&gt;
		if bANDresult then&lt;br /&gt;
			sYeslist = sYeslist .. table.concat(tANDhits, tArgs.sep)&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		if #tORhits &amp;gt; 0 then&lt;br /&gt;
			if #tANDhits &amp;gt; 0 then&lt;br /&gt;
				sYeslist = sYeslist .. tArgs.sep&lt;br /&gt;
			end&lt;br /&gt;
			sYeslist = sYeslist .. table.concat(tORhits, tArgs.sep)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if yesno(tArgs.explain, false) then&lt;br /&gt;
		if tArgs.yes ~= nil then&lt;br /&gt;
			if (tArgs.yes == '') and (tArgs.no == '') then&lt;br /&gt;
				report.xpYesNoBothBlank()&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		if warningIMaxWordsReached ~= nil then&lt;br /&gt;
			report.xpMessage(warningIMaxWordsReached)&lt;br /&gt;
		end&lt;br /&gt;
		report.xpBuildReport(tArgs, sourceWordTable, &lt;br /&gt;
						bANDresult, andWordTable, tANDhits,&lt;br /&gt;
						bORresult, orWordTable, tORhits,&lt;br /&gt;
						sYeslist, xpLitWordCount)&lt;br /&gt;
	end&lt;br /&gt;
	return yesnoReturnstring(tArgs, sYeslist)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- set wordt separator &lt;br /&gt;
local function setSep(sSep)&lt;br /&gt;
	if sSep == nil then return defaultSep end&lt;br /&gt;
	local msg = ''&lt;br /&gt;
	-- todo what with {{!}}&lt;br /&gt;
	local newSep = defaultSep&lt;br /&gt;
&lt;br /&gt;
	newSep  = sSep&lt;br /&gt;
	sSep = decodeUnicode(sSep)&lt;br /&gt;
	if string.match(sSep, '[%s%w%d]') ~= nil then -- not ok&lt;br /&gt;
		msg = 'Irregular characters in sep: ' .. sSep&lt;br /&gt;
		newSep = defaultSep&lt;br /&gt;
	end&lt;br /&gt;
	newSep = string.sub(sSep, 1, 1)&lt;br /&gt;
	if newSep == '' then --- ???&lt;br /&gt;
		newSep = defaultSep&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return newSep&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function concatAndLists(s1, s2, newSep)&lt;br /&gt;
	local tLists = {} -- working table: both s1 and s2 to concat&lt;br /&gt;
	table.insert(tLists, s1)&lt;br /&gt;
	table.insert(tLists, s2)&lt;br /&gt;
	return table.concat(tLists, newSep)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function parseArgs(origArgs)&lt;br /&gt;
local newArgs = {}&lt;br /&gt;
	newArgs['sep']		= setSep(origArgs['sep']) -- do first, needed below&lt;br /&gt;
	newArgs['source']	= decodeUnicode(origArgs['s'] or origArgs['source'] or '')&lt;br /&gt;
	newArgs['andString'] = decodeUnicode(concatAndLists(&lt;br /&gt;
									origArgs['w'] or origArgs['word'] or nil,&lt;br /&gt;
									origArgs['andw'] or origArgs['andwords'] or nil, &lt;br /&gt;
									newArgs.sSep)&lt;br /&gt;
									)&lt;br /&gt;
	newArgs['orString']	= decodeUnicode(origArgs['orw'] or origArgs['orwords'] or '')&lt;br /&gt;
	-- boolean options: catch both parameters, also handle nil &amp;amp; nonsense input values:&lt;br /&gt;
	newArgs['case']		= yesno(origArgs['case'] or origArgs['casesensitive'] or true, true) -- defaults to True&lt;br /&gt;
	newArgs['booleans']	= yesno(origArgs['bool'] or origArgs['booleans'] or false, false) -- defaults to False&lt;br /&gt;
	newArgs['literals']	= yesno(origArgs['literals'] or origArgs['lit'] or true, true) -- defaults to True&lt;br /&gt;
	newArgs['yes']		= origArgs['yes'] or nil -- nil; default so return sYeslist; keep '' as legal input &amp;amp; return value&lt;br /&gt;
	newArgs['no']		= origArgs['no'] or ''&lt;br /&gt;
	newArgs['explain']	= false -- never. 22Mar2023 checkExplain(newArgs)&lt;br /&gt;
&lt;br /&gt;
	newArgs.explain = false -- never. 22Mar2023 checkExplain(newArgs)&lt;br /&gt;
	&lt;br /&gt;
	return newArgs&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.main(frame)&lt;br /&gt;
local origArgs = getArgs(frame)&lt;br /&gt;
local sReturn = ''&lt;br /&gt;
local tArgs = {}&lt;br /&gt;
&lt;br /&gt;
	tArgs = parseArgs(origArgs)&lt;br /&gt;
	if yesno(tArgs.explain, false) then&lt;br /&gt;
		initReport()&lt;br /&gt;
		report.xpListArguments(origArgs)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	sReturn = p._main(tArgs)&lt;br /&gt;
	&lt;br /&gt;
	if warningIMaxWordsReached ~=nil then&lt;br /&gt;
		local preview = require('Module:If preview')&lt;br /&gt;
		sReturn = sReturn .. preview._warning({warningIMaxWordsReached})&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if yesno(tArgs.explain, false) then&lt;br /&gt;
		return sReturn .. report.xpPresent(tArgs.explain)&lt;br /&gt;
	else&lt;br /&gt;
		return sReturn&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Marie</name></author>
	</entry>
	<entry>
		<id>https://maruneko.autumns.page/mediawiki/index.php?title=Template:TPU&amp;diff=8538</id>
		<title>Template:TPU</title>
		<link rel="alternate" type="text/html" href="https://maruneko.autumns.page/mediawiki/index.php?title=Template:TPU&amp;diff=8538"/>
		<updated>2026-03-05T07:14:36Z</updated>

		<summary type="html">&lt;p&gt;Marie: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Template:Template parameter usage]]&lt;/div&gt;</summary>
		<author><name>Marie</name></author>
	</entry>
	<entry>
		<id>https://maruneko.autumns.page/mediawiki/index.php?title=Template:Infobox_currency/doc&amp;diff=8536</id>
		<title>Template:Infobox currency/doc</title>
		<link rel="alternate" type="text/html" href="https://maruneko.autumns.page/mediawiki/index.php?title=Template:Infobox_currency/doc&amp;diff=8536"/>
		<updated>2026-03-05T07:14:36Z</updated>

		<summary type="html">&lt;p&gt;Marie: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Documentation subpage}}&lt;br /&gt;
&amp;lt;!-- Please place categories where indicated at the bottom of this page and interwikis at Wikidata (see [[Wikipedia:Wikidata]]) --&amp;gt;&lt;br /&gt;
{{Lua|Module:Infobox|Module:InfoboxImage|Module:Check for unknown parameters}}&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
===Most commonly used parameters===&lt;br /&gt;
{{cot|title=Most common parameters|bg=#ddd|expand=yes}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;wikitext&amp;quot; style=&amp;quot;overflow: auto&amp;quot;&amp;gt;&lt;br /&gt;
{{Infobox currency&lt;br /&gt;
| name =&lt;br /&gt;
| local_name =&lt;br /&gt;
| local_name_lang =&lt;br /&gt;
| obsolete =&lt;br /&gt;
| image_1 =&lt;br /&gt;
| image_title_1 =&lt;br /&gt;
| image_alt_1 =&lt;br /&gt;
| iso_code =&lt;br /&gt;
| issuing_authority =&lt;br /&gt;
| issuing_authority_website =&lt;br /&gt;
| date_of_introduction = &lt;br /&gt;
| date_of_introduction_source =&lt;br /&gt;
| using_countries =&lt;br /&gt;
| inflation_rate =&lt;br /&gt;
| inflation_source_date =&lt;br /&gt;
| unit =&lt;br /&gt;
| symbol =&lt;br /&gt;
| nickname =&lt;br /&gt;
| plural =&lt;br /&gt;
&amp;lt;!-- subunits,  superunits --&amp;gt;&lt;br /&gt;
| subunit_ratio_1 = {{frac|1|100}}&lt;br /&gt;
| subunit_name_1 =&lt;br /&gt;
| symbol_subunit_1 =&lt;br /&gt;
| nickname_subunit_1 =&lt;br /&gt;
| plural_subunit_1 =&lt;br /&gt;
&amp;lt;!-- banknotes &amp;amp; coins --&amp;gt;&lt;br /&gt;
| frequently_used_coins =&lt;br /&gt;
| rarely_used_coins =&lt;br /&gt;
| frequently_used_banknotes =&lt;br /&gt;
| rarely_used_banknotes =&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{cob}}&lt;br /&gt;
&lt;br /&gt;
===Euro related (ERM)===&lt;br /&gt;
{{cot|title=Euro &amp;amp; ERM related|bg=#ddd|expand=}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;wikitext&amp;quot; style=&amp;quot;overflow: auto&amp;quot;&amp;gt;&lt;br /&gt;
{{Infobox currency&lt;br /&gt;
| local_name =&lt;br /&gt;
| local_name_lang =&lt;br /&gt;
| image_1 =&lt;br /&gt;
| image_title_1 =&lt;br /&gt;
| alt1 =&lt;br /&gt;
| iso_code =&lt;br /&gt;
| issuing_authority =&lt;br /&gt;
| issuing_authority_website =&lt;br /&gt;
| date_of_introduction = &lt;br /&gt;
| date_of_introduction_source =&lt;br /&gt;
| using_countries =&lt;br /&gt;
| inflation_rate =&lt;br /&gt;
| inflation_source_date =&lt;br /&gt;
| ERM_since =&lt;br /&gt;
| ERM_fixed_rate_since =&lt;br /&gt;
| euro_replace_non_cash =&lt;br /&gt;
| euro_replace_cash =&lt;br /&gt;
| ERM_fixed_rate =&lt;br /&gt;
| ERM_band =&lt;br /&gt;
| unit = euro&lt;br /&gt;
| subunit_ratio_1 = {{frac|1|100}}&lt;br /&gt;
| subunit_name_1 =&lt;br /&gt;
| symbol = [[€]]&lt;br /&gt;
| plural =&lt;br /&gt;
| plural_subunit_1 =&lt;br /&gt;
| frequently_used_coins =&lt;br /&gt;
| rarely_used_coins =&lt;br /&gt;
| frequently_used_banknotes =&lt;br /&gt;
| rarely_used_banknotes =&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{cob}}&lt;br /&gt;
&lt;br /&gt;
===Extensive syntax===&lt;br /&gt;
{{cot|title=Full syntax|bg=#ddd}}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;wikitext&amp;quot; style=&amp;quot;overflow: auto&amp;quot;&amp;gt;&lt;br /&gt;
{{Infobox currency&lt;br /&gt;
| name =&lt;br /&gt;
| local_name =&lt;br /&gt;
| local_name_lang =&lt;br /&gt;
| postfix =&lt;br /&gt;
| local_name2 =&lt;br /&gt;
| local_name_lang2 =&lt;br /&gt;
| local_name3 =&lt;br /&gt;
| local_name_lang3 =&lt;br /&gt;
| name_abbr =&lt;br /&gt;
| obsolete =&amp;lt;!-- /yes --&amp;gt;&lt;br /&gt;
| obsolete_notice =&lt;br /&gt;
| qid =&lt;br /&gt;
| image_1 =&lt;br /&gt;
| image_background_1 =&lt;br /&gt;
| image_title_1 =&lt;br /&gt;
| image_width_1 =&lt;br /&gt;
| image_alt1 =    &lt;br /&gt;
| image_2 = &lt;br /&gt;
| image_background_2 =&lt;br /&gt;
| image_title_2 =&lt;br /&gt;
| image_width_2 =&lt;br /&gt;
| image_alt2 =&lt;br /&gt;
| iso_code =&lt;br /&gt;
| iso_notice =&lt;br /&gt;
| issuing_authority =&lt;br /&gt;
| issuing_authority_title =&lt;br /&gt;
| issuing_authority_website =&lt;br /&gt;
| date_of_introduction = &lt;br /&gt;
| date_of_introduction_source =&lt;br /&gt;
| unofficial_users =&lt;br /&gt;
| using_countries =&lt;br /&gt;
| inflation_title =&lt;br /&gt;
| inflation_rate =&lt;br /&gt;
| inflation_source_date =&lt;br /&gt;
| inflation_method =&lt;br /&gt;
| ERM_since =&lt;br /&gt;
| ERM_withdraw =&lt;br /&gt;
| ERM_fixed_rate_since =&lt;br /&gt;
| euro_replace_non_cash =&lt;br /&gt;
| euro_replace_cash =&lt;br /&gt;
| ERM_fixed_rate =&lt;br /&gt;
| ERM_band =&lt;br /&gt;
| pegged_with =&lt;br /&gt;
| pegged_by =&lt;br /&gt;
| unit =&lt;br /&gt;
| symbol =&lt;br /&gt;
| plural =&lt;br /&gt;
| plural_slavic =&lt;br /&gt;
| no_plural =&lt;br /&gt;
| nickname =&lt;br /&gt;
&amp;lt;!-- superunits: _1 through _5 = --&amp;gt;&lt;br /&gt;
| superunit_ratio_1 =&lt;br /&gt;
| superunit_name_1 =&lt;br /&gt;
| superunit_inline_note_1 =&lt;br /&gt;
&amp;lt;!-- subunits: _1 through _5 = --&amp;gt;&lt;br /&gt;
| subunit_ratio_1 =&lt;br /&gt;
| subunit_name_1 =&lt;br /&gt;
| subunit_inline_note_1 =&lt;br /&gt;
| symbol_subunit_1 =&lt;br /&gt;
| nickname_subunit_1 =&lt;br /&gt;
| plural_subunit_1 =&lt;br /&gt;
&amp;lt;!-- banknotes and coins --&amp;gt;&lt;br /&gt;
| coin_article =&lt;br /&gt;
| used_coins =&lt;br /&gt;
| frequently_used_coins =&lt;br /&gt;
| rarely_used_coins =&lt;br /&gt;
| banknote_article =&lt;br /&gt;
| used_banknotes =&lt;br /&gt;
| frequently_used_banknotes =&lt;br /&gt;
| rarely_used_banknotes =&lt;br /&gt;
&amp;lt;!-- production --&amp;gt;&lt;br /&gt;
| printer =&lt;br /&gt;
| value =&lt;br /&gt;
| printer_website =&lt;br /&gt;
| mint =&lt;br /&gt;
| mint_website =&lt;br /&gt;
| footnotes =&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{cob}}&lt;br /&gt;
&lt;br /&gt;
== Parameters ==&lt;br /&gt;
All parameters are optional&lt;br /&gt;
&lt;br /&gt;
===Names===&lt;br /&gt;
* '''{{para|name}}''' or {{para|currency_name}}: overrides the default, the article name (&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{PAGENAME}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;)&lt;br /&gt;
:For example: &amp;quot;[[German mark (1871)]]&amp;quot; &amp;amp;rarr; {{para|currency_name|German mark}}&lt;br /&gt;
&lt;br /&gt;
* '''{{para|local_name|}}, {{para|local_name_lang|}}''' allows a native name.&lt;br /&gt;
:Alias names: {{para|currency_name_in_local, local_name1}}, {{para|local_name_lang1}}&lt;br /&gt;
&lt;br /&gt;
:For example: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;|local_name={{native name|fi|Suomen markka|italics=off}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; &amp;amp;rarr; {{native name|sv|Finska mark|italics=off}}&lt;br /&gt;
: Language codes are in [[:Template:ISO_639_name|ISO 639 language code]].&lt;br /&gt;
:'''{{para|postfix, postfix1}}''' will be aded as suffix text to local name #1. Its {{para|local_name_lang1}} will ''not'' show.&lt;br /&gt;
&lt;br /&gt;
:'''{{para|local_name2, local_name_lang2}}, {{para|local_name3, local_name_lang3}}, {{para|local_name4, local_name_lang4}}''' allow more pairs of name-language.&lt;br /&gt;
&lt;br /&gt;
:All official languages of the issuing authority, plus all that appear on the physical currencies. But exclude languages that appear on motto (&amp;quot;E Pluribus Unum&amp;quot;, of the US, &amp;quot;Dieu et mon droit&amp;quot; of UK, if it ever appears) that are in such languages for historical reasons, and regional languages on rotation (the don't-be-stupid clause). It is better missing than to guess. It is ok to be missing. Multiple languages: {{tl|Native name list}}&lt;br /&gt;
: In some languages, indefinite/definite articles are part of the nouns, such as the [[North Germanic languages]]. Use indefinite singular form. Example: [[Faroese króna]]. One wouldn't write &amp;quot;le franc français&amp;quot; in French franc's infobox.&lt;br /&gt;
: See {{tlx|native name}} documentation for listing multiple languages. (One line per spelling. Use the {{tlf|native name}} or similar templates where appropriate. For example: [[Euro]], &amp;lt;small&amp;gt;dólar australiano (Spanish, Portuguese)&amp;lt;/small&amp;gt;.&lt;br /&gt;
: Use capitalization rule as if it is in the middle of a sentence in that language. For example, &amp;quot;franc français&amp;quot;, not &amp;quot;Franc français&amp;quot;, nor &amp;quot;franc Français&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
* '''{{para|name_abbr}}''' Currency name abbreviation. For example, Can$, $NZ. Can be informal. Is not {{code|ISO 4127 code}}, nor {{code|symbol}}. (If provided must be [[WP:RS|reliable sourtce]] citable, for example by World Bank.&amp;lt;ref&amp;gt;[https://openknowledge.worldbank.org/bitstream/handle/10986/33367/33304.pdf?sequence=2 World Bank Style Guide] pp134{{ndash}}139)&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Active or obsolete===&lt;br /&gt;
&lt;br /&gt;
* '''{{para|obsolete|yes/no}}'''. Any other text, like {{para|obsolete|1999}}, will count as {{code|yes (is obsolete)}} .&lt;br /&gt;
:This will change the headercolor from blue to pink.&lt;br /&gt;
&lt;br /&gt;
* '''{{para|obsolete-notice|yes/no}}''' will add the notice to the bottom (when {{para|obsolete|yes}}). It never sets or alters the {{code|1=is-obsolete}} status:&lt;br /&gt;
::{{quote|style=background:#ddd;color:inherit; font-style=small|text=''This infobox shows the latest status before this currency was rendered obsolete.''}}&lt;br /&gt;
&lt;br /&gt;
===ISO 4217 code===&lt;br /&gt;
* '''{{para|iso_code}}''', the formal alpha-3 [[ISO 4217]] code like {{code|EGP, EUR, USD}}. Some codes are ambiguously active and obslolete, for these, {{para|obsolete|yes/no}} is decisive.&lt;br /&gt;
:'''{{para|iso_code|&amp;lt;nowiki&amp;gt;''None''&amp;lt;/nowiki&amp;gt;}}''' (formatted in any form) can be used. This helps the reader clarifying the status of the currency.&lt;br /&gt;
:Derived values, as defined by ISO 4217{{ISO 4217/cite|SIX}} are added automatically: {{code|ISO Numeric Code}}, {{code|ISO Minor Unit}} (see {{tlx|ISO 4217/code}}&amp;lt;!--,  {{code|ISO Withdrawal Date}}.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
::When {{para|iso_code}} is used, the article is categorised in {{clc|Currencies with ISO 4217 code}}.&lt;br /&gt;
::When {{para|iso_code|None}} is used, the article is categorised in {{clc|Currencies without ISO 4217 code}}.&lt;br /&gt;
::Otherwise {{para|iso_code|&amp;amp;lt;blank&amp;gt;}}, the article is not categorised wrt ISO 4217.&lt;br /&gt;
&lt;br /&gt;
::Note: {{as of|lc=yes|1 November 2022}}, ISO-related parameters {{!mxt|iso_number}}, {{!mxt|iso_exponent}}, and {{!mxt|iso_decimals}} are deprecated (now automated).&lt;br /&gt;
* '''{{para|iso_comment}}'''&lt;br /&gt;
* '''{{para|iso_ref}}'''&lt;br /&gt;
&lt;br /&gt;
===Images===&lt;br /&gt;
* '''{{para|image_1}}'''&lt;br /&gt;
* '''{{para|image_title_1}}'''&lt;br /&gt;
* '''{{para|image_background_1}}''' (none) #000000&lt;br /&gt;
* '''{{para|image_width_1}}''' 126 ''or'' 252: use a positive integer, no &amp;quot;px&amp;quot;. For examples, see [[East Caribbean dollar]], [[Polish zloty]], [[Chilean peso]], [[Portuguese escudo]], [[Bangladeshi taka]]&lt;br /&gt;
* '''{{para|image_2}}'''&lt;br /&gt;
* '''{{para|image_title_2}}'''&lt;br /&gt;
* '''{{para|image_background_2}}'''&lt;br /&gt;
* '''{{para|image_width_2}}'''&lt;br /&gt;
&lt;br /&gt;
=== Pre-euro currencies (ERM) ===&lt;br /&gt;
* '''{{para|ERM_since}}''' is required for ERM/euro currencies, unless {{para|ERM_withdraw}} is used&lt;br /&gt;
* '''{{para|ERM_withdraw}}''' date (for [[pound sterling]] and [[Italian lira]])&lt;br /&gt;
* '''{{para|ERM_fixed_rate}}''' &amp;quot;5.94573&amp;amp;nbsp;mk&amp;quot;, (not &amp;quot;1 euro = 5.94573 mk&amp;quot;, use symbol if possible)&lt;br /&gt;
* '''{{para|ERM_fixed_rate_since}}''' &lt;br /&gt;
* '''{{para|ERM_band}}''' &amp;quot;15%&amp;quot;, not &amp;quot;±15%&amp;quot;&lt;br /&gt;
* '''{{para|euro_replace_non_cash}}''' 1 January 1999&lt;br /&gt;
* '''{{para|euro_replace_cash}}''' 1 January 2002&lt;br /&gt;
&lt;br /&gt;
=== Currency usage ===&lt;br /&gt;
* '''{{para|issuing_authority}}'''  Central Bank of xyz. If this exists in the infobox, remove duplicate wiki link from the article's &amp;quot;See also&amp;quot; section&lt;br /&gt;
* '''{{para|issuing_authority_title}}''' issuing_authority   Central bank  Monetary authority, currency board&lt;br /&gt;
* '''{{para|issuing_authority_website}}''' issuing_authority, for example &amp;lt;nowiki&amp;gt;{{URL|www.ecb.eu}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
:: If this exists in the infobox, remove duplicate link from the article's &amp;quot;External links&amp;quot; section&lt;br /&gt;
* '''{{para|date_of_introduction}}'''   16 August 1965: The date when the issuing authority introduced the medium of currency. Not to be confused with adoption by a country or other entity.&lt;br /&gt;
* '''{{para|date_of_introduction_source}}''' date_of_introduction Name of and reference to the act regarding the introduction of the currency.&lt;br /&gt;
* '''{{para|using_countries}}''' At least the country that issues the currency, together with any other countries that use it (typically because they do not have their own currency).&lt;br /&gt;
:: Do not use flags (see  [[MOS:INFOBOXFLAG]]).&lt;br /&gt;
:: Italicize non-sovereign states or states with limited recognition, order them as appropriate in the context. &lt;br /&gt;
:: Only list countries or territories if local people use the currency routinely with each other in that country. A citation is required. Acceptance in hotels and shops in tourist areas does not qualify.&lt;br /&gt;
&lt;br /&gt;
=== Inflation ===&lt;br /&gt;
&lt;br /&gt;
* '''{{para|inflation_rate}}'''  For additional info, use the next attribute.&lt;br /&gt;
* '''{{para| inflation_source_date}}''' inflation_rate; Prefer central bank data over CIA data. For example:&lt;br /&gt;
::&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;amp;lt;ref&amp;gt;[http://www.riksbank.com/templates/Page.aspx?id=12953 Sveriges Riksbank], August 2011&amp;amp;lt;/ref&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
::&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;amp;lt;ref&amp;gt;[https://www.cia.gov/library/publications/the-world-factbook/fields/2092.html The World Factbook]'', 2010 est.&amp;amp;lt;/ref&amp;gt;&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
* '''{{para| inflation_method}}''' for example, [[Consumer price index]] (CPI), or [[Consumer price index|CPI excluding real estate]]&lt;br /&gt;
&lt;br /&gt;
=== Pegging ===&lt;br /&gt;
* '''{{para|pegged_with}}''' Not in combination with {{para|ERM_since}}&lt;br /&gt;
:For example: {{para|pegged_with|2=euro = 3 units}}. If the rate is defined that way, do ''not'' put the inverse rate like 1 unit = 0.333333 euro.&lt;br /&gt;
* '''{{para|pegged_by}}''' Use ISO 4217 Code if the list gets too long&lt;br /&gt;
&lt;br /&gt;
===Unit &amp;amp; symbol===&lt;br /&gt;
* '''{{para|unit}}''' unit name, as used locally. e.g., just &amp;quot;dollar&amp;quot; for Australia, Canada etc.&lt;br /&gt;
* '''{{para|plural}}''' emalangeni (use this is the it doesn't follow English grammar)&lt;br /&gt;
* '''{{para|plural_slavic}}''' Put any non-empty value to enable the Slavic notice. For example see [[Russian ruble]]&lt;br /&gt;
* '''{{para|no_plural}}''' put any non-empty value to enable the no-plural notice. For example [[New Taiwan dollar]].&lt;br /&gt;
* '''{{para|symbol}}''' unqualified signs as used locally. For example €, £, $. (). Link to the articles of the currency symbols if exist (e.g. dollar sign, pound sign). Do not use abbreviations here, see {{para|name_abbr}}.&lt;br /&gt;
* '''{{para|symbol_comment}}''' age, references, notes, language&lt;br /&gt;
* '''{{para|nickname}}''' For example [[quid]], [[buck]]/[[greenback]], [[loonie]]/[[loonie|huard]]&lt;br /&gt;
&lt;br /&gt;
=== Superunit, subunit (1&amp;amp;ndash;5) ===&lt;br /&gt;
;subunit (like cent)&lt;br /&gt;
* {{para|subunit_ratio_1}} {{code|_5}} For example {{frac|1|100}}, {{frac|1|20}}, {{frac|1|240}}&lt;br /&gt;
* {{para|subunit_name_1}} {{code|_5}} Cent (currency), shilling, penny. Do not confuse centavo, centimo, centime, and centesimo.&lt;br /&gt;
* {{para|subunit_inline_note_1}} {{code|_5}} This is so small that it is not used in practice&lt;br /&gt;
* {{para|plural_subunit_1}} {{code|_5}} plural_slavic, no_plural, for example aurer (of Iceland). Used for irregular plurals like &amp;quot;pence&amp;quot; (GBP).&lt;br /&gt;
* {{para|symbol_subunit_1}} {{code|_5}} ¢&lt;br /&gt;
* {{para|nickname_subunit__1}} {{code|_5}} Matching subunit_name_(1..5} penny&lt;br /&gt;
&lt;br /&gt;
;superunit&lt;br /&gt;
* {{para|superunit_ratio_1}} {{code|_5}}&lt;br /&gt;
* {{para|superunit_name_1}} {{code|_5}}&lt;br /&gt;
* {{para|superunit_inline_note_1}} {{code|_5}}&lt;br /&gt;
&lt;br /&gt;
=== Frequency (coins) ===&lt;br /&gt;
* '''{{para|used_coins}}'''&lt;br /&gt;
* '''{{para|frequently_used_coins}}'''&lt;br /&gt;
* '''{{para|rarely_used_coins}}'''&lt;br /&gt;
* '''{{para|coin_article}}''' For example {{para|coin_article|&amp;lt;nowiki&amp;gt;[[United States coinage]]&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
* The {{para|coin_article}} parameter without an argument will result in {{code|&amp;lt;nowiki&amp;gt;[[Coins of the {{{currency_name|{{PAGENAMEBASE}}}}}|Coins]]&amp;lt;/nowiki&amp;gt;}} in boldface type ''only if that article exists''. If that article does not exist, then &amp;quot;Coins&amp;quot; will be in bold and unlinked.&lt;br /&gt;
* Use symbol if possible. But it has to be correct down to the position and the spacing. If you are not sure, fall back to the full name. Central bank websites are a good source for authoritative information.&lt;br /&gt;
:'''Correct:'''&lt;br /&gt;
::{{xt|$1, 10¢, £5, 500 Kč}}&lt;br /&gt;
:'''Incorrect:'''&lt;br /&gt;
::{{!xt|1$, $ 1, 10 ¢, ¢10, £ 5, 5£, 500Kč, Kč 500}}&lt;br /&gt;
*If the symbol is behind the numeral, then put the symbol after the last one.&lt;br /&gt;
:'''Recommended:'''&lt;br /&gt;
::{{xt|20, 50, 100, 200, 500, 1000, 5000 Sk}}&lt;br /&gt;
:'''Not recommended:'''&lt;br /&gt;
::{{!xt|20 Sk, 50 Sk, 100 Sk, 200 Sk, 500 Sk, 1000 Sk, 5000 Sk}}&lt;br /&gt;
* Use the representation on the coin/banknote, e.g. if it says '''&amp;quot;100 cents&amp;quot;''', then it's &amp;quot;100 cents&amp;quot;, not &amp;quot;1 dollar&amp;quot;; if it says '''&amp;quot;{{frac|1|2}} franc&amp;quot;''', then it's not &amp;quot;50 centimes&amp;quot;&lt;br /&gt;
* Use {{tlx|frac}}: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{frac|1|4}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt; &amp;amp;rarr; {{frac|1|4}}, not {{!xt|1/4}} nor {{!xt|¼}} &lt;br /&gt;
* If the list involves both the subunits and the main unit, do not add a new line after the subunit. For example,&lt;br /&gt;
:'''Recommended:'''&lt;br /&gt;
::{{xt|10p, 20p, 50p, £1}}&lt;br /&gt;
:'''Not recommended:'''&lt;br /&gt;
::{{!xt|10p, 20p, 50p&amp;lt;br/&amp;gt;£1}}&lt;br /&gt;
:However, add a new line with &amp;lt;nowiki&amp;gt;&amp;lt;br/&amp;gt;&amp;lt;/nowiki&amp;gt; after the subunit '''if and only if''' the total number of lines remains the same.&lt;br /&gt;
:'''Recommended:'''&lt;br /&gt;
::{{xt|10p, 20p, 50p}}&amp;lt;br/&amp;gt;&lt;br /&gt;
::{{xt|£1, £2, £5}}&lt;br /&gt;
:'''Not recommended:'''&lt;br /&gt;
::{{!xt|10p, 20p, 50p, £1, £2,&amp;lt;br/&amp;gt;}}&lt;br /&gt;
::{{!xt|£5}}&lt;br /&gt;
* Do not put &amp;quot;and&amp;quot; before the last one, e.g. &amp;quot;'''{{xt|1, 5, 10, 20, 50, 100 yuan}}'''&amp;quot;, not &amp;quot;{{!xt|1, 5, 10, 20, 50, and 100 yuan}}&amp;quot;&lt;br /&gt;
* For large numbers, write like these&lt;br /&gt;
:* 1000 (no space, no comma)&lt;br /&gt;
:* 10&amp;amp;nbsp;000 (with &amp;amp;amp;nbsp;, not a regular space)&lt;br /&gt;
:* 100&amp;amp;nbsp;000 (with &amp;amp;amp;nbsp;, not a regular space)&lt;br /&gt;
:* 1&amp;amp;nbsp;000&amp;amp;nbsp;000 (with &amp;amp;amp;nbsp;, not a regular space)&lt;br /&gt;
:* 10&amp;lt;sup&amp;gt;7&amp;lt;/sup&amp;gt; (or higher) (use {{tl|e}} if the number doesn't start with 1)&lt;br /&gt;
&lt;br /&gt;
Frequent vs. rare comments:&lt;br /&gt;
&lt;br /&gt;
* Smallest coins:&lt;br /&gt;
:* recently and officially phased out (e.g. 10 and 20 h of Czech koruna, 5 New Zealand cents)&lt;br /&gt;
:* not used in practice because of low value (1 and 5 South Korean won (maybe it's official now...))&lt;br /&gt;
* Denominations in the middle&lt;br /&gt;
:* Ask yourself this question: if you are given change when conducting a daily activity, and denomination X is required to make a mathematically minimal number of coins and banknotes. Would you receive denomination X? This applies to US 50¢ (historical reason about silver stuff in the 1960s) and 20 New Taiwan dollars (a new denomination lacks government support and campaign).&lt;br /&gt;
* Banknotes that are being replaced by coins (e.g. Brazilian real's R$1 coin gradually rendered the R$1 banknote obsolete).&lt;br /&gt;
* Large denominations&lt;br /&gt;
:* Ask yourself this question: do ATMs give this denomination? The answer is no for US$50 and US$100. This question also applies to denominations in the middle, e.g. ATMs in Iceland dispense 500, 1000, and 5000 króna notes, making 2000 króna notes &amp;quot;rarely used&amp;quot;.&lt;br /&gt;
:* Ask yourself this question: When someone buys an electronic product that costs several times the largest denomination and pays in cash, are they likely to use denomination X?&lt;br /&gt;
&lt;br /&gt;
You might be thinking, &amp;quot;why do these simple words &amp;quot;rare&amp;quot; and &amp;quot;frequent&amp;quot; have to turn into these long definitions?&amp;quot; The bottom line is, '''these definitions describe usage in daily life'''. The issuance numbers quoted by the central banks/governments have little relevance in this sense, as some denominations may be used for interbank transactions, foreign exchange, in casinos, for tax evasion, by criminal elements, etc.&lt;br /&gt;
&lt;br /&gt;
'''And only use these attributes when you are very sure. If you are not, fall back to a single list where rarely and frequently are not distinguished.'''&lt;br /&gt;
&lt;br /&gt;
=== Frequency (banknotes) ===&lt;br /&gt;
* '''{{para|used_banknotes}}'''&lt;br /&gt;
* '''{{para|frequently_used_banknotes}}'''&lt;br /&gt;
* '''{{para|rarely_used_banknotes}}'''&lt;br /&gt;
* '''{{para|banknote_article}}''' [[Banknotes of the Hong Kong dollar]]&lt;br /&gt;
:{{para|banknote_article}} without an argument will result in {{code|&amp;lt;nowiki&amp;gt;[[Banknotes of the {{{currency_name|{{PAGENAMEBASE}}}}}|Banknotes]]&amp;lt;/nowiki&amp;gt;}}, if that article exists. If that article does not exist, then &amp;quot;Banknotes&amp;quot; will be in bold and unlinked.&lt;br /&gt;
&lt;br /&gt;
=== Production ===&lt;br /&gt;
* '''{{para|printer}}''' Central Printing Shop, Like issuing_authority&lt;br /&gt;
* '''{{para|printer_website}}''' &amp;lt;nowiki&amp;gt;{{URL|www.komsep.com}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* '''{{para|mint}}''' Utopian Mint&lt;br /&gt;
* '''{{para|mint_website}}''' &amp;lt;nowiki&amp;gt;{{URL|www.swissmint.ch}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* '''{{para|footnotes}}'''&lt;br /&gt;
&lt;br /&gt;
== TemplateData ==&lt;br /&gt;
{{TemplateData header}}&lt;br /&gt;
{{collapse top|bg=#ccc|title=Template Data}}&lt;br /&gt;
&amp;lt;templatedata&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;params&amp;quot;: {&lt;br /&gt;
		&amp;quot;currency_name_in_local&amp;quot;: {},&lt;br /&gt;
		&amp;quot;image_1&amp;quot;: {},&lt;br /&gt;
		&amp;quot;image_2&amp;quot;: {},&lt;br /&gt;
		&amp;quot;image_background_1&amp;quot;: {},&lt;br /&gt;
		&amp;quot;image_background_2&amp;quot;: {},&lt;br /&gt;
		&amp;quot;image_width_1&amp;quot;: {},&lt;br /&gt;
		&amp;quot;image_width_2&amp;quot;: {},&lt;br /&gt;
		&amp;quot;image_title_1&amp;quot;: {},&lt;br /&gt;
		&amp;quot;image_title_2&amp;quot;: {},&lt;br /&gt;
		&amp;quot;iso_code&amp;quot;: {&lt;br /&gt;
			&amp;quot;example&amp;quot;: &amp;quot;USD&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
			&amp;quot;suggested&amp;quot;: true,&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;ISO 4217 code&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;3-letter code representing the currency&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;superunit_name_1&amp;quot;: {},&lt;br /&gt;
		&amp;quot;subunit_name_1&amp;quot;: {},&lt;br /&gt;
		&amp;quot;plural&amp;quot;: {},&lt;br /&gt;
		&amp;quot;symbol&amp;quot;: {&lt;br /&gt;
			&amp;quot;example&amp;quot;: &amp;quot;$&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;nickname&amp;quot;: {},&lt;br /&gt;
		&amp;quot;used_banknotes&amp;quot;: {},&lt;br /&gt;
		&amp;quot;frequently_used_banknotes&amp;quot;: {},&lt;br /&gt;
		&amp;quot;rarely_used_banknotes&amp;quot;: {},&lt;br /&gt;
		&amp;quot;used_coins&amp;quot;: {},&lt;br /&gt;
		&amp;quot;frequently_used_coins&amp;quot;: {},&lt;br /&gt;
		&amp;quot;rarely_used_coins&amp;quot;: {},&lt;br /&gt;
		&amp;quot;superunit_ratio_1&amp;quot;: {},&lt;br /&gt;
		&amp;quot;superunit_ratio_2&amp;quot;: {},&lt;br /&gt;
		&amp;quot;superunit_ratio_3&amp;quot;: {},&lt;br /&gt;
		&amp;quot;superunit_ratio_4&amp;quot;: {},&lt;br /&gt;
		&amp;quot;superunit_ratio_5&amp;quot;: {},&lt;br /&gt;
		&amp;quot;superunit_inline_note_1&amp;quot;: {},&lt;br /&gt;
		&amp;quot;superunit_name_2&amp;quot;: {},&lt;br /&gt;
		&amp;quot;superunit_inline_note_2&amp;quot;: {},&lt;br /&gt;
		&amp;quot;superunit_name_3&amp;quot;: {},&lt;br /&gt;
		&amp;quot;superunit_inline_note_3&amp;quot;: {},&lt;br /&gt;
		&amp;quot;superunit_name_4&amp;quot;: {},&lt;br /&gt;
		&amp;quot;superunit_inline_note_4&amp;quot;: {},&lt;br /&gt;
		&amp;quot;superunit_name_5&amp;quot;: {},&lt;br /&gt;
		&amp;quot;superunit_inline_note_5&amp;quot;: {},&lt;br /&gt;
		&amp;quot;subunit_ratio_1&amp;quot;: {},&lt;br /&gt;
		&amp;quot;subunit_ratio_2&amp;quot;: {},&lt;br /&gt;
		&amp;quot;subunit_ratio_3&amp;quot;: {},&lt;br /&gt;
		&amp;quot;subunit_ratio_4&amp;quot;: {},&lt;br /&gt;
		&amp;quot;subunit_ratio_5&amp;quot;: {},&lt;br /&gt;
		&amp;quot;subunit_inline_note_1&amp;quot;: {},&lt;br /&gt;
		&amp;quot;subunit_name_2&amp;quot;: {},&lt;br /&gt;
		&amp;quot;subunit_inline_note_2&amp;quot;: {},&lt;br /&gt;
		&amp;quot;subunit_name_3&amp;quot;: {},&lt;br /&gt;
		&amp;quot;subunit_inline_note_3&amp;quot;: {},&lt;br /&gt;
		&amp;quot;subunit_name_4&amp;quot;: {},&lt;br /&gt;
		&amp;quot;subunit_inline_note_4&amp;quot;: {},&lt;br /&gt;
		&amp;quot;subunit_name_5&amp;quot;: {},&lt;br /&gt;
		&amp;quot;subunit_inline_note_5&amp;quot;: {},&lt;br /&gt;
		&amp;quot;plural_slavic&amp;quot;: {},&lt;br /&gt;
		&amp;quot;no_plural&amp;quot;: {},&lt;br /&gt;
		&amp;quot;plural_subunit_1&amp;quot;: {},&lt;br /&gt;
		&amp;quot;plural_subunit_2&amp;quot;: {},&lt;br /&gt;
		&amp;quot;plural_subunit_3&amp;quot;: {},&lt;br /&gt;
		&amp;quot;plural_subunit_4&amp;quot;: {},&lt;br /&gt;
		&amp;quot;plural_subunit_5&amp;quot;: {},&lt;br /&gt;
		&amp;quot;symbol_subunit_1&amp;quot;: {},&lt;br /&gt;
		&amp;quot;symbol_subunit_2&amp;quot;: {},&lt;br /&gt;
		&amp;quot;symbol_subunit_3&amp;quot;: {},&lt;br /&gt;
		&amp;quot;symbol_subunit_4&amp;quot;: {},&lt;br /&gt;
		&amp;quot;symbol_subunit_5&amp;quot;: {},&lt;br /&gt;
		&amp;quot;nickname_subunit_1&amp;quot;: {},&lt;br /&gt;
		&amp;quot;nickname_subunit_2&amp;quot;: {},&lt;br /&gt;
		&amp;quot;nickname_subunit_3&amp;quot;: {},&lt;br /&gt;
		&amp;quot;nickname_subunit_4&amp;quot;: {},&lt;br /&gt;
		&amp;quot;nickname_subunit_5&amp;quot;: {},&lt;br /&gt;
		&amp;quot;banknote_article&amp;quot;: {},&lt;br /&gt;
		&amp;quot;coin_article&amp;quot;: {},&lt;br /&gt;
		&amp;quot;date_of_introduction&amp;quot;: {},&lt;br /&gt;
		&amp;quot;date_of_introduction_source&amp;quot;: {},&lt;br /&gt;
		&amp;quot;unofficial_users&amp;quot;: {},&lt;br /&gt;
		&amp;quot;using_countries&amp;quot;: {&lt;br /&gt;
			&amp;quot;required&amp;quot;: true,&lt;br /&gt;
			&amp;quot;suggested&amp;quot;: true&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;issuing_authority&amp;quot;: {},&lt;br /&gt;
		&amp;quot;printer&amp;quot;: {},&lt;br /&gt;
		&amp;quot;mint&amp;quot;: {},&lt;br /&gt;
		&amp;quot;issuing_authority_title&amp;quot;: {},&lt;br /&gt;
		&amp;quot;issuing_authority_website&amp;quot;: {&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;url&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;printer_website&amp;quot;: {},&lt;br /&gt;
		&amp;quot;mint_website&amp;quot;: {},&lt;br /&gt;
		&amp;quot;inflation_rate&amp;quot;: {},&lt;br /&gt;
		&amp;quot;value&amp;quot;: {},&lt;br /&gt;
		&amp;quot;ERM_since&amp;quot;: {},&lt;br /&gt;
		&amp;quot;pegged_with&amp;quot;: {},&lt;br /&gt;
		&amp;quot;pegged_by&amp;quot;: {},&lt;br /&gt;
		&amp;quot;inflation_title&amp;quot;: {},&lt;br /&gt;
		&amp;quot;inflation_source_date&amp;quot;: {},&lt;br /&gt;
		&amp;quot;inflation_method&amp;quot;: {},&lt;br /&gt;
		&amp;quot;ERM_withdraw&amp;quot;: {},&lt;br /&gt;
		&amp;quot;ERM_fixed_rate_since&amp;quot;: {},&lt;br /&gt;
		&amp;quot;euro_replace_non_cash&amp;quot;: {},&lt;br /&gt;
		&amp;quot;euro_replace_cash&amp;quot;: {},&lt;br /&gt;
		&amp;quot;ERM_fixed_rate&amp;quot;: {},&lt;br /&gt;
		&amp;quot;ERM_band&amp;quot;: {},&lt;br /&gt;
		&amp;quot;footnotes&amp;quot;: {},&lt;br /&gt;
		&amp;quot;replaced_currency&amp;quot;: {},&lt;br /&gt;
		&amp;quot;date_of_withdrawal&amp;quot;: {},&lt;br /&gt;
		&amp;quot;date_of_withdrawal_source&amp;quot;: {},&lt;br /&gt;
		&amp;quot;replaced_by_currency&amp;quot;: {},&lt;br /&gt;
		&amp;quot;unit&amp;quot;: {},&lt;br /&gt;
		&amp;quot;obsolete&amp;quot;: {&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Is obsolete&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;\&amp;quot;Yes\&amp;quot; (or \&amp;quot;1999\&amp;quot;) will stat the currency is Obsolete (\&amp;quot;no\&amp;quot;=active currency)&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
			&amp;quot;default&amp;quot;: &amp;quot;no&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;name_abbr&amp;quot;: {},&lt;br /&gt;
		&amp;quot;image_alt_1&amp;quot;: {&lt;br /&gt;
			&amp;quot;aliases&amp;quot;: [&lt;br /&gt;
				&amp;quot;alt1&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;image_alt_2&amp;quot;: {&lt;br /&gt;
			&amp;quot;aliases&amp;quot;: [&lt;br /&gt;
				&amp;quot;alt2&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;symbol_comment&amp;quot;: {&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;symbol comment&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;Is added to the symbol (after space). Can have a reference.&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;iso_comment&amp;quot;: {&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;ISO 4217 comment&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;comment on ISO code&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;iso_ref&amp;quot;: {&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;ISO reference&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;reference (&amp;lt;ref&amp;gt;) for ISO 4217 data&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;obsolete_notice&amp;quot;: {&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Obsolete footnote&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;Will add footnote \&amp;quot;Infobox shows status before going obsolete\&amp;quot;. Only when obsolete=yes.&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;boolean&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;qid&amp;quot;: {&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;QID&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;Wikidata QID when this currency is not the article item&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;name&amp;quot;: {&lt;br /&gt;
			&amp;quot;aliases&amp;quot;: [&lt;br /&gt;
				&amp;quot;currency_name&amp;quot;&lt;br /&gt;
			]&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;local_name_format&amp;quot;: {},&lt;br /&gt;
		&amp;quot;local_name_lang&amp;quot;: {},&lt;br /&gt;
		&amp;quot;local_name_lang1&amp;quot;: {},&lt;br /&gt;
		&amp;quot;local_name&amp;quot;: {},&lt;br /&gt;
		&amp;quot;local_name1&amp;quot;: {},&lt;br /&gt;
		&amp;quot;postfix&amp;quot;: {},&lt;br /&gt;
		&amp;quot;postfix1&amp;quot;: {},&lt;br /&gt;
		&amp;quot;local_name_lang2&amp;quot;: {},&lt;br /&gt;
		&amp;quot;local_name2&amp;quot;: {},&lt;br /&gt;
		&amp;quot;local_name_lang3&amp;quot;: {},&lt;br /&gt;
		&amp;quot;local_name3&amp;quot;: {},&lt;br /&gt;
		&amp;quot;local_name_lang4&amp;quot;: {},&lt;br /&gt;
		&amp;quot;local_name4&amp;quot;: {}&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;description&amp;quot;: &amp;quot;currency&amp;quot;,&lt;br /&gt;
	&amp;quot;format&amp;quot;: &amp;quot;block&amp;quot;,&lt;br /&gt;
	&amp;quot;paramOrder&amp;quot;: [&lt;br /&gt;
		&amp;quot;name&amp;quot;,&lt;br /&gt;
		&amp;quot;name_abbr&amp;quot;,&lt;br /&gt;
		&amp;quot;currency_name_in_local&amp;quot;,&lt;br /&gt;
		&amp;quot;image_1&amp;quot;,&lt;br /&gt;
		&amp;quot;image_width_1&amp;quot;,&lt;br /&gt;
		&amp;quot;image_title_1&amp;quot;,&lt;br /&gt;
		&amp;quot;image_alt_1&amp;quot;,&lt;br /&gt;
		&amp;quot;image_background_1&amp;quot;,&lt;br /&gt;
		&amp;quot;image_2&amp;quot;,&lt;br /&gt;
		&amp;quot;image_width_2&amp;quot;,&lt;br /&gt;
		&amp;quot;image_title_2&amp;quot;,&lt;br /&gt;
		&amp;quot;image_alt_2&amp;quot;,&lt;br /&gt;
		&amp;quot;image_background_2&amp;quot;,&lt;br /&gt;
		&amp;quot;iso_code&amp;quot;,&lt;br /&gt;
		&amp;quot;iso_comment&amp;quot;,&lt;br /&gt;
		&amp;quot;iso_ref&amp;quot;,&lt;br /&gt;
		&amp;quot;unit&amp;quot;,&lt;br /&gt;
		&amp;quot;plural&amp;quot;,&lt;br /&gt;
		&amp;quot;plural_slavic&amp;quot;,&lt;br /&gt;
		&amp;quot;no_plural&amp;quot;,&lt;br /&gt;
		&amp;quot;symbol&amp;quot;,&lt;br /&gt;
		&amp;quot;symbol_comment&amp;quot;,&lt;br /&gt;
		&amp;quot;nickname&amp;quot;,&lt;br /&gt;
		&amp;quot;used_banknotes&amp;quot;,&lt;br /&gt;
		&amp;quot;frequently_used_banknotes&amp;quot;,&lt;br /&gt;
		&amp;quot;rarely_used_banknotes&amp;quot;,&lt;br /&gt;
		&amp;quot;used_coins&amp;quot;,&lt;br /&gt;
		&amp;quot;frequently_used_coins&amp;quot;,&lt;br /&gt;
		&amp;quot;rarely_used_coins&amp;quot;,&lt;br /&gt;
		&amp;quot;superunit_name_1&amp;quot;,&lt;br /&gt;
		&amp;quot;superunit_ratio_1&amp;quot;,&lt;br /&gt;
		&amp;quot;superunit_ratio_2&amp;quot;,&lt;br /&gt;
		&amp;quot;superunit_ratio_3&amp;quot;,&lt;br /&gt;
		&amp;quot;superunit_ratio_4&amp;quot;,&lt;br /&gt;
		&amp;quot;superunit_ratio_5&amp;quot;,&lt;br /&gt;
		&amp;quot;superunit_inline_note_1&amp;quot;,&lt;br /&gt;
		&amp;quot;superunit_name_2&amp;quot;,&lt;br /&gt;
		&amp;quot;superunit_inline_note_2&amp;quot;,&lt;br /&gt;
		&amp;quot;superunit_name_3&amp;quot;,&lt;br /&gt;
		&amp;quot;superunit_inline_note_3&amp;quot;,&lt;br /&gt;
		&amp;quot;superunit_name_4&amp;quot;,&lt;br /&gt;
		&amp;quot;superunit_inline_note_4&amp;quot;,&lt;br /&gt;
		&amp;quot;superunit_name_5&amp;quot;,&lt;br /&gt;
		&amp;quot;superunit_inline_note_5&amp;quot;,&lt;br /&gt;
		&amp;quot;subunit_ratio_1&amp;quot;,&lt;br /&gt;
		&amp;quot;subunit_ratio_2&amp;quot;,&lt;br /&gt;
		&amp;quot;subunit_ratio_3&amp;quot;,&lt;br /&gt;
		&amp;quot;subunit_ratio_4&amp;quot;,&lt;br /&gt;
		&amp;quot;subunit_ratio_5&amp;quot;,&lt;br /&gt;
		&amp;quot;subunit_name_1&amp;quot;,&lt;br /&gt;
		&amp;quot;subunit_inline_note_1&amp;quot;,&lt;br /&gt;
		&amp;quot;subunit_name_2&amp;quot;,&lt;br /&gt;
		&amp;quot;subunit_inline_note_2&amp;quot;,&lt;br /&gt;
		&amp;quot;subunit_name_3&amp;quot;,&lt;br /&gt;
		&amp;quot;subunit_inline_note_3&amp;quot;,&lt;br /&gt;
		&amp;quot;subunit_name_4&amp;quot;,&lt;br /&gt;
		&amp;quot;subunit_inline_note_4&amp;quot;,&lt;br /&gt;
		&amp;quot;subunit_name_5&amp;quot;,&lt;br /&gt;
		&amp;quot;subunit_inline_note_5&amp;quot;,&lt;br /&gt;
		&amp;quot;plural_subunit_1&amp;quot;,&lt;br /&gt;
		&amp;quot;plural_subunit_2&amp;quot;,&lt;br /&gt;
		&amp;quot;plural_subunit_3&amp;quot;,&lt;br /&gt;
		&amp;quot;plural_subunit_4&amp;quot;,&lt;br /&gt;
		&amp;quot;plural_subunit_5&amp;quot;,&lt;br /&gt;
		&amp;quot;symbol_subunit_1&amp;quot;,&lt;br /&gt;
		&amp;quot;symbol_subunit_2&amp;quot;,&lt;br /&gt;
		&amp;quot;symbol_subunit_3&amp;quot;,&lt;br /&gt;
		&amp;quot;symbol_subunit_4&amp;quot;,&lt;br /&gt;
		&amp;quot;symbol_subunit_5&amp;quot;,&lt;br /&gt;
		&amp;quot;nickname_subunit_1&amp;quot;,&lt;br /&gt;
		&amp;quot;nickname_subunit_2&amp;quot;,&lt;br /&gt;
		&amp;quot;nickname_subunit_3&amp;quot;,&lt;br /&gt;
		&amp;quot;nickname_subunit_4&amp;quot;,&lt;br /&gt;
		&amp;quot;nickname_subunit_5&amp;quot;,&lt;br /&gt;
		&amp;quot;banknote_article&amp;quot;,&lt;br /&gt;
		&amp;quot;coin_article&amp;quot;,&lt;br /&gt;
		&amp;quot;date_of_introduction&amp;quot;,&lt;br /&gt;
		&amp;quot;date_of_introduction_source&amp;quot;,&lt;br /&gt;
		&amp;quot;using_countries&amp;quot;,&lt;br /&gt;
		&amp;quot;unofficial_users&amp;quot;,&lt;br /&gt;
		&amp;quot;issuing_authority_title&amp;quot;,&lt;br /&gt;
		&amp;quot;issuing_authority&amp;quot;,&lt;br /&gt;
		&amp;quot;issuing_authority_website&amp;quot;,&lt;br /&gt;
		&amp;quot;printer&amp;quot;,&lt;br /&gt;
		&amp;quot;printer_website&amp;quot;,&lt;br /&gt;
		&amp;quot;mint&amp;quot;,&lt;br /&gt;
		&amp;quot;mint_website&amp;quot;,&lt;br /&gt;
		&amp;quot;inflation_rate&amp;quot;,&lt;br /&gt;
		&amp;quot;value&amp;quot;,&lt;br /&gt;
		&amp;quot;pegged_with&amp;quot;,&lt;br /&gt;
		&amp;quot;pegged_by&amp;quot;,&lt;br /&gt;
		&amp;quot;inflation_title&amp;quot;,&lt;br /&gt;
		&amp;quot;inflation_source_date&amp;quot;,&lt;br /&gt;
		&amp;quot;inflation_method&amp;quot;,&lt;br /&gt;
		&amp;quot;ERM_since&amp;quot;,&lt;br /&gt;
		&amp;quot;ERM_withdraw&amp;quot;,&lt;br /&gt;
		&amp;quot;ERM_fixed_rate_since&amp;quot;,&lt;br /&gt;
		&amp;quot;ERM_band&amp;quot;,&lt;br /&gt;
		&amp;quot;ERM_fixed_rate&amp;quot;,&lt;br /&gt;
		&amp;quot;euro_replace_non_cash&amp;quot;,&lt;br /&gt;
		&amp;quot;euro_replace_cash&amp;quot;,&lt;br /&gt;
		&amp;quot;replaced_currency&amp;quot;,&lt;br /&gt;
		&amp;quot;date_of_withdrawal&amp;quot;,&lt;br /&gt;
		&amp;quot;date_of_withdrawal_source&amp;quot;,&lt;br /&gt;
		&amp;quot;replaced_by_currency&amp;quot;,&lt;br /&gt;
		&amp;quot;obsolete&amp;quot;,&lt;br /&gt;
		&amp;quot;obsolete_notice&amp;quot;,&lt;br /&gt;
		&amp;quot;footnotes&amp;quot;,&lt;br /&gt;
		&amp;quot;qid&amp;quot;,&lt;br /&gt;
		&amp;quot;local_name_format&amp;quot;,&lt;br /&gt;
		&amp;quot;local_name_lang&amp;quot;,&lt;br /&gt;
		&amp;quot;local_name_lang1&amp;quot;,&lt;br /&gt;
		&amp;quot;local_name&amp;quot;,&lt;br /&gt;
		&amp;quot;local_name1&amp;quot;,&lt;br /&gt;
		&amp;quot;postfix&amp;quot;,&lt;br /&gt;
		&amp;quot;postfix1&amp;quot;,&lt;br /&gt;
		&amp;quot;local_name_lang2&amp;quot;,&lt;br /&gt;
		&amp;quot;local_name2&amp;quot;,&lt;br /&gt;
		&amp;quot;local_name_lang3&amp;quot;,&lt;br /&gt;
		&amp;quot;local_name3&amp;quot;,&lt;br /&gt;
		&amp;quot;local_name_lang4&amp;quot;,&lt;br /&gt;
		&amp;quot;local_name4&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/templatedata&amp;gt;&lt;br /&gt;
{{collapse bottom}}&lt;br /&gt;
&lt;br /&gt;
==Tracking categories==&lt;br /&gt;
*;Public&lt;br /&gt;
* {{cl|ISO 4217}}:&lt;br /&gt;
::{{clc|Currencies with ISO 4217 code|pages}}&lt;br /&gt;
::{{clc|Currencies without ISO 4217 code|pages}} per {{para|iso_code|none}}, or {{tlx|Infobox cryptocurrency}}&lt;br /&gt;
&lt;br /&gt;
*; Maintenance: &lt;br /&gt;
:{{clc|Pages using infobox currency with unknown parameters|pages}}&lt;br /&gt;
:{{clc|Pages using ISO 4217 currency to check|pages}} (tracking, hidden)&lt;br /&gt;
:{{clc|Pages using Infobox currency to check|pages}}&lt;br /&gt;
:{{clc|Infobox currency with an unlinked website|pages}} -- website checking&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;ISO 4217 Subtemplates used&lt;br /&gt;
*{{tl|ISO 4217/code}}&lt;br /&gt;
*{{tl|ISO 4217/code-minor-unit}}&lt;br /&gt;
*{{tl|ISO 4217/code-to-number}}&lt;br /&gt;
:{{tl|ISO 4217/code-none}}&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* {{tl|Infobox currency sign}}&lt;br /&gt;
* {{tl|Infobox cryptocurrency}} &lt;br /&gt;
:{{TPU|1=Infobox currency|label=for}}&lt;br /&gt;
&amp;lt;includeonly&amp;gt;{{sandbox other||&lt;br /&gt;
&amp;lt;!-- Categories below this line, please; interwikis at Wikidata --&amp;gt;&lt;br /&gt;
[[Category:Numismatics infobox templates|Currency]]&lt;br /&gt;
[[Category:Templates that add a tracking category]]&lt;br /&gt;
&lt;br /&gt;
}}&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>Marie</name></author>
	</entry>
	<entry>
		<id>https://maruneko.autumns.page/mediawiki/index.php?title=Template:!mxt&amp;diff=8534</id>
		<title>Template:!mxt</title>
		<link rel="alternate" type="text/html" href="https://maruneko.autumns.page/mediawiki/index.php?title=Template:!mxt&amp;diff=8534"/>
		<updated>2026-03-05T07:14:35Z</updated>

		<summary type="html">&lt;p&gt;Marie: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#ifeq:{{NAMESPACE}}|{{ns:0}}|{{FormattingError|[[:{{safesubst:&amp;lt;noinclude/&amp;gt;#invoke:TEMPLATENAME|main}}]] is only for examples of style and formatting. Do not use it in actual articles.}}|&amp;lt;span class=&amp;quot;example deprecated-content example-bad monospaced example-mono&amp;quot; style=&amp;quot;font-family: monospace, monospace; color: var(--color-content-removed, #8B0000);&amp;quot; {{#if:{{{title|}}}|title=&amp;quot;{{{title}}}&amp;quot;}}&amp;gt;{{{1|Example text}}}&amp;lt;/span&amp;gt;}}&amp;lt;!--&amp;quot;monospace, monospace&amp;quot; needed per Wikipedia:Typography#The_monospace_'bug'--&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{Documentation|Template:Xt/doc}}&lt;br /&gt;
&amp;lt;!--This category has to be done on a per-template basis, not in the shared docs, since it only apply to four templates in the family.--&amp;gt;&lt;br /&gt;
[[Category:Programming typing-aid templates]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Marie</name></author>
	</entry>
	<entry>
		<id>https://maruneko.autumns.page/mediawiki/index.php?title=Template:Documentation_subpage&amp;diff=8532</id>
		<title>Template:Documentation subpage</title>
		<link rel="alternate" type="text/html" href="https://maruneko.autumns.page/mediawiki/index.php?title=Template:Documentation_subpage&amp;diff=8532"/>
		<updated>2026-03-05T07:14:35Z</updated>

		<summary type="html">&lt;p&gt;Marie: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;&amp;lt;!--&lt;br /&gt;
 --&amp;gt;{{#ifeq:{{lc:{{SUBPAGENAME}}}} |{{{override|doc}}}&lt;br /&gt;
     | &amp;lt;!--(this template has been transcluded on a /doc or /{{{override}}} page)--&amp;gt;&lt;br /&gt;
&amp;lt;/includeonly&amp;gt;&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
      --&amp;gt;{{#ifeq:{{{doc-notice|show}}} |show&lt;br /&gt;
          | {{Mbox&lt;br /&gt;
             | type = notice&lt;br /&gt;
             | style = margin-bottom:1.0em;&lt;br /&gt;
             | image = [[File:Edit-copy green.svg|40px|alt=icon]]&lt;br /&gt;
             | text =&lt;br /&gt;
{{strong|This is a [[Wikipedia:Template documentation|documentation subpage]]}} for {{terminate sentence|{{{1|[[:{{SUBJECTSPACE}}:{{BASEPAGENAME}}]]}}}}}&amp;lt;br /&amp;gt;It may contain usage information, [[Wikipedia:Categorization|categories]] and other content that is not part of the original {{#if:{{{text2|}}} |{{{text2}}} |{{#if:{{{text1|}}} |{{{text1}}} |{{#ifeq:{{SUBJECTSPACE}} |{{ns:User}} |{{lc:{{SUBJECTSPACE}}}} template page |{{#if:{{SUBJECTSPACE}} |{{lc:{{SUBJECTSPACE}}}} page|article}}}}}}}}. &lt;br /&gt;
            }}&lt;br /&gt;
         }}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
      --&amp;gt;{{DEFAULTSORT:{{{defaultsort|{{PAGENAME}}}}}}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
      --&amp;gt;{{#if:{{{nocat|}}}{{{inhibit|}}}|&amp;lt;!--(don't categorize)--&amp;gt;&lt;br /&gt;
          |&amp;lt;includeonly&amp;gt;&amp;lt;!--&lt;br /&gt;
               --&amp;gt;{{#ifexist:{{NAMESPACE}}:{{BASEPAGENAME}}&lt;br /&gt;
                   | [[Category:{{#switch:{{SUBJECTSPACE}} |Template=Template |Module=Module |User=User |#default=Wikipedia}} documentation pages]]&lt;br /&gt;
                   | [[Category:Documentation subpages without corresponding pages]]&lt;br /&gt;
                  }}&amp;lt;!--&lt;br /&gt;
           --&amp;gt;&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
         }}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
(completing initial #ifeq: at start of template:)&lt;br /&gt;
--&amp;gt;&amp;lt;includeonly&amp;gt;&lt;br /&gt;
     | &amp;lt;!--(this template has not been transcluded on a /doc or /{{{override}}} page)--&amp;gt;&lt;br /&gt;
    }}&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;{{Documentation}}&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Marie</name></author>
	</entry>
	<entry>
		<id>https://maruneko.autumns.page/mediawiki/index.php?title=Template:Plain_text&amp;diff=8530</id>
		<title>Template:Plain text</title>
		<link rel="alternate" type="text/html" href="https://maruneko.autumns.page/mediawiki/index.php?title=Template:Plain_text&amp;diff=8530"/>
		<updated>2026-03-05T07:14:35Z</updated>

		<summary type="html">&lt;p&gt;Marie: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;{{pp-template|small=yes}}&amp;lt;/noinclude&amp;gt;{{#invoke:Plain text|main|{{{1|}}}}}&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{documentation}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Marie</name></author>
	</entry>
	<entry>
		<id>https://maruneko.autumns.page/mediawiki/index.php?title=Template:Ndash&amp;diff=8528</id>
		<title>Template:Ndash</title>
		<link rel="alternate" type="text/html" href="https://maruneko.autumns.page/mediawiki/index.php?title=Template:Ndash&amp;diff=8528"/>
		<updated>2026-03-05T07:14:35Z</updated>

		<summary type="html">&lt;p&gt;Marie: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Template:En dash]]&lt;br /&gt;
&lt;br /&gt;
{{Redirect category shell|&lt;br /&gt;
{{R from move}}&lt;br /&gt;
{{R from modification}}&lt;br /&gt;
{{R from template shortcut}}&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Marie</name></author>
	</entry>
	<entry>
		<id>https://maruneko.autumns.page/mediawiki/index.php?title=Template:Category_link&amp;diff=8526</id>
		<title>Template:Category link</title>
		<link rel="alternate" type="text/html" href="https://maruneko.autumns.page/mediawiki/index.php?title=Template:Category_link&amp;diff=8526"/>
		<updated>2026-03-05T07:14:35Z</updated>

		<summary type="html">&lt;p&gt;Marie: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Category link/core|1={{PAGENAME:{{{1}}}}}|2={{{2|Category:{{PAGENAME:{{{1}}}}}}}}|count={{{count|no}}}|page_count={{PAGESINCAT:{{PAGENAME:{{{1}}}}}|{{UC:{{{count_type|ALL}}}}}|R}}|backlog={{{backlog|{{formatnum:{{NUMBEROFPAGES}}|R}}}}}}}&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{Documentation}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Marie</name></author>
	</entry>
	<entry>
		<id>https://maruneko.autumns.page/mediawiki/index.php?title=Module:Native_name&amp;diff=8524</id>
		<title>Module:Native name</title>
		<link rel="alternate" type="text/html" href="https://maruneko.autumns.page/mediawiki/index.php?title=Module:Native_name&amp;diff=8524"/>
		<updated>2026-03-05T07:14:35Z</updated>

		<summary type="html">&lt;p&gt;Marie: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;require('strict');&lt;br /&gt;
&lt;br /&gt;
local getArgs = require ('Module:Arguments').getArgs;&lt;br /&gt;
local lang_module = require ('Module:Lang');&lt;br /&gt;
local yes_no = require('Module:Yesno')&lt;br /&gt;
&lt;br /&gt;
local defined_values = {&lt;br /&gt;
	italic = {['no']='no', ['off']='no'},										-- values accepted by |italic= and |italics=; {{lang}} expects 'no' so 'off' must be translated&lt;br /&gt;
	paren = {['no']=true, ['off']=true, ['omit']=true},							-- values accepted by |paren=&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
local messages_t = {													&lt;br /&gt;
	tag_required = 'an IETF language tag as parameter {{{1}}} is required',		-- for {{native name}}&lt;br /&gt;
	name_required = 'a name as parameter {{{2}}} is required',&lt;br /&gt;
																&lt;br /&gt;
	tag_required_idx = 'an IETF language tag in |tag%s= is required',			-- for {{native name}} when called from {{native name list}}&lt;br /&gt;
	name_required_idx = 'a name in |name%s= is required',&lt;br /&gt;
&lt;br /&gt;
	empty_list = 'list is empty',												-- for {{native name list}}&lt;br /&gt;
	positional = 'positional parameters not supported',&lt;br /&gt;
&lt;br /&gt;
	br_list = '&amp;amp;lt;br /&amp;gt; lists not allowed',									-- for {{native name checker}}&lt;br /&gt;
	list_markup = 'list markup expected for multiple names',&lt;br /&gt;
	malformed_param = 'parameter value is malformed',&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
local help_links_t = {&lt;br /&gt;
	['native name'] = '[[Template:Native name|help]]',&lt;br /&gt;
	['native name checker'] = '[[Template:Native name checker|help]]',&lt;br /&gt;
	['native name list'] = '[[Template:Native name list|help]]',&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
local error_cats_t = {&lt;br /&gt;
	['native name'] = '[[Category:Native name template errors]]',&lt;br /&gt;
	['native name checker'] = '[[Category:Native name checker template errors]]',&lt;br /&gt;
	['native name list'] = '[[Category:Native name list template errors]]',&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; E R R O R _ M S G &amp;gt;------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
returns a formatted error message&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function error_msg (msg, template, index)&lt;br /&gt;
	local cat = ((0 == mw.title.getCurrentTitle().namespace) and error_cats_t[template]) or '';&lt;br /&gt;
	if index then&lt;br /&gt;
		local message = string.format (msg, index);&lt;br /&gt;
		return string.format ('&amp;lt;span style=&amp;quot;color:#d33&amp;quot;&amp;gt;Error {{%s}}: %s (%s)&amp;lt;/span&amp;gt;%s', template, message, help_links_t[template], cat)&lt;br /&gt;
	end&lt;br /&gt;
	return string.format ('&amp;lt;span style=&amp;quot;color:#d33&amp;quot;&amp;gt;Error {{%s}}: %s (%s)&amp;lt;/span&amp;gt;%s', template, msg, help_links_t[template], cat)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[=[-------------------------&amp;lt; _ N A T I V E _ N A M E &amp;gt;------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
implements {{native name}}; entry point from a module&lt;br /&gt;
&lt;br /&gt;
&amp;lt;args_t&amp;gt; is a table of parameter name/value pairs.  Parameters that are supported are:&lt;br /&gt;
	args_t[1] - IETF language tag (required)&lt;br /&gt;
	args_t[2] - the native name (required)&lt;br /&gt;
	args_t.italic - accepts string values 'no' or 'off'; {{lang}} expects 'no' so 'off' must be translated&lt;br /&gt;
	args_t.italics - alias of |italic=&lt;br /&gt;
	args_t.paren - accepts 'omit', 'off', or 'no'&lt;br /&gt;
	args_t.icon - alias of paren&lt;br /&gt;
	args_t.parensize - &lt;br /&gt;
	args_t.fontsize - deprecated alias of |parensize=&lt;br /&gt;
	args_t.nolink - any value inhibits wikilinking of language name&lt;br /&gt;
	&lt;br /&gt;
	args_t.suppress_empty_list_error - when set to 'yes', suppresses an 'empty' error message; mostly for use within another template&lt;br /&gt;
&lt;br /&gt;
this function calls these functions in Module:lang:&lt;br /&gt;
	_is_ietf_tag&lt;br /&gt;
	_lang&lt;br /&gt;
	_name_from_tag&lt;br /&gt;
&lt;br /&gt;
TODO:&lt;br /&gt;
	add support for romanization and transliteration?&lt;br /&gt;
	add support for postfix so that 'mis' can render something like this:&lt;br /&gt;
		{{native|name|mis|Chotilapacquen|parent=omit|postfix=&amp;amp;#32;([[Coahuiltecan languages|Coahuiltecan]])}}&lt;br /&gt;
			Chotilapacquen (Coahuiltecan)&lt;br /&gt;
&lt;br /&gt;
]=]&lt;br /&gt;
&lt;br /&gt;
local function _native_name (args_t)&lt;br /&gt;
	local template = (args_t.template and args_t.template) or 'native name';	-- for error messaging; use 'native name list' when called from native_name_list(), etc&lt;br /&gt;
&lt;br /&gt;
	if not (args_t[1] or args_t[2]) and yes_no (args_t.suppress_empty_list_error) then&lt;br /&gt;
		return '';																-- if empty list error is suppressed, return empty string&lt;br /&gt;
	elseif not args_t[1] then&lt;br /&gt;
		return error_msg ((args_t.index and messages_t.tag_required_idx) or messages_t.tag_required, template, args_t.index)&lt;br /&gt;
	elseif not args_t[2] then&lt;br /&gt;
		return error_msg ((args_t.index and messages_t.name_required_idx) or messages_t.name_required, template, args_t.index)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	args_t.italic = args_t.italics or args_t.italic;							-- plural form first in {{native name}} but singular form for {{lang}}&lt;br /&gt;
	args_t.italic = defined_values.italic[args_t.italic] or nil;				-- translate assigned value&lt;br /&gt;
	args_t.italics = nil;														-- so unset as unneeded&lt;br /&gt;
&lt;br /&gt;
	args_t.paren = args_t.paren or args_t.icon;&lt;br /&gt;
	args_t.icon = nil;															-- unset as unneeded&lt;br /&gt;
&lt;br /&gt;
	args_t.parensize = args_t.parensize or args_t.fontsize or '100%';&lt;br /&gt;
	args_t.fontsize = nil;														-- unset as unneeded&lt;br /&gt;
&lt;br /&gt;
	if not lang_module._is_ietf_tag (args_t[1]) then&lt;br /&gt;
		args_t[1] = lang_module._tag_from_name ({args_t[1]});&lt;br /&gt;
		if args_t[1]:find ('Error') then&lt;br /&gt;
			return error_msg ((args_t.index and messages_t.tag_required_idx) or messages_t.tag_required, template, args_t.index)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local out_t = {};&lt;br /&gt;
&lt;br /&gt;
	table.insert (out_t, lang_module._lang ({args_t[1], args_t[2], ['italic']=args_t.italic, ['template']=template}));&lt;br /&gt;
	if not defined_values.paren[args_t.paren] then&lt;br /&gt;
		table.insert (out_t, '&amp;amp;nbsp;');&lt;br /&gt;
&lt;br /&gt;
		table.insert (out_t, table.concat ({&lt;br /&gt;
			'&amp;lt;span class=&amp;quot;languageicon&amp;quot; style=&amp;quot;font-size:',&lt;br /&gt;
			args_t.parensize,&lt;br /&gt;
			'; font-weight:normal&amp;quot;&amp;gt;'}));&lt;br /&gt;
&lt;br /&gt;
		if args_t.nolink then&lt;br /&gt;
			table.insert (out_t, table.concat ({'(', lang_module._name_from_tag ({args_t[1], ['template']=template}), ')'}));&lt;br /&gt;
		else&lt;br /&gt;
			if lang_module._is_ietf_tag (args_t[1]) then&lt;br /&gt;
				table.insert (out_t, table.concat ({'(', lang_module._name_from_tag ({args_t[1], ['link'] ='yes', ['template']=template}), ')'}));&lt;br /&gt;
			else&lt;br /&gt;
				table.insert (out_t, '(language?)');							-- TODO: any reason to keep this?&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		table.insert (out_t, '&amp;lt;/span&amp;gt;');&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return table.concat (out_t);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; N A T I V E _ N A M E &amp;gt;--------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
implements {{native name}}; entry point from the template&lt;br /&gt;
&lt;br /&gt;
{{#invoke:native name|native_name|&amp;lt;tag&amp;gt;|&amp;lt;name&amp;gt;|italic=|paren=|parensize=|nolink=}}&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function native_name (frame)&lt;br /&gt;
	return _native_name (getArgs (frame));&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;gt; _ N A T I V E _ N A M E _ L I S T &amp;gt;--------------------------------------------&lt;br /&gt;
&lt;br /&gt;
implements {{native name}}; entry point from a module&lt;br /&gt;
&lt;br /&gt;
&amp;lt;args_t&amp;gt; is a table of parameter name/value pairs.  Supports enumerated forms of the {{native name}} parameters:&lt;br /&gt;
	args_t.tagn - IETF language tag (|tag1= required)&lt;br /&gt;
	args_t.namen - the native name (|name1= required)&lt;br /&gt;
	args_t.italicn - accepts string values 'no' or 'off'&lt;br /&gt;
	args_t.italicsn - alias of |italicn=&lt;br /&gt;
	args_t.parenn - accepts 'omit', 'off', or 'no'&lt;br /&gt;
	args_t.iconn - alias of paren&lt;br /&gt;
	args_t.parensizen - &lt;br /&gt;
	args_t.fontsizen - deprecated alias of |parensizen=&lt;br /&gt;
	args_t.nolinkn - any value inhibits wikilinking of language name&lt;br /&gt;
&lt;br /&gt;
also supports:&lt;br /&gt;
	args_t.postfixn - wikitext to be appended to list item n (references other appropriate text)&lt;br /&gt;
	args_t.suppress_empty_list_error - when set to 'yes', suppresses an 'empty list' error message; mostly for use within another template&lt;br /&gt;
	&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function _native_name_list (args_t)&lt;br /&gt;
	if args_t[1] then&lt;br /&gt;
		return error_msg (messages_t.positional, 'native name list')&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local unsorted_enumerators_t = {}											-- unsorted  k/v table of tagn and namen enumerators where k is the enumerator and v is always true&lt;br /&gt;
&lt;br /&gt;
	for param, _ in pairs (args_t) do											-- loop through all parameters&lt;br /&gt;
		local enumerator = mw.ustring.match (param, &amp;quot;^tag(%d+)$&amp;quot;)				-- is this a |tagn= parameter?  extract enumerator if present&lt;br /&gt;
		if enumerator then														-- if there is an enumerator&lt;br /&gt;
			unsorted_enumerators_t[tonumber(enumerator)] = true					-- add enumerator to the table&lt;br /&gt;
		else&lt;br /&gt;
			local name_match = mw.ustring.match (param, &amp;quot;^name(%d+)$&amp;quot;)			-- is this a |tagn= parameter?  extract enumerator if present&lt;br /&gt;
			if name_match then													-- if there is an enumerator&lt;br /&gt;
				unsorted_enumerators_t[tonumber (name_match)] = true			-- add enumerator to the table&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local enumerators_t = {}													-- will hold a sorted sequence of enumerators&lt;br /&gt;
	for n, _ in pairs (unsorted_enumerators_t) do								-- loop through the k/v table of enumerators&lt;br /&gt;
		table.insert (enumerators_t, n)											-- add the enumerator to the sequence&lt;br /&gt;
	end&lt;br /&gt;
	table.sort (enumerators_t)													-- and ascending sort&lt;br /&gt;
&lt;br /&gt;
	local list_t = {};															-- list of formatted native names goes here&lt;br /&gt;
&lt;br /&gt;
	for _, n in ipairs (enumerators_t) do										-- loop through the sorted enumerators&lt;br /&gt;
		table.insert (list_t, table.concat ({&lt;br /&gt;
			_native_name ({														-- go render the native name&lt;br /&gt;
				args_t['tag'..n],&lt;br /&gt;
				args_t['name'..n],&lt;br /&gt;
				['italic'] = args_t['italic'..n],&lt;br /&gt;
				['italics'] = args_t['italics'..n],&lt;br /&gt;
				['paren'] = args_t['paren'..n],&lt;br /&gt;
				['icon'] = args_t['icon'..n],&lt;br /&gt;
				['parensize'] = args_t['parensize'..n],&lt;br /&gt;
				['fontsize'] = args_t['fontsize'..n],&lt;br /&gt;
				['nolink'] = args_t['nolink'..n],&lt;br /&gt;
				['template'] = 'native name list',								-- for error messaging&lt;br /&gt;
				['index'] = n,													-- for error messaging&lt;br /&gt;
			}),&lt;br /&gt;
			args_t['postfix'..n] or '',&lt;br /&gt;
		}));&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if 0 == #list_t then&lt;br /&gt;
		return (yes_no (args_t.suppress_empty_list_error) and '') or			-- return empty string when error suppressed&lt;br /&gt;
			error_msg (messages_t.empty_list, 'native name list');				-- otherwise error&lt;br /&gt;
	elseif 1 == #list_t then&lt;br /&gt;
		return list_t[1];														-- return the very short list; TODO: add error?&lt;br /&gt;
	else&lt;br /&gt;
		return require ('Module:List').unbulleted (list_t);						-- use unbulleted list from module&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; N A T I V E _ N A M E _ L I S T &amp;gt;----------------------------------------------&lt;br /&gt;
&lt;br /&gt;
implements {{native name list}}; entry point from the template&lt;br /&gt;
&lt;br /&gt;
{{#invoke:native name list|native_name_list|tag1=&amp;lt;tag&amp;gt;|name1=&amp;lt;name&amp;gt;|italic1=|paren1=|parensize1=|nolink1=}}&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function native_name_list (frame)&lt;br /&gt;
	return _native_name_list (getArgs (frame));&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; _ N A T I V E _ N A M E _ C H E C K E R &amp;gt;--------------------------------------&lt;br /&gt;
&lt;br /&gt;
entry point from a module&lt;br /&gt;
&lt;br /&gt;
implements {{native name checker}}&lt;br /&gt;
&lt;br /&gt;
for use inside infoboxen:&lt;br /&gt;
	|dataxx = {{native name checker|{{{native_name|}}}}}&lt;br /&gt;
&lt;br /&gt;
inspects rendered content of {{{native_name}}}:&lt;br /&gt;
	expects: at least one lang=&amp;quot;&amp;lt;valid IETF tag&amp;gt;&amp;quot; html attribute; tag must begin with 2 or three letters followed&lt;br /&gt;
			by a hyphen or double quote character: lang=&amp;quot;zh-Hant&amp;quot; or lang=&amp;quot;nav&amp;quot; or lang=&amp;quot;oj&amp;quot;&lt;br /&gt;
	emits error message when 2 or more lang=&amp;quot;&amp;lt;valid IETF tag&amp;gt;&amp;quot; html attribute but list markup &amp;lt;li&amp;gt; tag not found&lt;br /&gt;
	emits error message if any form of '&amp;lt;br /&amp;gt;' tag is found per MOS:NOBREAK&lt;br /&gt;
&lt;br /&gt;
returns:&lt;br /&gt;
	nothing when |native_name= is omitted or empty&lt;br /&gt;
	assigned value when no error&lt;br /&gt;
	error message on error&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function _native_name_checker (args_t)&lt;br /&gt;
	local value = args_t[1];&lt;br /&gt;
	&lt;br /&gt;
	if not value then															-- if |native_name= is omitted or empty&lt;br /&gt;
		return;																	-- return nothing&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local _, count = value:gsub ('lang=&amp;quot;%a%a%a?[%-&amp;quot;]%a*', '%1');&lt;br /&gt;
	if 0 == count then&lt;br /&gt;
		return table.concat ({value, error_msg (messages_t.malformed_param, 'native name checker')}, ' ');	-- no {{lang}} or {{native_name}} template&lt;br /&gt;
	end&lt;br /&gt;
	if 1 &amp;lt; count then&lt;br /&gt;
		if not value:find ('&amp;lt;div class=&amp;quot;plainlist *&amp;quot; *&amp;gt;') or not value:find ('&amp;lt;/div&amp;gt;$') then	-- must be wrapped in 'plainlist' div&lt;br /&gt;
			return table.concat ({value, error_msg (messages_t.list_markup, 'native name checker')}, ' ');&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if value:find ('&amp;lt; */? *[Bb][Rr] */? *&amp;gt;') then								-- look for something that vaguely resembles a &amp;lt;br /&amp;gt; tag&lt;br /&gt;
		return table.concat ({value, error_msg (messages_t.br_list, 'native name checker')}, ' ');&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return value;																-- no failed tests, return the value as is&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; N A T I V E _ N A M E _ C H E C K E R &amp;gt;--------------------------------------&lt;br /&gt;
&lt;br /&gt;
entry point from a module&lt;br /&gt;
&lt;br /&gt;
implements {{native name checker}}&lt;br /&gt;
&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local function native_name_checker (frame)&lt;br /&gt;
	return _native_name_checker (getArgs (frame));&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[--------------------------&amp;lt; E X P O R T S &amp;gt;----------------------------------------------------------------&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
return {&lt;br /&gt;
	native_name = native_name,													-- template interface&lt;br /&gt;
	native_name_list = native_name_list,&lt;br /&gt;
	native_name_checker = native_name_checker,&lt;br /&gt;
	&lt;br /&gt;
	_native_name = _native_name,												-- other module interface&lt;br /&gt;
	_native_name_list = _native_name_list,&lt;br /&gt;
	_native_name_checker = _native_name_checker,&lt;br /&gt;
	}&lt;/div&gt;</summary>
		<author><name>Marie</name></author>
	</entry>
	<entry>
		<id>https://maruneko.autumns.page/mediawiki/index.php?title=Template:Native_name&amp;diff=8522</id>
		<title>Template:Native name</title>
		<link rel="alternate" type="text/html" href="https://maruneko.autumns.page/mediawiki/index.php?title=Template:Native_name&amp;diff=8522"/>
		<updated>2026-03-05T07:14:34Z</updated>

		<summary type="html">&lt;p&gt;Marie: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{#invoke:native name|native_name}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;{{Documentation}}&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Marie</name></author>
	</entry>
	<entry>
		<id>https://maruneko.autumns.page/mediawiki/index.php?title=Template:En_dash&amp;diff=8520</id>
		<title>Template:En dash</title>
		<link rel="alternate" type="text/html" href="https://maruneko.autumns.page/mediawiki/index.php?title=Template:En_dash&amp;diff=8520"/>
		<updated>2026-03-05T07:14:34Z</updated>

		<summary type="html">&lt;p&gt;Marie: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;–&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{documentation}}&lt;br /&gt;
&amp;lt;!-- Add categories and interwikis to the /doc subpage, not here! --&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Marie</name></author>
	</entry>
	<entry>
		<id>https://maruneko.autumns.page/mediawiki/index.php?title=Template:Replace&amp;diff=8518</id>
		<title>Template:Replace</title>
		<link rel="alternate" type="text/html" href="https://maruneko.autumns.page/mediawiki/index.php?title=Template:Replace&amp;diff=8518"/>
		<updated>2026-03-05T07:14:34Z</updated>

		<summary type="html">&lt;p&gt;Marie: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{safesubst:#invoke:String|replace|source={{{1}}}|{{{2}}}|{{{3}}}|plain={{safesubst:#if:{{{plain|}}}|{{{plain}}}|true}}|count={{{count|}}}}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{documentation}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Marie</name></author>
	</entry>
	<entry>
		<id>https://maruneko.autumns.page/mediawiki/index.php?title=Template:As_of&amp;diff=8516</id>
		<title>Template:As of</title>
		<link rel="alternate" type="text/html" href="https://maruneko.autumns.page/mediawiki/index.php?title=Template:As_of&amp;diff=8516"/>
		<updated>2026-03-05T07:14:34Z</updated>

		<summary type="html">&lt;p&gt;Marie: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--{{As of}} begin--&amp;gt;&amp;lt;includeonly&amp;gt;&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
## param 1 is the year&lt;br /&gt;
## optional param 2 is the month&lt;br /&gt;
## optional param 3 is the day of the month&lt;br /&gt;
## optional named parameter alt=[text] is alternative display text (may include wiki markup)&lt;br /&gt;
## optional named parameter df=mdy or df=US produces month-day-year format in displayed text&lt;br /&gt;
## optional named parameter lc=on gives lower-case-first output&lt;br /&gt;
## optional named parameter url=[URL] gives statement reference&lt;br /&gt;
&lt;br /&gt;
## displayed text ([A/a]s of [Start date] by default)&lt;br /&gt;
--&amp;gt;{{#if: {{{alt|}}} | {{{alt}}} | {{#if:{{{bare|}}}||{{#if:{{yesno|{{{since|}}}}}|{{#if: {{yesno|{{{lc|}}}}} | s | S }}ince | {{#if: {{yesno|{{{lc|}}}}} | a | A }}s of}}}} {{#if:{{{pre|}}}|{{{pre}}}&amp;amp;#32;}}{{#if: {{{3|}}} | {{#switch:{{lc:{{{df|}}}}}|us|mdy={{MONTHNAME|{{{2}}}}}&amp;amp;nbsp;{{#expr:{{{3}}}}},&amp;amp;#32;|{{#expr:{{{3}}}}}&amp;amp;nbsp;{{MONTHNAME|{{{2}}}}}&amp;amp;nbsp;}}{{{1}}}|{{#if: {{{2|}}} |{{MONTHNAME|{{{2}}}}}&amp;amp;nbsp;}}{{{1}}}}}}}{{#if:{{{post|}}}|&amp;lt;nowiki /&amp;gt;{{{post}}}}}&amp;lt;!--&lt;br /&gt;
#### That nowiki is required or, various characters (:, ;, #, and *} will be parsed as wikisyntax for list items.&lt;br /&gt;
## ref/update inline banner (hidden by default)&lt;br /&gt;
--&amp;gt;&amp;lt;sup class=&amp;quot;plainlinks noexcerpt noprint asof-tag {{#if:{{{url|}}}|ref|update}}&amp;quot; style=&amp;quot;display:none;&amp;quot;&amp;gt;[{{#if:{{{url|}}}|{{{url}}} &amp;amp;#91;ref&amp;amp;#93;|{{fullurl:{{PAGENAME}}|action=edit}} &amp;amp;#91;update&amp;amp;#93;}}]&amp;lt;/sup&amp;gt;&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
## categorisation disabled outside main namespace&lt;br /&gt;
--&amp;gt;{{Dated maintenance category (articles)|Articles containing potentially dated statements|from|&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
## temporal category for template (word method)&lt;br /&gt;
--&amp;gt;{{#if: {{#ifexpr: {{{1}}} = 1 }} |{{#ifexpr:{{#time:U|{{{1}}}}} &amp;gt; {{#time:U}} | the future | {{#ifexpr: {{#time:Y|{{{1}}}}} &amp;gt; 2004 | {{{1}}} | {{#ifexpr: {{#time:Y|{{{1}}}}} &amp;gt; 1989 | {{#time:Y|{{{1}}}}} | before 1990 }}}}}} |&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
## temporal category for template (parameter method)&lt;br /&gt;
--&amp;gt;{{#ifexpr: {{{1}}} &amp;gt; 2004 | {{#ifexpr:{{#time:U|{{#if:{{{2|}}} | {{MONTHNAME|{{{2}}}}}}} {{{1}}}}} &amp;gt; {{#time:U}} | the future| {{#if:{{{2|}}} | {{MONTHNAME|{{{2}}}}} }} {{{1}}}}} | {{#ifexpr:{{{1}}} &amp;gt; 1989 | {{{1}}} | before 1990 }}}}}}|&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
## global category for template&lt;br /&gt;
--&amp;gt;All articles containing potentially dated statements}}&amp;lt;/includeonly&amp;gt;&amp;lt;!--{{As of}} end--&amp;gt;&amp;lt;noinclude&amp;gt;&amp;lt;!-- &lt;br /&gt;
&lt;br /&gt;
## dynamic example (as of today, self ref)&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;{{As of|{{CURRENTYEAR}}|{{CURRENTMONTH}}|{{CURRENTDAY}}}}&amp;lt;sup class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://en.wikipedia.org/wiki/Template:As_of &amp;amp;#91;ref&amp;amp;#93;]&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{documentation}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Add categories to the /doc subpage; interwikis go to Wikidata, thank you! --&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;{{#invoke:Check for unknown parameters|check|unknown={{main other|[[Category:Pages using as of template with unknown parameters|_VALUE_{{PAGENAME}}]]}}|preview=Page using [[Template:As of]] with unknown parameter &amp;quot;_VALUE_&amp;quot;|ignoreblank=y| 1 | 2 | 3 | alt | bare | df | lc | post | pre | since | url }}&lt;/div&gt;</summary>
		<author><name>Marie</name></author>
	</entry>
	<entry>
		<id>https://maruneko.autumns.page/mediawiki/index.php?title=Module:Protection_banner&amp;diff=8514</id>
		<title>Module:Protection banner</title>
		<link rel="alternate" type="text/html" href="https://maruneko.autumns.page/mediawiki/index.php?title=Module:Protection_banner&amp;diff=8514"/>
		<updated>2026-03-05T07:14:34Z</updated>

		<summary type="html">&lt;p&gt;Marie: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;-- This module implements {{pp-meta}} and its daughter templates such as&lt;br /&gt;
-- {{pp-dispute}}, {{pp-vandalism}} and {{pp-sock}}.&lt;br /&gt;
&lt;br /&gt;
-- Initialise necessary modules.&lt;br /&gt;
require('strict')&lt;br /&gt;
local makeFileLink = require('Module:File link')._main&lt;br /&gt;
local effectiveProtectionLevel = require('Module:Effective protection level')._main&lt;br /&gt;
local effectiveProtectionExpiry = require('Module:Effective protection expiry')._main&lt;br /&gt;
local yesno = require('Module:Yesno')&lt;br /&gt;
&lt;br /&gt;
-- Lazily initialise modules and objects we don't always need.&lt;br /&gt;
local getArgs, makeMessageBox, lang&lt;br /&gt;
&lt;br /&gt;
-- Set constants.&lt;br /&gt;
local CONFIG_MODULE = 'Module:Protection banner/config'&lt;br /&gt;
&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
-- Helper functions&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
local function makeCategoryLink(cat, sort)&lt;br /&gt;
	if cat then&lt;br /&gt;
		return string.format(&lt;br /&gt;
			'[[%s:%s|%s]]',&lt;br /&gt;
			mw.site.namespaces[14].name,&lt;br /&gt;
			cat,&lt;br /&gt;
			sort&lt;br /&gt;
		)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Validation function for the expiry and the protection date&lt;br /&gt;
local function validateDate(dateString, dateType)&lt;br /&gt;
	if not lang then&lt;br /&gt;
		lang = mw.language.getContentLanguage()&lt;br /&gt;
	end&lt;br /&gt;
	local success, result = pcall(lang.formatDate, lang, 'U', dateString)&lt;br /&gt;
	if success then&lt;br /&gt;
		result = tonumber(result)&lt;br /&gt;
		if result then&lt;br /&gt;
			return result&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	error(string.format(&lt;br /&gt;
		'invalid %s: %s',&lt;br /&gt;
		dateType,&lt;br /&gt;
		tostring(dateString)&lt;br /&gt;
	), 4)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function makeFullUrl(page, query, display)&lt;br /&gt;
	return string.format(&lt;br /&gt;
		'[%s %s]',&lt;br /&gt;
		tostring(mw.uri.fullUrl(page, query)),&lt;br /&gt;
		display&lt;br /&gt;
	)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Given a directed graph formatted as node -&amp;gt; table of direct successors,&lt;br /&gt;
-- get a table of all nodes reachable from a given node (though always&lt;br /&gt;
-- including the given node).&lt;br /&gt;
local function getReachableNodes(graph, start)&lt;br /&gt;
	local toWalk, retval = {[start] = true}, {}&lt;br /&gt;
	while true do&lt;br /&gt;
		-- Can't use pairs() since we're adding and removing things as we're iterating&lt;br /&gt;
		local k = next(toWalk) -- This always gets the &amp;quot;first&amp;quot; key&lt;br /&gt;
		if k == nil then&lt;br /&gt;
			return retval&lt;br /&gt;
		end&lt;br /&gt;
		toWalk[k] = nil&lt;br /&gt;
		retval[k] = true&lt;br /&gt;
		for _,v in ipairs(graph[k]) do&lt;br /&gt;
			if not retval[v] then&lt;br /&gt;
				toWalk[v] = true&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
-- Protection class&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
local Protection = {}&lt;br /&gt;
Protection.__index = Protection&lt;br /&gt;
&lt;br /&gt;
Protection.supportedActions = {&lt;br /&gt;
	edit = true,&lt;br /&gt;
	move = true,&lt;br /&gt;
	autoreview = true,&lt;br /&gt;
	upload = true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Protection.bannerConfigFields = {&lt;br /&gt;
	'text',&lt;br /&gt;
	'explanation',&lt;br /&gt;
	'tooltip',&lt;br /&gt;
	'alt',&lt;br /&gt;
	'link',&lt;br /&gt;
	'image'&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function Protection.new(args, cfg, title)&lt;br /&gt;
	local obj = {}&lt;br /&gt;
	obj._cfg = cfg&lt;br /&gt;
	obj.title = title or mw.title.getCurrentTitle()&lt;br /&gt;
&lt;br /&gt;
	-- Set action&lt;br /&gt;
	if not args.action then&lt;br /&gt;
		obj.action = 'edit'&lt;br /&gt;
	elseif Protection.supportedActions[args.action] then&lt;br /&gt;
		obj.action = args.action&lt;br /&gt;
	else&lt;br /&gt;
		error(string.format(&lt;br /&gt;
			'invalid action: %s',&lt;br /&gt;
			tostring(args.action)&lt;br /&gt;
		), 3)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Set level&lt;br /&gt;
	obj.level = args.demolevel or effectiveProtectionLevel(obj.action, obj.title)&lt;br /&gt;
	if not obj.level or (obj.action == 'move' and obj.level == 'autoconfirmed') then&lt;br /&gt;
		-- Users need to be autoconfirmed to move pages anyway, so treat&lt;br /&gt;
		-- semi-move-protected pages as unprotected.&lt;br /&gt;
		obj.level = '*'&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Set expiry&lt;br /&gt;
	local effectiveExpiry = effectiveProtectionExpiry(obj.action, obj.title)&lt;br /&gt;
	if effectiveExpiry == 'infinity' then&lt;br /&gt;
		obj.expiry = 'indef'&lt;br /&gt;
	elseif effectiveExpiry ~= 'unknown' then&lt;br /&gt;
		obj.expiry = validateDate(effectiveExpiry, 'expiry date')&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Set reason&lt;br /&gt;
	if args[1] then&lt;br /&gt;
		obj.reason = mw.ustring.lower(args[1])&lt;br /&gt;
		if obj.reason:find('|') then&lt;br /&gt;
			error('reasons cannot contain the pipe character (&amp;quot;|&amp;quot;)', 3)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Set protection date&lt;br /&gt;
	if args.date then&lt;br /&gt;
		obj.protectionDate = validateDate(args.date, 'protection date')&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- Set banner config&lt;br /&gt;
	do&lt;br /&gt;
		obj.bannerConfig = {}&lt;br /&gt;
		local configTables = {}&lt;br /&gt;
		if cfg.banners[obj.action] then&lt;br /&gt;
			configTables[#configTables + 1] = cfg.banners[obj.action][obj.reason]&lt;br /&gt;
		end&lt;br /&gt;
		if cfg.defaultBanners[obj.action] then&lt;br /&gt;
			configTables[#configTables + 1] = cfg.defaultBanners[obj.action][obj.level]&lt;br /&gt;
			configTables[#configTables + 1] = cfg.defaultBanners[obj.action].default&lt;br /&gt;
		end&lt;br /&gt;
		configTables[#configTables + 1] = cfg.masterBanner&lt;br /&gt;
		for i, field in ipairs(Protection.bannerConfigFields) do&lt;br /&gt;
			for j, t in ipairs(configTables) do&lt;br /&gt;
				if t[field] then&lt;br /&gt;
					obj.bannerConfig[field] = t[field]&lt;br /&gt;
					break&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return setmetatable(obj, Protection)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function Protection:isUserScript()&lt;br /&gt;
	-- Whether the page is a user JavaScript or CSS page.&lt;br /&gt;
	local title = self.title&lt;br /&gt;
	return title.namespace == 2 and (&lt;br /&gt;
		title.contentModel == 'javascript' or title.contentModel == 'css'&lt;br /&gt;
	)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function Protection:isProtected()&lt;br /&gt;
	return self.level ~= '*'&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function Protection:shouldShowLock()&lt;br /&gt;
	-- Whether we should output a banner/padlock&lt;br /&gt;
	return self:isProtected() and not self:isUserScript()&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Whether this page needs a protection category.&lt;br /&gt;
Protection.shouldHaveProtectionCategory = Protection.shouldShowLock&lt;br /&gt;
&lt;br /&gt;
function Protection:isTemporary()&lt;br /&gt;
	return type(self.expiry) == 'number'&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function Protection:makeProtectionCategory()&lt;br /&gt;
	if not self:shouldHaveProtectionCategory() then&lt;br /&gt;
		return ''&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local cfg = self._cfg&lt;br /&gt;
	local title = self.title&lt;br /&gt;
	&lt;br /&gt;
	-- Get the expiry key fragment.&lt;br /&gt;
	local expiryFragment&lt;br /&gt;
	if self.expiry == 'indef' then&lt;br /&gt;
		expiryFragment = self.expiry&lt;br /&gt;
	elseif type(self.expiry) == 'number' then&lt;br /&gt;
		expiryFragment = 'temp'&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Get the namespace key fragment.&lt;br /&gt;
	local namespaceFragment = cfg.categoryNamespaceKeys[title.namespace]&lt;br /&gt;
	if not namespaceFragment and title.namespace % 2 == 1 then&lt;br /&gt;
			namespaceFragment = 'talk'&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Define the order that key fragments are tested in. This is done with an&lt;br /&gt;
	-- array of tables containing the value to be tested, along with its&lt;br /&gt;
	-- position in the cfg.protectionCategories table.&lt;br /&gt;
	local order = {&lt;br /&gt;
		{val = expiryFragment,    keypos = 1},&lt;br /&gt;
		{val = namespaceFragment, keypos = 2},&lt;br /&gt;
		{val = self.reason,       keypos = 3},&lt;br /&gt;
		{val = self.level,        keypos = 4},&lt;br /&gt;
		{val = self.action,       keypos = 5}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	--[[&lt;br /&gt;
	-- The old protection templates used an ad-hoc protection category system,&lt;br /&gt;
	-- with some templates prioritising namespaces in their categories, and&lt;br /&gt;
	-- others prioritising the protection reason. To emulate this in this module&lt;br /&gt;
	-- we use the config table cfg.reasonsWithNamespacePriority to set the&lt;br /&gt;
	-- reasons for which namespaces have priority over protection reason.&lt;br /&gt;
	-- If we are dealing with one of those reasons, move the namespace table to&lt;br /&gt;
	-- the end of the order table, i.e. give it highest priority. If not, the&lt;br /&gt;
	-- reason should have highest priority, so move that to the end of the table&lt;br /&gt;
	-- instead.&lt;br /&gt;
	--]]&lt;br /&gt;
	table.insert(order, table.remove(order, self.reason and cfg.reasonsWithNamespacePriority[self.reason] and 2 or 3))&lt;br /&gt;
 &lt;br /&gt;
	--[[&lt;br /&gt;
	-- Define the attempt order. Inactive subtables (subtables with nil &amp;quot;value&amp;quot;&lt;br /&gt;
	-- fields) are moved to the end, where they will later be given the key&lt;br /&gt;
	-- &amp;quot;all&amp;quot;. This is to cut down on the number of table lookups in&lt;br /&gt;
	-- cfg.protectionCategories, which grows exponentially with the number of&lt;br /&gt;
	-- non-nil keys. We keep track of the number of active subtables with the&lt;br /&gt;
	-- noActive parameter.&lt;br /&gt;
	--]]&lt;br /&gt;
	local noActive, attemptOrder&lt;br /&gt;
	do&lt;br /&gt;
		local active, inactive = {}, {}&lt;br /&gt;
		for i, t in ipairs(order) do&lt;br /&gt;
			if t.val then&lt;br /&gt;
				active[#active + 1] = t&lt;br /&gt;
			else&lt;br /&gt;
				inactive[#inactive + 1] = t&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		noActive = #active&lt;br /&gt;
		attemptOrder = active&lt;br /&gt;
		for i, t in ipairs(inactive) do&lt;br /&gt;
			attemptOrder[#attemptOrder + 1] = t&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
 &lt;br /&gt;
	--[[&lt;br /&gt;
	-- Check increasingly generic key combinations until we find a match. If a&lt;br /&gt;
	-- specific category exists for the combination of key fragments we are&lt;br /&gt;
	-- given, that match will be found first. If not, we keep trying different&lt;br /&gt;
	-- key fragment combinations until we match using the key&lt;br /&gt;
	-- &amp;quot;all-all-all-all-all&amp;quot;.&lt;br /&gt;
	--&lt;br /&gt;
	-- To generate the keys, we index the key subtables using a binary matrix&lt;br /&gt;
	-- with indexes i and j. j is only calculated up to the number of active&lt;br /&gt;
	-- subtables. For example, if there were three active subtables, the matrix&lt;br /&gt;
	-- would look like this, with 0 corresponding to the key fragment &amp;quot;all&amp;quot;, and&lt;br /&gt;
	-- 1 corresponding to other key fragments.&lt;br /&gt;
	-- &lt;br /&gt;
	--   j 1  2  3&lt;br /&gt;
	-- i  &lt;br /&gt;
	-- 1   1  1  1&lt;br /&gt;
	-- 2   0  1  1&lt;br /&gt;
	-- 3   1  0  1&lt;br /&gt;
	-- 4   0  0  1&lt;br /&gt;
	-- 5   1  1  0&lt;br /&gt;
	-- 6   0  1  0&lt;br /&gt;
	-- 7   1  0  0&lt;br /&gt;
	-- 8   0  0  0&lt;br /&gt;
	-- &lt;br /&gt;
	-- Values of j higher than the number of active subtables are set&lt;br /&gt;
	-- to the string &amp;quot;all&amp;quot;.&lt;br /&gt;
	--&lt;br /&gt;
	-- A key for cfg.protectionCategories is constructed for each value of i.&lt;br /&gt;
	-- The position of the value in the key is determined by the keypos field in&lt;br /&gt;
	-- each subtable.&lt;br /&gt;
	--]]&lt;br /&gt;
	local cats = cfg.protectionCategories&lt;br /&gt;
	for i = 1, 2^noActive do&lt;br /&gt;
		local key = {}&lt;br /&gt;
		for j, t in ipairs(attemptOrder) do&lt;br /&gt;
			if j &amp;gt; noActive then&lt;br /&gt;
				key[t.keypos] = 'all'&lt;br /&gt;
			else&lt;br /&gt;
				local quotient = i / 2 ^ (j - 1)&lt;br /&gt;
				quotient = math.ceil(quotient)&lt;br /&gt;
				if quotient % 2 == 1 then&lt;br /&gt;
					key[t.keypos] = t.val&lt;br /&gt;
				else&lt;br /&gt;
					key[t.keypos] = 'all'&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		key = table.concat(key, '|')&lt;br /&gt;
		local attempt = cats[key]&lt;br /&gt;
		if attempt then&lt;br /&gt;
			return makeCategoryLink(attempt, title.text)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return ''&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function Protection:isIncorrect()&lt;br /&gt;
	if not self:shouldHaveProtectionCategory() then&lt;br /&gt;
		return true&lt;br /&gt;
	end&lt;br /&gt;
	if type(self.expiry) ~= 'number' then&lt;br /&gt;
		return false&lt;br /&gt;
	end&lt;br /&gt;
	local expiry = os.date('*t', self.expiry)&lt;br /&gt;
	-- Avoid checking today.day or os.time(), unless close. https://phabricator.wikimedia.org/T416616&lt;br /&gt;
	local today = os.date('*t')&lt;br /&gt;
	return (expiry.year &amp;lt; today.year)&lt;br /&gt;
		or (expiry.year == today.year and expiry.month &amp;lt; today.month)&lt;br /&gt;
		or (expiry.year == today.year and expiry.month == today.month and expiry.day &amp;lt; today.day)&lt;br /&gt;
		or (expiry.year == today.year and expiry.month == today.month and expiry.day == today.day and self.expiry &amp;lt; os.time())&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function Protection:isTemplateProtectedNonTemplate()&lt;br /&gt;
	local action, namespace = self.action, self.title.namespace&lt;br /&gt;
	return self.level == 'templateeditor'&lt;br /&gt;
		and (&lt;br /&gt;
			(action ~= 'edit' and action ~= 'move')&lt;br /&gt;
			or (namespace ~= 10 and namespace ~= 828)&lt;br /&gt;
		)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function Protection:makeCategoryLinks()&lt;br /&gt;
	local msg = self._cfg.msg&lt;br /&gt;
	local ret = {self:makeProtectionCategory()}&lt;br /&gt;
	if self:isIncorrect() then&lt;br /&gt;
		ret[#ret + 1] = makeCategoryLink(&lt;br /&gt;
			msg['tracking-category-incorrect'],&lt;br /&gt;
			self.title.text&lt;br /&gt;
		)&lt;br /&gt;
	end&lt;br /&gt;
	if self:isTemplateProtectedNonTemplate() then&lt;br /&gt;
		ret[#ret + 1] = makeCategoryLink(&lt;br /&gt;
			msg['tracking-category-template'],&lt;br /&gt;
			self.title.text&lt;br /&gt;
		)&lt;br /&gt;
	end&lt;br /&gt;
	return table.concat(ret)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
-- Blurb class&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
local Blurb = {}&lt;br /&gt;
Blurb.__index = Blurb&lt;br /&gt;
&lt;br /&gt;
Blurb.bannerTextFields = {&lt;br /&gt;
	text = true,&lt;br /&gt;
	explanation = true,&lt;br /&gt;
	tooltip = true,&lt;br /&gt;
	alt = true,&lt;br /&gt;
	link = true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function Blurb.new(protectionObj, args, cfg)&lt;br /&gt;
	return setmetatable({&lt;br /&gt;
		_cfg = cfg,&lt;br /&gt;
		_protectionObj = protectionObj,&lt;br /&gt;
		_args = args&lt;br /&gt;
	}, Blurb)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Private methods --&lt;br /&gt;
&lt;br /&gt;
function Blurb:_formatDate(num)&lt;br /&gt;
	-- Formats a Unix timestamp into dd Month, YYYY format.&lt;br /&gt;
	lang = lang or mw.language.getContentLanguage()&lt;br /&gt;
	local success, date = pcall(&lt;br /&gt;
		lang.formatDate,&lt;br /&gt;
		lang,&lt;br /&gt;
		self._cfg.msg['expiry-date-format'] or 'j F Y',&lt;br /&gt;
		'@' .. tostring(num)&lt;br /&gt;
	)&lt;br /&gt;
	if success then&lt;br /&gt;
		return date&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function Blurb:_getExpandedMessage(msgKey)&lt;br /&gt;
	return self:_substituteParameters(self._cfg.msg[msgKey])&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function Blurb:_substituteParameters(msg)&lt;br /&gt;
	if not self._params then&lt;br /&gt;
		local parameterFuncs = {}&lt;br /&gt;
&lt;br /&gt;
		parameterFuncs.CURRENTVERSION     = self._makeCurrentVersionParameter&lt;br /&gt;
		parameterFuncs.EDITREQUEST        = self._makeEditRequestParameter&lt;br /&gt;
		parameterFuncs.EXPIRY             = self._makeExpiryParameter&lt;br /&gt;
		parameterFuncs.EXPLANATIONBLURB   = self._makeExplanationBlurbParameter&lt;br /&gt;
		parameterFuncs.IMAGELINK          = self._makeImageLinkParameter&lt;br /&gt;
		parameterFuncs.INTROBLURB         = self._makeIntroBlurbParameter&lt;br /&gt;
		parameterFuncs.INTROFRAGMENT      = self._makeIntroFragmentParameter&lt;br /&gt;
		parameterFuncs.PAGETYPE           = self._makePagetypeParameter&lt;br /&gt;
		parameterFuncs.PROTECTIONBLURB    = self._makeProtectionBlurbParameter&lt;br /&gt;
		parameterFuncs.PROTECTIONDATE     = self._makeProtectionDateParameter&lt;br /&gt;
		parameterFuncs.PROTECTIONLEVEL    = self._makeProtectionLevelParameter&lt;br /&gt;
		parameterFuncs.PROTECTIONLOG      = self._makeProtectionLogParameter&lt;br /&gt;
		parameterFuncs.TALKPAGE           = self._makeTalkPageParameter&lt;br /&gt;
		parameterFuncs.TOOLTIPBLURB       = self._makeTooltipBlurbParameter&lt;br /&gt;
		parameterFuncs.TOOLTIPFRAGMENT    = self._makeTooltipFragmentParameter&lt;br /&gt;
		parameterFuncs.VANDAL             = self._makeVandalTemplateParameter&lt;br /&gt;
		&lt;br /&gt;
		self._params = setmetatable({}, {&lt;br /&gt;
			__index = function (t, k)&lt;br /&gt;
				local param&lt;br /&gt;
				if parameterFuncs[k] then&lt;br /&gt;
					param = parameterFuncs[k](self)&lt;br /&gt;
				end&lt;br /&gt;
				param = param or ''&lt;br /&gt;
				t[k] = param&lt;br /&gt;
				return param&lt;br /&gt;
			end&lt;br /&gt;
		})&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	msg = msg:gsub('${(%u+)}', self._params)&lt;br /&gt;
	return msg&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function Blurb:_makeCurrentVersionParameter()&lt;br /&gt;
	-- A link to the page history or the move log, depending on the kind of&lt;br /&gt;
	-- protection.&lt;br /&gt;
	local pagename = self._protectionObj.title.prefixedText&lt;br /&gt;
	if self._protectionObj.action == 'move' then&lt;br /&gt;
		-- We need the move log link.&lt;br /&gt;
		return makeFullUrl(&lt;br /&gt;
			'Special:Log',&lt;br /&gt;
			{type = 'move', page = pagename},&lt;br /&gt;
			self:_getExpandedMessage('current-version-move-display')&lt;br /&gt;
		)&lt;br /&gt;
	else&lt;br /&gt;
		-- We need the history link.&lt;br /&gt;
		return makeFullUrl(&lt;br /&gt;
			pagename,&lt;br /&gt;
			{action = 'history'},&lt;br /&gt;
			self:_getExpandedMessage('current-version-edit-display')&lt;br /&gt;
		)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function Blurb:_makeEditRequestParameter()&lt;br /&gt;
	local mEditRequest = require('Module:Submit an edit request')&lt;br /&gt;
	local action = self._protectionObj.action&lt;br /&gt;
	local level = self._protectionObj.level&lt;br /&gt;
	&lt;br /&gt;
	-- Get the edit request type.&lt;br /&gt;
	local requestType&lt;br /&gt;
	if action == 'edit' then&lt;br /&gt;
		if level == 'autoconfirmed' then&lt;br /&gt;
			requestType = 'semi'&lt;br /&gt;
		elseif level == 'extendedconfirmed' then&lt;br /&gt;
			requestType = 'extended'&lt;br /&gt;
		elseif level == 'templateeditor' then&lt;br /&gt;
			requestType = 'template'&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	requestType = requestType or 'full'&lt;br /&gt;
	&lt;br /&gt;
	-- Get the display value.&lt;br /&gt;
	local display = self:_getExpandedMessage('edit-request-display')&lt;br /&gt;
&lt;br /&gt;
	return mEditRequest._link{type = requestType, display = display}&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function Blurb:_makeExpiryParameter()&lt;br /&gt;
	local expiry = self._protectionObj.expiry&lt;br /&gt;
	if type(expiry) == 'number' then&lt;br /&gt;
		return self:_formatDate(expiry)&lt;br /&gt;
	else&lt;br /&gt;
		return expiry&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function Blurb:_makeExplanationBlurbParameter()&lt;br /&gt;
	-- Cover special cases first.&lt;br /&gt;
	if self._protectionObj.title.namespace == 8 then&lt;br /&gt;
		-- MediaWiki namespace&lt;br /&gt;
		return self:_getExpandedMessage('explanation-blurb-nounprotect')&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Get explanation blurb table keys&lt;br /&gt;
	local action = self._protectionObj.action&lt;br /&gt;
	local level = self._protectionObj.level&lt;br /&gt;
	local talkKey = self._protectionObj.title.isTalkPage and 'talk' or 'subject'&lt;br /&gt;
&lt;br /&gt;
	-- Find the message in the explanation blurb table and substitute any&lt;br /&gt;
	-- parameters.&lt;br /&gt;
	local explanations = self._cfg.explanationBlurbs&lt;br /&gt;
	local msg&lt;br /&gt;
	if explanations[action][level] and explanations[action][level][talkKey] then&lt;br /&gt;
		msg = explanations[action][level][talkKey]&lt;br /&gt;
	elseif explanations[action][level] and explanations[action][level].default then&lt;br /&gt;
		msg = explanations[action][level].default&lt;br /&gt;
	elseif explanations[action].default and explanations[action].default[talkKey] then&lt;br /&gt;
		msg = explanations[action].default[talkKey]&lt;br /&gt;
	elseif explanations[action].default and explanations[action].default.default then&lt;br /&gt;
		msg = explanations[action].default.default&lt;br /&gt;
	else&lt;br /&gt;
		error(string.format(&lt;br /&gt;
			'could not find explanation blurb for action &amp;quot;%s&amp;quot;, level &amp;quot;%s&amp;quot; and talk key &amp;quot;%s&amp;quot;',&lt;br /&gt;
			action,&lt;br /&gt;
			level,&lt;br /&gt;
			talkKey&lt;br /&gt;
		), 8)&lt;br /&gt;
	end&lt;br /&gt;
	return self:_substituteParameters(msg)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function Blurb:_makeImageLinkParameter()&lt;br /&gt;
	local imageLinks = self._cfg.imageLinks&lt;br /&gt;
	local action = self._protectionObj.action&lt;br /&gt;
	local level = self._protectionObj.level&lt;br /&gt;
	local msg&lt;br /&gt;
	if imageLinks[action][level] then&lt;br /&gt;
		msg = imageLinks[action][level]&lt;br /&gt;
	elseif imageLinks[action].default then&lt;br /&gt;
		msg = imageLinks[action].default&lt;br /&gt;
	else&lt;br /&gt;
		msg = imageLinks.edit.default&lt;br /&gt;
	end&lt;br /&gt;
	return self:_substituteParameters(msg)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function Blurb:_makeIntroBlurbParameter()&lt;br /&gt;
	if self._protectionObj:isTemporary() then&lt;br /&gt;
		return self:_getExpandedMessage('intro-blurb-expiry')&lt;br /&gt;
	else&lt;br /&gt;
		return self:_getExpandedMessage('intro-blurb-noexpiry')&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function Blurb:_makeIntroFragmentParameter()&lt;br /&gt;
	if self._protectionObj:isTemporary() then&lt;br /&gt;
		return self:_getExpandedMessage('intro-fragment-expiry')&lt;br /&gt;
	else&lt;br /&gt;
		return self:_getExpandedMessage('intro-fragment-noexpiry')&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function Blurb:_makePagetypeParameter()&lt;br /&gt;
	local pagetypes = self._cfg.pagetypes&lt;br /&gt;
	return pagetypes[self._protectionObj.title.namespace]&lt;br /&gt;
		or pagetypes.default&lt;br /&gt;
		or error('no default pagetype defined', 8)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function Blurb:_makeProtectionBlurbParameter()&lt;br /&gt;
	local protectionBlurbs = self._cfg.protectionBlurbs&lt;br /&gt;
	local action = self._protectionObj.action&lt;br /&gt;
	local level = self._protectionObj.level&lt;br /&gt;
	local msg&lt;br /&gt;
	if protectionBlurbs[action][level] then&lt;br /&gt;
		msg = protectionBlurbs[action][level]&lt;br /&gt;
	elseif protectionBlurbs[action].default then&lt;br /&gt;
		msg = protectionBlurbs[action].default&lt;br /&gt;
	elseif protectionBlurbs.edit.default then&lt;br /&gt;
		msg = protectionBlurbs.edit.default&lt;br /&gt;
	else&lt;br /&gt;
		error('no protection blurb defined for protectionBlurbs.edit.default', 8)&lt;br /&gt;
	end&lt;br /&gt;
	return self:_substituteParameters(msg)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function Blurb:_makeProtectionDateParameter()&lt;br /&gt;
	local protectionDate = self._protectionObj.protectionDate&lt;br /&gt;
	if type(protectionDate) == 'number' then&lt;br /&gt;
		return self:_formatDate(protectionDate)&lt;br /&gt;
	else&lt;br /&gt;
		return protectionDate&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function Blurb:_makeProtectionLevelParameter()&lt;br /&gt;
	local protectionLevels = self._cfg.protectionLevels&lt;br /&gt;
	local action = self._protectionObj.action&lt;br /&gt;
	local level = self._protectionObj.level&lt;br /&gt;
	local msg&lt;br /&gt;
	if protectionLevels[action][level] then&lt;br /&gt;
		msg = protectionLevels[action][level]&lt;br /&gt;
	elseif protectionLevels[action].default then&lt;br /&gt;
		msg = protectionLevels[action].default&lt;br /&gt;
	elseif protectionLevels.edit.default then&lt;br /&gt;
		msg = protectionLevels.edit.default&lt;br /&gt;
	else&lt;br /&gt;
		error('no protection level defined for protectionLevels.edit.default', 8)&lt;br /&gt;
	end&lt;br /&gt;
	return self:_substituteParameters(msg)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function Blurb:_makeProtectionLogParameter()&lt;br /&gt;
	local pagename = self._protectionObj.title.prefixedText&lt;br /&gt;
	if self._protectionObj.action == 'autoreview' then&lt;br /&gt;
		-- We need the pending changes log.&lt;br /&gt;
		return makeFullUrl(&lt;br /&gt;
			'Special:Log',&lt;br /&gt;
			{type = 'stable', page = pagename},&lt;br /&gt;
			self:_getExpandedMessage('pc-log-display')&lt;br /&gt;
		)&lt;br /&gt;
	else&lt;br /&gt;
		-- We need the protection log.&lt;br /&gt;
		return makeFullUrl(&lt;br /&gt;
			'Special:Log',&lt;br /&gt;
			{type = 'protect', page = pagename},&lt;br /&gt;
			self:_getExpandedMessage('protection-log-display')&lt;br /&gt;
		)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function Blurb:_makeTalkPageParameter()&lt;br /&gt;
	return string.format(&lt;br /&gt;
		'[[%s:%s#%s|%s]]',&lt;br /&gt;
		mw.site.namespaces[self._protectionObj.title.namespace].talk.name,&lt;br /&gt;
		self._protectionObj.title.text,&lt;br /&gt;
		self._args.section or 'top',&lt;br /&gt;
		self:_getExpandedMessage('talk-page-link-display')&lt;br /&gt;
	)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function Blurb:_makeTooltipBlurbParameter()&lt;br /&gt;
	if self._protectionObj:isTemporary() then&lt;br /&gt;
		return self:_getExpandedMessage('tooltip-blurb-expiry')&lt;br /&gt;
	else&lt;br /&gt;
		return self:_getExpandedMessage('tooltip-blurb-noexpiry')&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function Blurb:_makeTooltipFragmentParameter()&lt;br /&gt;
	if self._protectionObj:isTemporary() then&lt;br /&gt;
		return self:_getExpandedMessage('tooltip-fragment-expiry')&lt;br /&gt;
	else&lt;br /&gt;
		return self:_getExpandedMessage('tooltip-fragment-noexpiry')&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function Blurb:_makeVandalTemplateParameter()&lt;br /&gt;
	return mw.getCurrentFrame():expandTemplate{&lt;br /&gt;
		title=&amp;quot;vandal-m&amp;quot;,&lt;br /&gt;
		args={self._args.user or self._protectionObj.title.baseText}&lt;br /&gt;
	}&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Public methods --&lt;br /&gt;
&lt;br /&gt;
function Blurb:makeBannerText(key)&lt;br /&gt;
	-- Validate input.&lt;br /&gt;
	if not key or not Blurb.bannerTextFields[key] then&lt;br /&gt;
		error(string.format(&lt;br /&gt;
			'&amp;quot;%s&amp;quot; is not a valid banner config field',&lt;br /&gt;
			tostring(key)&lt;br /&gt;
		), 2)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Generate the text.&lt;br /&gt;
	local msg = self._protectionObj.bannerConfig[key]&lt;br /&gt;
	if type(msg) == 'string' then&lt;br /&gt;
		return self:_substituteParameters(msg)&lt;br /&gt;
	elseif type(msg) == 'function' then&lt;br /&gt;
		msg = msg(self._protectionObj, self._args)&lt;br /&gt;
		if type(msg) ~= 'string' then&lt;br /&gt;
			error(string.format(&lt;br /&gt;
				'bad output from banner config function with key &amp;quot;%s&amp;quot;'&lt;br /&gt;
					.. ' (expected string, got %s)',&lt;br /&gt;
				tostring(key),&lt;br /&gt;
				type(msg)&lt;br /&gt;
			), 4)&lt;br /&gt;
		end&lt;br /&gt;
		return self:_substituteParameters(msg)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
-- BannerTemplate class&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
local BannerTemplate = {}&lt;br /&gt;
BannerTemplate.__index = BannerTemplate&lt;br /&gt;
&lt;br /&gt;
function BannerTemplate.new(protectionObj, cfg)&lt;br /&gt;
	local obj = {}&lt;br /&gt;
	obj._cfg = cfg&lt;br /&gt;
&lt;br /&gt;
	-- Set the image filename.&lt;br /&gt;
	local imageFilename = protectionObj.bannerConfig.image&lt;br /&gt;
	if imageFilename then&lt;br /&gt;
		obj._imageFilename = imageFilename&lt;br /&gt;
	else&lt;br /&gt;
		-- If an image filename isn't specified explicitly in the banner config,&lt;br /&gt;
		-- generate it from the protection status and the namespace.&lt;br /&gt;
		local action = protectionObj.action&lt;br /&gt;
		local level = protectionObj.level&lt;br /&gt;
		local namespace = protectionObj.title.namespace&lt;br /&gt;
		local reason = protectionObj.reason&lt;br /&gt;
		&lt;br /&gt;
		-- Deal with special cases first.&lt;br /&gt;
		if (&lt;br /&gt;
			namespace == 10&lt;br /&gt;
			or namespace == 828&lt;br /&gt;
			or reason and obj._cfg.indefImageReasons[reason]&lt;br /&gt;
			)&lt;br /&gt;
			and action == 'edit'&lt;br /&gt;
			and level == 'sysop'&lt;br /&gt;
			and not protectionObj:isTemporary()&lt;br /&gt;
		then&lt;br /&gt;
			-- Fully protected modules and templates get the special red &amp;quot;indef&amp;quot;&lt;br /&gt;
			-- padlock.&lt;br /&gt;
			obj._imageFilename = obj._cfg.msg['image-filename-indef']&lt;br /&gt;
		else&lt;br /&gt;
			-- Deal with regular protection types.&lt;br /&gt;
			local images = obj._cfg.images&lt;br /&gt;
			if images[action] then&lt;br /&gt;
				if images[action][level] then&lt;br /&gt;
					obj._imageFilename = images[action][level]&lt;br /&gt;
				elseif images[action].default then&lt;br /&gt;
					obj._imageFilename = images[action].default&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return setmetatable(obj, BannerTemplate)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function BannerTemplate:renderImage()&lt;br /&gt;
	local filename = self._imageFilename&lt;br /&gt;
		or self._cfg.msg['image-filename-default']&lt;br /&gt;
		or 'Transparent.gif'&lt;br /&gt;
	return makeFileLink{&lt;br /&gt;
		file = filename,&lt;br /&gt;
		size = (self.imageWidth or 20) .. 'px',&lt;br /&gt;
		alt = self._imageAlt,&lt;br /&gt;
		link = self._imageLink,&lt;br /&gt;
		caption = self.imageCaption&lt;br /&gt;
	}&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
-- Banner class&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
local Banner = setmetatable({}, BannerTemplate)&lt;br /&gt;
Banner.__index = Banner&lt;br /&gt;
&lt;br /&gt;
function Banner.new(protectionObj, blurbObj, cfg)&lt;br /&gt;
	local obj = BannerTemplate.new(protectionObj, cfg) -- This doesn't need the blurb.&lt;br /&gt;
	obj.imageWidth = 40&lt;br /&gt;
	obj.imageCaption = blurbObj:makeBannerText('alt') -- Large banners use the alt text for the tooltip.&lt;br /&gt;
	obj._reasonText = blurbObj:makeBannerText('text')&lt;br /&gt;
	obj._explanationText = blurbObj:makeBannerText('explanation')&lt;br /&gt;
	obj._page = protectionObj.title.prefixedText -- Only makes a difference in testing.&lt;br /&gt;
	return setmetatable(obj, Banner)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function Banner:__tostring()&lt;br /&gt;
	-- Renders the banner.&lt;br /&gt;
	makeMessageBox = makeMessageBox or require('Module:Message box').main&lt;br /&gt;
	local reasonText = self._reasonText or error('no reason text set', 2)&lt;br /&gt;
	local explanationText = self._explanationText&lt;br /&gt;
	local mbargs = {&lt;br /&gt;
		page = self._page,&lt;br /&gt;
		type = 'protection',&lt;br /&gt;
		image = self:renderImage(),&lt;br /&gt;
		text = string.format(&lt;br /&gt;
			&amp;quot;'''%s'''%s&amp;quot;,&lt;br /&gt;
			reasonText,&lt;br /&gt;
			explanationText and '&amp;lt;br /&amp;gt;' .. explanationText or ''&lt;br /&gt;
		)&lt;br /&gt;
	}&lt;br /&gt;
	return makeMessageBox('mbox', mbargs)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
-- Padlock class&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
local Padlock = setmetatable({}, BannerTemplate)&lt;br /&gt;
Padlock.__index = Padlock&lt;br /&gt;
&lt;br /&gt;
function Padlock.new(protectionObj, blurbObj, cfg)&lt;br /&gt;
	local obj = BannerTemplate.new(protectionObj, cfg) -- This doesn't need the blurb.&lt;br /&gt;
	obj.imageWidth = 20&lt;br /&gt;
	obj.imageCaption = blurbObj:makeBannerText('tooltip')&lt;br /&gt;
	obj._imageAlt = blurbObj:makeBannerText('alt')&lt;br /&gt;
	obj._imageLink = blurbObj:makeBannerText('link')&lt;br /&gt;
	obj._indicatorName = cfg.padlockIndicatorNames[protectionObj.action]&lt;br /&gt;
		or cfg.padlockIndicatorNames.default&lt;br /&gt;
		or 'pp-default'&lt;br /&gt;
	return setmetatable(obj, Padlock)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function Padlock:__tostring()&lt;br /&gt;
	local frame = mw.getCurrentFrame()&lt;br /&gt;
	-- The nowiki tag helps prevent whitespace at the top of articles.&lt;br /&gt;
	return frame:extensionTag{name = 'nowiki'} .. frame:extensionTag{&lt;br /&gt;
		name = 'indicator',&lt;br /&gt;
		args = {name = self._indicatorName},&lt;br /&gt;
		content = self:renderImage()&lt;br /&gt;
	}&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
-- Exports&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
function p._exportClasses()&lt;br /&gt;
	-- This is used for testing purposes.&lt;br /&gt;
	return {&lt;br /&gt;
		Protection = Protection,&lt;br /&gt;
		Blurb = Blurb,&lt;br /&gt;
		BannerTemplate = BannerTemplate,&lt;br /&gt;
		Banner = Banner,&lt;br /&gt;
		Padlock = Padlock,&lt;br /&gt;
	}&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._main(args, cfg, title)&lt;br /&gt;
	args = args or {}&lt;br /&gt;
	cfg = cfg or require(CONFIG_MODULE)&lt;br /&gt;
&lt;br /&gt;
	local protectionObj = Protection.new(args, cfg, title)&lt;br /&gt;
&lt;br /&gt;
	local ret = {}&lt;br /&gt;
&lt;br /&gt;
	-- If a page's edit protection is equally or more restrictive than its&lt;br /&gt;
	-- protection from some other action, then don't bother displaying anything&lt;br /&gt;
	-- for the other action (except categories).&lt;br /&gt;
	if not yesno(args.catonly) and (protectionObj.action == 'edit' or&lt;br /&gt;
		args.demolevel or&lt;br /&gt;
		not getReachableNodes(&lt;br /&gt;
			cfg.hierarchy,&lt;br /&gt;
			protectionObj.level&lt;br /&gt;
		)[effectiveProtectionLevel('edit', protectionObj.title)])&lt;br /&gt;
	then&lt;br /&gt;
		-- Initialise the blurb object&lt;br /&gt;
		local blurbObj = Blurb.new(protectionObj, args, cfg)&lt;br /&gt;
	&lt;br /&gt;
		-- Render the banner&lt;br /&gt;
		if protectionObj:shouldShowLock() then&lt;br /&gt;
			ret[#ret + 1] = tostring(&lt;br /&gt;
				(yesno(args.small) and Padlock or Banner)&lt;br /&gt;
				.new(protectionObj, blurbObj, cfg)&lt;br /&gt;
			)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Render the categories&lt;br /&gt;
	if yesno(args.category) ~= false then&lt;br /&gt;
		ret[#ret + 1] = protectionObj:makeCategoryLinks()&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- For arbitration enforcement, flagging [[WP:PIA]] pages to enable [[Special:AbuseFilter/1339]] to flag edits to them&lt;br /&gt;
	if protectionObj.level == &amp;quot;extendedconfirmed&amp;quot; then&lt;br /&gt;
		if require(&amp;quot;Module:TableTools&amp;quot;).inArray(protectionObj.title.talkPageTitle.categories, &amp;quot;Wikipedia pages subject to the extended confirmed restriction related to the Arab-Israeli conflict&amp;quot;) then&lt;br /&gt;
			ret[#ret + 1] = &amp;quot;&amp;lt;p class='PIA-flag' style='display:none; visibility:hidden;' title='This page is subject to the extended confirmed restriction related to the Arab-Israeli conflict.'&amp;gt;&amp;lt;/p&amp;gt;&amp;quot;&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return table.concat(ret)	&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.main(frame, cfg)&lt;br /&gt;
	cfg = cfg or require(CONFIG_MODULE)&lt;br /&gt;
&lt;br /&gt;
	-- Find default args, if any.&lt;br /&gt;
	local parent = frame.getParent and frame:getParent()&lt;br /&gt;
	local defaultArgs = parent and cfg.wrappers[parent:getTitle():gsub('/sandbox$', '')]&lt;br /&gt;
&lt;br /&gt;
	-- Find user args, and use the parent frame if we are being called from a&lt;br /&gt;
	-- wrapper template.&lt;br /&gt;
	getArgs = getArgs or require('Module:Arguments').getArgs&lt;br /&gt;
	local userArgs = getArgs(frame, {&lt;br /&gt;
		parentOnly = defaultArgs,&lt;br /&gt;
		frameOnly = not defaultArgs&lt;br /&gt;
	})&lt;br /&gt;
&lt;br /&gt;
	-- Build the args table. User-specified args overwrite default args.&lt;br /&gt;
	local args = {}&lt;br /&gt;
	for k, v in pairs(defaultArgs or {}) do&lt;br /&gt;
		args[k] = v&lt;br /&gt;
	end&lt;br /&gt;
	for k, v in pairs(userArgs) do&lt;br /&gt;
		args[k] = v&lt;br /&gt;
	end&lt;br /&gt;
	return p._main(args, cfg)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Marie</name></author>
	</entry>
	<entry>
		<id>https://maruneko.autumns.page/mediawiki/index.php?title=Template:!xt&amp;diff=8512</id>
		<title>Template:!xt</title>
		<link rel="alternate" type="text/html" href="https://maruneko.autumns.page/mediawiki/index.php?title=Template:!xt&amp;diff=8512"/>
		<updated>2026-03-05T07:14:34Z</updated>

		<summary type="html">&lt;p&gt;Marie: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#ifeq:{{NAMESPACE}}|{{ns:0}}|{{FormattingError|[[:{{safesubst:&amp;lt;noinclude/&amp;gt;#invoke:TEMPLATENAME|main}}]] is only for examples of style and formatting. Do not use it in actual articles.}}|&amp;lt;span class=&amp;quot;example deprecated-content example-bad&amp;quot; style=&amp;quot;font-family: Georgia, 'DejaVu Serif', serif; color: var(--color-content-removed, #8B0000);&amp;quot; {{#if:{{{title|}}}|title=&amp;quot;{{{title}}}&amp;quot;}}&amp;gt;{{{1|Example text}}}&amp;lt;/span&amp;gt;}}&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{Documentation}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Marie</name></author>
	</entry>
	<entry>
		<id>https://maruneko.autumns.page/mediawiki/index.php?title=Template:Xt&amp;diff=8510</id>
		<title>Template:Xt</title>
		<link rel="alternate" type="text/html" href="https://maruneko.autumns.page/mediawiki/index.php?title=Template:Xt&amp;diff=8510"/>
		<updated>2026-03-05T07:14:34Z</updated>

		<summary type="html">&lt;p&gt;Marie: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#ifeq:{{NAMESPACE}}|{{ns:0}}|{{FormattingError|[[:{{safesubst:&amp;lt;noinclude/&amp;gt;#invoke:TEMPLATENAME|main}}]] is only for examples of style and formatting. Do not use it in actual articles.}}|&amp;lt;span class=&amp;quot;example&amp;quot; style=&amp;quot;font-family: Georgia, 'DejaVu Serif', serif; color: var(--color-content-added, #006400);&amp;quot; {{#if:{{{title|}}}|title=&amp;quot;{{{title}}}&amp;quot;}}&amp;gt;{{{1|Example text}}}&amp;lt;/span&amp;gt;}}&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{Documentation}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Marie</name></author>
	</entry>
	<entry>
		<id>https://maruneko.autumns.page/mediawiki/index.php?title=Module:Plain_text&amp;diff=8508</id>
		<title>Module:Plain text</title>
		<link rel="alternate" type="text/html" href="https://maruneko.autumns.page/mediawiki/index.php?title=Module:Plain_text&amp;diff=8508"/>
		<updated>2026-03-05T07:14:33Z</updated>

		<summary type="html">&lt;p&gt;Marie: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;--converts text with wikilinks to plain text, e.g &amp;quot;[[foo|gah]] is [[bar]]&amp;quot; to &amp;quot;gah is bar&amp;quot;&lt;br /&gt;
--removes anything enclosed in tags that isn't nested, mediawiki strip markers (references etc), files, italic and bold markup&lt;br /&gt;
require[[strict]]&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
function p.main(frame)&lt;br /&gt;
	local text = frame.args[1]&lt;br /&gt;
	local encode = require('Module:yesno')(frame.args.encode)&lt;br /&gt;
	return p._main(text, encode)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._main(text, encode)&lt;br /&gt;
	if not text then return end&lt;br /&gt;
	text = mw.text.killMarkers(text)&lt;br /&gt;
		:gsub('&amp;amp;nbsp;', ' ') --replace nbsp spaces with regular spaces&lt;br /&gt;
		:gsub('&amp;lt;br ?/?&amp;gt;', ', ') --replace br with commas&lt;br /&gt;
		:gsub('&amp;lt;span.-&amp;gt;(.-)&amp;lt;/span&amp;gt;', '%1') --remove spans while keeping text inside&lt;br /&gt;
		:gsub('&amp;lt;i.-&amp;gt;(.-)&amp;lt;/i&amp;gt;', '%1') --remove italics while keeping text inside&lt;br /&gt;
		:gsub('&amp;lt;b.-&amp;gt;(.-)&amp;lt;/b&amp;gt;', '%1') --remove bold while keeping text inside&lt;br /&gt;
		:gsub('&amp;lt;em.-&amp;gt;(.-)&amp;lt;/em&amp;gt;', '%1') --remove emphasis while keeping text inside&lt;br /&gt;
		:gsub('&amp;lt;strong.-&amp;gt;(.-)&amp;lt;/strong&amp;gt;', '%1') --remove strong while keeping text inside&lt;br /&gt;
		:gsub('&amp;lt;sub.-&amp;gt;(.-)&amp;lt;/sub&amp;gt;', '%1') --remove subscript markup; retain contents&lt;br /&gt;
		:gsub('&amp;lt;sup.-&amp;gt;(.-)&amp;lt;/sup&amp;gt;', '%1') --remove superscript markup; retain contents&lt;br /&gt;
		:gsub('&amp;lt;u.-&amp;gt;(.-)&amp;lt;/u&amp;gt;', '%1') --remove underline markup; retain contents&lt;br /&gt;
		:gsub('&amp;lt;.-&amp;gt;.-&amp;lt;.-&amp;gt;', '') --strip out remaining tags and the text inside&lt;br /&gt;
		:gsub('&amp;lt;.-&amp;gt;', '') --remove any other tag markup&lt;br /&gt;
		:gsub('%[%[%s*[Ff][Ii][Ll][Ee]%s*:.-%]%]', '') --strip out files&lt;br /&gt;
		:gsub('%[%[%s*[Ii][Mm][Aa][Gg][Ee]%s*:.-%]%]', '') --strip out use of image:&lt;br /&gt;
		:gsub('%[%[%s*[Cc][Aa][Tt][Ee][Gg][Oo][Rr][Yy]%s*:.-%]%]', '') --strip out categories&lt;br /&gt;
		:gsub('%[%[[^%]]-|', '') --strip out piped link text&lt;br /&gt;
		:gsub('([^%[])%[[^%[%]][^%]]-%s', '%1') --strip out external link text&lt;br /&gt;
		:gsub('^%[[^%[%]][^%]]-%s', '') --strip out external link text&lt;br /&gt;
		:gsub('[%[%]]', '') --then strip out remaining [ and ]&lt;br /&gt;
		:gsub(&amp;quot;'''''&amp;quot;, &amp;quot;&amp;quot;) --strip out bold italic markup&lt;br /&gt;
		:gsub(&amp;quot;'''?&amp;quot;, &amp;quot;&amp;quot;) --not stripping out '''' gives correct output for bolded text in quotes&lt;br /&gt;
		:gsub('%-%-%-%-+', '') --remove ---- lines&lt;br /&gt;
		:gsub(&amp;quot;^%s+&amp;quot;, &amp;quot;&amp;quot;) --strip leading&lt;br /&gt;
		:gsub(&amp;quot;%s+$&amp;quot;, &amp;quot;&amp;quot;) --and trailing spaces&lt;br /&gt;
		:gsub(&amp;quot;%s+&amp;quot;, &amp;quot; &amp;quot;) --strip redundant spaces&lt;br /&gt;
	if encode then&lt;br /&gt;
		return mw.text.encode(text)&lt;br /&gt;
	else&lt;br /&gt;
		return text&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Marie</name></author>
	</entry>
	<entry>
		<id>https://maruneko.autumns.page/mediawiki/index.php?title=Module:Template_link_general&amp;diff=8506</id>
		<title>Module:Template link general</title>
		<link rel="alternate" type="text/html" href="https://maruneko.autumns.page/mediawiki/index.php?title=Module:Template_link_general&amp;diff=8506"/>
		<updated>2026-03-05T07:14:33Z</updated>

		<summary type="html">&lt;p&gt;Marie: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;-- This implements Template:Template link general and various other templates in its family&lt;br /&gt;
local getArgs = require('Module:Arguments').getArgs&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
-- Is a string non-empty?&lt;br /&gt;
local function _ne(s) &lt;br /&gt;
	return s ~= nil and s ~= &amp;quot;&amp;quot;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local nw = mw.text.nowiki&lt;br /&gt;
&lt;br /&gt;
local function addTemplate(s)&lt;br /&gt;
	local i, _ = s:find(':', 1, true)&lt;br /&gt;
	if i == nil then&lt;br /&gt;
		return 'Template:' .. s&lt;br /&gt;
	end&lt;br /&gt;
	local ns = s:sub(1, i - 1)&lt;br /&gt;
	if ns == '' or mw.site.namespaces[ns] then&lt;br /&gt;
		return s&lt;br /&gt;
	else&lt;br /&gt;
		return 'Template:' .. s&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function trimTemplate(s)&lt;br /&gt;
	local needle = 'template:'&lt;br /&gt;
	if s:sub(1, needle:len()):lower() == needle then&lt;br /&gt;
		return s:sub(needle:len() + 1)	&lt;br /&gt;
	else&lt;br /&gt;
		return s&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Builds the link part&lt;br /&gt;
local function linkTitle(args)&lt;br /&gt;
	local titleObj&lt;br /&gt;
	if args['1'] then&lt;br /&gt;
		-- This handles :Page and other NS&lt;br /&gt;
		titleObj = mw.title.new(args['1'], 'Template')&lt;br /&gt;
	else&lt;br /&gt;
		titleObj = mw.title.getCurrentTitle()&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local textPart = args.alttext&lt;br /&gt;
	if not _ne(textPart) then&lt;br /&gt;
		if titleObj ~= nil then&lt;br /&gt;
			textPart = titleObj:inNamespace(&amp;quot;Template&amp;quot;) and args['1'] or titleObj.fullText&lt;br /&gt;
		else&lt;br /&gt;
			-- redlink&lt;br /&gt;
			textPart = args['1']&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if _ne(args.subst) then&lt;br /&gt;
		-- HACK: the ns thing above is probably broken&lt;br /&gt;
		textPart = 'subst:' .. textPart&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if _ne(args.brace) then&lt;br /&gt;
		textPart = nw('{{') .. textPart .. nw('}}')&lt;br /&gt;
	elseif _ne(args.braceinside) then&lt;br /&gt;
		textPart = nw('{') .. textPart .. nw('}')&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local titlePart&lt;br /&gt;
	if _ne(args.nolink) then&lt;br /&gt;
		titlePart = textPart&lt;br /&gt;
	else&lt;br /&gt;
		titlePart = '[[' .. (titleObj ~= nil and titleObj.fullText or addTemplate(args['1'])) ..&lt;br /&gt;
			'|' .. textPart .. ']]'&lt;br /&gt;
	end&lt;br /&gt;
	if _ne(args.braceinside) then&lt;br /&gt;
		titlePart = nw('{') .. titlePart .. nw('}')&lt;br /&gt;
	end&lt;br /&gt;
	local bold = _ne(args.bold) or _ne(args.boldlink) or _ne(args.boldname)&lt;br /&gt;
	if bold then&lt;br /&gt;
		titlePart = &amp;quot;'''&amp;quot; .. titlePart .. &amp;quot;'''&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	if _ne(args.nowrapname) then&lt;br /&gt;
		titlePart = '&amp;lt;span class=&amp;quot;nowrap&amp;quot;&amp;gt;' .. titlePart .. '&amp;lt;/span&amp;gt;'&lt;br /&gt;
	end&lt;br /&gt;
	return titlePart&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.main(frame)&lt;br /&gt;
	local args = getArgs(frame, {&lt;br /&gt;
		trim = true,&lt;br /&gt;
		removeBlanks = false&lt;br /&gt;
	})&lt;br /&gt;
	return p._main(args)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._main(args)&lt;br /&gt;
	local italic = _ne(args.italic) or _ne(args.italics)&lt;br /&gt;
	local dontBrace = _ne(args.brace) or _ne(args.braceinside)&lt;br /&gt;
	local code = _ne(args.code) or _ne(args.tt)&lt;br /&gt;
	local show_result = _ne(args._show_result)&lt;br /&gt;
	local expand = _ne(args._expand)&lt;br /&gt;
	&lt;br /&gt;
	local titlePart = linkTitle(args)&lt;br /&gt;
	&lt;br /&gt;
	-- Build the arguments&lt;br /&gt;
	local textPart = &amp;quot;&amp;quot;&lt;br /&gt;
	local textPartBuffer = &amp;quot;&amp;amp;#124;&amp;quot;&lt;br /&gt;
	local codeArguments = {}&lt;br /&gt;
	local codeArgumentsString = &amp;quot;&amp;quot;&lt;br /&gt;
	local i = 2&lt;br /&gt;
	local j = 1&lt;br /&gt;
	while args[i] do&lt;br /&gt;
		local val = args[i]&lt;br /&gt;
		if val ~= &amp;quot;&amp;quot; then&lt;br /&gt;
			if _ne(args.nowiki) then&lt;br /&gt;
				-- Unstrip nowiki tags first because calling nw on something that already contains nowiki tags will&lt;br /&gt;
				-- mangle the nowiki strip marker and result in literal UNIQ...QINU showing up&lt;br /&gt;
				val = nw(mw.text.unstripNoWiki(val))&lt;br /&gt;
			end&lt;br /&gt;
			local k, v = string.match(val, &amp;quot;(.*)=(.*)&amp;quot;)&lt;br /&gt;
			if not k then&lt;br /&gt;
				codeArguments[j] = val&lt;br /&gt;
				j = j + 1&lt;br /&gt;
			else&lt;br /&gt;
				codeArguments[k] = v&lt;br /&gt;
			end&lt;br /&gt;
			codeArgumentsString = codeArgumentsString .. textPartBuffer .. val&lt;br /&gt;
			if italic then&lt;br /&gt;
				val = '&amp;lt;span style=&amp;quot;font-style:italic;&amp;quot;&amp;gt;' .. val .. '&amp;lt;/span&amp;gt;'&lt;br /&gt;
			end&lt;br /&gt;
			textPart = textPart .. textPartBuffer .. val&lt;br /&gt;
		end&lt;br /&gt;
		i = i + 1&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- final wrap&lt;br /&gt;
	local ret = titlePart .. textPart&lt;br /&gt;
	if not dontBrace then ret = nw('{{') .. ret .. nw('}}') end&lt;br /&gt;
	if _ne(args.a) then ret = nw('*') .. '&amp;amp;nbsp;' .. ret end&lt;br /&gt;
	if _ne(args.kbd) then ret = '&amp;lt;kbd&amp;gt;' .. ret .. '&amp;lt;/kbd&amp;gt;' end&lt;br /&gt;
	if code then&lt;br /&gt;
		ret = '&amp;lt;code&amp;gt;' .. ret .. '&amp;lt;/code&amp;gt;'&lt;br /&gt;
	elseif _ne(args.plaincode) then&lt;br /&gt;
		ret = '&amp;lt;code style=&amp;quot;border:none;background:transparent;color:inherit&amp;quot;&amp;gt;' .. ret .. '&amp;lt;/code&amp;gt;'&lt;br /&gt;
	end&lt;br /&gt;
	if _ne(args.nowrap) then ret = '&amp;lt;span class=&amp;quot;nowrap&amp;quot;&amp;gt;' .. ret .. '&amp;lt;/span&amp;gt;' end&lt;br /&gt;
	&lt;br /&gt;
	--[[ Wrap as html?? &lt;br /&gt;
	local span = mw.html.create('span')&lt;br /&gt;
	span:wikitext(ret)&lt;br /&gt;
	--]]&lt;br /&gt;
	if _ne(args.debug) then ret = ret .. '\n&amp;lt;pre&amp;gt;' .. mw.text.encode(mw.dumpObject(args)) .. '&amp;lt;/pre&amp;gt;' end&lt;br /&gt;
&lt;br /&gt;
	if show_result then&lt;br /&gt;
		if _ne(args.nocat) then codeArguments['nocat'] = true end&lt;br /&gt;
		local result = mw.getCurrentFrame():expandTemplate{title = addTemplate(args[1]), args = codeArguments}&lt;br /&gt;
		ret = ret .. &amp;quot; → &amp;quot; .. result&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if expand then&lt;br /&gt;
		local query = mw.text.encode('{{' .. addTemplate(args[1]) .. string.gsub(codeArgumentsString, textPartBuffer, &amp;quot;|&amp;quot;) .. '}}')&lt;br /&gt;
		local url = mw.uri.fullUrl('special:ExpandTemplates', 'wpInput=' .. query)&lt;br /&gt;
		mw.log()&lt;br /&gt;
		ret = ret .. &amp;quot; [&amp;quot; .. tostring(url) .. &amp;quot;]&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return ret&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Marie</name></author>
	</entry>
	<entry>
		<id>https://maruneko.autumns.page/mediawiki/index.php?title=Module:List&amp;diff=8504</id>
		<title>Module:List</title>
		<link rel="alternate" type="text/html" href="https://maruneko.autumns.page/mediawiki/index.php?title=Module:List&amp;diff=8504"/>
		<updated>2026-03-05T07:14:33Z</updated>

		<summary type="html">&lt;p&gt;Marie: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;local libUtil = require('libraryUtil')&lt;br /&gt;
local checkType = libUtil.checkType&lt;br /&gt;
local mTableTools = require('Module:TableTools')&lt;br /&gt;
&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
local listTypes = {&lt;br /&gt;
	['bulleted'] = true,&lt;br /&gt;
	['unbulleted'] = true,&lt;br /&gt;
	['horizontal'] = true,&lt;br /&gt;
	['ordered'] = true,&lt;br /&gt;
	['horizontal_ordered'] = true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function p.makeListData(listType, args)&lt;br /&gt;
	-- Constructs a data table to be passed to p.renderList.&lt;br /&gt;
	local data = {}&lt;br /&gt;
&lt;br /&gt;
	-- Classes and TemplateStyles&lt;br /&gt;
	data.classes = {}&lt;br /&gt;
	data.templatestyles = ''&lt;br /&gt;
	if listType == 'horizontal' or listType == 'horizontal_ordered' then&lt;br /&gt;
		table.insert(data.classes, 'hlist')&lt;br /&gt;
		data.templatestyles = mw.getCurrentFrame():extensionTag{&lt;br /&gt;
			name = 'templatestyles', args = { src = 'Hlist/styles.css' }&lt;br /&gt;
		}&lt;br /&gt;
	elseif listType == 'unbulleted' then&lt;br /&gt;
		table.insert(data.classes, 'plainlist')&lt;br /&gt;
		data.templatestyles = mw.getCurrentFrame():extensionTag{&lt;br /&gt;
			name = 'templatestyles', args = { src = 'Plainlist/styles.css' }&lt;br /&gt;
		}&lt;br /&gt;
	end&lt;br /&gt;
	table.insert(data.classes, args.class)&lt;br /&gt;
&lt;br /&gt;
	-- Main div style&lt;br /&gt;
	data.style = args.style&lt;br /&gt;
&lt;br /&gt;
	-- Indent for horizontal lists&lt;br /&gt;
	if listType == 'horizontal' or listType == 'horizontal_ordered' then&lt;br /&gt;
		local indent = tonumber(args.indent)&lt;br /&gt;
		indent = indent and indent * 1.6 or 0&lt;br /&gt;
		if indent &amp;gt; 0 then&lt;br /&gt;
			data.marginLeft = indent .. 'em'&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- List style types for ordered lists&lt;br /&gt;
	-- This could be &amp;quot;1, 2, 3&amp;quot;, &amp;quot;a, b, c&amp;quot;, or a number of others. The list style&lt;br /&gt;
	-- type is either set by the &amp;quot;type&amp;quot; attribute or the &amp;quot;list-style-type&amp;quot; CSS&lt;br /&gt;
	-- property.&lt;br /&gt;
	if listType == 'ordered' or listType == 'horizontal_ordered' then &lt;br /&gt;
		data.listStyleType = args.list_style_type or args['list-style-type']&lt;br /&gt;
		data.type = args['type']&lt;br /&gt;
&lt;br /&gt;
		-- Detect invalid type attributes and attempt to convert them to&lt;br /&gt;
		-- list-style-type CSS properties.&lt;br /&gt;
		if data.type &lt;br /&gt;
			and not data.listStyleType&lt;br /&gt;
			and not tostring(data.type):find('^%s*[1AaIi]%s*$')&lt;br /&gt;
		then&lt;br /&gt;
			data.listStyleType = data.type&lt;br /&gt;
			data.type = nil&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- List tag type&lt;br /&gt;
	if listType == 'ordered' or listType == 'horizontal_ordered' then&lt;br /&gt;
		data.listTag = 'ol'&lt;br /&gt;
	else&lt;br /&gt;
		data.listTag = 'ul'&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Start number for ordered lists&lt;br /&gt;
	data.start = args.start&lt;br /&gt;
	if listType == 'horizontal_ordered' then&lt;br /&gt;
		-- Apply fix to get start numbers working with horizontal ordered lists.&lt;br /&gt;
		local startNum = tonumber(data.start)&lt;br /&gt;
		if startNum then&lt;br /&gt;
			data.counterReset = 'listitem ' .. tostring(startNum - 1)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- List style&lt;br /&gt;
	 -- ul_style and ol_style are included for backwards compatibility. No&lt;br /&gt;
	 -- distinction is made for ordered or unordered lists.&lt;br /&gt;
	data.listStyle = args.list_style&lt;br /&gt;
&lt;br /&gt;
	-- List items&lt;br /&gt;
	-- li_style is included for backwards compatibility. item_style was included&lt;br /&gt;
	-- to be easier to understand for non-coders.&lt;br /&gt;
	data.itemStyle = args.item_style or args.li_style&lt;br /&gt;
	data.items = {}&lt;br /&gt;
	for _, num in ipairs(mTableTools.numKeys(args)) do&lt;br /&gt;
		local item = {}&lt;br /&gt;
		item.content = args[num]&lt;br /&gt;
		item.style = args['item' .. tostring(num) .. '_style']&lt;br /&gt;
			or args['item_style' .. tostring(num)]&lt;br /&gt;
		item.value = args['item' .. tostring(num) .. '_value']&lt;br /&gt;
			or args['item_value' .. tostring(num)]&lt;br /&gt;
		table.insert(data.items, item)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return data&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.renderList(data)&lt;br /&gt;
	-- Renders the list HTML.&lt;br /&gt;
	&lt;br /&gt;
	-- Return the blank string if there are no list items.&lt;br /&gt;
	if type(data.items) ~= 'table' or #data.items &amp;lt; 1 then&lt;br /&gt;
		return ''&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- Render the main div tag.&lt;br /&gt;
	local root = mw.html.create('div')&lt;br /&gt;
	for _, class in ipairs(data.classes or {}) do&lt;br /&gt;
		root:addClass(class)&lt;br /&gt;
	end&lt;br /&gt;
	root:css{['margin-left'] = data.marginLeft}&lt;br /&gt;
	if data.style then&lt;br /&gt;
		root:cssText(data.style)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Render the list tag.&lt;br /&gt;
	local list = root:tag(data.listTag or 'ul')&lt;br /&gt;
	list&lt;br /&gt;
		:attr{start = data.start, type = data.type}&lt;br /&gt;
		:css{&lt;br /&gt;
			['counter-reset'] = data.counterReset,&lt;br /&gt;
			['list-style-type'] = data.listStyleType&lt;br /&gt;
		}&lt;br /&gt;
	if data.listStyle then&lt;br /&gt;
		list:cssText(data.listStyle)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Render the list items&lt;br /&gt;
	for _, t in ipairs(data.items or {}) do&lt;br /&gt;
		local item = list:tag('li')&lt;br /&gt;
		if data.itemStyle then&lt;br /&gt;
			item:cssText(data.itemStyle)&lt;br /&gt;
		end&lt;br /&gt;
		if t.style then&lt;br /&gt;
			item:cssText(t.style)&lt;br /&gt;
		end&lt;br /&gt;
		item&lt;br /&gt;
			:attr{value = t.value}&lt;br /&gt;
			:wikitext(t.content)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return data.templatestyles .. tostring(root)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.renderTrackingCategories(args)&lt;br /&gt;
	local isDeprecated = false -- Tracks deprecated parameters.&lt;br /&gt;
	for k, v in pairs(args) do&lt;br /&gt;
		k = tostring(k)&lt;br /&gt;
		if k:find('^item_style%d+$') or k:find('^item_value%d+$') then&lt;br /&gt;
			isDeprecated = true&lt;br /&gt;
			break&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	local ret = ''&lt;br /&gt;
	if isDeprecated then&lt;br /&gt;
		ret = ret .. '[[Category:Pages using module:list with deprecated parameters]]'&lt;br /&gt;
	end&lt;br /&gt;
	return ret&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.makeList(listType, args)&lt;br /&gt;
	if not listType or not listTypes[listType] then&lt;br /&gt;
		error(string.format(&lt;br /&gt;
			&amp;quot;bad argument #1 to 'makeList' ('%s' is not a valid list type)&amp;quot;,&lt;br /&gt;
			tostring(listType)&lt;br /&gt;
		), 2)&lt;br /&gt;
	end&lt;br /&gt;
	checkType('makeList', 2, args, 'table')&lt;br /&gt;
	local data = p.makeListData(listType, args)&lt;br /&gt;
	local list = p.renderList(data)&lt;br /&gt;
	local trackingCategories = p.renderTrackingCategories(args)&lt;br /&gt;
	return list .. trackingCategories&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
for listType in pairs(listTypes) do&lt;br /&gt;
	p[listType] = function (frame)&lt;br /&gt;
		local mArguments = require('Module:Arguments')&lt;br /&gt;
		local origArgs = mArguments.getArgs(frame, {&lt;br /&gt;
			frameOnly = ((frame and frame.args and frame.args.frameonly or '') ~= ''),&lt;br /&gt;
			valueFunc = function (key, value)&lt;br /&gt;
			if not value or not mw.ustring.find(value, '%S') then return nil end&lt;br /&gt;
			if mw.ustring.find(value, '^%s*[%*#;:]') then&lt;br /&gt;
				return value&lt;br /&gt;
			else&lt;br /&gt;
				return value:match('^%s*(.-)%s*$')&lt;br /&gt;
			end&lt;br /&gt;
			return nil&lt;br /&gt;
		end&lt;br /&gt;
		})&lt;br /&gt;
		-- Copy all the arguments to a new table, for faster indexing.&lt;br /&gt;
		local args = {}&lt;br /&gt;
		for k, v in pairs(origArgs) do&lt;br /&gt;
			args[k] = v&lt;br /&gt;
		end&lt;br /&gt;
		return p.makeList(listType, args)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Marie</name></author>
	</entry>
	<entry>
		<id>https://maruneko.autumns.page/mediawiki/index.php?title=Module:Infobox&amp;diff=8502</id>
		<title>Module:Infobox</title>
		<link rel="alternate" type="text/html" href="https://maruneko.autumns.page/mediawiki/index.php?title=Module:Infobox&amp;diff=8502"/>
		<updated>2026-03-05T07:14:33Z</updated>

		<summary type="html">&lt;p&gt;Marie: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;local p = {}&lt;br /&gt;
local args = {}&lt;br /&gt;
local origArgs = {}&lt;br /&gt;
local root&lt;br /&gt;
local empty_row_categories = {}&lt;br /&gt;
local category_in_empty_row_pattern = '%[%[%s*[Cc][Aa][Tt][Ee][Gg][Oo][Rr][Yy]%s*:[^]]*]]'&lt;br /&gt;
local has_rows = false&lt;br /&gt;
local yesno = require(&amp;quot;Module:Yesno&amp;quot;)&lt;br /&gt;
local lists = {&lt;br /&gt;
	plainlist_t = {&lt;br /&gt;
		patterns = {&lt;br /&gt;
			'^plainlist$',&lt;br /&gt;
			'%splainlist$',&lt;br /&gt;
			'^plainlist%s',&lt;br /&gt;
			'%splainlist%s'&lt;br /&gt;
		},&lt;br /&gt;
		found = false,&lt;br /&gt;
		styles = 'Plainlist/styles.css'&lt;br /&gt;
	},&lt;br /&gt;
	hlist_t = {&lt;br /&gt;
		patterns = {&lt;br /&gt;
			'^hlist$',&lt;br /&gt;
			'%shlist$',&lt;br /&gt;
			'^hlist%s',&lt;br /&gt;
			'%shlist%s'&lt;br /&gt;
		},&lt;br /&gt;
		found = false,&lt;br /&gt;
		styles = 'Hlist/styles.css'&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
local function has_list_class(args_to_check)&lt;br /&gt;
	for _, list in pairs(lists) do&lt;br /&gt;
		if not list.found then&lt;br /&gt;
			for _, arg in pairs(args_to_check) do&lt;br /&gt;
				for _, pattern in ipairs(list.patterns) do&lt;br /&gt;
					if mw.ustring.find(arg or '', pattern) then&lt;br /&gt;
						list.found = true&lt;br /&gt;
						break&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
				if list.found then break end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function fixChildBoxes(sval, tt)&lt;br /&gt;
	local function notempty( s ) return s and s:match( '%S' ) end&lt;br /&gt;
	&lt;br /&gt;
	if notempty(sval) then&lt;br /&gt;
		local marker = '&amp;lt;span class=special_infobox_marker&amp;gt;'&lt;br /&gt;
		local s = sval&lt;br /&gt;
		-- start moving templatestyles and categories inside of table rows&lt;br /&gt;
		local slast = ''&lt;br /&gt;
		while slast ~= s do&lt;br /&gt;
			slast = s&lt;br /&gt;
			s = mw.ustring.gsub(s, '(&amp;lt;/[Tt][Rr]%s*&amp;gt;%s*)(%[%[%s*[Cc][Aa][Tt][Ee][Gg][Oo][Rr][Yy]%s*:[^]]*%]%])', '%2%1')&lt;br /&gt;
			s = mw.ustring.gsub(s, '(&amp;lt;/[Tt][Rr]%s*&amp;gt;%s*)(\127[^\127]*UNIQ%-%-templatestyles%-%x+%-QINU[^\127]*\127)', '%2%1')&lt;br /&gt;
		end&lt;br /&gt;
		-- end moving templatestyles and categories inside of table rows&lt;br /&gt;
		s = mw.ustring.gsub(s, '(&amp;lt;%s*[Tt][Rr])', marker .. '%1')&lt;br /&gt;
		s = mw.ustring.gsub(s, '(&amp;lt;/[Tt][Rr]%s*&amp;gt;)', '%1' .. marker)&lt;br /&gt;
		if s:match(marker) then&lt;br /&gt;
			s = mw.ustring.gsub(s, marker .. '%s*' .. marker, '')&lt;br /&gt;
			s = mw.ustring.gsub(s, '([\r\n]|-[^\r\n]*[\r\n])%s*' .. marker, '%1')&lt;br /&gt;
			s = mw.ustring.gsub(s, marker .. '%s*([\r\n]|-)', '%1')&lt;br /&gt;
			s = mw.ustring.gsub(s, '(&amp;lt;/[Cc][Aa][Pp][Tt][Ii][Oo][Nn]%s*&amp;gt;%s*)' .. marker, '%1')&lt;br /&gt;
			s = mw.ustring.gsub(s, '(&amp;lt;%s*[Tt][Aa][Bb][Ll][Ee][^&amp;lt;&amp;gt;]*&amp;gt;%s*)' .. marker, '%1')&lt;br /&gt;
			s = mw.ustring.gsub(s, '^(%{|[^\r\n]*[\r\n]%s*)' .. marker, '%1')&lt;br /&gt;
			s = mw.ustring.gsub(s, '([\r\n]%{|[^\r\n]*[\r\n]%s*)' .. marker, '%1')&lt;br /&gt;
			s = mw.ustring.gsub(s, marker .. '(%s*&amp;lt;/[Tt][Aa][Bb][Ll][Ee]%s*&amp;gt;)', '%1')&lt;br /&gt;
			s = mw.ustring.gsub(s, marker .. '(%s*\n|%})', '%1')&lt;br /&gt;
		end&lt;br /&gt;
		if s:match(marker) then&lt;br /&gt;
			local subcells = mw.text.split(s, marker)&lt;br /&gt;
			s = ''&lt;br /&gt;
			for k = 1, #subcells do&lt;br /&gt;
				if k == 1 then&lt;br /&gt;
					s = s .. subcells[k] .. '&amp;lt;/' .. tt .. '&amp;gt;&amp;lt;/tr&amp;gt;'&lt;br /&gt;
				elseif k == #subcells then&lt;br /&gt;
					local rowstyle = ' style=&amp;quot;display:none&amp;quot;'&lt;br /&gt;
					if notempty(subcells[k]) then rowstyle = ''	end&lt;br /&gt;
					s = s .. '&amp;lt;tr' .. rowstyle ..'&amp;gt;&amp;lt;' .. tt .. ' colspan=2&amp;gt;\n' ..&lt;br /&gt;
						subcells[k]&lt;br /&gt;
				elseif notempty(subcells[k]) then&lt;br /&gt;
					if (k % 2) == 0 then&lt;br /&gt;
						s = s .. subcells[k]&lt;br /&gt;
					else&lt;br /&gt;
						s = s .. '&amp;lt;tr&amp;gt;&amp;lt;' .. tt .. ' colspan=2&amp;gt;\n' ..&lt;br /&gt;
							subcells[k] .. '&amp;lt;/' .. tt .. '&amp;gt;&amp;lt;/tr&amp;gt;'&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		-- the next two lines add a newline at the end of lists for the PHP parser&lt;br /&gt;
		-- [[Special:Diff/849054481]]&lt;br /&gt;
		-- remove when [[:phab:T191516]] is fixed or OBE&lt;br /&gt;
		s = mw.ustring.gsub(s, '([\r\n][%*#;:][^\r\n]*)$', '%1\n')&lt;br /&gt;
		s = mw.ustring.gsub(s, '^([%*#;:][^\r\n]*)$', '%1\n')&lt;br /&gt;
		s = mw.ustring.gsub(s, '^([%*#;:])', '\n%1')&lt;br /&gt;
		s = mw.ustring.gsub(s, '^(%{%|)', '\n%1')&lt;br /&gt;
		return s&lt;br /&gt;
	else&lt;br /&gt;
		return sval&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Cleans empty tables&lt;br /&gt;
local function cleanInfobox()&lt;br /&gt;
	root = tostring(root)&lt;br /&gt;
	if has_rows == false then&lt;br /&gt;
		root = mw.ustring.gsub(root, '&amp;lt;table[^&amp;lt;&amp;gt;]*&amp;gt;%s*&amp;lt;/table&amp;gt;', '')&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Returns the union of the values of two tables, as a sequence.&lt;br /&gt;
local function union(t1, t2)&lt;br /&gt;
&lt;br /&gt;
	local vals = {}&lt;br /&gt;
	for k, v in pairs(t1) do&lt;br /&gt;
		vals[v] = true&lt;br /&gt;
	end&lt;br /&gt;
	for k, v in pairs(t2) do&lt;br /&gt;
		vals[v] = true&lt;br /&gt;
	end&lt;br /&gt;
	local ret = {}&lt;br /&gt;
	for k, v in pairs(vals) do&lt;br /&gt;
		table.insert(ret, k)&lt;br /&gt;
	end&lt;br /&gt;
	return ret&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Returns a table containing the numbers of the arguments that exist&lt;br /&gt;
-- for the specified prefix. For example, if the prefix was 'data', and&lt;br /&gt;
-- 'data1', 'data2', and 'data5' exist, it would return {1, 2, 5}.&lt;br /&gt;
local function getArgNums(prefix)&lt;br /&gt;
	local nums = {}&lt;br /&gt;
	for k, v in pairs(args) do&lt;br /&gt;
		local num = tostring(k):match('^' .. prefix .. '([1-9]%d*)$')&lt;br /&gt;
		if num then table.insert(nums, tonumber(num)) end&lt;br /&gt;
	end&lt;br /&gt;
	table.sort(nums)&lt;br /&gt;
	return nums&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Adds a row to the infobox, with either a header cell&lt;br /&gt;
-- or a label/data cell combination.&lt;br /&gt;
local function addRow(rowArgs)&lt;br /&gt;
	&lt;br /&gt;
	if rowArgs.header and rowArgs.header ~= '_BLANK_' then&lt;br /&gt;
		has_rows = true&lt;br /&gt;
		has_list_class({ rowArgs.rowclass, rowArgs.class, args.headerclass })&lt;br /&gt;
		&lt;br /&gt;
		root&lt;br /&gt;
			:tag('tr')&lt;br /&gt;
				:addClass(rowArgs.rowclass)&lt;br /&gt;
				:cssText(rowArgs.rowstyle)&lt;br /&gt;
				:tag('th')&lt;br /&gt;
					:attr('colspan', '2')&lt;br /&gt;
					:addClass('infobox-header')&lt;br /&gt;
					:addClass(rowArgs.class)&lt;br /&gt;
					:addClass(args.headerclass)&lt;br /&gt;
					-- @deprecated next; target .infobox-&amp;lt;name&amp;gt; .infobox-header&lt;br /&gt;
					:cssText(args.headerstyle)&lt;br /&gt;
					:cssText(rowArgs.rowcellstyle)&lt;br /&gt;
					:wikitext(fixChildBoxes(rowArgs.header, 'th'))&lt;br /&gt;
		if rowArgs.data and not yesno(args.decat) then&lt;br /&gt;
			root:wikitext(&lt;br /&gt;
				'[[Category:Pages using infobox templates with ignored data cells]]'&lt;br /&gt;
			)&lt;br /&gt;
		end&lt;br /&gt;
	elseif rowArgs.data and rowArgs.data:gsub(category_in_empty_row_pattern, ''):match('^%S') then&lt;br /&gt;
		has_rows = true&lt;br /&gt;
		has_list_class({ rowArgs.rowclass, rowArgs.class })&lt;br /&gt;
		&lt;br /&gt;
		local row = root:tag('tr')&lt;br /&gt;
		row:addClass(rowArgs.rowclass)&lt;br /&gt;
		row:cssText(rowArgs.rowstyle)&lt;br /&gt;
		if rowArgs.label then&lt;br /&gt;
			row&lt;br /&gt;
				:tag('th')&lt;br /&gt;
					:attr('scope', 'row')&lt;br /&gt;
					:addClass('infobox-label')&lt;br /&gt;
					-- @deprecated next; target .infobox-&amp;lt;name&amp;gt; .infobox-label&lt;br /&gt;
					:cssText(args.labelstyle)&lt;br /&gt;
					:cssText(rowArgs.rowcellstyle)&lt;br /&gt;
					:wikitext(rowArgs.label)&lt;br /&gt;
					:done()&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		local dataCell = row:tag('td')&lt;br /&gt;
		dataCell&lt;br /&gt;
			:attr('colspan', not rowArgs.label and '2' or nil)&lt;br /&gt;
			:addClass(not rowArgs.label and 'infobox-full-data' or 'infobox-data')&lt;br /&gt;
			:addClass(rowArgs.class)&lt;br /&gt;
			-- @deprecated next; target .infobox-&amp;lt;name&amp;gt; .infobox(-full)-data&lt;br /&gt;
			:cssText(rowArgs.datastyle)&lt;br /&gt;
			:cssText(rowArgs.rowcellstyle)&lt;br /&gt;
			:wikitext(fixChildBoxes(rowArgs.data, 'td'))&lt;br /&gt;
	else&lt;br /&gt;
		table.insert(empty_row_categories, rowArgs.data or '')&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function renderTitle()&lt;br /&gt;
	if not args.title then return end&lt;br /&gt;
&lt;br /&gt;
	has_rows = true&lt;br /&gt;
	has_list_class({args.titleclass})&lt;br /&gt;
	&lt;br /&gt;
	root&lt;br /&gt;
		:tag('caption')&lt;br /&gt;
			:addClass('infobox-title')&lt;br /&gt;
			:addClass(args.titleclass)&lt;br /&gt;
			-- @deprecated next; target .infobox-&amp;lt;name&amp;gt; .infobox-title&lt;br /&gt;
			:cssText(args.titlestyle)&lt;br /&gt;
			:wikitext(args.title)&lt;br /&gt;
	&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function renderAboveRow()&lt;br /&gt;
	if not args.above then return end&lt;br /&gt;
&lt;br /&gt;
	has_rows = true&lt;br /&gt;
	has_list_class({ args.aboveclass })&lt;br /&gt;
	&lt;br /&gt;
	root&lt;br /&gt;
		:tag('tr')&lt;br /&gt;
			:tag('th')&lt;br /&gt;
				:attr('colspan', '2')&lt;br /&gt;
				:addClass('infobox-above')&lt;br /&gt;
				:addClass(args.aboveclass)&lt;br /&gt;
				-- @deprecated next; target .infobox-&amp;lt;name&amp;gt; .infobox-above&lt;br /&gt;
				:cssText(args.abovestyle)&lt;br /&gt;
				:wikitext(fixChildBoxes(args.above,'th'))&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function renderBelowRow()&lt;br /&gt;
	if not args.below then return end&lt;br /&gt;
&lt;br /&gt;
	has_rows = true&lt;br /&gt;
	has_list_class({ args.belowclass })&lt;br /&gt;
	&lt;br /&gt;
	root&lt;br /&gt;
		:tag('tr')&lt;br /&gt;
			:tag('td')&lt;br /&gt;
				:attr('colspan', '2')&lt;br /&gt;
				:addClass('infobox-below')&lt;br /&gt;
				:addClass(args.belowclass)&lt;br /&gt;
				-- @deprecated next; target .infobox-&amp;lt;name&amp;gt; .infobox-below&lt;br /&gt;
				:cssText(args.belowstyle)&lt;br /&gt;
				:wikitext(fixChildBoxes(args.below,'td'))&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function addSubheaderRow(subheaderArgs)&lt;br /&gt;
	if subheaderArgs.data and&lt;br /&gt;
		subheaderArgs.data:gsub(category_in_empty_row_pattern, ''):match('^%S') then&lt;br /&gt;
		has_rows = true&lt;br /&gt;
		has_list_class({ subheaderArgs.rowclass, subheaderArgs.class })&lt;br /&gt;
		&lt;br /&gt;
		local row = root:tag('tr')&lt;br /&gt;
		row:addClass(subheaderArgs.rowclass)&lt;br /&gt;
&lt;br /&gt;
		local dataCell = row:tag('td')&lt;br /&gt;
		dataCell&lt;br /&gt;
			:attr('colspan', '2')&lt;br /&gt;
			:addClass('infobox-subheader')&lt;br /&gt;
			:addClass(subheaderArgs.class)&lt;br /&gt;
			:cssText(subheaderArgs.datastyle)&lt;br /&gt;
			:cssText(subheaderArgs.rowcellstyle)&lt;br /&gt;
			:wikitext(fixChildBoxes(subheaderArgs.data, 'td'))&lt;br /&gt;
	else&lt;br /&gt;
		table.insert(empty_row_categories, subheaderArgs.data or '')&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function renderSubheaders()&lt;br /&gt;
	if args.subheader then&lt;br /&gt;
		args.subheader1 = args.subheader&lt;br /&gt;
	end&lt;br /&gt;
	if args.subheaderrowclass then&lt;br /&gt;
		args.subheaderrowclass1 = args.subheaderrowclass&lt;br /&gt;
	end&lt;br /&gt;
	local subheadernums = getArgNums('subheader')&lt;br /&gt;
	for k, num in ipairs(subheadernums) do&lt;br /&gt;
		addSubheaderRow({&lt;br /&gt;
			data = args['subheader' .. tostring(num)],&lt;br /&gt;
			-- @deprecated next; target .infobox-&amp;lt;name&amp;gt; .infobox-subheader&lt;br /&gt;
			datastyle = args.subheaderstyle,&lt;br /&gt;
			rowcellstyle = args['subheaderstyle' .. tostring(num)],&lt;br /&gt;
			class = args.subheaderclass,&lt;br /&gt;
			rowclass = args['subheaderrowclass' .. tostring(num)]&lt;br /&gt;
		})&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function addImageRow(imageArgs)&lt;br /&gt;
&lt;br /&gt;
	if imageArgs.data and&lt;br /&gt;
		imageArgs.data:gsub(category_in_empty_row_pattern, ''):match('^%S') then&lt;br /&gt;
&lt;br /&gt;
		has_rows = true&lt;br /&gt;
		has_list_class({ imageArgs.rowclass, imageArgs.class })&lt;br /&gt;
		&lt;br /&gt;
		local row = root:tag('tr')&lt;br /&gt;
		row:addClass(imageArgs.rowclass)&lt;br /&gt;
&lt;br /&gt;
		local dataCell = row:tag('td')&lt;br /&gt;
		dataCell&lt;br /&gt;
			:attr('colspan', '2')&lt;br /&gt;
			:addClass('infobox-image')&lt;br /&gt;
			:addClass(imageArgs.class)&lt;br /&gt;
			:cssText(imageArgs.datastyle)&lt;br /&gt;
			:wikitext(fixChildBoxes(imageArgs.data, 'td'))&lt;br /&gt;
	else&lt;br /&gt;
		table.insert(empty_row_categories, imageArgs.data or '')&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function renderImages()&lt;br /&gt;
	if args.image then&lt;br /&gt;
		args.image1 = args.image&lt;br /&gt;
	end&lt;br /&gt;
	if args.caption then&lt;br /&gt;
		args.caption1 = args.caption&lt;br /&gt;
	end&lt;br /&gt;
	local imagenums = getArgNums('image')&lt;br /&gt;
	for k, num in ipairs(imagenums) do&lt;br /&gt;
		local caption = args['caption' .. tostring(num)]&lt;br /&gt;
		local data = mw.html.create():wikitext(args['image' .. tostring(num)])&lt;br /&gt;
		if caption then&lt;br /&gt;
			data&lt;br /&gt;
				:tag('div')&lt;br /&gt;
					:addClass('infobox-caption')&lt;br /&gt;
					-- @deprecated next; target .infobox-&amp;lt;name&amp;gt; .infobox-caption&lt;br /&gt;
					:cssText(args.captionstyle)&lt;br /&gt;
					:wikitext(caption)&lt;br /&gt;
		end&lt;br /&gt;
		addImageRow({&lt;br /&gt;
			data = tostring(data),&lt;br /&gt;
			-- @deprecated next; target .infobox-&amp;lt;name&amp;gt; .infobox-image&lt;br /&gt;
			datastyle = args.imagestyle,&lt;br /&gt;
			class = args.imageclass,&lt;br /&gt;
			rowclass = args['imagerowclass' .. tostring(num)]&lt;br /&gt;
		})&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- When autoheaders are turned on, preprocesses the rows&lt;br /&gt;
local function preprocessRows()&lt;br /&gt;
	if not args.autoheaders then return end&lt;br /&gt;
	&lt;br /&gt;
	local rownums = union(getArgNums('header'), getArgNums('data'))&lt;br /&gt;
	table.sort(rownums)&lt;br /&gt;
	local lastheader&lt;br /&gt;
	for k, num in ipairs(rownums) do&lt;br /&gt;
		if args['header' .. tostring(num)] then&lt;br /&gt;
			if lastheader then&lt;br /&gt;
				args['header' .. tostring(lastheader)] = nil&lt;br /&gt;
			end&lt;br /&gt;
			lastheader = num&lt;br /&gt;
		elseif args['data' .. tostring(num)] and&lt;br /&gt;
			args['data' .. tostring(num)]:gsub(&lt;br /&gt;
				category_in_empty_row_pattern, ''&lt;br /&gt;
			):match('^%S') then&lt;br /&gt;
			local data = args['data' .. tostring(num)]&lt;br /&gt;
			if data:gsub(category_in_empty_row_pattern, ''):match('%S') then&lt;br /&gt;
				lastheader = nil&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	if lastheader then&lt;br /&gt;
		args['header' .. tostring(lastheader)] = nil&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Gets the union of the header and data argument numbers,&lt;br /&gt;
-- and renders them all in order&lt;br /&gt;
local function renderRows()&lt;br /&gt;
&lt;br /&gt;
	local rownums = union(getArgNums('header'), getArgNums('data'))&lt;br /&gt;
	table.sort(rownums)&lt;br /&gt;
	for k, num in ipairs(rownums) do&lt;br /&gt;
		addRow({&lt;br /&gt;
			header = args['header' .. tostring(num)],&lt;br /&gt;
			label = args['label' .. tostring(num)],&lt;br /&gt;
			data = args['data' .. tostring(num)],&lt;br /&gt;
			datastyle = args.datastyle,&lt;br /&gt;
			class = args['class' .. tostring(num)],&lt;br /&gt;
			rowclass = args['rowclass' .. tostring(num)],&lt;br /&gt;
			-- @deprecated next; target .infobox-&amp;lt;name&amp;gt; rowclass&lt;br /&gt;
			rowstyle = args['rowstyle' .. tostring(num)],&lt;br /&gt;
			rowcellstyle = args['rowcellstyle' .. tostring(num)]&lt;br /&gt;
		})&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function renderNavBar()&lt;br /&gt;
	if not args.name then return end&lt;br /&gt;
&lt;br /&gt;
	has_rows = true&lt;br /&gt;
	root&lt;br /&gt;
		:tag('tr')&lt;br /&gt;
			:tag('td')&lt;br /&gt;
				:attr('colspan', '2')&lt;br /&gt;
				:addClass('infobox-navbar')&lt;br /&gt;
				:wikitext(require('Module:Navbar')._navbar{&lt;br /&gt;
					args.name,&lt;br /&gt;
					mini = 1,&lt;br /&gt;
				})&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function renderItalicTitle()&lt;br /&gt;
	local italicTitle = args['italic title'] and mw.ustring.lower(args['italic title'])&lt;br /&gt;
	if italicTitle == '' or italicTitle == 'force' or italicTitle == 'yes' then&lt;br /&gt;
		root:wikitext(require('Module:Italic title')._main({}))&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Categories in otherwise empty rows are collected in empty_row_categories.&lt;br /&gt;
-- This function adds them to the module output. It is not affected by&lt;br /&gt;
-- args.decat because this module should not prevent module-external categories&lt;br /&gt;
-- from rendering.&lt;br /&gt;
local function renderEmptyRowCategories()&lt;br /&gt;
	for _, s in ipairs(empty_row_categories) do&lt;br /&gt;
		root:wikitext(s)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Render tracking categories. args.decat == turns off tracking categories.&lt;br /&gt;
local function renderTrackingCategories()&lt;br /&gt;
	if yesno(args.decat) then return end&lt;br /&gt;
	if args.child == 'yes' then&lt;br /&gt;
		if args.title then&lt;br /&gt;
			root:wikitext(&lt;br /&gt;
				'[[Category:Pages using embedded infobox templates with the title parameter]]'&lt;br /&gt;
			)&lt;br /&gt;
		end&lt;br /&gt;
	elseif #(getArgNums('data')) == 0 and mw.title.getCurrentTitle().namespace == 0 then&lt;br /&gt;
		root:wikitext('[[Category:Articles using infobox templates with no data rows]]')&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[=[&lt;br /&gt;
Loads the templatestyles for the infobox.&lt;br /&gt;
&lt;br /&gt;
TODO: FINISH loading base templatestyles here rather than in&lt;br /&gt;
MediaWiki:Common.css. There are 4-5000 pages with 'raw' infobox tables.&lt;br /&gt;
See [[Mediawiki_talk:Common.css/to_do#Infobox]] and/or come help :).&lt;br /&gt;
When we do this we should clean up the inline CSS below too.&lt;br /&gt;
Will have to do some bizarre conversion category like with sidebar.&lt;br /&gt;
&lt;br /&gt;
]=]&lt;br /&gt;
local function loadTemplateStyles()&lt;br /&gt;
	local frame = mw.getCurrentFrame()&lt;br /&gt;
	&lt;br /&gt;
	local hlist_templatestyles = ''&lt;br /&gt;
	if lists.hlist_t.found then&lt;br /&gt;
		hlist_templatestyles = frame:extensionTag{&lt;br /&gt;
			name = 'templatestyles', args = { src = lists.hlist_t.styles }&lt;br /&gt;
		}&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local plainlist_templatestyles = ''&lt;br /&gt;
	if lists.plainlist_t.found then&lt;br /&gt;
		plainlist_templatestyles = frame:extensionTag{&lt;br /&gt;
			name = 'templatestyles', args = { src = lists.plainlist_t.styles }&lt;br /&gt;
		}&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- See function description&lt;br /&gt;
	local base_templatestyles = frame:extensionTag{&lt;br /&gt;
		name = 'templatestyles', args = { src = 'Module:Infobox/styles.css' }&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	local templatestyles = ''&lt;br /&gt;
	if args['templatestyles'] then&lt;br /&gt;
		templatestyles = frame:extensionTag{&lt;br /&gt;
			name = 'templatestyles', args = { src = args['templatestyles'] }&lt;br /&gt;
		}&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local child_templatestyles = ''&lt;br /&gt;
	if args['child templatestyles'] then&lt;br /&gt;
		child_templatestyles = frame:extensionTag{&lt;br /&gt;
			name = 'templatestyles', args = { src = args['child templatestyles'] }&lt;br /&gt;
		}&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local grandchild_templatestyles = ''&lt;br /&gt;
	if args['grandchild templatestyles'] then&lt;br /&gt;
		grandchild_templatestyles = frame:extensionTag{&lt;br /&gt;
			name = 'templatestyles', args = { src = args['grandchild templatestyles'] }&lt;br /&gt;
		}&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return table.concat({&lt;br /&gt;
		-- hlist -&amp;gt; plainlist -&amp;gt; base is best-effort to preserve old Common.css ordering.&lt;br /&gt;
		-- this ordering is not a guarantee because the rows of interest invoking&lt;br /&gt;
		-- each class may not be on a specific page&lt;br /&gt;
		hlist_templatestyles,&lt;br /&gt;
		plainlist_templatestyles,&lt;br /&gt;
		base_templatestyles,&lt;br /&gt;
		templatestyles,&lt;br /&gt;
		child_templatestyles,&lt;br /&gt;
		grandchild_templatestyles&lt;br /&gt;
	})&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- common functions between the child and non child cases&lt;br /&gt;
local function structure_infobox_common()&lt;br /&gt;
	renderSubheaders()&lt;br /&gt;
	renderImages()&lt;br /&gt;
	preprocessRows()&lt;br /&gt;
	renderRows()&lt;br /&gt;
	renderBelowRow()&lt;br /&gt;
	renderNavBar()&lt;br /&gt;
	renderItalicTitle()&lt;br /&gt;
	renderEmptyRowCategories()&lt;br /&gt;
	renderTrackingCategories()&lt;br /&gt;
	cleanInfobox()&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Specify the overall layout of the infobox, with special settings if the&lt;br /&gt;
-- infobox is used as a 'child' inside another infobox.&lt;br /&gt;
local function _infobox()&lt;br /&gt;
	if args.child ~= 'yes' then&lt;br /&gt;
		root = mw.html.create('table')&lt;br /&gt;
&lt;br /&gt;
		root&lt;br /&gt;
			:addClass(args.subbox == 'yes' and 'infobox-subbox' or 'infobox')&lt;br /&gt;
			:addClass(args.bodyclass)&lt;br /&gt;
			-- @deprecated next; target .infobox-&amp;lt;name&amp;gt;&lt;br /&gt;
			:cssText(args.bodystyle)&lt;br /&gt;
		&lt;br /&gt;
		has_list_class({ args.bodyclass })&lt;br /&gt;
&lt;br /&gt;
		renderTitle()&lt;br /&gt;
		renderAboveRow()&lt;br /&gt;
	else&lt;br /&gt;
		root = mw.html.create()&lt;br /&gt;
&lt;br /&gt;
		root&lt;br /&gt;
			:wikitext(args.title)&lt;br /&gt;
	end&lt;br /&gt;
	structure_infobox_common()&lt;br /&gt;
	&lt;br /&gt;
	return loadTemplateStyles() .. root&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- If the argument exists and isn't blank, add it to the argument table.&lt;br /&gt;
-- Blank arguments are treated as nil to match the behaviour of ParserFunctions.&lt;br /&gt;
local function preprocessSingleArg(argName)&lt;br /&gt;
	if origArgs[argName] and origArgs[argName] ~= '' then&lt;br /&gt;
		args[argName] = origArgs[argName]&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Assign the parameters with the given prefixes to the args table, in order, in&lt;br /&gt;
-- batches of the step size specified. This is to prevent references etc. from&lt;br /&gt;
-- appearing in the wrong order. The prefixTable should be an array containing&lt;br /&gt;
-- tables, each of which has two possible fields, a &amp;quot;prefix&amp;quot; string and a&lt;br /&gt;
-- &amp;quot;depend&amp;quot; table. The function always parses parameters containing the &amp;quot;prefix&amp;quot;&lt;br /&gt;
-- string, but only parses parameters in the &amp;quot;depend&amp;quot; table if the prefix&lt;br /&gt;
-- parameter is present and non-blank.&lt;br /&gt;
local function preprocessArgs(prefixTable, step)&lt;br /&gt;
	if type(prefixTable) ~= 'table' then&lt;br /&gt;
		error(&amp;quot;Non-table value detected for the prefix table&amp;quot;, 2)&lt;br /&gt;
	end&lt;br /&gt;
	if type(step) ~= 'number' then&lt;br /&gt;
		error(&amp;quot;Invalid step value detected&amp;quot;, 2)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Get arguments without a number suffix, and check for bad input.&lt;br /&gt;
	for i,v in ipairs(prefixTable) do&lt;br /&gt;
		if type(v) ~= 'table' or type(v.prefix) ~= &amp;quot;string&amp;quot; or&lt;br /&gt;
			(v.depend and type(v.depend) ~= 'table') then&lt;br /&gt;
			error('Invalid input detected to preprocessArgs prefix table', 2)&lt;br /&gt;
		end&lt;br /&gt;
		preprocessSingleArg(v.prefix)&lt;br /&gt;
		-- Only parse the depend parameter if the prefix parameter is present&lt;br /&gt;
		-- and not blank.&lt;br /&gt;
		if args[v.prefix] and v.depend then&lt;br /&gt;
			for j, dependValue in ipairs(v.depend) do&lt;br /&gt;
				if type(dependValue) ~= 'string' then&lt;br /&gt;
					error('Invalid &amp;quot;depend&amp;quot; parameter value detected in preprocessArgs')&lt;br /&gt;
				end&lt;br /&gt;
				preprocessSingleArg(dependValue)&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Get arguments with number suffixes.&lt;br /&gt;
	local a = 1 -- Counter variable.&lt;br /&gt;
	local moreArgumentsExist = true&lt;br /&gt;
	while moreArgumentsExist == true do&lt;br /&gt;
		moreArgumentsExist = false&lt;br /&gt;
		for i = a, a + step - 1 do&lt;br /&gt;
			for j,v in ipairs(prefixTable) do&lt;br /&gt;
				local prefixArgName = v.prefix .. tostring(i)&lt;br /&gt;
				if origArgs[prefixArgName] then&lt;br /&gt;
					-- Do another loop if any arguments are found, even blank ones.&lt;br /&gt;
					moreArgumentsExist = true&lt;br /&gt;
					preprocessSingleArg(prefixArgName)&lt;br /&gt;
				end&lt;br /&gt;
				-- Process the depend table if the prefix argument is present&lt;br /&gt;
				-- and not blank, or we are processing &amp;quot;prefix1&amp;quot; and &amp;quot;prefix&amp;quot; is&lt;br /&gt;
				-- present and not blank, and if the depend table is present.&lt;br /&gt;
				if v.depend and (args[prefixArgName] or (i == 1 and args[v.prefix])) then&lt;br /&gt;
					for j,dependValue in ipairs(v.depend) do&lt;br /&gt;
						local dependArgName = dependValue .. tostring(i)&lt;br /&gt;
						preprocessSingleArg(dependArgName)&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		a = a + step&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Parse the data parameters in the same order that the old {{infobox}} did, so&lt;br /&gt;
-- that references etc. will display in the expected places. Parameters that&lt;br /&gt;
-- depend on another parameter are only processed if that parameter is present,&lt;br /&gt;
-- to avoid phantom references appearing in article reference lists.&lt;br /&gt;
local function parseDataParameters()&lt;br /&gt;
&lt;br /&gt;
	preprocessSingleArg('autoheaders')&lt;br /&gt;
	preprocessSingleArg('child')&lt;br /&gt;
	preprocessSingleArg('bodyclass')&lt;br /&gt;
	preprocessSingleArg('subbox')&lt;br /&gt;
	preprocessSingleArg('bodystyle')&lt;br /&gt;
	preprocessSingleArg('title')&lt;br /&gt;
	preprocessSingleArg('titleclass')&lt;br /&gt;
	preprocessSingleArg('titlestyle')&lt;br /&gt;
	preprocessSingleArg('above')&lt;br /&gt;
	preprocessSingleArg('aboveclass')&lt;br /&gt;
	preprocessSingleArg('abovestyle')&lt;br /&gt;
	preprocessArgs({&lt;br /&gt;
		{prefix = 'subheader', depend = {'subheaderstyle', 'subheaderrowclass'}}&lt;br /&gt;
	}, 10)&lt;br /&gt;
	preprocessSingleArg('subheaderstyle')&lt;br /&gt;
	preprocessSingleArg('subheaderclass')&lt;br /&gt;
	preprocessArgs({&lt;br /&gt;
		{prefix = 'image', depend = {'caption', 'imagerowclass'}}&lt;br /&gt;
	}, 10)&lt;br /&gt;
	preprocessSingleArg('captionstyle')&lt;br /&gt;
	preprocessSingleArg('imagestyle')&lt;br /&gt;
	preprocessSingleArg('imageclass')&lt;br /&gt;
	preprocessArgs({&lt;br /&gt;
		{prefix = 'header'},&lt;br /&gt;
		{prefix = 'data', depend = {'label'}},&lt;br /&gt;
		{prefix = 'rowclass'},&lt;br /&gt;
		{prefix = 'rowstyle'},&lt;br /&gt;
		{prefix = 'rowcellstyle'},&lt;br /&gt;
		{prefix = 'class'}&lt;br /&gt;
	}, 50)&lt;br /&gt;
	preprocessSingleArg('headerclass')&lt;br /&gt;
	preprocessSingleArg('headerstyle')&lt;br /&gt;
	preprocessSingleArg('labelstyle')&lt;br /&gt;
	preprocessSingleArg('datastyle')&lt;br /&gt;
	preprocessSingleArg('below')&lt;br /&gt;
	preprocessSingleArg('belowclass')&lt;br /&gt;
	preprocessSingleArg('belowstyle')&lt;br /&gt;
	preprocessSingleArg('name')&lt;br /&gt;
	-- different behaviour for italics if blank or absent&lt;br /&gt;
	args['italic title'] = origArgs['italic title']&lt;br /&gt;
	preprocessSingleArg('decat')&lt;br /&gt;
	preprocessSingleArg('templatestyles')&lt;br /&gt;
	preprocessSingleArg('child templatestyles')&lt;br /&gt;
	preprocessSingleArg('grandchild templatestyles')&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- If called via #invoke, use the args passed into the invoking template.&lt;br /&gt;
-- Otherwise, for testing purposes, assume args are being passed directly in.&lt;br /&gt;
function p.infobox(frame)&lt;br /&gt;
	if frame == mw.getCurrentFrame() then&lt;br /&gt;
		origArgs = frame:getParent().args&lt;br /&gt;
	else&lt;br /&gt;
		origArgs = frame&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	parseDataParameters()&lt;br /&gt;
	&lt;br /&gt;
	return _infobox()&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- For calling via #invoke within a template&lt;br /&gt;
function p.infoboxTemplate(frame)&lt;br /&gt;
	origArgs = {}&lt;br /&gt;
	for k,v in pairs(frame.args) do origArgs[k] = mw.text.trim(v) end&lt;br /&gt;
	&lt;br /&gt;
	parseDataParameters()&lt;br /&gt;
	&lt;br /&gt;
	return _infobox()&lt;br /&gt;
end&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Marie</name></author>
	</entry>
	<entry>
		<id>https://maruneko.autumns.page/mediawiki/index.php?title=Template:If_both&amp;diff=8500</id>
		<title>Template:If both</title>
		<link rel="alternate" type="text/html" href="https://maruneko.autumns.page/mediawiki/index.php?title=Template:If_both&amp;diff=8500"/>
		<updated>2026-03-05T07:14:33Z</updated>

		<summary type="html">&lt;p&gt;Marie: 1 revision imported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{safesubst:&amp;lt;noinclude/&amp;gt;#if:{{{1|}}}| {{safesubst:&amp;lt;noinclude/&amp;gt;#if:{{{2|}}}|{{{3|}}}|{{{4|}}}}} |{{{4|}}} }}&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{Documentation}}&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
   PLEASE ADD CATEGORIES&lt;br /&gt;
   TO THE /doc SUBPAGE, THANKS&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Marie</name></author>
	</entry>
</feed>