<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://en.scpslgame.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Zabszk</id>
	<title>SCP: Secret Laboratory English Official Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://en.scpslgame.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Zabszk"/>
	<link rel="alternate" type="text/html" href="https://en.scpslgame.com/index.php?title=Special:Contributions/Zabszk"/>
	<updated>2026-04-12T05:45:14Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>https://en.scpslgame.com/index.php?title=Main_Page&amp;diff=14161</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://en.scpslgame.com/index.php?title=Main_Page&amp;diff=14161"/>
		<updated>2023-09-25T22:07:18Z</updated>

		<summary type="html">&lt;p&gt;Zabszk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!----*&amp;lt;big&amp;gt; &amp;lt;font color=red&amp;gt; This is a reminder to use the [https://betawiki.scpslgame.com/index.php?title=Main_Page Beta Wiki!] if you are looking for information over the 12.0.0 Beta! THIS WIKI IS SOLELY FOR NON BETA BUILDS! &amp;lt;/font&amp;gt; &amp;lt;/big&amp;gt;---&amp;gt;&lt;br /&gt;
&amp;lt;big&amp;gt; &amp;lt;font color=red&amp;gt; Our wiki is currently undergoing maintenance. Various things may not be functional. &amp;lt;/font&amp;gt; &amp;lt;/big&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-center&amp;quot; style=&amp;quot;width:100%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-section&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-header&amp;quot;&amp;gt;Welcome to the Official SCP: Secret Laboratory Wiki!&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;The official information hub for all things SCP:SL, with {{NUMBEROFARTICLES}} pages and counting!&lt;br /&gt;
Below you can find some articles on the SCPs, various playable classes and more.&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- GAME CONTENT BOX --&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-section&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-header&amp;quot;&amp;gt;Game Content&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align:center;&amp;quot;&amp;gt;{{Hycontent|SCPs|NEWSCPCAT}}{{Hycontent|Humans|NEWHUMANCAT}}{{Hycontent|Weapons|WEAPONCATNEW3}}{{Hycontent|Items|NEWITEMCAT}}{{Hycontent|Site-02|FixedSite02Logo|4=120px}}{{Hycontent|Mechanics|NEWMECHANICSCAT2}}{{Hycontent|Achievements|ACHIVECAT}}{{Hycontent|Soundtrack|NEWSOUNDTRACKCAT}}{{Hycontent|Lore|Loreicon}}&amp;lt;!---{{Hycontent|Cut Content (Coming Soon)|CUTCONTENTCAT5}}---&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!-- TECH INFO BOX --&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-header&amp;quot;&amp;gt;Technical Info&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-wide&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://scpsl.notion.site/Hosting-a-Server-101-cd3ce9d1fab84f6b8b15be7f678ad8ba Server Info]&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[System Requirements]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Remote Admin]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://scpsl.notion.site/Gameplay-Config-Setup-96749e1751e249258df0a300cf2164fa Server Config]&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[https://scpsl.notion.site/Remote-Admin-Permissions-Guide-d136f893ce974dd89774c75fca3d5681 Permissions]&amp;lt;/span&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Command Interpolation]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;!-- UPDATE AND ANNOUNCEMENT BOX --&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-center2&amp;quot; style = &amp;quot;width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-section&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-header&amp;quot;&amp;gt;Latest Update and Announcement&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-right2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-content3&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-header&amp;quot;&amp;gt;&amp;lt;center&amp;gt;Most Recent Announcement&amp;lt;/center&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
[[File:SCPSL contest23.png|550px|center|link=https://store.steampowered.com/news/app/700330/view/3746488274499979654?l=english]]&lt;br /&gt;
It is that time again! The Northwood Studio’s annual Art Contest for 2023 is finally here! During the month in October, artist can upload submissions for the community to vote on. Check out our [https://store.steampowered.com/news/app/700330/view/3746488274499979654?l=english steam post] for more details.&lt;br /&gt;
&amp;lt;center style=&amp;quot;overflow: hidden;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-center3&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-content2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-header&amp;quot;&amp;gt;&amp;lt;center&amp;gt;Most Recent Update&amp;lt;/center&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;center style=&amp;quot;overflow:hidden;&amp;quot;&amp;gt;[[File:Splash Screen New Logo MK2.png|500px]]&amp;lt;/center&amp;gt;&lt;br /&gt;
:&#039;&#039;&#039;Version:&#039;&#039;&#039; v13.2.1 &amp;lt;br&amp;gt;&lt;br /&gt;
:&#039;&#039;&#039;Release Date:&#039;&#039;&#039; {{#timel: j M Y|07.9.2023}}&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;span style=&amp;quot;font-size: 110%; font-weight: bold;&amp;quot;&amp;gt;Update Highlights&amp;lt;/span&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
*FR-MG-0 Tweaks&lt;br /&gt;
*SCP-939 Tweaks&lt;br /&gt;
*Bug Fixes&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align:center;font-size:80%;margin:10px 0 0 0;&amp;quot;&amp;gt;&amp;lt;center&amp;gt;[[Updates/13.2.1|Update changelogs]]&amp;lt;/center&amp;gt;&amp;lt;br clear=all&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-center2&amp;quot; style = &amp;quot;width: 100%;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-content2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-header&amp;quot;&amp;gt;&amp;lt;center&amp;gt;Most Recent PEARS&amp;lt;/center&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
:&#039;&#039;&#039;Session:&#039;&#039;&#039; PEARS 4 &amp;lt;br&amp;gt;&lt;br /&gt;
:&#039;&#039;&#039;Testing Period:&#039;&#039;&#039; {{#timel: j M Y|29.9.2023}} to {{#timel: j M Y|1.10.2023}}&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;span style=&amp;quot;font-size: 110%; font-weight: bold;&amp;quot;&amp;gt;Session Highlights&amp;lt;/span&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
*Reinforcement Overhaul v2&lt;br /&gt;
*SCP-079 Alpha Warhead Override&lt;br /&gt;
*New Audio Assets&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align:center;font-size:80%;margin:10px 0 0 0;&amp;quot;&amp;gt;&amp;lt;center&amp;gt;[[PEARS/PEARS 4|PEARS changelogs]]&amp;lt;/center&amp;gt;&amp;lt;br clear=all&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- WIKI SUPPORT LIST --&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-center&amp;quot; style = &amp;quot;width: 66%; object-fit: contain;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-section&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-header&amp;quot;&amp;gt;Wiki Support&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-right2&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-content3&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; |&amp;lt;b&amp;gt;Wiki Staff&amp;lt;/b&amp;gt;&lt;br /&gt;
|style=&amp;quot;padding-left: 10px;|&amp;lt;b&amp;gt;Stewards&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  colspan=&amp;quot;2&amp;quot; | &lt;br /&gt;
* [[User:Hoang|Hoang]] (Manager)&lt;br /&gt;
* [[User:Argus|Argus]]&lt;br /&gt;
* [[User:Draconocor|Draconocor]]&lt;br /&gt;
* [[User:ŁukaszKlapek|Klapek]]&lt;br /&gt;
*[[User:Jamintheinfinite|Terranhawk]]&lt;br /&gt;
|style=&amp;quot;padding-left: 10px;|&lt;br /&gt;
*[[User:Thomasjosif|Thomasjosif]]&lt;br /&gt;
*[[User:Zabszk|Zabszk]]&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
&amp;lt;br clear=all&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-center3&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-content2&amp;quot;&amp;gt;&amp;lt;center&amp;gt;&amp;lt;br&amp;gt;We do not use talk pages on this wiki for communication. If you have an issue with the wiki or want to suggest something. Join the [https://discordapp.com/invite/scpsl Official SCP:SL Discord]. It is also important to note that edits by non-wiki staff do not show up until approved by a wiki staff.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Zabszk</name></author>
	</entry>
	<entry>
		<id>https://en.scpslgame.com/index.php?title=Main_Page&amp;diff=7373</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://en.scpslgame.com/index.php?title=Main_Page&amp;diff=7373"/>
		<updated>2021-08-01T10:20:49Z</updated>

		<summary type="html">&lt;p&gt;Zabszk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;mp-center&amp;quot; style=&amp;quot;width:100%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-section&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-header&amp;quot;&amp;gt;Welcome to the Official SCP: Secret Laboratory Wiki!&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;The official information hub for all things SCP:SL, with over {{NUMBEROFPAGES}} pages and counting! &lt;br /&gt;
Below you can find some articles on the SCPs, various playable classes and more.&lt;br /&gt;
&amp;lt;!-- Not Required for Russian Wiki --&amp;gt;&amp;lt;big&amp;gt;We are currently looking for volunteers to help set up a Polish Wiki! Join the SCP: SL discord and check #wiki-support for more info!&amp;lt;/big&amp;gt; &amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-left&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-section&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-header&amp;quot;&amp;gt;About the Game&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size: 90%;&amp;quot;&amp;gt;&#039;&#039;&#039;SCP: Secret Laboratory&#039;&#039;&#039; is a multiplayer horror game currently in development by Northwood Studios, based on Undertow Games&#039; SCP: Containment Breach and Garry&#039;s Mod&#039;s Breach gamemode.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The game features playable 6 teams: [[Class-D]]s, [[Scientist]]s, [[Facility Guard]]s, [[Mobile Task Force]], [[Chaos Insurgent]]s and the [[SCPs]], each one with their own objectives.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;The randomly generated facility and class division make every game random and full of sensations, you never know where you are heading or what awaits you behind the next door, no matter what class you are playing.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-section&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-header&amp;quot;&amp;gt;Links&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:115%;line-height:1.6;&amp;quot;&amp;gt;&lt;br /&gt;
Steam and Patreon&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:social_Sl-steam.png|30px|link=https://store.steampowered.com/app/700330/SCP_Secret_Laboratory/]] [https://store.steampowered.com/app/700330/SCP_Secret_Laboratory/ Steam Page] &amp;lt;br&amp;gt;&lt;br /&gt;
[[File:social_Sl-patreon.png|30px|link=https://www.patreon.com/HubertMoszka]] [https://www.patreon.com/HubertMoszka Patreon Page]&amp;lt;br&amp;gt;&lt;br /&gt;
Social Media&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Social sl-discord.png|30px|link=https://discordapp.com/invite/scpsl]] [https://discordapp.com/invite/scpsl Official SCP SL Discord]&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:social_SCP_SL_Facebook.png|30px|link=https://www.facebook.com/SCPSL.Official/]] [https://www.facebook.com/SCPSL.Official/ Official SCP SL Facebook]&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:social_RedditSL.png|30px|link=https://www.reddit.com/r/SCPSL/]] [https://www.reddit.com/r/SCPSL/ Official SCP SL Reddit]&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:social_SCP_SL_Twitter.png|30px|link=https://twitter.com/scpslofficial]] [https://twitter.com/scpslofficial Official SCP SL Twitter]&amp;lt;br&amp;gt;&lt;br /&gt;
Streaming&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:social_SL_Twitch.png|30px|link=https://twitch.tv/SCPSL_Official]] [https://twitch.tv/SCPSL_Official Official SCP SL Twitch]&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:social_SL_Youtube.png|30px|link=https://www.youtube.com/channel/UC_pcal-oQjes6vtrvpGteTg]] [https://www.youtube.com/channel/UC_pcal-oQjes6vtrvpGteTg Official SCP SL Youtube]&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-right&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- UPDATE BOX --&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-section&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-header&amp;quot;&amp;gt;Most Recent Update&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;center style=&amp;quot;overflow: hidden;&amp;quot;&amp;gt;[[File:Splash_Screen_New_Logo_MK2.png|250px]]&amp;lt;/center&amp;gt; &amp;lt;!--File:Splash_Screen_New_Logo_MK2.png This is the default update banner, leave it here for ease of access--&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Version:&#039;&#039;&#039; v10.2.2&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Release Date:&#039;&#039;&#039; March 3rd&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;span style=&amp;quot;font-size: 110%; font-weight: bold;&amp;quot;&amp;gt;Update Highlights&amp;lt;/span&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
*Game Updates&lt;br /&gt;
*Bug Fixes&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align:center;font-size:80%;margin:10px 0 0 0;&amp;quot;&amp;gt;[[Updates/10.2.2|Update changelogs]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- WIKI MAINTAINERS LIST --&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-section&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-header&amp;quot;&amp;gt;Wiki Maintainers&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;b&amp;gt;Wiki Manager&amp;lt;/b&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
* [[User:Jamintheinfinite|Terranhawk]] ([[User_talk:Jamintheinfinite|Talk]] | [[Special:Contributions/Jamintheinfinite|Contribs]])&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;b&amp;gt;Wiki Coordinators&amp;lt;/b&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
* [[User:Argus|Argus]] ([[User_talk:Argus|Talk]] | [[Special:Contributions/Argus|Contribs]])&lt;br /&gt;
* [[User:Hoang|Hoang]] ([[User talk:Hoang|Talk]] | [[Special:Contributions/Hoang|Contribs]])&lt;br /&gt;
* [[User:Keegan|Keegan]] ([[User_talk:Keegan|Talk]] | [[Special:Contributions/Keegan|Contribs]])&lt;br /&gt;
* [[User:ŁukaszKlapek|Klapek]] ([[User_talk:ŁukaszKlapek|Talk]] | [[Special:Contributions/ŁukaszKlapek|Contribs]])&lt;br /&gt;
&amp;lt;hr&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;b&amp;gt;Stewards&amp;lt;/b&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
* [[User:Thomasjosif|Thomasjosif]] ([[User talk:Thomasjosif|Talk]] | [[Special:Contributions/Thomasjosif|Contribs]])&lt;br /&gt;
* [[User:WinterBeyond|WinterBeyond]] ([[User talk:WinterBeyond|Talk]] | [[Special:Contributions/WinterBeyond|Contribs]])&lt;br /&gt;
* [[User:Zabszk|Zabszk]] ([[User_talk:Zabszk|Talk]] | [[Special:Contributions/Zabszk|Contribs]])&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Talk Box --&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-section&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-header&amp;quot;&amp;gt;Suggestions/Issues with wiki?&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-content&amp;quot;&amp;gt;&lt;br /&gt;
We do not use talk pages on this wiki. If you have an issue with the wiki or want to suggest something. &amp;lt;br&amp;gt;&lt;br /&gt;
Join the [https://discordapp.com/invite/scpsl Official SCP:SL Discord] and ask a SL Wiki Staff for help in the &amp;lt;br&amp;gt;&#039;&#039;#wiki-support&#039;&#039; channel.&amp;lt;br&amp;gt;&lt;br /&gt;
It is also important to note that edits by non-wiki staff do not show up until approved by a wiki staff &amp;lt;br&amp;gt; or a translator.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- CONTENT BOX --&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-center&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- GAME CONTENT BOX --&amp;gt;&lt;br /&gt;
&amp;lt;!---&amp;quot;GAME CONTENT BOX Desktop&amp;quot;---&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;nomobile&amp;quot;&amp;gt; &lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-section&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-header&amp;quot;&amp;gt;Game Content&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align:center;&amp;quot;&amp;gt;{{Hycontent|SCPs|NEWSCPCAT}}{{Hycontent|Humans|NEWHUMANCAT}}{{Hycontent|Weapons|NEWWEAPONSCAT}}{{Hycontent|Items|NEWITEMCAT}}{{Hycontent|Locations|NEWLOCATIONSCAT}}{{Hycontent|Mechanics|NEWMECHANICSCAT2}}{{Hycontent|Achievements|NEWACHIEVEMENTCAT}}{{Hycontent|Soundtrack|NEWSOUNDTRACKCAT}}&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- TECH INFO BOX --&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-header&amp;quot;&amp;gt;Technical Info&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-wide&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Server Info]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[System Requirements]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Remote Admin]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Docs:Server Config|Server Config]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Docs:Permissions|Permissions]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- WIKI INFO BOX --&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-header&amp;quot;&amp;gt;Wiki Links&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-wide&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[https://ru.scpslgame.com Pусский]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[https://hub.scpslgame.com Global Wiki Hub]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;display:none&amp;quot;&amp;gt;&lt;br /&gt;
* [[Achievements]]&lt;br /&gt;
* [[Classes]]&lt;br /&gt;
* [[Items]]&lt;br /&gt;
* [[Locations]]&lt;br /&gt;
* [[Mechanics]]&lt;br /&gt;
* [[SCPs]]&lt;br /&gt;
* [[Weapons]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;small&amp;gt;&lt;br /&gt;
Notice: This wiki heavily uses HTML elements. Users on the Internet Explorer browser may have difficulty using this wiki due to IE not supporting HTML elements that well.&lt;br /&gt;
&amp;lt;/small&amp;gt;&lt;/div&gt;</summary>
		<author><name>Zabszk</name></author>
	</entry>
	<entry>
		<id>https://en.scpslgame.com/index.php?title=Template:Keycard&amp;diff=3457</id>
		<title>Template:Keycard</title>
		<link rel="alternate" type="text/html" href="https://en.scpslgame.com/index.php?title=Template:Keycard&amp;diff=3457"/>
		<updated>2020-07-26T10:53:37Z</updated>

		<summary type="html">&lt;p&gt;Zabszk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
[[File:Janitor Icon{{{Janitor|}}}.png|top|50px]] &lt;br /&gt;
[[File:Guard Icon{{{Guard|}}}.png|top|50px]] &lt;br /&gt;
[[File:ZManager icon{{{Zone Manager|}}}.png|top|50px]] &lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:Scientist Icon{{{Scientist|}}}.png|top|50px]]&lt;br /&gt;
[[File:Cadet icon2{{{Cadet|}}}.png|top|50px]] &lt;br /&gt;
[[File:Owner Icon{{{Facility Manager|}}}.png|top|50px]]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:Research Supervisor Icon{{{Research Supervisor|}}}.png|top|50px]] &lt;br /&gt;
[[File:Lieutenant Icon{{{Lieutenant|}}}.png|top|50px]] &lt;br /&gt;
[[File:Chaos card icon{{{Chaos|}}}.png|top|50px]] &lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
[[File:CEngineer icon{{{Containment Engineer|}}}.png|top|50px]] &lt;br /&gt;
[[File:Commander icon{{{Commander|}}}.png|top|50px]]&lt;br /&gt;
[[File:O5 icon{{{O5|}}}.png|top|50px]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
When using this template&lt;br /&gt;
simply type which card you want to darken like so.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;nowiki&amp;gt;{{Keycard|Scientist=_darken}}}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
In this example it will darken the scientist keycard but not any other keycards, as shown below&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{Keycard|Scientist=_darken}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Simply leave a variable out if you dont want to darken it.&lt;br /&gt;
The point of this template is to easily show what keycards can and cant open a door.&lt;br /&gt;
Cards that are darken out means it cant open said door.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Below is the list of all the things you have to type to darken an image&lt;br /&gt;
* Janitor&lt;br /&gt;
* Scientist&lt;br /&gt;
* Research Supervisor&lt;br /&gt;
* Containment Enginner&lt;br /&gt;
* Guard&lt;br /&gt;
* Cadet&lt;br /&gt;
* Lieutenant&lt;br /&gt;
* Commander&lt;br /&gt;
* Zone_Manager&lt;br /&gt;
* Facility Manager&lt;br /&gt;
* Chaos&lt;br /&gt;
* O5&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Zabszk</name></author>
	</entry>
	<entry>
		<id>https://en.scpslgame.com/index.php?title=MediaWiki:Nocreatetext&amp;diff=1337</id>
		<title>MediaWiki:Nocreatetext</title>
		<link rel="alternate" type="text/html" href="https://en.scpslgame.com/index.php?title=MediaWiki:Nocreatetext&amp;diff=1337"/>
		<updated>2020-03-19T14:00:08Z</updated>

		<summary type="html">&lt;p&gt;Zabszk: Created page with &amp;quot;You have to log in as a user with a &amp;#039;&amp;#039;&amp;#039;verified email address&amp;#039;&amp;#039;&amp;#039; to be able to create new pages on {{SITENAME}}.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;You have to log in as a user with a &#039;&#039;&#039;verified email address&#039;&#039;&#039; to be able to create new pages on {{SITENAME}}.&lt;/div&gt;</summary>
		<author><name>Zabszk</name></author>
	</entry>
	<entry>
		<id>https://en.scpslgame.com/index.php?title=MediaWiki:Spam-blacklist&amp;diff=1334</id>
		<title>MediaWiki:Spam-blacklist</title>
		<link rel="alternate" type="text/html" href="https://en.scpslgame.com/index.php?title=MediaWiki:Spam-blacklist&amp;diff=1334"/>
		<updated>2020-03-18T15:28:05Z</updated>

		<summary type="html">&lt;p&gt;Zabszk: Created page with &amp;quot; #&amp;lt;!-- leave this line exactly as it is --&amp;gt; &amp;lt;pre&amp;gt; # External URLs matching this list will be blocked when added to a page. # This list affects only this wiki; refer also to th...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; #&amp;lt;!-- leave this line exactly as it is --&amp;gt; &amp;lt;pre&amp;gt;&lt;br /&gt;
# External URLs matching this list will be blocked when added to a page.&lt;br /&gt;
# This list affects only this wiki; refer also to the global blacklist.&lt;br /&gt;
# For documentation see https://www.mediawiki.org/wiki/Extension:SpamBlacklist&lt;br /&gt;
#&lt;br /&gt;
# Syntax is as follows:&lt;br /&gt;
#   * Everything from a &amp;quot;#&amp;quot; character to the end of the line is a comment&lt;br /&gt;
#   * Every non-blank line is a regex fragment which will only match hosts inside URLs&lt;br /&gt;
&lt;br /&gt;
 #&amp;lt;/pre&amp;gt; &amp;lt;!-- leave this line exactly as it is --&amp;gt;&lt;br /&gt;
\bwww\.computerhope\.com\b&lt;/div&gt;</summary>
		<author><name>Zabszk</name></author>
	</entry>
	<entry>
		<id>https://en.scpslgame.com/index.php?title=Main_Page&amp;diff=1329</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://en.scpslgame.com/index.php?title=Main_Page&amp;diff=1329"/>
		<updated>2020-03-14T23:42:33Z</updated>

		<summary type="html">&lt;p&gt;Zabszk: Removed inactive stewards&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;mp-center&amp;quot; style=&amp;quot;width:100%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-section&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-header&amp;quot;&amp;gt;Welcome to the Official SCP: Secret Laboratory Wiki!&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;The official information hub for all things SCP:SL, with over {{NUMBEROFPAGES}} pages and counting! &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;While the wiki is still a work in progress down below you can find some articles on the SCPs, various playable classes and more.&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-left&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-section&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-header&amp;quot;&amp;gt;About the Game&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size: 90%;&amp;quot;&amp;gt;&#039;&#039;&#039;SCP: Secret Laboratory&#039;&#039;&#039; is a multiplayer horror game currently in development by Northwood Studios, based on Undertow Games&#039; SCP: Containment Breach and Garry&#039;s Mod&#039;s Breach gamemode.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The game features playable 7 classes: [[Class-D]]s, [[Scientist]]s, [[Facility Guard]]s, [[Mobile Task Force]], [[Chaos Insurgent]]s and the [[SCPs]], each one with their own objectives.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;The randomly generated facility and class division make every game random and full of sensations, you never know where you are heading or what awaits you behind the next door, no matter what class you are playing.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-section&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-header&amp;quot;&amp;gt;Links&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:115%;line-height:1.6;&amp;quot;&amp;gt;&lt;br /&gt;
Steam and Patreon&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:sl-steam.png|20px|link=https://store.steampowered.com/app/700330/SCP_Secret_Laboratory/]] [https://store.steampowered.com/app/700330/SCP_Secret_Laboratory/ Steam Page] &amp;lt;br&amp;gt;&lt;br /&gt;
[[File:sl-patreon.png|20px|link=https://www.patreon.com/HubertMoszka]] [https://www.patreon.com/HubertMoszka Patreon Page]&amp;lt;br&amp;gt;&lt;br /&gt;
Social Media&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:sl-discord.png|20px|link=https://discordapp.com/invite/scpsl]] [https://discordapp.com/invite/scpsl Official SCP:SL Discord]&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:SCP_SL_Facebook.png|20px|link=https://www.facebook.com/SCPSL.Official/]] [https://www.facebook.com/SCPSL.Official/ Official SCP SL Facebook]&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:RedditSL.png|20px|link=https://www.reddit.com/r/SCPSL/]] [https://www.reddit.com/r/SCPSL/ Official SCP SL Reddit]&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:SCP_SL_Twitter.png|20px|link=https://twitter.com/scpslofficial]] [https://twitter.com/scpslofficial Official SCP SL Twitter]&amp;lt;br&amp;gt;&lt;br /&gt;
Streaming&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:SL_Twitch.png|20px|link=https://twitch.tv/SCPSL_Official]] [https://twitch.tv/SCPSL_Official Official SCP SL Twitch]&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:SL_Youtube.png|20px|link=https://www.youtube.com/channel/UC_pcal-oQjes6vtrvpGteTg]] [https://www.youtube.com/channel/UC_pcal-oQjes6vtrvpGteTg Official SCP SL Youtube]&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-right&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- UPDATE BOX --&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-section&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-header&amp;quot;&amp;gt;Most Recent Update&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;div style=&amp;quot;border: 1px solid white;width:202px;&amp;quot;&amp;gt;[[File:Festive 914.jpg|200px|link=Updates/9.0.3]]&amp;lt;/div&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Version:&#039;&#039;&#039; v9.1.3&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Release Date:&#039;&#039;&#039; 24.12.2019.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;span style=&amp;quot;font-size: 110%; font-weight: bold;&amp;quot;&amp;gt;Update Highlights&amp;lt;/span&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
This update includes a few Christmas voice phrases for the C.A.S.S.I.E. system, including a new MTF entrance announcement. Happy Holidays!&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align:center;font-size:80%;margin:10px 0 0 0;&amp;quot;&amp;gt;[[Updates/9.1.1|Update changelogs]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- WIKI MAINTAINERS LIST --&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-section&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-header&amp;quot;&amp;gt;Wiki Maintainers&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;b&amp;gt;Wiki Coordinators&amp;lt;/b&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
* [[User:Cross-conception|Cross-conception]] ([[User_talk:Cross-conception|Talk]] | [[Special:Contributions/Cross-conception|Contribs]])&lt;br /&gt;
* [[User:Keegan|Keegan]] ([[User_talk:Keegan|Talk]] | [[Special:Contributions/Keegan|Contribs]])&lt;br /&gt;
* [[User:ŁukaszKlapek|Klapek]] ([[User_talk:ŁukaszKlapek|Talk]] | [[Special:Contributions/ŁukaszKlapek|Contribs]])&lt;br /&gt;
* [[User:Jamintheinfinite|Terranhawk]] ([[User_talk:Jamintheinfinite|Talk]] | [[Special:Contributions/Jamintheinfinite|Contribs]])&lt;br /&gt;
&amp;lt;hr&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;b&amp;gt;Stewards&amp;lt;/b&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
* [[User:Rin|Rin]] ([[User talk:Rin|Talk]] | [[Special:Contributions/Rin|Contribs]])&lt;br /&gt;
* [[User:WinterBeyond|WinterBeyond]] ([[User talk:WinterBeyond|Talk]] | [[Special:Contributions/WinterBeyond|Contribs]])&lt;br /&gt;
* [[User:Zabszk|Zabszk]] ([[User_talk:Zabszk|Talk]] | [[Special:Contributions/Zabszk|Contribs]])&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- CONTENT BOX --&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-center&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- GAME CONTENT BOX --&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-section&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-header&amp;quot;&amp;gt;Game Content&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align:center;&amp;quot;&amp;gt;{{Hycontent|SCPs|mpc-scps}}{{Hycontent|Classes|mpc-classes}}{{Hycontent|Weapons|Epsilon-11 Rifle}}{{Hycontent|Items|mpc-items}}{{Hycontent|Locations|MAINCATLOCATIONS}}{{Hycontent|Guides|CATGUIDES}}&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- TECH INFO BOX --&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-header&amp;quot;&amp;gt;Technical Info&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-wide&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Game Troubleshooting]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Server Info]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[System Requirements]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Zabszk</name></author>
	</entry>
	<entry>
		<id>https://en.scpslgame.com/index.php?title=Category:SCPs&amp;diff=1320</id>
		<title>Category:SCPs</title>
		<link rel="alternate" type="text/html" href="https://en.scpslgame.com/index.php?title=Category:SCPs&amp;diff=1320"/>
		<updated>2020-03-03T16:23:25Z</updated>

		<summary type="html">&lt;p&gt;Zabszk: Removed protection from &amp;quot;Category:SCPs&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;mp-center&amp;quot; style=&amp;quot;width:100%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-section&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-header&amp;quot;&amp;gt;SCP Items&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;Anything classed as an SCP ingame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Actual category box --&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-section&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-content&amp;quot;&amp;gt;&lt;br /&gt;
Playable&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align:center;&amp;quot;&amp;gt;&lt;br /&gt;
{{Hycontent|SCP-049|SCPCAT049}}{{Hycontent|SCP-079|SCPCAT079}}{{Hycontent|SCP-096|SCPCAT096}}{{Hycontent|SCP-106|SCPCAT106}}{{Hycontent|SCP-173|SCPCAT173}}{{Hycontent|SCP-939|mpc-scps}} &lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-content&amp;quot;&amp;gt;&lt;br /&gt;
Non-Playable&lt;br /&gt;
{{Hycontent|SCP-018|SCPCAT018}}{{Hycontent|SCP-207|SCPCAT207}}{{Hycontent|SCP-268|SCPCAT268}}{{Hycontent|SCP-500|SCPCAT500}}{{Hycontent|SCP-914|SCPCAT914}}&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Zabszk</name></author>
	</entry>
	<entry>
		<id>https://en.scpslgame.com/index.php?title=Category:SCPs&amp;diff=1319</id>
		<title>Category:SCPs</title>
		<link rel="alternate" type="text/html" href="https://en.scpslgame.com/index.php?title=Category:SCPs&amp;diff=1319"/>
		<updated>2020-03-03T16:23:12Z</updated>

		<summary type="html">&lt;p&gt;Zabszk: Changed protection level for &amp;quot;Category:SCPs&amp;quot; ([Edit=Allow only editors] (indefinite) [Move=Allow only editors] (indefinite))&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;mp-center&amp;quot; style=&amp;quot;width:100%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-section&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-header&amp;quot;&amp;gt;SCP Items&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;Anything classed as an SCP ingame.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- Actual category box --&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-section&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-content&amp;quot;&amp;gt;&lt;br /&gt;
Playable&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align:center;&amp;quot;&amp;gt;&lt;br /&gt;
{{Hycontent|SCP-049|SCPCAT049}}{{Hycontent|SCP-079|SCPCAT079}}{{Hycontent|SCP-096|SCPCAT096}}{{Hycontent|SCP-106|SCPCAT106}}{{Hycontent|SCP-173|SCPCAT173}}{{Hycontent|SCP-939|mpc-scps}} &lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-content&amp;quot;&amp;gt;&lt;br /&gt;
Non-Playable&lt;br /&gt;
{{Hycontent|SCP-018|SCPCAT018}}{{Hycontent|SCP-207|SCPCAT207}}{{Hycontent|SCP-268|SCPCAT268}}{{Hycontent|SCP-500|SCPCAT500}}{{Hycontent|SCP-914|SCPCAT914}}&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Zabszk</name></author>
	</entry>
	<entry>
		<id>https://en.scpslgame.com/index.php?title=First_Aid_Cabinet&amp;diff=1318</id>
		<title>First Aid Cabinet</title>
		<link rel="alternate" type="text/html" href="https://en.scpslgame.com/index.php?title=First_Aid_Cabinet&amp;diff=1318"/>
		<updated>2020-03-03T16:22:45Z</updated>

		<summary type="html">&lt;p&gt;Zabszk: Removed protection from &amp;quot;Medical Cabinets&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;gt;work in progress&lt;br /&gt;
==Description==&lt;br /&gt;
The Medical Cabinet is a small case attached to the wall with the red cross symbol on it. It will open when interacted with. upon doing so, it will reveal a [[Medikit]], which the player can use to restore HP.&lt;br /&gt;
&lt;br /&gt;
==Locations==&lt;br /&gt;
The cabinet can spawn in a multitude of locations throughout the facility. Usually being easily visible if one is present. It should be noted that these are just the possible locations for them to spawn, it is not guaranteed for them to spawn here everyround, and instead something else will spawn in its place or nothing at all.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt; [[Light Containment Zone]] &amp;lt;/u&amp;gt;&lt;br /&gt;
* [[SCP-914]] &lt;br /&gt;
**Inside the containment chamber&lt;br /&gt;
&lt;br /&gt;
* W/C room&lt;br /&gt;
**On the wall besides the door frame.&lt;br /&gt;
&lt;br /&gt;
*VT Room&lt;br /&gt;
**Behind the door opposite to the plants.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt; [[Heavy Containment Zone]] &amp;lt;/u&amp;gt;&lt;br /&gt;
*HCZ armoury&lt;br /&gt;
**On the left and right side of the room.&lt;br /&gt;
&lt;br /&gt;
*Entrance Check Point&lt;br /&gt;
**On either side of the door to the HCZ&lt;br /&gt;
*Micro HID Room&lt;br /&gt;
**On either side of the room containing the Micro.&lt;br /&gt;
&lt;br /&gt;
*Nuke Room&lt;br /&gt;
**Up the elevator, near the control panel.&lt;br /&gt;
&lt;br /&gt;
*SCP-049&#039;s Room&lt;br /&gt;
**At the top of the elevator, in the hallway.&lt;br /&gt;
&lt;br /&gt;
*SCP-079&#039;s Room&lt;br /&gt;
**Outside the containment chamber.&lt;/div&gt;</summary>
		<author><name>Zabszk</name></author>
	</entry>
	<entry>
		<id>https://en.scpslgame.com/index.php?title=SCP-207&amp;diff=1317</id>
		<title>SCP-207</title>
		<link rel="alternate" type="text/html" href="https://en.scpslgame.com/index.php?title=SCP-207&amp;diff=1317"/>
		<updated>2020-03-03T16:22:03Z</updated>

		<summary type="html">&lt;p&gt;Zabszk: Removed protection from &amp;quot;SCP-207&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{SCP infobox&lt;br /&gt;
|image = Scp207.png&lt;br /&gt;
|image_size = 256&lt;br /&gt;
|zone = [[Light Containment Zone]] [[Heavy Containment Zone]]&lt;br /&gt;
|ability = Makes the user faster but slowly drains HP.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=Lore=&lt;br /&gt;
&amp;quot;Item #: SCP-207&lt;br /&gt;
&lt;br /&gt;
Object Class: Safe&lt;br /&gt;
&lt;br /&gt;
Description: SCP-207 refers to a crate containing 24 Coca-Cola brand cola drinks.The liquid held inside these has been confirmed to be identical across all of SCP-207, and should not be ingested outside of supervised testing. The liquid has been classified as SCP-207-1, and is to be treated as a Class 2 chemical hazard. Mass spectroscopy and chemical tests have shown higher than usual concentrations of caffeine and sugars (both natural and artificial), along with [REDACTED]. SCP-207-1, they will effectively no longer require sleep or rest, nor attempt to sleep or rest.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
-Extract from the SCP-wiki&lt;br /&gt;
&lt;br /&gt;
=Description=&lt;br /&gt;
SCP-207 can be found on &amp;quot;SCP pedastals&amp;quot; for information regarding &amp;quot;SCP-pedastals&amp;quot; please read &amp;quot;[[locations]]&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
When drank, SCP-207 will create the following effects:&lt;br /&gt;
&lt;br /&gt;
-Speed boost:&lt;br /&gt;
*Increased sneaking speed&lt;br /&gt;
*walking speed increased to match sprinting speed.&lt;br /&gt;
*Sprint speed increased by 20%&lt;br /&gt;
-Health Drain per seccond:&lt;br /&gt;
*0.1 while standing still&lt;br /&gt;
*0.15 while sneaking&lt;br /&gt;
*0.4 while walking&lt;br /&gt;
*1 while sprinting&lt;br /&gt;
&lt;br /&gt;
[[SCP-500]] will cure the user of both the buff and health drain.&lt;br /&gt;
&lt;br /&gt;
==Uses==&lt;br /&gt;
*SCP-207 is best used to escape the facillity. the speed boost it grants its invaluable when running from just about any threat in the game. and, having your health drained, its best to get out quickly and quietly, dont use it unless your absolutly sure you can escape. &lt;br /&gt;
*SCP-207 also gives you enough speed to run circles around just about anything in the game, just dont get too cocky, combining it with [[SCP-268]] will allow you to travel a large distance undetected.&lt;/div&gt;</summary>
		<author><name>Zabszk</name></author>
	</entry>
	<entry>
		<id>https://en.scpslgame.com/index.php?title=SCP-939&amp;diff=1316</id>
		<title>SCP-939</title>
		<link rel="alternate" type="text/html" href="https://en.scpslgame.com/index.php?title=SCP-939&amp;diff=1316"/>
		<updated>2020-03-03T16:21:59Z</updated>

		<summary type="html">&lt;p&gt;Zabszk: Removed protection from &amp;quot;SCP-939&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
{{SCP infobox&lt;br /&gt;
|image = SCP-939-53.png&lt;br /&gt;
|caption = SCP-939-53&lt;br /&gt;
|image_size = 256&lt;br /&gt;
|image2 = SCP-939-89.png&lt;br /&gt;
|caption2 = SCP-939-89&lt;br /&gt;
|image_size2 = 256&lt;br /&gt;
|HP = 2200&lt;br /&gt;
|zone = [[Heavy Containment Zone]]&lt;br /&gt;
|speed = 4.5 while walking, 7 while sprinting&lt;br /&gt;
|ability = Sprinting, speaking to humans, seeing sound through walls.&lt;br /&gt;
}}&lt;br /&gt;
=Lore=&lt;br /&gt;
&#039;&#039;&amp;quot;SCP-939 are endothermic, pack-based predators which display atrophy of various systems similar to troglobitic organisms. The skins of SCP-939 are highly permeable to moisture and translucent red, owing to a compound chemically similar to hemoglobin. Their heads are elongated, devoid of even vestigial eyes or eye sockets, and contain no brain casing. The jaws of SCP-939 are lined with red, faintly luminescent fang-like teeth, similar to those belonging to specimens of the genus Chauliodus, up to 6 cm in length, and encircled by heat-sensitive pit organs. Eye spots, sensitive to light and dark, run the length of their spined dorsal ridges.&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;quot;SCP-939&#039;s primary method of luring prey is the imitation of human speech in the voices of prior victims, though imitation of other species and active nocturnal hunts have been documented. SCP-939 vocalizations often imply significant distress; whether SCP-939 understand their vocalizations or are repeating previously heard phrases is the subject of ongoing study. How SCP-939 acquire voices is not currently understood;&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
-Extract from the SCP Wiki.&lt;br /&gt;
&lt;br /&gt;
=In Game=&lt;br /&gt;
Starting the round, SCP-939 will spawn in its containment cell, which has a ramp leading to the HCZ. Upon getting out, SCP-939 is able to roam curiously around the HCZ, finding prey, and finding predators. Many encounters can happen for SCP-939, such as being attacked by the [[Facility Guard]] or they could possibly head straight towards the LCZ.&lt;br /&gt;
&lt;br /&gt;
SCP-939 has a bite attack that it can perform by left clicking a human. This can so be done by simply holding down left click, which is far more effective. SCP-939 bite attack is extremely strong but will not kill in one hit, allowing most humans a second chance to escape and heal if they are lucky. When playing as 939 note that the attack is delayed, and the less health you have the more damage each attack will do.&lt;br /&gt;
&lt;br /&gt;
SCP-939 has the ability to speak with anyone in the game, by default this is done with the V key. While using this ability, only people near you can hear you. SCP-939 can also see moving or talking individuals, through a certain distance, and through walls, giving them an animated ghostly white outline.&lt;br /&gt;
&lt;br /&gt;
SCP-939&#039;s footsteps are completely silent unless sprinting. Allowing him to easily sneak up behind unsuspecting targets.&lt;br /&gt;
&lt;br /&gt;
=Strengths and Weaknesses=&lt;br /&gt;
&lt;br /&gt;
===Strengths:===&lt;br /&gt;
*Can run&lt;br /&gt;
*Can talk to [[:Category:Humans|non-SCPs]]&lt;br /&gt;
*Can see outlines of players causing sound through multiple walls&lt;br /&gt;
* Footsteps are silent when not sprinting&lt;br /&gt;
*Can see people using [[SCP-268]] as long as they are making noise or are on the surface&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
===Weaknesses:===&lt;br /&gt;
*Can easily be avoided&lt;br /&gt;
*Incredibly large hitbox&lt;br /&gt;
*Cooldown on attacks&lt;br /&gt;
&lt;br /&gt;
=Trivia=&lt;br /&gt;
* SCP-939 has multiple iterations, both in game and in lore on the wiki.&lt;br /&gt;
* Many refer to SCP-939 unironically as &amp;quot;Dog&amp;quot; or &amp;quot;Bacon Boy&amp;quot;.&lt;br /&gt;
* SCP-939 can run, a special trait that only SCP-939 inherits.&lt;br /&gt;
* SCP-939 is one of two only SCPs, the other one being SCP-079, to have two voice chats, one to SCPs, one to humans.&lt;/div&gt;</summary>
		<author><name>Zabszk</name></author>
	</entry>
	<entry>
		<id>https://en.scpslgame.com/index.php?title=SCP-049&amp;diff=1315</id>
		<title>SCP-049</title>
		<link rel="alternate" type="text/html" href="https://en.scpslgame.com/index.php?title=SCP-049&amp;diff=1315"/>
		<updated>2020-03-03T16:21:34Z</updated>

		<summary type="html">&lt;p&gt;Zabszk: Removed protection from &amp;quot;SCP-049&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{SCP infobox&lt;br /&gt;
|image = SCP-049.png&lt;br /&gt;
|image_size = 100&lt;br /&gt;
|HP = 1700&lt;br /&gt;
|zone = [[Heavy Containment Zone]]&lt;br /&gt;
|speed = 5.6&lt;br /&gt;
|ability = Resurrecting those dead bodies as SCP-049-2&lt;br /&gt;
}}&lt;br /&gt;
=Lore=&lt;br /&gt;
&#039;&#039;&amp;quot;SCP-049 is 1.9 m. tall and weighs an indeterminable amount due to given his lethality through touch. The thick robes it appears to wear are a part of its body, which despite appear to be external actually grow from SCP-049 - through X-Ray scans, he does have a humanoid skeletal system underneath.&amp;quot;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;quot;SCP-049 will become hostile with individuals it sees as being affected by the Pestilence, often having to be restrained should it encounter such. If left unchecked, SCP-049 will generally attempt to kill any such individual; SCP-049 is capable of causing all biological functions of an organism to cease through direct skin contact. How this occurs is currently unknown, and autopsies of SCP-049&#039;s victims have invariably been inconclusive. SCP-049 has expressed frustration or remorse after these killings, indicating that they have done little to kill &amp;quot;The Pestilence&amp;quot;, though will usually seek to then perform a crude surgery on the corpse using the implements contained within a black doctor&#039;s bag it carries on its person at all times. While these surgeries are not always &amp;quot;successful&amp;quot;, they often result in the creation of instances of SCP-049-2.&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
- Extracts from Official Wiki Page&lt;br /&gt;
&lt;br /&gt;
=In Game=&lt;br /&gt;
After being spawned in SCP-049&#039;s cell in Heavy Containment, SCP-049 can immediately leave his cell given as he must use the elevator in his area to reach HCZ properly. Upon leaving, SCP-049 will be let loose to cure the impure of the facility, and end the &amp;quot;Pestilence&amp;quot;. SCP-049 can kill any human instantly upon pressing Left Click, and upon holding &amp;quot;E&amp;quot; upon their corpse, can resurrect them as an instance of 049-2, however there are serious drawbacks to him. SCP-049 is incapable of running, and walks briskly at most, and while he can jump, it is only slightly more than SCP-173. SCP-049 also can only revive any dead body within a certain amount of time (default being 10 seconds). It takes 10 seconds to revive any dead body. SCP-049&#039;s attack has a 1.5 cooldown, this cooldown only activates on successful kills.&lt;br /&gt;
&lt;br /&gt;
For information regarding SCP-049-2, please click [[SCP-049-2|here]]&lt;br /&gt;
&lt;br /&gt;
=Strengths and Weaknesses=&lt;br /&gt;
===Strengths:===&lt;br /&gt;
*Instant kills&lt;br /&gt;
*Can create instances of SCP-049-2, which can be used as meat shields for the SCPs, and can overwhelm humans.&lt;br /&gt;
*No capacity on how many instances of SCP-049-2 can exist, meaning a massive army can be constructed if played correctly.&lt;br /&gt;
*Can resurrect any dead body, no matter cause of death, unless that dead body is that of an SCP.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Weaknesses:===&lt;br /&gt;
*Incredibly slow movement.&lt;br /&gt;
*Low HP&lt;br /&gt;
*Audible and recognizable footsteps&lt;br /&gt;
*Can only create instances of SCP-049-2 from people that were killed within the last 10 seconds.&lt;br /&gt;
*Spawning SCP-049-2 instances forces SCP-049 to be immobile until the respawn is complete.&lt;br /&gt;
&lt;br /&gt;
=Trivia=&lt;br /&gt;
*As of late, SCP-049 has gotten a rewrite on the main SCP Wiki!&lt;br /&gt;
*Many refer to SCP-049 as &amp;quot;Plague Boy&amp;quot;, &amp;quot;Doctor&amp;quot;, or simply &amp;quot;049&amp;quot;.&lt;br /&gt;
*SCP-049 can still attack while reviving people, if it keeps holding &amp;quot;E&amp;quot; and clicks on someone in range.&lt;br /&gt;
*Using SCP-049 to his fullest can allow one to completely force any enemy faction out of HCZ.&lt;br /&gt;
*Due to his ability to create new SCPs (049-2), he can reverse the SCP body count at the end of a match, sometimes into the negatives.&lt;/div&gt;</summary>
		<author><name>Zabszk</name></author>
	</entry>
	<entry>
		<id>https://en.scpslgame.com/index.php?title=Keycard&amp;diff=939</id>
		<title>Keycard</title>
		<link rel="alternate" type="text/html" href="https://en.scpslgame.com/index.php?title=Keycard&amp;diff=939"/>
		<updated>2019-11-18T20:41:25Z</updated>

		<summary type="html">&lt;p&gt;Zabszk: Rejected the last 2 text changes (by 2601:154:C000:2DA0:4998:B46D:56BE:5D58) and restored revision 814 by Blue: Rejected test edits&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Item infobox&lt;br /&gt;
|image	= Scientist_Keycard.png&lt;br /&gt;
|image_size = 100&lt;br /&gt;
|type	= Equipment (Tool)&lt;br /&gt;
|usage	= Opens certain doors&lt;br /&gt;
|spawn = In random locations, cabinets and on certain [[:Category:Classes|Classes]]&lt;br /&gt;
}}&lt;br /&gt;
=In Game=&lt;br /&gt;
Keycards are items which allow the player to access different parts of the facility, &#039;&#039;most&#039;&#039; cards have a distinguishable color and can be identified from a distance (Guard/Senior Guard/Cadet and Lieutenant/Commander cards are the same color).&lt;br /&gt;
&lt;br /&gt;
Keycards are essential if a player wants to go anywhere in the facility, as checkpoints, gates and certain doors require different clearances to enter.&lt;br /&gt;
&lt;br /&gt;
There are currently 12 keycards and 3 card types.&lt;br /&gt;
&lt;br /&gt;
==List of cards==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Card !! Tier !! CCA !! AA !! IA !! CA !! EGA&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Janitor_Keycard.png|60px]] Janitor || SCP Containment - Tier 1 || LOW || NONE || NONE || NONE || NONE&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Scientist_Keycard.png|60px]] Scientist || SCP Containment - Tier 2 || MEDIUM || NONE || NONE || NONE || NONE&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Major_Scientist_Keycard.png|60px]] Research Supervisor || SCP Containment - Tier 3 || MEDIUM || NONE || NONE || YES || NONE&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Zone_Manager_Keycard.png|60px]] Zone Manager || Administration - Tier 1 || LOW || NONE || NONE || YES || NONE&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Guard_Keycard.png|60px]] Guard || Security - Tier 1 || LOW || LOW || NONE || YES || NONE&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Senior_Guard_Keycard.png|60px]] Senior Guard || Security - Tier 2 || MEDIUM || MEDIUM || NONE || YES || NONE&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Containment_Engineer_Keycard.png|60px]] Containment Engineer || SCP Containment - Tier 4 || ALL || NONE || YES || YES || NONE&lt;br /&gt;
|-&lt;br /&gt;
| [[File:MTF Lieutenant_Keycard.png|60px]] MTF Lieutenant || Security - Tier 3 || MEDIUM || MEDIUM || NONE || YES || YES&lt;br /&gt;
|-&lt;br /&gt;
| [[File:MTF Commander_Keycard.png|60px]] MTF Commander || Security - Tier 4 || MEDIUM || ALL || YES || YES || YES&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Facility_Manager_Keycard.png|60px]] Facility Manager || Administration - Tier 2 || ALL || NONE || YES || YES || YES&lt;br /&gt;
|-&lt;br /&gt;
| [[File:Chaos Insurgency Device.png|60px]] Chaos Insurgency Device || Administration - Tier 3 || MEDIUM || ALL || YES || YES || YES&lt;br /&gt;
|-&lt;br /&gt;
| [[File:O5_Level Keycard.png|60px]] O5 || Administration - Tier 4 || ALL || ALL || YES || YES || YES&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
CCA - Containment Chamber Access&amp;lt;br&amp;gt;&lt;br /&gt;
AA - Armory Access&amp;lt;br&amp;gt;&lt;br /&gt;
IA - Intercom Access&amp;lt;br&amp;gt;&lt;br /&gt;
CA - Checkpoint Authorization&amp;lt;br&amp;gt;&lt;br /&gt;
EGA - Entrance Gate Authorization&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Spawning==&lt;br /&gt;
* Janitor, Scientist and Zone Manager cards can spawn in the LCZ&lt;br /&gt;
&lt;br /&gt;
* Senior Guard and MTF Commander cards can spawn in the HCZ&lt;br /&gt;
&lt;br /&gt;
* Zone Manager, Lieutenant and MTF Commander cards can spawn in the EZ&lt;br /&gt;
&lt;br /&gt;
* Scientist, Guard, MTF and the CI Device spawn on certain classes when initially spawning&lt;/div&gt;</summary>
		<author><name>Zabszk</name></author>
	</entry>
	<entry>
		<id>https://en.scpslgame.com/index.php?title=Main_Page&amp;diff=808</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://en.scpslgame.com/index.php?title=Main_Page&amp;diff=808"/>
		<updated>2019-07-01T20:07:38Z</updated>

		<summary type="html">&lt;p&gt;Zabszk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;mp-center&amp;quot; style=&amp;quot;width:100%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-section&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-header&amp;quot;&amp;gt;Welcome to the Official SCP: Secret Laboratory Wiki!&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;The official information hub for all things SCP:SL, with over {{NUMBEROFPAGES}} pages and counting! &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;While the wiki is still a work in progress down below you can find some articles on the SCPs, various playable classes and more.&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-left&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-section&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-header&amp;quot;&amp;gt;About the Game&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size: 90%;&amp;quot;&amp;gt;&#039;&#039;&#039;SCP: Secret Laboratory&#039;&#039;&#039; is a multiplayer horror game currently in development by Northwood Studios, based on Undertow Games&#039; SCP: Containment Breach and Garry&#039;s Mod&#039;s Breach gamemode.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The game features playable 7 classes: [[Class-D]]s, [[Scientist]]s, [[Facility Guard]]s, [[Mobile Task Force]], [[Chaos Insurgent]]s and the [[SCPs]], each one with their own objectives.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;The randomly generated facility and class division make every game random and full of sensations, you never know where you are heading or what awaits you behind the next door, no matter what class you are playing.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-section&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-header&amp;quot;&amp;gt;Links&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:115%;line-height:1.6;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:sl-discord.png|20px|link=https://discordapp.com/invite/scpsl]] [https://discordapp.com/invite/scpsl Official SCP:SL Discord]&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:sl-patreon.png|20px|link=https://www.patreon.com/HubertMoszka]] [https://www.patreon.com/HubertMoszka Patreon Page]&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:sl-steam.png|20px|link=https://store.steampowered.com/app/700330/SCP_Secret_Laboratory/]] [https://store.steampowered.com/app/700330/SCP_Secret_Laboratory/ Steam Page]&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-right&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- UPDATE BOX --&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-section&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-header&amp;quot;&amp;gt;Most Recent Update&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;div style=&amp;quot;border: 1px solid white;width:202px;&amp;quot;&amp;gt;[[File:mpc-update.png|200px|link=Updates/8.0.0]]&amp;lt;/div&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Version:&#039;&#039;&#039; v8.0.0&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Release Date:&#039;&#039;&#039; 17.12.2018.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;span style=&amp;quot;font-size: 110%; font-weight: bold;&amp;quot;&amp;gt;Update Highlights&amp;lt;/span&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
