<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://saberpedia.no/index.php?action=history&amp;feed=atom&amp;title=MediaWiki%3AGadget-wikificator.js</id>
	<title>MediaWiki:Gadget-wikificator.js - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://saberpedia.no/index.php?action=history&amp;feed=atom&amp;title=MediaWiki%3AGadget-wikificator.js"/>
	<link rel="alternate" type="text/html" href="https://saberpedia.no/index.php?title=MediaWiki:Gadget-wikificator.js&amp;action=history"/>
	<updated>2026-04-25T20:26:01Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.43.3</generator>
	<entry>
		<id>https://saberpedia.no/index.php?title=MediaWiki:Gadget-wikificator.js&amp;diff=1484&amp;oldid=prev</id>
		<title>WerySkok: убрать замену примечаний</title>
		<link rel="alternate" type="text/html" href="https://saberpedia.no/index.php?title=MediaWiki:Gadget-wikificator.js&amp;diff=1484&amp;oldid=prev"/>
		<updated>2023-08-07T21:33:55Z</updated>

		<summary type="html">&lt;p&gt;убрать замену примечаний&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Предыдущая версия&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Версия от 00:33, 8 августа 2023&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l217&quot;&gt;Строка 217:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 217:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		r( /^&amp;lt;hr ?\/?&amp;gt;/gim, &amp;#039;----&amp;#039; );&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		r( /^&amp;lt;hr ?\/?&amp;gt;/gim, &amp;#039;----&amp;#039; );&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		r( /[\u00A0 \t]*&amp;lt;ref(?:\s+name=&amp;quot;&amp;quot;)?(\s|&amp;gt;)/gi, &amp;#039;&amp;lt;ref$1&amp;#039; );&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		r( /[\u00A0 \t]*&amp;lt;ref(?:\s+name=&amp;quot;&amp;quot;)?(\s|&amp;gt;)/gi, &amp;#039;&amp;lt;ref$1&amp;#039; );&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		r( /(\n== *[a-zа-я\s\.:]+ *==\n+)&amp;lt;references(?: +responsive *= *&quot;&quot;)? *\/&amp;gt;/ig, &#039;$1{&#039; + &#039;{примечания}}&#039; );&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;// &lt;/ins&gt;r( /(\n== *[a-zа-я\s\.:]+ *==\n+)&amp;lt;references(?: +responsive *= *&quot;&quot;)? *\/&amp;gt;/ig, &#039;$1{&#039; + &#039;{примечания}}&#039; );&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		hide( /&amp;lt;[a-z][^&amp;gt;]*?&amp;gt;/gi);&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;		hide( /&amp;lt;[a-z][^&amp;gt;]*?&amp;gt;/gi);&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>WerySkok</name></author>
	</entry>
	<entry>
		<id>https://saberpedia.no/index.php?title=MediaWiki:Gadget-wikificator.js&amp;diff=1144&amp;oldid=prev</id>
		<title>WerySkok: Новая страница: «// &lt;nowiki&gt; mw.loader.using( &#039;jquery.client&#039;, function () {  var clientProfile = $.client.profile(); var hotkey = clientProfile.platform === &#039;mac&#039; ? &#039;Ctrl+Shift+W&#039; : &#039;Ctrl+Alt+W&#039;; var strings = { 	name: &#039;Викификатор&#039;, 	tooltip: &#039;Викификатор — автоматический обработчик текста (&#039; + hotkey + &#039;)&#039;, 	summary: &#039;викификатор&#039;, 	fullText: &#039;Викификатор обработает ВЕСЬ текст...»</title>
		<link rel="alternate" type="text/html" href="https://saberpedia.no/index.php?title=MediaWiki:Gadget-wikificator.js&amp;diff=1144&amp;oldid=prev"/>
		<updated>2023-08-02T22:28:59Z</updated>

		<summary type="html">&lt;p&gt;Новая страница: «// &amp;lt;nowiki&amp;gt; mw.loader.using( &amp;#039;jquery.client&amp;#039;, function () {  var clientProfile = $.client.profile(); var hotkey = clientProfile.platform === &amp;#039;mac&amp;#039; ? &amp;#039;Ctrl+Shift+W&amp;#039; : &amp;#039;Ctrl+Alt+W&amp;#039;; var strings = { 	name: &amp;#039;Викификатор&amp;#039;, 	tooltip: &amp;#039;Викификатор — автоматический обработчик текста (&amp;#039; + hotkey + &amp;#039;)&amp;#039;, 	summary: &amp;#039;викификатор&amp;#039;, 	fullText: &amp;#039;Викификатор обработает ВЕСЬ текст...»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;// &amp;lt;nowiki&amp;gt;&lt;br /&gt;
mw.loader.using( &amp;#039;jquery.client&amp;#039;, function () {&lt;br /&gt;
&lt;br /&gt;
var clientProfile = $.client.profile();&lt;br /&gt;
var hotkey = clientProfile.platform === &amp;#039;mac&amp;#039; ? &amp;#039;Ctrl+Shift+W&amp;#039; : &amp;#039;Ctrl+Alt+W&amp;#039;;&lt;br /&gt;
var strings = {&lt;br /&gt;
	name: &amp;#039;Викификатор&amp;#039;,&lt;br /&gt;
	tooltip: &amp;#039;Викификатор — автоматический обработчик текста (&amp;#039; + hotkey + &amp;#039;)&amp;#039;,&lt;br /&gt;
	summary: &amp;#039;викификатор&amp;#039;,&lt;br /&gt;
	fullText: &amp;#039;Викификатор обработает ВЕСЬ текст на этой странице. Продолжить?&amp;#039;,&lt;br /&gt;
	talkPage: &amp;#039;Викификатор не обрабатывает страницы обсуждения целиком.\n\nВыделите ваше сообщение — обработано будет только оно.&amp;#039;&lt;br /&gt;
};&lt;br /&gt;
window.wfPlugins = window.wfPlugins || [];&lt;br /&gt;
window.wfPluginsT = window.wfPluginsT || [];&lt;br /&gt;
&lt;br /&gt;
// Function takes an input or text as an argument. If it is absent, it uses $( &amp;#039;#wpTextbox1&amp;#039; )&lt;br /&gt;
// as an input.&lt;br /&gt;
window.Wikify = function ( inputOrText ) {&lt;br /&gt;
	&amp;#039;use strict&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
	// FUNCTIONS&lt;br /&gt;
&lt;br /&gt;
	function r( r1, r2 ) {&lt;br /&gt;
		txt = txt.replace( r1, r2 );&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	function hide( re ) {&lt;br /&gt;
		r( re, function ( s ) {&lt;br /&gt;
			return &amp;#039;\x01&amp;#039; + hidden.push( s ) + &amp;#039;\x02&amp;#039;;&lt;br /&gt;
		} );&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	function hideTag ( tag ) {&lt;br /&gt;
		hide( new RegExp( &amp;#039;&amp;lt;&amp;#039; + tag + &amp;#039;( [^&amp;gt;]+)?&amp;gt;[\\s\\S]+?&amp;lt;\\/&amp;#039; + tag + &amp;#039;&amp;gt;&amp;#039;, &amp;#039;gi&amp;#039; ) );&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	function hideTemplates() {&lt;br /&gt;
		hide( /\{\{([^{]\{?)+?\}\}/g );&lt;br /&gt;
		var pos = 0,&lt;br /&gt;
			stack = [],&lt;br /&gt;
			tpl,&lt;br /&gt;
			left,&lt;br /&gt;
			right;&lt;br /&gt;
		while ( true ) {&lt;br /&gt;
			left = txt.indexOf( &amp;#039;{{&amp;#039;, pos );&lt;br /&gt;
			right = txt.indexOf( &amp;#039;}}&amp;#039;, pos );&lt;br /&gt;
			if ( left === -1 &amp;amp;&amp;amp; right === -1 &amp;amp;&amp;amp; !stack.length ) {&lt;br /&gt;
				break;&lt;br /&gt;
			}&lt;br /&gt;
			if ( left !== -1 &amp;amp;&amp;amp; ( left &amp;lt; right || right === -1 ) ) {&lt;br /&gt;
				stack.push( left );&lt;br /&gt;
				pos = left + 2;&lt;br /&gt;
			} else {&lt;br /&gt;
				left = stack.pop();&lt;br /&gt;
				if ( typeof left === &amp;#039;undefined&amp;#039; ) {&lt;br /&gt;
					if ( right === -1 ) {&lt;br /&gt;
						pos += 2;&lt;br /&gt;
						continue;&lt;br /&gt;
					} else {&lt;br /&gt;
						left = 0;&lt;br /&gt;
					}&lt;br /&gt;
				}&lt;br /&gt;
				if ( right === -1 ) {&lt;br /&gt;
					right = txt.length;&lt;br /&gt;
				}&lt;br /&gt;
				right += 2;&lt;br /&gt;
				tpl = txt.substring( left, right );&lt;br /&gt;
				txt = txt.substring( 0, left ) +&lt;br /&gt;
					&amp;#039;\x01&amp;#039; + hidden.push( tpl ) + &amp;#039;\x02&amp;#039; +&lt;br /&gt;
					txt.substr( right );&lt;br /&gt;
				pos = right - tpl.length;&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	function processLink( link, left, right ) {&lt;br /&gt;
		left = left.replace( /[ _\u00A0]+/g, &amp;#039; &amp;#039; ).trim();&lt;br /&gt;
		if ( left.match( /^(?:Категория|Файл) ?:/ ) ) {&lt;br /&gt;
			return &amp;#039;[[&amp;#039; + left + &amp;#039;|&amp;#039; + right + &amp;#039;]]&amp;#039;;&lt;br /&gt;
		}&lt;br /&gt;
		right = right.replace( / {2,}/g, &amp;#039; &amp;#039; ).trim();&lt;br /&gt;
		var inLink = right.substr( 0, left.length );&lt;br /&gt;
		var afterLink = right.substr( left.length );&lt;br /&gt;
		var uniLeft = left.substr( 0, 1 ).toUpperCase() + left.substr( 1 );&lt;br /&gt;
		var uniRight = ( right.substr( 0, 1 ).toUpperCase() + right.substr( 1 ) )&lt;br /&gt;
			.replace( /[_\u00A0]/g, &amp;#039; &amp;#039; );&lt;br /&gt;
		if ( uniRight.indexOf( uniLeft ) === 0 &amp;amp;&amp;amp; afterLink.match( /^[a-zа-яё]*$/ ) ) {&lt;br /&gt;
			return &amp;#039;[[&amp;#039; + inLink + &amp;#039;]]&amp;#039; + afterLink;&lt;br /&gt;
		} else {&lt;br /&gt;
			return &amp;#039;[[&amp;#039; + left + &amp;#039;|&amp;#039; + right + &amp;#039;]]&amp;#039;;&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	function processText() {&lt;br /&gt;
		var u = &amp;#039;\u00A0&amp;#039;; // non-breaking space&lt;br /&gt;
		if (&lt;br /&gt;
			// is talk page&lt;br /&gt;
			mw.config.get( &amp;#039;wgNamespaceNumber&amp;#039; ) % 2 ||&lt;br /&gt;
			mw.config.get( &amp;#039;wgNamespaceNumber&amp;#039; ) === 4&lt;br /&gt;
		) {&lt;br /&gt;
			var sigs = txt.match( /\d\d:\d\d, \d\d? \S{3,8} 20\d\d \(UTC\)/g );&lt;br /&gt;
			if ( sigs &amp;amp;&amp;amp; sigs.length &amp;gt; 1 ) {&lt;br /&gt;
				alert( strings.talkPage );&lt;br /&gt;
				return;&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		hideTag( &amp;#039;nowiki&amp;#039; );&lt;br /&gt;
		hideTag( &amp;#039;pre&amp;#039; );&lt;br /&gt;
		hideTag( &amp;#039;source&amp;#039; );&lt;br /&gt;
		hideTag( &amp;#039;syntaxhighlight&amp;#039; );&lt;br /&gt;
		hideTag( &amp;#039;templatedata&amp;#039; );&lt;br /&gt;
&lt;br /&gt;
		hideTag( &amp;#039;code&amp;#039; );&lt;br /&gt;
		hideTag( &amp;#039;kbd&amp;#039; );&lt;br /&gt;
		hideTag( &amp;#039;tt&amp;#039; );&lt;br /&gt;
&lt;br /&gt;
		hideTag( &amp;#039;graph&amp;#039; );&lt;br /&gt;
		hideTag( &amp;#039;hiero&amp;#039; );&lt;br /&gt;
		hideTag( &amp;#039;math&amp;#039; );&lt;br /&gt;
		hideTag( &amp;#039;timeline&amp;#039; );&lt;br /&gt;
		hideTag( &amp;#039;chem&amp;#039; );&lt;br /&gt;
		hideTag( &amp;#039;score&amp;#039; );&lt;br /&gt;
		hideTag( &amp;#039;categorytree&amp;#039; );&lt;br /&gt;
		hideTag( &amp;#039;imagemap&amp;#039; );&lt;br /&gt;
		hideTag( &amp;#039;inputbox&amp;#039; );&lt;br /&gt;
		hideTag( &amp;#039;mapframe&amp;#039; );&lt;br /&gt;
		hideTag( &amp;#039;maplink&amp;#039; );&lt;br /&gt;
&lt;br /&gt;
		r( /(^|[А-Яа-я])\u00eb([а-я]|$)/g, &amp;#039;$1ё$2&amp;#039; ); // wrong cyr/lat &amp;quot;ё&amp;quot;&lt;br /&gt;
		r( /(^|[А-Яа-я])\u00cb([а-я]|$)/g, &amp;#039;$1Ё$2&amp;#039; ); // wrong cyr/lat &amp;quot;Ё&amp;quot;&lt;br /&gt;
		r( /\{\{(?:подст|subst):(?:[уУ]дар(?:ение)?|&amp;#039;)\}\}/g, &amp;#039;\u0301&amp;#039; );&lt;br /&gt;
		r( /( |\n|\r)+\{\{(·|•|\*)\}\}/g, &amp;#039;{{$2}}&amp;#039; ); // before {{·/•/*}}, usually in templates&lt;br /&gt;
		r( /\{\{\s*[Шш]аблон:([\s\S]+?)\}\}/g, &amp;#039;{{$1}}&amp;#039; );&lt;br /&gt;
		r( /(\{\{\s*)(?:reflist|список примечаний)(\s*[\|\}])/ig, &amp;#039;$1примечания$2&amp;#039; );&lt;br /&gt;
		r( /(\{\{\s*)примечания(\s*\|\s*)[4-9](\s*[\|\}])/ig, &amp;#039;$1примечания$2узкие$3&amp;#039; );&lt;br /&gt;
		r( /(\{\{\s*)примечания\s*\|\s*height=[0-9]*(\s*[\|\}])/ig, &amp;#039;$1примечания$2&amp;#039; );&lt;br /&gt;
		r( /[\u00A0 ]+(\{\{\s*([Rr]ef-[a-z\-]+?|[Ee]n icon|[Cc]hecked|[Vv]|[Пп]роверено)\}\})/g, &amp;#039;$1&amp;#039; );&lt;br /&gt;
		r( /&amp;lt;[\/\\]?(hr|br)( [^\/\\&amp;gt;]+?)?? *[\/\\]?&amp;gt;/gi, &amp;#039;&amp;lt;$1$2&amp;gt;&amp;#039; );&lt;br /&gt;
		r(&lt;br /&gt;
			/(\| *Координаты[ _А-ЯЁа-яё]*= *)(\d+(?:[.,]\d+)?)[,/] ?(\d+(?:[.,]\d+)?(?=\s))/g,&lt;br /&gt;
			function ( s, m1, m2, m3 ) {&lt;br /&gt;
				return (&lt;br /&gt;
					m1 +&lt;br /&gt;
					( +parseFloat( m2.replace( &amp;#039;,&amp;#039;, &amp;#039;.&amp;#039; ) ).toFixed( 4 )) +&lt;br /&gt;
					&amp;#039;/&amp;#039; +&lt;br /&gt;
					( +parseFloat( m3.replace( &amp;#039;,&amp;#039;, &amp;#039;.&amp;#039; ) ).toFixed( 4 ) )&lt;br /&gt;
				);&lt;br /&gt;
			}&lt;br /&gt;
		);&lt;br /&gt;
		r( /&amp;lt;noinclude&amp;gt;\s*(\{\{[dD]ocpage\}\})\s*&amp;lt;\/noinclude&amp;gt;/g, &amp;#039;$1&amp;#039; );&lt;br /&gt;
		r( /(\| *(?:pp?|S|s|с|c|страницы\d?|pages\d?|seite\d?|alleseiten|листы\d?|том|volume|band|выпуск|issue|heft|номер|столбцы\d?|columns\d?|kolonnen\d?|серия год) *= *)(\d+)[\u00A0 ]?(?:-{1,3}|—) ?(\d+)/g, &amp;#039;$1$2—$3&amp;#039; );&lt;br /&gt;
		r( /(\| *год *= *)(\d{4})[\u00A0 ]?(?:-{1,3}|—) ?(\d{4})/g, &amp;#039;$1$2—$3&amp;#039; );&lt;br /&gt;
&lt;br /&gt;
		r( /(\[\[[^\{\]|\n]+){{!}}([^\{\]|\n]+\]\])/g, &amp;#039;$1|$2&amp;#039; );&lt;br /&gt;
		&lt;br /&gt;
		if ( txt.indexOf( &amp;#039;{{НП&amp;#039; ) &amp;gt; -1 ) {&lt;br /&gt;
			r( / *\| *(?:CoordAddon|ЯндексКарта)[^\|\}]+\n/g, &amp;#039;&amp;#039; );&lt;br /&gt;
			r( / *\| *размер карты (?:страны|региона|района) *= *[^\|\}]+\n/g, &amp;#039;&amp;#039; );&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
		var i;&lt;br /&gt;
		for ( i in window.wfPluginsT ) {&lt;br /&gt;
			if ( window.wfPluginsT.hasOwnProperty( i ) ) {&lt;br /&gt;
				window.wfPluginsT[i]( txt, r );&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		hideTemplates();&lt;br /&gt;
		hide( /^[ \t].*/mg );&lt;br /&gt;
		hide( /((?:https?|ftp|news|nntp|telnet|irc|gopher):\/\/|mailto:)[^\s\[\]&amp;lt;&amp;gt;&amp;quot;]+ ?/gi );&lt;br /&gt;
		hide( /^#(redirect|перенапр(авление)?)/i );&lt;br /&gt;
		hideTag( &amp;#039;gallery&amp;#039; );&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		r( / +(\n|\r)/g, &amp;#039;$1&amp;#039; ); // spaces at EOL&lt;br /&gt;
		txt = &amp;#039;\n&amp;#039; + txt + &amp;#039;\n&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		// LINKS&lt;br /&gt;
		r( /(\[\[:?)(?:category|категория|к):( *)/ig, &amp;#039;$1Категория:&amp;#039; );&lt;br /&gt;
		r( /(\[\[:?)(?:module|модуль):( *)/ig, &amp;#039;$1Модуль:&amp;#039; );&lt;br /&gt;
		r( /(\[\[:?)(?:template|шаблон|ш):( *)/ig, &amp;#039;$1Шаблон:&amp;#039; );&lt;br /&gt;
		r( /(\[\[:?)(?:image|изображение|file|файл):( *)/ig, &amp;#039;$1Файл:&amp;#039; );&lt;br /&gt;
		// Linked years, centuries and ranges&lt;br /&gt;
		r( /(\(|\s)(\[\[[12]?\d{3}\]\])[\u00A0 ]?(-{1,3}|–|—) ?(\[\[[12]?\d{3}\]\])(\W)/g, &amp;#039;$1$2—$4$5&amp;#039; );&lt;br /&gt;
		r( /(\[\[[12]?\d{3}\]\]) ?(гг?\.)/g, &amp;#039;$1&amp;#039; + u + &amp;#039;$2&amp;#039; );&lt;br /&gt;
		r( /(\(|\s)(\[\[[IVX]{1,5}\]\])[\u00A0 ]?(-{1,3}|–|—) ?(\[\[[IVX]{1,5}\]\])(\W)/g, &amp;#039;$1$2—$4$5&amp;#039; );&lt;br /&gt;
		r( /(\[\[[IVX]{1,5}\]\]) ?(вв?\.)/g, &amp;#039;$1&amp;#039; + u + &amp;#039;$2&amp;#039; );&lt;br /&gt;
		r( /(\d)\s(год)/g, &amp;#039;$1&amp;#039; + u + &amp;#039;$2&amp;#039; );&lt;br /&gt;
		r( /\[\[(\d+)\]\]\sгод/g, &amp;#039;[[$1&amp;#039; + u + &amp;#039;год]]&amp;#039; );&lt;br /&gt;
		r( /\[\[(\d+)\sгод\|\1\]\]\sгод/g, &amp;#039;[[$1&amp;#039; + u + &amp;#039;год]]&amp;#039; );&lt;br /&gt;
		r( /\[\[(\d+)\sгод\|\1\sгод([а-я]{0,3})\]\]/g, &amp;#039;[[$1&amp;#039; + u + &amp;#039;год]]$2&amp;#039; );&lt;br /&gt;
		r( /\[\[((\d+)(?: (?:год )?в [\wa-яёА-ЯЁ ]+\|\2)?)\]\][\u00A0 ](год[а-яё]*)/g, &amp;#039;[[$1&amp;#039; + u + &amp;#039;$3]]&amp;#039; );&lt;br /&gt;
		r( /([XVI])\s(век)/g, &amp;#039;$1&amp;#039; + u + &amp;#039;$2&amp;#039; );&lt;br /&gt;
		r( /\[\[([XVI]+)\]\]\sвек/g, &amp;#039;[[$1&amp;#039; + u + &amp;#039;век]]&amp;#039; );&lt;br /&gt;
		r( /\[\[([XVI]+)\sвек\|\1\]\]\sвек/g, &amp;#039;[[$1&amp;#039; + u + &amp;#039;век]]&amp;#039; );&lt;br /&gt;
		r( /\[\[([XVI]+)\sвек\|\1\sвек([а-я]{0,3})\]\]/g, &amp;#039;[[$1&amp;#039; + u + &amp;#039;век]]$2&amp;#039; );&lt;br /&gt;
		r( /\[\[(([XVI]+) век\|\2)\]\][\u00A0 ]век/g, &amp;#039;[[$2&amp;#039; + u + &amp;#039;век]]&amp;#039; );&lt;br /&gt;
		// Nice links&lt;br /&gt;
		r( /(\[\[[^|[\]]*)[\u00AD\u200E\u200F]+([^\[\]]*\]\])/g, &amp;#039;$1$2&amp;#039; ); // Soft Hyphen &amp;amp; DirMark&lt;br /&gt;
		r( /\[\[ *([^|[\]]+?) *\| *(&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;|&amp;#039;&amp;#039;&amp;#039;|&amp;#039;&amp;#039;)([^&amp;#039;|[\]]*)\2 *]]/g, &amp;#039;$2[[$1|$3]]$2&amp;#039; ); // move fomatting out of link text&lt;br /&gt;
		r( /\[\[ *([^|[\]]+?) *\| *«([^»|[\]]*)» *\]\]/g, &amp;#039;«[[$1|$2]]»&amp;#039; ); // move quotation marks out of link text&lt;br /&gt;
		r( /\[\[ *([^|[\]]+?) *\| *„([^“|[\]]*)“ *\]\]/g, &amp;#039;„[[$1|$2]]“&amp;#039; );&lt;br /&gt;
		r( /\[\[ *([^|[\]]+?) *\| *&amp;quot;([^&amp;quot;|[\]]*)&amp;quot; *\]\]/g, &amp;#039;&amp;quot;[[$1|$2]]&amp;quot;&amp;#039; );&lt;br /&gt;
		r( /\[\[([^|[\]\n]+)\|([^|[\]\n]+)\]\]/g, processLink ); // link shortening&lt;br /&gt;
		r( /\[\[ *([^|[\]]+)([^|\[\]()]+?) *\| *\1 *\]\]\2/g, &amp;#039;[[$1$2]]&amp;#039; ); // text repetition after link&lt;br /&gt;
		r( /\[\[ *(?!Файл:|Категория:)([a-zA-Zа-яёА-ЯЁ\u00A0-\u00FF %!\&amp;quot;$&amp;amp;&amp;#039;()*,\-—.\/0-9:;=?\\@\^_`’~]+) *\| *([^\|\[\]]+) *\]\]([a-zа-яё]+)/g, &amp;#039;[[$1|$2$3]]&amp;#039; ); // &amp;quot;&lt;br /&gt;
		hide( /\[\[[^\]|]+/g); // only link part&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
		// TAGS&lt;br /&gt;
		r( /&amp;lt;&amp;lt;(\S.+\S)&amp;gt;&amp;gt;/g, &amp;#039;&amp;quot;$1&amp;quot;&amp;#039; ); // &amp;lt;&amp;lt; &amp;gt;&amp;gt;&lt;br /&gt;
		r( /(su[pb]&amp;gt;)-(\d)/g, &amp;#039;$1−$2&amp;#039; ); // -&amp;gt;minus&lt;br /&gt;
		r( /&amp;lt;(b|strong)&amp;gt;(.*?)&amp;lt;\/(b|strong)&amp;gt;/gi, &amp;quot;&amp;#039;&amp;#039;&amp;#039;$2&amp;#039;&amp;#039;&amp;#039;&amp;quot; );&lt;br /&gt;
		r( /&amp;lt;(i|em)&amp;gt;(.*?)&amp;lt;\/(i|em)&amp;gt;/gi, &amp;quot;&amp;#039;&amp;#039;$2&amp;#039;&amp;#039;&amp;quot; );&lt;br /&gt;
		r( /^&amp;lt;hr ?\/?&amp;gt;/gim, &amp;#039;----&amp;#039; );&lt;br /&gt;
		r( /[\u00A0 \t]*&amp;lt;ref(?:\s+name=&amp;quot;&amp;quot;)?(\s|&amp;gt;)/gi, &amp;#039;&amp;lt;ref$1&amp;#039; );&lt;br /&gt;
		r( /(\n== *[a-zа-я\s\.:]+ *==\n+)&amp;lt;references(?: +responsive *= *&amp;quot;&amp;quot;)? *\/&amp;gt;/ig, &amp;#039;$1{&amp;#039; + &amp;#039;{примечания}}&amp;#039; );&lt;br /&gt;
		hide( /&amp;lt;[a-z][^&amp;gt;]*?&amp;gt;/gi);&lt;br /&gt;
&lt;br /&gt;
		hide( /^(\{\||\|\-).*/mg); // table/row def&lt;br /&gt;
		hide( /(^\||^!|!!|\|\|) *[a-z]+=[^|]+\|(?!\|)/mgi); // cell style&lt;br /&gt;
		hide( /\| +/g); // formatted cell&lt;br /&gt;
&lt;br /&gt;
		r( /[ \t\u00A0]{2,}/g, &amp;#039; &amp;#039; ); // double spaces&lt;br /&gt;
&lt;br /&gt;
		// Entities etc. → Unicode chars&lt;br /&gt;
		if ( mw.config.get( &amp;#039;wgNamespaceNumber&amp;#039; ) !== 10 ) {&lt;br /&gt;
			r( /&amp;amp;(#x[0-9a-f]{2,4}|#[0-9]{3,4}|[0-9a-z]{2,8});/gi, function ( s ) {&lt;br /&gt;
				var t = document.createElement( &amp;#039;textarea&amp;#039; );&lt;br /&gt;
				t.innerHTML = s;&lt;br /&gt;
				var c = t.value;&lt;br /&gt;
				if ( c.length === 1 &amp;amp;&amp;amp; c.charCodeAt( 0 ) &amp;gt; 127 || s === &amp;#039;&amp;amp;#x20;&amp;#039; ) {&lt;br /&gt;
					return c;&lt;br /&gt;
				}&lt;br /&gt;
				return s;&lt;br /&gt;
			});&lt;br /&gt;
		}&lt;br /&gt;
		r( /\(tm\)/gi, &amp;#039;™&amp;#039; );&lt;br /&gt;
		r( /\.\.\./g, &amp;#039;…&amp;#039; );&lt;br /&gt;
		r( /(^|[^+])\+-(?!\+|-)/g, &amp;#039;$1±&amp;#039; );&lt;br /&gt;
		r( /~=/g, &amp;#039;≈&amp;#039; );&lt;br /&gt;
		r( /\^2(\D)/g, &amp;#039;²$1&amp;#039; );&lt;br /&gt;
		r( /\^3(\D)/g, &amp;#039;³$1&amp;#039; );&lt;br /&gt;
		r( /\sкв\.\s*([дсмнк]?м|мкм)([\s\.,;:)])/g, u + &amp;#039;$1²$2&amp;#039; );&lt;br /&gt;
		r( /\sкуб\.\s*([дсмнк]?м|мкм)([\s\.,;:)])/g, u + &amp;#039;$1³$2&amp;#039; );&lt;br /&gt;
		r( /((?:^|[\s&amp;quot;])\d+(?:[\.,]\d+)?\s*)[xх](\s*\d+(?:[\.,]\d+)?)\s*([мm]{1,2}(?:[\s&amp;quot;\.,;?!]|$))/g, &amp;#039;$1×$2&amp;#039; + u + &amp;#039;$3&amp;#039; );&lt;br /&gt;
		r( /\s+×\s+/g, u + &amp;#039;×&amp;#039; + u );&lt;br /&gt;
		r( /([\wа-яА-ЯёЁ])&amp;#039;(?=[\wа-яА-ЯёЁ])/g, &amp;#039;$1’&amp;#039; ); // &amp;#039;&lt;br /&gt;
		r( /№№/g, &amp;#039;№&amp;#039; );&lt;br /&gt;
&lt;br /&gt;
		// Headings&lt;br /&gt;
		r( /^(=+)[ \t\f\v]*(.*?)[ \t\f\v]*=+$/gm, &amp;#039;$1 $2 $1&amp;#039; ); // add spaces inside&lt;br /&gt;
		r( /([^\r\n])(\r?\n==.+==\r?\n)/g, &amp;#039;$1\n$2&amp;#039; ); // add empty line before&lt;br /&gt;
		r( /(==.+==)[\r\n]{2,}(?!=)/g, &amp;#039;$1\n&amp;#039; ); // remove empty line after&lt;br /&gt;
		r( /^== (см(\.?|отр(и|ите|еть))|see) ?(также|ещ[её]|also|more) ==$/gmi, &amp;#039;== См. также ==&amp;#039; );&lt;br /&gt;
		r( /^== сноски ==$/gmi, &amp;#039;== Примечания ==&amp;#039; );&lt;br /&gt;
		r( /^== внешние\sссылки ==$/gmi, &amp;#039;== Ссылки ==&amp;#039; );&lt;br /&gt;
		r( /^== (?:(.+[^.])\.|(.+):) ==$/gm, &amp;#039;== $1$2 ==&amp;#039; );&lt;br /&gt;
		r( /^== &amp;#039;&amp;#039;&amp;#039;(?!.*&amp;#039;&amp;#039;&amp;#039;.*&amp;#039;&amp;#039;&amp;#039;)(.+)&amp;#039;&amp;#039;&amp;#039; ==$/gm, &amp;#039;== $1 ==&amp;#039; );&lt;br /&gt;
&lt;br /&gt;
		r( /«|»|“|”|„/g, &amp;#039;&amp;quot;&amp;#039; ); // temp&lt;br /&gt;
&lt;br /&gt;
		// Hyphens and en dashes to pretty dashes&lt;br /&gt;
		r( /–/g, &amp;#039;-&amp;#039; ); // &amp;amp;ndash; -&amp;gt; hyphen&lt;br /&gt;
		r( /(\s)-{1,3} /g, &amp;#039;$1— &amp;#039; ); // hyphen -&amp;gt; &amp;amp;mdash;&lt;br /&gt;
		r( /(\d)--(\d)/g, &amp;#039;$1—$2&amp;#039; ); // -&amp;gt; &amp;amp;mdash;&lt;br /&gt;
		r( /(\s)-(\d)/g, &amp;#039;$1−$2&amp;#039; ); // hyphen -&amp;gt; minus&lt;br /&gt;
&lt;br /&gt;
		r(&lt;br /&gt;
			/(Boeing|Боинг(?:а|у|ом|е|и|ов|ам|ах))?(\(|\s)([12]?\d{3})[\u00A0 ]?(?:-{1,3}|—) ?([12]?\d{3})(?![\wА-ЯЁа-яё]|-[^ех]|-[ех][\wА-ЯЁа-яё])/g,&lt;br /&gt;
			function ( s, m1, m2, m3, m4 ) {&lt;br /&gt;
				// filter Boeing airplanes; see the list at https://pastebin.com/rgJv6R4z (no new items expected)&lt;br /&gt;
				if (&lt;br /&gt;
					( m3[ 0 ] === &amp;#039;7&amp;#039; &amp;amp;&amp;amp; m3[ 2 ] === &amp;#039;7&amp;#039; ) &amp;amp;&amp;amp;&lt;br /&gt;
					(&lt;br /&gt;
						m1 ||&lt;br /&gt;
						m4 &amp;lt; m3 &amp;amp;&amp;amp; ( m4[ 2 ] === &amp;#039;0&amp;#039; || m4 === &amp;#039;138&amp;#039; || m4 === &amp;#039;227&amp;#039; ) ||&lt;br /&gt;
						m3 === &amp;#039;707&amp;#039; &amp;amp;&amp;amp; m4 === &amp;#039;820&amp;#039; ||&lt;br /&gt;
						m3 === &amp;#039;737&amp;#039; &amp;amp;&amp;amp; m4 === &amp;#039;800&amp;#039; ||&lt;br /&gt;
						m3 === &amp;#039;737&amp;#039; &amp;amp;&amp;amp; m4 === &amp;#039;900&amp;#039;&lt;br /&gt;
					)&lt;br /&gt;
				) {&lt;br /&gt;
					return s;&lt;br /&gt;
				}&lt;br /&gt;
				return ( m1 || &amp;#039;&amp;#039; ) + m2 + m3 + &amp;#039;—&amp;#039; + m4;&lt;br /&gt;
			}&lt;br /&gt;
		);&lt;br /&gt;
&lt;br /&gt;
		// Year and century ranges&lt;br /&gt;
		r( /([12]?\d{3}) ?(гг?\.)/g, &amp;#039;$1&amp;#039; + u + &amp;#039;$2&amp;#039; );&lt;br /&gt;
		r( /(\(|\s)([IVX]{1,5})[\u00A0 ]?(-{1,3}|—) ?([IVX]{1,5})(?![\w\-])/g, &amp;#039;$1$2—$4&amp;#039; );&lt;br /&gt;
		r( /([IVX]{1,5}) ?(вв?\.)/g, &amp;#039;$1&amp;#039; + u + &amp;#039;$2&amp;#039; );&lt;br /&gt;
&lt;br /&gt;
		// Reductions&lt;br /&gt;
		r( /(Т|т)\.\s?е\./g, &amp;#039;$1о есть&amp;#039; );&lt;br /&gt;
		r( /(Т|т)\.\s?к\./g, &amp;#039;$1ак как&amp;#039; );&lt;br /&gt;
		r( /(В|в)\sт\. ?ч\./g, &amp;#039;$1 том числе&amp;#039; );&lt;br /&gt;
		r( /(И|и)\sт\.\s?д\./g, &amp;#039;$1&amp;#039; + u + &amp;#039;т.&amp;#039; + u + &amp;#039;д.&amp;#039; );&lt;br /&gt;
		r( /(И|и)\sт\.\s?п\./g, &amp;#039;$1&amp;#039; + u + &amp;#039;т.&amp;#039; + u + &amp;#039;п.&amp;#039; );&lt;br /&gt;
		r( /(Т|т)\.\s?н\./g, &amp;#039;$1.&amp;#039; + u + &amp;#039;н.&amp;#039; );&lt;br /&gt;
		r( /(И|и)\.\s?о\./g, &amp;#039;$1.&amp;#039; + u + &amp;#039;о.&amp;#039; );&lt;br /&gt;
		r( /с\.\s?ш\./g, &amp;#039;с.&amp;#039; + u + &amp;#039;ш.&amp;#039; );&lt;br /&gt;
		r( /ю\.\s?ш\./g, &amp;#039;ю.&amp;#039; + u + &amp;#039;ш.&amp;#039; );&lt;br /&gt;
		r( /в\.\s?д\./g, &amp;#039;в.&amp;#039; + u + &amp;#039;д.&amp;#039; );&lt;br /&gt;
		r( /з\.\s?д\./g, &amp;#039;з.&amp;#039; + u + &amp;#039;д.&amp;#039; );&lt;br /&gt;
		r( /л\.\s?с\./g, &amp;#039;л.&amp;#039; + u + &amp;#039;с.&amp;#039; );&lt;br /&gt;
		r( /а\.\s?е\.\s?м\./g, &amp;#039;а.&amp;#039; + u + &amp;#039;е.&amp;#039; + u + &amp;#039;м.&amp;#039; );&lt;br /&gt;
		r( /а\.\s?е\./g, &amp;#039;а.&amp;#039; + u + &amp;#039;е.&amp;#039; );&lt;br /&gt;
		r( /мм\sрт\.\s?ст\./g, &amp;#039;мм&amp;#039; + u + &amp;#039;рт.&amp;#039; + u + &amp;#039;ст.&amp;#039; );&lt;br /&gt;
		r( /н\.\s?э(\.|(?=\s))/g, &amp;#039;н.&amp;#039; + u + &amp;#039;э.&amp;#039; );&lt;br /&gt;
		r( /(Д|д)(о|\.)\sн\.\s?э\./g, &amp;#039;$1о&amp;#039; + u + &amp;#039;н.&amp;#039; + u + &amp;#039;э.&amp;#039; );&lt;br /&gt;
		r( /(\d)[\u00A0 ]?(млн|млрд|трлн|[дсмнк]?м|мкм|[км]г)\.?(?=[,;.]| &amp;quot;?[а-яё\-]{2,}|\s*\|)/g, &amp;#039;$1&amp;#039; + u + &amp;#039;$2&amp;#039; );&lt;br /&gt;
		r( /(\d)[\u00A0 ](тыс)([^\.А-Яа-яЁё])/g, &amp;#039;$1&amp;#039; + u + &amp;#039;$2.$3&amp;#039; );&lt;br /&gt;
		r( /(\d)\s(тыс\.)/g, &amp;#039;$1&amp;#039; + u + &amp;#039;$2&amp;#039; );&lt;br /&gt;
		r( /ISBN:\s?(?=[\d\-]{8,17})/, &amp;#039;ISBN &amp;#039; );&lt;br /&gt;
&lt;br /&gt;
		// Insert/delete spaces&lt;br /&gt;
		r( /^([#*:]+)[\u00A0 \t\f\v]*(?!\{\|)([^\u00A0 \t\f\v*#:;])/gm, &amp;#039;$1 $2&amp;#039; ); // space after #*: unless before table&lt;br /&gt;
		r( /(\S)[\u00A0 \t](-{1,3}|—)[\u00A0 \t](\S)/g, &amp;#039;$1&amp;#039; + u + &amp;#039;— $3&amp;#039; );&lt;br /&gt;
		r( /(^|[^\wА-яЁё\.])([А-ЯЁ][а-яё]+) ([А-ЯЁ]\.) ?([А-ЯЁ]\.)(?! ?[А-ЯЁ][а-яё\.])/g,&amp;#039;$1$2&amp;#039; + u + &amp;#039;$3&amp;#039; + u + &amp;#039;$4&amp;#039; ); // инициалы &amp;quot;Петров А. В.&amp;quot;&lt;br /&gt;
		r( /(^|[^\wА-яЁё\.])([А-ЯЁ]\.) ?([А-ЯЁ]\.) ?(?=[А-ЯЁ][а-яё]+)/g, &amp;#039;$1$2&amp;#039; + u + &amp;#039;$3&amp;#039; + u); // инициалы &amp;quot;А. В. Петров&amp;quot;&lt;br /&gt;
		r( /([а-яё]&amp;quot;?\)?[\.\?!:])((?:\x01\d+\x02\|)?(?:[A-QS-ZА-ЯЁ]|R(?!u\b)))/g, &amp;#039;$1 $2&amp;#039; ); // &amp;quot;word. Word&amp;quot;; don&amp;#039;t change in cases like &amp;quot;Газета.Ru&amp;quot;&lt;br /&gt;
		r( /([)&amp;quot;a-zа-яё\]²³])\s*([,:])([\[(a-zа-яё])/g, &amp;#039;$1$2 $3&amp;#039; ); // &amp;quot;word, word&amp;quot;, &amp;quot;word: word&amp;quot;; except &amp;quot;:&amp;quot;&lt;br /&gt;
		r( /([)a-zа-яё\]²³])\s*([,:])&amp;quot;/g, &amp;#039;$1$2 &amp;quot;&amp;#039; );&lt;br /&gt;
		r( /([)&amp;quot;a-zа-яё\]²³])[ \u00A0\t]([,;])\s([\[(&amp;quot;a-zа-яё])/g, &amp;#039;$1$2 $3&amp;#039; );&lt;br /&gt;
		r( /([^%\/\wА-Яа-яЁё&amp;quot;]\d+?(?:[\.,]\d+?)?) ?([%‰])(?!-[А-Яа-яЁё])/g, &amp;#039;$1&amp;#039; + u + &amp;#039;$2&amp;#039; ); //5 %&lt;br /&gt;
		r( /(\d) ([%‰])(?=-[А-Яа-яЁё])/g, &amp;#039;$1$2&amp;#039; ); //5%-й&lt;br /&gt;
		r( /([№§])(\s*)(\d)/g, &amp;#039;$1&amp;#039; + u + &amp;#039;$3&amp;#039; );&lt;br /&gt;
		// inside ()&lt;br /&gt;
		r( /\( +/g, &amp;#039;(&amp;#039; );&lt;br /&gt;
		r( / +\)/g, &amp;#039;)&amp;#039; );&lt;br /&gt;
&lt;br /&gt;
		// Temperature&lt;br /&gt;
		r( /([\s\d=≈≠≤≥&amp;lt;&amp;gt;—(&amp;quot;&amp;#039;|])([+±−\-]?\d+?(?:[.,]\d+?)?)(([ °\^*]| [°\^*])(C|F))(?=[\s&amp;quot;&amp;#039;).,;!?|\x01])/gm, &amp;#039;$1$2&amp;#039; + u + &amp;#039;°$5&amp;#039; ); // &amp;#039;&lt;br /&gt;
&lt;br /&gt;
		r( /(\s\d+)\.(\d+[\u00A0 ]*[%‰°×])/gi, &amp;#039;$1,$2&amp;#039; ); // dot → comma in numbers&lt;br /&gt;
		r( /(\d) (?=\d{3}\b)/g, &amp;#039;$1&amp;#039; + u ); // 1 000 000&lt;br /&gt;
&lt;br /&gt;
		// Plugins&lt;br /&gt;
		for ( i in window.wfPlugins ) {&lt;br /&gt;
			if ( window.wfPlugins.hasOwnProperty( i ) ) {&lt;br /&gt;
				window.wfPlugins[i]( txt, r );&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		// &amp;quot;&amp;quot; → «»&lt;br /&gt;
		for ( i = 1; i &amp;lt;= 2; i++ ) {&lt;br /&gt;
			r( /([\s\x02!|#&amp;#039;&amp;quot;\/([{;+\-])&amp;quot;([^&amp;quot;]*)([^\s&amp;quot;([{|])&amp;quot;([^a-zа-яё])/ig, &amp;#039;$1«$2$3»$4&amp;#039; ); // &amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
		while ( /«[^»]*«/.test( txt ) ) {&lt;br /&gt;
			r( /«([^»]*)«([^»]*)»/g, &amp;#039;«$1„$2“&amp;#039; );&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		function unhide( s, num ) {&lt;br /&gt;
			return hidden[ num - 1 ];&lt;br /&gt;
		}&lt;br /&gt;
		while ( txt.match( /\x01\d+\x02/ ) ) {&lt;br /&gt;
			r( /\x01(\d+)\x02/g, unhide );&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		txt = txt.substr( 1, txt.length - 2 ); // compensation for &amp;quot;txt = &amp;#039;\n&amp;#039; + txt + &amp;#039;\n&amp;#039;;&amp;quot;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	function processAllText() {&lt;br /&gt;
		txt = $input ? $input.textSelection( &amp;#039;getContents&amp;#039; ) : text;&lt;br /&gt;
		processText();&lt;br /&gt;
		if ( $input ) {&lt;br /&gt;
			r( /^[\n\r]+/, &amp;#039;&amp;#039; );&lt;br /&gt;
			&lt;br /&gt;
			$input.textSelection( &amp;#039;setContents&amp;#039;, txt );&lt;br /&gt;
			if ( caretPosition ) {&lt;br /&gt;
				$input.textSelection( &amp;#039;setSelection&amp;#039;, {&lt;br /&gt;
					start: caretPosition[0] &amp;gt; txt.length ? txt.length : caretPosition[0]&lt;br /&gt;
				} );&lt;br /&gt;
			}&lt;br /&gt;
		} else {&lt;br /&gt;
			text = txt;&lt;br /&gt;
		}&lt;br /&gt;
		if (&lt;br /&gt;
			window.auto_comment &amp;amp;&amp;amp;&lt;br /&gt;
			window.insertSummary &amp;amp;&amp;amp;&lt;br /&gt;
			!document.editform.wpSection.value&lt;br /&gt;
		) {&lt;br /&gt;
			window.insertSummary( strings.summary );&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	// MAIN CODE&lt;br /&gt;
	&lt;br /&gt;
	// Check what&amp;#039;s in the first parameter&lt;br /&gt;
	var text;&lt;br /&gt;
	var isInput;&lt;br /&gt;
	var $input;&lt;br /&gt;
	if ( typeof inputOrText === &amp;#039;string&amp;#039; ) {&lt;br /&gt;
		text = inputOrText;&lt;br /&gt;
	} else {&lt;br /&gt;
		isInput = (&lt;br /&gt;
			inputOrText &amp;amp;&amp;amp;&lt;br /&gt;
			(&lt;br /&gt;
				( inputOrText.nodeType &amp;amp;&amp;amp; inputOrText.value !== undefined ) || // node&lt;br /&gt;
				( inputOrText.prop &amp;amp;&amp;amp; inputOrText.prop( &amp;#039;nodeType&amp;#039; ) ) // jQuery object&lt;br /&gt;
			)&lt;br /&gt;
		);&lt;br /&gt;
		$input = $( isInput ? inputOrText : &amp;#039;#wpTextbox1&amp;#039; );&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	var txt = &amp;#039;&amp;#039;;&lt;br /&gt;
	var hidden = [];&lt;br /&gt;
	var winScroll = document.documentElement.scrollTop;&lt;br /&gt;
	var caretPosition;&lt;br /&gt;
	if ( $input ) {&lt;br /&gt;
		$input.focus();&lt;br /&gt;
		&lt;br /&gt;
		caretPosition = $input.textSelection( &amp;#039;getCaretPosition&amp;#039;, { startAndEnd: true } );&lt;br /&gt;
		if ( caretPosition ) {&lt;br /&gt;
			var $CodeMirrorVscrollbar = $( &amp;#039;.CodeMirror-vscrollbar&amp;#039; );&lt;br /&gt;
			var textScroll = ( $CodeMirrorVscrollbar.length ? $CodeMirrorVscrollbar : $input )&lt;br /&gt;
				.scrollTop();&lt;br /&gt;
			if ( caretPosition[0] === caretPosition[1] ) {&lt;br /&gt;
				processAllText();&lt;br /&gt;
			} else {&lt;br /&gt;
				txt = $input.textSelection( &amp;#039;getSelection&amp;#039; );&lt;br /&gt;
				processText();&lt;br /&gt;
				// replaceSelection doesn&amp;#039;t work with MediaWiki 1.30 in case this gadget is loaded&lt;br /&gt;
				// from other wiki&lt;br /&gt;
				$input.textSelection( &amp;#039;encapsulateSelection&amp;#039;, {&lt;br /&gt;
					replace: true,&lt;br /&gt;
					peri: txt&lt;br /&gt;
				} );&lt;br /&gt;
				// In CodeMirror, the selection isn&amp;#039;t preserved, so we do it explicitly&lt;br /&gt;
				$input.textSelection( &amp;#039;setSelection&amp;#039;, {&lt;br /&gt;
					start: caretPosition[0],&lt;br /&gt;
					end: caretPosition[0] + txt.length&lt;br /&gt;
				} );&lt;br /&gt;
			}&lt;br /&gt;
			( $CodeMirrorVscrollbar.length ? $CodeMirrorVscrollbar : $input )&lt;br /&gt;
				.scrollTop( textScroll );&lt;br /&gt;
		// If something went wrong&lt;br /&gt;
		} else if ( confirm( strings.fullText ) ) {&lt;br /&gt;
			processAllText();&lt;br /&gt;
		}&lt;br /&gt;
	} else {&lt;br /&gt;
		processAllText();&lt;br /&gt;
		return text;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	// scroll back, for 2017 wikitext editor, IE, Opera&lt;br /&gt;
	document.documentElement.scrollTop = winScroll;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
function registerWikificatorTool() {&lt;br /&gt;
	registerTool( {&lt;br /&gt;
		name: &amp;#039;wikificator&amp;#039;,&lt;br /&gt;
		position: 100,&lt;br /&gt;
		title: strings.name,&lt;br /&gt;
		label: strings.tooltip,&lt;br /&gt;
		callback: Wikify,&lt;br /&gt;
		classic: {&lt;br /&gt;
			icon: &amp;#039;//upload.wikimedia.org/wikipedia/commons/0/06/Wikify-toolbutton.png&amp;#039;,&lt;br /&gt;
		},&lt;br /&gt;
		visual: {&lt;br /&gt;
			icon: &amp;#039;//upload.wikimedia.org/wikipedia/commons/thumb/4/41/Wikificator_VE_icon.svg/20px-Wikificator_VE_icon.svg.png&amp;#039;,&lt;br /&gt;
			modes: [ &amp;#039;source&amp;#039; ],&lt;br /&gt;
			addRightAway: true,&lt;br /&gt;
		},&lt;br /&gt;
	} );&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
if ( mw.config.get( &amp;#039;wgServerName&amp;#039; ) === &amp;#039;ru.wikipedia.org&amp;#039; ) {&lt;br /&gt;
	registerWikificatorTool();&lt;br /&gt;
} else {&lt;br /&gt;
	$.when(&lt;br /&gt;
		mw.loader.using( [ &amp;#039;mediawiki.util&amp;#039;, &amp;#039;user.options&amp;#039; ] ),&lt;br /&gt;
		$.getScript( &amp;#039;https://ru.wikipedia.org/w/index.php?title=MediaWiki:Gadget-registerTool.js&amp;amp;action=raw&amp;amp;ctype=text/javascript&amp;#039; )&lt;br /&gt;
	).done( registerWikificatorTool );&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
$( &amp;#039;#editform&amp;#039; ).on( &amp;#039;keydown&amp;#039;, function ( e ) {&lt;br /&gt;
	// Ctrl+Alt+W on Windows, Ctrl+Shift+W on Mac&lt;br /&gt;
	if (&lt;br /&gt;
		e.ctrlKey &amp;amp;&amp;amp;&lt;br /&gt;
		!e.metaKey &amp;amp;&amp;amp;&lt;br /&gt;
		(clientProfile.platform === &amp;#039;mac&amp;#039; ? e.shiftKey &amp;amp;&amp;amp; !e.altKey : !e.shiftKey &amp;amp;&amp;amp; e.altKey) &amp;amp;&amp;amp;&lt;br /&gt;
		e.keyCode === 87&lt;br /&gt;
	) {&lt;br /&gt;
		Wikify();&lt;br /&gt;
	}&lt;br /&gt;
} );&lt;br /&gt;
&lt;br /&gt;
}() );&lt;br /&gt;
// &amp;lt;/nowiki&amp;gt;&lt;/div&gt;</summary>
		<author><name>WerySkok</name></author>
	</entry>
</feed>