*[[SCP-079]] re-added&lt;br /&gt;
*[[USP]] added&lt;br /&gt;
*[[Attachments|Weapon attachment]] changes&lt;br /&gt;
*C.A.S.S.I.E. voiceline changes&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align:center;font-size:80%;margin:10px 0 0 0;&amp;quot;&amp;gt;[[Updates/8.0.0|Update changelogs]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- WIKI MAINTAINERS LIST --&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-section&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-header&amp;quot;&amp;gt;Wiki Maintainers&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;b&amp;gt;Wiki Coordinators&amp;lt;/b&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
* [[User:Blue|Blue]] ([[User_talk:Blue|Talk]] | [[Special:Contributions/Blue|Contribs]])&lt;br /&gt;
* [[User:Cross-conception|Cross-conception]] ([[User_talk:Cross-conception|Talk]] | [[Special:Contributions/Cross-conception|Contribs]])&lt;br /&gt;
* [[User:Grave|Grave]] ([[User_talk:Grave|Talk]] | [[Special:Contributions/Grave|Contribs]])&lt;br /&gt;
* [[User:Keegan|Keegan]] ([[User_talk:Keegan|Talk]] | [[Special:Contributions/Keegan|Contribs]])&lt;br /&gt;
* [[User:LoremProto|Lorem]] ([[User_talk:LoremProto|Talk]] | [[Special:Contributions/LoremProto|Contribs]])&lt;br /&gt;
* [[User:ŁukaszKlapek|Klapek]] ([[User_talk:ŁukaszKlapek|Talk]] | [[Special:Contributions/ŁukaszKlapek|Contribs]])&lt;br /&gt;
* [[User:Luzgord|Luzgord]] ([[User_talk:Luzgord|Talk]] | [[Special:Contributions/Luzgord|Contribs]])&lt;br /&gt;
&amp;lt;hr&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;b&amp;gt;Stewards&amp;lt;/b&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
* [[User:Moszka|Hubert Moszka]] ([[User_talk:Moszka|Talk]] | [[Special:Contributions/Moszka|Contribs]])&lt;br /&gt;
* [[User:SkullOG|SkullOG]] ([[User_talk:SkullOG|Talk]] | [[Special:Contributions/SkullOG|Contribs]])&lt;br /&gt;
* [[User:Zabszk|Zabszk]] ([[User_talk:Zabszk|Talk]] | [[Special:Contributions/Zabszk|Contribs]])&lt;br /&gt;
* [[User:Romlyn|Romlyn]] ([[User talk:Romlyn|Talk]] | [[Special:Contributions/Romlyn|Contribs]])&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- CONTENT BOX --&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-center&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- GAME CONTENT BOX --&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-section&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-header&amp;quot;&amp;gt;Game Content&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align:center;&amp;quot;&amp;gt;{{Hycontent|SCPs|mpc-scps}}{{Hycontent|Classes|mpc-classes}}{{Hycontent|Weapons|mpc-weapons}}{{Hycontent|Items|mpc-items}}&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- TECH INFO BOX --&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-header&amp;quot;&amp;gt;Technical Info&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-wide&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Game Troubleshooting]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Server Info]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[System Requirements]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Zabszk</name></author>
	</entry>
	<entry>
		<id>https://en.scpslgame.com/index.php?title=Main_Page&amp;diff=755</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://en.scpslgame.com/index.php?title=Main_Page&amp;diff=755"/>
		<updated>2019-04-06T11:10:08Z</updated>

		<summary type="html">&lt;p&gt;Zabszk: Protected &amp;quot;Main Page&amp;quot;: High traffic page ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite)) [cascading]&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;mp-center&amp;quot; style=&amp;quot;width:100%&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-section&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-header&amp;quot;&amp;gt;Welcome to the Official SCP: Secret Laboratory Wiki!&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;The official information hub for all things SCP:SL, with over {{NUMBEROFPAGES}} pages and counting! &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;While the wiki is still a work in progress down below you can find some articles on the SCPs, various playable classes and more.&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-left&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-section&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-header&amp;quot;&amp;gt;About the Game&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size: 90%;&amp;quot;&amp;gt;&#039;&#039;&#039;SCP: Secret Laboratory&#039;&#039;&#039; is a multiplayer horror game currently in development by Northwood Studios, based on Undertow Games&#039; SCP: Containment Breach and Garry&#039;s Mod&#039;s Breach gamemode.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
The game features playable 7 classes: [[Class-D]]s, [[Scientist]]s, [[Facility Guard]]s, [[Mobile Task Force]], [[Chaos Insurgent]]s and the [[SCPs]], each one with their own objectives.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;The randomly generated facility and class division make every game random and full of sensations, you never know where you are heading or what awaits you behind the next door, no matter what class you are playing.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-section&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-header&amp;quot;&amp;gt;Links&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;font-size:115%;line-height:1.6;&amp;quot;&amp;gt;&lt;br /&gt;
[[File:sl-discord.png|20px|link=https://discordapp.com/invite/scpsl]] [https://discordapp.com/invite/scpsl Official SCP:SL Discord]&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:sl-patreon.png|20px|link=https://www.patreon.com/HubertMoszka]] [https://www.patreon.com/HubertMoszka Patreon Page]&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:sl-steam.png|20px|link=https://store.steampowered.com/app/700330/SCP_Secret_Laboratory/]] [https://store.steampowered.com/app/700330/SCP_Secret_Laboratory/ Steam Page]&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-right&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- UPDATE BOX --&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-section&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-header&amp;quot;&amp;gt;Most Recent Update&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;div style=&amp;quot;border: 1px solid white;width:202px;&amp;quot;&amp;gt;[[File:mpc-update.png|200px|link=Updates/8.0.0]]&amp;lt;/div&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Version:&#039;&#039;&#039; v8.0.0&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Release Date:&#039;&#039;&#039; 17.12.2018.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;span style=&amp;quot;font-size: 110%; font-weight: bold;&amp;quot;&amp;gt;Update Highlights&amp;lt;/span&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
*[[SCP-079]] re-added&lt;br /&gt;
*[[USP]] added&lt;br /&gt;
*[[Attachments|Weapon attachment]] changes&lt;br /&gt;
*C.A.S.S.I.E. voiceline changes&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align:center;font-size:80%;margin:10px 0 0 0;&amp;quot;&amp;gt;[[Updates/8.0.0|Update changelogs]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- WIKI MAINTAINERS LIST --&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-section&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-header&amp;quot;&amp;gt;Wiki Maintainers&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;b&amp;gt;Wiki Coordinators&amp;lt;/b&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
* [[User:Blue|Blue]] ([[User_talk:Blue|Talk]] | [[Special:Contributions/Blue|Contribs]])&lt;br /&gt;
* [[User:Cross-conception|Cross-conception]] ([[User_talk:Cross-conception|Talk]] | [[Special:Contributions/Cross-conception|Contribs]])&lt;br /&gt;
* [[User:Grave|Grave]] ([[User_talk:Grave|Talk]] | [[Special:Contributions/Grave|Contribs]])&lt;br /&gt;
* [[User:Keegan|Keegan]] ([[User_talk:Keegan|Talk]] | [[Special:Contributions/Keegan|Contribs]])&lt;br /&gt;
* [[User:LoremProto|Lorem]] ([[User_talk:LoremProto|Talk]] | [[Special:Contributions/LoremProto|Contribs]])&lt;br /&gt;
* [[User:ŁukaszKlapek|Klapek]] ([[User_talk:ŁukaszKlapek|Talk]] | [[Special:Contributions/ŁukaszKlapek|Contribs]])&lt;br /&gt;
* [[User:Luzgord|Luzgord]] ([[User_talk:Luzgord|Talk]] | [[Special:Contributions/Luzgord|Contribs]])&lt;br /&gt;
* [[User:NotADev|NotADev]] ([[User_talk:NotADev|Talk]] | [[Special:Contributions/NotADev|Contribs]])&lt;br /&gt;
&amp;lt;hr&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&amp;lt;b&amp;gt;Stewards&amp;lt;/b&amp;gt;&amp;lt;/center&amp;gt;&lt;br /&gt;
* [[User:Moszka|Hubert Moszka]] ([[User_talk:Moszka|Talk]] | [[Special:Contributions/Moszka|Contribs]])&lt;br /&gt;
* [[User:SkullOG|SkullOG]] ([[User_talk:SkullOG|Talk]] | [[Special:Contributions/SkullOG|Contribs]])&lt;br /&gt;
* [[User:Zabszk|Zabszk]] ([[User_talk:Zabszk|Talk]] | [[Special:Contributions/Zabszk|Contribs]])&lt;br /&gt;
* [[User:Faety|Faety]] ([[User talk:Faety|Talk]] | [[Special:Contributions/Faety|Contribs]])&lt;br /&gt;
* [[User:Romlyn|Romlyn]] ([[User talk:Romlyn|Talk]] | [[Special:Contributions/Romlyn|Contribs]])&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- CONTENT BOX --&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-center&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- GAME CONTENT BOX --&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-section&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-header&amp;quot;&amp;gt;Game Content&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align:center;&amp;quot;&amp;gt;{{Hycontent|SCPs|mpc-scps}}{{Hycontent|Classes|mpc-classes}}{{Hycontent|Weapons|mpc-weapons}}{{Hycontent|Items|mpc-items}}&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- TECH INFO BOX --&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-header&amp;quot;&amp;gt;Technical Info&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mp-wide&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Server Info]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[Game Troubleshooting]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;[[System Requirements]]&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Zabszk</name></author>
	</entry>
	<entry>
		<id>https://en.scpslgame.com/index.php?title=Template:Color&amp;diff=337</id>
		<title>Template:Color</title>
		<link rel="alternate" type="text/html" href="https://en.scpslgame.com/index.php?title=Template:Color&amp;diff=337"/>
		<updated>2018-10-29T18:46:22Z</updated>

		<summary type="html">&lt;p&gt;Zabszk: Protected &amp;quot;Template:Color&amp;quot;: High traffic page ([Edit=Allow only autoconfirmed users] (indefinite) [Move=Allow only autoconfirmed users] (indefinite))&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;|-&lt;br /&gt;
| {{{1}}}&lt;br /&gt;
| style=&amp;quot;background:{{{2}}}&amp;quot;|&amp;amp;nbsp;{{{2}}}&lt;br /&gt;
| {{{3|Server groups}}}&lt;/div&gt;</summary>
		<author><name>Zabszk</name></author>
	</entry>
	<entry>
		<id>https://en.scpslgame.com/index.php?title=Template:Color&amp;diff=335</id>
		<title>Template:Color</title>
		<link rel="alternate" type="text/html" href="https://en.scpslgame.com/index.php?title=Template:Color&amp;diff=335"/>
		<updated>2018-10-29T18:42:20Z</updated>

		<summary type="html">&lt;p&gt;Zabszk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;|-&lt;br /&gt;
| {{{1}}}&lt;br /&gt;
| style=&amp;quot;background:{{{2}}}&amp;quot;|&amp;amp;nbsp;{{{2}}}&lt;br /&gt;
| {{{3|Server groups}}}&lt;/div&gt;</summary>
		<author><name>Zabszk</name></author>
	</entry>
	<entry>
		<id>https://en.scpslgame.com/index.php?title=Template:Color&amp;diff=333</id>
		<title>Template:Color</title>
		<link rel="alternate" type="text/html" href="https://en.scpslgame.com/index.php?title=Template:Color&amp;diff=333"/>
		<updated>2018-10-29T18:26:58Z</updated>

		<summary type="html">&lt;p&gt;Zabszk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;|-&lt;br /&gt;
| {{{1}}}&lt;br /&gt;
| style=&amp;quot;background:{{{2}}}&amp;quot;|&amp;amp;nbsp;{{{2}}}&lt;br /&gt;
| {{{3|Local groups}}}&lt;/div&gt;</summary>
		<author><name>Zabszk</name></author>
	</entry>
	<entry>
		<id>https://en.scpslgame.com/index.php?title=Template:Color&amp;diff=332</id>
		<title>Template:Color</title>
		<link rel="alternate" type="text/html" href="https://en.scpslgame.com/index.php?title=Template:Color&amp;diff=332"/>
		<updated>2018-10-29T18:16:32Z</updated>

		<summary type="html">&lt;p&gt;Zabszk: Zabszk moved page Templaet:Color to Template:Color without leaving a redirect&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;|-&lt;br /&gt;
| {{{1}}}&lt;br /&gt;
| style=&amp;quot;background:{{{2}}}&amp;quot;|&amp;amp;nbsp;{{{2}}}&lt;/div&gt;</summary>
		<author><name>Zabszk</name></author>
	</entry>
	<entry>
		<id>https://en.scpslgame.com/index.php?title=Template:Color&amp;diff=331</id>
		<title>Template:Color</title>
		<link rel="alternate" type="text/html" href="https://en.scpslgame.com/index.php?title=Template:Color&amp;diff=331"/>
		<updated>2018-10-29T18:15:14Z</updated>

		<summary type="html">&lt;p&gt;Zabszk: Created page with &amp;quot;|- | {{{1}}} | style=&amp;quot;background:{{{2}}}&amp;quot;|&amp;amp;nbsp;{{{2}}}&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;|-&lt;br /&gt;
| {{{1}}}&lt;br /&gt;
| style=&amp;quot;background:{{{2}}}&amp;quot;|&amp;amp;nbsp;{{{2}}}&lt;/div&gt;</summary>
		<author><name>Zabszk</name></author>
	</entry>
	<entry>
		<id>https://en.scpslgame.com/index.php?title=Facility_Guard&amp;diff=232</id>
		<title>Facility Guard</title>
		<link rel="alternate" type="text/html" href="https://en.scpslgame.com/index.php?title=Facility_Guard&amp;diff=232"/>
		<updated>2018-09-15T23:34:33Z</updated>

		<summary type="html">&lt;p&gt;Zabszk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Class infobox&lt;br /&gt;
|image   = Facility-Guard.png&lt;br /&gt;
|image_size = 100&lt;br /&gt;
|HP      = 100&lt;br /&gt;
|zone    = [[Entrance Zone]]&lt;br /&gt;
|speed   = 10&lt;br /&gt;
|Starting Gear = MP7, Walkie Talkie, Guard Keycard&lt;br /&gt;
|Enemies = Chaos-Insurgency, SCPs, D-Class&lt;br /&gt;
}}&lt;br /&gt;
=Lore=&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;Facility Guards stationed at the unspecified Site are expected to carry out the procedures and wishes of both their higher ups, and they scientists they protect. If a SCP breaches containment, these individuals are the first line of defence against the outbreak... and despite their loyalty to the Foundation, in the case of an actual breach, not are expected to actually survive.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=In Game=&lt;br /&gt;
----&lt;br /&gt;
All Facility Guards are spawned within the Entrance Zone of the Site. Where they spawn specifically do vary including in front of the Shelter, Gates, or in a random hallway. The goal of the Facility Guard is to get to lower levels to get the scientists to the Entrance to allow the next spawning MTF units to escort them out. Regardless of whether or not Guards wish to do so, they must go into the Facility as they lack the proper cards to actually get out. While looking similar to the actual MTF units, and being noticablt weaker, the Guards wear a more simple grey camoflauge as compared to the MTF blue.&lt;br /&gt;
&lt;br /&gt;
==Starting Items==&lt;br /&gt;
* MP7&lt;br /&gt;
* Radio&lt;br /&gt;
* Disarmer&lt;br /&gt;
* Flashbang&lt;br /&gt;
* Weapon Manager Tablet&lt;br /&gt;
&lt;br /&gt;
==Enemies==&lt;br /&gt;
* D-Class&lt;br /&gt;
* Chaos-Insurgency&lt;br /&gt;
* SCPs&lt;br /&gt;
&lt;br /&gt;
=Trivia=&lt;br /&gt;
----&lt;br /&gt;
* Facility Guards were a replacement for the first MTF wave in the original game.&lt;br /&gt;
* Guards aren&#039;t expected to live longer than the next few MTF spawns.&lt;br /&gt;
* Unlike their MTF counterparts, Guards are simply grey and lack the firepower the MTF bring.&lt;br /&gt;
&lt;br /&gt;
[[Category:Human]]&lt;br /&gt;
[[Category:Classes]]&lt;/div&gt;</summary>
		<author><name>Zabszk</name></author>
	</entry>
	<entry>
		<id>https://en.scpslgame.com/index.php?title=Facility_Guard&amp;diff=231</id>
		<title>Facility Guard</title>
		<link rel="alternate" type="text/html" href="https://en.scpslgame.com/index.php?title=Facility_Guard&amp;diff=231"/>
		<updated>2018-09-15T23:32:56Z</updated>

		<summary type="html">&lt;p&gt;Zabszk: Zone renamed&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{SCP infobox&lt;br /&gt;
|image   = Facility-Guard.png&lt;br /&gt;
|image_size = 100&lt;br /&gt;
|HP      = 100&lt;br /&gt;
|zone    = [[Entrance Zone]]&lt;br /&gt;
|speed   = 10&lt;br /&gt;
|Starting Gear = MP7, Walkie Talkie, Guard Keycard&lt;br /&gt;
|Enemies = Chaos-Insurgency, SCPs, D-Class&lt;br /&gt;
}}&lt;br /&gt;
=Lore=&lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;Facility Guards stationed at the unspecified Site are expected to carry out the procedures and wishes of both their higher ups, and they scientists they protect. If a SCP breaches containment, these individuals are the first line of defence against the outbreak... and despite their loyalty to the Foundation, in the case of an actual breach, not are expected to actually survive.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=In Game=&lt;br /&gt;
----&lt;br /&gt;
All Facility Guards are spawned within the Entrance Zone of the Site. Where they spawn specifically do vary including in front of the Shelter, Gates, or in a random hallway. The goal of the Facility Guard is to get to lower levels to get the scientists to the Entrance to allow the next spawning MTF units to escort them out. Regardless of whether or not Guards wish to do so, they must go into the Facility as they lack the proper cards to actually get out. While looking similar to the actual MTF units, and being noticablt weaker, the Guards wear a more simple grey camoflauge as compared to the MTF blue.&lt;br /&gt;
&lt;br /&gt;
==Starting Items==&lt;br /&gt;
* MP7&lt;br /&gt;
* Radio&lt;br /&gt;
* Disarmer&lt;br /&gt;
* Flashbang&lt;br /&gt;
* Weapon Manager Tablet&lt;br /&gt;
&lt;br /&gt;
==Enemies==&lt;br /&gt;
* D-Class&lt;br /&gt;
* Chaos-Insurgency&lt;br /&gt;
* SCPs&lt;br /&gt;
&lt;br /&gt;
=Trivia=&lt;br /&gt;
----&lt;br /&gt;
* Facility Guards were a replacement for the first MTF wave in the original game.&lt;br /&gt;
* Guards aren&#039;t expected to live longer than the next few MTF spawns.&lt;br /&gt;
* Unlike their MTF counterparts, Guards are simply grey and lack the firepower the MTF bring.&lt;br /&gt;
&lt;br /&gt;
[[Category:Human]]&lt;br /&gt;
[[Category:Classes]]&lt;/div&gt;</summary>
		<author><name>Zabszk</name></author>
	</entry>
	<entry>
		<id>https://en.scpslgame.com/index.php?title=Template:SCP_infobox&amp;diff=42</id>
		<title>Template:SCP infobox</title>
		<link rel="alternate" type="text/html" href="https://en.scpslgame.com/index.php?title=Template:SCP_infobox&amp;diff=42"/>
		<updated>2018-06-25T14:59:51Z</updated>

		<summary type="html">&lt;p&gt;Zabszk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox&lt;br /&gt;
|bodyclass      = vcard&lt;br /&gt;
&lt;br /&gt;
|aboveclass     = fn org&lt;br /&gt;
|abovestyle     = background-color:#DC143C&lt;br /&gt;
|above          = {{#ifeq:{{{Name|}}}||&amp;lt;includeonly&amp;gt;{{error|Class name required|tag=span}}&amp;lt;/includeonly&amp;gt;|{{{Name}}}}}&lt;br /&gt;
&lt;br /&gt;
|subheader      = {{ifempty|{{{other_name|}}}|{{{alt_name|}}}}}&lt;br /&gt;
|suheaderclass = nickname&lt;br /&gt;
&lt;br /&gt;
|image1   = {{#invoke:InfoboxImage|InfoboxImage|image={{{image|{{{photo|}}}}}}|size={{{image_size|{{{photo_width|}}}}}}|sizedefault=256px|alt={{{alt|{{{photo_alt|}}}}}}}}&lt;br /&gt;
|caption1 = {{ifempty|{{{caption|}}}|{{{photo_caption|}}}}}&lt;br /&gt;
&lt;br /&gt;
|label1   = ID&lt;br /&gt;
|data1    = {{{ID|}}}&lt;br /&gt;
&lt;br /&gt;
|label2   = HP&lt;br /&gt;
|data2    = {{{HP|}}}&lt;br /&gt;
&lt;br /&gt;
|label3   = Team&lt;br /&gt;
|data3    = {{{Team|}}}&lt;br /&gt;
&lt;br /&gt;
|label4   = Start zone&lt;br /&gt;
|data4    = {{{Zone|}}}&lt;br /&gt;
&lt;br /&gt;
|label5   = Walk speed&lt;br /&gt;
|data5    = {{{Speed|}}}&lt;br /&gt;
&lt;br /&gt;
|label6   = Special Ability&lt;br /&gt;
|data6    = {{{Ability|}}}&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{SCP infobox&lt;br /&gt;
|Name    = SCP-173&lt;br /&gt;
|image   = SCP Foundation (emblem).svg&lt;br /&gt;
|caption = Some foundation logo&lt;br /&gt;
|ID      = 1&lt;br /&gt;
|HP      = {{Hub::Global:SCP-173/HP}}&lt;br /&gt;
|Team    = SCP&lt;br /&gt;
|Zone    = [[Heavy containment zone]]&lt;br /&gt;
|Speed   = 60&lt;br /&gt;
|Ability = Moving when nobody is looking at him&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Zabszk</name></author>
	</entry>
	<entry>
		<id>https://en.scpslgame.com/index.php?title=Template:SCP_infobox&amp;diff=41</id>
		<title>Template:SCP infobox</title>
		<link rel="alternate" type="text/html" href="https://en.scpslgame.com/index.php?title=Template:SCP_infobox&amp;diff=41"/>
		<updated>2018-06-22T20:42:20Z</updated>

		<summary type="html">&lt;p&gt;Zabszk: Created page with &amp;quot;{{Infobox |bodyclass      = vcard  |aboveclass     = fn org |abovestyle     = background-color:#DC143C |above          = {{#ifeq:{{{Name|}}}||&amp;lt;includeonly&amp;gt;{{error|Class name r...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox&lt;br /&gt;
|bodyclass      = vcard&lt;br /&gt;
&lt;br /&gt;
|aboveclass     = fn org&lt;br /&gt;
|abovestyle     = background-color:#DC143C&lt;br /&gt;
|above          = {{#ifeq:{{{Name|}}}||&amp;lt;includeonly&amp;gt;{{error|Class name required|tag=span}}&amp;lt;/includeonly&amp;gt;|{{{Name}}}}}&lt;br /&gt;
&lt;br /&gt;
|subheader      = {{ifempty|{{{other_name|}}}|{{{alt_name|}}}}}&lt;br /&gt;
|suheaderclass = nickname&lt;br /&gt;
&lt;br /&gt;
|image1   = {{#invoke:InfoboxImage|InfoboxImage|image={{{image|{{{photo|}}}}}}|size={{{image_size|{{{photo_width|}}}}}}|sizedefault=256px|alt={{{alt|{{{photo_alt|}}}}}}}}&lt;br /&gt;
|caption1 = {{ifempty|{{{caption|}}}|{{{photo_caption|}}}}}&lt;br /&gt;
&lt;br /&gt;
|label1   = ID&lt;br /&gt;
|data1    = {{{ID|}}}&lt;br /&gt;
&lt;br /&gt;
|label2   = HP&lt;br /&gt;
|data2    = {{{HP|}}}&lt;br /&gt;
&lt;br /&gt;
|label3   = Team&lt;br /&gt;
|data3    = {{{Team|}}}&lt;br /&gt;
&lt;br /&gt;
|label4   = Start zone&lt;br /&gt;
|data4    = {{{Zone|}}}&lt;br /&gt;
&lt;br /&gt;
|label5   = Walk speed&lt;br /&gt;
|data5    = {{{Speed|}}}&lt;br /&gt;
&lt;br /&gt;
|label6   = Special Ability&lt;br /&gt;
|data6    = {{{Ability|}}}&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{SCP infobox&lt;br /&gt;
|Name    = SCP-173&lt;br /&gt;
|image   = SCP Foundation (emblem).svg&lt;br /&gt;
|caption = Some foundation logo&lt;br /&gt;
|ID      = 1&lt;br /&gt;
|HP      = 3600&lt;br /&gt;
|Team    = SCP&lt;br /&gt;
|Zone    = [[Heavy containment zone]]&lt;br /&gt;
|Speed   = 60&lt;br /&gt;
|Ability = Moving when nobody is looking at him&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Zabszk</name></author>
	</entry>
	<entry>
		<id>https://en.scpslgame.com/index.php?title=Template:Class_infobox&amp;diff=40</id>
		<title>Template:Class infobox</title>
		<link rel="alternate" type="text/html" href="https://en.scpslgame.com/index.php?title=Template:Class_infobox&amp;diff=40"/>
		<updated>2018-06-22T20:27:12Z</updated>

		<summary type="html">&lt;p&gt;Zabszk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox&lt;br /&gt;
|bodyclass      = vcard&lt;br /&gt;
&lt;br /&gt;
|aboveclass     = fn org&lt;br /&gt;
|abovestyle     = background-color:{{{Color|#0020C2}}}&lt;br /&gt;
|above          = {{#ifeq:{{{Name|}}}||&amp;lt;includeonly&amp;gt;{{error|Class name required|tag=span}}&amp;lt;/includeonly&amp;gt;|{{{Name}}}}}&lt;br /&gt;
&lt;br /&gt;
|subheader      = {{ifempty|{{{other_name|}}}|{{{alt_name|}}}}}&lt;br /&gt;
| suheaderclass = nickname&lt;br /&gt;
&lt;br /&gt;
|image1   = {{#invoke:InfoboxImage|InfoboxImage|image={{{image|{{{photo|}}}}}}|size={{{image_size|{{{photo_width|}}}}}}|sizedefault=256px|alt={{{alt|{{{photo_alt|}}}}}}}}&lt;br /&gt;
|caption1 = {{ifempty|{{{caption|}}}|{{{photo_caption|}}}}}&lt;br /&gt;
&lt;br /&gt;
|label1   = ID&lt;br /&gt;
|data1    = {{{ID|}}}&lt;br /&gt;
&lt;br /&gt;
|label2   = HP&lt;br /&gt;
|data2    = {{{HP|}}}&lt;br /&gt;
&lt;br /&gt;
|label3   = Team&lt;br /&gt;
|data3    = {{{Team|}}}&lt;br /&gt;
&lt;br /&gt;
|label4   = Start zone&lt;br /&gt;
|data4    = {{{Zone|}}}&lt;br /&gt;
&lt;br /&gt;
|label5   = Walk speed&lt;br /&gt;
|data5    = {{{Speed|}}}&lt;br /&gt;
&lt;br /&gt;
|label6   = Starting ammo&lt;br /&gt;
|data6    = {{{Ammo|}}}&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{Class infobox&lt;br /&gt;
|Name    = Example class&lt;br /&gt;
|Color   = #DC143C&lt;br /&gt;
|image   = SCP Foundation (emblem).svg&lt;br /&gt;
|caption = Some example image&lt;br /&gt;
|ID      = 1&lt;br /&gt;
|HP      = 100&lt;br /&gt;
|Team    = MTF&lt;br /&gt;
|Zone    = [[Entrance zone]]&lt;br /&gt;
|Speed   = 10&lt;br /&gt;
|Ammo    = 30&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Zabszk</name></author>
	</entry>
	<entry>
		<id>https://en.scpslgame.com/index.php?title=Template:Class_infobox&amp;diff=39</id>
		<title>Template:Class infobox</title>
		<link rel="alternate" type="text/html" href="https://en.scpslgame.com/index.php?title=Template:Class_infobox&amp;diff=39"/>
		<updated>2018-06-22T20:23:39Z</updated>

		<summary type="html">&lt;p&gt;Zabszk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox&lt;br /&gt;
|bodyclass      = vcard&lt;br /&gt;
&lt;br /&gt;
|aboveclass     = fn org&lt;br /&gt;
|abovestyle     = background-color:{{{Color|#0020C2}}}&lt;br /&gt;
|above          = {{#ifeq:{{{Name|}}}||&amp;lt;includeonly&amp;gt;{{error|Class name required|tag=span}}&amp;lt;/includeonly&amp;gt;|{{{Name}}}}}&lt;br /&gt;
&lt;br /&gt;
|subheader      = {{ifempty|{{{other_name|}}}|{{{alt_name|}}}}}&lt;br /&gt;
| suheaderclass = nickname&lt;br /&gt;
&lt;br /&gt;
|image1   = {{#invoke:InfoboxImage|InfoboxImage|image={{{image|{{{photo|}}}}}}|size={{{image_size|{{{photo_width|}}}}}}|sizedefault=256px|alt={{{alt|{{{photo_alt|}}}}}}}}&lt;br /&gt;
|caption1 = {{ifempty|{{{caption|}}}|{{{photo_caption|}}}}}&lt;br /&gt;
&lt;br /&gt;
|label1   = ID&lt;br /&gt;
|data1    = {{{ID|}}}&lt;br /&gt;
&lt;br /&gt;
|label2   = HP&lt;br /&gt;
|data2    = {{{HP|}}}&lt;br /&gt;
&lt;br /&gt;
|label3   = Team&lt;br /&gt;
|data3    = {{{Team|}}}&lt;br /&gt;
&lt;br /&gt;
|label4   = Start zone&lt;br /&gt;
|data4    = {{{Zone|}}}&lt;br /&gt;
&lt;br /&gt;
|label5   = Walk speed&lt;br /&gt;
|data5    = {{{Speed|}}}&lt;br /&gt;
&lt;br /&gt;
|label6   = Starting ammo&lt;br /&gt;
|data6    = {{{Ammo|}}}&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{Class infobox&lt;br /&gt;
|Name   = Example class&lt;br /&gt;
|Color  = #DC143C&lt;br /&gt;
|ID     = 1&lt;br /&gt;
|HP     = 100&lt;br /&gt;
|Team   = MTF&lt;br /&gt;
|Zone   = [[Entrance zone]]&lt;br /&gt;
|Speed  = 10&lt;br /&gt;
|Ammo   = 30&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Zabszk</name></author>
	</entry>
	<entry>
		<id>https://en.scpslgame.com/index.php?title=Template:Class_infobox&amp;diff=38</id>
		<title>Template:Class infobox</title>
		<link rel="alternate" type="text/html" href="https://en.scpslgame.com/index.php?title=Template:Class_infobox&amp;diff=38"/>
		<updated>2018-06-22T20:20:58Z</updated>

		<summary type="html">&lt;p&gt;Zabszk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox&lt;br /&gt;
|bodyclass      = vcard&lt;br /&gt;
&lt;br /&gt;
|aboveclass     = fn org&lt;br /&gt;
|abovestyle     = background-color:#0020C2&lt;br /&gt;
|above          = {{#ifeq:{{{Name|}}}||&amp;lt;includeonly&amp;gt;{{error|Class name required|tag=span}}&amp;lt;/includeonly&amp;gt;|{{{Name}}}}}&lt;br /&gt;
&lt;br /&gt;
|subheader      = {{ifempty|{{{other_name|}}}|{{{alt_name|}}}}}&lt;br /&gt;
| suheaderclass = nickname&lt;br /&gt;
&lt;br /&gt;
|image1   = {{#invoke:InfoboxImage|InfoboxImage|image={{{image|{{{photo|}}}}}}|size={{{image_size|{{{photo_width|}}}}}}|sizedefault=256px|alt={{{alt|{{{photo_alt|}}}}}}}}&lt;br /&gt;
|caption1 = {{ifempty|{{{caption|}}}|{{{photo_caption|}}}}}&lt;br /&gt;
&lt;br /&gt;
|label1   = ID&lt;br /&gt;
|data1    = {{{ID|}}}&lt;br /&gt;
&lt;br /&gt;
|label2   = HP&lt;br /&gt;
|data2    = {{{HP|}}}&lt;br /&gt;
&lt;br /&gt;
|label3   = Team&lt;br /&gt;
|data3    = {{{Team|}}}&lt;br /&gt;
&lt;br /&gt;
|label4   = Start zone&lt;br /&gt;
|data4    = {{{Zone|}}}&lt;br /&gt;
&lt;br /&gt;
|label5   = Walk speed&lt;br /&gt;
|data5    = {{{Speed|}}}&lt;br /&gt;
&lt;br /&gt;
|label6   = Starting ammo&lt;br /&gt;
|data6    = {{{Ammo|}}}&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{Class infobox&lt;br /&gt;
|Name = Example class&lt;br /&gt;
|ID     = 1&lt;br /&gt;
|HP     = 100&lt;br /&gt;
|Team   = MTF&lt;br /&gt;
|Zone   = [[Entrance zone]]&lt;br /&gt;
|Speed  = 10&lt;br /&gt;
|Ammo   = 30&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Zabszk</name></author>
	</entry>
	<entry>
		<id>https://en.scpslgame.com/index.php?title=Template:Class_infobox&amp;diff=37</id>
		<title>Template:Class infobox</title>
		<link rel="alternate" type="text/html" href="https://en.scpslgame.com/index.php?title=Template:Class_infobox&amp;diff=37"/>
		<updated>2018-06-22T20:18:27Z</updated>

		<summary type="html">&lt;p&gt;Zabszk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox&lt;br /&gt;
|bodyclass      = vcard&lt;br /&gt;
&lt;br /&gt;
|aboveclass     = fn org&lt;br /&gt;
|abovestyle     = background-color:#0020C2&lt;br /&gt;
|above          = {{#ifeq:{{{Name|}}}||&amp;lt;includeonly&amp;gt;{{error|Class name required|tag=span}}&amp;lt;/includeonly&amp;gt;|{{{Name}}}}}&lt;br /&gt;
&lt;br /&gt;
|subheader      = {{ifempty|{{{other_name|}}}|{{{alt_name|}}}}}&lt;br /&gt;
| suheaderclass = nickname&lt;br /&gt;
&lt;br /&gt;
|image1   = {{#invoke:InfoboxImage|InfoboxImage|image={{{image|{{{photo|}}}}}}|size={{{image_size|{{{photo_width|}}}}}}|sizedefault=256px|alt={{{alt|{{{photo_alt|}}}}}}}}&lt;br /&gt;
|caption1 = {{ifempty|{{{caption|}}}|{{{photo_caption|}}}}}&lt;br /&gt;
&lt;br /&gt;
|label1   = ID&lt;br /&gt;
|data1    = {{{ID|}}}&lt;br /&gt;
&lt;br /&gt;
|label2   = HP&lt;br /&gt;
|data2    = {{{HP|}}}&lt;br /&gt;
&lt;br /&gt;
|label3   = Team&lt;br /&gt;
|data3    = {{{Team|}}}&lt;br /&gt;
&lt;br /&gt;
|label4   = Start zone&lt;br /&gt;
|data4    = {{{Zone|}}}&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{Class infobox&lt;br /&gt;
|Name = Example class&lt;br /&gt;
|ID = 1&lt;br /&gt;
|HP = 100&lt;br /&gt;
|Team = MTF&lt;br /&gt;
|Zone = [[Entrance zone]]&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Zabszk</name></author>
	</entry>
	<entry>
		<id>https://en.scpslgame.com/index.php?title=Template:Class_infobox&amp;diff=36</id>
		<title>Template:Class infobox</title>
		<link rel="alternate" type="text/html" href="https://en.scpslgame.com/index.php?title=Template:Class_infobox&amp;diff=36"/>
		<updated>2018-06-22T20:17:21Z</updated>

		<summary type="html">&lt;p&gt;Zabszk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox&lt;br /&gt;
|bodyclass      = vcard&lt;br /&gt;
&lt;br /&gt;
|aboveclass     = fn org&lt;br /&gt;
|abovestyle     = background-color:#{{#if:{{{water|}}}|cedeff|e7dcc3}};&lt;br /&gt;
|above          = {{#ifeq:{{{Name|}}}||&amp;lt;includeonly&amp;gt;{{error|Class name required|tag=span}}&amp;lt;/includeonly&amp;gt;|{{{Name}}}}}&lt;br /&gt;
&lt;br /&gt;
|subheader      = {{ifempty|{{{other_name|}}}|{{{alt_name|}}}}}&lt;br /&gt;
| suheaderclass = nickname&lt;br /&gt;
&lt;br /&gt;
|image1   = {{#invoke:InfoboxImage|InfoboxImage|image={{{image|{{{photo|}}}}}}|size={{{image_size|{{{photo_width|}}}}}}|sizedefault=256px|alt={{{alt|{{{photo_alt|}}}}}}}}&lt;br /&gt;
|caption1 = {{ifempty|{{{caption|}}}|{{{photo_caption|}}}}}&lt;br /&gt;
&lt;br /&gt;
|label1   = ID&lt;br /&gt;
|data1    = {{{ID|}}}&lt;br /&gt;
&lt;br /&gt;
|label2   = HP&lt;br /&gt;
|data2    = {{{HP|}}}&lt;br /&gt;
&lt;br /&gt;
|label3   = Team&lt;br /&gt;
|data3    = {{{Team|}}}&lt;br /&gt;
&lt;br /&gt;
|label4   = Start zone&lt;br /&gt;
|data4    = {{{Zone|}}}&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{Class infobox&lt;br /&gt;
|Name = Example class&lt;br /&gt;
|ID = 1&lt;br /&gt;
|HP = 100&lt;br /&gt;
|Team = MTF&lt;br /&gt;
|Zone = [[Entrance zone]]&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Zabszk</name></author>
	</entry>
	<entry>
		<id>https://en.scpslgame.com/index.php?title=Module:Error&amp;diff=35</id>
		<title>Module:Error</title>
		<link rel="alternate" type="text/html" href="https://en.scpslgame.com/index.php?title=Module:Error&amp;diff=35"/>
		<updated>2018-06-22T20:16:08Z</updated>

		<summary type="html">&lt;p&gt;Zabszk: Created page with &amp;quot;-- This module implements {{error}}.  local p = {}  local function _error(args)     local tag = mw.ustring.lower(tostring(args.tag))      -- Work out what html tag we should u...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;-- This module implements {{error}}.&lt;br /&gt;
&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
local function _error(args)&lt;br /&gt;
    local tag = mw.ustring.lower(tostring(args.tag))&lt;br /&gt;
&lt;br /&gt;
    -- Work out what html tag we should use.&lt;br /&gt;
    if not (tag == &#039;p&#039; or tag == &#039;span&#039; or tag == &#039;div&#039;) then&lt;br /&gt;
        tag = &#039;strong&#039;&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    -- Generate the html.&lt;br /&gt;
    return tostring(mw.html.create(tag)&lt;br /&gt;
        :addClass(&#039;error&#039;)&lt;br /&gt;
        :wikitext(tostring(args.message or args[1] or error(&#039;no message specified&#039;, 2)))&lt;br /&gt;
    )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.error(frame)&lt;br /&gt;
    local args&lt;br /&gt;
    if type(frame.args) == &#039;table&#039; then&lt;br /&gt;
        -- We&#039;re being called via #invoke. The args are passed through to the module&lt;br /&gt;
        -- from the template page, so use the args that were passed into the template.&lt;br /&gt;
        args = frame.args&lt;br /&gt;
    else&lt;br /&gt;
        -- We&#039;re being called from another module or from the debug console, so assume&lt;br /&gt;
        -- the args are passed in directly.&lt;br /&gt;
        args = frame&lt;br /&gt;
    end&lt;br /&gt;
    -- if the message parameter is present but blank, change it to nil so that Lua will&lt;br /&gt;
    -- consider it false.&lt;br /&gt;
    if args.message == &amp;quot;&amp;quot; then&lt;br /&gt;
        args.message = nil&lt;br /&gt;
    end&lt;br /&gt;
    return _error(args)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Zabszk</name></author>
	</entry>
	<entry>
		<id>https://en.scpslgame.com/index.php?title=Template:Error&amp;diff=34</id>
		<title>Template:Error</title>
		<link rel="alternate" type="text/html" href="https://en.scpslgame.com/index.php?title=Template:Error&amp;diff=34"/>
		<updated>2018-06-22T20:15:51Z</updated>

		<summary type="html">&lt;p&gt;Zabszk: Created page with &amp;quot;{{#invoke:Error|error|{{{message|{{{1}}}}}}|tag={{{tag|}}}}}&amp;lt;noinclude&amp;gt; {{documentation}} &amp;lt;/noinclude&amp;gt;&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#invoke:Error|error|{{{message|{{{1}}}}}}|tag={{{tag|}}}}}&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{documentation}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Zabszk</name></author>
	</entry>
	<entry>
		<id>https://en.scpslgame.com/index.php?title=Template:Class_infobox&amp;diff=33</id>
		<title>Template:Class infobox</title>
		<link rel="alternate" type="text/html" href="https://en.scpslgame.com/index.php?title=Template:Class_infobox&amp;diff=33"/>
		<updated>2018-06-22T20:00:16Z</updated>

		<summary type="html">&lt;p&gt;Zabszk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox&lt;br /&gt;
|bodyclass      = vcard&lt;br /&gt;
&lt;br /&gt;
|aboveclass     = fn org&lt;br /&gt;
|abovestyle     = background-color:#{{#if:{{{water|}}}|cedeff|e7dcc3}};&lt;br /&gt;
|above          = {{#ifeq:{{{name|}}}||&amp;lt;includeonly&amp;gt;{{error|Landform name required|tag=span}}&amp;lt;/includeonly&amp;gt;|{{{name}}}}}&lt;br /&gt;
&lt;br /&gt;
|subheader      = {{ifempty|{{{other_name|}}}|{{{alt_name|}}}}}&lt;br /&gt;
| suheaderclass = nickname&lt;br /&gt;
&lt;br /&gt;
|image1   = {{#invoke:InfoboxImage|InfoboxImage|image={{{image|{{{photo|}}}}}}|size={{{image_size|{{{photo_width|}}}}}}|sizedefault=256px|alt={{{alt|{{{photo_alt|}}}}}}}}&lt;br /&gt;
|caption1 = {{ifempty|{{{caption|}}}|{{{photo_caption|}}}}}&lt;br /&gt;
&lt;br /&gt;
|label1   = ID&lt;br /&gt;
|data1    = {{{ID|}}}&lt;br /&gt;
&lt;br /&gt;
|label2   = HP&lt;br /&gt;
|data2    = {{{HP|}}}&lt;br /&gt;
&lt;br /&gt;
|label3   = Team&lt;br /&gt;
|data3    = {{{Team|}}}&lt;br /&gt;
&lt;br /&gt;
|label4   = Start zone&lt;br /&gt;
|data4    = {{{Zone|}}}&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{Class infobox&lt;br /&gt;
|ID = 1&lt;br /&gt;
|HP = 100&lt;br /&gt;
|Team = MTF&lt;br /&gt;
|Zone = [[Entrance zone]]&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Zabszk</name></author>
	</entry>
	<entry>
		<id>https://en.scpslgame.com/index.php?title=Template:Template_other&amp;diff=32</id>
		<title>Template:Template other</title>
		<link rel="alternate" type="text/html" href="https://en.scpslgame.com/index.php?title=Template:Template_other&amp;diff=32"/>
		<updated>2018-06-22T19:19:25Z</updated>

		<summary type="html">&lt;p&gt;Zabszk: Created page with &amp;quot;{{#switch:   &amp;lt;!--If no or empty &amp;quot;demospace&amp;quot; parameter then detect namespace--&amp;gt;   {{#if:{{{demospace|}}}   | {{lc: {{{demospace}}} }}    &amp;lt;!--Use lower case &amp;quot;demospace&amp;quot;--&amp;gt;   | {...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#switch:&lt;br /&gt;
  &amp;lt;!--If no or empty &amp;quot;demospace&amp;quot; parameter then detect namespace--&amp;gt;&lt;br /&gt;
  {{#if:{{{demospace|}}}&lt;br /&gt;
  | {{lc: {{{demospace}}} }}    &amp;lt;!--Use lower case &amp;quot;demospace&amp;quot;--&amp;gt;&lt;br /&gt;
  | {{#ifeq:{{NAMESPACE}}|{{ns:Template}}&lt;br /&gt;
    | template&lt;br /&gt;
    | other&lt;br /&gt;
    }}&lt;br /&gt;
  }}&lt;br /&gt;
| template = {{{1|}}}&lt;br /&gt;
| other&lt;br /&gt;
| #default = {{{2|}}}&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Zabszk</name></author>
	</entry>
	<entry>
		<id>https://en.scpslgame.com/index.php?title=Module:Arguments&amp;diff=31</id>
		<title>Module:Arguments</title>
		<link rel="alternate" type="text/html" href="https://en.scpslgame.com/index.php?title=Module:Arguments&amp;diff=31"/>
		<updated>2018-06-22T19:14:46Z</updated>

		<summary type="html">&lt;p&gt;Zabszk: Created page with &amp;quot;-- This module provides easy processing of arguments passed to Scribunto from -- #invoke. It is intended for use by other Lua modules, and should not be -- called from #invoke...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;-- This module provides easy processing of arguments passed to Scribunto from&lt;br /&gt;
-- #invoke. It is intended for use by other Lua modules, and should not be&lt;br /&gt;
-- called from #invoke directly.&lt;br /&gt;
&lt;br /&gt;
local libraryUtil = require(&#039;libraryUtil&#039;)&lt;br /&gt;
local checkType = libraryUtil.checkType&lt;br /&gt;
&lt;br /&gt;
local arguments = {}&lt;br /&gt;
&lt;br /&gt;
-- Generate four different tidyVal functions, so that we don&#039;t have to check the&lt;br /&gt;
-- options every time we call it.&lt;br /&gt;
&lt;br /&gt;
local function tidyValDefault(key, val)&lt;br /&gt;
	if type(val) == &#039;string&#039; then&lt;br /&gt;
		val = val:match(&#039;^%s*(.-)%s*$&#039;)&lt;br /&gt;
		if val == &#039;&#039; then&lt;br /&gt;
			return nil&lt;br /&gt;
		else&lt;br /&gt;
			return val&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		return val&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function tidyValTrimOnly(key, val)&lt;br /&gt;
	if type(val) == &#039;string&#039; then&lt;br /&gt;
		return val:match(&#039;^%s*(.-)%s*$&#039;)&lt;br /&gt;
	else&lt;br /&gt;
		return val&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function tidyValRemoveBlanksOnly(key, val)&lt;br /&gt;
	if type(val) == &#039;string&#039; then&lt;br /&gt;
		if val:find(&#039;%S&#039;) then&lt;br /&gt;
			return val&lt;br /&gt;
		else&lt;br /&gt;
			return nil&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		return val&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function tidyValNoChange(key, val)&lt;br /&gt;
	return val&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function matchesTitle(given, title)&lt;br /&gt;
	local tp = type( given )&lt;br /&gt;
	return (tp == &#039;string&#039; or tp == &#039;number&#039;) and mw.title.new( given ).prefixedText == title&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local translate_mt = { __index = function(t, k) return k end }&lt;br /&gt;
&lt;br /&gt;
function arguments.getArgs(frame, options)&lt;br /&gt;
	checkType(&#039;getArgs&#039;, 1, frame, &#039;table&#039;, true)&lt;br /&gt;
	checkType(&#039;getArgs&#039;, 2, options, &#039;table&#039;, true)&lt;br /&gt;
	frame = frame or {}&lt;br /&gt;
	options = options or {}&lt;br /&gt;
&lt;br /&gt;
	--[[&lt;br /&gt;
	-- Set up argument translation.&lt;br /&gt;
	--]]&lt;br /&gt;
	options.translate = options.translate or {}&lt;br /&gt;
	if getmetatable(options.translate) == nil then&lt;br /&gt;
		setmetatable(options.translate, translate_mt)&lt;br /&gt;
	end&lt;br /&gt;
	if options.backtranslate == nil then&lt;br /&gt;
		options.backtranslate = {}&lt;br /&gt;
		for k,v in pairs(options.translate) do&lt;br /&gt;
			options.backtranslate[v] = k&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	if options.backtranslate and getmetatable(options.backtranslate) == nil then&lt;br /&gt;
		setmetatable(options.backtranslate, {&lt;br /&gt;
			__index = function(t, k)&lt;br /&gt;
				if options.translate[k] ~= k then&lt;br /&gt;
					return nil&lt;br /&gt;
				else&lt;br /&gt;
					return k&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		})&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	--[[&lt;br /&gt;
	-- Get the argument tables. If we were passed a valid frame object, get the&lt;br /&gt;
	-- frame arguments (fargs) and the parent frame arguments (pargs), depending&lt;br /&gt;
	-- on the options set and on the parent frame&#039;s availability. If we weren&#039;t&lt;br /&gt;
	-- passed a valid frame object, we are being called from another Lua module&lt;br /&gt;
	-- or from the debug console, so assume that we were passed a table of args&lt;br /&gt;
	-- directly, and assign it to a new variable (luaArgs).&lt;br /&gt;
	--]]&lt;br /&gt;
	local fargs, pargs, luaArgs&lt;br /&gt;
	if type(frame.args) == &#039;table&#039; and type(frame.getParent) == &#039;function&#039; then&lt;br /&gt;
		if options.wrappers then&lt;br /&gt;
			--[[&lt;br /&gt;
			-- The wrappers option makes Module:Arguments look up arguments in&lt;br /&gt;
			-- either the frame argument table or the parent argument table, but&lt;br /&gt;
			-- not both. This means that users can use either the #invoke syntax&lt;br /&gt;
			-- or a wrapper template without the loss of performance associated&lt;br /&gt;
			-- with looking arguments up in both the frame and the parent frame.&lt;br /&gt;
			-- Module:Arguments will look up arguments in the parent frame&lt;br /&gt;
			-- if it finds the parent frame&#039;s title in options.wrapper;&lt;br /&gt;
			-- otherwise it will look up arguments in the frame object passed&lt;br /&gt;
			-- to getArgs.&lt;br /&gt;
			--]]&lt;br /&gt;
			local parent = frame:getParent()&lt;br /&gt;
			if not parent then&lt;br /&gt;
				fargs = frame.args&lt;br /&gt;
			else&lt;br /&gt;
				local title = parent:getTitle():gsub(&#039;/sandbox$&#039;, &#039;&#039;)&lt;br /&gt;
				local found = false&lt;br /&gt;
				if matchesTitle(options.wrappers, title) then&lt;br /&gt;
					found = true&lt;br /&gt;
				elseif type(options.wrappers) == &#039;table&#039; then&lt;br /&gt;
					for _,v in pairs(options.wrappers) do&lt;br /&gt;
						if matchesTitle(v, title) then&lt;br /&gt;
							found = true&lt;br /&gt;
							break&lt;br /&gt;
						end&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
&lt;br /&gt;
				-- We test for false specifically here so that nil (the default) acts like true.&lt;br /&gt;
				if found or options.frameOnly == false then&lt;br /&gt;
					pargs = parent.args&lt;br /&gt;
				end&lt;br /&gt;
				if not found or options.parentOnly == false then&lt;br /&gt;
					fargs = frame.args&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		else&lt;br /&gt;
			-- options.wrapper isn&#039;t set, so check the other options.&lt;br /&gt;
			if not options.parentOnly then&lt;br /&gt;
				fargs = frame.args&lt;br /&gt;
			end&lt;br /&gt;
			if not options.frameOnly then&lt;br /&gt;
				local parent = frame:getParent()&lt;br /&gt;
				pargs = parent and parent.args or nil&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		if options.parentFirst then&lt;br /&gt;
			fargs, pargs = pargs, fargs&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		luaArgs = frame&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Set the order of precedence of the argument tables. If the variables are&lt;br /&gt;
	-- nil, nothing will be added to the table, which is how we avoid clashes&lt;br /&gt;
	-- between the frame/parent args and the Lua args.&lt;br /&gt;
	local argTables = {fargs}&lt;br /&gt;
	argTables[#argTables + 1] = pargs&lt;br /&gt;
	argTables[#argTables + 1] = luaArgs&lt;br /&gt;
&lt;br /&gt;
	--[[&lt;br /&gt;
	-- Generate the tidyVal function. If it has been specified by the user, we&lt;br /&gt;
	-- use that; if not, we choose one of four functions depending on the&lt;br /&gt;
	-- options chosen. This is so that we don&#039;t have to call the options table&lt;br /&gt;
	-- every time the function is called.&lt;br /&gt;
	--]]&lt;br /&gt;
	local tidyVal = options.valueFunc&lt;br /&gt;
	if tidyVal then&lt;br /&gt;
		if type(tidyVal) ~= &#039;function&#039; then&lt;br /&gt;
			error(&lt;br /&gt;
				&amp;quot;bad value assigned to option &#039;valueFunc&#039;&amp;quot;&lt;br /&gt;
					.. &#039;(function expected, got &#039;&lt;br /&gt;
					.. type(tidyVal)&lt;br /&gt;
					.. &#039;)&#039;,&lt;br /&gt;
				2&lt;br /&gt;
			)&lt;br /&gt;
		end&lt;br /&gt;
	elseif options.trim ~= false then&lt;br /&gt;
		if options.removeBlanks ~= false then&lt;br /&gt;
			tidyVal = tidyValDefault&lt;br /&gt;
		else&lt;br /&gt;
			tidyVal = tidyValTrimOnly&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		if options.removeBlanks ~= false then&lt;br /&gt;
			tidyVal = tidyValRemoveBlanksOnly&lt;br /&gt;
		else&lt;br /&gt;
			tidyVal = tidyValNoChange&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	--[[&lt;br /&gt;
	-- Set up the args, metaArgs and nilArgs tables. args will be the one&lt;br /&gt;
	-- accessed from functions, and metaArgs will hold the actual arguments. Nil&lt;br /&gt;
	-- arguments are memoized in nilArgs, and the metatable connects all of them&lt;br /&gt;
	-- together.&lt;br /&gt;
	--]]&lt;br /&gt;
	local args, metaArgs, nilArgs, metatable = {}, {}, {}, {}&lt;br /&gt;
	setmetatable(args, metatable)&lt;br /&gt;
&lt;br /&gt;
	local function mergeArgs(tables)&lt;br /&gt;
		--[[&lt;br /&gt;
		-- Accepts multiple tables as input and merges their keys and values&lt;br /&gt;
		-- into one table. If a value is already present it is not overwritten;&lt;br /&gt;
		-- tables listed earlier have precedence. We are also memoizing nil&lt;br /&gt;
		-- values, which can be overwritten if they are &#039;s&#039; (soft).&lt;br /&gt;
		--]]&lt;br /&gt;
		for _, t in ipairs(tables) do&lt;br /&gt;
			for key, val in pairs(t) do&lt;br /&gt;
				if metaArgs[key] == nil and nilArgs[key] ~= &#039;h&#039; then&lt;br /&gt;
					local tidiedVal = tidyVal(key, val)&lt;br /&gt;
					if tidiedVal == nil then&lt;br /&gt;
						nilArgs[key] = &#039;s&#039;&lt;br /&gt;
					else&lt;br /&gt;
						metaArgs[key] = tidiedVal&lt;br /&gt;
					end&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;
	-- Define metatable behaviour. Arguments are memoized in the metaArgs table,&lt;br /&gt;
	-- and are only fetched from the argument tables once. Fetching arguments&lt;br /&gt;
	-- from the argument tables is the most resource-intensive step in this&lt;br /&gt;
	-- module, so we try and avoid it where possible. For this reason, nil&lt;br /&gt;
	-- arguments are also memoized, in the nilArgs table. Also, we keep a record&lt;br /&gt;
	-- in the metatable of when pairs and ipairs have been called, so we do not&lt;br /&gt;
	-- run pairs and ipairs on the argument tables more than once. We also do&lt;br /&gt;
	-- not run ipairs on fargs and pargs if pairs has already been run, as all&lt;br /&gt;
	-- the arguments will already have been copied over.&lt;br /&gt;
	--]]&lt;br /&gt;
&lt;br /&gt;
	metatable.__index = function (t, key)&lt;br /&gt;
		--[[&lt;br /&gt;
		-- Fetches an argument when the args table is indexed. First we check&lt;br /&gt;
		-- to see if the value is memoized, and if not we try and fetch it from&lt;br /&gt;
		-- the argument tables. When we check memoization, we need to check&lt;br /&gt;
		-- metaArgs before nilArgs, as both can be non-nil at the same time.&lt;br /&gt;
		-- If the argument is not present in metaArgs, we also check whether&lt;br /&gt;
		-- pairs has been run yet. If pairs has already been run, we return nil.&lt;br /&gt;
		-- This is because all the arguments will have already been copied into&lt;br /&gt;
		-- metaArgs by the mergeArgs function, meaning that any other arguments&lt;br /&gt;
		-- must be nil.&lt;br /&gt;
		--]]&lt;br /&gt;
		if type(key) == &#039;string&#039; then&lt;br /&gt;
			key = options.translate[key]&lt;br /&gt;
		end&lt;br /&gt;
		local val = metaArgs[key]&lt;br /&gt;
		if val ~= nil then&lt;br /&gt;
			return val&lt;br /&gt;
		elseif metatable.donePairs or nilArgs[key] then&lt;br /&gt;
			return nil&lt;br /&gt;
		end&lt;br /&gt;
		for _, argTable in ipairs(argTables) do&lt;br /&gt;
			local argTableVal = tidyVal(key, argTable[key])&lt;br /&gt;
			if argTableVal ~= nil then&lt;br /&gt;
				metaArgs[key] = argTableVal&lt;br /&gt;
				return argTableVal&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		nilArgs[key] = &#039;h&#039;&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	metatable.__newindex = function (t, key, val)&lt;br /&gt;
		-- This function is called when a module tries to add a new value to the&lt;br /&gt;
		-- args table, or tries to change an existing value.&lt;br /&gt;
		if type(key) == &#039;string&#039; then&lt;br /&gt;
			key = options.translate[key]&lt;br /&gt;
		end&lt;br /&gt;
		if options.readOnly then&lt;br /&gt;
			error(&lt;br /&gt;
				&#039;could not write to argument table key &amp;quot;&#039;&lt;br /&gt;
					.. tostring(key)&lt;br /&gt;
					.. &#039;&amp;quot;; the table is read-only&#039;,&lt;br /&gt;
				2&lt;br /&gt;
			)&lt;br /&gt;
		elseif options.noOverwrite and args[key] ~= nil then&lt;br /&gt;
			error(&lt;br /&gt;
				&#039;could not write to argument table key &amp;quot;&#039;&lt;br /&gt;
					.. tostring(key)&lt;br /&gt;
					.. &#039;&amp;quot;; overwriting existing arguments is not permitted&#039;,&lt;br /&gt;
				2&lt;br /&gt;
			)&lt;br /&gt;
		elseif val == nil then&lt;br /&gt;
			--[[&lt;br /&gt;
			-- If the argument is to be overwritten with nil, we need to erase&lt;br /&gt;
			-- the value in metaArgs, so that __index, __pairs and __ipairs do&lt;br /&gt;
			-- not use a previous existing value, if present; and we also need&lt;br /&gt;
			-- to memoize the nil in nilArgs, so that the value isn&#039;t looked&lt;br /&gt;
			-- up in the argument tables if it is accessed again.&lt;br /&gt;
			--]]&lt;br /&gt;
			metaArgs[key] = nil&lt;br /&gt;
			nilArgs[key] = &#039;h&#039;&lt;br /&gt;
		else&lt;br /&gt;
			metaArgs[key] = val&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local function translatenext(invariant)&lt;br /&gt;
		local k, v = next(invariant.t, invariant.k)&lt;br /&gt;
		invariant.k = k&lt;br /&gt;
		if k == nil then&lt;br /&gt;
			return nil&lt;br /&gt;
		elseif type(k) ~= &#039;string&#039; or not options.backtranslate then&lt;br /&gt;
			return k, v&lt;br /&gt;
		else&lt;br /&gt;
			local backtranslate = options.backtranslate[k]&lt;br /&gt;
			if backtranslate == nil then&lt;br /&gt;
				-- Skip this one. This is a tail call, so this won&#039;t cause stack overflow&lt;br /&gt;
				return translatenext(invariant)&lt;br /&gt;
			else&lt;br /&gt;
				return backtranslate, v&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	metatable.__pairs = function ()&lt;br /&gt;
		-- Called when pairs is run on the args table.&lt;br /&gt;
		if not metatable.donePairs then&lt;br /&gt;
			mergeArgs(argTables)&lt;br /&gt;
			metatable.donePairs = true&lt;br /&gt;
		end&lt;br /&gt;
		return translatenext, { t = metaArgs }&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local function inext(t, i)&lt;br /&gt;
		-- This uses our __index metamethod&lt;br /&gt;
		local v = t[i + 1]&lt;br /&gt;
		if v ~= nil then&lt;br /&gt;
			return i + 1, v&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	metatable.__ipairs = function (t)&lt;br /&gt;
		-- Called when ipairs is run on the args table.&lt;br /&gt;
		return inext, t, 0&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return args&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return arguments&lt;/div&gt;</summary>
		<author><name>Zabszk</name></author>
	</entry>
	<entry>
		<id>https://en.scpslgame.com/index.php?title=Module:If_empty&amp;diff=30</id>
		<title>Module:If empty</title>
		<link rel="alternate" type="text/html" href="https://en.scpslgame.com/index.php?title=Module:If_empty&amp;diff=30"/>
		<updated>2018-06-22T19:13:55Z</updated>

		<summary type="html">&lt;p&gt;Zabszk: Created page with &amp;quot;local p = {}  function p.main(frame) 	local args = require(&amp;#039;Module:Arguments&amp;#039;).getArgs(frame, {wrappers = &amp;#039;Template:If empty&amp;#039;, removeBlanks = false})  	-- For backwards compat...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;local p = {}&lt;br /&gt;
&lt;br /&gt;
function p.main(frame)&lt;br /&gt;
	local args = require(&#039;Module:Arguments&#039;).getArgs(frame, {wrappers = &#039;Template:If empty&#039;, removeBlanks = false})&lt;br /&gt;
&lt;br /&gt;
	-- For backwards compatibility reasons, the first 8 parameters can be unset instead of being blank,&lt;br /&gt;
	-- even though there&#039;s really no legitimate use case for this. At some point, this will be removed.&lt;br /&gt;
	local lowestNil = math.huge&lt;br /&gt;
	for i = 8,1,-1 do&lt;br /&gt;
		if args[i] == nil then&lt;br /&gt;
			args[i] = &#039;&#039;&lt;br /&gt;
			lowestNil = i&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	for k,v in ipairs(args) do&lt;br /&gt;
		if v ~= &#039;&#039; then&lt;br /&gt;
			if lowestNil &amp;lt; k then&lt;br /&gt;
				-- If any uses of this template depend on the behavior above, add them to a tracking category.&lt;br /&gt;
				-- This is a rather fragile, convoluted, hacky way to do it, but it ensures that this module&#039;s output won&#039;t be modified&lt;br /&gt;
				-- by it.&lt;br /&gt;
				frame:extensionTag(&#039;ref&#039;, &#039;[[Category:Instances of Template:If_empty missing arguments]]&#039;, {group = &#039;TrackingCategory&#039;})&lt;br /&gt;
				frame:extensionTag(&#039;references&#039;, &#039;&#039;, {group = &#039;TrackingCategory&#039;})&lt;br /&gt;
			end&lt;br /&gt;
			return v&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Zabszk</name></author>
	</entry>
	<entry>
		<id>https://en.scpslgame.com/index.php?title=Template:If_empty&amp;diff=29</id>
		<title>Template:If empty</title>
		<link rel="alternate" type="text/html" href="https://en.scpslgame.com/index.php?title=Template:If_empty&amp;diff=29"/>
		<updated>2018-06-22T19:13:39Z</updated>

		<summary type="html">&lt;p&gt;Zabszk: Created page with &amp;quot;{{&amp;lt;includeonly&amp;gt;safesubst:&amp;lt;/includeonly&amp;gt;#invoke:If empty|main}}&amp;lt;noinclude&amp;gt;{{Documentation}}&amp;lt;/noinclude&amp;gt;&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{&amp;lt;includeonly&amp;gt;safesubst:&amp;lt;/includeonly&amp;gt;#invoke:If empty|main}}&amp;lt;noinclude&amp;gt;{{Documentation}}&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Zabszk</name></author>
	</entry>
	<entry>
		<id>https://en.scpslgame.com/index.php?title=Template:Ifempty&amp;diff=28</id>
		<title>Template:Ifempty</title>
		<link rel="alternate" type="text/html" href="https://en.scpslgame.com/index.php?title=Template:Ifempty&amp;diff=28"/>
		<updated>2018-06-22T19:13:28Z</updated>

		<summary type="html">&lt;p&gt;Zabszk: Redirected page to Template:If empty&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Template:If empty]]&lt;br /&gt;
{{R from move}}&lt;/div&gt;</summary>
		<author><name>Zabszk</name></author>
	</entry>
	<entry>
		<id>https://en.scpslgame.com/index.php?title=Module:InfoboxImage&amp;diff=27</id>
		<title>Module:InfoboxImage</title>
		<link rel="alternate" type="text/html" href="https://en.scpslgame.com/index.php?title=Module:InfoboxImage&amp;diff=27"/>
		<updated>2018-06-22T19:12:42Z</updated>

		<summary type="html">&lt;p&gt;Zabszk: Created page with &amp;quot;-- Inputs: --    image - Can either be a bare filename (with or without the File:/Image: prefix) or a fully formatted image link --    page - page to display for multipage ima...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;-- Inputs:&lt;br /&gt;
--    image - Can either be a bare filename (with or without the File:/Image: prefix) or a fully formatted image link&lt;br /&gt;
--    page - page to display for multipage images (DjVu)&lt;br /&gt;
--    size - size to display the image&lt;br /&gt;
--    maxsize - maximum size for image&lt;br /&gt;
--    sizedefault - default size to display the image if size param is blank&lt;br /&gt;
--    alt - alt text for image&lt;br /&gt;
--    title - title text for image&lt;br /&gt;
--    border - set to yes if border&lt;br /&gt;
--    center - set to yes, if the image has to be centered&lt;br /&gt;
--    upright - upright image param&lt;br /&gt;
--    suppressplaceholder - if yes then checks to see if image is a placeholder and suppresses it&lt;br /&gt;
--    link - page to visit when clicking on image&lt;br /&gt;
-- Outputs:&lt;br /&gt;
--    Formatted image.&lt;br /&gt;
-- More details available at the &amp;quot;Module:InfoboxImage/doc&amp;quot; page&lt;br /&gt;
&lt;br /&gt;
local i = {};&lt;br /&gt;
&lt;br /&gt;
local placeholder_image = {&lt;br /&gt;
    &amp;quot;Blue - Replace this image female.svg&amp;quot;,&lt;br /&gt;
    &amp;quot;Blue - Replace this image male.svg&amp;quot;,&lt;br /&gt;
    &amp;quot;Female no free image yet.png&amp;quot;,&lt;br /&gt;
    &amp;quot;Flag of None (square).svg&amp;quot;,&lt;br /&gt;
    &amp;quot;Flag of None.svg&amp;quot;,&lt;br /&gt;
    &amp;quot;Flag of.svg&amp;quot;,&lt;br /&gt;
    &amp;quot;Green - Replace this image female.svg&amp;quot;,&lt;br /&gt;
    &amp;quot;Green - Replace this image male.svg&amp;quot;,&lt;br /&gt;
    &amp;quot;Image is needed female.svg&amp;quot;,&lt;br /&gt;
    &amp;quot;Image is needed male.svg&amp;quot;,&lt;br /&gt;
    &amp;quot;Location map of None.svg&amp;quot;,&lt;br /&gt;
    &amp;quot;Male no free image yet.png&amp;quot;,&lt;br /&gt;
    &amp;quot;Missing flag.png&amp;quot;,&lt;br /&gt;
    &amp;quot;No flag.svg&amp;quot;,&lt;br /&gt;
    &amp;quot;No free portrait.svg&amp;quot;,&lt;br /&gt;
    &amp;quot;No portrait (female).svg&amp;quot;,&lt;br /&gt;
    &amp;quot;No portrait (male).svg&amp;quot;,&lt;br /&gt;
    &amp;quot;Red - Replace this image female.svg&amp;quot;,&lt;br /&gt;
    &amp;quot;Red - Replace this image male.svg&amp;quot;,&lt;br /&gt;
    &amp;quot;Replace this image female (blue).svg&amp;quot;,&lt;br /&gt;
    &amp;quot;Replace this image female.svg&amp;quot;,&lt;br /&gt;
    &amp;quot;Replace this image male (blue).svg&amp;quot;,&lt;br /&gt;
    &amp;quot;Replace this image male.svg&amp;quot;,&lt;br /&gt;
    &amp;quot;Silver - Replace this image female.svg&amp;quot;,&lt;br /&gt;
    &amp;quot;Silver - Replace this image male.svg&amp;quot;,&lt;br /&gt;
    &amp;quot;Replace this image.svg&amp;quot;,&lt;br /&gt;
	&amp;quot;Cricket no pic.png&amp;quot;,&lt;br /&gt;
	&amp;quot;CarersLogo.gif&amp;quot;,&lt;br /&gt;
	&amp;quot;Diagram Needed.svg&amp;quot;,&lt;br /&gt;
	&amp;quot;Example.jpg&amp;quot;,&lt;br /&gt;
	&amp;quot;Image placeholder.png&amp;quot;,&lt;br /&gt;
	&amp;quot;No male portrait.svg&amp;quot;,&lt;br /&gt;
	&amp;quot;Nocover-upload.png&amp;quot;,&lt;br /&gt;
	&amp;quot;NoDVDcover copy.png&amp;quot;,&lt;br /&gt;
	&amp;quot;Noribbon.svg&amp;quot;,&lt;br /&gt;
	&amp;quot;No portrait-BFD-test.svg&amp;quot;,&lt;br /&gt;
	&amp;quot;Placeholder barnstar ribbon.png&amp;quot;,&lt;br /&gt;
	&amp;quot;Project Trains no image.png&amp;quot;,&lt;br /&gt;
	&amp;quot;Image-request.png&amp;quot;,&lt;br /&gt;
	&amp;quot;Sin bandera.svg&amp;quot;,&lt;br /&gt;
	&amp;quot;Sin escudo.svg&amp;quot;,&lt;br /&gt;
	&amp;quot;Replace this image - temple.png&amp;quot;,&lt;br /&gt;
	&amp;quot;Replace this image butterfly.png&amp;quot;,&lt;br /&gt;
	&amp;quot;Replace this image.svg&amp;quot;,&lt;br /&gt;
	&amp;quot;Replace this image1.svg&amp;quot;,&lt;br /&gt;
	&amp;quot;Resolution angle.png&amp;quot;,&lt;br /&gt;
	&amp;quot;Image-No portrait-text-BFD-test.svg&amp;quot;,&lt;br /&gt;
	&amp;quot;Insert image here.svg&amp;quot;,&lt;br /&gt;
	&amp;quot;No image available.png&amp;quot;,&lt;br /&gt;
	&amp;quot;NO IMAGE YET square.png&amp;quot;,&lt;br /&gt;
	&amp;quot;NO IMAGE YET.png&amp;quot;,&lt;br /&gt;
	&amp;quot;No Photo Available.svg&amp;quot;,&lt;br /&gt;
	&amp;quot;No Screenshot.svg&amp;quot;,&lt;br /&gt;
	&amp;quot;No-image-available.jpg&amp;quot;,&lt;br /&gt;
	&amp;quot;Null.png&amp;quot;,&lt;br /&gt;
	&amp;quot;PictureNeeded.gif&amp;quot;,&lt;br /&gt;
	&amp;quot;Place holder.jpg&amp;quot;,&lt;br /&gt;
	&amp;quot;Unbenannt.JPG&amp;quot;,&lt;br /&gt;
	&amp;quot;UploadACopyrightFreeImage.svg&amp;quot;,&lt;br /&gt;
	&amp;quot;UploadAnImage.gif&amp;quot;,&lt;br /&gt;
	&amp;quot;UploadAnImage.svg&amp;quot;,&lt;br /&gt;
	&amp;quot;UploadAnImageShort.svg&amp;quot;,&lt;br /&gt;
	&amp;quot;CarersLogo.gif&amp;quot;,&lt;br /&gt;
	&amp;quot;Diagram Needed.svg&amp;quot;,&lt;br /&gt;
	&amp;quot;No male portrait.svg&amp;quot;,&lt;br /&gt;
	&amp;quot;NoDVDcover copy.png&amp;quot;,&lt;br /&gt;
	&amp;quot;Placeholder barnstar ribbon.png&amp;quot;,&lt;br /&gt;
	&amp;quot;Project Trains no image.png&amp;quot;,&lt;br /&gt;
	&amp;quot;Image-request.png&amp;quot;,&lt;br /&gt;
	&amp;quot;Noimage.gif&amp;quot;,&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function i.IsPlaceholder(image)&lt;br /&gt;
    -- change underscores to spaces&lt;br /&gt;
    image = mw.ustring.gsub(image, &amp;quot;_&amp;quot;, &amp;quot; &amp;quot;);&lt;br /&gt;
    assert(image ~= nil, &#039;mw.ustring.gsub(image, &amp;quot;_&amp;quot;, &amp;quot; &amp;quot;) must not return nil&#039;)&lt;br /&gt;
    -- if image starts with [[ then remove that and anything after |&lt;br /&gt;
    if mw.ustring.sub(image,1,2) == &amp;quot;[[&amp;quot; then&lt;br /&gt;
        image = mw.ustring.sub(image,3);&lt;br /&gt;
        image = mw.ustring.gsub(image, &amp;quot;([^|]*)|.*&amp;quot;, &amp;quot;%1&amp;quot;);&lt;br /&gt;
        assert(image ~= nil, &#039;mw.ustring.gsub(image, &amp;quot;([^|]*)|.*&amp;quot;, &amp;quot;%1&amp;quot;) must not return nil&#039;)&lt;br /&gt;
    end&lt;br /&gt;
    -- Trim spaces&lt;br /&gt;
    image = mw.ustring.gsub(image, &#039;^[ ]*(.-)[ ]*$&#039;, &#039;%1&#039;);&lt;br /&gt;
    assert(image ~= nil, &amp;quot;mw.ustring.gsub(image, &#039;^[ ]*(.-)[ ]*$&#039;, &#039;%1&#039;) must not return nil&amp;quot;)&lt;br /&gt;
    -- remove prefix if exists&lt;br /&gt;
    local allNames = mw.site.namespaces[6].aliases&lt;br /&gt;
    allNames[#allNames + 1] = mw.site.namespaces[6].name&lt;br /&gt;
    allNames[#allNames + 1] = mw.site.namespaces[6].canonicalName&lt;br /&gt;
    for i, name in ipairs(allNames) do&lt;br /&gt;
        if mw.ustring.lower(mw.ustring.sub(image, 1, mw.ustring.len(name) + 1)) == mw.ustring.lower(name .. &amp;quot;:&amp;quot;) then&lt;br /&gt;
            image = mw.ustring.sub(image, mw.ustring.len(name) + 2);&lt;br /&gt;
            break&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
    -- Trim spaces&lt;br /&gt;
    image = mw.ustring.gsub(image, &#039;^[ ]*(.-)[ ]*$&#039;, &#039;%1&#039;);&lt;br /&gt;
    -- capitalise first letter&lt;br /&gt;
    image = mw.ustring.upper(mw.ustring.sub(image,1,1)) .. mw.ustring.sub(image,2);&lt;br /&gt;
&lt;br /&gt;
    for i,j in pairs(placeholder_image) do&lt;br /&gt;
        if image == j then&lt;br /&gt;
            return true&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
    return false&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function i.InfoboxImage(frame)&lt;br /&gt;
    local image = frame.args[&amp;quot;image&amp;quot;];&lt;br /&gt;
    &lt;br /&gt;
    if image == &amp;quot;&amp;quot; or image == nil then&lt;br /&gt;
        return &amp;quot;&amp;quot;;&lt;br /&gt;
    end&lt;br /&gt;
    if image == &amp;quot;&amp;amp;nbsp;&amp;quot; then&lt;br /&gt;
        return image;&lt;br /&gt;
    end&lt;br /&gt;
    if frame.args[&amp;quot;suppressplaceholder&amp;quot;] ~= &amp;quot;no&amp;quot; then&lt;br /&gt;
        if i.IsPlaceholder(image) == true then&lt;br /&gt;
            return &amp;quot;&amp;quot;;&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    if mw.ustring.lower(mw.ustring.sub(image,1,5)) == &amp;quot;http:&amp;quot; then&lt;br /&gt;
        return &amp;quot;&amp;quot;;&lt;br /&gt;
    end&lt;br /&gt;
    if mw.ustring.lower(mw.ustring.sub(image,1,6)) == &amp;quot;[http:&amp;quot; then&lt;br /&gt;
        return &amp;quot;&amp;quot;;&lt;br /&gt;
    end&lt;br /&gt;
    if mw.ustring.lower(mw.ustring.sub(image,1,7)) == &amp;quot;[[http:&amp;quot; then&lt;br /&gt;
        return &amp;quot;&amp;quot;;&lt;br /&gt;
    end&lt;br /&gt;
    if mw.ustring.lower(mw.ustring.sub(image,1,6)) == &amp;quot;https:&amp;quot; then&lt;br /&gt;
        return &amp;quot;&amp;quot;;&lt;br /&gt;
    end&lt;br /&gt;
    if mw.ustring.lower(mw.ustring.sub(image,1,7)) == &amp;quot;[https:&amp;quot; then&lt;br /&gt;
        return &amp;quot;&amp;quot;;&lt;br /&gt;
    end&lt;br /&gt;
    if mw.ustring.lower(mw.ustring.sub(image,1,8)) == &amp;quot;[[https:&amp;quot; then&lt;br /&gt;
        return &amp;quot;&amp;quot;;&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
    if mw.ustring.sub(image,1,2) == &amp;quot;[[&amp;quot; then&lt;br /&gt;
        -- search for thumbnail images and add to tracking cat if found&lt;br /&gt;
        if mw.title.getCurrentTitle().namespace == 0 and (mw.ustring.find(image, &amp;quot;|%s*thumb%s*[|%]]&amp;quot;) or mw.ustring.find(image, &amp;quot;|%s*thumbnail%s*[|%]]&amp;quot;)) then&lt;br /&gt;
            return image .. &amp;quot;[[Category:Pages using infoboxes with thumbnail images]]&amp;quot;;&lt;br /&gt;
        elseif mw.title.getCurrentTitle().namespace == 0 then&lt;br /&gt;
            return image .. &amp;quot;[[Category:Pages using deprecated image syntax]]&amp;quot;;&lt;br /&gt;
        else&lt;br /&gt;
            return image;&lt;br /&gt;
        end&lt;br /&gt;
    elseif mw.ustring.sub(image,1,2) == &amp;quot;{{&amp;quot; and mw.ustring.sub(image,1,3) ~= &amp;quot;{{{&amp;quot; then&lt;br /&gt;
        return image;&lt;br /&gt;
    elseif mw.ustring.sub(image,1,1) == &amp;quot;&amp;lt;&amp;quot; then&lt;br /&gt;
        return image;&lt;br /&gt;
    elseif mw.ustring.sub(image,1,5) == mw.ustring.char(127)..&amp;quot;UNIQ&amp;quot; then&lt;br /&gt;
        -- Found strip marker at begining, so pass don&#039;t process at all&lt;br /&gt;
        return image;&lt;br /&gt;
    elseif mw.ustring.sub(image,4,9) == &amp;quot;`UNIQ-&amp;quot; then&lt;br /&gt;
        -- Found strip marker at begining, so pass don&#039;t process at all&lt;br /&gt;
        return image;&lt;br /&gt;
    else&lt;br /&gt;
        local result = &amp;quot;&amp;quot;;&lt;br /&gt;
        local page = frame.args[&amp;quot;page&amp;quot;];&lt;br /&gt;
        local size = frame.args[&amp;quot;size&amp;quot;];&lt;br /&gt;
        local maxsize = frame.args[&amp;quot;maxsize&amp;quot;];&lt;br /&gt;
        local sizedefault = frame.args[&amp;quot;sizedefault&amp;quot;];&lt;br /&gt;
        local alt = frame.args[&amp;quot;alt&amp;quot;];&lt;br /&gt;
        local link = frame.args[&amp;quot;link&amp;quot;];&lt;br /&gt;
        local title = frame.args[&amp;quot;title&amp;quot;];&lt;br /&gt;
        local border = frame.args[&amp;quot;border&amp;quot;];&lt;br /&gt;
        local upright = frame.args[&amp;quot;upright&amp;quot;] or &amp;quot;&amp;quot;;&lt;br /&gt;
        local thumbtime = frame.args[&amp;quot;thumbtime&amp;quot;] or &amp;quot;&amp;quot;;&lt;br /&gt;
        local center= frame.args[&amp;quot;center&amp;quot;];&lt;br /&gt;
        &lt;br /&gt;
        -- remove prefix if exists&lt;br /&gt;
        local allNames = mw.site.namespaces[6].aliases&lt;br /&gt;
        allNames[#allNames + 1] = mw.site.namespaces[6].name&lt;br /&gt;
        allNames[#allNames + 1] = mw.site.namespaces[6].canonicalName&lt;br /&gt;
        for i, name in ipairs(allNames) do&lt;br /&gt;
            if mw.ustring.lower(mw.ustring.sub(image, 1, mw.ustring.len(name) + 1)) == mw.ustring.lower(name .. &amp;quot;:&amp;quot;) then&lt;br /&gt;
                image = mw.ustring.sub(image, mw.ustring.len(name) + 2);&lt;br /&gt;
                break&lt;br /&gt;
            end&lt;br /&gt;
        end&lt;br /&gt;
        &lt;br /&gt;
        if maxsize ~= &amp;quot;&amp;quot; and maxsize ~= nil then&lt;br /&gt;
            -- if no sizedefault then set to maxsize&lt;br /&gt;
            if sizedefault == &amp;quot;&amp;quot; or sizedefault == nil then&lt;br /&gt;
                sizedefault = maxsize&lt;br /&gt;
            end&lt;br /&gt;
            -- check to see if size bigger than maxsize&lt;br /&gt;
            if size ~= &amp;quot;&amp;quot; and size ~= nil then&lt;br /&gt;
                local sizenumber = tonumber(mw.ustring.match(size,&amp;quot;%d*&amp;quot;)) or 0;&lt;br /&gt;
                local maxsizenumber = tonumber(mw.ustring.match(maxsize,&amp;quot;%d*&amp;quot;)) or 0;&lt;br /&gt;
                if sizenumber&amp;gt;maxsizenumber and maxsizenumber&amp;gt;0 then&lt;br /&gt;
                    size = maxsize;&lt;br /&gt;
                end&lt;br /&gt;
            end&lt;br /&gt;
        end&lt;br /&gt;
        -- add px to size if just a number&lt;br /&gt;
        if (tonumber(size) or 0) &amp;gt; 0 then&lt;br /&gt;
            size = size .. &amp;quot;px&amp;quot;;&lt;br /&gt;
        end&lt;br /&gt;
        -- add px to sizedefault if just a number&lt;br /&gt;
        if (tonumber(sizedefault) or 0) &amp;gt; 0 then&lt;br /&gt;
            sizedefault = sizedefault .. &amp;quot;px&amp;quot;;&lt;br /&gt;
        end&lt;br /&gt;
        &lt;br /&gt;
        result = &amp;quot;[[File:&amp;quot; .. image;&lt;br /&gt;
        if page ~= &amp;quot;&amp;quot; and page ~= nil then&lt;br /&gt;
            result = result .. &amp;quot;|page=&amp;quot; .. page;&lt;br /&gt;
        end&lt;br /&gt;
        if size ~= &amp;quot;&amp;quot; and size ~= nil then&lt;br /&gt;
            result = result .. &amp;quot;|&amp;quot; .. size;&lt;br /&gt;
        elseif sizedefault ~= &amp;quot;&amp;quot; and sizedefault ~= nil then&lt;br /&gt;
            result = result .. &amp;quot;|&amp;quot; .. sizedefault;&lt;br /&gt;
        else&lt;br /&gt;
            result = result .. &amp;quot;|frameless&amp;quot;;&lt;br /&gt;
        end&lt;br /&gt;
        if center == &amp;quot;yes&amp;quot; then&lt;br /&gt;
            result = result .. &amp;quot;|center&amp;quot;&lt;br /&gt;
        end&lt;br /&gt;
        if alt ~= &amp;quot;&amp;quot; and alt ~= nil then&lt;br /&gt;
            result = result .. &amp;quot;|alt=&amp;quot; .. alt;&lt;br /&gt;
        end&lt;br /&gt;
        if link ~= &amp;quot;&amp;quot; and link ~= nil then&lt;br /&gt;
            result = result .. &amp;quot;|link=&amp;quot; .. link;&lt;br /&gt;
        end&lt;br /&gt;
        if border == &amp;quot;yes&amp;quot; then&lt;br /&gt;
            result = result .. &amp;quot;|border&amp;quot;;&lt;br /&gt;
        end&lt;br /&gt;
        if upright == &amp;quot;yes&amp;quot; then&lt;br /&gt;
            result = result .. &amp;quot;|upright&amp;quot;;&lt;br /&gt;
        elseif upright ~= &amp;quot;&amp;quot; then&lt;br /&gt;
            result = result .. &amp;quot;|upright=&amp;quot; .. upright;&lt;br /&gt;
        end&lt;br /&gt;
        if thumbtime ~= &amp;quot;&amp;quot; then&lt;br /&gt;
            result = result .. &amp;quot;|thumbtime=&amp;quot; .. thumbtime;&lt;br /&gt;
        end&lt;br /&gt;
        if title ~= &amp;quot;&amp;quot; and title ~= nil then&lt;br /&gt;
            result = result .. &amp;quot;|&amp;quot; .. title;&lt;br /&gt;
        elseif alt ~= &amp;quot;&amp;quot; and alt ~= nil then&lt;br /&gt;
            result = result .. &amp;quot;|&amp;quot; .. alt;&lt;br /&gt;
        end&lt;br /&gt;
        result = result .. &amp;quot;]]&amp;quot;;&lt;br /&gt;
        &lt;br /&gt;
        return result;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return i;&lt;/div&gt;</summary>
		<author><name>Zabszk</name></author>
	</entry>
	<entry>
		<id>https://en.scpslgame.com/index.php?title=Module:Sidebar&amp;diff=26</id>
		<title>Module:Sidebar</title>
		<link rel="alternate" type="text/html" href="https://en.scpslgame.com/index.php?title=Module:Sidebar&amp;diff=26"/>
		<updated>2018-06-22T19:11:45Z</updated>

		<summary type="html">&lt;p&gt;Zabszk: Created page with &amp;quot;-- -- This module implements {{Sidebar}} -- require(&amp;#039;Module:No globals&amp;#039;)  local p = {}  local getArgs = require(&amp;#039;Module:Arguments&amp;#039;).getArgs local navbar = require(&amp;#039;Module:Navb...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;--&lt;br /&gt;
-- This module implements {{Sidebar}}&lt;br /&gt;
--&lt;br /&gt;
require(&#039;Module:No globals&#039;)&lt;br /&gt;
&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
local getArgs = require(&#039;Module:Arguments&#039;).getArgs&lt;br /&gt;
local navbar = require(&#039;Module:Navbar&#039;)._navbar&lt;br /&gt;
&lt;br /&gt;
local function trimAndAddAutomaticNewline(s)&lt;br /&gt;
	-- For compatibility with the original {{sidebar with collapsible lists}}&lt;br /&gt;
	-- implementation, which passed some parameters through {{#if}} to trim&lt;br /&gt;
	-- their whitespace. This also triggered the automatic newline behavior.&lt;br /&gt;
	-- ([[meta:Help:Newlines and spaces#Automatic newline]])&lt;br /&gt;
	s = mw.ustring.gsub(s, &amp;quot;^%s*(.-)%s*$&amp;quot;, &amp;quot;%1&amp;quot;)&lt;br /&gt;
	if mw.ustring.find(s, &#039;^[#*:;]&#039;) or mw.ustring.find(s, &#039;^{|&#039;) then&lt;br /&gt;
		return &#039;\n&#039; .. s&lt;br /&gt;
	else&lt;br /&gt;
		return s&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function hasSubgroup(s)&lt;br /&gt;
	if mw.ustring.find(s, &#039;vertical%-navbox%-subgroup&#039;) then&lt;br /&gt;
		return true&lt;br /&gt;
	else&lt;br /&gt;
		return false&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.sidebar(frame, args)&lt;br /&gt;
	if not args then&lt;br /&gt;
		args = getArgs(frame)&lt;br /&gt;
	end&lt;br /&gt;
	local root = mw.html.create()&lt;br /&gt;
	local child = args.child and mw.text.trim(args.child) == &#039;yes&#039;&lt;br /&gt;
&lt;br /&gt;
	root = root:tag(&#039;table&#039;)&lt;br /&gt;
	if not child then&lt;br /&gt;
		root &lt;br /&gt;
			:addClass(&#039;vertical-navbox&#039;)&lt;br /&gt;
			:addClass(args.wraplinks ~= &#039;true&#039; and &#039;nowraplinks&#039; or nil)&lt;br /&gt;
			:addClass(args.bodyclass or args.class)&lt;br /&gt;
			:css(&#039;float&#039;, args.float or &#039;right&#039;)&lt;br /&gt;
			:css(&#039;clear&#039;, (args.float == &#039;none&#039; and &#039;both&#039;) or args.float or &#039;right&#039;)&lt;br /&gt;
			:css(&#039;width&#039;, args.width or &#039;22.0em&#039;)&lt;br /&gt;
			:css(&#039;margin&#039;, args.float == &#039;left&#039; and &#039;0 1.0em 1.0em 0&#039; or &#039;0 0 1.0em 1.0em&#039;)&lt;br /&gt;
			:css(&#039;background&#039;, &#039;#f9f9f9&#039;)&lt;br /&gt;
			:css(&#039;border&#039;, &#039;1px solid #aaa&#039;)&lt;br /&gt;
			:css(&#039;padding&#039;, &#039;0.2em&#039;)&lt;br /&gt;
			:css(&#039;border-spacing&#039;, &#039;0.4em 0&#039;)&lt;br /&gt;
			:css(&#039;text-align&#039;, &#039;center&#039;)&lt;br /&gt;
			:css(&#039;line-height&#039;, &#039;1.4em&#039;)&lt;br /&gt;
			:css(&#039;font-size&#039;, &#039;88%&#039;)&lt;br /&gt;
			:cssText(args.bodystyle or args.style)&lt;br /&gt;
&lt;br /&gt;
		if args.outertitle then&lt;br /&gt;
			root&lt;br /&gt;
				:tag(&#039;caption&#039;)&lt;br /&gt;
					:addClass(args.outertitleclass)&lt;br /&gt;
					:css(&#039;padding-bottom&#039;, &#039;0.2em&#039;)&lt;br /&gt;
					:css(&#039;font-size&#039;, &#039;125%&#039;)&lt;br /&gt;
					:css(&#039;line-height&#039;, &#039;1.2em&#039;)&lt;br /&gt;
					:css(&#039;font-weight&#039;, &#039;bold&#039;)&lt;br /&gt;
					:cssText(args.outertitlestyle)&lt;br /&gt;
					:wikitext(args.outertitle)&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		if args.topimage then&lt;br /&gt;
			local imageCell = root:tag(&#039;tr&#039;):tag(&#039;td&#039;)&lt;br /&gt;
&lt;br /&gt;
			imageCell&lt;br /&gt;
				:addClass(args.topimageclass)&lt;br /&gt;
				:css(&#039;padding&#039;, &#039;0.4em 0&#039;)&lt;br /&gt;
				:cssText(args.topimagestyle)&lt;br /&gt;
				:wikitext(args.topimage)&lt;br /&gt;
&lt;br /&gt;
			if args.topcaption then&lt;br /&gt;
				imageCell&lt;br /&gt;
					:tag(&#039;div&#039;)&lt;br /&gt;
						:css(&#039;padding-top&#039;, &#039;0.2em&#039;)&lt;br /&gt;
						:css(&#039;line-height&#039;, &#039;1.2em&#039;)&lt;br /&gt;
						:cssText(args.topcaptionstyle)&lt;br /&gt;
						:wikitext(args.topcaption)&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		if args.pretitle then&lt;br /&gt;
			root&lt;br /&gt;
				:tag(&#039;tr&#039;)&lt;br /&gt;
					:tag(&#039;td&#039;)&lt;br /&gt;
						:addClass(args.pretitleclass)&lt;br /&gt;
						:cssText(args.basestyle)&lt;br /&gt;
						:css(&#039;padding-top&#039;, args.topimage and &#039;0.2em&#039; or &#039;0.4em&#039;)&lt;br /&gt;
						:css(&#039;line-height&#039;, &#039;1.2em&#039;)&lt;br /&gt;
						:cssText(args.pretitlestyle)&lt;br /&gt;
						:wikitext(args.pretitle)&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		root&lt;br /&gt;
			:addClass(&#039;vertical-navbox-subgroup&#039;)&lt;br /&gt;
			:css(&#039;width&#039;, &#039;100%&#039;)&lt;br /&gt;
			:css(&#039;margin&#039;, &#039;0px&#039;)&lt;br /&gt;
			:css(&#039;border-spacing&#039;, &#039;0px&#039;)&lt;br /&gt;
			:addClass(args.bodyclass or args.class)&lt;br /&gt;
			:cssText(args.bodystyle or args.style)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if args.title then&lt;br /&gt;
		if child then&lt;br /&gt;
			root&lt;br /&gt;
				:wikitext(args.title)&lt;br /&gt;
		else&lt;br /&gt;
			root&lt;br /&gt;
				:tag(&#039;tr&#039;)&lt;br /&gt;
					:tag(&#039;th&#039;)&lt;br /&gt;
						:addClass(args.titleclass)&lt;br /&gt;
						:cssText(args.basestyle)&lt;br /&gt;
						:css(&#039;padding&#039;, &#039;0.2em 0.4em 0.2em&#039;)&lt;br /&gt;
						:css(&#039;padding-top&#039;, args.pretitle and 0)&lt;br /&gt;
						:css(&#039;font-size&#039;, &#039;145%&#039;)&lt;br /&gt;
						:css(&#039;line-height&#039;, &#039;1.2em&#039;)&lt;br /&gt;
						:cssText(args.titlestyle)&lt;br /&gt;
						:wikitext(args.title)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if args.image then&lt;br /&gt;
		local imageCell = root:tag(&#039;tr&#039;):tag(&#039;td&#039;)&lt;br /&gt;
&lt;br /&gt;
		imageCell&lt;br /&gt;
			:addClass(args.imageclass)&lt;br /&gt;
			:css(&#039;padding&#039;, &#039;0.2em 0 0.4em&#039;)&lt;br /&gt;
			:cssText(args.imagestyle)&lt;br /&gt;
			:wikitext(args.image)&lt;br /&gt;
&lt;br /&gt;
		if args.caption then&lt;br /&gt;
			imageCell&lt;br /&gt;
				:tag(&#039;div&#039;)&lt;br /&gt;
					:css(&#039;padding-top&#039;, &#039;0.2em&#039;)&lt;br /&gt;
					:css(&#039;line-height&#039;, &#039;1.2em&#039;)&lt;br /&gt;
					:cssText(args.captionstyle)&lt;br /&gt;
					:wikitext(args.caption)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if args.above then&lt;br /&gt;
		root&lt;br /&gt;
			:tag(&#039;tr&#039;)&lt;br /&gt;
				:tag(&#039;td&#039;)&lt;br /&gt;
					:addClass(args.aboveclass)&lt;br /&gt;
					:css(&#039;padding&#039;, &#039;0.3em 0.4em 0.3em&#039;)&lt;br /&gt;
					:css(&#039;font-weight&#039;, &#039;bold&#039;)&lt;br /&gt;
					:cssText(args.abovestyle)&lt;br /&gt;
					:newline() -- newline required for bullet-points to work&lt;br /&gt;
					:wikitext(args.above)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local rowNums = {}&lt;br /&gt;
	for k, v in pairs(args) do&lt;br /&gt;
		k = &#039;&#039; .. k&lt;br /&gt;
		local num = k:match(&#039;^heading(%d+)$&#039;) or k:match(&#039;^content(%d+)$&#039;)&lt;br /&gt;
		if num then table.insert(rowNums, tonumber(num)) end&lt;br /&gt;
	end&lt;br /&gt;
	table.sort(rowNums)&lt;br /&gt;
	-- remove duplicates from the list (e.g. 3 will be duplicated if both heading3 and content3 are specified)&lt;br /&gt;
	for i = #rowNums, 1, -1 do&lt;br /&gt;
		if rowNums[i] == rowNums[i - 1] then&lt;br /&gt;
			table.remove(rowNums, i)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	for i, num in ipairs(rowNums) do&lt;br /&gt;
		local heading = args[&#039;heading&#039; .. num]&lt;br /&gt;
		if heading then&lt;br /&gt;
			root&lt;br /&gt;
				:tag(&#039;tr&#039;)&lt;br /&gt;
					:tag(&#039;th&#039;)&lt;br /&gt;
						:addClass(args.headingclass)&lt;br /&gt;
						:css(&#039;padding&#039;, &#039;0.1em&#039;)&lt;br /&gt;
						:cssText(args.basestyle)&lt;br /&gt;
						:cssText(args.headingstyle)&lt;br /&gt;
						:cssText(args[&#039;heading&#039; .. num .. &#039;style&#039;])&lt;br /&gt;
						:newline()&lt;br /&gt;
						:wikitext(heading)&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		local content = args[&#039;content&#039; .. num]&lt;br /&gt;
		if content then&lt;br /&gt;
			root&lt;br /&gt;
				:tag(&#039;tr&#039;)&lt;br /&gt;
					:tag(&#039;td&#039;)&lt;br /&gt;
						:addClass(args.contentclass)&lt;br /&gt;
						:css(&#039;padding&#039;, hasSubgroup(content) and &#039;0.1em 0 0.2em&#039; or &#039;0 0.1em 0.4em&#039;)&lt;br /&gt;
						:cssText(args.contentstyle)&lt;br /&gt;
						:cssText(args[&#039;content&#039; .. num .. &#039;style&#039;])&lt;br /&gt;
						:newline()&lt;br /&gt;
						:wikitext(content)&lt;br /&gt;
						:done()&lt;br /&gt;
					:newline() -- Without a linebreak after the &amp;lt;/td&amp;gt;, a nested list like &amp;quot;* {{hlist| ...}}&amp;quot; doesn&#039;t parse correctly.&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if args.below then&lt;br /&gt;
		root&lt;br /&gt;
			:tag(&#039;tr&#039;)&lt;br /&gt;
				:tag(&#039;td&#039;)&lt;br /&gt;
					:addClass(args.belowclass)&lt;br /&gt;
					:css(&#039;padding&#039;, &#039;0.3em 0.4em 0.3em&#039;)&lt;br /&gt;
					:css(&#039;font-weight&#039;, &#039;bold&#039;)&lt;br /&gt;
					:cssText(args.belowstyle)&lt;br /&gt;
					:newline()&lt;br /&gt;
					:wikitext(args.below)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if not child then&lt;br /&gt;
		local navbarArg = args.navbar or args.tnavbar&lt;br /&gt;
		if navbarArg ~= &#039;none&#039; and navbarArg ~= &#039;off&#039; and (args.name or frame:getParent():getTitle():gsub(&#039;/sandbox$&#039;, &#039;&#039;) ~= &#039;Template:Sidebar&#039;) then&lt;br /&gt;
			root&lt;br /&gt;
				:tag(&#039;tr&#039;)&lt;br /&gt;
					:tag(&#039;td&#039;)&lt;br /&gt;
						:css(&#039;text-align&#039;, &#039;right&#039;)&lt;br /&gt;
						:css(&#039;font-size&#039;, &#039;115%&#039;)&lt;br /&gt;
						:cssText(args.navbarstyle or args.tnavbarstyle)&lt;br /&gt;
						:wikitext(navbar{&lt;br /&gt;
							args.name,&lt;br /&gt;
							mini = 1,&lt;br /&gt;
							fontstyle = args.navbarfontstyle or args.tnavbarfontstyle&lt;br /&gt;
						})&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return tostring(root) .. (child and &#039;[[Category:Pages using sidebar with the child parameter]]&#039; or &#039;&#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.collapsible(frame)&lt;br /&gt;
	local args = getArgs(frame)&lt;br /&gt;
&lt;br /&gt;
	args.abovestyle = &#039;border-top: 1px solid #aaa; border-bottom: 1px solid #aaa;&#039; .. (args.abovestyle or &#039;&#039;)&lt;br /&gt;
	args.belowstyle = &#039;border-top: 1px solid #aaa; border-bottom: 1px solid #aaa;&#039; .. (args.belowstyle or &#039;&#039;)&lt;br /&gt;
	args.navbarstyle = &#039;padding-top: 0.6em;&#039; .. (args.navbarstyle or args.tnavbarstyle or &#039;&#039;)&lt;br /&gt;
	if not args.name and frame:getParent():getTitle():gsub(&#039;/sandbox$&#039;, &#039;&#039;) == &#039;Template:Sidebar with collapsible lists&#039; then&lt;br /&gt;
		args.navbar = &#039;none&#039;&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local contentArgs = {}&lt;br /&gt;
&lt;br /&gt;
	for k, v in pairs(args) do&lt;br /&gt;
		local num = string.match(k, &#039;^list(%d+)$&#039;)&lt;br /&gt;
		if num then&lt;br /&gt;
			local expand = args.expanded and (args.expanded == &#039;all&#039; or args.expanded == args[&#039;list&#039; .. num .. &#039;name&#039;])&lt;br /&gt;
&lt;br /&gt;
			local row = mw.html.create(&#039;div&#039;)&lt;br /&gt;
			row&lt;br /&gt;
				:addClass(&#039;NavFrame&#039;)&lt;br /&gt;
				:addClass((not expand) and &#039;collapsed&#039; or nil)&lt;br /&gt;
				:css(&#039;border&#039;, &#039;none&#039;)&lt;br /&gt;
				:css(&#039;padding&#039;, 0)&lt;br /&gt;
				:cssText(args.listframestyle)&lt;br /&gt;
				:cssText(args[&#039;list&#039; .. num .. &#039;framestyle&#039;])&lt;br /&gt;
				:tag(&#039;div&#039;)&lt;br /&gt;
					:addClass(&#039;NavHead&#039;)&lt;br /&gt;
					:addClass(args.listtitleclass)&lt;br /&gt;
					:css(&#039;font-size&#039;, &#039;105%&#039;)&lt;br /&gt;
					:css(&#039;background&#039;, &#039;transparent&#039;)&lt;br /&gt;
					:css(&#039;text-align&#039;, &#039;left&#039;)&lt;br /&gt;
					:cssText(args.basestyle)&lt;br /&gt;
					:cssText(args.listtitlestyle)&lt;br /&gt;
					:cssText(args[&#039;list&#039; .. num .. &#039;titlestyle&#039;])&lt;br /&gt;
					:wikitext(trimAndAddAutomaticNewline(args[&#039;list&#039; .. num .. &#039;title&#039;] or &#039;List&#039;))&lt;br /&gt;
					:done()&lt;br /&gt;
				:tag(&#039;div&#039;)&lt;br /&gt;
					:addClass(&#039;NavContent&#039;)&lt;br /&gt;
					:addClass(args.listclass)&lt;br /&gt;
					:addClass(args[&#039;list&#039; .. num .. &#039;class&#039;])&lt;br /&gt;
					:css(&#039;font-size&#039;, &#039;105%&#039;)&lt;br /&gt;
					:css(&#039;padding&#039;, &#039;0.2em 0 0.4em&#039;)&lt;br /&gt;
					:css(&#039;text-align&#039;, &#039;center&#039;)&lt;br /&gt;
					:cssText(args.liststyle)&lt;br /&gt;
					:cssText(args[&#039;list&#039; .. num .. &#039;style&#039;])&lt;br /&gt;
					:wikitext(trimAndAddAutomaticNewline(args[&#039;list&#039; .. num]))&lt;br /&gt;
&lt;br /&gt;
			contentArgs[&#039;content&#039; .. num] = tostring(row)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	for k, v in pairs(contentArgs) do&lt;br /&gt;
		args[k] = v&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return p.sidebar(frame, args)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Zabszk</name></author>
	</entry>
	<entry>
		<id>https://en.scpslgame.com/index.php?title=Module:Navbar&amp;diff=25</id>
		<title>Module:Navbar</title>
		<link rel="alternate" type="text/html" href="https://en.scpslgame.com/index.php?title=Module:Navbar&amp;diff=25"/>
		<updated>2018-06-22T19:09:02Z</updated>

		<summary type="html">&lt;p&gt;Zabszk: Created page with &amp;quot;local p = {}  local getArgs local ul  function p.addItem (mini, full, link, descrip, args, url) 	local l 	if url then 		l = {&amp;#039;[&amp;#039;, &amp;#039;&amp;#039;, &amp;#039;]&amp;#039;} 	else 		l = {&amp;#039;&amp;#039;, &amp;#039;&amp;#039;} 	end...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;local p = {}&lt;br /&gt;
&lt;br /&gt;
local getArgs&lt;br /&gt;
local ul&lt;br /&gt;
&lt;br /&gt;
function p.addItem (mini, full, link, descrip, args, url)&lt;br /&gt;
	local l&lt;br /&gt;
	if url then&lt;br /&gt;
		l = {&#039;[&#039;, &#039;&#039;, &#039;]&#039;}&lt;br /&gt;
	else&lt;br /&gt;
		l = {&#039;[[&#039;, &#039;|&#039;, &#039;]]&#039;}&lt;br /&gt;
	end&lt;br /&gt;
	ul:tag(&#039;li&#039;)&lt;br /&gt;
		:addClass(&#039;nv-&#039;..full)&lt;br /&gt;
		:wikitext(l[1] .. link .. l[2])&lt;br /&gt;
		:tag(args.mini and &#039;abbr&#039; or &#039;span&#039;)&lt;br /&gt;
			:attr(&#039;title&#039;, descrip..&#039; this template&#039;)&lt;br /&gt;
			:cssText(args.fontstyle)&lt;br /&gt;
			:wikitext(args.mini and mini or full)&lt;br /&gt;
			:done()&lt;br /&gt;
		:wikitext(l[3])&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.brackets (position, c, args, div)&lt;br /&gt;
	if args.brackets then&lt;br /&gt;
		div&lt;br /&gt;
			:tag(&#039;span&#039;)&lt;br /&gt;
				:css(&#039;margin-&#039;..position, &#039;-0.125em&#039;)&lt;br /&gt;
				:cssText(args.fontstyle)&lt;br /&gt;
				:wikitext(c)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._navbar(args)&lt;br /&gt;
	local show = {true, true, true, false, false, false}&lt;br /&gt;
	local titleArg = 1&lt;br /&gt;
	&lt;br /&gt;
	if args.collapsible then&lt;br /&gt;
		titleArg = 2&lt;br /&gt;
		if not args.plain then args.mini = 1 end&lt;br /&gt;
		if args.fontcolor then&lt;br /&gt;
			args.fontstyle = &#039;color:&#039; .. args.fontcolor .. &#039;;&#039;&lt;br /&gt;
		end&lt;br /&gt;
		args.style = &#039;float:left; text-align:left&#039;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if args.template then&lt;br /&gt;
		titleArg = &#039;template&#039;&lt;br /&gt;
		show = {true, false, false, false, false, false}&lt;br /&gt;
		local index = {t = 2, d = 2, e = 3, h = 4, m = 5, w = 6, talk = 2, edit = 3, hist = 4, move = 5, watch = 6}&lt;br /&gt;
		for k,v in ipairs(require (&#039;Module:TableTools&#039;).compressSparseArray(args)) do&lt;br /&gt;
			local num = index[v]&lt;br /&gt;
			if num then show[num] = true end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if args.noedit then show[3] = false end&lt;br /&gt;
	&lt;br /&gt;
	local titleText = args[titleArg] or (&#039;:&#039; .. mw.getCurrentFrame():getParent():getTitle())&lt;br /&gt;
	local title = mw.title.new(mw.text.trim(titleText), &#039;Template&#039;)&lt;br /&gt;
	if not title then&lt;br /&gt;
		error(&#039;Invalid title &#039; .. titleText)&lt;br /&gt;
	end&lt;br /&gt;
	local talkpage = title.talkPageTitle and title.talkPageTitle.fullText or &#039;&#039;&lt;br /&gt;
	&lt;br /&gt;
	local div = mw.html.create():tag(&#039;div&#039;)&lt;br /&gt;
	div&lt;br /&gt;
		:addClass(&#039;plainlinks&#039;)&lt;br /&gt;
		:addClass(&#039;hlist&#039;)&lt;br /&gt;
		:addClass(&#039;navbar&#039;)&lt;br /&gt;
		:cssText(args.style)&lt;br /&gt;
&lt;br /&gt;
	if args.mini then div:addClass(&#039;mini&#039;) end&lt;br /&gt;
&lt;br /&gt;
	if not (args.mini or args.plain) then&lt;br /&gt;
		div&lt;br /&gt;
			:tag(&#039;span&#039;)&lt;br /&gt;
				:css(&#039;word-spacing&#039;, 0)&lt;br /&gt;
				:cssText(args.fontstyle)&lt;br /&gt;
				:wikitext(args.text or &#039;This box:&#039;)&lt;br /&gt;
				:wikitext(&#039; &#039;)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	p.brackets(&#039;right&#039;, &#039;&amp;amp;#91; &#039;, args, div)&lt;br /&gt;
	&lt;br /&gt;
	ul = div:tag(&#039;ul&#039;)&lt;br /&gt;
	if show[1] then p.addItem(&#039;v&#039;, &#039;view&#039;, title.fullText, &#039;View&#039;, args) end&lt;br /&gt;
	if show[2] then p.addItem(&#039;t&#039;, &#039;talk&#039;, talkpage, &#039;Discuss&#039;, args) end&lt;br /&gt;
	if show[3] then p.addItem(&#039;e&#039;, &#039;edit&#039;, title:fullUrl(&#039;action=edit&#039;), &#039;Edit&#039;, args, true) end&lt;br /&gt;
	if show[4] then p.addItem(&#039;h&#039;, &#039;hist&#039;, title:fullUrl(&#039;action=history&#039;), &#039;History of&#039;, args, true) end&lt;br /&gt;
	if show[5] then&lt;br /&gt;
		local move = mw.title.new (&#039;Special:Movepage&#039;)&lt;br /&gt;
		p.addItem(&#039;m&#039;, &#039;move&#039;, move:fullUrl(&#039;target=&#039;..title.fullText), &#039;Move&#039;, args, true) end&lt;br /&gt;
	if show[6] then p.addItem(&#039;w&#039;, &#039;watch&#039;, title:fullUrl(&#039;action=watch&#039;), &#039;Watch&#039;, args, true) end&lt;br /&gt;
	&lt;br /&gt;
	p.brackets(&#039;left&#039;, &#039; &amp;amp;#93;&#039;, args, div)&lt;br /&gt;
	&lt;br /&gt;
	if args.collapsible then&lt;br /&gt;
		div&lt;br /&gt;
			:done()&lt;br /&gt;
		:tag(&#039;div&#039;)&lt;br /&gt;
			:css(&#039;font-size&#039;, &#039;114%&#039;)&lt;br /&gt;
			:css(&#039;margin&#039;, args.mini and &#039;0 4em&#039; or &#039;0 7em&#039;)&lt;br /&gt;
			:cssText(args.fontstyle)&lt;br /&gt;
			:wikitext(args[1])&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return tostring(div:done())&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.navbar(frame)&lt;br /&gt;
	if not getArgs then&lt;br /&gt;
		getArgs = require(&#039;Module:Arguments&#039;).getArgs&lt;br /&gt;
	end&lt;br /&gt;
	return p._navbar(getArgs(frame))&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Zabszk</name></author>
	</entry>
	<entry>
		<id>https://en.scpslgame.com/index.php?title=Module:Infobox&amp;diff=24</id>
		<title>Module:Infobox</title>
		<link rel="alternate" type="text/html" href="https://en.scpslgame.com/index.php?title=Module:Infobox&amp;diff=24"/>
		<updated>2018-06-22T19:08:43Z</updated>

		<summary type="html">&lt;p&gt;Zabszk: Created page with &amp;quot;-- -- This module implements {{Infobox}} --   local p = {}  local navbar = require(&amp;#039;Module:Navbar&amp;#039;)._navbar  local args = {} local origArgs local root  local function notempty...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;--&lt;br /&gt;
-- This module implements {{Infobox}}&lt;br /&gt;
--&lt;br /&gt;
 &lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
local navbar = require(&#039;Module:Navbar&#039;)._navbar&lt;br /&gt;
&lt;br /&gt;
local args = {}&lt;br /&gt;
local origArgs&lt;br /&gt;
local root&lt;br /&gt;
&lt;br /&gt;
local function notempty( s ) return s and s:match( &#039;%S&#039; ) end&lt;br /&gt;
&lt;br /&gt;
local function fixChildBoxes(sval, tt)&lt;br /&gt;
	if notempty(sval) then&lt;br /&gt;
		local marker = &#039;&amp;lt;span class=special_infobox_marker&amp;gt;&#039;&lt;br /&gt;
		local s = sval&lt;br /&gt;
		s = mw.ustring.gsub(s, &#039;(&amp;lt;%s*[Tt][Rr])&#039;, marker .. &#039;%1&#039;)&lt;br /&gt;
		s = mw.ustring.gsub(s, &#039;(&amp;lt;/[Tt][Rr]%s*&amp;gt;)&#039;, &#039;%1&#039; .. marker)&lt;br /&gt;
		if s:match(marker) then&lt;br /&gt;
			s = mw.ustring.gsub(s, marker .. &#039;%s*&#039; .. marker, &#039;&#039;)&lt;br /&gt;
			s = mw.ustring.gsub(s, &#039;([\r\n]|-[^\r\n]*[\r\n])%s*&#039; .. marker, &#039;%1&#039;)&lt;br /&gt;
			s = mw.ustring.gsub(s, marker .. &#039;%s*([\r\n]|-)&#039;, &#039;%1&#039;)&lt;br /&gt;
			s = mw.ustring.gsub(s, &#039;(&amp;lt;/[Cc][Aa][Pp][Tt][Ii][Oo][Nn]%s*&amp;gt;%s*)&#039; .. marker, &#039;%1&#039;)&lt;br /&gt;
			s = mw.ustring.gsub(s, &#039;(&amp;lt;%s*[Tt][Aa][Bb][Ll][Ee][^&amp;lt;&amp;gt;]*&amp;gt;%s*)&#039; .. marker, &#039;%1&#039;)&lt;br /&gt;
			s = mw.ustring.gsub(s, &#039;^(%{|[^\r\n]*[\r\n]%s*)&#039; .. marker, &#039;%1&#039;)&lt;br /&gt;
			s = mw.ustring.gsub(s, &#039;([\r\n]%{|[^\r\n]*[\r\n]%s*)&#039; .. marker, &#039;%1&#039;)&lt;br /&gt;
			s = mw.ustring.gsub(s,  marker .. &#039;(%s*&amp;lt;/[Tt][Aa][Bb][Ll][Ee]%s*&amp;gt;)&#039;, &#039;%1&#039;)&lt;br /&gt;
			s = mw.ustring.gsub(s,  marker .. &#039;(%s*\n|%})&#039;, &#039;%1&#039;)&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 = &#039;&#039;&lt;br /&gt;
			for k = 1, #subcells do&lt;br /&gt;
				if k == 1 then&lt;br /&gt;
					s = s .. subcells[k] .. &#039;&amp;lt;/&#039; .. tt .. &#039;&amp;gt;&amp;lt;/tr&amp;gt;&#039;&lt;br /&gt;
				elseif k == #subcells then&lt;br /&gt;
					local rowstyle = &#039; style=&amp;quot;display:none&amp;quot;&#039;&lt;br /&gt;
					if notempty(subcells[k]) then rowstyle = &#039;&#039;	end&lt;br /&gt;
					s = s .. &#039;&amp;lt;tr&#039; .. rowstyle ..&#039;&amp;gt;&amp;lt;&#039; .. tt .. &#039; colspan=2&amp;gt;\n&#039; .. 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 .. &#039;&amp;lt;tr&amp;gt;&amp;lt;&#039; .. tt .. &#039; colspan=2&amp;gt;\n&#039; .. subcells[k] .. &#039;&amp;lt;/&#039; .. tt .. &#039;&amp;gt;&amp;lt;/tr&amp;gt;&#039;&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&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;
local function union(t1, t2)&lt;br /&gt;
    -- Returns the union of the values of two tables, as a sequence.&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;
local function getArgNums(prefix)&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 &#039;data&#039;, and&lt;br /&gt;
    -- &#039;data1&#039;, &#039;data2&#039;, and &#039;data5&#039; exist, it would return {1, 2, 5}.&lt;br /&gt;
    local nums = {}&lt;br /&gt;
    for k, v in pairs(args) do&lt;br /&gt;
        local num = tostring(k):match(&#039;^&#039; .. prefix .. &#039;([1-9]%d*)$&#039;)&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;
local function addRow(rowArgs)&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;
    if rowArgs.header then&lt;br /&gt;
        root&lt;br /&gt;
            :tag(&#039;tr&#039;)&lt;br /&gt;
                :addClass(rowArgs.rowclass)&lt;br /&gt;
                :cssText(rowArgs.rowstyle)&lt;br /&gt;
                :attr(&#039;id&#039;, rowArgs.rowid)&lt;br /&gt;
                :tag(&#039;th&#039;)&lt;br /&gt;
                    :attr(&#039;colspan&#039;, 2)&lt;br /&gt;
                    :attr(&#039;id&#039;, rowArgs.headerid)&lt;br /&gt;
                    :addClass(rowArgs.class)&lt;br /&gt;
                    :addClass(args.headerclass)&lt;br /&gt;
                    :css(&#039;text-align&#039;, &#039;center&#039;)&lt;br /&gt;
                    :cssText(args.headerstyle)&lt;br /&gt;
                    :cssText(rowArgs.rowcellstyle)&lt;br /&gt;
                    :wikitext(fixChildBoxes(rowArgs.header, &#039;th&#039;))&lt;br /&gt;
    elseif rowArgs.data then&lt;br /&gt;
        local row = root:tag(&#039;tr&#039;)&lt;br /&gt;
        row:addClass(rowArgs.rowclass)&lt;br /&gt;
        row:cssText(rowArgs.rowstyle)&lt;br /&gt;
        row:attr(&#039;id&#039;, rowArgs.rowid)&lt;br /&gt;
        if rowArgs.label then&lt;br /&gt;
            row&lt;br /&gt;
                :tag(&#039;th&#039;)&lt;br /&gt;
                    :attr(&#039;scope&#039;, &#039;row&#039;)&lt;br /&gt;
                    :attr(&#039;id&#039;, rowArgs.labelid)&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(&#039;td&#039;)&lt;br /&gt;
        if not rowArgs.label then &lt;br /&gt;
            dataCell&lt;br /&gt;
                :attr(&#039;colspan&#039;, 2)&lt;br /&gt;
                :css(&#039;text-align&#039;, &#039;center&#039;) &lt;br /&gt;
        end&lt;br /&gt;
        dataCell&lt;br /&gt;
            :attr(&#039;id&#039;, rowArgs.dataid)&lt;br /&gt;
            :addClass(rowArgs.class)&lt;br /&gt;
            :cssText(rowArgs.datastyle)&lt;br /&gt;
            :cssText(rowArgs.rowcellstyle)&lt;br /&gt;
            :newline()&lt;br /&gt;
            :wikitext(fixChildBoxes(rowArgs.data, &#039;td&#039;))&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;
    root&lt;br /&gt;
        :tag(&#039;caption&#039;)&lt;br /&gt;
            :addClass(args.titleclass)&lt;br /&gt;
            :cssText(args.titlestyle)&lt;br /&gt;
            :wikitext(args.title)&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;
    root&lt;br /&gt;
        :tag(&#039;tr&#039;)&lt;br /&gt;
            :tag(&#039;th&#039;)&lt;br /&gt;
                :attr(&#039;colspan&#039;, 2)&lt;br /&gt;
                :addClass(args.aboveclass)&lt;br /&gt;
                :css(&#039;text-align&#039;, &#039;center&#039;)&lt;br /&gt;
                :css(&#039;font-size&#039;, &#039;125%&#039;)&lt;br /&gt;
                :css(&#039;font-weight&#039;, &#039;bold&#039;)&lt;br /&gt;
                :cssText(args.abovestyle)&lt;br /&gt;
                :wikitext(fixChildBoxes(args.above,&#039;th&#039;))&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;
    root&lt;br /&gt;
        :tag(&#039;tr&#039;)&lt;br /&gt;
            :tag(&#039;td&#039;)&lt;br /&gt;
                :attr(&#039;colspan&#039;, &#039;2&#039;)&lt;br /&gt;
                :addClass(args.belowclass)&lt;br /&gt;
                :css(&#039;text-align&#039;, &#039;center&#039;)&lt;br /&gt;
                :cssText(args.belowstyle)&lt;br /&gt;
                :newline()&lt;br /&gt;
                :wikitext(fixChildBoxes(args.below,&#039;td&#039;))&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(&#039;subheader&#039;)&lt;br /&gt;
    for k, num in ipairs(subheadernums) do&lt;br /&gt;
        addRow({&lt;br /&gt;
            data = args[&#039;subheader&#039; .. tostring(num)],&lt;br /&gt;
            datastyle = args.subheaderstyle or args[&#039;subheaderstyle&#039; .. tostring(num)],&lt;br /&gt;
            class = args.subheaderclass,&lt;br /&gt;
            rowclass = args[&#039;subheaderrowclass&#039; .. tostring(num)]&lt;br /&gt;
        })&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(&#039;image&#039;)&lt;br /&gt;
    for k, num in ipairs(imagenums) do&lt;br /&gt;
        local caption = args[&#039;caption&#039; .. tostring(num)]&lt;br /&gt;
        local data = mw.html.create():wikitext(args[&#039;image&#039; .. tostring(num)])&lt;br /&gt;
        if caption then&lt;br /&gt;
            data&lt;br /&gt;
                :tag(&#039;div&#039;)&lt;br /&gt;
                    :cssText(args.captionstyle)&lt;br /&gt;
                    :wikitext(caption)&lt;br /&gt;
        end&lt;br /&gt;
        addRow({&lt;br /&gt;
            data = tostring(data),&lt;br /&gt;
            datastyle = args.imagestyle,&lt;br /&gt;
            class = args.imageclass,&lt;br /&gt;
            rowclass = args[&#039;imagerowclass&#039; .. tostring(num)]&lt;br /&gt;
        })&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function renderRows()&lt;br /&gt;
    -- Gets the union of the header and data argument numbers,&lt;br /&gt;
    -- and renders them all in order using addRow.&lt;br /&gt;
    local rownums = union(getArgNums(&#039;header&#039;), getArgNums(&#039;data&#039;))&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[&#039;header&#039; .. tostring(num)],&lt;br /&gt;
            label = args[&#039;label&#039; .. tostring(num)],&lt;br /&gt;
            data = args[&#039;data&#039; .. tostring(num)],&lt;br /&gt;
            datastyle = args.datastyle,&lt;br /&gt;
            class = args[&#039;class&#039; .. tostring(num)],&lt;br /&gt;
            rowclass = args[&#039;rowclass&#039; .. tostring(num)],&lt;br /&gt;
            rowstyle = args[&#039;rowstyle&#039; .. tostring(num)],&lt;br /&gt;
            rowcellstyle = args[&#039;rowcellstyle&#039; .. tostring(num)],&lt;br /&gt;
            dataid = args[&#039;dataid&#039; .. tostring(num)],&lt;br /&gt;
            labelid = args[&#039;labelid&#039; .. tostring(num)],&lt;br /&gt;
            headerid = args[&#039;headerid&#039; .. tostring(num)],&lt;br /&gt;
            rowid = args[&#039;rowid&#039; .. 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;
    root&lt;br /&gt;
        :tag(&#039;tr&#039;)&lt;br /&gt;
            :tag(&#039;td&#039;)&lt;br /&gt;
                :attr(&#039;colspan&#039;, &#039;2&#039;)&lt;br /&gt;
                :css(&#039;text-align&#039;, &#039;right&#039;)&lt;br /&gt;
                :wikitext(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[&#039;italic title&#039;] and mw.ustring.lower(args[&#039;italic title&#039;])&lt;br /&gt;
    if italicTitle == &#039;&#039; or italicTitle == &#039;force&#039; or italicTitle == &#039;yes&#039; then&lt;br /&gt;
        root:wikitext(mw.getCurrentFrame():expandTemplate({title = &#039;italic title&#039;}))&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function renderTrackingCategories()&lt;br /&gt;
    if args.decat ~= &#039;yes&#039; then&lt;br /&gt;
        if #(getArgNums(&#039;data&#039;)) == 0 and mw.title.getCurrentTitle().namespace == 0 then&lt;br /&gt;
            root:wikitext(&#039;[[Category:Articles which use infobox templates with no data rows]]&#039;)&lt;br /&gt;
        end&lt;br /&gt;
        if args.child == &#039;yes&#039; and args.title then&lt;br /&gt;
            root:wikitext(&#039;[[Category:Pages which use embedded infobox templates with the title parameter]]&#039;)&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function _infobox()&lt;br /&gt;
    -- Specify the overall layout of the infobox, with special settings&lt;br /&gt;
    -- if the infobox is used as a &#039;child&#039; inside another infobox.&lt;br /&gt;
    if args.child ~= &#039;yes&#039; then&lt;br /&gt;
        root = mw.html.create(&#039;table&#039;)&lt;br /&gt;
        &lt;br /&gt;
        root&lt;br /&gt;
            :addClass((args.subbox ~= &#039;yes&#039;) and &#039;infobox&#039; or nil)&lt;br /&gt;
            :addClass(args.bodyclass)&lt;br /&gt;
            &lt;br /&gt;
            if args.subbox == &#039;yes&#039; then&lt;br /&gt;
                root&lt;br /&gt;
                    :css(&#039;padding&#039;, &#039;0&#039;)&lt;br /&gt;
                    :css(&#039;border&#039;, &#039;none&#039;)&lt;br /&gt;
                    :css(&#039;margin&#039;, &#039;-3px&#039;)&lt;br /&gt;
                    :css(&#039;width&#039;, &#039;auto&#039;)&lt;br /&gt;
                    :css(&#039;min-width&#039;, &#039;100%&#039;)&lt;br /&gt;
                    :css(&#039;font-size&#039;, &#039;100%&#039;)&lt;br /&gt;
                    :css(&#039;clear&#039;, &#039;none&#039;)&lt;br /&gt;
                    :css(&#039;float&#039;, &#039;none&#039;)&lt;br /&gt;
                    :css(&#039;background-color&#039;, &#039;transparent&#039;)&lt;br /&gt;
            else&lt;br /&gt;
                root&lt;br /&gt;
                    :css(&#039;width&#039;, &#039;22em&#039;)&lt;br /&gt;
            end&lt;br /&gt;
        root&lt;br /&gt;
            :cssText(args.bodystyle)&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;
&lt;br /&gt;
    renderSubheaders()&lt;br /&gt;
    renderImages() &lt;br /&gt;
    renderRows() &lt;br /&gt;
    renderBelowRow()  &lt;br /&gt;
    renderNavBar()&lt;br /&gt;
    renderItalicTitle()&lt;br /&gt;
    renderTrackingCategories()&lt;br /&gt;
    &lt;br /&gt;
    return tostring(root)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function preprocessSingleArg(argName)&lt;br /&gt;
    -- If the argument exists and isn&#039;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;
    if origArgs[argName] and origArgs[argName] ~= &#039;&#039; then&lt;br /&gt;
        args[argName] = origArgs[argName]&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function preprocessArgs(prefixTable, step)&lt;br /&gt;
    -- Assign the parameters with the given prefixes to the args table, in order, in batches&lt;br /&gt;
    -- of the step size specified. This is to prevent references etc. from appearing in the&lt;br /&gt;
    -- wrong order. The prefixTable should be an array containing tables, each of which has&lt;br /&gt;
    -- two possible fields, a &amp;quot;prefix&amp;quot; string and a &amp;quot;depend&amp;quot; table. The function always parses&lt;br /&gt;
    -- parameters containing the &amp;quot;prefix&amp;quot; string, but only parses parameters in the &amp;quot;depend&amp;quot;&lt;br /&gt;
    -- table if the prefix parameter is present and non-blank.&lt;br /&gt;
    if type(prefixTable) ~= &#039;table&#039; 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) ~= &#039;number&#039; 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) ~= &#039;table&#039; or type(v.prefix) ~= &amp;quot;string&amp;quot; or (v.depend and type(v.depend) ~= &#039;table&#039;) then&lt;br /&gt;
            error(&#039;Invalid input detected to preprocessArgs prefix table&#039;, 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 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) ~= &#039;string&#039; then&lt;br /&gt;
                    error(&#039;Invalid &amp;quot;depend&amp;quot; parameter value detected in preprocessArgs&#039;)&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;
                    moreArgumentsExist = true -- Do another loop if any arguments are found, even blank ones.&lt;br /&gt;
                    preprocessSingleArg(prefixArgName)&lt;br /&gt;
                end&lt;br /&gt;
                -- Process the depend table if the prefix argument is present and not blank, or&lt;br /&gt;
                -- we are processing &amp;quot;prefix1&amp;quot; and &amp;quot;prefix&amp;quot; is present and not blank, and&lt;br /&gt;
                -- 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;
function p.infobox(frame)&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;
    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;
    -- Parse the data parameters in the same order that the old {{infobox}} did, so that&lt;br /&gt;
    -- references etc. will display in the expected places. Parameters that depend on&lt;br /&gt;
    -- another parameter are only processed if that parameter is present, to avoid&lt;br /&gt;
    -- phantom references appearing in article reference lists.&lt;br /&gt;
    preprocessSingleArg(&#039;child&#039;)&lt;br /&gt;
    preprocessSingleArg(&#039;bodyclass&#039;)&lt;br /&gt;
    preprocessSingleArg(&#039;subbox&#039;)&lt;br /&gt;
    preprocessSingleArg(&#039;bodystyle&#039;)&lt;br /&gt;
    preprocessSingleArg(&#039;title&#039;)&lt;br /&gt;
    preprocessSingleArg(&#039;titleclass&#039;)&lt;br /&gt;
    preprocessSingleArg(&#039;titlestyle&#039;)&lt;br /&gt;
    preprocessSingleArg(&#039;above&#039;)&lt;br /&gt;
    preprocessSingleArg(&#039;aboveclass&#039;)&lt;br /&gt;
    preprocessSingleArg(&#039;abovestyle&#039;)&lt;br /&gt;
    preprocessArgs({&lt;br /&gt;
        {prefix = &#039;subheader&#039;, depend = {&#039;subheaderstyle&#039;, &#039;subheaderrowclass&#039;}}&lt;br /&gt;
    }, 10)&lt;br /&gt;
    preprocessSingleArg(&#039;subheaderstyle&#039;)&lt;br /&gt;
    preprocessSingleArg(&#039;subheaderclass&#039;)&lt;br /&gt;
    preprocessArgs({&lt;br /&gt;
        {prefix = &#039;image&#039;, depend = {&#039;caption&#039;, &#039;imagerowclass&#039;}}&lt;br /&gt;
    }, 10)&lt;br /&gt;
    preprocessSingleArg(&#039;captionstyle&#039;)&lt;br /&gt;
    preprocessSingleArg(&#039;imagestyle&#039;)&lt;br /&gt;
    preprocessSingleArg(&#039;imageclass&#039;)&lt;br /&gt;
    preprocessArgs({&lt;br /&gt;
        {prefix = &#039;header&#039;},&lt;br /&gt;
        {prefix = &#039;data&#039;, depend = {&#039;label&#039;}},&lt;br /&gt;
        {prefix = &#039;rowclass&#039;},&lt;br /&gt;
        {prefix = &#039;rowstyle&#039;},&lt;br /&gt;
        {prefix = &#039;rowcellstyle&#039;},&lt;br /&gt;
        {prefix = &#039;class&#039;},&lt;br /&gt;
        {prefix = &#039;dataid&#039;},&lt;br /&gt;
        {prefix = &#039;labelid&#039;},&lt;br /&gt;
        {prefix = &#039;headerid&#039;},&lt;br /&gt;
        {prefix = &#039;rowid&#039;}&lt;br /&gt;
    }, 50)&lt;br /&gt;
    preprocessSingleArg(&#039;headerclass&#039;)&lt;br /&gt;
    preprocessSingleArg(&#039;headerstyle&#039;)&lt;br /&gt;
    preprocessSingleArg(&#039;labelstyle&#039;)&lt;br /&gt;
    preprocessSingleArg(&#039;datastyle&#039;)&lt;br /&gt;
    preprocessSingleArg(&#039;below&#039;)&lt;br /&gt;
    preprocessSingleArg(&#039;belowclass&#039;)&lt;br /&gt;
    preprocessSingleArg(&#039;belowstyle&#039;)&lt;br /&gt;
    preprocessSingleArg(&#039;name&#039;)&lt;br /&gt;
    args[&#039;italic title&#039;] = origArgs[&#039;italic title&#039;] -- different behaviour if blank or absent&lt;br /&gt;
    preprocessSingleArg(&#039;decat&#039;)&lt;br /&gt;
 &lt;br /&gt;
    return _infobox()&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Zabszk</name></author>
	</entry>
	<entry>
		<id>https://en.scpslgame.com/index.php?title=Template:Infobox&amp;diff=23</id>
		<title>Template:Infobox</title>
		<link rel="alternate" type="text/html" href="https://en.scpslgame.com/index.php?title=Template:Infobox&amp;diff=23"/>
		<updated>2018-06-22T19:07:45Z</updated>

		<summary type="html">&lt;p&gt;Zabszk: Created page with &amp;quot;{{#invoke:Infobox|infobox}}&amp;lt;includeonly&amp;gt;{{template other|{{#ifeq:{{PAGENAME}}|Infobox||{{#ifeq:{{str left|{{SUBPAGENAME}}|7}}|Infobox|Category:Infobox templates|{{remove fir...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#invoke:Infobox|infobox}}&amp;lt;includeonly&amp;gt;{{template other|{{#ifeq:{{PAGENAME}}|Infobox||{{#ifeq:{{str left|{{SUBPAGENAME}}|7}}|Infobox|[[Category:Infobox templates|{{remove first word|{{SUBPAGENAME}}}}]]}}}}|}}&lt;/div&gt;</summary>
		<author><name>Zabszk</name></author>
	</entry>
	<entry>
		<id>https://en.scpslgame.com/index.php?title=Template:Class_infobox&amp;diff=22</id>
		<title>Template:Class infobox</title>
		<link rel="alternate" type="text/html" href="https://en.scpslgame.com/index.php?title=Template:Class_infobox&amp;diff=22"/>
		<updated>2018-06-22T19:07:12Z</updated>

		<summary type="html">&lt;p&gt;Zabszk: Created page with &amp;quot;{{Infobox |bodyclass      = vcard  |aboveclass     = fn org |abovestyle     = background-color:#{{#if:{{{water|}}}|cedeff|e7dcc3}}; |above          = {{#ifeq:{{{name|}}}||&amp;lt;inc...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox&lt;br /&gt;
|bodyclass      = vcard&lt;br /&gt;
&lt;br /&gt;
|aboveclass     = fn org&lt;br /&gt;
|abovestyle     = background-color:#{{#if:{{{water|}}}|cedeff|e7dcc3}};&lt;br /&gt;
|above          = {{#ifeq:{{{name|}}}||&amp;lt;includeonly&amp;gt;{{error|Landform name required|tag=span}}&amp;lt;/includeonly&amp;gt;|{{{name}}}}}&lt;br /&gt;
&lt;br /&gt;
|subheader      = {{ifempty|{{{other_name|}}}|{{{alt_name|}}}}}&lt;br /&gt;
| suheaderclass = nickname&lt;br /&gt;
&lt;br /&gt;
|image1   = {{#invoke:InfoboxImage|InfoboxImage|image={{{image|{{{photo|}}}}}}|size={{{image_size|{{{photo_width|}}}}}}|sizedefault=256px|alt={{{alt|{{{photo_alt|}}}}}}}}&lt;br /&gt;
|caption1 = {{ifempty|{{{caption|}}}|{{{photo_caption|}}}}}&lt;br /&gt;
&lt;br /&gt;
|label1   = ID&lt;br /&gt;
|data1    = {{{ID|}}}&lt;br /&gt;
&lt;br /&gt;
|label2   = HP&lt;br /&gt;
|data2    = {{{HP|}}}&lt;br /&gt;
&lt;br /&gt;
|label3   = Team&lt;br /&gt;
|data3    = {{{Team|}}}&lt;br /&gt;
&lt;br /&gt;
|label4   = Start zone&lt;br /&gt;
|data4    = {{{Zone|}}}&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Zabszk</name></author>
	</entry>
	<entry>
		<id>https://en.scpslgame.com/index.php?title=MediaWiki:Global.css&amp;diff=5</id>
		<title>MediaWiki:Global.css</title>
		<link rel="alternate" type="text/html" href="https://en.scpslgame.com/index.php?title=MediaWiki:Global.css&amp;diff=5"/>
		<updated>2018-04-03T16:40:06Z</updated>

		<summary type="html">&lt;p&gt;Zabszk: Blanked the page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Zabszk</name></author>
	</entry>
	<entry>
		<id>https://en.scpslgame.com/index.php?title=MediaWiki:Global.css&amp;diff=4</id>
		<title>MediaWiki:Global.css</title>
		<link rel="alternate" type="text/html" href="https://en.scpslgame.com/index.php?title=MediaWiki:Global.css&amp;diff=4"/>
		<updated>2018-04-03T16:29:52Z</updated>

		<summary type="html">&lt;p&gt;Zabszk: Created page with &amp;quot;body { 	background-image: url(&amp;quot;https://cdn.scpslgame.com/imgs/background.png&amp;quot;); }&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;body {&lt;br /&gt;
	background-image: url(&amp;quot;https://cdn.scpslgame.com/imgs/background.png&amp;quot;);&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Zabszk</name></author>
	</entry>
	<entry>
		<id>https://en.scpslgame.com/index.php?title=MediaWiki:Common.css&amp;diff=3</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="https://en.scpslgame.com/index.php?title=MediaWiki:Common.css&amp;diff=3"/>
		<updated>2018-04-03T15:52:25Z</updated>

		<summary type="html">&lt;p&gt;Zabszk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* CSS placed here will be applied to all skins */&lt;/div&gt;</summary>
		<author><name>Zabszk</name></author>
	</entry>
	<entry>
		<id>https://en.scpslgame.com/index.php?title=MediaWiki:Common.css&amp;diff=2</id>
		<title>MediaWiki:Common.css</title>
		<link rel="alternate" type="text/html" href="https://en.scpslgame.com/index.php?title=MediaWiki:Common.css&amp;diff=2"/>
		<updated>2018-04-03T15:47:58Z</updated>

		<summary type="html">&lt;p&gt;Zabszk: Created page with &amp;quot;/* CSS placed here will be applied to all skins */  .external { 	color: #f2d7c1; }&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/* CSS placed here will be applied to all skins */&lt;br /&gt;
&lt;br /&gt;
.external {&lt;br /&gt;
	color: #f2d7c1;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Zabszk</name></author>
	</entry>
</feed>